• Tidak ada hasil yang ditemukan

Implementasi kombinasi Algoritma Kriptografi End Of Fil Pada Pengamanan Data Teks

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi kombinasi Algoritma Kriptografi End Of Fil Pada Pengamanan Data Teks"

Copied!
116
0
0

Teks penuh

(1)

IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA

PENGAMANAN DATA TEKS

SKRIPSI

ANNISSA FADILLA

101401072

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA

PENGAMANAN DATA TEKS

SKRIPSI

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

ANNISSA FADILLA 101401072

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJ UAN

Judul : IMPLEMENTASI KOMBINASI ALGORITMA

KRIPTOGRAFI LUC DAN STEGANOGRAFI END

OF FILE PADA PENGAMANAN DATA TEKS

Kategori : SKRIPSI

Nama : ANNISSA FADILLA

Nomor Induk Mahasiswa : 101401072

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI)

Diluluskan di

Medan, 9 Desember 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri Budiman, ST, M.Comp.Sc, MEM Dr. Elviawaty Muisa Zamzami, ST, MT, MM

NIP.197510082008011011 NIP.197007162005012002

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom

(4)

PERNYATAAN

IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA

PENGAMANAN DATA TEKS

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, September 2014

Annissa Fadilla

(5)

PENGHARGAAN

Segala puji dan syukur bagi Allah SWT, atas segala limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Tidak lupa juga shalawat dan salam kepada tauladan umat Rasululloh Muhammad SAW.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof.Dr.dr.Syahril Pasaribu, DTM&H, MSc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara

2. Bapak Prof.Dr.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.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan dosen pembanding II yang telah memberikan kritik dan saran guna memperbaiki kesalahan yang ada pada skripsi ini

5. Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM selaku dosen pembimbing I yang telah memberikan bimbingan, kritik, dan saran kepada penulis dalam menyelesaikan skripsi ini

6. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku dosen pembimbing II yang memberikan bimbingan, kritik, saran dan dukungan kepada penulis mulai dari tahap pengambilan judul skripsi hingga penulis menyelesaikan skripsi ini.

7. Ibu Dian Rachmawati, S.Si, M.Kom selaku dosen pembanding I yang telah memberikan kritik dan saran guna memperbaiki kesalahan yang ada pada skripsi ini.

(6)

9. Seluruh dosen dan pegawai Program studi S1 Ilmu Komputer Fasilkom-TI USU

10. Ayahanda Ery Isnanto yang selalu memberikan kasih sayang, doa dan dukungan kepada penulis, Ibunda Almh Nazariah Hanum sosok yang selalu mengajarkan tentang kesabaran, usaha dan doa, serta adinda Muhammad Fadil Abdillah yang selalu memberikan doa dan dukungannya kepada penulis.

11. Sahabat yang selalu saling mendoakan dan memberi dukungan Zulwita Hariyati, Devina Pratiwi Halim, Nurul Ulfah Primadini, Uswatun Hasanah, Fanny Fairina Nadyaningrum, Aulia Akbar Harahap, Auliza Nanda Nasution, Bernard Darius Tarigan, Abangda Ahmad Royhan Putra Siregar dan Kakanda Fauzana Sudirman. Sahabat yang telah banyak membantu penulis Nurhennida Br. Sitepu serta teman-teman stambuk 2010 yang tidak dapat penulis sebutkan satu per satu.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna untuk itu penulis menerima kritik dan saran yang membangun agar dapat menyempurnakan skripsi ini. Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.

Medan, September 2014

(7)

ABSTRAK

Perkembangan teknologi informasi yang semakin melesat dewasa ini memberikan kemudahan bagi siapa saja dalam melakukan komunikasi ataupun pertukaran informasi. Di sisi lain, dengan kemudahan tersebut timbul juga permasalahan lain dalam hal keamanan dan kerahasiaan data yang dapat terganggu oleh tindakan kejahatan komputer seperti penyadapan, perusakan ataupun pencurian data dan informasi. Kombinasi kriptografi dan steganografi dapat menjadi salah satu solusi untuk mencegah tindak kejahatan komputer tersebut. Kriptografi merupakan seni atau ilmu untuk menjaga keamanan data dengan cara mengacak data atau pesan. Sedangkan steganografi merupakan ilmu dan seni untuk menyembunyikan pesan dalam suatu media lain. Pada penelitian ini, pesan atau file teks yang akan dikirim terlebih dahulu enkripsi dengan algoritma kriptografi LUC, selanjutnya hasil enkripsi akan disembunyikan pada suatu file citra dengan format bitmap dengan menggunakan metode steganografi End of File. Kemudian dilakukan proses ekstraksi pesan dari dalam citra untuk selanjutnya di dekripsi agar kembali menjadi pesan asli. Implementasi sistem menggunakan MatLab R2012a. Sistem diuji dengan melakukan proses enkripsi dan dekripsi, serta penyisipan dan ekstraksi pesan hingga 100.000 karakter. Hasil pengujian menunjukkan bahwa panjang karakter yang dienkripsi dan didekripsi berbanding lurus dengan kecepatan waktu eksekusi.

(8)

IMPLEMENTATION OF COMBINATION OF CRYPTOGRAPHY LUC ALGORITHM AND STEGANOGRAPHY END OF FILE

ON DATA TEXT SECURITY

ABSTRACT

The rapid development in information technology these days provides the convenience for everyone to communicate or exchange information. On the other hand, along with those conveniences, another problem arises in terms of security and confidentiality of the data that can be disrupted by computer criminality, such as tapping, theft or destruction of data and information. The combination of cryptography and steganography can be one of the solutions to prevent such computer criminality. Cryptography is an art or knowledge to secure data by scrambling the data or message. Meanwhile, steganography is a knowledge and art to hide messages in other media. In this research, messages or file text that will be sent is encrypted first with LUC algorithm, and then the ciphertext will be hidden in an image file with a bitmap format using the steganography End of File method. Later on, extraction will be done to the message in the image to be decrypted to the original message. Implementation of the system will use MatLab R2012a. System was tested by performing encryption and decryption process, as well as the embedding and extraction of the message to 100.000 characters. The test result showed that the length of the encrypted and decrypted character is proportional to the speed of the execution time.

(9)

DAFTAR ISI

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

Bab II Landasan Teori

2.1 Teori Bilangan 6

2.2.1 Algoritma Simetris 10

2.2.2 Algoritma Asimetris (Public Key Algorithm) 11 2.2.3 Algoritma Asimetris Non Public Key 12

2.3 Algoritma Kriptografi LUC 12

2.3.1 Pembangkitan Kunci LUC 13

2.3.2 Lehmann Prime Generator 13

2.3.3 Algoritma Enkripsi LUC 14

2.3.4 Algoritma Dekripsi LUC 15

2.4 Steganografi 15

2.4.1 Steganografi End of FIle 16

(10)

Bab III Analisis dan Perancangan

3.1 Analisis Algoritma Kriptografi LUC dan Steganografi End of File 19 3.1.1 Analisis Algoritma Kriptografi LUC 19

3.2 Analisis Sistem 26

3.2.1 Analisis Persyaratan 26

3.2.1.1 Analisis Persyaratan Fungsional 26 3.2.1.2 Analisis Persyaratan Non Fungsional 26

3.2.2 Analisis Masalah 27

3.3 Perancangan Sistem 28

3.3.1 Flowchart Sistem 28

3.3.1.1 Flowchart Proses Pembangkitan Kunci 28 3.3.1.2 Flowchart Proses Enkripsi/Penyisipan 30 3.3.1.3 Flowchart Proses Ekstraksi/Dekripsi 31 3.3.1.4 Flowchart Lehmann Primw Generator 32

3.3.2 UML Diagram 32

3.3.4 Interface Sistem 43

3.3.4.1 Tampilan Halaman Utama 44 3.3.4.2 Tampilan Menu Key Generator 45 3.3.4.3 Tampilan Submenu Enkripsi/Penyisipan 46 3.3.4.4 Tampilan Submenu Ekstraksi/Dekripsi 47

3.3.4.5 Tampilan Menu About 49

3.3.4.6 Tampilan Menu Help 49

Bab IV Implementasi dan Pengujian

(11)

4.1.1.5 Tampilan Halaman Menu About 55 4.1.1.6 Tampilan Halaman Menu Help 55

4.2 Pengujian Sistem 56

4.2.1 Pengujian Proses Pembangkitan Kunci 56 4.2.2 Pengujian Proses Enkripsi dan Penyisipan 57 4.2.3 Pengujian Proses Ekstraksi dan Dekripsi 63

4.3 Hasil Pengujian 65

4.3.1 Hasil Pengujian Proses Enkripsi LUC 65 4.3.2 Hasil Pengujian Proses Penyisipan End of File 67 4.3.3 Hasil Pengujian Proses Ekstraksi End of File 71 4.3.4 Hasil Pengujian Proses Dekripsi LUC 73

Bab V Kesimpulan dan Saran

5.1 Kesimpulan 76

5.2 Saran 76

(12)

DAFTAR TABEL

Halaman

Tabel 2.1 Perhitungan barisan Lucas sampai n=10 13 Tabel 3.1 Proses perhitungan kunci dekripsi d 20 Tabel 3.2 Spesifikasi Use Case Pembangkit Kunci 33 Tabel 3.3 Spesifikasi Use Case Enkripsi/Penyisipan 34 Tabel 3.4 Spesifikasi Use Case Ekstraksi/Dekripsi 35

Tabel 4.1 Perhitungan Proses Enkripsi 66

Tabel 4.2 Rincian Waktu Proses Enkripsi 67

Tabel 4.3 Rincian Waktu Proses Penyisipan (Embedding) 68 Tabel 4.4 Rincian ukuran citra ynag dihasilkan berdasarkan jumlah karakter pesan 69

Tabel 4.5 Rincian Waktu Proses Ekstraksi 72

Tabel 4.6 Perhitungan Proses Dekripsi 73

Tabel 4.7 Rincian Waktu Proses Dekripsi 74

Tabel 4.8 Hasil percobaan waktu proses enkripsi dan dekripsi dengan beberapa kunci

(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Skema Kriptografi Algoritma Simetris 10 Gambar 2.2 Skema Kriptografi Algoritma Asimetris 11 Gambar 2.3 Skema Kriptografi Algoritma Non Public Key 12 Gambar 2.4 Perbedaan Steganografi dan Kriptografi 16

Gambar 2.5 Citra *bmp true color 16

Gambar 2.6 Citra setelah disisip pesan 17

Gambar 3.1 Diagram Ishikawa Masalah Penelitian 28

Gambar 3.2 Flowchart Pembangkitan Kunci 29

Gambar 3.3 Flowchart Proses Enkripsi/Penyisipan 30 Gambar 3.4 Flowchart Proses Ekstraksi/Dekripsi 31 Gambar 3.5 Flowchart Pembangkit Bilangan Prima Lehmann 32

Gambar 3.6 Use Case Diagram Sistem 33

Gambar 3.7 Activity Diagram Proses Enkripsi/Penyisipan 36 Gambar 3.8 Activity Diagram Proses Ekstraksi/Dekripsi 37 Gambar 3.9 Sequence Diagram Proses Pembangkitan Kunci 38 Gambar 3.10 Sequence Diagram Proses Enkripsi/Penyisipan 39 Gambar 3.11 Sequence Diagram Proses Ekstraksi/Dekripsi 40 Gambar 3.12 Rancangan Halaman Utama Sistem 44

Gambar 3.13 Rancangan Menu Key Generator 45

Gambar 3.14 Rancangan Submenu Enkripsi/Penyisipan 46 Gambar 3.15 Rancangan Submenu Ekstraksi/Dekripsi 48

Gambar 3.16 Rancangan Menu About 49

Gambar 3.17 Rancangan Menu Help 50

Gambar 4.1 Tampilan Halaman Utama 51

Gambar 4.2 Tampilan Submenu pada Menu Process 52 Gambar 4.3 Tampilan Halaman Key Generator 52 Gambar 4.4 Tampilan Halaman Enkripsi/Penyisipan 53 Gambar 4.5 Tampilan Halaman Ekstraksi/Dekripsi 54

Gambar 4.6 Tampilan Halaman About 55

Gambar 4.7 Tampilan Halaman Help 56

Gambar 4.8 Hasil proses pembangkitan kunci 57 Gambar 4.9a Input Plaintext secara langsung 58 Gambar 4.9b Input Plaintext dengan memilih file teks 58 Gambar 4.10 Pesan dialog berupa untuk mengisi pesan terlebih dahulu 59 Gambar 4.11 Pesan dialog berupa peringatan kunci enkripsi dan nilai N tidak boleh

(14)

Gambar 4.13 User memilih citra *bmp sebagai citra cover 60 Gambar 4.14 Citra cover yang telah dipilih 61 Gambar 4.15 Citra Stego yang dihasilkan setelah proses penyisipan 62 Gambar 4.16 Proses penyimpanan citra stego 62

Gambar 4.17 User memilih citra stego 63

Gambar 4.18 Proses ekstraksi ciphertext dari citra stego 63 Gambar 4.19 Pesan dialog citra tidak menyimpan pesan rahasia 64 Gambar 4.20 Pesan dialog berupa peringatan kunci dekripsi dan nilai N tidak boleh

(15)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1

(16)

ABSTRAK

Perkembangan teknologi informasi yang semakin melesat dewasa ini memberikan kemudahan bagi siapa saja dalam melakukan komunikasi ataupun pertukaran informasi. Di sisi lain, dengan kemudahan tersebut timbul juga permasalahan lain dalam hal keamanan dan kerahasiaan data yang dapat terganggu oleh tindakan kejahatan komputer seperti penyadapan, perusakan ataupun pencurian data dan informasi. Kombinasi kriptografi dan steganografi dapat menjadi salah satu solusi untuk mencegah tindak kejahatan komputer tersebut. Kriptografi merupakan seni atau ilmu untuk menjaga keamanan data dengan cara mengacak data atau pesan. Sedangkan steganografi merupakan ilmu dan seni untuk menyembunyikan pesan dalam suatu media lain. Pada penelitian ini, pesan atau file teks yang akan dikirim terlebih dahulu enkripsi dengan algoritma kriptografi LUC, selanjutnya hasil enkripsi akan disembunyikan pada suatu file citra dengan format bitmap dengan menggunakan metode steganografi End of File. Kemudian dilakukan proses ekstraksi pesan dari dalam citra untuk selanjutnya di dekripsi agar kembali menjadi pesan asli. Implementasi sistem menggunakan MatLab R2012a. Sistem diuji dengan melakukan proses enkripsi dan dekripsi, serta penyisipan dan ekstraksi pesan hingga 100.000 karakter. Hasil pengujian menunjukkan bahwa panjang karakter yang dienkripsi dan didekripsi berbanding lurus dengan kecepatan waktu eksekusi.

(17)

IMPLEMENTATION OF COMBINATION OF CRYPTOGRAPHY LUC ALGORITHM AND STEGANOGRAPHY END OF FILE

ON DATA TEXT SECURITY

ABSTRACT

The rapid development in information technology these days provides the convenience for everyone to communicate or exchange information. On the other hand, along with those conveniences, another problem arises in terms of security and confidentiality of the data that can be disrupted by computer criminality, such as tapping, theft or destruction of data and information. The combination of cryptography and steganography can be one of the solutions to prevent such computer criminality. Cryptography is an art or knowledge to secure data by scrambling the data or message. Meanwhile, steganography is a knowledge and art to hide messages in other media. In this research, messages or file text that will be sent is encrypted first with LUC algorithm, and then the ciphertext will be hidden in an image file with a bitmap format using the steganography End of File method. Later on, extraction will be done to the message in the image to be decrypted to the original message. Implementation of the system will use MatLab R2012a. System was tested by performing encryption and decryption process, as well as the embedding and extraction of the message to 100.000 characters. The test result showed that the length of the encrypted and decrypted character is proportional to the speed of the execution time.

(18)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Keamanan dan kerahasiaan informasi merupakan hal yang sangat penting bagi suatu

individu, organisasi ataupun perusahaan. Suatu data atau informasi akan memiliki

nilai yang lebih tinggi jika menyangkut tentang aspek-aspek bisnis, keamanan ataupun

kepentingan umum. Informasi-informasi tersebut tentunya akan banyak diminati oleh

berbagai pihak yang juga memiliki kepentingan didalamnya. Terlebih lagi dengan

perkembangan teknologi informasi dewasa ini, yang memberikan kemudahan bagi

kita untuk melakukan komunikasi dan pertukaran informasi melalui internet. Hal ini

juga dapat meningkatkan tindakan kejahatan komputer yang dapat dilakukan melalui

teknologi yang biasa disebut dengan istilah cybercrime, seperti penyadapan, pencurian

ataupun perusakan data atau informasi.

Untuk melindungi dan menjaga kerahasiaan informasi agar terhindar dari

tindakan-tindakan kejahatan komputer oleh orang-orang yang tidak berhak, maka

salah satu cara yang dapat dilakukan adalah dengan memanfaatkan teknik kriptografi.

Kriptografi merupakan ilmu dan seni untuk menjaga keamanan pesan ketika pesan

dikirim dari suatu tempat ketempat yang lain [3]. Pesan asli disebut plaintext dan

pesan rahasia disebut ciphertext. Proses untuk mengubah plaintext menjadi ciphertext

disebut dengan enkripsi atau enciphering. Sebaliknya, proses mengubah ciphertext

menjadi plaintext disebut dengan dekripsi atau deciphering [9].

Salah satu metode kriptografi adalah algoritma LUC. Algoritma ini pertama

kali diperkenalkan oleh Peter J. Smith dan Michael J. J. Lennon pada tahun 1993 di

New Zealand. Algoritma ini merupakan algoritma kunci publik yang berbasis dari

Lucas Function [2].

Selain dengan kriptografi, cara lain yang dapat digunakan untuk melindungi

kerahasiaan informasi adalah dengan teknik steganografi. Steganografi merupakan

ilmu dan seni untuk menyembunyikan pesan dalam suatu media sehingga orang lain

tidak menyadari keberadaan pesan tersebut. Berbeda dengan kriptografi yang

(19)

kecurigaan dengan cara menyamarkan pesan tersebut [4]. Kombinasi antara

kriptografi dan steganografi ini diharapkan dapat menghasilkan perlindungan yang

lebih baik bagi pesan/informasi, yaitu dengan mengenkripsikan pesan terlebih dahulu

dengan teknik kriptografi, lalu menyembunyikan pesan yang telah dienkripsi dengan

teknik steganografi.

Sebelumnya Saputra et al. (2006) telah melakukan penelitian tentang

Kriptografi Teks dengan Menggunakan Algoritma LUC. Pada penelitian tersebut

dihasilkan enkripsi berupa teks yang telah disandikan dalam bentuk bilangan [12].

Selanjutnya Irawan (2013) juga melakukan penelitian tentang sistem keamanan pesan

pada Android dengan algoritma LUC yang berhasil mengenkripsi pesan huruf kapital

di Android Gingerbread (2.3.4) [7]. Selain itu Wandani (2012) melakukan penelitian

yang menerapkan sistem keamanan data dengan tenkik steganografi End of File dan

Rabin Public Key Cryptosystem. Penelitian tersebut berhasil menyisipkan pesan

rahasia yang sebelumnya telah dienkripsi ke dalam sebuah citra [16].

Berdasarkan pemaparan di atas, maka penulis akan mencoba melakukan

penelitian dengan judul “Implementasi Kombinasi Algoritma Kriptografi LUC dan

Steganografi End of File pada Pengamanan Data Teks”.

1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas pada penelitian ini adalah bagaimana

menerapkan kombinasi antara algoritma kriptografi LUC dengan steganografi End of

File untuk pengamanan data teks.

1.3 Batasan Masalah

Beberapa batasan masalah pada penelitian ini adalah sebagai berikut:

1. Pengujian bilangan prima yang digunakan adalah algoritma Lehmann

2. Pesan berupa inputan langsung dan dalam bentuk *.txt dan *.rtf

3. Media penyisipan pesan adalah citra true color 24 bit dengan format *.bmp

4. Pesan yang dapat dienkripsi adalah karakter-karakter didalam tabel ASCII

(American Standard Code for Information Interchange)

(20)

1.4Tujuan Penelitian

1. Mengetahui proses enkripsi dan dekripsi pesan teks dengan menggunakan

algoritma kriptografi LUC

2. Mengetahui proses penyisipan dan ekstraksi pesan teks dengan menggunakan

algoritma steganografi End of File

3. Merancang aplikasi yang mengkombinasikan algoritma kriptografi LUC dan

steganografi End of File

1.5 Manfaat Penelitian

Manfaat dari penelitian ini yaitu:

1. Menjaga keamanan dan kerahasiaan pesan yang akan dikirim/didistribusikan

dengan menerapkan algoritma kriptografi LUC dan teknik steganografi End of

File.

2. Sebagai bahan referensi bagi peneliti lain yang ingin melakukan penelitian

dalam bidang kriptografi dan steganografi

1.6 Metodologi Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah:

1. Studi literatur

Dilakukan pengumpulan bahan referensi yang dapat berupa buku, jurnal,

makalah, e-book, serta hasil penelitian yang berkaitan tentang algoritma

kriptografi LUC dan steganografi End of File.

2. Analisis dan Perancangan

Pada tahap ini, dilakukan analisis terhadap algoritma kriptografi LUC dan

steganografi End of File, serta analisis masalah dan analisis persyaratan sistem.

Selanjutnya dilakukan perancangan dalam bentuk flowchart, pseudocode dan

(21)

3. Implementasi

Algoritma kriptografi LUC dan steganografi End of File diimplementasikan

kedalam bentuk aplikasi perangkat lunak untuk pengamanan data teks

4. Pengujian

Pengujian dilakukan terhadap keberhasilan proses yang dilakukan dalam

kriptografi (pembangkitan kunci, enkripsi dan dekripsi) serta proses peyisipan dan

ekstraksi pesan rahasia.

5. Dokumentasi

Selama analisis dan perancangan sistem hingga pengujian, dilakukan

pendokumentasian berupa laporan skripsi.

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu:

BAB I PENDAHULUAN

Bab ini menjelaskan latar belakang judul skripsi ”Implementasi

Kombinasi Algoritma Kriptografi LUC dan Steganografi End of File

pada Pengamanan Data Teks”, rumusan masalah, batasan masalah,

tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika

penulisan.

BAB II LANDASAN TEORI

Bab ini berisi penjelasan mengenai sistem kriptografi dan teori-teori

dasar yang digunakan dalam algoritma LUC, serta steganografi End of

File.

BAB III ANALISIS DAN PERANCANGAN

Bab ini membahas analisis terhadap masalah peelitian dan perancangan

(22)

BAB IV IMPLEMENTASI DAN PENGUJ IAN

Bab ini berisi implementasi algoritma kriptografi LUC dan steganografi

End of File, pengujian terhadap sistem yang telah dibangun, serta

pembahasan hasil pengujian.

BAB V KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari keseluruhan uraian bab-bab

sebelumnya dan saran berdasarkan hasil pengujian yang diharapkan

(23)
(24)

BAB II

suatu bilangan x ∈ Z sehingga membentuk a = bx. Jika b tidak habis dibagi dengan a

atau b mod a ≠ 0, maka dapat dinotasikan sebagai a | b [9].

Contoh:

3 | 9 9 ÷ 3 = 3 atau 9 mod 3 = 0

3 | 5 5 ÷ 3 = 1,67 atau 5 mod 3 = 2

2.1.2 Greatest Common Divisor (GCD)

Misalkan a,b ∈Z dan a,b ≠ 0, maka ddisebut Greatest Common Divisor (GCD) atau

Faktor Persekutuan Terbesar (FPB) dari a dan b jika:

(i) d > 0

(ii) d|a dan d|b

dan dinotasikan sebagai d = gcd(a,b) [9].

Contoh:

Faktor Pembagi 15 = {1,3,5,15}

Faktor Pembagi 25 = {1,5,25}

Maka gcd(15,25) adalah 5

2.1.3 Algoritma Euclidean

Algoritma Euclidean merupakan algoritma yang digunakan untuk mencari gcd dari

dua bilangan bulat. Algoritma ini ditemukan oleh seorang matematikawan Yunani

bernama Euclid, yang menuliskan algoritmanya tersebut dalam bukunya yang

(25)

Misalkan m dan n adalah bilangan bulat tak negatif dengan m ≥ n. Misalkan r0

= m dan r1 = n. Lakukan pembagian secara berturut – turut untuk memperoleh

r0 = r1q1 + r2 0 ≤ r2 ≤ r1,

11 dan 7 relatif prima karena gcd(11,7) = 1

15 dan 5 tidak relatif prima karena gcd(15,5) = 0 ≠ 1

2.1.5 Least Common Multiple (LCM)

Misalkan a,b dan d ∈Z,d disebut Least Common Multiple atau Kelipatan Persekutuan

(26)

(i) d > 0

2.1.6 Ar itmatika Modulo

Misalkan a,m ∈Z dan m > 0, operasi a mod m (dibaca “a modulo m”) memberikan

jika memiliki sisa yang sama jika dibagi dengan bilangan positif m. Hal ini

(27)

Contoh:

Invers Modulo dari 4 mod 11

a-1 a-1. 4 (mod 11)

Secara etimologi, Kriptografi berasal dari bahasa Yunani, yaitu krypto dan graphia.

Kripto berarti rahasia dan graphia yang berarti tulisan. Menurut terminologinya

kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim

dari suatu tempat ketempat yang lain. Dalam perkembangannya, kriptografi juga

digunakan untuk mengidentifikasi pengiriman pesan dengan tanda tangan digital dan

keaslian pesan dengan sidik jari digital (fingerprint) [3].

Pada dasarnya, kriptografi terdiri dari beberapa komponen seperti [4]:

1. Enkripsi

Enkripsi merupakan hal yang sangat penting dalam kriptografi sebagai

pengamanan atas data yang dikirmkan agar rahasianya terjaga. Enkripsi

mengubah pesan asli (plaintext) menjadi kode-kode yang tidak dimengerti

(ciphertext).

2. Dekripsi

Dekripsi merupakan kebalikan dari proses enkripsi, yaitu mengubah kembali

pesan yang telah dienkripsi ke bentuk asalnya.

3. Kunci

Kunci yang dimaksud disini adalah kunci yang dipakai untuk melakukan proses

enkripsi dan dekripsi. Kunci terdiri atas dua, yaitu kunci pribadi (private key) dan

kunci publik (public key)

(28)

Ciphertext merupakan suatu pesan yang sudah melalui proses enkripsi. Pesan

yang ada pada ciphertext tidak bisa dibaca karena berisi karakter-karakter yang

tidak memiliki makna.

5. Plaintext

Plaintext merupakan suatu pesan bermakna yang akan diproses menggunakan

algoritma kriptografi agar menjadi ciphertext.

6. Pesan

Pesan bisa berupa data atau informasi yang dikirim melalui kurir, saluran

komunikasi data dan sebagainya.

7. Cryptanalysis

Cryptanalysis bisa diartikan sebagai analisis sandi untuk mendapatkan plaintext

tanpa harus mengetahui kunci secara wajar.

Adapun fungsi dari kriptografi adalah [13]:

- Confidentiality (Kerahaasiaan). Menjaga agar pesan tidak dapat dibaca oleh

pihak-pihak yang tidak berhak.

- Authentication (Otentikasi). Memungkinkan penerima pesan untuk

memastikan asal usulnya ; artinya seorang penyelundup tidak dapat

menyamarkan dirinya sebagai orang lain

- Integrity (Integritas Data). Memungkinkan penerima pesan untuk

membuktikan bahwa pesan tidak di modifikasi/manipulasi selama dalam

pengiriman; artinya seorang penyelundup tidak bisa menukar pesan yang asli

dengan pesan yang salah.

- Nonrepudiation (Non-Penyangkalan). Pengirim tidak bisa menyangkal bahwa

ia telah mengirimkan pesan.

2.2.1 Algoritma Simetris

Algoritma simetris merupakan algoritma yang menggunakan kunci yang sama pada

proses enkripsi dan dekripsinya. Algoritma simetris juga biasa disebut algoritma

konvensional. Sistem kriptografi dengan algoritma simetris ini mengasumsikan

pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan.

(29)

Gambar 2.1 Skema Kriptografi Algortma Simetris. [10].

Algoritma simetris dibagi menjadi dua kategori, yaitu stream cipher (cipher

aliran) dan block cipher. Stream cipher beroperasi dengan melakukan enkripsi dan

dekripsi terhadap satu bit atau satu byte data. Sedangkan block cipher beroperasi

dengan melakukan enkripsi dan dekripsi terhadap satu blok data [13].

Beberapa sistem kriptografi yang menggunakan algoritma simetris adalah [3]:

- One Time Pad

- RC 4

- Data Encryption Standard (DES)

- Advanced Encryption Standard (AES)

2.2.2 Algoritma Asimetris (Public Key Algorithm)

Algoritma asimetris merupakan algoritma yang memiliki kunci yang berbeda untuk

proses enkripsi dan dekripsinya. Algoritma ini biasa juga disebut dengan algoritma

kunci publik karena kunci untuk proses enkripsi bersifat publik, artinya siapapun bisa

menggunakan kunci tersebut untuk melakukan enkripsi. Sementara itu, kunci untuk

mendekripsikan pesan bersifat privat sehingga hanya si penerima pesan yang dapat

mendekripsikan pesan karena hanya ia yang mengetahui kunci privatnya sendiri [13].

(30)

Contoh sistem kriptografi yang menggunakan algoritma kunci publik adalah

RSA (Rivest Shamir Adleman), ElGamal dan LUC.

2.2.3 Algoritma Asimetris Non Public Key

Algoritma kriptografi non Public Key merupakan algoritma kriptografi dimana kunci

yang digunakan untuk proses enkripsi dan dekripsinya berbeda, maka tidak termasuk

algoritma simetris. Namun algoritma ini tidak termasuk dalam kriptografi kunci

publik karena kedua kunci dapat dengan mudah diturunkan satu sama lain, jadi kedua

kuncinya harus tetap dirahasiakan. Contoh algoritma yang menggunakan kriptografi

non-public key adalah Pohlig-Hellman [13].

Gambar 2.3. Skema Kriptografi Algoritma NonPublic Key.

2.3 Algoritma Kriptografi LUC

Algoritma kriptografi LUC merupakan salah satu sistem kriptografi yang menerapkan

algoritma kunci publik. Algoritma ini dikemukakan oleh Peter J. Smith dan Michael

J.J. Lennon pada tahun 1993 di New Zealand. LUC memiliki tiga tahap utama, yaitu

pembangkitan kunci, enkripsi dan dekripsi [2].

LUC dibangun berdasarkan fungsi Lucas (Lucas Function). Penggunaan

fungsi Lucas didalam mengolah data dari plaintext menjadi ciphertext atau sebaliknya

hampir menyerupai fungsi pemangkatan yang digunakan oleh RSA.

(31)

Fungsi Lucas merupakan fungsi deret dan yang dibangun dari dua

bilangan integer P dan Q. Kemudian dibangun sebuah persamaan kuadrat − + = 0. Jika akar dari persamaan tersebut adalah a dan b, maka didapatkan P = a+b

dan Q = ab. Kemudian fungsi Lucas didefinisikan sebagai berikut [2]:

= ( − ) / ( − ) (1)

Sistem kriptografi LUC hanya akan menggunakan deretan dengan nilai Q=1

sehingga persamaan (4) dapat didefinisikan sebagai

= − (5)

dimana n ≥ 2, = 2 dan =

Sebagai contoh dimisalkan P = 3, Q = 1, maka 10 barisan Lucas pertama:

Tabel 2.1 Perhitungan barisan Lucas sampai n=10. [12]

2.3.1 Pembangkitan Kunci LUC

Dibutuhkan dua buah kunci, yaitu kunci publik e dan kunci privat d untuk melakukan

proses enkripsi dan dekripsi pada LUC. Proses pembangkitan kunci dilakukan dengan

cara sebagai berikut [15]:

1. Pilih dua buah bilangan prima acak besar p dan q, dimana p ≠ q dan gcd(p,q) = 1

2. Hitung N = p . q

3. Ambil kunci publik acak e dengan syarat e relatif prima terhadap

ϕ(N) =(p-1)(p+1)(q-1)(q+1) atau gcd(e, ϕ(N)) = 1

(32)

R(N)=lcm((p-1),(q-1),(p+1),(q-1)) dan de =1 mod R(N)

2.3.2 Lehmann Prime Generator

Dalam algoritma kriptografi kunci publik diperlukan bilangan prima untuk proses

pembangkitan kunci. Salah satu algoritma pengujian bilangan prima adalah algoritma

Lehmann. Cara kerja algoritma Lehmann adalah sebagai berikut:

1. Pilih bilangan acak a yang lebih kecil dari p

2. Hitung = ( ) /

3. Jika ( ) / ≠ 1 atau− 1 ( ), maka p pasti bukan prima

4. Jika ( ) / 1 atau 1 ( ), maka kemungkinan p bikan prima tidak

lebih dari 50%

Pengujian diulangi sebanyak t kali. Jika pehitungan menghasilkan nilai 1 atau -1,

tetapi tidak selalu 1, maka kemungkinan p adalah prima dengan tingkat kesalahan

tidak lebih dari 1/ 2 [13]. Pengujian sebaiknya dilakukan sehingga kemungkinan primanya ≥ 99%.

Contoh 1:

Misalkan penulis ingin melakukan pengujian apakah 9 adalah bilagan prima

a = 2

= 2( ) / 9

≡ 2 9

≡ 16 mod 9 ≡ 7 ( 9)

Maka, dapat disimpulkan jika 9 bukan bilangan prima.

Contoh 2:

Misalkan penulis ingin melakukan pengujian apakah 11 adalah bilangan prima

a = 2

= 2( ) / 11

≡ 2 11

≡ 32 mod 11 ≡ −1( 11) --- Kemungkinan tidak prima < 50 %

(33)

= 3( ) / 11 ≡ 3 11

≡ 243 mod 11 ≡ 1( 11) --- Kemungkinan prima 50 % + 25 % = 75 %

Setelah melakukan pengujian sebanyak dua kali dan menghasilkan nilai 1 dan -1,

maka dapat disimpulkan bahwa 11 adalah bilangan prima dengan kemungkinan prima

75 %.

2.3.3 Algoritma Enkr ipsi LUC

Dengan menggunakan kunci publik e yang telah dibangkitkan sebelumnya, maka proses

enkripsi pesan plaintext menjadi ciphertext dengan algoritma kriptografi LUC adalah

sebagai berikut:

C = =(P) mod N (6)

Fungsi enkripsi akan menghitung suku ke-n dari fungsi deret Lucas dengan

indeks n adalah kunci publik e dan P adalah plaintext. Proses enkripsi akan

menghasilkan ciphertextC.

2.3.4 Algoritma Dekr ipsi LUC

Untuk mengembalikan ciphertext C menjadi pesan asli/plaintext P, maka dilakukan

proses dekripsi dengan menggunakan kunci privat d. Fungsi dekripsi dengan algoritma

kriptografi LUC didefinisikan sebagai berikut:

P = =(C.) mod N (7)

Seperti pada proses enkripsi, fungsi dekripsi akan menghitung suku ke-n dari

fungsi deret Lucas dengan indeks n adalah kunci privat d dan C adalah ciphertext.

Proses dekripsi akan menghasilkan pesan asli/plaintextP.

2.4 Steganografi

Istilah steganografi berasal dari bahasa Yunani, yaitu steganos yang berarti penyamaran

atau penyembunyian dan graphein yang berarti tulisan. Jadi, steganografi bisa diartikan

sebagai ilmu dan seni menyamarkan/menyembunyikan pesan tertulis ke dalam pesan

(34)

ditumpanginya sehingga data yang ditumpanginya sebelum dan setelah proses

penyembunyian hampir terlihat sama.

Steganografi yang bersifat “computer-based” bisa diterapkan dengan

menggunakan berbagai media sebagai cover (media penyisipan). Media penyisipan

merupakan suatu media untuk menyimpan pesan rahasia. Beberapa contoh media

pemyimpan pesan rahasia yang digunakan dalam teknik steganografi antara lain adalah

teks, audio, citra dan video.

Perbedaan mendasar antara steganografi dengan kriptografi terletak pada proses

penyembunyian data dan hasil akhir proses tersebut. Kriptografi melakukan proses

pengacakan data asli sehingga dihasilkan data terenkripsi yang benar-benar acak dan

berbeda dari aslinya. Sementara itu steganografi menyembunyikan data dalam data lain

dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut

sehingga tampilan data tetap terlihat sama [4]. Perbedaan steganografi dan kriptografi

terlihat pada Gambar 2.4.

Gambar 2.4 Perbedaan Steaganografi dan Kriptografi [1].

2.4.1 Steganografi End of File

Salah satu teknik dari steganografi adalah End of File. Teknik ini digunakan dengan

cara menambahkan data diakhir file citra. Pada teknik ini, data atau file yang akan

ditambahkan dapat lebih besar dari ukuran file citra[1].

Pesan yang disisipkan dengan metode ini jumlahnya tidak terbatas. Akan tetapi

(35)

Perhitungan kasar ukuran file yang telah disisipkan pesan sama dengan ukuran file

sebelum disisipkan pesan ditambah dengan ukuran pesan rahasia yang disisipkan.

Untuk mengenal data yang disisipkan pada akhir file, diperlukan suatu tanda pengenal

atau simbol pada awal dan akhir data yang akan disisipkan [14][16].

Misalkan sebuah citra ukuran 10x6 memiliki nilai pixel seperti Gambar 2.5.

Gambar 2.5 Citra *bmp true color

200 42 97 182 101 40 24 88 63 112

Citra RGB tersebut akan disisipkan ciphertext “79 75 69”. Kemudian ciphertext

yang akan ditambahkan diberi karakter “&&&” dengan kode ASCII 38 sebagai

penanda awal dan ÿÿÿ dengan kode ASCII 255 sebagai penanda akhir pesan.

Selanjutnya sisipkan pesan di akhir citra, sehingga citra menjadi:

(36)

Gambar 2.6 Citra setelah disisip pesan

Dan matriks tersebut akan dipetakan kembali dalam bentuk citra baru seperti Gambar

2.6 yang disebut stego image [7]. Jika besar plaintext tidak memenuhi lebar pixel

citra, maka akan ditambahkan nilai pixel 0 yang merepresentasi warna hitam.

2.5 Penelitian yang Relevan

Berikut adalah beberapa penelitian tentang algoritma kriptografi LUC dan

steganografi End of File:

1. Pada penelitian yang dilakukan Irawan [7]. Penelitian yang bertujuan untuk

merancang sebuah aplikasi yang mampu melakukan pengamanan pesan SMS

pada telepon seluler berbasis android dengan menggunakan algoritma

kriptografi LUC. Penelitian ini berhasil melakukan enkripsi dan dekripsi pesan

teks yang terdiri dari huruf kapital.

2. Pada penelitian yang dilakukan Jauyah [8]. Penelitian ini bertujuan untuk

membangun sebuah prototipe untuk aplikasi pengenalan telnet di lingkungan

sistem operasi Linux dengan menggunakan sistem kriptografi LUC. Selain itu,

peneliti juga melakukan perbandingan antara sistem kriptografi LUC dan RSA

dari aspek pelaksanaan dan keselamatan, dan menyatakan bahwa sistem kripto

(37)

sistem kripto RSA dan dapat dijadikan sebagai alternatif dengan kemampuan

yang cukup baik [8].

3. Penelitian yang dilakukan oleh Wandani [16]. Penelitian ini berhasil

mengkombinasikan algoritma kriptografi Rabin untuk mengenkripsi pesan

berupa angka, lalu menyisipkan pesan kedalam sebuah citra berformat *bmp

(38)

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Algoritma Kriptografi LUC dan Steganogr afi End of File

3.1.1 Analisis Algor itma Kriptografi LUC

Algoritma kriptografi LUC merupakan algoritma kriptografi yang menggunakan kunci

asimetris dan dibangun berdasarkan fungsi deret Lucas. Terdapat tiga proses utama

dalam algoritma kriptografi LUC, yaitu pembangkitan kunci, enkripsi dan dekripsi.

3.1.1.1 Pembangkitan Kunci LUC

Langkah – langkah yang digunakan dalam proses pembangkitan kunci LUC adalah

sebagai berikut:

5. Pilih dua buah bilangan prima acak besar p dan q, dimana p ≠ q dan gcd(p,q) = 1

Contoh:

Misalkan diketahui bilangan prima p = 13 dan q = 17

gcd(13,17) = 1

6. Hitung N = p . q

Contoh:

N = p.q

= 13. 17

N = 221

7. Ambil kunci publik acak e dengan syarat e relatif prima terhadap

ϕ(N) =(p-1)(p+1)(q-1)(q+1) atau gcd(e, ϕ(N)) = 1

Contoh:

(39)

= (13 – 1) · (17 – 1) · (13 +1) · (17 +1)

= 12 · 16 · 14 · 18 Φ (N) = 48384

• Pilih e secara acak dengan syarat gcd(e, Φ(N)) = 1

Misalkan e = 61, nilai memenuhi syarat karena gcd(61,48384) = 1

8. Hitung kunci dekripsi d dengan ketentuan

R(N)=lcm((p-1),(q-1),(p+1),(q-1)) dan de =1 mod R(N)

Contoh:

• Hitung nilai R(N) = lcm((12),(16),(14),(18))

R(N) = 1008

• Cari nilai dengan d·61 = 1 mod 1008 . proses pencarian nilai d dapat dilihat pada Tabel 3.1 dibawah ini

Tabel 3.1 Proses perhitungan kunci dekripsi d

3.1.1.2 Proses Enkr ipsi LUC

Dengan menggunakan kunci publik e yang telah dibangkitkan sebelumnya, maka proses

enkripsi pesan plaintext menjadi ciphertext dengan algoritma kriptografi LUC adalah

sebagai berikut:

1. Tentukan plaintext P dan ubah nilai P kedalam nilai ASCII

Contoh:

(40)

2. Hitung ciphertext C dengan menggunakan rumus:

C = =(P) mod N

dimana indeks n adalah kunci publik e dan P adalah plaintext.

Sesuai dengan ketetapan pada fungsi deret Lucas, maka nilai = 2 dan = .

Contoh:

Diketahui n = e = 61

N = 221

• Untuk P = 65

V0 = 2

V1 =P = 65

V2 = (P.V1 – V0)mod N

= (65.65- 2) mod 221

= 24

V97 = 143

• Untuk P = 75

V0 = 2

V1 =P = 75

V2 = (P.V1 – V0)mod N

= (75.75 - 2) mod 221

= 98

(41)

• Untuk P = 85

Maka, ciphertext yang diperoleh adalah “143 98 34”

3.1.1.3 Proses Dekr ipsi LUC

Untuk mengembalikan ciphertext C menjadi pesan asli/plaintext P, maka dilakukan

proses dekripsi dengan menggunakan kunci privat d. Langkah – langkah proses dekripsi

dengan algoritma kriptografi LUC didefinisikan sebagai berikut:

1. Tentukan ciphertext C

Contoh:

Misalkan ciphertext C = 143 98 34

2. Hitung plaintext P dengan menggunakan rumus:

(42)

V2 = (C.V1 – V0)mod N

= (143. 143 - 2) mod 221

=

V181 = 65 = A

• Untuk C = 98

V0 = 2

V1 =C = 98

V2 = (C.V1 – V0)mod N

= (98. 98 - 2) mod 221

= 99

V181 = 75 = K

• Untuk C = 34

V0 = 2

V1 =C = 34

V2 = (C.V1 – V0)mod N

= (34.34 - 2) mod 221

= 49

V181 = 85 = U

Maka, plaintext yang diperoleh adalah “AKU”

(43)

3.1.2 Analisis Metode Steganogr afi End of File

Steganografi End of File merupakan metode steganografi dimana penyisipan pesan

dilakukan pada akhir file, sehingga tidak akan mengganggu kualitas citra yang

disisipi. Pada steganografi End of File terdapat dua proses utama, proses penyisipan

pesan kedalam suatu file atau Embedding, dan proses pengambilan pesan dari suatu

file atau Extraction. File yang digunakan sebagai media penyisipan disebut cover.

Beberapa contoh media penyimpan pesan rahasia yang digunakan dalam teknik

steganografi antara lain adalah teks, audio, citra dan video.

Pada penelitian ini, media yang digunakan sebagai cover adalah citra true color

berformat *bmp. Sedangkan pesan yang akan disisipkan merupakan pesan teks pada file

berformat *txt atau *rtf yang sudah dienkripsi terlebih dahulu dengan algoritma

kriptografi LUC.

3.1.2.1 Proses Embedding Steganografi End of File

Langkah - langkah pada proses penyisipan pesan atau Embedding dengan

menggunakan metode steganografi End of File adalah sebagai berikut:

1. Input ciphertext yang akan disisipkan

Contoh:

Ciphertext yang akan disisipkan adalah “143 98 34”

2. Pilih citra *bmp yang akan digunakan sebagai citra cover dan baca nilai tiap pixel

dari citra cover

Contoh:

Misalkan citra dengan ukuran 10 x 6 dengan nilai pixel

(44)

3. Tambahkan ciphertext pada akhir pixel citra, beri penanda sebagai awal dan akhir

ciphertext.

Contoh:

Misalkan karakter penanda awal adalah “&&&” dengan nilai ASCII = 38 dan

karakter penanda akhir adalah “ÿÿÿ” dengan nilai ASCII = 255

196 10 97 182 101 40 24 88 63 112

nilai pixel 0 yang merepresentasi warna hitam.

4. Petakan kembali menjadi sebuah citra baru. Citra baru yang telah disisipi

ciphertext ini disebut stego image atau citra stego.

196 10 97 182 101 40 24 88 63 112

3.1.2.2 Proses Extraction Steganografi End of File

Langkah - langkah pada proses pengambilan pesan atau Extraction dengan

menggunakan metode steganografi End of File adalah sebagai berikut:

1. Inputkan citra stego dan baca nilai tiap pixel dari citra stego

Contoh:

196 10 97 182 101 40 24 88 63 112

(45)

25 150 45 200 75 28 56 90 88 100

176 56 77 100 25 200 84 211 78 33

101 34 250 40 100 60 90 111 143 77

44 66 99 125 190 200 31 80 92 111

38 38 38 143 98 34 255 255 255 0

2. Ambil nilai pixel awal karakter penanda sampai karakter penanda terakhir pada

baris akhir pixel citra stego

Contoh:

38 38 38 143 98 34 255 255 255 0

3. Petakan menjadi ciphertext

Contoh :

Ciphertext berada diantara nilai karakter penanda awal “&&&” dan karakter

penanda akhir “ÿÿÿ”, maka diperoleh ciphertext 143 98 34.

3.2 Analisis Sistem

3.2.1 Analisis Persyaratan (Requirement Analysis)

Analisis persyaratan tebagi menjadi dua, yaitu analisis persyaratan fungsional dan analisis

persyaratan non fungsional.

3.2.1.1 Analisis Persyaratan Fungsional (Functional Requirement)

Analisis fungsional pada sistem adalah segala proses – proses yang dapat dilakukan oleh

sistem. Pada penelitian ini persyaratan fungsional yang harus dipenuhi oleh sistem yaitu:

1. Melakukan proses enkripsi dan dekripsi suatu file berformat *txt dan *rtf dengan

algoritma kriptografi LUC

2. Melakukan proses penyisipan dan ekstraksi pesan teks kedalam dan dari citra true

color berformat *bmp dengan metode steganografi End of File

3. Menyimpan citra stego dalam format *bmp

4. Membangkitkan kunci dengan menggunakan pembangkit bilangan prima Lehmann

3.2.1.2 Analisis Persyaratan Non Fungsional (Non Functional Requirement)

Analisis non fungsional yaitu menyangkut masalah kinerja, mudah untuk dipelajari dan

(46)

1. Kinerja

Sistem yang dibangun dapat melakukan proses enkripsi pesan rahasia menggunakan

algoritma kriptografi LUC untuk selanjutnya disisipkan kedalam sebuah file citra

dengan metode steganografi End of File. Kemudian sistem dapat mengekstraksi

kembali pesan rahasia dan melakukan proses dekripsi pesan rahasia menjadi pesan asli.

2. Mudah dipelajari dan digunakan

Sistem yang dibangun harus bersifat user friendly, yaitu memiliki tampilan yang

sederhana agar dapat dengan mudah dipahami dan digunakan oleh pengguna (user).

3. Hemat biaya

Sistem yang yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat

pendukung lainnya yang dapat mengeluarkan biaya yang besar.

4. Dokumentasi

Sistem dapat menunjukkan waktu dari setiap proses yang dikerjakan (enkripsi,

dekripsi, penyisipan dan ekstraksi) serta menyimpan hasil penyisipan ciphertext ke

dalam sebuah citra, yaitu stego image dalam format *bmp.

5. Kontrol

Sistem yang dibangun memiliki kontrol pada beberapa fungsinya, sehingga untuk

melakukan suatu fungsi, user terlebih dahulu harus menginputkan data-data yang

diperlukan untuk menjalankan fungsi tersebut. Misalkan user ingin melakukan proses

embed tanpa memilih citra cover terlebih dahulu maka fungsi embed akan tetap

disable. Setelah user memilih citra cover fungsi embed akan menjadi enable.

3.2.2 Analisis Masalah

Analisis masalah akan digambarkan dengan diagram Ishikawa (fishbone diagram) atau

biasa juga disebut dengan cause and effect diagram, dimana masalah utama yang

(47)

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

Seperti yang terlihat pada Gambar 3.1, bagian segiempat yang paling kanan

merupakan bagian kepala yang menunjukkan masalah utama penelitian. Sementara itu

empat buah segiempat yang lainnya menunjukkan kategori masalah.

3.3 Perancangan Sistem

3.3.1 Flowchart Sistem

Flowchart atau diagram alir merupakan bagan yang terdiri dari simbol – simbol tertentu

untuk menunjukkan alur kerja atau langkah – langkah dalam penyelesaian suatu masalah

di dalam sistem. Pada sistem yang dibangun ini terdapat beberapa proses yang akan

direpresentasikan dengan flowchart, seperti proses pembangkitan kunci, enkripsi dan

penyisipan pesan, serta ekstraksi dan dekripsi.

3.3.1.1 Flowchart Proses Pembangkitan Kunci

Sebelum melakukan proses enkripsi dan dekripsi, telebih dahulu dilakukan proses

pembangkitan kunci. Pada proses ini nantinya akan dihasilkan nilai N, kunci publik e dan

kunci privat d. Proses pembangkitan kunci dapat dilihat pada flowchart seperti Gambar

(48)
(49)

3.3.1.2 Flowchart Proses Enkripsi/Penyisipan

Pada proses enkripsi dan penyisipan, user terlebih dahulu akan mengenkripsi pesan

dengan kriptografi LUC dan menghasilkan ciphertext yang kemudian akan disisipkan

kedalam sebuah citra dengan metode steganografi end of file sehingga menghasilkan

stego image. Langkah – langkah pada proses ini direpresentasikan kedalam sebuah

flowchart seperti yang telihat pada Gambar 3.3

(50)

3.3.1.3 Flowchart Proses Ekstr aksi/Dekripsi

Pada proses ekstraksi dan dekripsi, ciphertext akan diambil kembali dari stego image.

Selanjutnya ciphertext akan didekripsi sehingga menghasilkan plaintext atau pesan asli.

Langkah – langkah pada proses dapat dilihat pada flowchart seperti pada Gambar 3.4.

(51)

3.3.1.4 Flowchart Lehmann Prime Generator

Pada proses pembangkitan kunci sebelumnya, kita akan memerlukan bilangan prima.

Pada sistem ini digunakan pembangkit bilangan prima Lehmann untuk mendapatkan

bilangan prima yang akan diperlukan untuk proses pembangkitan kunci enkripsi dan

dekripsi. Proses pembangkitan bilangan prima Lehmann direpresentasikan dalam

flowchart seperti pada Gambar 3.5

Gambar 3.5 Flowchart Pembangkit Bilangan Prima Lehmann

3.3.2 UML (Unified Modeling Language) Diagram

3.3.2.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.

(52)

“Bagaimana” sistem tersebut melakukannya. Sebuah use case merepresentasikan sebuah

interaksi antara Actor (User) dengan sistem.

Berdasarkan analisis fungsional sistem yang telah dilakukan sebelumnya, use case

diagram sistem dirancang untuk merepresentasikan fungsionalitas sistem yang akan

dibuat sesuai dengan Gambar 3.6.

Gambar 3.6 Use Case Diagram Sistem

Pada Gambar 3.6 terlihat tiga use case utama yang dapat dilakukan sistem. Use

case pertama adalah use case Pembangkit Kunci. Spesifikasi untuk use case Pembangkit

Kunci dapat dilihat pada Tabel 3.2

Tabel 3.2 Spesifikasi Use Case Pembangkit Kunci

Use Case Name Pembangkit Kunci

Actors User

Description Melakukan proses pembangkitan kunci

Precondition User menjalankan aplikasi

Basic Flows

1. User menjalankan aplikasi pengamanan data

2. User memilih menu Key Generator

3. Sistem menampilkan halaman Key Generator

4. User menekan tombol “Generate”

5. Sistem akan menampilkan hasil dari pembangkitan kunci

(53)

6. User dapat menyimpan kunci yang telah dibangkitkan ke

dalam bentuk file *txt dengan menekan tombol “Save

Alternative Flows -

Exception Flows -

Postcondition Sistem dapat menampilkan hasil pembangkitan kunci publik

dan kunci privat

Extension Points -

Use case kedua dari sistem adalah use case Enkripsi/Penyisipan. Spesifikasi untuk use

case Enkripsi/Penyisipan dapat dilihat pada Tabel 3.3.

Tabel 3.3 Spesifikasi Use Case Enkr ipsi/Penyisipan

Use Case Name: Enkripsi/Penyisipan

Actors User

Description Melakukan proses enkripsi dan penyisipan pesan

Precondition User mengakses menu Process

Basic Flows

1. User menjalankan aplikasi pengamanan data

2. User memilih menu Process

3. User memilih submenu Enkripsi/Penyisipan

4. Sistem menampilkan halaman Enkripsi/Penyisipan

5. User memasukkan pesan yang akan dienkripsi

(plaintext) dan kunci publik

6. User menekan tombol “Encrypt

7. Sistem akan menampilkan hasil enkripsi berupa

ciphertext

8. User menekan tombol “Browse Image” untuk memilih

citra yang akan disisipi ciphertext

9. User menekan tombol “Embed” untuk menyisipkan

ciphertext kedalam citra

10. Sistem akan menampilkan citra stego

11. User menekan tombol “Save” untuk menyimpan file

(54)

Alt. Flows -

Postcondition User dapat melihat hasil penyisipan pesan rahasia yang

telah dienkripsi dalam bentuk citra stego

Extension Points -

Use case terakhir dari sistem adalah use case Ekstraksi/Dekripsi. Spesifikasi untuk use

case Ekstraksi/Dekripsi dapat dilihat pada Tabel 3.4.

Tabel 3.4 Spesifikasi Use Case Ekstraksi/Dekripsi

Use Case Name: Ekstraksi/Dekripsi

Actors User

Description Melakukan proses ekstraksi dan dekripsi pesan

Precondition User mengakses menu Process

Basic Flows

1. User menjalankan aplikasi pengamanan data

2. User memilih menu Process

3. User memilih submenu Ekstraksi/Dekripsi

4. Sistem menampilkan halaman Ekstraksi/Dekripsi

5. User menekan tombol “Browse Image” untuk memilih

citra stego

6. User menekan tombol “Extract” untuk mengambil

ciphertext dari citra stego

7. Sistem melakukan proses ekstrak dan menampilkan

ciphertext

8. User memasukkan ciphertext dan kunci privat

9. User menekan tombol “Decrypt

10. Sistem akan menampilkan hasil dekripsi berupa plaintext

Alt. Flows -

Postcondition

User dapat melihat mengekstrak pesan dari citra stego yang

berupa ciphertext dan mendekripsikan ciphertext menjadi

plaintext.

(55)

3.3.2.2 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang

dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi,

dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses

paralel yang mungkin terjadi pada beberapa eksekusi.

3.3.2.2.1 Activity Diagram Proses Enkripsi/Penyisipan

USER SYSTEM

(56)

Penjelasan tentang aliran aktifitas yang terjadi pada Gambar 3.7 adalah sebagai berikut:

1. User memasukkan pesanyang akan dienkripsi (plaintext) secara langsung atau

file teks berformat *txt dan *rtf

2. User memasukkan kunci publik e untuk proses enkripsi

3. Sistem akan melakukan proses enkripsi plaintext menggunakan algoritma

kriptografi LUC dan menghasilkan ciphertext

4. User memilih citra cover berformat *bmp sebagai citra yang akan disisipi

ciphertext

5. Sistem akan melakukan proses penyisipan ciphertext kedalam citra cover

dengan metode steganografi End of File dan menghasilkan citra stego.

3.3.2.2.2 Activity Diagram Proses Ekstraksi/Dekripsi

Gambar 3.8 Activity Diagram Proses Ekstraksi/Dekripsi

USER SYSTEM

Input Citra Stego Ekstraksi End of File

Input Kunci Privat Dekripsi LUC

(57)

Penjelasan tentang aliran aktifitas yang terjadi pada Gambar 3.8 adalah sebagai berikut:

1. User memasukkan citra stego

2. Sistem akan melakukan proses ekstraksi atau pengambilan pesan rahasia dari

citra dengan metode steganografi End of File dan menghasilkan ciphertext.

3. User memasukkan kunci privat d untuk proses dekripsi

4. Sistem akan melakukan proses dekripsi ciphertext dengan algoritma kriptografi

LUC dan menghasilkan plaintext.

3.3.2.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek didalam dan di sekitar sistem.

Interaksi tersebut merupakan message yang digambarkan terhadap waktu. Sequence

diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objek – objek yang

terkait).

3.3.2.3.1 Sequence Diagram Proses Pembangkitan Kunci

Sequence diagram untuk proses pembangkitan kunci dapat dilihat pada Gambar 3.9.

Gambar 3.9 Sequence Diagram Proses Pembangkitan Kunci

Pada Gambar 3.9 dapat dilihat bahwa untuk melakukan proses pembangkitan

(58)

mengambil bilangan prima p dan q dengan menggunakan algoritma Lehmann. Setelah

bilangan p dan q didapatkan, sistem akan menghitung hasil dari N serta kunci e dan d.

Selanjutnya sistem akan menampilkan hasil p,q,N,e dan d kepada user.

3.3.2.3.2 Sequence Diagram Proses Enkripsi/Penyisipan

Sequence diagram untuk proses enkripsi/penyisipan dapat dilihat pada Gambar 3.10.

Gambar 3.10 Sequence Diagram Proses Enkr ipsi/Penyisipan

Pada Gambar 3.10 terlihat bahwa user menginputkan plaintext serta kunci e

dan N untuk melakukan enkripsi. Selanjutnya proses enkripsi akan dilakukan dengan

algoritma kriptografi LUC dan menghasilkan ciphertext. Setelah itu, user akan

memilih citra cover yang akan digunakan sebagai media penyisipan. Proses

penyisipan ciphertext ke dalam citra dilakukan dengan metode steganografi End of

(59)

3.3.2.3.3 Sequence Diagram Proses Ekstraksi/Dekripsi

Sequence diagram untuk proses ekstraksi/dekripsi dapat dilihat pada Gambar 3.11.

Gambar 3.11 Sequence Diagram Proses Ekstraksi/Dekripsi

Pada Gambar 3.11 terlihat bahwa user akan memilih citra stego yang ingin

diekstrak. Proses ekstraksi dilakukan dengan menggunakan metode steganografi End of

File dan menghasilkan ciphertext. Selanjutnya ciphertext akan diubah kembali menjadi

plaintext dengan algoritma kriptografi LUC.

3.3.3 Pseudocode

Pseudocode atau kode semu adalah urutan baris algoritma seperti kode pemrograman

yang lebih sederhana untuk mempermudah pemahaman terhadap prinsip algoritma

tersebut. Adapun tahapan proses – proses pada sistem ini akan dideskripsikan kedalam

beberapa pseudocode berikut ini.

3.3.3.1 Pseudocode Proses Enkripsi

Urutan langkah – langkah pada proses enkripsi menggunakan algoritma kriptografi LUC

(60)

functi

on enkripsi

{initial state = plaintext final state = ciphertext} Kamus

input e {kunci enkripsi} input N

3.3.3.2 Pseudocode Proses Dekripsi

Langkah – langkah pada proses dekripsi menggunakan algoritma kriptografi LUC dapat

dilihat pada pseudocode berikut:

functi

on dekripsi

(61)

k plain(i)

3.3.3.3 Pseudocode Proses Penyisipan

Urutan langkah – langkah pada proses penyisipan dengan menggunakan metode

steganografi End of File dapat dilihat pada pseudocode berikut:

functi

on sisip

{initial state = coverimage final state = stegoimage} Kamus

tandaA [38 38 38] {kode ASCII untuk karakter “&&&” sebagai tanda awal

ci

eks [tandaA cipher tandaZ]

(62)

3.3.3.4 Pseudocode Proses Ekstr aksi

Langkah – langkah pada proses ekstraksi dengan menggunakan metode steganografi End

of File dapat dilihat pada pseudocode berikut:

functi

on ekstrak

{initial state = stegoimage final state = ciphertext} Kamus

while ((cip(1)≠38) and (cip(2)≠38) and (cip(3)≠38))

t t-1

3.3.4 Interface Sistem

Perancangan antarmuka pemakai (interface) bertujuan untuk memberikan

(63)

beberapa halaman yang dimiliki oleh sistem, diantaranya Halaman Utama, halaman

Key Generator, halaman Enkripsi/Penyisipan, halaman Ekstraksi/Dekripsi, halaman

About danhalaman Help.

3.3.4.1 Tampilan Halaman Utama

Ketika sistem dijalankan, maka akan muncul Halaman Utama dari sistem seperti yang

terlihat pada Gambar 3.12

Gambar 3.12 Rancangan Halaman Utama Sistem

Terdapat beberapa komponen pada Halaman Utama, yaitu :

1. Menu “Key Generator” yang akan menampilkan halaman untuk proses

pembangkitan kunci

2. Menu “Process” yang terdiri dari dua buah submenu, yaitu submenu

“Enkripsi/Penyisipan” dan submenu “Ekstraksi/Dekripsi”

3. Submenu “Enkripsi/Penyisipan” yang akan menampilkan halaman untuk

(64)

4. Submenu “Ekstraksi/Dekripsi” yang akan menampilkan halaman untuk proses

ekstraksi dan dekripsi pesan

5. Menu “About” yang akan menampilkan halaman yang berisi informasi tentang

sistem

6. Menu “Help” yang akan menampilkan halaman yang berisi tentang petunjuk

penggunaan sistem

7. Komponen Static Text sebagai nama sistem

8. Komponen Axes untuk menampilkan logo Universitas Sumatera Utara

9. Komponen Static Text yang menampilkan nama pembuat sistem

10. Komponen Static Text yang menampilkan informasi Universitas

3.3.4.2 Tampilan Menu Key Generator

Menu Key Generator merupakan menu untuk melakukan proses pembangkitkan

bilangan kunci yang akan digunakan pada proses enkripsi dan dekripsi. Rancangan

interface untuk menu Key Generator dapat dilihat pada Gambar 3.13.

Gambar 3.13 Rancangan Menu Key Generator

Terdapat beberapa komponen pada Menu Key Generator, yaitu :

1. Push Button “Halaman Utama” untuk kembali ke halaman utama

(65)

3. Komponen Edit Text untuk menampilkan bilangan prima kedua q

4. Push ButtonGenerate” untuk membangkitkan bilangan prima

5. Push Button “Save” untuk menyimpan kunci dalam file *txt

6. Komponen Edit Text untuk menampilkan hasil dari N

7. Komponen Edit Text untuk menampilkan hasil kunci publik e

8. Komponen Edit Text untuk menampilkan hasil kunci privat d

3.3.4.3 Tampilan Submenu Enkripsi/Penyisipan

Submenu Enkripsi/Penyisipan terdapat pada Menu Process. Submenu

Enkripsi/Penyisipan digunakan untuk melakukan proses enkripsi pesan/plaintext

menjadi ciphertext serta menyisipkan ciphertext kedalam sebuah citra cover berformat

*bmp. Citra yang telah disisipi ciphertext disebut citra stego. Rancangan submenu

Enkripsi/Penyisipan dapat dilihat pada Gambar 3.14

Gambar

Tabel 2.1 Perhitungan barisan Lucas sampai n=10. [12]
Gambar 2.6 Citra setelah disisip pesan
Gambar 3.2 Flowchart Pembangkitan Kunci
Gambar 3.3 Flowchart Proses Enkripsi/Penyisipan
+7

Referensi

Dokumen terkait

Penerapan Algoritma Kriptografi Elgamal Pada Aplikasi Enkripsi dan Dekripsi Pesan Teks Dilengkapi Dengan Tanda Tangan Digital Untuk Autentikasi Pesan:. Pembuatan

Salah satu kemajuan teknologi adalah enkripsi file diantaranya adalah enkripsi file teks, audio, citra dan lain sebagainya, yang membantu untuk melindungi pesan rahasia

BAB 2 LANDASAN TEORI membahas teori yang berkaitan dengan kriptografi, proses enkripsi algoritma simetris dan asimetris, keamanan pada kriptografi. serta serangan umum yang

Pada penelitian ini, masalah yang akan diangkat adalah pengamanan file teks dengan menggabungkan algoritma kriptografi RC5 dan metode steganografi Least Significant Bit

Dalam tugas akhir ini penulis akan membahas lebih lanjut tentang aplikasi kriptografi dengan algoritma blowfish yang memberikan keamanan pada file, sehingga file

Penelitian ini mengimplementasikan algoritma playfair cipher yang telah dimodifikasi untuk meningkatkan tingkat keamanan dari kriptografi klasik dan teknik steganografi Begin Of

IMPLEMENTASI KRIPTOGRAFI KURVA ELIPTIK DENGAN ALGORITMA ELGAMAL DAN METODE PEMBANGKITAN BILANGAN PRIMA RABIN-.. MILLER UNTUK PENGAMANAN

Dengan kriptografi inilah pesan melalui proses enkripsi atau penyandian yang dilakukan ketika pesan akan dikirim, akan mengubah data asli menjadi data yang tidak