aboutsummaryrefslogtreecommitdiffstats
path: root/g10/cipher-aead.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/cipher-aead.c')
-rw-r--r--g10/cipher-aead.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/g10/cipher-aead.c b/g10/cipher-aead.c
index 1d7263419..637bd71a7 100644
--- a/g10/cipher-aead.c
+++ b/g10/cipher-aead.c
@@ -33,10 +33,6 @@
#include "options.h"
#include "main.h"
-/* FIXME: Libgcrypt 1.9 will support EAX. Until we kame this a
- * requirement we hardwire the enum used for EAX. */
-#define MY_GCRY_CIPHER_MODE_EAX 14
-
/* The size of the buffer we allocate to encrypt the data. This must
* be a multiple of the OCB blocksize (16 byte). */
@@ -149,23 +145,9 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a)
if (blocksize != 16 )
log_fatal ("unsupported blocksize %u for AEAD\n", blocksize);
- switch (cfx->dek->use_aead)
- {
- case AEAD_ALGO_OCB:
- ciphermode = GCRY_CIPHER_MODE_OCB;
- startivlen = 15;
- break;
-
- case AEAD_ALGO_EAX:
- ciphermode = MY_GCRY_CIPHER_MODE_EAX;
- startivlen = 16;
- break;
-
- default:
- log_error ("unsupported AEAD algo %d\n", cfx->dek->use_aead);
- err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
- goto leave;
- }
+ err = openpgp_aead_algo_info (cfx->dek->use_aead, &ciphermode, &startivlen);
+ if (err)
+ goto leave;
cfx->chunkbyte = 10;
cfx->chunksize = (uint64_t)1 << (cfx->chunkbyte + 6);