Symmetrically decrypt data with crypt.decrypt
crypt-decryptDecrypt ciphertext with the executor's crypt.decrypt function by supplying the original Base64 key, IV, and optional cipher mode; returns plaintext or an error.
Instructions
Decrypt a ciphertext with the executor's crypt.decrypt(data, key, iv, mode?). Supply the same Base64 key and iv that were used to encrypt, plus the optional cipher mode if a non-default mode was used. The function returns the recovered plaintext. This is a pure, side-effect-free compute that runs entirely in-game. Requires crypt.decrypt; on an executor without it, it returns { error } instead of throwing. The call is pcall-guarded so a wrong key/iv/mode degrades to a clean error. Returns { plaintext } or { error }. Signature: { data: string, key: string, iv: string, mode: string?, threadContext: number?, timeoutMs: number? }. Phase: observe; cost=medium; idempotency=read-only. Requires: active-client. Produces: structured-result. Safety: read-only. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| iv | Yes | The Base64-encoded initialization vector that was used to encrypt. | |
| key | Yes | The Base64-encoded symmetric key that was used to encrypt. | |
| data | Yes | The ciphertext to decrypt. | |
| mode | No | Optional cipher mode; must match the mode used at encrypt time if it was non-default. | |
| timeoutMs | No | Optional per-call deadline in milliseconds; omit it to use the tool or server default. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |