4.3 Implementasi 4.3.1 Proses Input Data
Gambar 4.1 Data yang Telah Disimpan
Dari gambar 4.1 data-data berupa username, password dan URL yang di masukkan ke dalam aplikasi untuk dienkripsi. Sebelum data ini dimasukkan. Aplikasi meminta
pengguna memasukkan Master Password yang berperan sebagai kunci key pada aplikasi.
4.3.2 Proses Pembentukan Kunci
Kunci key algoritma MMB pada aplikasi ini berasal dari master password yang dimasukkan oleh pengguna. Sebagai contoh, master password yang penulis gunakan
adalah “password manager” tanpa tanda kutip. Master password
dalam bentuk string akan diubah kedalam bentuk biner.
Seperti pada gambar 4.2.
Gambar 4.2 Pembentukan key kunci
Universitas Sumatera Utara
Proses pembentukan kunci key ini dimulai dengan mengubah kunci yang masih dalam bentuk string ke dalam bentuk biner sepanjang 128 bit. Lalu, dilanjutkan
dengan proses membagi 128 bit key menjadi 4. Sehingga masing-masing subkey memiliki panjang 32 bit.
4.3.3 Proses Enkripsi
Pada proses enkripsi akan ditampilkan plaintext yang telah dikonversi kedalam bentuk
biner. Seperti pada gambar 4.3.
Gambar 4.3 Plainteks Dalam Bentuk Heksadesimal dan Biner
Pada bab sebelumnya telah dijelaskan bahwa algoritma MMB bekerja pada blok berukuran 128 bit yang dibagi menjadi 4 sub blok berukuran 32 bit. Maka, akan
didapat susunan key k ,
k
1
, k
2
, k
3
dan plaintext x , x
1
, x
2
, x
3
. Pada langkah pertama untuk blok plain 0 dilakukan operasi XOR antara sub-
sub blok key k ,
k
1
, k
2
, k
3
dengan sub blok plainteks x , x
1
, x
2
, x
3
. Seperti pada
gambar 4.4.
Universitas Sumatera Utara
Gambar 4.4 Langkah 1 pada Blok Plain 0
Setelah didapatkan nilai plaintext dari langkah pertama. Lalu nilai plaintext tersebut digunakan sebagai plaintext untuk proses fungsi Fx pada langkah 2. Fungsi
f yang digunakan memiliki 3 langkah yaitu :
1. x
i
= γ
i
x
i
2. Jika LSB x = 1, maka x
= x XOR δ
Jika LSB x
3
= 0, maka x
3
= x
3
XOR δ 3. x
i
= x
i-1
XOR x
i
XOR x
i+1
Langkah 2 ditunjukkan pada gambar 4.5 dan gambar 4.6.
Universitas Sumatera Utara
Gambar 4.5 Langkah 2 untuk Blok Plain 0
Operasi perkalian yang digunakan merupakan operasi perkalian modulo 2
32
– 1. Sedangkan konstanta yang digunakan dapat dirincikan sebagai berikut :
δ = 2AAAAAAA γ = 025F1CDB
Nilai γ
1,
γ
2,
γ
3
diperoleh dengan cara sebagai berikut : γ
1
= 2 γ γ
2
= 2
3
γ γ
3
= 2
7
γ
Universitas Sumatera Utara
Gambar 4.6 Langkah 2 untuk Blok Plain 0 lanjutan
Setiap operasi yang dilakukan akan di-modulo 2
32
– 1. Ini dilakukan terutama untuk operasi yang ada kemungkinan menghasilkan nilai yang besar melebihi 32 bit,
seperti operasi perkalian. Hasil operasi XOR tidak perlu di-modulo, karena hasil XOR dua variabel 32 bit akan selalu 32 bit.
Gambar 4.10 Ciphertext hasil enkripsi
Universitas Sumatera Utara
Langkah 5 – langkah 13 tidak akan dijelaskan lagi secara mendetail. Proses di langkah ini tidak jauh berbeda dengan yang sudah ditunjukkan sebelumnya. Di akhir langkah
13, kita akan memperoleh hasil enkripsi plaintext menjadi ciphertext dalam bentuk
heksadesimal dan biner. Dapat dilihat pada gambar 4.7
4.3.4 Proses Dekripsi