Hardware Acceleration for Cryptography Algorithms by Hotspot Detection

Data Encryption/Decryption has become an essential part of pervasive computing systems. However, executing these cryptographic algorithms often introduces a high overhead. In this paper, we select nine widely used cryptographic algorithms to improve their performance by providing hardware-assisted solutions. For each algorithm, we identify the software performance bottleneck, i.e., those “hotspot functions” or “hot-blocks” which consume a substantial portion of the overall execution time. Then, based on the percentage of execution time of a specific function and its relationship with the overall algorithm, we select candidates for our hardware acceleration. We design our hardware accelerators of the chosen candidates. The results show that our implementations achieve speedups as high as 60 folds for specific functions and 5.4 for the overall algorithm compared with the performance of the software-only implementation. Through the associated hardware cost analysis, we point to an opportunity to perform these functions in an SIMD fashion.

[1]  Zhimin Gu,et al.  Memory-Side Acceleration for XML Parsing , 2011, NPC.

[2]  Guido Bertoni,et al.  Speeding Up AES By Extending a 32 bit Processor Instruction Set , 2006, IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06).

[3]  John Waldron,et al.  AES Encryption Implementation and Analysis on Commodity Graphics Processing Units , 2007, CHES.

[4]  Ingrid Verbauwhede,et al.  Cryptographic Hardware and Embedded Systems - CHES 2007, 9th International Workshop, Vienna, Austria, September 10-13, 2007, Proceedings , 2007, CHES.

[5]  Zhimin Gu,et al.  Prefetching in Embedded Mobile Systems Can Be Energy-Efficient , 2011, IEEE Computer Architecture Letters.

[6]  Zhimin Gu,et al.  Pinned OS/Services: A Case Study of XML Parsing on Intel SCC , 2013, Journal of Computer Science and Technology.

[7]  염흥렬,et al.  [서평]「Applied Cryptography」 , 1997 .

[8]  Ahmed Bouridane,et al.  AES Embedded Hardware Implementation , 2007, Second NASA/ESA Conference on Adaptive Hardware and Systems (AHS 2007).

[9]  Zhimin Gu,et al.  Hardware-assisted middleware: Acceleration of garbage collection operations , 2010, ASAP 2010 - 21st IEEE International Conference on Application-specific Systems, Architectures and Processors.

[10]  Zhimin Gu,et al.  Acceleration of XML Parsing through Prefetching , 2013, IEEE Transactions on Computers.

[11]  Wlodzimierz Bielecki,et al.  Parallelization Method of Encryption Algorithms , 2007, Advances in Information Processing and Protection.

[12]  Xuejia Lai,et al.  On the design and security of block ciphers , 1992 .

[13]  Ronald L. Rivest,et al.  The RC5 Encryption Algorithm , 1994, FSE.

[14]  Zhimin Gu,et al.  Achieving middleware execution efficiency: hardware-assisted garbage collection operations , 2010, The Journal of Supercomputing.

[15]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[16]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

[17]  Jean-Luc Gaudiot,et al.  Workload characterization of cryptography algorithms for hardware acceleration , 2011, ICPE '11.

[18]  Michael Luby,et al.  How to Construct Pseudo-Random Permutations from Pseudo-Random Functions (Abstract) , 1986, CRYPTO.

[19]  N. Koblitz Elliptic curve cryptosystems , 1987 .

[20]  I. Verbauwhede,et al.  Interfacing a high speed crypto accelerator to an embedded CPU , 2004, Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers, 2004..

[21]  Charles Cresson Wood,et al.  Security for computer networks : D.W. Davies and W.L. Price New York: John Wiley and Sons, 1984. 386 + xix pages, $19.50 , 1985, Computers & security.

[22]  Jean-Luc Gaudiot,et al.  Minimizing the runtime partial reconfiguration overheads in reconfigurable systems , 2011, The Journal of Supercomputing.

[23]  Andreea A.S. Ionescu,et al.  SECURITY IN COMPUTER NETWORKS , 2012 .