Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Projekt Crypt Einfache kryptografische Verfahren zum selber programmieren. von Torsten Zuther.

Ähnliche Präsentationen


Präsentation zum Thema: "Projekt Crypt Einfache kryptografische Verfahren zum selber programmieren. von Torsten Zuther."—  Präsentation transkript:

1 Projekt Crypt Einfache kryptografische Verfahren zum selber programmieren. von Torsten Zuther

2 Inhalt Seite 1 1.Einfache klassische Verfahren 1.1. Cäsarverfahren – altes Prinzip modernisiert 1.2. Multiplikationsverfahren 1.3. Tausch-Chiffre 1.4. Lineare Schieberegister 1.5. Vigenére-Chiffre 1.6. Aufblähen-Algorithmus 1.7. XOR-Verschlüsselung

3 Inhalt Seite 2 2.Schwer invertierbare Verfahren 2.1. Das RSA-Verfahren 2.2. Der Data Encryption Standard(DES)

4 1.1. Cäsar modernisiert  Idee von Cäsar: (Verschiebung des Alphabets um s Einheiten) Index12…26 AlphabetAB…Z Chiffriertes Alphabet (s = 4) EF…D

5 1.1. Cäsar modernisiert  Beispiel: Schlüssel = 11 aus „CAESAR“ wird „NLPDC“

6 1.1. Cäsar modernisiert  Das Alphabet hier besteht aus 256 Zeichen (ASCII-Zeichensatz).  0 < s < 256  255 Schlüssel

7 1.1. Cäsar modernisiert Beispiel (s = 46):

8 1.2. Multiplikationsverfahren  Starke Verwandtschaft mit dem Cäsarverfahren Jedes Zeichen wird im Modul 256 mit t multipliziert. (t ist der Schlüssel) K = 44 (Klartext) M = 256 (das Modul, der ASCII-Zeichensatz) T = 11 (t, der Multiplikator oder der Schlüssel)

9 1.2. Multiplikationsverfahren  Beispiel: Verschlüsselung: (K * t) mod m = (44 * 11) mod 256 = 484 mod 256 C (Ciphertext)= 228 Entschlüsselung: (modulare Inverse von t ausrechen – mit dem euklidischen Algorithmus) (C * inv t) mod m = (228 * 163) mod 256 = K = mod 256 = 44

10 1.3. Tausch-Chiffre  Kapselt Cäsar- und Multiplikationsverfahren Verschlüsselung: c = [(k + s) * t] mod m Entschlüsselung: k = [(c * inv t) – s] mod m

11 1.4. Lineare Schieberegister  Besteht aus n Bits (Zellen) und einem Index m (die markierte Zelle) Beispiel: m = 4 Register wird 2 n – 1 mal nach rechts verschoben

12 1.4. Lineare Schieberegister Schlüssel =

13 1.4. Lineare Schieberegister  Beispiel Klartext = ; Schlüssel = Verschlüsselt = Klartext xor Schlüssel   Ciphertext

14 1.5. Vigenére-Chiffre  Ähnlich dem Cäsarverfahren, aber mit mehreren versch. Schlüsseln zu einem Passwort zusammengefügt: Klartext = "CAESAR" Passwort = "TEST" Verschlüsselung: CAESAR T(s=20)E(s=5)S(s=19)T(s=20) E(s=5)

15 1.5. Vigenére-Chiffre  Garantiert 100%ige Sicherheit, wenn Passwortlänge = Klartextlänge  Keine Häufigkeitenanalyse  One-Time-Pad

16 1.6. Aufblähen-Algorithmus  Klartext = "Test" = c 0 + c 1 + c 2 + c 3 Verschlüsseln durch Verwirbelung  Ciphertext = c 1 + R 0 + c 0 + c 3 + R 1 + c (Vertauschen von je zwei Zeichen und Einfügen eines Zufallszeichens in deren Mitte)

17 1.7. XOR-Verschlüsselung  Einfachstes symmetrisches Verfahren  Schwacher Schutz Jedes Klartextzeichen wird XOR mit dem Schlüssel verknüpft. Entschlüsseln = Verschlüsseln

18 2.1. Das RSA-Verfahren  Beruht auf dem Problem der Primfaktorenzerlegung, das bei großen Zahlen (>512 Bit) enormen Rechenaufwand verursacht.  Asymmetrisches Verfahren  3 Schlüssel (2 öffentliche, 1 geheimer): öffentlich: das Modul n, der Encryptor e geheim : der Decryptor d

19 2.1. Das RSA-Verfahren  Zunächst Schlüsselerzeugung  p und q (beide prim) bilden das Modul n:  n = p * q  e ist teilerfremd zu (p-1)*(q-1), d.h. GgT(e,[p-1]*[q-1]) = 1  d = die Inverse von e im Modul (p-1)*(q-1)

20 2.1. Das RSA-Verfahren  Nun kann verschlüsselt werden (Beispiel): p = 17; q = 31 n = p * q = 527 e muss teilerfremd zu (p-1) * (q-1) sein  z.B. e = 7  d = inv e (im Modul (17-1)*(31-1) = 480) d = 343

21 2.1. Das RSA-Verfahren  Klartext = 2 c = 2^e mod n = 2 ^ 7 mod 527 = 128 mod 527 = 128

22 2.1. Das RSA-Verfahren Entschlüsseln Klar = 128^d mod n = 128^343 mod 527 = * * * * * mod 527 = 35 * 256 * 35 * 101 * 47 * 128 mod 527 = 2 mod 527 = 2

23 2.1. Das RSA-Verfahren  Angriffsmöglichkeiten: BruteForce-Attacke (aussichtslos) Primfaktorzerlegung von n um auf d zu schließen (bei n >= 1000 Bits aussichtslos)

24 2.2. Der Data Encryption Standard (DES)  64 Bit Daten werden mit einem 64 Bit Schlüssel verschlüsselt (bzw. 56 Bit)  Symmetrisches Verfahren  Grafische Darstellung (nächste Seite)

25

26 Beispiel Permutationstabelle: type TPTab = array[1..64] of Byte; const IPTab: TPTab =(58,50,42,34,26,18,10,02,60,52,44,36,28,20,12,04, 62,54,46,38,30,22,14,06,64,56,48,40,32,24,16,08, 57,49,41,33,25,17,09,01,59,51,43,35,27,19,11,03, 61,53,45,37,29,21,13,05,63,55,47,39,31,23,15,07);

27 Beispiel Sbox: type SBox = array[0..3,0..15] of Byte; const S1: SBox =((14,04,13,01,02,15,11,08,03,10,06,12,05,09,00,07), (00,15,07,04,14,02,13,01,10,06,12,11,09,05,03,08), (04,01,14,08,13,06,02,11,15,12,09,07,03,10,05,00), (15,12,08,02,04,09,01,07,05,11,03,14,10,00,06,13)); { BEISPIEL: Input : 6 Bits: "101011" Output : 4 Bits: Zeile 11b = 3; Spalte 0101b = 5 }

28 Quellen: Lehr- und Übungsbuch Mathematik für Informatiker (Prof. Dr. Aulenbacher, Prof. Dr. Meyer, Dipl.-Math. Wabel-Frenk, Prof. Dr. Wenisch; Fachbuchverlag Leipzig) ENDE


Herunterladen ppt "Projekt Crypt Einfache kryptografische Verfahren zum selber programmieren. von Torsten Zuther."

Ähnliche Präsentationen


Google-Anzeigen