• Tidak ada hasil yang ditemukan

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

MASLIA 141421038

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

Judul : ANALISIS PERBANDINGAN DIGITAL SIGNATURE ALGORITHM DAN GOST DIGITAL SIGNATURE ALGORITHM PADA TANDA TANGAN DIGITAL FILE .TXT

Kategori : SKRIPSI

Nama : MASLIA

Nomor Induk Mahasiswa : 141421038

Program Studi : S1 EKSTENSI ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Jos Timanta Tarigan, S.Kom, M.Sc Prof. Dr. Muhammad Zarlis, M.Sc

NIP. 198501262015041001 NIP. 195707011986011003

Diketahui/disetujui oleh Ekstensi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

PERNYATAAN

ANALISIS PERBANDINGAN DIGITAL SIGNATURE ALGORITHM DAN GOST DIGITAL SIGNATURE ALGORITHM PADA

TANDA TANGAN DIGITAL FILE .TXT

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Agustus 2016

Maslia 141421038

Alhamdulillahirrabbil’alamin, penulis ucapkan rasa syukur yang tiada hentinya kehadirat Allah swt yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelasaikan skripsi ini. Shalawat beriring salam kepada junjungan kita Nabi Muhammad saw beserta keluarganya, para sahabat, syuhada dan pengikutnya yang setia. Dimana syafaat beliau yang kita harapkan di akhirat nanti.

Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. Runtung Sitepu sebagai Rektor Universitas Sumatera Utara (USU).

2. Bapak Prof. Dr. Opim Salim Sitompul sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara (USU).

4. Bapak Prof. Dr. Muhammad Zarlis, M.Sc sebagai dosen pembimbing I sekaligus Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

5. Bapak Jos Timanta Tarigan, S.Kom, M.Sc sebagai dosen pembimbing II sekaligus Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU. 6. Ibu Dian Rachmawati, S.Si, M.Kom sebagai dosen pembanding I sekaligus

Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

7. Bapak Handrizal, S.Si, M.Comp. Sc sebagai dosen pembanding II sekaligus Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

8. Bapak Mohammad Andri Budiman sebagai penasihat dan banyak memberi masukan kepada penulis sekaligus Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Seluruh Dosen serta staf Pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

10. Kedua Orang tua penulis tercinta Ibunda Faridah Harahap, SE dan Ayahanda Ali Zupri Ritonga yang selalu memotivasi, mendo’akan serta memberikan semangat kepada penulis dalam menyelesaikan skripsi ini.

11. Abangda Partahian Ritonga yang selalu memotivasi dan memberi semangat kepada penulis agar kelak bisa sukses dan mengikuti jejaknya.

12. Teman seperjuangan Diana Cahaya Siregar yang sekarang telah sukses dan selalu memberikan semangat kepada penulis.

13. Sahabat seperjuangan Tengku Muhammad Hafiz, A.Ma yang selalu memberikan motivasi dan semangat kepada penulis agar secepat mungkin menyelesaikan skripsi.

14. Teman the geng Adam Kevin Hutagalung, Firma Fanny Sinaga, Josua Pribadi Sianipar, Junita Sari Situmorang, Pratama Agung Harahap, Ruth Stephany Marsaulina Siahaan, Sayed Hafitz, dan lainnya yang selalu kocak menghibur penulis dikala suntuk.

15. Teman CK seminar hasil M. Pristian R, Suhaili Hamdi, Abdul Rahman, Fanny Ramadani, Lili Anggraini, Nevo Julardi, dan lainnya yang selalu memberi semangat dan dukungan kepada penulis.

Sekali lagi penulis mengucapkan terima kasih kepada semua pihak yang membantu dalam menyelesaikan skripsi ini yang tidak dapat disebutkan satu per satu. Terima kasih atas ide, saran, motivasi dan semangat yang kalian berikan semoga Allah swt memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, kasih saying serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan karena kesempurnaan hanya milik Allah swt. Oleh karena itu, penulis menerima kritik dan saran dari semua pihak yang bersifat membangun demi menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.

Medan, Agustus 2016 Penulis,

File .TXT merupakan dokumen elektronik yang memiliki sifat terbuka yaitu isinya dapat dibaca dan diubah oleh pihak-pihak yang tidak berhak. Hal ini menyebabkan faktor keamanan dari file sangat tidak terjamin. Untuk mengamankan sebuah file tersebut dapat dilakukan dengan teknik kriptografi, salah satunya adalah tanda tangan digital. Tanda tangan digital merupakan suatu mekanisme untuk menjamin keaslian suatu file dan menjaga supaya pengirim file dalam suatu waktu tidak dapat menyangkal bahwa dirinya telah mengirimkan file tersebut. Oleh karena itu, dengan adanya tanda tangan digital maka keaslian pengirim dan integritas data file terjamin. Dengan tujuan tersebut, dirancanglah sebuah aplikasi tanda tangan digital agar memudahkan pengguna untuk menvalidasi data file. Algoritma yang digunakan pada aplikasi ini adalah algoritma DSA dan GOST Digital Signature. Algoritma ini menggunakan fungsi hash SHA-1 dan SHA-256 yang mengubah pesan dengan panjang sembarang menjadi pesan ringkas (message digest) dengan panjang tetap (160 bit dan 256 bit), sehingga jika ada satu karakter saja dari isi file yang diubah maka kunci publik yang tersedia tidak dapat memverifikasi file. Hal ini membuktikan bahwa file tersebut sudah tidak asli. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien dalam penggunaan waktu. Efisiensi waktu dari algoritma tersebut dapat dilihat dari kompleksitas waktu rata-ratanya yang dilambangkan dengan notasi big theta (Θ). Running time dari suatu algoritma berbeda-beda tergantung pada panjang input yang diberikan. Dengan demikian, analisis running time algoritma tersebut dapat menentukan waktu proses komputasi terhadap ukuran input (n) yang diberikan.

Kata Kunci : kriptografi, fungsi hash, tanda tangan digital, DSA, GOST digital signature, big theta, running time.

A COMPARATIVE ANALYSIS DIGITAL SIGNATURE ALGORITHM AND GOST DIGITAL SIGNATURE ALGORITHM AT

DIGITAL SIGNATURE FILE .TXT

ABSTRACT

File .txt is electric document that has an extrovert which the content could be read and modified easily by everybody. It causes the safety factor of the file is not very secure. In order to it, we can use cryptography techniques, which one of a digital signature. Digital signature are a way to ensure the authenticity of a file and keep saving it, in order to the sender could not deny that he had sent the file. Therefore the presence of a digital signature so the authenticity of the sender and file data integrity is assured. With these goal, designed a digital signature application that enables users to validate the file. Algorithms that used in this application are DSA and GOST Digital Signature Algorithm. These algorithm use the SHA-1 and SHA-256 hash function that converts the document message from the length message into short message (message digest) with a fixed length (160 bits and 256 bits), so if there is one character only from the content file that altered the available public key can’t verified the file. This authenticate that the file is not original. Algorithm used not only correct but also efficient in the use of time. Efficiency of the algorithm can be seen from average time complexity that symbol is big theta notation (Θ). Running time from an algorithm is different from depending on the length of a given input. Therefore, analysis running time of algorithm can determine time computing process to the size (n) of a given input.

Keyword: cryptography, hash function, digital signature, DSA, GOST digital signature, big theta, running time

Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii

Daftar Isi viii

Daftar Tabel x Daftar Gambar xi Bab 1 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 3 1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Kriptografi 6

2.2 Tanda Tangan Digital 7

2.2.1 Cara kerja tanda tangan digital 8

2.3 Bilangan Prima 11

2.3.1 Algoritma sieve of eratosthenes 11

2.4 Greatest Common Divisor (GCD) 12

2.5 Logaritma Diskrit 12

2.6 Fungsi Hash 12

2.6.1 Fungsi hash SHA-1 13

2.6.2 Fungsi hash SHA-2 16

2.7 Kompleksitas Algoritma 17

2.7.1 Kompleksitas waktu algoritma 18

2.8 Notasi Asimptotik 19

2.8.1 Big-oh (Ο) 19

2.8.2 Big-omega (Ω) 20

2.8.3 Big-theta (Θ) 21

2.9 Algoritma 22

2.9.1 Digital signature algorithm 23

2.9.1.1 Pembentukan sepasang kunci 24

2.9.1.2 Pembentukan tanda tangan digital 25 2.9.1.3 Proses verifikasi tanda tangan digital 26 2.9.2 GOST digital signature algorithm 27

2.9.2.1 Pembentukan sepasang kunci 27

2.9.2.2 Pembentukan tanda tangan digital 28

2.9.2.3 Proses verifikasi tanda tangan digital 29 Bab 3 Analisis Dan Perancangan 3.1 Analisis Sistem 31 3.1.1 Analisis masalah 31 3.2 Pemodelan Sistem 32 3.2.1 Unified Modeling Language (UML) 32 3.2.1.1 Use case diagram 32

3.2.1.2 Activity diagram 33 3.2.1.3 Sequence diagram 35

3.2.2 Flowchart sistem 37 3.3 Analisis Algoritma 37 3.3.1 Analisis algoritma sieve of erathosthenes 38

3.3.2 Analisis algoritma SHA-1 41

3.3.3 Analisis algoritma SHA-256 44 3.3.4 Analisis digital signature algorithm (DSA) 47

3.3.4.1 Analisis proses pembentukan sepasang kunci DSA 47

3.3.4.2 Analisis pembentukan tanda tangan digital DSA 49

3.3.4.3 Analisis proses verifikasi tanda tangan digital DSA 51

3.3.5 Analisis GOST digital signature algorithm (GOST DSA) 52 3.3.5.1 Analisis proses pembentukan sepasang kunci GOST 53 3.3.5.2 Analisis pembentukan tanda tangan digital GOST 54 3.3.5.3 Analisis proses verifikasi tanda tangan digital GOST 56 3.4 Analisis Running Time 57 3.5 Perancangan Antar Muka (Interface) 58 3.5.1 Rancangan halaman pengirim 58 3.5.2 Rancangan halaman penerima 61 Bab 4 Implementasi Dan Pengujian Algoritma 4.1 Implementasi Algoritma 63

4.1.1 Spesifikasi perangkat keras dan perangkat lunak 63

4.1.2 Tampilan implementasi algoritma 63 4.1.2.1 Halaman pembentukan sepasang kunci 64 4.1.2.2 Halaman pembentukan tanda tangan digital 64 4.1.2.3 Halaman verifikasi tanda tangan digital 65

4.2 Pengujian Algoritma 66

Bab 5 Kesimpulan

5.1 Kesimpulan 69

5.2 Saran 70

Daftar Pustaka 71

Halaman Tabel 3.1. Skenario use case pembentukan sepasang kunci 32 Tabel 3.2. Skenario use case pembentukan tanda tangan digital 33 Tabel 3.3. Skenario use case verifikasi tanda tangan digital 33

Tabel 3.4. List bilangan 2 sampai 100 38

Tabel 3.5. List kelipatan bilangan 2 dicoret 38

Tabel 3.6. List kelipatan bilangan 3 dicoret 38

Tabel 3.7. List kelipatan bilangan 5 dicoret 39

Tabel 3.8. List kelipatan bilangan 7 dicoret 39

Tabel 3.9. List bilangan prima dari 2 sampai 100 40

Tabel 3.10. Pseudocode pembangkit bilangan prima 40 Tabel 3.11. Notasi big Θ pada pseudocode fungsi hash SHA-1 42 Tabel 3.12. Notasi big Θ pada pseudocode fungsi hash SHA-256 45

Tabel 3.13. Notasi big Θ pada pseudocode pembentukan sepasang kunci DSA 48

Tabel 3.14. Notasi big Θ pada pseudocode pembentukan tanda tangan DSA 50 Tabel 3.15. Notasi big Θ pada pseudocode verifikasi tanda tangan digital DSA 52 Tabel 3.16. Notasi big Θ pada pseudocode sepasang kunci GOST DSA 54 Tabel 3.17. Notasi big Θ pada pseudocode tanda tangan digital GOST DSA 55 Tabel 3.18. Notasi big Θ pada pseudocode verifikasi tanda tangan GOST DSA 57 Tabel 4.1. Waktu proses pembentukan tanda tangan DSA dan GOST DSA 66 Tabel 4.2. Waktu proses verifikasi tanda tangan DSA dan GOST DSA 67

Dokumen terkait