Skip to content

Latest commit

 

History

History
69 lines (39 loc) · 2.66 KB

README.md

File metadata and controls

69 lines (39 loc) · 2.66 KB

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