Di era digital yang serba terhubung ini, keamanan informasi menjadi sangat krusial. Algoritma kriptografi memegang peranan penting dalam melindungi data sensitif dari akses yang tidak sah. Salah satu algoritma yang paling terkenal dan widely used adalah Algoritma Kriptografi RSA. Mari kita selami lebih dalam mengenai cara kerja, kelebihan, serta penerapannya.
RSA adalah singkatan dari Rivest–Shamir–Adleman, nama dari tiga penemu algoritma ini: Ron Rivest, Adi Shamir, dan Leonard Adleman. RSA adalah algoritma kriptografi kunci publik (public-key cryptography) yang pertama kali dipublikasikan pada tahun 1977. Keunikan dari kriptografi kunci publik adalah penggunaan sepasang kunci: satu kunci publik yang dapat dibagikan secara bebas kepada siapa saja, dan satu kunci privat yang dijaga kerahasiaannya oleh pemilik.
Prinsip dasar RSA didasarkan pada kesulitan komputasi dalam memfaktorkan bilangan prima yang sangat besar. Artinya, sangat mudah untuk mengalikan dua bilangan prima besar untuk mendapatkan hasil (yang menjadi kunci publik), namun sangat sulit (membutuhkan waktu dan sumber daya komputasi yang sangat besar) untuk menemukan kembali dua bilangan prima asli dari hasil perkalian tersebut.
Proses kerja RSA dapat dibagi menjadi tiga tahapan utama: pembuatan kunci, enkripsi, dan dekripsi.
p dan q. Semakin besar bilangan ini, semakin aman enkripsinya.n (modulus): n = p * q. Nilai n akan menjadi bagian dari kunci publik dan kunci privat.φ(n) (Euler's totient function): φ(n) = (p - 1) * (q - 1). Fungsi ini menghitung jumlah bilangan bulat positif yang lebih kecil dari n dan koprima terhadap n.e (eksponen publik): e harus memenuhi syarat 1 < e < φ(n) dan gcd(e, φ(n)) = 1 (e dan φ(n) koprima). Nilai e yang umum digunakan adalah 65537.d (eksponen privat): d adalah invers modular dari e terhadap φ(n). Artinya, (d * e) mod φ(n) = 1. Nilai d dapat dihitung menggunakan Algoritma Euclidean yang Diperluas.Setelah proses ini selesai, kita memiliki:
n, e). Kunci ini bisa dibagikan kepada siapa saja.n, d). Kunci ini harus dijaga kerahasiaannya oleh pemilik.Misalkan Alice ingin mengirim pesan rahasia kepada Bob. Alice perlu mendapatkan kunci publik Bob (nB, eB). Pesan asli (plaintext) M harus diubah menjadi bentuk numerik yang lebih kecil dari nB. Kemudian, enkripsi dilakukan dengan rumus:
C adalah ciphertext (pesan terenkripsi) yang dapat dikirimkan oleh Alice kepada Bob melalui saluran yang tidak aman.
Ketika Bob menerima ciphertext C, ia akan menggunakan kunci privatnya (nB, dB) untuk mendekripsinya:
Bob akan mendapatkan kembali pesan asli M. Karena nilai d sangat sulit dihitung tanpa mengetahui p dan q, maka pesan tersebut aman dari pihak yang tidak memiliki kunci privat.
RSA banyak digunakan dalam berbagai aplikasi keamanan siber, antara lain:
Meskipun RSA memiliki kelemahan dalam hal kecepatan, prinsipnya yang kuat dan kemampuannya dalam menyediakan keamanan publik membuatnya tetap menjadi salah satu fondasi utama dalam dunia kriptografi modern dan keamanan data digital.