IMPLEMENTASI ALGORITMA ELGAMAL DENGAN PEMBANGKIT BILANGAN PRIMA LEHMANN DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DENGAN COVER IMAGE BITMAP UNTUK KEAMANAN DATA TEXT

  

IMPLEMENTASI ALGORITMA ELGAMAL DENGAN PEMBANGKIT BILANGAN

PRIMA LEHMANN DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DENGAN

COVER IMAGE BITMAP UNTUK KEAMANAN DATA TEXT SKRIPSI HERMANDA IHUT TUA SIMAMORA

  

081401079

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

  

2013 SKRIPSI

  Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

  HERMANDA IHUT TUA SIMAMORA 081401079 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

  2013

  i

  PERSETUJUAN

  Judul : IMPLEMENTASI ALGORITMA ELGAMAL DENGAN PEMBANGKIT BILANGAN LEHMAN DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DENGAN COVER IMAGE BITMAP UNTUK KEAMANAN DATA TEXT

  Kategori : SKRIPSI Nama : HERMANDA IHUT TUA SIMAMORA Nomor Induk Mahasiswa : 081401079 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

  INFORMASI Diluluskan di

  Medan, 27 Agustus 2013 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Handrizal, Ssi, M.Comp.Sc M. Andri , ST, M.Comp.Sc, MEM NIP.- NIP. 197510082008011011 Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001 ii iii

  PERNYATAAN

  IMPLEMENTASI ALGORITMA ELGAMAL DENGAN PEMBANGKIT BILANGAN PRIMA LEHMANN DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB)

  DENGAN COVER IMAGE BITMAP UNTUK KEAMANAN DATA TEXT SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

  Medan, 20 Agustus 2013 HERMANDA IHUT TUA SIMAMORA NIM. 081401079 iv

  PENGHARGAAN

  Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas berkat dan kasih karunia- nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

  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 Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

  2. Ibu Maya Silvi Lydia, BSc. MSc sebagai Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

  3. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

  4. Bapak M. Andri Budiman, ST, MCompSc, MEM dan Bapak Handrizal, Ssi, M.Comp.Sc selaku pembimbing yang telah membimbing penulis sehingga penulis dapat menyelesaikan skripsi ini.

  5. Bapak Ade Candra, ST, M.Kom dan Bapak Herriyance, ST, M.Kom. sebagai dosen penguji yang telah memberikan saran dan kritikan yang sangat berguna bagi Penulis.

  6. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.

  7. Ayahanda tercinta M. Simamora dan Ibunda tercinta D. Pasaribu, kakak saya Triyanti Simamora SE, Tiur Yulianta Simamora S.Kep, adik saya Betty Sonia Simamora yang selalu memberikan doa, motivasi dan dukungannya baik materi maupun spiritual serta semangat yang diberikan selama kuliah dan menyelesaikan skripsi ini.

  8. Dan juga kepada teman-teman seperjuangan angkatan 2008 program studi S1 Ilmu Komputer USU, terkhusus kepada: Angga Malau, Ria Marpaung , Juwita Pasaribu , Rosalina Situmorang, Brikson Barus , Elieser Hutapea , Harry Davidson, Johannes Hutabarat dan Octavianus Sianturi yang telah berbagi kebersamaan selama berada di S1 Ilmu Komputer

  Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.

  Medan, 27 Agutus 2013 Penulis v

  Pada saat ini, banyak data atau informasi user yang dicuri oleh orang yang tidak berkepentingan, sehingga berkembanglah beberapa teknik keamanan, dimana salah satunya kriptografi. Pada kriptografi, data akan diacak sehingga tidak dapat dibaca dan dimengerti oleh orang lain. Kriptoanalisis adalah teknik yang digunakan untuk memecahkan kriptografi, sehingga data acak dapat dikembalikan ke data asli, sehingga kriptografi tidak sepenuhnya aman. Untuk mendapatkan keamanan yang lebih kuat, maka akan digabungkan kriptografi dengan steganografi. Algoritma kriptografi yang akan digunakan adalah ElGamal dengan pembangkit bilang prima lehmann, sedangkan algoritma steganografi yang akan digunakan adalah least significant bit (LSB). Data atau informasi terlebih dahulu dienkripsi dengan algoritma ElGamal, kemudian disisipkan kedalam sebuah citra dengan algoritma LSB, sehingga hasil dari enkripsi dan steganografi tidak akan menimbulkan kecurigaan bagi pihak lain. Berdasakan pengujian, untuk mengenkripsi dan menyisipkan pesan 20 hingga 60 karakter, dibutuhkan waktu kurang dari 3 detik, sedangkan waktu untuk ekstraksi dan dekripsi kurang dari 1 detik, serta perubahan citra tidak tampak oleh mata. Oleh karena itu, dapat disimpulkan bahwa dengan menggabungkan kriptografi dan steganogrofi maka keamanan data lebih kuat dan kinerja dari program adalah baik.

  Kata kunci : Bitmap Image, ElGamal, Least Signifcant bit (LSB), Lehmann, Kriptografi, Teks. vi

  IMPLEMENTATION OF ELGAMAL ELGORITHM USING LEHMANN'S PRIME GENERATOR AND LEAST SIGNIFICANT BIT ALGORITHM WITH BITMAP COVER IMAGE TO SECURE TEXT DATA. ABSTRACT

  At this time, a lot of data or user information stolen by people who are not interested, so it develops some security techniques, one of which cryptography. Using cryptography, the data will be encrypted so it can not be read and understood by others. Cryptanalysis is the technique used to solve cryptography, so that random data can be restored to the original data, so cryptography is not completely secure. In order to obtain stronger security, it will be combined steganography with cryptography. Cryptographic algorithms that will be used is ElGamal , whereas steganography algorithms that will be used is the least significant bit (LSB). Data or information will encrypted with ElGamal algorithm, and then inserted into an image with the LSB algorithm, so that the results of encryption and steganography would not arouse suspicion for others. Based on the testing, to encrypt and insert messages 20 to 60 characters, it takes less than 3 seconds, while the time for extraction and decryption of less than 1 second, and the image changes are not visible to the eye. Therefore, it can be concluded that by combining cryptography and steganography, it will obtain the stronger security and the performance of the program is good.

  Keyword : Cryptography, Bitmap Image, ElGamal, Least Significant Bit (LSB), Lehmann, Text.

  Halaman Persetujuan ii

  13

  15

  2.5.1 Definisi Steganografi

  15

  2.5 Steganografi

  14

  2.4.4 Primitive Root

  2.4.3 Modulo Eksponensial

  16

  12

  2.4.2 Bilangan Prima

  12

  2.4.1 Aritmatika Modulo

  12

  2.4 Landasan Matematika Kriptografi

  2.5.2 Teknik Steganografi

  2.5.3 Least Significant Bit (LSB)

  2.3.2 Contoh Perhitungan Elgamal

  23

  26

  2.9.3 Class Diagram

  25

  2.9.2 Activity Diagram

  23

  2.9.1 Use Case Diagram

  2.9 Unified Modelling Language

  17

  21

  2.8 Tabel ASCII

  20

  2.7.1 Citra Bitmap (BMP)

  19

  2.7 Citra Digital

  9

  9

  Pernyataan iii

  1

  2

  1.3 Batasan Masalah

  2

  1.2 Rumusan Masalah

  1

  1.1 Latar Belakang

  Bab 1 Pendahuluan

  3

  Daftar Gambar x

  Daftar Tabel ix

  Daftar Isi vii

  Abstract vi

  Abstrak v

  Penghargaan iv

  1.4 Tujuan Penelitian

  1.5 Manfaat Penelitian

  2.3.1 Pembangkit Bilangan Prima Lehmann

  7

  8

  2.3 Algoritma ElGamal

  7

  2.2.2 Algoritma Asimetris

  7

  2.2.1 Algoritma Simetris

  2.2 Jenis Algoritma Kriptografi

  3

  6

  2.1 Definisi dan Tujuan Kriptografi

  6

  4 Bab 2 Tinjauan Pustaka

  1.7 Sistematika Penulisan

  3

  1.6 Metode Penelitian

  2.9.4 Sequence Diagram 27 vii vii Bab 3 Analisis dan Perancangan

  28

  3.1 Analisis Sistem

  28

  3.1.1 Analisis Masalah

  28

  3.1.2 Analisis Persyaratan (Requirement Analysis)

  30

  3.1.2.1 Analisis Persyaratan Fungsional

  30

  3.1.2.2 Analisis Persyaratan Non-Fungsional

  30

  3.1.2.3 Pemodelan Persyaratan Sistem dengan Use Case

  31

  3.1.3 Analisis Proses Sistem

  40

  3.2 Perancangan Sistem

  45

  3.2.1 Class Diagram

  45

  3.2.2 Perancanga Antar Muka

  48 Bab 4 Implementasi dan Pengujian Aplikasi

  53

  4.1 Implementasi

  53

  4.1.1 Tampilan Halaman Utama

  53

  4.1.2 Tampilan Halaman Bangkitkan Kunci

  54

  4.1.3 Tampilan Halaman Enkripsi dan Penyisipan

  56

  4.1.4 Tampilan Halaman Ekstraksi dan Dekripsi

  60

  4.2 Pengujian Aplikasi

  64

  4.2.1 Langkah-langkah Bangkitkan Kunci

  66

  4.2.2 Langkah-langkah Pengujian Enkripsi dan Penyisipan

  66

  4.2.3 Langkah-langkah Pengujian Ekstraksi dan Dekripsi

  68

  4.2.4 Hasil Pengujian Enkripsi dan Penyisipan

  70

  4.2.5 Hasil Pengujian Ekstraksi dan Dekripsi

  75 Bab 5 Kesimpulan dan Saran

  79

  5.1. Kesimpulan

  79

  5.2. Saran

  80 Daftar Pustaka

  81

  DAFTAR TABEL Nomor Judul Halaman

  73

  34

  36

  38

  45

  70

  73

  73

  73

  21

  74

  74

  76

  76

  76

  77

  77

  32

  Dokumentasi Naratif Use Case Bangkitkan kunci Dokumentasi Naratif Use Case Enkripsi Dokumentasi Naratif Use Case Ektraksi dan dekripsi Kelas dan Atributnya Citra Hasil Enkripsi dan Penyisipan Waktu Enkripsi dan Penyisipan untuk Session I Waktu Enkripsi dan Penyisipan untuk Session II Waktu Enkripsi dan Penyisipan untuk Session III Waktu Enkripsi dan Penyisipan untuk Session IV Waktu Enkripsi dan Penyisipan untuk Session V Waktu Rata-Rata Enkripsi dan Penyisipan Waktu Ekstraksi dan Dekripsi untuk Session I Waktu Ekstraksi dan Dekripsi untuk Session II Waktu Ekstraksi dan Dekripsi untuk Session III Waktu Ekstraksi dan Dekripsi untuk Session IV Waktu Ekstraksi dan Dekripsi untuk Session V Waktu rata-rata Ekstraksi dan Dekripsi

  2.1

  4.3

  3.1

  3.2

  3.3

  3.4

  3.5

  4.1

  4.2

  4.4

  4.13 Daftar Karakter ASCII yang Digunakan Dokumentasi Naratif Program Enkripsi dan Steganografi.

  4.5

  4.6

  4.7

  4.8

  4.9

  4.10

  4.11

  4.12

  77 ix

  DAFTAR GAMBAR Nomor Judul Halaman

  27

  40

  39

  37

  35

  33

  31

  29

  26

  43

  25

  24

  18

  18

  17

  17

  16

  15

  41

  47

  Sequnce Diagram Ekstraksi dan Penyisipan Class Diagram untuk Sistem yang Dikembangkan Jframe Menu Utama Program Jframe Bangkitkan Kunci Jframe Enkripsi&Penyisipan Jframe Ekstraksi dan Dekripsi Jframe About Program Jframe Cara Penggunaan Program

  65

  74

  69

  69

  68

  68

  67

  67

  66

  60

  48

  56

  54

  53

  52

  51

  51

  50

  49

  Halaman Utama Halaman Bangkitkan Kunci Halaman Enkripsi dan Penyisipan Halaman Ekstraksi dan Dekripsi Citra DesktopWindows Proses Bangkitkan Kunci Buka File Pesan, Kunci, dan Gambar Proses Enkripsi dan Penyisipan Simpan File Citra Digital Hasil Enkripsi dan Penyisipan Buka File Gambar dan Kunci Proses Ekstraksi dan Dekripsi Simpan File Citra Grafik Waktu Enkripsi dan Penyisipan Grafik Waktu Ekstraksi dan Dekripsi

  Sequnce Diagram Enkripsi dan Penyisipan

  2.1

  3.1

  3.8

  3.7

  3.6

  3.5

  3.4

  3.3

  3.2

  2.10

  3.10

  2.9

  2.8

  2.7

  2.6

  2.5

  2.4

  2.3

  2.2

  3.9

  3.11

  Use Case Diagram Sistem yang Akan dikembangkan Activity Diagram Program Enkripsi dan Steganografi Activity Diagram Bangkitkan Kunci Activity Diagram Proses Enkripsi dan Penyisipan Activity Diagram Ekstraksi dan Dekripsi Sequence Diagram Bangkitkan kunci

  4.6

  4.14 Diagram Sistem Steganografi Proses Penyisipan dan Ekstraksi dalam Steganografi Cara mengakses bit dari gambar Cara mengakses bit text Menyisipkan bit-bit text file ke byte gambar Cara ekstraksi pesan dari Gambar Contoh Usecase pada Proses Penjualan Contoh Activity Diagram Contoh Class Diagram Contoh sequence Diagram Diagram Ishikawa untuk Analisis Permasalahan Sistem

  4.13

  4.12

  4.11

  4.10

  4.9

  4.8

  4.7

  4.5

  3.12

  4.4

  4.3

  4.2

  4.1

  3.16

  3.15

  3.14

  3.13

  78 x