Review Jurnal Kriptografi Kelompok 2
Review Jurnal Kriptografi Kelompok 2
Review Jurnal Kriptografi Kelompok 2
OLEH :
Imam Alfariqi
M.Hanafi
M.Helmi
Naufal Althaf
Teguh Wardana
Alur Enkripsi
Untuk alur algoritma enkripsi dengan metode
Blowfish dijelaskan sebagai berikut.
1) Sebelum melakukan enkripsi, algoritma blowfish akan menghitung sub-key
yang akan digunakan dengan langkah sebagai berikut :
a) Inisialisasi delapan belas p-array dan empat s- array dengan string yang
sudah pasti yang terdiri dari heksadesimal pi
b) Setelah inisialisasi, XOR P1 dengan 32 bit kunci
pertama, XOR P2 dengan 32 bit kunci ke dua, dan seterusnya hingga
P18.
c) Enkrip semua string nol dengan algoritma blowfish dengan
menggunakan subkunci seperti dijelaskan di langkah (1) dan (2)
d) Ganti P1 dan P2 dengan keluaran dari langkah (3)
e) enkrip keluaran dari langkah (3) dengan p-array dan s-array (s-box). P1
dan P2 yang sudah diganti dengan hasil dari langkah (3) itu dienkripsi dengan
algoritma blowfish.
f) ganti P3 dan P4 dengan keluaran dari langkah (5).
Hasil dari langkah (5) digunakan untuk menggantikan P3 dan P4.
2) Setelah selesai melakukan perhitungan sub-key
kemudian lakukan pengubahan terhadap teks menjadi bit
3) Setelah dilakukan pemecahan bit, maka proses selanjutnya adalah melakukan
enkripsi oleh algoritma blowfish
Plaintext (teks jelas sebelum terenkripsi) diambil sebesar 64 bit lalu dibagi
2 menjadi 32 bit, 32 bit pertama disebut XL, dan 32 bit kedua disebut XR.
Selanjutnya lakukan operasi XL = XL xor P1 dan XR = XR xor
F(XL), lakukan proses tersebut sebanyak 16 kali, pada proses ke-16
lakukan penukaran XL dan XR. Dan pada P17, dan P18 dilakukan
penyatuan XL dan XR yang telah ditukar tersebut menjadi Chipertext
(plaintext yang telah terenkripsi)..
Untuk dekripsi sama persis dengan enkripsi, kecuali array P
(P1,P2,………,P18) digunakan dengan urutan terbalik (Sitinjak, 2010).
4) Setelah plaintext terenkripsi, proses selanjutnya adalah dekripsi.
Dekripsi adalah proses mengembalikan chipertext menjadi plainteks yang
prosesnya sebagai berikut :
Chipertext diambil sebesar 64 bit. Dengan membalikkan 18 subkey untuk
medekripsi. Proses dekripsi sama dengan proses enkripsi hanya saja
masukkan awal nya saja yang berbeda. Pada proses dekripsi P18 diproses
terlebih dahulu. P18 xor XL kemudian gunakan fungsi F pada XL lalu xor
dengan XR, F(XL) xor XR lalu ditukar tempat, dan seterusnya.
Dan diakhiri pada P1 dan P2 tidak
dilakukan penukaran melainkan proses penyatuan untuk mendapatkan
plaintext dari chipertext yang telah ter dekripsi adalah memeriksa apakah
plaintext yang dihasilkan terjadi penambahan bit (padding) atau tidak pada
saat enkripsi. Jika terjadi penambahan bit, maka bit yang sudah ditambahkan
tersebut harus dilepas. Sistem akan menghitung penambahan bit yang terjadi
sebelum enkripsi dan setelah plaintext terbentuk lalu sistem akan
Setelah menghasilkan plaintext, proses selanjutnya mengurangi bit yang
sudah ditambahkan itu. Setelah dilepas penambahan bit tersebut, maka blok-blok
bit tersebut disatukan dan menghasilkan plaintext.
5) Proses yang terjadi pada fungsi feistel (F( ))merupakan proses s-box.
masukkan yang sebesar 32 bit (diambil dari XL) tersebut dibagi menjadi 4
bagian sebesar 8 bit. 8 bit ini akan digunakan untuk indeks, Jadi 8 bit tersebut
sebagai penunjuk digit heksadesimal.
6) (π), dengan kode heksadesimal s-box
Dalam proses s-box terjadi proses perhitungan bit. Dimana hasil penelusuran
tabel s-box yang pertama akan ditambahkan dengan hasil s-box yang kedua,
kemudian hasil penjumlahan di XOR dengan hasil s- box ketiga, hasilnya
kemudian ditambahkan dengan s-box yang keempat maka akan menghasilkan
output sebesar 32 bit.
HASIL DAN Aplikasi enkripsi database MySQL ini akan terbagi menjadi dua user, user
PEMBAHASAN biasa dan administrator. Seorang user biasa hanya dapat mengakses satu database
yang menjadi miliknya yang telah didaftarkan. Administrator memiliki hak penuh
untuk mengakses seluruh database yang terdapat dalam MySQL.
Aplikasi ini terdiri dari beberapa bagian penting yaitu login user, backup database,
restore database, enkripsi database. Database yang terenkripsi meliputi database
itu sendiri, tabel, dan record yang terdapat dalam database tersebut. Jadi aplikasi
ini akan memuat seluruh nama database yang terdapat di MySQL lalu mengenkripsi
nya dengan algoritma blowfish. Nama database yang sudah terkumpul lalu
akan dihitung dan diterjemahkan menjadi byte. 1 byte sama dengan 8 bit.
Implementasi Program
Dalam aplikasi enkripsi database MySQL dengan algoritma Blowfish
ini, data yang dibutuhkan adalah data yang terdapat di server MySQL, data tersebut
berupa daftar database