def generate_secrets(file_name, n, k): _16byteNo_start = 1000000000000000 _16byteNo_end = 9999999999999999 key = random.randrange(_16byteNo_start,_16byteNo_end) aes.encrypt_file(str(key),file_name) prime = 18895749970915969007 secret = key#int("1234567890123456") shares = sss.deal(n,k,prime,secret) return shares
def process_image(filename,k,n,users,sender_id): # AES Key key = Random.new().read(32) hexkey = key.encode('hex') # Encrypting Image and Deleting the file aes.encrypt_file(key,filename) os.remove(filename) # Splitting AES Key into N parts shares = SecretSharer.split_secret(hexkey,k,n) # Creating a New Message msg_id = database.new_message(filename + '.enc', k, sender_id) users.insert(0,sender_id) # Updating message queue database.update_message_queue(users,shares,msg_id)
import datetime import bench import aes import aes_optimized REPEAT_COUNT = 20 p = bytes.fromhex('54776F204F6E65204E696E652054776F') k = bytes.fromhex('5468617473206D79204B756E67204675') bench.bench_output([aes.encrypt, aes_optimized.encrypt], [p, k], REPEAT_COUNT) t1 = datetime.datetime.now() aes.encrypt_file('plaintext.txt', 'ciphertext.txt', k) t2 = datetime.datetime.now() aes.decrypt_file('plaintext_recovered.txt', 'ciphertext.txt', k) print(t2 - t1)