diff options
Diffstat (limited to 'g10/misc.c')
-rw-r--r-- | g10/misc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/g10/misc.c b/g10/misc.c index 2a431b137..bd550dec6 100644 --- a/g10/misc.c +++ b/g10/misc.c @@ -630,6 +630,7 @@ openpgp_aead_test_algo (aead_algo_t algo) case AEAD_ALGO_EAX: case AEAD_ALGO_OCB: + case AEAD_ALGO_GCM: return 0; } @@ -648,6 +649,7 @@ openpgp_aead_algo_name (aead_algo_t algo) case AEAD_ALGO_NONE: break; case AEAD_ALGO_EAX: return "EAX"; case AEAD_ALGO_OCB: return "OCB"; + case AEAD_ALGO_GCM: return "GCM"; } return "?"; @@ -674,6 +676,11 @@ openpgp_aead_algo_info (aead_algo_t algo, enum gcry_cipher_modes *r_mode, *r_noncelen = 16; break; + case AEAD_ALGO_GCM: + *r_mode = GCRY_CIPHER_MODE_GCM; + *r_noncelen = 12; + break; + default: log_error ("unsupported AEAD algo %d\n", algo); return gpg_error (GPG_ERR_INV_CIPHER_MODE); @@ -1241,6 +1248,8 @@ string_to_aead_algo (const char *string) result = 1; else if (!ascii_strcasecmp (string, "OCB")) result = 2; + else if (!ascii_strcasecmp (string, "GCM")) + result = 3; else if ((string[0]=='A' || string[0]=='a')) { char *endptr; |