Enkripsi kunci asimetris: Sistem kriptografi yang menggunakan pasangan kunci—publik dan pribadi—untuk mengenkripsi dan mendekripsi data. Kunci publik digunakan untuk mengenkripsi data dan dapat dibagikan. Kunci pribadi digunakan untuk mendekripsi data, dan hanya diketahui oleh pemiliknya.
Ciphertext: Hasil enkripsi yang dilakukan pada teks biasa menggunakan algoritma. Ciphertext tidak dapat dipahami hingga dikonversi kembali menjadi teks biasa menggunakan kunci.
Konsistensi: Berarti Tink berperilaku "sama" di semua bahasa pemrograman. Misalnya, Tink memberikan konsistensi evaluasi, yang berarti bahwa untuk keyset tertentu, jika pembuatan primitif berhasil dalam dua bahasa, primitif akan berperilaku sama.
Kunci: Informasi (misalnya, string) yang diperlukan untuk mengenkripsi atau mendekripsi data. Lihat Key objects untuk mengetahui cara objek tersebut ditampilkan.
Set kunci & handle set kunci: Tink menggunakan set kunci untuk mengelola kunci. Kumpulan kunci pada dasarnya adalah sekumpulan kunci yang memfasilitasi rotasi kunci. Properti penting dari keyset adalah:
- Setiap kunci dalam set kunci memiliki ID unik, yang unik dalam set kunci. ID ini biasanya ditambahkan sebagai awalan ke setiap ciphertext, tanda tangan, atau tag yang dihasilkan untuk menunjukkan kunci yang digunakan (lihat cara Tink menandai ciphertext untuk mengetahui info selengkapnya).
- Hanya satu kunci dalam keyset yang utama dalam satu waktu. Kunci utama dalam set kunci adalah kunci yang "sedang digunakan" saat ini.
- Semua kunci dalam set kunci harus berupa implementasi primitif yang sama (seperti AEAD), tetapi dapat memiliki jenis kunci yang berbeda (misalnya, kunci AES-GCM dan XCHACHA20-POLY1305).
Setiap penerapan Tink menyediakan API untuk membuat atau mengedit set kunci. Namun, sebaiknya gunakan Tinkey, alat CLI kami.
Pengguna beroperasi melalui set kunci menggunakan handle set kunci. Handle set kunci membatasi
eksposur materi kunci sensitif yang sebenarnya. Selain itu, keyset ini juga mengabstraksi keyset
yang memungkinkan pengguna mendapatkan primitif yang "membungkus" seluruh keyset. Misalnya, Anda bisa mendapatkan primitif AEAD dari keyset dengan kunci N; enkripsi dan dekripsi dengan primitif yang diperoleh kemudian menggunakan kunci utama dalam keyset.
Sistem pengelolaan kunci (KMS): Sistem yang digunakan untuk mengelola kunci kriptografis, termasuk pembuatan, penyimpanan, penggunaan, rotasi, penghancuran, dan penggantiannya.
Jenis kunci: Jenis kunci mengimplementasikan primitif tertentu. Sebagian besar primitif memiliki beberapa jenis kunci yang dapat dipilih, bergantung pada persyaratan Anda untuk keamanan, runtime, dan ruang. Misalnya, AES128_GCM adalah AEAD yang cepat dan efektif untuk sebagian besar kebutuhan. Lihat selengkapnya di Jenis kunci yang didukung menurut bahasa.
Parameter: Menjelaskan sepenuhnya informasi yang diperlukan untuk membuat kunci, tidak termasuk materi kunci dan ID kunci. Lihat Objek parameter untuk mengetahui cara objek tersebut direpresentasikan.
Teks biasa: Bentuk input yang dapat dipahami dari teks terenkripsi atau elemennya.
Primitif: Tink menggunakan primitif sebagai blok penyusun kriptografi yang mengelola algoritma yang mendasarinya sehingga pengguna dapat melakukan tugas kriptografi dengan aman. Primitif menentukan detail algoritma kriptografi dan jenis kunci.
- Lihat Memilih primitif untuk mengetahui ringkasan primitif yang didukung dan kasus penggunaannya.
- Lihat Primitif yang didukung menurut bahasa untuk mengetahui informasi kompatibilitas.
Registry: Entitas global di Tink yang mengetahui cara membuat kunci dan primitif baru. Lihat juga panduan tentang men-debug error pendaftaran.
Enkripsi kunci simetris: Algoritma kriptografi yang menggunakan kunci yang sama untuk mengenkripsi teks polos dan mendekripsi teks tersandi.