lib/crypto: Document nettle supported crypto
[samba.git] / lib / crypto / REQUIREMENTS
1 A list of the crypto operations that we require, and what uses them.
2
3 This list is to allow research into using external crypto libraries.
4 Those possibly supported in the git version of GnuTLS are indicated as '# GNUTLS'
5 Those possibly supported in the git version of nettle are indicated as '# NETTLE'
6
7 ARCFOUR (RC4)
8  - the old SamOEMHash
9  - Password encryption on SAMR for password set/get
10  - NETLOGON SamLogon session keys
11  - Schannel
12  - genrate_random_data()
13
14  # GNUTLS
15  # NETTLE
16
17 DES
18  - NTLM challenge-response
19  - LSA QuerySecret et al
20  - NETLOGON SamLogon session keys
21  - ServerGetTrustInfo returned passwords
22  - RID encryption of passwords
23
24  # NETTLE
25
26 3DES
27  - NETLOGON Credentials
28
29  # NETTLE
30
31 CRC32
32  - DRSUAPI replication replicated secrets
33
34 AES CFB8
35  - SCHANNEL
36  - NETLOGON SamLogon session keys
37
38 AES 128
39  - SMB VFS traffic analyzer
40
41  # NETTLE (AES-NI available)
42
43 AES128 CCM
44  - SMB2 2.24 SMB encryption
45
46  # GNUTLS
47  # NETTLE (AES-NI available)
48
49 AES128 GCM
50  - SMB2 3.10 SMB encryption
51
52  # GNUTLS
53  # NETTLE (AES-NI available)
54
55 AES128 CMAC
56  - SMB2 0x224 SMB Signing
57
58 MD4
59  - NTLM password hash
60  - genrate_random_number()
61
62  # NETTLE
63
64 MD5
65  - NTLM2
66  - SCHANNEL
67  - NTLMSSP
68  - NETLOGON computer credentials
69  - DRSUAPI blob encryption
70  - SAMR/wkssvc password change/set encryption
71  - vfs_fruit
72  - vfs_streams_xattr
73  - passdb old password history format
74  - dsdb password_hash module
75  - SMB1 SMB signing
76  - NTP ntp_signd
77
78  # GNUTLS
79  # NETTLE
80
81 HMAC-MD5
82  - NTLMv2
83
84  # GNUTLS
85  # NETTLE
86
87 HMACSHA256
88  - SMB2 < 2.24 SMB signing
89  - SMB2 Key derivation
90
91  # GNUTLS
92  # NETTLE
93
94 HMACSHA1
95  - BackupKey ServerWrap
96
97  # GNUTLS
98  # NETTLE
99
100 SHA256
101  - Security Descriptor hash for vfs_acl_xattr
102  - oLschema2ldif
103
104  # GNUTLS
105  # NETTLE
106
107 SHA512
108  - SMB2 Pre-auth integrity verification
109  - BackupKey ClientWrap
110
111  # GNUTLS
112  # NETTLE
113
114 RSA
115  - BackupKey ClientWrap
116
117  # GNUTLS
118  # NETTLE