# Block Cipher

> Software Security > Cryptography - Key

### Table of Contents

## 1 - About

A Block cipher is a cipher where the unit of process is a block.

A family of functions and their inverse functions that is parameterized by cryptographic keys.

The functions map bit strings of a fixed length to bit strings of the same length

The specifications of the block cipher and algorithms and the modes are public, so the security of the mode depends, at a minimum, on the secrecy of the key.

## 2 - Articles Related

## 3 - Cryptographic Key

## 4 - Function

For any given key, the underlying block cipher algorithm of the mode also consists of two functions that are inverses of each other.

### 4.1 - Name

These two functions are often called:

- and decryption.

#### 4.1.1 - Forward Cipher Function (Forward Cipher Operation)

One of the two functions of the block cipher algorithm that is selected by the cryptographic key.

#### 4.1.2 - Inverse Cipher Function (Inverse Cipher Operation)

The function that reverses the transformation of the forward cipher function when the same cryptographic key is used.

### 4.2 - Input / Output

The inputs and outputs of both functions are called input blocks and output blocks. The input and output blocks of the block cipher algorithm have the same bit length, called the block size.

#### 4.2.1 - Input

The input to the encryption processes of the CBC, CFB, and OFB modes includes:

- the plaintext, represented as a sequence of bit strings (for all modes)
- a data block called the initialization vector (IV). The IV is used in an initial step in the encryption of a message and in the corresponding decryption of the message.

### 4.3 - Block

#### 4.3.1 - Input Block

An Input Block is a data block that is an input to either the forward cipher function or the inverse cipher function of the block cipher algorithm.

#### 4.3.2 - Output Block

A data block that is an output of either the forward cipher function or the inverse cipher function of the block cipher algorithm.

## 5 - Confidentiality Mode

Confidentiality Mode: a mode that is used to encipher plaintext and decipher ciphertext.

The confidentiality modes in the recommendation are the:

## 6 - Mode

Mode of Operation (Mode)

An algorithm for the cryptographic transformation of data that features a symmetric key block cipher algorithm.

A mode of operation describes how to repeatedly apply a cipher's single-block operation.

The modes may be used in conjunction with any symmetric key block cipher algorithm.

Block cipher modes operating :

- on block as a whole require that the last part of the data be padded to a full block if it is smaller than the current block size.
- on block as a stream cipher does not require padding. See Stream_cipher

### 6.1 - Approved

approved modes of operation by the US National Institute of Standards and Technology (NIST)

Recommendations regarding modes of operation of symmetric key block ciphers. See SP800-38A

- Electronic Codebook (ECB),
- Cipher Block Chaining (CBC),
- Cipher Feedback (CFB),
- Output Feedback (OFB),
- Counter (CTR)
- XTS-AES

### 6.2 - XTS-AES

The XTS-AES mode was designed for the cryptographic protection of data on storage devices that use fixed length data units.

### 6.3 - ECB

ECB - Electronic Codebook

### 6.4 - CTR

### 6.5 - CTS

CTS: ciphertext stealing

### 6.6 - CBC

Cipher Block Chaining

### 6.7 - CFB

Cipher Feedback

In the CFB mode, Data Segment (Segment) is a sequence of bits whose length is a parameter that does not exceed the block size.

### 6.8 - OFB

Output Feedback.