summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-06-15 10:37:53 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-06-15 10:38:03 +0200
commite21b0af8b30e6b62e634bea1ab2b3fcf466c77c6 (patch)
treefcd20158d98e88374887fbdb618274577d245119
parent4ebc1e6c528bf6f7fdd93896fbe9ef04e6924867 (diff)
downloadgnutls-e21b0af8b30e6b62e634bea1ab2b3fcf466c77c6.tar.gz
doc: added/modernized text on AEAD ciphers [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--doc/cha-intro-tls.texi49
1 files changed, 31 insertions, 18 deletions
diff --git a/doc/cha-intro-tls.texi b/doc/cha-intro-tls.texi
index a00db66037..d0fea82193 100644
--- a/doc/cha-intro-tls.texi
+++ b/doc/cha-intro-tls.texi
@@ -101,57 +101,70 @@ just after the handshake protocol has finished.
@cindex symmetric encryption algorithms
Confidentiality in the record layer is achieved by using symmetric
-block encryption algorithms like @code{3DES}, @code{AES}
-or stream algorithms like @code{ARCFOUR_128}.
- Ciphers are encryption algorithms that use a single, secret,
-key to encrypt and decrypt data. Block algorithms in CBC mode also provide
-protection against statistical analysis of the data. Thus, if you're
-using the @acronym{TLS} protocol, a random number of blocks will be
-appended to data, to prevent eavesdroppers from guessing the actual
-data size.
+ciphers like @code{AES} or @code{CHACHA20}. Ciphers are encryption algorithms
+that use a single, secret, key to encrypt and decrypt data. Early
+versions of TLS separated between block and stream ciphers and had
+message authentication plugged in to them by the protocol, though later
+versions switched to using authenticated-encryption (AEAD) ciphers. The AEAD
+ciphers are defined to combine encryption and authentication, and as such
+they are not only more efficient, as the primitives used are designed to
+interoperate nicely, but they are also known to interoperate in a secure
+way.
The supported in @acronym{GnuTLS} ciphers and MAC algorithms are shown in @ref{tab:ciphers} and
@ref{tab:macs}.
@float Table,tab:ciphers
-@multitable @columnfractions .30 .60
-@headitem Algorithm @tab Description
-@item AES-128-CBC, AES-256-CBC @tab
-AES or RIJNDAEL is the block cipher algorithm that replaces the old
-DES algorithm. It has 128 bits block size and is used in CBC mode.
-
+@multitable @columnfractions .20 .20 .60
+@headitem Algorithm @tab Type @tab Description
@item AES-128-GCM, AES-256-GCM @tab
+AEAD @tab
This is the AES algorithm in the authenticated encryption GCM mode.
This mode combines message authentication and encryption and can
be extremely fast on CPUs that support hardware acceleration.
@item AES-128-CCM, AES-256-CCM @tab
+AEAD @tab
This is the AES algorithm in the authenticated encryption CCM mode.
This mode combines message authentication and encryption and is
often used by systems without AES or GCM acceleration support.
@item AES-128-CCM-8, AES-256-CCM-8 @tab
+AEAD @tab
This is the AES algorithm in the authenticated encryption CCM mode
with a truncated to 64-bit authentication tag. This mode is for
communication with restricted systems.
-@item CAMELLIA-128-CBC, CAMELLIA-256-CBC @tab
-This is an 128-bit block cipher developed by Mitsubishi and NTT. It
-is one of the approved ciphers of the European NESSIE and Japanese
-CRYPTREC projects.
+@item CAMELLIA-128-GCM, CAMELLIA-256-GCM @tab
+AEAD @tab
+This is the CAMELLIA algorithm in the authenticated encryption GCM mode.
@item CHACHA20-POLY1305 @tab
+AEAD @tab
CHACHA20-POLY1305 is an authenticated encryption algorithm based on CHACHA20 cipher and
POLY1305 MAC. CHACHA20 is a refinement of SALSA20 algorithm, an approved cipher by
the European ESTREAM project. POLY1305 is Wegman-Carter, one-time authenticator. The
combination provides a fast stream cipher suitable for systems where a hardware AES
accelerator is not available.
+@item AES-128-CBC, AES-256-CBC @tab
+Legacy (block) @tab
+AES or RIJNDAEL is the block cipher algorithm that replaces the old
+DES algorithm. It has 128 bits block size and is used in CBC mode.
+
+@item CAMELLIA-128-CBC, CAMELLIA-256-CBC @tab
+Legacy (block) @tab
+This is an 128-bit block cipher developed by Mitsubishi and NTT. It
+is one of the approved ciphers of the European NESSIE and Japanese
+CRYPTREC projects.
+
@item 3DES-CBC @tab
+Legacy (block) @tab
This is the DES block cipher algorithm used with triple
encryption (EDE). Has 64 bits block size and is used in CBC mode.
@item ARCFOUR-128 @tab
+Legacy (stream) @tab
ARCFOUR-128 is a compatible algorithm with RSA's RC4 algorithm, which is considered to be a trade
secret. It is a considered to be broken, and is only used for compatibility
purposed. For this reason it is not enabled by default.