Top Banner
KITCTF KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kitctf.de Kryptographie für CTFs Eine Einführung
21

Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

Sep 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTF

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kitctf.de

Kryptographie für CTFsEine Einführung

Page 2: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Nicht WissenschaftlichDafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“

Die Grundlagen für CTF-Anfänger

11/13/20182

Einführung

“Cryptography is the practice and study of techniques for secure communication in the presence of third parties.” Wikipedia

Page 3: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie11/13/20183

Übersicht — Erste Dimension

Symmetrisch

Asymmetrisch

Pseudozufalls- generator

Feistel-netzwerk,Permutation / Substitution,

Page 4: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

VerschlüsselungAuthentifizierung („Echtheit“)

Hash-FunktionenPseudozufallsgeneratorenProof-of-KnowledgeCommitments…

11/13/20184

Übersicht — Zweite Dimension

Page 5: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Caesar-ChiffreJeder Buchstabe wird um festen Werk k verschoben

11/13/20185

Klassiker

Brechen durch ausprobieren oder durch Häufigkeitsanalysen einfach möglichWird heutzutage immer noch verwendet (spiegel.de Paywall)Beispiel für Substitution

k = 3

Page 6: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie11/13/20186

Page 7: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Vigenère-ChiffreWähle Schlüsselwort und verschiebe jeden Buchstaben entsprechend dem Schlüsselbuchstaben

11/13/20187

Klassiker

Schlüssellänge bestimmen und dann Caesar-Chiffre für jede Schlüsselposition einzeln brechenNoch ein Beispiel für Substitution

Page 8: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

BlockchiffrenVerschlüsselt Blöcke fester LängeBetriebsmodus wird zur Verschlüsselung längerer Daten verwendet

StromchiffrenPseudozufälliger Schlüsselstrom wird aus Schlüssel abgeleitet Schlüsselstrom wird mit Klartext kombiniert

11/13/20188

Symmetrische Verschlüsselungen

Page 9: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie11/13/20189

Stromchiffren

Page 10: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

RC4, SEAL, Salsa20, CryptMT, …

Mögliche Angriffe:Bekannter Klartext:Aus einem bekannten Klartext m mit passendem Chiffrat c kann der Schlüsselstrom K rekonstruiert werden

K = m ⊕ c

Key-Reuse:Sind c1 und c2 mit dem gleichen Schlüssel verschlüsselt worden, dann kann man m1 ⊕ m2 wie folgt berechnen.

c1 ⊕ c2 = m1 ⊕ m2

11/13/201810

Stromchiffren

Page 11: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

DES, IDEA, RC5, AES, Blowfish, …

Block- und Schlüssellänge

Padding: Erweitern der Nachricht auf Blocklänge

BetriebsmodiElectronic Code Book (ECB)Cipher Block Chaining (CBC)Counter Mode (CTR)…

11/13/201811

Blockchiffren

Page 12: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Verschlüssle jeden Block einzelnProbleme:

Dateneinfügen möglichDeterministisch

11/13/201812

Electronic Code Book

Page 13: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Verschlüsseln: Enc(Block XOR dem vorigen Chiffrat-Block)Entschlüsseln: Dec(Chiffrat-Block) XOR vorigem Chiffrat-BlockInitialisierungsvektor zufälligProbleme:

Verlust eines Chiffrat-Blocks führt zu Verlust 2er Klartextblöcke

11/13/201813

Cipher Block Chaining

Page 14: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Padding: Klartext wird auf Blocklänge aufgefüllt.Bsp.: PKCS#7 x Byte fehlen zum vollen Block. Fülle jedes der Bytes mit dem Wert x.

11/13/201814

CBC Padding Oracle

Page 15: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie11/13/201815

CBC Padding Oracle

Über Änderung am vorletzten Block lässt sich über das Paddingorakel der letzte Block komplett bestimmen

Page 16: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Verschlüsselung:

11/13/201816

Asymmetrische Kryptosysteme

Signatur:

RSAElgamalMcEliece…

RSAElgamalDSA…

Page 17: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

11/13/201817

RSA

Page 18: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

11/13/201818

RSA

Page 19: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Bedingung Angriff KomplexitätKeine Faktorisierung exp(log(N)^(1/3)loglog(N)^(2/3))

Kleines d Wiener‘s Attack Polynomiell m < N^(1/4) Wurzel ziehen PolynomiellSenden der gleichen Nachricht an viele Empfänger mit selben

Håstad's broadcast attack

Polynomiell

11/13/201819

Angriffe auf RSA

Und viele mehr!

Page 20: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

Leonard Schönborn für die FolienStefan fürs Organisieren der Folien

11/13/201820

Danke

Page 21: Kryptographie für CTFs · 2020. 7. 2. · Ferdinand Sauer - Kryptographie KITCTF Nicht Wissenschaftlich Dafür Vorlesungen und Praktika aus „Kryptographie und Sicherheit“ Die

KITCTFFerdinand Sauer - Kryptographie

ctf.bplaced.net (Crypto 20 + Crypto 30)Picoctf.comcryptopals.comoverthewire.org/wargames/krypton

11/13/201821

Aufgaben