Algoritma Proses Dekripsi Algoritma

55

4.1.3 Algoritma Proses Dekripsi

Panjang text harus 8 karakter If LenpstrDecryptText 8 Then MsgBox Panjang text harus 8 karakter , vbCritical Exit Function End If Biner text - 64 bit strBinerText  For i  1 To LenpstrDecryptText strBinerText  strBinerText FDec2BinerAscMidpstrDecryptText, i, 1, 8 Next i Kelompokkan ke 4 sub blok X j  0 For i  1 To 64 Step 16 j  j + 1 Xj  MidstrBinerText, i, 16 Next i Lakukan sebanyak 8 putaran For i  1 To 8 Simpan hasil X X1i  X1 X2i X2 X3i  X3 X4i  X4 ---- K1 K4 --- dipangkat -1 ganti jadi Algo-1 - Hasil = X1 K1 mod 216 + 1 nTmp1  FBiner2DecX1 FBiner2DecKi, 1 Hasil1  FDec2BinerFModnTmp1, 2 16 + 1, 16 Algo-2 - Hasil = X2 + K2 mod 216 nTmp1  FBiner2DecX2 + FBiner2DecKi, 2 Hasil2  FDec2BinerFModnTmp1, 2 16, 16 Universitas Sumatera Utara 56 Algo-3 - Hasil = X3 + K3 mod 216 nTmp1  FBiner2DecX3 + FBiner2DecKi, 3 Hasil3  FDec2BinerFModnTmp1, 2 16, 16 Algo-4 - Hasil = X4 K4 mod 216 + 1 nTmp1  FBiner2DecX4 FBiner2DecKi, 4 Hasil4  FDec2BinerFModnTmp1, 2 16 + 1, 16 Algo-5 - Hasil = Hasil1 XOR Hasil3 Hasil5  FXORBinerHasil1, Hasil3, 16 Algo-6 - Hasil = Hasil2 XOR Hasil4 Hasil6  FXORBinerHasil2, Hasil4, 16 Algo-7 - Hasil = Hasil5 K5 mod 216 + 1 nTmp1  FBiner2DecHasil5 FBiner2DecKi, 5 Hasil7  FDec2BinerFModnTmp1, 2 16 + 1, 16 Algo-8 - Hasil = Hasil6 + Hasil7 mod 216 nTmp1  FBiner2DecHasil6 + FBiner2DecHasil7 Hasil8  FDec2BinerFModnTmp1, 2 16, 16 Algo-9 - Hasil = Hasil8 K6 mod 216 + 1 nTmp1  FBiner2DecHasil8 FBiner2DecKi, 6 Hasil9  FDec2BinerFModnTmp1, 2 16 + 1, 16 Algo-10 - Hasil = Hasil7 Hasil9 mod 216 nTmp1  FBiner2DecHasil7 + FBiner2DecHasil9 Hasil10  FDec2BinerFModnTmp1, 2 16, 16 Algo-11 - Hasil = Hasil1 XOR Hasil9 Hasil11  FXORBinerHasil1, Hasil9, 16 Algo-12 - Hasil = Hasil3 XOR Hasil9 Hasil12  FXORBinerHasil3, Hasil9, 16 Algo-13 - Hasil = Hasil2 XOR Hasil10 Hasil13  FXORBinerHasil2, Hasil10, 16 Universitas Sumatera Utara 57 Algo-14 - Hasil = Hasil4 XOR Hasil10 Hasil14  FXORBinerHasil4, Hasil10, 16 Hasil X1  Hasil11 If i 8 Then Swap X2  Hasil12 X3  Hasil13 Else No Swap X2  Hasil13 X3  Hasil12 End If X4  Hasil14 Next i Simpan hasil X X19  Hasil11 X29  Hasil13 X39  Hasil12 X49  Hasil14 ---- TRANSFORMASI OUTPUT ---- Algo-1 - Hasil = X1 K1 mod 216 + 1 nTmp1  FBiner2DecX1 FBiner2DecK9, 1 Hasil1  FDec2BinerFModnTmp1, 2 16 + 1, 16 Algo-2 - Hasil = X2 + K2 mod 216 nTmp1  FBiner2DecX2 + FBiner2DecK9, 2 Hasil2  FDec2BinerFModnTmp1, 2 16, 16 Algo-3 - Hasil = X3 + K3 mod 216 nTmp1  FBiner2DecX3 + FBiner2DecK9, 3 Hasil3  FDec2BinerFModnTmp1, 2 16, 16 Algo-4 - Hasil = X4 K4 mod 216 + 1 nTmp1  FBiner2DecX4 FBiner2DecK9, 4 Hasil4  FDec2BinerFModnTmp1, 2 16 + 1, 16 Universitas Sumatera Utara 58 Simpan hasil X X110  Hasil1 X210  Hasil2 X310  Hasil3 X410  Hasil4 ---- KONVERSI KE ASCII ---- strHasil  cTmp1  Hasil1 Hasil2 Hasil3 Hasil4 For i  1 To 64 Step 8 strHasil  strHasil ChrFBiner2DecMidcTmp1, i, 8 Next i Hasil dekripsi IDEADecryption  strHasil End Function

4.1.4 Algoritma Fungsi Pendukung dalam Proses Pembentukan Kunci, Enkripsi dan Dekripsi