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

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Bab II ini berisi tentang pembahasan teori-teori tentang kriptografi, algoritma Vigenere dan Data Encrytpion Standard.

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB 2 LANDASAN TEORI

Pengenalan Kriptografi

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB Kriptografi

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN TEORETIS

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 2 LANDASAN TEORI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB 2 LANDASAN TEORI

Kriptografi Kunci Rahasia & Kunci Publik

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB II TINJAUAN PUSTAKA

Kriptografi. A. Kriptografi. B. Enkripsi

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Pengantar Kriptografi

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 TINJAUAN PUSTAKA

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

+ Basic Cryptography

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

Cryptography. Abdul Aziz

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Jln. Perintis Kemerdekaan, Makassar, Indonesia, Kode Pos ENCRYPTION AND DECRYPTION OF ENIGMA MACHINE

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB 2 LANDASAN TEORI Keamanan Informasi

BAB II LANDASAN TEORI

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB II TINJAUAN PUSTAKA

Penerapan Matriks dalam Kriptografi Hill Cipher

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Studi dan Implementasi Sistem Kriptografi Rabin

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI ENKRIPSI DATA PADA FILE TEKS DENGAN ALGORITMA RSA (RIVEST SHAMIR ADLEMAN)

BAB II LANDASAN TEORI

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Kriptografi Dan Algoritma RSA

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

Gambar 2.1 Egyptian Hieroglyphs

BAB 2 LANDASAN TEORI

2.1 Keamanan Informasi

PERANCANGAN APLIKASI KERAHASIAAN PESAN DENGAN ALGORITMA HILL CIPHER

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

BAB I PENDAHULUAN 1.1 Latar Belakang

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

KRIPTOGRAFI MATERI KE-2

BAB I PENDAHULUAN Latar Belakang

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

BAB 2 LANDASAN TEORI

Pengantar Kriptografi

BAB 2 LANDASAN TEORI

Rekayasa Internet. Susmini I. Lestariningati, M.T. Cryptography

BAB III ANALISIS DAN PERANCANGAN

Perbandingan Algoritma RSA dan Rabin

Transkripsi:

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. Seni dan ilmu untuk menjaga keamanan pesan disebut kriptografi dan pelakunya adalah kriptografer. Kriptanalis adalah yang melakukan kriptanalisis, yaitu seni dan ilmu untuk memecahkan pesan tersembunyi (Ciphertext). Cabang 7

8 matematika yang meliputi kriptografi dan kriptanalisis adalah kriptologi dan praktisinya disebut kriptologis (Munir, 2006). Plaintext Ciphertext Plaintext Enkripsi Dekripsi 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.

9 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 sebanyakbanyaknya 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) Pesan tidak berubah dalam proses pengiriman hingga pesan diterima oleh penerima.

10 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. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan (Sadikin, 2012). Yang termasuk algoritma kunci simetris adalah OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Enigma dan lain-lainnya. Skema kriptografi simetris dapat dilihat pada Gambar 2.2.

11 TeksAsli Algoritma Enkripsi Ciphertext Algoritma Dekripsi Teks Asli Kunci Rahasia 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

12 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) Setiap rotor terdiri dari sebuah silinder yang mempunyai masukan 26 pin huruf dan luaran 26 pin huruf dengan kawat internal yang mempunyai hubungan setiap pin masukan dengan sebuah pin luaran yang unik, dan setiap rotor melakukan proses

13 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. 3. Rotor

14 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 Mesin Enigma bekerja berdasarkan perputaran rotor-rotor yang ada di dalamnya. ketika sebuah huruf di ketikan pada keyboard, arus listrik akan mengalir pada mesin ini yang di awali melewati plugboard, kemudian terus melewati 3 rotor dan setelah tiba di reflektor arus listrik di balikan kembali melewati 3 rotor selanjutnya di teruskan ke plugboard dan kemudian huruf yang di enkripsi di tampilkan pada lampu yang menyala. Setelah tampilan huruf yang di enkripsi menyala, rotor berputar. Perputaran rotor ini sama halnya dengan sebuah odometer yaitu jika rotor yang paling kanan telah menyelesaikan satu putaran penuh,rotor yang di tengah berubah satu posisi dan begitu seterusnya untuk rotor yang berikutnya. Ketika arus melewati tiap komponen yang ada di dalam mesin Enigma, huruf mengalami pemetaan ke dalam huruf yang lain. Plugboard melakukan pemetaan yang pertama. Jika terdapat sambungan antara dua huruf, huruf-huruf ini akan di pertukarkan satu sama lain. Misalnya jika sambungan A dan F, maka F akan di petakan menjadi A, dan A akan di petakan menjadi F. Jika tidak ada sambungan huruf yang bersangkutan maka huruf tersebut tidak akan mengalami pemetaan. Setelah

15 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 10 14 kemungkinan pasangan pasangan huruf yang berbeda. 2.3.3.2 Rotor-Rotor

16 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 26 3 = 676 kombinasi. Berdasarkan perhitungan di atas, maka total banyaknya kemungkinan substitusi pada rotor-rotor adalah 2,61 x 10 89. 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.9x10 12. 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).

17 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 = P 2 mod n (1) Dengan C adalah Ciphertext, P adalah Plaintext dan n adalah kunci publik yang telah di hitung dengan mengalikan bilangan p dan q.

18 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 y p dan y q 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: y p x p + y q = 1 (2) 2. Hitung nilai akar kuadrat dari Ciphertext terhadap p dan q dengan rumus: m p = C mod p

19 m p = C mod q (3) 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 Teorem, dengan persamaan (3) r = (y p x p x m q + y q x q x m p ) mod n r = (y p x p x m q - y q x q x m p ) mod n r = (-y p x p x m q + y q x q x m p ) mod n r = (-y p x p x m q - y q x q x m p ) 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 M 3 Dalam enkripsi data skema M 3, 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 M 3 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 M 3 menggunakan primitive cube root dalam menentukan hasil Ciphertext. Selain itu, untuk mendapatkan hasil enkripsi algoritma williams juga menggunakan Jacobi symbol. Jacoby symbol di notasikan dengan bentuk J(a,n), dimana di definisikan a untuk sembarang bilangan bulat dan n bilangan ganjil. Simbol Jacobi hanya akan menghasilkan tiga kemungkinan hasil yaitu -1, 0 dan. Metode simbol Jacobi memiliki beberapa ketentuan yaitu:

20 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,p 1 )*.. J(a,p m ) dimana p adalah faktor prima dari n. 2.4.5.1 Metode Enkripsi Algoritma Williams Skema M 3 Langkah lengkap dalam enkripsi data dengan menggunakan algoritma williams skema M 3 di jelaskan H.C Williams pada penelitian berjudul An M 3 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] = p b1,dimana b 1 [0,1,2] 7 Selanjutnya melakukan proses enkripsi melalui 3 tahapan,yaitu A. Mengubah Plaintext awal M 0 dengan rumus: M 0 = M S b1 (mod n) (6) B. Mengubah Plaintext M 0 ke Plaintext M 1 dengan rumus: M 1 = R M 1 (mod n) (7) C. Mengubah Plaintext M 2 = n M 0 M 1 M 0 + M 1 + M 2 = n 1 (mod 3),dimana salah satu dari M 0, M 1, M 2 dalam modulo 3 menghasilkan nilai berbeda maka M i dimasukan dalam b 2 = i. 8. Enkripsi atau mengubah Plaintext menjadi Ciphertext di lakukan dengan rumus 3 C M 0 (mod n) (8) Dimana 0 < C < n. Selanjutnya C, b 1, b 2 dikirim ke penerima

21 2.4.5.2. Metode Dekripsi Algoritma Williams skema M 3 1. Proses dekripsi data atau mengubah Ciphertext menjadi Plaintext dilakukan dengan rumus: P = C d (mod n) (9) 2. Untuk memastikan Plaintext yang di dapat sesuai dengan Plaintext semula maka di lakukan beberapa tahap sebagai berikut: 1. Mengubah P 0 = P 2. Hitung P 1 = RP 0 (mod n) (10) 3. Hitung P 2 = n p 2 p 0 (11) N j merupakan salah satu dari M 0,M 1,M 2 dalam modulo 3 menghasilkan nilai dari berbeda dari lainnya,selanjutnya hasil dari enkripsi dan dekripsi dilihat [M 0, M 1,M 2 ]=[N 0,N 1,N 2 ]. 4. Selanjutnya memastikan bahwa Plaintext yang kembali sesuai dengan Plaintext semula adalah dengan menggunakan rumus: D = S -b1 C 2b2 N j (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: 1. Pilih dua buah bilangan prima yang cukup besar. Syarat dan proses pembangkitan kunci yang di lakukan sesuai dengan pembahasan sebelumnya pada 2.2.1 yaitu (p dan q) dimana p q dan p q 3 (mod 4). Dengan p dan q adalah kunci private.n didapat dengan perkalian p dan q seperti yang di tunjukan pada persamaan (1),yaitu:n = p * q, dimana n merupakan kunci

22 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 P 3 (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 = C d (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 ) 3 * d = 1 ( mod ф (n) )

23 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 M 3 ( mod n ). Contoh : C M 3 (mod n) C 8 3 (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 = C d (mod n). Contoh: P = 6 147 (mod 253)

24 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 2 3 8 (mod 7) 1 (mod 7) a=3 L 3 3 3 3 27 (mod 7) -1 (mod 7) Setelah melakukan pencarian dan didapatkan hasil 1 dan -1 maka dapat disimpulkan bahwa angka 7 adalah bilangan prima dengan tingkat keyakinan 50% + * 50% = 75%.

25 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. 3. Bedasarkan Penelitian yang dilakukan olah Farid Akbar Siregar (2015). Implementasi Kombinasi Algoritma Vigenere dan Algoritma Data Encryption Standard (DES) pada Aplikasi Short Message Service (SMS) Berbasis Windows Phone. Berdasarkan hasil studi literature analisis perancangan, implementasi dan pengujian bahwa Semakin banyak teks yang akan di enrkripsi maka semakin lama pula proses enkripsi itu berlangsung.