RFR: 8264329: Z cannot be 1 for Diffie-Hellman key agreement

Bradford Wetmore wetmore at openjdk.java.net
Sun Mar 28 06:10:45 UTC 2021


On Sun, 28 Mar 2021 04:09:38 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:

> Per NIST SP 800-56A Rev 3 (section 5.7.1), the shared secret cannot be 1 or (p - 1).  This update adds this validation in the JDK provider implementation.
> 
> No new regression test, simple update and hard to construct a shared secret of 1 or (p - 1).

Marked as reviewed by wetmore (Reviewer).

src/java.base/share/classes/com/sun/crypto/provider/DHKeyAgreement.java line 316:

> 314:         generateSecret = false;
> 315: 
> 316:         // No further process if z <= 1 or z == (p - 1).

You could mention the spec somewhere in this file.  Always nice to have the spec mentioned that we have impl'd.  Up to you.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3232



More information about the security-dev mailing list