AES Flashcards

1
Q

AES Design Entscheidungen

A

1.128 Blocksize
2.Schlüssellängen von 128, 192 und 256 Bit
3.Sicher
4.Software und Hardwareeffizent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

AES Runden-Ablauf:

A

Jede AES Runde besteht aus 3 Layern:
1. Key Addition: Der Rundenschlüssel wird auf die 128 Bit XORd
2. Byte Substitution jedes Element wird nichtlinear transformiert(Konfusion)
3. Diffusionslayer:
ShiftRows permutiert Daten auf Bytelevel
Mix-Columns kombiniert Blöcke von 4 Bytes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Galoisfelder

A

Gruppe F mit Eigenschaften:
1. Alle Elemente bilden mit additive Gruppe mit neutralem Element 0
2. Alle Elemente außer 0 bilden multiplikative Gruppe mit neutralem Element 1
3. Wenn Gruppenoperationen kombiniert werden sind sie Distributiv.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

ErweiterungsFelder Addition

A

A(x) - B(x) = Summe(c_i * x^i), c_i = a_i + b_i mod 2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ErweiterungsFelder Multiplikation

A

A(x) und B(x) werden mit Hilfe eines irreduzierbaren Polynomes mit A(x) * B(x) mod P(x) multipliziert.
Dabei muss jedes x^i mit i>=m als mod P(x) dargestellt werden.
Bsp: P(x) = x^4 + x => x^4 = 1 P(x) + x => x4 = x mod P(x)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Erweiterungsfelder Inversieren

A

Gegeben dem Erweiterungsfeld GF(2^m) und einem irreduzierbarem Polynom P(x) kann für ein Polynom A(x), A^(-1)(x) ermittelt werden. Diese sind in AES oft in Lookup Tables gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ablauf AES-Runde:

A
  1. Aufteilen in 16 Byte
  2. Anwenden von Byte Substitution (S-Box) auf jedes Byte
  3. ShiftRows
  4. Mixcolumns
  5. XOR mit Key
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ablauf Byte-Substitution

A

Bijektive Abbildung mit Eingabe von 8 Bits und Ausgabe von 8 Bits. Dies wird oft in Lookup-Tables gespeichert. Diese werden erzeugt indem die 8-Bit zunächst in GF(2^8) invertiert werden. Anschließend findet eine affine Transformations statt. Diese soll die algebraische Struktur der GF brechen um die Angriffe über die Inversion nicht möglich zu machen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ShiftRows Sublayer

A

In jeder Reihe der AES Matrix sollen nun hintereinander jedes 4 Byte stehen. Also B_0 , B_4, B_8, B_12 in der ersten Reihe. Diese sollen nun Byteweise rechtsverschoben werden.
1: keine Versch
2: 3 positionen
3: 2
4:1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mix Columns

A

Nachdem die ShiftRows angewendet wurde wird nun jede Spalte als Vektor mit einer Matrix multipliziert. Jede diese Multiplikationen wird in einem Galoisfeld vollzogen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Key Schedule

A

Aus dem 128-256 Bit langen Key wird ein 128 Bit Langer Subschlüssel generiert. Für 128: 10 + 1 Runde, 192: 12 + 1, 256: 14+1.
Der erste Schlüssel besteht aus den ersten 128 Bits des Schlüssel. Neue Keybits werden generiert indem W[4i] = W[4(i-1)] + g(W[4i-1]) berechnet wird. Für die nächsten W[j] = W[j-1] + W[j-4] berechnet.
Für 192 Bits wird g nur für alle 6 32-Bit Schlüsselteile benötigt.
Bei 256 Bits wird nach 4 Teilen eine h funktion angewendet, welche weder Bytes tauscht noch eine RC aufaddiert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Entschlüsselung

A

Da AES kein Feistelstruktur hat muss jedes Layer invertiert werden.
MixColumn: Inverse Matrix
ShiftRows: LeftShift statt RightShift
ByteSubstitution: Inverser LookupTable da bijektiv
KeySchedule: Selbe Berechnung, inverse Anwendung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly