Pertemuan_1_Steganografi_
-
Upload
agungsulstyan -
Category
Documents
-
view
212 -
download
0
description
Transcript of Pertemuan_1_Steganografi_
-
Aplikasi Steganografi dengan Metode LSB (Least Significant Bit) dan Enkripsi Pesan Rahasia dengan Pembangkitan Bilangan Acak.
Agung Sulistyanto
www.agung-sulistyanto.info
www.slideshare.net/agungsulistyan
Latar Belakang dan Tujuan Latar belakang dibuatnya modul ini adalah sebagai panduan untuk melaksanakan pelatihan yang diadakan Laboratorium ICT Terpadu Universitas Budi Luhur. Pelatihan diadakan mengingat tidak sedikit mahasiswa khususnya jurusan Teknik Informatika yang masih kesulitan dalam menentukan judul topik Kuliah Kerja Praktek dan Tugas Akhir. Sehingga pelatihan ini di harapkan dapat mendukung dan menjadi referensi mahasiswa khususnya program studi Teknik Informatika dalam pengambilan topik bahasan Kuliah Kerja Praktek ataupun Tugas Akhir.
Lisensi Dokumen: Copyright 2012-2015 LAB ICT Terpadu Universitas Budi Luhur
Seluruh isi dokumen dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan izin terlebih dahulu dari LAB ICT Terpadu Universitas Budi Luhur.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 1
Pengenalan Dasar Citra
1.1 Pengertian Pengolahan Citra Digital Secara umum pengolahan citra digital adalah pemrosesan gambar berdimensi-dua melalui komputer digital (Jain, 1998), menurut Efford (2000) pengolahan citra adalah istilah umum untuk berbagi teknik yang keberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Foto adalah contoh dari citra yang dapat diolah dengan mudah. Foto dapat dimodifikasi dan diolah menggunakan software tertentu, misalnya pada saat foto hasil bidikan kamera digital terlihat kurang cerah maka dapat dilakukan pencerahan pada gambar tersebut atau mungkin pada saat kita akan mengambil suatu bagian dari foto tersebut maka dapat dilakukan cropping. Tentunya masih banyak lagi yang dapat dilakukan dalam proses pengolahan citra.
1.2 Representasi Citra Digital Citra digital dibentuk oleh kumpulan titik yang disebut piksel, setiap titik terkecil dalam gambar (piksel) memiliki koordinat posisi. Sistem koordinat ditunjukan pada contoh gambar berikut.
Sebuah piksel memiliki koordinat berupa (x,y) dalam hal ini, x menyatakan posisi kolom dan y menyatakan posisi baris. Sebagai contoh, citra berukuran 12 x 12 pada gambar memiliki susunan data seperti terlihat pada gambar. Berdasarkan gambar tersebut maka :
1. f(2,1) bernilai 89. 2. f(4,7) bernilai 6.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 2
Megapixel (Megapiksel) adalah gabungan jutaan piksel yang terdapat dalam gambar, semakin tinggi jumlahnya maka semakin tinggi juga resolusi gambarnya. Jumlah megapiksel biasanya digunakan untuk menunjukan kerapatan gambar.
1.3 Kuantitas Citra Citra digital dibentuk melalui pendekatan kuantitas. Pada isyarat digital, nilai intensitas citra dibuat diskret atau terkuantisasi dalam sejumlah nilai bulat. Gambar menunjukan contoh citra biner dua nilai intensitas berupa 0 (hitam) dan 1 (putih). Selanjutnya gambar tersebut ditumpangkan pada grid 8 x 8 seperti terlihat pada gambar.
Pada bagian gambar yang jatuh pada kotak, jika mayoritas warna putih maka seluruh isi kotak dibuat putih. Sebaliknya, jika mayoritas berwarna hitam, isi kotak seluruhnya diberi warna hitam. Hasil pengubahan ke citra digital tampak pada gambar.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 3
Gambar memperlihatkan bilangan yang mewakili warna hitam (0) dan putih (1).
Untuk gambar yang mengandung unsur warna pada prinsipnya sama saja, namun sebagai pengecualian untuk warna hitam diberikan 3 (tiga) unsur warna dasar, yaitu merah (R = Red), hijau (G = Green) dan biru (B = Blue) atau sering dikenal dengan istilah warna RGB. Seperti halnya pada citra biner (monokrom), dengan variasi intensitas dari 0 255 pada citra berwarna terdapat 16.777.216 variasi warna apabila setiap komponen RGB mengandung 256 aras intensitas. Namun, kepekaan mata manusia untuk membedakan macam warna sangat terbatas tentunya jauh di bawah dari angka 16.777.216 tersebut.
Berikut contoh penggunaan citra beraras keabuan dan citra berwarna (RGB) dalam beberapa keperluan tertentu.
Komponen
Warna Bit per Piksel Jangkauan Penggunaan
1 1 0-1
Citra biner : dokumen faksimili
8 0-255 Umum : foto dan hasil pemindai
12 0-4095 Kualitas tinggi : foto dan hasil pemindai
14 0-16383 Kualitas professional : foto dan hasil pemindai
16 0-65535 Kualitas tertinggi : citra
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 4
kedokteran dan astronomi
Komponen
Warna Bit per Piksel Jangkauan Penggunaan
3 24 0-255 RGB umum
36 0-4095 RGB kualitas tinggi
42 0-16383 RGB kualitas professional
4 32 0-255 CMYK (cetakan digital)
1.4 Kualitas Citra Selain intensitas kecerahan, jumlah piksel yang digunakan mempengaruhi kualitas citra. Istilah resolusi citra biasa dinyatakan dengan jumlah piksel pada arah lebar dan tinggi. Contoh pada gambar menunjukan perbedaan resolusi yang digunakan, tentunya semakin tinggi resolusinya akan menampilkan citra yang semakin mirip dengan aslinya dan semakin rendah resolusinya menjadikan citra semakin kabur.
1.5 Jenis Citra Terdapat 3 (tiga) jenis citra yang umum digunakan dalam pengolahan citra, diantaranya adalah :
a. Citra Biner (monokrom) Citra biner adalah citra dengan setiap pikselnya hanya dinyatakan dengan sebuah nilai 0 (nol) dan 1 (satu). Nilai 0 (nol) menyatakan warna hitam dan 1 (satu) menyatakan warna putih.
b. Citra Berskala Keabuan (grayscale) Citra ini menangani gradasi warna hitam dan putih, yang menghasilkan efek warna abu-abu. Warna dinyatakan dengan intensitas, intensitas berkisar antara 0 255 atau 8 (delapan) bit. Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih.
c. Citra Berwarna (RGB) Citra berwarna merupakan jenis citra yang menyajikan warna dalam komponen R (Red), G (Green) dan B (Blue). Setiap komponen warna menggunakan 8 (delapan) bit nilainya berkisar antara 0 255. Dengan demikian, kemungkinan warna yang dapat disajikan mencapai 256 x 256 x 256 atau 16.777.216 warna.
Warna R G B
Merah 255 0 0
Hitam 0 0 0
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 5
Kuning 0 255 255
Hijau 0 255 0
RGB disebut juga ruang warna yang dapat divisualisasikan sebagai sebuah
kubus seperti pada gambar, dengan tiga sumbunya yang mewakili komponen
warna merah (Red), hijau (Green), dan biru (Blue).
1.6 Format pada Citra
a. Bitmap (BMP) Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang tersimpan di memori komputer yang dikembangkan oleh Microsoft. Kerapatan titik-titik dinamakan resolusi, untuk menampilkan citra bitmap pada monitor atau printer, komputer menerjemahkan bitmap menjadi pixel (pada layar) atau titik tinta (pada printer). Bitmat menggunakan kompresi tipe lossless.
b. Joint Photographic Experts Group (JPEG) JPG/JPEG merupakan skema kompresi file bitmap. Awalnya, file yang menyimpan hasil foto digital memiliki ukuran yang besar setelah berhasil dikompresi (dimampatkan) sehingga ukurannya kecil. JPEG menggunakan kompresi tipe lossy.
c. Graphics Interchange Format (GIF) GIF merupakan format grafis yang paling sering digunakan untuk keperluan desain website. GIF memiliki kombinasi warna lebih sedikit dibanding JPEG, namun mampu menyimpan grafis dengan latar belakang transparan ataupun dalam bentuk animasi sederhana. GIF menggunkan kompresi tipe lossless.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 6
Steganografi
2.1 Steganografi Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan rahasia (hidding message) sehingga keberadaan pesan tidak terdeteksi oleh indra manusia. Kata steganografi berasal dari bahasi Yunani steganos yang berarti tersembunyi atau terselubung dan graphein yang berarti menulis.
2.2 Properti Steganografi Dalam Steganografi digital menggunakan media digital sebagai wadah penampungnya, misalnya : teks, citra gambar, audio dan video. Dalam penerapannya steganografi terdiri dari beberapa properti penyusun, diantaranya :
1. Embedded message (hiddenext) : pesan yang disembunyikan. 2. Cover-object (covertext) : pesan yang digunakan untuk menyembunyikan
embedded message. 3. Stego-object (stegotext) : pesan yang sudah berisi pesan rahasia (Embedded
message + Stego-object). 4. Stego-key : kunci yang digunakan untuk menyisipkan pesan dan
mengekstraksi pesan dari stego-object.
Contoh properti steganografi :
1. Stegotext :
Lupakan Asal Rumor Itu, Jaga Agar Matamu Sehat Atau Turunkan Ubanmu.
2. Hiddentext :
LARI JAM SATU
3. Covertext :
upakan sal umor tu, aga gar atamu ehat tau urunkan banmu.
Encoding
(embeddin)
covertext
hiddentext
key
Decoding
(extraction)
stegotext
key
hiddentext
covertext
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 7
Kriptografi
Kriptografi secara umum dapat diartikan sebagai ilmu atau seni untuk menjaga
kerahasiaan data. Kriptografi (cryptography) berasal dari bahasa yunani cryptos
yang artinya rahasia dan graphein yang berarti menulis. Pesan-pesan yang
belum di kodekan disebut plainteks dan pesan-pesan yang telah di kodekan disebut
chipherteks. Dalam kriptografi dikenal dengan 2 (dua) proses, enkripsi mengubah
pesan asli (plainteks) menjadi data sandi (chipherteks) dan dekripsi adalah proses
mengembalikan cipherteks menjadi plainteks.
3.1 Tujuan Kriptografi
1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi
pada pesan dari siapapun kecuali yang memiliki otoritas untuk membuka
informasi yang telah disandi.
2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data
secara tidak sah. Untuk menjaga integritas data sistem harus memiliki
kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak
berhak, antara lain penyisipan, penghapusan, dan pensubtitusian data lain
kedalam data yang sebenarnya.
3. Autentikasi, adalah berhubungan dengan identifikasi / pengenalan, baik
secara kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi
kebenaran sumber pesan.
4. Non-repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi
oleh yang mengirimkan/membuat.
Sebagai contoh ada seorang agen rahasia bernama Alif yang akan melaporkan hasil
kerjanya kepada pimpinannya bernama Tito. Isi pesan yang dikirimkan Alif kepada
Tito tidak boleh di ketahui oleh orang lain (Kerahasiaan). Tito harus dapat
memastikan bahwa pengirim pesan adalah Alif (Autentikasi). Pesan yang dikirimkan
Alif harus sama isinya dengan pesan yang diterima Tito, pihak lain tidak dapat
mengganti pesan Alif (Integritas Data). Alif juga tidak dapat menyagkal bahwa telah
mengirimkan pesan kepada Tito (Non-repudiasi).
3.2 Jenis Kunci Kriptografi
Berdasarkan jenis kunci yang digunakannya, algoritma kriptografi dikelompokan
menjadi 2 (dua), diantaranya :
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 8
a. Algoritma Simetris
Algortma ini disebut juga algoritma konvensional yang menggunakan kunci
yang sama pada proses enkripsi dan dekripsinya.
b. Algoritma Asimetris
Sebutan Asimetris (tidak simetris) berarti menjelaskan perbedaan kunci yang
digunakan dalam proses enkripsi dan dekripsi. Kunci publik (public key)
digunakan untuk enkripsi dan kunci private (private key) digunakan untuk
proses dekripsi.
3.3 Bilangan Acak
Bilangan acak adalah bilangan yang tidak dapat diprediksi, bilangan acak (random)
banyak digunakan dalam kriptografi. Bilangan acak yang dihasilkan dengan rumus
matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya
dapat diulangi kembali. Pembangkitan bilangan acak semacam ini disebut pseudo
random number generation (PRNG).
a. Linear Congruential Generator (LGC)
Pembangkitan bilangan acak kongruen-lanjar (linear congruential generator)
adalah merupakan salah satu PRNG tertua dan paling terkenal.
Xn = (aXn 1 + b) mod m
Penjelasan :
Xn = bilangan acak ke-n dari deretnya
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 9
a = factor pengali
Xn 1 = bilangan acak sebelumnya
b = increment
m = modulus
3.4 Perbedaan Steganografi dan Kriptografi
Perbedaan yang mendasar antara steganografi dan kriptografi adalah pada hasil
keluarannya. Hasil dari kriptografi adalah data yang berbeda dari aslinya sehingga
data tersebut seolah-olah menjadi berantakan. Sedangkan hasil dari steganografi
memiliki bentuk persepsi yang sama dengan bentuk data awalnya. Pada teknik
kriptografi orang lain dapat menyadari bahwa file tersebut adalah sebuah pesan
yang terenkripsi sehingga dapat menimbulkan kecurigaan, berbeda dengan teknik
steganografi karena hasil keluaran memiliki bentuk persepsi sama sehingga tidak
akan menimbulkan kecurigaan.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 10
Pengenalan Algoritma LSB
4.1 Pengertian LSB (Least Significant Bit) Bit atau binary digit adalah unit dasar penyimpanan data di dalam komputer, nilai bit suatu data adalah 0 (nol) atau 1 (satu). Semua data di dalam komputer di simpan kedalam satuan bit, termasuk gambar, suara maupun video. Format pewarnaan di dalam citra gambar seperti monochrome, grayscale, RGB, CMYK juga menggunakan satuan bit dalam penyimpanannya. Sebagai contoh pewarnaan monochrome bitmap (menggunakan 1 bit untuk setiap pikselnya), RGB 24 bit (8 bit red, 8 bit green, 8 bit blue), grayscale menggunakan 8 bit untuk menentukan tingkat kehitaman suatu piksel.
LSB (Least Significant Bit) adalah bagian dari barisan data biner yang mempunyai nilai paling tidak berarti / paling kecil. Bit LSB letaknya di paling kanan pada barisan bit. Sedangkan MSB (Most Significant Bit) adalah kebalikan dari LSB, yaitu bit yang mempunyai nilai sangat berarti / paling besar, letaknya di paling kiri pada barisan bit. Sebagai contoh barisan biner angka 27 :
256 128 64 32 16 8 4 2 1
1 1 0 1 1
Berdasarkan barisan angka biner di atas, angka 1 di paling kanan bernilai 1 yang berarti nilai yang paling kecil (LSB). Sedangkan angka 1 di paling kiri bernilai 16 yang berarti nilai yang paling besar dari barisan bit tersebut (MSB). Pada algoritma LSB bit pesan akan disisipkan pada bit akhir setiap piksel gambar. Pada citra 24 bit, setiap pikselnya terdiri dari 3 byte yang merepresentasikan setiap byte untuk warna RGB. Sebagai contoh dalam gambar berukuran 600 x 500 piksel dapat disisipkan pesan sebanyak 600 x 500 x 3 = 900000 bit pesan, atau dengan kata lain dapat disisipkan 900000 / 8 = 112500 byte pesan yang dapat disisipkan.
4.2 Contoh Algortima LSB (Least Significant Bit)
Sebagai contoh gambar di bawah ini menggunakan format grayscale, artinya setiap
piksel dari gambar ini direpresentasikan dengan nilai 8 bit.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 11
Di misalkan data berupa text secret akan disisipkan ke dalam gambar tersebut. Jika direpresentasikan ke dalam binary kata secret menjadi :
Karakter ASCII Hexadecimal Binary
s 115 73 01110011
e 101 65 01100101
c 99 63 01100011
r 114 72 01110010
e 99 63 01100011
t 116 74 01110100
Sesuai dengan namanya, LSB artinya bit yang tidak signifikan / tidak mempunyai pengaruh yang besar, maka metode ini mengganti nilai bit ke-8 gambar Lena untuk menyisipkan data. Media lena.jpg 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
Data yang akan disisipkan :
0 1 1 1 0 0 1 1
0 1 1 0 0 1 0 1
0 1 1 0 0 0 1 1
0 1 1 1 0 0 1 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 0 0
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 12
Hasil stego : 00000000 00000001 00000001 00000001 00000000 00000000 00000001 00000001
00000000 00000001 00000001 00000000 00000000 00000001 00000000 00000001
00000000 00000001 00000001 00000000 00000000 00000000 00000001 00000001
00000000 00000001 00000011 00000011 00000010 00000010 00000011 00000010
00000000 00000001 00000011 00000010 00000010 00000010 00000011 00000011
00000000 00000001 00000011 00000011 00000010 00000011 00000010 00000010
Setelah dikontruksi kembali berdasarkan representasi binernya, gambar lena akan menjadi gambar yang telah disisipkan pesan rahasia namun tidak akan memiliki perbedaan jauh dengan gambar aslinya, karena yang diubah hanya bit paling akhir dari representasi biner gambar aslinya sehingga perubahannya tidak disadari oleh mata manusia.
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 13
Sistem Bilangan
Sistem Bilangan adalah simbol yang digunakan untuk mewakili besaran dari suatu item fisik. Sistem Bilangan menggunakan suatu bilangan dasar tertentu. Dalam ilmu komputer terdapat 4 (empat) jenis Sistem Bilangan, diantaranya : Desimal (basis 10), Biner (basis 2), Oktal (basis 8) dan Hexadesimal (basis 16).
5.1 Bilangan Desimal (basis 10) Desimal adalah sistem bilangan yang paling umum digunakan dalam kehidupan sehari-hari. Sistem bilangan Desimal menggunakan basis 10 dan menggunakan 10 macam simbol bilangan, yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Sistem bilangan Desimal dapat berupa integer desimal (decimal integer) dan pecahan desimal (decimal fraction). Sebagai contoh desimal 8299 dapat diartikan :
Absolute value adalah nilai mutlak dari masing-masing digit bilangan. Sedangkan Position value adalah nilai penimbang atau bobot dari masing-masing digit bilangan tergantung pada basis dan urutan posisinya.
5.2 Bilangan Biner (basis 2) Biner adalah bilangan yang terdiri dari 2 simbol 0 dan 1. Sistem bilangan biner merupakan dasar dari semua sistem bilangan berbasis digital. Bilangan biner dapat dikonversi ke dalam bilangan desimal, bilangan oktal dan bilangan hexadesimal, sebagai contoh bilangan biner dikonversi kedalam bentuk desimal :
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 14
Position value dalam bilangan biner merupakan perpangkatan dari nilai 2, seperti pada table berikut :
5.3 Bilangan Oktal (basis 8) Oktal adalah bilangan yang terdiri dari 8 simbol, yaitu 0, 1, 2, 3, 4, 5, 6, dan 7. Contoh oktal 1022 di konversikan kedalam bilangan desimal menjadi seperti berikut :
-
ikatlah ilmu dengan menuliskannya
Bab 1 Pengenalan Teori 15
Position value dalam bilangan oktal merupakan perpangkatan dari nilai 8, seperti pada table berikut :
5.4 Bilangan Hexadesimal (basis 16) Hexa berarti 6 dan desimal berarti 10, Hexadesimal adalah bilangan yang terdiri dari 16 simbol, yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15). Contoh hexadesimal F3D4 dikonversi kedalam bilangan desimal menjadi seperti berikut :
Position value dalam bilangan oktal merupakan perpangkatan dari nilai 16, seperti pada table berikut :