STRATEGI OTENTIKASI PESAN MENGGUNAKAN DIGITAL SIGNATURE DENGAN METODE DSA (DIGITAL STANDARD ALGORITHM) SKRIPSI NURRIZKA SIREGAR 071401087 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PERSETUJUAN Judul : STRATEGI OTENTIKASI PESAN MENGGUNAKAN DIGITAL SIGNATURE DENGAN METODE DSA (DIGITAL STANDARD ALGORITHM) Kategori : SKRIPSI Nama : NURRIZKA SIREGAR Nomor Induk Mahasiswa : 071401087 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas :MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, Pembimbing 2, Pembimbing 1, M. Andri Budiman,ST,MCompSc,MEM Prof.Dr. Muhammad Zarlis NIP. 197510082008011001 NIP. 195707011986011003 Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN STRATEGI OTENTIKASI PESAN MENGGUNAKAN DIGITAL SIGNATURE DENGAN METODE DSA (DIGITAL STANDARD ALGORITHM) SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, September 2011 NURRIZKA SIREGAR 071401087
PENGHARGAAN Puji dan syukur penulis panjatkan kepada Allah SWT karena berkat rahmat dan karunia-nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Skripsi ini merupakan salah satu syarat yang wajib diselesaikan guna meraih gelar Sarjana Komputer pada jurusan S1 Ilmu Komputer. Adapun judul yang diangkat penulis dalam skripsi ini adalah Strategi Otentikasi Pesan Menggunakan Digital Signature dengan Metode DSA (Digital Standard Algorithm). Tidak dapat dipungkiri bahwa dalam penyelesaian skripsi ini tidak luput dari campur tangan banyak pihak yang telah memberikan bantuan dan motivasi bagi penulis. Maka, dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1. Bapak Prof.Dr. Muhammad Zarlis dan Bapak M. Andri Budiman,ST,MCompSc,MEM selaku dosen pembimbing dalam penyelesaian skripsi ini yang telah memberikan panduan dan bimbingan dengan penuh kepercayaan kepada saya untuk menyelesaikan skripsi ini. 2. Ketua Jurusan S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom sekaligus selaku dosen pembanding dan Ibu Dian Rachmawati,S.Si,M.Kom sebagai dosen pembanding skripsi ini yang telah memberikan banyak masukan bagi saya. 3. Sekretaris Jurusan S1 Ilmu Komputer, Ibu Maya Silvi Lydia, B.Sc., M.Sc., Dekan dan Pembantu Dekan Fakultas MIPA beserta para pegawai/staf S1 Ilmu Komputer. 4. Teristimewa kepada Ibunda Hj. Zakiah Harahap serta seluruh keluarga saya yang telah memberikan do a, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya hingga saya dapat menyelesaikan tugas akhir ini. 5. Teman-teman seperjuangan, mahasiswa S1 Ilmu Komputer stambuk 2007 secara khusus Sovi Khadifa, Sari Juita, Dely Utari, Syaulina Azmi, Widya Ashtika, Sochi Juneda Rambe dan Alexandro Nababan yang telah banyak berbagi ilmu, memberikan bantuan, saran, kritikan, semangat, inspirasi, dukungan serta mewarnai kenangan selama masa kuliah yang tak akan terlupakan bagi penulis. 6. Muhammad Syahrozzi yang selalu memberikan doa, motivasi dan semangat yang luar biasa bagi penulis. 7. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian serta kerja samanya kepada penulis dalam menyelesaikan tugas akhir ini.
Penulis menyadari bahwa dalam penyelesaian skripsi ini masih jauh dari sempurna. Untuk itu penulis sangat mengharapkan kritik dan saran yang membangun guna penyempurnaan di masa mendatang. Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi pribadi penulis, keluarga, masyarakat, organisasi dan negara. Medan, September 2011 Penulis
ABSTRAK Salah satu jenis data yang sering digunakan adalah data teks yang sifatnya terbuka yaitu isinya dapat dibaca dan diubah dengan mudah. Untuk mengamankan data tersebut dapat dilakukan dengan mengenkripsi pesan menjadi cipherteks yang tidak dapat dibaca lagi. Agar pesan dalam bentuk cipherteks dapat dibaca kembali, maka pesan tersebut harus didekripsi kembali. Hal ini akan mempersulit penerima pesan, karena harus mengolahnya terlebih dahulu. Sehubungan dengan hal ini, maka dirancanglah sebuah aplikasi agar sipenerima tidak kesulitan membaca pesan yang diterimanya. Aplikasi ini dibangun menggunakan digital signature dengan metode DSA (Digital Standard Algorithm). DSA adalah algoritma kriptografi yang menggunakan SHA (Secure Hash Algorithm) sebagai fungsi hash, untuk mengubah pesan menjadi intisari pesan (message digest) yang berukuran 160 bit. Proses yang dilakukan adalah pembangkitan pasangan kunci (Key Pair Generation), pembuatan message digest, pembangkitan tanda-tangan digital (Digital Signature Generation) serta verifikasi tanda-tangan digital (Digital Signature Verification). Dimana pesan dikirim dalam bentuk teks dengan pengamanan difokuskan pada keaslian pesan (authentic), dimana perubahan sedikit saja misalnya penambahan spasi kosong atau perubahan satu karakter saja harus dapat dideteksi. Hasil pengujian diperoleh message digest dan kunci publik yang dapat melakukan otentikasi pesan teks dengan pemasukan kunci publik oleh sipenerima pesan. Kata Kunci : DSA, Fungsi Hash, Kriptografi, Message Digest, Tanda Tangan Digital.
MESSAGE AUTHENTICATION STRATEGY WITH DIGITAL SIGNATURE BASED ON DIGITAL STANDARD ALGORITHM (DSA) METHOD ABSTRACT One type of data that frequently used is text data that are open, the contents can be read and changed easily. To secure the data may be done by encrypting the message into ciphertext that can not be read anymore. In order for the message in the form of ciphertext can be read back, then the message must be decrypted again. This will complicate the receiver of the message because it must process it first. In connection with this, then designed an application so that the recipient had no trouble reading the message that was received. This application was built using a digital signature by the method of DSA (Digital Standard Algorithm). DSA is a cryptographic algorithm using the SHA (Secure Hash Algorithm) as a hash function, to convert the message into the message digest size of 160 bits. The process that was done is the generation of key pair (Key Pair Generation), message digest creation, generation of digital signatures (Digital Signature Generation) and verification of digital signatures (Digital Signature Verification). Wich is the message was sent in clear text with security that focused on the authenticity of the message (authentic in which little changes like adding empty space or changing just one character must be detected. From the test result was obtained the message digest and the public key that can authenticate a text message with a public key entry by the receiver of the message. Keyword: Cryptography, DSA, Digital Signature, Hash Function, Message Digest.
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Gambar Daftar Tabel ii iii iv vi vii viii ix x Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 4 1.5 Kontribusi Penelitian 4 1.6 Sistematika Penulisan 4 Bab 2 Landasan Teori 6 2.1 Pengenalan Kriptografi 6 2.1.1 Sejarah dan Perkembangan Kriptografi 7 2.1.2 Tujuan Kriptografi 8 2.2 Jenis-jenis Algoritma Kriptografi 10 2.2.1 Algoritma Simetri 10 2.2.2 Algoritma Asimetri 11 2.3 Pola Penyaringan Transmisi Data 12 2.3.1 Interruption 12 2.3.2 Interception 12 2.3.3 Modification 13 2.3.4 Fabrication 13 2.4 Teknik-teknik Enkripsi dan Dekripsi 14 2.4.1 Substitusi 14 2.4.2 Blocking 15 2.5 Mode Operasi 15 2.5.1 Electronic Code Book (ECB) 16 2.5.2 Cipher Blok Chaining (CBC) 16 2.5.3 Cipher Feed Back (CFB) 17 2.5.4 Output Feed Back (OFB) 17 2.6 Keamanan Algortima 17 2.7 Tanda Tangan Digital 18 2.8 Fungsi Hash Satu Arah 20 2.8.1 Cara Kerja SHA 22
2.8.2 Fungsi Hash Satu Arah 23 2.9 Digital Signature Algorithm (DSA) 23 2.8.1 Parameter DSA 24 2.8.2 Pembangkitan Kunci 25 2.8.3 Pembangkitan Tandatangan 25 2.8.4 Verifikasi 25 2.10 Flowchart 26 Bab 3 Analisis dan Perancangan 27 3.1 Analisis 27 3.1.1 Cara Kerja Digital Signature Algorithm (DSA 27 3.1.1.1 Pembangkitan Pasangan Kunci 27 3.1.1.2 Pembangkitan Tandatangan 28 3.1.1.3 Verifikasi Tandatangan 29 3.1.2 Menghitung Nilai Hash 29 3.1.3 Flowchart Digital Signature Algorithm 34 3.1.4 Flowchart Pembangkitan Pasangan Kunci 35 3.1.5 Flowchart Pembangkitan Tanda Tangan 36 3.1.6 Flowchart Pembuatan Message Digest 37 3.1.7 Flowchart Verifikasi 38 3.2 Perancangan Antarmuka (interface) 38 3.2.1 Rancangan Login 39 3.2.2 Rancangan Menu Utama 39 3.2.3 Rancangan Tandatangan 40 3.2.4 Rancangan Verifikasi 41 3.2.5 Rancangan Help 42 3.2.6 Rancangan About 42 Bab 4 Implementasi dan Pengujian Sistem 43 4.1 Implementasi 43 4.2 Tampilan Login 43 4.2.1 Tampilan Menu Utama 44 4.2.2 Tampilan DSA 45 4.2.3 Tampilan Verifikasi 49 4.2.4 Tampilan About 51 4.2.5 Tampilan Help 52 4.2.6 Tabulasi Hasil Uji 52 4.2.7 Parameter 54 Bab 5 Kesimpulan dan Saran 55 5.1 Kesimpulan 55 5.2 Saran 55 Daftar Pustaka 56 Lampiran
DAFTAR GAMBAR Halaman 2.1 Proses Umum dalam Kriptografi 7 2.2 Jenis Jenis Hieroglyph 8 2.3 Bentuk Scytale 8 2.4 Kriptografi Simetris 10 2.5 Kriptografi Asimetris 11 2.6 Interruption 12 2.7 Interception 12 2.8 Modificaton 13 2.9 Fabrication 13 2.10 Diagram Proses Tanda Tangan Digital 19 2.11 Fungsi Hash Satu Arah 21 3.1 FlowChart Digital Signature Algorithm 34 3.2 Flowchart Pembangkitan Pasangan Kunci 35 3.3 Flowchart Pembangkitan Tanda Tangan 36 3.4 FlowChart Pembentukan Message Digest 37 3.5 Flowchart verifikasi 38 3.6 Rancangan Login 39 3.7 Rancangan Menu Utama 40 3.8 Rancangan Tandatangan 40 3.9 Rancangan Verifikasi 41 3.10 Rancangan Help 42 3.11 Rancangan About 42 4.1 Tampilan Login 43 4.2 Tampilan Menu Utama 44 4.3 Tampilan Sub Menu File 44 4.4 Tampilan DSA 45 4.5 Tampilan Pemasukan Data Pesan 46 4.6 Tampilan Hasil Proses Message Digest 46 4.7 Tampilan Penyimpanan Message Digest 47 4.8 Tampilan Konfirmasi Pesan Penyimpanan 47 4.9 Tampilan Pencarian Message Digest 48 4.10 Tampilan Penghapusan Pesan 48 4.11 Tampilan Konfirmasi Penghapusan Pesan 49 4.14 Tampilan Verifikasi 49 4.15 Tampilan Kotak Dialog Pemanggilan File Pesan 50 4.16 Tampilan Message Digest Dari File Pesan 50 4.17 Tampilan Hasil Verifikasi File Pesan 51 4.18 Tampilan About 51 4.19 Tampilan Help 52
DAFTAR TABEL Halaman 2.1 Tabel Substitusi 14 2.2 Enkripsi dengan Blocking 15 2.3 Jangkauan Nilai Tipe Data 24 2.4 Simbol-simbol Flowchart Program 26