Ich erstelle eine Verschlüsselungsstrategie für ein Laborprojekt und möchte wissen, ob die Möglichkeit besteht, einen öffentlichen Schlüssel nur mit dem privaten Schlüssel zu erstellen?
Kann der öffentliche Schlüssel andernfalls nur gleichzeitig mit dem privaten Schlüssel eines Schlüsselgenerators erstellt werden?
P.S. Ein schnelles Google hat nicht wirklich geholfen.
Der private und der öffentliche Schlüssel werden zusammen erstellt. Außerdem enthält das Standardspeicherformat für einen privaten RSA-Schlüssel alle öffentlichen Schlüsselfelder, da es für optimierte Implementierungen und Maskierung (Schutz gegen einige Seitenkanalangriffe) nützlich ist. Siehe den RSA-Standard selbst: PKCS # 1 .
Bearbeiten: Frage wurde bearbeitet, ursprünglich war es nur RSA. Für einen anderen asymmetrischen Algorithmus besteht keine Anforderung, dass der öffentliche Schlüssel von dem privaten Schlüssel abgeleitet werden kann, und es besteht auch keine Anforderung des Gegenteils. Für auf diskreten Logarithmen basierende Algorithmen (Diffie-Hellman, El-Gamal, DSA und die elliptischen Kurvenvarianten von all diesen) wird der öffentliche Schlüssel leicht aus dem privaten Schlüssel berechnet. Es ist möglich, eine degenerierte RSA zu konzipieren, in der die Kenntnis des privaten Schlüssels die Rekonstruktion des öffentlichen Schlüssels nicht erlaubt, aber dies erfordert nicht das Speichern einiger Schlüsselelemente, die für eine gute Leistung benötigt werden (in allen Details ermöglicht das Speichern der RSA-Modulfaktoren) für eine 4x-Geschwindigkeitssteigerung durch den Chinesischen Restsatz, so dass jeder die Faktoren speichert). Auf einer eher konzeptuellen Basis ist der öffentliche Schlüssel, naja, öffentlich, daher wird angenommen, dass "jeder" es weiß; Praktisch gesehen enthält das Speicherformat für private Schlüssel fast immer auch Vorkehrungen zum Speichern des öffentlichen Schlüssels oder zumindest ausreichende Daten, um den öffentlichen Schlüssel wieder aufzubauen.
Hängt vom Algorithmus ab. Mit RSA können Sie nicht, mit EC können Sie. Der öffentliche Schlüssel wird jedoch normalerweise immer zusammen mit dem privaten Schlüssel gespeichert (natürlich nicht umgekehrt), also ist das nicht wirklich ein Problem (wenn Sie den privaten Schlüssel haben, enthält dieselbe Datei auch den öffentlichen Schlüssel ).
Der Befehlszeilenvergleich zeigt, dass es keinen Unterschied zwischen einem öffentlichen RSA-Schlüssel und einem extrahierten Schlüssel gibt, wenn Sie Leerzeichen ignorieren.
Generieren Sie die öffentliche private Schlüsselpaarung unter dem Home-Verzeichnis ohne Passphrase und kein coment.
ssh-keygen -t rsa -f ~/id_rsa -N '' -C ""
Generieren Sie den öffentlichen Schlüssel in die Datei 'extrahierter_öffentlicher_Schlüssel'
ssh-keygen -y -f '/home/vagrant/id_rsa' > extracted_public_key
Vergleichen Sie den öffentlichen Schlüssel mit der Datei 'extrahierter_öffentlicher_Schlüssel' und ignorieren Sie Leerraum.
diff -b id_rsa.pub extracted_public_key
Bei der Ignorierung von Leerzeichen am Ende von id_rsa.pub gibt es keinen Unterschied zwischen einem öffentlichen Schlüssel und einem extrahierten Schlüssel.
Tags und Links cryptography encryption rsa