HINWEIS Im Folgenden wird eine lineare Beschleunigung angenommen (wie sie bei einem Brute-Force-Angriff erzielt werden würde) - die Beschleunigung kann je nach Algorithmus EXPONENTIELL MEHR sein.
Es ist sehr schwierig, große Zahlen zu verstehen - selbst ich war überrascht, als die Antwort kam. Hier ist eine Art, darüber nachzudenken:
Wenn es ohne Informationen 13,8 Milliarden Jahre (das bisherige Alter des Universums) dauern würde, um mit Hilfe von 8 einen Schlüssel zu knacken Binärzeichen, es würde nur 0,023 Sekunden dauern.
Dies ist: 13,8 Milliarden Jahre / 2 (bits_per_symbol * number_of_symbols) sup>.
Sie sagte, die Anzahl der Symbole sei "8 Zeichen", und ich gehe von binär aus, die 8 Bits pro Symbol hat. Also: 13,8 Milliarden Jahre / 2 (8 * 8) sup>
Wenn sie uuencodiert oder base64 sind, haben sie 6 Bits pro Symbol, sodass sie alle 25 Bit benötigen Minuten, um die verbleibenden Kombinationen durchzuarbeiten.
Diese Proportionen gelten nur für die Anzahl der Bits, die Sie enthüllt haben, und sind unabhängig davon, wie lang der Schlüssel ist (nur, dass das Knacken des Schlüssels 13,8 Milliarden Jahre dauern würde ).
Der springende Punkt bei der Kryptografie mit öffentlichen Schlüsseln ist, dass Sie NIEMALS den privaten Schlüssel freigeben müssen. Jeder private Schlüssel sollte nur an einem Ort vorhanden sein und niemals über ein Netzwerk übertragen werden. Das Senden von Schlüsseln verstößt gegen das Prinzip der Kryptographie mit öffentlichen Schlüsseln. Es ist NIEMALS erforderlich, private Schlüssel teilweise oder anderweitig zu senden.
Wenn Sie möchten, dass zwei (oder mehr) verschiedene Geräte dieselbe Nachricht dekodieren können, lassen Sie jedes seinen eigenen privaten Schlüssel erstellen und senden Sie ihn ihr öffentlicher Schlüssel (sicher !!) verschlüsselt dann die Nachricht mit beiden Schlüsseln. Normalerweise werden bei PKC lange Nachrichten mithilfe einer symmetrischen Verschlüsselung mit einem zufälligen Schlüssel verschlüsselt. Der Schlüssel wird dann mit PKC verschlüsselt und mit der Nachricht gesendet. Sie können den Zufallsschlüssel einfach mit mehreren öffentlichen Schlüsseln verschlüsseln und alle mit derselben Nachricht senden.
Wenn Sie nur zeigen möchten, dass Sie den privaten Schlüssel haben, können Sie Folgendes tun:
Bitten Sie die Person, der Sie dies beweisen möchten, einen zufälligen Wert anzugeben (ein "Nonce"). . Fügen Sie einen eigenen zufälligen Wert hinzu, hashen Sie ihn und signieren Sie den Hash. Senden Sie Ihren zufälligen Wert und die Signatur zurück.
Ihr Gegenüber nimmt dann die von ihm gesendete Nonce plus Ihren zufälligen Wert, hasht sie und vergleicht die Signatur mit Ihrem öffentlichen Schlüssel.
Das Einschließen eines zufälligen Werts vom Absender zeigt, dass Sie nicht nur einen Wert ausgewählt haben, der zuvor vom tatsächlichen Eigentümer signiert wurde.
Akzeptieren Sie unter keinen Umständen etwas, das von einer anderen Person gesendet wurde, und Unterzeichnung ohne Änderungen. Sie können Ihnen den Fingerabdruck eines Dokuments senden, das sie geschrieben haben, und Sie werden dieses Dokument effektiv signieren.