1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-08 23:37:47 +02:00
Commit Graph

45 Commits

Author SHA1 Message Date
Werner Koch
ff53cf06e9 Use ciphertext blinding for Elgamal decryption.
* cipher/elgamal.c (USE_BLINDING): New.
(decrypt): Rewrite to use ciphertext blinding.
--

CVE-id: CVE-2014-3591

As a countermeasure to a new side-channel attacks on sliding windows
exponentiation we blind the ciphertext for Elgamal decryption.  This
is similar to what we are doing with RSA.

Unfortunately, the performance impact of Elgamal blinding is quite
noticeable: For a 3072 bit Elgamal key the decryption used to take
13ms; with the blinding it takes 24ms.  This has been measured using
time(1), calling gpg with a 100 byte message, and having gpg modified
to run the pubkey_decrypt function 100 times and finally scale the
result (using an i5-2410M CPU @ 2.30GHz TP 220).
2015-02-11 20:04:58 +01:00
Werner Koch
d0d72d98f3 Normalize the MPIs used as input to secret key functions.
* cipher/rsa.c (secret): Normalize the INPUT.
(rsa_decrypt): Pass reduced data to secret.
* cipher/elgamal.c (decrypt): Normalize A and B.
* cipher/dsa.c (sign): Normalize HASH.
--

mpi_normalize is in general not required because extra leading zeroes
do not harm the computation.  However, adding extra all zero limbs or
padding with multiples of N may be useful in side-channel attacks. In
particular they are used by the acoustic crypt-analysis.  This is an
extra pre-caution which alone would not be sufficient to mitigate the
described attack.

CVE-id: CVE-2013-4576

Signed-off-by: Werner Koch <wk@gnupg.org>
2013-12-03 09:26:04 +01:00
Werner Koch
9a2a818887 Switched to GPLv3.
Updated gettext.
2007-10-23 10:48:09 +00:00
Werner Koch
9f433cccca Removed the use of g10defs.h.
This required some code cleanups and the introduction of
a few accessor ducntions in mpi.
2006-12-11 19:54:53 +00:00
Werner Koch
a1cdf3c75f Converted all m_free to xfree etc. 2005-07-27 18:10:56 +00:00
Werner Koch
7d4043ca57 Updated FSF street address and preparations for a release candidate. 2005-05-31 08:39:18 +00:00
David Shaw
65f759ae68 * pubkey.c (setup_pubkey_table), elgamal.c (sign, verify, test_keys,
elg_sign, elg_verify, elg_get_info): Remove the last bits of Elgamal type
20 support.
2004-01-17 01:49:16 +00:00
David Shaw
68b3e412f4 * dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify), rsa.h,
rsa.c (rsa_verify), pubkey.c (dummy_verify, pubkey_verify): Remove old
unused code.
2003-12-17 19:05:23 +00:00
Werner Koch
996d61bcc6 * pubkey.c (pubkey_sign): Return an error if an ElGamal key is used.
* elgamal.c (gen_k): New arg SMALL_K.
(sign): Use it here with SMALL_K set to false
(do_encrypt): and here with SMALL_K set to true.
2003-11-27 14:47:59 +00:00
David Shaw
29e6411a7b * bithelp.h, des.c, random.c, rndlinux.c, sha1.c, blowfish.c, elgamal.c,
rijndael.c, rndunix.c, sha256.c, cast5.c, idea-stub.c, rmd160.c, rndw32.c,
sha512.c, md5.c, rmd160test.c, rsa.c, tiger.c: Edit all preprocessor
instructions to remove whitespace before the '#'.  This is not required by
C89, but there are some compilers out there that don't like it.
2003-05-24 18:31:33 +00:00
David Shaw
151ee2f47b Update head to match stable 1.0 2002-06-29 13:31:13 +00:00
Werner Koch
07ca4eaa9d Removed files from the HEAD revision, because they are now in another
repository
2000-12-19 17:20:22 +00:00
Werner Koch
986649bea0 Some configuration changes 2000-11-14 16:04:16 +00:00
Werner Koch
92cd255508 See ChangeLog: Fri Jul 14 19:38:23 CEST 2000 Werner Koch 2000-07-14 17:34:53 +00:00
Werner Koch
4555c0be94 See ChangeLog: Wed Dec 8 21:58:32 CET 1999 Werner Koch 1999-12-08 21:03:03 +00:00
Werner Koch
2694bceb45 See ChangeLog: Fri Nov 19 17:15:20 CET 1999 Werner Koch 1999-11-19 16:11:37 +00:00
Werner Koch
37f3c09edb See ChangeLog: Mon Nov 15 21:36:02 CET 1999 Werner Koch 1999-11-15 20:32:25 +00:00
Werner Koch
881e513237 See ChangeLog: Sat Nov 13 17:44:23 CET 1999 Werner Koch 1999-11-13 16:43:23 +00:00
Werner Koch
cf70ca8d68 See ChangeLog: Tue Oct 26 14:10:21 CEST 1999 Werner Koch 1999-10-26 12:14:37 +00:00
Werner Koch
a316550579 See ChangeLog: Thu Jul 15 10:15:35 CEST 1999 Werner Koch 1999-07-15 08:16:46 +00:00
Werner Koch
86abac78a2 See ChangeLog: Fri Jul 2 11:45:54 CEST 1999 Werner Koch 1999-07-02 09:50:57 +00:00
Werner Koch
28eb86c006 See ChangeLog: Thu Jul 1 12:47:31 CEST 1999 Werner Koch 1999-07-01 10:53:35 +00:00
Werner Koch
1feae2011c See ChangeLog: Sun Apr 18 10:11:28 CEST 1999 Werner Koch 1999-04-18 08:18:52 +00:00
Werner Koch
e1a1b3fc90 See ChangeLog: Tue Feb 16 14:10:02 CET 1999 Werner Koch 1999-02-16 13:16:33 +00:00
Werner Koch
750d74333c See ChangeLog: Wed Dec 23 13:34:22 CET 1998 Werner Koch 1998-12-23 12:41:40 +00:00
Werner Koch
6d21f2838d chnages done at the train 1998-08-07 08:53:38 +00:00
Werner Koch
a9ec668cbe intermediate release 1998-07-06 10:23:57 +00:00
Werner Koch
6e1ca6b80f extensions are now working and fixed a lot of bugs 1998-06-15 15:41:04 +00:00
Werner Koch
e662bf708b gnupg extension are now working 1998-06-13 17:00:02 +00:00
Werner Koch
69cf10ffab add DSA key generation 1998-05-05 20:34:20 +00:00
Werner Koch
700c438def applied Mathews typo and grammar fixes 1998-04-14 17:51:16 +00:00
Werner Koch
303b1084d5 release 0.2.14 1998-04-02 10:30:03 +00:00
Werner Koch
6b91e7762c some cleanups 1998-03-19 15:27:29 +00:00
Werner Koch
5a05af2bca Renamed to GNUPG 1998-02-24 18:50:46 +00:00
Werner Koch
bc5789665a bug fixes 1998-02-11 23:22:09 +00:00
Werner Koch
4c0c155922 a couple of changes; but some parts are now broken 1998-02-11 03:25:44 +00:00
Werner Koch
d6fa02add6 release 0.2.3 1998-02-09 17:43:42 +00:00
Werner Koch
899b8378ec Fixed a few bugs 1998-02-03 12:09:20 +00:00
Werner Koch
cb5459aed7 very first release 1997-12-20 17:23:29 +00:00
Werner Koch
ee8d92fefa better prime number generator. improved ELG key generation 1997-12-19 11:41:47 +00:00
Werner Koch
68ea0f4353 added option file handling 1997-12-12 12:03:58 +00:00
Werner Koch
935965049d fingerprints and self signatures added 1997-12-09 12:46:23 +00:00
Werner Koch
5c1cca042e List and check sigs works 1997-12-01 10:33:23 +00:00
Werner Koch
46900fbd43 ElGamal funktioniert und ist default 1997-11-24 22:24:04 +00:00
Werner Koch
5393dd53c5 initially checkin 1997-11-18 14:06:00 +00:00