All Products
Search
Document Center

Key Management Service:Decrypt

Last Updated:Apr 01, 2026

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

ParameterTypeRequiredExampleDescription
KeyIdstringYeskey-hzz62f1cb66fa42qo****ID unik global dari kunci. Anda juga dapat menentukan alias yang terikat pada kunci tersebut.
AlgorithmstringNoAES_GCMAlgoritma dekripsi. Harus sesuai dengan algoritma yang digunakan saat enkripsi. Untuk spesifikasi kunci dan algoritma yang didukung, lihat Jenis dan spesifikasi kunci.
IvbytesNoBinary dataInitialization 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.
CiphertextBlobbytesYesBinary dataCiphertext yang akan didekripsi. Saat menggunakan algoritma Elliptic Curve Integrated Encryption Scheme (ECIES), format ciphertext mengikuti standar SEC 1: Elliptic Curve Cryptography, Version 2.0.
AadbytesNoBinary dataAdditional 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.
PaddingModestringNoPKCS7_PADDINGMode 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

ParameterTypeExampleDescription
PlaintextbytesBinary dataPlaintext hasil dekripsi.
KeyIdstringkey-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.
AlgorithmstringAES_GCMAlgoritma dekripsi.
PaddingModestringPKCS7_PADDINGMode padding.
RequestIdstring475f1620-b9d3-4d35-b5c6-3fbdd941423dID permintaan.

Kode kesalahan

Kode status HTTPKode errorPesan errorDeskripsi
500InternalFailureInternal 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.