From Wikipedia, the free encyclopedia
Jump to: navigation, search

Kleptography is the study of stealing information securely and subliminally. Kleptography is a subfield of cryptography and cryptovirology, and is a natural extension of the theory of subliminal channels that was pioneered by Gus Simmons while at Sandia National Labs.[1][2][3] Kleptography is also related to steganography. Kleptography was introduced by Adam Young and Moti Yung in the Proceedings of Advances in Cryptology—Crypto '96.[4]

Kleptographic attack[edit]


A kleptographic attack is an attack which uses asymmetric encryption to implement a cryptographic backdoor.[5] For example, one such attack could be to subtly modify how the public and private key pairs are generated by the cryptosystem so that the private key could be derived from the public key. In a well-designed attack, the outputs of the infected cryptosystem would be computationally indistinguishable from the outputs of the corresponding uninfected cryptosystem.[6] If the infected cryptosystem is a black-box implementation such as a hardware security module, a smartcard, or a Trusted Platform Module, a successful attack could go completely unnoticed.

A reverse engineer might be able to uncover a backdoor inserted by an attacker, and in some cases, even use it himself.[7] This may be undesirable for the original attacker if exclusive access is more profitable, such as in the case of cryptoviral extortion, where the attacker encrypts his victim's data and offers to provide the decryption key for a price. More sophisticated attacks (kleptographic attacks) can create an asymmetric backdoor, which requires information such as a private key known only to the original attacker in order to be used. In this case, even if the reverse engineer was well-funded and gained complete knowledge of the backdoor, it would remain useless to him without the attacker's private key.[8]


Kleptographic attacks can be constructed as a cryptotrojan that infects a cryptosystem and opens a backdoor for the attacker, or can be implemented by the manufacturer of a cryptosystem. The attack does not necessarily have to reveal the entirety of the cryptosystem's output; a more complicated attack technique may alternate between producing uninfected output and insecure data with the backdoor present.[9]


Kleptographic attacks have been designed for RSA key generation, the Diffie–Hellman key exchange, the Digital Signature Algorithm, and other cryptographic algorithms and protocols.[9] SSL, SSH, and IPSec protocols are vulnerable to kleptographic attacks.[10] In each case, the attacker is able to compromise the particular cryptographic algorithm or protocol by inspecting the information that the backdoor information is encoded in (e.g., the public key, the digital signature, the key exchange messages, etc.) and then exploiting the logic of the asymmetric backdoor using their secret key (usually a private key).

A. Juels and J. Guajardo[11] proposed a method (KEGVER) through which a third party can verify RSA key generation. This is devised as a form of distributed key generation in which the secret key is only known to the black box itself. This assures that the key generation process was not modified and that the private key cannot be reproduced through a kleptographic attack.[11][12]


Four practical examples of kleptographic attacks (including a simplified SETUP attack against RSA) can be found in JCrypTool 1.0,[13] the platform-independent version of the open-source CrypTool project.[14] A demonstration of the prevention of kleptographic attacks by means of the KEGVER method is also implemented in JCrypTool.

The Dual_EC_DRBG cryptographic pseudo-random number generator from the NIST SP 800-90A is thought to contain a kleptographic backdoor. Dual_EC_DRBG utilizes elliptic curve cryptography, and NSA is thought to hold a private key which together with a bias flaws in Dual_EC_DRBG allows NSA to decrypt for example SSL traffic between computers using Dual_EC_DRBG.[15]


  1. ^ G. J. Simmons, "The Prisoners' Problem and the Subliminal Channel," In Proceedings of Crypto '83, D. Chaum (Ed.), pages 51–67, Plenum Press, 1984.
  2. ^ G. J. Simmons, "The Subliminal Channel and Digital Signatures," In Proceedings of Eurocrypt '84, T. Beth, N. Cot, I. Ingemarsson (Eds.), pages 364-378, Springer-Verlag, 1985.
  3. ^ G. J. Simmons, "Subliminal Communication is Easy Using the DSA," In proceedings of Eurocrypt '93, T. Helleseth (Ed.), pages 218-232, Springer-Verlag, 1993.
  4. ^ A. Young, M. Yung, "The Dark Side of Black-Box Cryptography, or: Should we trust Capstone?" In Proceedings of Crypto '96, Neal Koblitz (Ed.), Springer-Verlag, pages 89–103, 1996.
  5. ^ Esslinger, Bernhard; Vacek, Patrick (20 February 2013). "The Dark Side of Cryptography: Kleptography in Black-Box Implementations". Infosecurity Magazine. Infosecurity Magazine. Retrieved 18 March 2014. 
  6. ^ Young, Adam (2006). "Cryptovirology FAQ". Cryptovirology.com. Retrieved 18 March 2014. 
  7. ^ Esslinger, Bernhard; Vacek, Patrick, 2013, The Dark Side of Cryptography, "... manipulation of this sort could be revealed through reverse engineering ..."
  8. ^ Esslinger, Bernhard; Vacek, Patrick, 2013, The Dark Side of Cryptography, "... sophisticated kleptographic attacks can indeed prevent [...] discovery."
  9. ^ a b A. Young, M. Yung, Malicious Cryptography: Exposing Cryptovirology, John Wiley & Sons, 2004.
  10. ^ http://kleptografia.im.pwr.wroc.pl/ SSL attack by Filip Zagórski, and prof. Mirosław Kutyłowski
  11. ^ a b A. Juels, J. Guajardo, "RSA Key Generation with Verifiable Randomness", in: D. Naccache, P. Pallier (Eds.), Public Key Cryptography: 4th International Workshop on Practice and Theory in Public Key Cryptosystems, Springer, 2002.
  12. ^ A. Juels, J. Guajardo, "RSA Key Generation with Verifiable Randomness" (Extended version)
  13. ^ https://github.com/jcryptool JCrypTool project website
  14. ^ http://www.kes.info/archiv/online/10-4-006.htm B. Esslinger, Die dunkle Seite der Kryptografie -- Kleptografie bei Black-Box-Implementierungen, <kes>, #4 / 2010, page 6 ff. (German language only)
  15. ^ Matthew Green. "The Many Flaws of Dual_EC_DRBG".