IMPLEMENTASI ALGORITMA MMB (MODULAR MULTIPLICATION BASED BLOCK CIPHER) PADA PEMBUATAN APLIKASI MANAJEMEN KATA SANDI (PASSWORD MANAGEMENT) SKRIPSI MUHAMMAD AHYAL HUSNA 061401034 PROGRAM STUDI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
IMPLEMENTASI ALGORITMA MMB (MODULAR MULTIPLICATION BASED BLOCK CIPHER) PADA PEMBUATAN APLIKASI MANAJEMEN KATA SANDI (PASSWORD MANAGEMENT) SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer MUHAMMAD AHYAL HUSNA 061401034 PROGRAM STUDI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
PERSETUJUAN Judul : IMPLEMENTASI ALGORITMA MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) PADA PEMBUATAN APLIKASI MANAJEMEN KATA SANDI (PASSWORD MANAGEMENT) Kategori : SKRIPSI Nama : MUHAMMAD AHYAL HUSNA Nomor Induk Mahasiswa : 061401034 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Komisi Pembimbing : Diluluskan di Medan, Pembimbing 2 Pembimbing 1 Amer Sharif, S.Si, M.Kom Dr. Poltak Sihombing, M.Kom NIP 196203171991021001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP 196203171991021001
PERNYATAAN IMPLEMENTASI ALGORITMA MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) PADA PEMBUATAN APLIKASI MANAJEMEN KATA SANDI (PASSWORD MANAGEMENT) SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 16 April 2013 Muhammad Ahyal Husna 061401034
PENGHARGAAN Alhamdulillah, puji syukur saya ucapkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-nya, sehingga saya dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer. Shalawat beriring salam saya persembahkan kepada Nabi Besar Muhammad SAW. Skripsi ini dapat saya selesaikan berkat dorongan, saran, bantuan dan kerja sama dari berbagai pihak, baik moril maupun materil. Oleh karena itu, saya ingin menyampaikan rasa hormat dan terima kasih yang sebesar besarnya kepada : 1. Rektor, Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc. (C.T.M.), Sp.A.(K.) 2. Dekan Fakultas Ilmu Komputer dan Teknologi Informasi USU, Bapak Prof. Dr. Muhammad Zarlis, M.Kom 3. Ketua Program Studi S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom dan juga selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyelesaikan skripsi ini. 4. Sekretaris Program Studi S1 Ilmu Komputer, Ibu Maya Silvi Lydia, B.Sc.,M.Sc. 5. Bapak Amer Sharif, S.Si, M.Kom sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan skripsi ini. 6. Dosen Penguji Bapak Syahriol Sitorus, S.Si, MIT dan Bapak Drs. Dahlan Sitompul, M.Eng atas saran dan kritikan yang sangat berguna bagi saya. 7. Dosen-dosen serta pegawai-pegawai di Program Studi S1 Ilmu Komputer USU. 8. Kedua orang tua saya yang telah memberikan dukungan dan motivasi, ayahanda (alm) Drs. KH. Usman Husni, M.A dan ibunda Hj. Aidatul Fauziah Hsb, S.Pd yang selalu sabar dalam mendidik saya. 9. Abangda M. Najmil Husna, S.T.Hi, MA dan Kakanda Zulfa Yalid, S.H.I. Serta Abangda M. Aidil Husna, S.S yang selalu memberikan dorongan kepada saya selama menyelesaikan skripsi ini.
10. Pocut Rizky Azhari atas semangat, pengertian, perhatian dan kesabaran yang selalu diberikan kepada saya. 11. Sri Melvani Hardi, S.Kom, Muhammad Alvin, S.Kom, Bambang Budiarto S.Kom, Andika Novaldy, S.Kom, Bagoes Harsono, S.Kom, Dameria Gloria, S.Kom, Januar Rambe, S.Kom, Bobbie Medana, S.Kom yang telah memberi saran, masukan dan dukungannya selama pengerjaan skripsi ini dan selalu memberikan dukungan dan dorongan baik moril maupun materil. 12. Rekan-rekan di S-1 Ilmu Komputer USU terutama angkatan 2006, juga temanteman saya dari semua angkatan yang secara tidak langsung telah membantu selama penyusunan tugas akhir ini. 13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu. Semoga kebaikan yang telah diberikan kepada saya mendapatkan pahala yang melimpah dari Allah SWT. Penyusun menyadari bahwasanya dalam penyusunan Tugas Akhir ini masih memiliki banyak kekurangan baik dari segi materi maupun dari segi penyusunannya mengingat terbatasnya pengetahuan dan kemampuan saya. Untuk itu, dengan kerendahan hati saya mohon maaf dan saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya. Medan, 16 April 2013 Penyusun (Muhammad Ahyal Husna)
ABSTRAK Manajemen password dengan menerapkan algoritma kriptografi merupakan salah satu cara untuk menyimpan dan mengamankan kerahasiaan identitas digital seseorang. Tujuan penelitian ini adalah mengimplementasikan algoritma Modular Multiplication- Based Block Cipher (MMB) pada aplikasi manajemen password. Algoritma MMB merupakan algoritma block cipher dengan panjang 128 bit yang nantinya dibagi menjadi 4 sub-blok masing-masing berukuran 32 bit subblock text (x 0, x 1,x 2, x 3 ) dan 32 bit subblock kunci (k 0. k 1, k 2, k 3 ), dan penerapan proses operasi perkalian modulo 2 32 1, perhitungan fungsi non linier f pada proses enkripsi dan dekripsi, serta operasi invers pada proses dekripsi. Hasil yang diperoleh adalah algoritma MMB yang diterapkan pada aplikasi manajemen password dapat menjaga keamanan dan kerahasiaan data identitas digital pengguna dengan menerapkan proses enkripsi dan dekripsi antara plainteks dan cipherteks dengan kunci. Kelemahan dari aplikasi yang dibangun terletak pada pola plainteks, karena blok plainteks yang sama selalu menghasilkan blok cipherteks yang sama. Sehingga jika cryptanalyst mengetahui hasil enkripsi dari salah satu blok plainteks maka dia dapat dengan mudah mendekripsi cipherteks dengan bentuk yang sama setiap kali cipherteks tersebut terlihat di dalam pesan. Katakunci : Algoritma MMB, dekripsi, enkripsi, kriptografi, manajemen password, ciherteks, plainteks.
ABSTRACT Password management by implementing a cryptographic algorithm is one way to save and secure the confidentiality of a person's digital identity. The purpose of this study is to implement Modular Multiplication-Based Block Cipher (MMB) Algorithms on password management application. MMB algorithm is a block cipher algorithm with a 128 bit long block which will be divided into 4 sub-blocks each measuring 32 bit subblock texts (x 0, x 1, x 2, x 3 ) and a 32 bit subblock key (k 0, k 1, k 2, k 3 ). And implementation process of multiplication operations modulo 2 32-1, the calculation of non linear function f in the process of encryption and decryption, as well as the inverse operation in the decryption process. The result is that MMB algorithm applied to password management application can maintain the security and confidentiality of the user's digital identity data by applying encryption and decryption process between plaintext and ciphertext with a key. The weakness of this application is the plaintext scheme. because the same plaintext blocks always produces the same ciphertext blocks. So, if the cryptanalyst knows the encryption result of one block of plaintext then he can easily decrypt the ciphertext with the same form whenever the ciphertext is seen in the message. Keywords: Cryptography, MMB Algorithm, password management, decryption, encryption, ciphertext, plaintext
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Daftar Isi Daftar Gambar ii iii v vi viii x Bab 1 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 4 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Tinjauan Pustaka 2.1 Kriptografi 7 2.1.1 Sejarah Kriptografi 8 2.1.2 Proses Kriptografi 9 2.1.3 Jenis Sistem Kriptografi 12 2.1.2.1 Kriptografi Kunci Rahasia 12 2.1.2.2 Kriptografi Kunci Publik 13 2.1.3 Kategori Chiper Kunci Simetri 14 2.2 Algoritma MMB 15 2.2.1 Sejarah Singkat MMB 15 2.2.2 Spesifikasi Algoritma MMB 15 2.2.3 Proses Pembentukan Kunci 16 2.2.4 Proses Enkripsi Algoritma MMB 16 2.2.5 Proses Dekripsi Algoritma MMB 17 2.3 Password Management 19 2.3.1 Konsep Password Management 19 2.3.2 Penerapan Enkripsi pada Password Management 20 2.4 Flowchart 21 Bab 3 Analisis dan Perancangan 3.1 Analisis 23 3.1.1 Analisis Masalah 23 3.1.2 Penyelesaian Masalah 24 3.1.3 Gambaran Umum Sistem 25
3.1.4 Analisis Kebutuhan Perangkat 27 3.1.4.1 Perangkat Keras 27 3.1.4.2 Perangkat Lunak 27 3.1.5 Penerapan Algoritma MMB 27 3.1.5.1 Proses Pembangkitan Kunci 29 3.1.5.2 Proses Enkripsi Algoritma MMB 30 3.1.5.3 Flowchart Enkripsi MMB 35 3.1.5.4 Proses Dekripsi Algoritma MMB 37 3.1.5.5 Flowchart Dekripsi MMB 41 3.2 Perancangan Aplikasi 43 3.2.1 Perancangan Diagram Pohon (Tree Chart) 43 3.2.2 Flowchart Aplikasi 44 3.2.3 Flowchart Lihat Log Aplikasi 46 3.2.4 Data Flow Diagram (DFD) 47 3.2.4.1 Diagram Konteks 47 3.2.4.2 DFD Level 1 48 3.2.4.3 DFD Level 2 (Proses Enkripsi) 49 3.2.4.3 DFD Level 2 (Proses Dekripsi) 50 Bab 4 Implementasi dan Penggunaan 4.1 Spesifikasi Perangkat Lunak 52 4.2 Spesifikasi Perangkat Keras 52 4.3 Implementasi 53 4.3.1 Proses Input Data 53 4.3.2 Proses Pembentukan Kunci 53 4.3.3 Proses Enkripsi 54 4.3.4 Proses Dekripsi 58 4.4 Pengujian Sistem 61 Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 64 5.2 Saran 65 Daftar Pustaka 66
DAFTAR GAMBAR Halaman Gambar 2.1 Mekanisme Kriptografi 10 Gambar 2.2 Kriptografi Berbasis Kunci 11 Gambar 2.3 Model Sederhana dari Secret Key Cryptography 13 Gambar 2.4 Model Sederhana dari Public Key Cryptography 14 Gambar 2.5 Proses Pembentukan Kunci 16 Gambar 3.1 Analisis Permasalahan 26 Gambar 3.2 Proses Pembentukan Kunci pada Algoritma MMB 29 Gambar 3.3 Flowchart Proses Enkripsi MMB 35 Gambar 3.4 Sub Proses XOR(x,k) 36 Gambar 3.5 Flowchart Fungsi f(x) pada Proses Enkripsi Algoritma MMB 36 Gambar 3.6 Flowchart Proses Dekripsi MMB 41 Gambar 3.7 Sub Proses XOR(x,k) 42 Gambar 3.8 Flowchart Fungsi f(x) pada Proses Dekripsi Algoritma MMB 42 Gambar 3.9 Diagram Pohon Aplikasi 43 Gambar 3.10 Flowchart Aplikasi Password Management 45 Gambar 3.11 Flowchart Log Aplikasi Password Management 46 Gambar 3.12 Diagram Konteks 47 Gambar 3.13 DFD Level 1 48 Gambar 3.14 DFD Level 2 (proses enkripsi) 49 Gambar 3.15 DFD Level 2 (proses dekripsi) 50 Gambar 4.1 Data yang Telah Disimpan 53 Gambar 4.2 Pembentukan key (kunci) 54 Gambar 4.3 Plainteks Dalam Bentuk Heksadesimal dan Biner 54 Gambar 4.4 Langkah 1 pada Blok Plain 0 55 Gambar 4.5 Langkah 2 pada Blok Plain 0 56 Gambar 4.6 Langkah 2 pada Blok Plain 0 (Lanjutan) 57 Gambar 4.7 Ciphertext hasil enkripsi 57 Gambar 4.8 Langkah 1 Blok Cipher 0 58 Gambar 4.9 Langkah 2 Blok Cipher 0 59 Gambar 4.10 Langkah 2 Blok Cipher 0 (Lanjutan) 60 Gambar 4.11 Plainteks Hasil Dekripsi 61