1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-23 03:17:58 +01:00

Add documentation to AEAD Algorithms

This commit is contained in:
Paul Schaub 2024-01-24 11:22:29 +01:00
parent de9a161252
commit ce51f4b8cc
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -5,8 +5,25 @@
package org.pgpainless.algorithm package org.pgpainless.algorithm
enum class AEADAlgorithm(val algorithmId: Int, val ivLength: Int, val tagLength: Int) { enum class AEADAlgorithm(val algorithmId: Int, val ivLength: Int, val tagLength: Int) {
/**
* Encrypt-then-Authenticate-then-Translate mode.
* https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-13.html#name-eax-mode
*/
EAX(1, 16, 16), EAX(1, 16, 16),
/**
* Offset-Codebook mode. OCB is mandatory to implement in crypto-refresh. Favored by GnuPG. Is
* not yet FIPS compliant, but supported by most implementations and therefore favorable.
* https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-13.html#name-ocb-mode
*/
OCB(2, 15, 16), OCB(2, 15, 16),
/**
* Galois/Counter-Mode. GCM is controversial. Some say it is hard to get right. Some
* implementations like GnuPG therefore avoid it. May be necessary to achieve FIPS compliance.
* https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-13.html#name-gcm-mode
*/
GCM(3, 12, 16), GCM(3, 12, 16),
; ;