Table of Contents
Table of Contents
Page No 01
01 03
INTRODUCTION
1.1 Introduction to Cryptography 1.2 Description of the Advanced Encryption Standard Algorithm
06
06 06 09 09
10
11 13 13 13 14 15 15
15 17
18 19 21 22
24 25
26 27 28 29 29
31
31 31 31 32
33 34
35 36 36 39
4.2 THE ADDROUNDKEY OPERATION 4.3 THE SHIFT ROW OPERATION 4.4 THE SUBBYTES OPERATION 4.5 THE MIXCOLUMN OPERATION 4.6.0. THE RIJNDAEL KEY SCHEDULE
4.6.1 Rotate 4.6.2 Rcon 4.6.3 S-Box 4.6.4 The Key Expansion
39 40 41 42 44
46 46 46 46
49 49 50
50 50 50 50 51 51 51 51 51 52 52 52 52
4.9.10 Mix Columns 4.9.11 The Main AES body 4.9.12 AES Encryption 4.9.13 AES Decryption
5.0. SIMULATION RESULTS 6.0. SYNTHESIS REPORT CONCLUSIONS AND FUTURE WORK BIBLIOGRAPHY/ REFERENCES Appendix A: VHDL LANGUAGE OVERVIEW
54 57 61 62 63
List of Tables
Table 3.0. Key blocked round combinations Table 3.1.1 S-box substitution values for the byte XY. Table 3.3.2 Inv-Sbox substitution values for the byte xy.
Page No
17 20 28
List of Figures
Figure 2.1 A simple digital circuit Figure 2.2 Sequence of steps in conventional electronic circuit design Figure 2.3 Design domains and levels of abstraction Figure 2.4 Major activities in ASIC design Figure 2.5 ASIC design and development flow Figure 3.1 Sub bytes applies the S box to each byte of the state Figure 3.2 Shift rows cyclically shifts the last three rows in the state Figure 3.3 Mix columns operates on the state column-by-column Figure 3.4 Addroundkey Xor each column of the state with a word from the key schedule. Figure 3.5. InvshiftRows cyclically shifts the last three rows in the state Figure 4.1. Advanced Encryption Standard. Figure 4.2. Top Block Diagram Figure 4.3. Encryption Top Block Figure 4.4 Round encryption block diagram Figure 4.5 Control FSM Figure 4.6 Decryption Top Block Figure 4.7 Addroundkey Figure 4.8 Shift operation Figure 4.9 Byte substitution Figure 4.10 Mix Column operations Figure 4.11 key generation block 27 33 34 35 36 37 39 40 41 42 43 45 07 08 10 11 12 20 21 23 24
List of Abbreviations AES : Advanced Encryption Standard DES : Data Encryption Standard XTEA: Extended Tiny Encryption Algorithm SPN: Substitution Permutation Network CLB: Configuration Logic Block DLL: Delay Lock Loop NIST: National Institute of standards and Technology NBS: National Bureau of Standards PDA: Personal Digital Assistance FPGA: Field programmable Gate Array VHDL: Very High Speed Integrated Circuit Hardware Description Language ASIP : Application Specific Instruction Processor