Decrypt a short message with a private key. Opcode: 11 (0x000B)


key_nameStringName of the key to use for the operation
algAsymmetricEncryptionAn asymmetric encryption algorithm that is compatible with the type of key
ciphertextVector of bytesShort message to decrypt
saltVector of bytesSalt to use during encryption, if supported by the algorithm
  • key_name must be the name of an RSA asymmetric key pair. The key must allow the usage flag decrypt.
  • salt can be provided if supported by the algorithm. If the algorithm does not support salt, pass an empty vector. If the algorithm supports optional salt, pass an empty vector to indicate no salt. For RSA PKCS#1 v1.5 encryption, no salt is supported.


plaintextVector of bytesBuffer containing the decrypted message

Specific response status codes

  • PsaErrorNotPermitted: The key does not have the decrypt flag, or it does not permit the requested algorithm.
  • PsaErrorInvalidPadding: The decrypted padding is incorrect. See Warning below.


This function will decrypt a short message with the private key of the provided key pair.

WARNING: In some protocols, when decrypting data, it is essential that the behavior of the application does not depend on whether the padding is correct (see Bleichenbacher). If the application must perform a decryption of unauthenticated data, the application writer must take care not to reveal whether the padding is invalid.



Copyright 2020 Contributors to the Parsec project.