• Tidak ada hasil yang ditemukan

BAB III METODOLOGI PENELITIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III METODOLOGI PENELITIAN"

Copied!
24
0
0

Teks penuh

(1)

36

BAB III

METODOLOGI PENELITIAN 3.1 Analisis Permasalahan

Algoritma Block Cipher dengan kunci simetri adalah algoritma yang proses enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma ini mengenkripsi plaintext menjadi ciphertext setiap blok per blok dengan meng XOR kan blok plaintext dengan keystream. Keamanan algoritma ini bergantung pada keystream yang akan digunakan, karena jika keystream seluruhnya adalah 0, maka tidak akan mengubah plaintext menjadi kode- kode yang sulit dimengerti. Jika keystream berulang secara periodik maka kriptanalis dapat dengan mudah mengetahui pola keystreamnya, sehingga dapat dengan mudah pula mengetahui pesan aslinya. Maka dari itu, keystream haruslah benar-benar acak agar pesan benar-benar terjaga keamanannya.

Pada penelitian kali ini dilakukan pengelompokan plaintext yang berguna untuk mengetahui blok-blok biner dari plaintext yang memiliki karakteristik yang mirip. Pengelompokan ini dilakukan menggunakan metode K-Means Clustering, yang mana metode ini melakukan pengelompokan data dengan sistem partisi. Plaintext akan dikonversi terlebih dahulu menjadi bit-bit biner, yang selanjutnya di partisi menjadi beberapa bit tergantung masukan dari pengguna. Lalu bit-bit yang telah di partisi tadi akan diambil secara acak untuk dijadikan centroid. Setelah centroid didapatkan, maka akan dihitung jarak antara semua blok plaintext dengan centroid menggunakan Euclidean Distance. Dalam perhitungan jarak ini terdapat dua variabel yang akan menjadi tolak ukur dalam perhitungan, yaitu variabel x yang merupakan frekuensi dari biner 1 di dalam blok plaintext, dan variabel y yang merupakan nilai dari perubahan setiap bit di dalam blok plaintext.

Pengelompokan plaintext ini digunakan sebagai parameter penentuan

kunci untuk proses enkripsi dan dekripsi. Setelah plaintext berhasil

dikelompokan ke dalam beberapa cluster, terdapat ketentuan yang harus

(2)

37

diperhatikan. Untuk blok plaintext yang berada di dalam satu cluster, maka tiap-tiap anggota cluster tersebut harus di enkripsi dengan keystream yang berbeda, namun jika blok plaintext terdapat dalam cluster yang berbeda maka diperbolehkan menggunakan keystream yang sama dengan anggota cluster lain. Hal ini berfungsi untuk membangun keystream yang lebih beragam dan acak yang tentunya akan menghilangkan hubungan antara ciphertext yang memiliki plaintext dengan karakteristik yang sama atau mirip, sehingga akan menyulitkan dan mengecoh kriptanalis dalam memecahkan pesan aslinya.

3.2 Rancangan Algoritma

Penelitian ini memiliki dua tahap dalam perancangan sistem algoritma stream cipher ini, yaitu proses enkripsi dan proses dekripsi.

3.2.1 Proses Enkripsi

Proses enkripsi adalah proses mengubah plaintext menjadi ciphertext.

Plaintext yang sebelumnya telah dikelompokan menggunakan k-means

clustering, akan di XOR kan dengan keystream yang telah dibangun

menggunakan keystream generator LFSR untuk menghasilkan sebuah

ciphertext. Gambar III.1 merupakan flowchart dari proses enkripsi.

(3)

38

Gambar III.1 Flowchart proses enkripsi

(4)

39

Gambar III.1 merupakan flowchart yang menjelaskan proses enkripsi secara garis besar. Yang mana di dalamnya terdapat dua proses yaitu pengelompokan plaintext menggunaan k-means clustering dan pembentukan keystream menggunakan LFSR.

a) Proses pengelompokan plaintext menggunakan k-means clustering

Pada proses ini dilakukan pengelompokan blok-blok plaintext berdasarkan karakteristik dari bit-bit plaintext.

Pengelompokan ini dimulai dari penentuan beberapa centroid secara random terhadap blok-blok plaintext. Selanjutnya, akan dilakukan perhitungan jarak menggunakan Euclidean Distance untuk menentukan kemiripan masing-masing blok plaintext dengan centroid berdasarkan dua variabel, yaitu variabel x yang merupakan frekuensi dari biner 1 dan variabel y yang merupakan nilai perubahan dari setiap bit di dalam blok plaintext. Misalkan terdapat substring dengan ukuran 10 bit yaitu 1011010010, maka variabel x akan bernilai 5 karena terdapat 5 buah biner 1 di dalam substring. Sedangkan untuk variabel y bernilai 7 dengan melihat perubahan biner dari 1 ke 0 atau sebaliknya.

Blok plaintext akan dibagi menjadi beberapa cluster tergantung dari jumlah centroid yang telah ditentukan sebelumnya. Hasil dari perhitungan Euclidean Distance akan menentukan blok plaintext tersebut masuk ke dalam cluster yang mana, berdasarkan jarak terdekatnya terhadap salah satu centroid.

Setelah itu, dilakukan perhitungan rata-rata dari anggota cluster, dan hasilnya akan menjadi nilai untuk centroid baru. Hal ini akan dilakukan beberapa kali iterasi sampai akhirnya blok plaintext tidak lagi berpindah cluster.

b) Proses pembentukan keystream menggunakan LFSR

Pada proses ini dibutuhkan kunci utama yang bersifat

rahasia, kunci inilah yang akan dibangkitkan menggunakan

(5)

40

metode LFSR. Metode ini terdiri dari dua bagian, yaitu register geser dan fungsi umpan balik. Bit paling kiri kunci utama akan di XOR kan dengan bit paling kanan dari kunci utama, hasilnya akan diletakan ke bit paling depan kunci utama yang otomatis akan menggeser semua bit di register sebanyak 1 kali ke kanan, bit terakhir akan otomatis keluar dari register dan menjadi rangkaian keystream. Hal tersebut akan dilakukan berulang sampai dengan bit yang menjadi keystream tadi memiliki panjang yang sama dengan blok plaintext.

Pembentukan kunci ini akan dilakukan sebanyak jumlah maksimal dari anggota cluster. Kunci utama akan dilakukan pengacakan urutan bit untuk memenuhi kombinasi biner yang dibutuhkan. Barulah proses LFSR dioperasikan terhadap masing-masing kunci sesuai penjelasan diatas.

Kedua proses diatas dapat dilihat pada Gambar III.2 berikut.

(a) Flowchart pengelompokan (b) Flowchart pembentukan

plaintext keystream

Gambar III.2 Flowchart pengelompokan plaintext dan pembentukan keystream

(6)

41

Berikut merupakan contoh manual dari proses enkripsi. Pada contoh ini digunakan kata “Enkripsi” sebagai pesan masukan atau plaintext. Dengan jumlah bit partisi yaitu 10, dan jumlah cluster yaitu 2. Konversi kode ASCII biner dapat dilihat pada tabel III.1 berikut.

Tabel III.1 Konversi plaintext

Plaintext Desimal Biner

E 69 01000101

n 110 01101110

k 107 01101011

r 114 01110010

i 105 01101001

p 112 01110000

s 115 01110011

i 105 01101001

Plaintext sebelum di konversi : Enkripsi

Plaintext setelah di konversi :

0100010101101110011010110111001001101001011100000111001101101 001000000

Plaintext di partisi menjadi blok-blok, pada contoh kali ini plaintext akan di partisi sebanyak 10 karakter setiap bloknya. Untuk blok terakhir yang karakternya tidak memenuhi, maka akan dilakukan padding dengan penambahan biner 0 sebanyak yang dibutuhkan. Pada contoh ini, bit terakhir dilakukan penambahan biner 0 sebanyak 6 bit.

Dari blok plaintext diatas akan dibentuk data dengan dua variabel x dan

y seperti yang telah dijelaskan sebelumnya. Data plaintext dapat dilihat pada

tabel III.2 berikut.

(7)

42

Tabel III.2 Data plaintext

n Data Plaintext x y

1 0100010101 4 7

2 1011100110 6 5

3 1011011100 6 5

4 1001101001 5 6

5 0111000001 4 3

6 1100110110 6 5

7 1001000000 2 3

Proses selanjutnya adalah pengelompokan plaintext menggunakan k-means clustering, dimulai dengan menentukan data yang akan dijadikan centroid.

Pada contoh kali ini akan digunakan 2 data sebagai centroid, yaitu data 1 dan data 7 dengan C1 = {4,7} dan C2 = {2,3}. Berikut perhitungan jarak semua data dengan masing-masing centroid menggunakan euclidean distance.

Lakukan perhitungan jarak Euclidean Distance untuk masing-masing data terhadap centroid 1 :

D (1,1) = √(4 − 4)

2

+ (7 − 7)

2

= 0

D (2,1) = √(6 − 4)

2

+ (5 − 7)

2

= 4 + 4 = 8

D (3,1) = √(6 − 4)

2

+ (5 − 7)

2

= 4 + 4 = 8

D (4,1) = √(5 − 4)

2

+ (6 − 7)

2

= 1+ 1 = 2

D (5,1) = √(4 − 4)

2

+ (3 − 7)

2

= 0 + 16 = 16

D (6,1) = √(6 − 4)

2

+ (5 − 7)

2

= 4 + 4 = 8

D (7,1) = √(2 − 4)

2

+ (3 − 7)

2

= 4 + 16 = 20

(8)

43

Lakukan perhitungan jarak Euclidean Distance untuk masing-masing data terhadap centroid 2 :

D (1,2) = √(4 − 2)

2

+ (7 − 3)

2

= 4 + 16 = 20 D (2,2) = √(6 − 2)

2

+ (5 − 3)

2

= 16 + 4 = 20 D (3,2) = √(6 − 2)

2

+ (5 − 3)

2

= 16 + 4 = 20 D (4,2) = √(5 − 2)

2

+ (6 − 3)

2

= 9 + 9 = 18 D (5,2) = √(4 − 2)

2

+ (3 − 3)

2

= 4 + 0 = 4 D (6,2) = √(6 − 2)

2

+ (5 − 3)

2

= 16 + 4 = 20 D (7,2) = √(2 − 2)

2

+ (3 − 3)

2

= 0

Dari perhitungan diatas, didapatkan hasil sebagai berikut :

Tabel III.3 Hasil Clustering Iterasi 1

n Data Plaintext x y Cluster 1 Cluster 2

1 0100010101 4 7

2 1011100110 6 5

3 1011011100 6 5

4 1001101001 5 6

5 0111000001 4 3

6 1100110110 6 5

7 1001000000 2 3

Setelah iterasi satu dilakukan dan data telah masuk ke dalam masing- masing cluster, maka dicari nilai rata-rata dari anggota cluster untuk menentukan nilai centroid yang baru.

Cluster 1 : x = (4 + 6 + 6 + 5 + 6) / 5 = 27/5 = 5.4

(9)

44

y = (7 + 5 +5 + 6 + 5 ) / 5 = 28 / 5 = 5.6 Cluster 2 : x = (4 + 2) / 2 = 3

y = (4 + 2) / 2 = 3

Maka ditentukan nilai C1 = {5.4 , 5.6} dan C2 = {3, 3}

Lakukan perhitungan jarak Euclidean Distance untuk masing-masing data terhadap centroid 1 :

D (1,1) = √(4 − 5.4)

2

+ (7 − 5.6)

2

= 1.96 + 1.96 = 3.92 D (2,1) = √(6 − 5.4)

2

+ (5 − 5.6)

2

= 0.36 + 0.36 = 0.72 D (3,1) = √(6 − 5.4)

2

+ (5 − 5.6)

2

= 0.36 + 0.36 = 0.72 D (4,1) = √(5 − 5.4)

2

+ (6 − 5.6)

2

= 0.16 + 0.16 = 0.32 D (5,1) = √(4 − 5.4)

2

+ (3 − 5.6)

2

= 1.96 + 6.76 = 8.72 D (6,1) = √(6 − 5.4)

2

+ (5 − 5.6)

2

= 0.36 + 0.36 = 0.72 D (7,1) = √(2 − 5.4)

2

+ (3 − 5.6)

2

= 11.56 + 6.76 = 18.32

Lakukan perhitungan jarak Euclidean Distance untuk masing-masing data terhadap centroid 2 :

D (1,2) = √(4 − 3)

2

+ (7 − 3)

2

= 1 + 16 = 17 D (2, 2) = √(6 − 3)

2

+ (5 − 3)

2

= 9 + 4 = 13 D (3, 2) = √(6 − 3)

2

+ (5 − 3)

2

= 9 + 4 = 13 D (4, 2) = √(5 − 3)

2

+ (6 − 3)

2

= 4 + 9 = 13 D (5, 2) = √(4 − 3)

2

+ (3 − 3)

2

= 1

D (6, 2) = √(6 − 3)

2

+ (5 − 3)

2

= 9 + 4 = 13 D (7, 2) = √(2 − 3)

2

+ (3 − 3)

2

= 1

Dari perhitungan diatas, didapatkan hasil sebagai berikut :

(10)

45

Tabel III.4 Hasil Clustering Iterasi 2

n Data Plaintext x y Custer 1 Cluster 2

1 0100010101 4 7

2 1011100110 6 5

3 1011011100 6 5

4 1001101001 5 6

5 0111000001 4 3

6 1100110110 6 5

7 1001000000 2 3

Karena data tidak ada yang berpindah cluster lagi otomatis nilai centroid pun tidak akan berubah, maka proses clustering selesai. Maka didapat kode cluster sebagai berikut [C1, C1, C1, C1, C2, C1, C2], atau dapat diterjemahkan sebagai data 1 masuk kedalam cluster 1, data 2 masuk kedalam cluster 2 dan seterusnya.

Setelah proses clustering selesai, terdapat beberapa ketentuan yang harus dipenuhi diantaranya yaitu :

2

t

≥ x ≥ t dan 2

t

≥ m

Dimana , t : jumlah bit kunci utama yang akan dibangkitkan x : jumlah bit partisi

m : jumlah anggota maksimal dalam cluster

Ketentuan diatas digunakan untuk menentukan berapa jumlah minimal

bit kunci utama yang harus digunakan untuk dapat memenuhi kombinasi

kunci pada saat proses enkripsi. Sebelumnya pada flowchart enkripsi telah

dijelaskan bahwa yang menjadi masukan oleh pengguna diantaranya yaitu

plaintext, jumlah bit partisi, dan jumlah cluster. Setelah plaintext

dimasukan, selanjutnya pengguna memasukan jumlah bit partisi, lalu jumlah

(11)

46

cluster yang di inginkan untuk pengelompokan plaintext. Setelah itu,akan dilakukan proses clustering dan pengecekan yang melibatkan ketentuan diatas, berfungsi sebagai terkaan untuk jumlah bit kunci utamanya. Pada contoh ini digunakan dua cluster atau dua centroid dalam proses pengelompokan plaintextnya, maka dengan masing-masing nilai variabel yaitu x = 10 dan m = 5 (nilai m didapat dari perhitungan di atas) maka dapat dicari nilai t yang memenuhi 2

t

≥ x ≥ t dan 2

t

≥ m dengan cara melakukan iterasi nilai t dari 1 sampai x yang memenuhi persamaan tersebut, didapat nilai t=4 telah memenuhi persamaan tersebut, karena 2

4

≥ 10 ≥4 dan 2

4

≥ 5, dari hasil tersebut dapat disimpulkan bahwa bit minimal untuk kunci utama yang tentunya memenuhi kombinasi kunci adalah 4 bit.

Dari hasil perhitungan diatas, maka dapat dipetakan antara cluster, anggota cluster dan kunci utama. Pada contoh kali ini, akan digunakan kunci utama berjumlah 4 bit. Sebelumnya akan dijelaskan terlebih dahulu konsep kombinasi biner, untuk pembentukan kunci utama. Jika di dalam desimal terdapat 10 bilangan yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 maka di dalam biner hanya ada 2 bilangan yaitu 0 dan 1. Untuk nilai yang lebih besar dari sembilan akan ditulis dengan kombinasi 2 digit atau lebih simbol. Untuk bilangan desimal dapat ditulis …, 10

5

,10

4

,10

3

,10

2

, … Yang jika hitung pangkatnya nilai nya menghasilkan …, 100.000, 10.000, 1.000, 100, … Hal ini juga berlaku untuk bilangan biner. Bilangan biner dapat ditulis …, 2

5

, 2

4

, 2

3

,2

2

, … Yang jika hitung pangkatnya nilai nya menghasilkan … 32, 16, 8, 4, … Semakin besar nilai pangkat, akan menambah jumlah kombinasi yang dihasilkan oleh bilangan tersebut. Jumlah kombinasi yang dihasilkan oleh kode dengan panjang n bit adalah 2 pangkat n. Sehingga, kode biner dengan panjang 1 bit, hanya akan menghasilkan dua kombinasi, yaitu 0 dan 1. Kode biner 2 bit, menghasilkan 4 kombinasi, yaitu 00, 01, 10, dan 11, dan begitu seterusnya.

Pada contoh kali ini, akan digunakan kunci utama berjumlah 4 bit. Yang

berarti kombinasi dari binernya yaitu 2

4

atau 16 kombinasi, maka sistem

akan melakukan proses pengkombinasian biner 0 dan 1 yang berjumlah 4

bit menjadi 16 kombinasi kunci yang berbeda

.

Karena dalam kriptografi

(12)

47

tidak diperbolehkan menggunakan kunci 0000, maka kombinasi yang diambil kombinasi selain biner 0000 sebanyak jumlah maksimal anggota pada cluster.

Tabel III.5 Pemasangan Anggota Cluster dan Kunci Utama

Cluster 1 Cluster 2 Kunci Utama

0100010101 0111000001 0001

1011100110 1001000000 0010

1011011100 0011

1001101001 0100

1100110110 0101

Setelah di tentukan pasangan plaintext dengan kunci utamanya, maka akan dilakukan operasi LFSR untuk membangkitkan kunci utama sehingga memiliki panjang yang sama dengan plaintext.

(1) Berikut adalah proses pembangkitan kunci utama menggunakan metode LFSR dengan kunci utama 0001 :

Tabel III.6 Operasi LFSR Kunci Utama (1)

i Isi Register Bit Keluaran

0 0001

1 1000 1

2 1100 0

3 1110 0

4 1111 0

5 0111 1

(13)

48

i Isi Register Bit Keluaran

6 1011 1

7 0101 1

8 1010 1

9 1101 0

10 0110 1

Dari hasil diatas, di dapat rangkaian keystream : 1000111101

(2) Berikut adalah proses pembangkitan kunci utama menggunakan metode LFSR dengan kunci utama 0010 :

Tabel III.7 Operasi LFSR Kunci Utama (2)

i Isi Register Bit Keluaran

0 0010

1 0001 0

2 1000 1

3 1100 0

4 1110 0

5 1111 0

6 0111 1

7 1011 1

8 0101 1

9 1010 1

10 1101 0

(14)

49

Dari hasil diatas, di dapat rangkaian keystream : 0100011110

(3) Berikut adalah proses pembangkitan kunci utama menggunakan metode LFSR dengan kunci utama 0011 :

Tabel III.8 Operasi LFSR Kunci Utama (3)

i Isi Register Bit Keluaran

0 0011

1 1001 1

2 0100 1

3 0010 0

4 0001 0

5 1000 1

6 1100 0

7 1110 0

8 1111 0

9 0111 1

10 1011 1

Dari hasil diatas, di dapat rangkaian keystream : 1100100011

(4) Berikut adalah proses pembangkitan kunci utama menggunakan metode LFSR dengan kunci utama 0100 :

Tabel III.9 Operasi LFSR Kunci Utama (4)

i Isi Register Bit Keluaran

0 0100

(15)

50

i Isi Register Bit Keluaran

1 0010 0

2 0001 0

3 1000 1

4 1100 0

5 1110 0

6 1111 0

7 0111 1

8 1011 1

9 0101 1

10 1010 1

Dari hasil diatas, di dapat rangkaian keystream : 0010001111

(5) Berikut adalah proses pembangkitan kunci utama menggunakan metode LFSR dengan kunci utama 0101 :

Tabel III.10 Operasi LFSR Kunci Utama (5)

i Isi Register Bit Keluaran

0 0101

1 1010 1

2 1101 0

3 0110 1

4 0011 0

5 1001 1

(16)

51

i Isi Register Bit Keluaran

6 0100 1

7 0010 0

8 0001 0

9 1000 1

10 1100 0

Dari hasil diatas, di dapat rangkaian keystream : 1010110010

Berikut merupakan tabel pasangan plaintext dan keystream yang telah melalui proses LFSR.

Tabel III.11Pasangan plaintext dan keystream

Setelah rangkaian keystream dihasilkan, maka langkah selanjutnya yaitu melakukan operasi XOR untuk plaintext dan keystreamnya.

Proses enkripsi untuk Cluster 1 dan keystream yang bersesuaian : (1) Plaintext : 0100010101

Keystream : 1000111101 ⊕ Ciphertext : 1100101000 (2) Plaintext : 1011100110

Cluster 1 Cluster 2 Kunci Utama

0100010101 0111000001 1000111101

1011100110 1001000000 0100011110

1011011100 1100100011

1001101001 0010001111

1100110110 1010110010

(17)

52

Keystream : 0100011110 ⊕ Ciphertext : 1111111000 (3) Plaintext : 1011011100

Keystream : 1100100011 ⊕ Ciphertext : 0111111111 (4) Plaintext : 1001101001

Keystream : 0010001111 ⊕ Ciphertext : 1011100110 (5) Plaintext : 1100110110

Keystream : 1010110010 ⊕ Ciphertext : 0110000100

Proses enkripsi untuk Cluster 2 dan keystream yang bersesuaian : (1) Plaintext : 0111000001

Keystream : 1000111101 ⊕ Ciphertext : 1111111100 (2) Plaintext : 1001000000

Keystream : 0100011110 ⊕ Ciphertext : 1101011110

Dari hasil proses enkripsi di atas maka didapatkan ciphertext sebagai berikut. Urutan ciphertext dapat disesuaikan dengan urutan plaintext menggunakan data hasil clustering ,yaitu [C1, C1, C1, C1, C2, C1, C2].

Plaintext :

010001010110111001101011011100100110100101110000011100110110 1001000000

Ciphertext :

11001010001111111000011111111110111001101111111100011000010

01101011110

(18)

53

Setelah bit ciphertext dihasilkan maka akan dilakukan konversi dari biner menjadi karakter ASCII, karena proses konversi dilakukan per delapan bit maka jika terdapat kekurangan bit di akhir dapat dilakukan padding atau penambahan biner 0 sebanyak yang dibutuhkan. Maka hasil bit ciphertext adalah sebagai berikut.

Ciphertext :

1100101000111111100001111111111011100110111111110001100001001101 01111000

Tabel III.12 Konversi ciphertext

Biner Desimal Ciphertext

11001010 202 Ê

00111111 63 ?

10000111 135 135

11111110 254 þ

11100110 230 æ

11111111 255 ÿ

00011000 24 24

01001101 77 M

01111000 120 x

Dengan hasil konversi :Ê? 135 þæÿ 24 Mx

Dalam proses enkripsi ini, dihasilkan pula sebuah matriks yang mana

berisi data ciphertext dan juga kunci. Yang nantinya akan digunakan

untuk proses dekripsi. Berikut merupakan tabel pasangan ciphertext dan

keystream yang telah malalui proses LFSR.

(19)

54

Tabel III.13 Pasangan ciphertext dan keystream

3.2.2 Proses Dekripsi

Proses dekripsi adalah proses mengubah ciphertext menjadi plaintext. Ciphertext yang awalnya merupakan karakter-karakter yang sulit untuk dipahami, akan diterjemahkan kembali menjadi sebuah pesan yang bisa dimengerti. Gambar III.3 merupakan flowchart dari proses dekripsi.

Cluster 1 Cluster 2 Kunci Utama

1100101000 1111111100 1000111101

1111111000 1101011110 0100011110

0111111111 1100100011

1011100110 0010001111

0110000100 1010110010

(20)

55

Gambar III.3 Flowchart proses dekripsi

Berikut merupakan contoh manual dari proses dekripsi. Pada contoh ini digunakan kata “Ê? 135 þæÿ 24 Mx” sebagai pesan rahasia atau ciphertext.

Dalam proses dekripsi, pengguna tidak perlu menginputkan apapun, karena sistem telah menyimpan matriks ciphertext dan keystream serta urutan cluster yang didapat dari proses enkripsi. Selanjutnya sistem akan melakukan XOR data ciphertext dan keystream yang ada didalam matriks untuk menghasilkan sebuah plaintext. Sedangkan data hasil cluster akan digunakan untuk mengurutkan plaintext sesuai urutan awal. Setelahnya barulah plaintext di konversi menjadi sebuah karakter. Berikut contoh proses yang dilakukan secara manual.

Dibawah ini merupakan matriks atau tabel yang berisi data plaintext dan

keystream.

(21)

56

Tabel III.14 Pasangan ciphertext dan keystream

Dari tabel diatas, selanjutnya bit-bit ciphertext di pasangkan dengan keystream berdasarkan urutan kode yang telah diinputkan lalu di lakukan operasi XOR seperti berikut.

Proses dekripsi untuk Cluster 1 dan keystream yang bersesuaian:

(1) Ciphertext : 1100101000 Keystream : 1000111101 ⊕ Plaintext : 0100010101 (2) Ciphertext : 1111111000

Keystream : 0100011110 ⊕ Plaintext : 1011100110 (3) Ciphertext : 0111111111

Keystream : 1100100011 ⊕ Plaintext : 1011011100 (4) Ciphertext : 1011100110

Keystream : 0010001111 ⊕ Ciphertext : 1001101001

Cluster 1 Cluster 2 Kunci Utama

1100101000 1111111100 1000111101

1111111000 1101011110 0100011110

0111111111 1100100011

1011100110 0010001111

0110000100 1010110010

(22)

57

(5) Ciphertext : 0110000100 Keystream : 1010110010 ⊕ Plaintext : 1100110110

Proses dekripsi untuk Cluster 2 dan keystream yang bersesuaian:

(1) Ciphertext : 1111111100 Keystream : 1000111101 ⊕ Plaintext : 0111000001 (2) Ciphertext : 1101011110

Keystream : 0100011110 ⊕ Plaintext : 1001000000

Sebelumnya pada proses enkripsi juga didapatkan urutan plaintext beserta clusternya yang dapat digunakan untuk mengurutkan hasil ciphertext. Berikut data yang dihasilkan [C1, C1, C1, C1, C2, C1, C2], atau dapat diterjemahkan sebagai data 1 masuk kedalam cluster 1, data 2 masuk kedalam cluster 2 dan seterusnya.

Dari hasil proses dekripsi di atas maka didapatkan plaintext sebagai berikut.

Plaintext :

010001010110111001101011011100100110100101110000011100110110 10010000000

01000101011011100110101101110010011010010111000001110011011 01001000000

Tabel III.15 Konversi plaintext

Biner Desimal Plaintext

0 1 0 0 0 1 0 1 69 E

0 1 1 0 1 1 1 0 110 n

(23)

58

Biner Desimal Plaintext

0 1 1 0 1 0 1 1 107 k

0 1 1 1 0 0 1 0 114 r

0 1 1 0 1 0 0 1 105 i

0 1 1 1 0 0 0 0 112 p

0 1 1 1 0 0 1 1 115 s

0 1 1 0 1 0 0 1 105 i

0 0 0 0 0 0 0

Dengan hasil konversi : Enkripsi 3.3 Rancangan Pengujian

Pada penelitian ini setelah dilakukan implementasi akan dilakukan pengujian, yang diantaranya evaluasi recovery hasil ciphertext, menganalisis frekuensi dari karakter yang dominan pada plaintext dan ciphertext, dan akan dilakukan perbandingan antara Algoritma Block Cipher dan Algoritma Block Cipher dengan Algoritma yang telah dimodifikasi dengan pengelompokan plaintext dan pengujian nilai Silhoutte Coefisien. Pada keempat pengujian ini akan digunakan file yang diperoleh dari website http://textfiles.com/stories/. File-file tersebut nantinya akan dijadikan sebagai plaintext dalam proses enkripsi di dalam proses pengujian sistem ini dengan memproses seluruh karakter dan juga spasi yang terdapat di dalam file.

3.3.1 Evaluasi Recovery

Evaluasi recovery adalah pengujian yang dilakukan untuk mengevaluasi hasil dari proses enkripsi, apakah ciphertext yang dihasilkan dapat kembali menjadi plaintext yang sesuai dengan masukan user.

Pengujian ini bertujuan untuk menguji seberapa baik dan akurat kinerja

sistem yang dibuat dalam memproses pesan menjadi ciphertext atau pun

(24)

59

mengembalikan pesan menjadi plaintext. Pada pengujian ini, plaintext berisi karakter huruf, spasi dan karakter lainnya. Terdapat 10 plaintext yang diperoleh dari website http://textfiles.com/programming/, dengan menggunakan kunci yang nantinya ditentukan oleh sistem, bit partisi berjumlah 50 bit, dan di kelompokan ke dalam 20 cluster.

3.3.2 Pengujian Analisis Frekuensi

Analisis frekuensi adalah teknik untuk membagi ciphertext berdasarkan frekuensi kemunculan karakter, karena hal ini dapat menjadi acuan apabila terdapat karakter sering muncul pada ciphertext, jika karakter tersebut dapat diketahui karakter aslinya maka dapat dipastikan karakter asli tersebut juga mendominasi plaintext.

Proses pengujian ini akan dilakukan berdasarkan nilai desimal dari tiap-tiap karakter, hal ini dilakukan agar mempermudah dalam pengecekan karakter ASCII yang tidak dapat di cetak.

3.3.3 Pengujian Perbandingan Algoritma

Dalam pengujian ini dilakukan pengecekan pola kunci yang dapat dilihat dari baris kunci yang berulang dengan jumlah bit tertentu. Hal ini dilakukan untuk mengetahui apakah kunci dapat dengan mudah diterka oleh kriptanalis atau tidak. Karena semakin random pola kunci, maka akan mempersulit kriptanalis mengetahui kunci yang digunakan dalam proses enkripsi yang dapat menghasilkan pesan rahasia.

3.3.4 Pengujian Nilai Silhouette Coefficient

Pengujian ini dilakukan untuk mengetahui kualitas dan kekuatan

sebuah cluster. Silhouette Coefficient merupakan metode validasi cluster

yang menggabungkan metode cohesion dan separation. Pengujian ini

dilakukan dengan menghitung jarak suatu data dengan data lain didalam

satu cluster, lalu dilakukan juga perhitungan suatu data dengan data lain

yang berbeda cluster, dan yang terakhir akan dilakukan perhitungan

Silhouette Coefficient untuk menentukan kualitas dari hasil cluster.

Referensi

Dokumen terkait

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

Surrogate mother adalah perjanjian antara seorang wanita yang mengikatkan diri melalui suatu perjanjian dengan pihak lain (suami-isteri) untuk menjadi hamil terhadap

Pelaksanaan hukum secara Represif adalah penegakan hukum yang dilakukan pihak Kepolisian Polair Polres Rokan Hilir untuk melakukan penindakan terhadap pelaku

Jumlah Pegawai Teknisi Kehutanan pada Balai Taman Nasional Kepualuan Seribu Sampai dengan Bulan Desember

SURYA PRATAMA WIJAYA KUSUMA SLEMAN 29-12-2003 Laki-laki Tidak Kawin Cucu menganggur... SARWITI SLEMAN 31-12-1930 Laki-laki Nikah Kepala

Upaya Merintis Karier Profesional di Bidang Sepak Bola Menggunakan Variabel Sekolah Sepak Bola dan Instrumen Observasi: Studi Kasus Akademi La Masia. 3 Afiq Ilham Akbar

yang diperoleh serta diciptakan sepanjang kontak pasien dengan sistem pelayanan kesehatan.. Rekam medik elektronik

1 Hata, maka pada masa itu akan bangkit berdiri Michael, penghulu besar itu, jang memeliharakan perkara segala bani bangsamu; setelah sudah ada suatu masa kesukaran, begitu