Software Optimizations for DES

  • Shay Gueron
  • Regev Shemy
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 738)

Abstract

This paper describes some software optimizations for the classical Data Encryption Standard (DES) cipher DES applicable for modern processor architectures that have SIMD instructions. Performance is gained by processing several messages in parallel, compared to processing single messages serially. An added value that the proposed optimizations offer is that the resulting implementations are also side channel protected, unlike other implementations that are found in open source libraries. For comparison, when measured on the latest Intel server processor (Architecture Codename Skylake), our side channel safe implementation is 3.2× faster than that of OpenSSL.

Keywords

Component DES DOCSIS IPSEC Software optimizations 3-DES Side-channel protection 

Notes

Acknowledgements

This research was supported by the Israel Science Foundation (grant No. 1018/16), by the BIU Center for Research in Applied Cryptography and Cyber Security, in conjunction with the Israel National Cyber Bureau in the Prime Minister’s Office, and by the Center for Cyber Law & Policy at the University of Haifa.

References

  1. 1.
    National Institue of Standards and Technology, Advance Encryption Standard (AES), FIPS Publication 197, November, (2001), https://csrc.nist.gov/csrc/media/publications/fips/197/final/documents/fips-197.pdf
  2. 2.
    National Burea of Standards, Data Encryption Standard, U.S, Department of Commerece, FIPS pub. 47, January, (1977) Google Scholar
  3. 3.
    National Institue of Standards and Technology, Data Encryption Standard (DES), FIPS Publication 46–3, October, (1999)Google Scholar
  4. 4.
    National Institue of Standards and Technology, DES Modes of Operation, FIPS publications 81, December, (1980), https://csrc.nist.gov/csrc/media/publications/fips/81/archive/1980-12-02/documents/fips81.pdf
  5. 5.
    DOCSIS 3.1 Specfication, September, (2017), https://apps.cablelabs.com/specification/CM-SP-MULPIv3.1
  6. 6.
    S. Gueron, Intel Advanced Encryption Standard (AES) instructions set (Rev. 3), Intel Software Network, (2010), http://software.intel.com/en-us/articles/advanced-encryption-standard-aes-instructions-set/
  7. 7.
    S. Gueron, Intel’s New AES Instructions for Enhanced Performance and Security. Fast Software Encryptiom, 16th International Workshop (FSE 2009). Lecture Notes in Computer Science: 5656, (2009), pp. 51–66CrossRefGoogle Scholar
  8. 8.
  9. 9.
    E. Biham, A. Biryukov, An improvement of Davies’ attack on DES. J. Cryptol. 10(3), 195–206 (1997)CrossRefGoogle Scholar
  10. 10.
    E. Biham, A. Shamir, Differential cryptanalysis of DES-like cryptosystems. J. Cryptol. 4(1), 3–72 (1991)MathSciNetCrossRefGoogle Scholar
  11. 11.
    E. Biham, A. Shamir, Differential Cryptanalysis of the Data Encryption Standard (Springer, Berlin, 1993). ISBN 0-387-97930-1, ISBN 3-540-97930-1CrossRefGoogle Scholar
  12. 12.
    J. Kelsey, B. Schneier, D. Wagner, C. Hall, Side channel cryptanalysis of product ciphers, in Proc. European Symp. Research in Computer Security (ESORICS ’98), (1998), pp. 97–110Google Scholar
  13. 13.
    P. Kocher, Timing attacks on implementations of Diffie-Hellman, RSA, DSS and other systems, in Adavance in Cryptology–CRYPTO ’96 Proceedings, (Springer, 1996), pp. 104–113Google Scholar
  14. 14.
    S. Kumar, C. Paar, J. Pelzl, G. Pfeiffer, A. Rupp, M. Schimmler, How to Break DES for Euro 8,980, 2nd Workshop on Special-purpose Hardware for attacking Cryptographic Systems—SHARCS 2006, Cologne, Germany, April, 2006Google Scholar
  15. 15.
    S. Gueron, V. Krasnov, Simultaneous hashing of multiple messages. J. Inf. Secur. 3, 319–325 (2012)Google Scholar
  16. 16.
    S. Gueron, R. Shemy, [OpenSSL Patch]: Accelerating Multi (MB) CBC SHA256 on architectures that support AVX512 instructions set, January, (2016), http://openssl.6102.n7.nabble.com/openssl-org-4221-PATCH-Accelerating-Multi-Block-MB-CBC-SHA256-on-architectures-that-support-AVX512-it-td62058.html
  17. 17.
    S. Gueron, R. Shemy, [OpenSSL Patch]: Multi Block (MB) SHA 512 for x86_64 Architectures that support AVX2/ AVX512 instructions set, February, (2016), http://openssl.6102.n7. nabble.com/ openssl-org-4307-PATCH-Multi-Block-MB-SHA512- for-x86-64-Architectures-that-support-AVX2-AVX512-instrt-td63716.html
  18. 18.
    S. Gueron, Speeding up crc32c computations with intel crc32 instructions. Inf. Process. Lett. 112(5), 179–185 (2012) MathSciNetCrossRefGoogle Scholar
  19. 19.
  20. 20.
    S. Gueron, V. Krasnov, Fast implementation of AES-CRT mode for AVX capable x86-64 processors, March, (2013), http://rt.openssl.org/Ticket/Display.html?id=3021&user=guest&pass= guest

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Shay Gueron
    • 1
  • Regev Shemy
    • 2
  1. 1.Department of MathematicsUniversity of HaifaHaifaIsrael
  2. 2.Intel CorporationIsrael Development CenterHaifaIsrael

Personalised recommendations