# 1 10a-SymmetricBlock

Previous: 09-ModernSymmetric.html

If you don’t get why this contrast is funny,
search for a video of the artist and the last line of the first paragraph.
I clearly can’t show it in class…

## 1.1 Reading

Chapter 6 and 7, Block and Stream Ciphers:
https://github.com/crypto101/crypto101.github.io/raw/master/Crypto101.pdf

## 1.2 Symmetric block encryption principles

• Also referred to as: Conventional, Secret-key, or Single-key encryption
• It was the only alternative, before public-key encryption in 1970’s
• It is still the most widely used scheme.
• Has five ingredients:
1. Plaintext
2. Encryption algorithm
3. Secret key
4. Ciphertext
5. Decryption algorithm

### 1.2.1 Classified along Independent Dimensions

1. The type of operations used for transforming plaintext to ciphertext
• Substitution - each element in the plaintext is mapped into another element
• Transposition - elements in plaintext are rearranged

2. The way in which the plaintext is processed
* Block cipher - processes input one block of elements at a time
* https://en.wikipedia.org/wiki/Block_cipher
* Stream cipher - processes the input elements continuously
* https://en.wikipedia.org/wiki/Stream_cipher

### 1.2.2 Crpytanalysis

Attacks come in a variety of academic and/or realistic flavors:

#### 1.2.2.1 Computationally Secure Encryption Schemes

• Encryption could be considered computationally secure if:
• Cost of breaking cipher exceeds value of information
• Time required to break cipher exceeds the useful lifetime of the information
• Usually very difficult to estimate the amount of effort required to break
• Can estimate time/cost of a brute-force attack
• Unless you are using the perfect OTP, you should assume cryptography only buys you time when your message will be secret; how long, who knows, but likely nearing your lifetime for the current strongest open crypto.

### 1.2.4 Block Cipher Structure

• Symmetric block cipher consists of:
• A sequence of rounds
• With substitutions and permutations controlled by key
• Parameters and design features:
• Block size
• Key size
• Number of rounds
• Round key generation algorithm
• Round function
• Fast software encryption/decryption

## 1.3 Data Encryption Standard (DES)

• Was very widely used
• Minor variation of the Fiestel Network

## 1.4 Advanced Encryption Standard (AES)

• The Advanced Encryption Standard (AES) was issued as a federal information processing standard (FIPS 197).
• It is intended to replace DES and triple DES with an algorithm that is more secure and efficient.

### 1.4.1 Overview of AES Enrcyption and Decryption

AES Encryption Round

## 1.5 Algorithm Details

### 1.5.1 Substitute Bytes Transformation

Replace according to these lookup tables:

### 1.5.3 Inverse S-box

Note: how are these tables created?

### 1.5.4 ShiftRows

Spin the “padlock” of the rows, by increasing numbers of clicks.
To move individual bytes from one column to another and spread bytes over columns.
On encryption left rotate each row of State by 0, 1, 2, 3 bytes respectively.
Decryption does reverse.

### 1.5.5 Mix Column Transformation: MixColumns

Operates on each column individually.
Mapping each byte to a new value that is a function of all four bytes in the column.
Use of equations over finite fields to provide good mixing of bytes in column.

### 1.5.6 Add Round Key Transformation

Simply XOR State with bits of expanded key (you know how to do this now!)
Security comes from the from complexity of round key expansion and other stages of AES

+++++++++++++++++++++
Cahoot-10a.1