]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
crypter: Define a ChaCha20/Poly1305 AEAD algorithm identifier
authorMartin Willi <martin@revosec.ch>
Wed, 1 Apr 2015 17:14:47 +0000 (19:14 +0200)
committerMartin Willi <martin@revosec.ch>
Mon, 29 Jun 2015 15:32:03 +0000 (17:32 +0200)
src/libstrongswan/crypto/crypters/crypter.c
src/libstrongswan/crypto/crypters/crypter.h
src/libstrongswan/crypto/iv/iv_gen.c

index 1e73baa4e1b77bbe07d9e43749453dc9a1d30eb0..3e33765b16f54be5e2afb3b9fb6a0702c89194b0 100644 (file)
@@ -40,13 +40,14 @@ ENUM_NEXT(encryption_algorithm_names, ENCR_AES_GCM_ICV8, ENCR_NULL_AUTH_AES_GMAC
        "AES_GCM_12",
        "AES_GCM_16",
        "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_CTR",
        "CAMELLIA_CCM_8",
        "CAMELLIA_CCM_12",
-       "CAMELLIA_CCM_16");
-ENUM_NEXT(encryption_algorithm_names, ENCR_UNDEFINED, ENCR_RC2_CBC, ENCR_CAMELLIA_CCM_ICV16,
+       "CAMELLIA_CCM_16",
+       "CHACHA20_POLY1305");
+ENUM_NEXT(encryption_algorithm_names, ENCR_UNDEFINED, ENCR_RC2_CBC, ENCR_CHACHA20_POLY1305,
        "UNDEFINED",
        "DES_ECB",
        "SERPENT_CBC",
@@ -184,6 +185,7 @@ bool encryption_algorithm_is_aead(encryption_algorithm_t alg)
                case ENCR_CAMELLIA_CCM_ICV8:
                case ENCR_CAMELLIA_CCM_ICV12:
                case ENCR_CAMELLIA_CCM_ICV16:
+               case ENCR_CHACHA20_POLY1305:
                        return TRUE;
                default:
                        return FALSE;
index 849aea5005038611e98db9f31c567df7827f99d5..19ba55d83dd55c06d7a4cb25ffc5a3195307ce9d 100644 (file)
@@ -57,6 +57,7 @@ enum encryption_algorithm_t {
        ENCR_CAMELLIA_CCM_ICV8 =  25,
        ENCR_CAMELLIA_CCM_ICV12 = 26,
        ENCR_CAMELLIA_CCM_ICV16 = 27,
+       ENCR_CHACHA20_POLY1305 =  28,
        ENCR_UNDEFINED =        1024,
        ENCR_DES_ECB =          1025,
        ENCR_SERPENT_CBC =      1026,
index e18843210ff6b74860fe5dd94a4733faefc98b6e..7d6570a7462feebb2c5d5431eb7748f34a09d71c 100644 (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_ICV12:
                case ENCR_CAMELLIA_CCM_ICV16:
+               case ENCR_CHACHA20_POLY1305:
                case ENCR_NULL_AUTH_AES_GMAC:
                        return iv_gen_seq_create();
                case ENCR_NULL: