IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER DRAFT SKRIPSI LIDYA ANDINY NASUTION 091401083

  IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER DRAFT SKRIPSI LIDYA ANDINY NASUTION 091401083 PROGRAM STUDI S- 1 I LMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNI VERSI TAS SUMATERA UTARA 2 0 1 3

  

IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN

STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN

PENYISIPAN MENGGUNAKAN FUNGSI LINIER

SKRIPSI

  

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana

Ilmu Komputer

LIDYA ANDINY NASUTION

091401083

  

PROGRAM STUDI S- 1 I LMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNI VERSI TAS SUMATERA UTARA

2 0 1 3

  PERSETUJUAN

Judul : IMPLEMENTASI KRIPTOGRAFI ALGORITMA

ELGAMAL DENGAN STEGANOGRAFI TEKNIK

LEAST SIGNIFICANT BIT (LSB) BERDASARKAN

  PENYISIPAN MENGGUNAKAN FUNGSI LINIER Kategori : SKRIPSI Nama : LIDYA ANDINY NASUTION Nomor Induk Mahasiswa : 091401083 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

  INFORMASI Diluluskan di Medan, Komisi Pembimbing :

  Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si, M.Kom Drs. Partano Siagian,M.Sc NIP. 198307232009122004 NIP. 195112271980031001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

  PERNYATAAN

  IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL DENGAN TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) BERDASARKANPENYISIPAN MENGGUNAKAN FUNGSI LINIER SKRIPSI

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

  Medan, November 2013 Lidya Andiny Nasution 091401083

  PENGHARGAAN Dengan mengucapkan puji dan syukur kehadirat Allah SWT atas segala rahmat, hidayah serta karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

  Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar– besarnya kepada :

  

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K)

selaku Rektor Universitas Sumatera Utara.

  

2. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer

dan Teknologi Informasi Universitas Sumatera Utara.

  3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu

Komputer Universitas Sumatera Utara dan Pembanding I yang telah memberikan

kritik dan saran dalam penyempurnaan skripsi ini.

  4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

  5. Bapak Drs. Partano Siagian,M.Sc yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

  6. Ibu Dian Rachmawati,S.Si,M.Kom selaku Dosen Pembimbing II yang dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

  7. Bapak Syahriol Sitorus,S.Si,MIT selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

  8. Ayahanda M. Yusuf Nasution dan Ibunda Fatimah Dalimunthe yang selalu

memberikan doa dan dukungan serta kasih sayang kepada penulis yang terus

memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.

  9. Abangda Nandar Afriza atas semangat, dukungan, perhatian dan pengertian terhadap penulis selama proses penyelesaian skripsi ini.

  10. Teman-teman terdekat, terutama Nadya Soraya Hardiyana, Fithri Rizqi Khairani Nst, Pocut Rizky, dan Dewi Ayu Pratami atas semangat dan dorongannya sehingga penulis dapat menyelesaikan skripsi ini. Dan juga untuk Ismail Fata Lubis, Dessy

Winda sari Manurung, dan teman-teman seangkatan 2009 lainnya yang telah

membantu penulis dalam menyelesaikan skripsi ini.

11. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu- persatu.

  Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.

  Medan, November 2013 Penulis

  

ABSTRAK

  Kerahasiaan pesan atau data yang dimiliki oleh seseorang merupakan suatu hal yang penting. Pengamanan kerahasian pesan dapat menggunakan pengamanan pesan seperti kriptografi dan steganografi. Pada penelitian ini digunakan algoritma kriptografi ElGamal dan teknik Steganografi Least Significant Bit (LSB). Algoritma ElGamal menggunakan fermat’s little theorem untuk pengecekan bilangan prima yang digunakan. Teknik steganografi least significant bit (LSB) menggunakan fungsi linier untuk menentukan letak pixel yang akan disisipkan pesan rahasia. Proses dari sistem ini adalah pesan rahasia berformat *.txt atau input langsung dari sistem dan kunci publik dan private yang diinput langsung dari sistem, kemudian kunci publik y dihitung dengan menggunakan kunci publik p, g dan k serta kunci private x yang digunakan pada proses enkripsi untuk menghasilkan ciphertext. Ciphertext digunakan sebagai pesan yang akan disisipkan (embedding) dengan menggunakan teknik least significant bit (LSB) berdasarkan fungsi linier ke dalam coverimage berformat *.bmp dan menghasilkan stegoimage. Kemudian stegoimage diekstraksi dan mengeluarkan pesan rahasia (ciphertext) yang disisip pada citra. Pesan rahasia yang diperoleh dari proses ektraksi didekripsi untuk mendapatkan pesan asli dari pesan rahasia dengan menggunakan kunci publik p dan kunci private x. Pada proses pengujian enkripsi menggunakan teks dengan panjang karakter 115, 8 dan 6 menghasilkan jumlah ciphertext dua kali lebih besar dari plaintext yaitu 230, 16 dan 12, sedangkan pada proses embedding digunakan citra berukuran 2,14 MB, 81,2 KB dan 2,82 MB menghasilkan citra yang berukuran lebih besar yaitu 2,86 MB, 1,47 MB dan 30,4 MB.

  

Katakunci : Kriptografi, ElGamal, Steganografi, Least Significant Bit,

Fermat’s Little Theorem, Fungsi Linier.

  ABSTRACT Confidentiality of messages or data is owned by a person is an important thing.

  Safeguarding of confidentiality of the message can use a security message like Cryptography and steganography. This research used ElGamal algorithms for cryptographic and Least Significant Bit (LSB) techniques for Steganography.

  ElGamal algorithm use fermat's little theorem for checking prime numbers are used. Techniques least significant bit (LSB) of Steganography using a linear function to determine the location of the pixel to be inserted the secret message. The process of this system is the secret message format *.txt or input directly from the system and the public and private keys that are input directly from the system, then the public key y is computed using the public key p, g, k and private key x used in encryption process to produce ciphertext. Ciphertext is used as the message will be inserted (embedding) using the technique of least significant bit (LSB) based on a linear function into coverimage format *. bmp and produces stegoimage. Secret message obtained from the extraction process is decrypted to get the original message of the secret message using the public key p and private key x. In the process of testing the encryption using the text with character length 115, 8 and 6 produce amount of ciphertext two times bigger than the plaintext that is 230, 16 and 12, while in the process of embedding used image size of 2.14 MB, 81.2 KB and 2.82 MB produce much larger image size is 2.86 MB, 1.47 MB and 30.4 MB.

  

Keyword: Cryptography, ElGamal, Steganography, Least Significant Bit,

Fermat’s Little Theorem, Liniear Function.

  

DAFTAR ISI

Halaman

  12

   8

  2.4.1 Algoritma Simetris

  8

  2.4.2 Algoritma Asimetris

  9

  2.4.3 Algoritma ElGamal

  9

  2.5 Bilangan Prima

  11

  2.6 Aritmatika Modulo

  12

  2.7 Fermat’s Little Theorem

  2.8 Citra Digital

  7

  13

  2.8.1 Bitmap

  13

  2.8.2 PNG

  14

  2.8.3 JPEG

  14

  2.9 Steganografi

  15

  2.10Least Significant Bit

  17

  2.11Fungsi Linier

  2.4 Jenis Algoritma Kriptografi Berdasarkan Jenis Kunci

  2.3 Tujuan Kriptografi

  Persetujuan ii

  2

  Pernyataan iii

  Penghargaan iv

  Abstrak vi

  Abstract vii

  Daftar Isi viii

  Daftar Tabel xi

  Daftar Gambar xii

  Daftar Lampiran xiv

  Bab 1 Pendahuluan

  1.1 Latar Belakang

  1

  1.2 Rumusan Masalah

  1.3 Batasan Masalah

   7

  2

  1.4 Tujuan Penelitian

  3

  1.5 Manfaat Penelitian

  3

  1.6 Metode Penelitian

  3

  1.7 Sistematika Penulisan 4

  Bab 2 Landasan Teori

  2.1 Kriptografi

  6

  2.2 Enkripsi dan Dekripsi

  18 Bab 3 Analisis dan Perancangan Sistem

  3.1 Analisis Sistem

  60

  4.1.4 Halaman About

  63

  4.1.3 Halaman ExtractionDecryption

  61

  4.1.2 Halaman EncryptionEmbedding

  60

  4.1.1 Halaman Utama (Home)

  58 Bab 4 Implementasi dan Pengujian

  4.1.5 Halaman Help

  3.5.5 Halaman Help

  58

  3.5.4 Halaman About

  56

  3.5.3 Halaman ExtractionDecryption

  54

  3.5.2 Halaman EncryptionEmbedding

  65

  66

  3.5.1 Halaman Utama (Home)

  4.2.5 Hasil Pengujian Proses Enkripsi (Encryption)

  79

  4.2.8 Hasil Pengujian Proses Dekripsi (Decryption)

  77

  4.2.7 Hasil Pengujian Proses Ekstraksi (Extraction)

  76

  4.2.6 Hasil Pengujian Proses Penyisipan (Embedding)

  74

  73

  4.2 Pengujian Sistem

  4.2.4 Pengujian Proses Dekripsi (Decryption)

  71

  4.2.3 Pengujian Proses Ekstraksi (Extraction)

  69

  4.2.2 Pengujian Proses Penyisipan (Embedding)

  66

  4.2.1 Pengujian Proses Enkripsi (Encryption)

  66

  53

  52

  19

  3.2.1. Use Case Diagram

  44

  3.3 Pseudocode

  42

  3.2.3 Sequence Diagram

  41

  3.2.2 Activity Diagram

  31

  31

  44

  3.2 Pemodelan Sistem

  21

  3.1.3 Analisis Proses

  19

  3.1.2 Analisis Kebutuhan

  19

  3.1.1 Analisis Masalah

  3.3.1 Pseudocode Enkripsi

  3.3.2 Pseudocode Dekripsi

  3.5 Perancangan Antar Muka (Interface)

  48

  51

  3.4.5 Flowchart Proses Extraction pada Metode Least Significant Bit (LSB) dengan Fungsi Linier

  50

  Bit (LSB) dengan Fungsi Linier

  3.4.4 Flowchart Proses Embedding pada Metode Least Significant

  49

  3.4.3 Flowchart Proses Dekripsi pada Algoritma ElGamal

  3.4.2 Flowchart Proses Enkripsi pada Algoritma ElGamal

  45

  47

  3.4.1 Flowchart Gambaran Umum Sistem

  47

  3.4 Flowchart

  46

  3.3.4 Pseudocode Extraction

  45

  3.3.3 Psedocode Embedding

4.1 Implementasi

  Bab 5 Kesimpulan dan Saran

  5.1 Kesimpulan

  82

  5.2. Saran

  82 Daftar Pustaka

  83

  

DAFTAR TABEL

Nomor Tabel Nama Tabel Halaman

  33

  37

  36

  36

  35

  34

  34

  33

  38

  32

  30

  29

  27

  26

  25

  37

  38

  16

  78

  81

  81

  80

  80

  79

  78

  77

  39

  76

  76

  75

  75

  74

  40

  40

  17

  4.14 Tabel contoh dari Hiddentext, Coverimage dan Stegoimage Proses Penyisipan Least Significant Bit (LSB) Biner Ciphertext Biner Pixel Penyisipan Pesan Pengubahan Biner Pixel Desimal Ciphertext Spesifikasi Use Case Encryption - Embedding Spesifikasi Use Case Input Kunci Kriptografi Spesifikasi Use Case Input Plaintext Spesifikasi Use Case Encryption Spesifikasi Use Case Input Kunci Steganografi Spesifikasi Use Case Input Coverimage Spesifikasi Use Case Embedding Spesifikasi Use Case Save Stegoimage Spesifikasi Use Case ExtractionDecryption Spesifikasi Use Case Input Kunci Steganografi Spesifikasi Use Case Input Stegoimage Spesifikasi Use Case Extraction Spesifikasi Use Case Input Kunci Kriptografi Spesifikasi Use Case Decryption Spesifikasi Use Case Save Pengujian Proses Encryption tezt 2.txt Pengujian Proses Encryption nama.txt Pengujian Proses Encryption komA.txt Pengujian Proses Embedding 1000x750.bmp Pengujian Proses Embedding image2.bmp Pengujian Proses Embedding IMG_4881.bmp Pengujian Proses Extraction pengujian1000x750.bmp Pengujian Proses Extraction penguimage2.bmp Pengujian Proses Extraction hasilnya2.bmp Pengujian Proses Decryption tezt 2.txt Pengujian Proses Decryption nama.txt Pengujian Proses Decryption komA.txt Perbandingan Panjang Teks Plaintext dan Ciphertext Perbanndingan Ukuran Citra Coverimage dan Stegoimage

  2.1

  3.7

  3.13

  3.12

  3.11

  3.10

  3.9

  3.8

  3.6

  3.15

  3.5

  3.4

  3.3

  3.2

  3.1

  2.2

  3.14

  3.16

  4.13

  4.6

  4.12

  4.11

  4.10

  4.9

  4.8

  4.7

  4.5

  3.17

  4.4

  4.3

  4.2

  4.1

  3.20

  3.19

  3.18

  81

  

DAFTAR GAMBAR

Nomor Gambar Nama Gambar

  16

  49

  48

  44

  43

  42

  41

  31

  19

  15

  51

  14

  13

  10

  9

  8

  7

  Message Box Tidak Bisa Dilakukan Penyisipan Gambar

  Tampilan Hasil Proses Enkripsi Hasil Pemilihan Citra Sebagai Coverimage Tampilan Hasil Proses Penyisipan (Embedding)

  50

  52

  255

  67

  71

  70

  69

  68

  68

  68

  67

  67

  66

  53

  65

  64

  62

  61

  60

  59

  58

  56

  54

  Message Box Invalid Random Number g Message Box Invalid Random Number x Message Box Invalid Random Number k

  Message Box Invalid Prime Number Bukan Prima;

Message Box Invalid Prime Number Harus Lebih Besar dari

  Halaman

  3.2

  3.10

  3.9

  3.8

  3.7

  3.6

  3.5

  3.4

  3.3

  3.1

  3.12

  2.8

  2.7

  2.6

  2.5

  2.4

  2.3

  2.2

  2.1

  3.11

  3.13

  Halaman Encryption-Embedding Halaman Extraction-Decryption Halaman Menu About Halaman Menu Help Hasil Pemilihan File Text Pada Proses Enkripsi

  4.10

  Interface Halaman Utama Interface Menu Encryption-Embedding Interface Menu Extraction-Decryption Interface Menu About Interface Menu Help Interface Form Halaman Utama (Home) Submenu Halaman Utama (Home)

  (LSB) dengan Fungsi Linier

  Diagram Ishikawa Use Case Diagram Sistem Activity Diagram Proses Encryption-Embedding Activity Diagram Proses Extraction-Decryption Sequence Diagram Proses Encryption-Embedding Sequence Diagram Proses Encryption-Embedding Flowchart Gambaran Umum Sistem Flowchart Proses Enkripsi pada Algoritma ElGamal Flowchart Proses Dekripsi pada Algoritma ElGamal

Flowchart Proses Embedding pada Metode Least Significant

Bit (LSB) dengan Fungsi Linier

Flowchart Proses Extraction pada Metode Least Significant Bit

  4.15 Proses Umum Kriptografi Skema Kriptografi Simetris Skema Kriptografi Asimetris Sistem Kriptografi Algoritma ElGamal Contoh File Citra Bitmap Contoh File Citra PNG Contoh File Citra JPEG Diagram Penyisipan dan Ekstraksi Pesan

  4.14

  4.13

  4.12

  4.11

  4.9

  3.14

  4.7 4.8 (a) 4.9 (b)

  4.6

  4.5

  4.4

  4.3

  4.2

  4.1

  3.16

  3.15

  71

  4.16 Tampilan Hasil Pemilihan Stegoimage

  72

  4.17 Tampilan Hasil Proses Ekstraksi (Extraction)

  73

  4.18 Message Box yang Menyatakan Nilai m dan b Tidak Sama

  73 dengan Proses Penyisipan (Embedding)

  4.19 Tampilan Hasil Proses Dekripsi (Decryption)

  74