Implementasi Kriptografi Des pada File Gambar ke Dalam File Audio dengan Algoritma Steganografi LSB+1

  BAB 2 TINJAUAN PUSTAKA

2.1 Audio

  Audio (suara) adalah fenomena fisik yang dihasilkan oleh getaran suatu benda yang berupa sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap waktu yang disebut frekuensi (Binanto, 2010). Alur gelombang suara sampai ke alat pendengaran dapat dilihat seperti pada Gambar 2.1

Gambar 2.1 Alur Gelombang Suara (Binanto, 2010)

  Selama bergetar, perbedaan tekanan terjadi di udara sekitarnya. Pola osilasi yang terjadi dinamakan sebagai gelombang. Gelombang mempunyai pola sama yang berulang pada interval tertentu, yang disebut sebagai periode. Contoh suara periodik adalah instrumen musik, nyanyian burung sedangkan contoh suara non periodik adalah batuk, percikan ombak dan lain-lain. Gelombang suara terjadi sebagai variasi tekanan dalam sebuah media, seperti udara. Ia tercipta dari bergetarnya sebuah benda, yang menyebabkan udara sekitarnya ikut bergetar. Udara yang bergetar kemudian diterima oleh telinga, menyebabkan gendang telinga manusia bergetar, kemudian otak menafsirkannya sebagai suara. Gelombang suara berjalan melalui udara, sama seperti gelombang yang terjadi di air. Bahkan, gelombang air lebih mudah untuk dilihat dan dimengerti, hal ini sering digunakan sebagai analogi untuk menggambarkan bagaimana gelombang suara berperilaku. Gelombang suara juga dapat ditampilkan dalam sekitar grafik XY. Hal ini memungkinkan kita untuk membayangkan dan bekerja dengan gelombang dari sudut matematika. Gelombang suara terdiri dari satu lembah dan satu bukit seperti pada Gambar 2.2.

Gambar 2.2 Gelombang Suara (Binanto, 2010)

  Gelombang suara pada Gambar 2.2 merupakan suatu grafik gelombang berbentuk dua dimensi, tetapi di dunia nyata gelombang suara berbentuk tiga dimensi. Grafik menunjukkan gelombang bergerak sepanjang jalan dari kiri ke kanan, tapi kenyataannya perjalanan gelombang suara bergerak ke segala arah menjauhi sumber. Kira-kira sama seperti riak air yang terjadi ketika kita menjatuhkan sebuah batu ke dalam kolam. Namun model 2 dimensi ini, cukup dapat menjelaskan tentang bagaimana suara bergerak dari satu tempat ke tempat lain. Bagian-bagian Gelombang Suara Semua gelombang memiliki sifat-sifat tertentu. Ada tiga bagian yang paling penting untuk audio : Panjang gelombang: Jarak antara titik manapun pada gelombang (pada gambar ditunjukkan sebagai titik tertinggi) dan titik setara pada fase berikutnya. Secara harfiah, panjang gelombang adalah jarak yang digambarkan dengan huruf “T”. Amplitudo: atau kekuatan sinyal gelombang (intensity). Titik tertinggi dari gelombang bila dilihat pada grafik. Amplitudo tinggi biasa disebut sebagai volume yang lebih tinggi, diukur dalam dB. Nama perangkat untuk meningkatkan amplitudo disebut amplifier. Frekuensi: frekuensi waktu yang dibutuhkan oleh gelombang bergerak dari satu pase ke pase berikutnya dalam satu detik. Diukur dalam hertz atau cycles per second. Semakin cepat sumber suara bergetar, semakin tinggi frekuensi. Frekuensi yang lebih tinggi ditafsirkan sebagai pitch yang lebih tinggi. Sebagai contoh, ketika kita menyanyi dengan suara bernada tinggi maka akan memaksa pita suara kita bergetar lebih cepat.

  Hal berikutnya yang perlu diperhatikan adalah apa artinya ketika gelombang mencapai titik tertinggi atau titik rendah. Pada sinyal elektronik, nilai tinggi menunjukkan tegangan positif yang tinggi. Ketika sinyal ini dikonversi menjadi gelombang suara, kita dapat membayangkan nilai-nilai tinggi tersebut sebagai daerah yang mewakili peningkatan tekanan udara. Ketika gelombang menyentuh titik tertinggi, hal ini berhubungan dengan molekul udara yang menyebar bersama-sama secara padat. Ketika gelombang menyentuh titik rendah, molekul udara menyebar lebih tipis (renggang).

  Audio diproduksi oleh sebuah objek yang bergetar, contohnya instrumen musik, ataupun pita suara manusia. Getaran mekanik dari sebuah loud speaker membuat pergerakan udara terdorong dan tertarik dari kondisi stabil, adanya gerakan mendorong dan menarik yang terus menerus dari sebuah speaker membuat tekanan udara berubah yang pada akhirnya menyebabkan terjadinya sebuah gelombang suara.

  Sebuah gelombang suara dapat dideskripsikan oleh frekuensi dan amplitudo. Frekuensi 1 Hz berarti 1 cycle gelombang lengkap setiap satu detik. Satuan sebuah frekuensi adalah Hertz (Hz). Frekuensi audible (human hearing rang) adalah 20 Hz sampai 20000 Hz. Dalam kenyataan praktis sebuah sumber suara selalu diproduksi pada banyak frekuensi secara simultan. Amplitudo sebuah gelombang mengacu pada besarnya perubahan tekanan dan tingkat kerasnya (loudness) gelombang suara.

  Sebuah sinyal suara diproduksi dan ditransmisikan melalui udara, akhirnya diterima pada telinga manusia. Telinga manusia memiliki gendang pendengaran (eardrum) yang dapat bergetar pada saat menerima gerakan gelombang udara (push and pull). Pengelompokan sound dapat dilakukan berdasarkan acoustic behavior-nya. Berdasarkan acoustic behavior-nya sound dibedakan menjadi dua jenis yaitu direct sound dan indirect sound (ambient).

  Dikatakan direct sound apabila sumber suara berjalan dari sumber suara langsung menuju ke pendengar dalam aliran garis lurus. Indirect sound bila sumber suara dipantulkan terlebih dahulu pada satu atau lebih permukaan bidang sebelum sampai pada pendengar, karena adanya proses pemantulan sinyal suara pada indirect sound maka ditemukan adanya delay time untuk tiba kepada pendengar.

2.2 Representasi Suara Gelombang suara analog tidak dapat langsung direpresentasikan pada komputer.

  Komputer mengukur amplitudo pada satuan waktu tertentu untuk menghasilkan sejumlah angka. Tiap satuan pengukuran ini dinamakan “sample”. Analog to Digital Conversion (ADC) adalah proses mengubah amplitudo gelombang bunyi ke dalam waktu interval tertentu (sampling), sehingga menghasilkan representasi digital dari suara. Dalam teknik sampling dikenal istilah sampling rate yaitu beberapa gelombang yang diambil dalam satu detik. Sebagai contoh jika kualitas CD audio dikatakan memiliki frekuensi sebesar 44.100 Hz, berarti jumlah sampel sebesar 44.100 per detik. Proses sampling audio analog ke digital dapat dilihat seperti pada Gambar 2.3.

Gambar 2.3 Proses sampling audio analog ke digital (Binanto, 2010).

  Langkah-langkah dalam proses digitasi adalah: 1. Membuang frekuensi tinggi dari source signal.

  2. Mengambil sample pada interval waktu tertentu (sampling).

  3. Menyimpan amplitudo sampel dan mengubahnya ke dalam bentuk diskrit (kuantisasi).

  4. Merubah bentuk menjadi nilai biner.

  Teknik sampling yang umum pada file audio seperti Nyquist Sampling Rate dimana untuk memperoleh representasi akurat dari suatu sinyal analog secara lossless, amplitudonya harus diambil sample-nya setidaknya pada kecepatan (rate) sama atau lebih besar dari 2 kali lipat komponen frekuensi maksimum yang akan didengar. Misalnya untuk sinyal analog dengan bandwith 15Hz – 10kHz→sampling rate = 2 x 10KHz = 20 kHz (Gunawan, 2005).

  2.2.1 Struktur data pada file audio Format file wav (waveform audio format) merupakan salah satu format yang digunakan untuk menyimpan suara pada rentang frekuensi 20 Hz sampai 20 kHz.

  Gelombang suara mempunyai data yang kontinyu sehingga gelombang tersebut bila digambarkan akan berupa kurva yang tidak putus-putus, akan tetapi komputer hanya dapat menyimpan data dalam bentuk digital. Struktur data pada file audio berbeda- beda tergantung format audio-nya. Struktur file wav dapat dilihat seperti pada Gambar 2.4.

Gambar 2.4. Struktur File wav (Binanto, 2010)

  File dengan format wav menggunakan metode pulse code modulation (PCM) untuk menyimpan suara yang bersifat analog menjadi data digital pada komputer. PCM adalah salah satu cara merepresentasikan data analog dalam bentuk digital dimana data sinyal analog tersebut diambil sampelnya pada setiap selang periode tertentu kemudian dijadikan nilai pada sistem digital. Selang waktu yang digunakan untuk mengambil sampel pada sinyal analog tersebut menentukan kualitas suara yang dihasilkan. Semakin banyak sampel sinyal analog yang diambil dalam selang waktu tertentu maka semakin baik pula kualitas suara yang dihasilkan (hasil suara akan mendekati dengan suara aslinya). Data mentah hasil PCM ini kemudian disimpan dalam format file wav. Sebagai contoh file wav memiliki sampel audio seperti pada Gambar 2.5.

Gambar 2.5. Contoh struktur file wav dalam bentuk hexa (Sridevi, 2005)

  Pada struktur file wav Gambar 2.5 terdiri dari: a. Chunk Descriptor yang terdiri dari data: 52 49 46 46 28 08 00 00 57 41 56 45. b. Fmt subChunk yang terdiri data subChunk1size, audioFormat, numChannel, sampleRate, byteRate,BlockAlign, data Subchunk, Subchunk2 Size yaitu: 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 c. Data sample-sample audio yaitu: 00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 34 e7 23 a6 3c f2 24 f2 11 ce 1a 0d

2.3 Steganografi

  Steganografi adalah teknik menyembunyikan atau menyamarkan keberadaan pesan rahasia dalam suatu media penampungnya sehingga orang lain tidak menyadari adanya pesan di dalam media tersebut. Kata steganografi pada awalnya berasal dari kata steganos. Steganos sendiri sebenarnya merupakan kata dari bahasa Yunani. Lebih lengkapnya steganos memiliki arti penyamaran atau penyembunyian dan graphein atau graptos memiliki arti tulisan. Pengertian steganografi yang cukup sering digunakan dalam pembelajaran dengan metodologi sejarah adalah “menulis tulisan yang tersembunyi atau terselubung” (Prihanto, 2010).

  Steganografi sudah digunakan sejak dahulu kala sekitar 2500 tahun yang lalu untuk kepentingan politik, militer, diplomatik, serta untuk kepentingan pribadi sebagai alat. Teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip dasar dalam steganografi lebih dikonsentrasikan pada kerahasian komunikasinya bukan pada datanya (Pakereng, 2010).

  Seiring perkembangan teknologi terutama teknologi komputasi juga bertambahnya kebutuhan dan keinginan dengan kontinuitas yang tinggi, steganografi merambah juga ke media digital. Ada dua proses utama dalam steganografi digital yaitu penyisipan (embedding/encoding) dan penguraian (extraction/decoding) pesan. Pesan dapat berupa plaintext, chipertext, citra, atau apapun yang dapat ditempelkan ke dalam bit-stream. Embedding merupakan proses menyisipkan pesan ke dalam berkas yang belum dimodifikasi, yang disebut media cover (cover object). Kemudian media cover dan pesan yang ditempelkan membuat media stego (stego object). Extraction adalah proses menguraikan pesan yang tersembunyi dalam media stego. Suatu password khusus (stego key) juga dapat digunakan secara tersembunyi, pada saat penguraian selanjutnya dari pesan. Ringkasnya, steganografi adalah teknik menanamkan embedded message pada suatu cover object, dimana hasilnya berupa stego object.

  Adapun proses steganografi selengkapnya ditunjukkan pada Gambar 2.6.

Gambar 2.6. Proses Steganografi (Suryani, 2008)

  Pihak yang terkait dengan steganografi antara lain embeddor, extractor, dan stegoanalyst (Suryani, 2008). Embeddor adalah orang yang melakukan embedding dengan menggunakan aplikasi steganografi. Extractor adalah orang yang melakukan extract stego image dengan menggunakan aplikasi steganografi. Sedangkan stegoanalyst adalah orang yang melakukan steganalisis. Steganalisis merupakan ilmu dan seni untuk mendeteksi pesan yang tersembunyi dalam steganografi seperti pada Gambar 2.7.

  Steganografi Linguistik Teknik Steganografi Steganografi

  Open Codes Semagrams Virtual Text Jargon Codes Covered Ciphers

  Semagrams Semagrams

Gambar 2.7 Taksonomi Steganografi (Suryani, 2008)

  1. Teknik Steganografi (Technical Steganography) Teknik ini menggunakan metode sains untuk menyembunyikan pesan. Contohnya adalah penyembunyian pesan dalam chip mikro.

  2. Linguistik Steganografi (Linguistic Steganography) Teknik ini menyembunyikan pesan dalam cara yang tidak lazim. Teknik ini terbagi menjadi dua bagian yaitu Semagrams dan Open Codes.

  3. Open Codes Teknik ini menyembunyikan pesan dengan cara yang tidak umum namun tetap tidak mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu Jargon Code dan Covered Ciphers.

  4. Covered Ciphers Teknik ini menyembunyikan pesan dalam media pembawa sehingga pesan kemudian dapat diekstrak dari media pembawa tersebut oleh pihak yang mengetahui bagaimana pesan tersembunyi tersebut disembunyikan.

  Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari beberapa faktor yaitu:

  1. Imperceptibility Keberadaan pesan dalam media penampung tidak dapat dideteksi.

  2. Fidelity Mutu media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan pesan.

  3. Recovery Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, karena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali.

  4. Robustness Pesan yang disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila pada media penampung dilakukan operasi- operasi manipulasi, maka pesan yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi kembali). Karakteristik steganografi yang baik adalah imperceptibility tinggi, fidelity tinggi, recovery maksimum dan robustness tinggi.

  2.3.1 Teknik Steganografi LSB+1 Least Significant Bit+1 (LSB+1) adalah bagian dari barisan data biner (basis dua) yang mempunyai nilai paling tidak berarti/paling kecil. Letaknya adalah pada bit nomor 2 dari kanan dari barisan 8 bit. Least Significant Bit (LSB) sering kali digunakan untuk kepentingan penyisipan data ke dalam suatu media digital lain, salah satu yang memanfaatkan LSB sebagai metode penyembunyian adalah steganografi audio dengan citra digital. Pada susunan bit di dalam sebuah byte (l byte = 8 bit), ada bit yang paling berarti (most significant bit) atau MSB dan bit yang paling kurang berarti least significant bit atau LSB (Nath, 2012). Susunan bit dapat dilihat seperti pada Gambar 2.9.

  1

  1

  1

  1

  1 MSB LSB+1 LSB

Gambar 2.8 Susunan bit pada LSB

  Nilai desimal dari MSB di atas adalah 181, sedangkan nilai desimal dari LSB adalah 1 dan LSB+1 adalah 0, kemungkinan besarnya dari nilai LSB hanyalah 1 dan 0. Sebelum masuk pada proses penyisipan, maka harus dilakukan terlebih dulu proses konversi dari file wav ke dalam bentuk biner-nya. Untuk melakukan ini diperlukan informasi dari audio wav berupa ukuran sample size dan amplitudo yang digunakan agar proses perubahan LSB nantinya tepat pada bit LSB+1.

2.4 Media Cover

  Media cover digunakan pada steganografi sebagai media untuk menampung pesan tersembunyi. Pesan yang disembunyikan tersebut dapat mempunyai hubungan atau bahkan tidak mempunyai hubungan sama sekali dengan media dimana pesan tersebut disisipkan (untuk kasus komunikasi rahasia) atau pesan dapat menyediakan info penting tentang media, seperti informasi autentifikasi, judul, tanggal dan waktu pembuatan, hak cipta, nomor seri kamera digital yang digunakan untuk mengambil gambar, informasi mengenai isi dan akses terhadap citra dan lain sebagainya (Binanto, 2010).

  Secara teori, semua berkas yang ada dalam komputer dapat digunakan sebagai media dalam steganografi, asalkan berkas tersebut mempunyai bit-bit data redundan yang dapat dimodifikasi. Beberapa contoh media cover yang digunakan dalam teknik steganografi antara lain adalah :

  1. Teks Dalam algoritma steganografi yang menggunakan teks sebagai media penyisipannya, teks yang telah disisipi pesan rahasia tidak boleh mencurigakan untuk orang yang melihatnya.

  2. Suara Format ini sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula.

  3. Citra Format ini paling sering digunakan, karena format ini merupakan salah satu format berkas yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah banyaknya tersedia algoritma steganografi untuk media penampung yang berupa citra.

  4. Video Format ini merupakan format dengan ukuran berkas yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini.

2.5 Algoritma Kriptografi Data Encrytion Standard (DES)

  DES merupakan block cipher 16 ronde yang memiliki struktur Feistel dan memiliki masukan/keluaran 64 bit, serta memiliki kunci sepanjang 56 bit. Dengan struktur Feistel, algoritma enkripsi memiliki struktur yang sama dengan yang untuk dekripsi. Perbedaannya hanya terletak pada urutan sub key yang dimasukkan . DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi dari algoritma terdahulu yang bernama Lucifer. Lucifer merupakan algoritma cipher block yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 28 bit. Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma ini bisa diimplementasikan dalam satu chip (Kurniawan, 2004).

  DES pertama kali dipublikasikan di Federal Register pada 17 Maret 1975. Setelah melalui banyak diskusi, akhirnya algortima DES digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa dibaca oleh orang lain. Namun demikian, DES juga mengundang banyak kontroversi dari para ahli di seluruh dunia. Salah satu kontroversi tersebut adalah S-Box yang digunakan pada DES. S-Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit dipecahkan. Hal ini disebabkan karena S-Box merupakan satu

  • – satunya bagian dari DES yang komputasinya tidak linear. Sementara itu, rancangan dari S-Box sendiri tidak diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa S-Box dirancang sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa membongkar semua ciphertext yang dienkripsi dengan DES kapan saja (Pakereng, 2010).

  Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya 56 bit. Akibatnya DES rawan terhadap serangan brute force. Walaupun terdapat kerawanan tersebut, DES tetap digunakan pada banyak aplikasi seperti pada enkripsi PIN (Personal Identification Numbers) pada mesin ATM (Automatic Teller Machine) dan transaksi perbankan lewat internet. Bahkan, organisasi – organisasi pemerintahan di Amerika seperti Department of Energy, Justice Department, dan Federal Reserve System menggunakan DES untuk melindungi penyebaran data mereka (Pakereng, 2010).

  DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP). Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda. Hasil enciphering kemudian

  • 1

  dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP ) menjadi blok cipherteks. Skema global dari algoritma DES adalah sebagai berikut:

  1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation)

  2. Hasil permutasi awal kemudian di enchipering sebanyak 16 putaran. Setiap putaran menggunakan kunci internal yang berbeda.

  3. Hasil enchipering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1) menjadi blok chiperteks. Skema global dari algoritma DES adalah seperti pada Gambar 2.9.

  

Plainteks

  IP 16 kali Enciphering -1

  

IP

Cipherteks

Gambar 2.9 Skema Global Algoritma DES (Primartha, 2011)

  Pada proses enkripsi yang pertama dilakukan adalah merubah plainteks dan kunci eksternal ke dalam bentuk biner kemudian melakukan initial permutation (IP) pada bit plainteks menggunakan tabel initial permutation yang ditunjukkan pada Tabel 2.1.

Tabel 2.1 Matriks Permutasi Awal 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4

  62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

  Dalam algoritma DES, terdapat kunci eksternal dan kunci internal. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci internal dibangkitkan sebelum proses enkripsi ataupun bersamaan dengan proses enkripsi. Kunci eksternal panjangnya adalah 64 bit atau delapan karakter. Karena ada 16 putaran, maka kunci internal panjangnya yang dibutuhkan sebanyak 16 buah, yaitu K

  1 , K , …, K .

  2

  16 Kunci eksternal 64 bit, di kompresi menjadi 56 bit menggunakan matrik permutasi kompresi PC-1. Dalam permutasi tiap bit ke delapan dari delapan byte kunci akan diabaikan. Sehingga akan ada pengurangan delapan bit dari 64 bit awal kunci eksternal. Matriks permutasi kompresi PC-1 dapat dilihat pada Tabel 2.2.

Tabel 2.2 Matriks Permutasi Kompresi PC-1 57 49 41 33 25 17 9

  1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4

  Dalam permutasi ini, tiap bit ke delapan (parity bit) dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang 56 bit, sehingga dapat dikatakan panjang kunci DES adalah 56 bit. Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, kiri dan kanan, yang masing-masing panjangnya 28 bit, yang masing-masing disimpan di dalam C dan D : C : berisi bit-bit dari K pada posisi 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36 D : berisi bit-bit dari K pada posisi 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4

  Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua bit bergantung pada tiap putaran. Operasi pergeseran bersifat wrapping atau round-shift. Jumlah pergeseran pada setiap putaran ditunjukkan pada Tabel 2.3.

Tabel 2.3 Jumlah pergeseran bit pada setiap putaran

  Putaran i Jumlah pergeseran bit

  1

  1

  2

  1

  3

  2

  4

  2

  5

  2

  6

  2

  7

  2

  8

  2

  9

  1

  10

  2

  11

  2

  12

  2

  13

  2

  14

  2

  15

  2

  16

  1 Misalkan (C i , D i ) menyatakan penggabungan C i dan D i . (C i+1 , D i+1 ) diperoleh dengan menggeser C dan D satu atau dua bit. Setelah pergeseran bit, (C , D ) mengalami

  i i i i permutasi kompresi dengan menggunakan matriks PC-2 seperti pada Tabel 2.4.

Tabel 2.4 Matriks Kompresi PC-2 14 17 11 24 1

  5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

  Jadi, setiap kunci internal K mempunyai panjang 48 bit. Bila jumlah pergeseran bit-

  i

  bit pada Tabel 2.2 dijumlahkan semuanya, maka jumlah seluruhnya sama dengan 28, yang sama dengan jumlah bit pada C i dan D i . Karena itu, setelah putaran ke-16 akan didapatkan kembali C = C dan D = D . Proses pembangkitan kunci-kunci internal

  16

  16 ditunjukkan pada Gambar 2.10. Kunci eksternal Permutasi PC-1 Left Shift Left Shift C D C D 1 1 Permutasi Left Shift Left Shift C D   j j Permutasi PC-2 PC-2 K K j 1 Left Shift Left Shift C D   16 16 Permutasi PC-2 K 16 Gambar 2.10 Pembangkitan Kunci Internal (Andri, 2009)

  Proses enciphering terhadap blok plainteks dilakukan setelah permutasi awal dimana setiap blok plainteks mengalami 16 kali putaran enciphering. Setiap putaran enciphering merupakan jaringan Feistel yang secara matematis dinyatakan sebagai:

  L i = R i – 1 ........................................................................... (2.1) 

  R = L f(R , K )........................................................ (2.2)

  i i – 1 i – 1 i Diagram komputasi fungsi f diperlihatkan pada Gambar 2.11.

  R i-1 32 bit Ekspansi menjadi 48 bit E(R ) i-1 48 bit

  K

 i

  48 bit 48 bit   E ( R  i i 1 ) K A Matriks substitusi

  S ... S 1 8 B 32 bit P(B) 32 bit

Gambar 2.11 Rincian komputasi fungsi f (Andri, 2009)

  E adalah fungsi ekspansi yang memperluas blok R yang panjangnya 32 bit menjadi

  i – 1

  blok 48 bit. Fungsi ekspansi direalisasikan dengan matriks permutasi ekspansi seperti pada Tabel 2.5.

Tabel 2.5 Matriks Permutasi Ekspansi

  32

  1

  2

  3

  4

  5

  4

  5

  6

  7

  8

  9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32

  1 Selanjutnya, hasil ekspansi, yaitu E(R ),yang panjangnya 48 bit di-XOR-kan dengan

  i – 1

  K i yang panjangnya 48 bit menghasilkan vektor A yang panjangnya 48-bit: E(R ) K = A

  i – 1 i

  Vektor A dikelompokkan menjadi 8 kelompok, masing-masing 6 bit, dan menjadi masukan bagi proses substitusi. Proses substitusi dilakukan dengan menggunakan delapan buah kotak-S (S-box), S

  1 sampai S 8 . Setiap kotak S menerima masukan 6 bit

  dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama menggunakan S

  1 , kelompok 6 bit kedua menggunakan S , dan seterusnya.

2 Kedelapan kotak S tersebut adalah:

  S

  1 :

  14 4 13 1 2 15 11 8 3 10 6 12

  5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11

  9 5 3 8 4 1 14 8 13 6 2 11 15 12

  9 7 3 10 5 0 15 12

  8

  2

  4

  9

  1 7 5 11 3 14 10 6 13 S

  2 :

  15 1 8 14 6 11

  3

  4

  9 7 2 13 12 5 10 3 13 4 7 15 2 8 14 12 1 10 6 9 11 5 0 14 7 11 10 4 13

  1 5 8 12

  6

  9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 5 14 9

  S

  3 :

  10 9 14 6 3 15 5 1 13 12 7 11 4 2 8

  13

  7

  9

  3 4 6 10

  2 8 5 14 12 11 15 1

  13

  6

  4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13

  6

  9

  8 7 4 15 14 3 11 5 2 12 S

  4 :

  7 13 14

  3 6 9 10

  1

  2 8 5 11 12 4 15 13 8 11 5 6 15

  3

  4 7 2 12 1 10 14 9

  10

  6 9 0 12 11 7 13 15 1 3 14

  5 2 8 4 3 15 6 10 1 13

  8

  9 4 5 11 12 7 2 14 S

  5 :

  2 12

  4 1 7 10 11

  6

  8 5 3 15 13 0 14

  9 14 11 2 12 4 7 13

  1 5 0 15 10 3 9 8 16

  4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 9 10 4

  5

  3 S

  6 :

  12 1 10 15

  9

  2

  6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12

  9

  5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12

  3 7 4 10 1 13 11 6

  4 3 2 12 9 5 15 10 11 14

  1

  7 6 8 13 S

  7 :

  4 11 2 14 15 8 13 3 12

  9 7 5 10 6 1 13 0 11

  7

  4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15

  6

  8 5 9 2 6 11 13 8 1 4 10

  7

  9 5 0 15 14 2 3 12 S

  8 :

  13

  2

  8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11

  4 1 9 12 14 2 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12

  9

  3 5 6 11 Keluaran proses substitusi adalah vektor B yang panjangnya 48 bit. Vektor B menjadi masukan untuk proses permutasi. Tujuan permutasi adalah untuk mengacak hasil proses substitusi kotak S. Permutasi dilakukan dengan menggunakan matriks permutasi P (P-box) seperti pada Tabel 2.6.

Tabel 2.6 Matriks Permutasi P (P-Box) 16 7 20 21 29 12 28 17 1 15 23 26

  5 8 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Bit-bit P(B) merupakan keluaran dari fungsi f.

  Akhirnya, bit-bit P(B) di-XOR-kan dengan L untuk mendapatkan R .

  i –1 i

  R  P(B).........................................................................(2.3)

  i = L i – 1

  Jadi, keluaran dari putaran ke-i adalah 

  (L , R ) = (R , L P(B)) ..................................................(2.4)

  i i i – 1 i – 1 Skema sederhana perolehan R i diperlihatkan pada Gambar 2.12.

  L i-1 32 bit f

  

  R i 32 bit

Gambar 2.12 Skema perolehan R

  i Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok kanan. Proses permutasi menggunakan matriks permutasi awal balikan (inverse

  • 1 initial permutation atau IP ) seperti pada Tabel 2.7.
  • 1

Tabel 2.7 Matriks Permutasi Awal Balikan (inverse initial permutation atau IP ) 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31

  38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

  2.5.1 Proses dekripsi Proses dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K , K , …, K , maka

  1

  2

  16 pada proses dekripsi urutan kunci yang digunakan adalah K , K , …, K .

  16

  15

  1 Untuk tiap putaran 16, 15, …, 1, keluaran pada setiap putaran deciphering adalah

  L = R .....................................................................................(2.5)

  i i – 1

   R i = L i – 1 f(R i – 1 , K i )..................................................................(2.6)

  Yang dalam hal ini, (R , L ) adalah blok masukan awal untuk deciphering. Blok

  16

  16

  (R , L ) diperoleh dengan mempermutasikan cipherteks dengan matriks permutasi

  16

  16

  • 1

  IP . Pra-keluaran dari deciphering adalah (L , R ). Dengan permutasi awal IP akan didapatkan kembali blok plainteks semula. Pada proses pembangkitan kunci internal, selama deciphering, K dihasilkan dari (C , D ) dengan permutasi PC-2. Tentu saja

  16

  

16

  16

  (C

  16 , D 16 ) tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena

  (C

  16 , D 16 ) = (C , D ), maka K 16 dapat dihasilkan dari (C , D ) tanpa perlu lagi

  melakukan pergeseran bit. (C , D ) yang merupakan bit-bit dari kunci eksternal K yang diberikan pengguna pada waktu dekripsi. Selanjutnya, K dihasilkan dari (C ,

  15

  15 D 15 ) yang mana (C 15 , D 15 ) diperoleh dengan menggeser C 16 (yang sama dengan C )

  dan D (yang sama dengan C ) satu bit ke kanan. Sisanya, K sampai K dihasilkan

  16

  14

  1

  dari (C , D ) sampai (C , D ). Catatlah bahwa (C i – 1 , D i – 1 ) diperoleh dengan

  14

  14

  1

  1

  menggeser C i dan D i dengan cara yang sama seperti pada Tabel 1, tetapi pergeseran kiri (left shift) diganti menjadi pergeseran kanan (right shift).

2.6 Penelitian Terdahulu

  Penelitian yang dilakukan oleh Yuniati et al (2009) menunjukkan bahwa algoritma AES dengan panjang kunci 256 bit dapat menyandikan isi suatu file sehingga dapat mengamankan file tersebut. Ukuran file enkripsi akan bertambah 11 bytes dari file asli karena adanya proses penambahan header yang berisi informasi ekstensi file. Semakin besar ukuran suatu file maka semakin lama pula waktu yang dibutuhkan untuk melakukan proses enkripsi dan proses dekripsi.

  Penelitian selanjutnya yang dilakukan oleh Zaher (2011) menunjukkan bahwa algoritma Modified Least Significant Bit (MLSB) atau modifikasi dari algoritma LSB digunakan untuk meng-encode sebuah identitas ke dalam citra asli. MLSB menggunakan manipulasi beberapa tingkat bit-bit penyisip sebelum meng-encode pesan tersebut. Modifikasi pesan dengan algoritma MLSB dimana bit-bit pesan yang seharusnya 1 karakter memiliki nilai 8 bit ASCII code akan dimodifikasi menjadi 5 bit.

  Penelitian yang dilakukan oleh Sembiring (2013) dengan menggunakan Algoritma SHA-512 dan Least Significant Bit pada data citra dengan meng-hashing pesan teks rahasia dengan panjang pesan maksimal 250 karakter, karakter yang telah di-hashing dikonversi menjadi bit, setiap bit karakter tersebut disisipkan ke data citra dengan menggunakan metode least significant bit sehingga menghasilkan watermark yang tersembunyi pada citra tersebut.

  Penelitian yang dilakukan oleh Fitri (2010) dengan menggunakan algoritma DES dan Least Significant Bit pada file gambar yang berekstensi *.GIF, *.JPEG,

  • .PNG yang di sisipkan pesan 100 karakter mempunyai performa yang cukup bagus dengan waktu relatif cepat. Berikut ini akan dipaparkan beberapa penelitian terdahulu yang berhubungan dengan penelitian ini.

Tabel 2.8. Hasil dan kesimpulan dari berbagai penelitian terdahulu

  No Penelitian Metode yang Keterangan digunakan

  1 Yuniati et al, 2009 Advanced Encryption file dekripsi dapat kembali Algorithm 256 (AES seperti ekstensi file sumber 256). karena saat sistem melakukan proses enkripsi ditambahkan header untuk menyimpan informasi ekstensi file sumber. file

  Sedangkan ukuran dekripsi akan kembali ke ukuran file asli. Least Significant Bit

  2 Zaher, 2011 Pada algoritma ini karakter (MLSB). dan angka direpresentasikan dalam 5 bit yang kemudian akan disisipkan ke dalam citra asli dengan teknik MLSB.

  3 Sembiring, 2013 Algoritma SHA-512 Hasil penelitian menunjukkan dan Least Significant bahwa gambar yang telah Bit disisipkan pesan teks memiliki performa yang baik dan pesan teks tersebut tidak bisa dilihat secara visual tetapi bisa dilihat dengan histogram. Kualitas citra yang disisipi

  4 Fitri, 2010 Algoritma DES dan teks sebanyak 100 karakter Least Significant Bit atau sekitar 100 byte masih belum bisa dilihat secara visual. Walaupun tidak bisa dilihat secara visual, perbedaan citra bisa dilihat dengan histogram

  Perbedaan penelitian terdahulu dengan penelitian ini adalah dalam penelitian ini, keamanan file citra dilakukan dengan menggunakan algoritma kriptografi DES dan penambahan algoritma Least Significant Bit+1 (LSB+1) pada penyisipan file gambar ke dalam file audio wav.

Dokumen yang terkait

Hubungan Pola Makan dan Asupan Serat dengan Status Gizi pada Siswa/i SMP N 34 Medan tahun 2014

0 0 14

Kepatuhan Pasien Skizofrenia Paranoid Rawat Jalan Dalam Penggunaan Obat Antipsikotik Di Rumah Sakit Jiwa (Rsj)Daerah Provinsi Sumatera Utara

0 0 15

Kepatuhan Pasien Skizofrenia Paranoid Rawat Jalan Dalam Penggunaan Obat Antipsikotik Di Rumah Sakit Jiwa (Rsj)Daerah Provinsi Sumatera Utara

0 0 22

iv KATA PENGANTAR - Kepatuhan Pasien Skizofrenia Paranoid Rawat Jalan Dalam Penggunaan Obat Antipsikotik Di Rumah Sakit Jiwa (Rsj)Daerah Provinsi Sumatera Utara

0 0 14

BAB II SALURAN TRANSMISI - Analisis Pengaruh Frekuensi Terhadap Redaman pada Kabel Koaksial

0 2 20

Fungsi Pesta Luhutan Bolon Tugu Raja Silahisabungan dalam Mempertahankan Integrasi Sosial Pomparan Raja Silahisabungan (Studi Kasus pada Masyarakat Silalahi Nabolak, Kecamatan Silahisabungan, Kabupaten Dairi)

0 0 10

BAB II TINJAUAN KEPUSTAKAAN 2.1 Hasil Penelitian Terdahulu - Fungsi Pesta Luhutan Bolon Tugu Raja Silahisabungan dalam Mempertahankan Integrasi Sosial Pomparan Raja Silahisabungan (Studi Kasus pada Masyarakat Silalahi Nabolak, Kecamatan Silahisabungan, Ka

0 1 24

BAB I PENDAHULUAN 1.1 Latar Belakang - Fungsi Pesta Luhutan Bolon Tugu Raja Silahisabungan dalam Mempertahankan Integrasi Sosial Pomparan Raja Silahisabungan (Studi Kasus pada Masyarakat Silalahi Nabolak, Kecamatan Silahisabungan, Kabupaten Dairi)

0 0 31

Fungsi Pesta Luhutan Bolon Tugu Raja Silahisabungan dalam Mempertahankan Integrasi Sosial Pomparan Raja Silahisabungan (Studi Kasus pada Masyarakat Silalahi Nabolak, Kecamatan Silahisabungan, Kabupaten Dairi) SKRIPSI

0 0 11

BAB II LANDASAN TEORI 2.1. Citra Digital - Implementasi dan Perbandingan Metode Alpha-Trimmed Mean Filter dan Adaptive Media Filter untuk Reduksi Noise pada Citra Digital

0 0 18