Secrets from the GPU

True random bit generation and faster Diffie–Hellman for systemic cryptography
  • Eric Mahé
  • Jean-Marie Chauvet
Original Paper


In the current controversial context caused by the disclosure of classified details of several top-secret United States and British government mass surveillance programs to the press by former NSA contractor Edward Snowden, issues of data privacy, anonymity, unlinkability, forward secrecy and deniability have raised to public prominence. In this work we investigate how an alternate usage of state-of-the-art yet ubiquitous computing platforms might help sovereign, citizen and general public recovery of control over privacy. These goals are notoriously difficult to achieve on the Internet today due to the insufficient public-key infrastructure at the user level. Our approach leverages modern multi-core processors and general-purpose computing on graphics processing units, both as a source of true random entropy pools and computational engines for very fast elliptic curve cryptography (ECC). Such autonomous, high-frequency Diffie–Hellman-ready agents reside in a breadth of devices ranging from smartphones and tablets, to laptops and high-end servers in datacenters. In contrast to the current circumstance, this suggested infrastructure enables generalized symmetric exchanges with the Vernam cipher without compromising ease-of-use nor requiring revolutionary changes in today’s well-grounded ECC theory.

Mathematics Subject Classification (2000)

94A60 14H52 11A07 37H10 60K40 65C10 


  1. 1.
    Bajard, J.-C., Didier, L.-S., Kornerup, P.: Modular multiplication and base extensions in residue number systems. In: IEEE symposium on computer arithmetic, pp. 59–65. IEEE Computer Society, New York (2001)Google Scholar
  2. 2.
    Bajard, J.C., Kaihara, M., Plantard, T.: Selected RNS bases for modular multiplication. In: 19th IEEE International Symposium on Computer Arithmetic, pp. 25–35. IEEE Computer Society, Portland (2009)Google Scholar
  3. 3.
    Banerjee, D.S., Bahl, A.K., Kothapalli, K.: An on-demand fast parallel pseudo random number generator with applications. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), pp. 1703–1711 (2012)Google Scholar
  4. 4.
    Barker, E., Kesley, J.: Draft NIST Special Publication 800–90c: recommendation for random bit generator (RBG) constructions (2012)Google Scholar
  5. 5.
    Bernstein, D.J.: Curve25519: New Diffie–Hellman speed records. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T. (eds.) Public Key Cryptography—PKC 2006. Lecture Notes in Computer Science, vol. 3958, pp. 207–228. Springer, Berlin (2006)Google Scholar
  6. 6.
    Bernstein, D.J., Lange, T., Schwabe, P.: The security impact of a new cryptographic library. In: Proceedings of the 2nd International Conference on Cryptology and Information Security in Latin America, LATINCRYPT’12, pp. 159–176. Springer, Berlin (2012)Google Scholar
  7. 7.
    Diffie, W., Hellman, M.: New directions in cryptography. IEEE Trans. Inf. Theor. 22(6), 644–654 (2006)CrossRefMathSciNetGoogle Scholar
  8. 8.
    FIPS: Security Requirements for Cryptographic Modules. National Institute for Standards and Technology, Gaithersburg, MD, USA, May 2001. Annex A: Approved Security Functions (19 May 2005); Annex B: Approved Protection Profiles (04 November 2004); Annex C: Approved Random Number Generators (31 January 2005); Annex D: Approved Key Establishment Techniques (30 June 2005). Supersedes FIPS PUB 140-1, 11 January 1994Google Scholar
  9. 9.
    Gallagher, P., Furlani, C.: FIPS Pub 186—3 Federal Information Processing Standards Publication Digital Signature Standard (DSS) (2009)Google Scholar
  10. 10.
    Gandino, F., Lamberti, F., Montuschi, P., Bajard, J.-C.: A general approach for improving RNS montgomery exponentiation using pre-processing. In: Antelo, E., Hough, D., Ienne, P. (eds.) IEEE Symposium on Computer Arithmetic, pp. 195–204. IEEE Computer Society, New York (2011)Google Scholar
  11. 11.
    Giorgi, P., Izard, T., Tisserand, A.: Comparison of modular arithmetic algorithms on GPUs. In: ParCo’09: International Conference on Parallel Computing, France (2009)Google Scholar
  12. 12.
    Harrison, O., Waldron, J.: Efficient acceleration of asymmetric cryptography on graphics hardware. In: Proceedings of the 2nd International Conference on Cryptology in Africa: Progress in Cryptology, AFRICACRYPT ’09, pp. 350–367. Springer, Berlin (2009)Google Scholar
  13. 13.
    Jeske, T., Kurth, F.: Big number modulo exponentiations for Zero-Knowledge protocols on GPUs. In: GPU Technology Conference, San Jose 14–17, 2012 (2012)Google Scholar
  14. 14.
    Kawamura, S., Koike, M., Sano, F., Shimbo, A.: Cox-Rower architecture for fast parallel montgomery multiplication. In: Proceedings of the 19th International Conference on Theory and Application of Cryptographic Techniques, EUROCRYPT’00, pp. 523–538. Springer, Berlin (2000)Google Scholar
  15. 15.
    Knuth, D.E.: The Art of Computer Programming, vol. II: Seminumerical Algorithms, 2nd edn. Addison-Wesley, Boston (1981)Google Scholar
  16. 16.
    Koblitz, N.: Elliptic curve cryptosystems. Math Comput 48(177), 203–209 (1987)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Langley, A.: A collection of implementations of curve25519, an elliptic curve Diffie Hellman primitive (2008)Google Scholar
  18. 18.
    L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4) (2007)Google Scholar
  19. 19.
    Lenstra, A.K., Hughes, J.P., Augier, M., Bos, J.W., Kleinjung, T., Wachter, C.: Ron was wrong, Whit is right. IACR Cryptol. ePrint Archive 2012, 64 (2012)Google Scholar
  20. 20.
    Lochter, M., Merkle, J.: Elliptic curve cryptography (ECC) brainpool standard curves and curve generation (2010)Google Scholar
  21. 21.
    McCullough, B.D.: A review of TESTU01. J. Appl. Econom. 21(5), 677–682 (2006)CrossRefGoogle Scholar
  22. 22.
    Menezes, A.J., Vanstone, S.A., Van Oorschot P.C.: Handbook of Applied Cryptography, 1st edn. CRC Press Inc., Boca Raton (1996)Google Scholar
  23. 23.
    Miller V.S.: Use of elliptic curves in cryptography. In: Williams, H.C. (ed.), Advances in Cryptology CRYPTO 85 Proceedings. Lecture Notes in Computer Science, vol. 218, pp. 417–426. Springer, Berlin (1986) Google Scholar
  24. 24.
    Offspark, B.V.: PolarSSLGoogle Scholar
  25. 25.
    Owens, J.D., Houston, M., Luebke, D., Green, S., Stone, J.E., Phillips, J.C.: GPU computing. Proc. IEEE 96(5), 879–899 (2008)CrossRefGoogle Scholar
  26. 26.
    Seznec, A., Sendrier, N.: Havege: a user-level software heuristic for generating empirically strong random numbers. ACM Trans. Model. Comput. Simul. 13(4), 334–346 (2003)CrossRefGoogle Scholar
  27. 27.
    Stpiczynski, P., Szalkowski, D., Potiopa J.: Parallel GPU-accelerated recursion-based generators of pseudorandom numbers. In: 2012 Federated Conference on Computer Science and Information Systems (FedCSIS), pp. 571–578 (2012)Google Scholar
  28. 28.
    Szerwinski, R., Güneysu, T.: Exploiting the power of GPUs for asymmetric cryptography. In: Oswald, E., Rohatgi, P. (ed.) CHES. Lecture Notes in Computer Science, vol. 5154, pp. 79–99. Springer, Berlin (2008)Google Scholar
  29. 29.
    Trei, W.: Efficient Modular Arithmetic for SIMD Devices. ArXiv e-prints (2013)Google Scholar

Copyright information

© Springer-Verlag France 2014

Authors and Affiliations

  1. 1.MassiveRandBoulogne-BillancourtFrance

Personalised recommendations