AWS Encryption SDK referensi vektor inisialisasi - AWS Encryption SDK

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

AWS Encryption SDK referensi vektor inisialisasi

Informasi di halaman ini adalah referensi untuk membangun pustaka enkripsi Anda sendiri yang kompatibel dengan file AWS Encryption SDK. Jika Anda tidak membangun pustaka enkripsi kompatibel Anda sendiri, Anda mungkin tidak memerlukan informasi ini.

Untuk menggunakan AWS Encryption SDK dalam salah satu bahasa pemrograman yang didukung, lihatBahasa pemrograman.

Untuk spesifikasi yang mendefinisikan elemen AWS Encryption SDK implementasi yang tepat, lihat AWS Encryption SDK Spesifikasi di GitHub.

AWS Encryption SDK Menyediakan vektor inisialisasi (IVs) yang diperlukan oleh semua suite algoritma yang didukung. SDKMenggunakan nomor urut bingkai untuk membangun IV sehingga tidak ada dua frame dalam pesan yang sama dapat memiliki IV yang sama.

Setiap 96-bit (12-byte) IV dibangun dari dua array byte besar-endian yang digabungkan dalam urutan sebagai berikut:

  • 64 bit: 0 (dicadangkan untuk penggunaan masa depan)

  • 32 bit: Nomor urut bingkai. Untuk tag otentikasi header, nilai ini semua nol.

Sebelum pengenalan caching kunci data, AWS Encryption SDK selalu menggunakan kunci data baru untuk mengenkripsi setiap pesan, dan itu menghasilkan semua IVs secara acak. Dihasilkan secara acak aman IVs secara kriptografis karena kunci data tidak pernah digunakan kembali. Ketika caching kunci data SDK diperkenalkan, yang sengaja menggunakan kembali kunci data, kami mengubah cara menghasilkan. SDK IVs

Menggunakan deterministik IVs yang tidak dapat diulang dalam pesan secara signifikan meningkatkan jumlah pemanggilan yang dapat dieksekusi dengan aman di bawah satu kunci data. Selain itu, kunci data yang di-cache selalu menggunakan rangkaian algoritma dengan fungsi derivasi kunci. Menggunakan IV deterministik dengan fungsi derivasi kunci pseudo-acak untuk mendapatkan kunci enkripsi dari kunci data memungkinkan untuk mengenkripsi 2 ^ 32 pesan tanpa melebihi AWS Encryption SDK batas kriptografi.