<required>
aes
serpent
threefish
chacha

sha2_32
sha2_64
blake2
skein
keccak
sha3

gcm
ocb
chacha20poly1305

kdf2
hkdf
cmac
hmac
poly1305
siphash

pbkdf2
bcrypt

# required for private key encryption
pbes2

curve25519
ecdh
ecdsa
rsa
rfc6979

eme_oaep
emsa_pssr
emsa1

auto_rng
hmac_drbg
</required>

<if_available>
ffi

tls
prf_tls
newhope

clmul
locking_allocator

aes_ni
aes_ssse3
serpent_simd
threefish_avx2
chacha_sse2

simd

sessions_sql
certstor_sql

rdrand_rng
system_rng

# entropy sources
cryptoapi_rng
darwin_secrandom
dev_random
proc_walk
rdrand
rdseed
win32_stats
</if_available>

<prohibited>
# Just say no to TLS 1.0
tls_cbc

cast
des
gost_28147
idea
idea_sse2
kasumi
lion
misty1
rc4
seed
xtea

cbc_mac
x919_mac

# MD5 and SHA1 are broken but not prohibited. They are widely in use
# in non-crypto contexts and are required by TLS currently
md4
gost_3411

cfb
ofb

elgamal
gost_3410

emsa_x931
pbkdf1
prf_x942

passhash9
cryptobox
</prohibited>
