Mendekripsi ciphertext menjadi plaintext.
Petunjuk pengoperasian
Setelah memanggil operasi Encrypt atau GenerateDataKey untuk menghasilkan ciphertext, Anda dapat memanggil operasi Decrypt guna mendekripsinya.
Catatan penggunaan
Badan permintaan tidak boleh melebihi 3 MB setelah dikodekan dengan Protocol Buffers. Jika melebihi batas tersebut, server akan mengembalikan HTTP 413.
Patuhi batas ukuran berikut per operasi untuk mengurangi risiko kegagalan jaringan dan meminimalkan latensi:
Kunci simetris: 6 KB
Kunci asimetris: 1 KB
Jumlah data yang besar dalam satu operasi enkripsi atau dekripsi meningkatkan risiko kegagalan jaringan, memperpanjang waktu transmisi melalui jaringan, serta memperpanjang durasi yang dibutuhkan oleh KMS untuk mengenkripsi dan mendekripsi data.
Untuk data yang melebihi batas ini, gunakan envelope encryption.
Parameter permintaan
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| KeyId | string | Yes | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci. Anda juga dapat menentukan alias yang terikat pada kunci tersebut. |
| Algorithm | string | No | AES_GCM | Algoritma dekripsi. Harus sesuai dengan algoritma yang digunakan saat enkripsi. Untuk spesifikasi kunci dan algoritma yang didukung, lihat Jenis dan spesifikasi kunci. |
| Iv | bytes | No | Binary data | Initialization vector (IV). Diperlukan ketika Algorithm bernilai AES_GCM atau AES_CBC. Harus sesuai dengan IV yang digunakan saat enkripsi. Panjang valid: 12 byte untuk AES_GCM, 16 byte untuk AES_CBC. |
| CiphertextBlob | bytes | Yes | Binary data | Ciphertext yang akan didekripsi. Saat menggunakan algoritma Elliptic Curve Integrated Encryption Scheme (ECIES), format ciphertext mengikuti standar SEC 1: Elliptic Curve Cryptography, Version 2.0. |
| Aad | bytes | No | Binary data | Additional authenticated data (AAD). Maksimal 8.192 byte. Diperlukan ketika Algorithm bernilai AES_GCM atau SM4_GCM dan AAD telah ditentukan saat enkripsi. Harus sesuai dengan nilai yang digunakan saat enkripsi. |
| PaddingMode | string | No | PKCS7_PADDING | Mode padding. Diperlukan ketika Algorithm bernilai AES_CBC atau AES_ECB. Harus sesuai dengan nilai yang digunakan saat enkripsi. Nilai valid: PKCS7_PADDING (default), NO_PADDING. |
Nilai PaddingMode
`PKCS7_PADDING` (default): Menggunakan padding PKCS#7. Panjang plaintext tidak perlu kelipatan ukuran blok cipher. Jika panjang plaintext adalah L byte, sistem akan menambahkan K−(L mod K) byte padding, di mana K adalah ukuran blok cipher dalam byte.
`NO_PADDING`: Tanpa padding. Panjang plaintext harus merupakan kelipatan bulat dari ukuran blok cipher.
Parameter respons
| Parameter | Type | Example | Description |
|---|---|---|---|
| Plaintext | bytes | Binary data | Plaintext hasil dekripsi. |
| KeyId | string | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci yang digunakan untuk dekripsi. Jika Anda menentukan alias dalam permintaan, ID kunci yang terikat pada alias tersebut akan dikembalikan. |
| Algorithm | string | AES_GCM | Algoritma dekripsi. |
| PaddingMode | string | PKCS7_PADDING | Mode padding. |
| RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | ID permintaan. |
Kode kesalahan
| Kode status HTTP | Kode error | Pesan error | Deskripsi |
|---|---|---|---|
| 500 | InternalFailure | Internal Failure. | Permintaan gagal karena salah satu dari penyebab berikut: ciphertext tidak memenuhi persyaratan algoritma (misalnya, menggunakan SHA-1 saat dekripsi RSAES_OAEP_SHA_256, atau panjang ciphertext yang bukan kelipatan 16 byte saat dekripsi AES_ECB); atau kunci yang ditentukan tidak sesuai dengan kunci yang digunakan untuk enkripsi. Jika kedua penyebab tersebut tidak berlaku, kirimkan ticket untuk menghubungi dukungan teknis. |
Untuk daftar lengkap kode kesalahan, lihat Kode kesalahan layanan.