Algoritma Proses Pembentukan Kunci Algoritma Proses Enkripsi

48 {6. Untuk N = 0 sampai 255, lakukan proses berikut} For N = 0 To 255 {X = X And FF7FFFFF + Z} X = FAddBinerFOpBinerAND,X,_ FHexToBinerFF7FFFFF,32,Z,32 {T[n] = T[n] AND 00FFFFFF XOR X} TN = FOpBinerXOR, FOpBinerAND, TN, _ FHexToBiner00FFFFFF, 32, X, 32 Next N {7. Inisialisasi nilai untuk beberapa variabel berikut} T256 = T0 X = FOpBinerAND, X, FDecToBiner255, 32 {8. Untuk N = 0 sampai T[255], lakukan proses berikut} For N = 0 To 255 {Temp = T[n XOR X] XOR X AND 255} Temp = TFBinerToDecFOpBinerXOR, FDecToBinerN, X, 32 Temp = FOpBinerXOR, Temp, X, 32 Temp = FOpBinerAND, Temp, FDecToBiner255, 32 {T[n] = T[Temp]} TN = TFBinerToDecTemp {T[X] = T[n+1]} TFBinerToDecX = TN + 1 Next N

4.1.2 Algoritma Proses Pembentukan Kunci

Proses pembentukan kunci pada metode WAKE adalah sebanyak n putaran. Banyak putaran besar n ditentukan oleh user. Hasil pembentukan kunci berbeda untuk setiap putaran. Universitas Sumatera Utara 49 Algoritma proses pembentukan kunci adalah sebagai berikut : {1. Ubah kunci 128 bit ke biner, pecah menjadi 4 kelompok dan masukkan nilainya ke A[0], B[0], C[0], D[0] masing – masing 32 bit} X = For N = 1 To LenpcKunci X = X FormatSFDecToBinerAscMidpcKunci,N, 1,0,8 Next N A0 = MidX, 1, 32 B0 = MidX, 33, 32 C0 = MidX, 65, 32 D0 = MidX, 97, 32 {Putaran kunci – n putaran} For N = 1 To pnPutaran AN = FungsiMAN - 1, DN - 1 BN = FungsiMBN - 1, AN CN = FungsiMCN - 1, BN DN = FungsiMDN - 1, CN Next N {Kunci yang terbentuk = D} strKunciBiner = DN - 1 Perancangan algoritma untuk fungsi MX,Y yang dipakai di dalam proses ini dalam bentuk sebuah fungsi. Algoritma fungsi MX,Y adalah sebagai berikut : {FUNGSI MX,Y} Public Function FungsiMpX As String, pY As String As String Dim Temp As String Dim Temp1 As String {Temp1 = X + Y} Temp1 = FAddBinerpX, pY, 32 {Temp = Temp1 Shift 8 kali} Temp = FShiftRightTemp1, 8 Universitas Sumatera Utara 50 {Temp1 = X + Y And 255} Temp1 = FBinerToDecFOpBinerAND, Temp1, 11111111 {Temp1 = T[X + Y And 255]} Temp1 = TValTemp1 {di-XOR TX + Y} Temp = FOpBinerXOR, Temp, Temp1, 32 {Kembalikan nilai ke fungsi M} FungsiM = Temp End Function

4.1.3 Algoritma Proses Enkripsi

Proses enkripsi pada metode WAKE adalah melakukan operasi XOR dari plaintext 32 bit dan kunci 32 bit untuk menghasilkan ciphertext 32 bit. Algoritma proses enkripsi adalah sebagai berikut : {Text untuk di-enkripsi plaintext} strPlain = pcEnkripsi {Ubah plaintext dari karakter ascii ke bentuk biner} X = For N = 1 To LenstrPlain X = X FormatSFDecToBinerAscMidstrPlain,N, 1,0,8 Next N {XOR-kan plaintext dengan kunci} X = FOpBinerXOR, X, strKunciBiner, 32 {Hasil XOR - ubah menjadi karakter ascii} cHasil = For N = 8 To 32 Step 8 cHasil = cHasil ChrFBinerToDecMidX, N - 7, 8 Next N Universitas Sumatera Utara 51 {Ciphertext – hasil enkripsi} strCipher = cHasil

4.1.4 Algoritma Proses Dekripsi