7
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
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
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.
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
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
Enkripsi
A Dekripsi B
Kunci
Plainteks cipherteks Plainteks
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 ciphertext Plaintext
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.
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
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
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
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.
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
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 LeastSignificant 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
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
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
mencapi 64K level dari transparency untuk masing-masing
pixel (216 =65.536). ini memungkinkan PNG dapat membuat
gambar lebih bercahaya dan membuat bayang-bayang
background dari pewarnaan yang berbeda .