IMPLEMENTASI AUTENTIKASI DATA TEKS DENNING-SACCO DENGAN MENGGUNAKAN ALGORITMA KUNCI PUBLIK RSA DRAFT SKRIPSI SANTO PALENTIN MANARIAS 091401050
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
MEDAN
2013 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
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, Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
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.
9. Ayahanda St. A Nainggolan dan Ibunda M Parapat, serta kakak-kakak tersayang Juliasni Br Nainggolan, Rame Juniar Br Nainggolan Jessi Marito Br Nainggolan, Rotua Eva Rita Br Nainggolan, Natalinda Br Nainggolan, Abangda Edward Peterson Nainggolan dan Abangda Elis Pahala Nainggolan, Lae Ganda
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.
Kata Kunci: Kriptografi, Autentikasi, Protokol Denning-Sacco, RSA, Fermat’s Little
Theorem , Linear Congruential Generator.
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.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.1.1 Definisi Kriptografi
6
2.1.2 Sejarah Kriptografi
7
2.1.3 Tujuan Kriptografi
7
2.1.4 Istilah Dalam Kriptografi
9
2.2 Autentikasi
11
2.3 Protokol Denning-Sacco
14
2.4 Jenis Kriptografi
20
2.4.1 Kriptografi Simetri
20
2.4.2 Kriptografi Asimetri
21
2.5 Algoritma RSA
23
2.5.1 Pembangkit Kunci
23
2.5.2 Proses Enkripsi dan Dekripsi
24
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
2.10 Penelitian Terdahulu
33 Bab III Analisis dan Perancangan
3.1 Analisis Sistem
75
77
4.1.4 Form Hasil Sign Arbitrator
77
4.1.3 Form Autentikasi
76
4.1.2 Form Identitas
76
4.1.1 Form Home
4.1 Implementasi Sistem
78
73 Bab IV Implementasi dan Pengujian
3.2.3 Rancangan Interface Form Komunikasi
70
3.2.2 Rancangan Interface Form Autentikasi
69
3.2.1 Rancangan Interface Form Awal
68
3.2 Perancangan Interface Sistem
4.1.5 Form Hasil Sign User1
4.1.6 Form Hasil Enkripsi User1
3.1.5.4 Komunikasi
4.2 Pengujian Sistem
4.2.1.3 Pengujian Proses Pembangkitan Session Key dan Timestamp
84
4.2.1.2 Pengujian Proses Sign Identitas dan Kunci Publik
83
4.2.1.1 Pengujian Proses Pembangkitan Kunci
82
4.2.1 Pengujian Proses Autentikasi
82
81
78
4.1.11 Form Help
80
4.1.10 Form Arsip
80
4.1.9 Form Komunikasi
79
4.1.8 Form Hasil Dekripsi Session Key dan Timestamp
79
4.1.7 Form Hasil Dekripsi Identitas dan Kunci
67
60
34
3.1.3.1 Perancangan Unified Modelling Language (UML)
3.1.4 Perancangan Flowchart
43
3.1.3.1.3 Sequence Diagram
39
3.1.3.1.2 Activity Diagram
37
3.1.3.1.1 Use Case Diagram
37
37
3.1.4.1 Flowchart Sistem
3.1.3 Pemodelan Sistem
36
3.1.2.2 Persyaratan Nonfungsional
36
3.1.2.1 Persyaratan Fungsional
35
3.1.2 Analisis Persyaratan
34
3.1.1 Analisis Masalah
46
47
3.1.5.3 Autentikasi
52
54
3.1.5.2 Pembangkitan Kunci
54
3.1.5.1 Identitas
54
3.1.5 Percobaan Manual
53
3.1.4.8 Flowchart Proses Komunikasi
3.1.4.7 Flowchart Proses Dekripsi
3.1.4.2 Flowchart Proses Autentikasi
51
3.1.4.6 Flowchart Proses Enkripsi
50
3.1.4.5 Flowchart Proses Pembangkitan Session Key
49
3.1.4.4 Flowchart Proses Pembangkitan Kunci
48
3.1.4.3 Flowchart Proses Fermat Little Theorem
48
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 Pustaka 100
DAFTAR TABEL
Nomor Tabel Nama Tabel HalamanHasil 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
93
92
91
90
88
85
84
69
68
64
32
30
26
Session Key
2.1
4.8 Kode ASCII Contoh Aritmatika Modulo Hasil Perhitungan LCG
4.7
4.6
4.5
4.4
4.3
4.2
4.1
3.3
3.2
3.1
2.3
2.2
95
DAFTAR GAMBAR
Nomor Gambar Nama Gambar Halaman46
54
53
52
51
50
49
48
47
44
71
43
41
40
39
36
23
21
17
65
72
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
83
89
88
87
87
86
86
84
83
82
73
81
80
80
79
78
78
77
75
74
11
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
2.1
3.7
3.15
3.14
3.13
3.12
3.11
3.10
3.9
3.8
3.6
3.17
3.5
3.4
3.3
3.2
3.1
2.4
2.3
2.2
3.16
3.18
4.21 Proses Enkripsi dan Dekripsi Proses Autentikasi Denning-Sacco Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri Proses Enkripsi dan Dekripsi pada Kriptografi Asimetri Diagram Ishikawa
4.12
4.20
4.19
4.18
4.17
4.16
4.15
4.14
4.13
4.11
4.1
4.10
4.9
4.8
4.7
4.6
4.5
4.4
4.3
4.2
89
4.22
4.23
4.24 Hasil Komunikasi User1 dan User2 Hasil Eksekusi Tombol Simpan Hasil Pengujian Arsip
94
95
96