Ich implementiere meine eigene Version von RSA-OAEP mit SHA-256. Ich möchte es testen, indem ich es mit der Ausgabe der Cipher-Klasse in Java unter Verwendung von RSA-OAEP und SHA-256 vergleiche. Laut PKCS # 1 benötigt RSA-OAEP eine Bezeichnung, die standardmäßig eine leere Zeichenfolge ist. Ich kann jedoch keine Möglichkeit finden, ein Label in der integrierten Klasse einzugeben. Meine Implementierung scheint sowohl für die Verschlüsselung als auch für die Entschlüsselung korrekt zu funktionieren, aber die Cipher-Klasse erzeugt unterschiedliche Ausgaben. Gibt es ein Standard-Label, das die Cipher-Klasse verwendet?Gibt es eine Standardkennzeichnung für die integrierte RSA-OAEP-Verschlüsselung in Java?
Antwort
Was heißt label L in PKCS1v2.1 RSAES-OAEP wurde Codierungsparameter P in v2.0 genannt; Siehe die Beschreibung von pSourceAlgorithm in A.2.1. Die Java-API behält die alte Terminologie bei, vermutlich aus Gründen der Kompatibilität, und der Standard ist tatsächlich eine leere Oktett-Zeichenkette, die in Java als byte
Array der Länge 0 implementiert ist. Siehe . Beachten Sie, dass selbst wenn P-Call-Me-L leer ist, sein Hash, der in DB vor der Maskierung geht, nicht leer ist.
Wenn Sie "unterschiedliche Ausgabe" sagen, stellen Sie fest, dass OAEP randomisiert ist (in einer Weise, die nachweislich keine Informationen an den Gegner verliert) und jede Verschlüsselung desselben Klartexts sollte einen eindeutigen Chiffretext ergeben, aber alle sollte zurück zum selben Klartext entschlüsseln, oder?
- 1. Gibt es eine integrierte Erweiterungsmethode für Sammlungen wie Apply?
- 2. Gibt es eine integrierte Python-Methode für doppelte Dateipfade?
- 3. Gibt es eine integrierte JavaScript-Funktion, die os.path.join ähnlich ist?
- 4. Gibt es eine solche integrierte Steuerung in Silverlight?
- 5. Gibt es in .NET 4.0 eine integrierte binäre Suchbaumstruktur?
- 6. Gibt es eine integrierte Möglichkeit, Strings in C++ zu teilen?
- 7. Gibt es eine integrierte Check-in-Richtlinie für TFS 2008, die Kommentare erfordert?
- 8. Gibt es eine Java-API oder eine integrierte Funktion zum Lösen von Annuitätsproblemen?
- 9. Gibt es eine Uhrzeitsynchronisierungslösung für Java?
- 10. Gibt es eine Java Annotation für Bugs?
- 11. Gibt es eine Datenbankmodellierungsbibliothek für Java?
- 12. Gibt es eine integrierte Möglichkeit, zwei Iteratoren zu vergleichen?
- 13. Gibt es eine Online-IDE für Java?
- 14. Gibt es eine Konvention für Java-Ausnahmebedingungsnachrichten?
- 15. Gibt es eine Namenskonvention für Keystore (Java)
- 16. Gibt es eine integrierte Klasse zum Erstellen von Benachrichtigungsabzeichen?
- 17. Gibt es eine Möglichkeit, programmgesteuert die richtigen Größen für Apples integrierte Steuerelemente zu bestimmen?
- 18. Integrierte Vergleichssortierung in Java
- 19. Gibt es eine Java-Bibliothek für die Domain-Suche?
- 20. Gibt es eine Java-Bibliothek für die Erstellung von Thumbnails?
- 21. Gibt es eine Java-Bibliothek für die Zugriffskontrollliste?
- 22. Gibt es eine COM-Bibliothek für Java, die gut funktioniert?
- 23. Gibt es eine integrierte JavaScript-Funktion zum Verarbeiten einer Zeitzeichenfolge?
- 24. Gibt es eine Kodierungskonvention für eine "Zeilenregel" für Java?
- 25. Java: Gibt es eine Kartenfunktion?
- 26. Gibt es in Spacemacs eine integrierte Unterstützung für Ruby-Bewegungen und Textobjekte?
- 27. Gibt es einen Java-Parser für die Java-Sprache?
- 28. Gibt es eine integrierte Java-Methode, um ein Array zu boxen?
- 29. Gibt es eine integrierte Python-Methode, die über eine Liste mit Indexwerten anstelle von Elementen iteriert
- 30. Gibt es in Java eine Kreisklasse wie die Rectangle-Klasse?