Kryptographische Zufallszahlen. Schieberegister, Output-Feedback

Ähnliche Dokumente
Symmetrische Verschlüsselung. Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren

9.5 Blockverschlüsselung

10.4 Sichere Blockverschlüsselung

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

Allgemeiner Aufbau der Information

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

Stromchiffre. Algorithmus Stromchiffre

II.1 Verschlüsselungsverfahren

Stromchiffre. Algorithmus Stromchiffre

IT-Security. Teil 15: Zufall

Klassische Verschlüsselungsverfahren

9. Einführung in die Kryptographie

Erinnerung Blockchiffre

Grundlagen der Verschlüsselung und Authentifizierung (1)

Designziele in Blockchiffren

Name:... Vorname:... Matrikel-Nr.:... Studienfach:...

Kryptographie und Komplexität

Kryptographie für CTFs

Stromchiffren. Entwurf, Einsatz und Schwächen. Diplomarbeit im Studiengang Mathematik. vorgelegt von Barbara Lucie Langer.

Hashfunktionen und MACs

Kryptographie und Komplexität

Pseudozufallsgeneratoren

4 Der diskrete Logarithmus mit Anwendungen

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre

Lineare Kongruenzgeneratoren und Quicksort

Kryptographische Algorithmen

Grundlagen der Kryptographie

IT-Sicherheit: Kryptographie

Erinnerung Blockchiffre

Erinnerung Blockchiffre

Kryptographie für CTFs

Kryptographische Algorithmen

Konstruktion von MACs. Message Authentication Codes. Sicherheitsmodell CBC-MAC

Stream cipher. Merima Halkic Maria Davidouskaya Mostafa Masud

Pseudo-Zufallsgeneratoren basierend auf dem DLP

Zyklische Codes Rechnernetze Übung SS2010

Folie 1. Kryptographie

Analyse Kryptographischer Algorithmen: KRYPTON & TWOFISH

Message Authentication Codes. Konstruktion von MACs. Hash-then-Encrypt. Sicherheitsmodell

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Konstruktion CPA-sicherer Verschlüsselung

Kryptografische Hashfunktionen

Das Generalized Birthday Problem

Betriebsarten von Blockchiffren. ECB Electronic Code Book Mode. Padding. ECB Electronic Code Book Mode

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Die (Un-)Sicherheit von DES

Betriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12

(Ernst Erich Schnoor)

Kryptographie - eine mathematische Einführung

IT-Sicherheitsmanagement Teil 11: Symmetrische Verschlüsselung

Erzeugung von Pseudozufallszahlen mit Computern

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Einführung in die. Kryptographie WS 2016/ Lösungsblatt

(Ernst Erich Schnoor)

Literatur. ISM WS 2016/17 7/Symmetrische Verschlüsselung

128-Bit-Schlüssel, d. h., ein auch für heutige Begriffe bei weitem ausreichender. 128-Bit-Blöcke, auch dies wie gesehen heutigen Ansprüchen genügend.

Literatur. ITSec SS 2017 Teil 12/Symmetrische Verschlüsselung

Stream Cipher. P. Höllinger - J. Kanzler - M. Widmoser SS Universität Salzburg. Stream Cipher Einführung Kryptographie und IT-Sicherheit 1/53

IT-Sicherheit Kapitel 2 Symmetrische Kryptographie

Kapitel 4: Flusschiffren

VII. Hashfunktionen und Authentifizierungscodes

9.2 Die Klassen QP und BQP

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Algorithmische Anwendungen

Message Authentication Codes

Kryptographie und Komplexität

IT-Sicherheitsmanagement Teil 7: Symmetrische Verschlüsselung

Benutzerhandbuch. Werkzeug zur statistischen Analyse von Zufallsfolgen. Timo Scheit

Einführung in die Kryptographie

6.3 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen. die Nachricht erreicht den Empfänger so, wie sie abgeschickt wurde

Algorithmentheorie Randomisierung

Sicherheit des CypherMatrix Verfahrens

Einführung in die Kryptographie

Grundlagen der Kryptographie

3. Lösungsblatt

Zufallszahlen in AntBrain

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

AES und Public-Key-Kryptographie

Nr. 4: Pseudo-Zufallszahlengeneratoren

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2012

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Netzwerktechnologien 3 VO

74 5 DES und AES. 5.1 Der Data Encryption Standard (DES)

IT-Security. Teil 12: Symmetrische Verschlüsselung

6.2 Asymmetrische Verschlüsselung

VP WAP Kryptographie

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur Hinweise

Alice (A) und Bob (B) wollen sicher kommunizieren (vgl. Schutzziele) Oskar (O) versucht, die Schutzziele zu durchbrechen

Adaption eines Conditional Access Systems für Eureka 147 DAB

Neue Technologien im Internet

Vorlesung Sicherheit

Die (Un-)Sicherheit von DES

Transkript:

Kryptographische Zufallszahlen Schieberegister, Output-Feedback

Stromchiffren Bei Stromchiffren wird die Eingabe zeichenweise bzw. blockweise mit einer parallel dazu erzeugten Schlüsselfolge meist mit XOR oder ADD chiffriert. Die Schlüsselfolge ist dabei meist eine pseudo Zufallsfolge. Zeichenbzw. Block- Generator Klartextfolge: + Chiffretext: 5 - S 2

Einmalschlüssel Bei Stromchiffren dürfen Schlüssel keinesfalls mehrfach verwendet werden! Nachricht1 + Schlüssel = Chiffre1 Nachricht2 + Schlüssel = Chiffre2 Chiffre1 - Chiffre2 = Nachricht1 - Nachricht 2 Damit kann die Nachricht als mit Klartext verschlüsselt angesehen werden und mit statistischen Methoden entschlüsselt werden. Damit ist der Schlüssel kompromittiert und kann erst recht nicht für noch weitere Verschlüsselungen verwendet werden 5 - S 3

deterministische zufällige Folgen Pseudo-Zufallszahlen um nicht lange Schlüsselfolgen sicher zu übertragen, erzeugt man lange Folgen aus kurzen Schlüsseln deterministisch Die Folge muß Zufällig sein, d.h. keine statistischen Unregelmäßigkeiten aufweisen. (Folgen mit sehr langer Periode) Der Erzeugungsalgorithmus muß kryptographisch sicher sein. z.b. Schieberegister-Folgen technisch leicht sind 0-1-Folgen mit Schieberegistern zu realisieren z.b. Rekursion etwas aufwendiger sind Folgen natürlicher Zahlen die sich aus d+1 Anfangswerten x 0,x 1,...,x d durch eine rekursive Definition x n+1 := f((x n,x n-1,...x n-d ) ergeben. (Zufälligkeit nur schwer verifizierbar) 5 - S 4

Cypher Feedback Aus Blockchiffren kann man Stromchiffren erzeugen: Cipher FeedBack (CFB)-Mode Anfangsblock E, Schlüssel S Chiffreblock Z = C(S,A) (abhängig vom Klartext) Codebyte = Textbyte + Z 1 (1.Byte von Z, entsprechend für k Byte) E : 1-Byte-Shift + Codebyte. 1-Byte-Shift Anfangsblock Schlüssel C Codebyte + Chiffreblock Klartextbyte 5 - S 5

Output Feedback Eine alternative Methode ist: Ouput FeedBack (OFB)-Mode Anfangsblock E, Schlüssel S Chiffreblock Z = C(S,A) (unabhängig vom Klartext) Codebyte = Textbyte + Z 1 (1.Byte von Z, entsprechend für k Byte) E : 1-Byte-Shift + Z 1. 1-Byte-Shift Anfangsblock Schlüssel C Chiffreblock + Codebyte Klartextbyte 5 - S 6

Crypt Der UNIX-Verschlüssselungsalgorithmus crypt greift die Ideen der ENIGMA auf. Aus dem Schlüssel wird je ein 256-Element Rotor und Reflektor erzeugt, die nach dem ENIGMA-Prinzip eine dauend wechselnde Substitution erzeugen. Wie die ENIGMA ist diese Stromchiffre leicht analysierbar und das frei verfügbare CBW (crypt breakers workbench) knackt Daten, die mit crypt verschlüsselt sind. Crypt ist also als Verschlüsselung nicht zu empfehlen könnte aber prinzipiell zu einer funktionstüchtigen Verschlüsselung ausgebaut werden (viele Rotoren aber keinen Reflector) 5 - S 7

RC4 Externer Schlüssel: S (k Byte) Interner Schlüssel: 2 Byte i,j + Permutation P i (i=0...255) 0 0 0 1 2 3 4 5 6 7 8 9... i... j... 255 Initialisierung......... i j P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P i P j P 255 + + i=0...255 S S... S Konstruktion der Zufalls-Bytefolge K i i j P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9... P i... P j... P 255 + 1 + K i = P t + t 5 - S 8

SEAL Neuer Algorithmus von Rogaway & Coppersmith, von IBM patentiert. Sehr schnelle Chiffrierung Beruht auf der (langsamen) Berechnung von 3 KByte langen Tabellen aus einem Schlüssel Die Berechnung der Schlüsselfolge muß nicht sequentiell geschehen, sondern kann beliebig viele Bytes überspringen. Besonders geeignet für die Chiffrierung ganzer Festplatten oder verstreuter Datenbankeinträge. bisher unbekannt, aber wahrscheinlich hoch. 5 - S 9

Schieberegister LFSR Eine Anfangs- Bitfolge wird durch ein Schieberegister geschoben und dabei das nächste Folgenbit aus einigen der vorhergehenden aufsummiert: 1000 + 0100 1010 0101 Periode 6 0010 0001 1000 1000 + 1100 1110 1111 0111 1011 1101 Periode 15 Ein Schieberegister der Länge n 0110 erzeugt eine Bitfolge einer Periode 0011 von höchstens 2 n -1. 1001 Sobald 000..0 vorkommt, ist die 0100 Bitfolge konstant 0. 0010 0001 1000 5 - S 10

Kryptoanalyse known-plaintext-attack: ist eine durchgehendes Schlüssel-Stück von der doppelten Länge des Schieberegisters bekannt, so kann der Code gebrochen werden Im vorigen Beispiel sei das Folgenstück 00111101 bekannt. Mit dem Ansatz x n+4 := c 0 x n + c 1 x n+1 + c 2 x n+2 + c 3 x n+3 und dem Anfangsstück 0011 ergeben sich die Bedingungen c 2 + c 3 = 1, c 1 + c 2 + c 3 = 1, c 0 + c 1 + c 2 + c 3 = 0, c 0 + c 1 + c 2 = 1, woraus sich die Rückkopplungen c 0 = c 3 = 1 und deren fehlen c 1 = c 2 = 0 bestimmen läßt Jede Bitfolge von Periode <2k läßt sich durch ein Schieberegister der Länge <k erzeugen. Die kleinste solche Schieberegister-Länge heißt die lineare Komplexität der Bitfolge 5 - S 11

nichtlineare Rückkopplung Verknüpft man die Rückkopplungen nicht einfach mit + sondern mit einem komplexeren Ausdruck mit +,* (XOR, AND), so entsteht eine Folge, die eventuell größere lineare Komplexität besitzt. a*d + 1 d c b a 1 0000 1000 1100 1110 1111 Periode 5 0111 1011 0101 1110 0000 1000 0100 1010 0101 Periode 15 + 0010 1001 1100 0110 d c b a 1011 1101 1110 Die Kryptoanalyse liefert für ein 5-elementiges LFSR die TAP-Sequenz 4,3,1 0111 und mit dieser läßt sich diese Zufallsfolge genau erzeugen. 0011 0001 0000 Es ist aber nicht garantiert, daß die Komplexität wirklich ansteigt, wie das erste Beispiel zeigt. Die 00..0 spielt in nichtlinearen Rückkopplungen keine Sonderrolle mehr 5 - S 12

A5 (D-Netze) A5 benützt ein 64-Bit Register als 3 LFSR der Längen 19, 22 und 23 und den TAP-Sequenzen 18,17,16,13 ; 21,20,16,12 und 22,21,18,17. + + + höchstens eines der Register gibt sein Bit weiter, wenn nämlich sein mittleres Bit (dick umrandet) sich von den beiden anderen mittleren Bit unterscheidet. Damit ist die Bitfolge nichtlinear rückgekoppelt. Wegen der kurzen Register und Sequenzen ist A5 nicht als sicher anzusehen, trotzdem ist es einer der meistgenutzen Algorithmen. 5 - S 13

Lineare Rekursion Betrachten wir die Zahlen {0,1,...,N-1} und darauf die Rekursion x n+1 := a*x n + c MOD N, so erhält man eine Zahlenfolge, x n = a n *x 0 + (a n-1 +...+a+1)*c = a n *x 0 + c*(a n -1)/(a-1) MOD N, deren Periode maximal N sein kann. Hinreichend: ggt(c,n) = 1 ; prim p N => p (a-1) ; 4 N => 4 (a-1) Beispiele zeigen aber noch starke Regelmäßigkeiten Verbesserung: Linear-rekursive Folge auf NM Zahlen erzeugen und mit _ DIV M auf {0,1,...,N-1} reduzieren. 5 - S 14

Beispiel N=26 => 2,13 a-1 => a=1, wähle c=7 : 0 7 14 21 2 9 16 23 4 11 18 25 6 13 20 1 8 15 22 3 10 17 24 5 12 19 0... Die graphische Darstellung der Folge zeigt eine starke Regelmäßigkeit Beispiel 5 - S 15

Beispiel Beispiel N=24, wähle a=13, c=23 0 23 10 9 20 19 6 5 16 15 2 1 12 11 22 21 8 7 18 17 4 3 14 13 eine auffällige Häufung von Zahlenpaaren i, i-1! Die graphische Darstellung der Folge zeigt eine starke Regelmäßigkeit 5 - S 16

Verbesserung Mit DIV auf kleinere N reduzieren: z.b. _ DIV 2 0 7 14 21 2 9 16 23 4 11 18 25 6 13 20 1 8 15 22 3 10 17 24 5 12 19 0... 0 3 7 10 1 4 8 11 2 5 9 12 3 6 10 0 4 7 11 1 5 8 12 2 6 9 0... Noch viel Regelmäßigkeit, aber Wiederholungen ohne Periode möglich Mit DIV auf kleinere N reduzieren: z.b. _ DIV 2 0 23 10 9 20 19 6 5 16 15 2 1 12 11 22 21 8 7 18 17 4 3 14 13 0 11 5 4 10 9 3 2 8 7 1 0 6 5 11 10 4 3 9 8 2 1 7 6 noch immer die auffällige Häufung von i i-1. 5 - S 17

nichtlineare Rekursion 3^x+63 mod 127 (x-63)^2 +42 mod 127 7x+63 mod 127 x+42 mod 127 5 - S 18

Rekursion Es wird berechnet: x(k+1)=a 3 x(k) + a 2 x(k-1) + a 1 x(k-2) (mod m) m=27 ==> max. Periode 27 3-1 = 19682 a 1 = 1, a 2 = 7, a 3 = 4 : 01 02 03 00 23 14 01 17 08 17 06 16 15 16 23 03 00 17 17 25 20 02 11 24 13 15 13 08 03 00 02 11 04 14 14 23 15 19 15 19 11 03 00 00 23 19 26 17 26 06 07 15 07 05 03 00 26 26 16 21 01 20 24 04 15 04 07 03 00 11 20 22 23 23 05 15 10 15 10 20 03 00 14 05 10 08 26 08 06 25 15 25 14 03 00 08 08 07 11 20 02 24 22 15 22 26 03 00 20 02 05 05 14 15 01 15 [Periode 117] 01 02 03 00 23 14 Die maximale Periode wird bei weitem nicht erreicht aber es gibt einige unregelmäßige Wiederholungen 5 - S 19

Rekursion Es wird berechnet: x(k+1)=a 3 x(k) + a 2 x(k-1) + a 1 x(k-2) (mod m) m=27 ==> max. Periode 27 3-1 = 19682 a 1 = 1, a 2 = 7, a 3 = 4 : 01 01 01 12 02 12 20 04 06 18 10 10 20 25 07 07 21 05 12 23 19 06 18 25 16 14 04 22 22 03 26 12 17 06 06 18 22 04 26 19 19 19 12 11 12 02 22 06 18 01 01 02 16 25 25 21 14 02 05 10 06 18 16 07 23 22 03 13 03 08 12 26 07 06 18 13 22 08 10 10 10 12 20 12 11 13 06 18 19 19 11 07 16 16 21 23 12 14 01 06 18 07 25 05 13 04 04 03 17 12 08 25 06 18 04 13 17 [Periode 117 ] 01 01 01 12 02 12 5 - S 20

Beispiele Es wird berechnet: x(k+1)=a 3 x(k) + a 2 x(k-1) + a 1 x(k-2) (mod m) Die Periode muß nicht an den Anfang zurückkehren: m=27 ==> max. Periode 27 3-1 = 19682 a 1 = 3, a 2 = 7, a 3 = 4 : 03 02 01 00 13 01 14 21 23 11 25 03 04 04 26 09 14 08 22 24 04 07 20 06 23 05 10 09 13 10 23 12 23 02 16 12 04 13 08 00 14 26 13 06 04 16 02 24 23 23 01 18 13 19 05 03 23 20 07 21 04 22 17 18 14 17 04 15 04 25 11 15 23 14 19 [Position 75, Periode 72 ] 00 13 01 a 1 = 1, a 1 = 7, a 1 = 4 : 01 03 03 09 12 12 24 00 15 24 12 18 12 21 06 18 15 15 03 00 12 03 15 09 15 6 21 [Position 27,Periode 24] 09 12 12 5 - S 21

Lineare Rekursion: In der Statistik sind lineare Rekursionen als gute Zufallsgeneratoren sehr beliebt, weil sie statistischen Zufallstests sehr gut standhalten Die kryptographische von Zufallsgeneratoren, die auf linearer Rekursion beruhen ist als sehr schlecht zu bewerten. Selbst wenn Nichtlinearitäten zugelassen werden (z.b. X n = (a* X n-13 +b*x n-12 + c*x n-1 +d) mod N ) kann eine so erzeugte Bitfolge noch leicht gebrochen werden, d.h. der Erzeugungsmechanismus kann aus kurzen Teilfolgen bestimmt werden 5 - S 22

Message Digest Cypher Um gute Zufallsgeneratoren zu konstruieren kann man die Feedback-Modi statt auf Blockcodes auch auf nichtumkehrbare Funktionen (Hashfunktionen) anwenden. Eine Hashfunktion ist eine schlüsselabhängige Funktion H, die Zeichenfolgen beliebiger Länge auf Blöcke einer festen Länge t abbildet, dabei ist eine Umkehrfunktion nicht nötig (und nicht erwünscht!) Append Schlüssel H CFB Zufallsblock Append Schlüssel H Codeblock + Klartextblock OFB Zufallsblock 5 - S 23