

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

# Operasi data
<a name="data-operations"></a>

Setelah Anda membuat kunci Kriptografi AWS Pembayaran, itu dapat digunakan untuk melakukan operasi kriptografi. Operasi yang berbeda melakukan berbagai jenis aktivitas mulai dari enkripsi, hashing, serta algoritme spesifik domain seperti CVV2 pembuatan.

Data terenkripsi tidak dapat didekripsi tanpa kunci dekripsi yang cocok (kunci simetris atau kunci pribadi tergantung pada jenis enkripsi). Algoritma hashing dan domain spesifik juga tidak dapat diverifikasi tanpa kunci simetris atau kunci publik. 

Untuk informasi tentang jenis kunci yang valid untuk operasi tertentu, silakan lihat [Kunci yang valid untuk operasi kriptografi](crypto-ops-validkeys-ops.md)

**catatan**  
Sebaiknya gunakan data uji saat berada di lingkungan non-produksi. Menggunakan kunci dan data produksi (PAN, ID BDK, dll.) di lingkungan non-produksi dapat memengaruhi cakupan kepatuhan Anda seperti untuk PCI DSS dan PCI P2PE. 

**Topics**
+ [Enkripsi, Dekripsi, dan Enkripsi Ulang Data](crypto-ops.encryptdecrypt.md)
+ [Menghasilkan dan memverifikasi data kartu](crypto-ops-carddata.md)
+ [Menghasilkan, menerjemahkan, dan memverifikasi data PIN](data-operations.pindata.md)
+ [Verifikasi kriptogram permintaan autentikasi (ARQC)](data-operations.verifyauthrequestcryptogram.md)
+ [Hasilkan dan verifikasi MAC](crypto-ops-mac.md)
+ [Kunci yang valid untuk operasi kriptografi](crypto-ops-validkeys-ops.md)

# Enkripsi, Dekripsi, dan Enkripsi Ulang Data
<a name="crypto-ops.encryptdecrypt"></a>

Metode enkripsi dan dekripsi dapat digunakan untuk mengenkripsi atau mendekripsi data menggunakan berbagai teknik simetris dan asimetris termasuk TDES, AES dan RSA. Metode ini juga mendukung kunci yang diturunkan menggunakan teknik [DUKPT](terminology.md#terms.dukpt) dan [EMV](terminology.md#terms.emv). Untuk kasus penggunaan di mana Anda ingin mengamankan data di bawah kunci baru tanpa mengekspos data yang mendasarinya, ReEncrypt perintah juga dapat digunakan.

**catatan**  
 Saat menggunakan encrypt/decrypt fungsi, semua input diasumsikan berada di HexBinary - misalnya nilai 1 akan dimasukkan sebagai 31 (hex) dan huruf kecil t direpresentasikan sebagai 74 (hex). Semua output ada di HexBinary juga. 

[Untuk detail tentang semua opsi yang tersedia, silakan baca Panduan API untuk [Enkripsi, Dekripsi](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html)[, dan Enkripsi](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_DecryptData.html) Ulang.](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_ReEncryptData.html) 

**Topics**
+ [Enkripsi data](encrypt-data.md)
+ [Dekripsi data](decrypt-data.md)

# Enkripsi data
<a name="encrypt-data"></a>

 `Encrypt Data`[API digunakan untuk mengenkripsi data menggunakan kunci enkripsi data simetris dan asimetris serta kunci turunan [DUKPT](terminology.md#terms.dukpt) dan EMV.](terminology.md#terms.emv) Berbagai algoritma dan variasi didukung termasuk`TDES`, `RSA` dan`AES`.

Input utama adalah kunci enkripsi yang digunakan untuk mengenkripsi data, data teks biasa dalam format HexBinary yang akan dienkripsi dan atribut enkripsi seperti vektor inisialisasi dan mode untuk sandi blok seperti TDES. Data plaintext harus dalam kelipatan 8 byte untuk`TDES`, 16 byte untuk `AES` dan panjang kunci dalam kasus. `RSA` Input kunci simetris (TDES, AES, DUKPT, EMV) harus empuk dalam kasus di mana data input tidak memenuhi persyaratan ini. Tabel berikut menunjukkan panjang maksimum plaintext untuk setiap jenis kunci dan jenis padding yang Anda tentukan `EncryptionAttributes` untuk kunci RSA.


| Jenis bantalan | RSA\$12048 | RSA\$13072 | RSA\$14096 | 
| --- | --- | --- | --- | 
| OAEP SHA1 | 428 | 684 | 940 | 
| OAEP SHA256 | 380 | 636 | 892 | 
| OAEP SHA512 | 252 | 508 | 764 | 
| PKCS1 | 488 | 744 | 1000 | 
| None | 488 | 744 | 1000 | 

Output utama termasuk data terenkripsi sebagai ciphertext dalam format HexBinary dan nilai checksum untuk kunci enkripsi. Untuk detail tentang semua opsi yang tersedia, silakan baca Panduan API untuk [Enkripsi](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html). 

**Topics**
+ [Enkripsi data menggunakan kunci simetris AES](#w2aac15c16c11c13)
+ [Enkripsi data menggunakan kunci DUKPT](#w2aac15c16c11c15)
+ [Enkripsi data menggunakan kunci simetris turunan EMV](#w2aac15c16c11c17)
+ [Enkripsi data menggunakan kunci RSA](#crypto-ops.encrypt-rsa)

## Enkripsi data menggunakan kunci simetris AES
<a name="w2aac15c16c11c13"></a>

**catatan**  
 Semua contoh mengasumsikan kunci yang relevan sudah ada. Kunci dapat dibuat menggunakan [CreateKey](create-keys.md)operasi atau diimpor menggunakan [ImportKey](keys-import.md)operasi. 

**Example**  
 Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan kunci simetris yang telah dibuat menggunakan [CreateKey](create-keys.md)Operasi atau diimpor menggunakan Operasi. [ImportKey](keys-import.md) Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `Encrypt` dan KeyUsage disetel ke`TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Symmetric={Mode=CBC}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}
```

## Enkripsi data menggunakan kunci DUKPT
<a name="w2aac15c16c11c15"></a>

**Example**  
 [Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan kunci DUKPT.](terminology.md#terms.dukpt) AWS Dukungan Kriptografi Pembayaran `TDES` dan kunci `AES` DUKPT. Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `DeriveKey` dan KeyUsage disetel ke`TR31_B0_BASE_DERIVATION_KEY`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}
```

## Enkripsi data menggunakan kunci simetris turunan EMV
<a name="w2aac15c16c11c17"></a>

**Example**  
 Dalam contoh ini, kita akan mengenkripsi data teks yang jelas menggunakan kunci simetris turunan EMV yang telah dibuat. Anda dapat menggunakan perintah seperti ini untuk mengirim data ke kartu EMV. Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `Derive` dan KeyUsage disetel ke `TR31_E1_EMV_MKEY_CONFIDENTIALITY` atau`TR31_E6_EMV_MKEY_OTHER`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk lebih jelasnya.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 33612AB9D6929C3A828EB6030082B2BD --encryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}
```

## Enkripsi data menggunakan kunci RSA
<a name="crypto-ops.encrypt-rsa"></a>

**Example**  
 Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan [kunci publik RSA](terminology.md#terms.publickey) yang telah diimpor menggunakan operasi. [ImportKey](keys-import.md) Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `Encrypt` dan KeyUsage disetel ke`TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya.   
 *Untuk PKCS \$17 atau skema padding lainnya yang saat ini tidak didukung, mohon terapkan sebelum memanggil layanan dan pilih no padding dengan menghilangkan indikator padding 'Asymmetric= \$1\$1 '*   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/thfezpmsalcfwmsg --plain-text 31323334313233343132333431323334 --encryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
```

```
     
{
 "CipherText": "12DF6A2F64CC566D124900D68E8AFEAA794CA819876E258564D525001D00AC93047A83FB13 \ 
 E73F06329A100704FA484A15A49F06A7A2E55A241D276491AA91F6D2D8590C60CDE57A642BC64A897F4832A3930 \ 
 0FAEC7981102CA0F7370BFBF757F271EF0BB2516007AB111060A9633D1736A9158042D30C5AE11F8C5473EC70F067 \ 
 72590DEA1638E2B41FAE6FB1662258596072B13F8E2F62F5D9FAF92C12BB70F42F2ECDCF56AADF0E311D4118FE3591 \ 
 FB672998CCE9D00FFFE05D2CD154E3120C5443C8CF9131C7A6A6C05F5723B8F5C07A4003A5A6173E1B425E2B5E42AD \ 
 7A2966734309387C9938B029AFB20828ACFC6D00CD1539234A4A8D9B94CDD4F23A",
 "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb",
 "KeyCheckValue": "FF9DE9CE"
}
```

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

 `Decrypt Data`[API digunakan untuk mendekripsi data menggunakan kunci enkripsi data simetris dan asimetris serta kunci turunan [DUKPT](terminology.md#terms.dukpt) dan EMV.](terminology.md#terms.emv) Berbagai algoritma dan variasi didukung termasuk`TDES`, `RSA` dan`AES`.

 Input utama adalah kunci dekripsi yang digunakan untuk mendekripsi data, data ciphertext dalam format HexBinary yang akan didekripsi dan atribut dekripsi seperti vektor inisialisasi, mode sebagai cipher blok dll. Output utama termasuk data yang didekripsi sebagai plaintext dalam format HexBinary dan nilai checksum untuk kunci dekripsi. Untuk detail tentang semua opsi yang tersedia, silakan baca Panduan API untuk [Dekripsi](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_DecryptData.html). 

**Topics**
+ [Dekripsi data menggunakan kunci simetris AES](#w2aac15c16c13b9)
+ [Dekripsi data menggunakan kunci DUKPT](#w2aac15c16c13c11)
+ [Dekripsi data menggunakan kunci simetris turunan EMV](#w2aac15c16c13c13)
+ [Dekripsi data menggunakan kunci RSA](#crypto-ops.decrypt-rsa)

## Dekripsi data menggunakan kunci simetris AES
<a name="w2aac15c16c13b9"></a>

**Example**  
 Dalam contoh ini, kita akan mendekripsi data ciphertext menggunakan kunci simetris. Contoh ini menunjukkan `AES` kunci tetapi `TDES_2KEY` dan `TDES_3KEY` juga didukung. Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `Decrypt` dan KeyUsage disetel ke`TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya.   

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Symmetric={Mode=CBC}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "PlainText": "31323334313233343132333431323334"
}
```

## Dekripsi data menggunakan kunci DUKPT
<a name="w2aac15c16c13c11"></a>

**catatan**  
 Menggunakan data dekripsi dengan DUKPT untuk transaksi P2PE dapat mengembalikan PAN kartu kredit dan data pemegang kartu lainnya ke aplikasi Anda yang perlu dipertanggungjawabkan saat menentukan cakupan PCI DSS-nya. 

**Example**  
 Dalam contoh ini, kita akan mendekripsi data ciphertext menggunakan kunci [DUKPT](terminology.md#terms.dukpt) yang telah dibuat menggunakan [CreateKey](create-keys.md)Operasi atau diimpor menggunakan Operasi. [ImportKey](keys-import.md) Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `DeriveKey` dan KeyUsage disetel ke`TR31_B0_BASE_DERIVATION_KEY`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya. Bila Anda menggunakan`DUKPT`, untuk `TDES` algoritma, panjang data ciphertext harus kelipatan 16 byte. Untuk `AES` algoritma, panjang data ciphertext harus kelipatan 32 byte.   

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "PlainText": "31323334313233343132333431323334"
}
```

## Dekripsi data menggunakan kunci simetris turunan EMV
<a name="w2aac15c16c13c13"></a>

**Example**  
 Dalam contoh ini, kita akan mendekripsi data ciphertext menggunakan kunci simetris turunan EMV yang telah dibuat menggunakan operasi atau diimpor menggunakan operasi. [CreateKey[ImportKey](keys-import.md)](create-keys.md) Untuk operasi ini, kunci harus KeyModesOfUse disetel ke `Derive` dan KeyUsage disetel ke `TR31_E1_EMV_MKEY_CONFIDENTIALITY` atau`TR31_E6_EMV_MKEY_OTHER`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk lebih jelasnya.   

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
```

```
{
"KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
"KeyCheckValue": "71D7AE",
"PlainText": "31323334313233343132333431323334"
}
```

## Dekripsi data menggunakan kunci RSA
<a name="crypto-ops.decrypt-rsa"></a>

**Example**  
 Dalam contoh ini, kita akan mendekripsi data ciphertext menggunakan [key pair](terminology.md#terms.privatekey) RSA yang telah dibuat menggunakan operasi. [CreateKey](create-keys.md) Untuk operasi ini, kunci harus KeyModesOfUse disetel untuk mengaktifkan `Decrypt` dan KeyUsage mengatur ke`TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION`. Silakan lihat [Kunci untuk Operasi Kriptografi](crypto-ops-validkeys-ops.md) untuk opsi lainnya.   
 Untuk PKCS \$17 atau skema padding lainnya yang saat ini tidak didukung, pilih no padding dengan menghilangkan indikator padding *'Asymmetric= \$1\$1* 'dan hapus padding setelah memanggil layanan.   

```
$ aws payment-cryptography-data decrypt-data \ 
        --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/5dza7xqd6soanjtb --cipher-text 8F4C1CAFE7A5DEF9A40BEDE7F2A264635C... \ 
        --decryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb",
    "KeyCheckValue": "FF9DE9CE",
    "PlainText": "31323334313233343132333431323334"
}
```

# Menghasilkan dan memverifikasi data kartu
<a name="crypto-ops-carddata"></a>

Menghasilkan dan memverifikasi data kartu menggabungkan data yang berasal dari data kartu, misalnya CVV,, CVC dan DCVV. CVV2

**Topics**
+ [Hasilkan data kartu](generate-card-data.md)
+ [Verifikasi data kartu](verify-card-data.md)

# Hasilkan data kartu
<a name="generate-card-data"></a>

 `Generate Card Data`API digunakan untuk menghasilkan data kartu menggunakan algoritma seperti CVV, CVV2 atau Dynamic. CVV2 Untuk melihat kunci apa yang dapat digunakan untuk perintah ini, silakan lihat [Kunci yang valid untuk operasi kriptografi](crypto-ops-validkeys-ops.md) bagian. 

Banyak nilai kriptografi seperti CVV,, ICVV CVV2, CAVV V7 menggunakan algoritma kriptografi yang sama tetapi memvariasikan nilai input. Misalnya [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) memiliki input ServiceCode, Nomor Kartu dan Tanggal Kedaluwarsa. Sementara [CardVerificationValue2](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue2.html) hanya memiliki dua input ini, ini karena untuk CVV2/CVC2, ServiceCode ditetapkan pada 000. Demikian pula, untuk iCVV ServiceCode ditetapkan pada 999. Beberapa algoritma dapat menggunakan kembali bidang yang ada seperti CAVV V8 dalam hal ini Anda perlu berkonsultasi dengan manual penyedia Anda untuk nilai input yang benar. 

**catatan**  
 Tanggal kedaluwarsa harus dimasukkan dalam format yang sama (seperti MMYY vs YYMM) untuk pembuatan dan validasi untuk menghasilkan hasil yang benar. 

# Menghasilkan CVV2
<a name="generate-cvv2"></a>

**Example**  
Dalam contoh ini, kami akan menghasilkan CVV2 untuk PAN tertentu dengan input `PAN` dan tanggal kedaluwarsa kartu. Ini mengasumsikan bahwa Anda memiliki kunci verifikasi kartu yang [dihasilkan](create-keys.md#cvvkey-example).   

```
$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --primary-account-number=171234567890123 --generation-attributes CardVerificationValue2={CardExpiryDate=0123}
```

```
  {
      "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
      "KeyCheckValue": "CADDA1",
      "ValidationData": "801"
  }
```

# Menghasilkan iCVV
<a name="generate-iCVV"></a>

**Example**  
Dalam contoh ini, kami akan menghasilkan [iCVV](terminology.md#terms.icvv) untuk PAN tertentu dengan input`PAN`, kode layanan 999 dan tanggal kedaluwarsa kartu. Ini mengasumsikan bahwa Anda memiliki kunci verifikasi kartu yang [dihasilkan](create-keys.md#cvvkey-example).   
Untuk semua parameter yang tersedia, lihat [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) di panduan referensi API.   

```
$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=999}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "CADDA1",
    "ValidationData": "801"
}
```

# Verifikasi data kartu
<a name="verify-card-data"></a>

`Verify Card Data`digunakan untuk memverifikasi data yang telah dibuat menggunakan algoritma pembayaran yang mengandalkan prinsip enkripsi seperti. `DISCOVER_DYNAMIC_CARD_VERIFICATION_CODE` 

Nilai input biasanya diberikan sebagai bagian dari transaksi masuk ke penerbit atau mitra platform pendukung. [Untuk memverifikasi kriptogram ARQC (digunakan untuk kartu chip EMV), silakan lihat Verifikasi ARQC.](data-operations.verifyauthrequestcryptogram.md) 

Untuk informasi selengkapnya, lihat [VerifyCardValidationData](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_VerifyCardValidationData.html)di panduan API.

Jika nilainya diverifikasi, maka api akan mengembalikan http/200. Jika nilainya tidak diverifikasi, itu akan mengembalikan http/400.

# Verifikasi CVV2
<a name="verify-cvv2"></a>

**Example**  
Dalam contoh ini, kita akan memvalidasi CVV/ CVV2 untuk PAN tertentu. Biasanya CVV2 disediakan oleh pemegang kartu atau pengguna selama waktu transaksi untuk validasi. Untuk memvalidasi input mereka, nilai-nilai berikut akan diberikan saat runtime - [Kunci untuk Digunakan untuk validasi (CVK)](create-keys.md#cvvkey-example),`PAN`, tanggal kedaluwarsa kartu dan dimasukkan. CVV2 Format kedaluwarsa kartu harus sesuai dengan yang digunakan dalam pembuatan nilai awal.   
Untuk semua parameter yang tersedia, lihat [CardVerificationValue2](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue2.html) di panduan referensi API.   

```
$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --primary-account-number=171234567890123 --verification-attributes CardVerificationValue2={CardExpiryDate=0123} --validation-data 801
```

```
  {
      "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
      "KeyCheckValue": "CADDA1"
  }
```

# Verifikasi iCvv
<a name="verify-iCVV"></a>

**Example**  
Dalam contoh ini, kami akan memverifikasi [iCVV](terminology.md#terms.icvv) untuk PAN tertentu dengan input [Key to Use for validation (CVK)](create-keys.md#cvvkey-example),, kode layanan 999`PAN`, tanggal kedaluwarsa kartu dan iCVV yang disediakan oleh transaksi untuk memvalidasi.   
iCVV bukan nilai yang dimasukkan pengguna (seperti CVV2) tetapi disematkan pada kartu EMV. Pertimbangan harus diberikan apakah harus selalu memvalidasi saat disediakan.  
Untuk semua parameter yang tersedia, lihat, [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) di panduan referensi API.   

```
$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=999} --validation-data 801
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "CADDA1",
    "ValidationData": "801"
}
```

# Menghasilkan, menerjemahkan, dan memverifikasi data PIN
<a name="data-operations.pindata"></a>

Fungsi data PIN memungkinkan Anda untuk menghasilkan pin acak, nilai verifikasi pin (PVV) dan memvalidasi pin terenkripsi masuk terhadap PVV atau PIN Offset. 

Terjemahan pin memungkinkan Anda menerjemahkan pin dari satu kunci kerja ke yang lain tanpa mengekspos pin dalam teks yang jelas seperti yang ditentukan oleh Persyaratan PIN PCI 1.

**catatan**  
 Karena pembuatan dan validasi PIN biasanya merupakan fungsi penerbit dan terjemahan PIN adalah fungsi pengakuisisi yang khas, kami menyarankan Anda mempertimbangkan akses yang paling tidak dipriviledkan dan menetapkan kebijakan dengan tepat untuk kasus penggunaan sistem Anda. 

**Topics**
+ [Terjemahkan data PIN](translate-pin-data.md)
+ [Hasilkan data PIN](generate-pin-data.md)
+ [Verifikasi data PIN](verify-pin-data.md)

# Terjemahkan data PIN
<a name="translate-pin-data"></a>

Fungsi data PIN Translate digunakan untuk menerjemahkan data PIN terenkripsi dari satu set kunci ke yang lain tanpa data terenkripsi meninggalkan HSM. Ini digunakan untuk enkripsi P2PE di mana kunci kerja harus berubah tetapi sistem pemrosesan tidak perlu, atau tidak diizinkan untuk, mendekripsi data. Input utama adalah data terenkripsi, kunci enkripsi yang digunakan untuk mengenkripsi data, parameter yang digunakan untuk menghasilkan nilai input. Kumpulan input lainnya adalah parameter output yang diminta seperti kunci yang akan digunakan untuk mengenkripsi output dan parameter yang digunakan untuk membuat output itu. Output utama adalah dataset yang baru dienkripsi serta parameter yang digunakan untuk menghasilkannya. 

**catatan**  
Untuk kepatuhan PCI, PrimaryAccountNumber nilai masuk dan keluar harus cocok. Menerjemahkan PIN dari satu PAN ke PAN lainnya tidak diizinkan.

**Topics**
+ [PIN dari PEK ke DUKPT](#crypto-ops-pindata.pektodukpt)
+ [PIN dari PEK ke PEK](#crypto-ops-pindata.pektopek)

## PIN dari PEK ke DUKPT
<a name="crypto-ops-pindata.pektodukpt"></a>

**Example**  
Dalam contoh ini, kami akan menerjemahkan PIN dari Blok PIN ISO 4 AES menggunakan enkripsi [DUKPT](terminology.md#terms.dukpt) ke PEK TDES menggunakan blok PIN ISO 0. Ini umum terjadi di mana terminal pembayaran mengenkripsi pin dalam ISO 4 dan kemudian dapat diterjemahkan kembali ke TDES untuk pemrosesan hilir jika koneksi berikutnya belum mendukung AES.   

```
$ aws payment-cryptography-data translate-pin-data --encrypted-pin-block "AC17DC148BDA645E" --outgoing-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt  --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe --incoming-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" --incoming-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"  
```

```
    {
            "PinBlock": "1F4209C670E49F83E75CC72E81B787D9",
            "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
            "KeyCheckValue": "7CC9E2"
        }
```

## PIN dari PEK ke PEK
<a name="crypto-ops-pindata.pektopek"></a>

**Example**  
Dalam contoh ini, kami menerjemahkan PIN yang dienkripsi di bawah satu PEK (PIN Encryption Key) ke PEK lain. Ini biasanya digunakan saat merutekan transaksi antara sistem atau mitra yang berbeda yang menggunakan kunci enkripsi yang berbeda, sambil mempertahankan kepatuhan PIN PCI dengan menjaga PIN terenkripsi selama proses berlangsung. Kedua kunci menggunakan enkripsi TDES 3KEY dalam contoh ini, tetapi berbagai opsi tersedia termasuk AES ISO-4 ke TDES ISO-0, DUKPT ke PEK, atau ke PEK. AS2805   

```
$ aws payment-cryptography-data translate-pin-data --encrypted-pin-block "AC17DC148BDA645E" \
    --incoming-translation-attributes IsoFormat0='{PrimaryAccountNumber=171234567890123}' \
    --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \
    --outgoing-translation-attributes IsoFormat0='{PrimaryAccountNumber=171234567890123}' \
    --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/alsuwfxug3pgy6xh
```

```
{
    "PinBlock": "E8F2A6C4D1B93E7F",
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/alsuwfxug3pgy6xh",
    "KeyCheckValue": "9A325B"
}
```
Blok PIN keluaran sekarang dienkripsi di bawah PEK kedua dan dapat dikirim dengan aman ke sistem hilir yang memegang kunci yang sesuai.

# Hasilkan data PIN
<a name="generate-pin-data"></a>

Menghasilkan fungsi data PIN digunakan untuk menghasilkan nilai terkait PIN, seperti [PVV](terminology.md#terms.pvv) dan offset blok pin yang digunakan untuk memvalidasi entri pin oleh pengguna selama waktu transaksi atau otorisasi. API ini juga dapat menghasilkan pin acak baru menggunakan berbagai algoritma.

# Hasilkan pin acak dan pencocokan Visa PVV
<a name="generate-pvv-random"></a>

**Example**  
Dalam contoh ini, kami akan menghasilkan pin baru (acak) di mana output akan dienkripsi `PIN block` (. PinData PinBlock) dan a `PVV` (pindata.offset). Input kuncinya adalah`PAN`, the`Pin Verification Key`, the `Pin Encryption Key` and the. `PIN block format`   
 Perintah ini mengharuskan kuncinya bertipe`TR31_V2_VISA_PIN_VERIFICATION_KEY`.   

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes VisaPin={PinVerificationKeyIndex=1}
```

```
{
            "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
            "GenerationKeyCheckValue": "7F2363",
            "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
            "EncryptionKeyCheckValue": "7CC9E2",
            "EncryptedPinBlock": "AC17DC148BDA645E",
            "PinData": {
                "VerificationValue": "5507"
            }
        }
```

# Hasilkan PVV Visa untuk pin yang dikenal
<a name="generate-pvv-givenpin"></a>

**Example**  
Dalam contoh ini, kami akan menghasilkan PVV untuk pin yang diberikan (terenkripsi). Pin terenkripsi dapat diterima di hulu seperti dari terminal pembayaran atau dari pemegang kartu menggunakan aliran pin yang dapat dipilih [pengguna](https://github.com/aws-samples/samples-for-payment-cryptography-service/tree/main/python_sdk_example/ecdh_flows). Input kuncinya adalah`PAN`, the`Pin Verification Key`, the`Pin Encryption Key`, the `Encrypted Pin Block` and the. `PIN block format`   

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes VisaPinVerificationValue={PinVerificationKeyIndex=1,EncryptedPinBlock=AA584CED31790F37}
```

```
{
            "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
            "GenerationKeyCheckValue": "7F2363",
            "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
            "EncryptionKeyCheckValue": "7CC9E2",
            "EncryptedPinBlock": "AC17DC148BDA645E",
            "PinData": {
                "VerificationValue": "5507"
            }
        }
```

# Hasilkan offset IBM3624 pin untuk pin
<a name="generate-ibm3624"></a>

 IBM 3624 PIN Offset juga kadang-kadang disebut metode IBM. Metode ini menghasilkan natural/intermediate PIN menggunakan data validasi (biasanya PAN) dan Kunci PIN (PVK). Pin alami secara efektif merupakan nilai turunan dan deterministik sangat efisien untuk ditangani oleh penerbit karena tidak ada data pin yang perlu disimpan pada tingkat pemegang kartu. Kontra yang paling jelas adalah bahwa skema ini tidak memperhitungkan pin yang dapat dipilih atau acak pemegang kartu. Untuk memungkinkan jenis pin tersebut, algoritma offset ditambahkan ke skema. Offset mewakili perbedaan antara pin yang dipilih pengguna (atau acak) dan kunci alami. Nilai offset disimpan oleh penerbit kartu atau prosesor kartu. Pada saat transaksi, layanan Kriptografi AWS Pembayaran secara internal menghitung ulang pin alami dan menerapkan offset untuk menemukan pin. Kemudian membandingkan ini dengan nilai yang diberikan oleh otorisasi transaksi. 

Ada beberapa opsi untuk IBM3624:
+ `Ibm3624NaturalPin`akan menampilkan pin alami dan blok pin terenkripsi
+ `Ibm3624PinFromOffset`akan menghasilkan blok pin terenkripsi yang diberi offset
+ `Ibm3624RandomPin`akan menghasilkan pin acak dan kemudian blok pin offset dan terenkripsi yang cocok.
+  `Ibm3624PinOffset`menghasilkan offset pin yang diberikan pin yang dipilih pengguna.

Internal Kriptografi AWS Pembayaran, langkah-langkah berikut dilakukan:
+ Pad panci yang disediakan hingga 16 karakter. Jika <16 disediakan, pad di sisi kanan menggunakan karakter padding yang disediakan.
+ Mengenkripsi data validasi menggunakan kunci pembuatan PIN.
+ Dekimalisasi data terenkripsi menggunakan tabel desimalisasi. Ini memetakan digit heksidesimal ke digit desimal misalnya 'A' dapat memetakan ke 9 dan 1 dapat memetakan ke 1.
+ Dapatkan 4 digit pertama dari representasi heksidesimal output. Ini adalah pin alami.
+ Jika pin yang dipilih pengguna atau acak dihasilkan, modulo kurangi pin alami dengan pin pelanggan. Hasilnya adalah offset pin.

**Topics**
+ [Contoh: Hasilkan offset IBM3624 pin untuk pin](#generate-ibm3624-random-example)

## Contoh: Hasilkan offset IBM3624 pin untuk pin
<a name="generate-ibm3624-random-example"></a>

Dalam contoh ini, kami akan menghasilkan pin baru (acak) di mana output akan dienkripsi `PIN block` (. PinData PinBlock) dan nilai `IBM3624` offset (pindata.offset). Inputnya adalah`PAN`, data validasi (biasanya pan), karakter padding,`Pin Verification Key`, dan. `Pin Encryption Key` `PIN block format`

 Perintah ini mensyaratkan bahwa kunci pembuatan pin adalah tipe `TR31_V1_IBM3624_PIN_VERIFICATION_KEY` dan kunci enkripsi bertipe `TR31_P0_PIN_ENCRYPTION_KEY` 

**Example**  
Contoh berikut menunjukkan menghasilkan pin acak kemudian mengeluarkan blok pin terenkripsi dan nilai IBM3624 offset menggunakan Ibm3624 RandomPin   

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes Ibm3624RandomPin="{DecimalizationTable=9876543210654321,PinValidationDataPadCharacter=D,PinValidationData=171234567890123}"
```

```
{
              "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
              "GenerationKeyCheckValue": "7F2363",
              "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
              "EncryptionKeyCheckValue": "7CC9E2",
              "EncryptedPinBlock": "AC17DC148BDA645E",
              "PinData": {
                  "PinOffset": "5507"
              }
          }
```

# Verifikasi data PIN
<a name="verify-pin-data"></a>

Verifikasi fungsi data PIN digunakan untuk memverifikasi apakah pin sudah benar. Ini biasanya melibatkan membandingkan nilai pin yang sebelumnya disimpan dengan apa yang dimasukkan oleh pemegang kartu di POI. Fungsi-fungsi ini membandingkan dua nilai tanpa mengekspos nilai yang mendasari dari salah satu sumber. 

## Validasi PIN terenkripsi menggunakan metode PVV
<a name="verify-pin-data.pvv-example"></a>

**Example**  
Dalam contoh ini, kita akan memvalidasi PIN untuk PAN tertentu. PIN biasanya disediakan oleh pemegang kartu atau pengguna selama waktu transaksi untuk validasi dan dibandingkan dengan nilai pada file (input dari pemegang kartu diberikan sebagai nilai terenkripsi dari terminal atau penyedia hulu lainnya). Untuk memvalidasi input ini, nilai berikut juga akan diberikan saat runtime: Kunci yang digunakan untuk mengenkripsi pin input (ini sering merupakan`IWK`), `PAN` dan nilai untuk memverifikasi terhadap (baik a `PVV` atau). `PIN offset`   
Jika Kriptografi AWS Pembayaran dapat memvalidasi pin, http/200 dikembalikan. Jika pin tidak divalidasi, itu akan mengembalikan http/400.  

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=5507}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        {
            "VerificationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
            "VerificationKeyCheckValue": "7F2363",
            "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
            "EncryptionKeyCheckValue": "7CC9E2",
    
        }
```

## Validasi PIN terenkripsi menggunakan metode PVV - kesalahan pin buruk
<a name="verify-pin-data.pvv-example.badpin"></a>

**Example**  
Dalam contoh ini, kami akan mencoba untuk memvalidasi PIN untuk PAN tertentu tetapi akan gagal karena pin yang salah.   
Saat menggunakan SDKs, ini muncul sebagai \$1"Pesan” :"Verifikasi blok pin gagal.” , "Alasan” :"INVALID\$1PIN "\$1  

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=9999}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        An error occurred (VerificationFailedException) when calling the VerifyPinData operation: Pin block verification failed. 
```

## Validasi PIN terenkripsi menggunakan metode PVV - kesalahan input buruk
<a name="verify-pin-data.pvv-example.badkey"></a>

**Example**  
Dalam contoh ini, kami akan mencoba untuk memvalidasi PIN untuk PAN tertentu tetapi akan gagal karena input yang buruk dan data yang masuk bukan pin yang valid. Penyebab umum adalah: 1/kunci yang salah digunakan 2/parameter input seperti format pan atau pin block yang salah 3/pin blok rusak.   

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier  --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=9999}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        An error occurred (ValidationException) when calling the VerifyPinData operation: Pin block provided is invalid. Please check your input to ensure all field values are correct.
```

# Validasi PIN terhadap offset pin yang disimpan IBM3624 sebelumnya
<a name="verify-pin-data.ibm3624-example"></a>

Dalam contoh ini, kami akan memvalidasi PIN yang diberikan pemegang kartu terhadap offset pin yang disimpan pada file dengan penerbit/prosesor kartu. Input serupa [Hasilkan offset IBM3624 pin untuk pin](generate-ibm3624.md) dengan tambahan pin terenkripsi yang disediakan oleh terminal pembayaran (atau penyedia hulu lainnya seperti jaringan kartu). Jika pin cocok, api akan mengembalikan http 200. di mana output akan dienkripsi `PIN block` (. PinData PinBlock) dan nilai `IBM3624` offset (pindata.offset). 

 Perintah ini mensyaratkan bahwa kunci pembuatan pin adalah tipe `TR31_V1_IBM3624_PIN_VERIFICATION_KEY` dan kunci enkripsi bertipe `TR31_P0_PIN_ENCRYPTION_KEY` 

**Example**  

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes Ibm3624RandomPin="{DecimalizationTable=9876543210654321,PinValidationDataPadCharacter=D,PinValidationData=171234567890123}"
```

```
{
"GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
"GenerationKeyCheckValue": "7F2363",
"EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
"EncryptionKeyCheckValue": "7CC9E2",
"EncryptedPinBlock": "AC17DC148BDA645E",
"PinData": {
  "PinOffset": "5507"
}
}
```

# Verifikasi kriptogram permintaan autentikasi (ARQC)
<a name="data-operations.verifyauthrequestcryptogram"></a>

 [API kriptogram permintaan autentikasi verifikasi digunakan untuk memverifikasi ARQC.](terminology.md#terms.arqc) Generasi ARQC berada di luar cakupan Kriptografi AWS Pembayaran dan biasanya dilakukan pada Kartu Chip EMV (atau setara digital seperti dompet seluler) selama waktu otorisasi transaksi. ARQC unik untuk setiap transaksi dan dimaksudkan untuk menunjukkan validitas kartu secara kriptografis serta untuk memastikan bahwa data transaksi sama persis dengan transaksi saat ini (yang diharapkan). 

AWS Kriptografi Pembayaran menyediakan berbagai opsi untuk memvalidasi ARQC dan menghasilkan nilai ARPC opsional termasuk yang didefinisikan dalam [EMV 4.4 Buku 2](https://www.emvco.com/specifications/?post_id=80377) dan skema lain yang digunakan oleh Visa dan Mastercard. Untuk daftar lengkap semua opsi yang tersedia, silakan lihat VerifyCardValidationData bagian di [Panduan API](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_VerifyCardValidationData.html). 

Kriptogram ARQC biasanya memerlukan input berikut (meskipun ini mungkin berbeda berdasarkan implementasi): 
+ [PAN](terminology.md#terms.pan) - Ditentukan di PrimaryAccountNumber lapangan
+ [Nomor Urutan PAN (PSN)](terminology.md#terms.psn) - ditentukan di lapangan PanSequenceNumber 
+ Metode Derivasi Kunci seperti Common Session Key (CSK) - Ditentukan dalam SessionKeyDerivationAttributes
+ Mode Derivasi Kunci Master (seperti Opsi EMV A) - Ditentukan dalam MajorKeyDerivationMode
+ Data transaksi - serangkaian berbagai transaksi, terminal dan data kartu seperti Jumlah dan Tanggal - ditentukan dalam TransactionData bidang
+ [Penerbit Master Key](terminology.md#terms.imk) - kunci utama yang digunakan untuk mendapatkan kunci kriptogram (AC) yang digunakan untuk melindungi transaksi individu dan ditentukan di lapangan KeyIdentifier 

**Topics**
+ [Membangun data transaksi](#w2aac15c25c13)
+ [Padding data transaksi](#w2aac15c25c15)
+ [Contoh](#w2aac15c25c17)

## Membangun data transaksi
<a name="w2aac15c25c13"></a>

Konten (dan urutan) yang tepat dari bidang data transaksi bervariasi menurut implementasi dan skema jaringan tetapi bidang minimum yang direkomendasikan (dan urutan penggabungan) didefinisikan dalam [EMV 4.4 Buku 2 Bagian 8.1.1](https://www.emvco.com/specifications/?post_id=80377) - Pemilihan Data. Jika tiga bidang pertama adalah jumlah (17.00), jumlah lain (0.00) dan negara pembelian, yang akan menghasilkan data transaksi dimulai sebagai berikut:
+ 000000001700 - jumlah - 12 posisi tersirat dua digit desimal
+ 000000000000 - jumlah lainnya - 12 posisi tersirat dua digit desimal
+ 0124 - kode negara empat digit 
+  Data Transaksi Keluaran (sebagian) - 000000001700000000000000000124 

## Padding data transaksi
<a name="w2aac15c25c15"></a>

Data transaksi harus empuk sebelum dikirim ke layanan. Sebagian besar skema menggunakan padding ISO 9797 Metode 2, di mana string hex ditambahkan oleh hex 80 diikuti oleh 00 hingga bidang adalah kelipatan dari ukuran blok enkripsi; 8 byte atau 16 karakter untuk TDES dan 16 byte atau 32 karakter untuk AES. Alternatif (metode 1) tidak umum tetapi hanya menggunakan 00 sebagai karakter padding. 

### ISO 9797 Metode 1 Padding
<a name="w2aac15c25c15b5"></a>

 Tidak empuk: 000000001700000000000000084000800080008000084016051700000000093800000B03011203 (74 karakter atau 37 byte) 

 **Empuk: 000000001700000000000000084000800080008000084016051700000000093800000B03011203 000000 (80 karakter atau 40 byte)** 

### ISO 9797 Metode 2 Padding
<a name="w2aac15c25c15b7"></a>

 Tidak empuk: 000000001700000000000000084000800080008000084016051700000000093800000B1F220103000000 (80 karakter atau 40 byte) 

 **Empuk: 000000001700000000000000084000840008000084016051700000000093800000B1F220103000000 80000000000000 (88 karakter atau 44 byte)** 

## Contoh
<a name="w2aac15c25c17"></a>

### Visa CVN1 0
<a name="w2aac15c25c17b3"></a>

**Example**  
Dalam contoh ini, kami akan memvalidasi ARQC yang dihasilkan menggunakan Visa 0. CVN1   
Jika Kriptografi AWS Pembayaran dapat memvalidasi ARQC, http/200 dikembalikan. Jika kemudian ARCQ (Authorization Request Cryptogram) tidak divalidasi, itu akan mengembalikan respons http/400.  

```
$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram D791093C8A921769 \
--key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \
--major-key-derivation-mode EMV_OPTION_A \ 
--transaction-data 00000000170000000000000008400080008000084016051700000000093800000B03011203000000 \
--session-key-derivation-attributes='{"Visa":{"PanSequenceNumber":"01" \ 
,"PrimaryAccountNumber":"9137631040001422"}}'
```

```
{
  "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk",
  "KeyCheckValue": "08D7B4"
}
```

### Visa CVN18 dan Visa CVN22
<a name="w2aac15c25c17b5"></a>

**Example**  
Dalam contoh ini, kami akan memvalidasi ARQC yang dihasilkan menggunakan Visa atau. CVN18 CVN22 Operasi kriptografi adalah sama antara CVN18 dan CVN22 tetapi data yang terkandung dalam data transaksi bervariasi. Dibandingkan dengan CVN1 0, kriptogram yang sama sekali berbeda dihasilkan bahkan dengan input yang sama.  
Jika Kriptografi AWS Pembayaran dapat memvalidasi ARQC, http/200 dikembalikan. Jika ARCQ tidak divalidasi, itu akan mengembalikan http/400.  

```
$ aws payment-cryptography-data verify-auth-request-cryptogram \ 
--auth-request-cryptogram 61EDCC708B4C97B4
--key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ 
--major-key-derivation-mode EMV_OPTION_A 
--transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F22010300000000000 \
00000000000000000000000000000000000000000008000000000000000
--session-key-derivation-attributes='{"EmvCommon":{"ApplicationTransactionCounter":"000B", \
"PanSequenceNumber":"01","PrimaryAccountNumber":"9137631040001422"}}'
```

```
{
  "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk",
  "KeyCheckValue": "08D7B4"
}
```

# Hasilkan dan verifikasi MAC
<a name="crypto-ops-mac"></a>

Kode Otentikasi Pesan (MAC) biasanya digunakan untuk mengautentikasi integritas pesan (apakah sudah dimodifikasi). Hash kriptografi seperti HMAC (Hash Based Message Authentication Code), CBC-MAC dan CMAC (Cipher-based Message Authentication Code) memberikan jaminan tambahan kepada pengirim MAC dengan memanfaatkan kriptografi. HMAC didasarkan pada fungsi hash sementara CMAC didasarkan pada blok cipher. Layanan ini juga mendukung ISO9797 Algoritma 1 dan 3 yang merupakan jenis CBC-. MACs 

Semua algoritma MAC dari layanan ini menggabungkan fungsi hash kriptografi dan kunci rahasia bersama. Mereka mengambil pesan dan kunci rahasia, seperti materi kunci dalam kunci, dan mengembalikan tag atau mac unik. Jika bahkan satu karakter pesan berubah, atau jika kunci rahasia berubah, tag yang dihasilkan sama sekali berbeda. Dengan membutuhkan kunci rahasia, kriptografi MACs juga memberikan keaslian; tidak mungkin untuk menghasilkan mac identik tanpa kunci rahasia. Kriptografi kadang-kadang MACs disebut tanda tangan simetris, karena mereka bekerja seperti tanda tangan digital, tetapi menggunakan satu kunci untuk penandatanganan dan verifikasi. 

AWS Kriptografi Pembayaran mendukung beberapa jenis MACs:

**ISO9797 ALGORITMA 1**  
Ditandai dengan `KeyUsage` dari \$1. ISO9797 ALGORITHM1 Jika bidang bukan kelipatan ukuran blok (8 byte/16 karakter hex untuk TDES, 16 byte/32 karakter untuk AES, Kriptografi Pembayaran secara otomatis menerapkan Metode Padding 1. AWS ISO9797 Jika metode padding lain diperlukan, Anda dapat menerapkannya sebelum menelepon layanan.

**ISO9797 ALGORITMA 3 (MAC Eceran)**  
Ditandai dengan `KeyUsage` dari \$1. ISO9797 ALGORITHM3 Aturan padding yang sama berlaku sebagai Algoritma 1

**ISO9797 ALGORITMA 5 (CMAC)**  
Ditandai dengan `KeyUsage` \$1M6\$1ISO\$19797\$15\$1CMAC\$1KEY TR31

**HMAC**  
Dilambangkan dengan `KeyUsage` TR31 \$1M7\$1HMAC\$1KEY termasuk HMAC\$1, HMAC\$1, HMAC\$1 dan HMAC\$1 SHA224 SHA256 SHA384 SHA512

**AS2805.4.1 MAC**  
Ditandai dengan `KeyUsage` TR31 \$1M0\$1ISO\$116609\$1MAC\$1KEY. Untuk detail lebih lanjut tentang AS2805, lihat [AS2805](advanced.regional.as2805.md)

**DUKPT MAC**  
DUKPT MAC biasanya digunakan untuk mengkonfirmasi sumber dan muatan terminal to/from pembayaran pesan. Ini memperoleh kunci menggunakan teknik derivasi DUKPT dan kemudian melakukan MAC. Kunci yang digunakan dengan opsi ini dilambangkan dengan `KeyUsage` TR31 \$1B0\$1BASE\$1DERIVATION\$1KEY. 

**EMV MAC**  
EMV MAC biasanya disebut sebagai kunci integritas dalam dokumentasi EMV. Ini memperoleh kunci menggunakan teknik derivasi EMV dan kemudian menggunakan ISO9797 \$1 secara internal. ALGORITHM3 Ini biasanya digunakan untuk mengirim skrip penerbit ke kartu chip untuk pemrograman ulang. Kunci yang digunakan dengan opsi ini dilambangkan dengan `KeyUsage` \$1E2\$1EMV\$1MKEY\$1INTEGRITY TR31. Jika Anda berdua mengirim skrip dan memperbarui pin offline, lihat [GenerateMacEmvPinChange](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_GenerateMacEmvPinChange)yang melakukan kedua operasi ini. 

**Topics**
+ [Hasilkan MAC](generate-mac.md)
+ [Verifikasi MAC](verify-mac.md)

# Hasilkan MAC
<a name="generate-mac"></a>

Generate MAC API digunakan untuk mengautentikasi data terkait kartu, seperti melacak data dari strip magnetik kartu, dengan menggunakan kunci kriptografi yang dikenal untuk menghasilkan MAC (Message Authentication Code) untuk validasi data antara pihak pengirim dan penerima. Data yang digunakan untuk menghasilkan MAC termasuk data pesan, kunci enkripsi MAC rahasia dan algoritma MAC untuk menghasilkan nilai MAC yang unik untuk transmisi. Pihak penerima MAC akan menggunakan data pesan MAC yang sama, kunci enkripsi MAC, dan algoritma untuk mereproduksi nilai MAC lain untuk perbandingan dan otentikasi data. Bahkan jika satu karakter pesan berubah atau kunci MAC yang digunakan untuk verifikasi tidak identik, nilai MAC yang dihasilkan berbeda. API mendukung ISO 9797-1 Algoritma 1 dan ISO 9797-1 Algoritma 3 MAC (menggunakan kunci MAC statis dan kunci DUKPT turunan), kunci enkripsi HMAC dan EMV MAC untuk operasi ini.

Nilai masukan untuk `message-data` harus data HexBinary.

Untuk informasi selengkapnya tentang semua opsi untuk API ini, lihat [GenerateMac](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_GenerateMac.html)dan [VerifyMac](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_VerifyMac.html).

Parameter opsional mac-length memungkinkan Anda untuk memotong nilai output (meskipun ini juga dapat dilakukan dalam kode Anda). Panjang 8 mengacu pada 8 byte atau 16 karakter hex.

Kunci MAC dapat dibuat dengan Kriptografi AWS Pembayaran dengan menelepon [CreateKey](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html)atau diimpor dengan menelepon [ImportKey](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html). 

**catatan**  
Algoritma CMAC dan HMAC tidak memerlukan padding. Semua yang lain mengharuskan data dimasukkan ke ukuran blok algoritme, yang merupakan kelipatan 8 byte (16 karakter hex) untuk TDES dan 16 byte (32 karakter hex) untuk AES. 

**Topics**
+ [Menghasilkan HMAC](#generate-mac-hmac)
+ [Hasilkan MAC menggunakan ISO 9797-1 Algoritma 3](#generate-mac-iso9797-alg3)
+ [Hasilkan MAC menggunakan CMAC](#generate-mac-cmac)
+ [Hasilkan MAC menggunakan DUKPT CMAC](#generate-mac-dukpt-cmac)

## Menghasilkan HMAC
<a name="generate-mac-hmac"></a>

Dalam contoh ini, kita akan menghasilkan HMAC (Hash Based Message Authentication Code) untuk otentikasi data kartu menggunakan algoritma `HMAC_SHA256` HMAC dan kunci enkripsi HMAC. Kuncinya harus KeyUsage disetel ke `TR31_M7_HMAC_KEY` dan KeyModesOfUse ke`Generate`. Panjang hash (misalnya 256) didefinisikan ketika kunci dibuat dan tidak dapat dimodifikasi. 

Parameter panjang mac-opsional akan memangkas output MAC, meskipun ini dapat dilakukan di luar layanan juga. Nilai ini dalam byte, sehingga nilai 16 akan mengharapkan string hex dengan panjang 32.

**Example**  

```
$ aws payment-cryptography-data generate-mac \ 
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ 
    --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \
    --generation-attributes Algorithm=HMAC
```

```
           
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6",
    "KeyCheckValue": "2976E7",
    "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C"
}
```

## Hasilkan MAC menggunakan ISO 9797-1 Algoritma 3
<a name="generate-mac-iso9797-alg3"></a>

Dalam contoh ini, kami akan menghasilkan MAC menggunakan ISO 9797-1 Algorithm 3 (Retail MAC) untuk otentikasi data kartu. Kuncinya harus KeyUsage disetel ke `TR31_M3_ISO_9797_3_MAC_KEY` dan KeyModesOfUse ke`Generate`. 

**Example**  

```
$ aws payment-cryptography-data generate-mac \ 
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h \ 
    --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \ 
    --generation-attributes="Algorithm=ISO9797_ALGORITHM3"
```

```
           
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h",
    "KeyCheckValue": "2976EA",
    "Mac": "A8F7A73DAF87B6D0"
}
```

## Hasilkan MAC menggunakan CMAC
<a name="generate-mac-cmac"></a>

CMAC paling sering digunakan ketika kuncinya adalah AES tetapi juga mendukung TDES. Dalam contoh ini, kami akan menghasilkan MAC menggunakan CMAC (ISO 9797-1 Algorithm 5) untuk otentikasi data kartu dengan kunci AES. Kuncinya harus KeyUsage disetel ke `TR31_M6_ISO_9797_5_CMAC_KEY` dan KeyModesOfUse ke`Generate`. 

**Example**  

```
$ aws payment-cryptography-data generate-mac \ 
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ 
    --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \ 
    --generation-attributes Algorithm="CMAC"
```

```
           
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "C1EB8F",
    "Mac": "1F8C36E63F91E4E93DF7842BF5E2E5F7"
}
```

## Hasilkan MAC menggunakan DUKPT CMAC
<a name="generate-mac-dukpt-cmac"></a>

Dalam contoh ini, kita akan menghasilkan MAC menggunakan DUKPT (Derived Unique Key Per Transaction) dengan CMAC untuk otentikasi data kartu. Kunci harus KeyUsage disetel ke `TR31_B0_BASE_DERIVATION_KEY` dan KeyModesOfUse `DeriveKey` disetel ke true. Kunci DUKPT memperoleh kunci unik untuk setiap transaksi menggunakan Kunci Derivasi Dasar (BDK) dan Nomor Seri Kunci (KSN). 



**Example**  

```
$ aws payment-cryptography-data generate-mac --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" --generation-attributes="DukptCmac={KeySerialNumber="932A6E954ABB32DD00000001",Direction=BIDIRECTIONAL}"
```

```
       
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6",
    "KeyCheckValue": "C1EB8F"
}
```

# Verifikasi MAC
<a name="verify-mac"></a>

Verifikasi MAC API digunakan untuk memverifikasi MAC (Kode Otentikasi Pesan) untuk otentikasi data terkait kartu. Itu harus menggunakan kunci enkripsi yang sama yang digunakan selama menghasilkan MAC untuk menghasilkan kembali nilai MAC untuk otentikasi. Kunci enkripsi MAC dapat dibuat dengan Kriptografi AWS Pembayaran dengan menelepon [CreateKey](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html)atau diimpor dengan menelepon [ImportKey](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html). API mendukung kunci enkripsi DUKPT MAC, HMAC dan EMV MAC untuk operasi ini.

Jika nilai diverifikasi, maka parameter respons `MacDataVerificationSuccessful` akan kembali`Http/200`, jika tidak `Http/400` dengan pesan yang menunjukkan itu`Mac verification failed`.

**Topics**
+ [Verifikasi HMAC](#verify-mac-hmac)
+ [Verifikasi MAC menggunakan DUKPT CMAC](#verify-mac-dukpt-cmac)

## Verifikasi HMAC
<a name="verify-mac-hmac"></a>

Dalam contoh ini, kami akan memverifikasi HMAC (Hash Based Message Authentication Code) untuk otentikasi data kartu menggunakan algoritma `HMAC_SHA256` HMAC dan kunci enkripsi HMAC. Kunci harus KeyUsage disetel ke `TR31_M7_HMAC_KEY` dan KeyModesOfUse `Verify` disetel ke true. 

**Example**  

```
$ aws payment-cryptography-data verify-mac \ 
     --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ 
     --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ 
     --mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C \ 
     --verification-attributes Algorithm=HMAC_SHA256
```

```
       
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6",
    "KeyCheckValue": "2976E7"
}
```

## Verifikasi MAC menggunakan DUKPT CMAC
<a name="verify-mac-dukpt-cmac"></a>

Dalam contoh ini, kami akan memverifikasi MAC menggunakan DUKPT (Derived Unique Key Per Transaction) dengan CMAC untuk otentikasi data kartu. Kunci harus KeyUsage disetel ke `TR31_B0_BASE_DERIVATION_KEY` dan KeyModesOfUse `DeriveKey` disetel ke true. Kunci DUKPT memperoleh kunci unik untuk setiap transaksi menggunakan Kunci Derivasi Dasar (BDK) dan Nomor Seri Kunci (KSN). Nilai DukptKeyVariant harus cocok antara pengirim dan penerima. REQUEST biasanya akan digunakan dari terminal ke backend, VERIFIKASI dari backend ke terminal dan BIDIRECTIONAL ketika satu kunci digunakan di kedua arah. 

**Example**  

```
$ aws payment-cryptography-data verify-mac \ 
     --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ 
     --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ 
     --mac D8E804EE74BF1D909A2C01C0BDE8EF34 \ 
     --verification-attributes DukptCmac='{"KeySerialNumber":"932A6E954ABB32DD00000001","DukptKeyVariant":"BIDIRECTIONAL"}'
```

```
       
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "C1EB8F"
}
```

# Kunci yang valid untuk operasi kriptografi
<a name="crypto-ops-validkeys-ops"></a>

Kunci tertentu hanya dapat digunakan untuk operasi tertentu. Selain itu, beberapa operasi dapat membatasi mode penggunaan kunci untuk kunci. Silakan lihat tabel berikut untuk kombinasi yang diizinkan. 

**catatan**  
Kombinasi tertentu, meskipun diizinkan, dapat menciptakan situasi yang tidak dapat digunakan seperti menghasilkan kode CVV `(generate)` tetapi kemudian tidak dapat memverifikasinya. `(verify)` 

**Topics**
+ [GenerateCardData](#w2aac15c31b9)
+ [VerifyCardData](#w2aac15c31c11)
+ [GeneratePinData (untuk VISA/ABA skema)](#w2aac15c31c15)
+ [GeneratePinData (untuk`IBM3624`)](#w2aac15c31c17)
+ [VerifyPinData (untuk VISA/ABA skema)](#w2aac15c31c21)
+ [VerifyPinData (untuk`IBM3624`)](#w2aac15c31c23)
+ [Dekripsi Data](#w2aac15c31c27)
+ [Enkripsi Data](#w2aac15c31c33)
+ [Terjemahkan Pin Data](#w2aac15c31c39)
+ [Hasilkan/Verifikasi MAC](#crypto-ops-validkeys.generatemac)
+ [GenerateMacEmvPinChange](#crypto-ops-validkeys.generatemacemvpinchange)
+ [VerifyAuthRequestCryptogram](#w2aac15c31c51)
+ [Kunci Impor/Ekspor](#crypto-ops-validkeys.importexport)
+ [Jenis kunci yang tidak digunakan](#w2aac15c31c57)

## GenerateCardData
<a name="w2aac15c31b9"></a>


| Titik Akhir API | Operasi atau Algoritma Kriptografi | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | --- | 
| GenerateCardData |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1C0\$1CARD\$1VERIFICATION\$1KEY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1Hasilkan = benar\$1, \$1Hasilkan = benar, Verifikasi = benar\$1 | 
| GenerateCardData |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1C0\$1CARD\$1VERIFICATION\$1KEY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1Hasilkan = benar\$1, \$1Hasilkan = benar, Verifikasi = benar\$1 | 
| GenerateCardData |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 
| GenerateCardData |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E4\$1EMV\$1MKEY\$1DYNAMIC\$1NUMBERS |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 
| GenerateCardData |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 

## VerifyCardData
<a name="w2aac15c31c11"></a>


| Operasi atau Algoritma Kriptografi | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1C0\$1CARD\$1VERIFICATION\$1KEY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1Hasilkan = benar\$1, \$1Hasilkan = benar, Verifikasi = benar\$1 | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1C0\$1CARD\$1VERIFICATION\$1KEY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1Hasilkan = benar\$1, \$1Hasilkan = benar, Verifikasi = benar\$1 | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E4\$1EMV\$1MKEY\$1DYNAMIC\$1NUMBERS |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | \$1 DeriveKey = benar\$1 | 

## GeneratePinData (untuk VISA/ABA skema)
<a name="w2aac15c31c15"></a>

`VISA_PIN or VISA_PIN_VERIFICATION_VALUE`


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Enkripsi PIN  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci Pembuatan PIN  |  TR31\$1V2\$1VISA\$1PIN\$1VERIFICATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## GeneratePinData (untuk`IBM3624`)
<a name="w2aac15c31c17"></a>

`IBM3624_PIN_OFFSET,IBM3624_NATURAL_PIN,IBM3624_RANDOM_PIN, IBM3624_PIN_FROM_OFFSET)`


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Enkripsi PIN  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  Untuk IBM3624 \$1NATURAL\$1PIN, \$1RANDOM\$1PIN, \$1PIN\$1FROM\$1OFFSET IBM3624 IBM3624 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) Untuk IBM3624 \$1PIN\$1OFFSET [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | 
|  Kunci Pembuatan PIN  |  TR31\$1V1\$1 IBM3624 \$1PIN\$1VERIFICATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## VerifyPinData (untuk VISA/ABA skema)
<a name="w2aac15c31c21"></a>

`VISA_PIN`


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Enkripsi PIN  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci Pembuatan PIN  |  TR31\$1V2\$1VISA\$1PIN\$1VERIFICATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## VerifyPinData (untuk`IBM3624`)
<a name="w2aac15c31c23"></a>

`IBM3624_PIN_OFFSET,IBM3624_NATURAL_PIN,IBM3624_RANDOM_PIN, IBM3624_PIN_FROM_OFFSET)`


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Enkripsi PIN  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  Untuk IBM3624 \$1NATURAL\$1PIN, \$1RANDOM\$1PIN, \$1PIN\$1FROM\$1OFFSET IBM3624 IBM3624 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | 
|  Kunci Verifikasi PIN  |  TR31\$1V1\$1 IBM3624 \$1PIN\$1VERIFICATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Dekripsi Data
<a name="w2aac15c31c27"></a>


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  DUKPT  |  TR31\$1B0\$1BASE\$1DERIVATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  EMV  |  TR31\$1E1\$1EMV\$1MKEY\$1KERAHASIAAN TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | 
|  RSA  |  TR31\$1D1\$1ASYMMETRIC\$1KEY\$1FOR\$1DATA\$1ENKRIPSI  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Tombol simetris  |  TR31\$1D0\$1SYMMETRIC\$1DATA\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Enkripsi Data
<a name="w2aac15c31c33"></a>


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  DUKPT  |  TR31\$1B0\$1BASE\$1DERIVATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  EMV  |  TR31\$1E1\$1EMV\$1MKEY\$1KERAHASIAAN TR31\$1E6\$1EMV\$1MKEY\$1LAINNYA  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  | 
|  RSA  |  TR31\$1D1\$1ASYMMETRIC\$1KEY\$1FOR\$1DATA\$1ENKRIPSI  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Tombol simetris  |  TR31\$1D0\$1SYMMETRIC\$1DATA\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Terjemahkan Pin Data
<a name="w2aac15c31c39"></a>


| Arahan | Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | --- | 
|  Sumber Data Masuk  |  DUKPT  |  TR31\$1B0\$1BASE\$1DERIVATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Sumber Data Masuk  |  Non-DUKPT (PEK, AWK, IWK, dll)  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Target Data Keluar  |  DUKPT  |  TR31\$1B0\$1BASE\$1DERIVATION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Target Data Keluar  |  Non-DUKPT (PEK, IWK, AWK, dll)  |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Hasilkan/Verifikasi MAC
<a name="crypto-ops-validkeys.generatemac"></a>

 Kunci MAC digunakan untuk membuat hash kriptografi message/body dari data. Tidak disarankan untuk membuat kunci dengan mode penggunaan kunci terbatas karena Anda tidak akan dapat melakukan operasi pencocokan. Namun, Anda mungkin import/export kunci dengan hanya satu operasi jika sistem lain dimaksudkan untuk melakukan setengah lainnya dari pasangan operasi. 


| Penggunaan Kunci yang Diizinkan | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci MAC   |  TR31\$1M1\$1ISO\$19797\$11\$1MAC\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci MAC (MAC Ritel)   |  TR31\$1M1\$1ISO\$19797\$13\$1MAC\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci MAC (CMAC)   |  TR31\$1M6\$1ISO\$19797\$15\$1CMAC\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci MAC (HMAC)   |  TR31\$1M7\$1HMAC\$1KUNCI  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci MAC (AS2805)   |  TR31\$1M0\$1ISO\$116609\$1MAC\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## GenerateMacEmvPinChange
<a name="crypto-ops-validkeys.generatemacemvpinchange"></a>

 GenerateMacEmvPinChange menggabungkan pembuatan MAC dan enkripsi PIN untuk operasi perubahan PIN offline EMV. Operasi ini memerlukan dua jenis kunci yang berbeda: kunci integritas untuk pembuatan MAC dan kunci kerahasiaan untuk enkripsi PIN. 


| Tipe Kunci | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Integritas Pesan Aman   |  TR31\$1E2\$1EMV\$1MKEY\$1INTEGRITY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci Kerahasiaan Pesan Aman   |  TR31\$1E1\$1EMV\$1MKEY\$1KERAHASIAAN  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  PIN PEK saat ini (Kunci Enkripsi PIN)   |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  PIN PEK Baru (Kunci Enkripsi PIN)   |  TR31\$1P0\$1PIN\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci ARQC   Hanya berlaku untuk skema derivasi Visa dan Amex.   |  TR31\$1E0\$1EMV\$1MKEY\$1APP\$1CRYPTOGRAMS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## VerifyAuthRequestCryptogram
<a name="w2aac15c31c51"></a>


| Penggunaan Kunci yang Diizinkan | Opsi EMV | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  TR31\$1E0\$1EMV\$1MKEY\$1APP\$1CRYPTOGRAMS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Kunci Impor/Ekspor
<a name="crypto-ops-validkeys.importexport"></a>


| Tipe operasi | Penggunaan Kunci yang Diizinkan | Algoritma Kunci yang Diizinkan | Kombinasi yang diizinkan dari mode penggunaan utama | 
| --- | --- | --- | --- | 
|  Kunci Pembungkus TR-31  |  TR31\$1K1\$1KEY\$1BLOCK\$1PROTECTION\$1KEY TR31\$1K0\$1KEY\$1ENCRYPTION\$1KEY  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Impor CA tepercaya  |  TR31\$1S0\$1ASYMMETRIC\$1KEY\$1FOR\$1DIGITAL\$1SIGNATURE  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Impor sertifikat kunci publik untuk enkripsi asimetris  |  TR31\$1D1\$1ASYMMETRIC\$1KEY\$1FOR\$1DATA\$1ENKRIPSI  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 
|  Kunci yang digunakan untuk algoritma kesepakatan kunci seperti ECDH  |  TR31\$1K3\$1ASYMMETRIC\$1KEY\$1FOR\$1KEY\$1AGREEMENT  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html) | 

## Jenis kunci yang tidak digunakan
<a name="w2aac15c31c57"></a>

Jenis kunci berikut saat ini tidak digunakan oleh Kriptografi AWS Pembayaran
+  TR31\$1P1\$1PIN\$1GENERATION\$1KEY 