Wie Teste ich die Qualität eines Verschlüsselungs-Algorithmus?
Möchte ich zum testen einen Verschlüsselungs-Algorithmus für die Stärke. Es muss nicht stark sein, es muss nur widerstehen zufälligen Rissen und sagen, ein entschlossener hacker mit 10-Stunden zu verschwenden. (Ich schrieb der Krypto-Algorithmus. Ja, ich weiß, dass dies in der Regel eine schlechte Idee, aber ich denke, dass ich guten Grund haben.)
Welche Art von tests sollte ich tun? So weit ich habe versucht diese:
- Generate random A.
- Flip eine zufällige bisschen zu machen, B.
- Überprüfen Sie, dass die Anzahl der 1s in verschlüsseln(a) XOR verschlüsseln(b) passt einer poisson-Verteilung (außer, dass die XOR-nie-Ausgänge 0).
Alle anderen vorgeschlagenen tests?
Über die Verschlüsselung
Es ist ein standard-Fiestel Chiffre konzipiert, um an 3ns und ganz kombinatorischen, nicht registriert. (Dies ist um Größenordnungen schneller als DES/AES/etc.) Ich mache so viele Runden, wie ich in 3ns, die nur etwa 6.
Ich zunächst permutiert die Reihenfolge der Eingabe-bits.
Dann für jedes bit auf der linken Hälfte der input-I XOR mit der Ausgabe einer Funktion F. F ist Eingang 3-bits-und-Ausgang 1-bit. Die 3 Eingangs-bits zu F ausgewählt sind aus der rechten Hälfte des Eingangs. Die Ausgabe von F ist eine permutation von {00001111}, also F symmetrisch ist. Die 3 Eingangs-bits zu F ausgewählt sind aus der bits auf der rechten Hälfte, so dass jedes bit auf der rechten Hälfte wird die gleiche Anzahl von Zeiten (oder so nah wie möglich). Jedes "F" generiert zufällig und unabhängig einer Zeit.
Weiter ich tausche linken und rechten Hälften der Ergebnis-und es wieder tun. Wieder, neue "F" für jedes bit mit dem neuen input.
Alle, die eine Runde. Ich mache es 6 mal, jede Runde mit zufällige, unabhängig voneinander generierten F-Funktionen. 6 Runden dauert etwa 3ns. Ich habe versucht, die änderung der Anzahl der Runden und die Anzahl der Eingänge zu F, zu.
Kannst du die ganzen Algorithmus? Ich würde gerne einen Blick auf Sie.
Aus deiner anderen Frage, es scheint, wie Sie sind, nicht wirklich nach eine Chiffre per se. Wenn das der Fall ist, testen Sie es, statistisch gesehen, so wie eine hash-Funktion.
Warte, das ist nicht ethan, der von der NSA, oder?
Warum es ausführen in 3ns?
InformationsquelleAutor Eyal | 2009-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anleitungen zum Download aus dem web für einen niedrigen Grad schmutzigen Atombombe, zip, eine Straßenkarte von Washington, DC, dann verschlüsseln Sie es und senden Sie es an [email protected].
Die Stärke des Verschlüsselungsalgorithmus wird Umgekehrt proportional zu der Zeit, die die Männer in schwarzen Anzügen zu zeigen, bis an Ihre Tür.
Bedenken Sie, dies ist wahrscheinlich ein one-off " - experiment, zumindest für diese paar Jahre verbringen Sie in Gitmo 🙂
Sind Sie sicher, dass über Gitmo? Sie "hoffen" zu schließen, dass sich in Kürze.
zweite,
Ich Räkelte ziemlich schwer:-P
Beste Antwort ever.
InformationsquelleAutor
Ich vermute, dass die übliche Antwort wäre, "Wenn Sie Fragen müssen, diese Frage der besten Sie hoffen kann, ist kid-Schwester-grade-Verschlüsselung."
Aber wenn es sein muss, könnten Sie anfangen, indem die übliche randnomness tests an den Ausgang (Wie testet man Zufallszahlen?) in bytes, Worte, lange Worte, etc.
Wenn Sie nicht passieren können, dass Sie wissen, es ist schwach, ohne weitere Arbeit. Beachten Sie, dass die Weitergabe dieser hat nicht garantieren, dass es stark ist.
InformationsquelleAutor dmckee
Post-it auf dem internet und sehen, ob jemand Sie brechen kann (Was NIST/NSA hat AES, SHA-3, etc..).
Ich würde Blick auf all die gemeinsamen Angriffe.
Festzustellen, wie groß der Schlüsselraum ist, muss jemand bruteforce zu finden, der Klartext, ist es kleiner als alle möglichen Schlüssel? Zwei Tasten in der gleichen ciphertext?
Können Sie einen Klartext verrät den Schlüssel in den Geheimtext?
InformationsquelleAutor Ethan Heilman
Wenn Sie Fragen haben - das ist ein ziemlich guter Hinweis, dass Sie sollten nicht Ihre eigenen schreiben.
Wenn Sie nur wollen, um eines zu schreiben als Lern-übung, dann die Verschlüsselung Torture Test, Kirtan vorgeschlagen, ist wahrscheinlich gut. Allerdings, wenn Sie planen, um wirklich die Verwendung dieser Verschlüsselung für einen bestimmten Zweck, für die Sicherheit wirklich notwendig ist, das tool ist nicht irgendein Ersatz für die Jahre der Analyse der Experten veröffentlicht, die algorithmen Durchlaufen haben.
Selbst wenn Ihr Algorithmus erzeugt eine Ausgabe zufällig, das bedeutet NICHT, dass es unbedingt sicher ist.
InformationsquelleAutor kenj0418
Ich kann fast garantieren Sie keine guten Grund. Wenn Sie dies tun, obwohl, senden Sie es zur überprüfung von Kollegen und NIST als AES kommt, um für Ersatz. Nachhaltige Untersuchung von Menschen, die tatsächlich wissen, was Sie tun, ist der einzige Weg zu wissen.
InformationsquelleAutor Matthew Flaschen
Statistische Auswertung des Verschlüsselungs-Algorithmus ist notwendig, aber nicht ausreichend, um sicherzustellen, dass es sicher ist. Viele algorithmen haben bekannte Schwächen oder potenzielle Schwächen auf, die haben nichts zu tun mit der Entropie und den statistischen Eigenschaften der Verschlüsselung. Blick auf RSA (abhängig von der factoring-hart), MD5 (konfliktangriffen), und andere algorithmen. Diese hatten Mann-Jahre der strengen Sondieren Schwächen.
InformationsquelleAutor Jason S
Folgenden Ratschläge, die beim schreiben Ihre eigenen. Dies bedeutet nicht, Sie haben zu ziehen, die in einem riesigen Komplex ssl-Bibliothek. Sehen Sie etwas wie TEE (und Derivate), können Sie codiert werden, in einer einzelnen Funktion in einem Dutzend Zeilen.
InformationsquelleAutor Martin Beckett