Skip to main content
Log in

Secrets from the GPU

True random bit generation and faster Diffie–Hellman for systemic cryptography

  • Original Paper
  • Published:
Journal of Computer Virology and Hacking Techniques Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  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)

  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)

  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)

  4. Barker, E., Kesley, J.: Draft NIST Special Publication 800–90c: recommendation for random bit generator (RBG) constructions (2012)

  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)

  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)

  7. Diffie, W., Hellman, M.: New directions in cryptography. IEEE Trans. Inf. Theor. 22(6), 644–654 (2006)

    Article  MathSciNet  Google Scholar 

  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 1994

  9. Gallagher, P., Furlani, C.: FIPS Pub 186—3 Federal Information Processing Standards Publication Digital Signature Standard (DSS) (2009)

  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)

  11. Giorgi, P., Izard, T., Tisserand, A.: Comparison of modular arithmetic algorithms on GPUs. In: ParCo’09: International Conference on Parallel Computing, France (2009)

  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)

  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)

  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)

  15. Knuth, D.E.: The Art of Computer Programming, vol. II: Seminumerical Algorithms, 2nd edn. Addison-Wesley, Boston (1981)

    Google Scholar 

  16. Koblitz, N.: Elliptic curve cryptosystems. Math Comput 48(177), 203–209 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  17. Langley, A.: A collection of implementations of curve25519, an elliptic curve Diffie Hellman primitive (2008)

  18. L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4) (2007)

  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. Lochter, M., Merkle, J.: Elliptic curve cryptography (ECC) brainpool standard curves and curve generation (2010)

  21. McCullough, B.D.: A review of TESTU01. J. Appl. Econom. 21(5), 677–682 (2006)

    Article  Google Scholar 

  22. Menezes, A.J., Vanstone, S.A., Van Oorschot P.C.: Handbook of Applied Cryptography, 1st edn. CRC Press Inc., Boca Raton (1996)

  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)

  24. Offspark, B.V.: PolarSSL

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

  29. Trei, W.: Efficient Modular Arithmetic for SIMD Devices. ArXiv e-prints (2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Marie Chauvet.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mahé, E., Chauvet, JM. Secrets from the GPU. J Comput Virol Hack Tech 10, 205–210 (2014). https://doi.org/10.1007/s11416-014-0202-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11416-014-0202-2

Mathematics Subject Classification (2000)

Navigation