summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/doc/ssl-ciph.doc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/doc/ssl-ciph.doc')
-rw-r--r--src/lib/libssl/src/doc/ssl-ciph.doc84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/lib/libssl/src/doc/ssl-ciph.doc b/src/lib/libssl/src/doc/ssl-ciph.doc
new file mode 100644
index 0000000000..33a7e41f0e
--- /dev/null
+++ b/src/lib/libssl/src/doc/ssl-ciph.doc
@@ -0,0 +1,84 @@
1This is a quick high level summery of how things work now.
2
3Each SSLv2 and SSLv3 cipher is composed of 4 major attributes plus a few extra
4minor ones.
5
6They are 'The key exchange algorithm', which is RSA for SSLv2 but can also
7be Diffle-Hellman for SSLv3.
8
9An 'Authenticion algorithm', which can be RSA, Diffle-Helman, DSS or
10none.
11
12The cipher
13
14The MAC digest.
15
16A cipher can also be an export cipher and is either an SSLv2 or a
17SSLv3 ciphers.
18
19To specify which ciphers to use, one can either specify all the ciphers,
20one at a time, or use 'aliases' to specify the preference and order for
21the ciphers.
22
23There are a large number of aliases, but the most importaint are
24kRSA, kDHr, kDHd and kEDH for key exchange types.
25
26aRSA, aDSS, aNULL and aDH for authentication
27DES, 3DES, RC4, RC2, IDEA and eNULL for ciphers
28MD5, SHA0 and SHA1 digests
29
30Now where this becomes interesting is that these can be put together to
31specify the order and ciphers you wish to use.
32
33To speed this up there are also aliases for certian groups of ciphers.
34The main ones are
35SSLv2 - all SSLv2 ciphers
36SSLv3 - all SSLv3 ciphers
37EXP - all export ciphers
38LOW - all low strngth ciphers (no export ciphers, normally single DES)
39MEDIUM - 128 bit encryption
40HIGH - Triple DES
41
42These aliases can be joined in a : separated list which specifies to
43add ciphers, move them to the current location and delete them.
44
45A simpler way to look at all of this is to use the 'ssleay ciphers -v' command.
46The default library cipher spec is
47!ADH:RC4+RSA:HIGH:MEDIUM:LOW:EXP:+SSLv2:+EXP
48which means, first, remove from consideration any ciphers that do not
49authenticate. Next up, use ciphers using RC4 and RSA. Next include the HIGH,
50MEDIUM and the LOW security ciphers. Finish up by adding all the export
51ciphers on the end, then 'pull' all the SSLv2 and export ciphers to
52the end of the list.
53
54The results are
55$ ssleay ciphers -v '!ADH:RC4+RSA:HIGH:MEDIUM:LOW:EXP:+SSLv2:+EXP'
56
57RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
58RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
59EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
60EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
61DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
62IDEA-CBC-MD5 SSLv3 Kx=RSA Au=RSA Enc=IDEA(128) Mac=SHA1
63EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56) Mac=SHA1
64EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56) Mac=SHA1
65DES-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1
66DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5
67DES-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5
68IDEA-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=IDEA(128) Mac=MD5
69RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5
70RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
71EXP-EDH-RSA-DES-CBC SSLv3 Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export
72EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40) Mac=SHA1 export
73EXP-DES-CBC-SHA SSLv3 Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
74EXP-RC2-CBC-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
75EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
76EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
77EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
78
79I would recoment people use the 'ssleay ciphers -v "text"'
80command to check what they are going to use.
81
82Anyway, I'm falling asleep here so I'll do some more tomorrow.
83
84eric