This project create a RSA cryptosystem with deniability. Three scripts was created:
- Generates RSA key pair
- Encrypt/Decrypt a message
- Find a new secret key that can decrypt a given message from a given cipher generated using a given secret key
Example:
m1 = message 1
m2 = message 2
c = cipher
pk = public key
sk1 = secret key 1
sk2 = secret key 2
E() = encryption algorithm
D() = decryption algorithm
NSK() = new secret key algorithmc = E(m1, pk)
m1 = D(c, sk1)
sk2 = NSK(c, sk1, m2)
m2 = D(c, sk2)make init to install all Python dependencies
make build to build the project
(or just use make to install all Python dependencies and build the project)
deniablekeys [-p KEY_PATH] to generate a RSA key pair in PEM format, saving in publickey.pem and secretkey.pem.
deniablersa [-e | -d] key_path to encrypt -e or decrypt -d a given stdin input. To encrypt use a public key and to decrypt use a secret key.
deniablecollision cipher_path message_path secretkey_path to get a collision secret key of given message, using a given cipher and secret key.
python3 use the official website to download python3
python3-pip use the official website or the command:apt-get install python3-pip
To contact the author, create a issue or see the setup.py file.
Coming soon...