IMPLEMENTASI AUTENTIKASI DATA TEKS DENNING-SACCO
DENGAN MENGGUNAKAN ALGORITMA
KUNCI PUBLIK RSA
DRAFT SKRIPSI
SANTO PALENTIN MANARIAS
091401050
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI AUTENTIKASI DATA TEKS DENNING-SACCO DENGAN MENGGUNAKANALGORTIMA
KUNCI PUBLIK RSA
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
SANTO PALENTIN MANARIAS 091401050
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2014
PERSETUJUAN
Judul : IMPLEMENTASI AUTENTIKASI DATA TEKS DENNING-SACCO DENGAN MENGGUNAKAN ALGORITMA KUNCI PUBLIK RSA
Kategori : SKRIPSI
Nama : SANTO PALENTIN MANARIAS Nomor Induk Mahasiswa : 091401050
Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan,
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Fadly Syahputra, B.Sc, M.Sc.ITs Maya Silvi Lydia, B.Sc, M.Sc NIP. 198301292009121003 NIP. 197401272002122001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI AUTENTIKASI DATA TEKS DENNING-SACCO DENGAN MENGGUNAKAN ALGORITMA
KUNCI PUBLIK RSA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 10 Desember 2013
Santo Palentin Manarias 091401050
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Yesus Kristus, Tuhan Yang Maha Esa, yang telah memberikan berkat dan naungan kasih-Nya, serta segala sesuatu dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada.
1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing yang telah membimbing dan memberikan kritik serta sarannya dalam penyempurnaan skripsi ini.
5. M. Fadly Syahputra, B.Sc, M.Sc.ITs selaku Dosen Pembimbing yang telah membimbing dan memberikan kritik serta sarannya dalam penyempurnaan skripsi ini.
6. Bapak M. Andri Budiman, ST, M.CompSc, MEM selaku Dosen Pembanding yang telah memberikan kritik dan sarannya dalam penyempurnaan skripsi ini.
7. Ibu Dian Rachmawati S.Kom, M.Kom selaku Dosen Pembanding dan Dosen Pembimbing Akademik yang telah memberikan kritik dan sarannya dalam penyempurnaan skripsi ini.
8. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1Ilmu Komputer Fasilkom-TI Universitas Sumatera Utara.
Sihombing yang selalu memberikan kasih sayang, doa serta dukungannya kepada penulis.
10. Keponakan tersayang Grace Humbasa Br Sihombing, Gishela Br Sihombing.
11. Adinda Ari Pareme Br Simanullang yang selalu memberikan semangat, doa dan perhatiannya kepada penulis.
12. Rekan-rekan S-1 Ilmu Komputer Stambuk 2009 yang selalu memberikan doa, semangat, bantuan, kritik dan saran kepada penulis selama proses penyelesaian skripsi ini.
13. Teman-Teman Panglima yang selalu memberikan doa dan semangat kepada penulis selama proses penyelesaian skripsi ini.
14. Teman-Teman Ressurexit Dominus yang selalu memberikan doa dan semangat kepada penulis selama proses penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini.
Medan, 10 Desember 2013
Penulis
ABSTRAK
Kriptografi merupakan ilmu yang mempelajari cara mengamankan data. Salah satu tujuan dari kriptografi adalah autentikasi yang bertujuan untuk memastikan bahwa data yang diperoleh berasal dari pihak yang berwenang dan dikirim kepada pihak yang memiliki otoritas untuk mendapatkan informasi tersebut. Salah satu bentuk autentikasi kriptografi adalah protokol Denning-Sacco. Protokol Denning-Sacco di penelitian ini memanfaatkan session key dengan menggunakan Linear Congruential Generator serta timestamp dan menggunakan algoritma kunci publik RSA. Algoritma RSA memanfaatkan dua buah bilangan prima yang kemudian membentuk dua pasang kunci yaitu kunci publik dan kunci privat yang digunakan dalam proses enkripsi dekripsi. Dalam proses pembangkitan kunci dilakukan pengujian dengan menggunakan Fermat Little Theorem untuk memastikan bahwa bilangan yang dipakai adalah bilangan prima. Hasil kombinasi antara protokol Denning-Sacco dan algoritma kunci publik RSA menunjukkan bahwa perbedaan panjang kunci yang digunakan antara masing-masing pihak berpengaruh pada hasil autentikasi. Penggunaan session key dan timestamp pada proses komunikasi dapat mengurangi terjadinya penyangkalan karena session key dibangkitkan secara acak dan disepakati secara bersama-sama, serta timestamp yang menunjukkan waktu proses autentikasi. Pemakaian kunci masing-masing user dalam melakukan komunikasi dapat meningkatkan keamanan karena dengan menggunakan satu kunci saja , cipherteks tidak dapat didekripsi secara sempurna.
Implementation Of Denning-Sacco Data Text Authentication Using
Public Key RSA Algorithm
Cryptography is the study of how to secure the data . One of the goals of cryptography is authentication which aims to ensure that the data obtained came from authorities and sent to the party that has the authority to obtain such information . One form is the cryptographic authentication Denning-Sacco protocol . Denning-Sacco protocol in this study utilizes the session key by using the Linear Congruential Generator and timestamp and uses RSA public key algorithm . RSA algorithm utilizes two primes then form two pairs of keys are public keys and private keys used in encryption decryption process . In the key generation process testing using Fermat Little Theorem to ensure that the numbers used are primes . The result of the combination between the Denning-Sacco protocol and the RSA public key algorithm shows that the difference in length of the key used between each of the parties affect the authentication result . The use of the session key and the timestamp on the communication process can reduce the occurrence of denial because the session key randomly generated and agreed together , and a timestamp indicating the time the authentication process . The use of keys each user in the communication can improve security because by using only one key , the ciphertext can not be decrypted completely.
Keywords: Cryptography, Authentication, Denning-Sacco protocol, RSA, Fermat's Little Theorem, Linear Congruential Generator.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab I Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab II Landasan Teori
2.1 Kriptografi 6
2.3 Protokol Denning-Sacco 14
2.4 Jenis Kriptografi 20 2.6 Dasar Matematika Kriptografi 28 2.6.1 Pembangi Bersama Terbesar 28 2.6.2 Aritmatika Modulo 29 2.6.3 Bilangan Prima 30 2.7 Fermat’s Little Theorem 30 2.8 Linear Congruential Generator (LCG) 31
2.9 Timestamp 32
Bab III Analisis dan Perancangan
3.1 Analisis Sistem 34
3.1.1 Analisis Masalah 34 3.1.4 Perancangan Flowchart 46 3.1.4.1 Flowchart Sistem 47 3.2 Perancangan Interface Sistem 68 3.2.1 Rancangan Interface Form Awal 69 3.2.2 Rancangan Interface Form Autentikasi 70 3.2.3 Rancangan Interface Form Komunikasi 73 Bab IV Implementasi dan Pengujian
4.1 Implementasi Sistem 75
4.1.1 Form Home 76
4.2 Pengujian Sistem 82
4.2.1 Pengujian Proses Autentikasi 82 4.2.1.1 Pengujian Proses Pembangkitan Kunci 83 4.2.1.2 Pengujian Proses Sign Identitas dan Kunci Publik 84 4.2.1.3 Pengujian Proses Pembangkitan Session Key
dan Timestamp 85
4.2.1.4 Pengujian Proses Sign dan Enkripsi Session Key
dan Timestamp 86 4.2.1.5 Pengujian Proses Dekripsi Identitas dan Kunci Publik 87 4.2.1.6 Pengujian Proses Dekripsi Session Key dan
Timestamp 87 4.2.2 Pengujian Proses Komunikasi 94 4.2.3 Pengujian Proses Arsip 97
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 98
5.2 Saran 99
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
Contoh Aritmatika Modulo Hasil Perhitungan LCG Session Key
Hasil Enkripsi Hasil Dekripsi
Hasil Pembangkitan Kunci
Hasil Sign Identitas dan Kunci Publik Hasil Dekripsi Identitas dan Kunci Publik Hasil Percobaan Pembangkitan Kunci
Hasil Percobaan Proses Sign Identitas dan Kunci Publik Hasil Percobaan Proses Session Key dan Timestamp Hasil Percobaan Proses Dekripsi
Hasil Komunikasi User1 dan User2
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
Proses Enkripsi dan Dekripsi Proses Autentikasi Denning-Sacco
Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri Proses Enkripsi dan Dekripsi pada Kriptografi Asimetri Diagram Ishikawa
Use Case Diagram Autentikasi Use Case Diagram Komunikasi Activity Diagram Autentikasi Activity Diagram Komunikasi
Sequence Diagram Proses Autentikasi Sequence Diagram Proses Komunikasi Flowchart Sistem
Flowchart Proses Autentikasi
Flowchart Proses Fermat Little Theorem Flowchart Proses Pembangkitan Kunci
Flowchart Proses Pembangkitan Bilangan Acak (Session Key) Flowchart Proses Enkripsi
Flowchart Proses Dekripsi Flowchart Proses Komunikasi Rancangan Form Awal
Rancangan Interface Form Autentikasi Denning-Sacco Rancangan Interface Form Komunikasi RSA
Tampilan Form Home Tampilan Form Identitas Tampilan Form Autentikasi
Tampilan Form Hasil Sign Arbitrator Tampilan Form Hasil Sign User1 Tampilan Form Hasil Enkripsi User1
Tampilan Form Hasil Dekripsi Identitas dan Kunci Publik Tampilan Form Hasil Dekripsi Session Key dan Timestamp Tampilan Form Komunikasi
Tampilan Form Arsip Tampilan Form Help Penginputan Identitas Hasil Pembangkitan Kunci
Hasil Sign Identitas dan Kunci Publik
Hasil Pembangkitan Session Key dan Timestamp Hasil Sign Session Key dan Timestamp
Hasil Enkripsi Session Key dan Timestamp Hasil Dekripsi Identitas dan Kunci Publik Hasil Validasi Identitas dan Kunci Publik Hasil Dekripsi Session Key dan Timestamp Hasil Validasi Session Key dan Timestamp
4.22 4.23 4.24
Hasil Komunikasi User1 dan User2 Hasil Eksekusi Tombol Simpan Hasil Pengujian Arsip
94 95 96
DAFTAR LAMPIRAN
Halaman
A. Listing Program 101