BAB IV HASIL DAN UJI COBA IV.1
Hasil Perangkat lunak pembelajaran kriptografi algoritma IDEA ini dirancang
untuk dapat berjalan di dalam sistem operasi Windows. Kegunaan utama perangkat lunak ini adalah untuk memberi kemudahan kepada pengguna dalam mempelajari algoritma IDEA dalam teori dan praktek. Untuk menjalankan perangkat lunak ini pengguna terlebih dahulu harus melakukan instalasi dengan menjalankan instaler perangkat lunak tersebut. Setelah proses instalasi selesai maka pengguna dapat menjalankan perangkat lunak melalui shortcut yang ditampilkan di desktop dengan nama IDEA.exe.
Gambar IV.1. Shortcut Perangkat Lunak Pada Desktop
50
51
IV.1.1 Implementasi Sistem Implementasi sistem program ini mencakup spesifikasi kebutuhan perangkat keras (hardware) dan spesifikasi perangkat lunak (software). IV.1.2 Spesifikasi Perangkat Keras dan Perangkat Lunak Pengujian dijalankan dengan menggunakan perangkat keras (hardware) yang mempunyai spesifikasi berikut : 1.
Processor 3,20GHz
2.
4 GB RAM
3.
VGA 2048 MB
4.
Harddisk 7200rpm
5.
Monitor dengan resolusi 1360 x 768
6.
Keyboard dan Mouse. Adapun perangkat lunak (software) yang digunakan dalam pengujian
perangkat lunak ini adalah lingkungan sistem operasi MS-Windows 7 dan .NET Framework 3.5
IV.2
Uji Coba Uji coba merupakan tahap selanjutnya setelah perangkat lunak selesai
dalam pembuatannya. Pengujian sistem yang dilakukan meliputi dua tahapan, yaitu pengujian Alpha dan Betha. Pengujian tersebut dilakukan unuk mengevaluasi hasil sistem yang dibuat.
52
IV.2.1 Pengujian Alpha Pengujian Alpha merupakan pengujian fungsional yang digunakan untuk menguji sistem yang telah dibuat dengan metode pengujian black box. Pengujian black box terfokus pada persyaratan fungsional perangkat lunak. Di bawah ini merupakan tahapan dari pengujian fungsional yang akan dilakukan, yaitu : a.
Rencana Pengujian Rencana pengujian yang akan dilakukan pada perangkat lunak pembelajaran kriptografi algoritma IDEA selengkapnya terlihat pada tabel IV.1 di bawah ini: Tabel IV.1. Rencana Pengujian Perangkat Lunak Item Uji
Pembentukan Kunci
Proses Enkripsi
Proses Dekripsi
b.
Detail Pengujian
Jenis Uji
Memasukkan teks kunci sepanjang 16 Black box karakter dan melakukan proses pembentukan kunci Memasukkan plainteks sepanjang 8 Black box karakter, kunci sepanjang 16 karakter dan melakukan proses enkripsi Memasukkan chiperteks sepanjang 8 Black box karakter, kunci sepanjang 16 karakter dan melakukan proses enkripsi
Pengujian Dan Hasil Pengujian Di bawah ini merupakan pengujian-pengujian yang akan dilakukan.
1.
Pengujian Proses Pembentukan Kunci Tabel pengujian dari proses pembentukan kunci algoritma IDEA dapat dilihat
pada Tabel IV.2.
53
Tabel IV.2. Pengujian Proses Pembentukan Kunci Kasus dan Hasil Uji Data Masukan Yang Diharapkan
Pengamatan Kesimpulan
16 karakter teks kunci Teks kunci yang dimasukkan akan diproses sehingga menampilkan langkah-langkah pembentukan kunci secara bertahap hingga selesai Semua tampilan dan tombol berjalan dengan baik Berhasil menampilkan langkah-langkah pembentukan kunci dan semua tombol berfungsi dengan baik.
Di bawah ini merupakan tabel pengujian dari proses pembentukan kunci algoritma IDEA dengan kesalahan. Tabel IV.3. Pengujian Proses Pembentukan Kunci Dengan Kesalahan Kasus dan Hasil Uji Kesalahan Data Masukan Yang Diharapkan Pengamatan Kesimpulan
2.
Teks kunci tidak sepanjang 16 karakter Menampilkan pesan kesalahan saat tombol proses ditekan Pesan kesalahan tampil dengan baik Berhasil menampilkan pesan kesalahan dengan baik
Pengujian Proses Enkripsi Di bawah ini merupakan tabel pengujian dari proses enkripsi algoritma
IDEA. Tabel IV.4. Pengujian Proses Enkripsi Kasus dan Hasil Uji Data Masukan Yang Diharapkan
Pengamatan Kesimpulan
16 karakter teks kunci dan 8 karakter plainteks Plainteks dan kunci yang dimasukkan akan diproses sehingga menampilkan langkah-langkah proses enkripsi secara bertahap hingga menghasilkan chiperteks Semua tampilan dan tombol berjalan dengan baik Berhasil menampilkan langkah-langkah proses enkripsi dan semua tombol berfungsi dengan baik
54
Di bawah ini merupakan tabel pengujian dari proses enkripsi algoritma IDEA dengan kesalahan. Tabel IV.5. Pengujian Proses Enkripsi Dengan Kesalahan Kasus dan Hasil Uji Kesalahan Data Masukan Yang Diharapkan Pengamatan Kesimpulan
3.
Teks kunci tidak sepanjang 16 karakter atau plainteks tidak sepanjang 8 karakter Menampilkan pesan kesalahan saat tombol proses ditekan Pesan kesalahan tampil dengan baik Berhasil menampilkan pesan kesalahan dengan baik
Pengujian Proses Dekripsi Di bawah ini merupakan tabel pengujian dari proses dekripsi algoritma
IDEA. Tabel IV.6. Pengujian Proses Dekripsi Kasus dan Hasil Uji Data Masukan Yang Diharapkan
Pengamatan Kesimpulan
16 karakter teks kunci dan 8 karakter chiperteks Chiperteks dan kunci yang dimasukkan akan diproses sehingga menampilkan langkah-langkah proses dekripsi secara bertahap hingga menghasilkan plainteks Semua tampilan dan tombol berjalan dengan baik Berhasil menampilkan langkah-langkah proses dekripsi dan semua tombol berfungsi dengan baik
Tabel pengujian dari proses dekripsi algoritma IDEA dengan kesalahan dapat dilihat pada tabel IV.7.
55
Tabel IV.7. Pengujian Proses Dekripsi Dengan Kesalahan Kasus dan Hasil Uji Kesalahan Data Masukan Yang Diharapkan Pengamatan Kesimpulan
Teks kunci tidak sepanjang 16 karakter atau chiperteks tidak sepanjang 8 karakter Menampilkan pesan kesalahan saat tombol proses ditekan Pesan kesalahan tampil dengan baik Berhasil menampilkan pesan kesalahan dengan baik
IV.2.2 Pengujian Betha Pengujian betha merupakan pengujian sistem berdasarkan objek penelitian langsung, yaitu pada pengguna perangkat lunak, yang mengacu dari hasil kuesioner 6 pertanyaan kepada 10 pengguna berikut : 1.
Farah Dhiba (Mahasiswi Universitas Potensi Utama)
2.
Ikhwandio Anwar, S.Kom (Alumni Universitas Potensi Utama)
3.
Dedy Fransiska Siregar (Mahasiswa Universitas Potensi Utama)
4.
Rahmad Fajar (Mahasiswa Universitas Potensi Utama)
5.
Andri Syahfitra, S.kom (Alumni Universitas Potensi Utama)
6.
Bambang Susanto (Mahasiswa Universitas Potensi Utama)
7.
Aidil Alfian, S.Kom (Alumni Universitas Potensi Utama)
8.
Arridhoi Purba, S.kom (Alumni Universitas Potensi Utama)
9.
Ibrahim Siregar, S.kom (Alumni Universitas Potensi Utama)
10. Rahmat Eka Syahputra, S.Kom (Alumni Universitas Potensi Utama) Hasil dari kuesionar dapat dilihat pada tabel IV.8.
56
Tabel IV.8. Hasil Kuesioner No.
Pertanyaan
1.
Hasil
Apakah desain interface dari perangkat lunak 80% menjawab ya dan 20% terlihat menarik?
2.
menjawab masih kurang
Apakah penempatan komponen-komponennya 80% menjawab sudah dan sudah sesuai?
20% menjawab belum
3.
Apakah perangkat lunak ini mudah digunakan
100% menjawab ya
4.
Apakah perangkat lunak ini dapat membantu 100% menjawab ya proses pembelajaran algoritma IDEA?
5.
Apakah perangkat lunak ini responsif?
6.
Apakah
perangkat
lunak
ini
100% menjawab ya
memberikan 90% menjawab ya dan 10%
memberikat manfaat yang diinginkan?
menjawab tidak
Dari pengujian betha yang telah dilakukan didapat kesimpulan bahwa perangkat lunak pembelajaran kriptografi algoritma IDEA memiliki desain interface yang bagus, mudah digunakan, sapat membantu proses pembelajaran algoritma IDEA, responsif, dan bermanfaat.
IV.3
Skenario Pengujian
IV.3.1 Proses Pembentukan Kunci Di bawah ini adalah langkah-langkah dalam melakukan proses pembentukan kunci dalam algoritma IDEA : 1.
Pilih menu‟Proses‟ pada menu utama
2.
Pilih submenu „Pembentukan Kunci‟ maka akan muncul form proses pembentukan kunci
57
Gambar IV.2. Form Proses Pembentukan Kunci 3.
Masukkan kunci sepanjang 16 karakter, sebagai contoh penulis menginput “contohinputkunci”.
4.
Tekan tombol proses lalu akan muncul form IDEA-Pembentukan Kunci
Gambar IV.3. Form IDEA-Pembentukan Kunci 5.
Tekan tombol mulai, maka proses pembentukan kunci akan ditampilkan secara bertahap seperti gambar IV.4.
58
Gambar IV.4. Proses Pembentukan Kunci 6. Dengan hasil eksekusi sebagai berikut : ----------------------------KUNCI ENKRIPSI ----------------------------************* PUTARAN - 1 ************* INPUT KUNCI : 011000110110111101101110011101000110111101101000011010010110111001 11000001110101011101000110101101110101011011100110001101101001 Pecah menjadi 8 kelompok : KE1 (Putaran 1) = 0110001101101111 KE2 (Putaran 1) = 0110111001110100 KE3 (Putaran 1) = 0110111101101000
59
KE4 (Putaran 1) = 0110100101101110 KE5 (Putaran 1) = 0111000001110101 KE6 (Putaran 1) = 0111010001101011 KE1 (Putaran 2) = 0111010101101110 KE2 (Putaran 2) = 0110001101101001
************* PUTARAN - 2 ************* rotasi kiri (01100011011011110110111001110100011011110110100001101001011011100 111000001110101011101000110101101110101011011100110001101101001, 25) = 111010001101111011010000110100101101110011100000111010101110100011 01011011101010110111001100011011010010110001101101111011011100 Pecah menjadi 8 kelompok : KE3 (Putaran 2) = 1110100011011110 KE4 (Putaran 2) = 1101000011010010 KE5 (Putaran 2) = 1101110011100000 KE6 (Putaran 2) = 1110101011101000 KE1 (Putaran 3) = 1101011011101010 KE2 (Putaran 3) = 1101110011000110 KE3 (Putaran 3) = 1101001011000110
60
KE4 (Putaran 3) = 1101111011011100
************* PUTARAN - 3 ************* rotasi kiri (11101000110111101101000011010010110111001110000011101010111010001 101011011101010110111001100011011010010110001101101111011011100, 25) = 101001011011100111000001110101011101000110101101110101011011100110 00110110100101100011011011110110111001110100011011110110100001 Pecah menjadi 8 kelompok : KE5 (Putaran 3) = 1010010110111001 KE6 (Putaran 3) = 1100000111010101 KE1 (Putaran 4) = 1101000110101101 KE2 (Putaran 4) = 1101010110111001 KE3 (Putaran 4) = 1000110110100101 KE4 (Putaran 4) = 1000110110111101 KE5 (Putaran 4) = 1011100111010001 KE6 (Putaran 4) = 1011110110100001 ************* PUTARAN - 4 *************
61
rotasi kiri (10100101101110011100000111010101110100011010110111010101101110011 000110110100101100011011011110110111001110100011011110110100001, 25) = 101010111010001101011011101010110111001100011011010010110001101101 11101101110011101000110111101101000011010010110111001110000011 Pecah menjadi 8 kelompok : KE1 (Putaran 5) = 1010101110100011 KE2 (Putaran 5) = 0101101110101011 KE3 (Putaran 5) = 0111001100011011 KE4 (Putaran 5) = 0100101100011011 KE5 (Putaran 5) = 0111101101110011 KE6 (Putaran 5) = 1010001101111011 KE1 (Putaran 6) = 0100001101001011 KE2 (Putaran 6) = 0111001110000011
************* PUTARAN - 5 ************* rotasi kiri (10101011101000110101101110101011011100110001101101001011000110110 111101101110011101000110111101101000011010010110111001110000011, 25) =
62
010101101110011000110110100101100011011011110110111001110100011011 11011010000110100101101110011100000111010101110100011010110111 Pecah menjadi 8 kelompok : KE3 (Putaran 6) = 0101011011100110 KE4 (Putaran 6) = 0011011010010110 KE5 (Putaran 6) = 0011011011110110 KE6 (Putaran 6) = 1110011101000110 KE1 (Putaran 7) = 1111011010000110 KE2 (Putaran 7) = 1001011011100111 KE3 (Putaran 7) = 0000011101010111 KE4 (Putaran 7) = 0100011010110111
************* PUTARAN - 6 ************* rotasi kiri (01010110111001100011011010010110001101101111011011100111010001101 111011010000110100101101110011100000111010101110100011010110111, 25) = 001011000110110111101101110011101000110111101101000011010010110111 00111000001110101011101000110101101110101011011100110001101101 Pecah menjadi 8 kelompok : KE5 (Putaran 7) = 0010110001101101
63
KE6 (Putaran 7) = 1110110111001110 KE1 (Putaran 8) = 1000110111101101 KE2 (Putaran 8) = 0000110100101101 KE3 (Putaran 8) = 1100111000001110 KE4 (Putaran 8) = 1010111010001101 KE5 (Putaran 8) = 0110111010101101 KE6 (Putaran 8) = 1100110001101101
************* PUTARAN - 7 ************* rotasi kiri (00101100011011011110110111001110100011011110110100001101001011011 100111000001110101011101000110101101110101011011100110001101101, 25) = 100111010001101111011010000110100101101110011100000111010101110100 01101011011101010110111001100011011010010110001101101111011011 Pecah menjadi 8 kelompok (4 kelompok terakhir tidak digunakan) : KE1 (Transformasi Output) = 1001110100011011 KE2 (Transformasi Output) = 1101101000011010 KE3 (Transformasi Output) = 0101101110011100 KE4 (Transformasi Output) = 0001110101011101
64
IV.3.2 Proses Enkripsi Di bawah ini adalah langkah-langkah dalam melakukan proses enkripsi dalam algoritma IDEA : 1.
Pilih menu‟Proses‟ pada menu utama
2.
Pilih submenu „Enkripsi‟ maka akan muncul form proses enkripsi
Gambar IV.5. Form Proses Enkripsi 3.
Masukkan plainteks sepanjang 8 karakter, sebagai contoh penulis menginput kata “teksasli”
4.
Masukkan kunci sepanjang 16 karakter, sebagai contoh penulis menginput kata “contohinputkunci”
5.
Tekan tombol enkripsi lalu akan muncul form IDEA-Proses Enkripsi
Gambar IV.6. Form IDEA-Proses Enkripsi
65
6.
Tekan tombol mulai, maka proses enkripsi akan ditampilkan secara bertahap hingga menghasilkan chiperteks, seperti gambar berikut.
Gambar IV.7. Proses Enkripsi 7.
Dengan hasil eksekusi sebagai berikut :
************* PUTARAN - 1 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0111010001100101 * 0110001101101111 mod (2^16 + 1) = 0101100110010110 02) L#2 = (X2 + K2) mod 2^16 = 0110101101110011 + 0110111001110100 mod 2^16 = 1101100111100111 03) L#3 = (X3 + K3) mod 2^16 = 0110000101110011 + 0110111101101000 mod 2^16 = 1101000011011011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0110110001101001 * 0110100101101110 mod (2^16 + 1) = 0111100101111001
66
05) L#5 = L#1 XOR L#3 = 0101100110010110 XOR 1101000011011011 = 1000100101001101 06) L#6 = L#2 XOR L#4 = 1101100111100111 XOR 0111100101111001 = 1010000010011110 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1000100101001101 * 0111000001110101 mod (2^16 + 1) = 0011001111100001 08) L#8 = (L#6 + L#7)) mod 2^16 = 1010000010011110 + 0011001111100001 mod 2^16 = 1101010001111111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1101010001111111 * 0111010001101011 mod (2^16 + 1) = 1111110001110100 10) L#10 = (L#7 + L#9)) mod 2^16 = 0011001111100001 + 1111110001110100 mod 2^16 = 0011000001010101 11) L#11 = L#1 XOR L#9 = 0101100110010110 XOR 1111110001110100 = 1010010111100010 12) L#12 = L#3 XOR L#9 = 1101000011011011 XOR 1111110001110100 = 0010110010101111 13) L#13 = L#2 XOR L#10 = 1101100111100111 XOR 0011000001010101 = 1110100110110010 14) L#14 = L#4 XOR L#10 = 0111100101111001 XOR 0011000001010101 = 0100100100101100 Untuk putaran berikutnya : X1 = L#11 = 1010010111100010 X2 = L#12 = 0010110010101111
67
X3 = L#13 = 1110100110110010 X4 = L#14 = 0100100100101100
************* PUTARAN - 2 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1010010111100010 * 0111010101101110 mod (2^16 + 1) = 0100010100000101 02) L#2 = (X2 + K2) mod 2^16 = 0010110010101111 + 0110001101101001 mod 2^16 = 1001000000011000 03) L#3 = (X3 + K3) mod 2^16 = 1110100110110010 + 1110100011011110 mod 2^16 = 1101001010010000 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0100100100101100 * 1101000011010010 mod (2^16 + 1) = 1000101001101001 05) L#5 = L#1 XOR L#3 = 0100010100000101 XOR 1101001010010000 = 1001011110010101 06) L#6 = L#2 XOR L#4 = 1001000000011000 XOR 1000101001101001 = 0001101001110001 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1001011110010101 * 1101110011100000 mod (2^16 + 1) = 0010101110011000 08) L#8 = (L#6 + L#7)) mod 2^16 = 0001101001110001 + 0010101110011000 mod 2^16 = 0100011000001001
68
09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0100011000001001 * 1110101011101000 mod (2^16 + 1) = 0111000111100101 10) L#10 = (L#7 + L#9)) mod 2^16 = 0010101110011000 + 0111000111100101 mod 2^16 = 1001110101111101 11) L#11 = L#1 XOR L#9 = 0100010100000101 XOR 0111000111100101 = 0011010011100000 12) L#12 = L#3 XOR L#9 = 1101001010010000 XOR 0111000111100101 = 1010001101110101 13) L#13 = L#2 XOR L#10 = 1001000000011000 XOR 1001110101111101 = 0000110101100101 14) L#14 = L#4 XOR L#10 = 1000101001101001 XOR 1001110101111101 = 0001011100010100 Untuk putaran berikutnya : X1 = L#11 = 0011010011100000 X2 = L#12 = 1010001101110101 X3 = L#13 = 0000110101100101 X4 = L#14 = 0001011100010100
************* PUTARAN - 3 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0011010011100000 * 1101011011101010 mod (2^16 + 1) = 0110100001011101
69
02) L#2 = (X2 + K2) mod 2^16 = 1010001101110101 + 1101110011000110 mod 2^16 = 1000000000111011 03) L#3 = (X3 + K3) mod 2^16 = 0000110101100101 + 1101001011000110 mod 2^16 = 1110000000101011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0001011100010100 * 1101111011011100 mod (2^16 + 1) = 0001100100011001 05) L#5 = L#1 XOR L#3 = 0110100001011101 XOR 1110000000101011 = 1000100001110110 06) L#6 = L#2 XOR L#4 = 1000000000111011 XOR 0001100100011001 = 1001100100100010 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1000100001110110 * 1010010110111001 mod (2^16 + 1) = 0101001011110000 08) L#8 = (L#6 + L#7)) mod 2^16 = 1001100100100010 + 0101001011110000 mod 2^16 = 1110110000010010 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1110110000010010 * 1100000111010101 mod (2^16 + 1) = 0100101000111101 10) L#10 = (L#7 + L#9)) mod 2^16 = 0101001011110000 + 0100101000111101 mod 2^16 = 1001110100101101 11) L#11 = L#1 XOR L#9 = 0110100001011101 XOR 0100101000111101 = 0010001001100000 12) L#12 = L#3 XOR L#9 = 1110000000101011 XOR 0100101000111101 = 1010101000010110
70
13) L#13 = L#2 XOR L#10 = 1000000000111011 XOR 1001110100101101 = 0001110100010110 14) L#14 = L#4 XOR L#10 = 0001100100011001 XOR 1001110100101101 = 1000010000110100 Untuk putaran berikutnya : X1 = L#11 = 0010001001100000 X2 = L#12 = 1010101000010110 X3 = L#13 = 0001110100010110 X4 = L#14 = 1000010000110100
************* PUTARAN - 4 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0010001001100000 * 1101000110101101 mod (2^16 + 1) = 0111111010111001 02) L#2 = (X2 + K2) mod 2^16 = 1010101000010110 + 1101010110111001 mod 2^16 = 0111111111001111 03) L#3 = (X3 + K3) mod 2^16 = 0001110100010110 + 1000110110100101 mod 2^16 = 1010101010111011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1000010000110100 * 1000110110111101 mod (2^16 + 1) = 1111010100110011 05) L#5 = L#1 XOR L#3 = 0111111010111001 XOR 1010101010111011 = 1101010000000010
71
06) L#6 = L#2 XOR L#4 = 0111111111001111 XOR 1111010100110011 = 1000101011111100 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1101010000000010 * 1011100111010001 mod (2^16 + 1) = 1110110111000001 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000101011111100 + 1110110111000001 mod 2^16 = 0111100010111101 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0111100010111101 * 1011110110100001 mod (2^16 + 1) = 0001111001101110 10) L#10 = (L#7 + L#9)) mod 2^16 = 1110110111000001 + 0001111001101110 mod 2^16 = 0000110000101111 11) L#11 = L#1 XOR L#9 = 0111111010111001 XOR 0001111001101110 = 0110000011010111 12) L#12 = L#3 XOR L#9 = 1010101010111011 XOR 0001111001101110 = 1011010011010101 13) L#13 = L#2 XOR L#10 = 0111111111001111 XOR 0000110000101111 = 0111001111100000 14) L#14 = L#4 XOR L#10 = 1111010100110011 XOR 0000110000101111 = 1111100100011100 Untuk putaran berikutnya : X1 = L#11 = 0110000011010111 X2 = L#12 = 1011010011010101 X3 = L#13 = 0111001111100000 X4 = L#14 = 1111100100011100
72
************* PUTARAN - 5 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0110000011010111 * 1010101110100011 mod (2^16 + 1) = 0000010011111000 02) L#2 = (X2 + K2) mod 2^16 = 1011010011010101 + 0101101110101011 mod 2^16 = 0001000010000000 03) L#3 = (X3 + K3) mod 2^16 = 0111001111100000 + 0111001100011011 mod 2^16 = 1110011011111011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1111100100011100 * 0100101100011011 mod (2^16 + 1) = 0011000011011111 05) L#5 = L#1 XOR L#3 = 0000010011111000 XOR 1110011011111011 = 1110001000000011 06) L#6 = L#2 XOR L#4 = 0001000010000000 XOR 0011000011011111 = 0010000001011111 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1110001000000011 * 0111101101110011 mod (2^16 + 1) = 1000101101011101 08) L#8 = (L#6 + L#7)) mod 2^16 = 0010000001011111 + 1000101101011101 mod 2^16 = 1010101110111100 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1010101110111100 * 1010001101111011 mod (2^16 + 1) = 1100100110101010
73
10) L#10 = (L#7 + L#9)) mod 2^16 = 1000101101011101 + 1100100110101010 mod 2^16 = 0101010100000111 11) L#11 = L#1 XOR L#9 = 0000010011111000 XOR 1100100110101010 = 1100110101010010 12) L#12 = L#3 XOR L#9 = 1110011011111011 XOR 1100100110101010 = 0010111101010001 13) L#13 = L#2 XOR L#10 = 0001000010000000 XOR 0101010100000111 = 0100010110000111 14) L#14 = L#4 XOR L#10 = 0011000011011111 XOR 0101010100000111 = 0110010111011000 Untuk putaran berikutnya : X1 = L#11 = 1100110101010010 X2 = L#12 = 0010111101010001 X3 = L#13 = 0100010110000111 X4 = L#14 = 0110010111011000
************* PUTARAN - 6 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1100110101010010 * 0100001101001011 mod (2^16 + 1) = 0110011100001110 02) L#2 = (X2 + K2) mod 2^16 = 0010111101010001 + 0111001110000011 mod 2^16 = 1010001011010100
74
03) L#3 = (X3 + K3) mod 2^16 = 0100010110000111 + 0101011011100110 mod 2^16 = 1001110001101101 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0110010111011000 * 0011011010010110 mod (2^16 + 1) = 0010011011011001 05) L#5 = L#1 XOR L#3 = 0110011100001110 XOR 1001110001101101 = 1111101101100011 06) L#6 = L#2 XOR L#4 = 1010001011010100 XOR 0010011011011001 = 1000010000001101 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1111101101100011 * 0011011011110110 mod (2^16 + 1) = 0011110100101010 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000010000001101 + 0011110100101010 mod 2^16 = 1100000100110111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1100000100110111 * 1110011101000110 mod (2^16 + 1) = 1100011101111110 10) L#10 = (L#7 + L#9)) mod 2^16 = 0011110100101010 + 1100011101111110 mod 2^16 = 0000010010101000 11) L#11 = L#1 XOR L#9 = 0110011100001110 XOR 1100011101111110 = 1010000001110000 12) L#12 = L#3 XOR L#9 = 1001110001101101 XOR 1100011101111110 = 0101101100010011 13) L#13 = L#2 XOR L#10 = 1010001011010100 XOR 0000010010101000 = 1010011001111100
75
14) L#14 = L#4 XOR L#10 = 0010011011011001 XOR 0000010010101000 = 0010001001110001 Untuk putaran berikutnya : X1 = L#11 = 1010000001110000 X2 = L#12 = 0101101100010011 X3 = L#13 = 1010011001111100 X4 = L#14 = 0010001001110001
************* PUTARAN - 7 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1010000001110000 * 1111011010000110 mod (2^16 + 1) = 0000000000100001 02) L#2 = (X2 + K2) mod 2^16 = 0101101100010011 + 1001011011100111 mod 2^16 = 1111000111111010 03) L#3 = (X3 + K3) mod 2^16 = 1010011001111100 + 0000011101010111 mod 2^16 = 1010110111010011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0010001001110001 * 0100011010110111 mod (2^16 + 1) = 0111101101000100 05) L#5 = L#1 XOR L#3 = 0000000000100001 XOR 1010110111010011 = 1010110111110010 06) L#6 = L#2 XOR L#4 = 1111000111111010 XOR 0111101101000100 = 1000101010111110
76
07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1010110111110010 * 0010110001101101 mod (2^16 + 1) = 1000100111011011 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000101010111110 + 1000100111011011 mod 2^16 = 0001010010011001 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0001010010011001 * 1110110111001110 mod (2^16 + 1) = 0010010011111100 10) L#10 = (L#7 + L#9)) mod 2^16 = 1000100111011011 + 0010010011111100 mod 2^16 = 1010111011010111 11) L#11 = L#1 XOR L#9 = 0000000000100001 XOR 0010010011111100 = 0010010011011101 12) L#12 = L#3 XOR L#9 = 1010110111010011 XOR 0010010011111100 = 1000100100101111 13) L#13 = L#2 XOR L#10 = 1111000111111010 XOR 1010111011010111 = 0101111100101101 14) L#14 = L#4 XOR L#10 = 0111101101000100 XOR 1010111011010111 = 1101010110010011 Untuk putaran berikutnya : X1 = L#11 = 0010010011011101 X2 = L#12 = 1000100100101111 X3 = L#13 = 0101111100101101 X4 = L#14 = 1101010110010011
77
************* PUTARAN - 8 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0010010011011101 * 1000110111101101 mod (2^16 + 1) = 1100010100101010 02) L#2 = (X2 + K2) mod 2^16 = 1000100100101111 + 0000110100101101 mod 2^16 = 1001011001011100 03) L#3 = (X3 + K3) mod 2^16 = 0101111100101101 + 1100111000001110 mod 2^16 = 0010110100111011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1101010110010011 * 1010111010001101 mod (2^16 + 1) = 1111101001011001 05) L#5 = L#1 XOR L#3 = 1100010100101010 XOR 0010110100111011 = 1110100000010001 06) L#6 = L#2 XOR L#4 = 1001011001011100 XOR 1111101001011001 = 0110110000000101 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1110100000010001 * 0110111010101101 mod (2^16 + 1) = 1011110100101010 08) L#8 = (L#6 + L#7)) mod 2^16 = 0110110000000101 + 1011110100101010 mod 2^16 = 0010100100101111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0010100100101111 * 1100110001101101 mod (2^16 + 1) = 1101110000100001 10) L#10 = (L#7 + L#9)) mod 2^16 = 1011110100101010 + 1101110000100001 mod 2^16 = 1001100101001011
78
11) L#11 = L#1 XOR L#9 = 1100010100101010 XOR 1101110000100001 = 0001100100001011 12) L#12 = L#3 XOR L#9 = 0010110100111011 XOR 1101110000100001 = 1111000100011010 13) L#13 = L#2 XOR L#10 = 1001011001011100 XOR 1001100101001011 = 0000111100010111 14) L#14 = L#4 XOR L#10 = 1111101001011001 XOR 1001100101001011 = 0110001100010010 Untuk transformasi output : X1 = L#11 = 0001100100001011 X2 = L#13 = 0000111100010111 X3 = L#12 = 1111000100011010 X4 = L#14 = 0110001100010010
*********************** TRANSFORMASI OUTPUT *********************** 01) Y1 = (X1 * K1) mod (2^16 + 1) = 0001100100001011 * 1001110100011011 mod (2^16 + 1) = 0101001111001011 02) Y2 = (X2 + K2) mod 2^16 = 0000111100010111 + 1101101000011010 mod 2^16 = 1110100100110001 03) Y3 = (X3 + K3) mod 2^16 = 1111000100011010 + 0101101110011100 mod 2^16 = 0100110010110110
79
04) Y4 = (X4 * K4) mod (2^16 + 1) = 0110001100010010 * 0001110101011101 mod (2^16 + 1) = 1111110000101110 Hasil Enkripsi : Y1 = 0101001111001011 = SË Y2 = 1110100100110001 = é1 Y3 = 0100110010110110 = L¶ Y4 = 1111110000101110 = ü. Cipher text = SËé1L¶ü. IV.3.3 Proses Dekripsi Di bawah ini adalah langkah-langkah dalam melakukan proses dekripsi dalam algoritma IDEA : 1.
Pilih menu‟Proses‟ pada menu utama
2.
Pilih submenu „Dekripsi‟ maka akan muncul form proses dekripsi
Gambar IV.8. Form Proses Dekripsi 3.
Masukkan chiperteks sepanjang 8 karakter, sebagai contoh penulis mencoba mendekripsikan kembali teks “SËé1L¶ü.”
4.
Masukkan kunci sepanjang 16 karakter yaitu “contohinputkunci”
5.
Tekan tombol dekripsi lalu akan muncul form IDEA-Proses Dekripsi
80
Gambar IV.9. Form IDEA-Proses Dekripsi 6.
Tekan tombol mulai, maka proses dekripsi akan ditampilkan secara bertahap hingga menghasilkan plainteks seperti gambar berikut :
Gambar IV.10. Proses Dekripsi 7.
Dengan hasil eksekusi sebagai berikut :
************* PUTARAN - 1 *************
81
01) L#1 = (X1 * K1) mod (2^16 + 1) = 0101001111001011 * 0011000010010110 mod (2^16 + 1) = 0001100100001011 02) L#2 = (X2 + K2) mod 2^16 = 1110100100110001 + 0010010111100110 mod 2^16 = 0000111100010111 03) L#3 = (X3 + K3) mod 2^16 = 0100110010110110 + 1010010001100100 mod 2^16 = 1111000100011010 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1111110000101110 * 1010010011100111 mod (2^16 + 1) = 0110001100010010 05) L#5 = L#1 XOR L#3 = 0001100100001011 XOR 1111000100011010 = 1110100000010001 06) L#6 = L#2 XOR L#4 = 0000111100010111 XOR 0110001100010010 = 0110110000000101 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1110100000010001 * 0110111010101101 mod (2^16 + 1) = 1011110100101010 08) L#8 = (L#6 + L#7)) mod 2^16 = 0110110000000101 + 1011110100101010 mod 2^16 = 0010100100101111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0010100100101111 * 1100110001101101 mod (2^16 + 1) = 1101110000100001 10) L#10 = (L#7 + L#9)) mod 2^16 = 1011110100101010 + 1101110000100001 mod 2^16 = 1001100101001011 11) L#11 = L#1 XOR L#9 = 0001100100001011 XOR 1101110000100001 = 1100010100101010
82
12) L#12 = L#3 XOR L#9 = 1111000100011010 XOR 1101110000100001 = 0010110100111011 13) L#13 = L#2 XOR L#10 = 0000111100010111 XOR 1001100101001011 = 1001011001011100 14) L#14 = L#4 XOR L#10 = 0110001100010010 XOR 1001100101001011 = 1111101001011001 Untuk putaran berikutnya : X1 = L#11 = 1100010100101010 X2 = L#12 = 0010110100111011 X3 = L#13 = 1001011001011100 X4 = L#14 = 1111101001011001
************* PUTARAN - 2 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1100010100101010 * 0010011100010010 mod (2^16 + 1) = 0010010011011101 02) L#2 = (X2 + K2) mod 2^16 = 0010110100111011 + 0011000111110010 mod 2^16 = 0101111100101101 03) L#3 = (X3 + K3) mod 2^16 = 1001011001011100 + 1111001011010011 mod 2^16 = 1000100100101111 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1111101001011001 * 0100010001000110 mod (2^16 + 1) = 1101010110010011
83
05) L#5 = L#1 XOR L#3 = 0010010011011101 XOR 1000100100101111 = 1010110111110010 06) L#6 = L#2 XOR L#4 = 0101111100101101 XOR 1101010110010011 = 1000101010111110 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1010110111110010 * 0010110001101101 mod (2^16 + 1) = 1000100111011011 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000101010111110 + 1000100111011011 mod 2^16 = 0001010010011001 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0001010010011001 * 1110110111001110 mod (2^16 + 1) = 0010010011111100 10) L#10 = (L#7 + L#9)) mod 2^16 = 1000100111011011 + 0010010011111100 mod 2^16 = 1010111011010111 11) L#11 = L#1 XOR L#9 = 0010010011011101 XOR 0010010011111100 = 0000000000100001 12) L#12 = L#3 XOR L#9 = 1000100100101111 XOR 0010010011111100 = 1010110111010011 13) L#13 = L#2 XOR L#10 = 0101111100101101 XOR 1010111011010111 = 1111000111111010 14) L#14 = L#4 XOR L#10 = 1101010110010011 XOR 1010111011010111 = 0111101101000100 Untuk putaran berikutnya : X1 = L#11 = 0000000000100001 X2 = L#12 = 1010110111010011
84
X3 = L#13 = 1111000111111010 X4 = L#14 = 0111101101000100
************* PUTARAN - 3 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0000000000100001 * 1010000000000100 mod (2^16 + 1) = 1010000001110000 02) L#2 = (X2 + K2) mod 2^16 = 1010110111010011 + 1111100010101001 mod 2^16 = 1010011001111100 03) L#3 = (X3 + K3) mod 2^16 = 1111000111111010 + 0110100100011001 mod 2^16 = 0101101100010011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0111101101000100 * 0101011111001110 mod (2^16 + 1) = 0010001001110001 05) L#5 = L#1 XOR L#3 = 1010000001110000 XOR 0101101100010011 = 1111101101100011 06) L#6 = L#2 XOR L#4 = 1010011001111100 XOR 0010001001110001 = 1000010000001101 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1111101101100011 * 0011011011110110 mod (2^16 + 1) = 0011110100101010 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000010000001101 + 0011110100101010 mod 2^16 = 1100000100110111
85
09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1100000100110111 * 1110011101000110 mod (2^16 + 1) = 1100011101111110 10) L#10 = (L#7 + L#9)) mod 2^16 = 0011110100101010 + 1100011101111110 mod 2^16 = 0000010010101000 11) L#11 = L#1 XOR L#9 = 1010000001110000 XOR 1100011101111110 = 0110011100001110 12) L#12 = L#3 XOR L#9 = 0101101100010011 XOR 1100011101111110 = 1001110001101101 13) L#13 = L#2 XOR L#10 = 1010011001111100 XOR 0000010010101000 = 1010001011010100 14) L#14 = L#4 XOR L#10 = 0010001001110001 XOR 0000010010101000 = 0010011011011001 Untuk putaran berikutnya : X1 = L#11 = 0110011100001110 X2 = L#12 = 1001110001101101 X3 = L#13 = 1010001011010100 X4 = L#14 = 0010011011011001
************* PUTARAN - 4 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0110011100001110 * 1011110101000000 mod (2^16 + 1) = 1100110101010010
86
02) L#2 = (X2 + K2) mod 2^16 = 1001110001101101 + 1010100100011010 mod 2^16 = 0100010110000111 03) L#3 = (X3 + K3) mod 2^16 = 1010001011010100 + 1000110001111101 mod 2^16 = 0010111101010001 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0010011011011001 * 0101010010001100 mod (2^16 + 1) = 0110010111011000 05) L#5 = L#1 XOR L#3 = 1100110101010010 XOR 0010111101010001 = 1110001000000011 06) L#6 = L#2 XOR L#4 = 0100010110000111 XOR 0110010111011000 = 0010000001011111 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1110001000000011 * 0111101101110011 mod (2^16 + 1) = 1000101101011101 08) L#8 = (L#6 + L#7)) mod 2^16 = 0010000001011111 + 1000101101011101 mod 2^16 = 1010101110111100 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1010101110111100 * 1010001101111011 mod (2^16 + 1) = 1100100110101010 10) L#10 = (L#7 + L#9)) mod 2^16 = 1000101101011101 + 1100100110101010 mod 2^16 = 0101010100000111 11) L#11 = L#1 XOR L#9 = 1100110101010010 XOR 1100100110101010 = 0000010011111000 12) L#12 = L#3 XOR L#9 = 0010111101010001 XOR 1100100110101010 = 1110011011111011
87
13) L#13 = L#2 XOR L#10 = 0100010110000111 XOR 0101010100000111 = 0001000010000000 14) L#14 = L#4 XOR L#10 = 0110010111011000 XOR 0101010100000111 = 0011000011011111 Untuk putaran berikutnya : X1 = L#11 = 0000010011111000 X2 = L#12 = 1110011011111011 X3 = L#13 = 0001000010000000 X4 = L#14 = 0011000011011111
************* PUTARAN - 5 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0000010011111000 * 1101110011011100 mod (2^16 + 1) = 0110000011010111 02) L#2 = (X2 + K2) mod 2^16 = 1110011011111011 + 1000110011100101 mod 2^16 = 0111001111100000 03) L#3 = (X3 + K3) mod 2^16 = 0001000010000000 + 1010010001010101 mod 2^16 = 1011010011010101 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0011000011011111 * 1001110010000100 mod (2^16 + 1) = 1111100100011100 05) L#5 = L#1 XOR L#3 = 0110000011010111 XOR 1011010011010101 = 1101010000000010
88
06) L#6 = L#2 XOR L#4 = 0111001111100000 XOR 1111100100011100 = 1000101011111100 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1101010000000010 * 1011100111010001 mod (2^16 + 1) = 1110110111000001 08) L#8 = (L#6 + L#7)) mod 2^16 = 1000101011111100 + 1110110111000001 mod 2^16 = 0111100010111101 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0111100010111101 * 1011110110100001 mod (2^16 + 1) = 0001111001101110 10) L#10 = (L#7 + L#9)) mod 2^16 = 1110110111000001 + 0001111001101110 mod 2^16 = 0000110000101111 11) L#11 = L#1 XOR L#9 = 0110000011010111 XOR 0001111001101110 = 0111111010111001 12) L#12 = L#3 XOR L#9 = 1011010011010101 XOR 0001111001101110 = 1010101010111011 13) L#13 = L#2 XOR L#10 = 0111001111100000 XOR 0000110000101111 = 0111111111001111 14) L#14 = L#4 XOR L#10 = 1111100100011100 XOR 0000110000101111 = 1111010100110011 Untuk putaran berikutnya : X1 = L#11 = 0111111010111001 X2 = L#12 = 1010101010111011 X3 = L#13 = 0111111111001111 X4 = L#14 = 1111010100110011
89
************* PUTARAN - 6 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0111111010111001 * 1111100000010101 mod (2^16 + 1) = 0010001001100000 02) L#2 = (X2 + K2) mod 2^16 = 1010101010111011 + 0111001001011011 mod 2^16 = 0001110100010110 03) L#3 = (X3 + K3) mod 2^16 = 0111111111001111 + 0010101001000111 mod 2^16 = 1010101000010110 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1111010100110011 * 0100001111100011 mod (2^16 + 1) = 1000010000110100 05) L#5 = L#1 XOR L#3 = 0010001001100000 XOR 1010101000010110 = 1000100001110110 06) L#6 = L#2 XOR L#4 = 0001110100010110 XOR 1000010000110100 = 1001100100100010 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1000100001110110 * 1010010110111001 mod (2^16 + 1) = 0101001011110000 08) L#8 = (L#6 + L#7)) mod 2^16 = 1001100100100010 + 0101001011110000 mod 2^16 = 1110110000010010 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1110110000010010 * 1100000111010101 mod (2^16 + 1) = 0100101000111101 10) L#10 = (L#7 + L#9)) mod 2^16 = 0101001011110000 + 0100101000111101 mod 2^16 = 1001110100101101
90
11) L#11 = L#1 XOR L#9 = 0010001001100000 XOR 0100101000111101 = 0110100001011101 12) L#12 = L#3 XOR L#9 = 1010101000010110 XOR 0100101000111101 = 1110000000101011 13) L#13 = L#2 XOR L#10 = 0001110100010110 XOR 1001110100101101 = 1000000000111011 14) L#14 = L#4 XOR L#10 = 1000010000110100 XOR 1001110100101101 = 0001100100011001 Untuk putaran berikutnya : X1 = L#11 = 0110100001011101 X2 = L#12 = 1110000000101011 X3 = L#13 = 1000000000111011 X4 = L#14 = 0001100100011001
************* PUTARAN - 7 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0110100001011101 * 1000100011010011 mod (2^16 + 1) = 0011010011100000 02) L#2 = (X2 + K2) mod 2^16 = 1110000000101011 + 0010110100111010 mod 2^16 = 0000110101100101 03) L#3 = (X3 + K3) mod 2^16 = 1000000000111011 + 0010001100111010 mod 2^16 = 1010001101110101
91
04) L#4 = (X4 * K4) mod (2^16 + 1) = 0001100100011001 * 1111000010110101 mod (2^16 + 1) = 0001011100010100 05) L#5 = L#1 XOR L#3 = 0011010011100000 XOR 1010001101110101 = 1001011110010101 06) L#6 = L#2 XOR L#4 = 0000110101100101 XOR 0001011100010100 = 0001101001110001 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1001011110010101 * 1101110011100000 mod (2^16 + 1) = 0010101110011000 08) L#8 = (L#6 + L#7)) mod 2^16 = 0001101001110001 + 0010101110011000 mod 2^16 = 0100011000001001 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0100011000001001 * 1110101011101000 mod (2^16 + 1) = 0111000111100101 10) L#10 = (L#7 + L#9)) mod 2^16 = 0010101110011000 + 0111000111100101 mod 2^16 = 1001110101111101 11) L#11 = L#1 XOR L#9 = 0011010011100000 XOR 0111000111100101 = 0100010100000101 12) L#12 = L#3 XOR L#9 = 1010001101110101 XOR 0111000111100101 = 1101001010010000 13) L#13 = L#2 XOR L#10 = 0000110101100101 XOR 1001110101111101 = 1001000000011000 14) L#14 = L#4 XOR L#10 = 0001011100010100 XOR 1001110101111101 = 1000101001101001 Untuk putaran berikutnya :
92
X1 = L#11 = 0100010100000101 X2 = L#12 = 1101001010010000 X3 = L#13 = 1001000000011000 X4 = L#14 = 1000101001101001
************* PUTARAN - 8 ************* 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0100010100000101 * 1100101100100001 mod (2^16 + 1) = 1010010111100010 02) L#2 = (X2 + K2) mod 2^16 = 1101001010010000 + 0001011100100010 mod 2^16 = 1110100110110010 03) L#3 = (X3 + K3) mod 2^16 = 1001000000011000 + 1001110010010111 mod 2^16 = 0010110010101111 04) L#4 = (X4 * K4) mod (2^16 + 1) = 1000101001101001 * 0110111110101100 mod (2^16 + 1) = 0100100100101100 05) L#5 = L#1 XOR L#3 = 1010010111100010 XOR 0010110010101111 = 1000100101001101 06) L#6 = L#2 XOR L#4 = 1110100110110010 XOR 0100100100101100 = 1010000010011110 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1000100101001101 * 0111000001110101 mod (2^16 + 1) = 0011001111100001
93
08) L#8 = (L#6 + L#7)) mod 2^16 = 1010000010011110 + 0011001111100001 mod 2^16 = 1101010001111111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1101010001111111 * 0111010001101011 mod (2^16 + 1) = 1111110001110100 10) L#10 = (L#7 + L#9)) mod 2^16 = 0011001111100001 + 1111110001110100 mod 2^16 = 0011000001010101 11) L#11 = L#1 XOR L#9 = 1010010111100010 XOR 1111110001110100 = 0101100110010110 12) L#12 = L#3 XOR L#9 = 0010110010101111 XOR 1111110001110100 = 1101000011011011 13) L#13 = L#2 XOR L#10 = 1110100110110010 XOR 0011000001010101 = 1101100111100111 14) L#14 = L#4 XOR L#10 = 0100100100101100 XOR 0011000001010101 = 0111100101111001 Untuk transformasi output : X1 = L#11 = 0101100110010110 X2 = L#13 = 1101100111100111 X3 = L#12 = 1101000011011011 X4 = L#14 = 0111100101111001
*********************** TRANSFORMASI OUTPUT ***********************
94
01) Y1 = (X1 * K1) mod (2^16 + 1) = 0101100110010110 * 0101101001101111 mod (2^16 + 1) = 0111010001100101 02) Y2 = (X2 + K2) mod 2^16 = 1101100111100111 + 1001000110001100 mod 2^16 = 0110101101110011 03) Y3 = (X3 + K3) mod 2^16 = 1101000011011011 + 1001000010011000 mod 2^16 = 0110000101110011 04) Y4 = (X4 * K4) mod (2^16 + 1) = 0111100101111001 * 1011000010101110 mod (2^16 + 1) = 0110110001101001 Hasil Dekripsi : Y1 = 0111010001100101 = te Y2 = 0110101101110011 = ks Y3 = 0110000101110011 = as Y4 = 0110110001101001 = li Plain text = teksasli Dari langkah-langkah di atas dilakukan sesuai dengan persyaratan dan urutan yang ada, jika tidak maka perangkat lunak akan menampilkan pesan-pesan kesalahan berikut :
Gambar IV.11. Pesan Kesalahan Panjang Kunci
95
Gambar IV.12. Pesan Kesalahan Plaintext
Gambar IV.13. Pesan Kesalahan Chipertext
IV.4
Hasil Pengujian
Setelah perangkat lunak dijalankan dan dilakukan pengujian pada setiap fitur dapat diambil kesimpulan bahwa : 1. Perangkat lunak pembelajaran kriptografi algoritma metoda IDEA berjalan dengan baik pada setiap fiturnya. 2. Pada prosesnya algoritma IDEA dilakukan dengan 8 putaran yang menghasilkan transformasi akhir. 3. Algoritma IDEA bersifat linier karena menghasilkan output yang sama panjangnya dengan input.