Proses Pembentukan Kunci Implementasi .1 Proses Input Data

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