BAB III METODELOGI PENELITIAN
4.4 Implementasi
4.4.1 Implementasi Sistem
4.4.1.1 Proses Enkripsi
Dimana dalam proses algoritma IDEA ini memiliki 8 iterasi (putaran) di tambah satu putaran transformasi output. Untuk lebih jelasnya tentang bagaimana proses kerja enkripsi algoritma IDEA ini dapat di lihat pada contoh berikut:
Misalkan kita akan mengenkripsi pesan, dimana pesan plaintext dan kunci.
Kunci : KRIPTOGRAFI IDEA Plaintext : ABDHANAN
Berikut ini adalah proses enkripsi dari algoritma IDEA.
PROSES UNTUK BLOCK 1 PUTARAN 1
L#1 (X1 * K1) mod (2^16 + 1)
= (0100000101001100 * 0100101101010010) mod (2^16 + 1)
= 0001101100100010 L#2 (X2 + K2) mod 2^16
= 0101000001001001 + 0100100101010000) mod (2^16)
= 1001100110011001 L#3 (X3 + K3) mod 2^16
= 0100000101001110 + 0101010001001111) mod (2^16)
= 1001010110011101 L#4 (X4 * K4) mod (2^16 + 1)
= (0101010001001111 * 0100011101010010) mod (2^16 + 1)
= 1101001011010010 L#5 L#1 XOR L#3
= 0001101100100010 XOR 1001010110011101 = 1000111010111111 L#6 L#2 XOR L#4
= 1001100110011001 XOR 1101001011010010 = 0100101101001011 L#7 (L#5 * K5) mod (2^16 + 1)
= 1000111010111111 * 0100000101000110 mod (2^16 + 1)
= 0110001011010101 L#8 (L#6 + L#7) mod 2^16
= 0100101101001011 + 0110001011010101 mod 2^16
= 1010111000100000 L#9 (L#8 * K6) mod (2^16 + 1)
= 1010111000100000 * 0100100100100000 = 1011001001000100 L#10 (L#7 + L#9) mod 2^16
= 0110001011010101 + 1011001001000100 mod 2^16
= 0001010100011001 L#11 L#1 XOR L#9
= 0001101100100010 XOR 1011001001000100 = 1010100101100110 L#12 L#3 XOR L#9
= 1001010110011101 XOR 1011001001000100 = 0010011111011001 L#13 L#2 XOR L#10
= 1001100110011001 XOR 0001010100011001 = 1000110010000000
L#14 L#4 XOR L#10
= 1101001011010010 XOR 0001010100011001 = 1100011111001011 PUTARAN 2
L#1 (X1 * K1) mod (2^16 + 1)
= (1010100101100110 * 0100100101000100) mod (2^16 + 1)
= 1110010010011110 L#2 (X2 + K2) mod 2^16
= 0010011111011001 + 0100010101000001) mod (2^16)
= 0110110100011010 L#3 (X3 + K3) mod 2^16
= 1000110010000000 + 1010000010101000) mod (2^16)
= 0010110100101000 L#4 (X4 * K4) mod (2^16 + 1)
= (1100011111001011 * 1001111010001110) mod (2^16 + 1)
= 1010000011011101 L#5 L#1 XOR L#3
= 1110010010011110 XOR 0010110100101000 = 1100100110110110 L#6 L#2 XOR L#4
= 0110110100011010 XOR 1010000011011101 = 1100110111000111 L#7 (L#5 * K5) mod (2^16 + 1)
= 1100100110110110 * 1010010010000010 mod (2^16 + 1)
= 1000010011001110 L#8 (L#6 + L#7) mod 2^16
= 1100110111000111 + 1000010011001110 mod 2^16
= 0101001010010101 L#9 (L#8 * K6) mod (2^16 + 1)
= 0101001010010101 * 1000110010010010 = 0110011110100010 L#10 (L#7 + L#9) mod 2^16
= 1000010011001110 + 0110011110100010 mod 2^16
= 1110110001110000 L#11 L#1 XOR L#9
= 1110010010011110 XOR 0110011110100010 = 1000001100111100 L#12 L#3 XOR L#9
= 0010110100101000 XOR 0110011110100010 = 0100101010001010 L#13 L#2 XOR L#10
= 0110110100011010 XOR 1110110001110000 = 1000000101101010 L#14 L#4 XOR L#10
= 1010000011011101 XOR 1110110001110000 = 0100110010101101
PUTARAN 3
L#1 (X1 * K1) mod (2^16 + 1)
= (1000001100111100 * 0100000010010010) mod (2^16 + 1)
= 1011011100011111
L#2 (X2 + K2) mod 2^16
= 0100101010001010 + 1000100010001010) mod (2^16)
= 1101001100010100 L#3 (X3 + K3) mod 2^16
= 1000000101101010 + 1000001010010110) mod (2^16)
= 0000010000000000 L#4 (X4 * K4) mod (2^16 + 1)
= (0100110010101101 * 1010010010010010) mod (2^16 + 1)
= 0101110101100000 L#5 L#1 XOR L#3
= 1011011100011111 XOR 0000010000000000 = 1011001100011111 L#6 L#2 XOR L#4
= 1101001100010100 XOR 0101110101100000 = 1000111001110100 L#7 (L#5 * K5) mod (2^16 + 1)
= 1011001100011111 * 0001110101001001 mod (2^16 + 1)
= 1000001001011010 L#8 (L#6 + L#7) mod 2^16
= 1000111001110100 + 1000001001011010 mod 2^16
= 0001000011001110 L#9 (L#8 * K6) mod (2^16 + 1)
= 0001000011001110 * 0000010100011001 = 1010100111001001 L#10 (L#7 + L#9) mod 2^16
= 1000001001011010 + 1010100111001001 mod 2^16
= 0010110000100011 L#11 L#1 XOR L#9
= 1011011100011111 XOR 1010100111001001 = 0001111011010110 L#12 L#3 XOR L#9
= 0000010000000000 XOR 1010100111001001 = 1010110111001001 L#13 L#2 XOR L#10
= 1101001100010100 XOR 0010110000100011 = 1111111100110111 L#14 L#4 XOR L#10
= 0101110101100000 XOR 0010110000100011 = 0111000101000011 PUTARAN 4
L#1 (X1 * K1) mod (2^16 + 1)
= (0001111011010110 * 0010010010000001) mod (2^16 + 1)
= 1001110101110001
L#2 (X2 + K2) mod 2^16
= 1010110111001001 + 0010010100010001) mod (2^16)
= 1101001011011010
L#3 (X3 + K3) mod 2^16
= 1111111100110111 + 0001010100000101) mod (2^16)
= 0001010000111100 L#4 (X4 * K4) mod (2^16 + 1)
= (0111000101000011 * 0010110101001001) mod (2^16 + 1)
= 1111111100010011 L#5 L#1 XOR L#3
= 1001110101110001 XOR 0001010000111100 = 1000100101001101 L#6 L#2 XOR L#4
= 1101001011011010 XOR 1111111100010011 = 0010110111001001 L#7 (L#5 * K5) mod (2^16 + 1)
= 1000100101001101 * 0010010101000001 mod (2^16 + 1)
= 1110100110010011 L#8 (L#6 + L#7) mod 2^16
= 0010110111001001 + 1110100110010011 mod 2^16
= 0001011101011100 L#9 (L#8 * K6) mod (2^16 + 1)
= 0001011101011100 * 0101000100111101 = 1010010110000011 L#10 (L#7 + L#9) mod 2^16
= 1110100110010011 + 1010010110000011 mod 2^16
= 1000111100010110 L#11 L#1 XOR L#9
= 1001110101110001 XOR 1010010110000011 = 0011100011110010 L#12 L#3 XOR L#9
= 0001010000111100 XOR 1010010110000011 = 1011000110111111 L#13 L#2 XOR L#10
= 1101001011011010 XOR 1000111100010110 = 0101110111001100 L#14 L#4 XOR L#10
= 1111111100010011 XOR 1000111100010110 = 0111000000000101 PUTARAN 5
L#1 (X1 * K1) mod (2^16 + 1)
= (0011100011110010 * 0011001001001001) mod (2^16 + 1)
= 0111010111010011 L#2 (X2 + K2) mod 2^16
= 1011000110111111 + 0000001001001010) mod (2^16)
= 1011010000001001
L#3 (X3 + K3) mod 2^16
= 0101110111001100 + 0010001000101010) mod (2^16)
= 0111111111110110 L#4 (X4 * K4) mod (2^16 + 1)
= (0111000000000101 * 0000101001011010) mod (2^16 + 1)
= 1000111100111011 L#5 L#1 XOR L#3
= 0111010111010011 XOR 0111111111110110 = 0000101000100101 L#6 L#2 XOR L#4
= 1011010000001001 XOR 1000111100111011 = 0011101100110010 L#7 (L#5 * K5) mod (2^16 + 1)
= 0000101000100101 * 1001001001001010 mod (2^16 + 1)
= 0000001011100110 L#8 (L#6 + L#7) mod 2^16
= 0011101100110010 + 0000001011100110 mod 2^16
= 0011111000011000 L#9 (L#8 * K6) mod (2^16 + 1)
= 0011111000011000 * 1000001010100010 = 0101101110000001 L#10 (L#7 + L#9) mod 2^16
= 0000001011100110 + 0101101110000001 mod 2^16
= 0101111001100111 L#11 L#1 XOR L#9
= 0111010111010011 XOR 0101101110000001 = 0010111001010010 L#12 L#3 XOR L#9
= 0111111111110110 XOR 0101101110000001 = 0010010001110111 L#13 L#2 XOR L#10
= 1011010000001001 XOR 0101111001100111 = 1110101001101110 L#14 L#4 XOR L#10
= 1000111100111011 XOR 0101111001100111 = 1101000101011100 PUTARAN 6
L#1 (X1 * K1) mod (2^16 + 1)
= (0010111001010010 * 0111101000111010) mod (2^16 + 1)
= 0111110001110111 L#2 (X2 + K2) mod 2^16
= 0010010001110111 + 1001001000001010) mod (2^16)
= 1011011010000001 L#3 (X3 + K3) mod 2^16
= 1110101001101110 + 1001010001000100) mod (2^16)
= 0111111010110010
L#4 (X4 * K4) mod (2^16 + 1)
= (1101000101011100 * 0101010000010100) mod (2^16 + 1)
= 0100011001101110 L#5 L#1 XOR L#3
= 0111110001110111 XOR 0111111010110010 = 0000001011000101 L#6 L#2 XOR L#4
= 1011011010000001 XOR 0100011001101110 = 1111000011101111 L#7 (L#5 * K5) mod (2^16 + 1)
= 0000001011000101 * 1011010100100100 mod (2^16 + 1)
= 1010101010111111 L#8 (L#6 + L#7) mod 2^16
= 1111000011101111 + 1010101010111111 mod 2^16
= 1001101110101110 L#9 (L#8 * K6) mod (2^16 + 1)
= 1001101110101110 * 1001010100000101 = 1111010111001000 L#10 (L#7 + L#9) mod 2^16
= 1010101010111111 + 1111010111001000 mod 2^16
= 1010000010000111 L#11 L#1 XOR L#9
= 0111110001110111 XOR 1111010111001000 = 1000100110111111 L#12 L#3 XOR L#9
= 0111111010110010 XOR 1111010111001000 = 1000101101111010 L#13 L#2 XOR L#10
= 1011011010000001 XOR 1010000010000111 = 0001011000000110 L#14 L#4 XOR L#10
= 0100011001101110 XOR 1010000010000111 = 1110011011101001 PUTARAN 7
L#1 (X1 * K1) mod (2^16 + 1)
= (1000100110111111 * 0100010011110100) mod (2^16 + 1)
= 1110000011110011 L#2 (X2 + K2) mod 2^16
= 1000101101111010 + 0111010100100100) mod (2^16)
= 0000000010011110 L#3 (X3 + K3) mod 2^16
= 0001011000000110 + 0001010001100100) mod (2^16)
= 0010101001101010 L#4 (X4 * K4) mod (2^16 + 1)
= (1110011011101001 * 1001001000000100) mod (2^16 + 1)
= 1111100111110001
L#5 L#1 XOR L#3
= 1110000011110011 XOR 0010101001101010 = 1100101010011001 L#6 L#2 XOR L#4
= 0000000010011110 XOR 1111100111110001 = 1111100101101111
L#7 (L#5 * K5) mod (2^16 + 1)
= 1100101010011001 * 0010100101101010 mod (2^16 + 1)
= 0100001110010100 L#8 (L#6 + L#7) mod 2^16
= 1111100101101111 + 0100001110010100 mod 2^16
= 0011110100000011 L#9 (L#8 * K6) mod (2^16 + 1)
= 0011110100000011 * 0100100100101010 = 1100110000001111 L#10 (L#7 + L#9) mod 2^16
= 0100001110010100 + 1100110000001111 mod 2^16
= 0000111110100011 L#11 L#1 XOR L#9
= 1110000011110011 XOR 1100110000001111 = 0010110011111100 L#12 L#3 XOR L#9
= 0010101001101010 XOR 1100110000001111 = 1110011001100101 L#13 L#2 XOR L#10
= 0000000010011110 XOR 0000111110100011 = 0000111100111101 L#14 L#4 XOR L#10
= 1111100111110001 XOR 0000111110100011 = 1111011001010010 PUTARAN 8
L#1 (X1 * K1) mod (2^16 + 1)
= (0010110011111100 * 0000101010001001) mod (2^16 + 1)
= 1110100100000011 L#2 (X2 + K2) mod 2^16
= 1110011001100101 + 1110100011101010) mod (2^16)
= 1100111101001111 L#3 (X3 + K3) mod 2^16
= 0000111100111101 + 0100100000101000) mod (2^16)
= 0101011101100101 L#4 (X4 * K4) mod (2^16 + 1)
= (1111011001010010 * 1100100100100100) mod (2^16 + 1)
= 0100010000000000 L#5 L#1 XOR L#3
= 1110100100000011 XOR 0101011101100101 = 1011111001100110 L#6 L#2 XOR L#4
= 1100111101001111 XOR 0100010000000000 = 1000101101001111
L#7 (L#5 * K5) mod (2^16 + 1)
= 1011111001100110 * 0000100100101000 mod (2^16 + 1)
= 0100111100100001 L#8 (L#6 + L#7) mod 2^16
= 1000101101001111 + 0100111100100001mod 2^16
= 1101101001110000 L#9 (L#8 * K6) mod (2^16 + 1)
= 1101101001110000 * 1000100010101000 = 0110010011100110 L#10 (L#7 + L#9) mod 2^16
= 0100111100100001 + 0110010011100110mod 2^16
= 1011010000000111 L#11 L#1 XOR L#9
= 1110100100000011 XOR 0110010011100110 = 1000110111100101 L#12 L#3 XOR L#9
= 0101011101100101 XOR 0110010011100110 = 0011001110000011 L#13 L#2 XOR L#10
= 1100111101001111 XOR 1011010000000111 = 0111101101001000 L#14 L#4 XOR L#10
= 0100010000000000 XOR 1011010000000111 = 1111000000000111 TRANSFORMASI OUTPUT 1
L#1 (X1 * K1) mod (2^16 + 1)
= 1000110111100101 * 0101010000010101 mod (2^16 + 1)
= 1001100100101111 = ™/
L#2 (X2 + K2) mod 2^16
= 0111101101001000 + 0001001111010001 Mod 2 ^ 16
= 1000111100011001 = •_
L#3 (X3 + K3) mod 2^16
= 0011001110000011 + 1101010010010000 mod 2^16
= 0000100000010011 = __
L#4 (X4 * K4) mod (2^16 + 1)
= 1111000000000111 * 0101000110010010 mod (2^16 + 1)
= 1100111010000100 = ΄
Setelah 8 putaran dan di tambah satu putaran transfortasi proses enkripsi selesai, maka di dapatkan Chiper Text ™/•hŠm?çǺI¦
4.4.1.1.1 Flow Chat Enkripsi Data
Berikut ditampilan flowchat proses Enkripsi data dimana pesan plaintext dan kunci.
Kunci : KRIPTOGRAFI IDEA Plaintext : ABDHANAN
User
Plain Teks : ABDHANAN Dan Kunci : KRIPTOGRAFI IDEA
Menguji variabel Inputan (Var. Lengkap)
Pembentukan Block Proses (Jlh. Block=1) Y
T
Proses Ke n
Proses Ke n proses_ kunci
prosespbin proseskbin
Proses_ Encryp
Menghasilkan chipertext
=
™/ hŠm?çǺI
selesai
Beberapa Contoh Enkripsi Data
Berikut diperlihatkan beberapa contoh Enkripsi yang dihasilkan menggunakan program aplikasi ini dalam Teori Enkripsi IDEA.
No. Plain Text Kata Kunci Ciphertext
1 ubudiyah mahasiswadsabang ä Ï
2 kuliahIT programmerdrsabang 4÷ýÈ@Æ •
3 kuncikey passworddankunci Ó_ÒÓàc-C
4 plaintex crystaletekeydat úÝö$r-¾
5 proteksi dataterkuncibaru µu¿ð?«ï
4.4.1.2 Proses Deskripsi
Proses dekripsi merupakan proses kebalikan dari proses enkripsi.
Proses dekripsi menggunakan kunci yang sama dengan proses enkripsi. Sebagai contoh, jika ingin di dekripsikan kembali dari hasil enkripsi di atas dengan menggunakan kunci yang sama, maka hasilnya sebagai berikut.
PROSES UNTUK BLOCK 1 PUTARAN 1
L#1 (X1 * K1) mod (2^16 + 1)
= (1001100100101111 * 1000000100010001) mod (2^16 + 1)
= 1000110111100101 L#2 (X2 + K2) mod 2^16
= 1000111100011001 + 1110110000101111) mod (2^16)
= 0111101101001000 L#3 (X3 + K3) mod 2^16
= 0000100000010011 + 0010101101110000) mod (2^16)
= 0011001110000011 L#4 (X4 * K4) mod (2^16 + 1)
= (1100111010000100 * 1110100111000111) mod (2^16 + 1)
= 1111000000000111 L#5 L#1 XOR L#3
= 1000110111100101 XOR 0011001110000011 = 1011111001100110 L#6 L#2 XOR L#4
= 0111101101001000 XOR 1111000000000111 = 1000101101001111 L#7 (L#5 * K5) mod (2^16 + 1)
= 1011111001100110 * 0000100100101000 mod (2^16 + 1)
= 0100111100100001 L#8 (L#6 + L#7) mod 2^16
= 1000101101001111 + 0100111100100001 mod 2^16
= 1101101001110000 L#9 (L#8 * K6) mod (2^16 + 1)
= 1101101001110000 * 1000100010101000 = 0110010011100110 L#10 (L#7 + L#9) mod 2^16
= 0100111100100001 + 0110010011100110 mod 2^16
= 1011010000000111 L#11 L#1 XOR L#9
= 1000110111100101 XOR 0110010011100110 = 1110100100000011 L#12 L#3 XOR L#9
= 0011001110000011 XOR 0110010011100110 = 0101011101100101 L#13 L#2 XOR L#10
= 0111101101001000 XOR 1011010000000111 = 1100111101001111 L#14 L#4 XOR L#10
= 1111000000000111 XOR 1011010000000111 = 0100010000000000 PUTARAN 2
L#1 (X1 * K1) mod (2^16 + 1)
= (1110100100000011 * 0000000011110011) mod (2^16 + 1)
= 0010110011111100 L#2 (X2 + K2) mod 2^16
= 0101011101100101 + 1011011111011000) mod (2^16)
= 0000111100111101 L#3 (X3 + K3) mod 2^16
= 1100111101001111 + 0001011100010110) mod (2^16)
= 1110011001100101 L#4 (X4 * K4) mod (2^16 + 1)
= (0100010000000000 * 1100101000011011) mod (2^16 + 1)
= 1111011001010010 L#5 L#1 XOR L#3
= 0010110011111100 XOR 1110011001100101 = 1100101010011001 L#6 L#2 XOR L#4
= 0000111100111101 XOR 1111011001010010 = 1111100101101111 L#7 (L#5 * K5) mod (2^16 + 1)
= 1100101010011001 * 0010100101101010 mod (2^16 + 1)
= 0100001110010100 L#8 (L#6 + L#7) mod 2^16
= 1111100101101111 + 0100001110010100 mod 2^16
= 0011110100000011 L#9 (L#8 * K6) mod (2^16 + 1)
= 0011110100000011 * 0100100100101010 = 1100110000001111
L#10 (L#7 + L#9) mod 2^16
= 0100001110010100 + 1100110000001111 mod 2^16
= 0000111110100011 L#11 L#1 XOR L#9
= 0010110011111100 XOR 1100110000001111 = 1110000011110011 L#12 L#3 XOR L#9
= 1110011001100101 XOR 1100110000001111 = 0010101001101010 L#13 L#2 XOR L#10
= 0000111100111101 XOR 0000111110100011 = 0000000010011110 L#14 L#4 XOR L#10
= 1111011001010010 XOR 0000111110100011 = 1111100111110001 PUTARAN 3
L#1 (X1 * K1) mod (2^16 + 1)
= (1110000011110011 * 0111100010110101) mod (2^16 + 1)
= 1000100110111111 L#2 (X2 + K2) mod 2^16
= 0010101001101010 + 1110101110011100) mod (2^16)
= 0001011000000110 L#3 (X3 + K3) mod 2^16
= 0000000010011110 + 1000101011011100) mod (2^16)
= 1000101101111010 L#4 (X4 * K4) mod (2^16 + 1)
= (1111100111110001 * 0111110101100001) mod (2^16 + 1)
= 1110011011101001 L#5 L#1 XOR L#3
= 1000100110111111 XOR 1000101101111010 = 0000001011000101 L#6 L#2 XOR L#4
= 0001011000000110 XOR 1110011011101001 = 1111000011101111 L#7 (L#5 * K5) mod (2^16 + 1)
= 0000001011000101 * 1011010100100100 mod (2^16 + 1)
= 1010101010111111 L#8 (L#6 + L#7) mod 2^16
= 1111000011101111 + 1010101010111111 mod 2^16
= 1001101110101110 L#9 (L#8 * K6) mod (2^16 + 1)
= 1001101110101110 * 1001010100000101 = 1111010111001000 L#10 (L#7 + L#9) mod 2^16
= 1010101010111111 + 1111010111001000 mod 2^16
= 1010000010000111 L#11 L#1 XOR L#9
= 1000100110111111 XOR 1111010111001000 = 0111110001110111
L#12 L#3 XOR L#9
= 1000101101111010 XOR 1111010111001000 = 0111111010110010 L#13 L#2 XOR L#10
= 0001011000000110 XOR 1010000010000111 = 1011011010000001 L#14 L#4 XOR L#10
= 1110011011101001 XOR 1010000010000111 = 0100011001101110 PUTARAN 4
L#1 (X1 * K1) mod (2^16 + 1)
= (0111110001110111 * 0111010100100011) mod (2^16 + 1)
= 0010111001010010 L#2 (X2 + K2) mod 2^16
= 0111111010110010 + 0110101110111100) mod (2^16)
= 1110101001101110
L#3 (X3 + K3) mod 2^16
= 1011011010000001 + 0110110111110110) mod (2^16)
= 0010010001110111 L#4 (X4 * K4) mod (2^16 + 1)
= (0100011001101110 * 0100101000000100) mod (2^16 + 1)
= 1101000101011100 L#5 L#1 XOR L#3
= 0010111001010010 XOR 0010010001110111 = 0000101000100101 L#6 L#2 XOR L#4
= 1110101001101110 XOR 1101000101011100 = 0011101100110010 L#7 (L#5 * K5) mod (2^16 + 1)
= 0000101000100101 * 1001001001001010 mod (2^16 + 1)
= 0000001011100110 L#8 (L#6 + L#7) mod 2^16
= 0011101100110010 + 0000001011100110 mod 2^16
= 0011111000011000 L#9 (L#8 * K6) mod (2^16 + 1)
= 0011111000011000 * 1000001010100010 = 0101101110000001 L#10 (L#7 + L#9) mod 2^16
= 0000001011100110 + 0101101110000001 mod 2^16
= 0101111001100111 L#11 L#1 XOR L#9
= 0010111001010010 XOR 0101101110000001 = 0111010111010011 L#12 L#3 XOR L#9
= 0010010001110111 XOR 0101101110000001 = 0111111111110110 L#13 L#2 XOR L#10
= 1110101001101110 XOR 0101111001100111 = 1011010000001001 L#14 L#4 XOR L#10
= 1101000101011100 XOR 0101111001100111 = 1000111100111011 PUTARAN 5
L#1 (X1 * K1) mod (2^16 + 1)
= (0111010111010011 * 0010100001101001) mod (2^16 + 1)
= 0011100011110010 L#2 (X2 + K2) mod 2^16
= 0111111111110110 + 1101110111010110) mod (2^16)
= 0101110111001100 L#3 (X3 + K3) mod 2^16
= 1011010000001001 + 1111110110110110) mod (2^16)
= 1011000110111111
L#4 (X4 * K4) mod (2^16 + 1)
= (1000111100111011 * 1110101001110110) mod (2^16 + 1)
= 0111000000000101 L#5 L#1 XOR L#3
= 0011100011110010 XOR 1011000110111111 = 1000100101001101 L#6 L#2 XOR L#4
= 0101110111001100 XOR 0111000000000101 = 0010110111001001 L#7 (L#5 * K5) mod (2^16 + 1)
= 1000100101001101 * 0010010101000001 mod (2^16 + 1)
= 1110100110010011 L#8 (L#6 + L#7) mod 2^16
= 0010110111001001 + 1110100110010011 mod 2^16
= 0001011101011100 L#9 (L#8 * K6) mod (2^16 + 1)
= 0001011101011100 * 0101000100111101 = 1010010110000011 L#10 (L#7 + L#9) mod 2^16
= 1110100110010011 + 1010010110000011 mod 2^16
= 1000111100010110 L#11 L#1 XOR L#9
= 0011100011110010 XOR 1010010110000011 = 1001110101110001 L#12 L#3 XOR L#9
= 1011000110111111 XOR 1010010110000011 = 0001010000111100 L#13 L#2 XOR L#10
= 0101110111001100 XOR 1000111100010110 = 1101001011011010 L#14 L#4 XOR L#10
= 0111000000000101 XOR 1000111100010110 = 1111111100010011
PUTARAN 6
L#1 (X1 * K1) mod (2^16 + 1)
= (1001110101110001 * 1111010110000011) mod (2^16 + 1)
= 0001111011010110 L#2 (X2 + K2) mod 2^16
= 0001010000111100 + 1110101011111011) mod (2^16)
= 1111111100110111 L#3 (X3 + K3) mod 2^16
= 1101001011011010 + 1101101011101111) mod (2^16)
= 1010110111001001 L#4 (X4 * K4) mod (2^16 + 1)
= (1111111100010011 * 0000010011100111) mod (2^16 + 1)
= 0111000101000011
L#5 L#1 XOR L#3
= 0001111011010110 XOR 1010110111001001 = 1011001100011111 L#6 L#2 XOR L#4
= 1111111100110111 XOR 0111000101000011 = 1000111001110100 L#7 (L#5 * K5) mod (2^16 + 1)
= 1011001100011111 * 0001110101001001 mod (2^16 + 1)
= 1000001001011010 L#8 (L#6 + L#7) mod 2^16
= 1000111001110100 + 1000001001011010 mod 2^16
= 0001000011001110 L#9 (L#8 * K6) mod (2^16 + 1)
= 0001000011001110 * 0000010100011001 = 1010100111001001 L#10 (L#7 + L#9) mod 2^16
= 1000001001011010 + 1010100111001001 mod 2^16
= 0010110000100011 L#11 L#1 XOR L#9
= 0001111011010110 XOR 1010100111001001 = 1011011100011111 L#12 L#3 XOR L#9
= 1010110111001001 XOR 1010100111001001 = 0000010000000000 L#13 L#2 XOR L#10
= 1111111100110111 XOR 0010110000100011 = 1101001100010100 L#14 L#4 XOR L#10
= 0111000101000011 XOR 0010110000100011 = 0101110101100000 PUTARAN 7
L#1 (X1 * K1) mod (2^16 + 1)
= (1011011100011111 * 1011111000100011) mod (2^16 + 1)
= 1000001100111100
L#2 (X2 + K2) mod 2^16
= 0000010000000000 + 0111110101101010) mod (2^16)
= 1000000101101010 L#3 (X3 + K3) mod 2^16
= 1101001100010100 + 0111011101110110) mod (2^16)
= 0100101010001010 L#4 (X4 * K4) mod (2^16 + 1)
= (0101110101100000 * 1100010011101100) mod (2^16 + 1)
= 0100110010101101 L#5 L#1 XOR L#3
= 1000001100111100 XOR 0100101010001010 = 1100100110110110 L#6 L#2 XOR L#4
= 1000000101101010 XOR 0100110010101101 = 1100110111000111 L#7 (L#5 * K5) mod (2^16 + 1)
= 1100100110110110 * 1010010010000010 mod (2^16 + 1)
= 1000010011001110 L#8 (L#6 + L#7) mod 2^16
= 1100110111000111 + 1000010011001110 mod 2^16
= 0101001010010101 L#9 (L#8 * K6) mod (2^16 + 1)
= 0101001010010101 * 1000110010010010 = 0110011110100010 L#10 (L#7 + L#9) mod 2^16
= 1000010011001110 + 0110011110100010 mod 2^16
= 1110110001110000 L#11 L#1 XOR L#9
= 1000001100111100 XOR 0110011110100010 = 1110010010011110 L#12 L#3 XOR L#9
= 0100101010001010 XOR 0110011110100010 = 0010110100101000 L#13 L#2 XOR L#10
= 1000000101101010 XOR 1110110001110000 = 0110110100011010 L#14 L#4 XOR L#10
= 0100110010101101 XOR 1110110001110000 = 1010000011011101 PUTARAN 8
L#1 (X1 * K1) mod (2^16 + 1)
= (1110010010011110 * 0001111110110101) mod (2^16 + 1)
= 1010100101100110 L#2 (X2 + K2) mod 2^16
= 0010110100101000 + 0101111101011000) mod (2^16)
= 1000110010000000 L#3 (X3 + K3) mod 2^16
= 0110110100011010 + 1011101010111111) mod (2^16)
= 0010011111011001 L#4 (X4 * K4) mod (2^16 + 1)
= (1010000011011101 * 0000001010000001) mod (2^16 + 1)
= 1100011111001011 L#5 L#1 XOR L#3
= 1010100101100110 XOR 0010011111011001 = 1000111010111111 L#6 L#2 XOR L#4
= 1000110010000000 XOR 1100011111001011 = 0100101101001011 L#7 (L#5 * K5) mod (2^16 + 1)
= 1000111010111111 * 0100000101000110 mod (2^16 + 1)
= 0110001011010101
L#8 (L#6 + L#7) mod 2^16
= 0100101101001011 + 0110001011010101 mod 2^16
= 1010111000100000 L#9 (L#8 * K6) mod (2^16 + 1)
= 1010111000100000 * 0100100100100000 = 1011001001000100 L#10 (L#7 + L#9) mod 2^16
= 0110001011010101 + 1011001001000100 mod 2^16
= 0001010100011001 L#11 L#1 XOR L#9
= 1010100101100110 XOR 1011001001000100 = 0001101100100010 L#12 L#3 XOR L#9
= 0010011111011001 XOR 1011001001000100 = 1001010110011101 L#13 L#2 XOR L#10
= 1000110010000000 XOR 0001010100011001 = 1001100110011001 L#14 L#4 XOR L#10
= 1100011111001011 XOR 0001010100011001 = 1101001011010010 TRANSFORMASI OUTPUT
L#1 (X1 * K1) mod (2^16 + 1)
= 0001101100100010 * 0111010101101111 mod (2^16 + 1)
= 0100000101001100 = AB L#2 (X2 + K2) mod 2^16
= 1001100110011001 + 1011011010110000 Mod 2 ^ 16
= 0101000001001001 = DH L#3 (X3 + K3) mod 2^16
= 1001010110011101 + 1010101110110001 mod 2^16
= 0100000101001110 = AN L#4 (X4 * K4) mod (2^16 + 1)
= 1101001011010010 * 1001111100011010 mod (2^16 + 1)
= 0100000101001110 = AN
Hasil proses dekripsi di atas adalah:
= 0100000101001100 = AB
= 0101000001001001 = DH
= 0100000101001110 = AN
= 0100000101001110 = AN
Setelah proses dekripsi di atas selesai maka di peroleh plaintext awal adalah ABDHANAN.
4.4.2 User Interface
Adapun user interface dari perangkat lunak kriptografi Algoritma IDEA ini meliputi, halaman utama, Kunci enkripsi, Kunci dekripsi. Untuk lebih jelasnya dapat di lihat di bawah ini.
4.4.2.1 Halaman Utama
Halaman utama merupakan menu utama yang ada dalam sistem kriptografi IDEA, untuk memudahkan user dalam mengoperasikan sistem kriptografi IDEA ini. Halaman utama sistem ini dapat dilihat pada gambar 4.5 berikut:
Gambar 4.7 Halaman Utama
4.4.2.2 Form Encrip Data
Form enkripsi digunakan untuk merubah plainteks menjadi cipherteks.
Tampilan layar enkripsi pada sistem kriptografi IDEA ini dapat dilihat pada gambar 4.6 berikut.
Gambar 4.8 Form Rancangan Proses Enkripsi
4.4.2.3 Form Descript Data
Form deskripsi digunakan untuk mengembalikan cipherteks ke bentuk pesan semula. Tampilan layar dekripsi pada sistem kriptografi IDEA ini dapat dilihat pada gambar 4.7 berikut:
Gambar 4.9 Form Rancangan Proses Dekripsi
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
1. Pada proses kriptografi dengan algoritma IDEA memiliki 8 putaran dan di tambah satu lagi putaran transformasi output.
2. Panjang plaintext pada kriptografi algoritma IDEA minimal 64 bit sedangkan panjang kunci 128 bit dan algoritma IDEA menggunakan operasi aljabar yang berbeda-beda yaitu XOR, penambahan modulo 216, perkalian 216+1.
3. Pada proses kriptografi dengan menggunakan metode IDEA ini menggunakan kunci simetris pada proses enkripsi dan deskripsinya.
4. Pada penelitian tugas akhir ini, kriptografi dengan menggunakan metode IDEA penulis menggunakan data berformat text.
5. Pada proses enkripsi dan dekripsi dengan menggunakan metode IDEA, file plaintext awal setelah di enkripsi dengan menggunakan kunci simetris akan menghasilkan file chipertext, lalu file chipertext di dekripsi kembali dengan kunci simetris akan menghasilkan file plaintext awal.
Hasil kriptografi dengan menggunakan metode kriptografi IDEA menghasilkan chippertext dengan karakteristik tertentu. Chipertext yang dihasilkan berbeda-beda untuk setiap plaintext dan kuncinya. Ini sangat efektif jika digunakan untuk pengamanan suatu data atau password. Karena untuk proses Deskripsinya user memerlukan Plain Text dan Kunci. Jika salah satu variabelnya berbeda maka hasil chipper textnya sudah tentu berbeda.
5.2 SARAN
Adapun saran-saran yang dapat penulis berikan selama melakukan penelitian ini guna untuk pengembangan perangkat lunak kriptografi dengan Algoritma IDEA ini adalah:
1. Penulis menyarankan kepada pihak lain yang ingin melanjutkan penelitian lanjutan proses enkripsi dan dekripsi ini dengan format lainnya, seperti untuk gambar, suara dan vidio.
2. Hasil keamanan kriptografi dengan menggunakan Algoritma IDEA dapat dibandingkan dengan penerapan pada Algoritma lain mana yang lebih baik dalam menjamin kerahasiaan datanya.
Ariyus, Dony., Pengantar Ilmu Kriptografi: Teori Analisis dan Implementasi, Edisi Pertama. Yogyakarta: Andi Offset, 2008.
Andriyanto, Tri, dan D.L., Crispina Pardede, Studi Dan Perbandingan Algoritma Idea Dan Algoritma Blowfish,Universitas Gunadarma, ISSN : 1411-6286.
Indriyawan. Eko Pemrogaman Visual Basic 6.0 Menggunakan Array dan Binary.
Yogyakarta : Andi, 2001
Jethefer, Stevens, Studi Dan Perbandingan Algoritma IDEA (International Data Encryption Algorithm) Dengan DES (Data Encryption Standard), ITB, 17, 10-11.
Luzaenah, Lusi, Sistem Pengamanan data Efektif menggunakan teori-teori enkripsi tertentu. Bandung, Gunung Agung, 2009.
Mangkulo, hengky alexander., “Cara Mudah Menguasai Visual Basic 6.0”, Penerbit PT.
Elek Media Komputindo, Jakarta. 2011.
Wahana Komputer: The Best Encryption Tools. Penerbit PT Elex Media Komputindo, Jakarta, 2010.
Wahana Komputer : Memahami Model Enkripsi & Security Data. Penerbit ANDI, Yogyakarta, 2003.