2
0

encyption.py 1004 B

12345678910111213141516171819202122232425262728293031
  1. from cryptography.hazmat.backends import default_backend
  2. from cryptography.hazmat.primitives import serialization
  3. from cryptography.hazmat.primitives import hashes
  4. from cryptography.hazmat.primitives.asymmetric import padding
  5. from cryptography.fernet import Fernet
  6. import rsa
  7. from create_keys import get_keys, get_symmetric_key, get_private_key
  8. def encrypt_data(contract, block_string):
  9. symmetric_key = get_symmetric_key(contract)
  10. pubkey = get_keys(contract)
  11. chiper = Fernet(symmetric_key)
  12. data = str(chiper.encrypt(block_string))
  13. encrypted_key = str(rsa.encrypt(symmetric_key,pubkey))
  14. return data, encrypted_key
  15. def decrypt_data(name, t):
  16. print('DATA OF TRANSACTION: ', type(t.data), t.data)
  17. private_key = get_private_key(name)
  18. en_key = t.encrypted_key
  19. print('ENCRYPTED KEY: ', type(en_key), en_key)
  20. key = rsa.decrypt(en_key, private_key)
  21. cipher = Fernet(key)
  22. decrypted_data = cipher.decrypt(t.data)
  23. print(decrypted_data.decode(), t.data)