ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA
MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP)
DENGAN PEMBANGKIT BILANGAN ACAK LINEAR
CONGRUENTIAL GENERATOR (LCG)
SKRIPSI
BILQIS
081401072
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP)
DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
BILQIS 081401072
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN
ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) Kategori : SKRIPSI
Nama : BILQIS Nomor Induk Mahasiswa : 081401072
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA Diluluskan di
Medan, 22 Mei 2012 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Andri Budiman, S.T, M.Comp. Sc Dian Rachmawati, S.Si, M.Kom NIP. 197510082008011001 NIP. 198307232009122004
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP)
DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 22 Mei 2011
PENGHARGAAN
Alhamdulillah, puji syukur penulis sampaikan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya sehingga dapat menyelesaikan penyusunan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. Shalawat dan salam penulis persembahkan kepada Nabi Besar Muhammad SAW.
Pada kesempatan ini penulis juga ingin memberikan ucapan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis mulai dari awal pembuatan skripsi sampai selesainya skripsi ini, antara lain kepada:
1. Ibu Dian Rachmawati, S.Si, M.Kom sebagai Dosen Pembimbing I dan Bapak M. Andri Budiman, S.T, M.Comp.Sc sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan untuk menyempurnakan kajian ini.
2. Dosen Penguji Ibu Maya Silvi Lydia, B.Sc, M.Sc dan Bapak Amer Sharif, S.Si, M.Kom atas saran dan kritikan yang sangat berguna bagi penulis.
3. Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom dan Ibu Maya Silvi Lydia, B.Sc, M.Sc.
4. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara.
5. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.
6. Kepada kedua orangtua dan keluarga yang telah memberikan dukungan dan motivasi, ayahanda M.Ilyas Arafat dan ibunda Fatma yang selalu sabar dalam mendidik dan selalu mendoakan penulis.
7. Kepada teman-teman penulis di Program S-1 Ilmu Komputer USU Medan yang telah banyak membantu memberikan dukungan penulis selama ini.
Penulis menyadari bahwa skripsi ini jauh dari kesempurnaan, oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini sehingga dapat bermanfaat bagi kita semua.
Medan, 22 Mei 2012
ABSTRAK
Meningkatnya penggunaan teknologi informasi yang menggunakan komputer sebagai medianya, maka keamanan data (pesan) menjadi aspek yang sangat penting dalam sistem teknologi informasi. Salah satu metode yang digunakan untuk menjaga keamanan data tersebut adalah algoritma kriptografi One Time Pad (OTP). OTP dipilih karena merupakan algoritma sederhana dan belum dapat terpecahkan. Kunci yang digunakan pada algoritma ini haruslah kunci yang benar-benar acak sehingga kerahasiaan pesan didalamnya dapat terjamin, maka digunakanlah metode pembangkit bilangan acak Linear Congruential Generator (LCG). Sistem ini dikembangkan dengan menggunakan bahasa pemrograman Matlab 7.5.0. Hasil dari pembahasan ini adalah menghasilkan sebuah aplikasi yang dapat digunakan untuk mengenkripsi dan mendekripsi plaintext menggunakan algoritma OTP dan LCG sebagai pembangkit kunci.
Kata Kunci : Kriptografi, One Time Pad (OTP), Pembangkit Bilangan Acak, Linear
ANALYSIS AND DESIGN APPLICATION OF SECRET MESSAGE USING ONE TIME PAD (OTP) ALGORITHM WITH RANDOM NUMBER
GENERATOR OF LINEAR CONGRUENTIAL GENERATOR (LCG)
ABSTRACT
Because of the increasing usage of information technology that uses computers as medium, then the security data (message) is important aspect in information technology system. One method used to protect data is One Time Pad (OTP) algorithm of cryptography . The OTP is chosen because it is a simple and unbreakable algorithm. Since the key that is used in this algorithm must be truly random so that confidentiality of the data (message) can be assured, so Linear Congruential Generator (LCG) is used as the method of random generator number. The system is implemented by using the program language of Matlab 7.5.0. The result of this study is an application that can be used to encrypt and decrypt a plaintext using OTP algorithm and LCG as key generator.
Keywords : Cryptography, One Time Pad (OTP), Random Numbers Generator,
3.4.3 Algoritma dan Flowchart Proses Enkripsi dan dekripsi
dari Keyboard 35
3.5 Diagram Use Case 37
3.6 Perancangan Antarmuka 39 3.6.1 Tampilan Menu Utama 39 3.6.2 Tampilan Enkripsi dan Dekripsi dari File 40 3.6.3 Tampilan Enkripsi dan Dekripsi dari Keyboard 42 3.6.4 Tampilan Bantuan 44 Bab 4 Implementasi dan Pengujian 46
4.1 Implementasi 46
4.2 Pengujian 53
Bab 5 Penutup 58
5.1 Kesimpulan 58
5.2 Saran 59
Daftar Pustaka 60
DAFTAR TABEL
No. Tabel Judul Halaman
2.1 3.1 3.2
3.3
3.4 3.5 3.6 3.7 3.8
Hasil pembangkitan bilangan acak dengan metode LCG Proses Enkripsi dengan Kunci yang Sama dengan Plaintext
Proses Enkripsi dengan Sebuah Kunci Berdasarkan Jumlah Karakter Plaintext yang Berulang
Proses Enkripsi dengan Kunci Berdasarkan Sebuah Kata dari Plaintext
Proses Enkripsi dengan Konsep Autokey
Proses Enkripsi dengan OTP dan LCG Proses Enkripsi dengan OTP dan LCG Proses Enkripsi dengan OTP dan LCG Spesifikasi Use Case Kriptografi
18 21 22
22
DAFTAR GAMBAR
Proses - proses kriptografi Kunci simetris
Penggunaan kunci asimetris Skema Dasar PRNG
Flowchart Proses Enkripsi dan Dekripsi dari Keyboard
Diagram Use Case Sistem RancanganTampilan Awal
Rancangan Tampilan Enkripsi dan Dekripsi dari File
Rancangan Tampilan Enkripsi dan Dekripsi dari Keyboard
RancanganTampilan Bantuan Tampilan Menu Utama
Tampilan Menu Enkripsi dan Dekripsi dari File
4.4
Tampilan Ciphertext (Kode ASCII) Hasil Enkripsi Tampilan Plaintext Semula Hasil Dekripsi
Tampilan Pesan Error untuk Mempersingkat Plaintext Tampilan Pesan Error untuk Inputan Numerik
Tampilan Menu Enkripsi dan Dekripsi dari Keyboard
Tampilan Menu Bantuan
Tampilan Pesan Pilihan Keluar dari Sistem
Tampilan Menu Enkripsi dan Dekripsi dari Keyboard (1)
Tampilan Kunci yang Telah Dibangkitkan dan Disimpan dalam random key.txt
Tampilan Ciphertext yang Disimpan dalam ciphertext.txt Tampilan Menu Enkripsi dan Dekripsi dari Keyboard (2) Tampilan Menu Enkripsi dan Dekripsi dari Keyboard (3)