4.6.1 Mathematische Grundlagen
|
|
- Klara Pfeiffer
- vor 7 Jahren
- Abrufe
Transkript
1 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir entweder die Binärzahl-, die Hexadezimalzahloder die Polynomrepräsentation. Betrachten wir die Polynomrepräsentation eines Bytes, so benutzen wir im AES das irreduzible Polynom m(x) = x 8 + x 4 + x 3 + x + 1. Zur Erinnerung: Die Addition entspricht dem Bitweisen xor, bzw. dem xor der korrespondierenden Koeffizienten der Polynome. Die Multiplikation entspricht der Polynommultiplikation modulo m(x). Die Multiplikation kann mit Hilfe der iterierten Multiplikation eines Polynoms mit x und dem bedingten Subtrahieren (bzw. Addieren) von m(x)) implementiert werden. Auf dem Bitlevel bedeutet dieses: Führe einen Linksshift aus. Erhalten wir einen Überlauf, so xor-e das Resultat mit Übernehme nur die hinteren 8 Bits. Diese Operation nennen wir xtime(). 178
2 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir entweder die Binärzahl-, die Hexadezimalzahloder die Polynomrepräsentation. Betrachten wir die Polynomrepräsentation eines Bytes, so benutzen wir im AES das irreduzible Polynom m(x) = x 8 + x 4 + x 3 + x + 1. Zur Erinnerung: Die Addition entspricht dem Bitweisen xor, bzw. dem xor der korrespondierenden Koeffizienten der Polynome. Die Multiplikation entspricht der Polynommultiplikation modulo m(x). Die Multiplikation kann mit Hilfe der iterierten Multiplikation eines Polynoms mit x und dem bedingten Subtrahieren (bzw. Addieren) von m(x)) implementiert werden. Auf dem Bitlevel bedeutet dieses: Führe einen Linksshift aus. Erhalten wir einen Überlauf, so xor-e das Resultat mit Übernehme nur die hinteren 8 Bits. Diese Operation nennen wir xtime(). 178
3 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir entweder die Binärzahl-, die Hexadezimalzahloder die Polynomrepräsentation. Betrachten wir die Polynomrepräsentation eines Bytes, so benutzen wir im AES das irreduzible Polynom m(x) = x 8 + x 4 + x 3 + x + 1. Zur Erinnerung: Die Addition entspricht dem Bitweisen xor, bzw. dem xor der korrespondierenden Koeffizienten der Polynome. Die Multiplikation entspricht der Polynommultiplikation modulo m(x). Die Multiplikation kann mit Hilfe der iterierten Multiplikation eines Polynoms mit x und dem bedingten Subtrahieren (bzw. Addieren) von m(x)) implementiert werden. Auf dem Bitlevel bedeutet dieses: Führe einen Linksshift aus. Erhalten wir einen Überlauf, so xor-e das Resultat mit Übernehme nur die hinteren 8 Bits. Diese Operation nennen wir xtime(). 178
4 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir entweder die Binärzahl-, die Hexadezimalzahloder die Polynomrepräsentation. Betrachten wir die Polynomrepräsentation eines Bytes, so benutzen wir im AES das irreduzible Polynom m(x) = x 8 + x 4 + x 3 + x + 1. Zur Erinnerung: Die Addition entspricht dem Bitweisen xor, bzw. dem xor der korrespondierenden Koeffizienten der Polynome. Die Multiplikation entspricht der Polynommultiplikation modulo m(x). Die Multiplikation kann mit Hilfe der iterierten Multiplikation eines Polynoms mit x und dem bedingten Subtrahieren (bzw. Addieren) von m(x)) implementiert werden. Auf dem Bitlevel bedeutet dieses: Führe einen Linksshift aus. Erhalten wir einen Überlauf, so xor-e das Resultat mit Übernehme nur die hinteren 8 Bits. Diese Operation nennen wir xtime(). 178
5 Beispiel für die Addition: = oder äquivalent (x 7 +x 4 +x 3 +x 2 ) (x 7 +x 6 +x 2 +x 1 +1) = x 6 +x 4 +x 3 +x Beispiel für die Multiplikation: (x 6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = x 13 + x 11 + x 9 + x x 7 + x 6 + x 5 + x 4 + x x x + 1 = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1) (x 5 m(x)) (x 11 + x 4 + x 3 + 1) (x 3 m(x)) x 7 + x mod m(x). Beispiel für xtime(): xtime(x 7 + 1) = = x 4 + x
6 Beispiel für die Addition: = oder äquivalent (x 7 +x 4 +x 3 +x 2 ) (x 7 +x 6 +x 2 +x 1 +1) = x 6 +x 4 +x 3 +x Beispiel für die Multiplikation: (x 6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = x 13 + x 11 + x 9 + x x 7 + x 6 + x 5 + x 4 + x x x + 1 = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1) (x 5 m(x)) (x 11 + x 4 + x 3 + 1) (x 3 m(x)) x 7 + x mod m(x). Beispiel für xtime(): xtime(x 7 + 1) = = x 4 + x
7 Beispiel für die Addition: = oder äquivalent (x 7 +x 4 +x 3 +x 2 ) (x 7 +x 6 +x 2 +x 1 +1) = x 6 +x 4 +x 3 +x Beispiel für die Multiplikation: (x 6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = x 13 + x 11 + x 9 + x x 7 + x 6 + x 5 + x 4 + x x x + 1 = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1) (x 5 m(x)) (x 11 + x 4 + x 3 + 1) (x 3 m(x)) x 7 + x mod m(x). Beispiel für xtime(): xtime(x 7 + 1) = = x 4 + x
8 Beispiel für die Addition: = oder äquivalent (x 7 +x 4 +x 3 +x 2 ) (x 7 +x 6 +x 2 +x 1 +1) = x 6 +x 4 +x 3 +x Beispiel für die Multiplikation: (x 6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = x 13 + x 11 + x 9 + x x 7 + x 6 + x 5 + x 4 + x x x + 1 = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1) (x 5 m(x)) (x 11 + x 4 + x 3 + 1) (x 3 m(x)) x 7 + x mod m(x). Beispiel für xtime(): xtime(x 7 + 1) = = x 4 + x
9 180 Andreas Jakoby Das multiplikative Inverse p 1 (x) zu einem Polynom p(x), d.h. p(x) p 1 (x) 1 mod m(x) können wir mit Hilfe des erweiterten Algorithmus von Euklid bestimmen. Mit Hilfe dieses Verfahrens können wir für zwei Polynome p(x) und m(x) zwei Polynome p(x) und m(x) bestimmen, so dass ist. Wir erhalten somit p(x) p(x) + m(x) m(x) = 1 p 1 (x) = p(x) mod m(x).
10 180 Andreas Jakoby Das multiplikative Inverse p 1 (x) zu einem Polynom p(x), d.h. p(x) p 1 (x) 1 mod m(x) können wir mit Hilfe des erweiterten Algorithmus von Euklid bestimmen. Mit Hilfe dieses Verfahrens können wir für zwei Polynome p(x) und m(x) zwei Polynome p(x) und m(x) bestimmen, so dass ist. Wir erhalten somit p(x) p(x) + m(x) m(x) = 1 p 1 (x) = p(x) mod m(x).
11 181 Andreas Jakoby Darstellung von Bytes: Ist b 7 b 6... b 0 die Darstellung eines Bytes in Binärdarstellung, dann erhalten wir die Polynomdarstellung über (b 7 b 6... b 0 ) 2 = b 7 x 7 +b 6 x 6 +b 5 x 5 +b 4 x 4 +b 3 x 3 +b 2 x 2 +b 1 x+b 0. Um die Binärdarstellung in Hexadezimal Darstellung umzuwandeln, benutzen wir für b 7 b 6 b 5 b 4 und b 3 b 2 b 1 b 0 die folgende Tabelle = = = = = = = = = = = A = B = C = D = E = F 16
12 182 Andreas Jakoby Polynome mit Koeffizienten in GF(2 8 ) Verschiedene Operationen im AES können wir mit Hilfe von Addition und Multiplikation von Polynomen vom Grad 3 darstellen. Die Koeffizienten dieser Polynome stellen wiederum Elemente endlicher Körpern (GF(2 8 )) dar. Die Polynome selbst, bilden jedoch keinen endlichen Körper. Sei a(x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 ein solches Polynom, dann benutzen wir auch die Schreibweise [a 0, a 1, a 2, a 3 ].
13 Seien a(x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 b(x) = b 3 x 3 + b 2 x 2 + b 1 x + b 0 zwei solche Polynome, dann erhalten wir Addition + über a(x)+b(x) = (a 3 b 3 ) x 3 +(a 2 b 2 ) x 2 +(a 1 b 1 ) x +(a 0 b 0 ). Multiplikation über die Polynommultiplikation modulo x
14 184 Andreas Jakoby Es gilt x i mod (x 4 + 1) = x i mod 4 somit können wir die Multiplikation wie folgt vereinfachen: Sei d(x) = d 3 x 3 + d 2 x 2 + d 1 x + d 0 = a(x) b(x) dann erhalten wir d 0 d 1 d 2 = d 3 a 0 a 3 a 2 a 1 a 1 a 0 a 3 a 2 a 2 a 1 a 0 a 3 a 3 a 2 a 1 a 0 b 0 b 1 b 2 b 3.
15 184 Andreas Jakoby Es gilt x i mod (x 4 + 1) = x i mod 4 somit können wir die Multiplikation wie folgt vereinfachen: Sei d(x) = d 3 x 3 + d 2 x 2 + d 1 x + d 0 = a(x) b(x) dann erhalten wir d 0 d 1 d 2 = d 3 a 0 a 3 a 2 a 1 a 1 a 0 a 3 a 2 a 2 a 1 a 0 a 3 a 3 a 2 a 1 a 0 b 0 b 1 b 2 b 3.
16 185 Andreas Jakoby Die Multiplikation mit einem festen Polynom a(x) ist nicht für alle Polynome a(x) invertierbar. Im AES wir jedoch ein Polynom benutzt welches ein multiplikatives Inverses besitzt: Wählen wir a(x) = x x x a 1 (x) = 0B 16 x 3 + 0D 16 x x + 0E 16. a(x) = x 3, d.h. a 3 = und a 2 = a 1 = a 0 = 00 16, dann erhalten wir über die Operation eine Rotation nach links: [00 16, 00 16, 00 16, ] [b 0, b 1, b 2, b 3 ] = [b 1, b 2, b 3, b 0 ].
17 4.6.2 Zustand des AES Die Basiseinheit für Berechnungen im AES stellt das Byte dar. Sei a 0... a 7 die folge der Bits im Speicher, dann benutzen wir die Darstellungen (a 7... a 0 ) 2 und a 7 x a 1 x + a 0. Die Blocklänge im AES beträgt 128 Bits, d.h. 16 Byte. Abhängig vom Grad der Sicherheit, benutzt das AES Schlüssel der Länge 128, 192 oder 256 Bit, bzw. 16, 24 oder 32 Byte. Ist x ein Block bestehend aus n Bytes, dann bezeichnen wir im Folgenden mit x[i] das i-te Byte. 1 1 Allgemein bezeichnen wir mit x[i] das i-te Element in der Zeichenkette x. An anderer Stelle beziehen wir uns hierbei oft auf ein Bit. Bei der nun folgenden Beschreibung des AES bezeichnet dieses jedoch ein Byte. 186
18 187 Andreas Jakoby Den Zustand des AES können wir Byteweise mit Hilfe eines 4 4-Arrays beschreiben: Input in 0 in 4 in 8 in 12 in 1 in 5 in 9 in 13 in 2 in 6 in 10 in 14 in 3 in 7 in 11 in 15 Zustand s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 Output out 0 out 4 out 8 out 12 out 1 out 5 out 9 out 13 out 2 out 6 out 10 out 14 out 3 out 7 out 11 out 15 Die Funktion Square: ({0, 1} 8 ) 16 ({0, 1} 8 ) 4 4 wandelt ein 1-dimensionales Feld aus 16 Bytes in ein 2-dimensionales 4 4-Matrix um. Sei s = (s ) [0..3] = Square(x) für x ({0, 1} 8 ) 16, dann gilt für alle i, j [0..3] s = x[i + 4 j].
19 Die Funktion InvSquare: ({0, 1} 8 ) 4 4 ({0, 1} 8 ) 16 gibt die Umkehrfunktion von Square() an, d.h. für gilt x = InvSquare(s) x[i + 4 j] = s. Sei s = (s ) [0..3] und s = (s ) [0..3], dann definieren wir s s = (s s ) [0..3] als die elementweise Addition 2 in GF(2 8 ) der Matrizen. 2 bitweises xor 188
20 4.6.3 Unterfunktionen des AES Die einzelnen Verschlüsselungsschritte des AES lassen sich mit Hilfe von 4 individuellen Unterfunktionen und deren Umkehrfunktionen aufbauen: AddRoundKey() und InvAddRoundKey() ShiftRows() und InvShiftRows() MixColumns() und InvMixColumns() SubBytes() und InvSubBytes() 189
21 AddRoundKey() und InvAddRoundKey(): Bei AddRoundKey() sind Funktion und Umkehrfunktion identisch: Eingabe: eine 4 4-Byte-Matrix s und ein 16-Byte Rundenschlüssel K i Ausgabe: die 4 4-Byte-Matrix s Square(K i ). Die einzelnen Rundenschlüssel K 0,..., K r 1 werden mit Hilfe der Funktion KeyExpansion aus dem Schlüssel K generiert. Die 4 4-Byte-Matrix s gibt den aktuellen Zustand des Rundentextes an. 190
22 191 Andreas Jakoby K i [0] K i [1] K i [2] K i [3] K i [4] K i [5] K i [6] K i [7] K i [8] K i [9] K i [10] K i [11] K i [12] K i [13] K i [14] K i [15] s 0,0 s 0,1 s 0,2 s 0,3 s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s s 2,0 s 2,1 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 s 3,0 s 3,1 s 3,2 s 3,3
23 ShiftRows() und InvShiftRows(): ShiftRows() führt einen zyklischen Shift auf die einzelnen Zeilen einer 4 4-Byte-Matrix aus. Hierbei wird die i-te Zeile um i Positionen geshifted. Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = s i,(j+i) mod 4. Für die Umkehrfunktion InvShiftRows() erhalten wir: Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s i,(j+i) mod 4 = s. 192
24 ShiftRows() und InvShiftRows(): ShiftRows() führt einen zyklischen Shift auf die einzelnen Zeilen einer 4 4-Byte-Matrix aus. Hierbei wird die i-te Zeile um i Positionen geshifted. Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = s i,(j+i) mod 4. Für die Umkehrfunktion InvShiftRows() erhalten wir: Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s i,(j+i) mod 4 = s. 192
25 193 Andreas Jakoby ShiftRows() s 0,0 s 0,1 s 0,2 s 0,3 s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 s 3,0 s 3,1 s 3,2 s 3,3
26 MixColumns() und InvMixColumns(): MixColumns() interpretiert jede Spalte der 4 4-Byte-Matrix als ein Polynom s j = s 3,j x 3 + s 2,j + s 1,j + s 0,j mit Koeffizienten aus GF(2 8 ) und Multipliziert dieses mit dem Polynom p(x) = x x x Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s 0,j B s 1,j s 2,j A = s 3,j C A 0 bzw. s 0,j := (02 16 s 0,j ) (03 16 s 1,j ) s 2,j s 3,j s 1,j := (02 16 s 1,j ) (03 16 s 2,j ) s 3,j s 0,j s 2,j := (02 16 s 2,j ) (03 16 s 3,j ) s 0,j s 1,j s 0,j s 1,j s 2,j s 3,j 1 C A für alle j [0..3]. s 3,j := (02 16 s 3,j ) (03 16 s 0,j ) s 1,j s 2,j 194
27 Die Umkehrfunktion InvMixColumns() erhalten wir über die Multipliziert des Spalten-Polynoms mit p 1 (x) = 0B 16 x 3 + 0D 16 x x + 0E 16 Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s 0,j B s 1,j s 2,j A = s 3,j bzw. 0E 16 0B 16 0D E 16 0B 16 0D 16 0D E 16 0B 16 0B 16 0D E 16 1 C A 0 s 0,j s 1,j s 2,j s 3,j s 0,j := (0E 16 s 0,j ) (0B 16 s 1,j ) (0D 16 s 2,j ) (09 16 s 3,j ) s 1,j := (0E 16 s 1,j ) (0B 16 s 2,j ) (0D 16 s 3,j ) (09 16 s 0,j ) s 2,j := (0E 16 s 2,j ) (0B 16 s 3,j ) (0D 16 s 0,j ) (09 16 s 1,j ) s 3,j := (0E 16 s 3,j ) (0B 16 s 0,j ) (0D 16 s 1,j ) (09 16 s 2,j ) 1 C A für alle j [0..3]. 195
28 196 Andreas Jakoby p(x) s j (x) s 0,0 s 0,1 s 0,2 s 0,3 s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 s 3,0 s 3,1 s 3,2 s 3,3
29 SubBytes() und InvSubBytes(): SubBytes() ist eine elementweise Transformation einer 4 4-Byte-Matrix mit Hilfe einer nicht-linearen invertierbaren S-Box. Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = Eintrag in der u-ten Zeile und v-ten Spalte der S-Box Tabelle wobei s = uv mit u, v {0, 1} 4 ist. Für die Umkehrfunktion InvSubBytes() erhalten wir: Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = Eintrag in der u-ten Zeile und v-ten Spalte der inversen S-Box Tabelle wobei s = uv mit u, v {0, 1} 4 ist. Die Tabellen für die S-Box und für die inversen S-Box befinden sich auf den nächsten beiden Folien. 197
30 SubBytes() und InvSubBytes(): SubBytes() ist eine elementweise Transformation einer 4 4-Byte-Matrix mit Hilfe einer nicht-linearen invertierbaren S-Box. Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = Eintrag in der u-ten Zeile und v-ten Spalte der S-Box Tabelle wobei s = uv mit u, v {0, 1} 4 ist. Für die Umkehrfunktion InvSubBytes() erhalten wir: Eingabe: eine 4 4-Byte-Matrix s. Ausgabe: die 4 4-Byte-Matrix s mit s = Eintrag in der u-ten Zeile und v-ten Spalte der inversen S-Box Tabelle wobei s = uv mit u, v {0, 1} 4 ist. Die Tabellen für die S-Box und für die inversen S-Box befinden sich auf den nächsten beiden Folien. 197
31 198 Andreas Jakoby S-Box A B C D E F C 77 7B F2 6B 6F C B FE D7 AB 76 1 CA 82 C9 7D FA F0 AD D4 A2 AF 9C A4 72 C0 2 B7 FD F F7 CC 34 A5 E5 F1 71 D C7 23 C A E2 EB 27 B C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF 6 D0 EF AA FB 43 4D F9 02 7F 50 3C 9F A A3 40 8F 92 9D 38 F5 BC B6 DA FF F3 D2 8 CD 0C 13 EC 5F C4 A7 7E 3D 64 5D F DC 22 2A EE B8 14 DE 5E 0B DB A E0 32 3A 0A C C2 D3 AC E4 79 B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08 C BA E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A D 70 3E B F6 0E B9 86 C1 1D 9E E E1 F D9 8E 94 9B 1E 87 E9 CE DF F 8C A1 89 0D BF E D 0F B0 54 BB 16
32 199 Andreas Jakoby Inverse S-Box A B C D E F A D A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E B 2F FF E C4 DE E9 CB B A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E E A D9 24 B2 76 5B A2 49 6D 8B D F8 F D4 A4 5C CC 5D 65 B C FD ED B9 DA 5E A7 8D 9D D8 AB 00 8C BC D3 0A F7 E B8 B D0 2C 1E 8F CA 3F 0F 02 C1 AF BD A 6B 8 3A F 67 DC EA 97 F2 CF CE F0 B4 E AC E7 AD E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B B FC 56 3E 4B C6 D A DB C0 FE 78 CD 5A F4 C 1F DD A C7 31 B EC 5F D F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C F 17 2B 04 7E BA 77 D6 26 E C 7D
33 200 Andreas Jakoby S-Box s 0,0 s 0,1 s 0,2 s 0,3 s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 s 3,0 s 3,1 s 3,2 s 3,3
34 201 Andreas Jakoby Bemerkungen zur Konstruktion der S-Box: Sei s ein Byte, welches wir mit Hilfe der S-Box transformieren wollen, dann verfahren wir wie folgt: Bestimme das multiplikative Inverse s 1 von s in GF(2 8 ). Für s = 00 wählen wir s 1 = 00. Seien s 1 [i] die Bits von s 1, d.h. s 1 = s 1 [7]s 1 [6]s 1 [5]s 1 [4]s 1 [3]s 1 [2]s 1 [1]s 1 [0] dann erhalten wir die Bits des Ergebnisses über s = s [7]s [6]s [5]s [4]s [3]s [2]s [1]s [0] s [i] = s 1 [i] s 1 [i + 4 mod 8] s 1 [i + 5 mod 8] s 1 [i + 6 mod 8] s 1 [i + 7 mod 8] c[i] wobei c = c[7]c[6]c[5]c[4]c[3]c[2]c[1]c[0] = ist.
35 202 Andreas Jakoby Alternativ können wir die Tabelleneinträge auch über die folgende affin-lineare Transfromation aus dem multiplikative Inverse s 1 von s bestimmen: 0 s [0] s 1 [0] s [1] s 1 [1] s [2] s 1 s [3] [2] 1 s [4] = s 1 [3] s B s [5] [4] C B C s [6] A B 1 0 s 1 C B 1 C s [7] [6] 1 A s 1 [7]
36 4.6.4 Die Rundenschlüssel Um den Rundenschlüssel zu bestimmen benötigen wir noch einige einfache Hilfsfunktionen, die auf einem 4-Byte Wort w = w[0]w[1]w[2]w[3] arbeiten: RotWord() führt einen zyklischen Shift um ein Byte nach links aus: RotWord(w[0]w[1]w[2]w[3]) = w[1]w[2]w[3]w[0]. SubWord() wendet einen S-Box-Operation auf jedes Byte an: SubWord(w[0]w[1]w[2]w[3]) = S(w[0])S(w[1])S(w[2])S(w[3]). Rcon(i) für i N mit i > 0 ist Rcon(i) = c i , wobei wir die Rundenkonstante c i wie folgt über die Operationen in GF(2 8 ) und der Polynomdarstellung bestimmen c i = x i 1 (modm(x)). 203
37 Algorithmus KeyExpansion(K) Eingabe: 4 k-byte Schlüssel K Ergebnis: Folge der Rundenschlüssel (K 0,..., K l ) 1: l := 6 + k 2: for i = 0 to k 1 do h i := K[4i]K[4i + 1]K[4i + 2]K[4i + 3] end for 3: for i = k to 4 l do 4: t := h i 1 5: if (i mod k) = 0 then 6: t := SubWord(RotWord(t)) Rcon(i/k) 7: else 8: if k = 8 (i mod k) = 4 then t := SubWord(t) end if 9: end if 10: h i := h i k t 11: end for 12: for i = 0 to l do K i := h 4i h 4i+1 h 4i+2 h 4i+3 end for 13: Return((K 0,..., K l )) 204
38 Algorithmus KeyExpansion(K) Eingabe: 4 k-byte Schlüssel K Ergebnis: Folge der Rundenschlüssel (K 0,..., K l ) 1: l := 6 + k 2: for i = 0 to k 1 do h i := K[4i]K[4i + 1]K[4i + 2]K[4i + 3] end for 3: for i = k to 4 l do 4: t := h i 1 5: if (i mod k) = 0 then 6: t := SubWord(RotWord(t)) Rcon(i/k) 7: else 8: if k = 8 (i mod k) = 4 then t := SubWord(t) end if 9: end if 10: h i := h i k t 11: end for 12: for i = 0 to l do K i := h 4i h 4i+1 h 4i+2 h 4i+3 end for 13: Return((K 0,..., K l )) 204
39 Algorithmus KeyExpansion(K) Eingabe: 4 k-byte Schlüssel K Ergebnis: Folge der Rundenschlüssel (K 0,..., K l ) 1: l := 6 + k 2: for i = 0 to k 1 do h i := K[4i]K[4i + 1]K[4i + 2]K[4i + 3] end for 3: for i = k to 4 l do 4: t := h i 1 5: if (i mod k) = 0 then 6: t := SubWord(RotWord(t)) Rcon(i/k) 7: else 8: if k = 8 (i mod k) = 4 then t := SubWord(t) end if 9: end if 10: h i := h i k t 11: end for 12: for i = 0 to l do K i := h 4i h 4i+1 h 4i+2 h 4i+3 end for 13: Return((K 0,..., K l )) 204
40 Algorithmus KeyExpansion(K) Eingabe: 4 k-byte Schlüssel K Ergebnis: Folge der Rundenschlüssel (K 0,..., K l ) 1: l := 6 + k 2: for i = 0 to k 1 do h i := K[4i]K[4i + 1]K[4i + 2]K[4i + 3] end for 3: for i = k to 4 l do 4: t := h i 1 5: if (i mod k) = 0 then 6: t := SubWord(RotWord(t)) Rcon(i/k) 7: else 8: if k = 8 (i mod k) = 4 then t := SubWord(t) end if 9: end if 10: h i := h i k t 11: end for 12: for i = 0 to l do K i := h 4i h 4i+1 h 4i+2 h 4i+3 end for 13: Return((K 0,..., K l )) 204
41 205 Andreas Jakoby Illustration von KeyExpansion(K) bei einer Schlüssellänge von 16 Byte bzw. 128 Bit, d.h. k = 4. h 0 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 RotWord() RotWord() SubWord() SubWord() Rcon(1) Rcon(2)
42 206 Andreas Jakoby Illustration von KeyExpansion(K) bei einer Schlüssellänge von 24 Byte bzw. 192 Bit, d.h. k = 6. h 0 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 h 10 h 11 h 12 RotWord() RotWord() SubWord() SubWord() Rcon(1) Rcon(2)
43 207 Andreas Jakoby Illustration von KeyExpansion(K) bei einer Schlüssellänge von 32 Byte bzw. 256 Bit, d.h. k = 8. h 0 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 h 10 h 11 h 12 h 13 h 14 h 15 h 16 RotWord() RotWord() SubWord() SubWord() SubWord() Rcon(1) Rcon(2)
44 4.6.5 Der AES-Algorithmus Der AES-Algorithmus verschlüsselt einen Plaintext von 16 Byte in mehreren Runden. Die Anzahl der Runden hängt hierbei von der Schlüssellänge ab. Es gilt: bei 16-Byte Schlüssel beträgt die Rundenzahl 10, bei 24-Byte Schlüssel beträgt die Rundenzahl 12 und bei 32-Byte Schlüssel beträgt die Rundenzahl 14. Die Beschreibung von AES in Federal Infomation Processing Standards Publication 197 erlaubt auch die Benutzung größerer Blöcke und Schlüssel. Auf die hierbei benötigten relativ einfachen Modifikationen werden wir jedoch nicht eingehen. 208
45 209 Andreas Jakoby Algorithmus AES-Verschlüsselung(x, K) Eingabe: 16-Byte Plaintext x und 4 k-byte Schlüssel K Ergebnis: 16-Byte Ciphertext y 1: (K 0,..., K l ) :=KeyExpansion(K) 2: s :=Square(x) 3: s :=AddRoundKey(s, K 0 ) 4: for i = 1 to l 1 by +1 do 5: s :=SubBytes(s) 6: s :=ShiftRows(s) 7: s :=MixColumns(s) 8: s :=AddRoundKey(s, K i ) 9: end for 10: s :=SubBytes(s) 11: s :=ShiftRows(s) 12: s :=AddRoundKey(s, K l ) 13: Return(InvSquare(s))
46 210 Andreas Jakoby Algorithmus AES-Entschlüsselung(y, K) Eingabe: 16-Byte Ciphertext y und 4 k-byte Schlüssel K Ergebnis: 16-Byte Ciphertext x 1: (K 0,..., K l ) :=KeyExpansion(K) 2: s :=Square(y) 3: s :=AddRoundKey(s, K l ) 4: for i = l 1 to 1 by 1 do 5: s :=InvShiftRows(s) 6: s :=InvSubBytes(s) 7: s :=AddRoundKey(s, K i ) 8: s :=InvMixColumns(s) 9: end for 10: s :=InvShiftRows(s) 11: s :=InvSubBytes(s) 12: s :=AddRoundKey(s, K l ) 13: Return(InvSquare(s))
Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0
Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners
Mehr6. Lösungsblatt
TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF. JOHANNES BUCHMANN DR. JULIANE KRÄMER Einführung in die Kryptographie WS 205/ 206 6. Lösungsblatt 9..205 Ankündigung Es besteht
MehrKryptographie. Vorlesung 7: Der AES Algorithmus. Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca
Kryptographie Vorlesung 7: Der AES Algorithmus Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 1/48 KONSTRUKTION ENDLICHER KÖRPER Wir beschreiben, wie man zu jeder
MehrÜbersicht. Geschichte Mathematische Grundlagen Algorithmus. ISM WS 2017/18 Teil 6/AES
Übersicht Geschichte Mathematische Grundlagen Algorithmus 2 Literatur [6-1] http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf [6-2] http://csrc.nist.gov/groups/stm/cavp/documents/aes/aesavs.pdf
MehrKryptographische Algorithmen
Kryptographische Algorithmen Lerneinheit 4: Advanced Encryption Standard (AES) Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2017/2018 14.11.2017 Einleitung Bei der Standardisierung
MehrÆ A BC A DC C C C C C A A BCBDECFE C F A C C F A A F C AC D A F C A F A AC F C C C C A C C AC C C C F F F C C F A C F F A C A C C F C F F C C A D F F C C C D F B A C C F C C F B C C F A A B A A A F A
MehrAES. Jens Kubieziel jens@kubieziel.de. 07. Dezember 2009. Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik
Angriffe gegen Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 07. Dezember 2009 Angriffe gegen Outline 1 Zur Geschichte 2 3 Angriffe gegen
Mehr74 5 DES und AES. 5.1 Der Data Encryption Standard (DES)
74 5 DES und AES 5 DES und AES 5.1 Der Data Encryption Standard (DES) Der DES wurde von IBM im Zuge einer im Mai 1973 veröffentlichten Ausschreibung des NBS (National Bureau of Standards; heute National
MehrBetriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12
Betriebssysteme und Sicherheit Sicherheit Florian Kerschbaum TU Dresden Wintersemester 2011/12 Begriffe Kryptographie: Geheimschrift Nachrichten schreiben ohne das sie von einem Anderen gelesen (verändert)
Mehr6 Der Advanced Encryption Standard (AES)
Stand: 9..25 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger Dieser Abschnitt lehnt sich an die Beschreibung im Buch Kryptographische Systeme von Baumann, Franz und Ptzmann an. 6 Der
MehrBlockverschlüsselung und AES
Blockverschlüsselung und AES Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam ein Vortrag von Linda Tschepe Übersicht Allgemeines SPNs (Substitutions- Permutations- Netzwerke)
MehrAlgorithmische Anwendungen Prof. Dr. Heinrich Klocke
Algorithmische Anwendungen Prof. Dr. Heinrich Klocke Algorithmisches Projekt im Wintersemester 2005/06 Advanced Encryption Standard (AES) Rijndael Algorithmus Gruppe: C_gelb Thomas Boddenberg 11032925
MehrEndgültige Gruppeneinteilung Kohorte Innere-BP Sommersemester 2016 (Stand: )
A A1a 2197120 on on A A1a 2311330 on on on on on on on A A1a 2316420 on on A A1a 2332345 on on on on on on on A A1a 2371324 on on on on on on on A A1a 2382962 on on A A1a 2384710 on on on on on on on A
MehrErinnerung Blockchiffre
Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,
MehrDie (Un-)Sicherheit von DES
Die (Un-)Sicherheit von DES Sicherheit von DES: Bester praktischer Angriff ist noch immer die Brute-Force Suche. Die folgende Tabelle gibt eine Übersicht über DES Kryptanalysen. Jahr Projekt Zeit 1997
Mehr10 Der Advanced Encryption Standard (AES)
D3kjd3Di38lk323nnm 137 Das momentan bedeutendste symmetrische Verschlüsselungsverfahren ist der Advanced Encryption Standard (AES). Unter dem Namen Rijndael hat dieses Verfahren den Wettbewerb um die Nachfolge
MehrVorlesung IT-Sicherheit FH Frankfurt Sommersemester 2007
Vorlesung IT-Sicherheit FH Frankfurt Sommersemester 2007 Dr. Volker Scheidemann Standards für symmetrische Verschlüsselung DES, 3DES, AES DES Seite: 3 DES Data Encryption Standard 1974 von IBM unter Beteiligung
MehrLösbarkeit linearer Gleichungssysteme
Lösbarkeit linearer Gleichungssysteme Lineares Gleichungssystem: Ax b, A R m n, x R n, b R m L R m R n Lx Ax Bemerkung b 0 R m Das Gleichungssystem heißt homogen a A0 0 Das LGS ist stets lösbar b Wenn
MehrDie Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.
Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle
MehrDie (Un-)Sicherheit von DES
Die (Un-)Sicherheit von DES Sicherheit von DES: Bester praktischer Angriff ist noch immer die Brute-Force Suche. Die folgende Tabelle gibt eine Übersicht über DES Kryptanalysen. Jahr Projekt Zeit 1997
MehrAES und Public-Key-Kryptographie
Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert
MehrMatrizen und Determinanten, Aufgaben
Matrizen und Determinanten, Aufgaben Inhaltsverzeichnis 1 Multiplikation von Matrizen 1 11 Lösungen 3 2 Determinanten 6 21 Lösungen 7 3 Inverse Matrix 8 31 Lösungen 9 4 Matrizengleichungen 11 41 Lösungen
MehrPseudozufallsfunktionen (PRF) Kapitel 3
Pseudozufallsfunktionen (PRF) Kapitel 3 Motivation Verschlüsselung eines Dateisystems durch PRG: PRG G(x) Entschlüsselung: berechne aus x entsprechende Generator-Ausgabe Aber: Entschlüsselung der letzten
Mehr/-010 2% 3%.-&"(2#( 4#5% 6077## 7 8$$04%27.0& 905$0& :0;+
! "#$%&'() *+,-#.(! "#$%&'() *+,-#.( // /011#)1.#) 234#5: 61$03#7 8$("(1$5% 5 15#9($(-:1$5%4 # 90.+;(. 5 6. [?.] I.!"#$%&'(&) *&#+,-& "$./0-/1/
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11
Kapitel 11 Zeichenverarbeitung Seite 1 von 11 Zeichenverarbeitung - Jedem Zeichen ist ein Zahlencode zugeordnet. - Dadurch wird ermöglicht, zwischen verschiedenen Systemen Texte auszutauschen. - Es werden
Mehr8 Der Advanced Encryption Standard (AES)
127 Das momentan wohl bedeutendste symmetrische Verschlüsselungsverfahren ist der Advanced Encryption Standard (AES). Unter dem Namen Rijndael hat dieses Verfahren den Wettbewerb um die Nachfolge des DES
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrÜbungen zu Einführung in die Lineare Algebra und Geometrie
Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Wintersemester 2014/15 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax
MehrLösung zur Klausur zu Krypographie Sommersemester 2005
Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2
MehrWasser da$ \sie Ö{se. Maße hei# Schluss-$: $ an Stelle des $ kurzer Anstrich für \s: \ an Stelle des \ langer Anstrich für {s: { an Stelle des {
Die Grünewalt VA Vereinfachte Ausgangsschrift (VA) ist eine Lateinschrift. Sie wurde von Dr. Heinrich Grünewald aus der 1953 eingeführten Lateinischen Ausgangsschrift (LA) entwickelt und umstrukturiert.
MehrAES und DES. Maria Eichlseder. 20. November 2007
AES und DES Maria Eichlseder 20. November 2007 Im Folgenden wird ein Überblick über Funktionsweise und Eigenschaften der beiden kryptographischen Standards DES und AES gegeben. Der erste Abschnitt erklärt
MehrMusterlösungen zur Linearen Algebra II Blatt 2
Musterlösungen zur Linearen Algebra II Blatt 2 Aufgabe. Sei R ein nullteilerfreier kommutativer Ring mit. Setze K := R R\{0}/ mit der Äquivalenzrelation definiert durch (a, b) (a, b ) genau dann, wenn
MehrTeil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.
Teil I Lineare Algebra I Vorlesung Sommersemester 2011 Olga Holtz MA 378 Sprechstunde Fr 14-16 und nv holtz@mathtu-berlinde Sadegh Jokar MA 373 Sprechstunde, Do 12-14 und nv jokar@mathtu-berlinde Kapitel
MehrKapitel III Ringe und Körper
Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem
Mehr36 2 Lineare Algebra
6 Lineare Algebra Quadratische Matrizen a a n sei jetzt n m, A, a ij R, i, j,, n a n a nn Definition Eine quadratische Matrix A heißt invertierbar genau dann, wenn es eine quadratische Matrix B gibt, so
MehrÜbungen zu Einführung in die Lineare Algebra und Geometrie
Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Sommersemester 2010 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax = b
MehrWiederholung. Symmetrische Verschlüsselung klassische Verfahren: moderne Verfahren: DES (Feistel-Chiffre) mehrfache Wiederholung einer Kombination aus
Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne Verfahren: DES (Feistel-Chiffre) mehrfache Wiederholung
Mehr5 Die Allgemeine Lineare Gruppe
5 Die Allgemeine Lineare Gruppe Gegeben sei eine nicht leere Menge G und eine Abbildung (Verknüpfung) : G G G, (a, b) a b( a mal b ) Das Bild a b von (a, b) heißt Produkt von a und b. Andere gebräuchliche
MehrBezeichnung: Universal Relais Modbus Protokoll Beschreibung. EA-Nr.: 1451 Ersatz für: 12280-1602-00 Blatt: 1 von 9
EA-Nr.: 1451 Ersatz für: 12280-1602-00 Blatt: 1 von 9 MODBUS TCP/IP TCP Port: 502 Max. Anzahl TCP Verbindungen (max. TCP connections): 5 MODBUS RTU Unterstützte Funktionscodes Funktionscode Bezeichnung
MehrANHANG A. Matrizen. 1. Die Definition von Matrizen
ANHANG A Matrizen 1 Die Definition von Matrizen Wir haben bereits Vektoren kennen gelernt; solche Paare reeller Zahlen haben wir benutzt, um Punkte in der Ebene zu beschreiben In der Geometrie brauchen
Mehr, c d. f + e + d. ae + bg a f + bh. ce + dg c f + dh
Die Determinante Blockmatrizen Bemerkung: Für zwei 2 2-Matrizen gilt a b e f a b c d g h c d e g a b, c d f h a c b e + d a g, c f + ae + bg a f + bh ce + dg c f + dh b d h Sind die Einträge der obigen
Mehr1.4 Gruppen, Ringe, Körper
14 Gruppen, Ringe, Körper Definition 141 Eine Verknüpfung auf einer Menge M ist eine Abbildung : M M M : (a, b a b Die Verknüpfung heißt assoziativ falls gilt: a (b c = (a b c a, b, c M; kommutativ falls
MehrTerme und Formeln Grundoperationen
Terme und Formeln Grundoperationen Die Vollständige Anleitung zur Algebra vom Mathematiker Leonhard Euler (*1707 in Basel, 1783 in Petersburg) prägte den Unterricht und die Lehrmittel für lange Zeit. Euler
MehrSchnellstartanleitung G-Code/EEC-2400
Schnellstartanleitung G-Code/EEC-2400 Dieses Manual enthält Informationen zur Installation und Basiskonfiguration Ihres IP-Moduls. 1. Modul Videosystem- Schalter (PAL/NTSC) PAL OFF NTSC Resettaster * Die
MehrMathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12
Dipl.Inf. Malte Isberner Dr. Oliver Rüthing Dipl.Inf. Melanie Schmidt Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12 Die Lösungshinweise dienen
MehrStandardtastatur Deutsch, Schweiz Die Deutschschweizer-Tastatur hat fünf Tottasten (Tottaste, Zeichen Sonderzeichen):
Standardtastatur Deutsch Schweiz Die DeutschschweizerTastatur hat fünf Tottasten (Tottaste Zeichen Sonderzeichen) 1 2 @ 3 # 4 ^ ` ~ 5 6 7 8 9 0 ' ^ ~ Q W E R T Z U I O < \ A S D F G H J K L Y X C V B N
MehrDas Verschlüsseln verstehen
Das Verschlüsseln verstehen Kurz-Vorlesung Security Day 2013 Prof. (FH) Univ.-Doz. DI. Dr. Ernst Piller Kurzvorlesung "Das Verschlüsseln verstehen", Security Day 2013, Ernst Piller 1 Warum eigentlich Verschlüsselung
MehrPHOTOVOLTAIK PREISLISTE 1/2012. Fachgroßhandel für Photovoltaik PV-Equipment und Services
PHOTOVOLTAIK PREISLISTE 1/2012 Fachgroßhandel für Photovoltaik PV-Equipment und Services ABA CDEDF DBCD FDFDF FBD A B CDE F F E B FAF BABD D A B D B A BB B D DDFA DD D F AB C DEF DBC F DE BF FEF D D FC
Mehrech-0106 - Spezifikation für das System Versichertenkarte Offline Card-to-Card Authentication and Authorization
E-Government-Standards Seite 1 von 23 ech-0106 - Spezifikation für das System Versichertenkarte Offline Card-to-Card Authentication and Authorization Name Standard-Nummer Kategorie Feinspezifikation C2C-Authentisierung
MehrTabelle für Angaben zur Familie. ID Familie: Ich und meine Geschwister
Tabelle für Angaben zur Familie ID Familie: Ich und meine Geschwister A A1 A2 A3 Aa A1a A2a A3a Ab A1b A2b A3b Ac A1c A2c A3c Die Familie meines Vaters Die Familie meiner Mutter B3 B2 B1 B C C1 C2 C3 B3a
MehrBeispiel Tabelle für Angaben zur Familie. Ich und meine Geschwister
Beispiel Tabelle für Angaben zur Familie Ich und meine A Ich A1 A2 A3 Aa Meine A1a A2a A3a Ab Meine A1b A2b A3b Ac Meine A1c A2c A3c Die Familie meines Vaters B3 meines Vaters B2 meines Vaters B1 meines
Mehr8.2 Invertierbare Matrizen
38 8.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
MehrII. Lineare Gleichungssysteme. 10 Matrizen und Vektoren. 52 II. Lineare Gleichungssysteme
52 II Lineare Gleichungssysteme II Lineare Gleichungssysteme 10 Matrizen und Vektoren 52 11 Der Gaußsche Algorithmus 58 12 Basen, Dimension und Rang 62 13 Reguläre Matrizen 66 14 Determinanten 69 15 Skalarprodukte
MehrDivision mit Schulmethode
Division mit Schulmethode Satz Division mit Rest von Polynomen Seien a(x), b(x) Q[x] mit b(x) 0. Dann gibt es eindeutige q(x), r(x) Q[x] mit a(x) = q(x) b(x) + r(x) und grad(r) < grad(b). Beweis: Sei grad(a)
MehrMathematik für Physiker, Informatiker und Ingenieure
Mathematik für Physiker, Informatiker und Ingenieure Folien zu Kapitel V SS 2010 G. Dirr INSTITUT FÜR MATHEMATIK UNIVERSITÄT WÜRZBURG dirr@mathematik.uni-wuerzburg.de http://www2.mathematik.uni-wuerzburg.de
MehrDezimal Hex Zeichen HTML-Code Beschreibung 9 9 Tabulator 10 0A Zeilenvorschub 11 0B Vertikaltabulator 12 0C Seitenvorschub 13 0D Wagenrücklauf 32 20
9 9 Tabulator 10 0A Zeilenvorschub 11 0B Vertikaltabulator 12 0C Seitenvorschub 13 0D Wagenrücklauf 32 20 Leerzeichen 33 21! ! Ausrufungszeichen 34 22 " " (Doppeltes) Anführungszeichen 35 23 # #
MehrA = ( a 1,..., a n ) ii) Zwei Matrizen sind gleich, wenn die Einträge an den gleichen Positionen übereinstimmen. so heißt die n n Matrix
Matrizen Definition: i Eine m n Matrix A ist ein rechteckiges Schema aus Zahlen, mit m Zeilen und n Spalten: a a 2 a n a 2 a 22 a 2n a m a m2 a mn Die Spaltenvektoren dieser Matrix seien mit a,, a n bezeichnet
MehrErweiterter Euklidischer Algorithmus
Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 3 Praktisch sichere Blockchiffren 1. Substitutions-Permutations Netzwerke 2. Feistel-Chiffren und der DES 3. Der Advanced Encryption Standard AES Sichere und effiziente
MehrUnterlagen zu Polynomringen. Erhard Aichinger
Unterlagen zu Polynomringen Erhard Aichinger Linz, im November 2005 Alle Rechte vorbehalten 1 KAPITEL 1 Polynome und Körper 1. Körper DEFINITION 1.1. Ein kommutativer Ring mit Eins R R,,,, 0, 1 ist ein
MehrX = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar
3. Kodierung Wir wollen Kodierung nicht als Verschlüsselung zum Zwecke der Geheimhaltung auffassen, sondern als Mittel zur Darstellung von Sachverhalten so, daß eine Rechner mit diesen Sachverhalten umgehen
MehrSicherheit: Fragen und Lösungsansätze
Vorlesung (WS 2014/15) Sicherheit: Fragen und Lösungsansätze Dr. Thomas P. Ruhroth TU Dortmund, Fakultät Informatik, Lehrstuhl XIV 1 Kryptographie I [mit freundlicher Genehmigung basierend auf einem Foliensatz
MehrKörper- und Galoistheorie
Prof. Dr. H. Brenner Osnabrück SS 2011 Körper- und Galoistheorie Vorlesung 8 Erzeugte Algebra und erzeugter Körper Satz 8.1. Sei K L eine Körpererweiterung und sei f L ein algebraisches Element. Dann ist
MehrMischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.
Kapitel 5 Lineare Algebra 5 Lineare Gleichungssysteme und Matrizen Man begegnet Systemen von linearen Gleichungen in sehr vielen verschiedenen Zusammenhängen, etwa bei Mischungsverhältnissen von Substanzen
Mehr5.2 Rechnen mit Matrizen
52 Rechnen mit Matrizen 52 Rechnen mit Matrizen 97 Für Matrizen desselben Typs ist eine Addition erklärt, und zwar durch Addition jeweils entsprechender Einträge Sind genauer A = (a ij ) und B = (b ij
MehrG. Dobner/H.-J. Dobner: Lineare Algebra Elsevier Spektrum Akademischer Verlag
G. Dobner/H.-J. Dobner: Lineare Algebra Elsevier Spektrum Akademischer Verlag Beantwortung der Fragen und Lösungen der Aufgaben zu Kapitel Version V vom 3.. 28 2 Beantwortung der Fragen zu Kapitel TESTFRAGEN
Mehr3 Systeme linearer Gleichungen
3 Systeme linearer Gleichungen Wir wenden uns nun dem Problem der Lösung linearer Gleichungssysteme zu. Beispiel 3.1: Wir betrachten etwa das folgende System linearer Gleichungen: y + 2z = 1 (1) x 2y +
Mehrm 1 Die Bewegung der drei Kugeln wird beschrieben durch das folgende Differentialgleichungssystem x 1 (t) x 2 (t) x 3 (t) k 12 k 12 k 12 k k 23
Kapitel 5 Eigenwerte 5. Definition und Beispiele Wir sehen uns ein System dreier schwingender Kugeln der Massen m, m und m 3 an, die durch Federn aneinander gekoppelt sein sollen. m k m k 3 m 3 x ( t x
MehrDesignziele in Blockchiffren
Designziele in Blockchiffren Konstruiere Verschlüsselungsfunktion die sich wie eine zufällige Funktion verhalten soll. Konfusion: Verschleiern des Zusammenhangs zwischen Klartext und Chiffretext. Diffusion:
MehrQuadrate und Wurzelziehen modulo p
Quadrate und Wurzelziehen modulo p Sei im Folgenden p eine Primzahl größer als. Wir möchten im Körper Z p Quadratwurzeln ziehen. Die Quadrierabbildung Q :Z p Z p ist aber nicht surjektiv, daher gibt es
MehrAlgebraische Strukturen
Algebraische Strukturen Eine kommutative Gruppe (G, ) ist eine Menge G, auf der eine Verknüpfung (ein zweistelliger Operator) deniert ist (d. h. zu a, b G ist a b G deniert), welche bestimmten Regeln genügt
MehrEndliche Körper. Seminar Graphentheorie und Diskrete Mathematik Referent: Steffen Lohrke ii5105 SS 2005
Endliche Körper Seminar Graphentheorie und Diskrete Mathematik Referent: Steffen Lohrke ii5105 SS 2005 Abelsche Gruppe Eine Abelsche Gruppe ist eine algebraische Struktur, die aus einer Menge K und einem
MehrI) MATRIZEN. 1) Speichern geometrischer Daten: Punkte, Vektoren. j - te Variable (Spalte), j = 1,2,3,..., n
I) MATRIZEN Motivation: 1) Speichern geometrischer Daten: Punkte, Vektoren. 2) Lineare Gleichungen y1 = a11x1+ a12x2 + a13x3 y2 = a21x1+ a22x2 + a23x3... Koeffizienten a ij i - te Gleichung (Zeile), i
MehrAlgebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
Mehr8. Advanced Encryption Standard
8. Advanced Encryption Standard von Maximilian Fischer Im Jahre 1997 rief das amerikanische National Institute of Standards and Technology, kurz NIST, einen Wettbewerb für einen neuen offenen Verschlüsselungsstandard
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FERIENKURS. Lineare Algebra FLORIAN NIEDERREITER & AILEEN WOLF
TECHNISCHE UNIVERSITÄT MÜNCHEN FERIENKURS Lineare Algebra FLORIAN NIEDERREITER & AILEEN WOLF 07.03.2016-11.03.2016 Inhaltsverzeichnis Inhaltsverzeichnis 1 Darstellungsmatrizen 2 2 Diagonalisierbarkeit
MehrSatz. [x] B = die Koordinatenvektoren von x und y = F(x) bezüglich B respektive C. Dann gilt. [y] C = A[x] B. Hierbei ist
Satz Jede lineare Abbildung F : V n W m lässt sich durch eine m n-matrix darstellen. Dazu wählt man Basen B = (b 1,..., b n ) in V und C = (c 1,..., c m ) in W. Seien x 1 y 1 [x] B =. und [y]c =. x n y
MehrInhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015
Inhalt Mathematik für Chemiker II Lineare Algebra Vorlesung im Sommersemester 5 Rostock, April Juli 5 Vektoren und Matrizen Abbildungen 3 Gleichungssysteme 4 Eigenwerte 5 Funktionen mehrerer Variabler
MehrIsomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt
Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die
Mehr2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen
Algebra und Algebra 2. Dezember 2011 Übersicht Algebra und Algebra I Gruppen & Körper Vektorräume, Basis & Dimension Algebra Norm & Metrik Abbildung & Algebra I Eigenwerte, Eigenwertzerlegung Singulärwertzerlegung
Mehr3. Lösungsblatt
TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF JOHANNES BUCHMANN NABIL ALKEILANI ALKADRI Einführung in die Kryptographie WS 7/ 8 3 Lösungsblatt 67 P Matrizen und Determinanten
MehrChr.Nelius : Lineare Algebra II (SS 2005) 1. Wir wollen hier eine Beschreibung des Gauß-Algorithmus mit Hilfe der sog. Elementarmatrizen vornehmen.
ChrNelius : Lineare Algebra II (SS 2005) 1 Einschub A) Elementarmatrizen Wir wollen hier eine Beschreibung des Gauß-Algorithmus mit Hilfe der sog Elementarmatrizen vornehmen (A1) DEF: Seien r, s IN mit
Mehr6.2. Ringe und Körper
62 RINGE UND K ÖRPER 62 Ringe und Körper Wir betrachten nun Mengen (endlich oder unendlich) mit zwei Operationen Diese werden meist als Addition und Multiplikation geschrieben Meist ist dabei die additiv
Mehr37 Gauß-Algorithmus und lineare Gleichungssysteme
37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass
MehrBasiswissen Matrizen
Basiswissen Matrizen Mathematik GK 32 Definition (Die Matrix) Eine Matrix A mit m Zeilen und n Spalten heißt m x n Matrix: a a 2 a 4 A a 2 a 22 a 24 a 4 a 42 a 44 Definition 2 (Die Addition von Matrizen)
MehrLineare Gleichungssysteme und Matrizen
Kapitel 11 Lineare Gleichungssysteme und Matrizen Ein lineares Gleichungssystem (lgs) mit m linearen Gleichungen in den n Unbekannten x 1, x 2,..., x n hat die Gestalt: Mit a 11 x 1 + a 12 x 2 + a 13 x
Mehr7 Matrizen über R und C
Mathematik für Physiker I, WS 06/07 Montag 9 $Id: matrixtex,v 7 06//9 :58: hk Exp $ 7 Matrizen über R und C 7 Addition und Multiplikation von Matrizen In der letzten Sitzung haben wir begonnen uns mit
MehrTutorium: Diskrete Mathematik. Matrizen
Tutorium: Diskrete Mathematik Matrizen Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de Definition I Eine Matrix ist eine rechteckige Anordnung (Tabelle) von Elementen, mit denen man in bestimmter
MehrVorkurs Mathematik 1
Vorkurs Mathematik 1 Einführung in die mathematische Notation Konstanten i komplexe Einheit i 2 + 1 = 0 e Eulersche Zahl Kreiszahl 2 Einführung in die mathematische Notation Bezeichner Primzahlen, Zähler
MehrProbeklausur - eine Lösung
Probeklausur - eine Lösung Aufgabe 1 Sei p eine Primzahl, n N, q = p n und F q der Körper mit q Elementen. Sei G = GL 2 (F q ). a) Bestimmen Sie #G. 1 x b) Zeigen Sie, dass P = { : x F 1 q } eine p-sylowgruppe
MehrVektorgeometrie Layout: Tibor Stolz
Hanspeter Horlacher Vektorgeometrie Layout: Tibor Stolz 1. Einführung Eine Grösse, zu deren Festlegung ausser einer Zahl auch noch die Angabe einer Richtung nötig ist, heisst VEKTOR. P 2 P 1 P 1 P 2 P
Mehr6.2 Rechnen mit Matrizen
62 Rechnen mit Matrizen 62 Rechnen mit Matrizen 103 Für Matrizen desselben Typs ist eine Addition erklärt, und zwar durch Addition jeweils entsprechender Einträge Sind genauer A = (a ij ) und B = (b ij
Mehr9 Rechnergestütze Blockchiffren
9 Rechnergestütze n 9.1 ata Encryption Standard (ES) 1977 von National Bureau of Standards (heute National Institute of Standards and Technology) genormt arbeitet auf bit-blöcken Schlüssel 5 bit + 8 bit
Mehr5.2 Rechnen mit Matrizen
52 Rechnen mit Matrizen 52 Rechnen mit Matrizen 95 Für Matrizen desselben Typs ist eine Addition erklärt, und zwar durch Addition jeweils entsprechender Einträge Sind genauer A = (a ij ) und B = (b ij
MehrErinnerung Blockchiffre
Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,
MehrErinnerung Blockchiffre
Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,
Mehr6. Vorlesung. Rechnen mit Matrizen.
6. Vorlesung. Rechnen mit Matrizen. In dieser Vorlesung betrachten wir lineare Gleichungs System. Wir betrachten lineare Gleichungs Systeme wieder von zwei Gesichtspunkten her: dem angewandten Gesichtspunkt
Mehr1 Zum Aufwärmen. 1.1 Notationen. 1.2 Lineare Abbildungen und Matrizen. 1.3 Darstellungsmatrizen
1 Zum Aufwärmen 1.1 Notationen In diesem Teil der Vorlesung bezeichnen wir Körper mit K, Matrizen mit Buchstaben A,B,..., Vektoren mit u,v,w,... und Skalare mit λ,µ,... Die Menge der m n Matrizen bezeichnen
MehrElliptische Kurven Einführendes Bsp.
Elliptische Kurven Einführendes Bsp. Eine Menge von Kugeln wird als eine quadratische Pyramide angeordnet. Mit 1 Kugel oben, 4 weiteren darunter, dann 9 weiteren darunter usw. Wenn diese quadratische Kugelpyramide
Mehr+,! %(! + )! " -.. ) %+ " / " & (, $. $ %
) * ) -.. ) /. 0). )12340 5))6 7489:;1238 55< 633373329:; ) 5= 0> ) * -./01-23) 4 2567-) 0 89/ :57 ;7 2?6;?0 @=) 2@- 6-/ =)? 27A3 = 79 @ @B67@ -AC@ @=7 =/ 55DE/05;FA?=) 5 2 E//5;FA=) C 4 ADA
Mehr