Kryptographie Flashcards
klassischen Sicherheitsziele
Confidentialy (Vertraulichkeit)
Integrity (Integrität)
Availability (Verfügbarkeit)
weitere Sicherheitsziele
Accountability (Verantwortlichkeit)
Authentication (Nachweis einer Identität)
Authorisation (wer darf auf welche Ressourcen zugreifen)
Confidentialy (Vertraulichkeit)
Informationen bleiben vertraulich, können von unbefugten nicht gelesen werden wie zb bei Sniffing
Maßnahme: Verschlüsselung
Integrity (Integrität)
Daten bleiben unverändert bzw Änderungen werden erkannt. Man-in-the-Middle Attack
Maßnahme: digitale Signatur, Hashfunktionen
Availability (Verfügbarkeit)
Zugang zu Informationen oder Verfügbarkeit von Ressourcen ist sichergestellt. Denial-of-Service Attack
Maßnahmen: Redundanz, Replikation
Kryptosystem
Alice →Message→E→Attacker→D→Message→Bob
Plaintext
M
Ciphertext
C
Encryption (Verschlüsseln)
E
Decryption (Entschlüsseln)
D
öffentlicher / privater Schlüssel
kpub / kpriv
Verschlüsselungsfunktion
Ekpub(M)=C, Dkpriv(C)=M
Unterschied symmetrische <> asymmetrische Verfahren
symmetrische Verschlüsselung: kd = ke, Größenordnung schneller, nicht sicher gegen Non-Repudiation, Schlüsselgröße: max. 256bits
asymmetrische Verschlüsselung: kd =! ke, implementation langsamer, Schlüsselgröße: max. 4096bits
Transposition (symmetrisch)
Ändern der Reigenfolge der Zeichen
Substitution (symmetrisch)
Ersetzen der Zeichen anhand der Zuordnung
AES Vorgehen (symmetrisch)
in jeder Runde Kombi aus Transposition und Substitution
Zuerst: “Key-Expansion”, außgehend vom Rundenschlüssel
In jeder Runde:
-SubBytes: S-Box wird jedes Byte ersetzt
-ShiftRows: zeilen werden nach links verschoben: (1. gar nicht, 2. 1 nach links, 3. 2 usw)
-MixColumns: lineare Transformation auf jeder Spalte
-AddRoundKey: XOR mit Rundenschlüssel
DES Vorgehen (symmetrisch)
Blockchiffre, der 64 bit Blöcke mit 56 bit Schlüssel verschlüsselt
Funktionsweise:
-16 Runden
- der Klartext wird in eine linke und rechte Hälfte von je 32 bits zerlegt
- in jeder runde wird aus den 56 bit schlüsseln ein Rundenschlüssel von 48 bits gewonnen
- recht Hälfte + Schlüssel wird f() berechnet. Ausgabe mit linken Hälfte “exklusiv verordert”
-linke und rechte vertauschen
polyalphabetische Cipher (symmetrisch)
→Vigenère Cipher
Rotation durch ein Wort = Key
One Time Pad (symmetrisch)
perfekte Geheimhaltung, #mögl. Schlüssel = #mögl. Klartexte, →XOR cipher mit Einschränkungen 1. key länge = messagelänge 2. key bits zufällig 3. key wird nur 1 mal verwendet und dann zerstört
perfekte Geheimhaltung
die Kenntnis des chiffretext gewährt keine zusätzlichen Infos über den Klartext
Blockchiffren (symmetrisch)
Klartext wird in Blöcken mit fester Länge verschlüsselt, wenn deren größe =! ist, muss letzte Block aufgefüllt werden = “padding”
Sicherheit von Chiffren
Konfusion &Difusion
Konfusion (symmetrisch)
= Verwirrung
- komplexer Zusammenhang von Klartext+C
- schwere Ableitung aus Klar/Chiffretext paaren
Difusion (symmetrisch)
= Zertreuung
- komplexer Zusammenhang von M+C
- schwere Ableitung aus Chiffretext
Caeser Cipher (symmetrisch)
rotiert Alphabet um k Buchstaben (k=Key)
Monoalphabetic Substitution cipher (symmetrisch)
ersetzt jeden Buchstaben mit einen anderen gegebenen Buchstaben
Betriebsmodi (symmetrisch)
ECB (Electronic Code Block)
CBC (Cipher Block Chaining)
ECB (symmetrisch)
- Jeder Klartextblock wird separat verschlüsselt
- gleiche Klartextblöcke liefern gleiche Chiffretextblöcke
- Gefahr: unbekanntes entfernen und austauschen von Blöcken
CBC (symmetrisch)
Vor Verschlüsselung wird Klartext mit Chiffretextblock exklusiv verordert.
- gleiche Klartextblöcke liefern =! Chiffretextblöcke
- Veränderung, Entfernen verursacht falsche Dechiffrierung
Stromchiffren (symmetrisch)
-bitweise Verschlüsselung (exklusiv verordern mit Schüsselstrom)
- Sicherheit basiert auf Schlüsselstromgenerators
-periodischer Schlüsselstom: größe Periode > verschl. Datenmenge
synchron <> selbstsynchronierend
Stromchiffren synchron
Schlüsselstrom Generierung unabhängig von Nachrichtenstrom + kann im vorhinein berechnet werden
- bei Verlust eines Bits bei Übertragung →folgende Text unbrauchbar
Stromchiffren selbstsynchronisierend
- jedes Schlüsselstrombit ist eine Funktion einer festen # vorhergehender Chiffretext
- fehlerhaft erzeugen bei Dechiffrierung falsche Schlüsselstrom buts
- Anfällig für Wiedereinspiegelung
digitale Signaturen (asymmetrisch)
Absender signiert Nachricht mit seinem Kpriv Empfänger verifiziert mit Kpub Ekpub(M) = C Dkpriv(C)=M Sign: Dkpriv(M)=SignM Verify: Ekpub(SIgnM)=M
RSA (asymmetrisch)
Schlüsselgröße: 1024, 2048, 4096 1. 2 große Primzahlen p,q Modulus n = p*q y(n) =(p-1)*(q-1) 2. e wählen, dass e und y(n) relativ prim zueinander (ggT(e,y(n)) = 1) 3. berechne multiplikativ inverses Element d zu e e*d = 1(mod(y(n)) C = m^e mod n M = C^d mod n
Hashfunktionen (asymmetrisch)
SHA-1, MD5
HMAC: HMAC(k,m) = h(k’ (+) opad || h(k’ (+)iPad || m))
Sicherheit:
Pre-Image resistance - Given h(m), it is hard to find m
Second Pre-Image resistance - Given h(m), it is hard to find m’ such that h(m’)=h(m)
Collision-free or Collision-resistant
- Given h(), it is hard to find m’ and m’’ such that h(m’)=h(m’’)
opad, ipad
festgelegte paddings (inner/outer)