All Products
Search
Document Center

Key Management Service:Encrypt

Last Updated:Apr 01, 2026

Mengenkripsi teks biasa menjadi ciphertext.

Deskripsi operasi

Key Management Service (KMS) menyediakan dua operasi enkripsi: Encrypt dan AdvanceEncrypt. Perbedaan utamanya terletak pada versi kunci yang digunakan dan operasi dekripsi yang harus Anda panggil setelahnya.

EncryptAdvanceEncrypt
Versi kunci yang digunakanVersi awalVersi utama
Operasi dekripsi yang kompatibelDecrypt atau AdvanceDecryptAdvanceDecrypt saja
Penting

Jika Anda menggunakan kunci simetris dalam instans manajemen kunci perangkat lunak dan mengaktifkan rotasi otomatis, gunakan AdvanceEncrypt alih-alih Encrypt. Penggunaan Encrypt dengan rotasi otomatis yang diaktifkan akan menonaktifkan fitur rotasi kunci. Untuk informasi selengkapnya, lihat Konfigurasikan rotasi kunci.

Untuk detail spesifikasi kunci, mode enkripsi, dan versi kunci, lihat Jenis dan spesifikasi kunci.

Catatan penggunaan

Badan permintaan tidak boleh melebihi 3 MB setelah dikodekan dengan Protocol Buffers. Jika batas ini dilampaui, server akan menolak permintaan dan mengembalikan HTTP 413.

Untuk satu operasi enkripsi atau dekripsi, pastikan data berada dalam batas berikut:

  • Kunci simetris: 6 KB

  • Kunci asimetris: 1 KB

Untuk data yang lebih besar, gunakan enkripsi amplop.

Catatan

Muatan besar meningkatkan risiko kegagalan jaringan, memperpanjang waktu transmisi, dan menambah latensi pemrosesan KMS.

Parameter permintaan

ParameterTipeWajibContohDeskripsi
KeyIdstringYakey-hzz62f1cb66fa42qo****ID unik global dari kunci. Anda juga dapat menentukan alias yang terikat pada kunci tersebut.
PlaintextbytesYaData binerTeks biasa yang akan dienkripsi.
AlgorithmstringTidakAES_GCMAlgoritma enkripsi. Jika tidak ditentukan, KMS menggunakan algoritma default untuk kunci tersebut. Untuk informasi selengkapnya, lihat Jenis dan spesifikasi kunci.
IvbytesTidakData binerVektor inisialisasi (IV) untuk enkripsi. Hanya berlaku ketika Algorithm diatur ke AES_GCM atau AES_CBC. Panjang valid: 12 byte untuk AES_GCM, 16 byte untuk AES_CBC. Jika tidak ditentukan, KMS menghasilkan nilai acak. Jangan atur parameter ini.
AadbinaryTidakData binerAdditional authenticated data (AAD) untuk otentikasi mode GCM. Berlaku ketika kunci merupakan kunci simetris dan Algorithm diatur ke AES_GCM atau SM4_GCM. Jika ditentukan, Anda juga harus meneruskan nilai yang sama saat memanggil Decrypt.
PaddingModestringTidakPKCS7_PADDINGMode padding. Diperlukan hanya ketika Algorithm diatur ke AES_CBC atau AES_ECB. Nilai valid: PKCS7_PADDING (default) dan NO_PADDING.

Nilai PaddingMode

  • `PKCS7_PADDING` (default): Menggunakan padding PKCS#7. Jika input berukuran L byte, KMS menambahkan K − (L mod K) byte padding, di mana K adalah ukuran blok cipher.

  • `NO_PADDING`: Tidak ada padding yang ditambahkan. Panjang teks biasa harus merupakan kelipatan bilangan bulat dari ukuran blok cipher.

Elemen respons

ParameterTipeContohDeskripsi
IvbytesData binerVektor inisialisasi (IV) yang digunakan untuk enkripsi. Mengembalikan nilai hanya ketika Algorithm adalah AES_GCM atau AES_CBC; kosong jika tidak.
CiphertextBlobbytesData binerCiphertext terenkripsi. Ketika algoritma Elliptic Curve Integrated Encryption Scheme (ECIES) digunakan, format ciphertext mengikuti standar SEC 1: Elliptic Curve Cryptography, Versi 2.0.
KeyIdstringkey-hzz62f1cb66fa42qo****ID unik global dari kunci. Jika Anda menentukan alias dalam permintaan, bidang ini mengembalikan ID kunci yang terikat pada alias tersebut.
AlgorithmstringAES_GCMAlgoritma enkripsi.
PaddingModestringPKCS7_PADDINGMode padding. Mengembalikan nilai hanya ketika Algorithm adalah AES_CBC atau AES_ECB; kosong jika tidak.
RequestIdstring475f1620-b9d3-4d35-b5c6-3fbdd941423dID permintaan, digunakan untuk melacak dan memecahkan masalah.

Kode kesalahan

Untuk daftar kode kesalahan, lihat Kode kesalahan layanan.