Übersicht. Geschichte Mathematische Grundlagen Algorithmus. ISM WS 2017/18 Teil 6/AES
|
|
- Valentin Grosse
- vor 6 Jahren
- Abrufe
Transkript
1 Übersicht Geschichte Mathematische Grundlagen Algorithmus 2
2 Literatur [6-1] [6-2] [6-3] [6-4] [6-5] [6-6] nen/technischerichtlinien/tr02102/bsi-tr pdf [6-7] Testdaten: encryption/55-aes-test-vectors#aes-ecb [6-8] [6-9] 3 Geschichte I 1997: Öffentliche Ausschreibung Symmetrische Verschlüsselung Mindestblocklänge 128 Bit Schlüssellängen 128, 192 und 256 Bit Weltweit keine Lizenzgebühren Nutzbar für 30 Jahre 2000: Entscheidungsprozess in mehreren Runden 2002: Definition als Standard Die mit * gekennzeichneten Abbildungen stammen aus dem Standard [6-1]. Dies gilt auch für viele Beispiele. 4
3 Geschichte II - Endrunde Name Land Organisation MARS USA IBM RC6 USA RSA Laboratories RIJNDAEL Belgien J. Daeman, V. Rijmen SERPENT GB, Norwegen, Israel R. Anderson, E. Biham, L. Knudsen TWOFISH USA B. Schneier et al. Die Entscheidung fiel zugunsten RIJNDAEL. Alle 5 Endrundenkandidaten sind gute Chiffre-Algorithmen. 5 Advanced Encryption Standard (AES) Entwickler: Joan Daemen, Vincent Rijmen (Belgien), 2002 Symmetrisches Verfahren Blocklänge 128 bit (16 byte) Schlüssellänge 128 bit, 192 bit oder 256 bit Ver- und Entschlüsselung verläuft in Runden, deren Anzahl von der Länge des Schlüssels abhängig ist: Schlüssellänge 128 bit: 10 Runden (N r ) Schlüssellänge 192 bit: 12 Runden (N r ) Schlüssellänge 256 bit: 14 Runden (N r ) Primär beziehen sich die Folien auf die Schlüssellänge 128 bit, an einigen Stellen werden aber auch Verallgemeinerungen benutzt. 6
4 Mathematische Grundlagen I AES beruht auf einem endlichen Körper GF(256) bzw. GF(2 8 ) über Polynome vom max. Grad 7. Es gilt: Der Körper für die Koeffizienten ist Z 2. GF(256) kann also auch geschrieben werden: Z 2 [x] m(x) Das irreduzible Polynom m(x) ist m(x) x 8 +x 4 +x 3 +x+1. Das irreduzible Polynom m(x) muss vom Grad 8 sein warum? Da es sich um einem Körper handelt, gibt es zu jeder Operation eine inverse, was bei der Entschlüsselung ausgenutzt wird. 7 Mathematische Grundlagen II Die 8 Koeffizienten aus Z 2 werden durch ein Byte repräsentiert: p(x) = a 7 x 7 +a 6 x 6 +a 5 x 5 +a 4 x 4 +a 3 x 3 +a 2 x 2 +a 1 x+a 0 Byte = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Bis auf wenige Ausnahmen wird beim AES mit Bytes gearbeitet, wobei jedes Byte einem Polynom entspricht. 8
5 Mathematische Grundlagen III Addition und Subtraktion werden durch XOR implementiert, da die Koeffizienten aus Z 2 kommen: Operator definiert durch e=0 Operator wird durch XOR realisiert. Addition und Subtraktion sind gleich. Operator definiert durch Operator wird durch AND realisiert. e=1 9 Mathematische Grundlagen IV - Multiplikation Modul m(x) ist x 8 +x 4 +x 3 +x+1 oder 0x11b Beispiel aus [*, S.11]: (x 6 + x 4 + x 2 +x + 1)*(x 7 + 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) mod (x 8 +x 4 +x 3 +x+1) = x 7 +x 6 +1 Also Ausmultiplizieren und dann durch Division den Rest bestimmen Als Bitsequenzen in Hex: 0x57 * 0x83 = 0xC1 10
6 Mathematische Grundlagen V - Multiplikation Wenn ein Polynom mit x multipliziert wird, dann ist das ein Schieben um 1 Stelle nach links in der Bitstring-Repräsentation. Multiplikation Ergebnis Ergebnis in Bits mit Korrektur 0x57*0x01 0x x57*0x02 0xAE x57*0x04 0x x57*0x08 0x8E x57*0x10 0x x57*0x20 0x0E x57*0x40 0x1C x57*0x80 0x Korrektur durch m(x) Das ist die Modulo- Operation Tabelle mit mehrfachen Multiplizieren von 0x57 mit x Bitte beachten: x = 1*x 1 +0*x 0 = 0x02. Die 0x57 kommt aus dem vorherigen Beispiel. 11 Mathematische Grundlagen VI - Multiplikation xtimes(byte b) { if b[7] { // falls Bit 7 auf 1 ist return (b<<1) XOR 0x1b else { return (b<<1) Korrektur durch m(x)= 0x11b Durch den Linksshift << fällt das vorderste Bit eines Bytes immer heraus. Die Routine xtimes() multipliziert ein Polynom mit x. 12
7 Mathematische Grundlagen VII - Multiplikation (x 6 + x 4 + x 2 +x + 1)*(x 7 + x + 1) = 0x57 * 0x83 0x57*(0x80+0x02+0x01) = 0x57*0x80 + 0x57*0x02 + 0x57*0x01 = 0x38 + 0xAE + 0x57 In Hex Werte aus der Tabelle ablesen 0x38 = xAE = Addieren durch XOR x57 = Addieren durch XOR (= 0xC1 = x 7 +x 6 +1) Der Algorithmus zur Multiplikation zweier Polynome ist damit sehr dem Algorithmus der schnellen Potenzierung ähnlich, nur dass nun mit x multipliziert und nicht quadriert wird. 13 Mathematische Grundlagen VIII Das Inverse Das multiplikative Inverse lässt sich mit dem erweiterten Euklid'schen Algorithmus bestimmen. p(x) * p -1 (x) 1 (mod m(x)) Es wird daher der ggt berechnet und damit bestimmt: ggt(p(x),m(x))= 1 p'(x)*p(x)+m'(x)*m(x) (mod m(x)) p -1 (x) p'(x) (mod m(x)) Der Euklid'sche Algorithmus benutzt dann die Subtraktion, die in Z 2 gleich der Addition (XOR) ist. Wir verlassen nun die mathematische Sichtweise und gehen zur Sicht der Informatik über: Fast alle Bit-Operationen auf Bytes beruhen auf diesen mathematischen Zusammenhängen. 14
8 Repräsentation der Blöcke - state Datenblock (State) a 0,0 a 0,1 a 0,2 a 0,3 Blocklänge= 32*N b Bits, N b =4 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 16 byte = 128 bit Die Tabelle wird im Originaldokument [*] state genannt. Jeder einzelne Schritt in AES verarbeitet ein state und liefert ein neues state. In AES sind diese 16 byte die einzige Blockgröße; RIJNDAEL erlaubt noch zwei weitere Blockgrößen, die aber nicht in AES übernommen wurden; daher ist N b im AES immer Repräsentation der Blöcke I/O Eine Sequenz von Eingabe-Bytes in 0, in 1, in 2,,in 15 wird spaltenweise das state-array eingelesen. Schema: s[r,c]:= in [r+4*c] mit r in 0..3 und c in 0..3 Analog wird das state-array bei der Ausgabe spaltenweise in die Byte-Sequenz out 0, out 1, out 2,,out 15 konvertiert. Schema: out [r+4*c] := s[r,c] mit r in 0..3 und c in 0..3 r und c durchlaufen ihre Werte aufsteigend, wobei r schneller als c läuft. Aus [*] 16
9 Der Algorithmus im Überblick (Verschlüsselung) PROC encryptaes(state, ChipherKey) { KeyExpansion(ChipherKey, ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for (i = 1; i < N r ; i++) do Round(state, ExpandedKey[i]); od FinalRound(state, ExpandedKey[N r ]); Werte für N r : 128 bit: 10 Runden 192 bit: 12 Runden 256 bit: 14 Runden PROC Round(state, ExpandedKey) { SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); PROC FinalRound(state, ExpandedKey) { SubBytes(state); ShiftRows(state); AddRoundKey(state, ExpandedKey); MixColumns() fehlt 17 Bemerkungen Vor Beginn der Verschlüsselung (und vor der Entschlüsselung) wird aus dem geheimen Schlüssel ein Array von expandierten Schlüsseln mit N r +1 Elementen gemacht. N r ist die Anzahl der Runden. Jedes Array-Element von ExpandedKey[] enthält einen Teilschlüssel, der in einer bestimmten Runde benutzt wird. 18
10 AddRoundKey(state, ExpandedKey[...]); I KeyExpansion(ChipherKey,ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for... do SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); od Datenblock (state) a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 16 byte = 128 bit Rundenschlüssel k 0,0 k 0,1 k 0,2 k 0,3 k 1,0 k 1,1 k 1,2 k 1,3 = k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 Datenblock (state) b 0,0 b 0,1 b 0,2 b 0,3 b 1,0 b 1,1 b 1,2 b 1,3 b 2,0 b 2,1 b 2,2 b 2,3 b 3,0 b 3,1 b 3,2 b 3,3 Es handelt sich um eine einfache blockweise XOR-Verknüpfung (also um eine Addition in GF(256)). 19 AddRoundKey(state, ExpandedKey[...]); II Datenblock (state) Rundenschlüssel Datenblock (state) a 0,0 k 0,0 b 0,0 a 1,0 a 2,0 k 1,0 = k 2,0 b 1,0 b 2,0 Dies wird 4x durchgeführt. a 3,0 k 3,0 b 3,0 a 0,0 a 1,0 a 2,0 a 3,0 Eine Spalte des state wird Word (32 bit) genannt. Die Blocklänge wird in Worten definiert, hier 4. 20
11 SubBytes(state) I KeyExpansion(ChipherKey,ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for... do SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); od Hinweis: Die S-Box wird auch zur Generierung der Rundenschlüssel verwendet. Datenblock (state) a 0,0 a 0,1 a 0,2 a 0,3 S-Box Datenblock (state) b 0,0 b 0,1 b 0,2 b 0,3 a 1,0 a 1,1 a 1,2 a 1,3 b 1,0 b 1,1 b 1,2 b 1,3 a 2,0 a 2,1 a 2,2 a 2,3 b 2,0 b 2,1 b 2,2 b 2,3 a 3,0 a 3,1 a 3,2 a 3,3 b 3,0 b 3,1 b 3,2 b 3,3 S-Box steht für Substitutionsbox: sie dient dem "Verwürfeln" der Information. S-Boxen werden meist durch Tabellen realisiert, die den Ersetzungsmechanismus definieren. 21 SubBytes(state) II Da die S-Box unabhängig von den Schlüsseln ist, kann sie vorher berechnet und in einer Tabelle gespeichert werden: Aus 0x85 wird 0x97 Aus [*] Für die Entschlüsselung gibt es eine "inverse" S-Box. Die Werte können aus einem Array geholt, oder live in einer Funktion berechnet werden (je nach Speicherbedarf). 22
12 SubBytes(state) III Berechnung der S-Box Der Inhalt dieser Tabelle lässt sich anhand folgender Formel berechnen: y:= A*x -1 c x ist das Originalbyte, dessen Inverses in GF(256) mit einer Matrix A multipliziert wird, dessen Ergebnis am Ende zu einer Konstanten c addiert wird. Das Ergebnis ist ein neues Byte. Es wird also das multiplikative Inverse Element mittels des erweiterten Euklid'schen Algorithmus berechnet, wobei 0 sein eigenes Inverses ist. Dann wird das Ergebnis in GF(2) bzw. Z 2, also per XOR transformiert nach folgender Formel: b i = b i b (i+4)mod 8 b (i+5)mod 8 b (i+6)mod 8 b (i+7)mod 8 c i wobei i die Bitnummer (0 bis 7) und c eine Konstante mit dem Wert 0x63 ist. 23 ShiftRows(state) I KeyExpansion(ChipherKey,ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for... do SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); od Die einzelnen Zeilen werden in Abhängigkeit der Zeilennummer zyklisch nach links geschoben. Kein Shift 1x Shift 2x Shift 3x Shift Aus [10-1] 24
13 MixColumns(state) I KeyExpansion(ChipherKey,ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for... do SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); od Aus [*] Hier werden die Bytes innerhalb einer Spalte "verschoben" und dabei umgerechnet. Diese Funktion bestimmt wesentlich die kryptographische Stärke von AES. 25 Bemerkungen SubBytes() tauscht lediglich ein Byte gegen ein anderes aus, d.h. es gibt keine Effekte von einem Wert eines Bytes auf ein anderes, alle Bytes werden dabei isoliert behandelt. MixCollumns() sorgt dafür, dass in einer Spalte benachbarte Bytewerte sich gegenseitig beeinflussen, so dass sich bestimmte Werte auf andere im Status auswirken. Durch das in einer späteren Runde durchgeführte Shiften werden die Wirkungen innerhalb einer Spalte auf andere Spalten verteilt. Machen Sie sich die geniale Kombination von SubBytes(), ShiftRows() und MixCollumns() klar. 26
14 MixColumns(state) II Datenblock (state) Datenblock (state) a 0,0 a 0,1 a 0,2 a 0,3 b 0,0 b 0,1 b 0,2 b 0,3 a 1,0 a 1,1 a 1,2 a 1,3 b 1,0 b 1,1 b 1,2 b 1,3 a 2,0 a 2,1 a 2,2 a 2,3 b 2,0 b 2,1 b 2,2 b 2,3 a 3,0 a 3,1 a 3,2 a 3,3 b 3,0 b 3,1 b 3,2 b 3,3 Dazu wird jede Spalte als ein Polynom vom Grad 3, dessen Koeffizienten die Bytes a *,* sind, aufgefasst: c(x) = a 0,0 +a 1,0 *x+a 2,0 *x 2 +a 3,0 *x 3 Achtung! Hier sind nun die Koeffizienten selbst Polynome, d.h. die Arithmetik dieser Zahlen ist die von GF(256), Dieses Polynom wird mit f(x) = 3x 3 +x 2 +x+2 multipliziert und davon der Rest mit mod x 4-1 bestimmt. 27 MixColumns(state) III Das Ganze noch einmal in äquivalenter Form eher zum Programmieren: Es werden die Originalbytes mit den Konstanten 1, 2 oder 3 innerhalb von GF(256) multipliziert. Diese Zwischenergebnisse werden dann in folgender Weise addiert: b 0 = (a 0 2) (a 1 3) (a 2 1) (a 3 1) b 1 = (a 0 1) (a 1 2) (a 2 3) (a 3 1) b 2 = (a 0 1) (a 1 1) (a 2 2) (a 3 3) b 3 = (a 0 3) (a 1 1) (a 2 1) (a 3 2) a 0,0 b 0,0 a 1,0 b 1,0 a 2,0 b 2,0 a 3,0 b 3,0 28
15 KeyExpansion(ChipherKey, ExpandedKey) I KeyExpansion(ChipherKey,ExpandedKey); AddRoundKey(state, ExpandedKey[0]); for... do SubBytes(state); ShiftRows(state); MixColumns(state); AddRoundKey(state, ExpandedKey); od Rundenschlüssel (4x32 bit = 128 bit) k 0,0 k 0,1 k 0,2 k 0,3 k 1,0 k 1,1 k 1,2 k 1,3 k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 Die Schlüssellänge ist variabel: 128= 32*4, 192= 32*6, 256= 32*8, also N k = 4, 6 oder 8 N k ist die Anzahl der Worte des Schlüssels. Für jede Runde muss ein eigener Schlüssel generiert werden, der genauso groß wie state ist, also 128 bit. Es gibt drei Anzahlen von Runden: N r =10, 12, 14 Runden. AddRoundKey() wird N r +1 mal aufgerufen, d.h. für 128 bit sind 11 Rundenschlüssel erforderlich. Der erste Rundenschlüssel ist immer der Originalschlüssel, d.h. es müssen daraus 10 weitere Schlüssel generiert werden (bei 128 bit). 29 KeyExpansion(ChipherKey, ExpandedKey) II Schlüsseltabelle (ExpandedKey) 128 bit-schlüssel (4x32 bit) k 0,0 k 0,1 k 0,2 k 0,3 k 0,4 k 0,5 k 0,6 k 1,0 k 1,1 k 1,2 k 1,3 k 1,4 k 1,5 k 1,6 k 2,0 k 2,1 k 2,2 k 2,3 k 2,4 k 2,5 k 2,6 k 3,0 k 3,1 k 3,2 k 3,3 k 3,4 k 3,5 k 3,6 4x15 Worte 256 bit Spalte=Wort (32 bit) 4x13 Worte 4x11 Worte Word 192 bit 128 bit Die Spalten sind jeweils die Worte, die als Grundlage zur Berechnung der nächsten Worte dienen. Die Schlüsseltabelle wird dazu als ein Vektor von Worten aufgefasst; dieser wird nun W genannt. W[0] ist damit die 1. Spalte, W[1] die 2. Spalte etc. in der Abbildung oben. Die Werte 11, 13 und 15 bilden die Anzahl der Rundenschlüssel. 30
16 KeyExpansion(ChipherKey, ExpandedKey) III Schlüssellänge N k N r 128 bit 4 10 Das ist die Version für die Schlüssellänge von 128 bit: 192 bit bit 8 14 FUNC keyexpansion128(key) { Kopieren des Schlüssels nach W[0..3] for i:=4 to 40 { temp:= W[i-1] // das vorherige Wort wird geholt if (i mod 4) = 0 { temp:= SubWord(RotWord(temp)) XOR rcon[i/4] W[i]:= W[i-4] XOR temp return W 31 KeyExpansion(ChipherKey, ExpandedKey) IV Das ist allgemeine Version für alle Schlüssellängen: FUNC keyexpansion(key) { Kopieren des Schlüssels nach W[0..N k -1] for i:=n k to 4*N r { temp:= W[i-1] // das vorherige Wort wird geholt if (i mod N k ) = 0 { temp:= SubWord(RotWord(temp)) XOR rcon[i/n k ] else { if (N k = 8) AND (i mod N k ) = 4 { temp:= SubWord(temp) W[i]:= W[i-N k ] XOR temp return W 32
17 Bemerkungen Die ersten N k Worte sind der originale Schlüssel; alle anderen Worte werden iterativ in Bezug auf die davor liegenden Worte innerhalb des Arrays berechnet. Die Funktion SubWord() macht dasselbe wie SubBytes(), d.h. ersetzen der Bytes des Wortes anhand der S-Box. Die Funktion RotWord() verschiebt das Array von Bytes, das ein Wort bildet zirkulär nach Links. Also aus [a 0,a 1,a 2,a 3 ] wird [a 1,a 2,a 3,a 0 ], wobei [] die Byte-Sequenz innerhalb des Wortes bedeutet. rcon[] ist ein Array von Konstanten; die Division (i/n k ) ist immer ganzzahlig, da (i mod N k )=0 gilt. rcon[0] wird nie benutzt. 33 rcon[] Das Array rcon[] spiegelt die Werte folgender Funktion wieder: rcon(i)= x i-1 mod x 8 +x 4 +x 3 +x+1 Da auch hier der Schlüssel nicht eingeht, können die Werte wie bei der S-Box im voraus berechnet und und in einer Tabelle gehalten werden. Die Werte sind: i rcon(i) i rcon(i) i rcon(i) i rcon(i) 0 0x8D 4 0x08 8 0x xD8 1 0x01 5 0x10 9 0x1B 13 0xAB 2 0x02 6 0x x x4D 3 0x04 7 0x x6C 15 0x9A Es ist auch möglich, die Werte live zu berechnen. Die dazu erforderlichen Algorithmen sind oben angegeben. Dies ist bei Prozessoren mit sehr kleinem RAM/ROM notwendig. 34
18 Entschlüsselung I PROC encryptaes(state, ChipherKey) { Invert_KeyExpansion(ChipherKey, ExpandedKey); AddRoundKey(state, ExpandedKey[N r ]); for (i = N r -1; i >= 1 ; i--) do Invert_Round(state, ExpandedKey[i]); od Invert_FinalRound(state, ExpandedKey[0]); PROC Invert_Round(state, ExpandedKey) { Invert_ShiftRows(state); Invert_SubBytes(state); AddRoundKey(state, ExpandedKey); Invert_MixColumns(state); PROC Invert_FinalRound(state, ExpandedKey) { Invert_ShiftRows(state); Invert_SubBytes(state); AddRoundKey(state, ExpandedKey); Ähnliche Struktur, aber mit einer anderen S-Box, das Verschieben verläuft auch in die andere Richtung und die Anwendung der Teilschlüssel ist umgekehrt. Siehe dazu: [*] Kap Kritik am AES Zu wenige Runden; der Puffer gegenüber schneller Hardware ist zu gering aber noch geht es. Für Mathematiker zu einfach besseres Gefühl bei komplexen Algorithmen :-) Hier noch etwas zum Lesen: [A] [B] 36
19 Nach dieser Anstrengung etwas Entspannung... 37
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
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. 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
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)
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
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
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
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
MehrGaloiskörper GF(2 n ) (Teschl/Teschl 4)
Galoiskörper GF(2 n ) (Teschl/Teschl 4) auch Galois-Felder (englisch Galois elds), benannt nach Evariste Galois (18111832). Körper (in der Mathematik) allgemein: Zahlenbereich, in dem die vier Grundrechenarten
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
MehrAufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010
Aufgabensammlung aus Mathematik 2 UMIT, SS 2, Version vom 7. Mai 2 I Aufgabe I Teschl / K 3 Zerlegen Sie die Zahl 8 N in ihre Primfaktoren. Aufgabe II Teschl / K 3 Gegeben sind die natürliche Zahl 7 und
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:
MehrÜbungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)
Übungen zu Architektur Eingebetteter Systeme Blatt 4 22.05.2009 Teil 1: Grundlagen 1.1: Grundlagen des Cyclic redundancy code (CRC) Im Gegensatz zum Parity-Check, der nur einfache Bit-Fehler erkennen kann,
MehrDer Advanced Encryption Standard (AES)
Der Advanced Encryption Standard (AES) Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Geschichte des AES Die Struktur des AES Angriffe auf den AES Aktuelle Ergebnisse DerAdvanced Encryption Standard
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
MehrPraktikum IT-Sicherheit
IT-Sicherheit Praktikum IT-Sicherheit - Versuchshandbuch - Aufgaben Kryptografie II In diesem zweiten Versuch zur Kryptografie gehen wir etwas genauer auf die Art und Weise der Verschlüsselung mit der
MehrWURZEL Werkstatt Mathematik Polynome Grundlagen
Die WURZEL Werkstatt Mathematik Polynome Grundlagen Wer lange genug über hunderten von Problemen gebrütet hat, kann bei vielen bereits erraten, aus welchem Land sie kommen. So lieben die Briten etwa die
MehrEndliche Körper Seminar: Diskrete Mathematik Leitung: Prof. Dr. Rainer Lang Von: Steffen Lohrke (ii5105) SS2005
Endliche Körper Seminar: Diskrete Mathematik Leitung: Prof. Dr. Rainer Lang Von: Steffen Lohrke (ii5105) SS2005 Inhaltsverzeichnis Abelsche Gruppe 3 Kommutativer Ring 5 Körper 6 Endliche Körper 7 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
MehrKryptografische Algorithmen
Kryptografische Algorithmen Lerneinheit 5: Weitere symmetrische Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 21.9.2015 Einleitung Einleitung Diese
MehrKryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik
Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,
MehrIT-Sicherheit - Sicherheit vernetzter Systeme -
IT-Sicherheit - Sicherheit vernetzter Systeme - Kapitel 5: Symmetrische Kryptosysteme Helmut Reiser, LRZ, WS 09/10 IT-Sicherheit 1 Inhalt Symmetrische Kryptosysteme Data Encryption Standard (DES) Advanced
MehrVorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015
Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015
MehrEinführung in die Kryptographie
Ä Johannes Buchmann Einführung in die Kryptographie Dritte, erweiterte Auflage Inhaltsverzeichnis 1. Einleitung 1 2. Ganze Zahlen 3 2.1 Grundlagen 3 2.2 Teilbarkeit 4 2.3 Darstellung ganzer Zahlen 5 2.4
MehrKryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo
Kryptographische Verfahren zur Datenübertragung im Internet Patrick Schmid, Martin Sommer, Elvis Corbo 1. Einführung Übersicht Grundlagen Verschlüsselungsarten Symmetrisch DES, AES Asymmetrisch RSA Hybrid
Mehr3. Diskrete Mathematik
Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,
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
MehrDES der vergangene Standard für Bitblock-Chiffren
DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 8 Zufallszahlen Generatoren Anwendungen Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69, A-4040
MehrStudent: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
Mehr4: Algebraische Strukturen / Gruppen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 120 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion : G G G bezeichnen wir als Verknüpfung auf G. Das Paar (G,
MehrDas RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens
Das RSA Verfahren Das RSA-Verfahren beruht auf Modulo-Arithmetik mit riesigen ganzen Zahlen und der Berechnung modularer Potenzen bei der Verschlüsselung. Die genaue Mathematik wird in den folgenden Kapiteln
Mehr1 Zahlentheorie. 1.1 Kongruenzen
3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern
MehrSymmetrische Verschlüsselung. Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren
Symmetrische Verschlüsselung Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren Symmetrische Verfahren Sender und Empfänger haben sich auf einen gemeinsamen Schlüssel geeinigt (geheim!!). Sender
MehrName:... Vorname:... Matrikel-Nr.:... Studienfach:...
Stefan Lucks Medien Bauhaus-Univ. Weimar Probeklausur Name:.............................. Vorname:........................... Matrikel-Nr.:....................... Studienfach:........................ Wichtige
MehrGF(2 2 ) Beispiel eines Erweiterungskörpers (1)
GF(2 2 ) Beispiel eines Erweiterungskörpers (1) Im Kapitel 2.1 wurde bereits gezeigt, dass die endliche Zahlenmenge {0, 1, 2, 3} q = 4 nicht die Eigenschaften eines Galoisfeldes GF(4) erfüllt. Vielmehr
MehrMethoden der Kryptographie
Methoden der Kryptographie!!Geheime Schlüssel sind die sgrundlage Folien und Inhalte aus II - Der Algorithmus ist bekannt 6. Die - Computer Networking: A Top außer bei security by obscurity Down Approach
MehrLösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33
MehrAlgebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen
Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch
MehrAdvanced Encryption Standard
Fakultät für Mathematik und Informatik (Fakultät ) Institut für Diskrete Mathematik und Algebra Lehrstuhl für Algebra Seminararbeit Advanced Encryption Standard Michael von Wenckstern Angewandte Mathematik
MehrEinführung in die Kryptographie - Multiple Choice Quiz
Technische Universität Darmstadt Einführung in die Kryptographie - Multiple Choice Quiz Oren Halvani. M.Sc. Inf ormatik. Matrikel N o. Disclaimer Um was für ein Dokument handelt es sich hier genau?. Im
MehrDer Advanced Encryption Standard (AES) und seine mathematischen Grundlagen Eine Einführung für Nichtmathematiker, Teil 1
Informatik > Der Advanced Encryption Standard (AES) WissenHeute Jg. 59 3/2006 Der Advanced Encryption Standard (AES) und seine mathematischen Grundlagen Eine Einführung für Nichtmathematiker, Teil 1 In
MehrRijndael Nachfolger des DES
Schwerpunkt Rijndael Nachfolger des DES Der zukünftige Advanced Encryption Standard Michael Welschenbach Der symmetrische Blockverschlüsselungs-Algorithmus Rijndael von Joan Daemen und Vincent Rijmen wurde
Mehr1 Potenzen und Polynome
1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrGanzzahlige Division mit Rest
Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in
MehrLösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)
Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May Mathias Herrmann, Alexander Meurer Lösungsblatt zur Vorlesung Kryptanalyse WS 2009/2010 Blatt 6 / 23. Dezember
MehrEinstieg in die Informatik mit Java
1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4
MehrPublic-Key-Algorithmen WS2015/2016
Public-Key-Algorithmen WS2015/2016 Lernkontrollfragen Michael Braun Was bedeuten die kryptographischen Schutzziele Vertraulichkeit, Integrität, Nachrichtenauthentizität, Teilnehmerauthentizität, Verbindlichkeit?
MehrWiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES
Wiederholung Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Mathematische Grundlagen: algebraische Strukturen: Halbgruppe, Monoid,
MehrWas bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)
Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:
MehrStichpunktezettel fürs Tutorium
Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f
Mehr9.2 Invertierbare Matrizen
34 9.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
MehrA2.3 Lineare Gleichungssysteme
A2.3 Lineare Gleichungssysteme Schnittpunkte von Graphen Bereits weiter oben wurden die Schnittpunkte von Funktionsgraphen mit den Koordinatenachsen besprochen. Wenn sich zwei Geraden schneiden, dann müssen
MehrZahlen und elementares Rechnen
und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3
MehrEinführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch
Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen
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
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrMit Python von Caesar zur Public-Key Kryptographie
Mit Python von Caesar zur Public-Key Kryptographie Thomas Grischott KSS 30. Juni 2008 1 Die Caesarverschiebung Caesar hat Nachrichten an seine Feldherren verschlüsselt, indem er jeden Buchstaben um drei
MehrBerechnungen mit dem Horner-Schema
Berechnungen mit dem Horner-Schema Das Hornerschema kann als Rechenhilfsmittel zur Berechnung von Funktionswerten von Polynomfunktionen, zur Faktorisieriung von Polynomen alternativ zur Polynomdivision
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrEinführung in Computer Microsystems
Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrTutorium Mathematik II, M Lösungen
Tutorium Mathematik II, M Lösungen März 03 *Aufgabe Bestimmen Sie durch Hauptachsentransformation Lage und Typ der Kegelschnitte (a) 3x + 4x x + 3x 4x = 0, (b) 3x + 4x x + 3x 4x 6 = 0, (c) 3x + 4x x +
MehrVorkurs: Mathematik für Informatiker
Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil
Mehrn ϕ n
1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker
Mehr8 Komplexitätstheorie und Kryptologie
8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.
Mehr1.3 Gruppen. Algebra I 9. April 2008 c Rudolf Scharlau,
Algebra I 9. April 2008 c Rudolf Scharlau, 2002 2008 18 1.3 Gruppen Der Begriff der Gruppe ordnet sich in gewisser Weise dem allgemeineren Konzept der Verknüpfung (auf einer Menge) unter. So ist zum Beispiel
MehrPrimzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st
Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2,..., die ganzen Zahlen Z, die rationalen Zahlen (Brüche
MehrDer RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.
Kapitel 4 Der RSA-Algorithmus Der RSA-Algorithmus ist das heute bekannteste Verfahren aus der Familie der Public-Key-Kryptosysteme. Es wurde 1978 der Öffentlichkeit vorgestellt und gilt bis heute als der
MehrNetzwerktechnologien 3 VO
Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist
MehrDivision Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
Mehr3.6 Eigenwerte und Eigenvektoren
3.6 Eigenwerte und Eigenvektoren 3.6. Einleitung Eine quadratische n n Matrix A definiert eine Abbildung eines n dimensionalen Vektors auf einen n dimensionalen Vektor. c A x c A x Von besonderem Interesse
MehrLineare Differenzengleichungen und Polynome. Franz Pauer
Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck, Technikerstr. 13/7, A-600 Innsbruck, Österreich. Franz.Pauer@uibk.ac.at Vortrag beim ÖMG-LehrerInnenfortbildungstag
MehrLineare Gleichungssysteme (Teschl/Teschl 11.1)
Lineare Gleichungssysteme (Teschl/Teschl.) Ein Lineares Gleichungssystem (LGS) besteht aus m Gleichungen mit n Unbekannten x,...,x n und hat die Form a x + a 2 x 2 +... + a n x n b a 2 x + a 22 x 2 +...
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
MehrLineare Gleichungen mit 2 Variablen
Lineare Gleichungen mit 2 Variablen Lineare Gleichungen mit 2 Variablen sind sehr eng verwandt mit linearen Funktionen. Die Funktionsgleichung einer linearen Funktion f(x) = m x+q m: Steigung, q: y Achsenabschnitt
MehrUrbild Angriff auf Inkrementelle Hashfunktionen
Urbild Angriff auf Inkrementelle Hashfunktionen AdHash Konstruktion: (Bellare, Micciancio 1997) Hashe Nachricht x = (x 1,..., x k ) als H(x) = k i=1 h(i, x i) mod M. Inkrementell: Block x i kann leicht
MehrProjekt u23 Symmetrische Kryptografie, Betriebsmodi von Blockchiffren
Symmetrische Kryptografie Betriebsmodi von Blockchiffren und was man sonst damit machen kann Martin e.v. https://koeln.ccc.de 12. Oktober 2015 Definition Krypto-System Tupel (M, C, K, E, D) Message, Ciphertext,
MehrOft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.
Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrDefinition, Rechenoperationen, Lineares Gleichungssystem
Bau und Gestaltung, Mathematik, T. Borer Aufgaben / Aufgaben Matrizen Definition, Rechenoperationen, Lineares Gleichungssystem Lernziele - die Bezeichnung der Matrixelemente kennen und verstehen. - den
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
MehrPublic-Key Kryptographie mit dem RSA Schema. Torsten Büchner
Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen
MehrDHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)
DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) Aufgabe 3 Bankkonto Schreiben Sie eine Klasse, die ein Bankkonto realisiert. Attribute für das Bankkonto sind der Name und Vorname des Kontoinhabers,
MehrI. II. I. II. III. IV. I. II. III. I. II. III. IV. I. II. III. IV. V. I. II. III. IV. V. VI. I. II. I. II. III. I. II. I. II. I. II. I. II. III. I. II. III. IV. V. VI. VII. VIII.
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
MehrHast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!
Chr.Nelius: Zahlentheorie (SoSe 2016) 1 14. Aufgabenblatt ZAHLENTHEORIE (für Master G und HRG) Lösungen Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor
MehrWIEDERHOLUNG (BIS ZU BLATT 7)
Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber
MehrDLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27
DLP Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de Fachbereich Mathematik und Informatik ALZAGK SEMINAR Bremen, den 18. Januar 2011 1 / 27 Inhaltsverzeichnis 1 Der diskrete Logarithmus Definition
MehrÜbungen zu Numerisches Programmieren
Technische Universität München SS 009 Institut für Informatik Prof. Dr. Thomas Huckle Michael Lieb, M. Sc. Dipl.-Tech. Math. Stefanie Schraufstetter Übungen zu Numerisches Programmieren 3. Programmieraufgabe
MehrVorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7
Vorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7 Timo Stöcker Erstsemestereinführung Informatik TU Dortmund 22. März 2011 Heute Themen Lineare Gleichungssysteme Matrizen Timo Stöcker https://fsinfo.cs.tu-dortmund.de/studis/ese/vorkurse/mathe
MehrEinführung in die Kryptographie
Johannes Buchmann Einführung in die Kryptographie Fünfte Auflage ~ Springer Inhaltsverzeichnis 1. Einleitung... 1 2. Ganze Zahlen............................................. 3 2.1 Grundlagen... 3 2.2
Mehr1 Algebraische Strukturen
Prof. Dr. Rolf Socher, FB Technik 1 1 Algebraische Strukturen In der Mathematik beschäftigt man sich oft mit Mengen, auf denen bestimmte Operationen definiert sind. Es kommt oft vor, dass diese Operationen
MehrKRYPTOSYSTEME & RSA IM SPEZIELLEN
KRYPTOSYSTEME & RSA IM SPEZIELLEN Kryptosysteme allgemein Ein Kryptosystem ist eine Vorrichtung oder ein Verfahren, bei dem ein Klartext mithilfe eines Schlüssels in einen Geheimtext umgewandelt wird (Verschlüsselung)
MehrJürgen Roth Didaktik der Linearen Algebra & Analytischen Geometrie
Jürgen Roth Didaktik der Linearen Algebra und Analytischen Geometrie Modul 12a: Fachdidaktische Bereiche juergen-roth.de/lehre/did_linalg_anageo/ Kapitel 3: Modellieren & Angewandte Mathematik 3.1 Inhalte
Mehr(Allgemeine) Vektorräume (Teschl/Teschl 9)
(Allgemeine) Vektorräume (Teschl/Teschl 9) Sei K ein beliebiger Körper. Ein Vektorraum über K ist eine (nichtleere) Menge V, auf der zwei Operationen deniert sind, die bestimmten Rechenregeln genügen:
Mehr