Anda di halaman 1dari 7

Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

Aplikasi Kriptografi File Menggunakan


Metode Blowfish dan Metode Base64 pada
Dinas Kependudukan dan Pencatatan Sipil
Kota Tangerang Selatan
Mujito Anugrah Bagus Susilo
Program Studi Teknik Informatika, Fakultas Program Studi Teknik Informatika, Fakultas
Teknologi Informasi, Universitas Budi Luhur Teknologi Informasi, Universitas Budi Luhur
Jl. Raya Ciledug, Petukangan Utara, Kebayoran Jl. Raya Ciledug, Petukangan Utara, Kebayoran
Lama, Jakarta Selatan 12260 Lama, Jakarta Selatan 12260
Telp. (021) 5853753, Fax. (021) 5866369 Telp. (021) 5853753, Fax. (021) 5866369
jitosalemba@gmail.com anugrahbagussusilo@gmail.com

Abstrak- Dinas kependudukan Dan Pencatatan orang yang salah dan digunakan untuk melakukan
Sipil Kota Tangerang Selatan adalah suatu instansi tindakan kriminal seperti peminjaman uang dan
pemerintah yang menangani masalah kependudukan lain sebagainya. Dengan banyaknya data-data
dan catatan sipil warga daerah Tangerang data-data penting yang sering juga bersifat rahasia, maka
pencatatan sipil meliputi data akte pernikahan, data
pihak Dinas Kependudukan dan Pencatatan Sipil
akte kelahiran dan akte kematian. Data – data
tersebut merupakan data yang bersifat rahasia jika Kota Tangerang Selatan ingin membuat supaya
data tersebut diketahui oleh orang yang tidak data tersebut tidak dapat dibaca secara langsung,
bertanggung jawab dapat disalah gunakan seperti karena data tersebut di sandikan atau dienkripsi
data kartu tanda penduduk, jika jatuh ke tangan baru kemudian disimpan ke dalam basis data, dan
orang yang salah dan digunakan untuk melakukan jika ingin melihat data tersebut menjadi data asli
tindakan kriminal seperti peminjaman uang dan lain maka perlu di dekrpsi yaitu mengubah data yang
sebagainya. Untuk mengatasi data tersebut terenkripsi menjadi data asli.
diperlukan aplikasi yang dapat menyandikan atau Untuk lebih mengamankan proses enkripsi dan
mengenkripsi data tersebut, Dimana mekanismenya
nanti data-data tersebut discan terlebih dahulu
deskripsi, perlu dilakukan suatu mekanisme yang
kemudian file image hasil scan akan di enkripsi memberikan sedikit kemungkinan agar data asli
menggunakan algoritma Blowfish terlebih dahulu tidak bisa dibongkar oleh penyerang. Sehingga
baru kemudian di enkripsi lagi dengan algoritma penulis menggunakan 2 metode dalam melakukan
Base64 , aplikasi menggunakan bahasa proses enkripsi dan deskripsi, yaitu Blowfish dan
pemprograman PHP. Data dapat diamankan dengan Base64. Dengan menggunakan kombinasi antara
kriptografi algortima Blowfish dan Base64. Data tidak kunci algoritma Blowfish dan Base64 diharapkan
dapat dibuka oleh pihak yang tidak berhak yang akan membuat pengamanan data memiliki tingkat
tidak memiliki kunci untuk enkripsi dan dekripsi file. keamanan yang lebih tinggi. Khususnya untuk data
kependudukan dan catatan sipil sehingga data asli
Kata kunci-- Kriptografi, Blowfish, Base64, enkripsi,
tersebut tidak dapat dibaca dan diterjemahkan oleh
dekripsi
orang yang tidak bertanggung jawab.
Berdasarkan permasalahan tersebut penulis
mengambil penelitian dengan judul “Aplikasi
I. PENDAHULUAN Kriptografi File Menggunakan Metode Blowfish
Dinas kependudukan Dan Pencatatan Sipil Kota Dan Metode Base64 Pada Dinas Kependudukan
Tangerang Selatan adalah suatu instansi pemerintah Dan Pencatatan Sipil Kota Tangerang Selatan”.
yang menangani masalah kependudukan dan
catatan sipil warga daerah Tangerang data-data A. Batasan Masalah
pencatatan sipil meliputi data akte pernikahan, data Sesuai dengan judul skripsi ini, penulis
akte kelahiran dan akte kematian. Data – data memfokuskan masalah yang ada dan agar tidak
tersebut merupakan data yang bersifat rahasia jika menyimpang dari pokok bahasan maka penulis
data tersebut diketahui oleh orang yang tidak membuat batasan permasalahan yaitu:
bertanggung jawab dapat disalah gunakan seperti  Pembuatan aplikasi menggunakan bahasa
data kartu tanda penduduk, jika jatuh ke tangan pemprograman PHP.

54
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

 Proses enkripsi dan dekripsi hanya dekripsi. Kunci terbagi menjadi dua bagian, kunci
dilakukan untuk data kependudukan dan rahasia (private key) dan kunci umum (public key).
pencatatan sipil yaitu berupa file Maka pesan atau data asli sebelum dienkripsi
berbentuk image (.jpeg). disebut plain text. Sedangkan pesan yang sudah
 Maksimal File yang dienkripsi sebesar 2 diacak disebut cipher text. Proses pengubahan plain
Mb text menjadi cipher text disebut dengan enkripsi,
sedangkan proses pengubahan cipher text kembali
II. LANDASAN TEORI menjadi plain text disebut dengan dekripsi.

A. Konsep Dasar Kriptografi


Kriptografi berasal dari bahasa Yunani, crypto
dan graphia. Crypto berarti secret (rahasia) dan
graphia berarti writing (tulisan). Menurut
terminologinya kriptografi adalah ilmu dan seni
untuk menjaga keamanan pesan ketika dikirim dari Gambar 1. Proses Enkripsi-Dekripsi
suatu tempat ke tempat yang lain. (Ariyus, 2008)
E. Algoritma Blowfish
Kriptografi dapat pula diartikan sebagai ilmu atau Merupakan algoritma simetri yang tergolong
seni untuk menjaga keamanan pesan. Ketika suatu dalam metode block cipher. Ada dua tipe dasar
pesan dikirim dari suatu tempat ke tempat lain, isi algoritma simetris yaitu block cipher dan stream
pesan tersebut mungkin dapat disadap oleh pihak cipher. Sebuah block cipher memproses block byte
lain yang tidak berhak untuk mengetahui isi pesan (biasanya 64 atau 128 bit ) pada satu waktu.
tersebut. Kriptografi diperlukan untuk menghindari Sebuah stream cipher memproses satu byte atau
bahkan satu bit pada suatu waktu. (Thorsteinson
pihak yang tidak berhak mengetahui isi dari pesan and Ganesh, 2003)
yang dikirimkan tersebut. Dengan adanya Blowfish dibuat oleh seorang Cryptanalyst
kriptografi, isi dari pesan akan diacak sedemikian bernama Bruce Schneier, yang merupakan Presiden
rupa menggunakan algoritma kriptografi tertentu perusahaan Counterpane Internet Security.Inc, dan
sehingga akan menghasilkan sebuah pesan yang dipublikasikan tahun 1994. Algoritma ini
acak yang tidak dapat dibaca sebelum isi pesan digunakan pada komputer yang mempunyai
microprocessor besar (32-bit keatas dengan cache
yang sebenarnya kembali dimunculkan
data yang besar). (Schneier, 1996)
menggunakan algoritma kriptografi tersebut. Karateristik Blowfish adalah sebagai berikut:
(Schneier, 1996)  Merupakan block cipher dengan 64 bit
block
B. Enkripsi  Panjang kunci merupakan variable dengan
Merupakan hal yang sangat penting dalam panjang kunci hingga 448 bit
kriptografi, merupakan pengamanan data yang  Mengenkripsi data pada microprocessor
dikirimkan agar terjaga kerahasiaannya. Pesan asli 32 bit dengan rata – rata 18 clock cycle
disebut plain text, yang diubah menjadi kode-kode per byte, lebih cepat dari DES dan IDEA.
yang tidak dimengerti. Enkripsi bisa diartikan
 Tidak mempunyai hak paten dengan harga
dengan cipher atau kode. Sama halnya dengan jika
yang gratis.
tidak mengerti akan sebuah kata maka yang
 Dapat berjalan pada memori kurang dari 5
dilakukan adalah dengan melihatnya di dalam
KB.
kamus atau daftar istilah. Beda halnya dengan
enkripsi, untuk mengubah teks asli ke bentuk teks-  Mempunyai struktur yang sederhana dan
kode digunakan algoritma yang dapat implementasi yang mudah. (Pachghare,
2009)
mengkodekan data yang diinginkan
Blowfish terdiri atas dua bagian :
C. Dekripsi
Merupakan kebalikan dari enkripsi. Pesan 1) Key-Expansion
Berfungsi merubah kunci (Minimum 32-
yang telah dienkripsi dikembalikan ke bentuk
asalnya (teks-asli), disebut dengan dekripsi pesan. bit, Maksimum 448-bit) menjadi beberapa
array subkunci (subkey) dengan total
Algoritma yang digunakan untuk dekripsi tentu
berbeda atau kebalikan dengan algoritma yang 4.168 byte.
2) Enkripsi Data
digunakan untuk enkripsi
Terdiri dari iterasi fungsi sederhana
(Feistel Network) sebanyak 16 kali
D. Kunci
Kunci yang dimaksud di sini adalah kunci putaran. Setiap putaran terdiri dari
permutasi kunci dependent dan substitusi
yang dipakai untuk melakukan enkripsi dan

55
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

kunci dan data dependent. Semua operasi


adalah penambahan (addition) dan XOR
pada variabel 32-bit . Operasi tambahan
lainnya hanyalah empat penelusuran tabel
(table lookup) array berindeks untuk
setiap putaran. (Schneier, 1996)

Blowfish menggunakan subkunci yang besar.


Kunci tersebut harus dihitung sebelum enkripsi
atau dekripsi data.
 Bentuk inisial P-array sebanyak 18 buah
yaitu (P1,P2,…………..P18) masing-
msing bernilai 32-bit . P-array terdiri dari
delapan belas kunci 32-bit subkunci:
P1,P2,…….,P18
 Bentuk S-Box sebanyak 4 buah masing-
masing bernilai 32-bit yang memiliki
masukan 256. Empat 32-bit S-Box
masing-masing mempunyai 256 masukan:
(S1,0),(S1,1),………………..,(S1,255)
(S2,0),(S2,1),………………..,(S2,255)
(S3,0),(S3,1),………………..,(S3,255)
(S4,0),(S4,1),………………..,(S4,255) Gambar 2. Jaringan Feistel Algoritma Blowfish
Blowfish adalah sebuah jaringan Feistel yang (Scheiner, 1996)
terdiri dari 16 putaran. Input-annya adalah elemen Fungsi F adalah sebagai berikut:
data 64 bit. Cara untuk melakukan enkripsi adalah Bagi XL menjadi empat bagian 8-bit :
sebagai berikut: a,b,c dan d. F(XL) = ((S1,a + S2,b mod 232)
 Pertama-tama plain text yang akan XOR S3,c) + S4,d mod 232.
dienkripsi diasumsikan sebagai masukan,
plain text tersebut diambil sebanyak 64-
bit, dan apabila kurang dari 64-bit maka
tambahkan bit nya, supaya dalam operasi
nanti sesuai dengan datanya.
 Hasil pengambilan tadi dibagi 2, 32-bit
pertama disebut XL, 32-bit yang kedua
disebut XR.
 Selanjutnya lakukan operasi berikut:
For i = 1 to 16;
XL = XL XOR Pi
XR = F(XL) XOR XR
Tukar XL dan XR Gambar 3. Fungsi F Pada Algoritma Blowfish
 Setelah iterasi ke-16, tukar XL dan XR (Scheiner, 1996)
lagi untuk melakukan undo pertukaran
terakhir. Lalu lakukan Cara untuk melakukan dekripsi sama dengan
XR = XR XOR P17 cara untuk melakukan enkripsi seperti diatas,
XL = XL XOR P1 namun pada proses dekripsi urutan P1, P2, …, P18
Proses terakhir satukan kembali XL dan XR digunakan dalam urutan terbalik.
sehingga menjadi 64-bit kembali. (Scheiner, Subkunci dihitung menggunakan algoritma
1996). Blowfish, metodanya adalah sebagai berikut:
 Pertama-tama inisialisasi P-array dan
kemudian empat S-Box secara berurutan
dengan string yang tetap. String ini terdiri
digit hexadesimal dari p.
 XOR P1 dengan 32 bit pertama kunci,
XOR P2 dengan 32 bit kedua dari kunci dan
seterusnya untuk setiap bit dari kunci (sampai
P18). Ulangi terhadap bit kunci sampai
seluruh P-array di XOR dengan bit kunci.

56
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

 Enkripsi semua string nol dengan disandikan ke Base64 maka caranya adalah sebagai
algoritma Blowfish dengan menggunakan berikut:
subkunci seperti dijelaskan pada langkah (1) Misal kita ingin menyandikan teks MAN
dan (2).  Ubah huruf – huruf yang akan di encripsi
 Ganti P1 dan P2 dengan keluaran dari menjadi kode – kode ASCII
langkah (3).
 Enkripsi keluaran dari langkah (3)
dengan algoritma Blowfish dengan subkunci
yang sudah dimodifikasi.
 Kode – kode ASCII tersebut ubah lagi
 Ganti P3 dan P4 dengan keluaran dari
menjadi kode Biner
langkah (5).
 Lanjutkan proses tersebut, ganti seluruh
elemen dari P-array, dan kemudian seluruh
keempat S-Box berurutan, dengan keluaran
yang berubah secara berlanjut dari algoritma  Bagi kode biner tersebut menjadi hanya 6
Blowfish. (Scheiner, 1996) angka per blok dan berjumlah kelipatan 4
blok
F. Algoritma Base64  Jika angka biner tidak berjumlah 6 angka
Transformasi Base64 merupakan salah satu dan 4 blok maka akan di tambah kode biner
algoritma untuk Encoding dan Decoding suatu 0 sehingga mencukupi menjadi 4 blok
data ke dalam format ASCII, yang didasarkan pada  Blok – blok tsb ubah kembali menjadi
bilangan dasar 64 atau bisa dikatakan sebagai salah kode desimal (data di baca sebagai index)
satu metoda yang digunakan untuk melakukan
encoding (penyandian) terhadap data extension.
Karakter yang dihasilkan pada transformasi Base64
ini terdiri dari A..Z, a..z dan 0..9, serta ditambah
dengan dua karakter terakhir yang bersimbol yaitu
+ dan / serta satu buah karakter sama dengan (=)  Hasil kode index tersebut di ubah menjadi
yang digunakan untuk penyesuaian dan huruf yang ada pd index
menggenapkan data extension atau istilahnya
disebut sebagai pengisi pad. Karakter simbol yang
akan dihasilkan akan tergantung dari proses
algoritma yang berjalan. Dalam Encoding Base64
dapat dikelompokkan dan dibedakan menjadi
beberapa kriteria yang tertera

Tabel 1. Tabel indeks Base64  Jika nilai blok adalah hasil tambahan (0)
maka hasil dari index tersebut bernilai ‘=’

III. ANALISA MASALAH DAN


RANCANGAN SISTEM

A. Analisa Masalah
Pengamanan data pada suatu instansi
pemerintah merupakan hal yang sangat penting dan
vital mengingat data tersebut tidak boleh diketahui
oleh masyarakat umum data pada dinas
kependudukan dan pencatatan sipil seperti data
catatan sipil yaitu data kematian, data kelahiran dan
data pernikahan. Untuk mengatasi data tersebut
agar tidak diketahui oleh masyarakat umum maka
Teknik encoding Base64 sebenarnya
diperlukan suatu aplikasi yang dapat menyandikan
sederhana, jika ada satu (string) bytes yang akan

57
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

atau mengenkripsi data tersebut, penulis ingin User Sistem

membuat aplikasi pengamanan data pada Dinas


Kependudukan dan Pencatatan Sipil menggunakan
Algoritma Blowfish dan Base64. Dimana
Input File
mekanismenya nanti data-data tersebut discan
terlebih dahulu kemudian file image hasil scanan Input Key

akan di enkripsi menggunakan algoritma blowfish


terlebih dahulu baru kemudian di enkripsi lagi
N
dengan algoritma Base64 kemudian baru disimpan Tambahkan Panjang data
sampai kelipatan 8 byte
dapat dibagi 8 byte

kedalam basis data, jika kita ingin melihat data Y

hasil enkripsi menjadi data asli maka kita Hitung Panjang Key

mendekrip data tersebut. Jika digambarkan dalam


bentuk Rich Picture sebagai berikut: Panjang Key > 56
Karakter
N
Ambil 56 Karakter awal

Log Out Isi Nilai XOR


File Image Pada P Box dengan array

Ambil file image


dan masukan
password Masukan isi P Box ke
Jaringan Fiestel
Pilih Pilih
File Cipher Menu Enkripsi Log In
Menu Enkripsi
Masukan isi S Box ke
Jaringan Fiestel
Enkripsi Form
Enkripsi
Blowfish Decrypted Aplikasi User
Base64
Masukan isi data ke
Jaringan Fiestel setiap
8 Byte

Pilih
Menu Dekripsi

File .psi

Proses Gambar 5. Tampilan Activity Diagram Blowfish


ke blowfish Proses ke Base64 Log Out
i

Form
pa n ma e .ps

Dekripsi
ord kan

Dekripsi
Blowfish Base64 Encrypted
ssw su
da bil fil
Am

2) Activity Diagram Enkripsi Base64


User Sistem

File Image
File .Psi

Input Karakter Ubah Menjadi

Gambar 4. Rich Picture Aplikasi ASCII Biner

Ubah Menjadi
B. Activity Diagram Biner

Activity Diagram digunakan untuk


Bagi Kode Biner Menjadi 6
menjelaskan proses kegiatan yang terjadi pada angka perblokdan berjumlah
kelipatan 4

program.
Berikut adalah Activity Diagram pada proses N
enkripsi Blowfish: [ Angka biner berjumlah
6 angka dan 4 blok ]

1) Activity Diagram Enkripsi Blowfish


Y

Ubah Blok Kode


Menjadi Desimal

Ubah Menjadi Huruf


Yang ada pada index Base

N
[ Nilai Blok = 0 ]

Nilai index adalah ‘=’

Gambar 6. Tampilan Activity Diagram Base64

58
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

C. Use Case Diagram


Use case diagram menjelaskan bagaimana
seorang user dalam menjalankan aplikasi enkrpsi
dan dekripsi

<< Include >>


Enkripsi

Log in
User

<< Include >>


Dekripsi

Gambar 7. Use Case Diagram

D. State Diagram
State diagram digunakan untuk mendeskripsi
kan perilaku sistem. State diagram mendeskripsi
kan semua kondisi yang mungkin muncul sebagai Gambar 10. Tampilan Layar uji coba program
sebuah object begitu pula dengan event. halaman Encrypter

Masukan Username V. KESIMPULAN


Log In dan Password A. Kesimpulan
Start
Lo
g
Berdasarkan hasil penelitian dan pembahasan
i O
kr i
ps ut serta uji coba sistem dapat disimpulkan sebagai
ut

En
Dekri
Log O

berikut :
 Data dapat diamankan dengan kriptografi
p si

Enkripsi Dekripsi
algortima Blowfish dan Base64.
 Data tidak dapat dibuka oleh pihak yang
Gambar 8. State Diagram tidak berhak yang tidak memiliki kunci
untuk enkripsi dan dekripsi file.
Program start kemudian Login dan akan  File yang diamankan menggunakan
tampil pilihan menu Enkripsi dan Dekripsi dan aplikasi ini tidak dapat dibuka oleh aplikasi
pada menu enkripsi dan dekripsi terdapat fungsi lain.
log out
 Program sistem keamanan dengan sistem
kriptografi algoritma Blowfish dan Base64
IV. IMPLEMENTASI DAN ANALISA
telah diuji coba, sehingga program
PROGRAM dinyatakan sudah sesuai.
Dalam melakukan uji coba untuk mengetahui
B. Saran
hasil dari proses enkripsi dan dekripsi tersebut,
Pengembangan yang perlu dilakukan untuk
maka kebutuhan komputer yang harus dipenuhi penelitian berikutnya adalah sebagai berikut:
adalah sebagai berikut.
 Aplikasi ini mengenkripsi dan
mendekripsi file image dan beberapa file
A. Tampilan Layar Form Log in
menggunakan algoritma Blowfish dan
User yang akan menggunakan aplikasi
base64 untuk itu bisa di gunakan dengan
enkripsi harus log in terlebih dahulu.
algoritma yang berbeda yang
menggunakan kunci public seperti RSA.
 Ukuran file yang dihasilkan dapat
diperkecil dengan menerapkan proses
kompresi data.

DAFTAR PUSTAKA

[1] Adriansyah, Yusuf. 2010. Enkripsi


Sederhana dengan Base64 dan Subtitusi
Monoalfabetik ke Huruf Non-Latin.
Gambar 9. Tampilan Layar Log In Makalah Mahasiwa Teknologi Bandung.

B. Tampilan Layar Form Enkripsi

59
Jurnal SISFOKOM, Volume 05, Nomor 01, September 2016

[2] Ariyus, Dony., 2008 Pengantar Ilmu DENGAN MENGGUNAKAN


Kriptografi Teori, Analisis, dan KRIPTOGRAFI BASE64”, 2013
Implementasi, Andi Offset,Yogyakarta. [ 10 ] Reza Fitra Kesuma “PEMBUATAN
[3] Hendarsyah, Decky& Wardoyo,Retantyo PERANGKAT LUNAK SEBAGAI
(2012) Implementasi Protokol Diffie - MEDIA PEMBELAJARAN
Hellman Dan Algoritma RC4 Untuk KRIPTOGRAFI MODERN METODE
Keamanan Pesan SMS. Universitas Gajah BLOWFISH”, Naskah Publikas, 2013
Mada [ 11 ] Andy Nugroho “IMPLEMENTASI
[4] Kurniawan, J., 2004, Kriptografi, ALGORIMA CAESAR CIPHER ROT13
Keamanan Internet dan Jaringan DAN BASE64 UNTUK ENKRIPSI DAN
Komunikasi, Informatika Bandung. DESKRIPSI PESAN SMS PADA
[5] Schneier, B., 1996, Applied Crytography : HANDPHONE BERBASIS ANDROID”,
Protocols, Algorithm, and Source Code in Naskah Publikasi, 2012
C, Second Edition, John Willey and Sons [ 12 ] Ari Suhendra “ANALISIS DAN
Inc. IMPLEMENTASI ENKRIPSI BASIS
[6] Thorsteinson, Peter dan G. Gnana Arun DATA DENGAN ALGORITMA
Ganesh, 2004, .NET SECURITY and KRIPTOGRAFI BLOWFISH”, Naskah
CRYPTOGRAPHY.USA : Pearson Publikasi, 2012
Education, Inc [ 13 ] Shanty Erikawaty Tambunan
[7] Borenstein, N. & N. Freed, 1996. “IMPLEMENTASI ALGORITMA
Multipurpose Internet Mail Extensions KRIPTOGRAFI BLOWFISH UNTUK
(MIME) Part One : Format of Internet KEAMANAN DOKUMEN PADA
Message Bodies. RFC 2045. Network MICROSOFT OFFICE”, Naskah
Working Group Publikasi, 2010
[8] Suriski Sitinjak, Fauziah, Yuli Juwairiah, [ 14 ] http://sinta.ukdw.ac.id , IMPLEMENTASI
“APLIKASI KRIPTOGRAFI FILE ALGORITMA KRIPTOGRAFI
MENGGUNAKAN BLOWFISH”, BLOWFISH UNTUK ENKRIPSI-
Seminar Nasional Informatika, 2010 DEKRIPSI CITRA DIGITAL KE
[9] Ahmad Timbul Sholeh, Erwin Gunadhi, DALAM BENTUK TEKS, di akses
Asep Deddy Supriatna, tanggal 19 Juni 2015
“MENGAMANKAN SKRIP PADA
BAHASA PEMOGRAMAN PHP

60

Anda mungkin juga menyukai