• Tidak ada hasil yang ditemukan

Algoritma Kriptografi Modified Aes 128 Bit Dan Compressed Elgamal Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Algoritma Kriptografi Modified Aes 128 Bit Dan Compressed Elgamal Chapter III V"

Copied!
60
0
0

Teks penuh

(1)

BAB 3

METODOLOGI PENELITIAN

3.1. Pengantar

Metodologi penelitian merupakan sekumpulan proses terstruktur mengenai peraturan, kegiatan, dan prosedur yang digunakan oleh pelaku suatu disiplin ilmu dalam melaksanakan penelitian. (Zarlis, et al., 2015)

Untuk menyelesaikan permasalahan penelitian ini, adapun metode penelitian yang digunakan antara lain :

a. Metode studi kepustakaan

Penulis mempelajari teori kriptografi dan algoritma AES 128 bit, algoritma elgamal, dan algoritma terkait lainnya melalui buku, artikel, jurnal yang mendukung penulisan penelitian ini baik dari perpustakaan, internet ataupun sumber-sumber yang lain.

b. Metode analisis

Menganalisa algoritma AES 128 bit, algoritma elgamal, algoritma Elias gamma code dan algoritma terkait lainnya agar dapat diimplementasikan untuk enkripsi dan dekripsi data.

c. Metode perancangan

Penulis melakukan perancangan antar muka pengguna, yaitu rancangan layar dan menu serta pembuatan kode untuk proses enkripsi dan dekripsi data. d. Metode Penyelesaian Masalah

Penulis merancang algoritma kriptografi yang telah dimodifikasi dimana algoritma ini mengkombinasikan algoritma AES 128 bit dan algoritma elgamal.

3.2. Waktu Penelitian

(2)

3.3. Data yang Digunakan

Pada penelitian ini, penulis menggunakan filetext dengan ukuran 100 kb, 200 kb, 300 kb, 400 kb, dan 500 kb. Dari masing-masing data akan dicatat kecepatan enkripsi dan dekripsi, panjang kunci awal, panjang kunci sesudah enkripsi, dan perbandingan panjang kunci sebelum dan sesudah enkripsi.

3.4. Prosedur Penyelesaian Masalah

Untuk menyelesaikan permasalahan diatas, maka penulis membuat sebuah rancangan yang berguna untuk mengamankan data menggunakan algoritma AES 128 bit yang dimodifikasi pada tahapan mix columns diganti menjadi pseudo hadamard transform

yang digunakan algoritma twofish. Untuk enkripsi kunci, digunakan algoritma elgamal dengan menggunakan algoritma kompresi Elias gamma code agar ciphertext yang dihasilkan berukuran lebih kecil.

3.4.1. Enkripsi

Langkah-langkah enkripsi adalah sebagai berikut :

a. Pengirim menentukan plaintext yang akan dienkripsi. b. Pengirim memasukkan kunci untuk enkripsi plaintext.

c. Tabel S-Box diacak menggunakan persamaan Wichmann-Hill.

d. Plaintext tersebut di enciphering sebanyak 10 putaran menggunakan algoritma AES 128 bit yang menghasilkan ciphertext dimana tahapan mix columns diganti menjadi pseudo hadamard transform.

e. Kunci enkripsi kemudian di enkripsi menggunakan algoritma elgamal yang menghasilkan cipherkey.

f. Cipherkey dikompresi menggunakan algoritma Elias gamma code.

(3)

3.4.2. Dekripsi

Langkah-langkah dekripsi adalah sebagai berikut :

a. Penerima melakukan dekompresi terhadap cipherkey menggunakan algoritma Elias gamma Code.

b. Penerima melakukan dekripsi cipherkey menggunakan algoritma elgamal yang menghasilkan kunci dekripsi.

c. Penerima melakukan deciphering sebanyak 10 putaran terhadap ciphertext

menggunakan algoritma AES 128 bit sehingga menghasilkan plaintext dimana tahapan inverse mix columns diganti menjadi pseudo hadamard transform.

Plaintext Enkripsi Algoritma AES

128 bit

Ciphertext

Kunci AES 128 bit

Kunci AES 128

bit

Algoritma Elgamal

Cipherkey Penerima

(4)

3.5. Diagram Alir

3.5.1. Diagram Alir Proses Ekspansi Kunci AES 128 bit

Proses ekspansi kunci berfungsi untuk menghasilkan kunci (round key) yang digunakan pada proses enkripsi dan dekripsi. Berikut ini adalah diagram alir ekspansi kunci algoritma AES 128 bit.

Kunci AES 128 bit

Penerima Cipherkey

Ciphertext

Algoritma Elgamal

Dekripsi Algoritma

M-AES 128 bit

Plaintext

(5)

Alur proses dari flowchart diatas dimulai dari Start, kemudian user akan diminta untuk memasukkan key sebesar 16 byte (karakter). Terlihat pada Round 0 tidak terjadi proses apapun, key yang dimasukkan oleh user akan menjadi Round Key

untuk Round 0. Kemudian dilanjutkan dengan Round 1 sampai Round 10 dimana proses yang terjadi pada masing-masing Round adalah RotWord, SubWord, Rcon dan

XOROperation.

Gambar 3.3. Diagram Alir Ekspansi Kunci AES 128 bit End

InputKey (16 Byte)

Round = 0

Round = Round +1

RotWord()

SubWord()

RCon()

XOR Operation

Round = 10

Yes

(6)

3.5.2. Diagram Alir Pembentukan Tabel S-Box

Tabel S-Box pada algoritma AES digunakan untuk proses SubBytes dan SubWord. Proses tersebut adalah mensubstitusi Byte menggunakan tabel S-Box. Secara sederhana, proses ini mudah untuk dibalikkan kembali ke nilai awal jika seorang kriptanalis berhasil mendapatkan nilai setelah SubBytes dengan menggunakan tabel

inverse S-Box. Dengan melakukan pengacakan terhadap tabel S-Box menggunakan

Pseudo-Random Number Generator metode Wichmann-Hill, maka seorang kriptanalis akan sulit mengembalikan ke nilai awal.

Gambar 3.4. Diagram Alir Pembentukan tabel S-Box dan RS-Box

(7)

3.5.3. Diagram Alir Proses Enkripsi AES 128 bit

Proses enkripsi bertujuan untuk mendapat ciphertext dan sebuah pesan asli menggunakan kunci. Berikut ini adalah diagram alir proses enkripsi algoritma AES 128 bit, dimana proses Mix Columns diganti menjadi Pseudo Hadamard Transform

agar proses enkripsi lebih efisien waktu.

Gambar 3.5. Diagram Alir Enkripsi AES 128 bit End

Start

InputPlaintext

(16 Byte)

Round = 9

Round = 0

Round = Round + 1

No

Yes AddRoundKey()

SubBytes()

ShiftRows() PHT()

AddRoundKey()

SubBytes()

ShiftRows()

(8)

Dalam proses enkripsi ini, dimulai dari Start, kemudian user diminta untuk memasukkan 16 byte (karakter) plaintext yang akan dienkripsi. Round 0 dilakukan proses AddRoundKey(), sedangkan Round 1 sampai 9 dilakukan proses SubBytes(),

ShiftRows(), PHT(), AddRoundKey(), dan pada Round 10 dilakukan proses yang sama kecuali PHT sehingga didapatkan Ciphertext.

3.5.4. Diagram Alir Proses Enkripsi Elgamal

Proses enkripsi elgamal digunakan untuk mengenkripsi kunci yang digunakan algoritma AES 128 bit.

Gambar 3.6. Diagram Alir Enkripsi Elgamal

3.5.5. Diagram Alir Proses Kompresi Elias Gamma Code

Proses kompresi Elias gamma code digunakan untuk kompresi bilangan bulat yang dihasilkan ciphertext elgamal.

Start

Input p, α, a

Hitung $=αa mod p

Hitung += α ,- p

End

(9)

Gambar 3.7. Diagram Alir Kompresi Elias Gamma Code

3.5.6. Diagram Alir Proses Dekripsi AES 128 bit

Proses dekripsi berfungsi untuk mengembalikan ciphertext ke plaintext.

Start

Urutkan karakter berdasarkan frekensi

kemunculan

Input teks

Bentuk tabel kode Elias Gamma Code

Ganti karakter pada teks sesuai tabel kode

Generate Kode Elias Gamma ke ASCII

Konversi kode ASCII ke karakter

(10)

Gambar 3.8. Diagram Alir Dekripsi AES 128 bit

Dalam proses dekripsi ini, dimulai dari Start, kemudian user diminta untuk memasukkan 16 byte (karakter) ciphertext yang akan di dekripsi. Round 0 dilakukan proses AddRoundKey(), sedangkan Round 1 sampai 9 dilakukan proses Inv. ShiftRows(), Inv. SubBytes(), AddRoundKey(), Inv. PHT() dan pada Round 10 dilakukan proses yang sama kecuali Inv. PHT sehingga didapatkan Plaintext.

Start

End

InputCiphertext

(16 Byte)

Round = 9

Round = 0

Round = Round + 1

Yes

No AddRoundKey()

Inv. ShiftRows()

Inv. SubBytes()

AddRoundKey()

Inv. PHT()

Inv. ShiftRows()

Inv. SubBytes()

(11)

3.5.7. Diagram Alir Proses Dekripsi Elgamal

Proses dekripsi elgamal digunakan untuk mendekripsi kunci yang digunakan untuk dekripsi AES 128 bit.

Gambar 3.9. Diagram Alir Dekripsi Elgamal

3.5.8. Diagram Alir Proses Dekompresi Elias Gamma Code

Proses dekompresi Elias gamma code digunakan untuk dekompresi bilangan bulat yang dihasilkan ciphertext elgamal.

Start

Input p, α, $, a

Hitung + /−1− /

Hitung -=.. (+ ) −1 m /

End

(12)

Gambar 3.10. Diagram Alir Dekompresi Elias Gamma Code

3.6. Analisis Enkripsi

Untuk melakukan enkripsi, plaintext dienkripsi menggunakan algoritma AES 128 bit

modifikasi menghasilkan Ciphertext, kemudian kunci enkripsi di enkripsi menggunakan algoritma elgamal yang menghasilkan cipherkey. Cipherkey dikompresi menggunakan metode Elias gamma code. Ciphertext dan cipherkey dikirimkan kepada penerima pesan.

3.6.1. Analisis Enkripsi Algoritma AES 128 bit Modifikasi

Misalkan dipilih plaintext yang akan dienkripsi “Ilmu Kriptografi” dengan menggunakan kunci “KeamananKomputer”, untuk enkripsi kunci digunakan algoritma elgamal dengan bilangan prima aman p = 2579, elemen primitif α = 2, dan

bilangan acak a = 765. Tahap pertama adalah membangkitkan 256 bilangan acak menggunakan metode Wichmann-Hill untuk menghasilkan tabel S-Box yang baru. Metode Wichmann-Hill membutuhkan 3 buah bilangan yang disebut seed, yaitu S1, S2, dan S3. Nilai dari bilangan tersebut dihasilkan dari kode ASCII kunci yang digunakan untuk enkripsi.

Start

Generate isi file ke binary Input teks

Kembalikan ke stringbit

semula

Ganti stringbit sesuai tabel kode elias gamma

(13)

Tabel 3.1. Kode ASCII Kunci

Karakter Kode ASCII (Dec) Kode ASCII (Hex)

K 75 4B

e 101 65

a 97 61

m 109 6D

a 97 61

n 110 6E

a 97 61

n 110 6E

K 75 4B

o 111 6F

m 109 6D

p 112 70

u 117 75

t 116 74

e 101 65

r 114 72

S1 = K+e+a+m+a = 75+101+97+109+97 = 479 S2 = n+a+n+K+o = 110+97+110+75+111 = 503 S3 = m+p+u+t+e = 109+112+117+116+101 = 555

(14)

Tabel 3.2. Tabel S-Box

(15)

Tabel 3.4. Key Expansion

Kemudian dilakukan enkripsi menggunakan algoritma AES 128 bit yang telah dimodifikasi dengan urutan langkah sebagai berikut.

Round 0 dilakukan AddRoundKey, yaitu proses XOR antara plaintext dengan key.

State awal didapatkan dengan mengonversi masing-masing karakter plaintext ke kode ASCII.

Tabel 3.5. Kode ASCII Plaintext

Karakter Kode ASCII (Dec) Kode ASCII (Hex)

(16)

Plaintext = 49 6C 6D 75 20 4B 72 69 70 74 6F 67 72 61 66 69

R0 Key = 4B 65 61 6D 61 6E 61 6E 4B 6F 6D 70 75 74 65 72 XOR

---State = 02 09 0C 18 41 25 13 07 3B 1B 02 17 07 15 03 1B

(17)
(18)
(19)
(20)

State = 90 81 EE 79 27 B5 69 3E 42 96 A8 69 8F 9C 8A C8

Pada Round 10, tidak dilakukan tahapan PHT sehingga pada round ini hanya dilakukan SubBytes, ShiftRows dan AddRoundKey yang menghasilkan Ciphertext.

Round 10 SubBytes State diatas dikonversi ke karakter sehingga didapatkan Ciphertext

ù-àGƒ-üQï卿¯ ð*X”.

3.6.2. Analisis Enkripsi Kunci Algoritma Elgamal

Kunci “KeamananKomputer” dienkripsi menggunakan algoritma elgamal dengan bilangan prima aman p = 2579, elemen primitif α = 2, dan bilangan rahasia a = 765.

Penerima pesan menghitung nilai $ =αa mod p

$=2765 2579 = 949

Kemudian nilai (p, α, $) = (2579, 2, 949) dikirimkan kepada pengirim pesan,

penerima pesan menyimpan bilangan rahasia a dan tidak boleh diketahui siapapun termasuk pengirim pesan. Karakter kunci dikonversi ke kode ASCII, kemudian dibangkitkan bilangan acak rahasia ki dengan range nilai kє {0, 1, ..., p-2}. Kelebihan

utama dari algoritma elgamal adalah plaintext yang sama akan menghasilkan

ciphertext yang berbeda karena adanya proses pembangkitan bilangan acak rahasia ki.

Pengirim pesan kemudian mengenkripsi kunci dengan menghitung nilai (+-, .-) dengan menggunakan persamaan berikut ini.

(21)

.i = $,-. - p

Tabel 3.6. Proses Enkripsi Kunci Algoritma Elgamal

Karakter ASCII (Dec)

Perbandingan ukuran key sebelum dienkripsi dengan sesudah dienkripsi dihitung menggunakan persamaan berikut ini.

:-/ℎ<=,<> ?-@<

A<> ?-@< B 100% = 146

16 B 100% = 912.5%

(22)

kompresi bilangan bulat integer. Oleh karena itu, penulis menggunakan metode kompresi Elias gamma code yang memiliki tingkat kompresi yang signifikan untuk data berupa bilangan bulat integer.

3.6.3. Analisis Kompresi Cipherkey Algoritma Elias Gamma Code

Untuk melakukan kompresi dengan algoritma Elias gamma code, karakter yang akan dikompresi disusun secara menaik / ascending sesuai dengan frekuensi kemunculan karakter. Karakter yang memiliki frekuensi kemunculan yang besar akan mendapatkan jumlah bit yang lebih sedikit. Berikut ini adalah tabel karakter yang disusun berdasarkan teks cipherkey dibawah ini.

1714:1642:1247:266:557:119:2115:1273:956:2139:2109:1754:902:1824:2207:2079 sehingga dihasilkan deretan bit berikut ini.

(23)

Jumlah total bit = 592 1100111000101000110101100101001100001010 00000001 bit yang ditambahkan

String bit diatas di konversi ke desimal setiap 8 bit, kemudian dikonversi ke karakter sehingga didapatkan hasil kompresi adalah

BPŠ!Ó&Å‹”¢iÒ-1' ¢í–ŒJQЦ"لل’Œa4 ç ‡”¥Š!b…:8³ÙÈkZ"ˆ(‘

P¤"„‘Î(ÖS

Dengan ukuran data 75 byte, kemudian dianalisis Compression Ratio (ukuran data setelah dikompresi) dan Space Saving (penghematan ruang) dengan menggunakan persamaan berikut.

(24)

algoritma elgamal yang menghasilkan kunci dekripsi. Kunci tersebut kemudian digunakan untuk dekripsi Ciphertext menggunakan algoritma AES 128 bit modifikasi.

3.7.1. Analisis Dekompresi Cipherkey Algoritma Elias Gamma Code

Untuk melakukan dekompresi dengan algoritma Elias gamma code, maka cipherkey di

generate menjadi stringbit terlebih dahulu.

Cipherkey

BPŠ!Ó&Å‹”¢iÒ-1' ¢í–ŒJQЦ"لل’Œa4 ç ‡”¥Š!b…:8³ÙÈkZ"ˆ(‘

P¤"„‘Î(ÖS

dikonversi ke string bit menjadi

010000100101000010001010000101100010000111010011000100000010011011000

Selanjutnya string bit dikembalikan ke string bit semula sebelum penambahan bit

dengan cara menghilangkan bit pada bagian akhir sebanyak 7+n, dengan nilai n adalah nilai desimal dari 8 bit terakhir.

8 bit terakhir = 00000001 = 1, bit yang dihilangkan adalah 7+1=8 bit terakhir, sehingga string bit menjadi

(25)

010000010100010010001000011010101000010100100001000101000010010010001 1100111000101000110101100101001100001010

Stringbit diatas kemudian dikonversi ke karakter asli dengan menggunakan tabel 3.7. yang menghasilkan cipherkey dibawah ini.

1714:1642:1247:266:557:119:2115:1273:956:2139:2109:1754:902:1824:2207:2079 :1007:1433:993:555:895:882:1363:2390:265:184:1989:421:1814:1792:380:2508

3.7.2. Analisis Dekripsi Kunci Algoritma Elgamal

Untuk melakukan dekripsi, dibutuhkan bilangan prima p=2579 dan bilangan rahasia

a=765. Kemudian dihitung : a. + /−1− /

b. -=.i. (+i -1-p)m /

Tabel 3.8. Proses Dekripsi Kunci Algoritma Elgamal

(+i, .i) +-1813 2579 -=.-.+-1813mo 2579 Karakter

(26)

3.7.3. Analisis Dekripsi Algoritma AES 128 bit Modifikasi

Berikut ini adalah proses dekripsi menggunakan algoritma AES 128 bit yang telah dimodifikasi sebagai berikut.

Round 0 dilakukan AddRoundKey, yaitu proses XOR antara ciphertext dengan

Round-10key. State awal didapatkan dengan mengonversi masing-masing karakter ciphertext

ke kode ASCII.

Tabel 3.9. Kode ASCII Ciphertext

Karakter Kode ASCII (Dec) Kode ASCII (Hex)

ù 249 F9

Round 1 sampai 9 dilakukan proses InvShiftRows, InvSubBytes, InvPHT, dan

AddRoundKey. Round 1 InvShiftRows

State = 81 BA 74 E9 C4 DE 96 04 17 8F F1 6C B7 BB 45 45

ISR = 81 BB F1 04 C4 BA 45 6C 17 DE 74 45 B7 8F 96 E9

(27)
(28)
(29)
(30)

State = 2A C2 D4 B5 A9 2D F9 12 5C 9A 3C 24 E1 16 9A 61 dilakukan InvShiftRows, InvSubBytes dan AddRoundKey yang menghasilkan

Plaintext.

Round 10 InvShiftRows

(31)

ISR = B4 39 E4 7A BD 2A 97 55 2B 19 B4 DA 55 21 68 19

State diatas dikonversi ke karakter sehingga didapatkan PlaintextIlmu Kriptografi”.

3.8. Kompleksitas Waktu Algoritma

Kompleksitas waktu adalah jumlah operasi yang dilakukan untuk melaksanakan algoritma berdasarkan ukuran masukan n. Ada 3 variasi kompleksitas waktu, yaitu untuk keadaan terbaik (best case), keadaan rata-rata (average case), dan keadaan terburuk (worst case). Kinerja dari sebuah algoritma biasanya diukur dengan worst case yang dinyatakan dengan Big-O.

3.8.1. Kompleksitas Waktu Algoritma Modified AES 128 bit

Untuk mengetahui kompleksitas waktu Algoritma Modified AES 128 bit, maka akan dihitung jumlah langkah pada saat enkripsi dengan asumsi jumlah data adalah 16 byte.

'AddRoundKey

state(j) = sbox(state(j) (16 langkah dilakukan 10 kali = 160 langkah)

Next j

(32)

temp(10) = state(2)

Jumlah langkah yang dibutuhkan adalah sebagai berikut.

Jumlah langkah = 17+1+1+170+160+10+9+144+17+170+10 = 709 langkah Pertumbuhan jumlah langkah terhadap banyak data ditunjukkan tabel dibawah ini.

Tabel 3.10. Kompleksitas Waktu Algoritma Modified AES 128 bit Jumlah Data (byte) Jumlah Langkah

16 709

32 1418

48 2127

64 2836

n (n/16) * 709

Sehingga disimpulkan bahwa algoritma modified AES 128 bit memiliki kompleksitas linear Big-O(n/16*709) atau ditulis Big-O(n).

3.8.2. Kompleksitas Waktu Algoritma Compressed Elgamal

(33)

'Algoritma Elgamal

For x As Integer = 0 To Len(txtKey.Text) – 1 (6 langkah) seckey = Rnd() * (p - 2)

gamma(x) = BigInteger.ModPow(alpha, seckey, p)

delta(x) = BigInteger.ModPow(BigInteger.Pow(beta, seckey) * Asc(Mid(txtKey.Text, x + 1, 1)), 1, p)

For i As Integer = 1 To charcount.Length() – 1 (2 langkah, asumsi enkripsi elgamal menghasilkan 2 karakter)

egcitem.SubItems.Add(charcount(i)) (2 langkah) egcitem.SubItems.Add(egc(i)) (2 langkah) ListView1.Items.Add(egcitem) (2 langkah) Next

Jumlah langkah yang dibutuhkan adalah sebagai berikut. Jumlah langkah = 6+2+2+2+16+6+2+2+2= 40 langkah

(34)

Tabel 3.11. Kompleksitas Waktu Algoritma Compressed Elgamal

Jumlah Data (byte) Jumlah Langkah

1 40

Sehingga disimpulkan bahwa algoritma compressed elgamal memiliki kompleksitas linear Big-O(n * 40) atau ditulis Big-O(n).

3.9. Alat Penelitian

Pada penelitian ini, digunakan alat penelitian berikut ini. a. Perangkat keras Laptop ASUS dengan spesifikasi

1. Processor Intel Core i3 4030U 1.9 GHz 2. Memory DDR3 2 GB

Windows 7 adalah jajaran sistem operasi berbasis grafis yang dibuat oleh

Microsoft untuk digunakan pada komputer pribadi, yang mencakup komputer rumah, desktop bisnis, laptop, dan MediaCenter. Windows 7 merupakan sistem dasar untuk dapat menjalankan berbagai perangkat lunak yang digunakan pada penelitian ini.

2. MicrosoftVisual Basic .NET

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak diatas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, aplikasi

(35)

diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET.

Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari

Microsoft Visual Basic versi sebelumnya yang diimplementasikan diatas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft dan versi baru ini tidak kompatibel dengan versi terdahulu.

Apakah Visual Basic .NET dianggap sebagai sebuah versi Visual Basic

atau benar-benar bahasa yang berbeda merupakan sebuah topik perdebatan yang hangat. Hal ini dikarenakan sintaksis bahasa Visual Basic .NET tidak mengalami perubahan yang sangat drastis, dan hanya menambahkan beberapa dukungan fitur baru seperti penanganan eksepsi secara terstruktur dan eskpresi yang bisa di-short-circuit-kan. Dua perubahan tipe dan pun terjadi saat berpindah ke Visual Basic .NET. Dibandingkan Visual Basic 6.0, tida data integer yang dimiliki oleh

Visual Basic .NET memiliki panjang dua kali lebih panjang dari 16 bit

menjadi 32 bit. Selain itu, tipe data long juga sama-sama berubah menjadi dua kali lebih panjang dari 32 bit menjadi 64 bit. Bilangan bulat 16-bit dalam Visual Basic .NET dinamakan dengan Short. Lagi pula, desainer GUI Windows Forms yang terdapat di dalam Visual Studio

.NET atau Visual Basic .NET memiliki gaya yang sangat mirip dengan

editorformVisual Basic klasik.

Secara sintaksis tidak banyak yang berubah, lain halnya dengan semantik, yang berubah secara signifikan. Visual Basic .NET merupakan sebuah bahasa pemrograman yang mendukung fitur "Bahasa Pemrograman Berorientasi Objek" secara penuh, karena memang didukung oleh arsitektur Microsoft .NET Framework, yang mengandung kombinasi dari Common Language Runtime dan Base Class Library.

Visual Basic klasik, hanya merupakan sebuah bahasa pemrogaman berbasis objek, yang berjalan di atas arsitektur Component Object Model

(36)

Perubahan ini telah mengubah banyak asumsi tentang hal yang benar yang harus dilakukan dengan mempertimbangkan performa dan kemudahan untuk dipelihara. Beberapa fungsi dan pustaka perangkat lunak, yang ada di dalam Visual Basic klasik, kini tidak terdapat di dalam Visual Basic .NET, mungkin masih banyak yang masih terdapat di dalam Visual Basic .NET, tapi tidak seefisien apa yang ditawarkan oleh .NET Framework. Bahkan jika program Visual Basic klasik bisa dikompilasi dengan benar, sebagian besar program Visual Basic klasik harus melalui beberapa proses refactoring untuk mengadopsi fitur bahasa baru secara keseluruhan. Dokumentasi untuk ini pun tersedia di situs

(37)

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pengantar

Pada bab ini, dijelaskan hasil penelitian dari modified algoritma AES 128 bit dan

compressed elgamal. Penelitian ini akan membandingkan kinerja dari algoritma AES 128 bit sebelum di modifikasi dengan AES 128 bit modifikasi. Selain itu, juga dianalisis tingkat kompresi cipherkey yang dihasilkan algoritma elgamal menggunakan algoritma Elias gamma code. Penelitian ini menggunakan file text

berbagai ukuran yaitu 100 kb, 200 kb, 300 kb, 400 kb, dan 500 kb. Diharapkan dari penelitian ini, didapat algoritma yang lebih efisien dibanding algoritma sebelumnya.

4.2. Analisis Simulasi Algoritma AES 128 bit dan Elgamal

Untuk menganalisis algoritma AES 128 bit dan elgamal, penulis menggunakan file

teks berbagai ukuran dengan asumsi 1 kb adalah 1024 karakter, ukuran kunci yang digunakan adalah 16 byte (128 bit), bilangan prima p=2579, bilangan primitive α=2, dan bilangan rahasia a=765. Masing-masing file teks terdiri dari kombinasi huruf kecil, huruf besar, angka 0 sampai 9, dan karakter khusus. Dari masing-masing file

(38)

Gambar 4.1. Tampilan Enkripsi AES 128 bit dan Elgamal Pada FileText 100 kb Gambar 4.1 diatas merupakan proses enkripsi menggunakan AES 128 bit dan elgamal pada file berukuran 100 kb. Pada gambar juga terlihat tabel S-Box dasar yang belum dimodifikasi. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 150 byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 937.5%. Dari segi waktu enkripsi, algoritma AES membutuhkan waktu 1.397 detik, algoritma elgamal membutuhkan waktu 0.021 detik sehingga didapat total waktu enkripsi adalah 1.419 detik.

(39)

Gambar 4.3. Tampilan Enkripsi AES 128 bit dan Elgamal Pada FileText 200 kb Gambar 4.3 diatas merupakan proses enkripsi menggunakan AES 128 bit dan elgamal pada file berukuran 200 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 149 byte, ukuran

cipherkey memiliki perbandingan yang besar yaitu 931.25%. Dari segi waktu enkripsi, algoritma AES membutuhkan waktu 2.029 detik, algoritma elgamal membutuhkan waktu 0.014 detik sehingga didapat total waktu enkripsi adalah 2.043 detik.

(40)

Gambar 4.4 diatas merupakan proses dekripsi menggunakan AES 128 bit dan elgamal pada file berukuran 200 kb. Dari segi waktu dekripsi, algoritma AES membutuhkan waktu 4.409 detik, algoritma elgamal membutuhkan waktu 0.005 detik sehingga didapat total waktu dekripsi adalah 4.414 detik.

Gambar 4.5. Tampilan Enkripsi AES 128 bit dan Elgamal Pada File Text 300 kb Gambar 4.5 diatas merupakan proses enkripsi menggunakan AES 128 bit dan elgamal pada file berukuran 300 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 141 byte, ukuran

(41)

Gambar 4.6. Tampilan Dekripsi AES 128 bit dan Elgamal Pada File Text 300 kb Gambar 4.6 diatas merupakan proses dekripsi menggunakan AES 128 bit dan elgamal pada file berukuran 300 kb. Dari segi waktu dekripsi, algoritma AES membutuhkan waktu 5.744 detik, algoritma elgamal membutuhkan waktu 0.002 detik sehingga didapat total waktu dekripsi adalah 5.746 detik.

Gambar 4.7. Tampilan Enkripsi AES 128 bit dan Elgamal Pada File Text 400 kb Gambar 4.7 diatas merupakan proses enkripsi menggunakan AES 128 bit dan elgamal pada file berukuran 400 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 144 byte, ukuran

(42)

algoritma AES membutuhkan waktu 3.398 detik, algoritma elgamal membutuhkan waktu 0.019 detik sehingga didapat total waktu enkripsi adalah 3.417 detik.

Gambar 4.8. Tampilan Dekripsi AES 128 bit dan Elgamal Pada File Text 400 kb Gambar 4.8 diatas merupakan proses dekripsi menggunakan AES 128 bit

dan elgamal pada file berukuran 400 kb. Dari segi waktu dekripsi, algoritma AES membutuhkan waktu 7.607 detik, algoritma elgamal membutuhkan waktu 0.001 detik sehingga didapat total waktu dekripsi adalah 7.608 detik.

(43)

enkripsi menggunakan elgamal, cipherkey menjadi berukuran 148 byte, ukuran

cipherkey memiliki perbandingan yang besar yaitu 925%. Dari segi waktu enkripsi, algoritma AES membutuhkan waktu 4.248 detik, algoritma elgamal membutuhkan waktu 0.014 detik sehingga didapat total waktu enkripsi adalah 4.262 detik.

Gambar 4.10. Tampilan Dekripsi AES 128 bit dan Elgamal Pada File Text 500 kb Gambar 4.10 diatas merupakan proses dekripsi menggunakan AES 128 bit

dan elgamal pada file berukuran 500 kb. Dari segi waktu dekripsi, algoritma AES membutuhkan waktu 9.369 detik, algoritma elgamal membutuhkan waktu 0.001 detik sehingga didapat total waktu dekripsi adalah 9.370 detik.

Tabel 4.1 dibawah ini hasil simulasi algoritma AES 128 bit dan elgamal berupa panjang kunci, panjang cipherkey, perbandingan panjang kunci dengan panjang cipherkey, dan waktu proses baik enkripsi maupun dekripsi.

Tabel 4.1. Hasil Simulasi Algoritma AES 128 bit dan Elgamal

Ukuran

Waktu Enkripsi (Detik) Waktu Dekripsi (Detik)

(44)

Tabel 4.2 menunjukkan kecepatan enkripsi dan dekripsi algoritma AES 128

bit dari masing-masing ukuran dokumen yang berbeda-beda.

Tabel 4.2. Kecepatan Enkripsi dan Dekripsi Algoritma AES 128 bit

Ukuran Dokumen (kilobyte) Kecepatan Enkripsi (kb/s) Kecepatan Dekripsi (kb/s)

100 71.581 42.900

200 98.570 45.361

300 114.372 52.228

400 117.716 52.583

500 117.702 53.367

Tabel 4.3 menunjukkan kecepatan enkripsi dan dekripsi algoritma AES 128

bit dan elgamal dari masing-masing ukuran dokumen yang berbeda-beda.

Tabel 4.3. Kecepatan Enkripsi dan Dekripsi algoritma AES 128 bit dan Elgamal

Ukuran Dokumen (kilobyte) Kecepatan Enkripsi (kb/s) Kecepatan Dekripsi (kb/s)

100 70.472 42.863

200 97.895 45.310

300 113.507 52.210

400 117.061 52.576

500 117.315 53.361

4.3. Analisis Simulasi Algoritma Modified AES 128 bit dan Compressed Elgamal

Untuk menganalisis algoritma modified AES 128 bit dan compressed elgamal dengan fungsi kompresi Elias gamma code, penulis menggunakan file teks yang sama, ukuran kunci yang digunakan adalah 16 byte (128 bit), bilangan prima p=2579, bilangan

(45)

Gambar 4.11. Tampilan Enkripsi Modified AES 128 bit dan Compressed Elgamal Pada FileText 100 kb

Gambar 4.11 diatas merupakan proses enkripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 100 kb. Pada gambar terlihat tabel S-Box yang sudah dimodifikasi menggunakan pseudo random number generator

(PRNG) metode wichmann-hill. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey berukuran 146 byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 912.5%. Setelah dikompresi, cipherkey berukuran 72

(46)

Gambar 4.12. Tampilan Dekripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 100 kb

(47)

Gambar 4.13. Tampilan Enkripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 200 kb

Gambar 4.13 diatas merupakan proses enkripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 200 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 144

byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 900%. Setelah dikompresi, cipherkey berukuran 71 byte dengan space saving 51.91% dan

(48)

Gambar 4.14. Tampilan Dekripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 200 kb

(49)

Gambar 4.15. Tampilan Enkripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 300 kb

Gambar 4.15 diatas merupakan proses enkripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 300 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 152

byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 950%. Setelah dikompresi, cipherkey berukuran 73 byte dengan space saving 52.80% dan

(50)

Gambar 4.16. Tampilan Dekripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 300 kb

(51)

Gambar 4.17. Tampilan Enkripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 400 kb

Gambar 4.17 diatas merupakan proses enkripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 400 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 138

byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 862.5%. Setelah dikompresi, cipherkey berukuran 72 byte dengan space saving 48.55% dan

(52)

Gambar 4.18. Tampilan Dekripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 400 kb

(53)

Gambar 4.19. Tampilan Enkripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 500 kb

Gambar 4.19 diatas merupakan proses enkripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 500 kb. Ukuran key awal adalah 16 byte, setelah di enkripsi menggunakan elgamal, cipherkey menjadi berukuran 142

byte, ukuran cipherkey memiliki perbandingan yang besar yaitu 887.5%. Setelah dikompresi, cipherkey berukuran 73 byte dengan space saving 49.82% dan

(54)

Gambar 4.20. Tampilan Dekripsi Modified AES 128 bit dan Compressed Elgamal Pada File Text 500 kb

Gambar 4.20 diatas merupakan proses dekripsi menggunakan modified AES 128 bit dan compressed elgamal pada file berukuran 500 kb. Dari segi waktu dekripsi, algoritma AES membutuhkan waktu 2.221 detik, algoritma elgamal membutuhkan waktu 0.001 detik, algoritma Elias gamma code membutuhkan waktu 0.003 sehingga didapat total waktu dekripsi adalah 2.226 detik.

(55)

Tabel 4.4. Hasil Simulasi Algoritma Modified AES 128 bit dan Compressed Elgamal

Waktu Enkripsi (Detik) Waktu Dekripsi (Detik)

MAES Compressed Elgamal Total MAES Compressed Elgamal Total

100 16 72 450% 0.695 0.075 0.770 0.638 0.008 0.647 200 16 71 443.75% 1.081 0.023 1.105 1.029 0.006 1.035 300 16 73 456.25% 1.530 0.027 1.558 1.443 0.005 1.450 400 16 72 450% 1.941 0.039 1.981 1.859 0.006 1.866 500 16 73 456.25% 2.365 0.025 2.392 2.221 0.004 2.226 Tabel 4.5 menunjukkan kecepatan enkripsi dan dekripsi algoritma modified

AES 128 bit dari masing-masing ukuran dokumen yang berbeda-beda.

Tabel 4.5. Kecepatan Enkripsi dan Dekripsi Algoritma Modified AES 128 bit

Ukuran Dokumen (kilobyte) Kecepatan Enkripsi (kb/s) Kecepatan Dekripsi (kb/s)

100 143.884 156.739

200 185.013 194.363

300 196.078 207.900

400 206.079 215.169

500 211.416 225.123

4.4. Analisis Perbandingan Hasil Enkripsi

Rata-rata rasio kompresi dan space saving terhadap cipherkey disajikan pada tabel 4.6 dibawah ini.

(56)

Efisiensi waktu enkripsi algoritma modified AES 128 bit terhadap AES 128

bit disajikan pada tabel 4.7.

Tabel 4.7. Efisiensi Waktu Enkripsi Algoritma Modified AES 128 bit Ukuran

Perbandingan kecepatan enkripsi antara algoritma modified AES 128 bit

dengan algoritma AES 128 disajikan pada tabel 4.8.

Tabel 4.8. Perbandingan Kecepatan Enkripsi Algoritma AES 128 bit Ukuran

Grafik perbandingan waktu enkripsi algoritma modified AES 128 bit

(57)

Gambar 4.21. Grafik Perbandingan Waktu Enkripsi Algoritma AES 128 bit

Grafik perbandingan kecepatan enkripsi (kb/s) antara algoritma modified

AES 128 bit dengan algoritma AES 128 bit disajikan pada gambar 4.22.

Gambar 4.22. Grafik Perbandingan Kecepatan Enkripsi Algoritma AES 128 bit 4.5. Analisis Perbandingan Hasil Dekripsi

Berdasarkan hasil dekripsi yang diperoleh, maka didapat data waktu dekripsi. Berikut ini adalah tabel perbandingan hasil dekripsi dari algoritma yang digunakan.

1,397

AES 128 bit Modified AES 128 bit

71,581

(58)

Efisiensi waktu dekripsi algoritma modified AES 128 bit terhadap AES 128

bit disajikan pada tabel 4.9.

Tabel 4.9. Efisiensi Waktu Dekripsi Algoritma Modified AES 128 bit Ukuran

Perbandingan kecepatan dekripsi antara algoritma modified AES 128 bit

dengan algoritma AES 128 bit disajikan pada tabel 4.10.

Tabel 4.10. Perbandingan Kecepatan Dekripsi Algoritma AES 128 bit Ukuran

Grafik perbandingan waktu dekripsi algoritma modified AES 128 bit

(59)

Gambar 4.23. Grafik Perbandingan Waktu Dekripsi Algoritma AES 128 bit

Grafik perbandingan kecepatan dekripsi (kb/s) antara algoritma modified

AES 128 bit dengan algoritma AES 128 bit disajikan pada gambar 4.24.

Gambar 4.24. Grafik Perbandingan Kecepatan Dekripsi Algoritma AES 128 bit

2,331

AES 128 bit Modified AES 128 bit

42,900 45,361 52,228 52,583 53,367

(60)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil analisis yang diperoleh, maka kesimpulan penelitian ini sebagai berikut.

a. Algoritma modified AES 128 bit memiliki efisiensi waktu enkripsi dan dekripsi yang lebih baik dibanding algoritma AES 128 bit.

b. Cipherkey algoritma elgamal yang dikompresi menggunakan Elias gamma code

memiliki rasio kompresi yang lebih rendah dan space saving yang lebih tinggi jika data yang digunakan adalah bilangan bulat integer. Algoritma Elias gamma code disarankan untuk kompresi cipherkey yang dihasilkan algoritma elgamal karena cipherkey yang dihasilkan algoritma elgamal merupakan bilangan bulat

integer.

c. Secara rata-rata, algoritma modified AES 128 bit memiliki efisiensi waktu enkripsi sebesar 82.964% dibanding algoritma AES 128 bit.

d. Secara rata-rata, algoritma modified AES 128 bit memiliki efisiensi waktu dekripsi sebesar 304.585% dibanding algoritma AES 128 bit.

e. Secara rata-rata, cipherkey yang dihasilkan algoritma elgamal memiliki space saving sebesar 50.992% dan rasio kompresi sebesar 49.008% menggunakan metode kompresi Elias gamma code.

Penulis menarik kesimpulan bahwa algoritma modified AES 128 bit memiliki efisiensi waktu enkripsi dan dekripsi yang lebih baik dibanding algoritma AES 128

bit. Agar cipherkey yang dihasilkan algoritma elgamal memiliki ukuran yang lebih kecil, maka algoritma yang disarankan adalah Elias gamma code yang memiliki rasio kompresi yang lebih rendah dan space saving yang lebih tinggi terhadap data berupa bilangan bulat integer.

5.2. Saran

Pada penelitian ini, penulis menggunakan data text dengan berbagai ukuran file. Disarankan untuk pengembangan penelitian ini, maka pada penelitian selanjutnya data

Gambar

Gambar 3.8. Diagram Alir Dekripsi AES 128 bit
Gambar 3.9. Diagram Alir Dekripsi Elgamal
Gambar 3.10. Diagram Alir Dekompresi  Elias Gamma Code
Tabel 3.1. Kode ASCII Kunci
+7

Referensi

Dokumen terkait

Berdasarkan pengalaman penulis mengajar MK Pancasila dan Kewarganegaraan selama kurun waktu lima tahun (2009 – 2013) di Universitas Multimedia Nusantara, materi

b) Test Purpose : to verify that the DSEO Server complies with all requirements of GetProduct operation for the download of single file on-demand product. c) Test Method :. ฀

[r]

Kaltim Tahun Anggaran 2012, menyatakan bahwa pada tanggal 30 Juli 2012 pukul 11.59 Wita tahapan pemasukan/upload dokumen penawaran ditutup sesuai waktu pada aplikasi SPSE

dibuat dalam lembaran komik yang sangat dihargai sebagai suatu karya seni.. Populernya karya-karya Tezuka memacu munculnya banyak serial

Perubahan kandungan SDS pati setelah modifikasi HMT terkait dengan perubahan tipe kristalin pati serta perubahan karakteristik permukaan pati menjadi lebih porus

Untuk melakukan pengujian pada implementasi failover ini apakah berjalan dengan baik atau tidak adalah menghentikan cluster service, dengan cara menghentikan cluster

Artinya bahwa hilangnya pengetahuan tentang hakikat alam semesta dalam kehidupan manusia, yang telah dianulir oleh rasionalitas yang kemudian menjadi akar dari krisis