I built this encryption script as an exercising in my computer security class. It was developed for educational purposes and not to actually be used in production. The Advanced Encryption Standard is a popular block cipher that encodes 128 bit blocks. It utilizes four functions:
- SubByte
- ShiftRows
- MixCollumns
- AddRoundKey
Each of these functions is implemented and works. This repoistory also comes with a shell script to test the advantages of using OpenSSL instead of manual implementation and to ensure accurate encryption by the Python script.
- First, install [Purdue's BitVector library] (https://engineering.purdue.edu/kak/dist/BitVector-3.4.5.html "Purdue's BitVector library")
- Next, create your message
gedit message.txt
- Try the encyption
python client.py message.txt enc
- To write into a file
python client.py message.txt enc > cypher.txt
- Try the decryption
python client.py cypher.txt dec
- Create you message
gedit message.txt
- Run the shell script to compare performance between OpenSSL and my implementation
./checkEnc.sh
- Python
- [Purdue's BitVector library] (https://engineering.purdue.edu/kak/dist/BitVector-3.4.5.html "Purdue's BitVector library")
- Andrew Wichmann [email protected]
This application is licensed under the MIT license.