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
Universitas Sumatera Utara
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: STRATEGI OTENTIKASI PESAN MENGGUNAKAN DIGITAL SIGNATURE DENGAN METODE DSA (DIGITAL STANDARD ALGORITHM) : SKRIPSI : NURRIZKA SIREGAR : 071401087 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER :MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Komisi Pembimbing
:
Pembimbing 2,
Pembimbing 1,
M. Andri Budiman,ST,MCompSc,MEM NIP. 197510082008011001
Prof.Dr. Muhammad Zarlis NIP. 195707011986011003
Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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 Universitas Sumatera Utara. 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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Gambar Daftar Tabel Bab 1 1 1.1 1.2 1.3 1.4 1.5 1.6
ii iii iv vi vii viii ix x Pendahuluan
Latar Belakang Rumusan Masalah Batasan Masalah Tujuan Penelitian Kontribusi Penelitian Sistematika Penulisan
Bab 2 Landasan Teori 2.1 Pengenalan Kriptografi 2.1.1 Sejarah dan Perkembangan Kriptografi 2.1.2 Tujuan Kriptografi 2.2 Jenis-jenis Algoritma Kriptografi 2.2.1 Algoritma Simetri 2.2.2 Algoritma Asimetri 2.3 Pola Penyaringan Transmisi Data 2.3.1 Interruption 2.3.2 Interception 2.3.3 Modification 2.3.4 Fabrication 2.4 Teknik-teknik Enkripsi dan Dekripsi 2.4.1 Substitusi 2.4.2 Blocking 2.5 Mode Operasi 2.5.1 Electronic Code Book (ECB) 2.5.2 Cipher Blok Chaining (CBC) 2.5.3 Cipher Feed Back (CFB) 2.5.4 Output Feed Back (OFB) 2.6 Keamanan Algortima 2.7 Tanda Tangan Digital 2.8 Fungsi Hash Satu Arah 2.8.1 Cara Kerja SHA
1 3 3 4 4 4 6 6 7 8 10 10 11 12 12 12 13 13 14 14 15 15 16 16 17 17 17 18 20 22
Universitas Sumatera Utara
2.8.2 Fungsi Hash Satu Arah 2.9 Digital Signature Algorithm (DSA) 2.8.1 Parameter DSA 2.8.2 Pembangkitan Kunci 2.8.3 Pembangkitan Tandatangan 2.8.4 Verifikasi 2.10 Flowchart
23 23 24 25 25 25 26
Bab 3 Analisis dan Perancangan 3.1 Analisis 3.1.1 Cara Kerja Digital Signature Algorithm (DSA 3.1.1.1 Pembangkitan Pasangan Kunci 3.1.1.2 Pembangkitan Tandatangan 3.1.1.3 Verifikasi Tandatangan 3.1.2 Menghitung Nilai Hash 3.1.3 Flowchart Digital Signature Algorithm 3.1.4 Flowchart Pembangkitan Pasangan Kunci 3.1.5 Flowchart Pembangkitan Tanda Tangan 3.1.6 Flowchart Pembuatan Message Digest 3.1.7 Flowchart Verifikasi 3.2 Perancangan Antarmuka (interface) 3.2.1 Rancangan Login 3.2.2 Rancangan Menu Utama 3.2.3 Rancangan Tandatangan 3.2.4 Rancangan Verifikasi 3.2.5 Rancangan Help 3.2.6 Rancangan About
27 27 27 27 28 29 29 34 35 36 37 38 38 39 39 40 41 42 42
Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi 4.2 Tampilan Login 4.2.1 Tampilan Menu Utama 4.2.2 Tampilan DSA 4.2.3 Tampilan Verifikasi 4.2.4 Tampilan About 4.2.5 Tampilan Help 4.2.6 Tabulasi Hasil Uji 4.2.7 Parameter
43 43 43 44 45 49 51 52 52 54
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
55 55 55
Daftar Pustaka Lampiran
56
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.14 4.15 4.16 4.17 4.18 4.19
Proses Umum dalam Kriptografi Jenis–Jenis Hieroglyph Bentuk Scytale Kriptografi Simetris Kriptografi Asimetris Interruption Interception Modificaton Fabrication Diagram Proses Tanda Tangan Digital Fungsi Hash Satu Arah FlowChart Digital Signature Algorithm Flowchart Pembangkitan Pasangan Kunci Flowchart Pembangkitan Tanda Tangan FlowChart Pembentukan Message Digest Flowchart verifikasi Rancangan Login Rancangan Menu Utama Rancangan Tandatangan Rancangan Verifikasi Rancangan Help Rancangan About Tampilan Login Tampilan Menu Utama Tampilan Sub Menu File Tampilan DSA Tampilan Pemasukan Data Pesan Tampilan Hasil Proses Message Digest Tampilan Penyimpanan Message Digest Tampilan Konfirmasi Pesan Penyimpanan Tampilan Pencarian Message Digest Tampilan Penghapusan Pesan Tampilan Konfirmasi Penghapusan Pesan Tampilan Verifikasi Tampilan Kotak Dialog Pemanggilan File Pesan Tampilan Message Digest Dari File Pesan Tampilan Hasil Verifikasi File Pesan Tampilan About Tampilan Help
7 8 8 10 11 12 12 13 13 19 21 34 35 36 37 38 39 40 40 41 42 42 43 44 44 45 46 46 47 47 48 48 49 49 50 50 51 51 52
Universitas Sumatera Utara
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
Universitas Sumatera Utara