SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA SKRIPSI LIA SILVIANA 071402051

  PERSETUJUAN

  Judul : SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA

  Kategori : SKRIPSI Nama : LIA SILVIANA Nomor Induk Mahasiswa : 071402051 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

  INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA

  Diluluskan di Medan, 7 Mei 2013

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dra. Mardiningsih Drs. Sawaluddin, MIT.

  NIP 19630405 198811 2 001 NIP 19591231 199802 1 001 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Prof. Dr. Opim Salim Sitompul, M.Sc.

  NIP 19610817 198701 1 001

  PERNYATAAN

  PREDIKSI KURS RUPIAH TERHADAP DOLLAR AMERIKA SERIKAT MENGGUNAKAN EVOLVING FUZZY NEURAL NETWORK (EFUNN)

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

  Medan, Januari 2013 Lia Silviana 071402051

  Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

  Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Sawaluddin, MIT dan Ibu Dra. Mardiningsih, M.Sc selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Bapak Syahril Efendi, S.Si, M.IT dan Bapak Dedy Arisandi, S.T, M.Kom yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta seluruh pegawai biro Tata Usaha Fasilkomti usu yang telah membantu penulis memberikan pelayanan ketatausahaan selama penulis mengikuti perkuliahan di Program Studi S1 Teknologi Informasi.

  Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda Drs. Johansyah Tanjung dan ibunda Nurhayati, SmHk yang telah melahirkan dan selalu sabar dalam mendidik dan membesarkan serta membimbing penulis hingga dapat melanjutkan pendidikan sampai ke perguruan tinggi. Untuk kakak penulis Santi Utari S.Pd yang selalu memberikan doa dan dorongan kepada penulis. Terima kasih juga penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, Boy, Veny, Azwar, Roni, Nurul, Shifa, Tika, Polin, seluruh angkatan 07 serta teman- teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu. Semoga Allah SWT membalas kebaikan kalian dengan nikmat yang berlimpah.

  ABSTRAK

  Pengiriman pesan melalui e-mail semakin meningkat sehingga diperlukan sistem keamanan yang mampu menjaga kerahasiaan pesan yang dikirim melalui e-mail. Sering terjadinya penyadapan pesan oleh pihak-pihak yang tidak bertanggung jawab membuat penulis melakukan analisis dan membuat aplikasi tandan tangan digital yang mampu menjaga keamanan e-mail. Tanda tangan digital adalah sebuah tanda tangan yang berbasiskan skema kriptografi. Tanda tangan digital dibuat dengan memanfaatkan kriptografi kunci publik. Algoritma RSA adalah salah satu algoritma kunci publik yang dapat digunakan untuk sistem tanda tangan digital. Mekanisme kerja algoritma RSA cukup sederhana dan mudah dimengerti tetapi kokoh. Keamanan RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Perangkat lunak untuk sistem tanda tangan digital yang dibangun dengan menggunakan bahasa pemrograman web PHP dan database MySQL. Perangkat lunak yang dibangun akan menjelaskan proses tanda tangan digital. Aplikasi tersebut dibuat dengan menggunakan algoritma RSA (Ron Rivest, Adi Shamir, dan Leonard Adleman) untuk mengenkripsi dan mendekripsi pesan. Pada tulisan ini penulis akan menganalisis bagaimana implementasi algoritma RSA terhadap pengiriman pesan dan penerimaan pesan sehingga pengguna dapat menjaga kerahasiaan pesan. Kata Kunci : email, tanda tangan digital, algoritma RSA, kriptografi.

  DIGITAL SIGNATURE SYSTEM ON TEXT MESSAGE USING RSA PUBLIC KEY CRYPTOGRAPHY ALGORITHM ABSTRACT

  Sending messages via e-mail has increased so that the security system is needed that is able to maintain the confidentiality of messages sent through e-mail. Frequent occurrence intercepts messages by parties who are not responsible to make the authors analyze and make a bunch of digital signature applications are able to maintain the security of e-mail. Digital signature is a signature-based cryptographic schemes. Digital signature created by using public key cryptography. RSA algorithm is a public key algorithm that can be used for digital signature system. Mechanism of action of the RSA algorithm is quite simple and easy to understand but sturdy. RSA security lies in the difficulty of factoring large numbers into prime factors. Software for digital signature system is built using the PHP web programming language and MySQL database. The software is built to explain the process of digital signatures. The application is created using the RSA algorithm (Ron Rivest, Adi Shamir, and Leonard Adleman) to encrypt and decrypt messages. In this paper the author will analyze how the implementation of the RSA algorithm for message sending and receiving messages so that users can keep messages confidential. Keyword : email, digital signature, RSA algorithm, cryptography

  DAFTAR ISI Hal.

  Persetujuan ii

  Pernyataan iii

  Ucapan Terima Kasih iv

  Abstrak v

  Abstract vi

  Daftar Isi vii

  Daftar Tabel ix

  Daftar Gambar x

  BAB 1 Pendahuluan

  1

  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

  5

  2.1. Kriptografi

  5

  2.2.1. Tujuan Kriptografi

  5

  2.2.2. Proses Kriptografi

  6

  2.2. Kriptografi berdasarkan Kunci

  7

  

2.2.1. Kriptografi Kunci Simetri (Symmetric-key Cryptography)

  7

  2.2.2. Kunci Asimetri (Asymmetric-key Cryptography)

  7

  2.3. Keamanan Sistem Kriptografi

  9

  2.3.1. Kriteria Keamanan Kriptografi

  9

  2.3.2. Jenis-Jenis Ancaman Keamanan

  10

  2.4. Jenis-Jenis Serangan Terhadap Sistem Kriptografi

  12

  2.4.1. Berdasarkan keterlibatan penyerang dalam komunikasi

  12

  2.4.2. Berdasarkan banyaknya informasi yang diketahui kriptanalis

  12

  2.4.3. Berdasarkan teknik yang digunakan dalam menemukan kunci

  13

  2.5. Tanda Tangan Digital

  13

  2.5.1. Sifat umum dari tanda tangan digital

  14

  2.5.2. Penandatanganan Pesan

  14

  2.5.3. Skenario tandatangan digital

  15

  2.6. Fungsi Hash

  17

  2.6.1. Fungsi hash satu-arah (One-way Hash)

  18

  2.6.2. Algoritma MD5

  19

  2.6.3. Perbedaan algoritma MD4 dan MD5

  20

  2.7. Bilangan Prima

  21

  2.7.1. Metode penentuan bilangan prima

  21

  2.7.2. Metode The Sieve of Eratothenes

  22

  2.8. Algoritma RSA

  27

  2.8.1. Konsep dasar perhitungan matematis algoritma RSA

  27

  2.9. Proses Enkripsi dan Dekripsi RSA

  30

  2.9.1. Proses pembentukan kunci

  30

  2.9.2. Proses enkripsi

  31

  2.9.3. Proses dekripsi

  31

  2.10. Kecepatan Algoritma RSA

  31

  2.11. RSA Digital Signature

  32

  2.11.1 Message Digest

  32

  2.11.2 Digital Signature

  33

  2.11.3 Verifikasi Digital Signature

  33

  2.12. Unified Modeling Language

  34

  2.12.1 Diagram Use case

  35

  2.12.2 Spesifikasi Use case (Use case specification)

  36

  2.12.3 Diagram Aktivitas(Activity Diagram)

  37

  2.13. Flowchart

  38

  2.14. Bahasa Pemrograman PHP

  39

  2.15. Penelitian Terdahulu

  41 BAB 3 Analisis dan Perancangan

  44

  3.1. Analisis Sistem Enkripsi dan Dekripsi dengan Algoritma RSA

  44

  3.1.1. Algoritma membangkitkan pasangan kunci

  44

  3.1.2. Enkripsi

  45

  3.1.3. Dekripsi

  45

  

3.1.4. Contoh perhitungan pembangkit kunci, enkripsi RSA dan

dekripsi RSA

  45

  3.2. Perancangan Flowchart Sistem

  49

  3.3. Use case Diagram

  53

  3.3.1.Model spesifikasi Use case

  54

  3.3.2.Diagram Aktivitas

  59

  3.4. Perancangan Antarmuka Pemakai

  63 BAB 4 Implementasi dan Pengujian Sistem

  68

  4.1. Implementasi Sistem

  68

  4.2. Tahap-Tahap Implementasi

  69

  4.3. Komponen Utama Dalam Implementasi

  69

  4.4. Pengujian dan Tampilan

  70 BAB 5 Kesimpulan dan Saran

  77

  5.1 Kesimpulan

  77

  5.2 Saran

  77 Daftar Pustaka

  79 Lampiran Listing Program

  81

  DAFTAR TABEL Hal.

  48 Tabel 3.5 Konversi Pesan Ke Karakter ASCII

  58 Tabel 3.12 Spesifikasi Use case User Logout

  58 Tabel 3.11 Spesifikasi Use case User Lihat Email Keluar

  57 Tabel 3.10 Spesifikasi Use case User Kirim Email (Lanjutan)

  57 Tabel 3.10 Spesifikasi Use case User Kirim Email

  56 Tabel 3.9 Spesifikasi Use case User Lihat Email Masuk

  56 Tabel 3.8 Spesifikasi Use case User Lihat Profil

  55 Tabel 3.7 Spesifikasi Use case User Daftar Akun (Lanjutan)

  55 Tabel 3.7 Spesifikasi Use case User Daftar Akun

  49 Tabel 3.6 Spesifikasi Use case User Login

  47 Tabel 3.4 Dekripsi

Tabel 2.1 Kelebihan dan Kelemahan Kriptografi Kunci Simetri

  46 Tabel 3.3 Enkripsi

  46 Tabel 3.2 Perhitungan Kunci Privat

  45 Tabel 3.1 Nilai GCD (Lanjutan)

  43 Tabel 3.1 Nilai GCD

  42 Tabel 2.5 Penelitian Terdahulu (Lanjutan)

  38 Tabel 2.5 Penelitian Terdahulu

  37 Tabel 2.4 Fungsi simbol-simbol flowchart

  9 Tabel 2.3 Simbol Aktivitas Diagram

  8 Tabel 2.2 Kelebihan dan Kekurangan Kriptografi Kunci Asimetri (Lanjutan)

  8 Tabel 2.2 Kelebihan dan Kekurangan Kriptografi Kunci Asimetri

  59

  DAFTAR GAMBAR Hal.

  61 Gambar 3.9 Diagram Aktivitas Kirim Pesan

  36 Gambar 3.1 Flowchart proses pembuatan tandatangan digital

  50 Gambar 3.2 Flowchart proses verifikasi tandatangan digital

  51 Gambar 3.3 Flowchart Enkripsi

  52 Gambar 3.4 Flowchart Dekripsi

  53 Gambar 3.5 Diagram Use case

  54 Gambar 3.6 Diagram Aktivitas Login

  60 Gambar 3.7 Diagram Aktivitas Daftar Email

  60 Gambar 3.8 Diagram Aktivitas Pembuatan Kunci

  61 Gambar 3.10 Diagram Aktivitas Inbox

  35 Gambar 2.22 Aktor dan use case

  62 Gambar 3.11 Diagram Aktivitas Cari User

  62 Gambar 3.12 Rancangan Halaman Login

  63 Gambar 3.13 Rancangan Halaman Daftar Email

  64 Gambar 3.14 Rancangan Halaman Beranda

  64 Gambar 3.15 Rancangan Halaman Pembangkit Kunci

  65 Gambar 3.16 Tampilan Halaman Compose

  65 Gambar 3.17 Rancangan Halaman Sent Email

  66 Gambar 3.18 Rancangan Halaman Verifikasi

  36 Gambar 2.23 Keterhubungan

  33 Gambar 2.21 Aktor-aktor use case

Gambar 2.1 Proses Kriptografi

  18 Gambar 2.10 Pembuatan message digest dengan algoritma MD5

  6 Gambar 2.2 Skema Kriptografi Kunci Simetri

  7 Gambar 2.3 Skema Kriptografi Kunci Asimetri

  7 Gambar 2.4 Interruption

  10 Gambar 2.5 Interception

  11 Gambar 2.6 Modification

  11 Gambar 2.7 Fabrication

  11 Gambar 2.8 Skenario tanda tangan digital

  15 Gambar 2.9 Fungsi hash satu-arah

  20 Gambar 2.11 Pengolahan blok 512 bit (Proses HMD5)

  32 Gambar 2.20 Skema proses untuk verifikasi dengan algoritma RSA

  20 Gambar 2.12 Proses 1 pembangkit bilangan prima The Sieve of Eratothenes

  23 Gambar 2.13 Proses 2 pembangkit bilangan prima The Sieve of Eratothenes

  24 Gambar 2.14 Proses 3 pembangkit bilangan prima The Sieve of Eratothenes

  24 Gambar 2.15 Proses 4 pembangkit bilangan prima The Sieve of Eratothenes

  25 Gambar 2.16 Proses 5 pembangkit bilangan prima The Sieve of Eratothenes

  25 Gambar 2.17 Proses 6 pembangkit bilangan prima The Sieve of Eratothenes

  26 Gambar 2.18 Proses 7 pembangkit bilangan prima The Sieve of Eratothenes

  26 Gambar 2.19 Skema Digital Signature

  66

Gambar 3.19 Rancangan Halaman Cari User

  73 Gambar 4.10 Halaman Sent Email

  76 Gambar 4.17 Hasil Verifikasi Salah

  75 Gambar 4.16 Hasil Verifikasi Benar

  75 Gambar 4.15 Input D dan N

  75 Gambar 4.14 Pasangan Kunci public (D, N)

  74 Gambar 4.13 Halaman Cari User

  74 Gambar 4.12 Halaman Verifikasi

  73 Gambar 4.11 Halaman Inbox

  72 Gambar 4.9 Hasil Signature

  67 Gambar 4.1 Tampilan utama

  72 Gambar 4.8 Halaman Compose

  72 Gambar 4.7 Tampilan pasangan kunci publik dan private

  71 Gambar 4.6 Nilai p dan q

  71 Gambar 4.5 Halaman Pembangkit Kunci

  71 Gambar 4.4 Halaman Beranda (Home)

  70 Gambar 4.3 Halaman Login

  70 Gambar 4.2 Form daftar email

  76