• Tidak ada hasil yang ditemukan

Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams"

Copied!
19
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

Bab II ini berisi tentang pembahasan teori-teori tentang kriptografi, Algoritma Enigma dan Rabin Williams.

2.1. Kriptografi

Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin, 2007).

Kriptografi adalah ilmu mengenai tekhnik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010).

2.1.1. Terminologi

Ketika seorang pengirim ingin mengirimkan suatu pesan kepada si penerima, dimana si pengirim ingin pesan yang disampaikannya tidak dapat dibaca oleh orang lain yang ingin melakukan penyadapan. Dalam kriptografi pesan asli biasa disebut Plaintext dan pesan yang disamarkan disebut Ciphertext. Proses menyamarkan pesan sedemikian rupa untuk menyembunyikan substansinya disebut enkripsi. Sebuah pesan yang dienkripsi disebut Ciphertext. Proses untuk mengubah Ciphertext kembali ke Plaintext adalah dekripsi (Mollin,2007).

Pada standar ISO 7498-2 menggunakan istilah encipher untuk proses enkripsi dan decipher untuk proses dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan secara umum pada Gambar 2.1.

(2)

matematika yang meliputi kriptografi dan kriptanalisis adalah kriptologi dan praktisinya disebut kriptologis (Munir, 2006).

Gambar 2.1. Skema Proses enkripsi dan dekripsi (Schneier, 1996)

2.1.2. Komponen Kriptografi

Dalam kriptografi terdapat beberapa istilah penting antara lain : 1. Pesan, Plaintext, dan Ciphertext

Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah Plaintext. Pesan dapat berupa data atau informasi yang dikirim atau yang disimpan dalam media penyimpanan. Pesan yang tersimpan bisa berbentuk teks, citra (image), suara/bunyi (audio) dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain maka, pesan dapat disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut Ciphertext.

2. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitasnya yang lain. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya.

3. Enkripsi dan Dekripsi

Proses menyandikan pesan asli (Plaintext) menjadi pesan tersandi (Ciphertext) disebut enkripsi (encryption) sedangkan proses untuk mengembalikan pesan tersandi (Ciphertext) menjadi Plaintext semula dinamakan dekripsi (decryption).

4. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.

Enkripsi Dekripsi

(3)

Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan Ciphertext menjadi Plaintext tanpa mengetahui kunci yang digunakan. Kunci (key) merupakan parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan.

5. Sistem kriptografi

Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi (cryptosystem) terdiri dari algoritma kriptografi, semua Plaintext dan Ciphertext yang mungkin dan kunci.

6. Penyadap (eavesdropper)

Penyadap merupakan orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptogafi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan Ciphertext. Nama lain penyadap : enemy, adversary, intruder, interceptor, bad guy.

7. Kriptanalisis

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis (Munir, 2006). kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan Ciphertext menjadi Plaintext tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis.

2.1.3. Tujuan Kriptografi

Kriptografi bertujuan untuk memberikan layanan keamanan (Paar & Pelzl, 2010) sebagai berikut:

1. Kerahasian (Confidentiality)

Informasi dirahasiakan dari semua pihak yang tidak berwenang. 2. Keutuhan Data (Integrity)

(4)

3. Autentikasi (Anthentication)

Kepastian terhadap identitas setiap entitas yang terlibat dan keaslian sumber data. 4. Nirpenyangkalan

Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.

2.2. Jenis-Jenis Algoritma Kriptografi

Algoritma Kriptografi dibagi tiga berdasarkan kunci yang dipakai, yaitu algoritma simetri (menggunakan satu kunci untuk proses enkripsi dan dekripsi), algoritma asimetri (menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi), dan fungsi hash (Ariyus, 2008).

Karakteristik kriptografi dibagi dua berdasarkan tipe operasi yang dipakai untuk enkripsi dan dekripsi (teknik substitusi dan teknik permutasi) serta berdasarkan tipe pengolahan pesan (block cipher dan stream cipher) (Sadikin, 2012).

2.2.1. Algoritma Simetris

Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya (Wandani, 2012). Bila mengirim pesan dengan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci.

(5)

Gambar 2.2. Skema kriptografi simetris (Scheneier, 1996)

2.2.2. Algoritma Asimetris

Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan public key dan untuk dekripsinya menggunakan private key. Public key dan private key harus saling berpasangan secara matematis. Dengan memberikan public key, pembuat kunci berhak memberikan dan mendapatkan public key agar pesan aman dan hanya bisa dibaca oleh si pembuat kunci. Dalam kriptografi kunci asimetri, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya (Harahap, 2014). Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia. Skema kriptografi asimetris dapat dilihat pada Gambar 2.3.

Gambar 2.3. Kriptografi asimetris (Wandani, 2012)

2.3. Sandi Enigma

Enigma merupakan mesin kripto berbasis rotor yang di gunakan untuk mengenkripsi dan mendekripsi pesan rahasia. Mesin Enigma di patenkan oleh seorang insinyur Jerman yang bernama Arthur Scherbius pada tahun 1918, yang kemudian di gunakan oleh militer dan pemerintah Jerman Nazi sebelum dan selamaa perang dunia ke II. Pada awalnya Nazi menganggap bahwa Enigma adalan mesin pencari kriptografi teraman di dunia. Namun pihak sekutu terus berusaha keras untuk memecahkan kode cipher yang di hasilkan Enigma. Mesin Enigma terdiri atas 7

Algoritma Enkripsi

Algoritma Dekripsi Kunci Rahasia

(6)

komponen utama, yaitu plugboard, rotor dan kotak Enigma. Enkripsi yang di lakukan Enigma sebenarnya adalah substitusi (bijeksi), dimana sebuah huruf di gantikan dengan tepat sebuah huruf juga, hanya saja substitusi di lakukan beberapa kali. Dan walau hanya dengan substitusi, sebuah pesan akan sulit sekali di dekripsi jika tidak dengan alat yang sama, dengan pengaturan posisi yang sama, tipe substitusi yang sama, dan kode kunci yang sama (Lawi, 2014).

2.4 Gambar Block Diagram Enigma

2.3.1 Mekanisme dan Prinsip Dasar Algoritma Enigma

Mekanisme yang di gunakan Algoritma Enigma untuk enkripsi dan dekripsi pesan sangat rumit. Enigma menggunakan sistem rotor untuk membentuk huruf Ciphertext yang berubah-ubah. Setiap rotor mempunyai 26 pin masukan dan keluaran untuk 26 huruf ( huruf alphabet A - Z). Apabila algoritma yang di gunakan menggunakan 3 rotor, berarti terdapat 26 x 26 x 26 = 17576 kemungkuninan huruf Ciphertext sebagai pengganti huruf Plaintext sebelum terjadi perulangan urutan Ciphertext (Famela, 2014).

Prinsip dasar dari Algoritma Enigma disini dapat diilustrasikan dengan menggunakan 3 buah rotor. Rotor paling kanan disebut Fast rotor karena setiap kali satu huruf selesai disubstitusi ia berputar sejauh satu huruf. Rotor kedua disebut medium rotor berputar satu huruf setelah Fast rotor selesai melakukan satu putaran penuh (26 huruf) . Dan rotor ketiga Slow rotor berputar satu huruf setelah medium rotor selesai melakukan satu putaran penuh (26 huruf). Berikut ilustrasi yang di perlihatkan dalam gambar di bawah ini.

Gambar 2.5 Cara kerja Mesin Enigma (Famela, 2014)

(7)

substitusi huruf yang berbeda yang nantinya mengimplementasikan cipher alphabet tunggal.

Proses substitusi dimulai dari rotor slow rotor, ketika huruf A di tekan sinyal elektrik di teruskan ke pin masukan 24, ke pin luaran 24. Kemudian pin luaran 24 ke pin masukan rotor medium rotor pada posisi yang sejajar yaitu pin 24, terus ke pin luaran 24. Kemudian pin luaran 24 ke pin masukan rotor fast rotor pada posisi yang sejajar yaitu pin 18, terus ke pin luaran 18, terus ke pin masukan 18. Pada posisi pin 18 huruf Ciphertext yang di hasilkan adalah huruf B. Jadi haruf A disubstitusikan oleh ketiga buah rotor ini menjadi huruf B.

Perhatikan setelah penekanan huruf A selesai, rotor ketiga berputar satu huruf ke bawah sehingga pin masukan dan pin keluaran mengalami perubahan. Setelah 26 huruf Plaintext, rotor kembali ke posisi awal dan sistem 3 rotor tersebut menghasilkan cipher substitusi alphabet-majemuk dengan periode 26. Posisi awal ketiga buah rotor dapat diubah sesuai keinginan dan posisi awal ini merupakan kunci enkripsi.

2.3.2 Komponen Enkripsi dan Dekripsi Enigma

Komponen utama Enigma yang berperan dalam enkripsi/dekripsi pesan adalah keyboard, plugboard, rotor, reflektor, papan lampu.

1. Keyboard

Keyboard memiliki tata letak QWERTZUI, tanpa nomor, spasi atau tombol lainnya. Menekan sebuah tombol akan membuka sinyal dari huruf yang di tekan dan secara mekanis di lanjutkan ke rotor 1 sampai 3.

2. Plugboard

Plugboard di Enigma ini terdiri dari satu panel listrik yang berisi 26 huruf alphabet beserta colokan di masing masing huruf tersebut. Plugboard atau panel steker di gunakan untuk menukar 2 huruf. Karena terdapat 26 huruf maka secara teoritis maksimum kabel yang di butuhkan sebanyak 13 kabel. Untuk tiap jumlah kabel yang di gunakan di mulai tanpa nomor sampai 13.

(8)

Sebuah rotor merupakan sebuah piringan yang terbuat dari karet yang keras atau bakelit dengan deretan kuningan yang berisi pin-pin yang menonjol yang berbentuk bundar. Di sisi satunya bersesuaian dengan deretan angka yang juga berbentuk bundar. Untuk menghindari cipher substitusi sederhana, beberapa rotor harus di putar berdasarkan penekanan sebuah kunci. Alat yang paling banyak di gunakan untuk mengimplementasikan pergerakan rotor tersebut adalah mekanisme rotor bergigi dan sebuah penggerak rotor tersebut memutar rotor sebanyak satu karakter ketika sebuah huruf di ketikan pada keyboard Enigma.

4. Reflektor

Komponen ini selain di gunakan untuk memastikan bahwa sebuah huruf tidak di kodekan terhadap dirinya sendiri, juga berguna untuk menjadikan mesin ini bersifat reversible, maksudnya apabila sebuah huruf di enkripsikan kembali, maka hasil enkripsi huruf tersebut adalah huruf semula. Reflektor memiliki 26 kontak rotor tetapi hanyak satu himpunan alphabet. Setiap huruf terhubung ke huruf lainnya dengan kawat pada dasarnya menukar huruf seperti plugboard. Pada reflektor, pertukaran pada 26 huruf tidak pernah berubah.

2.3.3. Cara kerja Mesin Enigma

(9)

melewati plugboard, huruf akan di petakan melalui 3 rotor. Tiap rotor mengandung satu pemetaan huruf tetapi berhubung rotor berputar untuk tiap penekanan tombol huruf sehingaa pemetaan rotor berubah untuk tiap penekanan tombol. Setelah melewati 3 rotor selanjutnya di teruskan ke reflektor. Reflektor sangat mirip dengan rotor hanya saja reflektor tidak berputar sehingga pemetaan selalu sama. Keseluruhan proses enkripsi untuk satu huruf minimum mengandung 7 pemetaan (arus listrik mengalir melalui 3 rotor sebanyak 2 kali) dan maksimum sebanyak 9 pemetaan (jika huruf tersambung ke plugboard).

2.3.3.1. Plugboard

plugboard memiliki 26 soket kontak yang mana tiap soket memiliki sebuah huruf. Operator dapat menggunakan 0 sampai 13 kabel, tidak semua koneksi huruf di mungkinkan. Tidak dapat di hubungkan dua huruf pada alphabet yang sama atau huruf tersebut ke dirinya sendiri. Jika tidak ada kabel yang di gunakan maka hanya ada satu cara untuk pemetaannya, yaitu tidak ada perubahan pada pesan.jika menggunakan satu kabel berarti ada dua huruf yang akan di hubungkan, maka ada 325 cara untuk pengaturan substitusi. Jika menggunakan dua kabel berarti ada 4 huruf yang akan di hubungkan, maka ada 44.850 cara untuk pengaturan substitusi. Jika di berikan pilihan dari p-kabel pada plugboard yang akan di hubungkan(0 ≤ p ≤ 13)maka ada

kombinasi substitusi pada soket yang dapat di pilih. Kemudian banyaknya

cara untuk memasangkan 2p huruf ke dalam p grup dimana grup-grup tersebut tidak memerhatikan urutan adalah (2p-1). Jadi jika di miliki p-kabel yang akan di hubungkan 2p huruf , banyak kemungkinannya adalah

)(2p-1)!!

total banyaknya kombinasi substitusi yang mungkin di buat oleh operator. Karena mesin Enigma hanya menggunakan satu plugboard, maka pemecah sandi (cryptanalysis) harus bisa menebak dengan tepat banyak kabel yang di gunakan. Dengan kata lain, harus di tebak substitusi p pasangan pasangan huruf diantara 5.32 x 1014 kemungkinan pasangan pasangan huruf yang berbeda.

(10)

Rotor memiliki 26 input kontak yang di hubungkan dengan kawat ke 26 output kontak. Tiap rotor memiliki dua buah himpunan alphabet dengan aturan setiap huruf pada alphabet pertama di hubungkan dengan setiap huruf pada alphabet kedua, tetapi tidak pernah menghubungkan dua huruf dalam alphabet yang sama ( artinya tidak mungkin menghubungkan A dan B pada alphabet pertama ke C pada alphabet kedua, tetapi mungkin untuk menghubungkan A ke A). Pada mesin Enigma terdapat 3 rotor, banyaknya kemungkinan yang terjadi untuk 3 rotor ini adalah 26! .(26!-1).(26!-2). Pada mesin Enigma M3, tersedia 8 rotor yang di pilih, sehingga ada 8 x 7 x 6=336 kemungkinan untuk memilih 3 rotor dari 8 rotor. Setelah menentukan ketiga rotor yang akan di gunakan, kemudian akan di tentukan posisi awal dari ketiga rotor tersebut. Operator dapat memutar rotor ke sembarang posisi awal yang di inginkan. Tiap rotor memiliki 26 kemungkinan untuk posisi awalnya, sehingga untuk ketiga rotor maka ada 263 = 676 kombinasi. Berdasarkan perhitungan di atas, maka total banyaknya kemungkinan substitusi pada rotor-rotor adalah 2,61 x 1089.

2.3.3.4 Reflektor

Analisis pada reflektor sama halnya pada plugboard yaitu memilih huruf yang akan di pasangkan kemudian memasangkan huruf yang di pilih ke dalam grup (yang berisi dua elemen). Banyaknya cara memilih 26 huruf dari 26 huruf ialah

) dan

banyaknya cara untuk memasangkan huruf tersebut menjadi sepasang sepasang ialah (26-1)!!, sehingga banyaknya kemungkinan pada pengaturan reflektor ialah

).(26-1)!!=7.9x1012 .

2.4. Rabin-Williams

2.4.1 Rabin Publik Key Cryptosystem

Algoritma Rabin pertama kali di perkenalkan pada tahun 1979 oleh Michael O.Rabin. Algoritma Rabin merupakan salah satu sistem Kriptografi asimetris yang kemampuan dalam pengamanan di buktikan secara matematika mengingat metode pemfaktoran bilangan yang besar, sama seperti RSA. Karenanya Rabin merupakan algoritma varian dari RSA (Geubrina, 2016).

(11)

2.4.2 Pembangkitan kunci

Perbedaan mendasar yang ada pada proses pembangkitan kunci antara RSA dan Rabin adalah variabel yang merupakan kunci publik, kunci privat, dan variabel yang di butuhkan dan tidak boleh dilupakan.

Pada RSA, proses pembangkitan kunci di awali dengan membangkitkan dua bilangan prima p dan q. Kemudian dengan rumus yang ada di dapatkan beberapa nilai lainnya dengan variabel n, Ф (n), e dan d. Nilai yang perlu di jaga untuk melakukan enkripsi dan dekripsi menggunakan RSA hanya variabel n, d dan e . Nilai lainnya seperti p , q dan Ф(n) dapat di buang dan di lupakan. Pada Rabin, nilai p dan q tidak di gunakan pada RSA kunci harus diingat karena merupakan bagian dari kunci untuk melakukan enkripsi dan dekripsi. Proses pembangkitan kunci pada Rabin tidak serumit RSA. Pada Rabin hanya melibatkan sedikit saja variabel dalam pembangkitan kunci, namun memiliki kesulitan yang sama dengan RSA dalam hal pemfaktoran bilangan prima, untuk menambah keamanannya. Berikut adalah langkah langkah yang di lakukan untuk membangkitkan kunci rabin:

1. Memilih dua buah bilangan prima p dan q dimana p ≠ q dan p ≡ q ≡ 3(mod4). dengan p dan q adalah kunci private

2. Menghitung nilai n= p x q

3. Mendapatkan nilai kunci publik dan kunci privat, dimana kunci publik adalah n dan kunci privat adalah q dan n

4. Kedua bilangan prima p dan q harus berada dalam persamaan 4k+1 atau 4k+3. Walaupun di batasi dalam persamaan,tetapi proses pemecahan kunci teknik rabin ini tetap sulit, karena proses pemfaktoran bilangan membutuhkan waktu yang lama,terlebih jika menggunakan bilangan yang besar.

2.4.3 Metode Enkripsi Algoritma Rabin

Dalam komunikasi data secara digital, semua data pada umumnya di konversi menjadi bilangan. Pengkonversian di lakukan dengan menggunakan aturan dalam tabel 2.1. Proses enkripsi pada teknik Rabin sangat sederhana. Proses enkripsi tersebut dapat dituliskan dalam persamaan (1).

C = P2 mod n (1)

(12)

Tabel 2.1 Keyboard Encoding

A=0 M=12 Y=24 k=36 w=48 8=60 )=72 , = 84

B=1 N=13 Z=25 l=37 x=49 9=61 _ =73 >=85

C=2 O=14 a=26 m=38 y=50 ~=62 - = 74 <=86

D=3 P=15 b=27 n=39 z=51 `=63 + = 75 :=87

E=4 Q=16 c=28 o=40 0=52 !=64 = = 76 Spasi=88

F=5 R=17 d=29 p=41 1=53 @=65 { = 77 ; = 89

G=6 S=18 e=30 q=42 2=54 $=66 } = 78 “ = 90

H=7 T=19 f=31 r=43 3=55 %=67 [ = 79 ? = 91

I=8 U=20 g=32 s=44 4=56 ^=68 ] = 80 # = 92

J=9 V=21 h=33 t=45 5=57 &=69 | = 81

K=10 W=22 i=34 u=46 6=58 *=70 / = 82

L=11 X=23 j=35 v=47 7=59 (=71 . = 83

2.4.4. Metode Dekripsi Algoritma Rabin

Proses dekripsi pada teknik Rabin di lakukan dengan mengunakan rumus sederhana, namun membutuhkan Chinese Remainder Theorem. Teorema ini digunakan untuk mendapatkan Plaintext yang benar. Namun yang menjadi poin penting dari teknik ini adalah Rabin tidak menghasilkan jawaban Plaintext tunggal. Jawaban yang di hasilkan pada algoritma Rabin ini terdiri dari empat kemungkinan jawaban, tidak menghasilkan 1 jawaban pasti.

Berikut adalah langkah langkah proses dekripsi dengan menggunakan Rabin Public-key (wandani 2012):

1. Tentukan nilai yp dan yq yang merupakan GCD (Greatest Common Divisor) dari p dan q dengan menggunakan algoritma Extended Euclidean. Karena GCD bilangan prima adalah 1 maka di tulis sebagai berikut:

yp x p + yq = 1 (2)

2. Hitung nilai akar kuadrat dari Ciphertext terhadap p dan q dengan rumus:

(13)

mp = C mod q (3) 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 Teorem, dengan persamaan (3)

r = (yp x p x mq + yq x q x mp )mod n r = (yp x p x mq - yq x q x mp )mod n r = (-yp x p x mq + yq x q x mp )mod n

r = (-yp x p x mq - yq x q x mp )mod n (4) teknik Rabin ini memang hanya menghasilkan empat hasil dekripsi. Sehingga sulit untuk memastikan,hasil dekripsi yang sesuai dengan Plaintext yang sebenarnya. Oleh karena itu di ciptakan Algoritma Williams untuk mendapatkan hasil dekripsi tunggal. Perhitungan dari Algoritma Williams sendiri secara otomatis mampu menghasilkan satu dekripsi saja (Geubrina 2016)

2.4.5 Algoritma Williams Skema M3

Dalam enkripsi data skema M3 , pembangkit bilangan Prima n di peroleh dari perkalian dua buah bilangan prima p dan q, sama seperti yang di tunjukan pada persamaan (1).

Dimana p ≡ q 1 mod 3, n merupakan kunci public dan p , q merupakan kunci privat. Selain harus di tetapkan p dan q, dalam algoritma Williams skema M3 di tetapkan pula nilai d sebagai kunci private yang di tentukan berdasarkan rumus pada persamaan (4).

totient(n) = (p – 1) * (q – 1)

3 * d = 1 ( mod totient(n)) (5) Skema williams M3 menggunakan primitive cube root dalam menentukan hasil Ciphertext. Selain itu, untuk mendapatkan hasil enkripsi algoritma williams juga menggunakan Jacobi symbol.

(14)

1. J(a,n) hanya di definisikan untuk nilai n ganjil 2. J(0,n)=0

3. Jika n bilangan prima maka J(a,n) = 0 . jika a modulo n

4. Jika n bilangan prima maka J(a,n) = 1 jika a adalah residu kuadaratik modulo n

5. Jika n bilangan prima maka J(a,n) = -1 jika a bukan residu kuadratik terhadap modulo n

6. Jika n adalah komposit atau campuran maka J(a,n) = J(a,p1)* .. J(a,pm) dimana p adalah faktor prima dari n.

2.4.5.1 Metode Enkripsi Algoritma Williams Skema M3

Langkah lengkap dalam enkripsi data dengan menggunakan algoritma williams skema M3 di jelaskan H.C Williams pada penelitian berjudul An M3 Public Key Encryption Scheme adalah sebagai berikut

1 Tentukan dua buah bilangan prima p ≡ q ≡ 1 mod 3 2 Hitung nilai n = p * q dimana n ≡ 1 (mod 3)

3 Hitung kunci d dengan rumus yang di tunjukan pada persamaan (4) 4 Tentukan p yang di hasilkan dari pencarian Primitive Cube Root

5 Tentukan Jacobi symbol dari rumus [S,ӆ1 ӆ2] dimana S merupakan bilangan bulat acak.

6 Tentukan Jacoby symbol [M,n] = pb1 ,dimana b1 [0,1,2] 7 Selanjutnya melakukan proses enkripsi melalui 3 tahapan ,yaitu

A. Mengubah Plaintext awal M0 dengan rumus:

M0 = M S b1 (mod n) (6) B. Mengubah Plaintext M0 ke Plaintext M1 dengan rumus:

M1 =R M1 (mod n) (7)

C. Mengubah Plaintext M2 = n – M0– M1

M0 + M1 + M2 = n ≡ 1 (mod 3),dimana salah satu dari M0 , M1 , M2 dalam modulo 3 menghasilkan nilai berbeda maka Mi dimasukan dalam b2 = i.

8. Enkripsi atau mengubah Plaintext menjadi Ciphertext di lakukan dengan rumus

C ≡ M03 (mod n) (8)

(15)

2.4.5.2. Metode Dekripsi Algoritma Williams skema M3

1. Proses dekripsi data atau mengubah Ciphertext menjadi Plaintext dilakukan dengan rumus:

P = Cd (mod n) (9)

2. Untuk memastikan Plaintext yang di dapat sesuai dengan Plaintext semula maka di lakukan beberapa tahap sebagai berikut:

1. Mengubah P0 = P

2. Hitung P1 = RP0 (mod n) (10)

3. Hitung P2 = n – p2– p0 (11) Nj merupakan salah satu dari M0 ,M1 ,M2 dalam modulo 3 menghasilkan nilai dari berbeda dari lainnya,selanjutnya hasil dari enkripsi dan dekripsi dilihat [M0 , M1,M2]=[N0 ,N1 ,N2].

4. Selanjutnya memastikan bahwa Plaintext yang kembali sesuai dengan Plaintext semula adalah dengan menggunakan rumus:

D = S-b1 C 2b2 Nj (mod n) (12) Dimana 0 < D < n

2.4.6 Algoritma Rabin-Williams

Algoritma williams memang menghasilkan hasil dekripsi tunggal dari proses dekripsi data, namun, proses perhitungan dari algoritma ini dapat di katakan cukup panjang untuk memastikan bahwa Plaintext yang kembali memang sesuai dengan Plaintext semula.

Untuk mempercepat proses dekripsi data pada algoritma Rabin ,maka dapat di gunakan metode yang di jelaskan dalam algoritma Williams dengan langkah sebagai berikut:

(16)

publik. Untuk pembangkit bilangan prima pada penelitian kali ini akan menggunakan algoritma Lehmann.

2. Selanjutnya menentukan kunci private d, Pencarian bilangan d di lakukan dengan rumus yang di tunjukan pada persamaan (4) , bilangan d ini dapat di caracter dengan menggunakan algoritma Extended Eucladian.

3. Rumus enkripsi untuk algoritma Rabin-Williams akan menggunakan proses enkripsi dalam algoritma Williams,seperti yang di tunjukan pada persamaan (8), yaitu : C ≡ P3 (mod n)

4. Rumus dekripsi untuk algoritma Rabin-Williams menggunakan proses dekripsi yang sama dengan algoritma Williams seperti yang di tunjukkan pada persamaan (9) yaitu M = Cd (mod n)

Dengan menggunakan langkah tersebut maka mampu mempercepat proses dekripsi pada algoritma Rabin tanpa harus menghasilkan 4 kemungkinan hasil dekripsi.

Contoh :

Tahapan yang di lakukan dalam melakukan enkripsi data adalah sebagai berikut:

1. Ubah pesan awal atau Plaintext ke dalam tabel encoding yang sudah ditetapkan sebelumnya.

Contoh: Plaintext= „H‟diubah sesuai dengan tabel encoding = 8

2. Pilih dua buah bilangan prima secara sembarang yang saling berbeda p dan q, dengan ketentuan p q 1 (mod 3). Dengan kata lain jika p dan q di modulo dengan 3 maka akan menghasilkan 1.

Contoh: P = 11 dan q = 23

3. Hitung nilai n yang merupakan kunci public dengan menggunakan rumus yang telah di jelaskan pada persamaan (1) pada pembahasan sebelumnya.

Contoh: n = p * q = 11 * 23 n = 253

4. Hitung d yang merupakan kunci private dengan menggunakan rumus yang telah di jelaskan pada persamaan (6) pada pembahasan sebelumnya.

Contoh : Ф ( n ) = ( p – 1 ) * (q – 1 )

(17)

Tabel 2.2. Mencari kunci private d d 3 * d = 1 (mod ф (n) )

: :

144 212 145 215 146 218 147 1 148 4 149 7

Sehingga menghasilkan nilai kunci private d adalah 147. Dimana kunci d akan di gunakan untuk membantu proses dekripsi data.

1 Proses enkripsi data Rabin – Williams dengan menggunakan rumus pada persamaan (10), yaitu : C M3 ( mod n ).

Contoh :

C M3 (mod n) C 83 (mod 253)

C ≡ 512 (mod 253)

C 6 (mod 253)

Hasil enkripsi atau di sebut dengan Ciphertext yaitu “6” di kirim untuk akhirnya dipecahkan oleh penerima pesan.

Contoh dekripsi algoritma Rabin-Williams:

Proses dekripsi dilakukan dengan mengambil Ciphertext yang sebelumnya telah dikirim kemudian memecahkannya dengan menggunakan rumus pada persamaan (1), seperti pada pembahasan sebelumnya yaitu : P = Cd (mod n).

Contoh:

(18)

P=2444746349972956194083608044935243159422957210683702349648543 934214737968217920868940091707112078529114392164827136 (mod 253) P = 8

Hasil dekripsi berupa Plaintext yang sesuai dengan Plaintext semula.

2.4.7 Teori Pembangkit Bilangan Prima Lehmann

Untuk pencarian bilangan prima dengan algoritma Lehmann terdiri dari beberapa tahap. Berikut adalah langkah-langkah mencamtumkan apakah bilangan prima , yaitu:

1. Tentukan bilangan acak dengan syarat 1 < a < p

2. Hitung L =( ≡ a mod p (13)

3. Bila L 1 (mod p) L ≡ - 1 (mod p) maka p pasti bukan prima

4. Bila L ≡ 1 (mod p) atau L ≡ - 1 (mod p) maka kemungkinan p bilangan prima lebih besar dari 50%

Contoh: Tentukanlah apakah bilangan 7 adalah bilangan prima? a=2

L ≡ 2 2 23 8 (mod 7) 1 (mod 7) a=3

L ≡3 3 33 27 (mod 7) -1 (mod 7)

(19)

1.5. Penelitian yang Relevan

1. Penelitian yang Relevan

Berikut ini beberapa penelitian tentang kriptografi menggunakan algoritma Enigma dan algoritma Rabin-Williams

1. Pada penelitian Arya Widyanarko (2007), Teknik Kriptografi Rabin,Serangan yang Dapat Dilakukan dan Perbandingannya dengan RSA. Kesimpulan dari penelitian ini Hasil dekripsi Ciphertext pada teknik Rabin menghasilkan 4 kemungkinan Plaintext. Penerima Pesan harus menentukan sendiri Plaintext yang benar.

2. Berdasarkan penelitian oleh Geubrina Rizky (2016), Implementasi Algoritma Rabin-Williams untuk Menentukan Hasil Tunggal Dekripsi Data. Berdasarkan hasil studi literatur analisis perancangan , implementasi dan pengujian bahwa Algoritma Rabin-Williams berhasil melakukan proses dekripsi dengan hasil satu plainteks tunggal.

Gambar

Gambar 2.1. Skema Proses enkripsi dan dekripsi (Schneier, 1996)
Gambar 2.2. Skema kriptografi simetris (Scheneier, 1996)
Gambar 2.5 Cara kerja Mesin Enigma (Famela, 2014)
Tabel 2.2.  Mencari kunci private d

Referensi

Dokumen terkait

Setelah Alice mendapatkan hasil enkripsi pesan selanjutnya Alice akan mengenkripsi kunci dari pesan tersebut dengan menggunakan kunci publik dari algoritma Rabin. Gambar

Penggabungan dua algoritma simetri dengan asimetri disebut juga dengan hybrid cryptosystem.waktu yang digunakan untuk proses enkripsi dan dekripsi dari kedua algoritma

Algoritma asimetris atau biasa disebut algoritma kunci publik dirancang sedemikian sehingga kunci yang digunakan untuk mengenkripsi dan mendekripsi berbeda.Kunci dekripsi tidak

Dengan melihat dua jenis algoritma di atas, penelitian ini menggunakan metode Hybrid Cryptosystem untuk pengamanan dan penyandian pada pesan.Metode Hybrid Cryptosystem

Dalam jurnal ini, dapat disimpulkan bahwa proses dekripsi menggunakan algoritma RSA-CRT untuk 1800. karakter dengan bit n dari 56 bit samapai 88 bit memiliki kecepatan

Algoritma One Time Pad digunakan untuk mengamankan pesan data teks dan Algoritma Rabin untuk mengamankan kunci dari pesan yang telah dienkripsi. Jumlah nilai

Gambar 4.11 menunjukkan grafik dari rata-rata waktu proses enkripsi file pada algoritma Spritz yang memiliki panjang kunci 23 digit dengan panjang karakter yang

IMPLEMENTASI KRIPTOGRAFI KURVA ELIPTIK DENGAN ALGORITMA ELGAMAL DAN METODE PEMBANGKITAN BILANGAN PRIMA RABIN-.. MILLER UNTUK PENGAMANAN