IMPLEMENTASI PERBEDAAN ALGORITMA BLUM-BLUM- SHUB DENGAN ALGORITMA QUADRATIC LINEAR CONGRUENTIAL GENERATOR PADA APLIKASI PASSWORD GENERATOR SKRIPSI DENNY DWI DAVIKI LUBIS 141421060 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
IMPLEMENTASI PERBEDAAN ALGORITMA BLUM-BLUM- SHUB DENGAN ALGORITMA QUADRATIC LINEAR CONGRUENTIAL GENERATOR PADA APLIKASI PASSWORD GENERATOR SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer DENNY DWI DAVIKI LUBIS 141421060 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
ii PERSETUJUAN Judul : IMPLEMENTASI PERBEDAAN ALGORITMA BLUM- BLUM-SHUB DENGAN ALGORITMA QUADRATIC LINEAR CONGRUENTIAL GENERATOR PADA APLIKASI PASSWORD GENERATOR Kategori : SKRIPSI Nama : DENNY DWI DAVIKI LUBIS Nomor Induk Mahasiswa : 141421060 Program Studi : EKSTENSI SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Handrizal, S.Si., M.Comp.Sc M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. NIP. NIP. 197510082008011011 Diketahui/disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom.
iii NIP.19620317199103100
iv PERNYATAAN IMPLEMENTASI PERBEDAAN ALGORITMA BLUM-BLUM- SHUB DENGAN ALGORITMA QUADRATIC LINEAR CONGRUENTIAL GENERATOR PADA APLIKASI PASSWORD GENERATOR SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Juni 2017 Denny Dwi Daviki Lubis 141421060
v PENGHARGAAN Puji dan syukur penulis ucapkan kepada Tuhan yang Maha Esa, karena atas rahmat dan izin-nya penulis dapat menyelesaikan penelitian ini. Terima kasih yang pertama penulis sampaikan kepada Ayahanda Zulkifli Lubis dan Ibunda Evida Anwar yang telah mendidik, mendoakan, dan memberi kasih sayangnya kepada penulis sejak kecil hingga penyelesaian studi ini. Banyak bantuan berupa uluran tangan, motivasi, buah pikiran dan kerjasama yang telah penulis terima selama menempuh studi sampai dengan penyelesaian penelitian ini. Oleh karena itu, penulis ingin menyampaikan ucapan terima kasih kepada pihak-pihak yang telah membantu. Ucapan terima kasih penulis sampaikan kepada: 1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fasilkom-TI USU. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer. 4. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer dan juga selaku Dosen Pembanding I yang telah memberikan dukungan dan motivasi kepada penulis. 5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing I yang telah memberikan bimbingan dan dukungan kepada penulis. 6. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II yang telah memberikan bimbingan dan dukungan kepada penulis. 7. Ibu Sri Melvani Hardi, S.Kom., M.Kom selaku Dosen Pembanding II yang telah memberikan bimbingan dan dukungan kepada penulis. 8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya di Program Studi S1 Ilmu Komputer. 9. Kakak dan adik saya yang selalu memotivasi, mendoakan serta memberikan semangat kepada penulis dalam menyelesaikan skripsi ini.
vi 10. Sahabat-sahabat yang saling berbagi ilmu pengetahuan, pemikiran, motivasi, dan dukungan kepada penulis 11. Teman-teman kuliah Ekstensi Ilmu Komputer stambuk 2014, yang telah berbagi motivasi, rasa kebersamaan, dan inspirasi kepada penulis. 12. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tuliskan satu per satu. Semoga Tuhan melimpahkan berkah dan kasih sayang-nya kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan penelitian ini. Semoga penelitian ini bermanfaat bagi penulis, pendidikan, masyarakat, organisasi atau negara. Medan, Juni 2017 Penulis
vii ABSTRAK Perkembangan teknologi semakin canggih, terutama di bidang komunikasi. Manusia dengan mudahnya berkomunikasi antara satu dengan yang lain hanya dengan menggunakan aplikasi media sosial meskipun jarak keduanya berjauhan. Fitur keamanan seperti password pun sangat berperan penting. Tetapi masih banyak orang yang menggunakan nama dan tanggal lahir maupun gabungan keduanya sebagai password. Hal ini merupakan masalah yang sangat berbahaya dikarenakan mudahnya password tersebut ditebak. Akun atau device dapat disalahgunakan oleh orang yang tidak bertanggung jawab. Salah satu cara untuk mengamankannya adalah dengan menggunakan random number. Ada beberapa algoritma yang dapat membangkitkan bilangan acak yaitu Blum-Blum-Shub dan Quadratic Linear Congruential Generator. Tulisan ini menjelaskan bagaimana cara mengimplementasikan algoritma Blum-Blum-Shub dan Quadratic Linear Congruential Generator untuk menciptakan password yang aman serta membandingkan mana yang paling baik diantara keduanya. Hasil akhir yang diperoleh adalah algoritma BBS lebih unggul dibandingkan dengan algoritma QLCG, baik dalam proses running time program serta keacakan password. Kata kunci: Kriptografi, Pembangkit Bilangan Acak, Blum-Blum-Shub, Quadratic Linear Congruential Generator
viii DIFFERENCE IMPLEMENTATION OF BLUM-BLUM-SHUB - ALGORITHM WITH QUADRATIC LINEAR CONGRUENTIAL GENERATOR ALGORITHM ON PASSWORD GENERATOR APPLICATION ABSTRACT Technological developments increasing sophisticatedly, especially in communication sector. Human easily communicate with each other only by using social media applications even though the distance is far apart. Security features such as passwords are very important. But there are still many people who use name and date of birth as well as combination of both as a password. This is very risky because the password is very easy to guess. Accounts or devices may be misused by irresponsible person. One of the ways to secure it is to use random number. There are several algorithms that generate random numbers such as Blum- Blum-Shub dan Quadratic Linear Congruential Generator. This paper explains how to implement Blum-Blum-Shub and Quadratic Linear Congruential Generator to create secure passwords and compare which one is the best between these two. The final result obtained is BBS algorithm is better that QLCG algorithm, both in running time process and password randomnes. Kata kunci: Cryptography, Random Number Generator, Blum-Blum-Shub, Quadratic Linear Congruential Generator
ix DAFTAR ISI Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran Hal. ii iii iv vi vii viii x xi xiii Bab1 Bab 2 Bab 3 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 2 1.5 Manfaat Penelitian 2 1.6 Metode Penelitian 3 1.7 Sistematika Penulisan 3 Landasan Teori 2.1 Kriptografi 5 2.2 Pembangkit Bilangan Acak 5 2.3 Pembangkit Bilangan Acak Semu 5 2.4 Algoritma Blum-Blum-Shub 6 2.4 2.4.1 Cara kerja algoritma Blum-Blum-Shub 6 2.4.2 Flowchart algoritma Blum-Blum-Shub 7 2.4.3 Contoh perhitungan algoritma Blum-Blum-Shub 8 2.5 Algoritma Quadratic Linear Congruential Generator 9 2.5.1 Cara kerja algoritma Quadratic Linear 9 Congruential Generator 2.5.2 Flowchart algoritma Quadratic Linear 9 Congruential Generator 2.5.3 Contoh perhitungan algoritma Quadratic Linear Congruential Generator 10 Analisis Dan Perancangan Sistem 3.1 Analisis Sistem 12
x 3.1.1 Analisis Kebutuhan 12 3.1.1.1 Analisis Fungsional 13 3.1.1.2 Analisis Non Fungsional 13 3.1.2 Pemodelan Sistem 13 3.1.2.1 Use Case Diagram 14 3.1.2.2 Activity Diagram 14 3.1.2.3 Sequence Diagram 15 3.1.3 Flowchart Sistem 16 3.2 Perancangan Antarmuka Sistem 17 3.2.1 Perancangan Halaman Main Form 17 3.2.2 Perancangan Halaman Pengujian Blum-Blum- 18 Shub 3.2.3 Perancangan Halaman Pengujian Quadratic 20 Linear Congruential Generator 3.2.4 Perancangan Halaman Help 21 3.2.5 Perancangan Halaman About 22 Bab 4 Bab 5 Implementasi Dan Pengujian Sistem 4.1 Implementasi Sistem 24 4.1.1 Form Halaman Utama 24 4.1.2 Form Blum-Blum-Shub 25 4.1.3 Form Quadratic Linear Congruential Generator 25 4.1.4 Form About 26 4.1.5 Form Help 27 4.2 Pengujian Sistem 27 4.2.1 Pengujian Sistem Dengan Algoritma Blum-Blum- 27 Shub 4.2.2 Pengujian Sistem Dengan Algoritma Quadratic 35 Linear Congruential Generator 4.2.3 Pengujian Kompleksitas Algoritma BBS 44 4.2.4 Pengujian Kompleksitas Algoritma QLCG 46 4.2.5 Pengujian Running Time Antara BBS Dengan QLCG 48 Penutup 5.1 Kesimpulan 49 5.2 Saran 49 Daftar Pustaka 50
x DAFTAR TABEL Nomor Tabel Nama Tabel Halaman 2.1 Contoh perhitungan algoritma Blum-Blum-Shub 8 2.1 Contoh perhitungan algoritma Quadratic Linear Congruential 11 Generator 4.1 Kompleksitas Algoritma BBS 44 4.2 Kompleksitas Algoritma QLCG 46 4.3 Hasil Uji Parameter Running Time Antara BBS Dengan QLCG 48
xi DAFTAR GAMBAR Nomor Gambar Nama Gambar Halaman 2.1 Flowchart Algoritma Blum-Blum-Shub 7 2.2 Flowchart Algoritma Quadratic Linear Congruential 10 Generator 3.1 Diagram Ishikawa Analisis Masalah Sistem 12 3.2 Use Case Diagram 14 3.3 Activity Diagram 15 3.4 Sequence Diagram 16 3.5 Flowchart Sistem 17 3.6 Main Form Sistem 18 3.7 Halaman Pengujian Blum-Blum-Shub 19 3.8 Halaman Pengujian Quadratic Linear Congruential Generator 20 3.9 Halaman Help 21 3.10 Halaman About 23 4.1 Form Halaman Utama 24 4.2 Form Blum-Blum-Shub 25 4.3 Form Quadratic Linear Congruential Generator 26 4.4 Form About 27 4.5 Form Help 27 4.6 Pengujian Sistem Algoritma Blum-Blum-Shub 1 28 4.7 Pengujian Sistem Algoritma Blum-Blum-Shub 2 29 4.8 Pengujian Sistem Algoritma Blum-Blum-Shub 3 29 4.9 Pengujian Sistem Algoritma Quadratic Linear Congruential 36 Generator 1 4.10 Pengujian Sistem Algoritma Quadratic Linear Congruential Generator 2 37
xii DAFTAR LAMPIRAN Halaman Lampiran 1 Listing Program A-1 Lampiran 2 Daftar Riwayat Hidup (Curriculum Vitae) B-1