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

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
Universitas Sumatera Utara

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.

Universitas Sumatera Utara

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.

Universitas Sumatera Utara

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.

Universitas Sumatera Utara

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


Universitas Sumatera Utara

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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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
1014 kemungkinan pasangan pasangan huruf yang berbeda.

2.3.3.2 Rotor-Rotor

Universitas Sumatera Utara

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 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).

Universitas Sumatera Utara

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 = P2 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.

Universitas Sumatera Utara

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