lib/crypto: Document what crypto code is used for, and if GnuTLS supports it
[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
6 ARCFOUR (RC4)
7  - the old SamOEMHash
8  - Password encryption on SAMR for password set/get
9  - NETLOGON SamLogon session keys
10  - Schannel
11  - genrate_random_data()
12
13  # GNUTLS
14
15 DES
16  - NTLM challenge-response
17  - LSA QuerySecret et al
18  - NETLOGON SamLogon session keys
19  - ServerGetTrustInfo returned passwords
20  - RID encryption of passwords
21
22 3DES
23  - NETLOGON Credentials
24
25 CRC32
26  - DRSUAPI replication replicated secrets
27
28 AES CFB8
29  - SCHANNEL
30  - NETLOGON SamLogon session keys
31
32 AES 128
33  - SMB VFS traffic analyzer
34
35 AES128 CCM
36  - SMB2 2.24 SMB encryption
37  # GNUTLS
38
39 AES128 GCM
40  - SMB2 3.10 SMB encryption
41  # GNUTLS
42
43 AES128 CMAC
44  - SMB2 0x224 SMB Signing
45
46 MD4
47  - NTLM password hash
48  - genrate_random_number()
49
50 MD5
51  - NTLM2
52  - SCHANNEL
53  - NTLMSSP
54  - NETLOGON computer credentials
55  - DRSUAPI blob encryption
56  - SAMR/wkssvc password change/set encryption
57  - vfs_fruit
58  - vfs_streams_xattr
59  - passdb old password history format
60  - dsdb password_hash module
61  - SMB1 SMB signing
62  - NTP ntp_signd
63
64  # GNUTLS
65
66 HMAC-MD5
67  - NTLMv2
68
69  # GNUTLS
70
71 HMACSHA256
72  - SMB2 < 2.24 SMB signing
73  - SMB2 Key derivation
74
75  # GNUTLS
76
77 HMACSHA1
78  - BackupKey ServerWrap
79
80  # GNUTLS
81
82 SHA256
83  - Security Descriptor hash for vfs_acl_xattr
84  - oLschema2ldif
85
86  # GNUTLS
87
88 SHA512
89  - SMB2 Pre-auth integrity verification
90  - BackupKey ClientWrap
91
92  # GNUTLS
93
94 RSA
95  - BackupKey ClientWrap
96
97  # GNUTLS