--- page_title: rsadecrypt function reference description: The `rsadecrypt` function decrypts an RSA-encrypted message. Learn how to usethe `rsadecrypt` function in Packer templates. --- ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ > [!IMPORTANT] > **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ # `rsadecrypt` Function `rsadecrypt` decrypts an RSA-encrypted ciphertext, returning the corresponding cleartext. ```hcl rsadecrypt(ciphertext, privatekey) ``` `ciphertext` must be a base64-encoded representation of the ciphertext, using the PKCS #1 v1.5 padding scheme. Packer uses the "standard" Base64 alphabet as defined in [RFC 4648 section 4](https://tools.ietf.org/html/rfc4648#section-4). `privatekey` must be a PEM-encoded RSA private key that is not itself encrypted. Packer has no corresponding function for _encrypting_ a message. Use this function to decrypt ciphertexts returned by remote services using a keypair negotiated out-of-band. ## Examples ```shell-session > rsadecrypt(base64(file("${path.folder}/ciphertext")), file("privatekey.pem")) Hello, world! ```