proposal: Add a chacha20poly1305 proposal keyword
[strongswan.git] / src / libstrongswan / crypto / proposal / proposal_keywords_static.txt
1 %{
2 /*
3  * Copyright (C) 2009-2013 Andreas Steffen
4  * HSR Hochschule fuer Technik Rapperswil, Switzerland
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the
8  * Free Software Foundation; either version 2 of the License, or (at your
9  * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * for more details.
15  */
16
17 #include <string.h>
18
19 #include <crypto/transform.h>
20 #include <crypto/crypters/crypter.h>
21 #include <crypto/signers/signer.h>
22 #include <crypto/diffie_hellman.h>
23
24 %}
25 struct proposal_token {
26         char             *name;
27         transform_type_t  type;
28         u_int16_t         algorithm;
29         u_int16_t         keysize;
30 };
31 %%
32 null,             ENCRYPTION_ALGORITHM, ENCR_NULL,                 0
33 des,              ENCRYPTION_ALGORITHM, ENCR_DES,                  0
34 3des,             ENCRYPTION_ALGORITHM, ENCR_3DES,                 0
35 aes,              ENCRYPTION_ALGORITHM, ENCR_AES_CBC,            128
36 aes128,           ENCRYPTION_ALGORITHM, ENCR_AES_CBC,            128
37 aes192,           ENCRYPTION_ALGORITHM, ENCR_AES_CBC,            192
38 aes256,           ENCRYPTION_ALGORITHM, ENCR_AES_CBC,            256
39 aes128ctr,        ENCRYPTION_ALGORITHM, ENCR_AES_CTR,            128
40 aes192ctr,        ENCRYPTION_ALGORITHM, ENCR_AES_CTR,            192
41 aes256ctr,        ENCRYPTION_ALGORITHM, ENCR_AES_CTR,            256
42 aes128ccm8,       ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       128
43 aes128ccm64,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       128
44 aes128ccm12,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      128
45 aes128ccm96,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      128
46 aes128ccm16,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      128
47 aes128ccm128,     ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      128
48 aes192ccm8,       ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       192
49 aes192ccm64,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       192
50 aes192ccm12,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      192
51 aes192ccm96,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      192
52 aes192ccm16,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      192
53 aes192ccm128,     ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      192
54 aes256ccm8,       ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       256
55 aes256ccm64,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV8,       256
56 aes256ccm12,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      256
57 aes256ccm96,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV12,      256
58 aes256ccm16,      ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      256
59 aes256ccm128,     ENCRYPTION_ALGORITHM, ENCR_AES_CCM_ICV16,      256
60 aes128gcm8,       ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       128
61 aes128gcm64,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       128
62 aes128gcm12,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      128
63 aes128gcm96,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      128
64 aes128gcm16,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      128
65 aes128gcm128,     ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      128
66 aes192gcm8,       ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       192
67 aes192gcm64,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       192
68 aes192gcm12,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      192
69 aes192gcm96,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      192
70 aes192gcm16,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      192
71 aes192gcm128,     ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      192
72 aes256gcm8,       ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       256
73 aes256gcm64,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV8,       256
74 aes256gcm12,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      256
75 aes256gcm96,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV12,      256
76 aes256gcm16,      ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      256
77 aes256gcm128,     ENCRYPTION_ALGORITHM, ENCR_AES_GCM_ICV16,      256
78 aes128gmac,       ENCRYPTION_ALGORITHM, ENCR_NULL_AUTH_AES_GMAC, 128
79 aes192gmac,       ENCRYPTION_ALGORITHM, ENCR_NULL_AUTH_AES_GMAC, 192
80 aes256gmac,       ENCRYPTION_ALGORITHM, ENCR_NULL_AUTH_AES_GMAC, 256
81 chacha20poly1305, ENCRYPTION_ALGORITHM, ENCR_CHACHA20_POLY1305,  256
82 blowfish,         ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           128
83 blowfish128,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           128
84 blowfish192,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           192
85 blowfish256,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           256
86 camellia,         ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       128
87 camellia128,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       128
88 camellia192,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       192
89 camellia256,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       256
90 camellia128ctr,   ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CTR,       128
91 camellia192ctr,   ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CTR,       192
92 camellia256ctr,   ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CTR,       256
93 camellia128ccm8,  ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  128
94 camellia128ccm64, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  128
95 camellia128ccm12, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 128
96 camellia128ccm96, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 128
97 camellia128ccm16, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 128
98 camellia128ccm128,ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 128
99 camellia192ccm8,  ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  192
100 camellia192ccm64, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  192
101 camellia192ccm12, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 192
102 camellia192ccm96, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 192
103 camellia192ccm16, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 192
104 camellia192ccm128,ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 192
105 camellia256ccm8,  ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  256
106 camellia256ccm64, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV8,  256
107 camellia256ccm12, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 256
108 camellia256ccm96, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV12, 256
109 camellia256ccm16, ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 256
110 camellia256ccm128,ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CCM_ICV16, 256
111 cast128,          ENCRYPTION_ALGORITHM, ENCR_CAST,               128
112 serpent,          ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        128
113 serpent128,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        128
114 serpent192,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        192
115 serpent256,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        256
116 twofish,          ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        128
117 twofish128,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        128
118 twofish192,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        192
119 twofish256,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        256
120 sha,              INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA1_96,         0
121 sha1,             INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA1_96,         0
122 sha1_160,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA1_160,        0
123 sha256,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_128,    0
124 sha2_256,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_128,    0
125 sha256_96,        INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_96,     0
126 sha2_256_96,      INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_96,     0
127 sha384,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_384_192,    0
128 sha2_384,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_384_192,    0
129 sha512,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_512_256,    0
130 sha2_512,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_512_256,    0
131 md5,              INTEGRITY_ALGORITHM,  AUTH_HMAC_MD5_96,          0
132 md5_128,          INTEGRITY_ALGORITHM,  AUTH_HMAC_MD5_128,         0
133 aesxcbc,          INTEGRITY_ALGORITHM,  AUTH_AES_XCBC_96,          0
134 camelliaxcbc,     INTEGRITY_ALGORITHM,  AUTH_CAMELLIA_XCBC_96,     0
135 aescmac,          INTEGRITY_ALGORITHM,  AUTH_AES_CMAC_96,          0
136 prfsha1,          PSEUDO_RANDOM_FUNCTION, PRF_HMAC_SHA1,           0
137 prfsha256,        PSEUDO_RANDOM_FUNCTION, PRF_HMAC_SHA2_256,       0
138 prfsha384,        PSEUDO_RANDOM_FUNCTION, PRF_HMAC_SHA2_384,       0
139 prfsha512,        PSEUDO_RANDOM_FUNCTION, PRF_HMAC_SHA2_512,       0
140 prfmd5,           PSEUDO_RANDOM_FUNCTION, PRF_HMAC_MD5,            0
141 prfaesxcbc,       PSEUDO_RANDOM_FUNCTION, PRF_AES128_XCBC,         0
142 prfcamelliaxcbc,  PSEUDO_RANDOM_FUNCTION, PRF_CAMELLIA128_XCBC,    0
143 prfaescmac,       PSEUDO_RANDOM_FUNCTION, PRF_AES128_CMAC,         0
144 modpnull,         DIFFIE_HELLMAN_GROUP, MODP_NULL,                 0
145 modp768,          DIFFIE_HELLMAN_GROUP, MODP_768_BIT,              0
146 modp1024,         DIFFIE_HELLMAN_GROUP, MODP_1024_BIT,             0
147 modp1536,         DIFFIE_HELLMAN_GROUP, MODP_1536_BIT,             0
148 modp2048,         DIFFIE_HELLMAN_GROUP, MODP_2048_BIT,             0
149 modp3072,         DIFFIE_HELLMAN_GROUP, MODP_3072_BIT,             0
150 modp4096,         DIFFIE_HELLMAN_GROUP, MODP_4096_BIT,             0
151 modp6144,         DIFFIE_HELLMAN_GROUP, MODP_6144_BIT,             0
152 modp8192,         DIFFIE_HELLMAN_GROUP, MODP_8192_BIT,             0
153 ecp192,           DIFFIE_HELLMAN_GROUP, ECP_192_BIT,               0
154 ecp224,           DIFFIE_HELLMAN_GROUP, ECP_224_BIT,               0
155 ecp256,           DIFFIE_HELLMAN_GROUP, ECP_256_BIT,               0
156 ecp384,           DIFFIE_HELLMAN_GROUP, ECP_384_BIT,               0
157 ecp521,           DIFFIE_HELLMAN_GROUP, ECP_521_BIT,               0
158 modp1024s160,     DIFFIE_HELLMAN_GROUP, MODP_1024_160,             0
159 modp2048s224,     DIFFIE_HELLMAN_GROUP, MODP_2048_224,             0
160 modp2048s256,     DIFFIE_HELLMAN_GROUP, MODP_2048_256,             0
161 ecp224bp,         DIFFIE_HELLMAN_GROUP, ECP_224_BP,                0
162 ecp256bp,         DIFFIE_HELLMAN_GROUP, ECP_256_BP,                0
163 ecp384bp,         DIFFIE_HELLMAN_GROUP, ECP_384_BP,                0
164 ecp512bp,         DIFFIE_HELLMAN_GROUP, ECP_512_BP,                0
165 ntru112,          DIFFIE_HELLMAN_GROUP, NTRU_112_BIT,              0
166 ntru128,          DIFFIE_HELLMAN_GROUP, NTRU_128_BIT,              0
167 ntru192,          DIFFIE_HELLMAN_GROUP, NTRU_192_BIT,              0
168 ntru256,          DIFFIE_HELLMAN_GROUP, NTRU_256_BIT,              0
169 noesn,            EXTENDED_SEQUENCE_NUMBERS, NO_EXT_SEQ_NUMBERS,   0
170 esn,              EXTENDED_SEQUENCE_NUMBERS, EXT_SEQ_NUMBERS,      0