Mengenal Algoritma RSA secara sederhana

Puji Rahmadiyanto
3 min readAug 31, 2023

--

Ketika kita berbicara tentang dunia digital yang semakin terkoneksi, keamanan informasi menjadi prioritas utama. Salah satu cara utama untuk melindungi data sensitif adalah dengan menggunakan algoritma RSA. Meskipun terdengar kompleks, kita dapat memahaminya dengan cukup mudah.

Apa itu Algoritma RSA?

RSA adalah singkatan dari Rivest-Shamir-Adleman, yang merupakan nama-nama penemu algoritma ini. Ini adalah algoritma kriptografi kunci publik (public-key cryptography ) yang sangat aman dan digunakan secara luas di seluruh dunia. RSA bekerja dengan cara mengamankan pesan atau data dengan mengenkripsinya menggunakan kunci publik, yang bisa diberikan kepada siapa saja, tetapi hanya bisa didekripsi dengan kunci pribadi yang hanya dimiliki oleh penerima pesan atau juga bisa sebaliknya.

https://sectigostore.com/blog/wp-content/uploads/2020/06/how-rsa-works.png
https://sectigostore.com/blog/wp-content/uploads/2020/06/how-rsa-works.png

Bagaimana RSA Bekerja?

secara sederhana pembuatan public key dan private key bekerja dengan 2 bilangan prima

misalkan kita bisa ambil 2 bilangan prima p = 3 dan q = 7

mari kita cari Modulus N dengan persamaan N = p*q dan Hitung Totient (φ) dari n dengan persamaan (φ)(n) = (p-1)*(q-1) atau r = (p-1)*(q-1)

p = 3
q = 7
=========
N = p * q
N = 3*7
N = 21
==========
r = (p-1)*(q-1)
r = (3-7)*(7-1)
r = 12

Langkah berikutnya mencari bilangan dengan kriteria 1 mod r atau bilangan dengan sisa hasil bagi 12 adalah 1

berikut kandidat bilangan yang memenuhi kriteria 1 mod r di atas

[ 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181
193 205 217 229 241 253 265 277 289 301 313 325 337
349 361 ]

dari kandidat bilangan diatas bisa kalian cari bilangan mana yang merupakan bilangan prima faktorial. Karena disini saya sudah menghitungnya, 85 ,133 dan masih ada lagi yang memenuhi faktorial bilangan prima

kita pilih 85 saja sebagai contoh , 85 memiliki bilangan faktorial 5 * 17
sekarang kita memiliki pasangan kunci private dan kunci public
yaitu (21,5) dan (21, 17)

      e   = 5
d = 17
N = 21
r = 12
e*d = 85
e*d mod r = 1

private key = (21,5)
public key = (21,17)

mari kita coba untuk mengkrispsi sederhana dengan kunci private dan me-decrypt menggunakan kunci public

Engkripsi ini menggunakan bilangan kurang dari N atau 21 sebagai contoh kita ambil angka 4

Cipher = (Msg)^e mod N

4⁵ mod 21 = 16
maka encrypt dari bilangan 4 dengan kunci private (21,5) yang adalah 16

Dekripsi menggunakan persamaan
Msg = (Cipher)^d mod N
16¹⁷ Mod 21 = 4
maka hasil decrypt dari bilangan 16 dengan kunci public (21,17) adalah 4

kita juga bisa melihat bilangan apa saja yang ada di dalam pasangan kunci RSA256 dengan perintah

openssl rsa -in private_key.pem -text -noout

terimakasih ……

--

--