Encrypt symmetric keys with RSA.
Project description
Easy RSA
Encrypt symmetric keys with RSA.
Hierarchy
easyrsa
'---- EasyRSA()
|---- gen_private_key()
|---- gen_public_key()
|---- encrypt()
'---- decrypt()
Example
python
from easyrsa import *
# generate a key pair
kp = {}
EasyRSA(bits=512*2).gen_private_key(kp).gen_public_key(kp)
print(kp)
# {"public_key": b"...", "private_key": b"..."}
# encryption and decryption
# note that each EasyRSA object must bind only one operation
# EasyRSA fails to operate if more than one argument are passed in
from base64 import b64encode
symmetric_key = "abc" or b"abc" or b64encode(b"abc")
encrypted_key = EasyRSA(public_key=kp["public_key"]).encrypt(symmetric_key)
key_in_b64 = b64encode(encrypted_key).decode("utf-8")
print(encrypted_key)
# ...
print(key_in_b64)
# ...
print(symmetric_key == EasyRSA(private_key=kp["private_key"]).decrypt(encrypted_key))
# True
print(symmetric_key == EasyRSA(private_key=kp["private_key"]).decrypt(key_in_b64))
# True
shell
rem easyrsa.exe {private key in base64|public key in base64} {base64 string to decrypt|symmetric key to encrypt}
easyrsa.exe <private key in base64> <base64 string to decrypt>
rem decryption returns string
easyrsa.exe <public key in base64> <symmetric key to encrypt>
rem encryption returns string in b64
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
easyrsa-0.1.0.tar.gz
(3.1 kB
view hashes)
Built Distribution
easyrsa-0.1.0-py3-none-any.whl
(15.6 kB
view hashes)