Glossary

AEAD
Authenticated Encryption with Associated Data, a mode of operation for symmetric ciphers that processes messages and optional additional data as atomic objects: the decryption provides data only if integrity of data is verified, encryption provides ciphertext only when all the data was provided to the encryption function.
AES
Advanced Encryption Standard is a symmetric block cipher.
AES-CCM
AEAD mode of Advanced Encryption Standard (AES) that combines counter mode with the CBC-MAC algorithm. In TLS those ciphers require version 1.2 or 1.3.
AES-CCM8
AES-CCM with 8 byte long authentication tag.
AES-GCM
Advanced Encryption Standard in Galois Counter Mode is an AEAD cipher, it encrypts and authenticates data with one operation. In TLS those ciphers require version 1.2 or 1.3.
ALPN
Application Layer Protocol Negotiation is a TLS extension allowing for co-existence of multiple applications protocols on the same TCP or UDP port. Commonly used to negotiate HTTP/2 over HTTP/1.1.
CBC
Cipher Block Chaining, an encryption mode for block ciphers, used since SSLv2 until TLS 1.2.
CI
Continuous Integration is a development practice in which changes are merged to master branch, commonly after the test coverage for the project is executed.
CMAC
Cipher-based MAC
ECDHE
Implementation of Diffie-Hellman key exchange algorithm over elliptic curves.
ECDSA
Elliptic Curve Digital Signature Algorithm uses the Digital Signature Algorithm with elliptic curves instead of finite field groups. It’s an asymmetric cryptosystem, similar to RSA.
GMAC
Galois MAC, commonly used as part of the AES-GCM cipher.
HMAC
Hash-based MAC, commonly used with CBC mode ciphers in TLS before version 1.3
HSM
Hardware Security Module is usually an extension card that is tasked with secure storage of private keys. Some HSMs also provide hardware acceleration for cryptographic operations.
IETF
Internet Engineering Task Force is an organisation responsible for providing specifications of protocols used over the Internet.
IV
Initialisation Vector, a value used to influence the generated ciphertext, unlike the key, it doesn’t have to remain secret
MAC
Message Authentication Code is the generic name for data used to verify integrity of the received data. This data is called an authentication tag. There are many MACs defined: HMAC, CMAC, or GMAC.
NPN
Next Protocol Negotiation is a TLS extension allowing for use of multiple application layer protocols on the same port. Not standardised. Obsoleted by ALPN.
PKIX
Public Key Infrastructure for the Internet, described use of X.509 certificates in Internet protocols.
PRF
Pseudo-Random Function is used to sanitise random values to prepare them for use as keys in encryption. TLS 1.0 and 1.1 uses combination of MD5 and SHA1. TLS 1.2 and 1.3 use SHA-256 or SHA-384 based algorithms depending on cipher suite negotiated.
RFC
Request For Comments are standards published by Internet Engineering Task Force, an open standards organisation.
RSA
Rivest Shamir Adleman is an asymmetric cryptosystem commonly used for signing messages or encrypting keys.
SNI
Server Name Indication, also known as server_name, is a TLS extension for negotiatiating connections to “Virtual Hosts”. It allows a server to distinguish requests for different hostnames sharing a single IP address.
SSL
Secure Sockets Layer is an old cryptographic network protocol. It has orginated in Netscape in the early 1990’s. Currently replaced by TLS.
SUT
System Under Test is the device or implementation that the tests are verifying. Excludes tlsfuzzer itself or systems necessary to execute it or tlsfuzzer.
TCP
Transport Control Protocol is a stream protocol that provides reliable delivery over the Internet Protocol.
TLS
Transport Layer Security is a cryptographic network protocol defined in a series of RFC documents, newest of which is RFC8446.