1 10a-SymmetricBlock


Previous: 09-ModernSymmetric.html

10a-SymmetricBlock/cryptography.png
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

1.2.1 Classified along Independent Dimensions

  1. The type of operations used for transforming plaintext to ciphertext

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:
10a-SymmetricBlock/image6.png

1.2.2.1 Computationally Secure Encryption Schemes

1.2.3 Feistel Cipher Structure

1.2.3.1 Classic Fiestel Network

10a-SymmetricBlock/f1-crop.png

1.2.4 Block Cipher Structure

1.3 Data Encryption Standard (DES)

1.3.1 Triple DES

10a-SymmetricBlock/f2-crop.png

1.4 Advanced Encryption Standard (AES)

1.4.1 Overview of AES Enrcyption and Decryption

10a-SymmetricBlock/f3-crop.png

AES Encryption Round
10a-SymmetricBlock/f4-crop.png

1.5 Algorithm Details

1.5.1 Substitute Bytes Transformation

10a-SymmetricBlock/00.png

Replace according to these lookup tables:

1.5.2 S-box

10a-SymmetricBlock/01.png

1.5.3 Inverse S-box

10a-SymmetricBlock/02.png

Note: how are these tables created?

1.5.4 ShiftRows

10a-SymmetricBlock/03.png
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

10a-SymmetricBlock/04.png
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

10a-SymmetricBlock/05.png
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

Next: 10b-SymmetricStream.html