Seminar Nasional Teknologi Informasi dan Multimedia 2015
ISSN : 2302-3805
STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI Ramen Antonov Purba Manajemen Informatika Politeknik Unggul LP3M Medan Jl Iskandar Muda No.3 CDEF, Medan Baru, 20153 Email : politeknikunggul.ac.id1),
[email protected])
Abstrak Pesatnya penggunaan teknologi berbasis komputerisasi tentunya dibarengi dengan meningkatnya penggunaan aplikasi berbasis komputerisasi. Teknologi yang berkembang pesat menyebabkan banyak pihak juga mengambil keuntungan dari perkembangan tersebut. Tidak sedikit yang melakukan kecurangan dengan melakukan pencurian,penyadapan, perubahan maupun pengerusakan data. Kecurangan ini tentunya harus diatasi agar tidak banyak pihak yang dirugikan. Salah satu cara untuk mengatasinya yaitu dengan mempergunakan teknik kriptografi. Kriptografi identik dengan penyandian data. Ketika data penting disandikan maka hak akses dari oknum yang tidak bertanggung jawab dapat dihindarkan. Kriptografi memiliki banyak metode dalam melakukan penyandian, yang salah satunya dengan mempergunakan metode IDEA. Metode IDEA menyediakan keamanan yang cukup tinggi yang tidak didasarkan atas kerahasiaan algoritmanya akan tetapi lebih ditekankan pada keamanan/kerahasian kunci yang digunakan. Diharapkan dengan menggunakan konsep pengamanan dengan mempergunakan kriptografi dengan Metode IDEA dapat menjadi solusi yang baik. Dengan menggabungkan metode IDEA untuk mengenkripsi data dan fungsi hash untuk mengetahui adanya perubahan terhadap data diharapkan tingkat keamanan menjadi lebih baik. Hasil dari penelitian ini berupa sebuah perangkat lunak yang mampu melakukan enkripsi dan dekripsi terhadap data, men-generate security key berdasarkan data yang dienkripsi. Kata Kunci : IDEA,Kriptografi,Fungsi HASH 1. Pendahuluan Perkembangan teknologi berbasis komputerisasi yang begitu pesat mengakibatkan banyak terjadi kejahatankejahatan yang juga mempergunakan teknologi berbasis komputerisasi. Hal ini terlihat sejalan mengingat banyak kepentingan yang diharapkan dari penggunaan teknologi berbasis komputerisasi ini. Kepentingan yang jelas terlihat yakni, begitu banyak perusahaan maupun organisasi yang sudah menggunakan teknologi maupun aplikasi berbasis komputerisasi dalam pengolahan data transaksinya sehari-hari [1]. Tentunya kejahatan tersebut
harus segera diatasi agar keamanan data dapat terjaga dengan baik. Konsep ilmu komputer yang dapat diimplementasikan untuk menjawab permasalahan pengamanan data yaitu dengan menggunakan konsep kriptografi. Kriptografi merupakan konsep ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga [2]. Pengertian lain dari kriptografi yaitu ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [3]. Salah satu metode dari kriptografi yang dapat dijadikan alternatif dalam melakukan pengamanan yaitu metode IDEA. IDEA merupakan algoritma simetris yang beroperasi pada sebuah blok pesan terbuka 64bit, menggunakan kunci yang sama 128 bit untuk proses enkripsi dan dekripsi. Keluaran dari algoritma ini adalah blok pesan terenkripsi 64bit. Proses dekripsi menggunakan blok penyandi yang sama dengan proses enkripsi dimana kunci dekripsinya diturunkan dari kunci enkripsi[4,5]. 2. Pembahasan Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman [2].Kriptografi adalah cabang dari ilmu matematika yang memiliki banyak fungsi dalam pengamanan data. Kriptografi adalah proses mengambil pesan/message dan menggunakan beberapa fungsi untuk menggenerasi materi kriptografis (sebuah digest atau message terenkripsi) [6]. Kriptografi IDEA (International Data Encryption Algorithm) diperkenalkan pertama kali tahun 1991 oleh Xuejia Lai dan James L Massey. Algoritma ini dimaksudkan sebagai pengganti DES(Data Encryption Standard). IDEA adalah revisi minor cipher yang lebih awal, yakni PES, dan pada awalnya disebut IPES (Improved PES).Algoritma utama dari sistem kriptografi IDEA adalah sebagai berikut [7,8].
5.10-49
ISSN : 2302-3805
Seminar Nasional Teknologi Informasi dan Multimedia 2015 STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
IDEA merupakan algoritma simetris yang beroperasi pada sebuah blok pesan terbuka 64bit, menggunakan kunci yang sama 128bit untuk proses enkripsi dan dekripsi. Keluaran dari algoritma ini adalah blok pesan terenkripsi 64bit. Proses dekripsi menggunakan blok penyandi (algoritma) yang sama dengan proses enkripsi dimana kunci dekripsinya diturunkan dari kunci enkripsi. IDEA menggunakan proses iterasi yang terdiri dari 8 putaran dan 1 transformasi keluaran pada putaran ke8,5 Algoritma IDEA ini menggunakan 3 operasi aljabar utama, yakni : Xor, operasi penjmlahan modulo 2 16 dan operasi perkalian modulo (2 16+1) [9].
Sistem enkripsi merupakan suatu untuk mengolah data awal (plainteks) menjadi sebuah data acak (chipherteks) yang tidak dapat diterjemahkan secara langsung. Dalam sistem enkripsi ini terdapat proses hashing, proses enkripsi IDEA. Proses kerja sistem enkripsi dapat digambarkan menjadi seperti flowchart pada gambar 2.
Hash function atau fungsi hash adalah suatu cara menciptakan “fingerprint” dari berbagai data masukan. Hash function akan mengganti atau mentranspose-kan data tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasi heksadesimal). Suatu hash function adalah sebuah fungsi matematika, yang mengambil sebuah panjang variabel string input, yang disebut pre-image dan mengkonversikannya ke sebuah string output dengan panjang yang tetap dan biasanya lebih kecil, yang disebut message digest5[8]. Dalam notasi matematika fungsi hash satu arah dapat ditulis sebagai: h = H(M), dengan h memiliki panjang b Algoritma hash function yang baik adalah yang menghasilkan sedikit hash collision[8,9]. - Arsitektur IDEA Pada gambar 1 berikut diperlihatkan arsitektur atau gambaran umum sebuah processor yang mengolah sistem keamanan data dengan menggunakan algoritma IDEA.
Gambar 2 Flowchart Enkripsi - Proses Pembentukan Kunci Metoda IDEA memiliki input 128 bit kunci (key) yang identik dengan 32 digit heksadesimal ataupun 16 karakter yang diproses untuk menghasilkan 52 buah subkey dengan perincian masing-masing 6 buah subkey akan digunakan pada 8 putaran dan 4 buah subkey untuk transformasi output. Sebanyak 52 sub-blok kunci 16-bit untuk proses enkripsi diperoleh dari sebuah kunci 128-bit pilihan pemakai. Blok kunci 128-bit dipartisi menjadi 8 sub-blok kunci 16-bit yang lansung dipakai sebagai 8 subblok kunci pertama. Proses rotasi dan pertisi itu diulangi lagi sampai diperoleh 52 sub-blok kunci 16-bit, dengan urutan seperti pada tabel 1. Tabel 1 Sub Blok Kunci Enkripsi Proses
Gambar 1 Arsitektur IDEA
Sub-blok Kunci
Putaran Ke-1
Z Z Z Z Z Z
Putaran Ke-2
Z Z Z Z Z Z
Putaran Ke-3
Z Z Z Z Z Z
Putaran Ke-4
Z Z Z Z Z Z
Putaran Ke-5
Z Z Z Z Z Z
Putaran Ke-6
Z Z Z Z Z Z
Putaran Ke-7
Z Z Z Z Z Z
Putaran Ke-8
Z Z Z Z Z Z
Transformasi output
Z Z Z Z
11
21
31
41
51
12
22
32
42
52
62
13
23
33
43
53
63
14
24
34
44
54
64
15
25
35
45
55
65
16
26
36
46
56
66
17
27
37
47
57
67
18
28
38
48
19
29
39
49
58
Tabel 2 Sub Blok Kunci Dekripsi
- Analisa Enkripsi
5.10-50
61
68
Seminar Nasional Teknologi Informasi dan Multimedia 2015
ISSN : 2302-3805
STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
Proses Putaran Ke-1 Putaran Ke-2 Putaran Ke-3 Putaran Ke-4 Putaran Ke-5 Putaran Ke-6 Putaran Ke-7 Putaran Ke-8 Transformasi output
Sub-blok Kunci -1
19
-1
29
39
49
-1
58
(Z ) –Z –Z (Z ) Z Z 18
-1
38
28
48
-1
57
-1
37
27
47
-1
56
(Z ) –Z –Z (Z ) Z Z 16
-1
36
26
46
-1
55
(Z ) –Z –Z (Z ) Z Z 15
-1
35
25
45
-1
54
(Z ) –Z –Z (Z ) Z Z 14
-1
34
24
44
-1
53
(Z ) –Z –Z (Z ) Z Z 13
-1
33
23
43
-1
52
(Z ) –Z –Z (Z ) Z Z 12
-1
32
22
42
(Z ) –Z –Z (Z ) 11
21
31
-1
51
68
67
(Z ) –Z –Z (Z ) Z Z 17
Pecah menjadi 8 kelompok : KE3 (Putaran 2) = 1000011010010010 KE4 (Putaran 2) = 0100000010010110 KE5 (Putaran 2) = 1010010010010010 KE6 (Putaran 2) = 1010000010101000 KE1 (Putaran 3) = 1001111001000000 KE2 (Putaran 3) = 0110001001100100 KE3 (Putaran 3) = 0110011010010110 KE4 (Putaran 3) = 1010101010011100
-1
(Z ) –Z –Z (Z ) Z Z
66 65
3. Putaran Ketiga (Left Shift) :
64
(100001101001001001000000100101101010010010010 010101000001010100010011110010000000110001001 10010001100110100101101010101010011100, 25) = 001011010100100100100101010000010101000100111 100100000001100010011001000110011010010110101 01010100111001000011010010010010000001
63 62 61
41
- Analisa Input Plainteks Pada Enkripsi Input berupa karakter, dalam pengujian input plainteks 8 karakter. Input ini dapat diproses apabila telah diberikan kunci dengan panjang 16 karakter. Plainteks dan kunci diintegrasi menjadi plainteks operasi proses. Proses penyelesaian metoda kriptografi IDEA ini dapat dibagi menjadi 3 tahapan yaitu : 1. Proses Pembentukan Kunci. 2. Proses Enkripsi. 3. Proses Dekripsi. Untuk lebih memahami proses pembentukan kunci pada metoda IDEA, diberikan sebuah contoh berikut ini : input Kunci : KUNCI KRIPTO 123 Hasil Eksekusi Program KUNCI ENKRIPSI 1. Putarana Pertama (Input Kunci) : 010010110101010101001110010000110100100100100 000010010110101001001001001010100000101010001 00111100100000001100010011001000110011 Pecah menjadi 8 kelompok : KE1 (Putaran 1) = 0100101101010101 KE2 (Putaran 1) = 0100111001000011 KE3 (Putaran 1) = 0100100100100000 KE4 (Putaran 1) = 0100101101010010 KE5 (Putaran 1) = 0100100101010000 KE6 (Putaran 1) = 0101010001001111 KE1 (Putaran 2) = 0010000000110001 KE2 (Putaran 2) = 0011001000110011 2. Putaran Kedua (Left Shift) : (010010110101010101001110010000110100100100100 000010010110101001001001001010100000101010001 00111100100000001100010011001000110011, 25) = 100001101001001001000000100101101010010010010 010101000001010100010011110010000000110001001 10010001100110100101101010101010011100
Pecah menjadi 8 kelompok : KE5 (Putaran 3) = 0010110101001001 KE6 (Putaran 3) = 0010010101000001 KE1 (Putaran 4) = 0101000100111100 KE2 (Putaran 4) = 1000000011000100 KE3 (Putaran 4) = 1100100011001101 KE4 (Putaran 4) = 0010110101010101 KE5 (Putaran 4) = 0011100100001101 KE6 (Putaran 4) = 0010010010000001 4. Putaran Keempat (Left Shift): (001011010100100100100101010000010101000100111 100100000001100010011001000110011010010110101 01010100111001000011010010010010000001, 25) = 100000101010001001111001000000011000100110010 001100110100101101010101010011100100001101001 00100100000010010110101001001001001010 Pecah menjadi 8 kelompok : KE1 (Putaran 5) = 1000001010100010 KE2 (Putaran 5) = 0111100100000001 KE3 (Putaran 5) = 1000100110010001 KE4 (Putaran 5) = 1001101001011010 KE5 (Putaran 5) = 1010101001110010 KE6 (Putaran 5) = 0001101001001001 KE1 (Putaran 6) = 0000001001011010 KE2 (Putaran 6) = 1001001001001010 5. Putaran Kelima (Left Shift) : (100000101010001001111001000000011000100110010 001100110100101101010101010011100100001101001 00100100000010010110101001001001001010, 25) = 000000110001001100100011001101001011010101010 100111001000011010010010010000001001011010100 10010010010101000001010100010011110010 Pecah menjadi 8 kelompok : KE3 (Putaran 6) = 0000001100010011 KE4 (Putaran 6) = 0010001100110100 KE5 (Putaran 6) = 1011010101010100 KE6 (Putaran 6) = 1110010000110100
5.10-51
ISSN : 2302-3805
Seminar Nasional Teknologi Informasi dan Multimedia 2015 STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
KE1 (Putaran 7) = 1001001000000100 KE2 (Putaran 7) = 1011010100100100 KE3 (Putaran 7) = 1001010100000101 KE4 (Putaran 7) = 0100010011110010
07) L#7 = (L#5 * K5) mod (2^16 + 1) = 0000100100100111 * 0100100101010000 mod (2^16 + 1) = 1111100010010010
6. Putaran Keenam (Left Shift) : (000000110001001100100011001101001011010101010 100111001000011010010010010000001001011010100 10010010010101000001010100010011110010, 25) = 011010010110101010101001110010000110100100100 100000010010110101001001001001010100000101010 00100111100100000001100010011001000110 Pecah menjadi 8 kelompok : KE5 (Putaran 7) = 0110100101101010 KE6 (Putaran 7) = 1010100111001000 KE1 (Putaran 8) = 0110100100100100 KE2 (Putaran 8) = 0000100101101010 KE3 (Putaran 8) = 0100100100101010 KE4 (Putaran 8) = 0000101010001001 KE5 (Putaran 8) = 1110010000000110 KE6 (Putaran 8) = 0010011001000110 7. Putaran Ketujuh (Left Shift) : (011010010110101010101001110010000110100100100 100000010010110101001001001001010100000101010 00100111100100000001100010011001000110, 25) = 100100001101001001001000000100101101010010010 010010101000001010100010011110010000000110001 00110010001100110100101101010101010011 Pecah menjadi 8 kelompok (4 kelompok terakhir tidak digunakan) : KE1 (Transformasi Output) = 1001000011010010 KE2 (Transformasi Output) = 0100100000010010 KE3 (Transformasi Output) = 1101010010010010 KE4 (Transformasi Output) = 0101010000010101 Hasil Pengujian Untuk Dekripsi Kunci : KUNCI KRIPTO 123 Plainteks : TextAsli Hasil Eksekusi Program : 1. Putaran Pertama 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0101010001100101 * 0100101101010101 mod (2^16 + 1) = 1000001110110100 02) L#2 = (X2 + K2) mod 2^16 = 0111100001110100 + 0100111001000011 mod 2^16 = 1100011010110111 03) L#3 = (X3 + K3) mod 2^16 = 0100000101110011 + 0100100100100000 mod 2^16 = 1000101010010011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0110110001101001 * 0100101101010010 mod (2^16 + 1) = 0101110010111101 05) L#5 = L#1 XOR L#3 = 1000001110110100 XOR 1000101010010011 = 0000100100100111 06) L#6 = L#2 XOR L#4 = 1100011010110111 XOR 0101110010111101 = 1001101000001010
5.10-52
08) L#8 = (L#6 + L#7)) mod 2^16 = 1001101000001010 + 1111100010010010 mod 2^16 = 1001001010011100 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 1001001010011100 * 0101010001001111 mod (2^16 + 1) = 0011110111011100 10) L#10 = (L#7 + L#9)) mod 2^16 = 1111100010010010 + 0011110111011100 mod 2^16 = 0011011001101110 11) L#11 = L#1 XOR L#9 = 1000001110110100 XOR 0011110111011100 = 1011111001101000 12) L#12 = L#3 XOR L#9 = 1000101010010011 XOR 0011110111011100 = 1011011101001111 13) L#13 = L#2 XOR L#10 = 1100011010110111 XOR 0011011001101110 = 1111000011011001 14) L#14 = L#4 XOR L#10 = 0101110010111101 XOR 0011011001101110 = 0110101011010011 Untuk putaran berikutnya : X1 = L#11 = 1011111001101000 X2 = L#12 = 1011011101001111 X3 = L#13 = 1111000011011001 X4 = L#14 = 0110101011010011 2. Putaran Kedua 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1011111001101000 * 0010000000110001 mod (2^16 + 1) = 0101100111110111 02) L#2 = (X2 + K2) mod 2^16 = 1011011101001111 + 0011001000110011 mod 2^16 = 1110100110000010 03) L#3 = (X3 + K3) mod 2^16 = 1111000011011001 + 1000011010010010 mod 2^16 = 0111011101101011 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0110101011010011 * 0100000010010110 mod (2^16 + 1) = 0011110010101111 05) L#5 = L#1 XOR L#3 = 0101100111110111 XOR 0111011101101011 = 0010111010011100 06) L#6 = L#2 XOR L#4 = 1110100110000010 XOR 0011110010101111 = 1101010100101101 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 0010111010011100 * 1010010010010010 mod (2^16 + 1) = 0110011100000010 08) L#8 = (L#6 + L#7)) mod 2^16 = 1101010100101101 + 0110011100000010 mod 2^16 = 0011110000101111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0011110000101111 * 1010000010101000 mod (2^16 + 1) = 1011100100010100 10) L#10 = (L#7 + L#9)) mod 2^16 = 0110011100000010 + 1011100100010100 mod 2^16 = 0010000000010110 11) L#11 = L#1 XOR L#9 = 0101100111110111 XOR 1011100100010100 = 1110000011100011
Seminar Nasional Teknologi Informasi dan Multimedia 2015
ISSN : 2302-3805
STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
12) L#12 = L#3 XOR L#9 = 0111011101101011 XOR 1011100100010100 = 1100111001111111
02) L#2 = (X2 + K2) mod 2^16 = 0001101100111101 + 1000000011000100 mod 2^16 = 1001110000000001
13) L#13 = L#2 XOR L#10 = 1110100110000010 XOR 0010000000010110 = 1100100110010100 14) L#14 = L#4 XOR L#10 = 0011110010101111 XOR 0010000000010110 = 0001110010111001
03) L#3 = (X3 + K3) mod 2^16 = 0001010010111000 + 1100100011001101 mod 2^16 = 1101110110000101 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0110001111000011 * 0010110101010101 mod (2^16 + 1) = 0101010100010101 05) L#5 = L#1 XOR L#3 = 1111011011000000 XOR 1101110110000101 = 0010101101000101 06) L#6 = L#2 XOR L#4 = 1001110000000001 XOR 0101010100010101 = 1100100100010100 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 0010101101000101 * 0011100100001101 mod (2^16 + 1) = 1000010111011101 08) L#8 = (L#6 + L#7)) mod 2^16 = 1100100100010100 + 1000010111011101 mod 2^16 = 0100111011110001 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0100111011110001 * 0010010010000001 mod (2^16 + 1) = 1010000000110000 10) L#10 = (L#7 + L#9)) mod 2^16 = 1000010111011101 + 1010000000110000 mod 2^16 = 0010011000001101 11) L#11 = L#1 XOR L#9 = 1111011011000000 XOR 1010000000110000 = 0101011011110000 12) L#12 = L#3 XOR L#9 = 1101110110000101 XOR 1010000000110000 = 0111110110110101 13) L#13 = L#2 XOR L#10 = 1001110000000001 XOR 0010011000001101 = 1011101000001100 14) L#14 = L#4 XOR L#10 = 0101010100010101 XOR 0010011000001101 = 0111001100011000
Untuk putaran berikutnya : X1 = L#11 = 1110000011100011 X2 = L#12 = 1100111001111111 X3 = L#13 = 1100100110010100 X4 = L#14 = 0001110010111001 3. Putaran Ketiga 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1110000011100011 * 1001111001000000 mod (2^16 + 1) = 1100011110111101 02) L#2 = (X2 + K2) mod 2^16 = 1100111001111111 + 0110001001100100 mod 2^16 = 0011000011100011 03) L#3 = (X3 + K3) mod 2^16 = 1100100110010100 + 0110011010010110 mod 2^16 = 0011000000101010 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0001110010111001 * 1010101010011100 mod (2^16 + 1) = 0100011110011000 05) L#5 = L#1 XOR L#3 = 1100011110111101 XOR 0011000000101010 = 1111011110010111 06) L#6 = L#2 XOR L#4 = 0011000011100011 XOR 0100011110011000 = 0111011101111011 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1111011110010111 * 0010110101001001 mod (2^16 + 1) = 1111100101000100 08) L#8 = (L#6 + L#7)) mod 2^16 = 0111011101111011 + 1111100101000100 mod 2^16 = 0111000010111111 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0111000010111111 * 0010010101000001 mod (2^16 + 1) = 0010101100010111 10) L#10 = (L#7 + L#9)) mod 2^16 = 1111100101000100 + 0010101100010111 mod 2^16 = 0010010001011011 11) L#11 = L#1 XOR L#9 = 1100011110111101 XOR 0010101100010111 = 1110110010101010 12) L#12 = L#3 XOR L#9 = 0011000000101010 XOR 0010101100010111 = 0001101100111101 13) L#13 = L#2 XOR L#10 = 0011000011100011 XOR 0010010001011011 = 0001010010111000 14) L#14 = L#4 XOR L#10 = 0100011110011000 XOR 0010010001011011 = 0110001111000011 Untuk putaran berikutnya : X1 = L#11 = 1110110010101010 X2 = L#12 = 0001101100111101 X3 = L#13 = 0001010010111000 X4 = L#14 = 0110001111000011 4. Putaran Keempat 01) L#1 = (X1 * K1) mod (2^16 + 1) = 1110110010101010 * 0101000100111100 mod (2^16 + 1) = 1111011011000000
Untuk putaran berikutnya : X1 = L#11 = 0101011011110000 X2 = L#12 = 0111110110110101 X3 = L#13 = 1011101000001100 X4 = L#14 = 0111001100011000 5. Putaran Kelima 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0101011011110000 * 1000001010100010 mod (2^16 + 1) = 1011011110000100 02) L#2 = (X2 + K2) mod 2^16 = 0111110110110101 + 0111100100000001 mod 2^16 = 1111011010110110 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 1111010000011001 * 1010101001110010 mod (2^16 + 1) = 1010101010011110 08) L#8 = (L#6 + L#7)) mod 2^16 = 0101011110111010 + 1010101010011110 mod 2^16 = 0000001001011000 09) L#9 = (L#8 * K6) mod (2^16 + 1) = 0000001001011000 * 0001101001001001 mod (2^16 + 1) = 1001101011011011 10) L#10 = (L#7 + L#9)) mod 2^16 = 1010101010011110 + 1001101011011011 mod 2^16 = 0100010101111001 14) L#14 = L#4 XOR L#10 = 1010000100001100 XOR 0100010101111001 = 1110010001110101 Untuk putaran berikutnya : X1 = L#11 = 0010110101011111 X2 = L#12 = 1101100101000110
5.10-53
Seminar Nasional Teknologi Informasi dan Multimedia 2015
ISSN : 2302-3805
STMIK AMIKOM Yogyakarta, 6-8 Februari 2015
X3 = L#13 = 1011001111001111 X4 = L#14 = 1110010001110101
4. Kesimpulan
7. Putaran Ketujuh 01) L#1 = (X1 * K1) mod (2^16 + 1) = 0111110100110001 * 1001001000000100 mod (2^16 + 1) = 1001111101011101 02) L#2 = (X2 + K2) mod 2^16 = 0111101100101111 + 1011010100100100 mod 2^16 = 0011000001010011 03) L#3 = (X3 + K3) mod 2^16 = 0110101011000000 + 1001010100000101 mod 2^16 = 1111111111000101 04) L#4 = (X4 * K4) mod (2^16 + 1) = 0100011000001010 * 0100010011110010 mod (2^16 + 1) = 1100101010011000 05) L#5 = L#1 XOR L#3 = 1001111101011101 XOR 1111111111000101 = 0110000010011000 06) L#6 = L#2 XOR L#4 = 0011000001010011 XOR 1100101010011000 = 1111101011001011 07) L#7 = (L#5 * K5) mod (2^16 + 1) = 0110000010011000 * 0110100101101010 mod (2^16 + 1) = 0010111100101010 08) L#8 = (L#6 + L#7)) mod 2^16 = 1111101011001011 + 0010111100101010 mod 2^16 = 0010100111110101 12) L#12 = L#3 XOR L#9 = 1111111111000101 XOR 0110100010010101 = 1001011101010000 13) L#13 = L#2 XOR L#10 = 0011000001010011 XOR 1001011110111111 = 1010011111101100 14) L#14 = L#4 XOR L#10 = 1100101010011000 XOR 1001011110111111 = 0101110100100111 Untuk putaran berikutnya : X1 = L#11 = 1111011111001000 X2 = L#12 = 1001011101010000 X3 = L#13 = 1010011111101100 X4 = L#14 = 0101110100100111 Transformasi Output 01) Y1 = (X1 * K1) mod (2^16 + 1) = 1011000010101100 * 1001000011010010 mod (2^16 + 1) = 0100100100100111 02) Y2 = (X2 + K2) mod 2^16 = 1111111000011000 + 0100100000010010 mod 2^16 = 0100011000101010 03) Y3 = (X3 + K3) mod 2^16 = 0011101111100111 + 1101010010010010 mod 2^16 = 0001000001111001 04) Y4 = (X4 * K4) mod (2^16 + 1) = 0000001010101000 * 0101010000010101 mod (2^16 + 1) = 0101011011101001
Adapun kesimpulan yang di peroleh yaitu : 1. Fungsi hash dalam kriptografi memiliki beberapa sifat tambahan yang dapat digunakan dalam pengamanan data. Jika dalam database fungsi hash digunakan untuk memudahkan penyimpanan key dalam tabel hash, pada kriptografi, fungsi hash digunakan untuk memastikan kebenaran pesan yang dikirim dengan cara membandingkan nilai-nilai hash yang diperoleh. 2. Penggunaan fungsi hash pada algoritma enkripsi IDEA secara bersamaan akan meningkat-kan Confidentiality dan Integrity data. 3. Dari hasil pengujian kecepatan proses dapat disimpulkan bahwa sistem dapat diaplikasikan pada dunia nyata. Daftar Pustaka [1] Management Information Systems: Managing The Digital Firm (Pearson International Edition) Kenneth C. Laudon, Jane P. Laudon 2000. [2] Schneier B., Applied Crytography, Second Edition, John Wiley & Sons, Inc., 1996. [3] A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography, 2000. [4] Kholidya Yuli Wardani dkk “Implementasi Metode Kriptografi IDEA pada Priority Dealer untuk Layanan Pemesanan dan Laporan Penjualan Handphone Berbasis Web", in Proc. ITS 2011. [5] Gregorius S. Budhi ST., MT. “Fungsi Hash SNEFRU dan Metode Enkripsi IDEA untuk Keamanan Dokumen Elektronik” jurnal IDEASNEFRU, UK Petra, 2009. [6] Jethefer Stevens, “Studi Perbandingan Algoritma IDEA dengan DES”, Proyek akhir, ITB, 2006. [7] Fahmi, Ahmad ”Perancangan Perangkat Lunak Pembelajaran Metode Kriptografi IDEA” , Proyek akhir PENS-ITS, 2009. [8] Taufik Hidayat ”Sistem Kriptografi IDEA” , Proyek akhir ITB, 2009. [9] Dwi Tri Agustina ”Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Kriptografi Simetri IDEA” , Proyek akhir USU, 2008.
Biodata Penulis Ramen Antonov Purba,memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK Budidarma Medan, lulus tahun 2005. Memperoleh gelar Magister Komputer (M.Kom) Program Pasca Sarjana Magister Teknik Informatika Universitas Putra Indonesia YPTK, lulus tahun 2011.Saat ini menjadi Dosen di Politeknik Unggul LP3M Medan.
Hasil Enkripsi : Y1 = 0100100100100111 = I' Y2 = 0100011000101010 = F* Y3 = 0001000001111001 = y Y4 = 0101011011101001 = Vé Cipher text = I'F*yVé 5.10-54