Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Cover Titel Impressum Widmung Inhalt Vorwort
Danksagungen Über dieses Buch
Über den Autor Teil A Primitive: Die Elemente der Kryptografie
1 Einführung
1.1 Kryptografie sichert Protokolle 1.2 Symmetrische Kryptografie: Was ist symmetrische Verschlüsselung? 1.3 Kerckhoffs’ Prinzip: Nur der Schlüssel wird geheim gehalten 1.4 Asymmetrische Kryptografie: Zwei Schlüssel sind besser als einer
1.4.1 Schlüsselaustausch oder wie man zu einem gemeinsamen Geheimnis kommt 1.4.2 Asymmetrische Verschlüsselung – anders als die symmetrische 1.4.3 Digitale Signaturen – wie Unterschrift mit Stift und Papier
1.5 Klassifizierende und abstrahierende Kryptografie 1.6 Theoretische Kryptografie vs. praktische Kryptografie 1.7 Von der Theorie zur Praxis: Wählen Sie Ihr eigenes Abenteuer 1.8 Ein Wort der Warnung Zusammenfassung
2 Hashfunktionen
2.1 Was ist eine Hashfunktion? 2.2 Sicherheitseigenschaften einer Hashfunktion 2.3 Sicherheitsbetrachtungen für Hashfunktionen 2.4 Hashfunktionen in der Praxis
2.4.1 Commitments 2.4.2 Subressourcenintegrität 2.4.3 BitTorrent 2.4.4 Tor
2.5 Standardisierte Hashfunktionen
2.5.1 Die Hashfunktion SHA-2 2.5.2 Die Hashfunktion SHA-3 2.5.3 SHAKE und cSHAKE: Zwei Funktionen mit erweiterbarer Ausgabe (XOF) 2.5.4 Mehrdeutiges Hashing mit TupleHash vermeiden
2.6 Hashing von Kennwörtern Zusammenfassung
3 Message Authentication Codes (MACs)
3.1 Zustandslose Cookies, ein motivierendes Beispiel für MACs 3.2 Ein Beispiel in Code 3.3 Sicherheitseigenschaften eines MAC
3.3.1 Fälschen eines Authentifizierungstags 3.3.2 Längen des Authentifizierungstags 3.3.3 Replay-Angriffe 3.3.4 Authentifizierungstags in konstanter Zeit verifizieren
3.4 MAC im wahren Leben
3.4.1 Authentifizierung von Nachrichten 3.4.2 Schlüssel ableiten 3.4.3 Integrität von Cookies 3.4.4 Hashtabellen
3.5 MACs in der Praxis
3.5.1 HMAC, ein Hash-basierter MAC 3.5.2 KMAC – ein MAC, der auf cSHAKE basiert
3.6 SHA-2- und Length-Extension-Angriffe Zusammenfassung
4 Authentifizierte Verschlüsselung
4.1 Was ist eine Chiffre? 4.2 Die Blockchiffre AES (Advanced Encryption Standard)
4.2.1 Wie viel Sicherheit bietet AES? 4.2.2 Die Schnittstelle von AES 4.2.3 Die Interna von AES
4.3 Der verschlüsselte Pinguin und die Betriebsart CBC 4.4 Fehlende Authentizität, deshalb AES-CBC-HMAC 4.5 All-in-one-Konstruktionen: Authentifizierte Verschlüsselung
4.5.1 Was ist authentifizierte Verschlüsselung mit zugehörigen Daten (AEAD)? 4.5.2 Der AEAD-Modus AES-GCM 4.5.3 ChaCha20-Poly1305
4.6 Andere Arten der symmetrischen Verschlüsselung
4.6.1 Key-Wrapping 4.6.2 Authentifizierte Verschlüsselung, die gegen Nonce-Missbrauch resistent ist 4.6.3 Datenträgerverschlüsselung 4.6.4 Datenbankverschlüsselung
Zusammenfassung
5 Schlüsselaustausch
5.1 Was sind Schlüsselvereinbarungen? 5.2 Der Diffie-Hellman-(DH-)Schlüsselaustausch
5.2.1 Gruppentheorie 5.2.2 Das Problem des diskreten Logarithmus: Die Basis von Diffie-Hellman 5.2.3 Die Diffie-Hellman-Standards
5.3 Der Elliptic Curve Diffie-Hellman-(ECDH-)Schlüsselaustausch
5.3.1 Was ist eine elliptische Kurve? 5.3.2 Wie funktioniert der Elliptic Curve Diffie-Hellman-(ECDH-)Schlüsselaustausch? 5.3.3 Die Standards für Elliptic Curve Diffie-Hellman
5.4 Angriffe auf kleine Untergruppen und andere Sicherheitsüberlegungen Zusammenfassung
6 Asymmetrische und hybride Verschlüsselung
6.1 Was ist asymmetrische Verschlüsselung? 6.2 Asymmetrische Verschlüsselung in der Praxis und hybride Verschlüsselung
6.2.1 Schlüsselvereinbarungen und Schlüsselkapselung 6.2.2 Hybride Verschlüsselung
6.3 Asymmetrische Verschlüsselung mit RSA: Das Schlechte und das weniger Schlechte
6.3.1 RSA nach Lehrbuch 6.3.2 Warum man RSA PKCS#1 v1.5 nicht verwenden sollte 6.3.3 Asymmetrische Verschlüsselung mit RSA-OAEP
6.4 Hybride Verschlüsselung mit ECIES Zusammenfassung
7 Signaturen und Null-Wissen-Beweise
7.1 Was ist eine Signatur?
7.1.1 Signieren und Verifizieren in der Praxis 7.1.2 DER Anwendungsfall von Signaturen: Authentifizierter Schlüsselaustausch 7.1.3 Eine praktische Anwendung: Infrastrukturen für öffentliche Schlüssel
7.2 Null-Wissen-Beweise (ZKPs): Der Ursprung der Signaturen
7.2.1 Schnorr-Identifikationsprotokoll: Ein interaktiver Null-Wissen-Beweis 7.2.2 Signaturen als nicht interaktive Null-Wissen-Beweise
7.3 Die Signaturalgorithmen, die Sie verwenden sollten (oder nicht)
7.3.1 RSA PKCS#1 v1.5: Ein schlechter Standard 7.3.2 RSA-PSS: Ein besserer Standard 7.3.3 Der Elliptic Curve Digital Signature-Algorithmus (ECDSA) 7.3.4 Der Edwards-curve Digital Signature Algorithm (EdDSA)
7.4 Subtiles Verhalten von Signaturverfahren
7.4.1 Substitutionsangriffe auf Signaturen 7.4.2 Malleability von Signaturen
Zusammenfassung
8 Zufälligkeit und Geheimnisse
8.1 Was ist Zufälligkeit? 8.2 Langsame Zufälligkeit? Verwenden Sie einen Pseudozufallszahlengenerator (PRNG) 8.3 Zufälligkeit in der Praxis erzeugen 8.4 Zufallszahlenerzeugung und Sicherheitsüberlegungen 8.5 Öffentliche Zufälligkeit 8.6 Schlüsselableitung mit HKDF 8.7 Schlüssel und Geheimnisse verwalten 8.8 Dezentralisiertes Vertrauen mit Schwellenwertkryptografie Zusammenfassung
Teil B Protokolle: Die Rezepte der Kryptografie
9 Sicherer Transport
9.1 Die Protokolle für sicheren Transport – SSL und TLS
9.1.1 Von SSL zu TLS 9.1.2 TLS in der Praxis verwenden
9.2 Wie funktioniert das TLS-Protokoll?
9.2.1 Der TLS-Handshake 9.2.2 Wie TLS 1.3 Anwendungsdaten verschlüsselt
9.3 Der Stand der Dinge im verschlüsselten Web heute 9.4 Andere sichere Transportprotokolle 9.5 Das Noise-Protokoll-Framework: Eine moderne Alternative zu TLS
9.5.1 Die vielen Handshakes von Noise 9.5.2 Ein Handshake mit Noise
Zusammenfassung
10 Ende-zu-Ende-Verschlüsselung
10.1 Warum Ende-zu-Ende-Verschlüsselung? 10.2 Eine Vertrauensbasis, die nirgendwo zu finden ist 10.3 Das Scheitern der verschlüsselten E-Mail
10.3.1 PGP oder GPG? Und wie funktionieren sie? 10.3.2 Vertrauen zwischen Benutzern mit dem Netz des Vertrauens skalieren 10.3.3 Schlüsselermittlung ist ein echtes Problem 10.3.4 Wenn nicht PGP, was dann?
10.4 Sicheres Messaging: Ein moderner Blick auf die Ende-zu-Ende-Verschlüsselung mit Signal
10.4.1 Benutzerfreundlicher als WOT: Vertrauen, aber verifizieren 10.4.2 X3DH: Der Handshake des Signal-Protokolls 10.4.3 Double Ratchet: Das Post-Handshake-Protokoll von Signal
10.5 Der Stand der Ende-zu-Ende-Verschlüsselung Zusammenfassung
11 Benutzerauthentifizierung
11.1 Authentifizierung – eine Wiederholung 11.2 Benutzerauthentifizierung – oder wie wird man Kennwörter los?
11.2.1 Ein Kennwort für alles: Single Sign-on (SSO) und Kennwort-Manager 11.2.2 Kein Interesse an Ihren Kennwörtern? Verwenden Sie einen asymmetrischen kennwortauthentifizierten Schlüsselaustausch 11.2.3 Einmalkennwörter sind eigentlich keine Kennwörter: Mit symmetrischen Schlüsseln kennwortlos werden 11.2.4 Kennwörter durch asymmetrische Schlüssel ersetzen
11.3 Benutzergestützte Authentifizierung: Pairing von Geräten mit menschlicher Hilfe
11.3.1 Vorher vereinbarte Schlüssel (Pre-shared keys) 11.3.2 Symmetrischer kennwortauthentifizierter Schlüsselaustausch mit CPace 11.3.3 Gab es einen MITM-Angriff auf meinen Schlüsselaustausch? Prüfen Sie einfach einen kurzen authentifizierten String (SAS)
Zusammenfassung
12 Krypto wie in Kryptowährung?
12.1 Eine kleine Einführung in byzantinische fehlertolerante (BFT) Konsensalgorithmen
12.1.1 Ein Problem der Stabilität: Verteilte Protokolle zur Rettung 12.1.2 Ein Problem des Vertrauens? Dezentralisierung hilft 12.1.3 Ein Problem der Größe: Erlaubnisfreie und zensurresistente Netzwerke
12.2 Wie funktioniert Bitcoin?
12.2.1 Wie Bitcoin mit Kontoständen und Transaktionen umgeht 12.2.2 BTCs schürfen im digitalen Goldzeitalter 12.2.3 Verzweigungschaos – Konflikte beim Mining lösen 12.2.4 Die Blockgröße mit Merkle-Bäumen reduzieren
12.3 Ein Rundgang durch die Kryptowährungen
12.3.1 Volatilität 12.3.2 Latenz 12.3.3 Größe der Blockchain 12.3.4 Vertraulichkeit 12.3.5 Energieeffizienz
12.4 DiemBFT: Ein byzantinisch fehlertolerantes (BFT) Konsensprotokoll
12.4.1 Sicherheit und Lebendigkeit: Die beiden Eigenschaften eines BFT-Konsensprotokolls 12.4.2 Eine Runde im DiemBFT-Protokoll 12.4.3 Wie viel Unehrlichkeit kann das Protokoll tolerieren? 12.4.4 Die DiemBFT-Regeln für eine Abstimmung 12.4.5 Wann gelten Transaktionen als finalisiert? 12.4.6 Die Intuitionen hinter der Sicherheit von DiemBFT
Zusammenfassung
13 Hardware-Kryptografie
13.1 Angreifermodell der modernen Kryptografie 13.2 Nicht vertrauenswürdige Umgebungen: Hardware als Rettung
13.2.1 White-Box-Kryptografie – eine schlechte Idee 13.2.2 In Ihrer Brieftasche: Smartcards und Secure Elements 13.2.3 Lieblinge der Banken: Hardware-Sicherheitsmodule (HSMs) 13.2.4 Trusted Platform Modules (TPMs): Eine nützliche Standardisierung von Secure Elements 13.2.5 Vertrauliche Datenverarbeitung mit einer vertrauenswürdigen Ausführungsumgebung (TEE)
13.3 Welche Lösung ist für mich geeignet? 13.4 Leakage-resiliente Kryptografie oder wie man Seitenkanalangriffe in Software entschärft
13.4.1 Programmierung in konstanter Zeit 13.4.2 Nicht das Geheimnis verwenden! Maskieren und Blinding 13.4.3 Was ist mit Fehlerangriffen?
Zusammenfassung
14 Post-Quanten-Kryptografie
14.1 Was sind Quantencomputer und warum fürchten sich Kryptografen vor ihnen?
14.1.1 Quantenmechanik – das Studium des Kleinen 14.1.2 Von der Geburt des Quantencomputers zur Quantenüberlegenheit 14.1.3 Der Einfluss der Algorithmen von Grover und Shor auf die Kryptografie 14.1.4 Post-Quanten-Kryptografie – die Verteidigung gegen Quantencomputer
14.2 Hash-basierte Signaturen – eine Hashfunktion genügt
14.2.1 Lamport-Einmal-Signaturverfahren 14.2.2 Kleinere Schlüssel mit Winternitz-Einmal-Signaturen (WOTS) 14.2.3 Vielfache Signaturen mit XMSS und SPHINCS+
14.3 Kürzere Schlüssel und Signaturen mit gitterbasierter Kryptografie
14.3.1 Was ist ein Gitter? 14.3.2 Lernen mit Fehlern (LWE), eine Basis für die Kryptografie? 14.3.3 Kyber, ein gitterbasierter Schlüsselaustausch 14.3.4 Dilithium, ein gitterbasiertes Signaturverfahren
14.4 Muss ich in Panik geraten? Zusammenfassung
15 Ist es das? Die Kryptografie der nächsten Generation
15.1 Je mehr, desto besser: Sichere Mehrparteienberechnung (MPC)
15.1.1 Private Mengenüberschneidung (PSI) 15.1.2 MPC für allgemeine Zwecke 15.1.3 Der Zustand von MPC
15.2 Vollständig homomorphe Verschlüsselung (FHE) und die Versprechen einer verschlüsselten Cloud
15.2.1 Ein Beispiel für homomorphe Verschlüsselung mit RSA-Verschlüsselung 15.2.2 Die verschiedenen Arten der homomorphen Verschlüsselung 15.2.3 Bootstrapping, der Schlüssel zur vollständig homomorphen Verschlüsselung 15.2.4 Ein FHE-Schema, das auf dem Problem Lernen mit Fehlern basiert 15.2.5 Wo wird es verwendet?
15.3 Allgemeine Null-Wissen-Beweise (ZKPs)
15.3.1 Wie zk-SNARKs funktionieren 15.3.2 Homomorphe Commitments, um Teile des Beweises zu verbergen 15.3.3 Bilineare Paarungen, um unsere homomorphen Commitments zu verbessern 15.3.4 Woher kommt die Prägnanz? 15.3.5 Von Programmen zu Polynomen 15.3.6 Programme sind für Computer; wir brauchen stattdessen arithmetische Schaltungen 15.3.7 Eine arithmetische Schaltung in ein Rang-1-Constraint-System (R1CS) konvertieren 15.3.8 Von R1CS zu einem Polynom 15.3.9 Es gehören zwei dazu, um ein im Exponenten verstecktes Polynom auszuwerten
Zusammenfassung
16 Wann und wo Kryptografie scheitert
16.1 Die Suche nach dem richtigen kryptografischen Primitiv oder Protokoll ist eine langweilige Angelegenheit 16.2 Wie verwende ich ein kryptografisches Primitiv oder Protokoll? Höfliche Standards und formale Verifizierung 16.3 Wo sind die guten Bibliotheken? 16.4 Kryptografie missbrauchen: Entwickler sind der Feind 16.5 Sie machen es falsch: Brauchbare Sicherheit 16.6 Kryptografie ist keine Insel 16.7 Ihre Verantwortlichkeiten als Kryptografie-Praktiker – keine »selbst gedrehte« Krypto Zusammenfassung
A Antworten zu den Übungen
A.1 Kapitel 2 A.2 Kapitel 3 A.3 Kapitel 6 A.4 Kapitel 7 A.5 Kapitel 8 A.6 Kapitel 9 A.7 Kapitel 10 A.8 Kapitel 11
Fußnoten Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion