Geheime und Nicht-geheime Initialisierungsvektor
Heute war ich dabei gemütlich Lesen und stolperte über Sie in Abschnitt 5.8 (Seite 45) der Empfehlung für die Pair-Wise Key-Einrichtung Systeme Mit Diskreter Logarithmus Kryptographie (Revidiert) (NIST Special Publication 800-56A). Ich war sehr verwirrt von diesem:
Einem Zugelassenen Schlüssel Ableitung Funktion
(KDF) werden verwendet, um daraus-Geheimnis
Schlüsselmaterial von einem gemeinsamen Geheimnis.
Die Ausgabe von KDF sind nur
für geheime keying material, wie
als symmetrischer Schlüssel für die Daten
Verschlüsselung oder message integrity, eine
geheimen initialization vector, oder
master-Schlüssel, der verwendet wird, um
generieren anderen Tasten (evtl. mit einer
anderen Prozess). Nonsecret keying
material (wie z.B. ein nicht-Geheimnis
Initialisierungsvektor) werden nicht
die mit Hilfe der shared-secret.
Nun ich bin kein Alan Turing, aber ich dachte, dass die Initialisierung Vektoren müssen nicht geheim gehalten werden. Unter welchen Umständen will man ein "Geheimnis Initialisierungsvektor?"
Thomas Pornin sagt, dass die IVs sind öffentlich und er scheint gut versiert in der Kryptographie. Ebenfalls mit caf.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Initialisierungsvektor muss nicht geheim sein (es ist kein Schlüssel), aber es muss nicht öffentlich sein, entweder (sender und Empfänger muss es wissen, aber es ist nicht notwendig, dass die Königin von England kennt es).
Einem typischen key establishment protocol führt sowohl zu Parteien computing ein Stück von Daten, die Sie, aber nur Sie beide wissen. Mit Diffie-Hellman (oder eine beliebige Elliptische Kurve Variante davon), das sagte geteilten Daten eine Feste Länge hat, und Sie haben keine Kontrolle über Ihren Wert (den Sie nur bekommen beide den gleichen, scheinbar zufällige Folge von bits). Um das shared secret für die symmetrische Verschlüsselung, müssen Sie ableiten, dass die freigegebenen Daten in eine Sequenz von bits der entsprechenden Länge für was auch immer symmetrischen Verschlüsselungsalgorithmus, den Sie zu verwenden.
In ein Protokoll, in dem Sie einen Schlüssel verwenden, Gründung Algorithmus zu erhalten einen gemeinsamen geheimen Schlüssel zwischen dem sender und dem Empfänger, und verwenden Sie das Geheimnis, um symmetrisch verschlüsseln eine Nachricht (möglicherweise eine sehr lange gestreamt Nachricht), es ist möglich, mit dem KDF-um den Schlüssel zu erstellen und der IV in einem Rutsch. Dies ist, wie es geht, zum Beispiel, SSL: aus dem gemeinsamen Geheimnis (genannt "pre-master-secret" in der SSL-Spezifikation) berechnet einen großen block abgeleitet geheime Daten, die dann aufgeteilt in symmetrische Schlüssel und Initialisierungs-Vektoren für beide Richtungen der Verschlüsselung. Sie könnte sonst tun, und, zum Beispiel, generiert zufällige IV und senden Sie Sie zusammen mit den verschlüsselten Daten, statt mit einer IV, die durch die KDF (das ist, wie es geht in den aktuellen Versionen von TLS, der Nachfolger von SSL). Beide Strategien sind gleichermaßen gültig (TLS verwendet externe random IV, denn Sie wollen einen frischen random-IV für jeden "Datensatz" - ein Paket von Daten innerhalb eines TLS-Verbindung-das ist, warum die KDF war nicht mehr als angemessen).
Nun, betrachten, dass, wenn zwei Parteien die gleichen kryptographischen Funktion, haben aber nicht die gleichen IV, Sie gewann ' T erhalten die gleichen Ergebnisse. Also dann, es scheint, wie der Vorschlag es, ist, dass die zwei Parteien den gleichen gemeinsamen geheimen Schlüssel, und jeder generieren, deterministisch, eine IV - (das werden die gleichen sein) und dann können Sie kommunizieren. Das ist nur, wie ich es gelesen habe, aber ich habe nicht tatsächlich das Dokument Lesen, und ich bin mir nicht ganz sicher, dass meine Beschreibung richtig ist; aber es ist, wie ich anfangen würde, zu untersuchen.
Den Startwert des Zählers im CTR-Modus-Verschlüsselung gedacht werden kann, als IV. Wenn Sie es geheim gehalten, Sie am Ende mit einer Menge zusätzlicher Sicherheit über die Sicherheit gewährt, indem die Schlüssellänge der Chiffre, die Sie verwenden. Wie viel ist schwer zu sagen, aber nicht wissen, es nicht zu erhöhen, die Arbeit, die erforderlich ist, um herauszufinden, wie zu entschlüsseln, die eine bestimmte Nachricht.