aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/random.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use blinding for the RSA secret operation.Werner Koch2013-12-031-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
* Switched to GPLv3.Werner Koch2007-10-231-4/+2
| | | | | Updated gettext.
* Lock random seed fileWerner Koch2006-02-091-0/+1
|
* Converted all m_free to xfree etc.Werner Koch2005-07-271-1/+1
|
* Updated FSF street address and preparations for a release candidate.Werner Koch2005-05-311-1/+2
|
* Update head to match stable 1.0David Shaw2002-06-291-0/+41
|
* Removed files from the HEAD revision, because they are now in anotherWerner Koch2000-12-191-40/+0
| | | | | repository
* See ChangeLog: Wed Oct 4 13:16:18 CEST 2000 Werner KochWerner Koch2000-10-041-0/+2
|
* See ChangeLog: Sat Nov 13 17:44:23 CET 1999 Werner KochWerner Koch1999-11-131-1/+0
|
* See ChangeLog: Wed Sep 15 16:22:17 CEST 1999 Werner KochV1-0-4V1-0-3V1-0-2V1-0-1-ePit-1Werner Koch1999-09-151-0/+5
|
* See ChangeLog: Fri Jul 2 11:45:54 CEST 1999 Werner KochWerner Koch1999-07-021-0/+1
|
* See ChangeLog: Tue Jan 12 11:17:18 CET 1999 Werner KochWerner Koch1999-01-121-0/+1
|
* See ChangeLog: Wed Dec 23 13:34:22 CET 1998 Werner KochWerner Koch1998-12-231-3/+3
|
* Restructured the RNG source and add support for loadableWerner Koch1998-11-251-8/+1
| | | | | random modules.
* chnages done at the trainWerner Koch1998-08-071-1/+0
|
* can create v4 signaturesWerner Koch1998-05-131-1/+1
|
* some cleanupsWerner Koch1998-03-191-0/+1
|
* partial DSA supportWerner Koch1998-03-091-0/+39