Pembangkitan kunci atau pembuatan kunci (bahasa Inggris:key generation) adalah proses dibuatnya kunci kriptografis. Kunci sejenis ini dipakai untuk mengenkripsi maupun mendekripsi (melepas enkripsi) data.
Peranti atau program yang membuat kunci kriptografis disebut pembangkit kunci.
Dalam sistem kriptogtafis
Sistem kriptografis modern mencakup algoritma kunci simetris [en][a] dan algoritma kunci publik.[b] Algoritma simetris memakai kunci tunggal bersama (berbagi), sehingga data dirahasiakan dengan merahasiakan pula kunci tersebut. Di sisi lain, algoritma publik memakai kunci publik dan kunci privat, sehingga cara kerjanya yaitu pengirim mengenkripsi data menggunakan kunci publik milik penerima data, tetapi hanya pemilik kunci privat yang bisa mendekripsi data tersebut. Kunci publik umumnya disediakan menggunakan sertifikat digital.
Algoritma kunci publik cenderung lebih lambat daripada algoritma kunci simetris. Maka dari itu, banyak sistem modern seperti Keamanan Lapisan Transportasi (TLS) dan Protokol SSH menggabungkan kedua algoritma ini. Misal sebagian kecil data dienkripsi menggunakan algoritma kunci publik, tetapi sisanya dienkripsi menggunakan algoritma kunci simetris.
Kunci kriptografis biasanya berupa bilangan bulat. Bilangan bulat ini kadang kalanya dihasilkan secara acak menggunakan pembangkit bilangan acak (RNG) atau pembangkit bilangan acak semu [en] (PRNG). PRNG adalah algoritma yang menghasilkan data yang tampak acak dari sudut pandang analisis. PRNG yang memakai entropi [en] sistem untuk membenihkan data (benih acak [en]) umumnya mempunyai hasil yang lebih bagus, sebab kondisi awal PRNG tersebut makin sulit ditebak oleh penyerang (seperti peretas). VeraCrypt [en] (sebuah aplikasi pengenkripsi penyimpanan bercakram [en]) memanfaatkan gerakan tetikus yang dilakukan pengguna secara sporadis (sembarangan) untuk membuat kunci.[1] Di situasi lain, kunci diperoleh secara menentu menggunakan frasa sandi [en] dan fungsi penurunan kunci [en].
Banyak protokol modern dirancang untuk memakai fitur kerahasiaan ke depan [en], yang memerlukan dibuatnya kunci bersama baru untuk tiap sesi.
Kriptosistem [en] klasik selalu menghasilkan dua kunci identik di salah satu ujung jalur komunikasi, lalu mengirimkan salah satu kunci tersebut ke ujung lainnya dengan cara tertentu. Namun, pengelolaan kunci [en] akan lebih sederhana jika pertukaran kunci Diffie–Hellman digunakan.
Cara paling sederhana untuk membaca data terenkripsi tanpa benar-benar mendekripsikannya adalah serangan brutal, yakni dengan mencoba-coba setiap bilangan, hingga panjang maksimum kunci yang dimaksud. Maka dari itu, penting untuk memakai kunci yang panjang secara memadai; Kunci yang lebih panjang membutuhkan waktu yang jauh lebih lama untuk diserang, sehingga serangan brutal menjadi tak praktis. Saat ini, umumya kunci kriptografis memiliki panjang 128 bit (untuk algoritma kunci simetris) dan 2048 bit (untuk algoritma kunci publik).
Dalam lapisan fisik
Saluran nirkabel
Pada sebuah saluran nirkabel, terdapat dua pengguna ujung (end users) yang bisa berkiriman sinyal percontohan [en] untuk memperkirakan informasi saluran di antara mereka, lalu menggunakan informasi tersebut untuk membuat kunci rahasia.[2] Jika beberapa pasang pengguna ingin membentuk kunci rahasia secara berkelompok, kunci tersebut bisa dihasilkan menggunakan informasi saluran milik masing-masing pasang pengguna.[3]
Serat optik
Kunci kriptografis juga bisa dihasilkan dengan memanfaatkan fluktasi (keguncangan) fase pada tautan serat optik.[4]
Catatan
- ↑ Seperti Standar Enkripsi Data (DES) maupun Standar Enkripsi Lanjutan (AWS).
- ↑ Seperti kriptosistem Rivest–Shamir–Adleman (RSA).
Referensi
- ↑ "VeraCrypt - Random Number Generator" [Veracrypt - Pembangkit Bilangan Acak]. veracrypt.eu (dalam bahasa Inggris). Diakses tanggal 14 Mei 2025.
- ↑ Chan Dai Truyen Thai; Jemin Lee; Tony Q. S. Quek (Februari 2016). "Physical-Layer Secret Key Generation with Colluding Untrusted Relays". IEEE Transactions on Wireless Communications (dalam bahasa Inggris). 15 (2): 1517–1530. doi:10.1109/TWC.2015.2491935. S2CID 27603548.
- ↑ Chan Dai Truyen Thai; Jemin Lee; Tony Q. S. Quek (Desember 2015). "Secret Group Key Generation in Physical Layer for Mesh Topology" [Pembangkitan Kunci Rahasia Kelompok pada Lapisan Fisik untuk Topologi Jala]. 2015 IEEE Global Communications Conference (GLOBECOM) (dalam bahasa Inggris). San Diego. hlm. 1–6. doi:10.1109/GLOCOM.2015.7417477.
- ↑ Zaman, Imam Uz; Lopez, Anthony Bahadir; Faruque, Mohammad Abdullah Al; Boyraz, Ozdal (15 Desember 2018). "Physical Layer Cryptographic Key Generation by Exploiting PMD of an Optical Fiber Link". Journal of Lightwave Technology (dalam bahasa Inggris). 36 (24): 5903–5911. Bibcode:2018JLwT...36.5903Z. doi:10.1109/jlt.2018.2880957. ISSN 0733-8724. PMC 6350795. PMID 30713365.