Implementasi Algoritma Kriptografi IDEA pada Data Keuangan : Studi Kasus … · 2016. 10. 24. · 8...
Transcript of Implementasi Algoritma Kriptografi IDEA pada Data Keuangan : Studi Kasus … · 2016. 10. 24. · 8...
7
1. Pendahuluan
Teknologi informasi merupakan aset perusahaan yang sangat berharga, yang
akan membantu perusahaan dalam kegiatan operasionalnya sehari-hari. Dengan
adanya kemajuan teknologi informasi masalah keamanan dan kerahasiaan data
merupakan hal yang sangat penting dalam suatu organisasi. Teknologi informasi
dipakai untuk mengelola data atau informasi, memproses, mendapatkan,
menyusun, menyimpan data. Apalagi data tersebut berada dalam suatu jaringan
komputer yang terhubung dengan jaringan publik yaitu internet, tentu saja data
yang sangat penting dapat disalahgunakan oleh pihak-pihak yang tidak
berkepentingan akan menimbulkan kerugian bagi organisasi. Oleh karena itu sangat
diperlukan keamanan terhadap kerahasiaan sebuah informasi atau data.
Objek dalam penelitian adalah sebuah BUMN (Badan Usaha Milik Negara)
yang bertanggung jawab atas ketenagalistrikan di Indonesia yakni PT. PLN
(Persero) Wilayah NTT Area Sumba yang menggunakan teknologi informasi
dalam aktifitas perusahaan sehari-hari dengan mobilitas data yang sangat tinggi.
Data yang dimaksud adalah data keuangan pada perusahaan yang akan dikirimkan
pada perusahaan di tingkat pusat sebagai laporan setiap periode yang telah
dijadwalkan.
Proses pendistribusian data keuangan menggunakan e-mail koorporat yaitu e-
mail resmi PT. PLN (Persero), akan tetapi seringkali user tidak menggunakannya
karena password e-mail tersebut harus diganti secara berkala, dan e-mail tersebut
lambat ketika digunakan, sehingga user sering menggunakan e-mail public yang
bersifat pribadi. Tentu saja hal semacam ini menimbulkan resiko yang sangat besar
terkait kebocoran data. Mengingat sangat pentingnya data keuangan bagi
perusahaan, maka diperlukan keamanan terhadap data keuangan.
Penelitian ini menekankan pada perancangan dan implementasi sistem
menggunakan kriptografi. Alasan utama untuk menggunakan kriptografi adalah
karena kriptografi merupakan salah satu metode pengamanan data untuk
menyandikan data sehingga yang dapat membaca data tersebut adalah pengirim dan
penerima. Data keuangan sebelum dikirim melalui e-mail, terlebih dahulu akan
dienkripsi menjadi ciphertext. Maksud dari pengenkripsian data adalah untuk
menjaga keamanan data keuangan yang akan dikrimkan, agar keamanan dan
integritas data keuangan tersebut dapat terjaga. Untuk itu diperlukan algoritma yang
tepat berdasarkan kebutuhan sistem yang ada pada PT. PLN (Persero) Wilayah
NTT Area Sumba .
Algoritma yang digunakan adalah IDEA yang merupakan algoritma simetris
pada kriptografi untuk proses enkripsi dan dekripsi dan juga algoritma ini dikenal
cukup tangguh dalam mengamankan informasi karena sampai saat ini belum ada
yang berhasil menembus keamanan algoritma IDEA [1].
2. Tinjauan Pustaka
Pada penelitian sebelumnya telah dilakukan implementasi metode kriptografi
IDEA untuk menjamin keamanan data dari pihak lain yang bisa menyebabkan
kerugian pada perusahaan. penelitian yang pertama adalah "Implementasi
Kriptografi IDEA pada Priority Dealer untuk Layanan Pemesanan dan Laporan
Penjualan Handphone Berbasis Web”. Priority Dealer melakukan penjualan
8
langsung pada konsumen (end user) setelah menerima barang dari distributor.
Priority Dealer harus memberikan laporan hasil penjualan dan pemesanan kepada
distributor, akan tetapi dalam pelaporannya, priority dealer masih memakai cara
yang kuno, yaitu datang langsung ke distributor. Maka dirancang suatu web untuk
mempermudah pertukaran informasi. Untuk menjamin keamanan data pada web,
dibuatlah sistem pengamanan data menggunakan algoritma Kriptografi IDEA [2].
Penelitian berikutnya berjudul "Studi Perbandingan Algoritma IDEA dan
Algoritma Blowfish" dalam penelitian ini membahas tentang algoritma IDEA dan
Alforitma Blowfish dimana kedua algoritma tersebut merupakan algoritma
kriptografi simetris dengan kategori cipher blok. Kedua algoritma ini beroperasi
dalam bentuk blok bit, dengan ukuran blok sebesar 64 bit. Kedua algoritma ini juga
dikenal sangat tangguh dalam mengamankan informasi. Penelitian ini bertujuan
untuk membandingkan kinerja algoritma IDEA dan algoritma Blowfish, maka
dibuatlah sebuah program enkripsi dan dekripsi file dengan menggunakan bahasa
pemrograman JAVA. Dari hasil uji coba program terhadap sampel file teks, file
dokumen, fileimage, file audio, dan file video, terlihat bahwa algoritma IDEA lebih
cepat dari algoritma Blowfish dan pemakaian memori kedua algoritma relatif sama
[1].
Pada penelitian sebelumnya yang berjudul "Integrating DNA Computing in
IDEA". Dalam penelitian ini membahas tentang mengintegrasikan Komputasi DNA
pada algoritma IDEA dengan cara menambahkan lapisan DNA cipher pada
Algoritma dasar IDEA. Cipher tersebut diubah ke dalam bentuk urutan DNA
sehingga menyembunyikan keberadaan algoritma IDEA. Kemudian kuncinya
diperpanjang untuk membuatnya kebal terhadap serangan criptoanalysis. Hal ini
membuat pengiriman data menjadi lebih aman dan efisien. Dalam
pengimplementasiannya digunakan matlab [3].
Pada penelitian ini akan dirancang dan diimplementasikan aplikasi untuk
enkripsi dan dekripsi dengan menggunakan algoritma IDEA pada data keuangan
PT. PLN (Persero) Wilayah NTT Area Sumba dengan menggunakan bahasa
pemrograman C#. Data keuangan yang akan dienkripsi dalam bentuk Ms. Excel.
Alasan perlunya dibuat aplikasi ini untuk mengamankan data keuangan yang
merupakan rahasia perusahaan.
Sebelum terbentuknya PT. PLN (Persero) Cabang Sumba, pelayanan
kelistrikan di Pulau Sumba dilayani oleh organisasi setingkat Cabang yang pada
waktu itu bernama PT. PLN Cabang Waingapu yang membawahi Ranting
Waingapu dan Ranting Waikabubak. Krisis ekonomi yang melanda Indonesia pada
tahun 1998-an, maka pada tahun 2000, Manajemen PT.PLN melikwidasi PLN
Cabang Waingapu menjadi setingkat Ranting, sehingga Ranting waingapu dan
Ranting Waikabubak menjadi unit di bawah Cabang Kupang.Dengan terbentuknya
PT. PLN (Persero) Wilayah NTT sebagai suatu organisasi organisasi PLN setingkat
Wilayah yang mengelola usaha ketenagalistrikan di Provinsi NTT terlepas dari PT.
PLN (Persero) Wilayah Bali Nusatenggara serta perkembangansektor
ketenagalistrikan di Propinsi NTT secara umum dan Pulau Sumba secara khusus.
Untuk lebih meningkatkan serta mengoptimalkan pelayanan PLN kepada pelanggan
di Pulau Sumba melalui SK GM PT. PLN (Persero) Wilayah NTT nomor:
127.K/021/GM.W.NTT/2004 tanggal 25 Nopember 2004, dibentuk PT. PLN
9
(Persero) Cabang Sumba dengan Ranting Sumba Timur dan Ranting Sumba Barat
sebagai unit di bawahnya yang terpisah dari Cabang Kupang [4].
Teknik yang digunakan untuk membuat aplikasi dalam mengamankan data
keuangan, yaitu kriptografi yang merupakan ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek keamanan informasi, seperti
kerahasiaan, integritas data, serta otentikasi [5]. Menurut definisi Scheiner
kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Kata seni di
dalam definisi scheiner berasal dari fakta sejarah bahwa ada masa-masa awal
sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk
merahasiakan pesan [5].
Teknik matematika yang dimaksud oleh Menezzes, yaitu Algoritma
kriptografi yang merupakan langkah-langkah logis bagaimana menyembunyikan
pesan dari orang-orang yang tidak berhak atas pesan tersebut [5]. Dalam algoritma
kriptografi terdapat enkripsi, dekripsi, cipher dan kunci. Enkripsi merupakan proses
menyandikan plaintext menjadi ciphertext. Sedangkan dekripsi merupakan proses
mengembalikan ciphertext menjadi plaintext semula. Cipher merupakan aturan
untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk
enkripsi dan dekripsi. Kunci (key) merupakan parameter yang digunakan untuk
transformasi enciphering dan deciphering. Kunci biasanya berupa string atau
deretan bilangan [5].
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan
aspek keamanan informasi yaitu :
1. Kerahasiaan, adalah layanan yang ditujukan untuk menjaga agar pesan tidak
dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan
ini direalisasikan dengan menyandikan pesan menjadi ciphertext.
2. Integritas data, adalah layanan yang menjamin bahwa pesan masih asli/utuh
atau belum pernah di manipulasi selama pengiriman. Untuk menjaga integritas
data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh
pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan
pensubsitusian data lain kedalam data yang sebenarnya.
3. Autentikasi, adalah layanan yang berhubungan dengan identifikasi atau
pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua
pihak yang saling berkomunikasi harus dapat mengontetikasi satu sama lain
sehingga ia dapat memastikan sumber pesan.
4. Non-repudiasi, atau nirpenyangkalan adalah layanan untuk mencegah entitas
yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan melakukan
pengiriman atau penerima pesan menyangkal telah mengirim pesan [5].
Algoritma IDEA merupakan kriptografi kunci simetris, maka menggunakan
kunci yang sama untuk proses enkripsi maupun dekripsi. Sebanyak 52 sub kunci
16-bit untuk proses enkripsi diperoleh dari sebuah kunci 128-bit. sub kunci
digunakan pada proses enkripsi dan dekripsi [6]. Algoritma IDEA juga merupakan
algoritma block cipher yang bekerja dengan panjang plaintext 64 bit dan ciphertext
64 bit. Algoritma IDEA menggunakan operasi campuran dari tiga operasi aljabar
yang berbeda, yaitu: operasi XOR (), Operasi penjumlahan modulo 216
(⊞), dan
10
operasi perkalian modulo (216
+ 1) (⊙), dan semua operasi dilakukan pada sub blok
16 bit. Proses Algoritma IDEA dapat dilihat pada Gambar 1.
Gambar 1 Proses Algoritma IDEA [7]
Untuk operasi algoritma IDEA menggunakan kunci panjangnya 128 bit.
Karena algoritma IDEA bekerja dalam bentuk block cipher, maka kunci yang
digunakan akan dibagi dalam 52 sub kunci.
11
Gambar 2 Pembentukan subkunci Algoritma IDEA [6]
Gambar 2 menjelaskan panjang kunci untuk algoritma IDEA adalah 128-bit,
atau sama dengan 16 bit yang dibagi dalam delapan partisi. Artinya panjang kunci
maksimal untuk IDEA adalah 16 karakter. Kunci dibagi menjadi 52 sub kunci yaitu
enam sub kunci tiap putaran untuk delapan kali putaran, dan empat sub kunci untuk
transformasi akhir.
Sub kunci dibentuk dengan cara membagi kunci 128 bit menjadi delapan sub
kunci masing – masing sebesar 16 bit. Bentuk sub kunci untuk delapan putaran
awal adalah K1, K2, K3, K4, K5, K6, K7, K8. Kemudian sub kunci tersebut diputar
sebanyak 25 bit ke kiri dan dibagi lagi menjadi delapan sub kunci K9, K10, K11, K12,
K13, K14, K15, K16. Sub kunci enkripsi yang terbentuk bisa dilihat pada Tabel 1.
12
Tabel 1. Sub Kunci Enkripsi IDEA
Tabel 2. Sub Kunci Dekripsi IDEA
Tabel 2 dapat dilihat pembentukan kunci dekripsi didasarkan pada kunci
enkripsi yang telah dibentuk sebelumnya, dengan kata lain kunci pada proses
dekripsi merupakan turunan dari kunci enkripsi. Terdapat Perbedaan pada sub
kunci yang dipakai pada proses enkripsi dan proses dekripsi. Perbedaan pertama,
yaitu pada urutan penggunaan sub kunci. Perbedaan kedua, pembentukan sub kunci
dekripsi menggunakan operasi invers perkalian modulo (216
+ 1) pada sub kunci
K49, K52, K43, K46, K37, K40, K31, K34, K25, K28, K19, K22, K13, K16, K7, K10, K1, K4
dan menggunakan operasi invers penjumlahan modulo 216
untuk sub kunci K50,
K51, K45, K44, K39, K38, K33, K32, K27, K26, K21, K20, K15, K14, K9, K8, K2,K3.
Pengujian sistem aplikasi menggunakan pengujian alpha dan beta. Pengujian
Alpha bertujuan untuk identifikasi dan menghilangkan sebanyak mungkin masalah
sebelum akhirnya sampai ke user. Pengujian Beta evaluasi sepenuhnya oleh
pengguna. Pengguna diberitahukan prosedur evaluasi, diamati proses
penggunaannya, lalu dinilai dan dilakukan revisi [8].
Putaran Ke-1 K1, K2, K3, K4, K5, K6
Putaran Ke-2 K7, K8, K9, K10, K11, K12
Putaran Ke-3 K13, K14, K15, K16, K17, K18
Putaran Ke-4 K19, K20, K21, K22, K23, K24
Putaran Ke-5 K25, K26, K27, K28, K29, K30
Putaran Ke-6 K31, K32, K33, K34, K35, K36
Putaran Ke-7 K37, K38, K39, K40, K41, K42
Putaran Ke-8 K43, K44, K45, K46, K47, K48
Tranformasi K49, K50, K51, K52
Putaran Ke-1 (K49)-1
-K50 -K51 (K52)-1
K47 K48
Putaran Ke-2 (K43)-1
-K44 -K45 (K46)-1
K41 K42
Putaran Ke-3 (K37)-1
-K38 -K39 (K40)-1
K35 K36
Putaran Ke-4 (K31)-1
-K33 -K32 (K34)-1
K29 K30
Putaran Ke-5 (K25)-1
-K26 -K27 (K28)-1
K23 K24
Putaran Ke-6 (K19)-1
-K21 -K20 (K22)-1
K17 K18
Putaran Ke-7 (K13)-1
-K15 -K14 (K16)-1
-K11 K12
Putaran Ke-8 (K7)-1
-K9 -K8 (K10)-1
K5 K6
Tranformasi (K1)-1
-K2 -K3 (K4)-1
13
3. Metode dan Perancang Sistem
Dalam perancangan sistem ini, dibutuhkan tahap-tahap penelitian. Tahap-
tahap yang dibutuhkan, yaitu: analisa kebutuhan, perancangan sistem dan
perancangan antarmuka, implementasi sistem, pengujian sistem dan analisa hasil
pengujian, penulisan laporan. Tahap penelitian pada gambar 2 bisa dijelaskan
sebagai berikut:
Tahap pertama: analisa kebutuhan, yaitu melakukan analisa mengenai
masalah yang terjadi, melakukan pengumpulan data, melakukan analisa mengenai
kebutuhan apa saja yang dibutuhkan dalam merancang sistem; Tahap kedua:
perancangan sistem, yaitu pembuatan flowchart untuk mengetahui alur sistem yang
dirancang, dan perancangan antarmuka, yaitu merancang antar-muka yang
berfungsi sebagai penghubung interaksi antara user dengan sistem, menjelaskan
sistem dan cara pemakaian sistem secara menyeluruh; Tahap ketiga: implementasi
sistem, yaitu melakukan perancangan program berdasarkan kebutuhan sistem yang
dibangun; Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu
melakukan uji sistem yang sudah dirancang dari tahap penelitian kedua dan ketiga
yang diimplementasikan dalam program kemudian melakukan analisis hasil uji
sistem, apakah aplikasi dapat bekerja sesuai kriteria sistem yang dibangun terkait
proses enkripsi maupun proses dekripsi data; Tahap kelima: penulisan laporan hasil
penelitian, yaitu menulis proses penelitian yang sudah dilakukan dari tahap
penelitian pertama hingga keempat ke dalam tulisan, yang akan menjadi laporan
dari hasil penelitian.
Gambar 3 Tahap Penelitian
Dalam tahap ini dijelaskan perancangan sistem dan perangkat lunak yang
menggambarkan prosedur dan proses kerja dari aplikasi pada sistem yang
dibangun. Terdapat dua fungsi pada sistem yang akan dibangun, yaitu fungsi
enkripsi dan dekripsi terhadap file Excel yang memiliki ekstensi xls atau xlsx.
Fungsi enkripsi, yaitu proses menyandikan file plaintext menjadi file ciphertext
dengan menggunakan alur algoritma IDEA yang mempunyai panjang kunci 128 bit.
Fungsi dekripsi, yaitu proses mengembalikan file ciphertext menjadi file plaintext
semula dengan algortima yang sama dan alur yang sama pada fungsi enkripsi.
Software atau perangkat lunak yang akan digunakan dalam perancangan
sistem ini memiliki spesifikasi, yaitu: 1) Sistem Operasi Windows7 Ultimate (64
Analisa Kebutuhan
PerancanganSistem
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
Penulisan Laporan
14
bit); 2) Microsoft Visual Studio 2010; 3) Microsoft Office Visio 2007 sedangkan
hardware yang diperlukan untuk perancangan sistem ini memiliki spesifikasi antara
lain: 1) AMD Athlon II X4635 Processor; 2) 2,0 GB RAM; 3)NVIDIA GeForce
GT430.
START
PILIH FILE
KETIK KUNCI
ENKRIPSI
SIMPAN DATA
SELESAI
Gambar 4 Proses Enkripsi File IDEA
Gambar 4 menunjukkan proses enkripsi file menggunakan algoritma IDEA
dalam bentuk flowchart. User membuka aplikasi, kemudian user dapat memilih file
Excel yang akan enkripsi dan memiliki ekstensi file .xls atau .xlsx. Setelah user
memilih file, user memasukkan kunci yang panjangnya 128 bit, kemudian user
langsung dapat meng-enkripsi file yang dipilih. Sistem akan memproses file
menjadi file ciphertext yang berekstensi .els atau elsx. Setelah proses enkripsi
selesai, sistem akan menunjukkan tempat penyimpanan file ciphertext yang
diinginkan.
15
START
PILIH FILE
KETIK KUNCI
DEKRIPSI
SIMPAN DATA
SELESAI
VALIDASI
KUNCI
YA
TIDAK
Gambar 5 Proses Dekripsi File IDEA
Gambar 5 menunjukkan proses dekripsi file menggunakan algoritma IDEA
dalam bentuk flowchart. Dimana proses dekripsi ini adalah proses mengubah
ciphertext menjadi plaintext semula. User membuka aplikasi, kemudian user dapat
memilih file ciphertext dengan ekstensinya adalah els atau elsx yang akan
didekripsi. Setelah user memilih file ciphertext, user memasukan kunci yang sama
pada saat proses enkripsi, sistem akan melakukan validasi apakah kunci yang
dimasukkan sama dengan proses enkripsinya atau tidak, jika tidak sistem akan
secara otomatis meminta user untuk memasukkan kunci hingga benar. Demikian
sebaliknya, jika kunci yang dimasukkan benar, maka user langsung dapat
melakukan proses dekripsi file ciphertext yang dipilih. Sistem akan memproses file
16
ciphertext menjadi file plaintext yang semula. Setelah proses dekripsi selesai,
sistem akan menunjukkan tempat penyimpanan file hasil dekripsi.
Hasil dari flowchart enkripsi dan dekripsi adalah membuat perancangan
antar-muka aplikasi. Perancangan antar-muka merupakan rancang bangun dari
interaksi yang terjadi antara pengguna dan sistem.
4. Hasil Pembahasan
Hasil pembahasan membahas tentang penerapan sistem yang dibangun.
Sistem ini menghasilkan sebuah aplikasi kriptografi menggunakan algoritma IDEA
pada data keuangan perusahaan PT.PLN (Persero) Wilayah Kupang Area Sumba.
Gambar 6 File Excel yang akan dienkripsi
Gambar 6 merupakan file Excel dari laporan keuangan yang berekstensi .xlsx
yang akan dienkripsi. Pada Gambar 6, terlihat bahwa setiap orang bisa melihat file
sebelum dienkripsi. Kode Program 1 merupakan perintah dari aplikasi kriptografi
untuk proses enkripsi.
Kode Program 1 Perintah untuk Proses Enkripsi Menggunakan Algoritma IDEA
1. DateTime mulai = DateTime.Now;
2. byte[] plain = File.ReadAllBytes(
3. this.SelectedPlainDoc);
4. string key = plainKeyTB.Text;
5. byte[] cipher = new
6. IDEACipher().IDEAEncryption(plain, key);
7. TimeSpan span = DateTime.Now - mulai;
8.
9. encryptSpanTB.Text =
10. span.TotalMilliseconds.ToString() + " ms";
11. this.textBox4.Text =
12. plain.Length.ToString() + " byte";
13. this.textBox3.Text =
14. cipher.Length.ToString() + " byte";
15. CipherResult = cipher;
16.
17. var f = new SaveFileDialog();
18. f.Filter = CipherExt;
19. f.FilterIndex = this.SelectedPlainExt;
17
20. if (f.ShowDialog(this) ==
21. System.Windows.Forms.DialogResult.OK)
22. {
23. File.WriteAllBytes(f.FileName, CipherResult);
24. MessageBox.Show("File Tersimpan");
25. }
Kode Program 1 menjelaskan proses pertama pada aplikasi yang dibangun
adalah proses enkripsi. Kode Program 1 akan dijalankan ketika tombol Enkripsi
dipilih. Baris satu, proses dimulai dengan cara mencatat waktu mulai. Kemudian
baris dua sampai tiga, membaca isi dari file. Baris empat program, membaca kunci
yang dimasukkan oleh user. Kemudian baris lima sampai dengan enam, memanggil
fungsi IDEAEncryption untuk menjalankan enkripsi. Baris tujuh, lama waktu
proses enkripsi yang dicatat pada variabel span. Setelah melakukan proses enkripsi,
pada baris sembilan sampai dengan lima belas, ditampilkan lama waktu proses
enkripsi, total panjang file sebelum dienkripsi dan sesudah proses enkripsi. Baris
tujuh belas sampai dengan dua puluh empat, file hasil enkripsi disimpan sebagai file
baru dengan menggunakan dialog SaveFileDialog, dengan tempat penyimpanan
yang ditentukan user. Kode Program 2 Perintah untuk Proses Enkripsi dengan memanggil fungsi pada Library
.Net.
Kode Program 2 merupakan baris perintah enkripsi IDEAEncyprtion yang di
dalamnya memanggil fungsi pada library .NET untuk proses enkripsi IDEA
selanjutnya yang terdapat pada baris tiga sampai dengan lima. Baris enam fungsi
1. public byte[] IDEAEncryption(byte[] plain, string key)
2. {
3. BCEngine bcEngine =
4. new BCEngine(new IdeaEngine(), _encoding);
5. bcEngine.SetPadding(_padding);
6. return bcEngine.Encrypt(plain, key);
7. }
18
yang memberikan nilai balik yaitu byte[ ]. Gambar 7 File hasil proses Enkripsi
Pada Gambar 7 merupakan hasil enkripsi dari file data keuangan yang
ditunjukkan Gambar 6. Pada Gambar 7 terlihat bahwa file yang telah dienkripsi
tidak bisa dibaca oleh yang tidak berhak karena telah menjadi ciphertext. Proses
yang kedua adalah proses dekripsi, yaitu mengembalikan file setelah dienkripsi
menjadi file yang semula. File yang dipakai untuk melakukan proses dekripsi
adalah file ciphertext seperti pada Gambar 7. Perintahnya bisa dilihat pada Kode
Program 3. Kode Program 3 Perintah untuk Proses Dekripsi Menggunakan Algoritma IDEA
1. DateTime mulai = DateTime.Now;
2. byte[] cipher = File.ReadAllBytes(
3. this.SelectedCipherDoc);
4. string key = cipherKeyTB.Text;
5. byte[] plain = new
6. IDEACipher().IDEADecryption(cipher, key);
7. TimeSpan span = DateTime.Now - mulai;
8.
9. decryptSpanTB.Text =
10. span.TotalMilliseconds.ToString() + " ms";
11. this.textBox2.Text =
12. plain.Length.ToString() + " byte";
13. this.textBox1.Text =
14. cipher.Length.ToString() + " byte";
15.
16. DecipherResult = plain;
17. var f = new SaveFileDialog();
18. f.Filter = PlainExt;
19. f.FilterIndex = SelectedCipherExt;
20. if (f.ShowDialog(this) ==
21. System.Windows.Forms.DialogResult.OK)
22. {
23. File.WriteAllBytes(f.FileName, DecipherResult);
24. MessageBox.Show("File Tersimpan");
25. }
Kode Program 3 akan dijalankan ketika tombol Dekripsi dipilih. Baris satu,
proses dimulai dengan cara mencatat waktu mulai. Kemudian baris dua sampai tiga,
membaca isi dari file ciphertext. Baris empat, program membaca kunci yang
dimasukkan oleh user yaitu kunci yang sama pada proses enkripsi. Kemudian baris
lima sampai dengan enam, memanggil fungsi IDEADecryption untuk menjalankan
dekripsi. Baris tujuh, lama waktu proses dekripsi yang dicatat pada variabel span.
Setelah melakukan proses dekripsi, pada baris sembilan sampai dengan enam belas,
ditampilkan lama waktu proses dekripsi dalam bentuk MS (milliseconds), total
panjang file sebelum dekripsi dan sesudah didekripsi. Baris tujuh belas sampai
dengan dua puluh empat, file hasil dekripsi disimpan sebagai file baru dengan
menggunakan dialog SaveFileDialog, dengan tempat penyimpanan yang ditentukan
user.
Kode Program 4 Proses Dekripsi dengan Memanggil Fungsi Dekripsi pada Library .NET 1. public byte[] IDEADecryption(byte[] cipher, string key)
2. {
3. BCEngine bcEngine = new BCEngine(new IdeaEngine(), _encoding);
4. bcEngine.SetPadding(_padding);
5. return bcEngine.Decrypt(cipher, key);
6. }
Kode Program 4 merupakan baris perintah dekripsi IDEADecryption yang
didalamnya memanggil fungsi pada library .NET untuk proses dekripsi IDEA yang
19
terdapat pada baris tiga sampai dengan empat. Baris lima fungsi yang memberikan
nilai balik yaitu byte[ ].
Gambar 8 File hasil dekripsi
Gambar 8 merupakan hasil dekripsi dari file ciphertext menjadi file plaintext.
Pada aplikasi ini tentunya memiliki sebuah antar-muka sistem, yaitu tampilan awal
ketika user akan melakukan proses enkripsi data, dimana data setelah enkripsi akan
dikirimkan melalui e-mail.
Pada Gambar 9 menunjukkan tampilan awal aplikasi. Pada saat sistem
dijalankan pertama kali, terdapat dua tab, dua tombol encrypt, lima text box
encrypt, yaitu Tab Encrypt dan Tab Decrypt, tombol pilih dokumen dan tombol
encrypt, textbox alamat dokumen yang dipilih, textbox kunci, textbox lama proses
(milliseconds), textbox ukuran file sebelum dienkripsi dan sesudah dienkripsi. Pada
penelitian ini mempunyai batasan yaitu file yang akan dienkripsi dan didekripsi
adalah data keuangan dalam bentuk excel (xls dan xlsx).
Gambar 9 Tampilan Awal
20
Aplikasi kriptografi ini memiliki dua proses, proses yang pertama adalah
proses enkripsi yang mengubah file plaintext menjadi file ciphertext.
Gambar 10 menjelaskan proses enkripsi terhadap sistem yang dibangun.
Untuk menjalankan proses enkripsi, user terlebih dahulu membuka file yang akan
dienkripsi berupa file excel dengan memilih button pilih dokumen, setelah
pemilihan file yang akan dienkripsi selesai, user memasukkan kunci yang akan
dibangkitkan kembali menjadi sub kunci seperti yang sudah dijelaskan pada
Gambar 2. Setelah memasukkan kunci, user dapat melakukan proses enkripsi
dengan memilih button encrypt. Button encrypt ini akan beroperasi sesuai dengan
ketentuan yang ada pada algoritma IDEA yang sudah dijelaskan sebelumnya pada
Gambar 1, dengan menggunakan kunci yang dibangkitkan menjadi 52 sub kunci.
Setelah proses enkripsi selesai, akan muncul tempat penyimpanan file ciphertext
(ekstensi file (els atau elsx). Ketika semua tahap selesai, terdapat text box lama
proses enkripsi (waktu (ms)), ukuran file sebelum diproses dan ukuran file sebelum
diproses.
Gambar 10 Halaman Proses Enkripsi
Proses yang kedua pada aplikasi kriptografi adalah proses dekripsi yang
mengubah file ciphertext menjadi file plaintext semula. Dalam tahap ini, penerima
sudah mengunduh file ciphertext dan penerima juga harus memiliki aplikasi yang
sama dengan pengirim untuk melakukan proses dekripsi.
21
Gambar 11 Halaman Proses Dekripsi
Gambar 11 menjelaskan proses dekripsi terhadap sistem yang dibangun.
Untuk menjalankan proses dekripsi, user terlebih dahulu membuka file ciphertext
yang akan didekripsi (ekstensi file (els dan elsx) dengan memilih button pilih cipher
dokumen. Setelah memilih file ciphertext yang akan didekripsi selesai, user
memasukkan kunci yang sama pada saat proses enkripsi. Setelah memasukkan
kunci, user dapat melakukan proses dekripsi dengan memilih button decrypt.
Button decrypt ini akan beroperasi sama pada saat proses enkripsi. Yang menjadi
perbedaan antara proses enkripsi dan dekripsi adalah kunci proses dekripsi
merupakan turunan dari kunci proses enkripsi. Setelah proses dekripsi selesai, akan
muncul tempat penyimpanan file plaintext semula (ekstensi file (xls dan xlsx)).
Ketika semua tahap selesai, terdapat text box lama proses dekripsi (waktu (ms)),
ukuran file sebelum diproses dan ukuran file sebelum diproses.
Setelah aplikasi kriptografi dibangun, dilakukan pengujian file. Tabel 3 dan
Tabel 4 menunjukkan ukuran dan waktu proses untuk masing-masing file pada tiap
proses enkripsi dan dekripsi.
Tabel 3 Hasil Proses Enkripsi File Data Keuangan
No Nama File (xls,
xlsx)
Ukuran File
Plainteks(Bytes)
Ukuran File
Cipherteks
(Bytes)
Waktu
Proses
Enkripsi
(Detik)
1 bb_adm_dist 23717 23720 0,017
2 Bb_adm_adkeu 44932 44936 0,027
3 BLNDLL 2012 194516 194520 0,031
4 LAPORAN TWI 208321 208328 0,030
5 ATPDP TWI 614801 614808 0,066
Tabel 3 menjelaskan aplikasi kriptografi yang dibangun berhasil melakukan
enkripsi dengan ketentuan proses enkripsi pada algoritma IDEA, yaitu setiap blok
22
memiliki panjang 8 bytes atau 64 bit. Ketentuan yang dimaksud, penambahan bytes
pada blok untuk memulai proses enkripsi sehingga dapat mengubah file data
keuangan menjadi file yang tidak bisa dimengerti (ciphertext).
Tabel 4 Hasil Proses Dekripsi File Enkripsi
No Nama File
(els, elsx)
Ukuran File
cipherteks(Bytes)
Ukuran File
hasil
dekripsi
(Bytes)
Waktu
Proses
Dekripsi
(Detik)
1 bb_adm_dist 23720 23717 0,018
2 Bb_adm_adkeu 44936 44932 0,030
3 BLNDLL 2012 194520 194516 0,035
4 LAPORAN
TWI
208328 208321 0,037
5 ATPDP TWI 614808 614801 0,068
Tabel 4 menjelaskan aplikasi kriptografi ini dapat melakukan proses dekripsi
dengan baik menggunakan kunci yang sama pada saat proses enkripsi.
Berdasarkan hasil pengujian pada proses enkripsi dan dekripsi dapat dilihat
pada Tabel 3 dan Tabel 4 bahwa, besarnya ukuran file mempengaruhi lama proses
atau waktu enkripsi dan dekripsi. Semakin besar ukuran file, semakin besar juga
waktu yang diperlukan dalam proses tersebut. Waktu proses untuk enkripsi dan
dekripsi untuk masing-masing file sedikit berbeda, diakibatkan ukuran antara file
plaintext dan file ciphertext sedikit berbeda. Perbedaan ukuran ini mengakibatkan
waktu proses yang diperlukan untuk dekripsi sedikit lebih besar dibandingkan
untuk proses enkripsi.
Dalam membuat aplikasi kriptografi tentunya terdapat bug atau error baik
pada program yang terlihat maupun tidak terlihat, pada keramahan dalam
menggunakan aplikasi, dan masih banyak lagi. Maka dibutuhkan pengujian pada
aplikasi yang dibangun sebelum diberikan kepada perusahaan untuk mencoba
seberapa besar aplikasi ini berguna bagi perusahaan. Pengujian yang pertama, yaitu
pengujian alpha test yang merupakan pengujian yang dilakukan oleh pengembang
sistem dengan menguji apakah aplikasi kriptografi sudah sesuai dengan sistem yang
dibangun atau belum dan sudah layak untuk diberikan kepada pelanggan atau
belum. Pengujian alpha test ditunjukkan pada Tabel 5.
23
Tabel 5 Alpha Test
Tabel 5 dapat dijelaskan bahwa pengujian terhadap aplikasi kriptografi dapat
berjalan dengan baik dan sesuai dengan sistem yang dibangun. Dalam menjalankan
proses enkripsi dan dekripsi dapat menggunakan kunci yang sama dengan
menggunakan padding, dalam artian user tidak perlu memasukkan kunci sebanyak
128 bit. Data keuangan perusahaan yang memiliki fungsi-fungsi matematika dapat
dienkripsi dengan baik. Begitu pula sebaliknya, file ciphertext dapat didekripsikan
kembali menjadi file semula menggunakan kunci yang sama tanpa mengubah
keaslian dari file tersebut.
Setelah pengujian alpha sudah selesai, maka lanjut ke pengujian terakhir,
kedua, yaitu pengujian beta test yang dilakukan oleh satu user atau lebih user
dalam lingkungan sebenarnya yaitu pada pegawai PT. PLN (Persero) Wilayah NTT
Area Sumba. Pengujian ini bertujuan untuk mengetahui kendala yang didapati user
sebagai evaluasi bagi pengembang. Pengujian ini melibatkan 30 responden PT.
PLN (Persero) Wilayah NTT Area Sumba.
Pengujian yang dilakukan berupa lembar pertanyaan yang dikirimkan ke PT.
PLN Area Sumba dengan enam pertanyaan, empat pertanyaan pilihan ganda dan
dua pertanyaan yang terdiri dari pandangan user. Dalam pengujian ini, user
diberikan arahan tentang bagaimana menggunakan program berupa manual book,
dan pengujian ini murni tanpa kontrol dari pengembang. Daftar pertanyaan yang
berada pada lembar pertanyaan serta pemberian skor dapat dilihat pada Tabel 6,
Tabel 7 dan Tabel 8.
Tabel 6 terdapat empat pertanyaan dengan jawaban pilihan ganda, memiliki
skor tertinggi bernilai 100 (Ya) sedang skor terendah 0 (tidak).
Tabel 6 Pengujian Beta pada User
NO Pertanyaan Hasil
1 Apakah proses padding pada kunci berjalan dengan baik Valid
2 Apakah data keuangan dapat terenkripsi dengan baik Valid
3 Apakah data keuangan terenkripsi dapat didekripsikan kembali
dengan kriptosistem IDEA Valid
4 Apakah tombol-tombol telah berfungsi dengan kegunaannya. Valid
NO Pertanyaan Jawaban
Ya Tidak
1
Apakah anda tertarik untuk menggunakan aplikasi untuk
mengamankan data keuangan perusahaan yang bersifat
rahasia 24 6
2 Menurut anda, apakah untuk melakukan proses enkripsi
dan dekripsi pada aplikasi membutuhkan waktu yang lama 11 19
3 Apakah file yang sudah dienkripsi dapat dikirimkan
melalui e-mail 22 8
4 Apakah aplikasi pengamanan data ini sudah menjawab
kebutuhan anda terkait pengamanan data keuangan 25 5
24
Tabel 6 merincikan hasil dari pengujian beta test. Pertanyaan pertama terkait
ketertarikan user dalam menggunakan aplikasi kriptografi ini, terdapat 24
responden yang menjawab tertarik dalam menggunakan aplikasi yang dibangun,
dan 6 responden menjawab tidak. Berdasarkan jawaban yang diberikan pada
pertanyaan pertama dapat diartikan bahwa 80% responden menyatakan tertarik
dalam mengamankan data keuangan yang dianggap rahasia menggunakan aplikasi.
Pertanyaan kedua terkait lamanya waktu yang dibutuhkan dalam proses
enkripsi dan dekripsi, terdapat 11 responden yang menyatakan memerlukan proses
yang lama diartikan bahwa 37 % responden, sebaliknya 63% responden
menyatakan tidak membutuhkan waktu yang lama dalam proses enkripsi dan
dekripsi.
Pertanyaan ketiga terkait file ciphertext dapat dikirim melalui e-mail atau
tidak, terdapat 25 responden yang mengatakan file ciphertext dapat dikirimkan
melalui e-mail. Dengan artian 83% responden dapat mengirimkan file ciphertext
melalui e-mail.
Pertanyaan keempat terkait aplikasi kriptografi sudah menjawab kebutuhan
pengamanan data, terdapat 25 responden yang mengatakan aplikasi ini sudah
memenuhi kebutuhan user. Maka presentase yang didapat adalah 83% responden
menyetujui aplikasi kriptografi memenuhi kebutuhan dalam mengamankan data.
Pengujian selanjutnya pada Tabel 7, berupa jawaban menurut pandangan
user. Berdasarkan lembar pertanyaan yang berikan, memiliki skor tertinggi 100
(Sangat besar), skor menengah 75 (besar), skor terendah 50 (kurang).
Tabel 7 Pengujian Beta pada User
Tabel 7 sambungan dari Tabel 6 tentang pengujian beta pada user. Pertanyaan
kelima terkait minat dari user dalam memanfaatkan aplikasi kriptografi. Terdapat
13 responden atau 43% responden yang memiliki minat yang sangat besar dalam
memanfaatkan aplikasi, 12 responden atau 40% responden yang memiliki minat
besar dalam memanfaatkan aplikasi, dan 5 responden atau 17% responden kurang
berminat dalam memanfaatkan aplikasi ini untuk pengamanan data perusahaan.
Pengujian terakhir pada Tabel 8, berupa jawaban yang menurut pandangan
user, dengan skor tertinggi 100 (perlu ditambah), skor terendah 0 (cukup atau tidak
perlu ditambah). Pengambilan skor berdasarkan hasil dari lembar pertanyaan.
Tabel 8 Pengujian Beta pada User
NO Pertanyaan Jawaban
Perlu Cukup
6 Menurut Anda, apakah masih ada yang perlu
ditambahkan dalam pengembangan aplikasi ini 20 10
NO Pertanyaan Jawaban
Sangat Besar Besar Kurang
5 Seberapa besar minat Anda
dalam memanfaatkan aplikasi ini 13 12 5
25
Tabel 8 sambungan dari tabel 7 tetang pengujian beta pada user. Pertanyaan
keenam terkait penambahan atau tidaknya dalam pengembangan aplikasi
kriptografi. Terdapat 20 responden atau 67% responden mengatakan perlunya atau
pentingnya diadakan pengembangan lebih lanjut, yaitu interface dari aplikasi dibuat
lebih menarik, ditambahkan fungsi proteksi pada aplikasi kriptografi. Fungsi-fungsi
yang perlu ditambahkan, yaitu file enkripsi tidak bisa terhapus, menghilangkan file
ciphertext dan file plaintext dari daftar menu, dan tidak dapat membuka file
ciphertext menggunakan fungsi open with pada Windows. Sebaliknya, 10
responden atau 33% mengatakan tidak perlu mengembangkan aplikasi pengamanan
data.
5. Simpulan
Berdasarkan hasil pengujian yang dilakukan terhadap 30 pegawai PT. PLN
(Persero) Wilayah NTT Area Sumba, aplikasi kriptografi yang dibangun dapat
digunakan untuk merahasiakan data keuangan yang merupakan data rahasia
perusahaan atau dapat mencegah data tersebut digunakan oleh pihak yang tidak
bertanggung jawab.
6. Daftar Pustaka
[1] Andriyanto, Tri, dkk, 2008, Studi Perbandingan Algoritma IDEA dan
Algoritma Blowfish, Seminar Ilmiah Nasional Komputer dan Sistem
Intelien,repository, (182), http://gunadarma.ac.id/1055/. Diakses tanggal 1
November 2013.
[2] Wardani, Kholida Yuli, dkk,2011, Implementasi Metode Kriptografi IDEA
pada Priority Dealer untuk Layanan Pemesanan dan Laporan Penjualan
Handphone Berbasis Web, Politeknik Elektronika Negeri Surabaya,
(1),http://www.eepis-its.edu/uploadta/abstrakdetail.php?id=1289. Diakses
tanggal 1 November 2013.
[3] Rakheja, Pankaj, 2011, Integrating DNA Computing in International Data
Encryption Algorithm (IDEA), International Jurnal of Computer
Applications, (Volume 26-No.3, 1),
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.259.678&rep=rep
1&type=pdf. Diakses tanggal 2 November 2013
[4] PT. PLN (PERSERO) WILAYAH NTT AREA SUMBA
[5] Munir, Rinaldi,2006, Kriptografi, Bandung: INFORMATIKA.
[6] Andriyanto, dkk, 2008, Studi Perbandingan Algoritma IDEA dan Algoritma
Blowfish, Seminar Ilmiah Nasional Komputer dan Sistem
Intelien,repository,(183), http://gunadarma.ac.id/1055/. Diakses tanggal 1
November 2013
[7] Menezes, Alfred J, dkk, HANDBOOK of APPLIED CRYPTOGRAPHY
[8] Prabakti, 2011. Perbedaan Ongoing Evaluation, Alpha Testing dan Beta
Testing. Diakses 17 maret 2014.
http://prabaktiutama.blogspot.com/2011/01/perbedaan-ongoing-evaluation-
alpha.html
26
7. Lampiran
Lampiran 1. Lembar Pertanyaan (Sumber : Staff PT. PLN (Persero) Wilayah
NTT Area Sumba