Aller au contenu
Accueil moxon

Asymmetric

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

posthttps://api.moxon.dev/v6/asymmetric
Essayerpost/v6/asymmetric

Paramètres

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

  • action"keygen" | "encrypt" | "decrypt"requis

    Action à effectuer : keygen, encrypt ou decrypt

  • textstringconditionnel

    Texte à chiffrer, ou texte chiffré en base64 à déchiffrer

  • publicKeystringconditionnel

    Clé publique PEM (requise pour encrypt)

  • privateKeystringconditionnel

    Clé privée PEM (requise pour decrypt)

  • modulusLength"2048" | "4096"optionnel

    Taille 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

  • algorithm"rsa-oaep-sha256" | "rsa-oaep-sha1"optionnel

    Algorithme 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

Champs de réponse

Action keygen :

  • actionstring

    keygen

  • algorithmstring

    Algorithme de padding utilisé

  • modulusLengthnumber

    Taille de la clé RSA en bits

  • publicKeystring

    Clé publique encodée en PEM (SPKI)

  • privateKeystring

    Clé privée encodée en PEM (PKCS#8)

Action encrypt / decrypt :

  • actionstring

    Action effectuée (encrypt ou decrypt)

  • algorithmstring

    Algorithme de padding utilisé

  • resultstring

    Texte chiffré en base64, ou texte brut déchiffré

Gestion des erreurs

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

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