Nachdem ich Artikel über Kryptografie (symmetrische und asymmetrische) Methoden gelesen haben. Viele Artikel sagen, dass private Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwendet wird. Öffentlicher Schlüssel wird verwendet, um Daten zu verschlüsseln Ich versuche mit der Implementierung in Java zu beginnen. Ich kann keinen privaten Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwenden (ich verwende den RSA-Algorithmus). Wenn es möglich ist, bitte geben Sie mir einen Link. Wenn es nicht unterstützt, bitte beantworten Sie, warum es nicht unterstützt?Verschlüsselung und Entschlüsselung mit privatem Schlüssel in Java
// Encrypt
Cipher encrypt=Cipher.getInstance("RSA");
encrypt.init(Cipher.ENCRYPT_MODE, privatekey);
byte[] encryptedMessage=encrypt.doFinal(msg.getBytes());
// Decrypt
Cipher decrypt=Cipher.getInstance("RSA");
decrypt.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedMessage=decrypt.doFinal(encryptedMessage);
Ist keine Verschlüsselungs Unterzeichnung Verschlüsselung mit einem privaten Schlüssel? –
@PeterBecker Es ist besser, nicht so zu denken. Überprüfen Sie [RFC 3447 Teil 5.2] (http://tools.ietf.org/html/rfc3447#page-12): "... Die wichtigste mathematische Operation in jedem Grundelement ist Exponentiation, wie in der Verschlüsselung und Entschlüsselung Primitiven von Abschnitt 5.1 RSASP1 und RSAVP1 sind die gleichen wie RSADP und RSAEP mit Ausnahme der Namen ihrer Eingabe- und Ausgabeargumente, sie werden unterschieden, da sie für verschiedene Zwecke bestimmt sind. ". Dies gilt nur für "Lehrbuch" oder "rohe" RSA, die nicht für normale kryptografische Zwecke geeignet sind. Die Polsterung ist ein integraler Bestandteil des Schemas und unterscheidet sich. –
Punkt genommen. Ich habe tatsächlich einmal ein gebrochenes Krypto-Schema gefunden, bei dem reines RSA verwendet wurde (Problem 1) und die beiden Schlüssel falsch herum verwendet wurden. Bouncy Castle lässt dich das machen und ändert dann leise das Padding, was in diesem Fall keine Randomisierung bei der Verschlüsselung bedeutet. –