

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

# Referensi spesifikasi kunci
<a name="symm-asymm-choose-key-spec"></a>

[Saat Anda membuat kunci KMS asimetris atau kunci HMAC KMS, Anda memilih spesifikasi kuncinya.](create-keys.md#key-spec) *Spesifikasi kunci*, yang merupakan properti dari setiap AWS KMS key, mewakili konfigurasi kriptografi kunci KMS Anda. Anda memilih spesifikasi kunci saat Anda membuat kunci KMS, dan Anda tidak dapat mengubahnya. Jika Anda memilih spesifikasi kunci yang salah, [hapus kunci KMS](deleting-keys.md), dan buat yang baru.

**catatan**  
Spesifikasi kunci untuk kunci KMS dikenal sebagai “spesifikasi kunci master pelanggan.” `CustomerMasterKeySpec`Parameter [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operasi tidak digunakan lagi. Sebagai gantinya, gunakan `KeySpec` parameternya. Respons dari `CreateKey` dan [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operasi termasuk `CustomerMasterKeySpec` anggota `KeySpec` dan dengan nilai yang sama.

Spesifikasi kunci menentukan apakah kunci KMS simetris atau asimetris, jenis bahan kunci dalam kunci KMS, dan algoritma enkripsi, algoritma penandatanganan, atau algoritma kode otentikasi pesan (MAC) yang mendukung kunci KMS. AWS KMS Spesifikasi kunci yang Anda pilih biasanya ditentukan oleh kasus penggunaan dan persyaratan peraturan. Namun, operasi kriptografi pada kunci KMS dengan spesifikasi kunci yang berbeda dihargai secara berbeda dan tunduk pada kuota yang berbeda. Untuk detail harga, lihat [AWS Key Management Service Harga](https://aws.amazon.com/kms/pricing/). Untuk informasi selengkapnya tentang kuota permintaan, lihat [Kuota permintaan](requests-per-second.md).

[Untuk membatasi spesifikasi kunci yang dapat digunakan prinsipal saat membuat kunci KMS, gunakan kunci kondisi kms:. KeySpec](conditions-kms.md#conditions-kms-key-spec) Anda juga dapat menggunakan tombol `kms:KeySpec` kondisi untuk mengizinkan prinsipal memanggil AWS KMS operasi hanya pada kunci KMS dengan spesifikasi kunci tertentu. Misalnya, Anda dapat menolak izin untuk menjadwalkan penghapusan kunci KMS apa pun dengan spesifikasi kunci. `RSA_4096` 

AWS KMS mendukung spesifikasi kunci berikut untuk kunci KMS:

[Spesifikasi kunci enkripsi simetris (default](#symmetric-cmks))  
+ SYMMETRIC\_DEFAULT

[Spesifikasi kunci RSA](#key-spec-rsa) (enkripsi dan dekripsi -atau- penandatanganan dan verifikasi)  
+ RSA\_2048
+ RSA\_3072
+ RSA\_4096

[Spesifikasi kunci kurva eliptik](#key-spec-ecc)  
+ [Pasangan kunci kurva elips](https://datatracker.ietf.org/doc/html/rfc5753/) standar Nist asimetris (penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)
  + ECC\_NIST\_P256 (secp256r1)
  + ECC\_NIST\_P384 (secp384r1)
  + ECC\_NIST\_P521 (secp521r1)
  + ECC\_NIST\_ EDWARDS25519 (ed25519) - hanya penandatanganan dan verifikasi
    + **Catatan:** Untuk kunci ECC\_NIST\_ EDWARDS25519 KMS, algoritme penandatanganan \_SHA\_512 membutuhkan, sedangkan ED25519 \_PH\_SHA\_512 membutuhkan. [`MessageType:RAW` ED25519[https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType) Jenis pesan ini tidak dapat digunakan secara bergantian.
+ Pasangan kunci kurva elips asimetri lain (penandatanganan dan verifikasi)
  + ECC\_SECG\_P256K1 ([secp256k1](https://en.bitcoin.it/wiki/Secp256k1)), biasa digunakan untuk mata uang kripto.

[SM2 spesifikasi kunci](#key-spec-sm) (enkripsi dan dekripsi -atau- penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)  
+ SM2 (Hanya Wilayah Tiongkok)

[Spesifikasi kunci HMAC](#hmac-key-specs)  
+ HMAC\_224
+ HMAC\_256
+ HMAC\_384
+ HMAC\_512

[Spesifikasi kunci ML-DSA](#key-spec-mldsa)  
+ ML\_DSA\_44
+ ML\_DSA\_65
+ ML\_DSA\_87

## Spesifikasi kunci SYMMETRIC\_DEFAULT
<a name="symmetric-cmks"></a>

Spesifikasi kunci default, SYMMETRIC\_DEFAULT, adalah spesifikasi kunci untuk kunci KMS enkripsi simetris. Ketika Anda memilih jenis kunci **simetris** dan **Enkripsi dan dekripsi** penggunaan kunci di AWS KMS konsol, itu memilih spesifikasi kunci. `SYMMETRIC_DEFAULT` Dalam [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operasi, jika Anda tidak menentukan `KeySpec` nilai, SYMMETRIC\_DEFAULT dipilih. Jika Anda tidak memiliki alasan untuk menggunakan spesifikasi kunci yang berbeda, SYMMETRIC\_DEFAULT adalah pilihan yang tepat.

SYMMETRIC\_DEFAULT mewakili AES-256-GCM, algoritma simetris berdasarkan [Advanced Encryption Standard](https://csrc.nist.gov/csrc/media/publications/fips/197/final/documents/fips-197.pdf) (AES) dalam [Galois Counter Mode](http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf) (GCM) dengan kunci 256-bit, standar industri untuk enkripsi aman. Ciphertext yang dihasilkan oleh algoritme ini mendukung data terautentikasi tamabahan (AAD), seperti [konteks enkripsi](encrypt_context.md), dan GCM menyediakan pemeriksaan integritas tambahan pada ciphertext.

Data yang dienkripsi berdasarkan AES-256-GCM dilindungi sekarang dan di masa mendatang. Kriptografer menganggap algoritme ini sebagai *tahan kuantum*. Komputasi kuantum skala besar yang secara teoritis disiapkan untuk menghadapi masa depan akan menyerang ciphertext yang dibuat berdasarkan kunci 256-bit AES-GCM, sehingga [mengurangi keamanan efektif untuk kunci menjadi 128 bit](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf). Namun, tingkat keamanan ini cukup untuk membuat serangan brute force pada AWS KMS ciphertext tidak layak dilakukan.

Satu-satunya pengecualian di Wilayah Tiongkok, di mana SYMMETRIC\_DEFAULT mewakili kunci simetris 128-bit yang menggunakan enkripsi. SM4 Anda hanya dapat membuat SM4 kunci 128-bit di Wilayah Tiongkok. Anda tidak dapat membuat kunci KMS AES-GCM 256-bit di Wilayah Tiongkok.

Anda dapat menggunakan kunci KMS enkripsi simetris AWS KMS untuk mengenkripsi, mendekripsi, dan mengenkripsi ulang data, dan untuk melindungi kunci data dan pasangan kunci data yang dihasilkan. AWS layanan yang terintegrasi dengan AWS KMS menggunakan kunci KMS enkripsi simetris untuk mengenkripsi data Anda saat istirahat. [Anda dapat [mengimpor materi kunci Anda sendiri](importing-keys.md) ke kunci KMS enkripsi simetris dan membuat kunci KMS enkripsi simetris di toko kunci khusus.](key-store-overview.md#custom-key-store-overview) Untuk tabel yang membandingkan operasi yang dapat Anda lakukan pada tombol KMS simetris dan asimetris, lihat [Membandingkan kunci KMS Simetris dan Asimetris](symm-asymm-compare.md).

Anda dapat menggunakan kunci KMS enkripsi simetris AWS KMS untuk mengenkripsi, mendekripsi, dan mengenkripsi ulang data, dan menghasilkan kunci data dan pasangan kunci data. [Anda dapat membuat kunci KMS enkripsi simetris [multi-wilayah](multi-region-keys-overview.md), [mengimpor materi kunci Anda sendiri ke kunci](importing-keys.md) KMS enkripsi simetris, dan membuat kunci KMS enkripsi simetris di toko kunci khusus.](key-store-overview.md#custom-key-store-overview) Untuk tabel yang membandingkan operasi yang dapat Anda lakukan pada kunci KMS dari berbagai jenis, lihat[Referensi tipe kunci](symm-asymm-compare.md).

## Spesifikasi kunci RSA
<a name="key-spec-rsa"></a>

Saat Anda menggunakan spesifikasi kunci RSA, AWS KMS buat kunci KMS asimetris dengan key pair RSA. Kunci pribadi tidak pernah meninggalkan yang tidak AWS KMS terenkripsi. Anda dapat menggunakan kunci publik di dalam AWS KMS, atau mengunduh kunci publik untuk digunakan di luar AWS KMS. 

**Awas**  
Saat Anda mengenkripsi data di luar AWS KMS, pastikan Anda dapat mendekripsi ciphertext Anda. Jika Anda menggunakan kunci publik dari kunci KMS yang telah dihapus AWS KMS, kunci publik dari kunci KMS yang dikonfigurasi untuk penandatanganan dan verifikasi, atau algoritma enkripsi yang tidak didukung oleh kunci KMS, data tidak dapat dipulihkan.

Di AWS KMS, Anda dapat menggunakan kunci KMS asimetris dengan pasangan kunci RSA untuk enkripsi dan dekripsi, atau penandatanganan dan verifikasi, tetapi tidak keduanya. Properti ini, yang dikenal sebagai *[Key usage](create-keys.md#key-usage)*, ditentukan secara terpisah dari spesifikasi kunci, tetapi Anda harus membuat keputusan itu sebelum memilih spesifikasi kunci. 

AWS KMS mendukung spesifikasi kunci RSA berikut untuk enkripsi dan dekripsi atau penandatanganan dan verifikasi:
+ RSA\_2048
+ RSA\_3072
+ RSA\_4096

Spesifikasi kunci RSA berbeda dengan panjang kunci RSA dalam bit. Spesifikasi kunci RSA yang Anda pilih mungkin ditentukan oleh standar keamanan atau persyaratan tugas Anda. Secara umum, gunakan kunci terbesar yang praktis dan terjangkau untuk tugas Anda. Operasi kriptografi pada kunci KMS dengan spesifikasi kunci RSA yang berbeda diberi harga berbeda. Untuk informasi tentang AWS KMS harga, lihat [Harga Layanan Manajemen AWS Utama](https://aws.amazon.com/kms/pricing/). Untuk informasi tentang kuota permintaan, lihat [Kuota permintaan](requests-per-second.md).

### Spesifikasi kunci RSA untuk enkripsi dan dekripsi
<a name="key-spec-rsa-encryption"></a>

Ketika kunci KMS asimetris RSA digunakan untuk enkripsi dan dekripsi, Anda mengenkripsi dengan kunci publik dan mendekripsi dengan kunci pribadi. Ketika Anda memanggil `Encrypt` operasi AWS KMS untuk kunci RSA KMS, AWS KMS gunakan kunci publik di RSA key pair dan algoritma enkripsi yang Anda tentukan untuk mengenkripsi data Anda. Untuk mendekripsi ciphertext, panggil `Decrypt` operasi dan tentukan kunci KMS dan algoritma enkripsi yang sama. AWS KMS kemudian menggunakan kunci pribadi di RSA key pair untuk mendekripsi data Anda. 

Anda juga dapat mengunduh kunci publik dan menggunakannya untuk mengenkripsi data di luar. AWS KMS Pastikan untuk menggunakan algoritma enkripsi yang AWS KMS mendukung kunci RSA KMS. Untuk mendekripsi ciphertext, panggil `Decrypt` fungsi dengan kunci KMS dan algoritma enkripsi yang sama. 

AWS KMS mendukung dua algoritma enkripsi untuk kunci KMS dengan spesifikasi kunci RSA. Algoritme ini, yang ditentukan dalam [PKCS \#1 v2.2](https://tools.ietf.org/html/rfc8017), berbeda dalam fungsi hash yang digunakan secara internal. [Dalam AWS KMS, algoritma RSAES\_OAEP selalu menggunakan fungsi hash yang sama untuk tujuan hashing dan untuk fungsi pembuatan topeng ().](https://tools.ietf.org/html/rfc8017#appendix-B.2) MGF1 Anda diminta untuk menentukan algoritme enkripsi saat memanggil operasi [Enkripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) dan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Anda dapat memilih algoritme yang berbeda untuk setiap permintaan.


**Algoritme enkripsi yang didukung untuk spesifikasi kunci RSA**  

| Enkripsi algoritme | Deskripsi algoritme | 
| --- | --- | 
| RSAES\_OAEP\_SHA\_1 | PKCS \#1 v2.2, Bagian 7.1. Enkripsi RSA dengan OAEP Padding menggunakan SHA-1 untuk hash dan dalam fungsi pembuatan MGF1 topeng bersama dengan label kosong. | 
| RSAES\_OAEP\_SHA\_256 | PKCS \#1, Bagian 7.1. Enkripsi RSA dengan OAEP Padding menggunakan SHA-256 untuk hash dan dalam fungsi pembuatan MGF1 topeng bersama dengan label kosong. | 

Anda tidak dapat mengkonfigurasi kunci KMS untuk menggunakan algoritma enkripsi tertentu. Namun, Anda dapat menggunakan kondisi EncryptionAlgorithm kebijakan [kms:](conditions-kms.md#conditions-kms-encryption-algorithm) untuk menentukan algoritme enkripsi yang diizinkan untuk digunakan oleh prinsipal dengan kunci KMS. 

Untuk mendapatkan algoritma enkripsi untuk kunci KMS, [lihat konfigurasi kriptografi](finding-keys.md#viewing-console-details) kunci KMS di AWS KMS konsol atau gunakan operasi. [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) AWS KMS juga menyediakan spesifikasi kunci dan algoritma enkripsi saat Anda mengunduh kunci publik Anda, baik di AWS KMS konsol atau dengan menggunakan operasi. [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) 

Anda dapat memilih spesifikasi kunci RSA berdasarkan panjang data teks biasa yang dapat Anda enkripsi di setiap permintaan. Tabel berikut menunjukkan ukuran maksimum, dalam byte, teks biasa yang dapat Anda enkripsi dalam satu panggilan ke operasi [Enkripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html). Nilai tersebut berbeda dengan spesifikasi kunci dan algoritme enkripsi. Untuk membandingkan, Anda dapat menggunakan kunci KMS enkripsi simetris untuk mengenkripsi hingga 4096 byte sekaligus. 

Untuk menghitung panjang plaintext maksimum dalam byte untuk algoritma ini, gunakan rumus berikut: ({{key\_size\_in\_bits}}/8) - (2 \* {{hash\_length\_in\_bits}} /8) - 2. Misalnya, untuk RSA\_2048 dengan SHA-256, ukuran teks biasa maksimum dalam byte adalah (2048/8) - (2 \* 256/8) -2 = 190.


**Ukuran teks biasa maksimum (dalam byte) dalam operasi Enkripsi**  

<table>
<thead>
  <tr><th></th><th colspan="2">Algoritme enkripsi</th></tr>
  <tr><th>Spesifikasi kunci</th><th>RSAES\_OAEP\_SHA\_1</th><th>RSAES\_OAEP\_SHA\_256</th></tr>
</thead>
<tbody>
  <tr><td>RSA\_2048</td><td>214</td><td>190</td></tr>
  <tr><td>RSA\_3072</td><td>342</td><td>318 </td></tr>
  <tr><td>RSA\_4096</td><td>470</td><td>446 </td></tr>
</tbody>
</table>


### Spesifikasi kunci RSA untuk penandatanganan dan verifikasi
<a name="key-spec-rsa-sign"></a>

Ketika kunci KMS asimetris RSA digunakan untuk penandatanganan dan verifikasi, Anda membuat tanda tangan untuk pesan dengan kunci pribadi dan memverifikasi tanda tangan dengan kunci publik. 

Saat Anda memanggil `Sign` operasi AWS KMS untuk kunci KMS asimetris, AWS KMS gunakan kunci pribadi di key pair RSA, pesan, dan algoritma penandatanganan yang Anda tentukan, untuk menghasilkan tanda tangan. Untuk memverifikasi tanda tangan, hubungi operasi [Verifikasi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html). Tentukan tanda tangan, ditambah kunci KMS, pesan, dan algoritma penandatanganan yang sama. AWS KMS kemudian menggunakan kunci publik di RSA key pair untuk memverifikasi tanda tangan. Anda juga dapat mengunduh kunci publik dan menggunakannya untuk memverifikasi tanda tangan di luar AWS KMS.

AWS KMS mendukung algoritma penandatanganan berikut untuk semua kunci KMS dengan spesifikasi kunci RSA. Anda diminta untuk menentukan algoritme penandatanganan saat memanggil operasi [Tanda](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) dan [Verifikasi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html). Anda dapat memilih algoritme yang berbeda untuk setiap permintaan. Saat menandatangani dengan pasangan kunci RSA, algoritma RSASSA-PSS lebih disukai. Kami menyertakan algoritma RSASSA- PKCS1 -v1\_5 untuk kompatibilitas dengan aplikasi yang ada.


**Algoritme penandatanganan yang didukung untuk spesifikasi kunci RSA**  

| Algoritme penandatanganan | Deskripsi algoritme | 
| --- | --- | 
| RSASSA\_PSS\_SHA\_256 | PKCS \#1 v2.2, Bagian 8.1, tanda tangan RSA dengan padding PSS menggunakan SHA-256 untuk intisari pesan dan fungsi pembuatan topeng bersama dengan garam 256-bit MGF1  | 
| RSASSA\_PSS\_SHA\_384 | PKCS \#1 v2.2, Bagian 8.1, tanda tangan RSA dengan padding PSS menggunakan SHA-384 untuk intisari pesan dan fungsi pembuatan topeng bersama dengan garam 384-bit MGF1  | 
| RSASSA\_PSS\_SHA\_512 | PKCS \#1 v2.2, Bagian 8.1, tanda tangan RSA dengan padding PSS menggunakan SHA-512 untuk intisari pesan dan fungsi pembuatan topeng bersama dengan garam 512-bit MGF1  | 
| RSASSA\_ \_V1\_5\_SHA\_256 PKCS1 | PKCS \#1 v2.2, Bagian 8.2, tanda tangan RSA dengan PKCS \#1v1.5 Padding dan SHA-256 | 
| RSASSA\_ \_V1\_5\_SHA\_384 PKCS1 | PKCS \#1 v2.2, Bagian 8.2, tanda tangan RSA dengan PKCS \#1v1.5 Padding dan SHA-384 | 
| RSASSA\_ \_V1\_5\_SHA\_512 PKCS1 | PKCS \#1 v2.2, Bagian 8.2, tanda tangan RSA dengan PKCS \#1v1.5 Padding dan SHA-512 | 

Anda tidak dapat mengonfigurasi kunci KMS untuk menggunakan algoritma penandatanganan tertentu. Namun, Anda dapat menggunakan kondisi SigningAlgorithm kebijakan [kms:](conditions-kms.md#conditions-kms-signing-algorithm) untuk menentukan algoritme penandatanganan yang diizinkan untuk digunakan oleh prinsipal dengan kunci KMS. 

Untuk mendapatkan algoritma penandatanganan untuk kunci KMS, [lihat konfigurasi kriptografi](finding-keys.md#viewing-console-details) kunci KMS di AWS KMS konsol atau dengan menggunakan operasi. [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) AWS KMS juga menyediakan spesifikasi kunci dan algoritma penandatanganan saat Anda mengunduh kunci publik Anda, baik di AWS KMS konsol atau dengan menggunakan operasi. [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) 

## Spesifikasi kunci kurva elips
<a name="key-spec-ecc"></a>

****

Saat Anda menggunakan spesifikasi kunci kurva eliptik (ECC), AWS KMS buat kunci KMS asimetris dengan key pair ECC untuk penandatanganan dan verifikasi atau menurunkan rahasia bersama (tetapi tidak keduanya). Kunci pribadi yang menghasilkan tanda tangan atau memperoleh rahasia bersama tidak pernah meninggalkan yang tidak terenkripsi. AWS KMS Anda dapat menggunakan kunci publik untuk [memverifikasi tanda tangan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) di dalamnya AWS KMS, atau [mengunduh kunci publik](importing-keys-get-public-key-and-token.md) untuk digunakan di luar. AWS KMS

Saat Anda menggunakan spesifikasi kunci Edwards Curve, AWS KMS buat kunci KMS asimetris dengan key pair Ed25519 untuk penandatanganan dan verifikasi. Kunci pribadi yang menghasilkan tanda tangan tidak pernah meninggalkan AWS KMS yang tidak terenkripsi. Anda dapat menggunakan kunci publik untuk [memverifikasi tanda tangan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) di dalamnya AWS KMS, atau [mengunduh kunci publik](importing-keys-get-public-key-and-token.md) untuk digunakan di luar. AWS KMS

AWS KMS mendukung spesifikasi kunci ECC berikut untuk kunci KMS asimetris.
+ Pasangan kunci kurva elips standar Nist asimetris (penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)
  + ECC\_NIST\_P256 (secp256r1)
  + ECC\_NIST\_P384 (secp384r1)
  + ECC\_NIST\_P521 (secp521r1)
  + ECC\_NIST\_ EDWARDS25519 (ed25519) - hanya penandatanganan dan verifikasi
    + **Catatan:** Untuk kunci ECC\_NIST\_ EDWARDS25519 KMS, algoritme penandatanganan \_SHA\_512 membutuhkan, sedangkan ED25519 \_PH\_SHA\_512 membutuhkan. [`MessageType:RAW` ED25519[https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType) Jenis pesan ini tidak dapat digunakan secara bergantian.
+ Pasangan kunci kurva elips asimetri lain (penandatanganan dan verifikasi)
  + ECC\_SECG\_P256K1 ([secp256k1](https://en.bitcoin.it/wiki/Secp256k1)), biasa digunakan untuk mata uang kripto.

Spesifikasi kunci ECC yang Anda pilih mungkin ditentukan oleh standar keamanan Anda atau persyaratan tugas Anda. Secara umum, gunakan kurva dengan poin terbanyak yang praktis dan terjangkau untuk tugas Anda.

Jika Anda membuat kunci KMS asimetris untuk [mendapatkan rahasia bersama](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html), gunakan salah satu spesifikasi kunci kurva elips standar NIST (kecuali ECC\_SECG\_P256K1 dan ECC\_NIST\_). EDWARDS25519 Satu-satunya algoritma perjanjian kunci yang didukung untuk memperoleh rahasia bersama adalah [Elliptic Curve Cryptography Cofactor Diffie-Hellman](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60) Primitive (ECDH). Untuk contoh cara mendapatkan rahasia bersama secara offline, lihat[Menurunkan rahasia bersama secara offline](offline-operations.md#key-spec-ecc-offline).

Jika Anda membuat kunci KMS asimetris untuk digunakan dengan cryptocurrency, gunakan spesifikasi kunci ECC\_SECG\_P256K1. Anda juga dapat menggunakan spesifikasi kunci ini untuk tujuan lain, tetapi spesifikasi ini diperlukan untuk Bitcoin, dan mata uang kripto lainnya.

Tabel berikut menunjukkan algoritma penandatanganan yang AWS KMS mendukung untuk masing-masing spesifikasi kunci ECC. Anda tidak dapat mengonfigurasi kunci KMS untuk menggunakan algoritma penandatanganan tertentu. Namun, Anda dapat menggunakan kondisi SigningAlgorithm kebijakan [kms:](conditions-kms.md#conditions-kms-signing-algorithm) untuk menentukan algoritme penandatanganan yang diizinkan untuk digunakan oleh prinsipal dengan kunci KMS. 


**Algoritme penandatanganan yang didukung untuk spesifikasi kunci ECC**  

| Spesifikasi kunci | Algoritme penandatanganan | Deskripsi algoritme | 
| --- | --- | --- | 
| ECC\_NIST\_P256  | ECDSA\_SHA\_256 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 untuk intisari pesan. | 
| ECC\_NIST\_P384 | ECDSA\_SHA\_384 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-384 untuk intisari pesan. | 
| ECC\_NIST\_P521 | ECDSA\_SHA\_512 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-512 untuk intisari pesan. | 
| ECC\_SECG\_P256K1 | ECDSA\_SHA\_256 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 untuk intisari pesan. | 
| ECC\_NIST\_ EDWARDS25519 | ED25519\_SHA\_512 | NIST FIPS 186-5, Section 7.6, EdDSA signature using the curve specified by the key and SHA-512 untuk intisari pesan. KMS membutuhkan [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType)dengan algoritma ini. | 
| ECC\_NIST\_ EDWARDS25519 | ED25519\_PH\_SHA\_512 | NIST FIPS 186-5, Section 7.8, HashEdDSA signature using the curve specified by the key and SHA-512 untuk intisari pesan. KMS membutuhkan [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType)dengan algoritma ini. [Saat Anda menentukan algoritma penandatanganan ED25519 \_PH\_SHA\_512 dengan`MessageType:DIGEST`, AWS KMS masih melakukan prehash SHA-512 yang dijelaskan dalam Langkah 1 dari Bagian 7.8.1.](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf#page=39) Ini berarti input di-hash dua kali: sekali oleh Anda dan sekali oleh KMS. | 

## Spesifikasi utama untuk kunci HMAC KMS
<a name="hmac-key-specs"></a>

AWS KMS mendukung kunci HMAC simetris dalam berbagai panjang. Spesifikasi kunci yang Anda pilih dapat bergantung pada persyaratan keamanan, peraturan, atau bisnis Anda. Panjang kunci menentukan algoritma MAC yang digunakan dalam [GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)dan [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)operasi. Secara umum, kunci yang lebih panjang lebih aman. Gunakan kunci terpanjang yang praktis untuk kasus penggunaan Anda.


| Spesifikasi kunci HMAC | Algoritma MAC | 
| --- | --- | 
| HMAC\_224 | HMAC\_SHA\_224 | 
| HMAC\_256 | HMAC\_SHA\_256 | 
| HMAC\_384 | HMAC\_SHA\_384 | 
| HMAC\_512 | HMAC\_SHA\_512 | 

## Spesifikasi kunci ML-DSA
<a name="key-spec-mldsa"></a>

Kunci ML-DSA adalah kunci kriptografi yang digunakan dalam Module-Lattice-Based Digital Signature Algorithm (ML-DSA), yang dirancang untuk kriptografi pasca-kuantum. Algoritma ini merupakan bagian dari upaya standardisasi NIST (National Institute of Standards and Technology), yang secara khusus diuraikan dalam [Federal Information Processing Standards (](https://csrc.nist.gov/pubs/fips/204/final)FIPS) 204.

Kunci ML-DSA digunakan dalam sistem key pair publik-pribadi. Kunci pribadi digunakan untuk menandatangani data, sedangkan kunci publik digunakan untuk memverifikasi tanda tangan. Sistem ini memastikan keaslian, integritas, dan non-penolakan pesan digital atau dokumen, bahkan dalam menghadapi potensi ancaman komputer kuantum.

Saat Anda membuat kunci dengan spesifikasi kunci ML-DSA, AWS KMS buat kunci KMS asimetris dengan key pair ML-DSA untuk penandatanganan dan verifikasi. Kunci pribadi yang menghasilkan tanda tangan tidak pernah meninggalkan AWS KMS yang tidak terenkripsi. Anda dapat menggunakan kunci publik untuk [memverifikasi tanda tangan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) di dalamnya AWS KMS, atau [mengunduh kunci publik](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html) untuk digunakan di luar. AWS KMS

AWS KMS mendukung spesifikasi kunci ML-DSA berikut untuk kunci KMS asimetris:
+ ML\_DSA\_44
+ ML\_DSA\_65
+ ML\_DSA\_87

AWS KMS mendukung algoritma penandatanganan ML\_DSA\_SHAKE\_256 untuk semua spesifikasi kunci ML-DSA.

## SM2 spesifikasi kunci (hanya Wilayah Tiongkok)
<a name="key-spec-sm"></a>

Spesifikasi utama adalah spesifikasi SM2 kunci kurva elips yang ditentukan dalam GM/T serangkaian spesifikasi yang diterbitkan oleh [Kantor Administrasi Kriptografi Komersil Negara China](https://www.oscca.gov.cn/) (OSCCA). Spesifikasi SM2 kunci hanya tersedia di Wilayah Tiongkok. Saat Anda menggunakan spesifikasi SM2 kunci, AWS KMS buat kunci KMS asimetris dengan key pair SM2 . Anda dapat menggunakan SM2 key pair di dalam AWS KMS, atau mengunduh kunci publik untuk digunakan di luar AWS KMS. Untuk informasi selengkapnya, lihat [Verifikasi offline dengan pasangan SM2 kunci (hanya Wilayah Tiongkok)](offline-operations.md#key-spec-sm-offline-verification).

Setiap kunci KMS hanya dapat memiliki satu[Key usage](create-keys.md#key-usage). Anda dapat menggunakan kunci SM2 KMS untuk penandatanganan dan verifikasi, enkripsi dan dekripsi, *atau* memperoleh rahasia bersama. Anda harus menentukan penggunaan kunci saat Anda membuat kunci KMS, dan Anda tidak dapat mengubahnya setelah kunci dibuat.

Jika Anda membuat kunci KMS asimetris untuk [mendapatkan rahasia bersama](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html), gunakan spesifikasi kunci. SM2 Satu-satunya algoritma perjanjian kunci yang didukung untuk memperoleh rahasia bersama adalah [Elliptic Curve Cryptography Cofactor Diffie-Hellman](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60) Primitive (ECDH).

AWS KMS mendukung SM2 enkripsi dan algoritma penandatanganan berikut:
+   
SM2Algoritma enkripsi **PKE**  
SM2PKE adalah algoritma enkripsi berbasis kurva elips yang didefinisikan oleh OSCCA pada 0003.4-2012. GM/T 
+   
**SM2Algoritma penandatanganan DSA**  
SM2DSA adalah algoritma penandatanganan berbasis kurva elips yang didefinisikan oleh OSCCA pada 0003.2-2012. GM/T SM2DSA memerlukan ID pembeda yang di-hash dengan algoritma SM3 hashing dan kemudian dikombinasikan dengan pesan, atau intisari pesan, yang Anda kirimkan. AWS KMS Nilai gabungan ini kemudian di-hash dan ditandatangani oleh. AWS KMS