BAB II TINJAUAN PUSTAKA 1.1 Penelitian...
Transcript of BAB II TINJAUAN PUSTAKA 1.1 Penelitian...
7
BAB II
TINJAUAN PUSTAKA
1.1 Penelitian Terdahulu
Berdasarkan penelitian penulis, aplikasi kriptografi ini
sudah pernah ada tetapi dalam aplikasi sebelumnya masing
menggunakan bahasa java. Dari aplikasi yang sudah ada tersebut
penulis ingin mengembangkan menggunakan kedalam bahasa
VB.NET.
Penelitian yangterdahulu menggunakan metode LSB
steganografi pesan pada citra digital, dengan implementasi
metode kriptografi menggunakan kunci citra(gambar) asli.
Proses penyisipan pesan dengan mengkonversi citra dan pesan
menjadi bit biner, kemudian melakukan operasi XOR antara citra
dan pesan. Proses rekotruksi atau ekstrasi pesan membutuhkan
kunci gambar asli, menggunakan operasi yang sama yaitu XOR
antara citra asli dan citra hasil steganografi.
Menurut bruce scheiner dalam Konsep kriptografi sendiri
telah lama digunakan oleh manusia misalnya pada peradaban
Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip
yang mendasari kriptografi yaitu:
1. Confidelity (kerahasiaan) yaitu layanan agar isi pesan
yang dikirimkan tetap rahasia dan tidak diketahui oleh
pihak lain (kecuali pihak pengirim, pihak penerima /
pihak-pihak memiliki ijin). Umumnya hal ini dilakukan
8
2. dengan cara membuat suatu algoritma matematis yang
mampu mengubah data hingga menjadi sulit untuk
dibaca dan dipahami.
3. Data integrity (keutuhan data) yaitu layanan yang
mampu mengenali/mendeteksi adanya manipulasi
(penghapusan, pengubahan atau penambahan) data
yang tidak sah (oleh pihak lain).
4. Authentication (keotentikan) yaitu layanan yang
berhubungan dengan identifikasi. Baik otentikasi
pihak-pihak yang terlibat, Dalam pengiriman data
maupun otentikasi keaslian data /informasi.
5. Non-repudiation (anti-penyangkalan) yaitu layanan
yang dapat mencegah suatu pihak untuk menyangkal
aksi yang dilakukan sebelumnya (menyangkal bahwa
pesan tersebut berasal dirinya).
1.2 Landasan teori
2.2.1 Pengertian Kriptografi
Kriptografi berasal dari bahasa yunani, crypto dan
graphia. Crypto berarti scret (rahasia) dan graphia
berarti writing (tulisan). Menurut terminologinya
kriptografi adalah ilmu dan seni untuk menjaga
keamanan pesan ketika pesan dikirim dari suatu tempat
ke tempat yang lain. Dalam perkembangan kriptografi
juga digunakan untuk mendidentifikasi pengiriman
9
pesan dan tanda tangan digital dan keaslian pesan
dengan sidik jari digital. (dony ariyus,2005)
2.2.2 Sejarah Kriptografi
Pada zaman romawi kuno, telah di kenal alat
untuk mengirimkan pesan rahasia dengan istilah scytale
yang diginakan oleh tentara sparta. Scytale merupakan
alat yang memiliki pita panjang dari papirus dan
sebatang selinder, pesan ini di tuliskan diatas pita yang
dililitkan di sebatang selinder lalu dikirim. Kriptografi
mengalami perkembangan untuk menjaga kerahasiaan
pesan agar seorang tidak bergak dapat membaca pada
pesan tersebut sehingga penyediaan pesan tersebut
semakin berkembang, dengan adanya perkembangan
teknologi yang begitu pesat memungkinkan manusia
dapat berkomunikasi dan saling bertukar informasi
secara jarak jauh. Dalam kriptografi terdapat dua konsep
utama yaitu enkripsi dan dekripsi. Enkeipsi adalah
proses dimana informasi/data yyang hendak dikirim
diubah menjadi bentuk yang hampir tidak dikenali
sebagai informasi awalnya dengan menggunakan
algoritma tertentu. Dekripsi adalah proses
pengembalian data dari enkripsi yaitu mengubah bentuk
tersamar tersebut menjadi informasi awal.
10
2.2.3 Macam-Macam Kriptografi
a. Algoritma Simetris
kriptografi semetris adalah kode Hill atau lebih
dikenal dengan Hill Cipher merupakan salah satu
algoritma kriptografi kunci simetris dan merupakan
salah satu kripto polyalphabatic (Lester S.Hill.1929).
Teknik kriptografi ini diciptakan dengan maksud untuk
dapat menciptakan cipher yang tidak dapat dipecahkan
menggunakn teknik analisa frekuensi. Berbeda dengan
caesar cipher, Hill cipher tidak mengganti setiab abjad
yang sama pada plaintexs dengan abjad lainya yang
sama pada cipherteks karena menggunakan perkalian
matriks pada dasar enkripsi dan dekripsinya.
Hill cipher merupakan penerapan aritmatika
modul pada kriptografi. Teknik kriptografi ini
menggunakan sebuah matriks persegi sebagai kunci
berukuran m x n sebagai untuk melakukan enkripsi dan
dekripsi. Dasar teori matriks yang digunakan dalam Hill
cipher antara lain adalah perkalian antara metriks dan
melakukan invers pada matriks.
Karena menggunakan matriks sebagai kunci. Hill
cipher merupakan algoritma kriptografi kunci simatris
yang sulit dipecahkan, karena teknik kriptanalisis seperti
analisi frekuensi tidak dapat diterapkan dengan mudah
untuk memecahkan algoritma ini. Hill cipher sangat
11
sulit dipecahkan jika kriptanalissin hanya memiliki
chiphertext saja (chiphertext-only) ,namun dapat
dipecahkan dengan mudah jika kriptanalis memiliki
ciphertext dan potongan dari plaintext-nya (known-
plaintext).
Gambar 2.1 skema kunci simetris
b. Algoritma asimetris
Algoritma asimetris sering juga disebut dengan
algoritma kunci publik atau sandi kunci publik, pada
algoritma ini kunci yang di gunakan ada dua yaitukunci
publik dan kunci rahasia. Kunci publik merupakan
kunci yang digunakan untuk mengenkripsi pesan rahasia,
tetapi kunci publik ini bersifat umum tidak di rahasiakan
sehingga siapa saja bisa melihatnya, sedangkan kunci
rahasia biasa yang digunakan untuk mendiskripsi pesan
rahasia, pada dasarnya kunci rahasia itu bersifatnya
sangat rahasia karena yang bisa melihat itu hanya orang-
orang tertentu saja itu di karenakan untuk menjaga suatu
pesan rahasia yang akan di sisipkan. Keuntungan utama
dari penggunaan algoritma ini adalah memberikan
EnkripsiA BDekripsi
Kunci
Plainteks Plaintekscipherteks
12
jaminan keamanan kepada siapa yang hendak melakukan
pertukaran informasi/data.
Pada dasarnya algoritma ini memiliki kelebihan di
balik kelebihan yang pasti juga memiliki kelemahan ,
kelebihan dari algoritma ini adalah sebagai berikut :
1. Masalah keamanan pada distribusi kunci lebih baik.
2. Masalah manajemen kunci lebih baik karena jumlah
kunci yang lebih sedikit.
kelamahanya antara lain adalah sebagai berikut :
1. Kecepatan yang lebih rendah bila dibandingkan
dengan algoritma simetris.
2. Untuktingkat keamanan sama, kunci yang digunakan
lebih panjang dibandingkan dengan algoritma
simetris.
Gambar 2.2 skema kunci asimetris
2.2.4 contoh algoritma kriptografi
Dalam contoh algoritma banya jenis algoritma
pada aplikasi kripto grafi ,tetapi penulis mengambil
beberapa contoh saja di antaranya sebagai berikut:
A enkripsi dekripsi B
kunci publik kunci rahasia
Plaintext Plaintextciphertext
13
a. Algoritma F5
Algoritma F5 adalah sebuah metode/algoritma
yang ditunjukan oleh Andreas westfeld dari techniche
sebagai perbaikan dari algoritma yang sebelumnya yang
beliau ajukan yakni F3 dan F4 algoritma ini tidak
menggunakan metode LSB lagi, namun ia menghitung
penyebaran byte-byte dari steganografi baik positif
maupon negatif, namun bukan 0, penyisipan (embiding )
bit dari pesan rahasia ke beberapa byte tersebut dengan
operasi XOR, lalu mengurangi nilai dari byte tersebut,
baik yang disisipkan oleh bit dari pesan rahasia maupun
tidak. Secara rinci berikut ini adalah langkah-langkah
dari algoritma F5 :
1. Menemui kompresi JPEG, hingga perhitungan
koefisien citra selesai.
2. Bangkit secara acak sebuah angka yang kuat (dari
sudut kriptografi ). Angka tersebut juga ddapat
dibangkitkan secara acak berdasarkan kunci rahasia
yang dimasukan.
3. Mengintanasikan sebuah permentasi dengan kedua
parameter yakni angka hasil pembangkitan acak
tahap (2) dan koefisien perhitungan citra dari tahap
(1).
4. Tentukan nilai parameter kunci dari kapasitas
steganografi dan panjang dari pesan rahasia.
14
5. Hitung panjang kode work (byte penampung bit dari
pesan rahasia).
b. Algoritma RC4
RC4 merupakan salah satu jenis cipher aliran
(stream cipher), didesain oleh Ron Rivest di
Laboratorium RSA (RSA Data Security Inc.) pada tahun
1987. Cipher RC4 merupakan teknik enkripsi yang dapat
dijalankan dengan panjang kunci yang variabel dan
memproses data dalam ukuran byte. Algoritma RC4
adalah sebagai berikut:
1. Inisialisasi larik S sehingga S0 = 0, S1 = 1, …,
S255 = 255 Dalam notasi algoritmik, langkah 1
ditulis sebagai berikut:
for i ← 0 to 255 do
S[i] ← i
end for
2. Jika panjang kunci U < 256, lakukan padding yaitu
penambahan byte semu sehingga panjang kunci
menjadi 256 byte. Misalnya U = “abcde” yang
hanya terdiri dari 5 byte (5 huruf), maka lakukan
padding dengan penambahan byte (huruf) semu,
misalnya U = “abcdeabcdeabcdea…” sampai
panjang U mencapai 256 byte
15
3. Lakukan permutasi terhadap nilai-nilai didalam
lirik S dengan cara :
j ← 0
for i ← 0 to 255 do
j ← (j + S[i] + U[i]) mod 256
swap (S[i], S[j])
end for
4. Bangkitkan keystream dan lakukan enkripsi
dengan cara:
i ← 0
j ← 0
for idx ← 0 to PanjangPlainteks – 1 do
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]
C ← K XOR P[idx]
end for
P adalah array(larik) yang menyimpan karakter-
karakter plainteks.
c. algoritma Vigenere
vigenere cipher dibuat oleh blaise de vigenere pada
abad 16, yang merupakan metode menyandikan teks alfabet
dengan menggunakan deretan sandi caesar berdasarkan
16
deretan huruf-huruf pada kata kunci. Algoritma vigenere
dapat dinyatakan secara matematis, dengan menggunakan
penjumlahan dan operasi modulus.
algoritma enkripsi dinyatakan :
Ci •ß (Pi + Ki) mod 26
Algoritma dekripsi dinyatakan:
Pi •ß (Ci . Ki) mod 26
C adalah nilai desimal karakter cipherteks ke-i, P adalah
nilai desimal karakter plainteks ke-i, dan K adalah nilai
desimal karakter kunci ke-i, dengan asumsi angka desimal
karakter A = 0, B = 1, ...., Z = 25. Jika hasil dekripsi
bernilai negatif, maka nilai tersebut ditambah dengan angka
26 untuk mendapatkan plainteks.
d. Algoritma LSB
Metode LSB merupakan metode steganografi yang
paling sederhana dan mudah diiplementasikan, Metode ini
menggunakan citra digital sebagai covertext. Pada susunan
bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling
berarti (most significant bit atau MSB) dan bit yang paling
kurang yaitu (least significant bit atau LSB). Sebagai
contoh byte 11010010, angka bit 1 (pertama, digaris bawahi)
adalah bit MSB, dan angka bit 0 (terakhir, digaris bawahi)
adalah bit LSB. Bit yang cocok untuk diganti adalah bit
LSB, sebab perubahan tersebut hanya mengubah nilai byte
satu lebih tinggi atau satu lebih rendah dari nilai
sebelumnya. Misalkan byte tersebut menyatakan warna
merah, maka perubahan satu bit LSB tidak mengubah warna
17
merah tersebut secara berarti. Mata manusia tidak dapat
membedakan perubahan kecil tersebut. Misalkan segmen
pixel-pixel citra/gambar sebelum penambahan bit-bit adalah:
00110011 10100010 11100010 10101011 00100110
10010110 11001001 11111001 10001000 10100011
2.2.5 Steganografi
Steganografi (steganography) berasal dari bahasa
yunani yaitu “steganos” yang berarti tersembunyi atau
terselubung dan “graphein” yang artinya menulis.
Steganografi dapat diartikan sebagai seni tersembunyi,
steganografi adalah ilmu yang mempelajari tentang
menyembunyikan pesan rahasia sehingga keberadaanya
pesan rahasia tersebut tidak dapat diketahui.
Steganografi membutuhkan dua properti, yaitu media
penampung dan pesan rahasia. Media penampung yang
umum digunakan adalah gambar, suara, video, atau teks.
Pesan yang disembunyikan dapat berupa sebuah artikel,
gambar, kode program, atau pesan lain. Proses
penyisipan pesan ke dalam media covertext dinamakan
encoding, sedangkan ekstraksi pesan dari stegotext
dinamakan decoding. Kedua proses ini mungkin memerlukan
kunci rahasia (yang dinamakan stegokey) agar hanya pihak
yang berhak saja yang dapat melakukan penyisipan pesan dan
ekstraksi.
18
2.2.6 algoritma Steganografi
Dasar dari embidding pesan rahasia dalam gambar
digital adalah dengan menyatukan pesan tersebut dalam suatu
bit rendah (least significant bit) pada data pixel yang
menyusun suatu file gambar 24 bit BMP. Pesan rahasisa
yang di sisipkan dalam gambar disini dilakukan dengan teknik
4-Least Significant Bit Encoding yaitu dengan cara
menyisipkannya pada bit rendah atau bit yang paling kanan
(LSB) pada data pixel yang menyusun file tersebut. Pada
berkas bitmap 24 bit, setiap pixel pada gambar tersebut terdiri
dari susunan tiga warna merah, hijau dan biru (RGB) yang
masing-masing disusun oleh bilangan 8 bit (byte) dari 0
sampai 255 atau dengan format biner 00000000 sampai
11111111. Dengan demikian, pada setiap pixel berkas bitmap
24 bit kita dapat menyisipkan 3 bit data. Sehingga tidak
menimbulkan kecurigaan pada pihak lawan, steganografi
telah ada sejak sebelum masehi dan kini seiring dengan
kemajuan teknologi jaringan serta perkembangan dari
teknologi digital, steganografi banyak dimanfaatkan untuk
mengirim pesan melalui jaringan Internet tanpa diketahui
orang lain dengan menggunakan media digital berupa file
gambar. Proses embedding pesan rahasia dalam sistem
steganografi pada dasarnya dilakukan dengan
mengidentifikasi media covernya yaitu redundant bit yang
mana dapat dimodifikasi tanpa merusak integritas dari
medium itu sendiri.
Proses embedding akan menghasilkan suatu medium
stego dengan penggantian bit-bit redundant dengan data dari
19
pesan rahasia tersebut. Teknik steganografi dapat digunakan
untuk menyembunyikan data dalam digital dengan sedikit
atau tanpa terasa adanya perubahan yang tampak pada gambar
tersebut dan dapat dieksploitasi untuk mengeksport pesan
rahasia. Berkaitan dengan bahasan tersebut penulis tertarik
untuk membuat aplikasi steganografi, yang bertujuan untuk
dapat menyembunyikan pesan sehingga terjaga
kerahasiaannya.
Dalam penulisan proposal ini sistem yang akan dibuat
yaitu mengintegrasikan antara metode 4 Least Significant Bit
Encoding dengan Visual Cryotography. Yang membedakan
adalah dalam sistem ini akan di tambahkan metode Visual
Cryptography yang merupakan salah satu perluasan dari
secret sharing yang diimplementasikan untuk suatu citra.
Seperti halnya teknik kriptografi yang lain, visual kriptografi
memiliki persyaratan confidentiality, data integrity,
authentication dan non-repudiation. Dimana sebuah data
gambar atau citra dienkripsi dengan suatu cara menjadi
sejumlah gambar sehingga data hanya dapat didekripsi
dengan penggabungan sejumlah gambar tersebut dengan
tujuan menambah tingkat keamanan pada suatu pesan.
2.2.7 Format File
a. BMP (Bitmap Image)
Format file ini merupakan format grafis yang fleksibel
untuk platform Windows sehingga dapat dibaca oleh program
20
grafis manapun. Format ini mampu menyimpan informasi
dengan kualitas tingkat 1 bit sampai 24 bit. Kelemahan format
file ini adalah tidak mampu menyimpan alpha channel serta
ada kendala dalam pertukaran platform. Format file ini dapat
dikompres dengan kompresi RLE. Format file ini mampu
menyimpan gambar dalam mode warna RGB, Grayscale,
Indexed Color, dan Bitmap. Meskipun file BMP relatif
memiliki ukuran yang besar, namun file BMP dapat
dikompresi dengan teknik kompresi lossless yaitu teknik
kompresi yang tidak menghilang informasi sedikitpun, hanya
mewakilkan beberapa informasi yang sama (Riyanto, 2007).
Bitmap adalah representasi atau gambaran yang terdiri
dari baris dan kolom pada titik image graphics di komputer.
Nilai dari titik disimpan dalam satu atau lebih data bit.
Tampilan dari bitmap atau raster, menggunakan titik-titik
berwarna yang dikenal dengan sebutan pixel. Piksel-piksel
tersebut ditempatkan pada lokasi-lokasi tertentu dengan nilai-
nilai warna tersendiri, yang secara keseluruhan akan
membentuk sebuah tampilan gambar. Tampilan bitmap
mampu menunjukkan kehalusan gradasi bayangan dan warna
dari sebuah gambar, karena itu bitmap merupakan media
elektronik yang paling tepat untuk gambar-gambar dengan
perpaduan gradasi warna yang rumit seperti foto dan lukisan
digital.
Color table adalah table yang berisi warna-warna yang
ada pada gambar bitmap. Ukurannya adalah 4 dikalikan
dengan ukuran banyakanya warna. Color table berisi RGB-red
21
green blue. Strukturnya terdiri dari 1 bytes untuk bagian
RGB-blue yang berisi intensitas warna biru 0...255, 1 bytes
untuk bagian RGB-Green yang berisi intensitas warna hijau
0...255, 1 bytes untuk bagian RGB-Red yang berisi intensitas
warna merah 0...255, 1 bytes untuk bagian RGB-Reserved
yang selalu di set sama dengan 0. Gambar menunjukkkan
contoh pembagian 24 bit pada format file BMP
RED GREEN BLUE
Binary 11111111 1111111 1111111
Decimal 255 255 255
Gambar 2.3 pembagian bit dalam BMP
b. PNG (Portable Network Graphics )
Format file ini berfungsi sebagai alternatif lain dari
format file GIF. Format file ini digunakan untuk menampilkan
objek dalam halaman web. Kelebihan dari format file ini
dibandingkan dengan GIF adalah kemampuannya menyimpan
file dalam bit depth hingga 24 bit serta mampu menghasilkan
latar belakang (background) yang transparan dengan pinggiran
yang halus. Format file ini mampu menyimpan alpha channel.
PNG di rancang untuk algoritma lossless untuk menyimpan
sebuah bitmap image. PNG mampu mencapai 16 bit (gray
scale) atau 48 bit untuk true color per pixel, dan mencapai 16
bits dari alpha data. PNG mendukung dua buah metode dari
transparency, satu buah color penutup seperti pada GIF89a’s
dan alpa channel. PNG’s dengan Full alpha chanell mampu