RFR: 8297878: KEM: Implementation [v7]

Anthony Scarpino ascarpino at openjdk.org
Mon Apr 24 20:53:18 UTC 2023


On Mon, 24 Apr 2023 19:36:53 GMT, Weijun Wang <weijun at openjdk.org> wrote:

>> src/java.base/share/classes/com/sun/crypto/provider/DHKEM.java line 202:
>> 
>>> 200:             } else {
>>> 201:                 byte[] uArray = ((XECPublicKey) k).getU().toByteArray();
>>> 202:                 return Arrays.copyOf(reverse(uArray), Npk);
>> 
>> You could just return the reversed array.  It is already a copy of the BigInteger 'u'.
>
> Is the size always `Npk`? It could be less (if small) or bigger (if MSB is 1).

If I understand what your saying, if `Npk` is larger than `uArray`, then `copyOf()` will pad with zeros at the end.  I think that would change the value.  And I don't see why `Npk` would be smaller than `uArray` otherwise this would be returning an invalid key

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13256#discussion_r1175769576



More information about the security-dev mailing list