Skip to content

my custom encryption system that combines the power of RSA with other layers of protection thought of by me

License

Notifications You must be signed in to change notification settings

CaptainBeluga/cb_rsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9df1fe0 Β· Aug 6, 2023

History

9 Commits
Aug 6, 2023
Aug 6, 2023
Aug 6, 2023
Aug 6, 2023
Aug 6, 2023
Aug 6, 2023
Aug 6, 2023

Repository files navigation

CB RSA ALGORTIHM πŸ”

Note πŸ“Œ

I am fully aware that I am utilizing numbers with 4/5 digits for encryption. While I understand that using 32-digit numbers would provide a 256-bit key strength, I must consider practical constraints. My computing resources, including the lack of a quantum computer or a high-performance PC, combined with Python's relatively slower performance in intense calculations, especially involving large numbers, make it challenging to adopt such a strategy. πŸ›‘οΈ

Therefore, my decision to employ shorter numbers is a compromise between security and feasibility, taking into account the limitations of my hardware and computational efficiency. πŸ›‘οΈ

πŸ›‘οΈ Error Handling (try, except) is your responsibility πŸ›‘οΈ


SECURITY LAYERS πŸ›‘οΈ:

  1. Secure Multiplier 🌟: Introduces a security multiplier that further complicates the encryption and decryption process for anyone unaware of the correct multiplier.

  2. Mixed Chars Scheme πŸŒ€: Uses a database of mixed characters to replace characters in the original message, making the association between characters and numeric values more complex.

  3. Base64 Encoding πŸ“¦: Encodes the encrypted message in Base64, adding an optional additional layer of complexity.


USAGE πŸ“œ:

[+] PUBLIC KEY => Used to ENCRYPT the message
[+] PRIVATE KEY => Used to DECRYPT the message

############################################################

INSTRUCTIONS:

1. Run `db_mixer.py` to mix the chars scheme saved in `db_BASE.json`.

2. Run `keygen.py` and save the PUBLIC KEY and PRIVATE KEY.

3. Send `db.json` (generated by `db_mixer.py`) and the PRIVATE KEY to the recipient.

4. Encrypt a message using `encrypt.py` and send the (RSA + Base64) encoded message to the recipient.

5. The recipient will decrypt the message using `decrypt.py` and the PRIVATE KEY received.

#############################################################

SCRIPT FUNCTIONALITIES πŸ› οΈ

  1. db_mixer.py πŸ”„: Mixes the character scheme from db_BASE.json to create a new database db.json.

  2. keygen.py πŸ”‘: Generates the PUBLIC and PRIVATE KEYS for the encryption system.

  3. encrypt.py πŸ“€: Encrypts a message using the PUBLIC KEY and the "cb_rsa" encryption system.

  4. decrypt.py πŸ“₯: Decrypts an encrypted message using the PRIVATE KEY and the "cb_rsa" system.

(Note πŸ“Œ => You can custome db_BASE.json by adding chars πŸ‘ŒπŸ˜)


EXAMPLE 🌐

Multiplier = 465
Message = "c"
Correspondence Number of "c" = 3
Encrypted Number = 3 * Multiplier => 3 * 465 = 1395

The recipient can decrypt the message knowing the multiplier and the mixed chars scheme

About

my custom encryption system that combines the power of RSA with other layers of protection thought of by me

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages