2010-12-20 14 views
0

Ich bin ein Neuling in diesem kryptografischen Bereich. Hier ist mein Problem:RSA Entschlüsselung mit PrivateKey im PEM-Format

Ich muss einen Chiffre-Text (encrypted von RSA-Public Key) mit PrivateKey entschlüsseln, die im "privatekey.pem" -Format ist. Ich weiß nichts darüber ist verschlüsselt, ob es Passwort-basierte oder andere Methoden, aber es ist RSA-basierte Verschlüsselung. Gibt es eine Möglichkeit, den Cipher-Text zu entschlüsseln? Ich hoffe, Sie alle verstehen meine Frage, wenn irgendwelche Zweifel mich auffordern, werde ich klar erklären. Ich bitte Sie, alle Möglichkeiten mit Java zu posten ...

Antwort

0

Die asymmetrische Verschlüsselung funktioniert nach dem Prinzip, dass Sie einen der beiden Schlüssel zum Verschlüsseln von Daten und den anderen zum Entschlüsseln benötigen. In Ihrem Fall ist dies, wie es funktionieren würde:

  • generieren Schlüsselpaar: einen privaten Schlüssel, einen öffentlichen Schlüssel
  • Geben Sie Ihren öffentlichen Schlüssel an jemand anderen, haben ihn/sie Verschlüsseln einer Nachricht mit ihm. Sie werden die einzige Person sein, die die Nachricht mit Ihrem privaten Schlüssel lesen kann (ohne Passwort).

Das einzige, was Sie brauchen, ist der private Schlüssel.

Dies bedeutet, dass Sie Ihren privaten Schlüssel irgendwo speichern müssen. Aus Sicherheitsgründen wird der private Schlüssel manchmal mit Triple-DES (das symmetrisch ist) verschlüsselt. In diesem Fall verschlüsseln Sie Ihren privaten Schlüssel mit einem dreifachen DES-Passwort. Nachdem Sie Ihren privaten Schlüssel entschlüsselt haben, können Sie ihn verwenden, um die codierte Nachricht zu entschlüsseln, die mit dem öffentlichen Schlüssel.Passwort codiert wurde und dieses Kennwort zum Entschlüsseln des privaten Schlüssels benötigt. So funktioniert es in Apache SSL.

+0

Danke jvdbogae, ich habe mein Problem gelöst, indem ich Bouncy Castle Bibliothek verwendet habe, von der ich meine RSA privateKEY bekommen kann und dann entschlüsselte ich den verschlüsselten Text. – asterix

Verwandte Themen