Was bedeutet die "Daten sind größer als Mod len" Fehlermeldung? Ich habe dies beim Entschlüsseln von Daten mit openssl_private_decrypt von PHP festgestellt. Wie geht man dieses Problem zu lösen? Stundenlang online gesucht, nirgendwo hingekommen.Openssl "Daten größer als mod len"
6
A
Antwort
10
Asymmetric RSA-Schlüssel können Daten nur von begrenzten Länge dh RSAES-PKCS1-v1_5 Verschlüsselungsschema verschlüsseln/entschlüsseln in RFC3447 definierte auf Nachrichten der Länge arbeiten können bis zu k - 11 Oktetts (k ist die Oktettlänge der RSA-Modul) Wenn Sie also einen 2048-Bit-RSA-Schlüssel verwenden, beträgt die maximale Länge der zu verschlüsselnden einfachen Daten 245 Byte.
Gibt es eine Funktion, um das maximale Urbild und Bildgrößen zu bestimmen? Ich weiß, dass andere Bibliotheken ähnlich sind (wie Crypto ++), aber in OpenSSL nicht darauf gestoßen sind. – jww
@jww für RSA gibt es [RSA_size()] (https://www.openssl.org/docs/crypto/RSA_size.html), die RSA-Modul-Größe zurückgibt, und es gibt eine [dokumentierte Beziehung zwischen Modul-Größe, maximale Länge von Klartext und verschiedene Paddings] (https://www.openssl.org/docs/crypto/RSA_public_encrypt.html). Ich habe in OpenSSL-API nichts generischeres für asymmetrische Algorithmen gesehen (was natürlich nicht bedeutet, dass so etwas nicht existiert). – jariq
Danke. 'RSA_size' ist nicht wirklich nützlich. Ich fragte nach der OpenSSL-Benutzerliste: [RSA und maximale Größe des Vorimages?] (Https://groups.google.com/forum/#!topic/mailing.openssl.users/ruoFBjX-s7w). – jww