Optimized GPU Implementation and Performance Analysis of HC Series of Stream Ciphers

  • Ayesha Khalid
  • Deblin Bagchi
  • Goutam Paul
  • Anupam Chattopadhyay
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7839)


The ease of programming offered by the CUDA programming model attracted a lot of programmers to try the platform for acceleration of many non-graphics applications. Cryptography, being no exception, also found its share of exploration efforts, especially block ciphers. In this contribution we present a detailed walk-through of effective mapping of HC-128 and HC-256 stream ciphers on GPUs. Due to inherent inter-S-Box dependencies, intra-S-Box dependencies and a high number of memory accesses per keystream word generation, parallelization of HC series of stream ciphers remains challenging. For the first time, we present various optimization strategies for HC-128 and HC-256 speedup in tune with CUDA device architecture. The peak performance achieved with a single data-stream for HC-128 and HC-256 is 0.95 Gbps and 0.41 Gbps respectively. Although these throughput figures do not beat the CPU performance (10.9 Gbps for HC-128 and 7.5 Gbps for HC-256), our multiple parallel data-stream implementation is benchmarked to reach approximately 31 Gbps for HC-128 and 14 Gbps for HC-256 (with 32768 parallel data-streams). To the best of our knowledge, this is the first reported effort of mapping HC-Series of stream ciphers on GPUs.


CUDA eSTREAM GPU HC-128 HC-256 stream cipher 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Manavski, S.A.: CUDA compatible GPU as an efficient hardware accelerator for AES cryptography. In: International Signal Processing and Communications (ICSPC), pp. 65–68. IEEE (2007)Google Scholar
  2. 2.
    Biagio, A., Barenghi, A., Agosta, G., Pelosi, G.: Design of a parallel AES for graphics hardware using the CUDA framework. In: International Symposium on Parallel & Distributed Processing (IPDPS), pp. 1–8. IEEE (2009)Google Scholar
  3. 3.
    Iwai, K., Nishikawa, N., Kurokawa, T.: Acceleration of AES encryption on CUDA GPU. International Journal of Networking and Computing 2(1), 131–145 (2012)Google Scholar
  4. 4.
    Liu, G., An, H., Han, W., Xu, G., Yao, P., Xu, M., Hao, X., Wang, Y.: A Program Behavior Study of Block Cryptography Algorithms on GPGPU. In: Fourth International Conference on Frontier of Computer Science and Technology 2009, FCST 2009, pp. 33–39. IEEE (2009)Google Scholar
  5. 5.
    Nishikawa, N., Iwai, K., Kurokawa, T.: High-Performance Symmetric Block Ciphers on Multicore CPU and GPUs. International Journal of Networking and Computing 2(2), 251–268 (2012)Google Scholar
  6. 6.
    Cannire, C.D.: eSTREAM testing framework,
  7. 7.
    Stefan, D.: Analysis and Implementation of eSTREAM and SHA-3 Cryptographic Algorithms (2011),
  8. 8.
    Bauer, M., Cook, H., Khailany, B.: CudaDMA: Optimizing GPU memory bandwidth via warp specialization. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis. ACM, New York (2011); Article 12Google Scholar
  9. 9.
  10. 10.
    Bernstein, D.: Cache-timing attacks on AES (2005),
  11. 11.
    Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 37–51. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    eSTREAM: the ECRYPT Stream Cipher Project,
  13. 13.
    Kircanski, A., Youssef, A.M.: Differential Fault Analysis of HC-128. In: Bernstein, D.J., Lange, T. (eds.) AFRICACRYPT 2010. LNCS, vol. 6055, pp. 261–278. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Liu, Y., Qin, T.: The key and IV setup of the stream ciphers HC-256 and HC-128. In: International Conference on Networks Security, Wireless Communications and Trusted Computing, pp. 430–433. IEEE (2009)Google Scholar
  15. 15.
    Maitra, S., Paul, G., Raizada, S., Sen, S., Sengupta, R.: Some observations on HC-128. Designs, Codes and Cryptography 59(1-3), 231–245 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Zenner, E.: A Cache Timing Analysis of HC-256. In: Avanzi, R.M., Keliher, L., Sica, F. (eds.) SAC 2008. LNCS, vol. 5381, pp. 199–213. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Osvik, D.A., Shamir, A., Tromer, E.: Cache Attacks and Countermeasures: The Case of AES. In: Pointcheval, D. (ed.) CT-RSA 2006. LNCS, vol. 3860, pp. 1–20. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Paul, G., Maitra, S., Raizada, S.: A Theoretical Analysis of the Structure of HC-128. In: Iwata, T., Nishigaki, M. (eds.) IWSEC 2011. LNCS, vol. 7038, pp. 161–177. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Sekar, G., Preneel, B.: Improved Distinguishing Attacks on HC-256. In: Takagi, T., Mambo, M. (eds.) IWSEC 2009. LNCS, vol. 5824, pp. 38–52. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Stankovski, P., Ruj, S., Hell, M., Johansson, T.: Improved distinguishers for HC-128. Designs, Codes and Cryptography 63(2), 225–240 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  21. 21.
    Wu, H.: The Stream Cipher HC-128,
  22. 22.
    Wu, H.: A New Stream Cipher HC-256. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS, vol. 3017, pp. 226–244. Springer, Heidelberg (2004), CrossRefGoogle Scholar
  23. 23.
    Chattopadhyay, A., Khalid, A., Maitra, S., Raizada, S.: Designing High-Throughput Hardware Accelerator for Stream Cipher HC-128. In: International Symposium on Circuits and systems (ISCAS), pp. 1448–1451. IEEE (2012)Google Scholar
  24. 24.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ayesha Khalid
    • 1
  • Deblin Bagchi
    • 2
  • Goutam Paul
    • 2
  • Anupam Chattopadhyay
    • 1
  1. 1.Institute for Communication Technologies and Embedded SystemsRWTH Aachen UniversityAachenGermany
  2. 2.Department of Computer Science and EngineeringJadavpur UniversityKolkataIndia

Personalised recommendations