Uploaded by Ashok Kumar Meena

Encryption algorithm

advertisement
128 bit Encryption & Decryption
Using RIJNDAEL Algorithm
Team Members
Supervising Professor
•
•
•
• Dr Sanjeev Rai
Darshani Sinha
Bindu Sharma
Ashok kumar Meena
Objective
Through this project we aim to encrypt and decrypt 128
bit data using RIJENDAEL Algorithm .
The solution thus obtained must be:
• Resistance against known attacks.
• Speed and code compactness on many CPUs.
• Design simplicity.
Tools and Language Required
• Tools
Software:Xilinx ISE 14.7
Hardware:Xilinx Sparten 3E Kit
• Language to be used
Verilog (HDL)
What Is AES??
• AES is an encryption standard chosen by the NIST
(National institute of standards and technology ,USA)
to protect classified information .It has been accepted
worldwide as a desirable algorithm to encrypt
sensitive data.
• It is a block cipher which operates on block size of
128 bit for both encrypting and decrypting .
• Each round performs same operations.
WHY AES??
• In 1990’s the cracking of DES algorithm became
possible .
• NIST started searching for new feasible algorithm
and proposed its requirement in 1997.
• In 2001 RIJNDAEL algorithm designed by Rijment
and Daemon of Belgium was declared as the winner
of the competition.
• It met all security,cost and implementation criteria.
How Does It Works???
• AES basically repeats 4 major functions to encrypt
data.
• It takes 128 bit block of data and key and gives a
cipher text as output
• The functions are :
1-Sub Bytes
2-Shift Rows
3-Mix Columns
4-Add key
How Does It Works ??
• The perform of rounds performed by the algorithm strictly depends on the
size of the key
• The following table gives the overview of rounds perform with the input of
varying key lengths.
key Size (in Bits)
128
192
256
No of Rounds
10
12
14
• The larger the number of keys the more secure will be the data.The time
taken to encrypt the data will increase with the number of rounds.
Steps Of Encryption
128 bit data block
Initial
round
Key expansion
Add round key
Main
Body
(9-round)
Sub Bytes
Shift Row
Mix Column
Add round key
Sub Bytes
Shift Rows
Add Round Key
128 Bit encrypted
data block
Final
round
Output
Steps of Decryption
128 bit encrypted data
Initial
round
Key expansion
Add round keys
Shift rows
Sub bytes
Main
Body
(9-round)
Add round key
Mix Column
Shift row
Sub-Bytes
Add Round Key
128 Bit data block
Analysis Of Steps
• Key expansion-in the key expansion process the
given 128 bit cipher is stored in 4X4 bytes matrix
(16x8 =128) .
• Number of round Keys=Nr+1 (where N is the number
of rounds which is 10 in case of 128 bit key size),so
here the round keys is equal to Nr+1.
Analysis of Steps
• Sub Bytes-Each elements of the matrix is replaced by
the element of S-Box matrix
Analysis of Steps
• Sub Bytes
For an element (d1) corresponding value is {3e}
Analysis Of Steps
• Shift Row-In this step rows of the block are
cylindrically shifted in left direction .The first row is
untouched and the second by one and third by two
and fourth by 3
Analysis of Steps
• Shift Row-
Analysis Of Steps
• Mix Column-This is the most important part of the
algorithm it causes the flip of bit to spread all over the
blocks .
• In this step the block is multiplied with a fix matrix
• The filled multiplication in Galois field for each row
there 16 multiplication 12 xors and a 4 byte output
Analysis Of Steps
• Mix Column
Analysis Of Steps
• Add Round Key• In this step each byte is xor-ed with corresponding
elements of keys matrix .
• Once this step is done the keys are no longer
available for this step.
• Using the same key will weaken the algorithm.
• To overcome this problem keys are expanded
Analysis Of Steps
• Add Round Key
Analysis of Steps
• In the last round the mix column step is skipped .
• It is not documented anywhere why this is done but
recently a paper was published against this method
highlighting the weakening of cipher text
AES EXAMPLE-
WORK DONE TILL NOW• Simulation result-SubBbyte
SIMULATION RESULT-MIX COLUMN
ADD ROUND KEY-SIMULATION RESULT
REFERENCES1. C.Kaufman,R.Perlman,M and Speciner, “Network
Security: private communicaton in a public world”
2. National Institute of Standards and technology
(NIST),AES test
vector.http://csrc.nist.gov/CryptoToolkit/aes/rijndael
/rijndael-vals.zip.
3. J.Daemon and V.Rijman, “AES Proposal:Rijndael”.
4. http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijnd
ael-ammended.pdf.
Thank You
Download