T1 672009253 Full text

1.

Pendahuluan

Suatu data yang dimiliki dapat diperoleh sebagai sebuah informasi
sehingga keamanan data dibutuhkan agar data tersebut tetap terlindungi. Proses
penyimpanan maupun pengiriman data dibuat dalam bentuk file. File-file tersebut
disimpan di dalam suatu folder . Fungsi utama folder adalah sebagai tempat untuk
menyimpan dan mengelompokkan berbagai file program. Sebuah folder dapat
berisi beberapa folder di dalamnya, atau yang biasa disebut subfolder . Ketika
memiliki sejumlah file dari program yang berbeda, maka file-file tersebut dapat
disimpan pada folder-folder yang berbeda pula. Hal ini memudahkan untuk
pencarian file-file yang dibutuhkan [1].
Folder adalah tempat untuk menyimpan file, dapat berupa kumpulan data
baik berupa teks, angka, gambar, video, slide, program dan lain-lain yang diberi
nama tertentu secara digital. Keinginan pihak lain untuk mengetahui apa saja isi
yang ada di dalam folder komputer pemilik merupakan suatu ancaman. Pemilik
akan merasa terganggu dan terancam privasinya apabila pihak lain mengakses
komputernya tanpa sepengetahuan atau pemberitahuan terlebih dahulu. Dimana di
dalam komputer tersebut tersimpan beberapa arsip rahasia, data-data penting atau
data pribadi sehingga apabila pihak lain membuka atau bahkan mencuri data,

maka akan merugikan pemilik komputer. Folder-folder penting dan rahasia agar
tidak mudah diakses oleh orang lain sebaiknya diberikan perhatian khusus berupa
pemberian proteksi demi keamanan data yang ada di dalam folder tersebut [2].
Salah satu upaya pengamanan data adalah dengan kriptografi. Kriptografi
adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen tetap aman,
tidak dapat dibaca oleh pihak yang tidak berhak (anauthorized persons).
Kriptografi terdiri dari dua proses yaitu enkripsi dan dekripsi. Proses enkripsi
dilakukan agar data tidak dapat diketahui oleh pihak yang berwenang, dengan cara
mengubah data asli menjadi suatu kode dengan suatu kunci tertentu yang tidak
dapat dipecahkan oleh orang lain. Data yang telah dienkripsi kemudian dikirimkan
kepada pihak penerima, penerima kemudian mendekripsikan data yang telah
dienkripsi oleh pihak pengirim agar mengetahui isi data yang sebenarnya. XTEA
merupakan kriptografi symmetric block cipher karena menggunakan kunci rahasia
dan dioperasikan pada 64 bit pesan sekaligus dimana kunci rahasia dengan
panjang 128 bit dibagi antara pengguna [3].
Berdasarkan latar belakang terkait permasalahan tersebut, maka dilakukan
penelitian yang bertujuan untuk merancang dan mengimplementasikan sebuah
aplikasi enkripsi-dekripsi folder menggunakan algoritma XTEA (Extended Tiny
Encryption Algorithm). Penelitian ini menghasilkan aplikasi yang dapat
menyembunyikan dan mengamankan folder beserta file dan subfolder di

dalamnya.

1

2.

Tinjauan Pustaka

Pada penelitian berjudul “Pembangunan Perangkat Lunak untuk Enkripsi
Folder dengan Algoritma Serpent”, dibahas tentang perancangan aplikasi
pengenkripsi folder berbasis desktop yang kemudian mengimplementasikan
aplikasi melalui seluruh isi folder disatukan dalam satu file dan digunakan struktur
header khusus untuk mempermudah pengaksesan subfolder atau file tersebut.
Daftar isi file atau folder dapat ditampilkan beserta tree navigasi folder , kemudian
mengenkripsi dan mendekripsi keseluruhan atau beberapa file atau folder , dan
menambah serta menghapus file atau folder dalam folder terenkripsi merupakan
keunggulan dari aplikasi tersebut. Kesimpulan yang diperoleh dari hasil penelitian
tersebut adalah hasil enkripsi folder selalu memiliki ukuran yang lebih besar
daripada ukuran semula, hal ini disebabkan oleh kebutuhan enkripsi algoritma
serpent yang melakukan enkripsi setiap blok berukuran 128 bit (16 byte), ukuran

yang lebih besar tersebut juga diakibatkan oleh adanya kebutuhan aplikasi berupa
informasi struktur header , posisi awal header dan kunci [4].
Pada penelitian berjudul “Performance Analysis of Contemporary LightWeight Block Ciphers on 8-bit Microcontrollers”, dibahas mengenai perlunya
algoritma enkripsi yang hemat memori. Pada penelitian tersebut dilakukan analisis
terhadap beberapa algoritma enkripsi yaitu DESL, HEIGHT, SEA, XTEA, dan
AES. Kesimpulan yang dihasilkan adalah XTEA dan SEA menggunakan memori
komputer yang secara signifikan lebih kecil daripada AES [5].
Berdasarkan beberapa penelitian yang pernah dilakukan terkait enkripsi
folder dan algoritma XTEA, maka akan dilakukan penelitian yang bertujuan untuk
merancang dan mengimplementasikan aplikasi enkripsi-dekripsi folder
menggunakan algoritma XTEA.
Penelitian yang dilakukan membahas tentang kriptografi. Kriptografi
(cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi
secara aman. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari
kata Crypto dan Graphia yang berarti penelitian rahasia. Kriptografi merupakan
bagian dari suatu cabang ilmu matematika yang disebut Cryptology. Dalam
mengenkripsi dan mendekripsi data, kriptografi membutuhkan suatu algoritma
(cipher ) dan kunci (key). Cipher adalah fungsi matematika yang digunakan untuk
mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang
diperlukan untuk mengenkripsi dan mendekripsi data [6].

Teknik kriptografi yang digunakan dalam penelitian ini adalah XTEA
(Extended Tiny Encryption Algorithm). XTEA adalah blok cipher yang dirancang
untuk memperbaiki kelemahan dalam TEA. Desainer cipher itu adalah David
Wheeler dan Roger Needham dari Cambridge Computer Laboratory, dan
algoritma disajikan dalam laporan teknis diterbitkan pada tahun 1997 [7]. Sama
seperti TEA, XTEA juga beroperasi dalam ukuran blok 64 bit dan panjang kunci
128 bit. Bentuk jaringan feistelnya pun masih sama, yang membedakan adalah
fungsi feistel dan penjadwalan kunci yang digunakan. Pada XTEA, pada ronde
ganjil digunakan K[sum & 3], sedangkan pada ronde genap digunakan K[sum>>
11 & 3]. XTEA menggunakan angka delta yang sama dengan TEA. Pada dekripsi,
variabel sum diinisialisasi dengan nilai 0xc6ef3720 = delta*32 = delta 5) + k3);
}
v[0] = v0;
v[1] = v1;
}

Kode Program 1 merupakan perintah untuk proses enkripsi. Proses
enkripsi memerlukan dua input: data (v) dan kunci (k) (perintah pada baris 1).
Variabel v merupakan variabel array dengan banyak elemen adalah 2, tiap elemen
berukuran 32 bit. Variabel k, memiliki 4 elemen, masing-masing berukuran 32 bit.

Sehingga sesuai aturan XTEA, data berukuran 64 bit (2 x 32 bit) untuk 1 blok,
dan kunci berukuran 128 bit (4 x 32 bit). Konstanta delta (perintah pada baris 4)
memiliki nilai default 0x9e3779b9 (2654435769 dalam desimal). Kemudian
dilakukan perulangan sebanyak 32 kali (32 round) (perintah pada baris 6).

14

Kode Program 2 Perintah untuk Proses Dekripsi XTEA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

13.
14.
15.

public static void Decrypt(uint[] v, uint[] k)
{
uint v0 = v[0], v1 = v[1], sum = 0xC6EF3720, i;
uint delta = 0x9e3779b9;
uint k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];
for (i = 0; i < 32; i++)
{
v1 -= ((v0 > 5) + k3);
v0 -= ((v1 > 5) + k1);
sum -= delta;
}
v[0] = v0;
v[1] = v1;
}

Kode Program 2 merupakan perintah untuk proses dekripsi. Seperti halnya

Kode Program 1, proses ini memerlukan input variabel data dan kunci (perintah
pada baris 1). Konstanta yang digunakan (delta) memiliki nilai yang sama dengan
proses enkripsi (perintah pada baris 4). Perbedaan yang ada hanya terdapat di
dalam round. Pada enkripsi, pada tiap round, nilai variabel data dilakukan proses
incremental (+=), sedangkan pada dekripsi dilakukan proses decremental (-=)
(perintah pada baris 8 dan baris 9).
Kode Program 3 Perintah untuk Proses Menyimpan Susunan Folder
1.
2.

TreeViewSerializer ser = new TreeViewSerializer();
Ser.SerializeTreeView(this.treeView1, d.FileName, this.tbxKey.Text);

Kode program 3 merupakan perintah untuk proses menyimpan susunan
folder dalam bentuk XML (Extensible Markup Language). Di dalam
penyimpanan, digunakan library “TreeViewSerializer”.
Pengujian sistem dilakukan untuk mengetahui apakah aplikasi yang dibuat
dapat berfungsi sesuai dengan tujuan penelitian. Pengujian terdiri dari Pengujian
Kerahasiaan Data (Pengujian 1), Pengujian Keutuhan Data (Pengujian 2),
Pengujian Ukuran Folder Berdasarkan Type File (Pengujian 3), Pengujian

Terhadap Konten File (Pengujian 4) dan Pengujian Waktu dan Kecepatan Proses
Berdasarkan Ukuran Data (Pengujian 5).
Pengujian Kerahasiaan Data (Pengujian 1) bertujuan untuk mengetahui
apakah aplikasi berhasil menyandikan folder beserta isi-isi di dalamnya (file dan
subfolder ). Aplikasi dinyatakan berhasil mengamankan data ketika cipher file
yang dihasilkan tidak dapat dicerna makna isinya dan proses dekripsi hanya dapat
dilakukan jika kunci yang digunakan tepat. Pengujian 1 dilakukan dengan cara
menyandikan folder menjadi cipher file, kemudian menanyakan kepada 30
responden apakah responden dapat memahami isi dari cipher file. Hasil Pengujian
1 ditunjukkan pada Tabel 3.
Tabel 3 Hasil Pengujian Kerahasiaan Data
No
1
2
3
4
5

Nama Folder
Foto

Musik
Catatan
Dokumen
Keuangan

Paham
0
0
0
0
0

Tidak Paham
30
30
30
30
30

15


Hasil Pengujian
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil

Pengujian Keutuhan Data (Pengujian 2) dilakukan dengan tujuan
mengetahui keutuhan data setelah melewati proses enkripsi dan dekripsi. Pada
Pengujian 2 digunakan standar metode pengujian integritas data, yaitu dengan
menggunakan proses checksum. Algoritma yang dipilih adalah MD5 (MessageDigest algortihm 5). Aplikasi dinyatakan berhasil menjaga keutuhan data, nilai
checksum data sebelum proses enkripsi sama dengan nilai checksum data setelah
dekripsi. Hasil Pengujian 2 ditunjukkan pada Tabel 4.
Tabel 4 Hasil Pengujian Keutuhan Data
No
1

Nama Folder
Catatan


2

Dokumen

3

Foto

4

Keuangan

5

Musik

Checksum Awal
fa34a505e26729c9
0eb82c3940e35346
d5f531327481098d
838a18c7a8613f54
b2f7a218ef07b4f3
15e5e0b772833e7f
25fa056f8dad6598
b439da1cc4869f4e
ae63e88a8e4d1fd6
75bca36608909c3c

Checksum Akhir
fa34a505e26729c9
0eb82c3940e35346
d5f531327481098d
838a18c7a8613f54
b2f7a218ef07b4f3
15e5e0b772833e7f
25fa056f8dad6598
b439da1cc4869f4e
ae63e88a8e4d1fd6
75bca36608909c3c

Hasil Pengujian
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil

Pengujian Ukuran Folder Berdasarkan Type File (Pengujian 3) bertujuan
untuk mengetahui ukuran folder yang akan dienkripsi, setelah dienkripsi dan
ukuran folder setelah didekripsi apakah terjadi perubahan yang signifikan
terhadap folder . Aplikasi berhasil menunjukkan hasil sebelum enkripsi dan hasil
dekripsi tidak mengalami perubahan yang berbeda. Dalam hal ini hasil setelah
enkripsi menunjukkan sedikit perubahan karena hasil enkripsi terbagi menjadi 2
file sehingga mengakibatkan ukuran folder bertambah. Hasil Pengujian 3
ditunjukkan pada Tabel 5.
Tabel 5 Hasil Pengujian Ukuran Folder Berdasarkan Type File
No
1
2
3
4
5

Nama Folder
Dokumen
Foto
Video
Musik
Sistem

Ukuran Folder
Sebelum Enkripsi Setelah Enkripsi
(byte)
(byte)
440.766
443.068
696.125
698.031
24.245.535
24.246.065
22.228.008
22.230.528
16.885.734
16.888.116

Ukuran Folder Hasil
Dekripsi
440.784
696.160
24.245.536
22.228.032
16.885.776

Pengujian Terhadap Konten File (Pengujian 4) dilakukan dengan tujuan
untuk mengetahui aplikasi melakukan enkripsi apakah terhadap folder , file, atau
isi dari folder tersebut. Aplikasi berhasil menunjukkan banyaknya isi dari file
mempengaruhi ukuran hasil enkripsi, sehingga dalam hal ini aplikasi
mengenkripsi konten file yaitu isi dari file yang berada di dalam folder . Hasil
Pengujian 4 ditunjukkan pada Tabel 6.

16

No

Nama
Folder

1
2
3

A
A
A

4

A

5

A

6

A

Tabel 6 Hasil Pengujian Terhadap Konten File
Ukuran
Nama
Isi File
Sebelum
File
dienkripsi
(byte)
1
a
a
10
a
aaaaaaaaaa
50
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
100
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaa
500
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaa
1030
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

17

Ukuran
Setelah
dienkripsi
(byte)
8
16
56
104

504

1032

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaa

Pengujian Waktu dan Kecepatan Proses berdasarkan Ukuran Data
(Pengujian 5) dilakukan dengan tujuan untuk mengetahui apakah aplikasi pada
saat enkripsi dan dekripsi mempengaruhi waktu dan kecepatan waktu proses
berdasarkan ukuran folder . Hasil Pengujian 5 ditunjukkan pada Tabel 7.
Tabel 7 Hasil Pengujian Waktu dan Kecepatan Proses berdasarkan Ukuran Folder
No

Ukuran Folder

Waktu Proses

Waktu Proses

Kecepatan

Enkripsi

Dekripsi

Proses Enkripsi

(detik)

(detik)

(byte/s)

1

Catatan - 3 Byte

2.02

2.05

1.485148515

2

Keuangan - 8.192 Byte

2.14

2.16

3.828037383

3

Dokumen - 19.817 Byte

3.40

3.52

5.828529412

4

Foto - 2.13 MB

4.32

4.30

517.631.0185

5

Musik - 4.43 MB

5.11

5.04

911.080.4305

Pengujian Waktu Proses berdasarkan Ukuran
Folder
12

5,04
4,3

10
3,52

8
Waktu Proses
(detik)

6
4

4,32

2,05

2,16

2,02

2,14

3 Byte

8192 Byte

5,11

3,4

2
0
19.817
Byte

2.13 MB

4.43 MB

Ukuran Folder
Waktu Proses Enkripsi (detik)

Waktu Proses Dekripsi (detik)

Gambar 15 Grafik Waktu Proses Enkripsi dan Dekripsi dan berdasarkan Ukuran
Folder

18

Berdasarkan hasil Pengujian 5, disimpulkan bahwa waktu proses akan
semakin meningkat, seiring dengan semakin besarnya ukuran folder yang
disandikan. Walaupun semakin besar ukuran folder , waktu yang dibutuhkan
semakin besar tetapi kecepatan pemrosesannya semakin meningkat. Kecepatan
akan terbatasi dengan kemampuan processor yang digunakan. Pada penelitian ini
tidak dilakukan stress test untuk mengetahui kecepatan maksimalnya. Grafik pada
Gambar 15, menunjukkan bahwa lama waktu dekripsi lebih besar daripada lama
waktu enkripsi, hal ini disebabkan karena pada saat enkripsi, terjadi penulisan 2
file (.tdat dan .tidx) pada harddisk, sedangkan pada saat dekripsi terjadi penulisan
folder , subfolder , dan file-file di dalamnya dengan kata lain terjadi penulisan lebih
dari 2 file. Kecepatan write pada harddisk lebih lambat daripada kecepatan read,
sehingga pada proses dekripsi, waktu proses lebih lama daripada proses enkripsi.
Berdasarkan hasil pengujian kerahasiaan data, pengujian keutuhan data,
pengujian ukuran folder berdasarkan type file, pengujian terhadap konten file dan
pengujian kecepatan proses berdasarkan ukuran data, maka disimpulkan bahwa
aplikasi dapat menyandikan suatu folder menjadi cipher file, dan kemudian
dibalikkan lagi menjadi folder dengan syarat kunci yang digunakan tepat. Data
yang diproses tidak mengalami perubahan sehingga terhindar dari hilangnya
informasi.
5.

Simpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan sebagai berikut: 1) Sebuah aplikasi kriptografi folder
dapat diimplementasikan dengan menggunakan algoritma XTEA, 2) Folder yang
terenkripsi tergabung dalam satu file data dan satu file informasi, yang isinya tidak
dapat dikenali maknanya oleh pengguna, sehingga tujuan untuk mengamankan
folder dan isinya telah tercapai, 3) Aplikasi tidak melakukan perubahan isi file
selama proses enkripsi dan dekripsi, sehingga tujuan untuk menjaga keutuhan
folder dan file telah tercapai. Saran pengembangan yang dapat diberikan untuk
penelitian lebih lanjut adalah sebagai berikut: Untuk menghemat lokasi
penyimpanan, dapat dilakukan proses kompresi data, yang dilakukan sebelum
proses enkripsi.
6.

Daftar Pustaka

[1]

Andi., Madcoms, 2010. Seri Panduan Lengkap Microsoft Windows 7 .
Yogyakarta
Collberg, C., Nagra, J., 2009. Surreptitious Software: Obfuscation,
Watermarking, and Tamperproofing for Software Protection , Upper
Saddle River, NJ: Addison-Wesley.
Yudi, Marini, 2010. Perancangan Perangkat Lunak Pengamanan Data
Dengan Metode XTEA. Sistem Informasi STMIK IBBI.
Adiwidya. D.M. Bernardino, 2010. Pembangunan Perangkat Lunak Untuk
Enkripsi Folder dengan Algoritma Serpent. Institut Teknologi Bandung.

[2]

[3]
[4]

19

[5]

[6]
[7]
[8]

[9]

[10]

Rinne, S., Eisenbarth, T., & Paar, C., 2007. Performance Analysis of
Contemporary Light-Weight Block Ciphers on 8-bit Microcontrollers.
Ruhr University Bochum, Germany.
Munir, Rinaldi, 2006. Kriptografi. Bandung: Informatika.
Needham, R.M. and D.J Wheeler, 1997. TEA extensions. Technical report,
the Computer Laboratory, University of Archive.
William, Khandar., 2008. Studi Mengenai Tiny Encryption Algorithm
(TEA) dan Turunan-Turunannya (XTEA dan XXTEA). Institut Teknologi
Bandung.
Hoang, V. T., & Rogaway, P. (2010). On generalized Feistel networks. In
Advances in Cryptology–CRYPTO 2010 (pp. 613-630). Springer Berlin
Heidelberg.
The Linux Information Project, 2006. Directory Definition.
http://www.linfo.org/directory.html. Diakses tanggal 28 Maret 2014

20