def encrypt(pubkeypath, filepath): pubkey = crypto.open_keypair(pubkeypath) content = readFile(filepath) crypto = crypto.encrypt(pubkey, content) writeFile(filepath + ".secret", crypto, True)
def decrypt(prvkeypath, filepath): try: prvkey = crypto.open_keypair(prvkeypath) content = readFile(filepath, True) plain = crypto.decrypt(prvkey, content).decode() writeFile(filepath + ".plain", plain) except ValueError: print("Could not decrypt [" + filepath + "]")
def save_keypair(keypair, filepath, format='PEM'): pw = input("Password for the keypair (leave blank if encrypting the keys is unnecessary) >> ") if pw: prvkey = keypair.exportKey(format, pw) else: prvkey = keypair.exportKey() writeFile(filepath+'.private', prvkey, True) pubkey = keypair.publickey().exportKey() writeFile(filepath+'.public', pubkey, True) print("--------------------------") print(" Generating RSA keypair") print("--------------------------") print(prvkey) print(' > Private key saved as '+filepath+'.private') print('--------------------------') print(pubkey) print(' > Public key saved as '+filepath+'.public') print('--------------------------')
def sdecrypt(passphrase, filepath): ciphertext = readFile(filepath, bytestring=True) plaintext = crypto.sdecrypt(passphrase, ciphertext) print(plaintext) writeFile(filepath + ".unlocked", plaintext)
def sencrypt(passphrase, filepath): plaintext = readFile(filepath) ciphertext = crypto.sencrypt(passphrase, plaintext) print(ciphertext) writeFile(filepath + ".locked", ciphertext, bytestring=True)