/AES-Encryption-And-Decryption

It is an Advanced Encryption Standard with 128-bit key values and also its some versions like Cipher Block Chaining and Output Feedback.

Primary LanguagePython

AES-Encryption-And-Decryption

This project is an Advanced Encryption Standard (AES) with 128-bit or 16-byte key values.

Advanced Encryption Standard (AES)

AES is a symmetric block cipher algorithm and it uses key to encrypt the message. It has three different key sizes like 128, 192, or 256 bit. In this project, AES 128-bit key was developed. It means that 128-bit or 16-byte messages can be encrypted and decrypted.
Some useful links are shown below.


Cipher block chaining (CBC)

CBC is a version of the AES. CBS uses the AES in itself and it can encrypt and decrypt all messages which have more byte than 16.
The schematic explanation link is shown below.


Output Feedback (OFB)

OFB is a version of the AES. OFB uses the AES in itself and it can encrypt and decrypt all messages which have more byte than 16.
The schematic explanation link is shown below.


Pay Attention

AES.py is the main program of the project. CBC.py and OFB.py have to use AES.py to encrypt and decrypt the messages. The runnable files are AES_test.py, CBC_test.py and OFB_test.py to test the programs.


Requirements

The version of the python interpreter is Python 3.7.5 and you can find it here.


Running

Open your terminal and go to the same path with the files and typed these:

python AES_test.py
python CBC_test.py
python OFB_test.py

Static badge Static badge Static badge Static badge Static badge Static badge