BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1
Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi yang akan
dibangun, tahapan selanjutnya adalah implementasi dan pengujian. Untuk mengimplementasikan aplikasi simulasi kriptografi metode wake agar sesuai dengan analisis dan perancangan, berikut spesifikasi komputer dimana sistem di implementasikan dan diujikan. Pada tahapan implementasi terdapat dua cakupan yaitu spesifikasi kebutuhan sistem yang meliputi perangkat keras (hardware), perangkat lunak (software), implementasi yang meliputi proses pengkodean, desain antarmuka dan hal-hal yang berhubungan dengan pengujian aplikasi.
4.1.1 Implementasi Aplikasi Pada bab ini diterangkan secara rinci mengenai tahapan-tahapan implementasi aplikasi simulasi kriptografi metode wake yang meliputi proses pengkodean, dan bentuk tampilan layar.
4.1.1.1 Pengkodean Pada proses pengkodean aplikasi ini, perlu terlebih dahulu dibuat pemodulan. Modularisasi merupakan pembuatan program berdasarkan modulmodul. Modul dapat berupa fungsi atau prosedur. Statement yang digunakan penulis untuk modularisasi adalah function.
45
46
Dalam pemrograman aplikasi simulasi kriptografi metode wake, implementasi dari modularisasi tersebut adalah sebuah function yang dibuat untuk dimasukkan ke dalam perintah s-box yang digunakan untuk menginisialisasi variabel T[0]-T[255] dengan memiliki nilai bit berupa biner atau heksa decimal. Bahasa pemprogramannya adalah sebagai berikut : Sub fungsiJalansbox() Dim X As String Dim Z As String Dim N As Integer Dim Temp As String Dim Temp1 As String '-------------------------------------------'1. Inisialisasi nilai TT[0] - TT[7] '-------------------------------------------cmdSkip.Enabled = True cmdUlang.Enabled = True bIsProses = True Delay nS RTB1.Text = "" Call AddT(String(61, "=")) Call AddT(vbCrLf & "LANGKAH 1 - Inisialisasi nilai TT[0] ... TT[7]") Call AddT(vbCrLf & String(61, "-")) Delay nS If IsStop Then Exit Sub Delay nS '------------------------------TT(0) = FHexToBiner("726a8f3b") Call AddT(vbCrLf & "TT[0] = " & Bentuk(TT(0))) '------------------------------Delay nS If IsStop Then Exit Sub Delay nS '------------------------------TT(1) = FHexToBiner("e69a3b5c") Call AddT(vbCrLf & "TT[1] = " & Bentuk(TT(1))) '-------------------------------
Perintah di atas menggunakan function dengan nama fungsijalansbox(), di dalamnya terdapat proses pertama dengan inisialisasi variabel TT[0]-TT[7] pada setiap prosesnya ada script AddT() yang digunakan untuk memasukkan setiap proses ke dalam RTB (Rich text box) yang merupakan tools dari program visual basic 6. Dan pada setiap prosesnya terdapat script/perintah Delay nS yang
47
merupakan kecepatan proses simulasi yang diatur oleh fasilitas timer sesuai pilihan pada lama waktu proses simulasi. '-------------------------------------------'2. Inisialisasi nilai awal untuk T[0] - T[3] ' Pecah kunci (128 bit) menjadi 4 kelompok '-------------------------------------------'PECAH KUNCI Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 2 - Pecah kunci menjadi 4 kelompok " & _"besar dan masukkan pada T[0] ... T[3]") Call AddT(vbCrLf & String(61, "-")) Delay nS 'Jabarkan kunci Call AddT(vbCrLf & "Kunci : '" & strKunci & "'") Delay nS X = "" For N = 1 To Len(strKunci) Delay nS Temp = FormatS(FDecToBiner(Asc(Mid(strKunci, N, 1))), "0", 8) X = X & Temp Call AddT(vbCrLf & "Kode ascii dari '" & Mid(strKunci, N, 1) & "' = " & _Asc(Mid(strKunci, N, 1)) & " = " & Bentuk(Temp)) Delay nS If IsStop Then Exit Sub Next N Call AddT(vbCrLf & "Kunci (dalam " & IIf(strB = "B", "biner", "heksa") & ") = " & Bentuk(X)) Delay nS Call DelHighlight(11, 14) If IsStop Then Exit Sub 'T[0] = K[0] Call DoHighlight(15) Delay nS '------------------------------T(0) = Mid(X, 1, 32) Call AddT(vbCrLf & "T[0] = K[0] = " & Bentuk(T(0))) '------------------------------Delay nS Call DelHighlight(15) If IsStop Then Exit Sub
Pada proses kedua ini terdapat proses inisialisasi variabel T[0]-T[3] untuk memecah kunci 128 bit menjadi 4 kelompok dengan tujuan agar kata kunci yang dimasukkan sebelum diproses menjadi nilai bit biner atau heksa decimal akan di lakukan proses pemecahan karakter pada kata kunci yang dimasukkan sehingga memiliki tingkat kerumitan yang lebih tinggi.
48
Selanjutnya proses dilakukan dengan beberapa tahapan untuk proses s-box dibawah ini merupakan script/perintah pada tahapan proses ke 3, sebagai berikut : '3. Untuk N = 4 to 255, lakukan proses berikut '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 3 - Untuk n = 4 sampai 255, lakukan prosedur berikut.") Call AddT(vbCrLf & String(61, "-")) Delay nS If IsStop Then Exit Sub 'FOR For N = 4 To 255 Delay nS 'X = T[n-4] + T[n-1] X = FAddBiner(T(N - 4), T(N - 1), 32) Call AddT(vbCrLf & vbCrLf & "n = " & N) Call AddT(vbCrLf & "-> X = T[" & N - 4 & "] + T[" & N 1 & "] = " & _ Bentuk(T(N - 4)) & " + " & Bentuk(T(N - 1)) & " = " & Bentuk(X)) 'X >> 3 Temp = FShiftRight(X, 3) Call AddT(vbCrLf & "-> X >> 3 (Shift Right 3 bit) = " & _Bentuk(X) & " >> 3 = " & Bentuk(Temp)) Delay nS 'X AND 7 Temp1 = FBinerToDec(FOpBiner("AND", X, "111")) Call AddT(vbCrLf & " X AND 7 = " & Bentuk(X) & " AND 7(10) = " & Temp1) Delay nS 'T[n] = X >> 3 XOR TT[X AND 7] T(N) = FOpBiner("XOR", Temp, TT(Val(Temp1)), 32) Call AddT(vbCrLf & " T[" & N & "] = X >> 3 XOR TT[X AND 7] = " & _ Bentuk(Temp) & " XOR TT[" & Temp1 & "] = " & Bentuk(T(N))) Delay nS Next N
Pada proses tahapan ke 3 pada s-box terdapat inisialisasi variabel N dari 4 sampai 255 dengan script/perintah X=FAddBiner(T(N - 4), T(N - 1), 32) yang digunakan untuk mendapatkan variabel T(N) dengan menghubungkan fungsi FopBiner(), di dalamnya terdapat proses perhitungan dengan menggunakan XOR dan AND.
49
Selanjutnya adalah proses s-box pada tahapan ke 4, seperti pada perintah script di bawah ini : ' 4. Untuk N = 0 to 22, lakukan proses berikut '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 4 - Untuk n = 0 sampai 22, lakukan prosedur berikut.") Call AddT(vbCrLf & String(61, "-")) Delay nS For N = 0 To 22 Delay nS 'T[n] = T[n] + T[n+89] Temp = T(N) T(N) = FAddBiner(Temp, T(N + 89), 32) Call AddT(vbCrLf & vbCrLf & "n = " & N) Call AddT(vbCrLf & "T[" & N & "] = T[" & N & "] + T[" & N + 89 & "] = " & _ Bentuk(Temp) & " + " & Bentuk(T(N + 89)) & " = " & Bentuk(T(N)))
Pada tahap ke 4 ini dibentuk lagi variabel N dari nilai 0 sampai 22 untuk mendapatkan variabel T[n], Kemudian dilanjutkan Proses s-box pada tahap ke-5. Perintah/scriptnya adalah sebagai berikut : '5. Set nilai untuk variabel di bawah ini '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 5 - Set nilai untuk variabel di bawah ini.") Call AddT(vbCrLf & String(61, "-")) '------------------------------X = T(33) Call AddT(vbCrLf & "X = " & Bentuk(X)) '------------------------------Temp = FHexToBiner("01000001") Z = FOpBiner("OR", T(59), Temp, 32) Call AddT(vbCrLf & "Z = T[59] OR " & Bentuk(Temp) & " = " & _Bentuk(T(59)) & " OR " & Bentuk(Temp) & " = " & Bentuk(Z)) '------------------------------Temp = Z Temp1 = FHexToBiner("FF7FFFFF") Z = FOpBiner("AND", Temp, Temp1, 32) Call AddT(vbCrLf & "Z = Z AND " & Bentuk(Temp1) & " = " & _ Bentuk(Temp) & " AND " & Bentuk(Temp1) & " = " & Bentuk(Z)) '------------------------------Delay nS Call DelHighlight(37) If IsStop Then Exit Sub
50
Pada proses s-box tahap ke-5 membuat variabel baru berupa variabel Z yang diambil dari nilai fungsi FopBiner() dan varibel X yang diambil dari nilai fungsi FaddBiner(), kemudian dilanjutkan kembali dengan proses tahap ke-6. Perintah/scriptnya adalah sebagai berikut : '6. Untuk T[0] ... T[255] '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 6 - Untuk n = 0 sampai 255, lakukan prosedur berikut.") 'FOR For N = 0 To 255 Delay nS 'X = (X And FF7FFFFF) + Z Temp1 = FHexToBiner("FF7FFFFF") Temp = X X = FAddBiner(FOpBiner("AND", X, Temp1, 32), Z, 32) Call AddT(vbCrLf & vbCrLf & "n = " & N) Call AddT(vbCrLf & "X = (" & Bentuk(Temp) & " AND " & _ Bentuk(Temp1) & ") + " & Bentuk(Z) & " = " & Bentuk(X)) Delay nS 'T[n] = T[n] AND 00FFFFFF XOR X Temp1 = FHexToBiner("00FFFFFF") Temp = T(N) T(N) = FOpBiner("XOR", FOpBiner("AND", T(N), Temp1, 32), X, 32) Call AddT(vbCrLf & "T[" & N & "] = " & Bentuk(Temp) & "] AND " & _Bentuk(Temp1) & " XOR " & Bentuk(X) & " = " & Bentuk(T(N))) Next N
Pada tahap ke-6 membuat proses looping dengan n dari 0 sampai 255 untuk menghasilkan nilai variabel T[n], lalu dilanjutkan lagi Proses s-box pada tahapan ke-7. Perintah/scriptnya adalah sebagai berikut : '7. Inisialisasi nilai untuk beberapa variabel berikut '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 7 - Set nilai untuk variabel berikut.") Call AddT(vbCrLf & String(61, "-")) '------------------------------T(256) = T(0) Call AddT(vbCrLf & "T[256] = T[0] = " & Bentuk(T(256))) '------------------------------Temp = X X = FOpBiner("AND", X, FDecToBiner(255), 32) Call AddT(vbCrLf & "X = X AND 255(10) = " & Bentuk(Temp) & " AND 255(10) = " & Bentuk(X))
51
Pada tahap ke-7 digunakan untuk mendapatkan variabel X yang memiliki nilai dari fungsi FopBiner(), Kemudian dilanjutkan lagi proses s-box pada tahap ke-8. Perintah/scriptnya adalah sebagai berikut : '8. Untuk T[0] ... T[255] '---------------------------------------------Call AddT(vbCrLf & vbCrLf & String(61, "=")) Call AddT(vbCrLf & "LANGKAH 8 - Untuk n = 0 sampai 255, lakukan prosedur berikut.") Call AddT(vbCrLf & String(61, "-")) For N = 0 To 255 Delay nS 'Temp = (T[n XOR X] XOR X) AND 255 Temp1 = FBinerToDec(FOpBiner("XOR", FDecToBiner(N), X, 32)) Temp = T(Val(Temp1)) Temp = FOpBiner("XOR", Temp, X, 32) Temp = FOpBiner("AND", Temp, FDecToBiner(255), 32) Call AddT(vbCrLf & vbCrLf & "n = " & N) Call AddT(vbCrLf & "Temp = T[" & Temp1 & "] XOR X AND 255 = " & Bentuk(T(Val(Temp1))) & " XOR " & Bentuk(X) & " AND 255 = " & Bentuk(Temp)) 'T[n] = T[Temp] T(N) = T(FBinerToDec(Temp)) Call AddT(vbCrLf & "T[" & N & "] = T[" & FBinerToDec(Temp) & "] = " & Bentuk(T(N))) 'T[X] = T[n+1] T(FBinerToDec(X)) = T(N + 1) Call AddT(vbCrLf & "T[" & FBinerToDec(X) & "] = T[" & _ N + 1 & "] = " & Bentuk(T(N + 1))) Next N 'Looping FOR Delay 2 * nS Call AddT(vbCrLf & vbCrLf & "--------------------------------------------------") Call AddT(vbCrLf & "NILAI S-BOX UNTUK KUNCI '" & strKunci & "' ADALAH :") Call AddT(vbCrLf & "--------------------------------------------------") For N = 0 To 256 Call AddT(vbCrLf & "T[" & N & "] = " & Bentuk(T(N))) Next N Delay nS RTB1.Text = RTB1.Text & cKeterangan RTB1.SelStart = Len(RTB1.Text) End Sub
Pada tahap terakhir proses s-box yang ke-8 digunakan untuk mendapatkan variabel T[n] berupa nilai bit biner atau heksa decimal dari T[0] sampai T[255].
52
Setelah proses s-box dijalankan maka selanjutnya dijalankan proses pembentukan
kunci,
didalamnya
menjalankan
2
fungsi
yaitu
formloadfungsibentukkunci() dan fungsibentukkunci(). Script/perintah fungsi tersebut adalah sebagai berikut : 1. Fungsi formloadfungsibentukkunci() Di bawah ini merupakan Perintah/script yang ada didalamnya, Sub formloadfungsibentukkunci() Dim X As String Dim N As Integer ReDim A(nPutaran) ReDim B(nPutaran) ReDim C(nPutaran) ReDim D(nPutaran) nPutar = 0 'Kecepatan proses cboKec.ListIndex = 6 '-----------' KUNCI '-----------X = "" For N = 1 To Len(strKunci) X = X & FormatS(FDecToBiner(Asc(Mid(strKunci, 1))), "0", 8) Next N A(0) = Mid(X, 1, 32) B(0) = Mid(X, 33, 32) C(0) = Mid(X, 65, 32) D(0) = Mid(X, 97, 32)
N,
cAwal = "Kunci '" & strKunci & "' diubah dalam bentuk " & IIf(strB = "B", "biner", "heksa") & _ " = " & Bentuk(X) & vbCrLf & vbCrLf & _ "Pecah kunci menjadi 4 kelompok dan masukkan " & "ke A(0), B(0), C(0) dan D(0)." & vbCrLf & _ "A(0) = " & Bentuk(A(0)) & vbCrLf & _ "B(0) = " & Bentuk(B(0)) & vbCrLf & _ "C(0) = " & Bentuk(C(0)) & vbCrLf & _ "D(0) = " & Bentuk(D(0)) '-----------RTB1.Text = cAwal End Sub
Fungsi diatas merupakan Inisialisasi nilai awal untuk A[0], B[0], C[0], D[0] dan dipecahnya kunci (128 bit) menjadi 4 kelompok.
53
2. Fungsi fungsibentukkunci() Di bawah ini merupakan Perintah/script yang ada didalamnya, Sub fungsibentukkunci() Dim N As Integer Dim Temp As String Dim Temp1 As String Dim Temp2 As String Dim Temp3 As String Dim Temp4 As String '---------------------------------' PROSES PEMBENTUKAN KUNCI MULAI '---------------------------------For N = 1 To nPutaran Call AddT(vbCrLf & vbCrLf & _ "------------------------------" & vbCrLf & " KUNCI PUTARAN " & N & vbCrLf & _ "------------------------------") Temp = FAddBiner(A(N - 1), D(N - 1), 32) Temp1 = FShiftRight(Temp, 8) Temp2 = FOpBiner("AND", Temp, "11111111") Temp3 = T(FBinerToDec(Temp2)) A(N) = FOpBiner("XOR", Temp1, Temp3, 32) Call AddT(vbCrLf & vbCrLf & "FungsiM(A[" & N - 1 & "],D[" & N - 1 & "]) = " & _ "FungsiM(" & Bentuk(A(N - 1)) & "," & Bentuk(D(N - 1)) & ") = (" & _ Bentuk(A(N - 1)) & " + " & Bentuk(D(N - 1)) & ")>>8 XOR T[(" & _ Bentuk(A(N - 1)) & " + " & Bentuk(D(N - 1)) & ") AND 255(10)] = " & _ Bentuk(Temp) & ">>8 XOR T[" & FBinerToDec(Temp2) & "] = " & _ Bentuk(Temp1) & " XOR " & Bentuk(Temp3) & " = " & Bentuk(A(N))) Call AddT(vbCrLf & "A[" & N & "] = " & Bentuk(A(N))) Temp = FAddBiner(B(N - 1), A(N), 32) Temp1 = FShiftRight(Temp, 8) Temp2 = FOpBiner("AND", Temp, "11111111") Temp3 = T(FBinerToDec(Temp2)) B(N) = FOpBiner("XOR", Temp1, Temp3, 32)
Pada
fungsibentukkunci()
digunakan
untuk mendapatkan
variabel
strKunciBiner yang diambil dari proses banyaknya putaran pembentukan kunci. Setelah proses s-box dan proses pembentukan kunci dijalankan, maka terakhir adalah proses enkripsi dan dekripsi, pada proses enkripsi sama dengan proses dekripsi karena memiliki proses yang sama. Script/perintah didalamnya adalah sebagai berikut :
54
Sub fungsiendekripsi() Dim Temp As String Dim X As String Dim X1 As String Dim X2 As String Dim N As Integer Dim N1 As Integer bIsProses = True Delay nS If IsStop Then Exit Sub Delay nS Call AddT(cText1 & " : '" & cPC & "'") Delay nS X = "" For N = 1 To Len(cPC) Delay nS Temp = FormatS(FDecToBiner(Asc(Mid(cPC, N, 1))), "0", 8) X = X & Temp Call AddT(vbCrLf & "Kode ascii dari '" & Mid(cPC, N, 1) & "' = " & _ Bentuk(Temp)) Delay nS If IsStop Then Exit Sub Next N Call AddT(vbCrLf & cText1 & " (dalam " & IIf(strB = "B", "biner", "heksa") & ") = " & Bentuk(X)) Delay nS Call AddT(vbCrLf & vbCrLf & "Kunci dari proses pembentukan kunci = " & Bentuk(strKunciBiner)) If IsStop Then Exit Sub 'Add Text Call AddT(vbCrLf & vbCrLf & cText2 & " = " & cText1 & " XOR Key") X1 = "" For N = 1 To Len(X) Step 8 X1 = Mid(strKunciBiner, (N Mod 32), 8) X2 = FOpBiner("XOR", Mid(X, N, 8), X1, 8) Call AddT(vbCrLf & Bentuk(Mid(X, N, 8)) & " XOR " & _ Bentuk(X1) & " = " & Bentuk(X2) & _ " = '" & Chr(FBinerToDec(X2)) & "'") Delay nS Next N " & Call AddT(vbCrLf & vbCrLf & "Hasil proses LCase(cProses1) & _ " = " & strCipher) Delay nS RTB1.SelStart = Len(RTB1.Text) End Sub
Pada fungsiendekripsi() dilakukan proses enkripsi/dekripsi dari seluruh karakter plainteks menjadi karakter chiperteks.
55
4.1.1.2 Tampilan Layar Tampilan layar merupakan tampilan yang akan diperlihatkan oleh pengguna sehingga dapat dirasakan manfaatnya. Lihat Gambar 4.1 tampilannya adalah sebagai berikut :
Gambar 4.1 Tampilan Simulasi Kriptografi Wake
56
4.2
Pengujian Dalam perancangan sistem perlu dilakukan pengujian sistem sebagai
verifikasi atas sistem yang telah dirancang. Verifikasi dilakukan untuk mengetahui kemungkinan terjadinya kesalahan dan untuk memastikan fungsifungsi yang terdapat dalam modul modul sistem berjalan dengan baik. Pada teknik pengujian aplikasi simulasi kriptografi wake ini, penulis menggunakan teknik pengujian blackbox dan whitebox, Tahapan pengujian ini meliputi skenario pengujian, hasil pengujian, dan analisis hasil pengujian.
4.2.1 Lingkungan Pengujian Berikut ini merupakan spesifikasi kebutuhan sistem, dimana sistem dibuat dan dijalankan. 1. Perangkat keras (hardware): a. Prosesor Intel Core 2 Duo 2.00 GHz b. RAM 2 GB c. Harddisk 250GB 2. Perangkat lunak (software): a. Visual Basic 6.0 merupakan bahasa pemrograman yang digunakan untuk pengembangan dan implementasi sistem aplikasi simulasi kriptografi metode wake. b. Windows XP Proffesional Service Pack 3 sebagai sistem operasi.
57
4.2.2 Pengujian Blackbox Sebelum pengujian sistem aplikasi simulasi kriptografi metode wake akan dijelaskan pada Tabel 4.1 tentang skenario normal dan tidak normal yang terjadi. Skenario yang dijelaskan antara lain skenario s-box, pembentukan kunci, enkripsi dan dekripsi. Tabel 4.1 Skenario Pengujian Blackbox Skenario
Sifat Normal
Proses s-box Tidak Normal
Proses pembentukan kunci
Normal
Melakukan proses pembentukan kunci dengan jumlah putaran
Tidak Normal
Tidak ada proses s-box dan proses pembentukan kunci Melakukan proses enkripsi dari seluruh karakter plainteks Tidak ada proses s-box , pembentukan kunci dan enkripsi. Mengembalikan proses hasil enkripsi menjadi karakter aslinya Tidak ada proses s-box , pembentukan kunci dan enkripsi.
Normal Proses enkripsi
Tidak Normal Normal
Proses dekripsi
Kondisi Awal Inisialisasi variabel TT[0]-TT[7] hingga menghasilkan variabel T[0]-T[255] dengan nilai bit biner atau heksa decimal Tidak ada proses s-box
Tidak Normal
Hasil yang diinginkan Variabel T[0]-T[255] memiliki nilai bit biner atau heksa decimal
Nilai variabel 0 (tidak ada) Semakin banyak jumlah putaran pembentukan kunci akan menghasilkan variabel yang rumit Nilai variabel 0 (tidak ada) Karakter yang di enkripsi menjadi karakter ascii yang tidak bisa di baca Karakter tidak di enkripsi Karakter hasil enkripsi yang tidak dapat dibaca dikembalikan menjadi teks aslinya Karakter tidak di enkripsi
58
Pada Tabel 4.2 akan dijelaskan hasil pengujian dari skenario s-box, pembentukan kunci, enkripsi dan dekripsi. Tabel 4.2 Hasil Pengujian Blackbox Skenario
Sifat Normal
Proses s-box
Tidak Normal Normal
Proses pembentukan kunci
Tidak Normal
Normal Proses enkripsi Tidak Normal Normal
Proses dekripsi Tidak Normal
Kondisi Awal Inisialisasi variabel TT[0]-TT[7] hingga menghasilka n variabel T[0]-T[255] dengan nilai bit biner atau heksa decimal Tidak ada proses s-box Melakukan proses pembentuka n kunci dengan jumlah putaran Tidak ada proses s-box dan proses pembentuka n kunci Melakukan proses enkripsi dari seluruh karakter plainteks Tidak ada proses Mengembali kan proses hasil enkripsi menjadi karakter aslinya Tidak ada proses
Hasil yang diinginkan Variabel T[0]T[255] memiliki nilai bit biner atau heksa decimal
Nilai variabel 0 (tidak ada) Semakin banyak jumlah putaran pembentukan kunci akan menghasilkan variabel yang rumit Nilai variabel 0 (tidak ada)
Hasil Pengujian Variabel T[0]T[255] memiliki nilai bit biner atau heksa decimal
Nilai variabel 0 (tidak ada) Semakin banyak jumlah putaran pembentukan kunci akan menghasilkan variabel yang rumit Nilai variabel 0 (tidak ada)
Karakter yang di enkripsi menjadi karakter ascii yang tidak bisa di baca
Karakter yang di enkripsi menjadi karakter ascii yang tidak bisa di baca
Karakter tidak di enkripsi Karakter hasil enkripsi yang tidak dapat dibaca dikembalikan menjadi teks aslinya
Karakter tidak di enkripsi Karakter hasil enkripsi yang tidak dapat dibaca dikembalikan menjadi teks aslinya Karakter tidak di enkripsi
Karakter tidak di enkripsi
Status Akhir sukses
sukses
sukses
sukses
59
4.2.3 Pengujian Whitebox White box adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki. Berikut ini Pengujian whitebox s-box dari sistem aplikasi kriptografi wake. Lihat Gambar 4.2
1
2
3
5
4
6 8
7
9 11
10
12 14
13
1. Simulasi Kriptografi WAKE 2. Proses S-Box 3. Output dari variabel T(0)T(255) berupa nilai biner atau heksadecimal 4. Keluaran dari proses s-box menghasilkan variabel T(0)T(255) 5. Pengulangan variabel sebanyak n=255 6. Proses pembentukan kunci 7. Keluaran dari proses pembentukan kunci menghasilkan variabel strKunciBiner 8. Pengulangan variabel sebanyak n=putaran pembentukan kunci 9. Proses enkripsi 10. Keluaran dari proses enkripsi menghasilkan variabel strCipher berupa teks yang tidak dapat dibaca 11. Pengulangan variabel sebanyak n=strPlain (jumlah karakter teks yang akan di enkripsi) 12. Proses dekripsi 13. Keluaran dari proses dekripsi menghasilkan variabel strPlain berupa pengembalian karakter teks aslinya dari hasil enkripsi sebelumnya 14. Pengulangan variabel sebanyak n=strCipher (jumlah karakter yang akan di dekripsi)
Gambar 4.2 Pengujian Whitebox Kriptografi Wake
60
Tabel 4.3 Tabel Matrix Pengujian Whitebox 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 1
2
3
4
5
6
7
8
9
10
11
12
13
14
1 1
1 1 1
1 1 1
1 1 1
1 1
4.2.4 Analisis Hasil Pengujian Setelah tahap pengujian maka dapat dianalisa bahwa: 1. Proses s-box menghasilkan variabel T[0]-T[255] yang memiliki nilai bit biner dan heksa decimal. 2. Proses pembentukan kunci memiliki jumlah putaran yang berbeda sehingga menghasilkan variabel yang berbeda pula, akan sangat sulit menebak kata kunci setelah dilakukan putaran proses pembentukan kunci. 3. Proses enkripsi menghasilkan karakter yang tidak bisa dibaca. 4. Proses dekripsi dapat mengembalikan karakter aslinya dari karakter hasil proses enkripsi sebelumnya.