You are on page 1of 28

IMPLEMENTATION OF AES CRYPTOSYSTEM USING VHDL LANGUAGE

Presented by P.Divya Krishna (08N81A0473) Bhargavi Ramya

INTRODUCTION
Nowadays, it seems all information and services are at our disposal with the click of a mouse (Ex: forums, shopping, banking, taxes) Encryption is needed to ensure sensitive information is available only to its intended receiver and also allow the verification of users identity

TWO TYPES OF CRYPTOSYSTEMS


Symmetric key cryptosystems (Ex: DES, Triple DES, AES) Asymmetric key (Public key) cryptosystems (Ex: RSA, Diffie-Hellman, ECC, HECC)

SYMMETRIC KEY CRYPTOSYSTEMS


Uses

the same key to encrypt and decrypt messages

 Advantages

Good security to key size ratio y Fast implementations


y

 Disadvantages

Does not provide a method for sharing the secret key with the receiver y Number of keys increase dramatically as number of users increase
y

ASYMMETRIC KEY CRYPTOSYSTEMS


Uses

one key for encryption and another to decryption

 Advantages

Requires only two keys per user y Does not require a secret to be shared between sender and receiver
y

 Disadvantages

Requires a large key size y Slow compared to symmetric key algorithms


y

AES ENCRYPTION ALGORITHM


is the selected algorithm for AES (Advanced Encryption Standard) AES is a non-Feistel cipher that encrypts and nondecrypts a data block of 128 bits. It uses 10, 12, or 14 rounds. The key size, which can be 128, 192, or 256 bits, depends on the number of rounds. Key size Rounds 128128-bit 192192-bit 256256-bit 10 12 14
Rjindael

AES AS BLOCK CIPHER


AES is a block cipher, which produce the encrypted data (ciphertext) from 128-bit data blocks and the encryption key The data to be encrypted (plaintext) is processed in 128bit blocks as below:

1100101 1011010 010101


128 bits 128 bits

100110

128-BIT AES ENCRYPTION


encryption algorithm
PLAINTEXT SECRET KEY

structure of a generic round


INPUT DATA

ROUND 0

ROUND KEY 0

SUBBYTES

ROUND 1

ROUND KEY 1

SHIFTROWS

KEY SCHEDULE
ROUND KEY 9

MIXCOLUMNS ROUND KEY ADDROUNDKEY

ROUND 9

ROUND 10

ROUND KEY 10

OUTPUT DATA

CIPHERTEXT

DATA STATES IN AES

BLOCK TO STATE AND STATE TO BLOCK TRANSFORMATION.

CHANGING PLAIN TEXT TO STATE

STRUCTURE OF EACH ROUND IN AES

4 TYPES OF TRANSFORMATIONS.
SUBSTITUTION. PERMUTATION. MIXING. KEY ADDITION.

SUB BYTE TRANSFORMATION

128-BIT AES ENCRYPTION


SubBytes: Byte substitution from a lookup table
S-BOX
s0 s1 s2 s3 s4 s8
5

s12 s13 s14 s15

s'0 s'1 s'2 s'3

s'4

s'8

s'12 s'13 s'14 s'15

ss 5
s6 s7

s9 s10 s11

s'5 s'9 s'5 s'6 s'10 s'7 s'11

state ShiftRows: circular rotation of the rows


s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 2 bytes 3 bytes 1 byte s0 s5 s10 s15 s4 s9 s14 s3 s8 s13 s2 s7 s12 s1 s6 s11

state

SHIFT ROW TRANSFORMATION

MIX ROW TRANSFORMATION.

128-BIT AES ENCRYPTION


MixColumns
s'0 s'1 s'2 s'3 s'4 s'5 s'6 s'7 s'8 s'9 s'10 s'11 s'12 s'13 s'14 s'15

weighing matrix
02 01 01 03 01 01 02 03 01 01 02 03 01 01 02 03
s0

state
s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15

s1 s2 s3

AddRoundKey
s'0 s'1 s'2 s'3 s'4 s'5 s'6 s'7 s'8 s'9 s'10 s'11 s'12 s'13 s'14 s'15 s0 s1 s2 s3

state
s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15

round key
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 k11 k12 k13 k14 k15

KEY EXPANSION IN AES-128

AES DECRYPTION
AES decryption uses essentially the same algorithm, with the following changes:
The
y

inverse of the four main operations are used

These consists simply of using a different set of lookup tables

The

round keys are used in the reverse order

AES IMPLEMENTATION
Using

lookup tables, containing pre-computed results, to speed up the algorithm memory required to store the tables is justified given a software implementation and the abundance of memory available on high disks software provided different key size options for different levels of security

The

The

REFERENCES

D.Stinson, Cryptography: Theory and Practice (2nd Ed.), CRC Press, 2002 N. Koblitz, A Course in Number Theory and Cryptography (2nd Ed.), Springer, 2000 Efficient Software Implementation of AES on 32-bit Platforms http://ece.gmu.edu/crypto/ches02/talks_files/Bertoni.ppt AES Demonstration http://e-handel.mm.com.pl/crypto/rijndael_ingles2004.swf G. Elias. On Efficient Implementation Of FPGA-Based Hyperelliptic Curve Cryptosystems. University of Ottawa, 2004.

Any Questions?

You might also like