ich bin neu in PHP Crypto und ich benutze openssl Crypto-Operationen zu tun. Openssl Rsa ist PEM-Format benötigen, aber ich habe hexadezimalen Modul (n), privaten Exponenten (d) und öffentlichen Exponenten (e). Wie kann ich privaten Schlüssel von diesen Komponenten erzeugen? Und Entschuldigung für mein Englisch.Wie bekomme ich den privaten Schlüssel aus dem Exponenten, dem Modulus und dem privaten Exponenten in PHP?
Antwort
RSA private Schlüssel haben in der Regel auch eine Reihe anderer Parameter. Die Primzahlen, die verwendet wurden, um den Modulus (p und q) und andere Parameter zu erzeugen, um die Verwendung des chinesischen Restsatzes zu erleichtern, um die Entschlüsselung zu beschleunigen. Wenn Sie das nicht haben, dann würde ich einfach einen öffentlichen Schlüssel erstellen. Möglicherweise können Sie PUBLIC durch PRIVATE IDK ersetzen.
Wie auch immer, hier einige Code ist (verwendet phpseclib 1.0.3):
<?php
include('Crypt/RSA.php');
include('Math/BigInteger.php');
$rsa = new Crypt_RSA();
$rsa->loadKey([
'e' => new Math_BigInteger('...'), // base-10 by default
'n' => new Math_BigInteger('...') // base-10 by default
]);
echo $rsa;
I 15 sowohl als e verwendet und n (die für RSA Zwecke nicht wirklich eine gültige Kombination ist aber für es ist in Ordnung Demozwecke) und bekam diese Rückseite:
-----BEGIN PUBLIC KEY-----
MBowDQYJKoZIhvcNAQEBBQADCQAwBgIBDwIBDw==
-----END PUBLIC KEY-----
Vielen Dank für Ihre Antwort. Ich habe diesen Code vorher, ich dachte, wie Sie, (http://nmichaels.org/rsa.py) , aber über Website tun RSA Enc/Dec mit nur 3 Komponenten. Irgendwie bekommt er/sie einen privaten Schlüssel aus hexadezimalen n, e, d Komponenten und entschlüsselt Daten mit ihnen. –
@ MuhammedN.Kartal - Nun, wie ich schon sagte, Sie können BEGIN PUBLIC KEY einfach in BEGIN PRIVATE KEY umbenennen. http://stackoverflow.com/a/21289989/569976 diskutiert das private RSA-Schlüsselformat. Beachten Sie, dass die Primzahlen und CRT-Parameter nicht optional sind. Was optional ist, ist otherPrimeInfos, was für private RSA-Schlüssel mit mehr als zwei Primzahlen gilt. – neubert
Ich lese das diskutieren über private Schlüsselformat. Danke vielmals. –
- 1. Wie kann ich ein Crypt :: RSA-Objekt aus dem Modul, Exponenten und privaten Exponenten erstellen?
- 2. Berechne die Primzahlen p und q aus dem privaten Exponenten (d), dem öffentlichen Exponenten (e) und dem Modul (n)
- 3. RSA privaten Schlüssel aus dem Modul und privaten Exponenten in JavaScript
- 4. Extrahieren Modul n, privaten Exponenten und öffentlichen Exponenten in Python-Kryptographie-Bibliothek
- 5. Wie man Modul, öffentlichen Exponenten und privaten Exponenten sicher auf Android speichert?
- 6. Android KeyStore privaten Exponenten kann nicht extrahiert werden
- 7. Erstellen Pub-Schlüssel aus dem privaten Schlüssel mit ssh
- 8. Load RSA PKCS # 1 privaten Schlüssel aus dem Speicher?
- 9. haproxy: Inkonsistenzen zwischen dem privaten Schlüssel und dem aus der PEM-Datei geladenen Zertifikat
- 10. C++ Importieren von öffentlichen RSA-Schlüsseln aus dem Modul und Exponenten mit CNG
- 11. Ich kann nicht aus dem privaten Repository mit EGit holen
- 12. Wie bekomme ich den Schlüssel aus dem Wert in firebase
- 13. So lesen Sie den privaten und öffentlichen Schlüssel aus dem Schlüsselspeicher in Java
- 14. Lesen des öffentlichen/privaten Schlüssels aus dem Speicher mit OpenSSL
- 15. Installieren Sie den privaten Schlüssel aus der CSR-Datei in Keychain auf dem Mac?
- 16. Kann ich privaten Schlüssel aus dem letzten öffentlichen Schlüssel mit Puttygen
- 17. Wie Docker zu fragen, aus dem privaten Repository beim Erstellen
- 18. C# RSA-Verschlüsselung mit Modul und öffentlichen Exponenten
- 19. RSA finde die Umkehrung des öffentlichen Exponenten
- 20. Verwenden Sie das Zertifikat aus dem privaten Schlüssel von ceritifcate store in Azure-Websites
- 21. Wie bekomme ich einen privaten Schlüssel von Paramiko in String?
- 22. Wie git Repo auf dem privaten Server auf den lokalen Rechner über ssh mit Schlüssel klonen?
- 23. Verschlüsseln und Entschlüsseln mit demselben privaten Schlüssel?
- 24. Ausgabe in privaten Schlüssel
- 25. generieren privaten RSA-SSH-Schlüssel in PHP
- 26. Befehl ssh-keygen in Java zum Extrahieren des öffentlichen Schlüssels aus dem privaten Schlüssel
- 27. Exportzertifikat - mit oder ohne den privaten Schlüssel
- 28. Java verschlüsseln/entschlüsseln mit RSA erzeugenden Schlüssel von Modul und Exponenten
- 29. So übergeben Sie die Passphrase an den privaten Schlüssel beim Freigeben mit dem Standard-Maven-Plugin
- 30. JavaScript-Exponenten in HTML
Sie haben einige Links zu Informationen, die Sie bereits als nützlich/geprüft angesehen haben? Bitte fügen Sie sie zu Ihrer Frage hinzu. –
http://nmichaels.org/rsa.py Beispiel, oben Website erhält n, e, d-Komponenten und rsa Crypt-Operation. Bin neugierig, wie bekommt er/sie privaten Schlüssel zum Entschlüsseln von diesen 3 Komponenten? –
@ MuhammedN.Kartal - Sie * können * Entschlüsselung mit nur n und d tun, aber es wird nicht so effizient wie es sein könnte, daher, warum * real-world * Implementierungen die zusätzlichen CRT-Parameter verwenden. Reale RSA-Implementierungen und Lehrbuch-RSA-Implementierungen machen verschiedene Dinge. Eine andere Sache, die Lehrbuch-RSA-Implementierungen nicht tun: Padding. Diese Lehrbuch-RSA-Implementierungen sind (unter anderem) bekannten Klartextangriffen unterworfen, ist im Klassenzimmer nicht wirklich ein Problem, da das Ziel im Unterricht darin besteht, Ihnen die/allgemeine/Idee zu geben. – neubert