On Sat, 7 Jun 2025 05:24:40 GMT, Sebastian Stenzel <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
>
> 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.
> 
> It might be helpful to describe what to do instead:
> 
> When reset is not possible, you don't need to dispose the cipher object. 
> Instead you can call init again with a different key/nonce.

I suggest appending the sentence:  "{@code init} may re-initialize the {@code 
Cipher} object with new parameters".

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25399#discussion_r2136696481

Reply via email to