BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis
Pada tahap analisis akan dilakukan analisis terhadap proses enkripsi dengan menggnakan metode Tiny Encryption Algorithm (TEA), proses pemecahan file dengan menggunakan metode secret sharing, proses penggabungan file, dan proses dekripsi untuk mengembalikan file asli ke bentuk semula.
3.1.1 Arsitektur Umum
Pada tahap ini dilakukan perancangan sistem untuk menyelesaikan permasalahan yang terdapat di dalam tahap analisis. Arsitektur umum dari perancangan yang akan digunakan pada penelitian ini dapat dilihat pada gambar 3.1 berikut.
File Asli PROSES ENKRIPSI DAN PEMECAHAN FILE
File
PROSES PENGGABUNGAN FILE DAN DEKRIPSI
File Asli
OUTPUT
Proses pemecahan file, berawal dari file asli (original file) dienkripsi dengan kunci dan metode TEA menjadi file terenkripsi (cipher file). Kemudian, file terenkripsi dibagi menjadi n bagian file dengan skema k-n secret sharing Visual Cryptography. Skema k-n artinya adalah data rahasia dibagi menjadi n bagian, namun hanya dibutuhkan cukup k bagian untuk merekonstruksi kembali data awal.
Proses penggabungan file, terdiri dari: sebanyak k bagian pecahan file (k number of shares) dikumpulkan untuk membentuk file terenkripsi (cipher file), kemudian file terenkripsi didekripsi dengan menggunakan kunci dan metode TEA. Hasilnya adalah file awal (original file)/
Output dari proses enkripsi adalah pecahan file sebanyak n bagian, sedangkan output dari proses dekripsi adalah file awal.
3.2 Proses Enkripsi dan Pemecahan File
Tahapan ini terdiri dari dua proses, yaitu proses enkripsi file dengan menggunakan metode TEA dan proses pemecahan file menggunakan Visual Cryptography.
3.2.1 Proses Enkripsi TEA
Kunci dari metode TEA berukuran 128 bit atau 16 karakter ascii. Proses pembentukan kunci pada metode TEA sangat sederhana, yaitu membagi kunci TEA menjadi 4 bagian sama besar, 32 bit, dan dimasukkan ke K(0), K(1), K(2) dan K(3). Sebagai contoh, misalkan 16 karakter kunci TEA yang digunakan untuk proses enkripsi adalah “TrianaRumapeaUSU”, maka proses pembentukan sub kunci dengan metode TEA adalah sebagai berikut:
Ascii dari karakter-1 = 'T' = 84 = 01010100 Ascii dari karakter-2 = 'r' = 114 = 01110010 Ascii dari karakter-3 = 'i' = 105 = 01101001 Ascii dari karakter-4 = 'a' = 97 = 01100001
Ascii dari karakter-5 = 'n' = 110 = 01101110 Ascii dari karakter-6 = 'a' = 97 = 01100001 Ascii dari karakter-7 = 'R' = 82 = 01010010 Ascii dari karakter-8 = 'u' = 117 = 01110101
K(1) = 01101110011000010101001001110101 = 1851871861 Ascii dari karakter-9 = 'm' = 109 = 01101101
Ascii dari karakter-10 = 'a' = 97 = 01100001 Ascii dari karakter-11 = 'p' = 112 = 01110000 Ascii dari karakter-12 = 'e' = 101 = 01100101
K(2) = 01101101011000010111000001100101 = 1835102309 Ascii dari karakter-13 = 'a' = 97 = 01100001
Ascii dari karakter-14 = 'U' = 85 = 01010101 Ascii dari karakter-15 = 'S' = 83 = 01010011 Ascii dari karakter-16 = 'U' = 85 = 01010101
K(3) = 01100001010101010101001101010101 = 1632981845
Nilai K(0), K(1), K(2) dan K(3) akan digunakan pada proses enkripsi dan dekripsi TEA. Metode TEA akan memproses data sebanyak 8 byte atau 64 bit biner untuk satu kali proses enkripsi. Pada awalnya, data 64 bit dibagi menjadi 2 bagian, yaitu 32 bit sebelah kiri (L) dan 32 bit sebelah kanan (R). Masing-masing nilai L dan R akan diproses sebanyak 32 putaran.
Sebagai contoh, apabila terdapat 8 byte dari suatu file secara berurutan adalah “97 98 99 100 101 102 103 104”, maka proses enkripsi terhadap 8 byte data tersebut dengan metode TEA dimulai dengan membagi 8 byte data menjadi 2 blok sama besar, yaitu blok kiri (L) dan blok kanan (R)
Byte ke-0 = 97 = 01100001 Byte ke-1 = 98 = 01100010 Byte ke-2 = 99 = 01100011 Byte ke-3 = 100 = 01100100
Byte ke-4 = 101 = 01100101 Byte ke-5 = 102 = 01100110 Byte ke-6 = 103 = 01100111 Byte ke-7 = 104 = 01101000
R = 01100101011001100110011101101000 = 1701209960
Selanjutnya dilakukan proses enkripsi dari putaran-1 hingga putaran ke-32 sebagai berikut:
TEA - PUTARAN 1
L = 97 98 99 100 = 01100001011000100110001101100100 = 1633837924 R = 101 102 103 104 = 01100101011001100110011101101000 = 1701209960 Delta = (Delta + 2654435769) mod 232 = (0 + 2654435769) mod 232
Delta = 2654435769
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 1701209960 = 01100101011001100110011101101000
LeftShift(R, 4) = 01010110011001100111011010000000 = 1449555584
H1 = (LeftShift(R, 4) + K(0)) mod 232 = (1449555584 + 1416784225) mod 232 = 2866339809
2. R ditambahkan dengan Delta R = 1701209960
H2 = (R + Delta) mod 232 = (1701209960 + 2654435769) mod 232 = 60678433 3. R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 1701209960 = 01100101011001100110011101101000
RightShift(R, 5) = 00000011001010110011001100111011 = 53162811
H3 = (RightShift(R, 5) + K(1)) mod 232 = (53162811 + 1851871861) mod 232 = 1905034672
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
H4 = 2866339809 ⨁ 60678433 ⨁ 1905034672 = 3637099376 5. Tambahkan langkah ke-4 dengan L
H5 = (H4 + L) mod 232 = (3637099376 + 1633837924) mod 232 = 975970004 6. R(baru) = hasil dari langkah ke-5 = 975970004
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 975970004 = 00111010001011000001111011010100
LeftShift(R, 4) = 10100010110000011110110101000000 = 2730618176
H8 = (LeftShift(R, 4) + K(2)) mod 232 = (2730618176 + 1835102309) mod 232 = 270753189
9. R ditambahkan dengan Delta R = 975970004
H9 = (R + Delta) mod 232 = (975970004 + 2654435769) mod 232 = 3630405773 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[3]
R = 975970004 = 00111010001011000001111011010100
RightShift(R, 5) = 00000001110100010110000011110110 = 30499062
H10 = (RightShift(R, 5) + K(3)) mod 232 = (30499062 + 1632981845) mod 232 = 1663480907
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
H11 = 270753189 ⨁ 3630405773 ⨁ 1663480907 = 2875617635 12.Tambahkan langkah ke-11 dengan L
H12 = (H11 + L) mod 232 = (2875617635 + 1701209960) mod 232 = 281860299 13.R(baru) = hasil dari langkah ke-12 = 281860299 =
00010000110011001101100011001011
14.L(baru) = R (lama) = 975970004 = 00111010001011000001111011010100 L (setelah proses) = 58 44 30 212
R (setelah proses) = 16 204 216 203
Kemudian dilanjutkan dengan putaran ke-2 proses enkripsi TEA sebagai berikut:
TEA - PUTARAN 2
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 281860299 = 00010000110011001101100011001011
LeftShift(R, 4) = 00001100110011011000110010110000 = 214797488
H1 = (LeftShift(R, 4) + K(0)) mod 232 = (214797488 + 1416784225) mod 232 = 1631581713
2. R ditambahkan dengan Delta R = 281860299
H2 = (R + Delta) mod 232 = (281860299 + 1013904242) mod 232 = 1295764541 3. R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 281860299 = 00010000110011001101100011001011
RightShift(R, 5) = 00000000100001100110011011000110 = 8808134
H3 = (RightShift(R, 5) + K(1)) mod 232 = (8808134 + 1851871861) mod 232 = 1860679995
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
H4 = 1631581713 ⨁ 1295764541 ⨁ 1860679995 = 1122206487 5. Tambahkan langkah ke-4 dengan L
H5 = (H4 + L) mod 232 = (1122206487 + 975970004) mod 232 = 2098176491 6. R(baru) = hasil dari langkah ke-5 = 2098176491
7. L(baru) = R (lama) = 281860299
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 2098176491 = 01111101000011111010000111101011
LeftShift(R, 4) = 11010000111110100001111010110000 = 3506052784
H8 = (LeftShift(R, 4) + K(2)) mod 232 = (3506052784 + 1835102309) mod 232 = 1046187797
9. R ditambahkan dengan Delta R = 2098176491
H9 = (R + Delta) mod 232 = (2098176491 + 1013904242) mod 232 = 3112080733 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[3]
R = 2098176491 = 01111101000011111010000111101011
RightShift(R, 5) = 00000011111010000111110100001111 = 65568015
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
H11 = 1046187797 ⨁ 3112080733 ⨁ 1698549860 = 3793275436 12.Tambahkan langkah ke-11 dengan L
H12 = (H11 + L) mod 232 = (3793275436 + 281860299) mod 232 = 4075135735 13.R(baru) = hasil dari langkah ke-12 = 4075135735 =
11110010111001011010001011110111
14.L(baru) = R (lama) = 2098176491 = 01111101000011111010000111101011 L (setelah proses) = 125 15 161 235
R (setelah proses) = 242 229 162 247
Proses perhitungan yang sama dilanjutkan untuk putaran ke-3, putaran ke-4 hingga putaran ke-32. Putaran ke-32 proses enkripsi TEA adalah sebagai berikut: TEA - PUTARAN 32
L = 163 0 241 210 = 10100011000000001111000111010010 = 2734748114 R = 182 14 2 241 = 10110110000011100000001011110001 = 3054371569 Delta = (Delta + 2654435769) mod 232 = (683130215 + 2654435769) mod 232 Delta = 3337565984
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 3054371569 = 10110110000011100000001011110001
LeftShift(R, 4) = 01100000111000000010111100010000 = 1625304848
H1 = (LeftShift(R, 4) + K(0)) mod 232 = (1625304848 + 1416784225) mod 232 = 3042089073
2. R ditambahkan dengan Delta R = 3054371569
H2 = (R + Delta) mod 232 = (3054371569 + 3337565984) mod 232 = 2096970257 3. R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 3054371569 = 10110110000011100000001011110001
RightShift(R, 5) = 00000101101100000111000000010111 = 95449111
H3 = (RightShift(R, 5) + K(1)) mod 232 = (95449111 + 1851871861) mod 232 = 1947320972
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
5. Tambahkan langkah ke-4 dengan L
H5 = (H4 + L) mod 232 = (3183370476 + 2734748114) mod 232 = 1623151294 6. R(baru) = hasil dari langkah ke-5 = 1623151294
7. L(baru) = R (lama) = 3054371569
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 1623151294 = 01100000101111110101001010111110
LeftShift(R, 4) = 00001011111101010010101111100000 = 200616928
H8 = (LeftShift(R, 4) + K(2)) mod 232 = (200616928 + 1835102309) mod 232 = 2035719237
9. R ditambahkan dengan Delta R = 1623151294
H9 = (R + Delta) mod 232 = (1623151294 + 3337565984) mod 232 = 665749982 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[3]
R = 1623151294 = 01100000101111110101001010111110
RightShift(R, 5) = 00000011000001011111101010010101 = 50723477
H10 = (RightShift(R, 5) + K(3)) mod 232 = (50723477 + 1632981845) mod 232 = 1683705322
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
H11 = 2035719237 ⨁ 665749982 ⨁ 1683705322 = 983783537 12.Tambahkan langkah ke-11 dengan L
H12 = (H11 + L) mod 232 = (983783537 + 3054371569) mod 232 = 4038155106 13.R(baru) = hasil dari langkah ke-12 = 4038155106 =
11110000101100010101101101100010
14.L(baru) = R (lama) = 1623151294 = 01100000101111110101001010111110 L (setelah proses) = 96 191 82 190
R (setelah proses) = 240 177 91 98
Dengan demikian, hasil enkripsi dari 8 bytes “97 98 99 100 101 102 103 104” (atau dalam ascii berbentuk “abcdefgh”) menggunakan kunci “TrianaRumapeaUSU” adalah 8 bytes ”96 191 82 190 240 177 91 98” (atau dalam ascii berbentuk “`¿R¾ð±[b”).
Proses pemecahan file dengan menggunakan visual cryptography dilakukan dengan menyebarkan bit „1‟ ke pecahan file sebanyak RECONS. Nilai RECONS dapat dihitung dengan rumus berikut:
RECONS = (n-k) +1 ……… (3.1)
Sebagai contoh, apabila file hasil enkripsi dengan bytes ”96 191 82 190 240 177 91 98” akan dipecah dengan skema k = 3 dan n = 5, atau artinya file dipecah menjadi 5 pecahan dan hanya dibutuhkan 3 pecahan sembarang untuk mengembalikan file, maka proses awal adalah menghitung nilai RECONS sebagai berikut:
RECONS = (n-k) +1 = (5-3) +1 RECONS = 3
Ini artinya, setiap bit 1 dari file akan disebar ke 3 pecahan file yang lain. Untuk setiap bit 0 dari file awal, semua pecahan tetap bernilai 0. Dengan demikian, proses pemecahan file dengan isi byte “96 191 82 190 240 177 91 98” adalah sebagai berikut: 1. Byte ke-0 = 96 = 01100000
Pecahan-1, byte ke-0 = 01100000 = 96 Pecahan-2, byte ke-0 = 00000000 = 0 Pecahan-3, byte ke-0 = 01100000 = 96 Pecahan-4, byte ke-0 = 01100000 = 96 Pecahan-5, byte ke-0 = 00000000 = 0 2. Byte ke-1 = 191 = 10111111
3. Byte ke-2 = 82 = 01010010
Pecahan-1, byte ke-2 = 01000000 = 64 Pecahan-2, byte ke-2 = 00010010 = 18 Pecahan-3, byte ke-2 = 01010000 = 80 Pecahan-4, byte ke-2 = 01000010 = 66 Pecahan-5, byte ke-2 = 00010010 = 18 4. Byte ke-3 = 190 = 10111110
Pecahan-1, byte ke-3 = 10101100 = 172 Pecahan-2, byte ke-3 = 00011110 = 30 Pecahan-3, byte ke-3 = 10010110 = 150 Pecahan-4, byte ke-3 = 10100010 = 162 Pecahan-5, byte ke-3 = 00111000 = 56 5. Byte ke-4 = 240 = 11110000
Pecahan-1, byte ke-4 = 00110000 = 48 Pecahan-2, byte ke-4 = 10100000 = 160 Pecahan-3, byte ke-4 = 11010000 = 208 Pecahan-4, byte ke-4 = 01000000 = 64 Pecahan-5, byte ke-4 = 11110000 = 240 6. Byte ke-5 = 177 = 10110001
Pecahan-1, byte ke-5 = 00100001 = 33 Pecahan-2, byte ke-5 = 10010001 = 145 Pecahan-3, byte ke-5 = 10100000 = 160 Pecahan-4, byte ke-5 = 10110000 = 176 Pecahan-5, byte ke-5 = 00010001 = 17 7. Byte ke-6 = 91 = 01011011
8. Byte ke-7 = 98 = 01100010
Pecahan-1, byte ke-7 = 01100000 = 96 Pecahan-2, byte ke-7 = 01000010 = 66 Pecahan-3, byte ke-7 = 01100010 = 98 Pecahan-4, byte ke-7 = 00100000 = 32 Pecahan-5, byte ke-7 = 00000010 = 2
File awal dan file hasil pecahan dengan menggunakan nilai k = 3 dan n =5 atau skema 3-5 visual cryptography dapat dilihat pada tabel 3.1.
Tabel 3.1 Hasil Pecahan 3-5 Visual Cryptography
File hasil enkripsi TEA 96 191 82 190 240 177 91 98
Pecahan-1 96 13 64 172 48 33 17 96
Pecahan-2 0 58 18 30 160 145 91 66
Pecahan-3 96 159 80 150 208 160 67 98
Pecahan-4 96 177 66 162 64 176 8 32
Pecahan-5 0 166 18 56 240 17 90 2
3.3 Proses Penggabungan File dan Dekripsi
Tahapan ini terdiri dari dua proses, yaitu proses penggabungan file dengan Visual Cryptography dan proses dekripsi menggunakan metode TEA.
3.3.1 Proses Penggabungan File
Proses penggabungan atau rekonstruksi file menggunakan visual cryptography sangat sederhana, yaitu menggunakan fungsi OR untuk menghasilkan byte awal dari file. Oleh karena skema yang digunakan adalah 3-5 (k = 3 dan n = 5), maka dibutuhkan minimal 3 pecahan untuk mengembalikan file awal. Sebagai contoh dipilih pecahan-1, pecahan-2 dan pecahan-3, maka proses penggabungan citra adalah sebagai berikut: 1. Byte ke-0
Pecahan-1, byte ke-0 = 96 = 01100000 Pecahan-3, byte ke-0 = 96 = 01100000 Pecahan-5, byte ke-0 = 0 = 00000000 OR
8. Byte ke-7
Pecahan-1, byte ke-7 = 96 = 01100000 Pecahan-3, byte ke-7 = 98 = 01100010 Pecahan-5, byte ke-7 = 2 = 00000010 OR
Byte ke-7 = 01100010 = 98
Dengan demikian, hasil penggabungan dari file pecahan-1, pecahan-3 dan pecahan-5, berhasil mengembalikan bytes awal sebelum dipecah, yaitu “96 191 82 190 240 177 91 98”.
3.3.2 Proses Dekripsi TEA
Proses dekripsi adalah kebalikan dari proses enkripsi, tetapi sama-sama terdiri dari 32 putaran. Dengan menggunakan kunci yang sama seperti proses enkripsi, yaitu “TrianaRumapeaUSU”, maka proses dekripsi terhadap bytes “96 191 82 190 240 177 91 98” adalah sebagai berikut:
Nilai Byte = 96 191 82 190 240 177 91 98
L = 96 191 82 190 = 01100000101111110101001010111110 = 1623151294 R = 240 177 91 98 = 11110000101100010101101101100010 = 4038155106 Swap nilai L dan R, sehingga:
L = 4038155106 R = 1623151294 TEA - PUTARAN 1
L = 240 177 91 98 = 11110000101100010101101101100010 = 4038155106 R = 96 191 82 190 = 01100000101111110101001010111110 = 1623151294 Delta = 3337565984
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 1623151294 = 01100000101111110101001010111110
LeftShift(R, 4) = 00001011111101010010101111100000 = 200616928
H1 = (LeftShift(R, 4) + K(2)) mod 232 = (200616928 + 1835102309) mod 232 = 2035719237
2. R ditambahkan dengan Delta R = 1623151294
R = 1623151294 = 01100000101111110101001010111110
RightShift(R, 5) = 00000011000001011111101010010101 = 50723477
H3 = (RightShift(R, 5) + K(3)) mod 232 = (50723477 + 1632981845) mod 232 = 1683705322
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
H4 = 2035719237 ⨁ 665749982 ⨁ 1683705322 = 983783537 5. Kurangkan langkah ke-4 dengan L
H5 = (H4 - L) mod 232 = (983783537 - 4038155106) mod 232 = 3054371569 6. R(baru) = hasil dari langkah ke-5 = 3054371569
7. L(baru) = R (lama) = 1623151294
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 3054371569 = 10110110000011100000001011110001
LeftShift(R, 4) = 01100000111000000010111100010000 = 1625304848
H8 = (LeftShift(R, 4) + K(0)) mod 232 = (1625304848 + 1416784225) mod 232 = 3042089073
9. R ditambahkan dengan Delta R = 3054371569
H9 = (R + Delta) mod 232 = (3054371569 + 3337565984) mod 232 = 2096970257 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 3054371569 = 10110110000011100000001011110001
RightShift(R, 5) = 00000101101100000111000000010111 = 95449111
H3 = (RightShift(R, 5) + K(1)) mod 232 = (95449111 + 1851871861) mod 232 = 1947320972
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
H11 = 3042089073 ⨁ 2096970257 ⨁ 1947320972 = 3183370476 12.Kurangkan langkah ke-11 dengan L
H12 = (H11 - L) mod 232 = (3183370476 - 1623151294) mod 232 = 2734748114 13.R(baru) = hasil dari langkah ke-12 = 2734748114 =
10100011000000001111000111010010
R (setelah proses) = 163 0 241 210 TEA - PUTARAN 2
L = 163 0 241 210 = 10110110000011100000001011110001 = 3054371569 R = 182 14 2 241 = 10100011000000001111000111010010 = 2734748114
Delta = (Delta - 2654435769) mod 232 = (3337565984 - 2654435769) mod 232 = 683130215
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 2734748114 = 10100011000000001111000111010010
LeftShift(R, 4) = 00110000000011110001110100100000 = 806296864
H1 = (LeftShift(R, 4) + K(2)) mod 232 = (806296864 + 1835102309) mod 232 = 2641399173
2. R ditambahkan dengan Delta R = 2734748114
H2 = (R + Delta) mod 232 = (2734748114 + 683130215) mod 232 = 3417878329 3. R di-right shift sebanyak 5 bit dan ditambah dengan K[3]
R = 2734748114 = 10100011000000001111000111010010
RightShift(R, 5) = 00000101000110000000011110001110 = 85460878
H3 = (RightShift(R, 5) + K(3)) mod 232 = (85460878 + 1632981845) mod 232 = 1718442723
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
H4 = 2641399173 ⨁ 3417878329 ⨁ 1718442723 = 816150623 5. Kurangkan langkah ke-4 dengan L
H5 = (H4 - L) mod 232 = (816150623 - 3054371569) mod 232 = 2238220946 6. R(baru) = hasil dari langkah ke-5 = 2238220946
7. L(baru) = R (lama) = 2734748114
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 2238220946 = 10000101011010001000101010010010
LeftShift(R, 4) = 01010110100010001010100100100000 = 1451796768
H8 = (LeftShift(R, 4) + K(0)) mod 232 = (1451796768 + 1416784225) mod 232 = 2868580993
H9 = (R + Delta) mod 232 = (2238220946 + 683130215) mod 232 = 2921351161 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 2238220946 = 10000101011010001000101010010010
RightShift(R, 5) = 00000100001010110100010001010100 = 69944404
H3 = (RightShift(R, 5) + K(1)) mod 232 = (69944404 + 1851871861) mod 232 = 1921816265
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
H11 = 2868580993 ⨁ 2921351161 ⨁ 1921816265 = 1985463217 12.Kurangkan langkah ke-11 dengan L
H12 = (H11 - L) mod 232 = (1985463217 - 2734748114) mod 232 = 749284897 13.R(baru) = hasil dari langkah ke-12 = 749284897 =
00101100101010010010111000100001
14.L(baru) = R (lama) = 2238220946 = 10000101011010001000101010010010 L (setelah proses) = 133 104 138 146
R (setelah proses) = 44 169 46 33
Proses perhitungan yang sama dilanjutkan untuk putaran ke-3, putaran ke-4 hingga putaran ke-32. Putaran ke-32 proses dekripsi TEA adalah sebagai berikut:
TEA - PUTARAN 32
L = 58 44 30 212 = 00010000110011001101100011001011 = 281860299 R = 16 204 216 203 = 00111010001011000001111011010100 = 975970004
Delta = (Delta - 2654435769) mod 232 = (1013904242 - 2654435769) mod 232 = 2654435769
1. R di-left shift sebanyak 4 bit dan ditambah dengan K[2] R = 975970004 = 00111010001011000001111011010100
LeftShift(R, 4) = 10100010110000011110110101000000 = 2730618176
2. R ditambahkan dengan Delta R = 975970004
H2 = (R + Delta) mod 232 = (975970004 + 2654435769) mod 232 = 3630405773 3. R di-right shift sebanyak 5 bit dan ditambah dengan K[3]
R = 975970004 = 00111010001011000001111011010100
RightShift(R, 5) = 00000001110100010110000011110110 = 30499062
H3 = (RightShift(R, 5) + K(3)) mod 232 = (30499062 + 1632981845) mod 232 = 1663480907
4. Hasil pada langkah-1, 2 dan 3 dimasukkan ke fungsi-XOR atau ⨁ H4 = H1 ⨁ H2 ⨁ H3
H4 = 270753189 ⨁ 3630405773 ⨁ 1663480907 = 2875617635 5. Kurangkan langkah ke-4 dengan L
H5 = (H4 - L) mod 232 = (2875617635 - 281860299) mod 232 = 1701209960 6. R(baru) = hasil dari langkah ke-5 = 1701209960
7. L(baru) = R (lama) = 975970004
8. R di-left shift sebanyak 4 bit dan ditambah dengan K[0] R = 1701209960 = 01100101011001100110011101101000
LeftShift(R, 4) = 01010110011001100111011010000000 = 1449555584
H8 = (LeftShift(R, 4) + K(0)) mod 232 = (1449555584 + 1416784225) mod 232 = 2866339809
9. R ditambahkan dengan Delta R = 1701209960
H9 = (R + Delta) mod 232 = (1701209960 + 2654435769) mod 232 = 60678433 10.R di-right shift sebanyak 5 bit dan ditambah dengan K[1]
R = 1701209960 = 01100101011001100110011101101000
RightShift(R, 5) = 00000011001010110011001100111011 = 53162811
H3 = (RightShift(R, 5) + K(1)) mod 232 = (53162811 + 1851871861) mod 232 = 1905034672
11.Hasil pada langkah-8, 9 dan 10 dimasukkan ke fungsi-XOR atau ⨁ H11 = H8 ⨁ H9 ⨁ H10
12.Kurangkan langkah ke-11 dengan L
H12 = (H11 - L) mod 232 = (3637099376 - 975970004) mod 232 = 1633837924 13.R(baru) = hasil dari langkah ke-12 = 1633837924 =
01100001011000100110001101100100
14.L(baru) = R (lama) = 1701209960 = 01100101011001100110011101101000 L (setelah proses) = 101 102 103 104
R (setelah proses) = 97 98 99 100 Swap posisi L dan R
L (akhir) = 97 98 99 100 R (akhir) = 101 102 103 104
Hasil byte dekripsi = 97 98 99 100 101 102 103 104
3.4 Alur Sistem
Secara umum, alur sistem dari pengamanan dan pemecahan file dapat digambarkan dalam bentuk flowchart, seperti terlihat pada gambar 3.2 berikut.
START
Input file awal, kunci enkripsi dan nilai k-n
Proses enkripsi TEA terhadap
file menggunakan kunci
Proses pemecahan file hasil enkripsi menggunakan skema k-n
Simpan file hasil proses pemecahan
Proses penggabungan pecahan file
menggunakan skema k-n
Proses dekripsi TEA terhadap
file menggunakan kunci
Simpan file hasil proses dekripsi
Output file hasil penggabungan
END
PROSES PEMECAHAN FILE PROSES PENGGABUNGAN FILE
(a) (b)
Gambar 3.2 Flowchart Sistem (a) Pemecahan File (b) Penggabungan File
3.5 Perancangan Sistem
Perangkat lunak implementasi metode Tiny Encryption dan skema k-n Visual Cryptography untuk pengamanan dan pemecahan file digital rahasia, dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic .Net 2008.
Perancangan tampilan aplikasi terdiri dari 4 (empat) tampilan form, seperti: form Utama, form Pemecahan File, form Penggabungan File dan form About. Setiap
tampilan form akan dibahas pada masing-masing sub bab berikut.
3.5.1 Form Utama
Form utama merupakan tampilan utama dari perangkat lunak. User dapat mengakses form pemecahan file, form penggabungan file dan form About melalui form Utama. Rancangan tampilan form Utama dapat dilihat pada gambar 3.3.
r Pemecahan File Digital Rahasia
1
IMPLEMENTASI METODE TINY ENCRYPTION DAN SKEMA K-N VISUAL CRYPTOGRAPHY UNTUK PENGAMANAN DAN
PEMECAHAN FILE DIGITAL RAHASIA
PEMECAHAN FILE Keterangan mengenai proses pemecahan file
2 PENGGABUNGAN FILE Keterangan mengenai proses penggabungan file
3 TENTANG Keterangan mengenai informasi aplikasi
4
Gambar 3.3 Rancangan Tampilan Form Utama Keterangan:
1 : button, untuk menampilkan form Pemecahan File. 2 : button, untuk menampilkan form Penggabungan File. 3 : button, untuk menampilkan form About.
Form ini melakukan proses enkripsi menggunakan metode TEA dan melakukan proses pemecahan file terhadap hasil enkripsi. Rancangan tampilan form pemecahan file dapat dilihat pada gambar 3.4.
r
File akan dipecah menjadi n bagian, dan hanya dibutuhkan pecahan file sebanyak k untuk merekonstruksi dan mengembalikan file.
Gambar 3.4 Rancangan Tampilan Form Pemecahan File Keterangan:
1 : textbox, untuk menampilkan nama input file.
2 : button, untuk menampilkan kotak dialog Open File untuk memilih input file. 3 : textbox, untuk memasukkan kunci enkripsi TEA.
4 : textbox, untuk memasukkan nilai k. 5 : textbox, untuk memasukkan nilai n.
6 : textbox, untuk menampilkan nama folder tujuan untuk menyimpan pecahan file. 7 : button, untuk menampilkan kotak dialog Open Folder untuk memilih folder
tujuan.
8 : textbox, untuk menampilkan keterangan proses.
9 : progress bar, untuk menampilkan progress dari enkripsi TEA. 10 : label, untuk menampilkan waktu proses enkripsi.
11 : progress bar, untuk menampilkan progress dari proses pemecahan file. 12 : label, untuk menampilkan waktu proses pemecahan file.
13 : button, untuk membatalkan proses.
3.5.3 Form Penggabungan File
Form ini melakukan proses penggabungan file dan proses dekripsi menggunakan metode TEA. Rancangan tampilan form penggabungan file dapat dilihat pada gambar 3.5.
Gambar 3.5 Rancangan Tampilan Form Penggabungan File Keterangan:
1 : listbox, untuk menampilkan nama pecahan file.
2 : button, untuk menampilkan kotak dialog Open File, memilih pecahan file dan memasukkan nama pecahan file ke listbox (objek nomor 1).
3 : button, untuk menghapus pecahan file terpilih dari listbox (objek nomor 1). 4 : textbox, untuk memasukkan kunci dekripsi TEA.
5 : textbox, untuk menampilkan nama file hasil penggabungan.
6 : button, untuk menampilkan kotak dialog Open File untuk memasukkan nama file hasil penggabungan.
7 : textbox, untuk menampilkan keterangan proses.
8 : progress bar, untuk menampilkan progress dari penggabungan file. 9 : label, untuk menampilkan waktu proses penggabungan file.
10 : progress bar, untuk menampilkan progress dari proses dekripsi TEA. 11 : label, untuk menampilkan waktu proses dekripsi TEA.
12 : button, untuk membatalkan proses.
13 : button, untuk memulai proses penggabungan file. 14 : button, untuk menutup form.
Form ini menampilkan informasi singkat mengenai perangkat lunak dan informasi mengenai mahasiswa yang menyusun skripsi. Rancangan tampilan form About dapat dilihat pada gambar 3.6.
Icon
Aplikasi JUDUL
APLIKASI
Informasi Singkat Mengenai Aplikasi
Identitas Mahasiswa OK
Tentang r
BAB 4
IMPLEMENTASI DAN PENGUJIAN
5.1 Implementasi
Pada sub bab ini, akan dibahas hasil implementasi dari perangkat lunak pengamanan dan pemecahan file digital rahasia menggunakan metode Tiny Encryption dan skema k-n Visual Cryptography. Aplikasi dibangun dengan menggunakan bahasa pemrograman Microsoft Visual Basic .NET 2008. Untuk menjalankan file exe dari aplikasi, komputer cukup di-install Microsoft .NET Framework 3.5. Aplikasi dapat dijalankan pada sistem operasi Windows XP / 7 / 8 / 10. Berikut akan dijelaskan cara menjalankan aplikasi.
Pada saat aplikasi dijalankan, form Utama akan muncul seperti terlihat pada gambar 4.1. Form ini berisi pilihan untuk melakukan proses pemecahan file, proses penggabungan file atau melihat informasi singkat mengenai aplikasi.
Gambar 4.1 Tampilan Form Utama
Untuk melakukan proses pemecahan file, tekan tombol “Pemecahan File” pada form Utama, dan form Pemecahan File akan muncul seperti terlihat pada gambar 4.2.
Gambar 4.2 Tampilan Form Pemecahan File
Sebagai contoh, dipilih file ”DaftarPustaka.doc” untuk diamankan dan dipecah dengan skema 4-7 (file dipecah menjadi 7 bagian tetapi hanya dibutuhkan minimal 4 pecahan file untuk mengembalikan file awal). Kunci metode TEA yang digunakan adalah ”TrianaRumapeaUSU”. Hasil pecahan file akan disimpan pada folder ”C:\UjiFile”.
Tekan tombol ”Proses Pemecahan File” dan proses pemecahan file akan mulai berjalan, dimulai dengan proses enkripsi file menggunakan metode TEA dan dilanjutkan dengan tahap pemecahan file menggunakan skema 4-7 visual cryptography. Proses yang berjalan ditandai dengan berjalannya progressbar proses enkripsi TEA dan progressbar proses pemecahan file.
Gambar 4.3 Tampilan Proses Enkripsi File Selesai
Tampilan aplikasi setelah proses pemecahan file selesai dapat dilihat pada gambar 4.4.
Gambar 4.4 Tampilan Proses Pemecahan File Selesai
Gambar 4.5 Tujuh File Hasil Proses Pemecahan
Bila file pecahan ”DaftarPustaka.doc.01” dibuka dengan Microsoft Word, maka tampilannya akan teracak seperti terlihat pada gambar 4.6.
Untuk mengembalikan file awal, maka lakukan penggabungan file dengan menekan tombol “Penggabungan File” pada form Utama, dan form Penggabungan File akan muncul seperti terlihat pada gambar 4.7.
Gambar 4.7 Tampilan Form Penggabungan File
Tekan tombol ”+” untuk memilih pecahan file dan tekan tombol ”-” untuk menghapus file dari listbox. Misalkan dipilih 4 buah pecahan file, yaitu ”DaftarPustaka.doc.02”, ”DaftarPustaka.doc.04”, ”DaftarPustaka.doc.06” dan ”DaftarPustaka.doc.07”, kemudian kunci dekripsi yang digunakan adalah ”TrianaRumapeaUSU”, dan hasil penggabungan disimpan ke file ”C:\HasilFile\DaftarPustaka.doc”.
Tampilan aplikasi setelah proses penggabungan file selesai dapat dilihat pada gambar 4.8.
Gambar 4.8 Tampilan Proses Penggabungan File Selesai
Tampilan aplikasi setelah proses dekripsi file selesai dapat dilihat pada gambar 4.9.
Bila file hasil proses penggabungan pada “C:\HasilFile\DaftarPustaka.doc” dibuka dengan aplikasi Microsoft Word, maka hasilnya adalah file semula, seperti terlihat pada gambar 4.10. File berhasil digabungkan dan didekripsi kembali menjadi file semula.
Gambar 4.10 Tampilan File Hasil Penggabungan
4.2 Pengujian
Pengujian dilakukan pada 5 (lima) buah file, dan waktu yang dibutuhkan pada setiap tahapan dicatat dan ditampilkan pada tabel 4.1 berikut.
Tabel 4.1 Penguijan Waktu
No. Nama File Ukuran (bytes)
Waktu Pemecahan (detik) Waktu Penggabungan (detik)
Spesifikasi komputer yang digunakan, banyaknya proses yang berjalan di background sistem operasi dan ukuran file berpengaruh pada waktu eksekusi dari
setiap tahapan. Dari tabel 4.1, dapat dibuat grafik perbandingan waktu proses enkripsi dan dekripsi, seperti terlihat pada gambar 4.11.
Gambar 4.11 Grafik Perbandingan Waktu Enkripsi dan Dekripsi
Perbandingan waktu antara proses pemecahan file menggunakan skema 4-7 dapat dilihat pada gambar 4.12.
Gambar 4.12 Grafik Perbandingan Waktu Pemecahan Skema 4-7
Gambar 4.12 memperlihatkan proses pemecahan file skema 4-7 yang membutuhkan waktu lebih lama, seiring dengan bertambahnya ukuran file. Perbandingan waktu antara proses penggabungan file menggunakan skema 4-7 dapat dilihat pada gambar 4.13.
Gambar 4.13 Grafik PerbandinganWaktu Penggabungan Skema 4-7
pecahan file, sedangkan pemecahan file harus membagi bit 1 dari file awal ke pecahan file lainnya secara acak. Perbandingan total waktu antara proses penggabungan dan proses pemecahan file dapat dilihat pada gambar 4.14 berikut.
Gambar 4.14 Grafik Perbandingan Total Waktu Proses Penggabungan dan Pemecahan Skema 4-7
Gambar 4.14 memperlihatkan bahwa ternyata proses pemecahan file berjalan lebih lambat daripada proses penggabungan file secara keseluruhan. Ini disebabkan oleh proses penggabungan skema 4-7 yang lebih sederhana dan berjalan lebih cepat dibandingkan dengan proses pemecahan skema 4-7, sedangkan proses enkripsi dan dekripsi membutuhkan waktu yang relatif hampir sama.
Pengujian berikutnya dilakukan pada keadaan normal, keadaan bila input kunci salah, keadaan apabila jumlah input pecahan file lebih kecil dari k dan jumlah input pecahan file lebih besar dari k. Hasil pengujian dapat dilihat pada tabel 4.2 berikut.
Tabel 4.2 Penguijan Keberhasilan Proses Penggabungan File
No. Nama File Proses Pemecahan Proses Penggabungan Hasil Penggabungan Kembali ke File
Awal ? Kunci k n Jumlah
Pecahan
Kunci
Enkripsi Dekripsi
1. Pustaka.doc TrianaUSU 4 7 4 Triana TIDAK (Kunci berbeda) 2. Pustaka.doc TrianaUSU 4 7 2 TrianaUSU TIDAK
(Pecahan < k) 3. Pustaka.doc TrianaUSU 4 7 3 TrianaUSU TIDAK
dan pecahan = k)
Tabel 4.2 Penguijan Keberhasilan Proses Penggabungan File (Lanjutan)
No. Nama File Proses Pemecahan Proses Penggabungan Hasil Penggabungan Kembali ke File
Awal ? Kunci k n Jumlah
Pecahan
Kunci
5. Pustaka.doc TrianaUSU 4 7 5 TrianaUSU YA (Kunci sama dan pecahan > k) 6. Pustaka.doc TrianaUSU 4 7 6 TrianaUSU YA (Kunci sama dan
pecahan > k) 7. Pustaka.doc TrianaUSU 4 7 7 TrianaUSU YA (Kunci sama dan
pecahan > k)
Pada pengujian-1, input kunci dekripsi berbeda dengan kunci enkripsi dan jumlah pecahan file yang digunakan pada proses penggabungan adalah 4 pada skema pemecahan 4-7. Hasilnya adalah file ”Pustaka.doc‟ tidak kembali ke awal. Walaupun jumlah pecahan file untuk penggabungan sudah cukup, namun kunci dekripsi yang tidak sesuai akan mengakibatkan nilai kunci K(0) hingga K(3) berbeda. Pada akhirnya proses dekripsi menghasilkan nilai byte yang berbeda dan hasilnya proses penggabungan file gagal mengembalikan pecahan file ke file awal. Tampilan proses penggabungan file dengan kunci yang tidak sesuai dapat dilihat pada gambar 4.15.
Hasilnya adalah file ”Pustaka.doc‟ tidak kembali ke awal. Walaupun jumlah pecahan file untuk penggabungan sudah cukup, namun kunci dekripsi yang tidak sesuai akan mengakibatkan nilai kunci K(0) hingga K(3) berbeda.
Pada akhirnya proses dekripsi menghasilkan nilai byte yang berbeda dan hasilnya proses penggabungan file gagal mengembalikan pecahan file ke file awal. Tampilan hasil penggabungan file dengan kunci yang tidak sesuai dapat dilihat pada gambar 4.16.
Gambar 4.16 Rekonstruksi File Awal Gagal (Kunci Berbeda)
Tampilan hasil penggabungan file dengan k = 2 dapat dilihat pada gambar 4.17.
Gambar 4.17 Rekonstruksi File Awal Gagal (k = 2 pada skema 4-7)
Pada pengujian ke-3, kunci dekripsi sama dengan kunci enkripsi, namun jumlah pecahan file yang digabung adalah 3 buah. Pengujian-3 hampir sama dengan pengujian-2 karena keduanya sama-sama menggunakan jumlah pecahan file yang lebih sedikit dari 4 buah pada skema pemecahan 4-7. Hasilnya adalah file ”Pustaka.doc‟ tidak kembali ke awal karena penggabungan bit ‟1 dengan fungsi logika OR tidak cukup untuk mengemblikan semua bit ‟1‟ dari byte file awal (bit ‟1‟ disebar kepada 4 buah pecahan file secara acak). Dengan hanya walaupun kunci dekripsi sesuai, namun 3 buah pecahan file tidak akan dapat mengembalikan file awal. Tampilan proses penggabungan file dengan k = 3 dengan kunci TEA sama dapat dilihat pada gambar 4.18.
Tampilan hasil penggabungan file dengan k = 3 dapat dilihat pada gambar 4.19.
Gambar 4.19 Rekonstruksi File Awal Gagal (k = 3 pada skema 4-7)
Pada pengujian ke-4, 5, 6 dan 7, kunci dekripsi yang digunakan sama dengan kunci dekripsi, dan jumlah pecahan file yang digunakan lebih dari 4 buah. Keempat pengujian secara berurutan menggunakan 4, 5, 6 dan 7 buah pecahan file pada proses penggabungan. Seperti yang dibahas sebelumnya, skema pemecahan 4-7 menyebarkan bit ‟1‟ dari byte file awal ke sebanyak (n-k) + 1 = (7-4) + 1 = 4 pecahan file. Proses penggabungan 4 buah pecahan file atau lebih dengan operasi logika OR pasti dapat mengembalkan semua bit ‟1‟ dari byte file awal. Dengan demikian, hasilnya adalah file ”Pustaka.doc‟ kembali ke file semula. Tampilan hasil penggabungan file dengan k = 4, 5, 6 dan 7 dan kunci TEA sama dapat dilihat pada gambar 4.20.
Dari tabel pengujian 4.2 juga dapat dihitung keberhasilan proses penggabungan bila kunci dekripsi sesuai dan jumlah pecahan yang digabung lebih besar atau sama dengan nilai k, sebagai berikut:
Jumlah kasus dengan kunci dekripsi sesuai dan jumlah pecahan sesuai = 4 Total jumlah kasus yang sesuai = 4
% Keberhasilan Penggabungan = 4 / 4 * 100 % % Keberhasilan Penggabungan = 100 %
Dari pengujian yang telah dilakukan, dapat disimpulkan beberapa hal sebagai berikut:
1. Proses enkripsi dan dekripsi TEA membutuhkan waktu yang relatif sama.
2. Proses penggabungan skema k-n berjalan jauh lebih cepat dibandingkan proses pemecahan, karena proses penggabungan lebih serderhana, yaitu hanya menggunakan operasi OR untuk menggabung semua bit pecahan.
3. Total waktu yang dibutuhkan oleh proses pemecahan lebih besar daripada proses penggabungan file.
4. Proses penggabungan pecahan file akan gagal mengembalikan file awal apabila kunci dekripsi tidak sama dengan kunci enkripsi, atau jumlah pecahan file yang dimasukkan ke proses penggabunga lebih kecil dari nilai k pada skema pemecahan file k-n.
BAB 5
KESIMPULAN DAN SARAN
5.2 Kesimpulan
Setelah menyelesaikan perancangan perangkat lunak implementasi metode Tiny Encryption (TEA) dan skema k-n Visual Cryptography untuk pengamanan dan
pemecahan file digital rahasia, beberapa hal yang dapat disimpulkan adalah sebagai berikut:
1. Aplikasi dapat digunakan untuk mengamankan data atau file rahasia dengan cara mengenkripsinya menggunakan metode TEA dan memecahnya dengan menggunakan skema k-n Visual Cryptography.
2. Apabila ada pecahan file yang hilang atau rusak dan selama jumlah pecahan yang baik masih lebih besar atau sama dengan k, maka file awal tetap dapat direkonstruksi kembali.
3. Seperti halnya protokol secret sharing lainnya dalam ilmu kriptografi, pemecahan file dengan skema k-n Visual Cryptography tidak memperkecil ukuran file awal, karena proses yang terjadi bukanlah proses pemenggalan (split) isi file, tetapi proses yang dilakukan adalah membagikan bit 1 dari file awal secara acak ke semua bagian (share) file. Bagian atau pecahan yang tidak memperoleh bit 1, akan diberikan bit 0, sehingga ukuran file pecahan (share) tetap sama dengan ukuran file awal.
4. Sesuai pengujian, proses enkripsi dan dekripsi TEA membutuhkan waktu yang relatif sama.
5. Sesuai pengujian, proses penggabungan skema k-n berjalan jauh lebih cepat dibandingkan proses pemecahan, karena proses penggabungan lebih serderhana, yaitu hanya menggunakan operasi OR untuk menggabung semua bit pecahan. 6. Sesuai pengujian, total waktu yang dibutuhkan oleh proses pemecahan file
(enkripsi TEA dan pemecahan skema k-n) lebih besar daripada proses penggabungan file (dekripsi TEA dan penggabungan skema k-n).
8. Sesuai pengujian, proses penggabungan pecahan file akan dapat mengembalikan file awal dengan persentase keberhasilan sebesar 100% apabila kunci dekripsi sama dengan kunci enkripsi, dan jumlah pecahan file yang dimasukkan ke proses penggabunga lebih besar atau sama dengan nilai k pada skema pemecahan k-n.
5.3 Saran
Adapun saran yang dapat diberikan untuk pengembangan perangkat lunak lebih lanjut adalah sebagai berikut:
1. Diharapkan untuk mengembangkan perangkat lunak sehingga dapat mengamankan beberapa file sekaligus dalam satu kali proses.
2. Dipertimbangkan untuk menggunakan metode kriptografi yang lebih baru dan lebih aman daripada metode TEA untuk meningkatkan aspek keamanan yang diberikan perangkat lunak.