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
Fungsi-fungsi pendukung yang digunakan dalam proses pembentukan kunci, enkripsi dan dekripsi dalam metode IDEA adalah sebagai berikut :
1. Fungsi konversi dari biner ke desimal.
Pengubahan biner menjadi desimal Fungsi FBiner2DecpcText As String As Double
nHasil 0
Konversi dari belakang For nLoop
LenpcText To 1 Step -1 If MidpcText, nLoop, 1
1 Then nHasil
nHasil + 2 LenpcText - nLoop End If
Next nLoop Angka Desimal
FBiner2Dec nHasil
End Fungsi
Universitas Sumatera Utara
59 2. Fungsi konversi dari desimal ke biner.
Pengubahan desimal menjadi biner Fungsi FDec2BinerpnAngka As Double, Optional pnLength As Double = -
1 As String nHasilBagi
pnAngka While nHasilBagi 0
nSisaBagi FModnHasilBagi, 2
cBiner1 cBiner1 FormatnSisaBagi
nHasilBagi FDivnHasilBagi, 2
Wend If cBiner1
Then cBiner1 = 0 Ambil Terbalik
For nLoop LencBiner1 To 1 Step -1
cBiner2 cBiner2 MidcBiner1, nLoop, 1
Next nLoop If pnLength
-1 Then Angka Biner
FDec2Biner cBiner2
Else If LencBiner2 = pnLength Then
Angka Biner Kurang dari pnLength FDec2Biner
StringpnLength - LencBiner2, 0 cBiner2
Else Angka Biner Melebihi pnLength
FDec2Biner LeftcBiner2, pnLength
End If End If
End Fungsi
3. Fungsi konversi dari biner ke heksadesimal.
Biner ke heksa Fungsi FBiner2HexpcText As String As String
For i 1 To LenpcText Step 4
Universitas Sumatera Utara
60
FBiner2Hex FBiner2Hex HexFBiner2DecMidpcText, i, 4
Next i End Fungsi
4. Fungsi konversi dari heksadesimal ke desimal.
Heksa ke desimal Function FHex2DecpcText As String As Double
For i = 1 To LenpcText Select Case MidpcText, i, 1
Case 1 To 9: FHex2Dec = FHex2Dec + CDecMidpcText, i, 1 16 LenpcText - i
Case A, a: FHex2Dec = FHex2Dec + 10 16 LenpcText - i
Case B, b: FHex2Dec = FHex2Dec + 11 16 LenpcText - i
Case C, c: FHex2Dec = FHex2Dec + 12 16 LenpcText - i
Case D, d: FHex2Dec = FHex2Dec + 13 16 LenpcText - i
Case E, e: FHex2Dec = FHex2Dec + 14 16 LenpcText - i
Case F, f: FHex2Dec = FHex2Dec + 15 16 LenpcText - i
End Select Next i
End Function
5. Fungsi Rotate Left
Fungsi FRotateLeftpcText As String, pnRotate As Long As String cHasil
pcText For nLoop
1 To pnRotate cHasil
RightcHasil, LencHasil - 1 LeftcHasil, 1 Next nLoop
FRotateLeft cHasil
End Fungsi
Universitas Sumatera Utara
61 6. Fungsi XOR
Fungsi FXORBinerpcText1 As String, pcText2 As String, Optional pnByte As Long = 0 As String
Banyak byte nByte1
pnByte If nByte1
0 Then Ambil yang terpanjang
If LenpcText1 LenpcText2 Then nByte1
LenpcText1 Else
nByte1 LenpcText2
End If End If
cText1 FormatStrpcText1, 0, nByte1 Text-1
cText2 FormatStrpcText2, 0, nByte1 Text-2
For nF 1 To nByte1
cXOR cXOR IIfMidcText1, nF, 1 = MidcText2, nF, 1,
0, 1 Next nF
Hasil XOR cHasilXOR = FormatStrcXOR, 0, pnByte
FXORBiner = cHasilXOR End Fungsi
7. Fungsi Inverse Penjumlahan
FMinus Fungsi FMinuspcBiner As String As String
FMinus FDec2Biner65536 - FBiner2DecpcBiner, 16
End Fungsi
8. Fungsi Inverse Perkalian
Inverse functions Fungsi InverseA As Double As Double
n 65537
Universitas Sumatera Utara
62
G0 n
G1 A
V0 0
V1 1
While G1 0 Y
IntG0 G1 G2
G0 - Y G1 G0
G1 G1
G2 V2
V0 - Y V1 V0
V1 V1
V2 Wend
If V0 = 0 Then Inverse
V0 Else
Inverse V0 + n
End If End Fungsi
4.2 Implementasi Sistem