Déchiffrement RSA avec une clé privée
Déchiffrez du texte RSA (Base64 ou hex) avec une clé privée PEM en RSA-OAEP SHA-256, OAEP SHA-1 ou PKCS#1 v1.5. Erreurs claires si clé ou remplissage sont faux.
OAEP est le remplissage recommandé. MGF1 utilise le même hachage, comme Web Crypto et openssl pkeyutl -pkeyopt rsa_oaep_md.
S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Déchiffrement RSA ?
Déchiffre du texte chiffré RSA avec votre clé privée au format PEM (PKCS#8 BEGIN PRIVATE KEY ou PKCS#1 BEGIN RSA PRIVATE KEY). Il prend en charge RSA-OAEP avec SHA-256 ou SHA-1 et le remplissage hérité PKCS#1 v1.5, en accord avec la sortie d’OpenSSL, Web Crypto, Java et Node.js.
Comment utiliser Déchiffrement RSA
- Collez la Clé privée (PEM) (non chiffrée), ou cliquez sur Générer une paire de clés de test (2048 bits) pour expérimenter.
- Sélectionnez le Remplissage utilisé lors du chiffrement.
- Collez le Texte chiffré et choisissez Base64 ou Hex comme encodage.
- Cliquez sur Déchiffrer ; passez la sortie en Hex si le texte en clair est binaire (par exemple une clé AES).
Exemple
Texte chiffré de `crypto.publicEncrypt` de Node.js (RSA-OAEP, oaepHash sha256) pour « Hello RSA », avec la clé privée PKCS#8 de 2048 bits correspondante
Hello RSA
Quand utiliser Déchiffrement RSA
Utilisez-le pour vérifier du texte chiffré produit par votre propre code, déchiffrer des données de test ou valider l’interopérabilité entre plateformes. Évitez de coller de vraies clés privées de production dans un navigateur ; utilisez des clés de test. Les clés privées protégées par mot de passe doivent d’abord être exportées sans phrase secrète.
Comment fonctionne Déchiffrement RSA
L’exposant privé retrouve le message rempli m = cᵈ mod n (avec l’optimisation CRT), puis le remplissage est retiré et vérifié : OAEP vérifie le masque MGF1 et le hachage d’étiquette pour SHA-256 ou SHA-1, PKCS#1 v1.5 vérifie l’en-tête 00 02 et le séparateur. Le texte chiffré doit avoir exactement la longueur du module (256 octets pour des clés de 2048 bits) ; toute incohérence de clé, de remplissage ou de hachage provoque une erreur de déchiffrement plutôt qu’une sortie erronée.
Cas d'utilisation courants
- Vérifier qu’une sortie RSA-OAEP produite côté navigateur se déchiffre avec la clé de votre serveur
- Déchiffrer une clé AES enveloppée avec RSA dans un test de chiffrement hybride
- Diagnostiquer des différences OAEP SHA-1 / SHA-256 entre Java et Node.js
- Déchiffrer des données PKCS#1 v1.5 d’un système hérité
Note de Sécurité
Les clés et les messages sont traités uniquement dans votre navigateur. Ne collez pas de clés privées de production sur un site que vous ne contrôlez pas : générez plutôt une paire de clés de test.
Questions Fréquentes
« Échec du déchiffrement » : qu’est-ce qui ne va pas ?
En général, le remplissage ou le hachage OAEP ne correspond pas (SHA-1 ou SHA-256), le texte chiffré appartient à une autre paire de clés, ou il a été abîmé lors de la copie. Essayez d’abord l’autre hachage OAEP.
Ma clé commence par BEGIN ENCRYPTED PRIVATE KEY.
Les clés protégées par mot de passe ne sont pas prises en charge. Convertissez une copie de test avec openssl pkey -in key.pem -out plain.pem et manipulez la clé non chiffrée avec précaution.
L’erreur de longueur indique que le texte chiffré doit faire 256 octets.
Un texte chiffré RSA a toujours la longueur du module. Vérifiez que vous avez collé toute la chaîne Base64 et choisi le bon encodage d’entrée (Base64 ou Hex).