Algoritma Euclid Extended Euclidean Algoritma Rabin Public Key

2.8 Algoritma Euclid

Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar dari 2 dua bilangan bulat. Algoritma ini didasarkan pada pernyataan berikut ini : Dua bilangan bilangan bulat positif r dan r 1 , dengan r ≥ r 1 , kemudian dihitung menggunakan algoritma pembagian : r = q 1 r 1 + r 2 , 0 r 2 r 1 r 1 = q 2 r 2 + r 3 , 0 r 3 r 2 r n-2 = q n-1 r n-1 + r n 0 r n r n-1 r n-1 = q n r n Universitas Sumatera Utara Dari pernyataan tersebut, dapat diperoleh : GCDr , r 1 = GCDr 1 , r 2 = ……….. = GCDr n-1 ,r n = GCDr n ,0 = r n 2.1 Contoh : GCD40,24 adalah : 40 = 124 + 40-24 40 = 124 + 16 24 = 116 + 24 – 16 24 = 116 + 8 16 = 28 Jadi, GCD40,24=8.

2.9 Extended Euclidean

Algoritma Extended Euclidean ini merupakan perluasan dari algoritma Euclide yang berfungsi untuk menentukan nilai x dan y sedemikian sehingga r x + r 1 y = GCDr ,r 1 dengan r , r 1 merupakan bilangan bulat positif serta x dan y merupakan bilangan bulat. Dua bilangan bulat r dan r 1 yang merupakan pairwise relatively prime dapat menemukan bilangan bulat x dan y sedemikian sehingga r x + r 1 y = 1. Dengan menggunakan algoritma Euclid dan rumus : tj = t j-2 - q j –1 t j-1 , j ≥ 2 2.2 dengan tj adalah suatu barisan bilangan t 1 , t 2 , t 3 ,…, t n dan q j diperoleh dari perhitungan GCDr , r 1 = 1 dengan r 1-1 = t n . Sehingga diperoleh : r n = t n r 1 atau 1 = t n r 1 2.3 Universitas Sumatera Utara Contoh : 11x + 23y = 1 Hasil Bagi Sisa Bagi Subsitusi Penggabungan - 11 - 11 = 111 + 230 - 23 - 23 = 110 + 231 11 11=111+230 – 110 + 2310 11 = 111 +230 2 1 1 = 110 + 231 – 111 + 2302 1 = 11-2 + 231 11 Karena sisa bagi mencapai 0, maka proses berakhir Hasil akhir yang diperoleh adalah 1 = 11-2 + 231, sehingga didapat nilai x = -2 dan y = 1.

2.10 Algoritma Rabin Public Key

Algoritma Rabin Public Key pertama kali diperkenalkan pada tahun 1979 oleh Michael O. Rabin. Algoritma Rabin Public Key adalah salah satu sistem kriptografi asimetris yang menggunakan kunci publik dan kunci privat. Algoritma Rabin Public Key merupakan varian algoritma Rivest Shamir Adleman RSA. Fungsi dasar algoritmanya mirip dengan fungsi dasar dari algoritma RSA. Hanya saja komputasinya lebih sederhana dibandingkan algoritma RSA.  Proses Pembangkitan Kunci Pada algoritma Rabin Public Key, proses pembangkitan kuncinya dilakukan sebagai berikut : 1. Pilih 2 dua buah bilangan prima besar sembarang yang saling berbeda p dan q, dimana p ≡ q ≡ 3 mod 4. Atau dengan kata lain jika p dan q di modulo 4 akan menghasilkan 3. 2. Hitung nilai n yang merupakan kunci publik dengan rumus sebagai berikut: n = p q dengan p dan q adalah kunci privat. Untuk mengenkripsi pesan hanya dibutuhkan kunci publik n, sedangkan untuk dekripsi, dibutuhkan bilangan p dan q sebagai kunci privat.  Proses Enkripsi Universitas Sumatera Utara Proses enkripsi pada algoritma Rabin Public Key menggunakan kunci publik n. Pada proses dekripsi menggunakan Algoritma Rabin Public Key akan menghasilkan 4 empat buah kemungkinan plaintext. Oleh karena itu, diperlukan modifikasi dalam proses enkripsi dan dekripsi untuk menentukan plaintext yang sebenarnya. Berikut langkah –langkah proses enkripsi pesan rahasia menggunakan algoritma Rabin Public Key yang telah dimodifikasi adalah : 1. Ubah nilai plaintext m menjadi nilai biner, kemudian tambahkan dengan nilai biner m itu sendiri redundant information atau dengan kata lain plainteks digandakan. 2. Ubah hasil penggandaan nilai biner plaintext menjadi nilai desimalnya. 3. Hitung nilai k yang merupakan kongruen nilai desimal dari hasil penggandaan plaintext m terhadap kunci publik n dengan menggunakan rumus : Hitung nilai ciphertext c dengan menggunakan rumus : c = m 2 mod n dengan c adalah ciphertext, n adalah kunci publik, dan m adalah nilai desimal dari hasil penggandaan nilai biner plaintext.  Metode dekripsi Proses enkripsi pada algoritma Rabin Public Key menggunakan kunci privat p dan q. Berikut langkah –langkah proses dekripsi dengan menggunakan algoritma Rabin Public Key yang telah dimodifikasi: 1. Tentukan nilai Yp dan Yq yang merupakan pembagi GCD Greatest Common Divisor dari p dan q dengan menggunakan Algoritma Extended Euclidean. Karena GCD bilangan prima adalah 1, maka dapat ditulis sebagai berikut : Ypp + Yq q = 1 2. Hitunglah nilai akar kuadrat dari ciphertext terhadap p dan q dengan rumus: Universitas Sumatera Utara dengan m p adalah akar kuadrat dari ciphertext terhadap p dan m q adalah akar kuadrat dari ciphertext terhadap q. 3. Hitung nilai r, s, t dan u dengan menggunakan Chinese Remainder Theorem, dengan persamaan berikut : r = Ypp mq + Yq q mp mod n s = Ypp mq - Yq q mp mod n t = -Ypp mq + Yq q mp mod n u = -Ypp mq - Yq q mp mod n 4. Tambahkan r,s,t,u dengan kongruen nilai desimal hasil penggandaan plainteks k yang dikalikan dengan kunci publik n. R = kn+r S = kn+s T = kn+t U = kn+u 5. Ubahlah nilai desimal R,S,T,U ke dalam bentuk biner. Kemudian nilai biner R,S,T,U dibagi menjadi 2 dua bagian. Bandingkan kedua bagian tersebut. Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka didapatlah hasil dekripsi ciphertext c dengan mengubah bentuk biner salah satu bagian yang telah dibagi menjadi 2dua bagian yang sama.

2.11 Rivest Shamir Adleman RSA