This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Instruction-Level Distributed Processor for Symmetric-Key Cryptography
May 2005 (vol. 16 no. 5)
pp. 468-480

Abstract—Efficient implementation of block ciphers is critical toward achieving both high security and high-speed processing. Numerous block ciphers have been proposed and implemented, using a wide and varied range of functional operations. Existing architectures such as microcontrollers do not provide this broad range of support. Therefore, we will present a hardware architecture that achieves efficient block cipher implementation while maintaining flexibility through reconfiguration. In an effort to achieve such a hardware architecture, a study of a wide range of block ciphers was undertaken to develop an understanding of the functional requirements of each algorithm. This study led to the development of COBRA, a reconfigurable architecture for the efficient implementation of block ciphers. A detailed discussion of the top-level architecture, interconnection scheme, and underlying elements of the architecture will be provided. System configuration and on-the-fly reconfiguration will be analyzed, and from this analysis, it will be demonstrated that the COBRA architecture satisfies the requirements for achieving efficient implementation of a wide range of block ciphers that meet the 622 Mbps ATM network encryption throughput requirement.

[1] “The Nielsen NetRatings Reporter,” June 1999, http://www.nielsen-netratings.comweekly.html .
[2] A.J. Menezes, P.C. van Oorschot, and S.A. Vanstone, Handbook of Applied Cryptography. Boca Raton, Fla.: CRC Press, 1997.
[3] B. Schneier, Applied Cryptography. New York: John Wiley & Sons Inc., second ed. 1996.
[4] W. Stallings, Network and Internetwork Security— Principles and Practice. Englewood Cliffs, N.J.: Prentice Hall, 1995.
[5] R. Doud, “Hardware Crypto Solutions Boost VPN,” Electronic Eng. Times, no. 1056, pp. 57-64, Apr. 1999.
[6] K. Aoki and H. Lipmaa, “Fast Implementations of AES Candidates,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 106-122, Apr. 2000.
[7] L. Bassham III, “Efficiency Testing of ANSI C Implementations of Round 2 Candidate Algorithms for the Advanced Encryption Standard,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 136-148, Apr. 2000.
[8] J. Dray, “NIST Performance Analysis of the Final Round Java™ AES Candidates,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 149-160, Apr. 2000.
[9] A. Sterbenz and P. Lipp, “Performance of the AES Candidate Algorithms in Java™,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 161-168, Apr. 2000.
[10] T. Wollinger, M. Wang, J. Guajardo, and C. Paar, “How Well Are High-End DSPs Suited for the AES Algorithms?” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 94-105, Apr. 2000.
[11] C. Patterson, “A Dynamic Implementation of the Serpent Block Cipher,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 2000, pp. 142-155, Aug. 2000.
[12] C. Patterson, “High Performance DES Encryption in Virtex™ FPGAs Using JBits™,” Proc. Eighth Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '00, pp. 113-121, Apr. 2000.
[13] “Advanced Encryption Standard,” http://www.nist.govaes, 2004.
[14] H. Feistel, “Cryptography and Computer Privacy,” Scientific Am., vol. 228, no. 5, pp. 15-23, May 1973.
[15] B. Schneier and J. Kelsey, “Unbalanced Feistel Networks and Block Cipher Design,” Proc. Third Int'l Workshop Fast Software Encryption, 1996.
[16] C. Adams, “The CAST-256 Encryption Algorithm,” Proc. First Advanced Encryption Standard (AES) Conf., 1998.
[17] C.E. Shannon, “Communication Theory of Secrecy Systems,” Bell System Technical J., vol. 27, no. 4, pp. 656-715, 1949.
[18] J. Leonard and W.H. Mangione-Smith, “A Case Study of Partially Evaluated Hardware Circuits: Keyspecific DES,” Proc. Seventh Int'l Workshop Field-Programmable Logic and Applications, FPL '97, Sept. 1997.
[19] J.-P. Kaps and C. Paar, “DES auf FPGAs (DES on FPGAs, in German),” Datenschutz und Datensicherheit, vol. 23, no. 10, pp. 565-569, 1999.
[20] S. Trimberger, R. Pang, and A. Singh, “A 12 Gbps DES Encryptor/Decryptor Core in an FPGA,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 2000, pp. 156-163, Aug. 2000.
[21] A. Dandalis, V.K. Prasanna, and J.D. P. Rolim, “A Comparative Study of Performance of AES Final Candidates Using FPGAs,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 2000, Aug. 2000.
[22] A.J. Elbirt, W. Yip, B. Chetwynd, and C. Paar, “An FPGA-Based Performance Evaluation of the AES Block Cipher Candidate Algorithm Finalists,” IEEE Trans. Very Large Scale Integration (VLSI) Systems, vol. 9, no. 4, pp. 545-557, Aug. 2001.
[23] V. Fischer, “Realization of Round 2 AES Candidates Using Altera FPGA,” http://csrc.nist.gov/encryption/aes/round2/ conf3aes3papers.html, 2000.
[24] K. Gaj and P. Chodowiec, “Fast Implementation and Fair Comparison of the Final Candidates for Advanced Encryption Standard Using Field Programmable Gate Arrays,” Proc. RSA Security Conf., Apr. 2001.
[25] N. Weaver and J. Wawrzynek, “A Comparison of the AES Candidates Amenability to FPGA Implemenation,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 28-39, Apr. 2000.
[26] M. Riaz and H. Heys, “The FPGA Implementation of RC6 and CAST-256 Encryption Algorithms,” Proc. IEEE 1999 Canadian Conf. Electrical and Computer Eng., Mar. 1999.
[27] A.J. Elbirt and C. Paar, “An FPGA Implementation and Performance Evaluation of the Serpent Block Cipher,” Proc. FPGA '00-ACM/SIGDA Int'l Symp. Field Programmable Gate Arrays, pp. 33-40, Feb. 2000.
[28] P. Bora and T. Czajka, “Implementation of the Serpent Algorithm Using Altera FPGA Devices,” http://csrc.nist. gov/encryption/aes/round2 pubcmnts.htm, 1999.
[29] M. McLoone and J. McCanny, “High Performance Single-Chip FPGA Rijndael Algorithm,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 2001, May 2001.
[30] P. Mroczkowski, “Implementation of the Block Cipher Rijndael Using Altera FPGA,” http://csrc.nist.gov/encryption/aes/round2 pubcmnts.htm, 1999.
[31] V. Fischer and M. Drutarovsky, “Two Methods of Rijndael Implementation in Reconfigurable Hardware,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 2001, May 2001.
[32] K. Bondalapati and V.K. Prasanna, “Reconfigurable Computing: Architectures, Models and Algorithms,” Current Science, vol. 78, no. 7, pp. 828-837, 2000.
[33] K.K. Bondalapati, “Modeling and Mapping for Dynamically Reconfigurable Hybrid Architectures,” PhD thesis, Univ. of Southern California, Los Angeles, Calif., Aug. 2001.
[34] S. Hauck, T.W. Fry, M.M. Hosler, and J.P. Kao, “The Chimaera Reconfigurable Function Unit,” Proc. Fifth Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '97, pp. 87-96, Apr. 1997.
[35] B. Kastrup, A. Bink, and J. Hoggerbrugge, “ConCISe: A Compiler-Driven CPLD-Based Instruction Set Accelerator,” Proc. Seventh Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '99, pp. 92-101, Apr. 1999.
[36] M.J. Wirthlin and B.L. Hutchings, “A Dynamic Instruction Set Computer,” Proc. Third Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '95, pp. 99-107, Apr. 1995.
[37] J. Hauser and J. Wawrzynek, “Garp: A MIPS Processor With A Reconfigurable Coprocessor,” Proc. Fifth Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '97, Apr. 1997.
[38] H. Singh, M. Lee, G. Lu, F.J. Kurdahi, N. Bagherzadeh, and E.M. Chaves Filho, “MorphoSys: An Integrated Reconfigurable System for Data-Parallel and Computation-Intensive Applications,” IEEE Trans. Computers, vol. 49, no. 5, pp. 465-481, May 2000.
[39] R. Taylor and S. Goldstein, “A High-Performance Flexible Architecture for Cryptography,” Proc. Workshop Cryptographic Hardware and Embedded Systems— CHES 1999, Aug. 1999.
[40] L. Wu, C. Weaver, and T. Austin, “CryptoManiac: A Fast Flexible Architecture for Secure Communication,” Proc. 28th Ann. Int'l Symp. Computer Architecture— ISCA 2001, pp. 110-119, June 2001.
[41] S.C. Goldstein, H. Schmit, M. Budiu, S. Cadambi, M. Moe, and R.R. Taylor, “PipeRench: A Reconfigurable Architecture and Compiler,” Computer, vol. 33, no. 4, pp. 70-77, Apr. 2000.
[42] C.R. Rupp, M. Landguth, T. Garverick, E. Gomersall, H. Holt, J.M. Arnold, and M. Gokhale, “The NAPA Adaptive Processing Architecture,” Proc. Sixth Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '98, pp. 28-37, Apr. 1998.
[43] R. Wittig and P. Chow, “OneChip: An FPGA Processor With Reconfigurable Logic,” Proc. Fourth Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '96, 1996.
[44] C. Alippi, W. Fornaciari, L. Pozzi, M. Sami, and P.L. Da Vinci, “Determining the Optimum Extended Instruction-Set Architecture for Application Specific Reconfigurable VLIW CPUs,” Proc. 12th Int'l Workshop Rapid System Prototyping, RSP 2001, pp. 50-56, June 2001.
[45] D.C. Chen and J.M. Rabaey, “A Reconfigurable Multiprocessor IC for Rapid Prototyping of Algorithmic-Specific High-Speed DSP Data Paths,” IEEE J. Solid-State Circuits, vol. 27, no. 12, pp. 1895-1904, Dec. 1992.
[46] J.G. Eldredge and B.L. Hutchings, “Density Enchancement of a Neural Network Using FPGAs and Run-Time Reconfiguration,” Proc. Second Ann. IEEE Symp. Field-Programmable Custom Computing Machines, FCCM '94, pp. 180-188, Apr. 1994.
[47] A.K. Yeung and J.M. Rabaey, “A 2.4 GOPS Data-Driven Reconfigurable Multiprocessor IC for DSP,” Proc. 1995 IEEE Int'l Solid-State Circuits Conf., pp. 108-109, Feb. 1995.
[48] H. Zhang, V. Prabhu, V. George, M. Wan, M. Benes, A. Abnous, and J.M. Rabaey, “A 1V Heterogeneous Reconfigurable Processor IC for Baseband Wireless Applications,” Proc. 2000 IEEE Int'l Solid-State Circuits Conf., pp. 68-69, Feb. 2000.
[49] G. Sassatelli, G. Cambon, J. Galy, and L. Torres, “A Dynamically Reconfigurable Architecture for Embedded Systems,” Proc. 12th Int'l Workshop Rapid System Prototyping— RSP 2001, pp. 32-37, June 2001.
[50] A. Wolfe and J.P. Shen, “Flexible Processors: A Promising Application-Specific Processor Design Approach,” Proc. 21st Ann. Workshop Microprogramming and Microarchitecture— MICRO '21, pp. 30-39, Nov. 1988.
[51] J. Worley, B. Worley, T. Christian, and C. Worley, “AES Finalists on PA-RISC and IA-64: Implementations & Performance,” Proc. Third Advanced Encryption Standard Candidate Conf., pp. 57-74, Apr. 2000.
[52] B. Penner, “What Is Gate Count? What Are Gate Count Metrics for Virtex/Spartan-II/4K Devices?,” e-mail personal correspondence, Jan. 2003.

Index Terms:
Cryptography, algorithm-agility, FPGA, block cipher, VHDL.
Citation:
Adam J. Elbirt, Christof Paar, "An Instruction-Level Distributed Processor for Symmetric-Key Cryptography," IEEE Transactions on Parallel and Distributed Systems, vol. 16, no. 5, pp. 468-480, May 2005, doi:10.1109/TPDS.2005.51
Usage of this product signifies your acceptance of the Terms of Use.