簡易檢索 / 詳目顯示

研究生: 張孫偉
Chang, Sun-Wei
論文名稱: 高階加密演算法(AES)超大型積體電路設計與實現
VLSI Architectures and FPGA Implementation for Universal AES Crypto-processor
指導教授: 王駿發
Wang, Jhing-Fa
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2003
畢業學年度: 91
語文別: 英文
論文頁數: 99
中文關鍵詞: 高階加密演算法
外文關鍵詞: Cipher, Advanced Encryption Standard, AES
相關次數: 點閱:78下載:3
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Sun-Wei Chang* Jhing-Fa Wang**
    Department of Electrical Engineering
    National Cheng Kung University, Tainan, Taiwan, R.O.C.

    This thesis presents an Intellectual Property (IP) core of the entire Advanced Encryption Standard (AES) algorithm[1]. Our design utilizes the T-Box algorithm to implement the Rijndael round function[2]. By analyzing the pipelining data flow, a new architecture, which combines the multiplexing and the iteration architecture, is also proposed. The designs are implemented using the Integrated Systems Engineering (ISE) 5.1i software [3] on a single Virtex-E XCV812E [4] Field Programmable Gate Array (FPGA) device. As a result, the AES IP core operates at 61MHz with the key scheduler resulting in a throughput of 1.9Gbps for the AES encryption and decryption with the block size of 128 bits and the flexible key size. Finally, comparison is provided between our design and similar existing implementations.
    * The author
    ** The advisor

    Abstract v Contents vi Acknowledgement x List of Figures xi List of Tables xiv Chapter 1 Introduction 1 1.1 Information Security and Symmetric-Key Cryptography 1 1.2 Overview of the AES Development 1 1.3 Related Works on AES Crypto Core 2 1.4 SOC and AMBA 3 1.5 Applications 4 1.6 Organization of This Thesis 4 Chapter 2 AES Algorithm 6 2.1 Definition 6 2.1.1 Glossary of Terms and Acronyms 6 2.1.2 Algorithm Parameter, Symbols, Terms, and Functions 7 2.2 Notation and Conventions 8 2.2.1 Inputs and Outputs 8 2.2.2 Bytes 9 2.2.3 Array of Bytes 10 2.2.4 The State 11 2.2.5 The State as An Array of Columns 12 2.3 Algorithm Specification 12 2.3.1 Cipher 14 2.3.1.1 SubBytes() Transformation 15 2.3.1.2 ShiftRows() Transformation 16 2.3.1.3 MixColumns() Transformation 17 2.3.1.4 AddRoundKey() Transformation 18 2.3.2 Key Expansion 19 2.3.3 Inverse Cipher 21 2.3.3.1 InvSubBytes() Transformation 22 2.3.3.2 InvShiftRows() Transformation 22 2.3.3.3 InvMixColumns() Transformation 23 2.3.3.4 Inverse of the AddRoundKey() Transformation 24 2.3.3.5 Equivalent Inverse Cipher 24 2.4 T-Box Algorithm 26 2.4.1 Modification of the Order of Operations 26 2.4.2 Table Look-up Based on T-box 27 Chapter 3 Design Methodologies and VLSI Architectures 30 3.1 Design Considerations 30 3.2 Design Methodologies 30 3.3 Pipelining Analysis for the AES Algorithm 32 3.4 The Overall Architecture of our AES Core 34 3.5 AHB Slave Finite State Machine 35 3.6 Round Path 37 3.6.1 Input Register 37 3.6.2 Output Register 38 3.6.3 Initial Round 38 3.6.4 Final Round 39 3.6.5 Round Unit and Finite State Machine 41 3.6.6 Round Unit Bank 43 3.7 Key Path 44 3.7.1 Key Generator 45 3.7.2 InvMixCloumn 48 3.7.3 Key Banks 49 Chapter 4 Experiment Results 51 4.1 Tools and Devices Used for Implementations 51 4.2 Design Flow and Strategy 52 4.3 Simulation Result 52 4.3.1 Behavioral Verilog Module Simulation 53 4.3.2 Post-Place & Route Verilog Module Simulation 54 4.4 Crypto Core Pin Description 55 4.5 Chip Feature and Layout View 57 4.6 Related Work Analysis and Comparison 59 Chapter 5 Conclusions 61 Appendix I 62 Appendix II 67 References 76 Biography 85

    [1] NIST Federal Information Processing Standards (FIPS) PUB 197 Advanced Encryption Standard (2001, Nov.). URL: http://www.nist.gov/aes/
    [2] J. Daemen, V. Rijmen; The Rijndael Block Cipher: AES proposal; First AES Candidate Conference(AES1);Augest 20-22, 1998.
    [3] Integrated Systems Engineering (ISE), URL: http://www.xilinx.com
    [4] Xilinx VirtexTM-E 1.8 V Extended Memory Field Programmable Gate Arrays: URL: http://www.xilinx.com November 2000
    [5] B. Schneier, Applied Cryptography – Protocols, Algorithms and Source Code in C, second ed. New York: John Wiley & Sons, 1996.
    [6] National Bureau of Standards; Data Encryption Standard; Federal Information Processing Standards Publication, FIPS PUB 46; January 1977.
    [7] ANSI (American National Standards Institute). Triple Data Encryption Algorithm Modes of Operation, 1998.
    [8] RSA Security; RSA's 56-bit DES Challenge; URL: http://www.rsasecurity.com/news/pr/970619-1.htm;April,2001
    [9] C. Burwick, D. Coppersmith, E. D’ Avignon, et al, “MARS-a candidate cipher for AES,” 1st AES Conference, Ventura, CA, August 20-22, 1998.
    [10] R. L. Rivest, M. J. B. Robshaw, R. Sidney and Y. L. Lin, “The RC6 Chiper.” 1st AES Conference, Ventura, CA, August 20-22, 1998.
    [11] R. Anderson, E. Biham and L. Knudsen, “Serpent: A Proposal for the Advanced Encryption Standard,” 1st AES Conference, Ventura, CA, August 20-22, 1998.
    [12] B. Schneier, J. Kelsey, D. Wagner, C. Hall and N. Ferguson, “Twofish: A 128-bit Block Cipher,” 1st AES Conference, Ventura, CA, August 20-22, 1998.
    [13] AES Development Effort; URL: http://csrc.nist.gov/encryption/aes; April 2001.
    [14] AMBA Specification(Rev 2.0)
    [15]“AMBA: Enabling Reusable On-Chip Designs ”, David Flynn, IEEE Macro, pp20-27,1997
    [16] Virtex series FPGAs. http://www.xilinx.com/products/virtex.com
    [17] H. Kuo, I. Verbauwhede, “Architectural Optimization for a 1.82Gbps VLSI Implementation of the AES Rijndael Algorithm ”, in Proc. 3rd Int. Workshop Cryptographic Hardware and Embedded Systems (CHES 2001), LNCS 2162, May 2001, pp. 51-64.
    [18] H. Kuo, I. Verbauwhede, P. Schaumont, “A 2.29 Gbps 56 mW Non-Pipelined Rijndael AES Encryption IC in a 1.8V, 0.18 mm CMOS Technology ”, in Proc. IEEE Custom Integrated Circuits Conf., 2002, pp. 147 -150.
    [19] P.R. Schaumont, H. Kuo, I.M. Verbauwhede, “Unlocking the Design Secrets of a 2.29 Gb/s Rijndael Processor “, in Proc. 39th Design Automation Conf., 2002, pp. 634-639.
    [20] I. Verbauwhede, P. Schaumont, H. Kuo, “Design and performance testing of a 2.29-GB/s Rijndael processor “, in IEEE Journal of Solid-State Circuits, vol. 38, pp. 569-572, Mar 2003.
    [21] Akashi Satoh, Sumio Morioka, Kohji Takano, Seiji Munetoh, “A Compact Rijndael Hardware Architecture with S-Box Optimization “, in Proc. ASIACRYPT2001 , LNCS 2248 , 2001, pp. 239-254.
    [22] S. Morioka, A. Satoh, “A 10 Gbps full-AES crypto design with a twisted-BDD S-Box architecture “, in IEEE Proc. Int. Conf. on Computer Design: VLSI in Computers and Processors, 2002, pp. 98-103.
    [23] Chih-Chung Lu, Shau-Yin Tseng, “Integrated design of AES (advanced encryption standard) encrypter and decrypter “, in IEEE Proc. Int. Conf. on Application-Specific Systems, Architectures and Processors (ASAP 2002), 2002, pp. 277 -285.
    [24] Tsung-Fu Lin, Chih-Pin Su, Chih-Tsun Huang, Cheng-Wen Wu, “A high-throughput low-cost AES cipher chip “, in IEEE Proc. Asia-Pacific Conference (ASIC 2002), 2002, pp. 85-88.
    [25] M.-H. Li, “A Gbps AES cipher”, Master Thesis, Dept. Computer Science, National Tsing Hua University, Hsinchu, Taiwan, June 2001
    [26] J. Rejob, V. Rainaswamy, “Efficient rijndael implementation for high-speed optical networks “, in 10th Int. Conf. on Telecommunications (ICT 2003), 2003, vol. 1, pp. 641 -645.
    [27] A.K. Lutz, J. Treichler, F.K. Gurkaynak, H. Kaeslin, G. Basler, A. Erni, S. Reichmuth, P. Rommens, S. Oetiker, W. Fichtner, “2Gbps Hardware Realizations of RIJNDAEL and SERPENT A Comparative Analysis”, in Proc. 5rd Int. Workshop Cryptographic Hardware and Embedded Systems (CHES 2003), LNCS 2523, 2003, pp.144-158.
    [28] Andreas Dandalis, Viktor K. Prasanna, Jose D.P. Rolim, “A Comparative Study of Performance of AES Final Candidates Using FPGAs “, in Proc. 2rd Int. Workshop Cryptographic Hardware and Embedded Systems (CHES 2000), 2000, pp.125-140.
    [29] A. Elbirt, W. Yip, B. Chetwynd, C. Paar, “An FPGA-based performance evaluation of the AES block cipher candidate algorithm finalists”, in IEEE Trans. On VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, vol. 9, AUGUST 2001, no. 4, pp. 545-557.
    [30] K. Gai, P. Chodowiec, “Comparison of the hardware Performance of the AES Candidates using Reconfigurable Hardware”, in 3rd Advanced Encryption Standard (AES3) Candidate Conf., April 2000, pp. 40-54.
    [31] Kris Gaj, Pawel Chodowiec, “Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays”, in Proc. RSA Security Conference – Cryptographer’s Track (CT-RSA) , 2001, pp.84-99.
    [32] P. Chodowiec, P. Khuon, K. Gaj, “Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining”, in Proc. Int. Symposium on Field Programmable Gate Arrays (FPGA 2001), February 2001.
    [33] V. Fischer, “Realization of the Round 2 AES Candidates using Altera FPGA”, Submitted for The Third Advanced Encryption Standard Candidate Conference, New York, March 21, 2000, Available at http://csrc.nist.gov/encryption/aes/round2/conf3/ aes3papers.html.
    [34] A. Labb’e, A. P’erez, “AES Implementation on FPGA Time : Flexibility Tradeoff ”, in Field-Programmable Logic and Applications (FPL2002) , LNCS 2438, 2002, pp.836-844.
    [35] A.J. Elbirt, W. Yip, B. Chetwynd, C. Paar, “An FPGA Implementation and Performance Evaluation of the AES Block Cipher Candidate Algorithm Finalists”, in 3rd Advanced Encryption Standard (AES3) Candidate Conf., April 2000, New York.
    [36] N. Weaver and J. Wawrzynek, “A comparison of the AES candidates amenability to FPGA implementation”, in Proc. 3rd AES Candidate Conference, April 2000.
    [37] A. Dandalis, N.K. Prasanna, J.D.P. Rolim, “A Comparative Study of Performance of AES Candidates Using FPGAs”, in Proc. 3rd AES Candidate Conference, April 2000.
    [38] B.Weeks, M. Bean, T. Rozylowicz, and C. Ficke, “Hardware performance simulations of round 2 Advanced Encryption Standard algorithm ”, in Proc. 3rd AES Candidate Conference, April 2000.
    [39] T. Ichikawa, T. Kasuya, and M. Matsui, “Hardware evaluation of the AES finalists”, in Proc. 3rd AES Candidate Conference, April 2000.
    [40] E. Barker, L. Bassham, W. burr, M. Dworkin, J. Foti, J. Nechvatal, E. Roback, “Report on the Development of the Advanced Encryption Standard (AES)”, Available at http://home.ecn.ab.ca/~jsavard/crypto/co040801.htm.
    [41] A.C. Zigiotto, R. d'Amore, ”A low-cost FPGA implementation of the Advanced Encryption Standard algorithm “, in Proc. 15th Symposium on Integrated Circuits and Systems Design, 2002, pp.191 -196.
    [42] A. Panato, M. Barcelos, R. Reis, “An IP of an Advanced Encryption Standard for AlteraTM devices”, in Proc. 15th Symposium on Integrated Circuits and Systems Design, 2002, pp. 197 -202.
    [43] A. Panato, M. Barcelos, R. Reis, “A low device occupation IP to implement Rijndael algorithm”, Design, Automation and Test in Europe Conference and Exhibition, 2003, pp.20 -25.
    [44] M. McLoone, J.V. McCanny, “Rijndael FPGA implementation utilizing look-up tables”, in IEEE Workshop on Signal Processing Systems, 2001, pp.349-360.
    [45] M. McLoone, J.V. McCanny, “High performance single-chip FPGA Rijndael algorithm implementations “, in Proc. 3rd Int. Workshop Cryptographic Hardware and Embedded Systems (CHES 2001), LNCS 2162 , May 2001, pp. 65-76.
    [46] M. McLoone, J.V. McCanny, “Single-Chip FPGA Implementation of the Advanced Encryption Standard Algorithm ”, in Field-Programmable Logic and Applications (FPL2001), LNCS 2147, 2001, pp. 152-161.
    [47] V. Fischer, M. Drutarovsky, “Two Methods of Rijndael Implementation in Reconfigurable Hardware “, in Proc. 3rd Int. Workshop Cryptographic Hardware and Embedded Systems (CHES 2001), LNCS 2162, 2001 ,pp. 77-92.
    [48] J. H. Shim, D. W. Kim, Y. K. Kang, T. W. Kwon, J. R. Choi, “A Rijndael cryptoprocessor using shared on-the-fly key scheduler ”, in IEEE Proc. Asia-Pacific Conference (ASIC 2002), 2002 , pp. 89 -92.
    [49] M. Alam, W. Badawy, G. Jullien, “A novel pipelined threads architecture for AES encryption algorithm”, in IEEE Proc. Int. Conf. on Application-Specific Systems, Architectures and Processors (ASAP 2002), 2002, pp.296-302.
    [50] C. Chilu, D. Chien, C. Chien, I. Verbauwhede, F. Chang, “A hardware implementation in FPGA of the rijndael algorithm”, in 45th Midwest Symposium on Circuits and Systems, vol. 1, 2002 , pp.507-510.
    [51] N. Sklavos, O. Koufopavlou, “Architectures and VLSI implementations of the AES-Proposal Rijndael”, in IEEE Trans. on Computers, vol.51, Dec 2002, pp.1454-1459.
    [52] Dennis Ka Yau Tong, Pui Sze Lo, Kin Hong Lee, Lcong, P.H.W., “A system level implementation of Rijndael on a memory-slot based FPGA card”, in Proc. IEEE. Int. Conf. on Field-Programmable Technology (FPT 2002), 2002, pp. 102-109.
    [53] Amphion Semiconductor. High Performance AES Cores., 2003, available at http://www.amphion.com
    [54] Helion Technology. OVERVIEW DATASHEET – High Performance AES cores, 2003, available at http://www.heliontech.com
    [55] Tality. Data Sheet – AES Cores, 2003, available at http://www.cadence.com/designfoundry/
    [56] Silicon Designs Information Inc. Data Sheet – AES Core, 2003, available at http://www.silicon-designs.com
    [57] Foundation, URL: http://www.xilinx.com
    [58] Xilinx Synthesis Technology (XST), URL: http://www.xilinx.com
    [59] iMPACT, URL: http://www.xilinx.com
    [60] Derek Hill, Operating Systems On-line teaching material, URL: http://www-ipg.umds.ac.uk/d.hill/teaching/rsc0/operatingSystems/

    下載圖示 校內:2005-08-05公開
    校外:2006-08-05公開
    QR CODE