crypter: Define a ChaCha20/Poly1305 AEAD algorithm identifier

This commit is contained in:
Martin Willi
2015-06-29 17:32:03 +02:00
parent b01b331afe
commit 9e110cc54c
3 changed files with 7 additions and 3 deletions
+5 -3
View File
@@ -40,13 +40,14 @@ ENUM_NEXT(encryption_algorithm_names, ENCR_AES_GCM_ICV8, ENCR_NULL_AUTH_AES_GMAC
"AES_GCM_12", "AES_GCM_12",
"AES_GCM_16", "AES_GCM_16",
"NULL_AES_GMAC"); "NULL_AES_GMAC");
ENUM_NEXT(encryption_algorithm_names, ENCR_CAMELLIA_CBC, ENCR_CAMELLIA_CCM_ICV16, ENCR_NULL_AUTH_AES_GMAC, ENUM_NEXT(encryption_algorithm_names, ENCR_CAMELLIA_CBC, ENCR_CHACHA20_POLY1305, ENCR_NULL_AUTH_AES_GMAC,
"CAMELLIA_CBC", "CAMELLIA_CBC",
"CAMELLIA_CTR", "CAMELLIA_CTR",
"CAMELLIA_CCM_8", "CAMELLIA_CCM_8",
"CAMELLIA_CCM_12", "CAMELLIA_CCM_12",
"CAMELLIA_CCM_16"); "CAMELLIA_CCM_16",
ENUM_NEXT(encryption_algorithm_names, ENCR_UNDEFINED, ENCR_RC2_CBC, ENCR_CAMELLIA_CCM_ICV16, "CHACHA20_POLY1305");
ENUM_NEXT(encryption_algorithm_names, ENCR_UNDEFINED, ENCR_RC2_CBC, ENCR_CHACHA20_POLY1305,
"UNDEFINED", "UNDEFINED",
"DES_ECB", "DES_ECB",
"SERPENT_CBC", "SERPENT_CBC",
@@ -184,6 +185,7 @@ bool encryption_algorithm_is_aead(encryption_algorithm_t alg)
case ENCR_CAMELLIA_CCM_ICV8: case ENCR_CAMELLIA_CCM_ICV8:
case ENCR_CAMELLIA_CCM_ICV12: case ENCR_CAMELLIA_CCM_ICV12:
case ENCR_CAMELLIA_CCM_ICV16: case ENCR_CAMELLIA_CCM_ICV16:
case ENCR_CHACHA20_POLY1305:
return TRUE; return TRUE;
default: default:
return FALSE; return FALSE;
@@ -57,6 +57,7 @@ enum encryption_algorithm_t {
ENCR_CAMELLIA_CCM_ICV8 = 25, ENCR_CAMELLIA_CCM_ICV8 = 25,
ENCR_CAMELLIA_CCM_ICV12 = 26, ENCR_CAMELLIA_CCM_ICV12 = 26,
ENCR_CAMELLIA_CCM_ICV16 = 27, ENCR_CAMELLIA_CCM_ICV16 = 27,
ENCR_CHACHA20_POLY1305 = 28,
ENCR_UNDEFINED = 1024, ENCR_UNDEFINED = 1024,
ENCR_DES_ECB = 1025, ENCR_DES_ECB = 1025,
ENCR_SERPENT_CBC = 1026, ENCR_SERPENT_CBC = 1026,
+1
View File
@@ -48,6 +48,7 @@ iv_gen_t* iv_gen_create_for_alg(encryption_algorithm_t alg)
case ENCR_CAMELLIA_CCM_ICV8: case ENCR_CAMELLIA_CCM_ICV8:
case ENCR_CAMELLIA_CCM_ICV12: case ENCR_CAMELLIA_CCM_ICV12:
case ENCR_CAMELLIA_CCM_ICV16: case ENCR_CAMELLIA_CCM_ICV16:
case ENCR_CHACHA20_POLY1305:
case ENCR_NULL_AUTH_AES_GMAC: case ENCR_NULL_AUTH_AES_GMAC:
return iv_gen_seq_create(); return iv_gen_seq_create();
case ENCR_NULL: case ENCR_NULL: