perancangan dan implementasi aplikasi kriptosistem pada basis … · 2017. 5. 17. · basis data...
TRANSCRIPT
Perancangan Dan Implementasi Aplikasi Kriptosistem Pada Basis Data
Keuangan Nasabah Menggunakan Metode GOST
(Studi Kasus : BMT Taruna Sejahtera)
Artikel Ilmiah
Peneliti :
Bagus Aji Ramadhani (672010058)
Adi Nugroho, S.T., MMSI.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2016
Perancangan Dan Implementasi Aplikasi Kriptosistem Pada Basis Data
Keuangan Nasabah Menggunakan Metode GOST
(Studi Kasus : BMT Taruna Sejahtera)
Artikel Ilmiah Diajukan Kepada
Fakultas Teknik Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Bagus Aji Ramadhani (672010058)
Adi Nugroho, S.T., MMSI.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2016
Perancangan Dan Implementasi Aplikasi Kriptosistem Pada Basis Data
Keuangan Nasabah Menggunakan Metode GOST
(Studi Kasus : BMT Taruna Sejahtera)
1) Bagus Aji Ramadhani 2)
Adi Nugroho 3)
Alz Danny Wowor Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)
Abstract
Authentication of users accessing the database is the first step to securing the information in the
database. But still needs to be improved because of the possibility of illegal access is made to a customer
database table. Security information in the database customer BMT Taruna Sejahtera can be enhanced by
encrypting the information. The encoding of the information is done by using an encryption method and a
secret key. In this study designed a cryptosystem on BMT Taruna Sejahtera customer database using
GOST. The encryption process and decriptions in applications that use the database, so that the record is
stored in the form of data tables cipher. The results showed that by using encryption give extra time on
database saving process.
Keyword: GOST, cryptography, Database.
Abstrak Otentikasi pengguna dalam mengakses database merupakan langkah awal untuk mengamankan
informasi di database. Namun masih perlu ditingkatkan karena adanya kemungkinan akses illegal yang
dilakukan ke tabel basis data nasabah. Keamanan informasi di dalam database nasabah BMT Taruna
Sejahtera dapat ditingkatkan dengan cara menyandikan informasi tersebut. Penyandian informasi
dilakukan dengan menggunakan suatu metode enkripsi dan sebuah kunci rahasia. Pada penelitian ini
dirancang sebuah kriptosistem pada basis data nasabah BMT Taruna Sejahtera menggunakan metode
GOST. Proses enkripsi dan dekripsi dilakukan pada aplikasi yang menggunakan database tersebut,
sehingga record yang tersimpan pada tabel berupa data cipher. Hasil penelitian menunjukan bahwa
dengan melakukan enkripsi memberikan tambahan waktu pada saat proses penyimpanan ke dalam
database.
Kata Kunci: GOST, kriptografi, Basis Data
1) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana 2) Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
1
1. Pendahuluan
Perkembangan Teknologi Informasi saat ini begitu pesat membuat perkembangan
teknik pencurian data pun menjadi sangat banyak dan bervariasi bagi para pengguna
pemakai atau user pengguna teknologi informasi. Orang-orang yang tidak bertanggung
jawab bisa dengan mudah memperoleh informasi yang seharusnya tidak boleh diketahui
orang umum alias privacy. Karena hal inilah, kemudian muncul ilmu kriptografi.
Dengan kriptografi, seseorang dapat melindungi data atau informasi miliknya dengan
cara merubah data yang sebenarnya ke data yang disamarkan. Hanya dengan seizinnya
seseorang dapat membuka dokumen tersebut.
Otentikasi hak akses user dalam mengakses database merupakan langkah pertama
untuk mengamankan isi di dalam database. Namun dengan cara tersebut sebenarnya masih
kurang aman maka perlu ditingkatkan dengan menggunakan teknik kriptografi karena
adanya kemungkinan akses illegal yang dilakukan ke tabel basis data. Penyandian
informasi adalah langkah kedua setelah dilakukan autentikasi hak akses yaitu dengan
menggunakan suatu metode enkripsi dan sebuah kunci. Proses enkripsi dan dekripsi
dilakukan pada aplikasi yang menggunakan database tersebut, sehingga record yang
tersimpan pada tabel berupa data cipher. Apabila terjadi pembobolan akses ke dalam
database, maka informasi di dalamnya masih perlu di dekripsi untuk dimengerti oleh user.
Kriptografi merupakan salah satu metode pengamanan data yang dapat digunakan
untuk menjaga kerahasiaan data, keaslian data, serta keaslian pengirim. Salah satu jenis
algoritma kriptografi yang dapat digunakan untuk menyandikan pesan teks adalah
algoritma GOST.[2] GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau
“Government Standard”. Algoritma GOST merupakan jenis dari algoritma block cipher
dengan ukuran blok 64-bit dan panjang kunci 256-bit
Penelitian akan di lakukan di BMT Taruna Sejahtera. BMT Taruna Sejahtera adalah
salah satu BMT yang berada di Kabupaten Semarang. BMT “Taruna Sejahtera” telah
mendapatkan pengesahan Akte Perubahan Badan Hukum
No.019/BH/PAD/KDK/11.1/2000 tanggal 18 Febuari 2000. Menurut Pasal 1 angka 28
Undang-Undang No. 10 Tahun 1998 tentang Perubahan atas Undang-Undang No. 7 Tahun
1992 tentang Perbankan (“UU Perbankan”), rahasia bank adalah segala sesuatu yang
berhubungan dengan keterangan mengenai nasabah penyimpan dan simpanannya. Maka
dari itu dibutuhkan sebuah system informasi dengan keamanan yang memadai untuk
menghindari terjadinya kebocoran data nasabah atau bahkan pencurian data nasabah.
Berdasar latar belakang di atas maka di lakukan penelitian tentang perancangan dan
implementasi aplikasi kriptosistem pada basis data keuangan nasabah menggunakan
metode GOST dengan mengambil studi kasus di BMT Taruna Sejahtera.
2. Tinjauan Pustaka Dalam penelitian ini mengambil beberapa penelitian yaitu Penelitian yang berjudul
“Perancangan Perangkat Lunak Pembelajaran Kriptografi Untuk Pengamanan Record
dengan Metode GOST”. Aplikasi yang dibuat adalah dengan merancang aplikasi
keamanan record dengan metode GOST, merancang aplikasi pembelajaran dengan metode
2
CAI (Computer Assisted Instucion). Pengujian yang dilakukan pada penelitian ini adalah
dengan data text dan record[1].
Penelitian selanjutnya yaitu yang berjudul “Perancangan dan Implementasi
kriptosistem pada basis data rawat jalan menggunakan algoritma GOST” penelitian ini
membahas tentang teori, perancangan dan implementasi aplikasi kriptografi pada suatu
basis data pasien rawat jalan menggunakan metode GOST. Pada implementasi tersebut
data pasien disandikan agar informasi rekam medis pasien tetap bersifat rahasia. Hasil
penelitian menunjukkan bahwa dengan menerapkan enkripsi maka konsistensi informasi
data harus dikorbankan, yaitu dengan menghilangkan relasi antar beberapa tabel. Proses
enkripsi dan dekripsi yang dilakukan memberikan tambahan waktu pada proses
pengolahan data [2].
Lalu pada Penelitian berjudul “Aplikasi Advanced Encryption Standart (AES) Untuk
Kerahasiaan Basis Data Keuangan”, yaitu penelitian yang membahas proses enkripsi dan
dekripsi untuk data keuangan dan pada pengembangan aplikasinya dapat menyandikan isi
tabel suatu basis data. Algoritma yang digunakan adalah AES. Key yang digunakan untuk
proses enkripsi dan dekripsi telah disimpan sebelumnya lalu digunakan untuk semua
record keempat dan record yang digunakan adalah record yang bersifat primary key.
Sehingga untuk tiap record memiliki key yang sama namun record keempat yang berbeda,
hal ini mengakibatkan untuk record-record yang memiliki data yang sama [3].
Berdasar peneletian-penelititan sebelumnya tentang penerapan algoritma GOST, maka
dilakukan penelitian yang membahas implementasi algoritma GOST untuk kerahasiaan
basis data nasabah pada BMT Taruna Sejahtera. Penerapan algoritma GOST pada
penelitian ini digunakan untuk menyandikan informasi-informasi nasabah pada database
Ms. Access. Sistem yang di buat akan dapat membantu pihak BMT untuk menjaga
kerahasiaan data nasabah.
Penelitian yang dilakukan adalah dengan merancang dan mengimplementasikan
aplikasi kriptosistem. Kriptosistem adalah sistem kriptografi yang meliputi algoritma,
plainteks, cipherteks, dan key (kunci). Namun setiap teknologi tentu memiliki kelemahan.
Kriptanalisis (Cryptanalysis) adalah ilmu dan seni dalam membuka ciphertext dengan
memanfaatkan kelemahan yang ada pada kriptosistem tersebut berdasar Kriptologi (Ilmu
matematika yang melatarbelakangi ilmu kriptografi dan ilmu kriptanalisis). Secara umum,
kriptografi terdiri dari dua buah bagian utama yaitu bagian enkripsi dan bagian dekripsi.
Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang
sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari
pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi,
yaitu transformasi data terenkripsi ke data bentuk semula. Proses transformasi dari
plainteks menjadi cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah penting,
kunci bersama-sama dengan algoritma matematisnya akan memproses plainteks menjadi
cipherteks dan sebaliknya.
3
Gambar 1 Skema Enkripsi dan Dekripsi [4]
Pengirim atau user memasukkan Plaintext yang adalah pesan yang hendak
dikirimkan (berisi data asli) untuk dienkripsi yaitu proses pengubahan plaintext
menjadi ciphertext yang merupakan pesan yang dienkripsi (tersandi) yang merupakan
hasil enkripsi, dimana dalam proses enkripsi terdapat kunci suatu bilangan yang
dirahasiakan yang digunakan dalam proses enkripsi dekripsi. Enkripsi adalah proses
pengubahan plaintext menjadi ciphertext kemudian dilakukan dekripsi yaitu kebalikan
dari enkripsi yaitu proses pengubahan ciphertext menjadi plaintext yang diterima
oleh penerima.[5]
Salah satu algoritma kriptografi yang digunakan untuk menyandikan pesan adalah
algoritma GOST. GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau
“Government Standard”. Metoda GOST merupakan suatu algoritma block cipher yang
dikembangkan oleh seorang berkebangsaan Uni Soviet. Metoda ini dikembangkan oleh
pemerintah Uni Soviet pada masa perang dingin untuk menyembunyikan data atau
informasi yang bersifat rahasia pada saat komunikasi. Algoritma ini merupakan suatu
algoritma enkripsi sederhana yang memiliki jumlah proses sebanyak 32 round (putaran) dan
menggunakan 64 bit block cipher dengan 256 bit key. Metoda GOST juga menggunakan 8
buah S-Box yang berbeda-beda dan operasi XOR serta Left Circular Shift.[4]
Kelemahan GOST yang diketahui sampai saat ini adalah karena key schedule-nya yang
sederhana sehingga pada keadaan tertentu menjadi titik lemahnya terhadap metoda
kriptanalisis seperti Related-key Cryptanalysis. Tetapi hal ini dapat diatasi dengan
melewatkan kunci kepada fungsi hash yang kuat secara kriptografi seperti SHA-1,
kemudian menggunakan hasil hash untuk input inisialisasi kunci. Kelebihan dari metoda
GOST ini adalah kecepatannya yang cukup baik, walaupun tidak secepat Blowfish tetapi
lebih cepat dari IDEA.[4]
Komponen dari metoda GOST antara lain, [4]
• Key Store Unit (KSU) menyimpan 256 bit string dengan menggunakan 32
bit register (K0, K1, …, K7).
• Dua buah 32 bit register (R1, R2).
• 32 bit adder modulo 232
(CM1).
• Bitwise Adder XOR (CM2).
• Substitusion block (S) yaitu berupa 8 buah 64 bit S-Box.
• Rotasi Left shift register (R) sebanyak 11 bit.
Proses pembentukan kunci dapat dilihat pada penjabaran berikut ini,
• Input key berupa 256 bit key dengan perincian k1, k2, k3, k4, …, k256.
4
• Input key tersebut dikelompokkan dan dimasukkan ke dalam 8 buah KSU
dengan aturan seperti berikut,
K0 = (k32, …, k1)
K1 = (k64, …, k33)
K2 = (k96, …, k65)
K3 = (k128, …, k97)
K4 = (k160, …, k129)
K5 = (k192, …, k161)
K6 = (k224, …, k193)
K7 = (k256, …, k225)
Proses enkripsi dari metoda GOST untuk satu putaran (iterasi) dapat dapat dilihat pada
penjabaran berikut ini,
1. 64 bit plaintext dibagi menjadi 2 buah bagian 32 bit, yaitu Li dan Ri.
Caranya : Input a1(0), a2(0), …, a32(0), b1(0), …, b32(0)
R0 = a32(0), a31(0), …, a1(0)
L0 = b32(0), b31(0), …, b1(0)
2. (Ri + Ki) mod 232
. Hasil dari penjumlahan modulo 232
berupa 32 bit.
3. Hasil dari penjumlahan modulo 232
dibagi menjadi 8 bagian, dimanan masing-
masing bagian terdiri dari 4 bit. Setiap bagian dimasukkan ke dalam tabel S-Box
yang berbeda, 4 bit pertama menjadi input dari S-Box pertama, 4 bit kedua menjadi
S-Box kedua, dan seterusnya.
S-Box yang digunakan pada metoda GOST adalah seperti berikut,
Tabel 1 S-Box dari Metode GOST [4]
Cara melihat dari S-Box yaitu input biner diubah menjadi bilangan desimal dan
hasilnya menjadi urutan bilangan dalam S-Box.
5
Tabel 2 Penjelasan Cara Kerja S-Box dari Metode GOST [4]
Contoh, jika data input ke S-Box adalah 5 maka dicari data pada posisi ke-5.
Output yang dihasilkan adalah 8.
4. Hasil yang didapat dari substitusi ke S-Box dan digabungkan kembali menjadi 32
bit dan kemudian dilakukan rotasi left shift sebanyak 11 bit.
5. Ri+1 = Ri (hasil dari rotate left shift) XOR Li.
6. Li+1 = Ri sebelum dilakukan proses.
Proses penjumlahan modulo 232
, S-Box, Rotate Left Shift dilakukan sebanyak 32 kali
(putaran) dengan penggunaan kunci pada masing-masing putaran berbeda-beda sesuai
dengan aturan berikut ini,
Putaran 0 – 7 : K0, K1, K2, …, K7
Putaran 8 – 15 : K0, K1, K2, …, K7
Putaran 16 – 23 : K0, K1, K2, …, K7
Putaran 24 – 31 : K7, K6, K5, …, K0
Untuk putaran ke-31, langkah 5 dan 6 agak sedikit berbeda. Langkah 5 dan 6 untuk
putaran 31 adalah sebagai berikut,
R32 = R31 sebelum dilakukan proses
L32 = L31 XOR R31
Sehingga, ciphertext yang dihasilkan adalah
L32 : b(32), b(31), …, b(1)
R32 : a(32), a(31), …, a(1)
T = a(1), …, a(32), b(1), …, b(32)
Proses enkripsi dari metoda GOST dapat digambarkan dalam bentuk skema seperti
berikut ini, [4]
6
o
o
o
Satu putaran
(iterasi)
Tiga puluh
putaran
(iterasi)
lainnya
Putaran
(iterasi)
terakhir
Plaintext
Ciphertext
0 7
0 7
Gambar 2 Skema Proses Enkripsi Metode GOST [4]
Proses dekripsi merupakan proses kebalikan dari proses enkripsi. Penggunaan kunci
pada masing-masing putaran pada proses dekripsi adalah sebagai berikut, [4]
Putaran 0 – 7 : K0, K1, K2, …, K7
Putaran 8 – 15 : K7, K6, K5, …, K0
Putaran 16 – 23 : K7, K6, K5, …, K0
Putaran 24 – 31 : K7, K6, K5, …, K0
Algoritma yang digunakan untuk proses dekripsi sama dengan proses enkripsi dengan
aturan untuk langkah 5 dan 6 pada putaran ke-31 adalah sebagai berikut,
R32 = R31 sebelum dilakukan proses.
L32 = R31 XOR L31.
Plaintext yang dihasilkan pada proses dekripsi adalah,
L32 = b(32), b(31), …, b(1)
R32 = a(32), a(31), …, a(1)
P = a(1), …, a(32), b(1), …, b(32)
Proses dekripsi dari metoda GOST dapat digambarkan dalam bentuk skema seperti
berikut ini,[4]
7
o
o
o
Satu putaran
(iterasi)
Tiga puluh
putaran
(iterasi)
lainnya
Putaran
(iterasi)
terakhir
Ciphertext
Plaintext
0 7
0 7
Gambar 3 Skema Proses Dekripsi Metode GOST [4]
3. Metode dan Perancangan Sistem Dalam penelitian ini dilakukan melalui tahapan penelitian yang terbagi dalam 5
tahapan yaitu : (1) Analisis kebutuhan dan pengumpulan data, (2) Perancangan system, (3)
Pembuatan aplikasi/program, (4) Implementasi dan pengujian system, (5) Penulisan
laporan hasil penelitian. Mulai
Analisis kebutuhan dan
pengumpulan data
Perancangan sistem
Implementasi dan
pengujian sistem
Pembuatan aplikasi/
program
Selesai
Gambar 4 Alur/Tahapan Penelitian
Tahapan penelitian pada Gambar 4, dapat di jelaskan sebagai berikut. Tahap
pertama: analisis kebutuhan dan pengumpulan data, yaitu melakukan analisis
kebutuhan apa saja yang dimiliki dari pihak yang akan diteliti dalam hal ini adalah
BMT Taruna Sejahtera, yaitu tentang proses pemasukkan data nasabah, data nasabah
yang harus dilindungi dan pengumpulan data dari analisis kebutuhan yang sudah
dilakukan untuk membangun aplikasi kriptografi agar dapat mengamankan data-data
8
penting yang dimiliki nasabah. Tahap kedua: perancangan sistem yang meliputi
perancangan proses menggunakan Unified Modeling Language (UML), perancangan
algoritma dari sistem yang dibangun, perancangan database yaitu merancang tabel-
tabel database yang berfungsi untuk menyimpan data-data yang dibutuhkan dalam
aplikasi kriptografi, perancangan proses enkripsi dan dekripsi terhadap basis data
berdasarkan algoritma GOST. Tahap ketiga: pembuatan aplikasi/program yaitu
membuat aplikasi/program sesuai kebutuhan sistem berdasarkan perancangan sistem
yang telah dilakukan. Tahap keempat: implementasi dan pengujian sistem, serta
analisis hasil pengujian, yaitu mengimplementasikan program sudah dibangun,
selanjutnya dilakukan pengujian, serta dianalisis untuk melihat apakah aplikasi
yang telah dibuat sudah sesuai dengan perancangan sistem; Tahap kelima,
penulisan laporan hasil penelitian, yaitu mendokumentasikan proses penelitian yang
sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang nantinya akan
menjadi laporan hasil penelitian.
Proses enkripsi dan dekripsi diawali dengan admin memasukan kunci sepanjang
32 karakter. Selanjutnya algoritma GOST akan memproses pembentukan kunci sesuai
standar algoritmanya.
Proses enkripsi dengan algoritma GOST, dapat dijelaskan sebagai berikut: proses
enkripsi data nasabah dimulai dengan input kunci. Selanjutnya input data nasabah.
Setelah proses input selesai, selanjutnya proses enkripsi dijalankan. Setelah proses
selesai dijalankan, admin mendapatkan hasil output (ciphertext).
Proses dekripsi dengan algoritma GOST, dapat dijelaskan sebagai berikut: proses
dekripsi data nasabah dimulai dengan input kunci. Selanjutnya input data (ciphertext).
Setelah proses input selesai, selanjutnya proses dekripsi dijalankan. Setelah proses
selesai dijalankan, admin mendapatkan hasil output (plaintext).
Proses enkripsi dan dekripsi algoritma GOST dalam bentuk flowchart dapat
dilihat pada Gambar 5 dan Gambar 6.
Gambar 5 Proses Enkripsi Gambar 6 Proses Dekripsi
9
Perancangan proses pada penelitian ini menggunakan Unifield Modeling Language
(UML).
Gambar 7 Use Case Diagram Sistem
Gambar 7 menjelaskan seorang admin berfungsi sebagai pengelola isi aplikasi
serta memiliki hak penuh dalam mengelola aplikasi. Admin dapat mengatur data
nasabah, mengatur data saldo, mengatur data setoran, mengatur data penarikan dan
mengatur data transfer.
4. Hasil Pembahasan dan Implementasi Dalam penelitian ini proses enkripsi memiliki peran dalam mengubah data
nasabah yang dapat dibaca user menjadi ascii dengan menggunakan metode
Government Standart (GOST), sedangkan proses dekripsi adalah kebalikan dari
proses enkripsi yaitu merubah ascii ke data nasabah seperti semula.
Antarmuka kunci enkripsi / dekripsi ini digunakan untuk merubah kunci yang
digunakan saat enkripsi dan dekripsi gost jadi user dapat merubah kunci sesuai yang
di inginkan dan sebagai sarana untuk keamanan data karena kunci sewaktu-waktu
dapat diubah, antarmuka dapat dilihat pada Gambar 8
Gambar 8 Antarmuka Kunci Enkripsi dan Dekripsi
10
Antarmuka form data nasabah BMT Taruna Sejahtera yang terdapat di menu
master, didalam form ini digunakan untuk management data seperti menambahkan,
mengedit, dan menghapus, untuk proses enkripsi akan dilakukan pada saat
menyimpan data nasabah. Data nasabah akan dienkripsi terlebih dahulu dengan
GOST lalu disimpan ke dalam database yang disesuaikan tipe datanya dengan hasil
enkripsi. Pada bagian bawah form nasabah juga terdapat tombol untuk melihat
ciphertext dari hasil enkripsi. Antarmuka Data nasabah dapat dilihat pada Gambar 9
dan antar muka table enkripsi dapat dilihat pada Gambar 10.
Gambar 9 Antarmuka Form Nasbah
Gambar 10 Antarmuka table Enkripsi
Antarmuka form saldo nasabah BMT Taruna Sejahtera yang terdapat di menu
master, didalam form ini digunakan untuk management data seperti menambahkan
saldo nasabah baru, untuk proses enkripsi akan dilakukan pada saat menyimpan data
saldo nasabah. Data saldo nasabah akan dienkripsi terlebih dahulu dengan GOST lalu
11
disimpan ke dalam database yang disesuaikan tipe datanya dengan hasil enkripsi,
Antarmuka form saldo nasabah dapat dilihat pada Gambar 11.
Gambar 11 Antarmuka Form Saldo
Antarmuka form transaksi setoran yang terdapat di menu transaksi digunakan
apabila nasabah akan menyetor / menabung uang ke tabungan nasabah tersebut,
didalam form ini harus mengisi data nasabah dan jumlah setoran dan nama teller.
Transaksi setoran akan dienkripsi terlebih dahulu dengan GOST lalu disimpan ke
dalam database yang disesuaikan tipe datanya dengan hasil enkripsi, Antarmuka form
transaksi setoran dapat dilihat pada Gambar 12.
Gambar 12 Antarmuka Form Setoran
Antarmuka form transaksi penarikan yang terdapat di menu transaksi digunakan
apabila nasabah akan mengambil sejumlah uang dari tabungan nasabah tersebut,
didalam form ini harus mengisi data nasabah dan jumlah penarikan dan nama teller.
Transaksi penarikan akan dienkripsi terlebih dahulu dengan GOST lalu disimpan ke
dalam database yang disesuaikan tipe datanya dengan hasil enkripsi, Antarmuka form
transaksi setoran dapat dilihat pada Gambar 13
12
Gambar 13 Antarmuka Form Penarikan
Antarmuka form transaksi transfer yang terdapat di menu transaksi digunakan
apabila nasabah akan mentransfer sejumlah uang ke nomer rekening nasabah lain,
didalam form ini harus mengisi data nasabah dan jumlah transfer serta nominal yang
akan di transfer beserta nomer rekening nasabah yang akan di transfer dan nama
teller. Transaksi transfer akan dienkripsi terlebih dahulu dengan GOST lalu disimpan
ke dalam database yang disesuaikan tipe datanya dengan hasil enkripsi, Antarmuka
form transaksi setoran dapat dilihat pada Gambar 14.
Gambar 14 Antarmuka Form Transfer
Kode Program 1 Proses Pembentukan Kunci 1. cKey1 = ""
2. For I = 1 To Len(pcKey)
3. cKey1 = cKey1 & FormatStr(FDecToBiner(Asc(Mid(pcKey, I, 1))), "0", 8)
4. Next I
5. For I = 0 To 7
6. K(I) = FReverse(Mid(cKey1, (32 * I) + 1, 32)) '* (I + 1)
7. Next I
Kode program 1 merupakan algoritma yang digunakan dalam proses enkripsi dan
dekripsi, perancang algoritma ini di dalam fungsi proses enkripsi dan dekripsi.
Kode program 2 Proses Enkripsi dan Dekripsi GOST 1. For I = 1 To Len(pcText)
2. cText1 = cText1 & FormatStr(FDecToBiner(Asc(Mid(pcText, I, 1))), "0", 8)
3. Next I
13
4. cTextB1 = cText1
5. R(0) = FReverse(Mid(cText1, 1, 32))
6. L(0) = FReverse(Mid(cText1, 33, 64))
7. For I = 0 To 31
8. nTemp1 = FBinerToDec(R(I))
9. If I < 24 Then
10. nTemp2 = FBinerToDec(K(I Mod 8)) 11. Else 12. nTemp2 = FBinerToDec(K(7 - (I Mod 8))) 13. End If 14. CM1(I) = cTemp 15. ReDim ArrcTemp(0) 16. For J = 4 To (Len(cTemp)) Step 4 17. nTemp = (J / 4) - 1 18. ReDim Preserve ArrcTemp(nTemp) 19. ArrcTemp(nTemp) = Mid(cTemp, (J - 3), 4) 20. Next J 21. For J = 0 To UBound(ArrcTemp) 22. nTemp1 = FBinerToDec(ArrcTemp(J)) 23. nTemp2 = SBox(J)(nTemp1) 24. ArrcTemp(J) = FormatStr(FDecToBiner(nTemp2), "0", 4) 25. Next J 26. cTemp = "" 27. For J = 0 To UBound(ArrcTemp) 28. cTemp = cTemp & ArrcTemp(J) 29. Next J 30. S(I) = cTemp 31. cTemp = FRotateLeftShift(cTemp, 11) 32. RSL(I) = cTemp 33. If I <> 31 Then 34. R(I + 1) = FXORBiner(cTemp, L(I), 32) 35. L(I + 1) = R(I) 36. Else 37. R(I + 1) = R(I) 38. L(I + 1) = FXORBiner(cTemp, L(I), 32) 39. End If 40. Next I 41. cHasilEnkripsi = "" 42. cTextB2 = "" 43. cTemp1 = FReverse(R(32)) 44. For I = 8 To 32 Step 8 45. nTemp = (J / 8) 46. cTextB2 = cTextB2 & Mid(cTemp1, I - 7, 8) 47. cHasilEnkripsi = cHasilEnkripsi & Chr(FBinerToDec(Mid(cTemp1, I - 7, 8))) 48. Next I 49. cTemp1 = FReverse(L(32)) 50. For I = 8 To 32 Step 8 51. nTemp = (J / 8) 52. cTextB2 = cTextB2 & Mid(cTemp1, I - 7, 8) 53. cHasilEnkripsi = cHasilEnkripsi & Chr(FBinerToDec(Mid(cTemp1, I - 7, 8))) 54. Next I 55. GOSTEncrypt = cHasilEnkripsi 56. End Function
Pada kode program 2 adalah algoritma untuk proses enkripsi dan dekripsi. Baris 1-4
merupakan perintah untuk mengubah plaintext menjadi biner. Perintah pada baris 15-25
digunakan untuk menentukan nilai S-Box. Fungsi ini mengembalikan ciphertext yang telah
dienkripsi dengan metoda GOST.
Pengujian Sistem dilakukan pada setiap form yang memiliki fungsi tombol enkripsi.
Pengujian yang dilakukan adalah menghitung waktu yang di gunakan saat proses simpan
ke dalam database baik menggunakan proses enkripsi maupun tanpa enkripsi.
14
Berdasarkan hasil pengujian pada Gambar 15, dapat disimpulkan bahwa proses simpan ke
dalam database menggunakan proses enkripsi membutuhkan waktu yang sedikit lebih
lama dibandingkan prnyimpanan tanpa proses enkripsi.
Gambar 15 Hasil Pengujian Proses Simpan ke Dalam Database
5. Simpulan
Berdasarkan hasil dari pembahasan dan pengujian sistem aplikasi dapat disimpulkan
bahwa proses penyimpanan sekaligus enkripsi memberikan tambahan waktu. Hal ini
disebabkan proses simpan sekaligus enkripsi dilakukan di setiap kolom dari setiap baris
record.
Saran yang dapat diberikan untuk penelitian lebih lanjut adalah dilakukan pengujian
dan diimplementasikan di sistem lain yang memerlukan keamanan data agar dapat
diketahui kelebihan lain dan kelemahan dari algoritma GOST. Dilakukan penelitian
dengan menggunakan algoritma selain GOST agar dapat menambah referensi keamanan
data
6. Daftar Pustaka
[1] Batubara Muhammad Iqbal, 2006. Perancangan Perangkat Lunak Pembelajaran
Kriptografi Untuk Pengamanan Record dengan Metode GOST.
[2] Sitanala, Moran. 2013. Perancangan dan Implementasi Kriptosistem pada Basis Data
Pasien Rawat Jalan Menggunakan Algoritma GOST (Studi Kasus : Poliklinik dan
Lab Klinik UKSW). Universitas Kristen Satya Wacana
[3] Burhani, Yanuar, Sediyono, Eko, dan Prestiliano, Jasson. 2012. Aplikasi Advanced
Encryption Standart (AES) Untuk Kerahasiaan Basis Data Keuangan. Universitas
Kristen Satya Wacana.
[4] Munir Rinaldi, 2006. Kriptografi, Informatika, Bandung [5] Schneier, Bruce, 1996. “Applied Cryptography, 2nd edition” New York:
John-Wiley dan Sons.
0
0,1
0,2
0,3
0,4
nasabah saldo setoran penarikan transfer
Pengujian Sistem
waktu proses enkripsi (detik) waktu proses tanpa enkripsi (detik)