• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA - Analisis Kinerja Algoritma Rabin dan Rivest Shamir Adleman ( RSA ) pada Kriptografi

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II TINJAUAN PUSTAKA - Analisis Kinerja Algoritma Rabin dan Rivest Shamir Adleman ( RSA ) pada Kriptografi"

Copied!
14
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

2.1 Kriptografi

Kriptografi atau Cryptography berasal dari kata kryptos yang artinya tersembunyi dan grafia yang artinya sesuatu yang tertulis (bahasa Yunani) sehingga kriptografi dapat juga disebut sebagai sesuatu yang tertulis secara rahasia(tersembunyi).

Cryptography adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek-aspek pada keamanan informasi misalnya kerahasiaan, integritas data, otentikasi pengirim / penerima data, dan otentikasi data. Dengan

pengembangan bidang cryptography, pembagian antara apa yang termasuk cryptography dan apa yang tidak telah menjadi kabur. Dewasa ini, cryptography dapat dianggap sebagai perpaduan antara studi teknik dan aplikasi yang tergantung kepada keberadaan masalah – masalah sulit.

Bagi kebanyakan orang, cryptography lebih diutamakan dalam menjaga komunikasi agar tetap rahasia. Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap komunikasi yang sensitif telah menjadi penekanan kriptografi selama ini. Akan tetapi hal tersebut hanyalah sebagian dari penerapan kriptografi dewasa ini.

2.2 Tujuan Kriptografi

Kriptografi merupakan suatu ilmu mengenai teknik matematis yang ditujukan pada aspek pengamanan data yang meliputi tingkat kepercayaan terhadap data tersebut, integritas data, dan otentifikasi terhadap keaslian data. Untuk mencapai ini, perlu ditetapkan suatu tujuan sebagai titik tolak dalam pengembangan ilmu kriptografi itu sendiri. Menurut Rhee, tujuan dari kriptografi dapat memenuhi satu atau lebih dari hal-hal berikut ini:

1. Melakukan proteksi terhadap sistem komputer yang khusus ditujukan untuk pemrosesan dan penyimpanan data.

(2)

3. Melakukan pencegahan terhadap tindakan yang tidak mendapat otoritas untuk memodifikasi data ataupun informasi pada saluran terbuka.

Sejalan dengan penjabaran dari Man Young Rhee, Menezes menjelaskan tujuan dari kriptografi sebagai berikut:

a. Confidentiality.

Menjaga muatan informasi dari campur tangan pihak-pihak lain, selain yang memiliki otoritas.

b. Data Integrity.

Meyakinkan tidak terjadinya pengubahan data oleh pihak yang tidak memiliki otoritas. Untuk meyakinkan integritas dari suatu data, harus dapat dilakukan pendeteksian apakah data tersebut telah mengalami manipulasi. Manipulasi data meliputi penyisipan, penghapusan, dan pensubstitusian.

c. Authentication.

Fungsi untuk pemberian identifikasi. Fungsi ini diberikan baik kepada pengirim maupun kepada penerima informasi itu sendiri. Kedua belah pihak yang ingin melakukan komunikasi sebaiknya dapat saling melakukan identifikasi. Informasi yang dikirimkan sebaiknya dapat dipastikan sumbernya, keasliannya, muatannya, waktu

pembuatannya, dan lain-lain. d. Non-Repudiation.

Mencegah suatu pihak yang menyangkal telah melakukan pengiriman pesan ataupun informasi.

2.3 Teknik Dalam Cryptography

Berdasarkan jumlah kunci yang digunakan, ada dua jenis sistem cryptography yaitu sistem cryptography simetris dan sistem cryptography asimetris.

2.3.1. Sistem Cryptography Simetris

(3)

kunci

enkripsi dekripsi

Gambar 2.1. Model Sederhana Sistem Cryptography Simetris

Keamanan dari enkripsi simetris bergantung pada beberapa faktor. Pertama, algoritma enkripsi harus cukup kuat sehingga tidaklah praktis untuk mendekripsi suatu pesan hanya dengan memiliki ciphertext saja.

2.3.2. Sistem Cryptography Asimetris

Sistem cryptography asimetris biasanya lebih dikenal dengan cryptography kunci-publik (public-key cryptography).ide cryptography asimetris ini pertama kali dimunculkan oleh whitfield diffie dan martin hellman pada tahun 1976. Diffie dan hellman mempostulatkan sistem ini tanpa menunjukkan algoritmanya.

kunci publik kunci pribadi

penerima penerima

enkripsi dekripsi

Gambar 2.2. Model Sederhana Sistem Cryptography Asimetris.

2.4 Aritmatika Modulo

Aritmatika modulo merupakan sisa hasil pembagian 2 (dua) bilangan. Operator yang digunakan dalam aritmatika modulo adalah mod. Misalkan a adalah bilangan bulat dibagi dengan m adalah bilangan bulat > 0 , maka akan menghasilkan sisa bagi r dengan q adalah hasil bagi. Sehingga dapat dinotasikan sebagai berikut :

a mod m = r sedemikian sehingga a = mq + r, dengan 0 r < m

plaintext ciphertext plaintext

(4)

Contoh :

35 mod 8 = 3, dimana 35 = (4*8) + 3

2.5 Greatest Common Divisor (GCD)

Greatest common divisor (GCD) merupakan bilangan bulat terbesar yang merupakan pembagi yang sama dari dua bilangan bulat. Misalkan a dan b adalah 2 (dua) bilangan bulat yang tidak nol. Greatest common divisor (GCD) dari a dan b adalah bilangan bulat terbesar c sedemikian sehingga c|a dan c|b. Greatest common divisor (GCD) dari a dan b dapat dinotasikan dengan gcd(a,b).

Contoh :

GCD(60,45) adalah : 60 mod 45 = 15 30 mod 15 = 0

Karena telah menghasilkan sisa pembagian sama dengan 0, maka proses berakhir dan didapatlah GCD(60,45) = 15.

2.6 Bilangan Prima

Bilangan prima adalah bilangan bulat positif a, dimana a ≥ 2 hanya dapat dibagi dengan 1 dan bilangan itu sendiri. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Contoh bilangan prima adalah 2, 3, 5, 7,

11, 13, 17, ….

Untuk menguji apakah n merupakan bilangan prima atau bukan, kita cukup membagi n dengan sejumlah bilangan prima, dengan syarat bilangan prima ≤ √n. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n bukan bilangan prima, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima.

Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu bilangan bulatyaitu Rabin Miller, Pilih nilai p sebarang, lakukan perhitungan b dengan nilai b adalah nilai jumlah perkalian 2 dibagi (p-1) kemudian hitung nilai m dengan rumus:

p = 1 + 2 b* m

(5)

3. jika = - 1 atau jika z = p -1 maka p valid akan kemungkinan prima 4. jika j > 0 dan z = 1 maka p bukan prima

5. set j = j + 1, jika j < b dan z p -1, set z = z2 mod p dan lakukan proses 4 jika z = p-1, maka p valid kemungkinan prima

6. jika j=b dan z p-1 maka p bukan prima

2.7 Relatif Prima

Dua bilangan bulat a dan b dikatakan relatif prima jika GCD(a,b) = 1. Bilangan-bilangan a1, a2, …, an adalah relatif prima berpasangan (pairwise relatively prime) jika GCD(ai, aj) = 1 untuk 1 ≤ i < j n.

Dengan demikian, sekumpulan bilangan bisa ditunjukkan apakah relatif prima atau tidak dengan mengevaluasi GCD dari semua pasangan bilangan yang mungkin. Jika GCD pasangan-pasangan tersebut semuanya bernilai 1, maka syarat pairwise relatively prime dipenuhi. Sebaliknya, jika salah satu GCD dari pasangan bilangan tersebut tidak sama dengan 1, maka kumpulan bilangan tersebut bukan pairwise relatively prime. Dan 2 (dua) bilangan prima pasti adalah pairwise relatively prime. Contoh :

GCD(27,15) adalah :

27 mod 15 = 12 15 mod 12 = 3 12 mod 3 = 0

Bilangan-bilangan 27 dan 15 adalah bukan pairwise relatively prime karena GCD(27,15) = 3.

GCD(11,7) adalah :

11 mod 7 = 4 7 mod 4 = 3 4 mod 3 = 1 3 mod 1 = 0

(6)

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 r0 dan r1 , dengan r0 ≥ r1, kemudian dihitung menggunakan algoritma pembagian :

(7)

Dari pernyataan tersebut, dapat diperoleh :

GCD(r0 , r1) = GCD(r1 , r2) = ……….. = GCD(rn-1,rn) = GCD(rn,0) = rn (2.1) Contoh :

GCD(40,24) adalah : 40 = 1*24 + (40-24) 40 = 1*24 + 16 24 = 1*16 + (24 – 16) 24 = 1*16 + 8

16 = 2*8

Jadi, GCD(40,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 r0*x + r1*y = GCD(r0,r1) dengan r0 , r1 merupakan bilangan bulat positif serta x dan y merupakan bilangan bulat. Dua bilangan bulat r0 dan r1 yang merupakan pairwise relatively prime dapat menemukan bilangan bulat x dan y sedemikian sehingga r0*x + r1*y = 1. Dengan menggunakan algoritma Euclid dan rumus :

tj = tj-2 - qj–1 * tj-1 , j ≥ 2 (2.2)

dengan tj adalah suatu barisan bilangan t1 , t2 , t3 ,…, tn dan qj diperoleh dari perhitungan GCD(r0 , r1 ) = 1 dengan r1-1 = tn. Sehingga diperoleh :

(8)

Contoh : 11x + 23y = 1

Hasil Bagi

Sisa

Bagi Subsitusi Penggabungan

- 11 - 11 = 11*1 + 23*0

- 23 - 23 = 11*0 + 23*1

0 11 11=(11*1+23*0) – (11*0 + 23*1)*0 11 = 11*1 +23*0

2 1 1 = (11*0 + 23*1) – (11*1 + 23*0)*2 1 = 11*(-2) + 23*1 11 0 Karena sisa bagi mencapai 0, maka proses berakhir

Hasil akhir yang diperoleh adalah 1 = 11*(-2) + 23*1, 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.

(9)

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 = m2 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 :

Yp*p + Yq * q = 1

(10)

dengan mp adalah akar kuadrat dari ciphertext terhadap p dan mq adalah akar kuadrat dari ciphertext terhadap q.

3. Hitung nilai r, s, t dan u dengan menggunakan Chinese Remainder Theorem, dengan persamaan berikut :

r = (Yp*p* mq + Yq * q* mp ) mod n s = (Yp*p* mq - Yq * q* mp ) mod n t = ( -Yp*p* mq + Yq * q* mp ) mod n u = ( -Yp*p* 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 = (k*n)+r S = (k*n)+s T = (k*n)+t U = (k*n)+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 2(dua) bagian yang sama.

2.11Rivest Shamir Adleman ( RSA )

Dari sekian banyak algoritma kriptografi kunci-publik yang pernah dibuat, algoritma yang paling popular adalah algoritma RSA. Keamanan algoritma RSA terletak pada

(11)

dilakukan untuk memperoleh kunci privat. Selama pemfaktoran bilangan besar menjadi factor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.

Algoritma RSA memiliki besaran-besaran sebagai berikut : 1. p dan q bilangan prima (rahasia)

2. n = p x q (tidak rahasia)

3. (n) = (p-1)(q-1) (rahasia)

4. e ( kunci enkripsi ) (tidak rahasia) 5. d ( kunci dekripsi ) ( rahasia ) 6. m ( plainteks ) ( rahasia ) 7. c (cpherteks) ( tidak rahasia )

RSA adalah suatu blok sandi rahasia tempat teks asli dan teks rahasia merupakan bilangan bulat antara 0 dan n-1 untuk beberapa n. Enkripsi dan dekripsi berasal dari beberapa bentuk berikut ini, untuk beberapa blok teks asli M dan blok teks rahasia C.

C = M‘ mod n

M = Cd mod n = (Me)d mod n = Med od n

Blok pengirim meupun penerima harus mengetahui nilai n dan e, dan hanya penerima saja yang mengetahui nilai d. ini merupakan algoritma enkripsi kunci umum dengan kunci umum sebesar KU = {e,n} dan kunci khusus sebesar KR = {d,n}. Agar algoritma ini bisa memenyhi syarat sebagai enkripsi kunci umum yang baik, maka harus memenuhi ketentuan-ketentuan seperti berikut :

1. kemungkinan menemukan nilai e,d,n sedemikian rupa sehingga Med = M mod n untuk semua M < n

2. relative mudah menghitung Me dan Cd untuk semua nilai M < n 3. tidak mudah menghitung menentukan d, yang diberi e dan n.

dua ketentuan pertama bisa terpenuhi dengan mudah. Sedangkan ketentuan ketiga baru bisa terpenuhi untuk nilai e dan n yang besar.

Pembangkitan Kunci

1) Memilih dua bilangan prima p, q . bilangan ini harus cukup besar (minimal 100 digit)

(12)

(sebaiknya p ≠ q, sebab jika p = q maka n = p2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n)

3) Menghitung φ(n) = (p-1)(q-1).

4) Memilih bilangan bulat e dengan algoritma Euclid yaitu gcd(φ(n),e)=1; dimana 1< e < φ(n).

5) Menghitung d dengan rumus d = e-1 mod φ(n) Atau e . d  1 (mod φ(n)).

Perhatikan bahwa e . d  1 (mod φ(n)) ekivalen dengan e . d = 1 + k φ(n),

sehingga secara sederhana d dapat dihitung dengan :

d = ( 1 + k . φ(n)) / e

6) Kunci umum (kunci public) adalah KU = {e,n} 7) Kunci pribadi (kunci privat adalah KR = {d,n}

Catatan : n tidak bersifat rahasia, sebab ia diperlukan pada perhitungan

enkripsi/dekripsi

Enkripsi

B mengenkripsi message M untuk A, yang harus dilakukan B : 1) Teks asli dengan syarat M < n

2) Ambil kunci public A yang otentik (n,e)

3) Representasikan message sebagai integer M dalam interval [0,n-1] 4) Teks Rahasia didapat dari C = Me (mod n)

5) Kirim C ke A

Dekripsi

Untuk mendekripsi, A melakukan

1) Gunakan kunci pribadi d untuk menghasilkan M 2) Teks rahasia adalah C

(13)

2.12 Riset Terkait

Dalam melakukan penelitian, penulis menggunakan beberapa riset terkait yang dijadikan acuan yang membuat penelitian berjalan lancar. Adapun riset – riset terkait tersebut adalah :

Tabel 2.1 Riset Terkait

No. Judul riset Nama peneliti dan tahun

Algoritma/metode

yang digunakan Hasil penelitian

1 Pemakaian kriptografi kunci publik untuk proses enkripsi dan tandatangan digital pada dokumen e-memberikan Keamanan otentikasi dokumen e-mail,Untuk menghindari jebolnya atau Tembusnya keamanan yang diterapkan email Standar seperti pgp.

2 Implementasi algoritma kunci public pada algoritma rsa

Hersatoto listiyono, 2009

Algoritma rsa Dengan algoritma rsa proses Dekripsinya sangat sulit, walaupun Menggunakan supercomputer dan ribuan Tahun, tidak dapat mendekripsi pesan tanpa Mempunyai kunci private.

3 Aplikasi kriptografi untuk pengamanan

Pada implementasi tandatangan

digital dengan metode hybrid :

Biometrik tandatangan dan dsa terpenuhi kebutuhan keamanan edokumen.Dalam hal kerahasiaan (confidentiality) Dan keutuhan atau keotentikan (integrity) e-dokumen yang Ditransmisi, dijamin dengan hash sha-1 dari e-dokumen

Tersebut. 4 Analisis kriptografi

menggunakan algoritma

Vigenere cipher dengan mode operasi

Cipher block chaining

(cbc)

Penggabungan algoritma vigenere chiper dan mode operasi cbc ini akan menghasilkan

Suatu metode baru yang peneliti sebut vigenere chiper +

5 Modul pembelajaran

enkripsi dengan

Dapat memberikan penjelasan mengenai bagaimana jalannya suatu proses dengan menggunakan algoritma DES sehingga dapat lebih mudah memahami.

2.13 Persamaan Dengan Riset Yang Lain

Adapun persamaan penelitian ini dengan penelitian sebelumnya adalah sama – sama menggunakan algoritma kunci public salah satunya algoritma kriptografi Rivest Shamir Adleman ( RSA ) untuk proses pengamanan data.

2.14 Perbedaan Dengan Riset Yang Lain

Dalam Penelitian ini, dilakukan perbandingan kinerja antara algoritma Rabin dan

(14)

memprosesan data.Sehingga dari aplikasi ini diketahui kelebihan dan kekurangan dari masing – masing algoritma .

2.15 Kontribusi Riset

Gambar

Gambar 2.2. Model Sederhana Sistem Cryptography Asimetris.
Tabel 2.1 Riset Terkait

Referensi

Dokumen terkait

Satriadi dan Widada (2004) menambahkan bahwa sumber-sumber material tersuspensi yang berasal dari aliran sungai berupa hasil pelapukan dari bahan organik, material

The incorporation of Epoxidized Natural Rubber also enhanced the rubber-filler interaction and tensile properties of the silica-filled Styrene Butadiene. Rubber

Hasil penelitian setelah dilakukan mandi dengan air hangat terhadap kualitas tidur lansia pada kelompok eksperimen, tingkat kualitas tidur lansia terlihat menurun,

Dengan telah diketahuinya hukum penadahan menurut fikih islam dan undang-undang hendaknya setiap orang terkhusus kaum muslimin lebih berhati-hati dalam membeli

Perubahan aksesibilitas petani terhadap sumber teknologi, lokasi usahtani padi, jalan raya dan pasar input akan mempengaruhi peluang petani dalam mengadopsi

Dari definisi diatas, dapat disimpulkan bahwa kelompok adalah suatu unit yang terdiri atas sekelompok atau sekumpulan dua orang atau lebih yang satu sama lain

 Buat partner saya Vitis Vinifera yang selalu membuat saya bersemangat akan laporan akhir ini, terima kasih untuk kerja samannya selama ini, maaf ya kalau saya terlalu

Mekanisme perlindungan dan tanggungjawab yang diberikan pihak bank terhadap nasabah yang mengalami masalah dalam pengguna internet banking, 3 macam bentuk