Upload
ngodien
View
217
Download
0
Embed Size (px)
Citation preview
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)