Cryptogram is a cryptography engine with almost
all of the popular encrypting, encoding and transforming algorithms.
Encryption engines have the provision to encrypt and decrypt a message generally dependent on a key which needs to be passed as an argument during encryption and decryprtion.
- Caeser
- Shifting Caesar
- ROT13
- Transposition
- Xor
- Multiplicative
- Monoalphabetic
- Fernet
- Onetimepad
- RSA
- Pseudo Random
- Vigenere
- Rail Fence
Transformation engines convert the target message from one form/class to another. It doesn't have any provision to get back the data once transformed.
- Symbol Reversal
- Numeric System
- Case Transform
- Morse Transform
- Alphabetic Transform
- NATO phonetic alphabet
- Dutch spelling alphabet
- German spelling alphabet
- Swedish spelling alphabet
Encoding engines process data into a format required for various kinds of information processing procedures, data transmission, storage and compression/decompression.
git clone https://github.com/raj-patra/cryptogram.git
cd cryptogram
pip install -r requirements.txt
Make sure to keep the cloned folder inside your project directory
from cryptogram.cypher import Cypher
obj = Cypher()
encrypted = obj.encrypt(message='hello world', engine='multiplicative', key=16196516)
# {'encrypted_message': '6=lle re^l_', 'key': 16196516, 'engine': 'multiplicative'}
decrypted = obj.decrypt(message=encrypted['encrypted_message'], engine=encrypted['engine'], key=encrypted['key'])
# {'decrypted_message': 'hello world', 'key': 16196516, 'engine': 'multiplicative'}
Please think of leaving a star on the repo if you think it sparked your curiosity. 🙏