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