• Tidak ada hasil yang ditemukan

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 Diluluskan di

Medan, Komisi Pembimbing :

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 Universitas Sumatera Utara. 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 Universitas Sumatera Utara, 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 teman- teman 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

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 (x0, x1,x2, x3) dan 32 bit subblock kunci (k0. k1,k2, k3), dan penerapan proses operasi perkalian modulo 232–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 (x0, x1, x2, x3) and a 32 bit subblock key (k0, k1, k2, k3). And implementation process of multiplication operations modulo 232-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 ii Pernyataan iii Penghargaan v Abstrak vi

Daftar Isi viii

Daftar Gambar 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.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 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

Baca selengkapnya

Dokumen terkait