Skip to content

Implementation of a simplified version of the AES algorithm

License

Notifications You must be signed in to change notification settings

mayank-02/simplified-aes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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