A specific mathematical formula that is used to perform encryption, decryption, message digests, and digital signatures.

Hash function

A hash function is any function that can be used to map data of arbitrary size onto data of a fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes.


The process of transforming ciphertext into plaintext so that a recipient can read it.


An attack on a cryptosystem where the attacker is attempting to determine the encryption key that is used to encrypt messages.

Encryption key

A block of characters, used in combination with an encryption algorithm, used to encrypt or decrypt a stream or blocks of data. An encryption key is also used to create and verify a digital signature.

Key encrypting key

An encryption key that is used to encrypt another encryption key.

Key length

The size (measured in bits) of an encryption key. Longer encryption keys mean that it takes greater effort to successfully attack a cryptosystem.

Block cipher

An encryption algorithm that operates on blocks of data.

Stream cipher

A type of encryption algorithm that operates on a continuous stream of data such as a video or audio feed.

Initialization vector (IV)

A random number that is needed by some encryption algorithms to begin the encryption process.

Symmetric encryption

A method for encryption and decryption where it is necessary for both parties to possess a common encryption key.

Asymmetric encryption, or public key cryptography

A method for encryption, decryption, and digital signatures that uses pairs of encryption keys, consisting of a public key and a private key.

Key exchange

A technique that is used by two parties to establish a symmetric encryption key when there is no secure channel available.


The property of encryption and digital signatures that can make it difficult or impossible for a party to later deny having sent a digitally signed message, unless they admit to having lost control of their private encryption key.