2010-05-25 6 views
9

Ich habe über neue Trends in der Kryptographie nachgedacht. Welche Algorithmen sind neu? Welche sind verbessert und welche gestorben wegen der vergangenen Zeit? Zum Beispiel EEC (Elliptic Curve Cryptography) ist ein ziemlich neuer Ansatz, aber definitiv nicht der einzige. Könnten Sie einige von ihnen nennen?Neue kryptografische Algorithmen?

Antwort

12

ECC stammt eigentlich aus den 80er Jahren; es ist nicht gerade neu.

Im Zusammenhang mit asymmetrischer Verschlüsselung und digitalen Signaturen gab es in den letzten Jahren viel Forschung zu pairings. Paarungen öffnen das nächste Level. Konzept: Symmetrische Kryptographie ist für Probleme mit einer Entität (alle Entitäten teilen einen geheimen Schlüssel, daher sind sie die "gleiche" Entität), asymmetrische Kryptografie ist für Probleme mit zwei Entitäten (der Unterzeichner und der Verifizierer), und Paarungen sind ein Werkzeug für Protokolle mit drei Entitäten (z. B. elektronisches Geld, wo sich die Bank, der Händler und der Käufer befinden). Die einzigen wirklich praktischen Paarungen, die bisher gefunden wurden, verwenden elliptische Kurven, aber mit einer viel höheren Dosis von Mathematik.

Wie für mehr klassische asymmetrische Verschlüsselung und Signaturen, gab es einige Arbeiten an vielen anderen Algorithmen, wie HFE, die besonders gut in Bezug auf Signaturgrößen scheint, oder lattice-based cryptography. Das ist noch ziemlich neu. Es dauert einige Zeit (etwa ein Dutzend Jahre), bevor ein neu erstellter Algorithmus reif genug wird, um standardisiert zu werden.

Nach Arbeiten von Bellovin und Merritt im Jahr 1992 wurden einige Password Authenticated Key Exchange Protokolle beschrieben. Diese Protokolle sollen eine passwortbasierte gegenseitige Authentifizierung ermöglichen, die immun gegen Offline-Wörterbuchangriffe ist (dh die Protokolle implizieren, dass ein Angreifer, selbst wenn er sich aktiv als eine der Parteien maskiert, nicht genügend Informationen zum Testen von Kennwörtern erhalten kann; Der Angreifer muss eine Interaktion mit einer der Entitäten durchführen, die das Passwort kennt. IEEE-Gruppe P1363 arbeitet daran, Standards zu diesem Thema zu schreiben.

Im Bereich der symmetrischen Verschlüsselung war der AES ein bisschen "endgültig". Einige Stromchiffren wurden später entworfen (Stromchiffren sollen bessere Leistung auf Kosten von weniger generischer Anwendbarkeit bieten); einige wurden von der eSTREAM project analysiert. Es hat ziemlich viel Arbeit an der Verschlüsselung Modi, die versuchen, symmetrische Verschlüsselung und Integritätsprüfungen in einem effizienten System zu kombinieren (siehe zum Beispiel GCM und CWC).

Hash-Funktionen waren in letzter Zeit ein heißes Thema. Eine Reihe von alten Hash-Funktionen, einschließlich der berühmten MD5, wurden im Jahr 2004 gebrochen. Es gibt einen laufenden Wettbewerb um die nächste amerikanische Standard-Hash-Funktion zu bestimmen, Codenamen SHA-3.

Eine Menge Arbeit wurde bei einigen Implementierungsproblemen geleistet, insbesondere bei Seitenkanal-Lecks (wie geheime Daten durch Stromverbrauch, Timing, elektromagnetische Restemissionen ... entweichen) und wie man sie blockiert.

+0

Re: "Pairings", es gibt auch geheime Sharing-Protokolle, wo beliebige n von m Shares verwendet werden können, um ein Geheimnis zu rekonstruieren. Debian verwendet Shamirs Secret Sharing (implementiert von gfshare), um das Widerrufszertifikat und eine Sicherungskopie des Schlüssels zu speichern. Es ist auch trivial, DH und RSA auf eine beliebige Anzahl von Schlüsseln zu erweitern, obwohl ich mir nicht sicher bin, worin die Vorteile bestehen. –

3

Momentan läuft die NIST hash function competition mit dem Ziel, einen Ersatz für die älteren SHA-1- und SHA-2-Funktionen zu finden. Es handelt sich also um eine kryptographische Hash-Funktion.
Sie können einen Blick auf die Liste der akzeptierten Algorithmen für Runde zwei werfen, und Sie können Whitepapers für alle Algorithmen erhalten, die dort teilnehmen.

Ich bin nicht up-to-date, aber ich bezweifle, dass es völlig neue Ansätze für die Algorithmen gibt.
EDIT: Nun, einer der Kandidaten war die Elliptic curve only hash, aber es ist unter „Eintretende mit erheblichen Schwächen“ aufgeführt ^^

9

Das Hauptproblem der modernen Kryptographie ist nicht zu finden, Algorithmen, sondern ganze Konzepte und Ansätze für unterschiedliche Situationen (aber natürlich werden die Algorithmen auch ständig verbessert).

Wir haben heute

  • Symmetrische Algorithmen (AES)
  • asymmetrische Algorithmen (RSA, ECC)
  • Schlüsselaustausch (Diffie-Hellman-Schlüsselaustausch, Shamir kein Schlüssel-Protokoll)
  • secret Sharing (Schnittpunkt von n-dimensionalen Ebenen)
  • kryptographische Hash-Funktionen (SHA)
0.123.

Einige haben unsicher erwiesen und wurden

  • DES aufgrund einer viel zu kleinen Schlüssel-Raum
  • MD5

und einige sind

  • Merke/Hellman Knapsack Kryptosystem gebrochen verbessert
  • Monoalphabetische Substitution
  • Naive Vigenère

Welche speziellen Algorithmus gewählt wird, ist oft eine Frage der zur Verfügung stehenden Ressourcen (Elliptische Kurven benötigen kleinere Tasten, die RSA-Algorithmus für vergleichbare Sicherheit) oder nur der Standardisierung (wie tanascius wies darauf hin, es gibt Wettbewerbe für so algorithms). Völlig neue Trends beginnen meist dann, wenn eine ganze Klasse von Kryptosystemen als anfällig gegenüber einem bestimmten Angriff (Man-in-the-Middle, Seitenkanal) oder als wissenschaftlicher Fortschritt (Quantenkryptographie) gezeigt wurde.

Natürlich gibt es auch Steganographie, die dies nicht versuchen, verbergen die Inhalt aber die Existenz einer geheimen Botschaft, indem sie es in anderen Dokumenten versteckt.

+0

+1. Sehr vollständige Antwort imho. – ereOn

+0

Wenn Sie eine gute Grundierung für wie AES arbeiten möchten, http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html ist eine solide Erklärung. –

+0

Beachten Sie, dass Steganographie orthogonal zur Verschlüsselung ist: Traditionelle Steganographie versteckt nur den Klartext, obwohl Sie den Chiffretext zusätzlich verbergen können. Es unterscheidet sich auch von einer plausiblen Bestreitbarkeit, z. wie von TrueCryupt verwendet. –

1

Menschen haben die meisten anderen Dinge abgedeckt; Ich werde über Design sprechen:

Blockchiffren: Traditionelle Blockchiffre (z. B. DES) verwendet eine Feistel-Struktur. Es gibt einen Wechsel zu einem allgemeineren S-P-Netzwerk (Rijndael, Serpent), die leichter zu parallelisieren sind, und Chiffriermodi, die Parallelisierung (CS, GCM) und effiziente authentifizierte Verschlüsselung (CS, GCM, IGE/BIGE) unterstützen.

Hashes: Traditionelle Hashes verwenden die offensichtliche Merkle-Damgård-Konstruktion.Dies hat einige unerwünschte Eigenschaften:

  • Länge Erweiterung trivial ist (in gewissem Maße diese durch geeignete Finalisierung gemildert)
  • Mehrere Angriffe auf die Kollisionsresistenz (multicollisions, Joux 2004; "expandable message" attacks, Kelsey 2005; herding attacks, Kelsey 2006).
  • Im beliebten Davies-Meyer-Modus in MD {4,5} und {SHA- 0,1,2} - h i = h i ⊕ E (m i, h i)) - jeder Nachrichtenblock hat einen Fixpunkt D (m i, 0). Dies erleichtert den erweiterbaren Nachrichtenangriff erheblich.

Der SHA-3 Wettbewerb Mitteilung (070911510–7512–01) auch randomisierte Hashing und Widerstand gegen Längenausdehnung legt nahe, und Parallelisierung (einige Hashes angeben einen Baum Hashing (derzeit mit HMAC für MD5/SHA-1/SHA-2 erreicht) Modus).

Es gibt einen allgemeinen Trend zur Vermeidung potenzieller Tabellennachfragen (z. B. Threefish, XTEA), um Cache-Timing-Angriffe zu mildern.