rsa: Add verify after sign to avoid Lenstra's CRT attack.
authorWerner Koch <wk@gnupg.org>
Mon, 31 Aug 2015 21:13:27 +0000 (23:13 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 31 Aug 2015 21:13:27 +0000 (23:13 +0200)
commitc17f84bd02d7ee93845e92e20f6ddba814961588
tree4e04759824dad3cc5abfaa2b3d88497ec94b95f1
parentdd87639abd38afc91a6f27af33f0ba17402ad02d
rsa: Add verify after sign to avoid Lenstra's CRT attack.

* cipher/rsa.c (rsa_sign): Check the CRT.
--

Failures in the computation of the CRT (e.g. due faulty hardware) can
lead to a leak of the private key.  The standard precaution against
this is to verify the signature after signing.  GnuPG does this itself
and even has an option to disable this.  However, the low performance
impact of this extra precaution suggest that it should always be done
and Libgcrypt is the right place here.  For decryption is not done
because the application will detect the failure due to garbled
plaintext and in any case no key derived material will be send to the
user.

Signed-off-by: Werner Koch <wk@gnupg.org>
cipher/rsa.c