summaryrefslogtreecommitdiff
path: root/docs/CIPHERS.md
blob: f00c508599d0c025aeddcb3b736e0e7f35203747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# Ciphers

With curl's options `CURLOPT_SSL_CIPHER_LIST` and `--ciphers` users can
control which ciphers to consider when negotiating TLS connections.

The names of the known ciphers differ depending on which TLS backend that
libcurl was built to use. This is an attempt to list known cipher names.

## OpenSSL

(based on [OpenSSL docs](https://www.openssl.org/docs/man1.1.0/apps/ciphers.html))

### SSL3 cipher suites

NULL-MD5
NULL-SHA
RC4-MD5
RC4-SHA
IDEA-CBC-SHA
DES-CBC3-SHA
DH-DSS-DES-CBC3-SHA
DH-RSA-DES-CBC3-SHA
DHE-DSS-DES-CBC3-SHA
DHE-RSA-DES-CBC3-SHA
ADH-RC4-MD5
ADH-DES-CBC3-SHA

### TLS v1.0 cipher suites

NULL-MD5
NULL-SHA
RC4-MD5
RC4-SHA
IDEA-CBC-SHA
DES-CBC3-SHA
DHE-DSS-DES-CBC3-SHA
DHE-RSA-DES-CBC3-SHA
ADH-RC4-MD5
ADH-DES-CBC3-SHA

### AES ciphersuites from RFC3268, extending TLS v1.0

AES128-SHA
AES256-SHA
DH-DSS-AES128-SHA
DH-DSS-AES256-SHA
DH-RSA-AES128-SHA
DH-RSA-AES256-SHA
DHE-DSS-AES128-SHA
DHE-DSS-AES256-SHA
DHE-RSA-AES128-SHA
DHE-RSA-AES256-SHA
ADH-AES128-SHA
ADH-AES256-SHA

### SEED ciphersuites from RFC4162, extending TLS v1.0

SEED-SHA
DH-DSS-SEED-SHA
DH-RSA-SEED-SHA
DHE-DSS-SEED-SHA
DHE-RSA-SEED-SHA
ADH-SEED-SHA

### GOST ciphersuites, extending TLS v1.0

GOST94-GOST89-GOST89
GOST2001-GOST89-GOST89
GOST94-NULL-GOST94
GOST2001-NULL-GOST94

### Elliptic curve cipher suites

ECDHE-RSA-NULL-SHA
ECDHE-RSA-RC4-SHA
ECDHE-RSA-DES-CBC3-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-NULL-SHA
ECDHE-ECDSA-RC4-SHA
ECDHE-ECDSA-DES-CBC3-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
AECDH-NULL-SHA
AECDH-RC4-SHA
AECDH-DES-CBC3-SHA
AECDH-AES128-SHA
AECDH-AES256-SHA

### TLS v1.2 cipher suites

NULL-SHA256

AES128-SHA256
AES256-SHA256
AES128-GCM-SHA256
AES256-GCM-SHA384
DH-RSA-AES128-SHA256
DH-RSA-AES256-SHA256
DH-RSA-AES128-GCM-SHA256
DH-RSA-AES256-GCM-SHA384
DH-DSS-AES128-SHA256
DH-DSS-AES256-SHA256
DH-DSS-AES128-GCM-SHA256
DH-DSS-AES256-GCM-SHA384
DHE-RSA-AES128-SHA256
DHE-RSA-AES256-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384
DHE-DSS-AES128-SHA256
DHE-DSS-AES256-SHA256
DHE-DSS-AES128-GCM-SHA256
DHE-DSS-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ADH-AES128-SHA256
ADH-AES256-SHA256
ADH-AES128-GCM-SHA256
ADH-AES256-GCM-SHA384
AES128-CCM
AES256-CCM
DHE-RSA-AES128-CCM
DHE-RSA-AES256-CCM
AES128-CCM8
AES256-CCM8
DHE-RSA-AES128-CCM8
DHE-RSA-AES256-CCM8
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES256-CCM8

### Camellia HMAC-Based ciphersuites from RFC6367, extending TLS v1.2

ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-RSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA256-SHA384

## NSS

### Totally insecure

rc4
rc4-md5
rc4export
rc2
rc2export
des
desede3

###  SSL3/TLS cipher suites

rsa_rc4_128_md5
rsa_rc4_128_sha
rsa_3des_sha
rsa_des_sha
rsa_rc4_40_md5
rsa_rc2_40_md5
rsa_null_md5
rsa_null_sha
fips_3des_sha
fips_des_sha
fortezza
fortezza_rc4_128_sha
fortezza_null

### TLS 1.0 Exportable 56-bit Cipher Suites

rsa_des_56_sha
rsa_rc4_56_sha

### AES ciphers

dhe_dss_aes_128_cbc_sha
dhe_dss_aes_256_cbc_sha
dhe_rsa_aes_128_cbc_sha
dhe_rsa_aes_256_cbc_sha
rsa_aes_128_sha
rsa_aes_256_sha

### ECC ciphers

ecdh_ecdsa_null_sha
ecdh_ecdsa_rc4_128_sha
ecdh_ecdsa_3des_sha
ecdh_ecdsa_aes_128_sha
ecdh_ecdsa_aes_256_sha
ecdhe_ecdsa_null_sha
ecdhe_ecdsa_rc4_128_sha
ecdhe_ecdsa_3des_sha
ecdhe_ecdsa_aes_128_sha
ecdhe_ecdsa_aes_256_sha
ecdh_rsa_null_sha
ecdh_rsa_128_sha
ecdh_rsa_3des_sha
ecdh_rsa_aes_128_sha
ecdh_rsa_aes_256_sha
ecdhe_rsa_null
ecdhe_rsa_rc4_128_sha
ecdhe_rsa_3des_sha
ecdhe_rsa_aes_128_sha
ecdhe_rsa_aes_256_sha
ecdh_anon_null_sha
ecdh_anon_rc4_128sha
ecdh_anon_3des_sha
ecdh_anon_aes_128_sha
ecdh_anon_aes_256_sha

### HMAC-SHA256 cipher suites

rsa_null_sha_256
rsa_aes_128_cbc_sha_256
rsa_aes_256_cbc_sha_256
dhe_rsa_aes_128_cbc_sha_256
dhe_rsa_aes_256_cbc_sha_256
ecdhe_ecdsa_aes_128_cbc_sha_256
ecdhe_rsa_aes_128_cbc_sha_256

### AES GCM cipher suites in RFC 5288 and RFC 5289

rsa_aes_128_gcm_sha_256
dhe_rsa_aes_128_gcm_sha_256
dhe_dss_aes_128_gcm_sha_256
ecdhe_ecdsa_aes_128_gcm_sha_256
ecdh_ecdsa_aes_128_gcm_sha_256
ecdhe_rsa_aes_128_gcm_sha_256
ecdh_rsa_aes_128_gcm_sha_256

### cipher suites using SHA384

rsa_aes_256_gcm_sha_384
dhe_rsa_aes_256_gcm_sha_384
dhe_dss_aes_256_gcm_sha_384
ecdhe_ecdsa_aes_256_sha_384
ecdhe_rsa_aes_256_sha_384
ecdhe_ecdsa_aes_256_gcm_sha_384
ecdhe_rsa_aes_256_gcm_sha_384

### chacha20-poly1305 cipher suites

ecdhe_rsa_chacha20_poly1305_sha_256
ecdhe_ecdsa_chacha20_poly1305_sha_256
dhe_rsa_chacha20_poly1305_sha_256