1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-04 20:38:50 +01:00
gnupg/mpi
Werner Koch 35646689f4 Mitigate a flush+reload cache attack on RSA secret exponents.
* mpi/mpi-pow.c (mpi_powm): Always perform the mpi_mul for exponents
hold in secure memory.
--

The attack is described in a paper to be pusblished at eprint.iacr.org:

Flush+Reload: a High Resolution, Low Noise, L3 Cache Side-Channel
Attack by Yuval Yarom and Katrina Falkner. 18 July 2013.

  Flush+Reload is a cache side-channel attack that monitors access to
  data in shared pages. In this paper we demonstrate how to use the
  attack to extract private encryption keys from GnuPG.  The high
  resolution and low noise of the Flush+Reload attack enables a spy
  program to recover over 98% of the bits of the private key in a
  single decryption or signing round. Unlike previous attacks, the
  attack targets the last level L3 cache. Consequently, the spy
  program and the victim do not need to share the execution core of
  the CPU. The attack is not limited to a traditional OS and can be
  used in a virtualised environment, where it can attack programs
  executing in a different VM.

Signed-off-by: Werner Koch <wk@gnupg.org>
2013-07-25 10:37:40 +02:00
..
alpha Switched to GPLv3. 2007-10-23 10:48:09 +00:00
generic Switched to GPLv3. 2007-10-23 10:48:09 +00:00
hppa Switched to GPLv3. 2007-10-23 10:48:09 +00:00
hppa1.1 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
i386 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
i586 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
m68k Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mips3 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
pa7100 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
power Switched to GPLv3. 2007-10-23 10:48:09 +00:00
powerpc32 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
powerpc64 Update head to match stable 1.0 2002-06-29 14:15:02 +00:00
sparc32 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
sparc32v8 Switched to GPLv3. 2007-10-23 10:48:09 +00:00
supersparc Switched to GPLv3. 2007-10-23 10:48:09 +00:00
ChangeLog-2011 Rename all ChangeLog files to ChangeLog-2011. 2011-12-02 19:42:56 +01:00
config.links Support NetBSD m68K ELF targets 2012-12-13 18:15:38 +01:00
longlong.h Allow building for ARM thumb. Fixes bug#1202. 2011-07-04 12:41:45 +02:00
Makefile.am Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-add.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-bit.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-cmp.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-div.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-gcd.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-inline.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-inline.h Fix extern inline use for gcc > 4.3 in c99 mode 2012-11-06 17:14:04 +01:00
mpi-internal.h Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-inv.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-mpow.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-mul.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpi-pow.c Mitigate a flush+reload cache attack on RSA secret exponents. 2013-07-25 10:37:40 +02:00
mpi-scan.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpicoder.c Removed some set but unused vars. 2011-08-09 10:54:22 +02:00
mpih-cmp.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpih-div.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpih-mul.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00
mpiutil.c Switched to GPLv3. 2007-10-23 10:48:09 +00:00