Network.TLS.Extra.Cipher

tls-2.1.7: TLS protocol native implementation

Safe Haskell | None
Language | Haskell2010

Network.TLS.Extra.Cipher

Contents

- Cipher suite
- Individual ciphers
  - RFC 5288
  - RFC 8446
  - RFC 5289
  - RFC 7251
  - RFC 7905
- Deprecated names
  - RFC 5288
  - RFC 8446
  - RFC 5289
  - RFC 7251
  - RFC 7905

Synopsis

- ciphersuite_default :: [Cipher]
- ciphersuite_default_det :: [Cipher]
- ciphersuite_all :: [Cipher]
- ciphersuite_all_det :: [Cipher]
- ciphersuite_strong :: [Cipher]
- ciphersuite_strong_det :: [Cipher]
- ciphersuite_dhe_rsa :: [Cipher]
- cipher_DHE_RSA_WITH_AES_128_GCM_SHA256 :: Cipher
- cipher_DHE_RSA_WITH_AES_256_GCM_SHA384 :: Cipher
- cipher13_AES_128_GCM_SHA256 :: Cipher
- cipher13_AES_256_GCM_SHA384 :: Cipher
- cipher13_CHACHA20_POLY1305_SHA256 :: Cipher
- cipher13_AES_128_CCM_SHA256 :: Cipher
- cipher13_AES_128_CCM_8_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 :: Cipher
- cipher_ECDHE_RSA_WITH_AES_128_GCM_SHA256 :: Cipher
- cipher_ECDHE_RSA_WITH_AES_256_GCM_SHA384 :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_128_CCM :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_256_CCM :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_128_CCM_8 :: Cipher
- cipher_ECDHE_ECDSA_WITH_AES_256_CCM_8 :: Cipher
- cipher_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher
- cipher_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher
- cipher_DHE_RSA_AES128GCM_SHA256 :: Cipher
- cipher_DHE_RSA_AES256GCM_SHA384 :: Cipher
- cipher_TLS13_AES128GCM_SHA256 :: Cipher
- cipher_TLS13_AES256GCM_SHA384 :: Cipher
- cipher_TLS13_CHACHA20POLY1305_SHA256 :: Cipher
- cipher_TLS13_AES128CCM_SHA256 :: Cipher
- cipher_TLS13_AES128CCM8_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_AES128GCM_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_AES256GCM_SHA384 :: Cipher
- cipher_ECDHE_RSA_AES128GCM_SHA256 :: Cipher
- cipher_ECDHE_RSA_AES256GCM_SHA384 :: Cipher
- cipher_ECDHE_ECDSA_AES128CCM_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_AES256CCM_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_AES128CCM8_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_AES256CCM8_SHA256 :: Cipher
- cipher_ECDHE_RSA_CHACHA20POLY1305_SHA256 :: Cipher
- cipher_ECDHE_ECDSA_CHACHA20POLY1305_SHA256 :: Cipher
- cipher_DHE_RSA_CHACHA20POLY1305_SHA256 :: Cipher

# Cipher suite

ciphersuite_default :: [Cipher] #

All AES and ChaCha20-Poly1305 ciphers supported ordered from strong to weak. This choice of ciphersuites should satisfy most normal needs. For otherwise strong ciphers we make little distinction between AES128 and AES256, and list each but the weakest of the AES128 ciphers ahead of the corresponding AES256 ciphers.

AEAD ciphers with equivalent security properties are ordered based on CPU hardware-acceleration support. If this dynamic runtime behavior is not desired, use `ciphersuite_default_det` instead.

ciphersuite_default_det :: [Cipher] #

Same as `ciphersuite_default`, but using deterministic preference not influenced by the CPU.

ciphersuite_all :: [Cipher] #

The default ciphersuites + some not recommended last resort ciphers.

AEAD ciphers with equivalent security properties are ordered based on CPU hardware-acceleration support. If this dynamic runtime behavior is not desired, use `ciphersuite_all_det` instead.

ciphersuite_all_det :: [Cipher] #

Same as `ciphersuite_all`, but using deterministic preference not influenced by the CPU.

ciphersuite_strong :: [Cipher] #

The strongest ciphers supported. For ciphers with PFS, AEAD and SHA2, we list each AES128 variant after the corresponding AES256 and ChaCha20-Poly1305 variants. For weaker constructs, we use just the AES256 form.

AEAD ciphers with equivalent security properties are ordered based on CPU hardware-acceleration support. If this dynamic runtime behavior is not desired, use `ciphersuite_strong_det` instead.

ciphersuite_strong_det :: [Cipher] #

Same as `ciphersuite_strong`, but using deterministic preference not influenced by the CPU.

ciphersuite_dhe_rsa :: [Cipher] #

DHE-RSA cipher suite. This only includes ciphers bound specifically to DHE-RSA so TLS 1.3 ciphers must be added separately.

Since: 2.1.5

# Individual ciphers

## RFC 5288

cipher_DHE_RSA_WITH_AES_128_GCM_SHA256 :: Cipher #

cipher_DHE_RSA_WITH_AES_256_GCM_SHA384 :: Cipher #

## RFC 8446

cipher13_AES_128_GCM_SHA256 :: Cipher #

cipher13_AES_256_GCM_SHA384 :: Cipher #

cipher13_CHACHA20_POLY1305_SHA256 :: Cipher #

cipher13_AES_128_CCM_SHA256 :: Cipher #

cipher13_AES_128_CCM_8_SHA256 :: Cipher #

## RFC 5289

cipher_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 :: Cipher #

cipher_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 :: Cipher #

cipher_ECDHE_RSA_WITH_AES_128_GCM_SHA256 :: Cipher #

cipher_ECDHE_RSA_WITH_AES_256_GCM_SHA384 :: Cipher #

## RFC 7251

cipher_ECDHE_ECDSA_WITH_AES_128_CCM :: Cipher #

cipher_ECDHE_ECDSA_WITH_AES_256_CCM :: Cipher #

cipher_ECDHE_ECDSA_WITH_AES_128_CCM_8 :: Cipher #

cipher_ECDHE_ECDSA_WITH_AES_256_CCM_8 :: Cipher #

## RFC 7905

cipher_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher #

cipher_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher #

cipher_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 :: Cipher #

# Deprecated names

## RFC 5288

cipher_DHE_RSA_AES128GCM_SHA256 :: Cipher #

Deprecated: Use cipher_DHE_RSA_WITH_AES_128_GCM_SHA256 instead

cipher_DHE_RSA_AES256GCM_SHA384 :: Cipher #

Deprecated: Use cipher_DHE_RSA_WITH_AES_256_GCM_SHA384 instead

## RFC 8446

cipher_TLS13_AES128GCM_SHA256 :: Cipher #

Deprecated: Use cipher13_AES_128_GCM_SHA256 instead

cipher_TLS13_AES256GCM_SHA384 :: Cipher #

Deprecated: Use cipher13_AES_256_GCM_SHA384 instead

cipher_TLS13_CHACHA20POLY1305_SHA256 :: Cipher #

Deprecated: Use cipher13_CHACHA20_POLY1305_SHA256 instead

cipher_TLS13_AES128CCM_SHA256 :: Cipher #

Deprecated: Use cipher13_AES_128_CCM_SHA256 instead

cipher_TLS13_AES128CCM8_SHA256 :: Cipher #

Deprecated: Use cipher13_AES_128_CCM_8_SHA256 instead

## RFC 5289

cipher_ECDHE_ECDSA_AES128GCM_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 instead

cipher_ECDHE_ECDSA_AES256GCM_SHA384 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 instead

cipher_ECDHE_RSA_AES128GCM_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_RSA_WITH_AES_128_GCM_SHA256 instead

cipher_ECDHE_RSA_AES256GCM_SHA384 :: Cipher #

Deprecated: Use cipher_ECDHE_RSA_WITH_AES_256_GCM_SHA384 instead

## RFC 7251

cipher_ECDHE_ECDSA_AES128CCM_SHA256 :: Cipher #

Deprecated: User cipher_ECDHE_ECDSA_WITH_AES_128_CCM instead

cipher_ECDHE_ECDSA_AES256CCM_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_AES_256_CCM instead

cipher_ECDHE_ECDSA_AES128CCM8_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_AES_128_CCM_8 instead

cipher_ECDHE_ECDSA_AES256CCM8_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_AES_256_CCM_8 instead

## RFC 7905

cipher_ECDHE_RSA_CHACHA20POLY1305_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 instead

cipher_ECDHE_ECDSA_CHACHA20POLY1305_SHA256 :: Cipher #

Deprecated: Use cipher_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 instead

cipher_DHE_RSA_CHACHA20POLY1305_SHA256 :: Cipher #

Deprecated: Use cipher_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 instead