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