Algoritma RSA merupakan salah satu algoritma kriptografi kunci publik yang paling populer dan banyak digunakan dalam dunia keamanan data digital. Algoritma ini ditemukan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman pada tahun 1977 dan hingga kini menjadi dasar dari banyak sistem keamanan digital, termasuk enkripsi email, transaksi online, dan tanda tangan digital. RSA menggunakan konsep bilangan prima dan faktorisasi untuk memastikan keamanan pesan sehingga hanya penerima yang memiliki kunci privat yang dapat membaca pesan tersebut.
Artikel ini akan membahas contoh soal algoritma RSA lengkap dengan proses enkripsi dan dekripsi secara step by step. Panduan ini ditujukan untuk siswa, mahasiswa, atau siapa pun yang ingin memahami RSA dari dasar hingga tingkat menengah secara praktis.
Baca juga:Latihan Soal VLOOKUP Excel untuk Pemula hingga Mahir
1. Pengenalan Algoritma RSA
RSA adalah algoritma kunci publik yang menggunakan dua kunci berbeda, yaitu:
- Kunci publik (public key) digunakan untuk mengenkripsi pesan.
- Kunci privat (private key) digunakan untuk mendekripsi pesan.
Keamanan RSA didasarkan pada kesulitan faktorisasi bilangan besar menjadi faktor prima. Algoritma ini juga dapat digunakan untuk membuat tanda tangan digital untuk memverifikasi keaslian pesan.
Langkah dasar algoritma RSA:
- Pilih dua bilangan prima besar p dan q.
- Hitung n = p × q, yang akan menjadi modulus RSA.
- Hitung totien Euler φ(n) = (p − 1) × (q − 1).
- Pilih bilangan e (1 < e < φ(n)) yang relatif prima terhadap φ(n). e menjadi kunci publik.
- Hitung d, yaitu invers modular dari e modulo φ(n). d menjadi kunci privat.
- Enkripsi: c = m^e mod n, di mana m adalah pesan asli.
- Dekripsi: m = c^d mod n, untuk mendapatkan pesan asli kembali.
2. Contoh Soal RSA Sederhana
Untuk mempermudah pemahaman, kita mulai dengan bilangan prima kecil.
Soal 1: Menentukan Kunci RSA
Pilih bilangan prima: p = 7, q = 11. Tentukan kunci publik dan kunci privat.
Penyelesaian Step by Step:
- Hitung n:
n = p × q = 7 × 11 = 77 - Hitung totien Euler:
φ(n) = (p − 1) × (q − 1) = 6 × 10 = 60 - Pilih bilangan e yang relatif prima dengan φ(n), misal e = 7
- Hitung d, invers modular dari e modulo φ(n):
d × e ≡ 1 mod 60 → d × 7 ≡ 1 mod 60
Uji d: 7 × 43 = 301 → 301 mod 60 = 1 ✅
Jadi d = 43
- Kunci publik: (n, e) = (77, 7)
- Kunci privat: (n, d) = (77, 43)
3. Contoh Soal Enkripsi RSA
Gunakan kunci publik (77, 7) untuk mengenkripsi pesan m = 20.
Langkah Penyelesaian:
Ciphertext c = m^e mod n = 20^7 mod 77
Langkah perhitungan modular:
- 20^2 mod 77 = 400 mod 77 → 400 − 77 × 5 = 25
- 20^4 = (20^2)^2 → 25^2 = 625 → 625 mod 77 = 625 − 77 × 8 = 9
- 20^7 = 20^4 × 20^2 × 20^1 = 9 × 25 × 20
Hitung bertahap:
- 9 × 25 = 225 → 225 mod 77 = 225 − 77 × 2 = 71
- 71 × 20 = 1420 → 1420 − 77 × 18 = 1420 − 1386 = 34
Jadi ciphertext c = 34 ✅
4. Contoh Soal Dekripsi RSA
Gunakan ciphertext c = 34 dan kunci privat (77, 43) untuk mendapatkan pesan asli.
Langkah Penyelesaian:
m = c^d mod n = 34^43 mod 77
Gunakan metode pangkat modular bertahap:
- Representasikan 43 dalam biner: 43 = 32 + 8 + 2 + 1 → 101011₂
- Hitung 34^1, 34^2, 34^4, 34^8, 34^16, 34^32 mod 77:
- 34^1 = 34
- 34^2 = 1156 → 1156 − 77 × 15 = 1156 − 1155 = 1
- 34^4 = 1^2 = 1
- 34^8 = 1^2 = 1
- 34^16 = 1
- 34^32 = 1
Gabungkan pangkat biner: 32 + 8 + 2 + 1 → 1 × 1 × 1 × 34 = 34
Jadi pesan asli m = 20 ✅
5. Contoh Soal Menentukan Kunci Publik dari Kunci Privat
Jika diketahui kunci privat (n = 77, d = 43) dan bilangan prima p = 7, q = 11, tentukan kunci publik.
Penyelesaian:
- Hitung totien Euler: φ(n) = (p − 1)(q − 1) = 6 × 10 = 60
- Tentukan e dengan persamaan d × e ≡ 1 mod φ(n) → 43 × e ≡ 1 mod 60
- Coba e = 7 → 43 × 7 = 301 → 301 mod 60 = 1 ✅
Jadi kunci publik: (77, 7)
6. Contoh Soal Enkripsi Pesan Lebih Besar
Pesan m = 33, kunci publik (n = 77, e = 7). Tentukan ciphertext.
Penyelesaian:
c = m^e mod n = 33^7 mod 77
Langkah modular:
- 33^2 = 1089 → 1089 − 77 × 14 = 11
- 33^4 = 11^2 = 121 → 121 − 77 = 44
- 33^7 = 33^4 × 33^2 × 33^1 = 44 × 11 × 33
Hitung bertahap:
- 44 × 11 = 484 → 484 − 77 × 6 = 22
- 22 × 33 = 726 → 726 − 77 × 9 = 33
Jadi ciphertext c = 33 ✅
7. Contoh Soal Dekripsi Pesan Lebih Besar
Gunakan ciphertext c = 33 dan kunci privat (77, 43) untuk mendapatkan pesan asli.
Langkah Penyelesaian:
m = c^d mod n = 33^43 mod 77
Metode pangkat modular bertahap (biner) akan menunjukkan m = 33
8. Tips Belajar RSA Secara Efektif
- Mulailah dengan bilangan prima kecil agar mudah dihitung manual.
- Pahami metode pangkat modular untuk menghitung eksponen besar.
- Latihan soal step by step agar terbiasa dengan proses enkripsi dan dekripsi.
- Gunakan tabel faktorisasi atau kalkulator modular untuk menghitung invers modular.
- Pelajari teori bilangan dasar seperti bilangan prima, faktorisasi, dan modulo.
9. Manfaat Menguasai Algoritma RSA
- Memahami prinsip dasar keamanan data digital.
- Dapat mengenkripsi dan mendekripsi pesan secara aman.
- Menjadi bekal untuk memahami kriptografi modern dan keamanan jaringan.
- Membantu mempersiapkan ujian atau latihan soal mata kuliah keamanan informasi.
- Melatih kemampuan analisis matematis dan logika berpikir.
10. Kesimpulan
Panduan contoh soal algoritma RSA dan proses enkripsi–dekripsi step by step ini memberikan pemahaman praktis bagi siswa, mahasiswa, dan profesional yang ingin belajar kriptografi. Dengan latihan soal, pemahaman konsep, dan metode modular step by step, pembaca dapat menyelesaikan soal RSA dengan mudah dan memahami prinsip keamanan data digital.
Menguasai RSA tidak hanya penting untuk nilai akademik, tetapi juga sebagai keterampilan dasar di dunia teknologi informasi dan keamanan data. Latihan rutin dan pemahaman langkah-langkah RSA akan membuat pembaca percaya diri dalam menghadapi soal-soal kriptografi dan praktik keamanan data.
Penulis:kiara salsabilla


Post Comment