Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Alma Sachs Geändert vor über 10 Jahren
1
Projekt Crypt Einfache kryptografische Verfahren
zum selber programmieren. von Torsten Zuther
2
Inhalt Seite 1 Einfache klassische Verfahren
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) Index 1 2 … 26 Alphabet A B Z Chiffriertes Alphabet (s = 4) E F 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 2n – 1 mal nach rechts verschoben
12
1.4. Lineare Schieberegister
1 ... 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: C A E S R T(s=20) E(s=5) S(s=19)
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
22
2.1. Das RSA-Verfahren Entschlüsseln
Klar = 128^d mod n = 128^343 mod 527 = * * * 1284 * * 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)
26
Beispiel Permutationstabelle: type TPTab = array[1
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, ,54,46,38,30,22,14,06,64,56,48,40,32,24,16,08, ,49,41,33,25,17,09,01,59,51,43,35,27,19,11,03, ,53,45,37,29,21,13,05,63,55,47,39,31,23,15,07);
27
Beispiel Sbox: type SBox = array[0. 3,0
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: http://goethe. ira. uka. de/seminare/dzs/ec/des2
Quellen: Lehr- und Übungsbuch Mathematik für Informatiker (Prof. Dr. Aulenbacher, Prof. Dr. Meyer, Dipl.-Math. Wabel-Frenk, Prof. Dr. Wenisch; Fachbuchverlag Leipzig) ENDE
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.