On Tue, 13 Aug 2024 15:24:11 GMT, Kevin Driver <kdri...@openjdk.org> wrote:
>> Introduce an API for Key Derivation Functions (KDFs), which are >> cryptographic algorithms for deriving additional keys from a secret key and >> other data. See [JEP 478](https://openjdk.org/jeps/478). >> >> Work was begun in [another PR](https://github.com/openjdk/jdk/pull/18924). > > Kevin Driver has updated the pull request incrementally with one additional > commit since the last revision: > > addressed several review comments, namely: - renaming the getParameters > method - renaming the AlgorithmParameterSpec object - address some javadoc > exception messages - add some information to KDF class private constructor > javadocs - other general cleanup src/java.base/share/classes/com/sun/crypto/provider/HkdfKeyDerivation.java line 369: > 367: throw new RuntimeException(sbe); > 368: } > 369: } `tLength` may not be necessary. Variables only used inside the loop can also be moved to the loop. The loop can be modified as: for (int i = 0, offset = 0; i < rounds; i++, offset += hmacLen) { // Calculate this round try { if (i > 0) { hmacObj.update(kdfOutput, offset - hmacLen, hmacLen); // add T(i-1) } hmacObj.update(info); // Add info hmacObj.update((byte) (i + 1)); // Add round number hmacObj.doFinal(kdfOutput, offset); } catch (ShortBufferException sbe) { // This really shouldn't happen given that we've // sized the buffers to their largest possible size up-front, // but just in case... throw new RuntimeException(sbe); } } ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1719169529