• Tidak ada hasil yang ditemukan

LANDASAN TEORI

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 melakukan enkripsi dan deskripsi. Deretan huruf mendatar yang terletak pada

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 antara baris karakter kunci dengan kolom karakter plainteks.

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 hasil cipherteks. Interval munculnya pengulangan pada cipherteks kemudian dapat

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 (Sutoyo, 2009).

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, gambar, suara, video, dll.

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 penyisipan pesan dan ekstraksi pesan (Munir, 2006).

(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 adalah

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 karakter (Munir, 2006).

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 tiga macam (Wildan, 2010) yaitu:

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. Setiap pixel pada citra warna memiliki warna yang merupakan kombinasi dari tiga

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 kemampuan dari cover – object maka sistem akan menolak untuk melanjutkan dan

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 rahasia.

Dokumen terkait