Vor ein paar Tagen bei Eurocrypt 2009, Sicherheits-Forscher kündigte einen Angriff auf die SHA-1 Hash-Algorithmus. Der Angriff ist ein ziemlich ernstes und es ist ein starkes Signal für Softwareanbieter weg von SHA-1.
Für fast alle kryptographischen Algorithmen, wenn die Verdauung Länge n ist, bedeutet dies, dass es 2 n verschiedene mögliche Werte für den Message-Digest (Cipher Text im Falle einer Verschlüsselungs-Algorithmus). Angesichts der Möglichkeit Geburtstag Angriffe berücksichtigt, können wir sicher davon ausgehen, dass das Brechen dieser verdaut wird den Betrieb übernehmen mindestens 2 n / 2.
Wenn n = 160 (wie im Fall von SHA-1), wird es dauern 2 80 Berechnungen zu den Code zu brechen. Selbst wenn wir annehmen, dass ein Computer Sekunde vollziehen 2 20 Operationen pro dauert es eine satte 36000000000 Jahre zu knacken die. Unsere Geheimnisse und Systeme sind sicher gehalten durch diese Algorithmen, die angeblich die besten Computer für 36000000000 Jahre widerstehen Cracken von Code sind.
Dann hat mir jemand sehr klug kommt, findet eine Schwäche in den Algorithmus selbst, anstatt zu versuchen, um Brute-Force-Angriff zu tun, und die Sicherheit unserer Dokumente, Unterschriften und Protokolle gefährdet. Wir sind gezwungen, bessere Alternativen zu finden und Design bessere Algorithmen.
In der realen Welt, Algorithmen werden kryptographische veraltete oder defekte in 10-25 Jahre statt der theoretischen Zeitrahmen von 36000000000 Jahre.
Als Vorsichtsmaßnahme Sie die Algorithmen machen kann / Protokolle in Ihrer Anwendung verwendet werden leicht austauschbar. Das wird Ihr Leben leichter machen, wenn der Algorithmus gebrochen ist, und Sie möchten es zu ersetzen. Auch als Programmierer Sie verstehen, dass selbst wenn der Algorithmus ist noch nicht gebrochen, Ihre Implementierung fehlerhaft sein sollte. Die meisten der Sicherheitslücken werden von Scheiß-Implementierungen sicherer Algorithmen / Protokolle verursacht.
Und habe ich erwähnt, dass Sie nicht schreiben Sie Ihren eigenen Verschlüsselungs-Algorithmus ?
Natürlich in der realen Welt sind die Dinge ganz anders:
Wie Sie wahrscheinlich wissen, wird keines der Algorithmen in der Welt helfen, wenn ich Ihr Mädchenname der Mutter wissen.