On Thu, 12 Jun 2025 17:04:22 GMT, Koushik Muthukrishnan Thirupattur 
<d...@openjdk.org> wrote:

>> The class documentation in javax.crypto.Cipher could better describe AEAD 
>> and reuse. The current class description example is outdated as GCM 
>> encryption does not allow resets. The doc should state that reset() may not 
>> be possible with some algorithms or providers and that an 
>> InvalidAlgorithmParameterException is thrown
>
> Koushik Muthukrishnan Thirupattur has updated the pull request incrementally 
> with one additional commit since the last revision:
> 
>   8349946:Cipher javadoc could describe AEAD reuse better

src/java.base/share/classes/javax/crypto/Cipher.java line 111:

> 109:  * the {@code update} and {@code doFinal} methods).
> 110:  * <p>
> 111:  * When {@code doFinal} methods completes the operation, the {@code 
> Cipher} object will attempt

Rephrasing:  "When a {@code doFinal} method completes ..."

src/java.base/share/classes/javax/crypto/Cipher.java line 114:

> 112:  * to reset the state to the most recent call to {@code init}, allowing 
> for additional
> 113:  * operations. A successful reset depends on the mode ({@code 
> ENCRYPT_MODE} or
> 114:  * {@code DECRYPT_MODE}) and the algorithm. AEAD algorithms may not 
> reset to prevent

rephrase:  replace "to prevent" with ", in order to prevent"

src/java.base/share/classes/javax/crypto/Cipher.java line 116:

> 114:  * {@code DECRYPT_MODE}) and the algorithm. AEAD algorithms may not 
> reset to prevent
> 115:  * forgery attacks due to Key and IV uniqueness requirements.
> 116:  * An {@link IllegalStateException} will be thrown when calling {@code 
> update}

insert a `<p>` at the start of this line to separate the exception explanation.

src/java.base/share/classes/javax/crypto/Cipher.java line 117:

> 115:  * forgery attacks due to Key and IV uniqueness requirements.
> 116:  * An {@link IllegalStateException} will be thrown when calling {@code 
> update}
> 117:  * or {@code doFinal} methods when a reset did not occur. {@code init} 
> may

"methods when a" -> "methods if a"
Also  change the next sentence to:  "A call to {@code init} will reinitialize"

src/java.base/share/classes/javax/crypto/Cipher.java line 2089:

> 2087:      *
> 2088:      * @throws IllegalStateException if this {@code Cipher} object
> 2089:      * is in a wrong state or cannot be reset.

We should probably have said "mode", not "state"  .  How about "a wrong state" 
-> "an incorrect mode".
The others below should be changed as well

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2165205525
PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2165207935
PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2165205941
PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2165215568
PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2165219599

Reply via email to