Projekte
Eine englische Beschreibung von studentischen Projekten, die in Zusammenhang mit dem Buch verwendet werden können, findet sich hier.
Zur Vereinfachung der Aufgaben mit gegebenen Chiffraten finden sich alle Chiffrate in dieser Textdatei.Links
Im Folgenden finden sich verschiedene Ressourcen zu den Themen des Buches und darüber hinaus. Die Link-Sammlung ermöglicht es, noch mehr über moderne Kryptografie zu lernen.
Natürlich stellen die gegebenen Links nur eine kleine Auswahl der riesigen Menge an derzeitig online verfügbarer Dokumentation dar.
Kapitel 1
Einführung in die Kryptografie und Datensicherheit
- CrypTool ist ein sehr gutes freies Tool zum Erlernen von Kryptografie. Das CrypTool-Projekt entwickelt weltweit weitverbreitete E-Learning Programme im Bereich der Kryptografie und Kryptanalyse.
- MAC, ein netter modularer Rechner.
- Eine Liste ungelöster Chiffren.
- Die Babington Verschwörung, welche zur Exekutierung von Mary Queen of Scots im 16ten Jahrhundert führte, ist ein Beispiel dafür, wie Kryptanalyse die Politik beeinflusste
- Ein guter Newsletter zu IT-Sicherheit ist Bruce Schneiers Crypto-Gram.
- Eine sehr nützliche Erweiterung des Buches ist das Handbook of Applied Cryptography, welches eine herausragende Zusammenstellung kryptografischer Techniken enthält (enthält nur Material bis 1997).
- The International Association of Cryptographic Research ist die professionelle Organisation von Krytografen.
- The American Cryptogram Association.
- Ein exzellentes einstündiges Video von Ron Rivest, welches die Geschichte der ersten 40 Jahre der modernen Kryptografie zusammenfasst (englisch).
- Einführende Videos zu Security in spanischer Sprache.
Kapitel 2
Stromchiffren
- Das ESTREAM Stromchiffren-Projekt, welches von 2004-2008 insgesamt 34 neue Chiffren untersucht und davon 7 empfohlen hat.
- Die offizielle Webseite der Trivium Stromchiffre.
- Etwas alt (1995) aber immer noch eine hervorragende Beschreibung von Stromchiffren ist der RSA Labs Technical Report on Stream Ciphers.
- Ein Online Zufallstest.
- Eine Webseite mit einer Liste von Polynomen für LFSR mit maximaler Sequenzlänge.
- Eine Webseite, welche echte Zufallszahlen und eine Fülle an zusätzlichen Informationen zu Zufallszahlen bietet.
Kapitel 3
Der Data Encryption Standard (DES) und Alternativen
- Der Federal Information Processing Standard FIPS 46-3 beschreibt den Data Encryption Standard (DES) und die Verwendung von Triple DES. (Zurückgezogen: 19. Mai 2005.).
- CrypTool- mit zahlreichen implementierten historischen und aktuellen Chiffren sowie Animationen von Algorithmen..
- Die Implementierung von DES mit der bitslicing Methode ist in folgenden Quellen dokumentiert:
Eli Biham, 'A fast new DES implementation in software'. Also published in 'Fourth International Workshop on Fast Software Encryption', volume 1267 of LNCS, pages 260-272. Springer, 1997.
Matthew Kwan, Reducing the Gate Count of Bitslice DES, 1999.
Mitsuru Matsui and Junko Nakajima, 'On the Power of Bitslice Implementation on Intel Core2 Processor'. - 'Differential Cryptanalysis of DES-like Cryptosystems' von Eli Biham und Adi Shamir erschienen im Journal of CRYPTOLOGY (Springer) in 1991.
- Eli Bihams Folien zum Vortrag 'How to Make Difference: early History of Differential Cryptanalysis' held at FSE 2006.
- Ein Tutorial zu linearer und differentieller Kryptanalyse von Howard M. Heys, Memorial University of Newfoundland findet sich unter folgender web site.
- Die SHARCS (Special-purpose Hardware for Attacking Cryptographic Systems) Konferenz-Reihe stellt aktuellen Fortschritt im Bereich kryptanalytischer Hardware vor.
- Die Homepage von Cost-Optimized Parallel Code Breaker (COPACOBANA).
- Mehr Informationen über die Deep Crack Schlüsselsuchmaschine findet sich auf der Webseite der Electronic Frontier Foundation (EFF) und von Cryptographic Research.
- Die Dissertation 'Lightweight Cryptography - Cryptographic Engineering for a Pervasive World' von Axel Poschmann an der Ruhr-Universität Bochum bietet eine gute Übersicht über leichtgewichtige Kryptografie und eine detaillierte Beschreibung der PRESENT Chiffre.
Kapitel 4
Der Advanced Encryption Standard (AES)
- Die offizielle Spezifikation von AES findet sich auf der NIST Webseite.
- Eine Flashanimation der AES Verschlüsselung, welche für das CrypTool Projekt erstellt wurde.
- Jeff Mosers Stick Figure Guide zu AES für seinen Blog.
- Brian Gladmans Implementierung auf seiner Webseite, welche z.B. für WinZip oder TrueCrypt verwendet wurde.
- Die AES Lounge ist einer Sammlung wissenschaftlicher Ergebnisse im Kontext von AES.
Kapitel 5
Mehr über Blockchiffren
- Eine hilfreiche Einführung in die Operationsmodi findet sich in der Wikipedia.
- Eine Liste der von NIST vorgeschlagenen Operationsmodi von AES ist auf der NIST Webseite veröffentlicht. Die Spezifikation, der Bericht zur Sicherheitsanalyse und einige Testvektoren finden sich ebenfalls unter dem angegebenen Link.
- Empfohlene Operationsmodi für Blockchiffren der NIST.
- Operationsmodi für DES sind in FIPS PUB 81 beschrieben.
- A JavaScript Implementierung von AES im ECB und CT Modus.
- Einige Programmbeispiele für Triple DES im CBC Modus.
- Ein Beispielprogramm für den CBC Modus.
Kapitel 6
Einführung in die asymmetrische Kryptografie
- Eine kompakte Beschreibung der Geschichte der asymmetrischen Kryptografie mit Bildern der beteiligten Personen.
- Ein langes und faszinierendes Interview mit Martin Hellman über die Geschichte der asymmetrischen Kryptografie.
- www.keylength.com stellt öffentliche Empfehlungen für minimale Schlüssellängen für asymmetrischen und symmetrische Kryptografie zusammen. Acht verschiedenen Methoden und Empfehlungen können verglichen werden.
- Um einen Eindruck über die Größe von großen Zahlen wie der der asymmetrischen Kryptografie zu bekommen, gibt diese Webseite einige 'echte' Beispiele.
- GnuPG für Windows ist eine Open-Source Sammlung von Tools für Microsoft Windows, welche eine komfortable Nutzung von asymmetrischer Kryptografie für E-Mail und Dateiverschlüsselung bietet. Das OpenPGP-basierte Projekt beinhaltet auch ein Tool zum Schlüsselmanagement sowie E-Mail Clients. Ein ähnliche Projekt für Linux-Anwender findet sich unter www.gnupg.org.
- Wolfram MathWorld erklärt die Eigenschaften der Eulerschen Phi-Function im Detail (mit einigen grafischen Darstellungen)
- Die GMP (GNU Multi Precision) Bibliothek is an open-source project that erlaubt die Einbindung ganzer Zahlen mit beliebiger Länge, z.B. 2048 Bit, in eigenen C Programmen. Die GMP Funktionen für große Zahlen kann online getestet werden.
- Der Artikel 'On the Security of 1024-bit RSA and 160-bit Elliptic Curve Cryptography' von Bos et al. gibt eine gute Übersicht der beiden am weitesten verbreiteten asymmetrischen Algorithmen.
Kapitel 7
Das RSA-Kryptosystem
- The early days of RSA by Ron Rivest.
- The original RSA paper from Rivest, Shamir, and Adleman: 'A Method for Obtainig Digital Signatures and Public-Key Cryptosystems'. Communications of the ACM, 1978.
- A pedagogical implementation of RSA with lots of explanations and examples.
- The Public-Key Cryptography Standards (PKCS).
- RSA-based Cryptographic schemes with padding (RSAES-OAEP (encryption scheme) and RSASSA-PSS (signature scheme)).
- The latest RSA factorization record is the factorization of a 768 bit modulus. The main computation step took about 1500 PC-years.
Kapitel 8
Asymmetrische Verfahren basierend auf dem diskreten Logarithmusproblem
- Das bahnbrechende Paper New Directions in Cryptography von Whitfield Diffie und Martin E. Hellman, veröffentlicht in den IEEE Transactions on Information Theory.
- Eine andere, schöne Erklärung des Diffie-Hellman Schlüsselaustauschs findet sich unter folgendem Link.
- Ein Rechner für diskrete Logarithmen unter Verwendung des Pohlig-Hellman Algorithmus.
- Der Diffie-Hellman Schlüsselaustausch ist in Request for Comment (RFC) 2631 beschrieben.
- Asymmetrische Kryptografie zum Austausch von symmetrischen Schlüsseln für Banken ANSI X9.42:2003.
Kapitel 9
Kryptosysteme mit elliptischen Kurven
- Eine detaillierte Einführung und Historie zu elliptischer Kurven Kryptografie findet sich in http://eprint.iacr.org/2008/390.pdf.
- Eine interaktive Einführung in Kryptosysteme basierend auf elliptischen Kurven findet sich unter ECC Notebook.
- Elliptische Kurven sind weit verbreitet. Die Standards for Efficient Cryptography Group (SECG) hat SEC 1 spezifiziert, einen Standard für Kryptografie basierend auf elliptische Kurven, insbesondere für kleine und eingebettete Systeme.
- Das National Institute of Standards and Technology (NIST) hat einen Standard für Signaturen auf Basis von elliptischen Kurven in NIST FIPS 186 - 3: Digital Signature Standard (DSS) definiert.
- IEEE P1363 ist der Standard für durch den IEEE freigegebene asymetrische Kryptografie.
- Alljährlich werden neue Forschungsergebnisse im Bereich der elliptischen Kurven Kryptografie auf dem internationalen Workshop über elliptische Kurven präsentiert: http://www.eccworkshop.org/.
- Es gibt zahlreiche, einfach zu verwendende Bibliotheken, welche elliptische Kurven in allen gängigen Programmiersprachen wie C/C++/C#, Java und Python umsetzen. Beispielweise die Open Source ECC Bibliothek libecc oder das Bouncy Castle Projekt.
- In Spezialfällen erlauben alternative Darstellungen von elliptischen Kurven effizientere Berechnungen. Die Datenbank für explizite Formeln bietet eine große Vielfalt an elliptischen Kurven zur kryptografischen Verwendung und wir von Daniel J. Bernstein und Tanja Lange gepflegt.
Kapitel 10
Digitale Signaturen
- Das National Institute of Standards and Technology (NIST) definiert einen Standard für digitale Signaturen in NIST FIPS: Digital Signature Standard (DSS). Unter folgenden Link findet sich ein Fact Sheet über den Digital Signature Standard.
- Es gibt ein Online-Tutorial zur Programmierung eines Tools zur Signaturerzeugung und -verifikation in Java.
- Es gibt zahlreiche Frontends des Open Source Projektes GNU Privacy Guard (GPG) zur einfachen Erzeugung und Verifikation digitaler Signaturen, wie z.B. dem Enigmail Plugin für Thunderbird.
- Die Digital Signature Law Survey Homepage bietet eine gute Übersicht über die Gesetzgebung zu digitalen Signaturen in zahlreichen Ländern.
- Der X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Standard ist in RFC 5280 beschrieben.
Kapitel 11
Hashfunktionen
- Eine Übersicht zahlreicher Hashfunktionen mit den entsprechenden Spezifikationen.
- Geburtstagsparadoxon: Eine gut Beschreibung der Wikipedia.
- Standard für SHA1 und SHA2.
- Übersicht zum SHA-3.
- Ein lustiges Lied von (berühmten) Kryptografen zu den über 50 Einreichungen zum SHA-3 Wettbewerb.
- CrypTool beschreibt auch die Funktion von Hashfunktionen.
Kapitel 12
Message Authentication Codes (MACs)
- Der Keyed-Hash Message Authentication Code (HMAC): FIPS PUB 198 Standard.
- Eine gut aufbereitete Übersicht über Message Authentication Codes von Greg Rose.
- Identifiers und Testvektoren für HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, und HMAC-SHA-512: RFC4231.
- HMACs werden auch in CrypTool beschrieben.
Kapitel 13
Schlüsselerzeugung
- Kompakte Empfehlungen zum Schlüsselmanagement der NIST.
- Eine leicht verständliche Beschreibung des Kerberos Protokolls zur Authentisierung.
- Ein Man-in-the-Middle Angriff.
- Eine Einführung in PKI auf Folien von Peter Gutman.
- Das Station-to-Station (STS) Protokoll, welches auf dem Diffie-Hellman Schlüsselaustausch basiert und Perfect Forward Secrecy bietet.