Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.11 KB

README.md

File metadata and controls

54 lines (36 loc) · 1.11 KB

Simplified AES

Simplified AES (S-AES) is an educational tool designed to help students learn the structure of AES using smaller blocks and keys.

  • Non-feistal block cipher
  • Plaintext: 16 bit
  • Key: 16 bit
  • Ciphertext: 16 bit

S-AES Structure

SAES Structure

S-AES Key Expansion

Key Expansion

Usage

Use the SimplifiedAES class in your program as follows.

For encryption:

from saes import SimplifiedAES

plaintext = 0b1101011100101000
key = 0b0100101011110101
ciphertext = SimplifiedAES(key).encrypt(plaintext) # 0b0010010011101100

For decryption:

from saes import SimplifiedAES

ciphertext = 0b0010010011101100
key = 0b0100101011110101
plaintext = SimplifiedAES(key).decrypt(ciphertext) # 0b1101011100101000

References

Check out theory.pdf for more information and worked out examples.

Authors

Mayank Jain

License

MIT