Symmetric encryption with the ciphers package

The ciphers package from the cryptography module provides a class for symmetric encryption with the cryptography.hazmat.primitives.ciphers.Cipher class.

Cipher objects combine an algorithm, such as AES, with a mode, such as CBC or CTR.

In the the following script, we can see an example of encrypting and then decrypting content with AES.

You can find the following code in the encrypt_decrypt_AES.py file inside the cryptography folder:

import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend

backend = default_backend()
key = os.urandom(32)
iv = os.urandom(16)
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=backend)

encryptor = cipher.encryptor()
print(encryptor)

message_encrypted = encryptor.update("a secret message")

print(" Cipher text: "+message_encrypted)
ct = message_encrypted + encryptor.finalize()

decryptor = cipher.decryptor()

print(" Plain text: "+decryptor.update(ct))

This is the output of the previous script:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.110.155