BAB II TINJAUAN PUSTAKA 1.1 Penelitian...

16
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

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

22

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 .