Added support for DH groups 22, 23 and 24, patch contributed by Joy Latten
[strongswan.git] / src / libstrongswan / crypto / proposal / proposal_keywords.txt
1 %{
2 /* proposal keywords
3  * Copyright (C) 2009 Andreas Steffen
4  * 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 blowfish,         ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           128
82 blowfish128,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           128
83 blowfish192,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           192
84 blowfish256,      ENCRYPTION_ALGORITHM, ENCR_BLOWFISH,           256
85 camellia,         ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       128
86 camellia128,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       128
87 camellia192,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       192
88 camellia256,      ENCRYPTION_ALGORITHM, ENCR_CAMELLIA_CBC,       256
89 cast128,          ENCRYPTION_ALGORITHM, ENCR_CAST,               128
90 serpent,          ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        128
91 serpent128,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        128
92 serpent192,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        192
93 serpent256,       ENCRYPTION_ALGORITHM, ENCR_SERPENT_CBC,        256
94 twofish,          ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        128
95 twofish128,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        128
96 twofish192,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        192
97 twofish256,       ENCRYPTION_ALGORITHM, ENCR_TWOFISH_CBC,        256
98 sha,              INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA1_96,         0
99 sha1,             INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA1_96,         0
100 sha256,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_128,    0
101 sha2_256,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_128,    0
102 sha256_96,        INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_96,     0
103 sha2_256_96,      INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_256_96,     0
104 sha384,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_384_192,    0
105 sha2_384,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_384_192,    0
106 sha512,           INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_512_256,    0
107 sha2_512,         INTEGRITY_ALGORITHM,  AUTH_HMAC_SHA2_512_256,    0
108 md5,              INTEGRITY_ALGORITHM,  AUTH_HMAC_MD5_96,          0
109 aesxcbc,          INTEGRITY_ALGORITHM,  AUTH_AES_XCBC_96,          0
110 modpnull,         DIFFIE_HELLMAN_GROUP, MODP_NULL,                 0
111 modp768,          DIFFIE_HELLMAN_GROUP, MODP_768_BIT,              0
112 modp1024,         DIFFIE_HELLMAN_GROUP, MODP_1024_BIT,             0
113 modp1536,         DIFFIE_HELLMAN_GROUP, MODP_1536_BIT,             0
114 modp2048,         DIFFIE_HELLMAN_GROUP, MODP_2048_BIT,             0
115 modp3072,         DIFFIE_HELLMAN_GROUP, MODP_3072_BIT,             0
116 modp4096,         DIFFIE_HELLMAN_GROUP, MODP_4096_BIT,             0
117 modp6144,         DIFFIE_HELLMAN_GROUP, MODP_6144_BIT,             0
118 modp8192,         DIFFIE_HELLMAN_GROUP, MODP_8192_BIT,             0
119 ecp192,           DIFFIE_HELLMAN_GROUP, ECP_192_BIT,               0
120 ecp224,           DIFFIE_HELLMAN_GROUP, ECP_224_BIT,               0
121 ecp256,           DIFFIE_HELLMAN_GROUP, ECP_256_BIT,               0
122 ecp384,           DIFFIE_HELLMAN_GROUP, ECP_384_BIT,               0
123 ecp521,           DIFFIE_HELLMAN_GROUP, ECP_521_BIT,               0
124 modp1024s160,     DIFFIE_HELLMAN_GROUP, MODP_1024_160,             0
125 modp2048s224,     DIFFIE_HELLMAN_GROUP, MODP_2048_224,             0
126 modp2048s256,     DIFFIE_HELLMAN_GROUP, MODP_2048_256,             0