Kriptografi adalah ilmu atau seni dalam menyandikan suatu pesan sehingga pesan tidak dapat terbaca oleh orang lain. Orang yang mempunyai pekerjaan dalam menyandikan pesan bisa disebut sebagai cryptograph dan orang yang berusaha untuk memecahkan sandi untuk kepentingan sendiri bisa disebut sebagai cryptonalyst.
Kriptografi mempunyai 2 konsep utama yaitu :
- Enkripsi dimana mempunyai arti melakukan penyandian pesan sehingga pesan tidak dapat terbaca oleh orang lain. dan bisa saja disebut sebagai chipertext
- Dekripsi dimana mempunyai arti menterjemahkan pesan yang sudah disandikan menjadi pesan yang dapat dibaca . dan bisa saja disebut sebagai plaintext
proses enkripsi dan dekripsi
Setelah mengenal konsep dari proses enkripsi dan dekripsi , maka kita akan lanjut dalam jenis - jenis kriptografi seperti :
- Kriptografi Simetris
Dimana proses dari enkripsi dan dekripsi hanya memakai 1 kunci saja.Berikut gambar dari kriptografi Simetris
Dari gambar tersebut bisa dilihat bahwa untuk melakukan proses enkripsi dan dekripsi hanya memerlukan satu kunci saja. - Kriptografi Asimetris
Dimana proses dari enkripsi dan dekripsi menggunakan 2 kunci yaitu public key untuk melakukan proses enkripsi dan private keyuntuk melakukan proses dekripsi.Berikut gambar mengenai kriptografi asimetris
Keamanan dari algoritma RSA ini adalah sulitnya menfaktorkan bilangan yang besar menjadi faktor - faktor prima.Penfaktoran bilangan dilakukan untuk memperoleh private key. Dan perlu diingat adalah bilangan - bilangan prima haruslah besar untuk meningkat keamanan dari proses enkripsi ataupun dekripsi.
Berikut Algoritma RSA untuk mendapatkan public key dan private key
- Tentukan p dan q yang dimana p dam q adalah bilangan prima dan besar
- cari n dengan rumus p.q
- cari Øn dengan rumus (p-1)(q-1)
-
Cari public key dengan rumus FPB(e,Øn) = 1 dimana e adalah public key
- cari Private key yang disimbolkan dengan huruf d dengan rumus 1 + (k * Øn )
e
yang dimana k adalah bilangan integer / bulat dari 1,...n dan hasil d haruslah bilangan bulat (non negatif atau decimal)
Misal A ingin mengirim pesan ke B dengan huruf "HARI INI" dimana A mengeset p = 47 dan q = 71. bagaimana proses enkripsinya ?
Jawab :
lakukan pembuatan kunci dengan algoritma RSA (key haruslah bilangan prima)
1. Set p = 47 dan q = 71
2. hitung n dengan rumus p . q dan hasilnya adalah 3337
3. Hitung Øn dengan rumus (p-1)(q-1) dan hasilnya adalah 3220
4 Cari public key dengan rumus FPB(e,Øn) = 1 dan hasil e adalah 79 yang dikarenakan
FPB(79,3220)
79 = 1 , 79 //79 hanya bisa dibagi oleh 1 dan 79
3220 = 1 , 2 , 10 ,...
Kalu dilihat jelas terdapat angka yang sama yaitu 1 ...karena itulah e yang dipilih adalah 79
5. cari private key dengan rumus 1 + (k * Øn )
e
yang dimana hasil d haruslah bilangan bulat, untuk mendapatkan hasil bilangan bulat maka k harus di set = 25 untuk menghasilkan d = 1019(bilangan bulat)
6. public key = 79 , private key = 1019
proses pembuatan kunci sudah selesai , sekarang saatnya untuk melakukan proses enkripsi dan dekripsi
Proses Enkripsi
Algoritma enkripsi RSA adalah
1.set m = "HARI INI"
H A R I <SPASI> I N I
72 65 82 73 32 73 78 73
proses pengubahan huruh ke angka caranya yaitu
Proses pengubahan huruf jadi angka dengan ASCII yaitu (lihat tabel ascii)
H = 4 (8) => 4.16^1 + 8.16^0 dan hasilnya = 72, dimana 8 didapat dari a=1 ,b=2,..
dimana 16 adalah bilangan hexadecimal a-f,0-9(16) dan angka 4 didapat dari tabel ASCII
2.Pecah m menjadi beberapa blok misal 6 blok dengan 3 digit
dan hasilnya menjadi
m1 = 726 , m2 = 582 , m3 = 733 , m4 = 273 , m5 = 787 , m6 = 003
(karena Cuma sisa 3 maka tambahkan 003 supaya jadi 3 digit).
3. Lakukan proses enkripsi dengan rumus
c = mi^e mod n yang berarti mi adalah m1 - m6 , dipangkatkan dengan e (public key) dan dikalikan mod n
Jadi hasilnya
c1 = 726^79 mod 3337 = 215 dan hitung sampai sampai c6. dan hasil enkripsi menjadi
c = 215 776 1743 933 1731 158 -> hasil yang sudah di enkripsi
Untuk proses Dekripsi sama saja dengan algoritma enkripsi dengan rumus c = mi^e mod n. tetapi yang membedakan adalah proses dekripsi dengan rumus m = ci^d mod n
berikut algoritma dekripsi RSA :
1. Set C = 215 776 1743 933 1731 158
2. pecah c menjadi 6 blok dan 3 digit sehingga mempunyai
c1 = 215 , c2 = 776 dan sampai c6
3.Lakukan proses dekripsi dengan rumus mi = ci^d mod n
m1 = 215^1019 mod 3337 = 726. lakukan sampai c6 dan hasil m yang didapat adalah
m = 7265827332737873
Note : rumus enkripsi dan dekripsi rumus sama hanya beda pangkatnya saja
enkripsi menggunakan e di pangkatnya
dekripsi menggunakan d di pangkatnya
Referensi :
– http://id.wikipedia.org/wiki/RSA diunduh tanggal 9 April 2011.
– Wicaksono, Prasetyo Andy. Studi Pemakaian Algoritma RSA dalam Proses Enkripsi dan Aplikasinya. Makalah0607-80.pdf diunduh tanggal 9 April 2011.
– Muhash. Algoritma RSA. 7757_Algoritma_RSA.pdf diunduh tanggal 18 Maret 2011.
More Artcle di sini
Verdy Yanto-200981020
Tidak ada komentar:
Posting Komentar