bab ii tinjauan pustaka - sinta.unud.ac.id filedefinisi ini mungkin cocok pada masa lalu di mana...

13
7 BAB II TINJAUAN PUSTAKA 1. 1.1. Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani “cryptos” artinya secret”(rahasia), sedangkan “grapheinartinya writing” (tulisan). Jadi, kriptografi berarti “secret writing” (tulisan rahasia). Ada beberapa definisi kriptografi yang telah dikemukakan di dalam beberapa literatur. Definisi yang dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dipahami lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tetapi juga tujuan data integrity, authentication dan nonrepudiation. (Munir,2004) Ada 4 (empat) tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu: 1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks. 2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli atau belum pernah dimanipulasi selama pengiriman. 3. Otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengindentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengindentifikasi kebenaran sumber pesan (data origin authencation). Pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga dapat memastikan sumber pesan Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya.

Upload: ngodien

Post on 28-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

7

BAB II

TINJAUAN PUSTAKA

1.

1.1. Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani “cryptos” artinya

“secret”(rahasia), sedangkan “graphein” artinya “writing” (tulisan). Jadi,

kriptografi berarti “secret writing” (tulisan rahasia). Ada beberapa definisi

kriptografi yang telah dikemukakan di dalam beberapa literatur. Definisi yang

dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan

bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan

cara menyandikannya ke dalam bentuk yang tidak dapat dipahami lagi maknanya.

Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk

keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan

mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tetapi juga tujuan

data integrity, authentication dan nonrepudiation. (Munir,2004)

Ada 4 (empat) tujuan mendasar dari ilmu kriptografi ini yang juga merupakan

aspek keamanan informasi yaitu:

1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga

agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam

kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi

cipherteks.

2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan

masih asli atau belum pernah dimanipulasi selama pengiriman.

3. Otentikasi (authentication), adalah layanan yang berhubungan dengan

identifikasi, baik mengindentifikasi kebenaran pihak-pihak yang

berkomunikasi (user authentication atau entity authentication) maupun

mengindentifikasi kebenaran sumber pesan (data origin authencation).

Pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain

sehingga dapat memastikan sumber pesan Pesan yang dikirim melalui

saluran komunikasi juga harus diotentikasi asalnya.

8

4. Nirpenyangkal (non-repudiation), adalah layanan untuk mencegah entitas

yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan

menyangkal melakukan pengiriman atau penerima pesan menyangkal telah

menerima pesan.

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan

dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.

Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan

dechiphering. Keamanan algoritma kriptografi sering diukur dari banyaknya kerja

yang dibutuhkan untuk memecahkan cipherteks menjadi plainteks tanpa

mengetahui kunci yang digunakan. Apabila semakin banyak proses yang diperlukan

berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma

tersebut dan semakin aman digunakan untuk menyandikan pesan. (Munir,2004)

Algoritma kriptografi terdiri dari fungsi dasar yaitu:

1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi yang

merupakan pengamanan data yang dikirimkan terjaga rahasianya, pesan asli

disebut plainteks yang dirubah menjadi kode-kode yang tidak dimengerti.

Enkripsi bisa diartikan dengan cipher atau kode.

2. Dekripsi, merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi

dikembalikan kebentuk asalnya (plainteks) disebut dengan dekripsi pesan.

Algoritma yang digunakan untuk dekripsi tentu berbeda dengan yang

digunakan untuk enkripsi.

3. Kunci, yang dimaksud di sini adalah kunci yang dipakai untuk melakukan

enkripsi dan dekripsi, kunci terbagi jadi 2 (dua) bagian yaitu kunci

pribadi(private key) dan kunci umum (public key).

Konsep matematis yang mendasari kriptografi adalah relasi antara 2 (dua) buah

himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang

berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-

elemen antar kedua himpunan tersebut. Misalkan P menyatakan plainteks dan C

menyatakan cipherteks,

maka fungsi enkripsi E memetakan P ke C,

9

E(P)=C ……………………………………………………………...(1)

Dan fungsi dekripsi D memetakan C ke P,

D(C)=P …………………………………………………………......(2)

Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal,

maka kesama berikut harus benar:

D(E(P))=P ………………………………………………………(3)

Kriptografi modern menggunakan kunci, yang dalam hal ini algoritma tidak

lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Kunci adalah parameter

yang digunakan untuk transformasi enciphering dan dechipering. Kunci biasanya

berupa string atau deretan bilangan. Jika menggunakan kunci K, maka fungsi

enkripsi dan dekripsi dapat ditulis sebagai:

EK(P)=C dan DK(C)=P …………………………………………...(4)

dan ke dua fungsi ini memenuhi:

DK(EK(P))=P ……………………………………………………...(5)

Pada gambar 2.1 memperlihatkan skema enkripsi dan dekripsi dengan

menggunakan kunci simetris.

Gambar 2. 1 Proses Enkripsi dan Dekripsi

(Widodo, Joko Tri Susilo, 2014)

10

1.2. Algoritma AES(Advanced Encryption Standard)

Advanced Encryption Standard (AES) merupakan algoritma cryptographic

yang dapat digunkan untuk mengamakan data. Algoritma AES adalah blok

chipertext simetrik yang dapat mengenkripsi (encipher) dan dekripsi (decipher)

infoermasi. Enkripsi merubah data yang tidak dapat lagi dibaca disebut ciphertext;

sebaliknya dekripsi adalah merubah ciphertext data menjadi bentuk semula yang

kita kenal sebagai plaintext. Algoritma AES is mengunkan kunci kriptografi 128,

192, dan 256 bits untuk mengenkrip dan dekrip data pada blok 128 bits.

AES (Advanced Encryption Standard) adalah lanjutan dari algoritma enkripsi

standar DES (Data Encryption Standard) yang masa berlakunya dianggap telah usai

karena faktor keamanan. Kecepatan komputer yang sangat pesat dianggap sangat

membahayakan DES, sehingga pada tanggal 2 Maret tahun 2001 ditetapkanlah

algoritma baru AES. (Munir,2004)

AES memiliki blok masukan dan keluaran serta kunci 128 bit. Untuk tingkat

keamanan yang lebih tinggi, AES dapat menggunakan kunci 192 dan 256 bit.

Setiap masukan 128 bit plaintext dimasukkan ke dalam state yang berbentuk

bujursangkar berukuran 4×4 byte. State ini di-XOR dengan key dan selanjutnya

diolah 10 kali dengan subtitusi-transformasi linear-Addkey. Dan di akhir diperoleh

ciphertext. Berikut ini adalah operasi AES yang menggunakan 128 bit kunci:

Ekspansi kunci utama (dari 128 bit menjadi 1408 bit)

Pencampuran subkey.

Ulang dari i=1 sampai i=10 Transformasi : ByteSub (subtitusi per byte)

ShiftRow (Pergeseren byte perbaris) MixColumn (Operasi perkalian GF(2)

per kolom)

Pencampuran subkey (dengan XOR)

Transformasi : ByteSub dan ShiftRow

Pencampuran subkey Kesimpulan yang didapat adalah :

AES terbukti kebal menghadapi serangan konvensional (linear dan

diferensial attack) yang menggunakan statistik untuk memecahkan sandi.

11

Kesederhanaan AES memberikan keuntungan berupa kepercayaan bahwa

AES tidak ditanami trapdoor.

Namun, kesederhanaan struktur AES juga membuka kesempatan untuk

mendapatkan persamaan aljabar AES yang selanjutnya akan diteliti apakah

persamaan tersebut dapat dipecahkan.

1.2.1. Proses Enkripsi AES

Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi bytes,

yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses

enkripsi, input yang telah dikopikan ke dalam state akan mengalami transformasi

byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes,

ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr.

Proses ini dalam algoritma AES disebut sebagai round function. Round yang

terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir,

state tidak mengalami transformasi MixColumns. (Munir,2004)

Gambar 2. 2 Alur Proses Enkripsi

(Munir,2004)

12

Sub Byte

SubBytes merupakan transformasi byte dimana setiap elemen pada state

akan dipetakan dengan menggunakan suatu tabel substitusi (S-Box). Hasil yang

didapat dari pemetaan dengan menggunakan tabel S-Box ini sebenarnya adalah

hasil dari dua proses transformasi bytes. (Munir,2004)

Gambar 2. 3 S-Box

(Munir,2004)

Shift Row

Transformasi Shiftrows pada dasarnya adalah proses pergeseran bit

dimana bit paling kiri akan dipindahkan menjadi bit paling kanan (rotasi

bit). Transformasi ini diterapkan pada baris 2, baris 3, dan baris 4. Baris 2

akan mengalami pergeseran bit sebanyak satu kali, sedangkan baris 3 dan

baris 4 masing-masing mengalami pergeseran bit sebanyak dua kali dan tiga

kali. (Munir,2004)

Gambar 2. 4 Proses Shiftrow

(Munir, Rinaldi, 2004)

13

MixColoumns

Mixolumns mengoperasikan setiap elemen yang berada dalam satu

kolom pada state. Elemen pada kolom dikalikan dengan suatu polynomials

tetap a(x) = {03}x3 + {01}x2 + {01}x + {02}.

Gambar 2. 5 Matriks Mix Columns

(Munir,2004)

Melakukan proses penambahan pada operasi ini berarti melakukan

operasi bitwise XOR. Maka hasil dari perkalian matriks diatas dapat dianggap

seperti perkalian yang ada di bawah ini :

AddRoundKey

Pada proses AddRoundKey, suatu round key di XOR-kan dengan plainteks.

Gambar 2. 6 Proses Addroundkey (Munir,2004)

14

1.3. Steganografi

Steganografi (steganografi) adalah ilmu dan seni menyembunyikan pesan

rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak

terdeteksi oleh indera manusia. Kata steganorafi berasal dari Bahaya Yunani

yang berarti “tulisan tersembunyi” (covered writing). Steganografi membutuhkan

dua properti: wadah penampung dan data rahasia yang akan disembunyikan.

Steganografi digital menggunakan media digital sebagai wadah penampung,

misalnya citra, suara, teks, dan video. Data rahasia yang disembunyikan juga dapat

berupa citra, suara, teks, atau video. Steganografi dapat dipandang sebagai

kelanjutan kriptografi. Jika pada kriptografi, data yang telah disandikan (ciphertext)

tetap tersedia, maka dengan steganografi cipherteks dapat disembunyikan sehingga

pihak ketiga tidak mengetahui keberadaannya. Di negara-negara yang melakukan

penyensoran informasi steganografi sering digunakan untuk menyembunyikan

pesan-pesan melalui gambar (images), video, atau suara (audio). (Munir,2004)

Steganografi yang dibahas di sini adalah penyembunyian data di dalam citra

digital saja. Meskipun demikian, penyembunyian data dapat juga dilakukan pada

wadah berupa suara digital, teks, ataupun video. Penyembunyian data rahasia ke

dalam citra digital akan mengubah kualitas citra tersebut. Kriteria yang harus

diperhatikan dalam penyembunyian data adalah:

1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan

data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat

tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.

2. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi

yang dilakukan pada citra penampung (seperti pengubahan kontras,

penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan

(cropping), enkripsi, dan sebagainya). Bila pada citra dilakukan operasi

pengolahan citra, maka data yang disembunyikan tidak rusak.

3. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali

(recovery). Karena tujuan steganografi adalah data hiding, maka sewaktu-

15

waktu data rahasia di dalam citra penampung harus dapat diambil kembali

untuk digunakan lebih lanjut. (Munir,2004)

1.4. LSB (Least Significant Bit)

Least Significant Bit (LSB) Metoda yang digunakan untuk menyembunyikan

pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas video file

video akan dipecah menjadi beberapa frame images dan pada berkas image pesan

dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah

atau bit yang paling kanan (LSB) pada data piksel yang menyusun file tersebut.

Pada berkas bitmap 24 bit, setiap piksel (titik) 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 piksel berkas bitmap 24 bit kita dapat

menyisipkan 3 bit data. (Putri, Hidayat, & Umbara, 2014)

Dalam perhitungan LSB terdapat Kedalaman 24bit berarti dalam 1 pixel

disediakan ruang sebanyak 24 bit untuk menampung warna. ruang warna RGB,

artinya 24 bit ini dibagi 3. RGB (red,green,blue) masing masing warna mempunyai

nilai 8Bit(byte). Jadi 1 warna dalam sebuah pixel tersusun dari 3 komponen warna

RGB. Begitu pula untuk kedalaman warna 16bit, 32bit, atau yg lainnya. 16 bit

artinya 1 pixel perlu ruang 16 bit.

Jika file berukuran 100×100 pixel, kedalaman 24 bit. Maka ukuran file

aslinya adalah : 100x100x24 = 240000 bit = 240000/8 Byte = 30000 Byte = 29,30

Kbyte

Jadi Dalam 1 frame disediakan ruang 29,30Kb.

Dan dalam file video maka dihitung kembali frame persecond yang ada

dalam video. Jika file berformat AVI dalam 1 detik sekitar 30 frame. 1 framenya

mengandung ruang 29,30Kb jadi untuk 1 detiknya 29,30 X 30 = 879 Kb.

Keuntungan dari LSB: Keuntungan yang paling besar dari algoritma LSB ini

adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software

16

steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB

melalui manipulasi pallete (lukisan). (Putri, Hidayat, & Umbara, 2014)

1.5. Avalance Effect (AE)

Salah satu karakteristik untuk menentukan baik atau tidaknya suatu algoritma

kriptografi adalah dengan melihat avalanche effect-nya. Perubahan yang kecil pada

plaintext maupun kunci akan menyebabkan perubahan yang signifikan terhadap

ciphertext yang dihasilkan. Atau dengan kata lain, perubahan satu bit pada plaintext

maupun kunci akan menghasilkan perubahan banyak bit pada ciphertext. Suatu

algoritma kriptografi memenuhi kriteria Strict Avalanche Criterion (SAC) apabila

rata-rata perubahan bit keluaran terhadap berubahnya satu bit pada masukan

setidaknya adalah diatas 45%. Hal ini dikarenakan perubahan tersebut berarti

membuat perbedaan yang cukup sulit untuk kriptanalis melakukan serangan

(Budiharto, Ariyanto, & Rakhmatsyah, 2010)

Avalanche effect merupakan salah satu cara untuk menentukan baik atau

tidaknya suatu algoritma kriptografi, dimana akan diketahui seberapa besar

perubahan bit yang terjadi pada ciphertext akibat proses enkripsi. Semakin besar

avalanche effect akan semakin baik algoritma kriptografi tersebut. Cara

menghitung avalanche effect sebagai berikut:

𝐴𝑣𝑎𝑙𝑎𝑛𝑐ℎ𝑒_𝐸𝑓𝑓𝑒𝑐𝑡 (𝐴𝐸) =∑𝑏𝑖𝑡_𝑏𝑒𝑟𝑢𝑏𝑎ℎ

∑𝑏𝑖𝑡_𝑡𝑜𝑡𝑎𝑙∗ 100%

1.6. MD5 Checksum

MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang

digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC

1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan,

dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah

berkas. MD5 adalah salah satu dari serangkaian algortima message digest yang

didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik

17

menunjukkan bahwa pendahulu MD5 — MD4 — mulai tidak aman, MD5

kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 Checksum adalah

skema kesalahan-deteksi sederhana di mana setiap pesan yang dikirim yang

menghasilkan nilai numeric berdasarkan byte dalam pesan. Pengirim menempatkan

nilai yang dihitung dalam pesan (biasanya di header pesan ) dan mengirimkan nilai

pada pesan. Penerima menerapkan rumus yang sama untuk masing-masing

menerima pesan dan memeriksa untuk memastikan nilai numeric adalah sama. Jika

tidak, penerima dapat mengasumsikan bahwa pesan telah rusak dalam transmisi.

Ada beberapa jenis checksum, sebuah contoh alroritma checksum yang sering

digunakan adalah CRC32.Yang lainya adalah MD5. MD5 Checksum sendiri

berfungsi sebagai fasilitas bagi kita agar kita bisa membandingkan keotentikan

antara file yang ada dari suatu situs dengan file yang telah selesai kita download ke

komputer kita, jika file yang kita download kurang 1 byte saja maka kode MD5 nya

pun akan berbeda. Jadi md5 Checksum berfungsi baik untuk mengecek kesamaan

dari 2 file. md5 akan mengecek dari setiap bit dari file yang dicek jika file tersebut

berbeda maka akan ada perbedaan kode yang ditampilkan. (Huda.w, 2009)

1.7. PSNR (Peak Signal to Noise Ratio).

Dalam suatu pengembangan dan pelaksanaan rekonstruksi gambar diperlukan

perbandingan antara gambar hasil rekonstruksi dengan gambar asli. Ukuran umum

yang digunakan untuk tujuan ini adalah Peak Signal to Noise Ratio (PSNR). Nilai

PSNR yang lebih tinggi menyiratkan kemiripan yang lebih erat antara hasil

rekonstruksi dan gambar asli. PSNR didefinisikan sebagai :

𝑃𝑆𝑁𝑅 = 10 log10 (𝐶𝑚𝑎𝑥

2

𝑀𝑆𝐸) ….........................................................(2.5)

Dimana MSE dinyatakan sebagai Mean Square Error yang didefinisikan

sebagai :

𝑀𝑆𝐸 = 1

𝑀𝑁∑ ∑ (𝑆𝑥𝑦 − 𝐶𝑥𝑦)

2𝑁𝑦=1

𝑀𝑥=1 ......................................................(2.6)

Dimana x dan y adalah koordinat dari gambar, M dan N adalah dimensi dari

gambar, 𝑆𝑥𝑦 menyatakan stego-image dan 𝐶𝑥𝑦 menyatakan cover-image. 𝐶𝑚𝑎𝑥2

merupakan nilai maksimum dalam gambar.

18

PSNR sering dinyatakan dalam skala logaritmik dalam decibel (dB). Nilai

PSNR jatuh dibawah 30 dB mengindikasikan kualitas yang relatif rendah, dimana

distorsi yang dikarenakan penyisipan terlihat jelas. Akan tetapi kualitas stegoimage

yang tinggi berada pada nilai 40 dB dan diatasnya. (Cheddad, 2010)

19