

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Dekripsi
<a name="decrypt-operation"></a>

Panggilan AWS KMS untuk mendekripsi nilai ciphertext menerima ciphertext nilai terenkripsi dan konteks enkripsi. AWS KMS mengotentikasi panggilan menggunakan [permintaan AWS tanda tangan versi 4 yang ditandatangani](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dan mengekstrak HBKID untuk kunci pembungkus dari ciphertext. HBKID digunakan untuk mendapatkan *EKT* yang diperlukan untuk mendekripsi ciphertext, ID kunci, dan kebijakan untuk ID kunci. Permintaan diizinkan berdasarkan kebijakan kunci, bantuan yang mungkin ada, dan kebijakan IAM terkait yang merujuk pada ID kunci. Parameter `Decrypt` berfungsi analog dengan fungsi enkripsi.

Berikut hasil sintaks permintaan `Decrypt`.

```
{
	"CiphertextBlob": "blob",
	"EncryptionContext": { "string" : "string" }
	"GrantTokens": ["string"]
}
```

Berikut ini adalah parameter permintaan.

**CiphertextBlob**  
Ciphertext termasuk metadata.

** EncryptionContext**  
(Opsional) Konteks enkripsi. Jika ditentukan dalam fungsi `Encrypt`, hal ini harus ditentukan di sini atau operasi dekripsi gagal. Untuk informasi lebih lanjut, lihat [Konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html) di *Panduan Pengembang AWS Key Management Service *.

**GrantTokens**  
(Opsional) Daftar token bantuan yang mewakili bantuan yang memberikan izin untuk melakukan dekripsi.

Parameter *ciphertext* dan *EKT* dikirim, bersama dengan konteks enkripsi, selama sesi autentikasi untuk HSM untuk dekripsi.

HSM menjalankan berikut ini:

1. Mendekripsi *EKT* untuk mendapatkan *HBK = Dekripsi (DKi, EKT) *.

1. Mengekstrak nonce *N* dari struktur *ciphertext*.

1. Membuat kunci enkripsi AES-GCM 256-bit *K* dari *HBK* dan *N*.

1. Mendekripsi *ciphertext* untuk mendapatkan *plaintext = Dekripsi (K, konteks, ciphertext)*.

ID kunci dan plaintext yang dihasilkan dikembalikan ke AWS KMS host selama sesi aman dan kemudian kembali ke aplikasi pelanggan yang memanggil melalui koneksi TLS.

Berikut ini adalah sintaks responsnya.

```
{
    "KeyId": "string",
    "Plaintext": blob
}
```

Jika aplikasi panggilan ingin memastikan keaslian plaintext, harus diverifikasi bahwa ID kunci yang dikembalikan adalah ID kunci yang diharapkan.