Skip to content

Asymmetric

L'endpoint /asymmetric effectue la génération de clés RSA asymétriques, le chiffrement et le déchiffrement.

Paramètres

Le corps de la requête doit être en JSON :

ParamètreRequisDescription
actionOuiAction à effectuer : keygen, encrypt ou decrypt
textCond.Texte à chiffrer, ou texte chiffré en base64 à déchiffrer
publicKeyCond.Clé publique PEM (requise pour encrypt)
privateKeyCond.Clé privée PEM (requise pour decrypt)
modulusLengthNonTaille de la clé RSA pour keygen : 2048 (défaut) ou 4096. Ignoré pour encrypt/decrypt — la limite de taille est dérivée de la clé réelle
algorithmNonAlgorithme de padding : rsa-oaep-sha256 (défaut) ou rsa-oaep-sha1

Actions disponibles

ActionDescription
keygenGénère une paire de clés RSA et retourne les clés publique et privée encodées en PEM
encryptChiffre un texte avec la clé publique en utilisant le padding OAEP et retourne le résultat en base64
decryptDéchiffre un texte chiffré en base64 avec la clé privée et retourne le texte original

Limite de taille du texte

Le padding OAEP réserve de l'espace dans chaque bloc RSA, donc la taille maximale du texte dépend de la taille de la clé et de l'algorithme de hachage :

Taille de cléAlgorithmeTexte max
2048rsa-oaep-sha256190 octets
2048rsa-oaep-sha1214 octets
4096rsa-oaep-sha256446 octets
4096rsa-oaep-sha1470 octets

La formule est : modulusLength / 8 − 2 × hashLength − 2.

Exemples de code

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "action": "keygen"
  }' \
  "https://api.sylvain.sh/v5/asymmetric"

Champs de réponse

Action keygen :

ChampTypeDescription
actionstringkeygen
algorithmstringAlgorithme de padding utilisé
modulusLengthnumberTaille de la clé RSA en bits
publicKeystringClé publique encodée en PEM (SPKI)
privateKeystringClé privée encodée en PEM (PKCS#8)

Action encrypt / decrypt :

ChampTypeDescription
actionstringAction effectuée (encrypt ou decrypt)
algorithmstringAlgorithme de padding utilisé
resultstringTexte chiffré en base64, ou texte brut déchiffré

Essayer

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

Message d'erreurDescription
Action must be "keygen", "encrypt", or "decrypt"La valeur de action n'est pas valide
Unsupported algorithm. Use one of: rsa-oaep-sha256, rsa-oaep-sha1L'algorithm n'est pas supporté
Modulus length must be 2048 or 4096Le modulusLength n'est ni 2048 ni 4096
Text is requiredLe paramètre text est manquant pour encrypt
Public key is requiredLa publicKey est manquante pour encrypt
Invalid public key formatLa publicKey ne commence pas par l'en-tête PEM, ou ne peut pas être analysée comme une clé valide
Text exceeds maximum length for this key size and algorithm (N bytes)Le texte est trop long pour la clé et l'algorithme
Encryption failed: invalid key or data too largeLe chiffrement a échoué
Encrypted data is requiredLe paramètre text est manquant pour decrypt
Private key is requiredLa privateKey est manquante pour decrypt
Invalid private key formatLa privateKey ne commence pas par l'en-tête PEM
Invalid key or corrupted dataLe déchiffrement a échoué