BAB 2 LANDASAN TEORI. 2.1 Kriptografi

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

IMPLEMENTASI STEGANOGRAFI MENGGUNAKAN METODE LEAST SIGNIFICANT BIT (LSB) DALAM PENGAMANAN DATA PADA FILE AUDIO MP3

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB 1 PENDAHULUAN Latar Belakang Masalah

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB II LANDASAN TEORI

Tanda Tangan Digital Untuk Gambar Menggunakan Kriptografi Visual dan Steganografi

BAB II LANDASAN TEORI

STEGANOGRAFI DENGAN METODE PENGGANTIAN LEAST SIGNIFICANT BIT (LSB)

BAB I PENDAHULUAN 1.1 Latar Belakang

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

BAB 1 PENDAHULUAN Latar Belakang

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pengamanan Data Teks dengan Kriptografi dan Steganografi Wawan Laksito YS 5)

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

BAB III ANALISIS DAN DESAIN SISTEM

Steganografi. Pesan rahasia: Lari jam satu. Pengantar: Prisoner s Problem. Bob. Alice. Fred

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(arjana, et al. 2012):

BAB II TINJAUAN PUSTAKA

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA. pesan di dalam media tersebut. Kata steganografi (steganography) berasal

BAB 1 PENDAHULUAN Latar belakang

STEGANOGRAPHY CHRISTIAN YONATHAN S ELLIEN SISKORY A. 07 JULI 2015

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB I PENDAHULUAN. 1. aa

Implementasi Steganografi Pesan Text Ke Dalam File Sound (.Wav) Dengan Modifikasi Jarak Byte Pada Algoritma Least Significant Bit (Lsb)

STEGANOGRAFI. Subianto AMIK JTC SEMARANG

BAB 2 TINJAUAN PUSTAKA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

1.1 LATAR BELAKANG I-1

BAB 2 LANDASAN TEORI

Kriptografi Modern Part -1

KONSEP PENYANDIAN FILE JPEG DENGAN MENGGUNAKAN METODE LSB

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

Kriptografi Modern Part -1

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

BAB II. TINJAUAN PUSTAKA

2017 Ilmu Komputer Unila Publishing Network all right reserve

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB 2 TINJAUAN TEORITIS

Grafik yang menampilkan informasi mengenai penyebaran nilai intensitas pixel-pixel pada sebuah citra digital.

Perancangan Aplikasi Penyembunyian Pesan Teks Terenkripsi Pada Citra Digital Dengan Metode Least Significant Bit (LSB)

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Pendahuluan. Contoh : Dari contoh diatas huruf awal setiap kata bila di rangkai akan membentuk pesan rahasia :

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

EKSPLORASI STEGANOGRAFI : KAKAS DAN METODE

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB I PENDAHULUAN. manusia dengan komputer untuk memudahkan membantu penyelesaian dan

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

PENGAMANAN DATA TEKS DENGAN KOMBINASI CIPHER BLOCK CHANING DAN LSB-1

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 TINJAUAN TEORETIS

STEGANOGRAFI DALAM GAMBAR BEREKSTENSI BMP MENGGUNAKAN METODE CHAOTIC LEAST SIGNIFICANT BIT

Pemanfaatan Steganografi dalam Kriptografi Visual

BAB II LANDASAN TEORI

Studi, Perbandingan Metode Steganografi, dan Metode Steganalisis pada Berkas HTML

Pemberian Hiddentext Palsu pada Steganografi Visual

BAB 1 PENDAHULUAN. untuk mengirimkan pesan, tetapi juga bisa menggunakan layanan yang tersedia di

KOMBINASI KRIPTOGRAFI DENGAN HILLCIPHER DAN STEGANOGRAFI DENGAN LSB UNTUK KEAMANAN DATA TEKS

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

ANALISIS KEAMANAN PESAN MENGGUNAKAN TEKNIK STEGANOGRAFI MODIFIED ENHANCED LSB DAN FOUR NEIGHBORS DENGAN TEKNIK KRIPTOGRAFI CHAINING HILL CIPHER

IMPLEMENTASI PENGGUNAAN TEKNIK STEGANOGRAFI METODE LSB (LEAST SIGNIFICANT BIT) DAN POLYBIUS SQUARE CIPHER PADA CITRA DIGITAL

BAB I PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI VISIBLE WATERMARKING DAN STEGANOGRAFI LEAST SIGNIFICANT BIT PADA FILE CITRA DIGITAL

TINJAUAN PUSTAKA. Kriptografi

BAB I PENDAHULUAN 1.1. Latar Belakang

Pembangkit Stego-Teks Sederhana untuk Implementasi Steganografi

Penggunaan Algoritma Kriptografi Steganografi Least Significant Bit Untuk Pengamanan Pesan Teks dan Data Video

BAB I PENDAHULUAN 1.1 Latar Belakang

PERANCANGAN PEMBANGKIT TANDA TANGAN DIGITAL MENGGUNAKAN DIGITAL SIGNATURE STANDARD (DSS) Sudimanto

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yaitu kryptos yang berarti tersembunyi dan graphein yang berarti menulis. Kriptografi adalah bidang ilmu yang mempelajari teknik pengiriman pesan dengan rahasia, yaitu dengan cara sebelum melakukan pengiriman pesan, pesan tersebut disamarkan terlebih dahulu sehingga pesan tersebut tidak dapat diketahui maknanya sebelum pesan yang telah disamarkan itu dikembalikan ke bentuk pesan yang semula (Mollin, 2007). Setiap orang yang terlibat dalam kriptografi disebut kriptografer sedangkan sebaliknya orang-orang yang berusaha memecahkan metode kriptografi disebut dengan kriptanalisis (Schneier, 1996). Beberapa istilah yang berkaitan dengan kriptografi (Munir, 2006) diantaranya, 1. Pesan disebut juga dengan plainteks. Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan dapat berupa data atau informasi yang dikirim atau yang disimpan di dalam media perekaman. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berupa citra, suara, dan video. 2. Cipherteks merupakan pesan yang telah disamarkan ke dalam bentuk lain sehingga pesan tersebut tidak dapat dimengerti maknanya. Untuk dapat mengetahui maknanya maka cipherteks harus ditransformasikan ke dalam bentuk yang semula. 3. Enkripsi merupakan proses untuk menyamarkan plainteks menjadi cipherteks. 4. Dekripsi merupakan proses untuk mengembalikan cipherteks menjadi plainteks dalam bentuk semula. 5. Kunci merupakan parameter masukan yang digunakan untuk melakukan proses enkripsi dan dekripsi.

6 Skema kriptografi ditunjukkan pada gambar 2.1. Gambar 2.1. Skema Enkripsi dan Dekripsi (Munir, 2006) 2.2 Tujuan Kriptografi Sebagai penyedia layanan keamanan komunikasi, menurut Menejes (1996) kriptografi memberikan layanan sebagai berikut 1. Kerahasiaan (Confidentiality) yaitu layanan yang memberikan perlindungan terhadap pesan sehingga hanya orang berhak yang dapat memahami informasi dari pesan yang di kirimkan. Dalam kriptografi layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks. Pihak lain mungkin saja mendapatkan cipherteks namun mereka tidak dapat mengetahui maksud dari pesan tersebut. 2. Integritas data (Data Integrity) yaitu layanan yang memberikan jaminan keorisinalan dari pesan, bahwa pesan tersebut belum pernah dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan dari pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubsitusian data lain ke dalam data yang sebenarnya. 3. Otentikasi (Authentication) yaitu layanan yang berhubungan identifikasi, baik mengindentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentifikasi satu sama lain sehingga ia dapat memastikan sumber pesan. 4. Nirpenyangkalan (Non-repudiation) yaitu layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman pesan atau penerima pesan menyangkal telah menerima pesan.

7 2.3 Jenis Algoritma Kriptografi 2.3.1. Kriptografi kunci simetri Algoritma kunci simetri adalah algoritma kriptografi yang mana kunci untuk mengenkripsinya sama dengan kunci untuk mendekripsinya (Munir, 2006). Algoritma ini juga disebut algoritma kunci privat dikarenakan pengirim dan penerima sebelum dapat berkomunikasi harus mengetahui kunci yang digunakan. Kunci algoritma ini harus tetap dijaga kerahasiaannya untuk dapat melakukan komunikasi dengan aman (Schneier, 1996). Skema kriptografi kunci simetri ditunjukkan pada gambar 2.2. Gambar 2.2 Skema Kriptografi Kunci Simetri (Schneier, 1996) Terdapat tiga cara yang pada umumnya digunakan sebagai dasar dari algoritma kriptografi kunci simetri (Cole, 2003) yaitu 1. Subsitusi, yaitu proses mengambil sebuah karakter kemudian menukarkannya dengan karakter yang lain. Untuk itu dibutuhkan tabel pemetaan satu-satu karakter. Contoh tabel pemetaan karakter ditunjukkan pada tabel 2.1. Tabel 2.1. Contoh Tabel Pemetaan Karakter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z H S N U W B J M T A V Y F Q L X D Z G P E R C O I K Misalkan kita mempunyai pesan SUBSITUSI maka S digantikan dengan huruf G, U dengan huruf E dan seterusnya, sehingga SUBSITUSI menjadi GESGTPEGT. 2. Permutasi, yaitu penukaran posisi huruf dalam pesan berdasarkan kunci tertentu. Cara kerja permutasi berbanding terbalik dengan subtitusi, jika dalam teknik subtitusi, posisi karakter tetap namun identitasnya diubah dengan karakter lain, maka dalam permutasi identitas karakternya yang tetap, namun posisinya yang diubah. Sebelum dilakukan permutasi, plainteks dibagi terlebih dahulu ke dalam

8 blok karakter dengan ukuran yang tetap sesuai panjang kunci. Contoh tabel permutasi karakter ditunjukkan pada tabel 2.2. Tabel 2.2. Contoh Tabel Permutasi Karakter Kunci Pesan 2 3 1 P E R M U T A S I Misalkan kita mempunyai pesan PERMUTASI dengan kunci 231. Maka hurufhuruf pada pesan disusun ulang sesuai dengan kunci. Huruf pertama pesan menjadi huruf kedua, huruf kedua menjadi huruf ketiga dan seterusnya, sehingga PERMUTASI menjadi RPETMUIAS. 3. XOR, merupakan operasi matematika yang beroperasi pada tingkat binary, sehingga pesan harus terlebih dahulu diubah ke dalam bentuk binary-nya. XOR memiliki ciri yang unik yaitu ketika sebuah pesan dikenakan XOR dengan sebuah kunci, maka akan menghasilkan cipherteks dan jika cipherteks tersebut dikenakan XOR dengan kunci yang sama maka akan mengembalikan pesan tersebut ke dalam bentuk yang semula. Misalkan kita mempunyai pesan rahasia XOR dan kunci ABC, maka terlebih dahulu kita mengubah pesan dan kunci tersebut ke dalam bentuk binary-nya, X = 01011000 A = 01000001 O = 01001111 B = 01000010 R = 01010010 C = 01000011 Kemudian kita melakukan operasi XOR antara pesan dengan kunci Pesan = 01011000 01001111 01010010 Kunci = 01000001 01000010 01000011 Ciphertext = 00011001 00001101 00010001 Untuk mengembalikan pesan ke dalam bentuk semula, kita melakukan XOR antara pesan dengan kunci yang sama, maka akan dihasilkan pesan semula. Ciphertext = 00011001 01001101 01010001 Kunci = 01000001 01000010 01000011 Pesan = 01011000 01001111 01010010

9 Schneier (1996) membagi kriptografi kunci simetri dalam dua kategori yaitu block cipher dan stream cipher. Block cipher beroperasi dalam satuan blok plainteks dan cipherteks, biasanya blok tersebut berukuran 64 bit namun terkadang dapat lebih besar. Sedangkan stream cipher beroperasi dalam satuan bit atau byte pada satu waktu. 2.3.2. Kriptografi kunci asimetri Kriptografi kunci simetri menggunakan dua buah kunci yaitu kunci publik dan kunci privat. Apapun yang dienkripsi menggunakan satu kunci, maka hanya dapat didekripsi oleh kunci yang lain. Cara kerja kriptografi kunci asimetri adalah sebagai berikut, kita membebaskan setiap orang untuk mengetahui kunci publik kita, namun kita harus menjaga kunci privat kita agar hanya kita yang mengetahuinya. Ketika seseorang ingin mengirim pesan pada kita, maka ia harus mengenkripsinya dengan kunci publik kita. Sehingga pesan tersebut hanya dapat diketahui oleh kita yang memiliki kunci privat untuk mendekripsi pesan tersebut. Skema kriptografi kunci asimetri ditunjukkan pada gambar 2.3. Gambar 2.3. Skema Kriptografi Kunci Asimetri (Schneier, 1996) Kriptografi kunci asimetri menjawab masalah pertukaran kunci dan masalah nirpenyangkalan, walaupun cara kerjanya sangat lambat. Dalam kriptografi kunci asimetri pendistribusian kunci tidak mengharuskan dikirim melalui saluran yang aman, tetapi yang menjadi keharusan adalah saluran yang digunakan dapat dipercaya. Saluran aman maksudnya bahwa tidak ada seorangpun yang dapat mengetahui isi informasi selama proses pengiriman, sedangkan pada saluran terpercaya setiap orang dapat mengetahui isi informasi tetapi kita mendapat jaminan bahwa informasi yang dikirim berasal dari sumber yang terpercaya dengan kata lain tidak ada terjadi perubahan informasi selama proses pengiriman. Hal ini dikarenakan setiap orang dapat membuat satu pasangan kunci privat dan publik dan menyatakan bahwa kunci publiknya tersebut sebagai milik orang lain. Dalam hal nirpenyangkalan, jika kita ingin membuktikan bahwa kitalah yang telah mengirim pesan maka ketika kita

10 mengenkripsi pesan dengan kunci privat kita, maka setiap orang dapat mengetahui pesan kita dengan mendekripsinya dengan kunci publik kita, namun hanya kitalah satu-satunya orang yang mungkin mengirim pesan karena kunci publik kita hanya dapat digunakan pada pesan yang dienkripsikan dengan kunci privat kita. Algoritma yang menggunakan kriptografi kunci asimetri diantaranya RSA dan Elgamal (Cole, 2003). 2.3.3. Hash Algoritma Hash adalah transformasi satu arah pada pesan plainteks, artinya setelah mengalami hash pesan tidak dapat dikembalikan ke bentuk semula. Hash menerima plainteks dalam ukuran apapun dan menghasilkan keluaran dengan ukuran yang lebih kecil dalam ukuran yang tetap. Hash sangat berguna dalam penyimpanan password dan dalam tanda tangan dikarenakan tidak adanya kunci. Beberapa algoritma hash diantaranya MD5, MD4, HMAC dan SHA (Cole, 2003). 2.4. RC4 RC4 adalah algoritma kriptografi berjenis stream cipher yang dibangun oleh Ron Rivest untuk Laboratorium RSA Security. RC4 sendiri merupakan kepanjangan dari Ron Code (Munir, 2006). Algoritma ini tidak pernah dipublikasikan oleh RSA Security, namun pada September 1994 ada seseorang yang tak dikenal yang mengirimkan source code yang diyakini sebagai algoritma RC4 ke milis Cyperpunks. Kemudian algoritma ini tersebar dengan cepat melalui internet (Kromodimoeljo, 2009). 2.4.1. Algoritma RC4 Tahapan dalam RC4 dibagi menjadi dua bagian (Stalling, 2005) yaitu, 1. Inisiasi vector S Langkah pertama adalah menginisilisasi vector S dengan nilai 0 sampai 255, sehingga S[0]=0, S[1] = 1,..., S[255] = 255. Sebuah vector sementara T, diisi dengan kunci secara berulang hingga vector T terisi penuh. Kemudian dilakukan permutasi terhadap nilai-nilai di dalam vector S. Langkah tersebut dituliskan sebagai berikut, /* Inisialisasi */ for i = 0 to 255 do

11 S[i] = i; T[i] = K[i mod keylen]; /* Permutasi vector S */ j = 0; for i = 0 to 255 do j = (j + S[i] + T[i]) mod 256; Swap (S[i], S[j]); 2. Stream Generation (Pembangkitan aliran kunci) Kemudian melakukan pembangkitan aliran kunci dengan aturan sebagai berikut, /* Stream Generation */ i, j = 0; while (true) i = (i + 1) mod 256; j = (j + S[i]) mod 256; Swap (S[i], S[j]); t = (S[i] + S[j]) mod 256; k = S[t]; Untuk proses enkripsi dilakukan operasi XOR pada byte plainteks dengan k, sedangkan untuk melakukan dekripsi dilakukan operasi XOR pada byte cipherteks dengan k. 2.4.2. Contoh Enkripsi RC4 Untuk menunjukkan bagaimana cara kerja algoritma RC4 kita menggunakan vector berukuran 4 byte. Hal ini dikarenakan akan sangat sulit menggambarkan proses RC4 secara manual dengan vector berukuran 256 byte (Suryani 2009). Misalkan kita akan mengenkripsi kata RC4 dengan kunci 2314. Maka pertama kita menginisialisasi vector S dan vector T. array S = array T = 0 1 2 3 2 3 1 4 Kemudian menginisiasi i dan j dengan 0 dan melakukan permutasi vector S. - Iterasi 1 ( j = 0 ; i = 0) j = (0+S[0]+T[0]) mod 4

12 = (0+ 0 + 2 ) mod 4 = 2 Swap (S[0],S[2]) array S = 2 1 0 3 - Iterasi 2 ( j = 2 ; i = 1) j = (2+S[1]+T[1]) mod 4 = (2+ 1 + 3 ) mod 4 = 2 Swap (S[1],S[2]) array S = 2 0 1 3 - Iterasi 3 ( j = 2 ; i = 2) j = (2+S[2]+T[2]) mod 4 = (2+ 1 + 1 ) mod 4 = 1 Swap (S[2],S[1]) array S = 2 1 0 3 - Iterasi 4 ( j = 1 ; i = 3) j = (1+S[3]+T[3]) mod 4 = (1+ 3 + 4 ) mod 4 = 0 Swap (S[3],S[0]) array S = 3 1 0 2 Setelah melakukan permutasi vector S, berikutnya dilakukan stream generation untuk menghasilkan kunci. Pembangkitan kunci dilakukan sebanyak tiga kali sesuai dengan panjang plainteks. Hal ini dikarenakan setiap karakter akan menggunakan satu buah kunci. - Iterasi 1 ( i = 0 ; j = 0) i = (0+1) mod 4 = 1 j = (0+S[0]) mod 4 = (0+3) mod 4 = 3 Swap (S[1],S[3]) array S = 3 2 0 1 t = (S[1] + S[3]) mod 4 = ( 2 + 1 ) mod 4

13 = 3 k = S[3] = 00000001 - Iterasi 2 ( i = 1 ; j = 3) i = (1+1) mod 4 = 2 j = (3+S[1]) mod 4 = (3+2) mod 4 = 1 Swap (S[1],S[2]) array S = 3 0 2 1 t = (S[1] + S[2]) mod 4 = ( 0 + 2 ) mod 4 = 2 k = S[2] = 00000011 - Iterasi 3 ( i = 2 ; j = 1) i = (2+1) mod 4 = 3 j = (1+S[2]) mod 4 = (1+2) mod 4 = 3 Swap (S[3],S[3]) array S = 3 0 2 1 t = (S[3] + S[3]) mod 4 = ( 1 + 1 ) mod 4 = 2 k = S[2] = 00000011 Setelah menemukan kunci untuk setiap karakter, maka dilakukan proses enkripsi dengan melakukan operasi XOR antara karakter pada plainteks dengan kunci yang dihasilkan. Tabel ASCII untuk tiap-tiap karakter pada plainteks ditunjukkan pada tabel 2.3. Tabel 2.3. ASCII untuk karakter yang digunakan Karakter R C 4 ASCII (binary 8 bit) 01010010 01000000 00110111

14 Proses XOR antara plainteks dengan kunci ditunjukkan pada tabel 2.4. Tabel 2.4. Proses XOR plainteks dengan kunci plainteks 01010010 01000000 00110111 kunci 00000001 00000011 00000011 cipherteks 01010011 01000000 00110111 Cipherteks tersebut menghasilkan kata S@7. Untuk mengembalikan cipherteks ke dalam bentuk plainteks, maka dilakukan proses dekripsi dengan melakukan operasi XOR antara cipherteks dengan kunci menggunakan kunci yang sama dengan kunci ekripsi. Proses ini ditunjukkan pada tabel 2.5. Tabel 2.5. Proses XOR cipherteks dengan kunci cipherteks 01010011 01000000 00110111 kunci 00000001 00000011 00000011 plainteks 01010010 01000000 00110111 2.5. Citra Digital Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran 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. Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel. Pixel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas citra (Sutoyo, dkk. 2009). 2.5.1 Jenis-jenis citra digital Berdasarkan warna-warna penyusunnya, citra digital dapat dibagi menjadi tiga jenis (Sutoyo, dkk. 2009) yaitu 1. Citra biner, merupakan citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner yaitu 0 dan 1.

15 Gambar 2.4. Contoh citra biner 2. Citra grayscale, merupakan citra digital yang hanya dibentuk oleh satu nilai kanal warna pada setiap pixel-nya. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Citra grayscale menghasilkan warna hitam, keabuan dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Gambar 2.5. Contoh citra grayscale 3. Citra warna, merupakan citra yang nilai pixel-nya merepresentasikan warna tertentu. Banyaknya warna yang mungkin digunakan bergantung kepada kedalaman pixel dari citra tersebut. Citra berwarna direpresentasikan dalam beberapa kanal yang menyatakan komponen-komponen warna penyusunnya. Banyaknya kanal yang digunakan bergantung pada model warna yang digunakan pada citra tersebut. Gambar 2.6. Contoh citra warna

16 2.5.2 Format file citra digital Berdasarkan format penyimpanan file digital, citra digital dapat dibagi menjadi dua jenis (Sutoyo, dkk. 2009) yaitu 1. Citra Bitmap, menyimpan data kode citra secara digital dan lengkap tanpa melakukan kompresi terhadap citra terlebih dahulu. Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra bitmap memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Bila citra ini diperbesar akan mengakibatkan penurunan kualitas citra. 2. Citra Vektor, dihasilkan dari perhitungan matematis dan tidak berdasarkan pixel, yaitu data tersimpan dalam bentuk vektor posisi, dimana yang tersimpan hanya informasi vektor posisi dengan sebuah fungsi. Pada file citra vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesar atau diperkecil, kualitas citra relatif tetap baik dan tidak berubah. 2.6 Steganografi Steganografi adalah ilmu menyembunyikan pesan ke dalam media digital lain sehingga keberadaan pesan tersebut tidak dapat diketahui oleh orang lain (Sadikin, 2012). Steganografi berasal dari bahasa Yunani, yaitu steganos yang berarti tertutup dan graphia yang berarti menulis (Cole, 2003). Beberapa istilah yang berkaitan dengan steganografi (Munir, 2006) diantaranya 1. Hiddentext atau embedded message, yaitu pesan rahasia yang akan disembunyikan. 2. Covertext atau cover-object, yaitu media yang digunakan sebagai tempat untuk menyembunyikan pesan rahasia. 3. Stegotext atau stego-object, yaitu media yang didalamnya sudah disembunyikan pesan rahasia. Di dalam steganografi, hiddentext maupun covertext dapat berupa teks, citra, audio, ataupun video. Penyisipan pesan ke dalam media covertext dinamakan encoding, sedangkan ekstraksi pesan dinamakan decoding. Kedua proses ini memungkinkan menggunakan kunci rahasia (Munir, 2006). Skema steganografi ditunjukkan pada gambar 2.7.

17 Gambar 2.7. Skema Penyisipan dan Ekstraksi Steganografi (Munir, 2006) 2.6.1 Kriteria steganografi yang baik Penyisipan pesan ke dalam citra akan mengubah kualitas dari citra tersebut. Oleh sebab itu ada beberapa hal yang harus diperhatikan dalam penyembunyian pesan ke dalam suatu citra (Munir, 2006), yaitu : 1. Fidelity, bentuk, ukuran serta kualitas dari citra penampung harus tidak jauh berbeda dengan citra sebelum dilakukan penyisipan, sehingga orang lain tidak menyadari keberadaan pesan di dalam citra penampung. 2. Robustness, pesan yang telah disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada stego-data, seperti pengubahan kontras, penajaman, pemampatan, dan sebagainya. 3. Recovery, data yang telah disisipkan ke dalam pesan harus dapat diungkapkan kembali. Karena tujuan steganografi adalah penyembunyian informasi maka sewaktu-waktu pesan rahasia dalam stego-data harus dapat diambil kembali. 2.6.2 Teknik steganografi Secara umum teknik steganografi berdasarkan teknik penyembunyian data, steganografi dapat dikelompokkan menjadi tiga kategori (Cole, 2003) yaitu : 1. Insertion-Based, yaitu teknik menemukan lokasi di dalam file yang diabaikan oleh aplikasi pembaca file tersebut. Teknik ini tidak akan memberikan pengaruh terhadap file yang ditumpangi namun akan membuat ukuran file tersebut menjadi lebih besar. Sebagai contoh, dalam beberapa file terdapat suatu penanda yang disebut dengan EOF (end of file). Penanda ini memberitahukan kepada aplikasi pembaca file bahwa pembacaan telah mencapai akhir dari file, oleh karena itu aplikasi seharusnya menghentikan pembacaan file. Kita dapat menambahkan data yang ingin kita sembunyikan setelah penanda EOF, dan aplikasi akan mengabaikannya walaupun data tersebut masih berada di dalam file.

18 2. Substitution-Based, yaitu teknik menggantikan data yang terdapat di dalam file dengan data yang akan disembunyikan. Data yang digantikan adalah data yang tidak terlalu berarti sehingga tidak terlalu memberikan perubahan dari file semula. Namun kekurangan teknik ini adalah keterbatasan ukuran pesan rahasia yang disisipkan. 3. Generation-Based, yaitu teknik steganografi yang tidak memerlukan file lain untuk melakukan penyembunyian file. Dengan teknik generation-based, file rahasia yang digunakan sebagai file yang dapat kelihatan. Metode ini menghindari kemungkinan pendeteksian stego dimana jika seseorang memiliki file original dan file yang telah disisipkan pesan rahasia, maka orang tersebut dapat menemukan perbedaan informasi yang disebabkan oleh pesan rahasia. 2.6.3 Metode LSB Metode LSB (Least Significant Bit) termaksud ke dalam steganografi teknik subsitusi, yaitu melakukan penyisipan dengan cara menggantikan bit yang berlebih atau tidak terlalu berpengaruh pada media penampung (cover-image) dengan bit dari pesan rahasia (Kipper, 2004). Dalam representasi biner, ada nilai bit yang berarti disebut dengan MSB (most significant bit) terletak pada posisi bit bagian kiri dan bit yang bernilai kurang berarti disebut dengan LSB (least significant bit) terletak pada bit bagian kanan (Munir, 2006). Misalkan berikut ini representasi byte dari sebuah cover-image, 10000100 10000110 10001001 10001101 01111001 01100101 01001010 00100110 Kemudian kita akan menyembunyikan pesan rahasia, yaitu bilangan 213. Bilangan 213 direpresentasi sebagai 11010101. Selanjutnya menggunakan metode LSB kita akan menyisipkan bilangan 213 dalam cover-image kita sebagai berikut, - 10000100 : 0 digantikan dengan 1, bit pertama dari pesan kita. - 10000110 : 0 digantikan dengan 1, bit kedua dari pesan kita. - 10001001 : 1 digantikan dengan 0, bit ketiga dari pesan kita. - 10001101 : 1 dibiarkan karena sama dengan bit keempat dari pesan kita. - 01111001 : 1 digantikan dengan 0, bit kelima dari pesan kita. - 01100101 : 1 dibiarkan karena sama dengan bit keenam dari pesan kita.

19-01001010 : 0 dibiarkan karena sama dengan bit ketujuh dari pesan kita. - 00100110 : 0 digantikan dengan 1, bit kedelapan dari pesan kita. Berdasarkan contoh diatas, kita telah berhasil menyembunyikan pesan rahasia dengan melakukan perubahan hanya pada lima buah byte data dari delapan byte cover-image. Perubahan nilai 0 atau 1 pada bagian LSB tersebut memberikan pengaruh yang sangat kecil sehingga tidak terlihat perbedaannya dengan cover-image sebelum penyisipan (Kipper, 2004). 2.6.4 Metode modified LSB Modified LSB adalah metode LSB yang dimodifikasi dengan tujuan untuk menghasilkan metode yang lebih baik dari metode LSB yang sudah ada (Lubis, 2015). Berikut adalah beberapa penelitian yang telah memodifikasi metode LSB, 1. Verma, et al. (2014) dalam penelitian yang berjudul An Enhanced Least Significant Bit Steganography Method Using Midpoint Circle Approch melakukan penyisipan hanya pada bagian lingkaran pada cover-image. 2. Asad, et al. (2011) dalam penelitian yang berjudul An Enhanced Least Significant Bit Modification Technique for Audio Steganography melakukan penyisipan dengan pemetaan bit berdasarkan nilai-nilai dari bit MSB pada cover-image. Dalam penelitian ini penulis akan melakukan modifikasi LSB yang akan dijelaskan pada bagian perancangan sistem dalam BAB 3.