aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/random.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-03Use blinding for the RSA secret operation.Werner Koch1-0/+1
* cipher/random.c (randomize_mpi): New. * g10/gpgv.c (randomize_mpi): New stub. * cipher/rsa.c (USE_BLINDING): Define macro. (secret): Implement blinding. -- GPG 1.x has never used any protection against timing attacks on the RSA secret operation. The rationale for this has been that there was no way to mount a remote timing attack on GnuPG. With the turning up of Acoustic Cryptanalysis (http://cs.tau.ac.il/~tromer/acoustic) this assumption no longer holds true and thus we need to do do something about it. Blinding seems to be a suitable mitigation to the threat of key extraction. It does not help against distinguishing used keys, though. Note that GPG 2.x uses Libgcrypt which does blinding by default. The performance penalty is negligible: Modifying the core pubkey_sign or pubkey_decrypt function to run 100 times in a loop, the entire execution times for signing or decrypting a small message using a 4K RSA key on a Thinkpad X220 are Without blinding: 5.2s (8.9s) With blinding: 5.6s (9.3s) The numbers in parentheses give the values without the recently implemented k-ary exponentiation code. Thus for the next release the user will actually experience faster signing and decryption. A drawback of blinding is that we need random numbers even for decryption (albeit at low quality). Signed-off-by: Werner Koch <[email protected]> CVE-id: CVE-2013-4576
2007-10-23Switched to GPLv3.Werner Koch1-4/+2
Updated gettext.
2006-02-09Lock random seed fileWerner Koch1-0/+1
2005-07-27Converted all m_free to xfree etc.Werner Koch1-1/+1
2005-05-31Updated FSF street address and preparations for a release candidate.Werner Koch1-1/+2
2002-06-29Update head to match stable 1.0David Shaw1-20/+21
2000-01-27See ChangeLog: Thu Jan 27 18:00:44 CET 2000 Werner KochWerner Koch1-3/+3
1999-10-26See ChangeLog: Tue Oct 26 20:03:44 CEST 1999 Werner KochV1-1-0Werner Koch1-7/+17
1999-03-20See ChangeLog: Sat Mar 20 11:53:40 CET 1999 Werner KochWerner Koch1-0/+1
1999-01-19See ChangeLog: Tue Jan 19 19:34:58 CET 1999 Werner KochWerner Koch1-0/+1
1999-01-16See ChangeLog: Sat Jan 16 09:27:30 CET 1999 Werner KochWerner Koch1-20/+6
1998-12-23See ChangeLog: Wed Dec 23 13:34:22 CET 1998 Werner KochWerner Koch1-3/+3
1998-07-06intermediate releaseWerner Koch1-9/+21
1998-06-16some more internall structure changesWerner Koch1-4/+4
1997-12-16added some stuff for signing keysWerner Koch1-0/+1
1997-11-18initially checkinWerner Koch1-0/+29