Jumat, 07 Desember 2012

Proses Enkripsi dan Dekripsi dengan Metode Kriptografi RSA

Sebelum mengenal lebih lanjut mengenai metode kriptografi RSA , marilah kita memulai dengan mengenal apa itu kriptografi ?

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 :
  1. Enkripsi dimana mempunyai arti melakukan penyandian pesan sehingga pesan tidak dapat terbaca oleh orang lain. dan bisa saja disebut sebagai chipertext
  2. Dekripsi dimana mempunyai arti menterjemahkan pesan yang sudah disandikan menjadi pesan yang dapat dibaca
  3. . dan bisa saja disebut sebagai plaintext
Dalam melakukan proses dekripsi dan enkripsi maka kita memerlukan kunci atau key untuk menyandikan pesan ataupun menterjemahkan pesan.Supaya lebih mudah maka saya akan menampilkan sebuah gambar proses enkripsi dan dekripsi secara sederhananya
 proses enkripsi dan dekripsi

Setelah mengenal konsep dari proses enkripsi dan dekripsi , maka kita akan lanjut dalam jenis - jenis kriptografi seperti :
  1. 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.
  2. 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
Selanjutnya, saya akan membahas mengenai Metode Kriptografi RSA. Metode Kriptografi RSA Metode RSA adalah Metode Kriptografi yang diciptakan oleh 3 peneliti dari MIT(Masschussets Institute of Technology) pada tahun 1976 yaitu Ron (R)ivest , Adi (S)hamir dan Leonard (A)dleman.

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
  1. Tentukan p dan q yang dimana p dam q adalah bilangan prima dan besar
  2. cari n dengan rumus p.q
  3. cari  Øn dengan rumus (p-1)(q-1)
  4. Cari  public key dengan rumus FPB(e,Øn) = 1 dimana e adalah public key
  5. 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)
Untuk lebih mudahnya maka saya akan memberikan contoh sederhana

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