Warn against nonce reuse in DSA_sign_setup() doc
authorNicola Tuveri <nic.tuv@gmail.com>
Tue, 12 Jun 2018 13:28:25 +0000 (16:28 +0300)
committerMatt Caswell <matt@openssl.org>
Mon, 18 Jun 2018 09:35:19 +0000 (10:35 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6465)

doc/crypto/DSA_do_sign.pod
doc/crypto/DSA_sign.pod

index 5dfc733b20e26b1b53cd8241a6402cd8e777d73e..340d19524f81499b2169a50e09d0d43d506c1214 100644 (file)
@@ -20,8 +20,8 @@ digest B<dgst> using the private key B<dsa> and returns it in a
 newly allocated B<DSA_SIG> structure.
 
 L<DSA_sign_setup(3)|DSA_sign_setup(3)> may be used to precompute part
-of the signing operation in case signature generation is
-time-critical.
+of the signing operation for each signature in case signature generation
+is time-critical.
 
 DSA_do_verify() verifies that the signature B<sig> matches a given
 message digest B<dgst> of size B<len>.  B<dsa> is the signer's public
index 97389e8ec885004c8887315c2c496bb6a4c22cfe..cd45ec542b216a562c5ac7f4746c11df829d96a2 100644 (file)
@@ -31,6 +31,10 @@ in newly allocated B<BIGNUM>s at *B<kinvp> and *B<rp>, after freeing
 the old ones unless *B<kinvp> and *B<rp> are NULL. These values may
 be passed to DSA_sign() in B<dsa-E<gt>kinv> and B<dsa-E<gt>r>.
 B<ctx> is a pre-allocated B<BN_CTX> or NULL.
+The precomputed values from DSA_sign_setup() B<MUST NOT be used> for
+more than one signature: using the same B<dsa-E<gt>kinv> and
+B<dsa-E<gt>r> pair twice under the same private key on different
+plaintexts will result in permanently exposing the DSA private key.
 
 DSA_verify() verifies that the signature B<sigbuf> of size B<siglen>
 matches a given message digest B<dgst> of size B<len>.