• Tidak ada hasil yang ditemukan

Implementasi Steganografi Least Significant Bit (LSB) Dengan Modifikasi Vigenere Cipher Pada Citra Digital

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Steganografi Least Significant Bit (LSB) Dengan Modifikasi Vigenere Cipher Pada Citra Digital"

Copied!
79
0
0

Teks penuh

(1)

IMPLEMENTASI S

(LSB) DENGA

Diajukan untuk meleng

DEP

FAKULTAS MATEM

UNIV

I STEGANOGRAFI LEAST SIGNIFICA

GAN MODIFIKASI VIGENERE CIPHE

PADA CITRA DIGITAL

SKRIPSI

ngkapi tugas dan memenuhi syarat untuk menc Sarjana Sains

HASINA TONI

110803029

EPARTEMEN MATEMATIKA

EMATIKA DAN ILMU PENGETAHUA

IVERSITAS SUMATERA UTARA

MEDAN

2015

ICANT BIT

HER

encapai gelar

(2)

DEP

FAKULTAS MATEM

UNIVE

PADA CITRA DIGITAL

SKRIPSI

HASINA TONI

110803029

EPARTEMEN MATEMATIKA

EMATIKA DAN ILMU PENGETAHUA

VERSITAS SUMATERA UTARA

MEDAN

2015

(3)

i

PERSETUJUAN

Judul : Implementasi Steganografi Least Significant Bit (LSB) Dengan Modifikasi Vigenere Cipher Pada Citra Digital

Kategori : Skripsi

Nama : Hasina Toni

Nomor Induk Mahasiswa : 110803029

Program Studi : Sarjana (S1) Matematika

Departemen : Matematika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam

(FMIPA) Universitas Sumatera Utara

Disetujui di Medan, Juli 2015

Komisi Pembimbing:

Pembimbing 2, Pembimbing 1,

Dr. Suyanto, M.Kom Dr. Syahriol Sitorus, M.IT

NIP. 19590813 198601 1 002 NIP. 19710310 199703 1 004

Disetujui oleh

Departemen Matematika FMIPA USU Ketua,

Prof. Dr. Tulus, M.Si

(4)

ii

IMPLEMENTASI STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DENGAN MODIFIKASI VIGENERE CIPHER

PADA CITRA DIGITAL

SKRIPSI

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

Medan, Juli 2015

(5)

iii

PENGHARGAAN

Assalamu’alaikum Wr. Wb.

Puji syukur penulis ucapkan kehadirat Allah SWT atas rahmat dan hidayah-Nya

sehingga penulis dapat menyelesaikan skripsi yang berjudul Implementasi

Steganografi Least Significant Bit (LSB) Dengan Modifikasi Vigenere cipher

Pada Citra Digital ini dalam waktu yang telah ditetapkan. Terimakasih penulis

sampaikan kepada:

1. Bapak Dr. Syahriol Sitorus, M.IT dan Bapak Dr. Suyanto, M.Kom selaku

dosen pembimbing yang berkenan dan rela mengorbankan waktu, tenaga dan

pikiran guna memberikan petunjuk dan bimbingannya dalam penulisan skripsi

ini.

2. Ibu Dra. Normalina Napitupulu, M.Sc dan Bapak Dr. Sawaluddin, M.IT

selaku dosen pembanding atas kritik dan saran yang membangun dalam

penyempurnaan skripsi ini.

3. Bapak Prof. Dr. Tulus, M.Si dan Ibu Dr. Mardiningsih, M.Si selaku Ketua dan

Sekretaris Departemen Matematika FMIPA USU beserta staf pegawai.

4. Bapak Dr. Sutarman, M.Sc selaku Dekan FMIPA USU beserta staf pegawai.

5. Terkhusus untuk Ayahanda Harian Toni, Ibunda Mas’ad Thalib Aziz, saudara

penulis Haifah Toni serta keluarga besar penulis yang telah memberikan

banyak bantuan baik materi, moral maupun spiritual.

6. Teman-teman penulis Muni, Amik, Donna, Joe, Alin, Mitra, Ridwan, Iman,

Ningsih, Eka, Rahmad, Ai, Fitri, Mala, Zahara dan teman-teman Matematika

2011 yang lainnya yang tidak dapat disebutkan satu per satu atas segala

bentuk dukungannya.

7. M. Budiman Khanafi Manurung yang selalu memberikan semangat dan

dukungannya.

8. Rekan – rekan Asisten Laboratorium S1 Matematika dan kepada semua pihak

(6)

iv

mengharapkan kritik dan saran yang membangun demi penyempurnaan skripsi ini

(7)

v

IMPLEMENTASI STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DENGAN MODIFIKASI VIGENERE CIPHER

PADA CITRA DIGITAL

ABSTRAK

Steganografi merupakan teknik menyembunyikan pesan rahasia di dalam media digital agar orang lain tidak menyadari ada suatu pesan rahasia di dalam media tersebut. Agar pesan rahasia yang disembunyikan lebih aman, dapat menggunakan teknik kriptografi untuk menyandikan pesan rahasia ke dalam karakter yang tidak dapat dimengerti maknannya. Algortima yang digunakan dalam penelitian ini adalah algoritma Steganografi Least Significant Bit (LSB) dan algoritma modifikasi Vigenere Cipher. Hasil akhir dari penelitian ini adalah sebuah aplikasi steganografi pada citra digital dengan metode Least Significant Bit (LSB) dan modifikasi Vigenere Cipher yang dapat dijalankan pada komputer. Aplikasi ini dapat menyisipkan pesan teks pada citra serta dapat melakukan proses enkripsi dan deskripsi pada pesan yang ingin disisipkan.

(8)

vi ABSTRACT

Steganography is a teachnique to hide a secret message in digital media so that other people can’t realize that is a message in that media. To keep the message safer, writer use cryptograph technique to encode the secret message into understanding character. Algorithm that use in the research is Steganograph Least Significant Bit (LSB) and Vigenere Cipher algorithm. The result of the research is an steganograph application in digital media with Least Significant Bit (LSB) and Vigenere Cipher that can run in computer. This application can insert text message in image also can do encryption and decryption process in text that want to insert.

(9)

vii

DAFTAR LAMPIRAN xii

BAB 1 PENDAHULUAN 1

1.7 Metodologi Penelitian 4

BAB 2 LANDASAN TEORI 5

2.1 Kriptografi 5

2.1.1 Pengertian Kriptografi 5

2.1.2 Sejarah Kriptografi 5

2.1.3 Terminologi dan Konsep Dasar Kriptografi 7

2.1.4 Jenis Kriptografi 9

2.1.5 Algoritma Vigenere Cipher 10

2.1.6 Metode Kasiski 12

2.2 Steganografi 13

2.2.1 Pengertian Steganografi 13

2.2.2 Sejarah Steganografi 14

2.2.3 Terminologi dan Konsep Dasar Steganografi 14

2.2.4 Proses Steganografi 15

2.2.5 Least Significant Bit (LSB) 16

2.2.6 Ukuran Teks yang Disembunyikan 17

2.3 Teori Dasar Citra Digital 18

2.3.1 Pengertian Citra Digital 18

2.3.1.1 Citra Analog 18

2.3.1.2 Citra Digital 18

2.3.2 Jenis – Jenis Citra Digital 18

2.4 Penelitian Terdahulu 20

(10)

viii

BAB 4 IMPLEMENTASI 30

4.1 Kebutuhan Perangkat Lunak dan Perangkat Keras 30

4.2 Implementasi 30

4.2.1 Proses Enkripsi dan Encoding 31

4.2.2 Proses Decoding dan Deskripsi 35

4.3 Analisis dalam Aplikasi 38

4.4 Hasil Pengujian 43

4.4.1 Hasil Kriptografi 43

4.4.2 Hasil Steganografi 45

BAB 5 KESIMPULAN DAN SARAN 47

5.1 Kesimpulan 47

5.2 Saran 47

DAFTAR PUSTAKA 48

(11)

ix

DAFTAR TABEL

Nomor Judul Halaman Tabel

2.1 Persegi vigenere cipher 11

4.1 Kode ASCII pesan 38

4.2 Kode ASCII kunci 39

4.3 Proses enkripsi 40

4.4 Kode ASCII dan biner dari cipherteks 41

(12)

x

Nomor Judul Halaman Gambar

1.1 Diagram konsep proses penyembunyian pesan 4

2.1 (a) Sebuah scytale, (b) Pesan ditulis secara horizontal, baris

kriptografi simetri 9

2.6 (a) Skema enkripsi kriptografi asimetri, (b) Skema deskripsi

kriptografi asimetri 10

2.7 Proses penyembunyian pesan rahasia ke dalam media digital

dengan teknik steganografi 15

2.8 (a) Skema encoding, (b) Skema decoding 16

2.9 Contoh MSB dan LSB 16

2.10 (a) Citra biner, (b) Representasi citra biner 19

2.11 (a) Citra grayscale, (b) Citra warna 20

3.1 (a) Flowchart enkripsi dan encoding, (b) Flowchart decoding

dan deskripsi 22

3.2 Flowchart proses enkripsi 24

3.3 Flowchart proses deskripsi 25

3.4 Flowchart proses encoding 27

3.5 Flowchart proses decoding 28

4.1 Halaman utama 31

4.2 Pemandangan.PNG 32

4.3 Halaman enkripsi dan encoding 1 32

4.4 Halaman enkripsi dan encoding 2 33

4.5 Pop-up window pilih gambar 1 33

(13)

xi

4.7 Pop-up window simpan gambar 34

4.8 HASIL.PNG 35

4.9 Halaman decoding dan deskripsi 1 35

4.10 Pop-up window pilih gambar 2 36

4.11 Halaman decoding dan deskripsi 2 36

4.12 Halaman decoding dan deskripsi 3 37

4.13 Halaman decoding dan deskripsi 4 37

4.14 Pixel citra 42

4.15 Citra dalam bentuk biner 43

(14)

xii

Nomor Judul Halaman

1 Fungsi utama 50

2 Fungsi enkripsi dan encoding 51

3 Fungsi decoding dan deskripsi 56

4 Fungsi peringatan pesan 60

5 Fungsi peringatan kunci 61

6 Fungsi peringatan gambar 62

(15)

v

IMPLEMENTASI STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DENGAN MODIFIKASI VIGENERE CIPHER

PADA CITRA DIGITAL

ABSTRAK

Steganografi merupakan teknik menyembunyikan pesan rahasia di dalam media digital agar orang lain tidak menyadari ada suatu pesan rahasia di dalam media tersebut. Agar pesan rahasia yang disembunyikan lebih aman, dapat menggunakan teknik kriptografi untuk menyandikan pesan rahasia ke dalam karakter yang tidak dapat dimengerti maknannya. Algortima yang digunakan dalam penelitian ini adalah algoritma Steganografi Least Significant Bit (LSB) dan algoritma modifikasi Vigenere Cipher. Hasil akhir dari penelitian ini adalah sebuah aplikasi steganografi pada citra digital dengan metode Least Significant Bit (LSB) dan modifikasi Vigenere Cipher yang dapat dijalankan pada komputer. Aplikasi ini dapat menyisipkan pesan teks pada citra serta dapat melakukan proses enkripsi dan deskripsi pada pesan yang ingin disisipkan.

(16)

vi ABSTRACT

Steganography is a teachnique to hide a secret message in digital media so that other people can’t realize that is a message in that media. To keep the message safer, writer use cryptograph technique to encode the secret message into understanding character. Algorithm that use in the research is Steganograph Least Significant Bit (LSB) and Vigenere Cipher algorithm. The result of the research is an steganograph application in digital media with Least Significant Bit (LSB) and Vigenere Cipher that can run in computer. This application can insert text message in image also can do encryption and decryption process in text that want to insert.

(17)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Dewasa ini, perkembangan ilmu dan teknologi telah mempengaruhi segala aspek

kehidupan, tak terkecuali aspek komunikasi, seperti dalam pengiriman pesan

melalui jaringan internet. Keamanan dan kerahasiaan merupakan aspek penting

yang dibutuhkan dalam proses pengiriman pesan. Semakin berkembangnya

teknologi, pengiriman suatu pesan juga menjadi semakin kurang aman. Tidak

menutup kemungkinan saat proses pengiriman pesan ada pihak ketiga yang ingin

mengambil ataupun merubah isi dari pesan tersebut.

Salah satu cara untuk mempertahankan kerahasiaan dari pesan tersebut

adalah pesan yang akan dikirim disandikan terlebih dahulu menjadi kode – kode

yang tidak dipahami maksudnya, sehingga bila ada pihak ketiga yang ingin

mengambil ataupun merubahnya akan kesulitan dalam menterjemahkan isi pesan

yang sebenarnya. Teknik tersebut dikenal dengan kriptografi (Munir, 2006).

Vigenere cipher merupakan salah satu algoritma kriptografi klasik yang menggunakan substitusi abjad majemuk, dimana dengan menggunakan

bujursangkar vigenere tiap huruf pada plainteks akan disubstitusi menjadi huruf

lain berdasarkan kunci yang digunakan. Namun vigenere cipher telah berhasil

dipecahkan oleh Friedrich Kasiski pada tahun 1863 dengan menggunakan metode

kasiski. Oleh karena itu, dalam penelitian ini penulis melakukan sebuah

modifikasi, yaitu dengan menyisipkan huruf – huruf yang ada pada kunci ke

dalam plainteks. Dengan metode ini, diharapkan algoritma ini menjadi lebih kuat

(18)

Tindakan pengamanan menggunakan teknik kriptografi ini ternyata

dianggap belum cukup dalam mengamankan suatu pesan, karena cipherteks

mengandung karakter – karakter yang tidak wajar sehingga menimbulkan

kecurigaan. Untuk mengatasi hal tersebut dapat digunakan teknik lain yaitu

steganografi. Steganografi adalah ilmu dan seni untuk menyembunyikan pesan

rahasia di dalam media digital sedemikian rupa sehingga orang lain tidak

menyadari ada suatu pesan rahasia di dalam media tersebut (Sutoyo, 2009).

Implementasi steganografi saat ini telah menggunakan media digital

sebagai media untuk menyembunyikan pesan, salah satunya adalah media gambar

(citra digital). Steganografi menyisipkan atau menyembunyikan pesan di dalam

sebuah citra, agar pihak lain tidak menyadari keberadaan pesan yang ada di dalam

citra tersebut.

Salah satu metode steganografi citra digital adalah Least Significant Bit

(LSB), yaitu teknik penyembunyian pesan pada lokasi bit terendah dalam citra

digital. Pesan dikonversi ke dalam bentuk biner dan disembunyikan pada citra

digital dengan metode LSB. Dalam penelitian ini, penulis menggunakan citra

digital sebagai media penyembunyian pesan karena hasil keluaran dari

steganografi LSB ini memiliki perubahan yang tidak dapat dibedakan oleh mata

manusia.

Kombinasi modifikasi vigenere cipher dan steganografi LSB dapat lebih

meningkatkan keamanan pada pesan rahasia. Pesan rahasia terlebih dahulu

dienkripsi dengan menyisipkan huruf – huruf pada kunci ke dalam plainteks,

kemudian cipherteks hasil kriptografi tersebut disembunyikan didalam citra digital

dengan metode steganografi LSB.

1.2Perumusan Masalah

Permasalahan yang akan dibahas adalah bagaimana menyembunyikan pesan

(19)

3

menggunakan metode steganografi LSB dan modifikasi vigenere cipher pada citra

digital.

1.3Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah sebagai berikut:

a. Pesan rahasia adalah pesan teks.

b. Menggunakan citra RGB dengan format *PNG sebagai wadah penampung

pesan.

c. Format citra yang dihasilkan adalah *PNG.

d. Metode steganografi yang digunakan yaitu metode Least Significant Bit

(LSB).

e. Metode kriptografi yang digunakan yaitu metode penyisipan kunci pada

plainteks.

1.4Tujuan Penelitian

Tujuan penelitian ini adalah menerapkan modifikasi algoritma vigenere cipher

dengan menyisipkan huruf – huruf pada kunci ke dalam plainteks untuk

mendapatkan perlindungan yang lebih baik dalam menjaga keamanan dan

kerahasiaan pesan, serta tergabung dengan steganografi untuk menyembunyikan

pesan dalam sebuah citra guna melindungi keberadaan pesan rahasia.

1.5Manfaat Penelitian

Manfaat dari penelitian ini adalah sebagai berikut:

a. Dapat merahasiakan pesan tanpa diketahui keberadaan pesan tersebut.

b. Memberikan pengetahuan baru tentang modifikasi vigenere cipher dan

steganografi LSB untuk pengamanan pesan.

c. Dapat digunakan sebagai referensi bacaan untuk mahasiswa Matematika,

(20)

1.6Kerangka Pemikiran

Diagram konsep proses penyembunyian pesan pada citra dengan teknik

kriptografi dan steganografi.

Gambar 1.1 Diagram konsep proses penyembunyian pesan

1.7Metodologi Penelitian

Penelitian ini dilakukan dengan langkah – langkah sebagai berikut:

1. Melakukan studi literature mengenai steganografi LSB dan modifikasi

kriptografi vigenere cipher yang bersumber dari buku, jurnal, situs internet

dan berbagai sumber lainnya.

2. Menganalisa proses enkripsi, deskripsi, encoding, dan decoding pada metode

LSB dan modifikasi vigenere cipher.

3. Melakukan perancangan dan menerapkan LSB dan modifikasi vigenere cipher

pada citra dengan menggunakan software MATLAB. Input Pesan

Input Citra

Proses Kriptografi

Proses Steganografi

(21)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Pengertian Kriptografi

Kriptografi (cryptography) berasal dari Bahasa Yunani “cryptos” yang artinya

rahasia, sedangkan “graphein” artinya tulisan. Jadi, kriptografi berarti tulisan

rahasia. Secara umum, kriptografi adalah ilmu dan seni untuk menjaga

kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak

dapat dimengerti lagi maknanya (Munir, 2006).

2.1.2 Sejarah Kriptografi

Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai

sejarah kriptografi dapat ditemukan di dalam buku David Kahn yang berjudul The

Codebreakers. Buku yang tebalnya 1000 halaman ini menulis secara rinci sejarah kriptografi, mulai dari penggunaan kriptografi oleh Bangsa Mesir 4000 tahun

yang lalu hingga penggunaan kriptografi abad ke – 20.

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik,

yaitu metode enkripsi yang menggunakan kertas dan pensil atau menggunakan

alat bantu mekanik sederhana. Kriptografi klasik secara umum dikelompokkan

menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan

algoritma substitusi (substitution cipher). Algoritma transposisi adalah algoritma

(22)

substitusi yaitu mengganti setiap huruf atau kelompok huruf dengan sebuah huruf

atau kelompok huruf yang lain.

Penggunaan algoritma transposisi yaitu oleh tentara Sparta di Yunani pada

permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale.

Scytale terdiri dari sebuah kertas panjang dari daun papyrus yang dililitkan pada

sebuah silinder dengan diameter tertentu (diameter silinder merupakan kunci dari

penyandian). Pesan ditulis baris per baris dan secara horizontal. Apabila kertas

dilepas, maka setiap huruf akan tersusun secara acak membentuk pesan rahasia.

Agar pesan tersebut dapat dibaca, maka kertas harus kembali dililitkan ke silinder

yang diameternya sama dengan diameter silinder pengirim.

(a) (b)

Gambar 2.1 (a) Sebuah scytale; (b) Pesan ditulis secara horizontal, baris per baris.

Sedangkan algortima substitusi paling awal dan paling sederhana adalah

Caesar cipher, yaitu digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alfabet dengan karakter yang

terletak pada tiga posisi berikutnya di dalam susunan alfabet. Pada perang dunia

ke II, Pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan dengan

(23)

Perkembangan

kriptografi modern. De

menghasilkan cipher ya

klasik yang mengenkrip

pada string biner. Cip

Encryption Standard) da dunia kriptografi (Munir

2.1.3 Terminologi dan K

Di dalam kriptografi ak

Berikut merupakan istila

(Munir, 2006).

a. Plainteks dan Ciph

Pesan merupakan data

maknanya. Nama lain un

(melalui kurir, saluran t

dalam media penyimpan

Agar pesan tidak

perlu disandikan ke ben

Gambar 2.2 Mesin enigma

peralatan komputer digital memicu ter

Dengan komputer digital, akan sangat mungk

yang lebih kompleks dan rumit. Tidak seperti k

ripsi karakter per karakter, kriptografi modern

ipher yang lebih kompleks seperti halnya D dan RSA adalah algoritma modern yang sangat

nir, 2006).

n Konsep Dasar Kriptografi

akan sering ditemukan beberapa istilah atau te

tilah penting untuk diketahui dalam memahami k

ipherteks

ata atau informasi yang dapat dibaca dan d

untuk pesan adalah plainteks. Pesan tersebut dap

n telekomunikasi, dan lain – lain) dan dapat juga

anan. Pesan dapat berupa teks, gambar, suara, atau

ak dapat dimengerti maknanya oleh pihak lain, m

(24)

telah tersandikan tersebut dinamakan dengan cipherteks. Cipherteks harus dapat

ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima

bisa dibaca. Perbandingan antara plainteks dan cipherteks dapat dilihat pada

Gambar 2.3.

(a) (b)

Gambar 2.3 (a) Plainteks; (b) Cipherteks

b. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim adalah

entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang

menerima pesan. Entitas disini dapat berupa orang, mesin (komputer), kartu

kredit, dan sebagainya.

c. Enkripsi dan Deskripsi

Proses penyandian pesan, dari plainteks ke cipherteks dinamakan dengan enkripsi

(encryption). Sedangkan proses mengembalikan pesan dari cipherteks ke plainteks

dinamakan dengan deskripsi (decryption). Proses enkripsi dan deskripsi

membutuhkan kunci sebagai parameter yang digunakan untuk transformasi.

(a) (b)

(25)

9

d. Kriptanalisis

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang

berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalysis) adalah ilmu dan seni

untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang

digunakan. Pelakunya disebut kriptanalis. Jika seorang kriptografer

(cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu

algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk

memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci.

2.1.4 Jenis Kriptografi

Berdasarkan kunci enkripsi dan deskripsinya algoritma kriptografi terbagi menjadi

dua bagian (Munir, 2006) yaitu:

1. Kriptografi simetri

Konsep dasar dari kriptografi kunci simetri adalah di mana kunci untuk enkripsi

sama dengan kunci untuk deskripsi. Istilah lain dari kriptografi simetri ini adalah

kriptografi kunci privat (privat-key cryptography), kriptografi kunci rahasia

(secret-key cryptography), atau kriptografi konvensional (conventional

cryptography). Dalam kriptografi kunci simetri dapat diasumsikan bahwa si penerima dan pengirim pesan telah terlebih dahulu berbagi kunci sebelum pesan

dikirimkan. Keamanan dari sistem ini terletak pada kerahasiaan kuncinya. Skema

kriptografi simetri dapat dilihat pada Gambar 2.5.

(a) (b)

Gambar 2.5 (a) Skema enkripsi kriptografi simetri; (b) Skema deskripsi

(26)

2. Kriptografi asimetri

Berbeda dengan kriptografi kunci simetri, kriptografi asimetri memiliki dua buah

kunci yang berbeda pada proses enkripsi dan deskripsinya. Nama lain dari kunci

asimetri ini adalah kriptografi kunci publik (public – key cryptography). Kunci

untuk enkripsi pada kriptografi asimetri ini tidak rahasia (diketahui oleh publik),

sedangkan kunci untuk deskripsi bersifat rahasia (kunci privat). Pengirim akan

mengenkripsi dengan menggunakan kunci publik, sedangkan penerima

mendeskripsi menggunakan kunci privat. Skema kriptografi asimetri dapat dilihat

pada Gambar 2.6.

(a) (b)

Gambar 2.6 (a) Skema enkripsi kriptografi asimetri; (b) Skema deskripsi

kriptografi asimetri

2.1.5 Algoritma Vigenere Cipher

Vigenere cipher berasal dari nama penemunya Blaise de Vigenere seorang kriptografer asal Prancis. Vigenere cipher merupakan pengembangan dari caesar

cipher. Pada caesar cipher, setiap huruf pada plainteks digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Sedangkan pada

vigenere cipher, setiap karakter pesan pada plainteks berkorespondensi dengan lebih dari satu karakter pada cipherteks. Misalnya, huruf A pada plainteks dapat

menjadi huruf K atau M pada cipherteks yang berkaitan, tergantung pada kunci

yang digunakan.

Algoritma vigenere cipher menggunakan Persegi vigenere untuk

(27)

11

bagian atas persegi menyatakan plainteks, sedangkan deretan huruf menurun pada

bagian sebelah kiri persegi menyatakan kunci. Setiap baris di dalam persegi

menyatakan huruf - huruf cipherteks yang diperoleh dengan caesar cipher, yang

mana jumlah pergeseran huruf plainteks ditentukan nilai numerik huruf kunci

tersebut (yaitu A=0, B=1, C=2,…, Z=25). Jika panjang kunci yang digunakan

lebih pendek dari plainteks, maka kunci tersebut akan diulang secara periodik

sepanjang plainteks (Tjaru, 2012).

Tabel 2.1 Persegi Vigenere Cipher

Adapun langkah – langkah untuk proses enkripsi pada vigenere cipher sebagai

berikut:

a. Menghilangkan spasi dan tanda baca pada plainteks.

b. Menuliskan kunci secara periodik sepanjang karakter plainteks.

c. Mengenkripsikan setiap karakter plainteks dengan karakter kunci

menggunakan persegi vigenere cipher. Cipherteks diperoleh dari perpotongan

(28)

Untuk proses deskripsinya merupakan kebalikan dari proses enkripsi.

Plainteks diperoleh dari perpotongan baris karakter kunci dengan karakter

cipherteks yang dimaksud pada Persegi vigenere.

Sebagai contoh, untuk plainteks ‘MATEMATIKA’ dengan kunci ‘OKE’,

mengacu pada Tabel 2.1 akan menghasilkan cipherteks sebagai berikut:

Plainteks : MATEMATIKA

Kunci : OKEOKEOKEO

Cipherteks : AKXSWEHSOO

Secara matematis, misalkan adalah karakter ke – pada plainteks,

adalah karakter ke – pada cipherteks, dan adalah karakter ke – pada kunci,

maka enkripsi pada vigenere cipher dapat dinyatakan sebagai:

= + 26 (2.1)

sedangkan untuk deskripsi pada vigenere cipher dapat dinyatakan sebagai:

= − 26 (2.2)

Harus diperhatikan bahwa angka 26 pada persamaan (2.1) dan (2.2)

disebabkan karena banyak huruf yang dienkripsi hanya abjad biasa, yaitu 26

huruf. Apabila banyak karakter yang dienkripsi misalnya berupa karakter ASCII,

maka angka 26 diganti dengan 256.

2.1.6 Metode Kasiski

Metode kasiski pertama kali di temukan oleh Friedrich Kasiski pada tahun 1863

untuk memecahkan vigenere cipher. Metode kasiski membantu untuk menemukan

panjang kunci dari suatu plainteks memanfaatkan pengulangan pasangan 2 huruf

atau lebih. Pengulangan pada cipherteks ini terjadi oleh karena kunci yang sama

diterapkan pada karakter plainteks yang sama menghasilkan pengulangan pada

(29)

13

difaktorkan dan dapat mengindikasikan kunci berserta panjangnya yang

digunakan dalam proses enkripsi (Sidiq).

Berikut adalah langkah – langkah metode kasiski (Tjaru, 2012):

1. Temukan semua kriptogram yang berulang di dalam cipherteks (pesan yang

panjang biasanya mengandung kriptogram yang berulang).

2. Hitung jarak antara kriptogram yang berulang.

3. Hitung semua faktor pembagi dari jarak tersebut.

4. Tentukan irisan dari himpunan faktor pembagi tersebut. Nilai yang muncul di

dalam irisan menyatakan angka yang muncul pada semua faktor pembagi dari

jarak – jarak tersebut. Nilai tersebut mungkin adalah panjang kunci.

Setelah panjang kunci diketahui, maka langkah berikutnya adalah

menentukan kata kunci. Kunci dapat ditentukan dengan beberapa cara, antara lain:

1. Exhaustive key search, yakni dengan membangkitkan semua kemungkinan kunci. Jika panjang kunci adalah p, maka cara ini membutuhkan 26p kali

percobaan.

2. Mengelompokkan huruf – huruf pada cipherteks ke sejumlah p kelompok (p

= panjang kunci). Lalu, melakukan teknik analisis frekuensi pada tiap – tiap

kelompok tersebut.

2.2 Steganografi

2.2.1 Pengertian Steganografi

Steganografi (steganography) berasal dari Bahasa Yunani, yaitu “steganos” yang

artinya menyembunyikan dan “graphein” yang artinya tulisan. Jadi steganografi

berarti juga tulisan yang disembunyikan. Steganografi adalah ilmu dan seni untuk

menyembunyikan pesan rahasia di dalam media digital sedemikian rupa sehingga

orang lain tidak menyadari ada suatu pesan rahasia di dalam media tersebut

(30)

2.2.2 Sejarah Steganografi

Herodotus adalah seorang sejarawan Yunani pertama yang menulis tentang

steganografi, yaitu ketika seorang raja kejam Yunani bernama Histaeus dipenjara

oleh Raja Darius di Susa pada abad ke-5 sebelum Masehi. Histaeus harus

mengirim pesan rahasia kepada anak laki-lakinya, Aristagoras, di Militus.

Histaues menulis pesan dengan cara menato pesan pada kulit kepala seorang

budak. Ketika rambut budak itu mulai tumbuh, Histaues mengutus budak itu ke

Militus untuk mengirim pesan di kulit kepalanya tersebut kepada Aristagoras.

Cerita lain yang ditulis oleh Herodotus, yaitu Demeratus seorang Yunani

yang akan mengabarkan berita kepada Sparta bahwa Xerxes bermaksud menyerbu

Yunani. Agar tidak diketahui pihak Xerxes, Demartus menulis pesan dengan cara

mengisi tabung kayu dengan lilin dan menulis pesan dengan cara mengukirnya

pada bagian bahwah kayu. Papan kayu tersebut dimasukkan ke dalam tabung

kayu, kemudian tabung kayu ditutup kembali dengan lilin.

Teknik steganografi yang lain adalah tinta yang tak terlihat. Teknik ini

pertama digunakan pada zaman Romawi kuno, yaitu dengan menggunakan air

sari buah jeruk, urin, atau susu sebagai tinta untuk menulis pesan. Cara

membacanya adalah dengan dipanaskan di atas nyala lilin. Tinta yang sebelumnya

tidak terlihat, ketika terkena panas akan berangsur – angsur menjadi gelap

sehingga pesan dapat dibaca (Sutoyo, 2009).

2.2.3 Terminologi dan Konsep Dasar Steganografi

Ada beberapa istilah yang berkaitan dengan steganografi (Munir, 2006) yaitu:

1. Embedded Message

Pesan atau informasi yang disembunyikan. Contohnya dapat berupa teks,

(31)

15

2. Cover – object

Pesan yang digunakan untuk menyembunyikan embedded message.

Contohnya dapat berupa teks, gambar, suara, video, dll.

3. Stego – object

Pesan yang sudah berisi pesan embedded message.

Steganografi membutuhkan dua properti, yaitu wadah penampung dan

pesan rahasia yang akan disembunyikan. Steganografi digital menggunakan media

digital sebagai wadah penampung, misalnya gambar, suara, teks, dan video. Pesan

rahasia yang disembunyikan juga dapat berupa gambar, suara, teks, dan video

(Sutoyo, 2006). Gambar 2.7 adalah ilustrasi untuk menggambarkan proses

penyembunyian pesan ke dalam media digital dengan teknik steganografi.

Gambar 2.7 Proses penyembunyian pesan rahasia ke dalam media digital dengan

teknik steganografi

2.2.4 Proses Steganografi

Secara umum, terdapat dua proses didalam steganografi, yaitu proses encoding

untuk menyisipkan pesan ke dalam cover – object dan proses decoding untuk

ekstraksi pesan dari stego – object. Kedua proses ini mungkin memerlukan kunci

rahasia (stegokey) agar hanya pihak yang berhak saja yang dapat melakukan

(32)

(a) (b)

Gambar 2.8 (a) Skema encoding; (b) Skema decoding

2.2.5 Least Significant Bit (LSB)

Metode Least Significant Bit (LSB) merupakan metode steganografi yang paling

sederhana dan paling mudah diimplementasikan. Untuk menjelaskan metode LSB

ini kita menggunakan citra digital sebagai cover – object. Setiap pixel di dalam

citra berukuran 1 sampai 3 byte. Pada susunan bit di dalam sebuah byte (1 byte = 8

bit), ada bit yang paling berarti yaitu MSB (most significant bit) dan bit yang

paling kurang berarti yaitu LSB (least significant bit) (Munir, 2005).

Gambar 2.9 Contoh MSB dan LSB

Dari contoh byte pada Gambar 2.9, bit 1 yang pertama (digarisbawahi)

adalah MSB dan bit 0 yang terakhir (digarisbawahi) adalah LSB. Bit yang cocok

untuk diganti dengan bit pesan adalah LSB, karena modifikasi hanya

menggunakan nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai

sebelumnya. Misalnya byte tersebut di dalam citra memberikan persepsi warna

merah, maka perubahan satu bit LSB hanya mengubah persepsi warna merah

tidak terlalu berarti. Mata manusia tidak dapat membedakan perubahan sekecil ini.

Sebagai ilustrasi, misalkan segmen pixel - pixel citra sebelum disisipkan pesan

(33)

17

00110011 10100010 11100010 01101111

dan misalkan pesan rahasia (yang telah dikonversi ke biner) adalah 0110. Setiap

bit pesan menggantikan posisi LSB dari segmen pixel – pixel citra menjadi:

00110010 10100011 11100011 10010000

Kekurangan dari metode LSB ini adalah jika citra penampung

dimanipulasi (misalnya kompresi, mengubah kontras gambar, dan sebagainya),

maka bit – bit LSB dari stego – object menjadi rusak sehingga pesan tidak dapat

diungkap kembali.

2.2.6 Ukuran Teks Yang Disembunyikan

Ukuran maksimal teks yang dapat disembunyikan bergantung pada ukuran citra

penampung yang digunakan. Semakin besar citra yang digunakan maka akan

semakin banyak pula jumlah karakter yang dapat disembunyikan. Rumus untuk

menghitung jumlah maksimal karakter yang dapat disembunyikan pada citra

adalah

=

8

Misalnya citra yang digunakan sebagai wadah penampung berukuran 200

x 200, artinya citra ini mempunyai panjang 200 pixel dan lebar 200 pixel,

sehingga total pixel citra tersebut adalah 40.000 pixel, karena 1 karakter terdiri

dari 8 bit maka karakter disembunyikan pada setiap 8 pixel sehingga maksimal

karakter yang dapat disemunyikan adalah sebanyak 40.000 / 8 = 5.000 karakter.

Sedangkan untuk citra 24 bit yang berukuran 256 x 256, terdapat 65.536

piksel. Karena setiap pixel berukuran 3 byte (komponen RGB), berarti seluruhnya

ada 65.536 x 3 = 196.608 byte. Setiap byte hanya bisa menyembunyikan satu bit

maka maksimal karakter yang dapat disembunyikan adalah 196.608 / 8 = 24.576

(34)

2.3 Teori Dasar Citra Digital

2.3.1 Pengertian Citra Digital

Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu

objek. Citra yang berupa keluaran dari suatu sistem perekaman data dapat bersifat

optik berupa foto, bersifat analog berupa sinyal – sinyal video seperti gambar pada

monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu

media penyimpanan (Sutoyo, 2009).

2.3.1.1 Citra Analog

Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor

televisi, foto sinar-X, foto yang tercetak dikertas foto, dan lain sebagainya. Citra

analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses

di komputer secara langsung. Agar citra ini dapat diproses di komputer, proses

konversi analog ke digital harus dilakukan terlebih dahulu (Sutoyo, 2009).

2.3.1.2 Citra Digital

Citra digital adalah citra yang bersifat diskrit yang dapat diolah oleh komputer

yang merupakan suatu array dari bilangan yang merepresentasikan intensitas

terang pada point yang bervariasi (pixel). Citra ini dapat dihasilkan melalui

kamera digital dan scanner ataupun citra yang telah mengalami proses digitalisasi.

Citra digital disimpan juga secara khusus di dalam file 24 bit atau 8 bit. Citra 24

bit menyediakan lebih banyak ruang untuk menyembunyikan informasi (Sutoyo,

2009).

2.3.2 Jenis - jenis Citra Digital

Berdasarkan warna – warna penyusunannyan, citra digital dapat dibagi menjadi

(35)

19

1. Citra Biner

Citra biner adalah citra yang hanya memiliki 2 warna, yaitu hitam dan putih. Oleh

karena itu, setiap pixel pada citra biner cukup direpresentasikan dengan 1 bit.

(a) (b)

Gambar 2.10 (a) Citra biner; (b) Representasi citra biner

Alasan penggunaan citra biner adalah karena citra biner memiliki sejumlah

keuntungan sebagai berikut:

a. Kebutuhan memori kecil karena nilai derajat keabuan hanya membutuhkan

representasi 1 bit.

b. Waktu pemrosesan lebih cepat di bandingkan dengan citra hitam – putih

ataupun warna.

2. Citra Grayscale

Citra grayscale adalah citra yang nilai pixel-nya merepresentasikan derajat

keabuan atau intensitas warna putih. Nilai intensitas paling rendah

merepresentasikan warna hitam dan nilai intensitas paling tinggi

merepresentasikan warna putih. Pada umumnya citra grayscale memiliki

kedalaman pixel 8 bit (256 derajat keabuan), tetapi ada juga citra grayscale yang

kedalaman pixel-nya bukan 8 bit, misalnya 16 bit untuk penggunaan yang

memerlukan ketelitian tinggi. Gambar 2.11 (a) adalah contoh citra grayscale.

3. Citra Warna

Citra warna adalah citra yang nilai pixel-nya merepresentasikan warna tertentu.

(36)

warna dasar RGB (red, green, blue). Setiap warna dasar menggunakan

penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi

sebanyak 255 warna. Berarti setiap pixel mempunyai kombinasi warna sebanyak

28.28.28 = 224 = 16 juta warna lebih. Itulah yang menjadikan alasan format ini

disebut dengan true color karena mempunyai jumlah warna yang cukup besar

sehingga bisa dikatakan hampir mencakup semua warna di alam. Gambar 2.11 (b)

adalah contoh citra warna.

(a) (b)

Gambar 2.11 (a) Citra grayscale; (b) Citra warna

2.4 Penelitian Terdahulu

Dalam melakukan penelitian, penulis membutuhkan beberapa bahan penelitian

yang sudah pernah dilakukan peneliti – peneliti lainnya mengenai masalah

implementasi steganografi LSB dan kriptografi vigenere cipher. Salah satunya

seperti yang pernah dilakukan Tri cahyadi (2012) dalam jurnalnya yang berjudul

“Implementasi Steganografi LSB dengan Enkripsi Vigenere Cipher pada Citra

JPEG” meneliti tentang enkripsi vigenere cipher dengan implementasi metode

steganografi LSB pesan pada citra digital. Pada proses penyisipan teks ke dalam

gambar, nilai pixel gambar yang telah dipilih akan di konversi ke biner. Setelah itu

memasukan file teks yang akan disisipkan dan dilanjutkan dengan proses enkripsi.

Setelah proses enkripsi pesan selesai maka pilih koefisien LSB, selanjutnya sistem

akan menghitung daya tampung maksimal citra, jika cipherteks melebihi kapasitas

(37)

21

meminta untuk mengurangi jumlah pesan. Jika cover – object mampu

menampung maka proses melanjutkan mengkonversi nilai cipherteks ke biner,

selanjutnya menyisipkan biner cipherteks tersebut ke LSB terpilih. Proses

selanjutnya transformasikan kembali nilai citra yang telah disisipkan pesan ke

nilai pixel dan kemudian simpan citra yang telah disisipkan pesan (stego – object).

Pada proses ekstrasi pesan yang terkandung di dalam stego – object dipilih

dan nilai pixel citra akan dikonversi ke biner, kemudian masukan stegokey dan

ambil nilai bit terakhir dari LSB terpilih. Konversikan nilai biner cipherteks ke

desimal. Proses selanjutnya adalah deskripsi pesan dan hasilnya merupakan pesan

(38)

PERANCANGAN APLIKASI

Secara garis besar penelitian ini terdiri dari dua proses, yaitu proses enkripsi dan

proses encoding. Dimana untuk proses enkripsi penulis akan menggunakan

algoritma modifikasi vigenere cipher. Sedangkan untuk proses encoding penulis

akan menggunakan metode steganografi Least Significant Bit (LSB). Di samping

kedua proses tersebut, penulis juga akan melengkapi penelitian ini dengan proses

decoding dan deskripsi. Hal ini bertujuan agar pesan yang telah dienkripsi dan disembunyikan dapat kembali menjadi pesan awal yang dapat dimanfaatkan oleh

orang yang berhak.

(a) (b)

Gambar 3.1 (a) Flowchart enkripsi dan encoding; (b) Flowchart decoding dan

deskripsi Mulai

Input plainteks, kunci, citra

Enkripsi

Encoding

Stego-object

Selesai

Mulai

Input kunci, stego-object

Decoding

Deskripsi

Plainteks

(39)

23

3.1 Analisis Algoritma Modifikasi Vigenere Cipher

Seperti yang telah dijelaskan sebelumnya, vigenere cipher dapat dengan mudah

dipecahkan dengan metode kasiski, yaitu dengan memanfaatkan pengulangan

yang mungkin terjadi untuk menentukan panjang kunci, yang kemudian

dilanjutkan dengan melakukan analisis frekuensi. Dari fakta – fakta tersebut,

bahwa apabila pengulangan dapat dikacaukan, serta frekuensi kemunculan huruf –

huruf dapat dimanipulasi, tingkat keamanan vigenere cipher akan menjadi lebih

kuat.

Untuk mengacaukan pengulangan serta memanipulasi kemunculan huruf –

huruf pesan, penulis memilih cara yaitu dengan melakukan penyisipan huruf –

huruf yang ada pada kunci ke dalam plainteks, kemudian dienkripsi seperti

vigenere cipher biasa.

Berikut adalah langkah – langkah dari proses enkripsi:

1. Masukan pesan (plainteks).

2. Masukan kunci.

3. Hitung panjang plainteks.

4. Ulang kunci sepanjang plainteks.

5. Sisipkan setiap huruf pada kunci diantara huruf – huruf plainteks, dan akan

didapat plainteks baru.

6. Hitung panjang plainteks baru.

7. Ulang kunci sepanjang plainteks baru.

8. Ubah huruf plainteks dan kunci menjadi kode ASCII.

9. Plainteks dan kunci dienkripsi dengan persamaan = + 256,

sehingga akan menghasilkan cipherteks.

Gambar 3.2 merupakan flowchart proses enkripsi dari suatu pesan dengan

(40)

Gambar 3.2 Flowchart proses enkripsi

Setelah diperoleh cipherteks, dengan begitu pesan tersebut tidak akan

dapat dibaca oleh pihak yang tidak berhak tanpa melalui proses deskripsi. Proses

deskripsi pada modifikasi vigenere cipher ini memerlukan kunci yang sama pada

saat proses enkripsi.

Langkah – langkah dari proses deskripsi adalah sebagai berikut:

1. Masukan cipherteks.

2. Masukan kunci.

3. Hitung panjang cipherteks.

4. Ulang kunci sepanjang cipherteks.

(41)

25

6. Cipherteks dan kunci dideskripsi dengan persamaan = − 256,

sehingga akan menghasilkan plainteks yang mengandung huruf – huruf kunci. 7. Hapus huruf – huruf kunci yang ada pada plainteks, sehingga diperoleh

plainteks yang asli.

Gambar 3.3 merupakan flowchart dari proses deskripsi pada modifikasi

vigenere cipher.

Gambar 3.3 Flowchart proses deskripsi

3.2 Analisis Algoritma Steganografi Least Significant Bit (LSB)

Strategi penyisipan pesan kedalam citra yang digunakan adalah dengan metode

Least Significant Bit (LSB). Dimana setiap bit pesan akan menggantikan bit paling rendah didalam citra. Pesan disini merupakan cipherteks hasil proses

(42)

menggantikan bit – bit citra baris per baris dimulai dari bit penanda warna hijau,

dilanjutkan ke bit penanda warna merah dan terakhir bit penanda warna biru.

Berikut adalah langkah – langkah dari proses encoding:

1. Masukan pesan (cipherteks).

2. Masukkan citra.

3. Jika ukuran teks lebih besar daripada ukuran citra, maka akan diminta untuk

memasukan kembali citra yang lebih besar. Jika tidak, proses akan berlanjut

ke langkah selanjutnya.

4. Ubah pesan menjadi kode ASCII.

5. Ubah kode ASCII pesan ke dalam biner.

6. Pilih lokasi pixel dari citra.

7. Ubah pixel citra ke dalam biner.

8. Ganti LSB citra dengan bit pesan.

9. Ubah biner citra yang telah mengandung bit pesan ke pixel.

10. Ubah pixel menjadi citra, maka akan diperoleh citra baru yang mengandung

pesan (stego-object).

(43)

27

ya

tidak

Gambar 3.4 Flowchart proses encoding Mulai

Input pesan

Pilih lokasi pixel dari citra

Stego-object

Selesai Ubah pesan

ASCII Input citra

Ukuran teks > Ukuran citra

Ubah pixel citra biner

Ganti LSB citra

dengan bit pesan

Ubah biner citra

pixel Ubah ASCII

(44)

Dari proses encoding akan dihasilkan citra baru yang telah mengandung

pesan. Jika diperhatikan dengan mata manusia, tidak terdapat perbedaan antara

citra tidak mengandung pesan dengan citra yang telah mengandung pesan. Hal

inilah yang menjadi kelebihan dari metode Least Significant Bit (LSB).

Untuk dapat mengambil kembali pesan yang terkandung dalam citra harus

dengan proses decoding. Adapun langkah – langkah dari proses decoding adalah

sebagai berikut:

1. Masukan citra yang mengandung pesan (stego-object).

2. Pilih lokasi pixel dari citra.

3. Ubah pixel citra ke dalam biner.

4. Ambil LSB citra sehingga menghasilkan biner pesan.

5. Ubah biner pesan ke dalam kode ASCII.

6. Ubah kode ASCII pesan menjadi karakter, sehingga menghasilkan pesan

(cipherteks).

Gambar 3.5 merupakan flowchart proses decoding

Mulai

Input Stego-object

Pilih lokasi pixel dari citra

Ubah pixel citra biner

(45)

29

Gambar 3.5 Flowchart proses decoding A

Ambi LSB citra

biner pesan

Ubah ASCII

pesan karakter

Ubah biner pesan

ASCII

Pesan (cipherteks)

(46)

IMPLEMENTASI

Pada bab ini akan diperlihatkan hasil dan pembahasan dari penelitian yang

diperoleh berdasarkan penjelasan – penjelasan yang telah dipaparkan pada bab –

bab sebelumnya. Hasil dan pembahasan dari penelitian ini adalah mengenai

implementasi Steganografi Least Significant Bit (LSB) dengan modifikasi

Vigenere Cipher pada citra digital.

4.1 Kebutuhan Perangkat Lunak dan Perangkat Keras

Penelitian ini menggunakan perangkat lunak berupa:

1. Sistem Operasi Windows 7

2. MATLAB R2009a

Spesifikasi perangkat keras yang digunakan berupa:

1. Processor Intel core i3 2.20 GHz

2. RAM 2 GB

3. Harddisk 500 GB

4. Monitor 14.0 inch

4.2 Implementasi

Pada implementasi sistem ini secara keseluruhan penulis membuat tiga buah

halaman antarmuka, yang terdiri dari halaman utama yang berisikan tentang

pilihan proses apa yang akan dilakukan. Bentuk antarmuka halaman utama dapat

(47)

31

Gambar 4.1 Halaman utama

Dari Gambar 4.1 dapat dilihat bahwa di dalam halaman utama terdapat

tiga buah tombol. Tombol tersebut yaitu tombol encoding, decoding dan keluar.

Tombol encoding digunakan untuk memulai proses enkripsi dan encoding, tombol

decoding digunakan untuk memulai proses decoding dan deskripsi, dan tombol keluar digunakan untuk keluar dari program.

4.2.1 Proses Enkripsi dan Encoding

Rio dan Ica adalah pegawai di suatu perusahaan. Rio ingin menyampaikan pesan

penting kepada Ica mengenai akan diadakannya pertemuan tertutup di kantor

pusat. Isi pesan penting tersebut adalah “Tolong besok hadir di kantor pusat jam

9. Akan diadakan pertemuan tertutup membahas tentang adanya perbedaan

laporan keuangan dari kantor cabang”. Karena pesan bersifat rahasia, maka pesan

tersebut dienkripsi dahulu oleh Rio dengan menggunakan kunci “penting”.

Namun Rio merasa hanya dengan dienkripsi pesan belum sepenuhnya aman.

Maka dari itu cipherteks hasil dari enkripsi akan disembunyikan dalam citra,

sehingga keberadaan pesan tidak diketahui. Gambar 4.2 merupakan citra yang

(48)

Untuk memulai p

halaman utama, maka a

Gambar 4.3.

Gamba

Selanjutnya yan

disembunyikan dan kun

terlebih dahulu akan

menghasilkan cipherteks

dalam citra. Pesan yang

pusat jam 9. Akan dia

perbedaan laporan keuan

Gambar 4.2 Pemandangan.PNG

i proses enkripsi dan encoding, tekan tombol enco

akan muncul halaman enkripsi dan encoding se

bar 4.3 Halaman enkripsi dan encoding 1

yang dilakukan adalah masukan pesan ya

kunci pada kolom yang disediakan. Pesan dan

n dienkripsi dengan modifikasi vigenere ciph

eks, yang mana cipherteks inilah yang akan disem

ang akan dienkripsi adalah “Tolong besok hadir

diadakan pertemuan tertutup membahas tentan

angan dari kantor cabang” dengan kunci “penting

(49)

33

Gambar 4.4 Halaman enkripsi dan encoding 2

Kemudian pilih citra yang akan dijadikan wadah penampung dengan cara

menekan tombol Pilih Gambar, maka akan muncul pop-up window untuk

mengakses lokasi citra disimpan.

(50)

Setelah citra dipilih akan ditampilkan pada halaman enkripsi dan encoding.

Gambar 4.6 Halaman enkripsi dan encoding 3

Langkah selanjutnya adalah memulai proses enkripsi dan encoding dengan

menekan tombol Proses. Jika proses enkripsi dan encoding selesai akan muncul

pop-up window untuk menyimpan citra yang telah mengandung pesan hasil proses enkripsi dan encoding.

(51)

35

Citra pada Gambar 4.8 merupakan citra yang telah mengandung pesan,

hasil proses enkripsi dan encoding.

Gambar 4.8 HASIL.PNG

4.2.2. Proses Decoding dan Deskripsi

Setelah Ica menerima citra yang telah dikirimkan oleh Rio, Ica harus melakukan

proses decoding dan deskripsi agar dapat membaca isi dari pesan tersebut.

Untuk proses decoding dan deskripsi dilakukan dengan menekan tombol

decoding pada halaman utama, maka akan muncul halaman decoding dan

deskripsi seperti pada Gambar 4.9.

(52)

Selanjutnya yang dilakukan adalah pilih citra yang mengandung pesan

dengan cara menekan tombol Pilih Gambar, maka akan muncul pop-up window

untuk mengakses lokasi citra disimpan.

Gambar 4.10 Pop-up window pilih gambar 2

Setelah citra dipilih akan ditampilkan pada halaman decoding dan deskripsi.

Gambar 4.11 Halaman decoding dan deskripsi 2

Langkah selanjutnya adalah masukan kunci pada kolom yang disediakan.

Kunci pada proses deskripsi dan decoding ini adalah sama dengan kunci yang

(53)

37

Gambar 4.12 Halaman decoding dan deskripsi 3

Setelah kunci dimasukan, tekan tombol Proses untuk memulai proses

decoding dan deskripsi. Jika proses ini selesai akan muncul pesan yang disembunyikan pada kolom yang disediakan. Pesan inilah yang merupakan pesan

penting yang ingin disampaikan Rio kepada Ica.

(54)

4.3 Analisis Dalam Aplikasi

Pada tahap ini akan dijelaskan bagaimana tahapan – tahapan sistem mengamankan

pesan. Gambar 4.2 akan dijadikan wadah penampung pesan. Citra ini

menggunakan format pewarnaan RGB, artinya tiap piksel dari citra ini

direpresentasikan dengan nilai sepanjang 24 bit. Pesan rahasia yang akan dicoba

untuk disembunyikan adalah “Tolong besok hadir jam 9” dengan kunci “penting”.

Sebelum pesan disembunyikan dalam citra, terlebih dahulu pesan dienkripsi

sehingga akan menghasilkan cipherteks.

Plainteks “Tolong besok hadir jam 9” memiliki panjang 24 karakter sehingga

kunci “penting” diulang sepanjang plainteks “pentingpentingpentingpen”.

Kemudian sisipkan huruf – huruf kunci diantar huruf – huruf plainteks, diperoleh

plainteks yang baru

“Tpoelnotnign gbpeesnotki nhgapdeinrt ijnagmp e9n”

plainteks yang baru memiliki panjang 48 karakter, maka kunci “penting” diulang

lagi sepanjang plainteks baru

“pentingpentingpentingpentingpentingpentingpentin”

plainteks baru dan kunci baru inilah yang akan dienkripsi.

Selanjutnya ubah plainteks dan kunci ke dalam kode ASCII.

Tabel 4.1. Kode ASCII pesan

(55)

39

Tabel 4.2. Kode ASCII kunci

(56)

Proses selanjutnya adalah mengenkripsi plainteks dan kunci dengan persamaan

= + 256

Proses enkripsi disajikan dalam Tabel 4.3.

Tabel 4.3. Proses Enkripsi

(57)

41

Cipherteks yang dihasilkan dari proses enkripsi adalah

“ÄÕÝÙÕÜÖäÓ×Û׎ÎÒÕÓÙÜÜÖäÐ×”×ÖÎÑÕÒÙÒÜÙä…×Þ×ÏÎÝՎ٢ܔ

Setelah proses enkripsi selesai, maka proses selanjutnya adalah proses

encoding. Pesan yang akan disispkan adalah cipherteks hasil dari proses enkripsi sebelumnya. Jika diubah ke dalam biner karakter cipherteks menjadi

Tabel 4.4. Kode ASCII dan biner dari cipherteks

Karakter ASCII Biner Karakter ASCII Biner

(58)

× 215 11010111 Þ 222 11011110

Ö 214 11010110 × 215 11010111

Î 206 11001110 Ï 207 11001111

Ñ 209 11010001 Î 206 11001110

Õ 213 11010101 Ý 221 11011101

Ò 210 11010010 Õ 213 11010101

Ù 217 11011001 Ž 142 10001110

Ò 210 11010010 Ù 217 11011001

Ü 220 11011100 ¢ 162 10100010

Ù 217 11011001 Ü 220 11011100

Selanjutnya konversi pixel citra Gambar 4.2 ke dalam biner.

Gambar 4.14 pixel citra

68 = (0x27) + (1x26) + (0x25) + (0x24) + (0x23) + (1x22) + (0x21) + (0x20)

68 = 01000100

56 = (0x27) + (0x26) + (1x25) + (1x24) + (1x23) + (0x22) + (0x21) + (0x20)

56 = 00111000

50 = (0x27) + (0x26) + (1x25) + (1x24) + (0x23) + (0x22) + (1x21) + (0x20)

50 = 00110010

57 = (0x27) + (0x26) + (1x25) + (1x24) + (1x23) + (0x22) + (0x21) + (1x20)

57 = 00111001

61 = (0x27) + (0x26) + (1x25) + (1x24) + (1x23) + (1x22) + (0x21) + (1x20)

61 = 00111101

64 = (0x27) + (1x26) + (0x25) + (0x24) + (0x23) + (0x22) + (0x21) + (0x20)

64 = 01000000

60 = (0x27) + (0x26) + (1x25) + (1x24) + (1x23) + (1x22) + (0x21) + (0x20)

60 = 00111100

55 = (0x27) + (0x26) + (1x25) + (1x24) + (0x23) + (1x22) + (1x21) + (1x20)

(59)

43

01000100 00111000 00110010 00111001 00111101 …

01000000 00111100 00111000 00110111 00111000 …

00110110 00111100 00111111 00111010 00110110 …

00101111 00111001 01000001 01000001 00111101 …

00110001 00110100 00111100 01000011 01000010 …

… … … …

Gambar 4.15 Citra dalam bentuk biner

Untuk selanjutnya, tiap bit pesan digunakan untuk menggantikan bit

terakhir dari biner citra. Proses penggantian dilakukan dengan memilih bit

penanda warna hijau pada setiap pixel, setelah semua bit penanda warna hijau

diganti maka dilanjutkan dengan memilih bit penanda warna merah dan terakhir

bit penanda warna biru. Gambar 4.16 adalah biner citra yang telah disisipkan

pesan.

01000101 00111001 00110010 00111000 00111100

01000001 00111100 00111000 00110111 00111001

00110110 00111101 00111110 00111011 00110110

00101111 00111001 01000001 01000000 00111101

00110001 00110101 00111100 01000011 01000011

… … … …

Gambar 4.16 Biner citra setelah disisip pesan

Citra dalam bentuk biner ini akan dipetakan kembali ke bentuk citra.

Ekstraksi pesan dapat dengan mudah dilakukan dengan mengambil bit terakhir

dari biner citra, kemudian pesan dideskripsi, maka akan menghasilkan pesan asli.

4.4 Hasil Pengujian

4.4.1 Hasil Kriptografi

Hasil dari proses kriptografi adalah cipherteks. Dalam penelitian ini, cipherteks

yang dihasilkan tidak ditampilkan. Penulis menggunakan metode modifikasi

vigenere cipher untuk melakukan proses enkripsi dengan tujuan agar cipherteks akan lebih sulit untuk dipecahkan. Cipherteks hasil enkripsi modifikasi vigenere

(60)

menggunakan metode vigenere cipher biasa, cipherteks yang dihasilkan hanya

sepanjang plainteks.

Berikut ini merupakan cipherteks hasil dari vigenere cipher biasa dan

modifikasi vigenere cipher.

Plainteks : Tolong besok hadir di kantor pusat jam 9. Akan diadakan pertemuan

tertutup membahas tentang adanya perbedaan laporan keuangan dari

kantor cabang

Kunci : penting

Cipherteks biasa :

ÄÔÚã×ÕÒÊáãÔÏÑÉ×æÒÐ ÐÏâÝÝÙ ÕãçÊâÚÆÛ¢±ÐÏâÒÐÑÉÏßÊÜ ÕÓæÝ

ÓÔåÆÜÝÓÙäÚâéÙÔÕÒÐÕÑÏÚ ÙÓâÝÏÕ×ÏØÊÜàÑÞÙÛÐÌÔÆÏâÚÈàÔàÕ×Ò

ÕÚÏâÐÏÕ ÉÏæÒÒÑÓâãÛÊÑÇÏâÐ

Cipherteks modifikasi :

ÄÕÝÙÕÜÖäÓ×Û×ÎÒÕÓÙÜÜÖäÐ××ÖÎÑÕÒÙÒÜÙä×Ø××Î ÕÙÙÊÜÕäÙ×ã×

àÎ ÕÞÙÞÜÚäÆ×è×ÎÚÕÏÙÖÜä×¢×αÕÙÙÊÜÕä×Ø××ÎÑÕÒÙÊÜÒäÆ×â×Î Õ

ÞÙÎÜÙäÙ×Ù×ÛÎåÕÏÙ×ÜäÙ×Ù×àÎäÕãÙÝÜÜäÕ××ÛÎÕÕÛÙËÜÈäÍ×Õ×áÎ Õâ

ÙÎÜÕäÙ×Õ×ÜÎ×ÕÙÊÜËäÆ×â×çÎÑÕÙÙÜÌä××Ö×ÓÎÔÕÏÙÊÜÕä×à×ÏÎàÕÝÙÛ

ÜÈäÓ××ÙÎÕÕãÙÊÜÕäÌ×Õ×ÜÎ ÕÒÙÊÜÙäÎ××ÙÎÑÕÜÙÝÜÖä×××ÑÎÑÕÐÙÊ

ÜÕäÌ×

Dari kedua versi cipherteks tersebut, cipherteks vigenere cipher biasa

dapat dipecahkan dengan mencoba kemungkinan kunci sebanyak 256145 kunci,

sedangkan cipherteks modifikasi vigenere cipher dapat dipecahkan dengan

mencoba kemungkinan kunci sebanyak 256290 kunci. Itu berarti akan lebih sulit

untuk memecahkan cipherteks hasil modifikasi vigenere cipher dibandingkan

(61)

45

4.4.2 Hasil Steganografi

Hasil dari proses steganografi berupa citra berformat *PNG yang telah disisipi

pesan dengan metode penyisipan pesan LSB. Citra hasil steganografi ini tidak

memperlihatkan perubahan yang signifikan walaupun LSB citra tersebut telah

berubah. Hal ini dikarenakan keterbatasan manusia untuk dapat melihat perubahan

warna yang sangat kecil. Gambar 4.2 merupakan citra sebelum disisip pesan dan

Gambar 4.8 merupakan citra yang telah disisip pesan.

Perubahan yang terjadi pada citra hasil steganografi ini dapat dilihat dari

nilai pixel-nya. Dengan membandingkan nilai pixel citra sebelum disisip pesan

dan citra setelah disisip pesan maka akan terlihat bahwa sesungguhnya terdapat

perbedaan dari kedua citra tersebut. Gambar 4.17 menampilkan nilai pixel dari

citra sebelum disisip pesan dan citra setelah disisip pesan.

(a)

(b)

Gambar 4.17 (a) Pixel citra sebelum disisip pesan; (b) Pixel citra setelah disisip

pesan

Setelah dilakukan beberapa kali pengujian menggunakan ukuran citra

penampung yang bervariasi, dapat diketahui maksimal plainteks yang dapat

disembunyikan berdasarkan ukuran citra penampungnya. Hasil pengujian

(62)

Tabel 4.5. Kapasitas maksimum citra

Ukuran Citra Maksimal Plainteks Yang Dapat Disembunyikan (karakter)

20 x 20 75

200 x 58 2.175

360 x 348 23.490

500 x 500 46.875

479 x 640 57.480

800 x 600 90.000

Dalam penelitian ini cipherteks hasil dari enkripsi memiliki panjang 2 kali

panjang plainteks dan menggunakan citra RGB yang memiliki 3 byte pada setiap

pixel-nya maka hasil pengujian pada Tabel 4.5 diperoleh dari perhitungan dengan persamaan

= 3

16

Hasil pengujian Tabel 4.5 diperoleh dari perhitungan dengan persamaan

= 3

16

Karena menggunakan citra RGB yang memiliki 3 byte pada setiap pixel-nya maka

panjang dan lebar citra dikalikan 3, dan karena cipherteks yang dihasilkan dari

(63)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah keseluruhan proses dilakukan, maka dapat diambil kesimpulan sebagai

berikut:

1. Pada penelitian ini pesan rahasia dienkripsi, kemudian hasil enkripsi yang

berupa cipherteks disembunyikan ke dalam citra, sehingga tidak

menimbulkan kecurigaan pihak lain serta keamanan dan kerahasiaan pesan

terjaga.

2. Pada proses ekstraksi, pesan yang disisipkan pada citra dapat diperoleh

kembali secara utuh dengan menggunakan kunci yang benar.

3. Algoritma vigenere cipher yang telah dimodifikasi lebih sulit dipecahkan

dibandingkan dengan algoritma vigenere cipher biasa.

4.2 Saran

Adapun saran – saran yang dapat penulis berikan untuk pengembangan dan

perbaikan penelitian ini adalah sebagai berikut:

1. Membangkitkan bilangan acak untuk memilih posisi byte citra yang akan

digunakan untuk penyisipan pesan.

2. Untuk menambah kerumitan dalam memecahkan cipherteks, dapat dilakukan

modifikasi tambahan pada vigenere cipher.

3. Penelitian ini agar dapat dikembangkan lebih lanjut dengan menggunakan

(64)

DAFTAR PUSTAKA

Andri, M. Y. 2009. Implementasi Algoritma Kriptografi DES, RSA Dan Algoritma Kompresi LZW Pada Berkas Digital. [Skripsi]. Medan: Universitas Sumatera Utara.

Asyad, A. A 2010. Implementasi Least Significant Bit Untuk Pengamanan Citra Digital Di Dalam Media Citra. [Skripsi]. Medan: Universitas Sumatera Utara.

Cahyadi, Tri. 2012. Implementasi Steganografi LSB Dengan Enkripsi Vigenere Cipher Pada Citra JPEG. Transient. Vol 1, No 4.

Handoyo, K.L. Modifikasi Vigenere Cipher Dengan Metode Penyisipan Kunci Pada Plainteks. Teknik Informatika ITB.

Hidayat, W. 2010. Perlindungan Pesan Rahasia Pada Citra Digital Menggunakan Metode Least Significat Bit Steganografi. [Skripsi]. Medan: Universitas Sumatera Utara.

Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.

Munir, Rinaldi. 2005. Pengolahan Citra Digital. Bandung: Informatika.

Prasetyo, F.P. 2010. Steganografi Menggunakan Metode LSB Dengan Software Matlab. [Skripsi]. Jakarta: Universitas Islam Negri Syarif Hidayatullah.

Sianipar, R.H. 2013. Pemrograman Matlab Dalam Contoh Dan Penerapan. Bandung: Informatika.

Sidiq, A.Z. Vigenere Cipher Dengan Modifikasi Bujursangkar Vigenere Menggunakan Kode Morse. Teknik Informatika ITB.

Sutoyo, T., Mulyanto, E., Suhartono, V., Nurhayati, O.D. dan Wijanarto, M. T. 2009. Teori Pengolahan Citra Digital. Yogyakarta: Penerbit Andi.

(65)

49

(66)

Lampiran 1. Fungsi Utama

function varargout = UTAMA(varargin) gui_Singleton = 1; if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end

function UTAMA_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

(67)

51

Lampiran 2. Fungsi Enkripsi Dan Encoding

function varargout = ENKRIPSI(varargin) gui_Singleton = 1; if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end

function varargout = ENKRIPSI_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function pesan_Callback(hObject, eventdata, handles)

function pesan_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function kunci_Callback(hObject, eventdata, handles)

function kunci_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

(68)

Lampiran 2. Lanjutan

function pilihGambar_Callback(hObject, eventdata, handles)

axes(handles.axes1); clear gca;

[FileName, PathName, FilterIndex] =

uigetfile('*.PNG','Pilih Citra','*.PNG');

function proses_Callback(hObject, eventdata, handles) % PROSES ENKRIPSI

if panjangPesanInput == 0 respon =

peringatanPesan('Title','formPeringatanPesan'); else

Gambar

Gambar 2.7 Proses penyembunyian pesan rahasia ke dalam media digital dengan
Gambar 2.8 (a) Skema encoding; (b) Skema decoding
Gambar 2.10 (a) Citra biner; (b) Representasi citra biner
Gambar 2.11 (a) Citra grayscale; (b) Citra warna
+7

Referensi

Dokumen terkait

JURUSAN TEKNIK INFORMATIKA, KOMPUTERISASI AKUNTANSI DAN MANAJEMEN INFORMATIKA JADWAL SERTIFIKASI SEMESTER GENAP TA... Basis Data Remedia

Kajian Hukum Pertanggungjawaban Pidana terhadap Notaris dalam Menjalankan Jabatan Terkait Ketiadaan Sanksi Pidana pada Undang-Undang Nomor 30 Tahun 2004 tentang Jabatan

The designated flying disc in the event is Volley® ELE Soft Saucer (Red and Blue).. Thickness

[r]

(Supplement 2.2.1-1) With the start signal, the robot moves to LA and attaches ʻdiscsʼ or ʻmagazines loaded with discsʼ according to Rule 2.4.1, then the robot leaves LA and works

[r]

Sehubungan dengan itu, saya menyambut baik penyelenggaraan Kontes Robot ABU Indonesia (KRAI), karena dalam KRAI setiap peserta harus mengeksplorasi kemampuannya

Earning per share atau laba per lembar saham akan semakin tinggi dengan tingkat hutang yang semakin.. tinggi, tetapi risiko juga akan semakin tinggi saat hutang