1 / 28

Projekt Crypt

Projekt Crypt . Einfache kryptografische Verfahren zum selber programmieren. von Torsten Zuther. Inhalt Seite 1. Einfache klassische Verfahren 1.1. Cäsarverfahren – altes Prinzip modernisiert 1.2. Multiplikationsverfahren 1.3. Tausch-Chiffre

dieter
Download Presentation

Projekt Crypt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Inhalt Seite 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 • 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)

  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 = 37164 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: 0 0 1 1 1 0 1 1 m = 4 Register wird 2n – 1 mal nach rechts verschoben

  12. 1.4. Lineare Schieberegister Schlüssel = 11011...

  13. 1.4. Lineare Schieberegister • Beispiel Klartext = 01101111; Schlüssel = 11101100 Verschlüsselt = Klartext xor Schlüssel  01101111 ++11101100 10000011  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:

  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" = c0 + c1 + c2 + c3 Verschlüsseln durch Verwirbelung • Ciphertext = c1 + R0 + c0 + c3 + R1 + 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 = 128256 * 12864 * 12816 * 1284 * 1282* 1281 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. Beispiel Permutationstabelle:typeTPTab = array[1..64] of Byte; constIPTab: 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);

  26. Beispiel Sbox:typeSBox = 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 }

  27. Quellen:http://goethe.ira.uka.de/seminare/dzs/ec/des2.pnghttp://dud.inf.tu-dresden.de/~pfitza/DSuKrypt.pdfLehr- und Übungsbuch Mathematik für Informatiker (Prof. Dr. Aulenbacher, Prof. Dr. Meyer, Dipl.-Math. Wabel-Frenk, Prof. Dr. Wenisch; Fachbuchverlag Leipzig)ENDE

More Related