Penerapan CBC-MAC berbasis DES dalam autentik citra
PENERAPAN CBC-MAC BERBASIS DES
DALAM AUTENTIKASI CITRA
Oleh :
Sifilia
G64101003
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2006
PENERAPAN CBC-MAC BERBASIS DES
DALAM AUTENTIKASI CITRA
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
Pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh :
Sifilia
G64101003
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2006
Judul
Nama
NRP
: PENERAPAN CBC-MAC BERBASIS DES DALAM
AUTENTIKASI CITRA
: Sifilia
: G64101003
Menyetujui:
Pembimbing I,
Pembimbing II,
Dr. Ir. Sugi Guritman
NIP 131999582
Wisnu Ananta Kusuma, S. T, M. T.
NIP 132311918
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Dr. Ir. Yonny Koesmaryono, M.S.
NIP 131473999
Tanggal Lulus : ........................
ABSTRAK
SIFILIA. Penerapan Dan Analisis CBC-MAC Berbasis DES Dalam Autentikasi Citra.
Dibimbing oleh SUGI GURITMAN dan WISNU ANANTA KUSUMA.
Teknologi yang semakin berkembang menyebabkan citra semakin mudah untuk dimodifikasi.
Karena itu sangat sulit unt uk membedakan citra yang asli dan citra yang telah dimodifikasi. Citra
yang telah dimodifikasi akan tampak seperti citra asli.
Modifikasi citra yang dilakukan menyebabkan citra dengan mudah dipalsukan. Pemalsuan
yang dimaksud adalah citra telah dimodifikas i namun secara fisik nampak sama seperti citra asli.
Modifikasi yang dilakukan adalah dengan cara mengubah nilai bit -bit pada citra. Oleh karena itu
diperlukan suatu metode untuk membedakan citra asli dan citra yang telah dimodifikasi.
Autentikasi pada cit ra menggunakan algoritma CBC-MAC berbasis DES. Salah satu proses
yang dilalui dalam autentikasi citra adalah penyisipan bit. Metode yang digunakan dalam
penyisipan bit adalah metode Least Significant Bit (LSB). Pemeriksaan keaslian citra dilakukan
dengan menghitung nilai Mean Square Error (MSE).
Proses autentikasi pada citra merupakan suatu proses di mana citra ditandai pada tiap
pixelnya. Proses awal yang terjadi adalah bit-bit citra akan diolah menggunakan algoritma CBCMAC berbasis DES sehingga menghasilkan output 64 bit dan output ini yang digunakan sebagai
tempelan bit pada tiap pixel citra tersebut. Proses penempelan bit ini menggunakan metode LSB.
Untuk pemeriksaan keaslian citra menggunakan perhitungan nilai MSE. Perhitungan dilakukan
pada citra hasil autentikasi dan pada citra hasil autentikasi yang diautentikasi ulang menggunakan
kunci yang sama. Nilai MSE pada penelitian ini diperoleh dengan membandingkan bit hasil
tempelan antara kedua citra tersebut.
Pada hasil penelitian ini, dapat dilihat bahwa bit tempelan yang dihasilkan pada tiap citra
berbeda satu sama lain. Pada citra yang berukuran 10x10 iterasi yang terjadi sebanyak 18 iterasi
dengan waktu proses yang dibutuhkan sebesar 18.99 detik. Untuk citra yang berukuran 30x20,
jumlah iterasinya adalah 112 iterasi dengan waktu proses adalah 108.99 detik. Percobaan pada
citra yang berukuran 40x27 jumlah iterasinya adalah 202 iterasi dengan waktu yang dibutuhkan
adalah 198.50 detik. Di lain pihak, pada citra yang berukuran 192x128 membutuhkan iterasi
sebanyak 4608 iterasi dan waktu proses 5826.799 detik. Citra hasil autentikasi yang dihasilkan
dalam penelitian ini memiliki persamaan secara fisik dengan citra asli. Nilai MSE yang diperoleh
ada yang bernilai 0 dan hal ini menunjukkan bahwa citra belum dimodifikasi. Apabila nilai MSE
yang diperoleh tidak sama dengan nol berarti citra yang telah diautentikasi ini telah dimodifikasi
oleh pihak lawan.
RIWAYAT HIDUP
Penulis dilahirkan di Lubuk Linggau pada tanggal 16 Januari 1983 sebagai anak kedua
dari dua bersaudara yang dilahirkan oleh pasangan Aisa dan Mansur.
Pendidikan formal penulis dimulai di TK Xaverius Lubuk Linggau, pada tahun 1988.
Kemudian pada tahun 1989 melanjutkan sekolah dasar di SD Xaverius Lubuk Linggau. Tahun
1995, penulis memasuki SLTP Xaverius Lubuk Linggau, dan menjalani pendidikan SLTA di
SMU Xaverius Lubuk Linggau sampai dengan tahun 2001. Setelah lulus pada tahun 2001, penulis
diterima sebagai mahasiswa Departemen Ilmu Komputer IPB melalui jalur USMI (Undangan
Seleksi Masuk IPB) pada tahun yang sama. Pada bulan Februari sampai Maret 2005, penulis
melakukan kerja praktek di PT. Toyota Astra Motor Jakarta.
PRAKATA
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan laporan skripsi yang
merupakan salah satu syarat kelulusan program sarjana pada Departemen Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam, Institut Pert anian Bogor.
Dalam penyelesaian tugas akhir ini, penulis banyak dibantu oleh berbagai pihak. Terima
kasih yang tak terkirakan penulis haturkan untuk:
1.
Mama dan Papa tercinta atas dukungan, semangat, dan rasa cinta yang begitu besar
selama penulis melaksanak an studi di Institut Pertanian Bogor.
2.
Bapak Sugi, Bapak Wisnu selaku pembimbing yang telah sabar membimbing dan
berbagi ilmu pengetahuannya kepada penulis.
3.
Ibu Shelvie selaku penguji dalam karya ilmiah ini.
4.
Cece dan Ko In Siung atas semangat yang diberikan.
5.
Hendry tersayang yang selalu memberikan dukungan dan semangat.
6.
Laura, Yulia, Euis, Kak Widi dan Irfan, yang telah banyak membantu. Terima kasih atas
segala yang telah kalian berikan selama ini. Persahabatan yang begitu berarti dan tak akan
pernah dilupakan.
7.
Terima kasih juga kepada Ci Lingling atas dorongan semangatnya dan petuah -petuah
yang bermanfaat serta temen-temen kost yang selalu memberikan nasehat dan dorongan
semangat kepada penulis.
8.
Khaman yang telah banyak membantu dengan ide-idenya yang cemerlang, ifnu dan acid
serta teman-teman ilkomerz 38 yang telah menjadi teman, sahabat, dan guru dalam
perjalanan studi penulis.
9.
Semua pihak yang telah membantu yang tidak dapat disebutkan secara satu persatu.
Akhir kata, semoga tulisan ini dapat memberikan manfaat untuk kita semua. Kritik dan
masukan yang membangun sangat penulis harapkan untuk kemajuan tulisan ini. semoga Tuhan
senantiasa melimpahkan karunia-Nya kepada kita semua. Amin.
Bogor, Januari 2006
Sifilia
DAFTAR ISI
DAFTAR TABEL.……………………………………………………………………….......
Halaman
v
DAFTAR GAMBAR.………………………………………………………………………..
v
DAFTAR LAMPIRAN.……………………………………………………………………...
v
PENDAHULUAN
Latar Belakang.……………………………………………………………………..
Tujuan.…………………………………………………………………………… ..
Ruang Lingkup.…………………………………………………………………….
1
1
2
TINJAUAN PUSTAKA
Kriptografi.................................................................................................................
Fungsi Hash.............................……………………………………………………..
Message Authentication Codes (MAC) Berdasar Blok Cipher...........................
Padding……….………………………………………………………………….....
Data Encryption Standart(DES)…………………………………………………..
Least Significant Bit (LSB)……….……………………………………………….
Keamanan Algoritma MAC….…………………………………………………….
1
2
3
4
4
6
6
METODE PENELITIAN
Metodologi…………………………………………………………………………
Proses transformasi citra dan autentikasi citra..................................................…
Proses tampilkan kembali citra...............................................................................
Proses verifikasi citra..................................................................................
Percobaan...........................................……………………………………………...
Analisis...............................................……………………………………………...
Implementasi……………………………………………………………………….
6
6
7
7
7
8
8
HASIL DAN PEMBAHASAN
Penerapan CBC-MAC Berbasis DES Pada Citra......................................................
Keamanan Citra Hasil Autentikasi............................................................................
Pener apan MSE Dalam Pemeriksaan Citra yang Telah Diautentikasi......................
8
9
9
KESIMPULAN DAN SARAN
Kesimpulan................................................................................................................
Saran..........................................................................................................................
10
10
DAFTAR PUSTAKA..............................................................................................................
10
LAMPIRAN.............................................................................................................................
11
DAFTAR TABEL
1.
2.
3.
4.
5.
PC-1……………………………………………..………………………………
PC-2.......................................................................................................................
Permutasi Inisial (IP).............................................................................................
Permutasi Ekspansi (E)..........................................................................................
Fungsi Permutasi (P).............................................................................................
Halaman
4
5
5
5
5
DAFTAR GAMBAR
1.
2.
3.
4.
Skema Komunikasi dua Partai ……………….…………………………………
Skema CBCMAC....................................................................................................
Citra Asli..................................................................................................................
Citra Terautentikasi.................................................................................................
Halaman
1
3
9
9
DAFTAR LAMPIRAN
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Struktur DES...........................................................................................................
Satu Putaran Pada DES...........................................................................................
Tabel S-Boxes.........................................................................................................
Bagan Umum Proses
Bagan Alir Proses Autentikasi Citra.......................................................................
Bagan Alir Proses Tampilkan Citra........................................................................
Bagan Alir Proses Verifikasi Citra.........................................................................
Bagan Alir Tahapan Penelitian Secara Garis Besar................................................
Hasil Percobaan......................................................................................................
Hasil Verifikasi Citra..............................................................................................
Halaman
12
13
14
16
17
18
19
20
21
22
9
PENDAHULUAN
Latar Belakang
Perkembangan komputer pada saat ini
menyebabkan pemanfaatan data digital
semakin meningkat. Beberapa alasan yang
membuat data digital banyak digunakan
antara lain:
•
Mudah untuk diduplikasi dan hasilnya
sama dengan yang asli
•
Biaya yang dibutuhkan untuk duplikasi
sangat murah
•
Mudah untuk disimpan
Beberapa contoh data digital antara lain
audio, citra , video, dan teks. Pada penelitian
kali ini data digital yang akan dibahas lebih
lanjut adalah citra.
Perkembangan teknologi yang semakin
pesat menyebabkan citra semakin banyak
digunakan sebagai media penyimpanan
informasi rahasia. Namun, salah satu
kelemahan citra adalah mudah dimodifikasi.
Hal itu menimbulkan permasalahan dalam
membedakan citra yang asli dan citra yang
telah dimodifikasi. Penyerang melakukan
modifikasi pada saat komunikasi antara dua
partai. Bagan komunikasi dapat dilihat pada
Gambar 1.
kunci
Cek citra
Citra
autentikasi
Citra
autentikasi
tujuan
untuk menggagalkan komunikasi
antara dua pihak (A dan B). Selain itu
penyerang juga bertujuan untuk mendapatkan
informasi penting yang terdapat di dalam citra
tersebut. Citra dapat saja digunakan sebagai
password dan dalam hal ini, penyerang
berusaha mendapatkan kode password dalam
citra
tersebut
agar
penyerang
dapat
menggunakannya untuk tujuan tertentu.
Apabila penyerang hanya ingin mengetahui
informasi yang ada pada suatu data maka
ancaman ini termasuk ancaman pasif.
Ancaman aktif terjadi apabila penyerang
berusaha mengubah isi data baik dengan
menghapus data ataupun menambahkan isi
data. Serangan seperti ini dapat mengancam
integritas
data,
autentikasi
maupun
kerahasiaan data.
Oleh karena itu, penting adanya suatu
pengamanan pada citra. Salah satu metode
pengamanan pada citra adalah autentikasi
citra. Autentikasi pada citra ini bertujuan
untuk menjamin integritas data.
Berawal dari hal ini maka penelitian ini
dilakukan untuk menjamin keamanan citra.
Melalui
metode ini, citra akan disisipi
penanda digital sebagai autentikator untuk
mencegah pemalsuan pada citra.
Pada penelitian ini algoritma yang
digunakan dalam autentikasi citra adalah
algoritma Message Authentication Code
(MAC) berbasis Data Encryption Standard
(DES). Salah satu algoritma MAC yang
digunakan pada penelitian ini adalah CBCMAC. Menurut Niel & Schneier (2003),
MAC memiliki tingkat efisiensi yang tinggi.
Salah satu proses dalam autentikasi adalah
penyisipan bit pada citra sebagai autentikator
citra. Metode yang digunakan dalam
penyisipan bit adalah
metode Least
Significant Bit (LSB).
Tujuan
Citra
asli
Tujuan
B
A
Penelitian ini bertujuan untuk:
•
Mengimplementasikan algoritma CBCMAC berbasis DES pada citra.
•
Menghasilkan citra autentikasi yang
memiliki kemiripan tampilan, ukuran, dan
format file dengan citra yang asli.
•
Menganalisis penerapan metode MSE
dalam pemeriksaan keaslian citra.
Musuh
Gambar 1 Skema Komunikasi Dua Partai
Modifikasi yang dilakukan pada citra
dapat dikategorikan sebagai pemalsuan citra.
Penyerang melakukan pemalsuan citra dengan
10
Ruang Lingkup
•
Autentikasi adalah suatu layanan yang
berhubungan dengan identifikasi entitas
dan informasi itu sendiri (Schneiner
1996). Dua pihak terlibat dalam
komunikasi seharusnya mengidentifikasi
dirinya satu sama lain. Pesan yang
disampaikan melalui suatu saluran
seharusnya dapat diidentifikasi asalnya,
isinya, tanggal dan waktunya. Atas dasar
ini autentikasi terbagi menjadi dua kelas
besar, yaitu: autentikasi entitas, dan
autentikasi asal data. Di sisi lain
autentikasi menurut Meyer dan Matyas
(1982) merupakan suatu pembuktian pola
bit yang disebut kode autentikasi, yang
mana kode ini akan disisipkan pada pesan
dan pada waktu tertentu kode pada pesan
akan diperiksa keasliannya.
•
Non-repudiasi adalah suatu layanan yang
ditujukan untuk mencegah terjadinya
pelanggaran kesepakatan yang telah
dibuat
sebelumnya
oleh
entitas
(Schneiner 1996).
Ruang lingkup pada penelitian ini adalah:
•
Algoritma
yang
digunakan
pada
penelitian ini adalah algoritma CBCMAC berbasis DES.
•
Citra yang digunakan berupa citra
berwarna dengan format JPEG karena
umum
digunakan
dan
berukuran
192x128, 10x10, 30x20, 40x27.
•
Metode penyisipan bit yang digunakan
adalah metode Least Significant Bit
(LSB).
•
Pada penelitian ini, kunci yang digunakan
telah ditentukan secara pasti dan tidak
diketahui publik.
•
Pemeriksaan keaslian citra dilakukan
dengan menghitung Mean Square Error
(MSE) .
•
Citra yang telah diautentikasi tidak
mengalami perubahan secara fisik
misalnya ukuran , warna, tampilan dan
format file.
TINJAUAN PUSTAKA
Kriptografi
Kriptografi adalah studi matematis yang
mempelajari tentang keamanan pada data
(Schneiner 1996). Dari definisi tersebut
tersirat bahwa kriptografi tidak hanya sebagai
alat yang memberikan ke amanan informasi,
melainkan juga seperangkat teknik-teknik atau
prosedur-prosedur yang berhubungan dengan
keamanan informasi (Menezes et al. 1997).
Ada 4 tujuan utama pada kriptografi yaitu:
•
Kerahasiaan adalah suatu layanan yang
digunakan untuk menjaga isi informasi
dari semua yang tidak berwenang
memilikinya (Schneiner 1996).
•
Integritas data adalah suatu layanan yang
berkaitan dengan pengubahan data dari
pihak-pihak yang tidak berwenang
(Schneiner 1996). Untuk menjamin
integritas
data,
diperlukan
suatu
kemampuan untuk mendeteksi manipulasi
data dari pihak-pihak yang tidak
berwenang. Manipulasi data diartikan
sebagai hal-hal yang berkaitan dengan
penghapusan, penyisipan dan penggantian
data.
Fungsi Hash
Fungsi hash memetakan bitstring dengan
panjang sembarang ke bitstring dengan
panjang tetap. Secara umum fungsi hash
dibagi menjadi dua kelas yaitu fungsi hash tak
berkunci dan fungsi hash berkunci (Menezes
et al. 1997). Fungsi hash tak berkunci
mempunyai spesifikasi mengatur parameter
input tunggal (pesan). Fungsi hash berkunci
mempunyai spesifikasi megatur parameter dua
input berbeda (pesan dan kunci). Fungsi hash
adalah fungsi h yang memiliki minimal dua
sifat berikut (Menezes et al.199 7):
•
Kompresi : h memetakan input x dengan
sembarang panjang bit yang terhingga,
ke output h(x) dengan panjang bit tetap
n.
•
Kemudahan komputasi : diketahui h dan
suatu input x, h(x) mudah dihitung.
Berdasar kegunaannya, fungsi hash
dibedakan atas dua tipe (Menezes et al.1997):
1.
Manipulation Detection Code (MDC)
MDC disebut juga Message Integrity
Code (MIC). M D C merupakan subkelas
dari fungsi hash tak-berkunci. Tujuan
dari MDC adalah untuk memberikan
jaminan integritas data sebagaimana
diperlukan dalam suatu aplikasi khusus.
11
2.
Message Authentication Code (MAC)
MAC merupakan subkelas dari fungsi
hash berkunci. MAC mempunyai dua
parameter berbeda yaitu input pesan dan
kunci rahasia. Tujuan MAC adalah
menjamin integritas sumber pesan.
Message Authentication
berdasar blok cipher
Codes
(MAC)
Message Authentication Codes (MAC)
merupakan sebuah fungsi yang terdiri dari dua
argumen yaitu sebuah kunci K dengan ukuran
tetap dan pesan m dengan ukuran yang tidak
tetap yang mana nilai produk yang dihasilkan
mempunyai panjang tetap (Niel & Schneier
2003). Fungsi MAC yang ideal biasanya
memetakan semua kemungkinan input ke n bit
output secara acak. Fungsi MAC biasanya
ditulis MAC(K,m) dengan K adalah kunci dan
m adalah pesan yang ingin disampaikan.
Ketahanan komputasi mengakibatkan secara
perhitungan tak layak menentukan kunci k
jika diketahui satu atau lebih pasangan teksMAC (x i, hx (xi )). Sebaliknya, ketahanan kunci
tidak
harus
mengakibatkan
ketahanan
komputasi (Menezes et al.1997).
Misalkan diketahui pesan m1, ... , mi
maka menurut Schneier (1996) MAC
didefinisikan sebagai berikut:
H0 :=IV ( InitializationVektor ),
Hi := Ek (m1⊕ Hi- 1),
MAC:= Hk .
Untuk lebih jelasnya, cara kerja CBC-MAC
dapat dilihat pada Gambar 2 berikut:
Ht1
k
DES
•
Kompresi
Misal hx memetakan input x dengan
sembarang panjang bit berhingga, ke
output hx (x) dengan bit panjang tetap n.
•
H1
k
DES
H2
k
DES
Ht
k'
DES
k
DES
optional
Kemudahan komputasi
Misalkan diketahui fungsi hk, diberikan
nilai k dan input x, maka hk (x) mudah
dihitung. Hasil fungsi ini disebut nilaiMAC atau MAC saja.
mt
IV
MAC merupakan subkelas dari fungsi
hash berkunci
yang bertujuan menjamin
integritas sumber pesan (Schneier 1996).
Beberapa sifat MAC antara lain:
•
m2
m1
H
Gambar 2 Skema CBC-MAC
Algoritma
CBC -MAC
sebagai berikut:
didefinisikan
INPUT: data x,spesifikasi sandi blok DES,
kunci rahasia MAC k untuk DES.
OUTPUT: n-bit MAC pada x (n adalah
panjang blok dari DES).
Ketahanan komputasi
1.
Misalkan diberikan nol atau lebih
pasangan teks-M A C (xi , hx (x i)), secara
komputasi
tak-layak
menghitung
sembarang pasangan (x, hx (x)) untuk
sembarang input baru x ≠ xi (termasuk
mungkin hk (x) = hk (xi ) untuk suatu i).
Proses penambahan bit ekstra (padding)
dan blocking. Proses penambahan bit
ekstra dilakukan dengan menggunakan
algoritma padding. Padded teks dipecah
menjadi blok-blok dengan ukuran n-bit
dinotasikan dengan x1,x2,x3,...,xt.
2.
Proses CBC. Misalkan Ek merupakan
notasi enkripsi menggunakan E dengan
kunci k, hitung blok Ht dengan:
Jika ketahanan komputasi tidak dipenuhi,
algoritma M A C disebut pemalsuan-MAC.
Pemalsuan pada MAC ada 2 yaitu pemalsuan
selektif
dan
pemalsuan
eksistensial.
Pemalsuan selektif terjadi bila penyerang
berusaha mendapatkan pasangan teks MAC
baru untuk sebuah teks yang dipilihnya
sedangkan pemalsuan eksistensial terjadi bila
penyerang berusaha untuk mendapatkan
pasangan teks MAC baru tanpa pengontrolan
nilai pada teks tersebut.
H1
Ek (x1),
Hi
Ek (Hi- 1⊕xi), 2 i t.
(Ini
merupakan
standard
CBC,
IV=0,mengabaikan blok siferteks Ci = Hi ).
3.
Proses pilihan untuk meningkatkan
kekuatan MAC. Menggunakan kunci
rahasia kedua k’ k, secara opsional
dihitung H’t
E-1k (Ht),H t
Ek (H’ t).
12
4.
Penyelesaian. M AC adalah n-bit blok Ht.
Algoritma M A C dapat diterapkan pada
berbagai algoritma enkripsi antara lain
DES, Triple DES, AES dan lain
sebagainya.
Padding
Metode padding digunakan bila panjang
suatu bitstring x bukan merupakan kelipatan
dari panjang bitstring tiap blok x. Misalkan
panjang bitstring x = 68 dan panjang bitstring
tiap blok x = 8, maka perlu dilakukan padding
karena 68 bukan kelipatan dari 8. Ada 2
metode yang dapat digunakan dalam padding
(Menezes et al.1997). Metode yang digunakan
yaitu:
•
Metode padding 1
Langkah yang dilakukan dalam metode
ini yaitu merangkaikan pada X dengan
string bit 0 sehingga menjadi bitstring X’
dengan panjang kelipatan dari r. Metode
ini menimbulkan kerancuan karena
batasan antara bitstring sebelum dan
sesudah padding tidak bisa dibedakan
kecuali kalau bitstring sebelum padding
diketahui panjangnya.
•
Metode padding 2
Langkah-langkah yang dilakukan pada
metode ini yaitu:
1.
Rangkaikan X pada sebuah satu
bit -1.
biner dan operasi aritmatik modular. Sandi
feistel merupakan sandi teriterasi yang
mentransformasi blok plainteks [L0,R 0]
berukuran 2w bit dengan masing- masing L0
dan R 0 berukuran w bit ke blok siferteks [Ln,
Rn ] melalui proses sebanyak n-putaran dengan
n 1. Untuk 1 i n, ronde ke-i memetakan
[Li-1, Ri-1]
K i [ Li, Ri] sebagai
Li = R i-1 dan Ri = Li-1 ⊕ F(R i-1, Ki).
Dengan melibatkan sub-kunci Ki yang
diturunkan dari kunci sandi K. Untuk lebih
jelasnya dapat cara kerja DES dapat dilihat
pada Lampiran 1 dan proses tiap putaran DES
dapat dilihat pada Lampiran 2.
Ada beberapa tahap dalam algoritma DES
antara lain :
1.
Derivasi sub-kunci
2.
Enkripsi DES
3.
Dekripsi DES
Pada penelitian kali ini, algoritma DES hanya
sampai pada tahap enkripsi DES dengan
output dari enkripsi DES ini yang digunakan
sebagai penanda citra (autentikasi citra).
Adapun langkah-langkah dalam algoritma
DES pada penelitian ini yaitu:
1.
Derivasi sub-kunci
a.
Definisikan vi, untuk 1
i
16,
sebagai vi = 1 jika i å {1, 2, 9, 16}
dan v i = 2 jika selainnya.
b.
T
PC1 (K). Nyatakan T sebagai
belahan 28 bit (C0 , D0) dengan
menggunakan Table 1 (PC-1) untuk
permutasi PC1, sehingga diperoleh
C0 = k 57k 4 9…k 36 dan D0 = k 63k 5 5…k 4.
2. Rangkaikan X dengan string bit -0
sehingga menjadi bitstring X’ dengan
panjang kelipatan dari r.
Dalam penelitian ini, metode padding
yang digunakan adalah metode padding 2 dan
nilai r yang digunakan adalah 64.
Tabel 1 PC-1
57 49 41 33 25 17
1
Data Encryption Standard (DES)
Data
Encryption
Standard
(DES)
merupakan sandi blok dengan panjang blok 64
bit dan panjang kunci efektif 56 bit
(Schneier 1996). Di dalam operasinya,
panjang kunci dibuat 64 bit dengan
menambahkan 8 bit paritas yang ditempatkan
pada posisi 8, 16, 24, 32, 40, 48, 56, dan 64.
Struktur algoritma DES menggunakan dua
konsep umum yaitu sandi produk dan sandi
feistel (Menezes et al.1997).
Komponen penyusun sandi produk
berupa transposisi, substitusi, transformasi
10
9
58 50 42 34 26 18
2
59 51 43 35 27
19 11
3 60 52 44 36
63 55 47 39 31 23 15
7
14
62 54 46 38 30 22
6
21 13
c.
61 53 45 37 29
5 28 20 12
4
Untuk i= 1 s.d. 16, hitung Ki sebagai
13
i.
Ci
( Ci- 1
v i). Disini “ ”
menotasikan “ge ser kiri putar
melingkar”.
ii.
Di
iii.
Ki
(D i-1
Tabel 4 Permutasi Ekspansi ( E)
v i).
PC2 ( Ci , Di ).
Nilai Ki dinyatakan dengan
menggunakan Tabel 2 PC-2.
Tabel 2 PC-2
2.
14
17 11 24
15
5
3
28
6
21 10 23 19
12
4
26
8
16
13
2
41
52 31 37 47 55
30 40
51
45 33 48 44 49
39 56
34
53 46 42 50 36
29 32
7
1
27 20
Enkripsi DES
a.
32
1
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
b.
50
42
34
26
18
10
2
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49 341 33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
Penggunaan sandi Fiestel 16 putaran
dengan
input (L0, R0), output
(L1 6, R16), dan melibatkan sub-kunci
Ki, 1 i 16, melalui fungsi
5
iii.
T’’
(S1(B1),S2(B2),..., S8 (B8)).
Untuk i=1 s.d. 8, Si memetakan
B i = b1 b2 b3b4 b5 b6 menjadi string
4 bit Ai = a1 a2a3 a4 dengan
proses:
iv.
F(Ri-1 , Ki ) = P[S{E(R i-1) ⊕ Ki}]
a)
Hitung
b
sebagai
representasi des imal dari
string b 1b6.
b)
Hitung
k
sebagai
representasi des imal dari
string b 2b3b 4b 5.
c)
Tentukan s sebagai isian
(entry) baris ke-b dan kolom
ke-k dari Si pada tabel
S-Boxes DES. Untuk lebih
jelasnya, tabel S-Boxes
dapat
dilihat
pada
Lampiran 3.
T’’’
P(T’’). Menggunakan
Tabel 5 Fungsi Permutasi (P)
untuk mengubah T’’ = t 1 t2...t 32
menjadi T ’’’ = t16 t 7...t 25. Sampai
pada tahap ini T ’’’ merupakan
F(Ri-1, Ki) dalam struktur Feistel.
Tabel 5 Fungsi Permutasi (P)
Untuk i= 1 s.d. 16, hitung Li dan Ri
sebagai:
i.
4
T’
T ⊕ Ki. Nyatakan T’
sebagai
8
bitstring
masing-masing berukuran 6 bit.
T’ = (B 1, B2, ..., B8).
Tabel 3 Permutasi Inisial (IP)
60
3
ii.
(L0 ,
R0 )
IP(m1 m2...m64),
menggunakan Tabel 3 Permutasi
Inisial ( IP) untuk memperoleh L 0 =
m58 m5 0...m 8 dan R0 = m57 m4 9...m 7.
58
2
T
E(R i-1). Ekspansi Ri =
r1r2...r 32, gunakan Tabel
4
Permutasi Ekspansi (E) sehingga
diperoleh T = r3 2r1r2...r 32r1
berukuran 48 bit.
v.
b.
16
7
20
21 29
12 28 17
1
15
23
26
18 31 10
2
8
24
14 32
27
3
9
19 13
30
6
11
4
25
(Li, Ri)
5
22
(R i-1, Li-1 ⊕T’’’)
h1 h2...h64
(R 16, L16). Perhatikan
bahwa L16 dan R16 tukar posisi.
14
c.
c = c1 c2… c64
IP- 1. Gunakan tabel
-1
IP untuk permutasi IP-1 sehingga
diperoleh c = h4 0h 8…h 25.
Least Significant Bit (LSB)
Least Significant Bit (LSB) merupakan
metod e penyisipan bit pada bit terakhir. Nilai
bit akan berubah namun perubahan ini tidak
akan berpengaruh secara nyata terhadap
kombinasi warna yang dihasilkan oleh tiga
komponen warna Red Green Blue (RGB).
Misalkan ada sebuah byte (8 bit) sembarang
akan disis ipi oleh bit 1, maka metode LSB
yang tampak adalah sebagai berikut:
penanda bit ini diperlukan beberapa tahapan
proses.
Tahapan yang dilakukan pada penelitian
ini secara garis besar yaitu:
1.
Pada proses ini dilakukan transformasi
citra ke dalam bentuk bit.
2.
3.
Akan disisipi 1, maka hasil yang diperoleh
yaitu:
Proses tampilkan kembali citra yang
telah ditandai
Pada proses ini, citra akan dikembalikan
nilainya ke bentuk semula sehingga citra
yang telah ditandai akan kembali menjadi
citra seperti yang asli. Bagan alir proses
dapat dilihat pada Lampiran 6.
Hasil: 1 1 0 0 0 1 1 1
4.
Proses verifikasi citra
Tahap ini dilakukan untuk memeriksa
apakah citra yang telah diautentikasi telah
mengalami modifikasi atau belum. Bagan
alir proses dapat dilihat pada Lampiran 7.
Keamanan algoritma MAC
Jika diketahui suatu k dengan k
merupakan kumpulan jumlah bit yang tidak
diketahui oleh penyerang, maka penyerang
memiliki
peluang
sebesar
2k
untuk
mengetahui kunci K yang digunakan dalam
algoritma MAC (Niel & Schneier 2003).
Dengan kata lain, sebuah fungsi MAC
merupakan pemetaan acak dengan level
keamanan yang tergantung pada jumlah bit k.
Pada pemetaan secara acak, penyerang
mengetahui segala sesuatu, sedangkan pada
MAC, penyerang memiliki ketidakpastian
terhadap
nilai K. Hal inilah yang
menyebabkan MAC lebih efisien dari pada
fungsi hash (Niel & Schneier 2003).
Proses autentikasi citra
Pada tahap ini, bit – bit citra akan diautentikasi sehingga dapat terjamin
keamanannya. Bagan alir proses dapat
dilihat pada Lampiran 5.
Awal: 1 1 0 0 0 1 1 0
Pada contoh kasus ini 0 pada bit terakhir akan
digantikan nilainya oleh bit 1.
Proses transformasi citra dalam bentuk bit
Tahapan-tahapan tersebut dibagi menjadi
tiga bagian. Bagian pertama merupakan
tahapan untuk melakukan autentikasi pada
citra. Bagian kedua merupakan tahapan untuk
membandingkan hasil citra yang telah
diautentikasi, apakah masih sama tampilannya
dengan sebelum diautentikasi. Pada tahap ini,
citra yang telah diautentikasi dikembalikan ke
bentuk JPEG -nya. Bagian ketiga merupakan
tahapan untuk melakukan pemeriksaan bit-bit
citra agar citra tetap terjaga keamanannya.
Pemeriksaan
ini
dilakukan
dengan
membandingkan nilai-nilai bit tempelannya.
Bagan alir dari empat proses tahapan
penelitian di atas dapat dilihat pada
Lampiran 8.
METODE PENELITIAN
Metodologi
Proses transformasi citra dan autentikasi
citra
Gambaran umum proses pada penelitian
ini secara keseluruhan dapat dilihat pada
Lampiran 4.
Pada proses ini ada beberapa tahapan
yang harus dilalui yaitu:
Pada
penelitian
ini
citra
akan
diautentikasi menggunakan kunci sehingga
diperoleh suatu citra baru beserta penanda bit.
Untuk mendapatkan citra baru beserta
1.
Melakukan transformasi pixel-pixel citra
dalam bentuk bit. Transformasi dilakukan
pada cit ra yang akan diautentikasi. Proses
transformasi ini menggunakan perintah
yang ada pada Matlab 7.0. Algoritma
15
yang
digunakan
untuk
transformasi ini adalah:
melakukan
P=image_original;
image _bin=dec2bin(P);
[a,b]=size(image _bin);
2.
3.
4.
Tahap selanjutnya kemudian dilakukan
pemeriksaan terhadap jumlah bit -bit citra.
Pemeriksaan dilakukan untuk melihat
perlu tidaknya dilakukan padding . Pada
penelitian ini, dilakukan padding bit bila
jumlah bit citra bukan merupakan
kelipatan 64.
Bit – bit citra yang diperoleh kemudian
diproses menggunakan algoritma DES
menggunakan
kunci
yang
telah
ditentukan. Bit citra yang diproses
merupakan 4 bit pertama pada tiap pixel.
Pemrosesan bit citra ini dilakukan
perblok di mana tiap blok terdiri dari 64
bit. Blok pertama akan diproses bersama
kunci yang telah ditentukan hingga
menghasilkan output yang berukuran 64
bit. Output ini kemudian akan diproses
lagi bersama blok citra berikutnya. Hal
ini dilakukan secara berulang terus
menerus hingga blok terakhir selesai
diproses.
Proses
perulangan
ini
merupakan cara kerja algoritma MAC.
Proses terakhir yang dilakukan pada
tahap autentikasi adalah menempelkan
output yang diperoleh pada langkah ke -3
pada bit-bit citra yang asli. Proses
penempelan bit ini menggunakan metode
LSB. Tiap pixel citra akan ditransformasi
dalam bentuk 8 bit. Penempelan
dilakukan pada tiap pixel akan dilakukan
pada bit terakhir yaitu bit kedelapan. Tiap
satu bit output pada tahap 3 akan
ditempelkan pada tiap pixel citra pada bit
terakhir. Hal ini dilakukan terus menerus
hingga semua pixel pada citra telah
ditandai. Algoritma yang digunakan
adalah:
q=1;
for i=1:baris
if (q
DALAM AUTENTIKASI CITRA
Oleh :
Sifilia
G64101003
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2006
PENERAPAN CBC-MAC BERBASIS DES
DALAM AUTENTIKASI CITRA
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
Pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh :
Sifilia
G64101003
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2006
Judul
Nama
NRP
: PENERAPAN CBC-MAC BERBASIS DES DALAM
AUTENTIKASI CITRA
: Sifilia
: G64101003
Menyetujui:
Pembimbing I,
Pembimbing II,
Dr. Ir. Sugi Guritman
NIP 131999582
Wisnu Ananta Kusuma, S. T, M. T.
NIP 132311918
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Dr. Ir. Yonny Koesmaryono, M.S.
NIP 131473999
Tanggal Lulus : ........................
ABSTRAK
SIFILIA. Penerapan Dan Analisis CBC-MAC Berbasis DES Dalam Autentikasi Citra.
Dibimbing oleh SUGI GURITMAN dan WISNU ANANTA KUSUMA.
Teknologi yang semakin berkembang menyebabkan citra semakin mudah untuk dimodifikasi.
Karena itu sangat sulit unt uk membedakan citra yang asli dan citra yang telah dimodifikasi. Citra
yang telah dimodifikasi akan tampak seperti citra asli.
Modifikasi citra yang dilakukan menyebabkan citra dengan mudah dipalsukan. Pemalsuan
yang dimaksud adalah citra telah dimodifikas i namun secara fisik nampak sama seperti citra asli.
Modifikasi yang dilakukan adalah dengan cara mengubah nilai bit -bit pada citra. Oleh karena itu
diperlukan suatu metode untuk membedakan citra asli dan citra yang telah dimodifikasi.
Autentikasi pada cit ra menggunakan algoritma CBC-MAC berbasis DES. Salah satu proses
yang dilalui dalam autentikasi citra adalah penyisipan bit. Metode yang digunakan dalam
penyisipan bit adalah metode Least Significant Bit (LSB). Pemeriksaan keaslian citra dilakukan
dengan menghitung nilai Mean Square Error (MSE).
Proses autentikasi pada citra merupakan suatu proses di mana citra ditandai pada tiap
pixelnya. Proses awal yang terjadi adalah bit-bit citra akan diolah menggunakan algoritma CBCMAC berbasis DES sehingga menghasilkan output 64 bit dan output ini yang digunakan sebagai
tempelan bit pada tiap pixel citra tersebut. Proses penempelan bit ini menggunakan metode LSB.
Untuk pemeriksaan keaslian citra menggunakan perhitungan nilai MSE. Perhitungan dilakukan
pada citra hasil autentikasi dan pada citra hasil autentikasi yang diautentikasi ulang menggunakan
kunci yang sama. Nilai MSE pada penelitian ini diperoleh dengan membandingkan bit hasil
tempelan antara kedua citra tersebut.
Pada hasil penelitian ini, dapat dilihat bahwa bit tempelan yang dihasilkan pada tiap citra
berbeda satu sama lain. Pada citra yang berukuran 10x10 iterasi yang terjadi sebanyak 18 iterasi
dengan waktu proses yang dibutuhkan sebesar 18.99 detik. Untuk citra yang berukuran 30x20,
jumlah iterasinya adalah 112 iterasi dengan waktu proses adalah 108.99 detik. Percobaan pada
citra yang berukuran 40x27 jumlah iterasinya adalah 202 iterasi dengan waktu yang dibutuhkan
adalah 198.50 detik. Di lain pihak, pada citra yang berukuran 192x128 membutuhkan iterasi
sebanyak 4608 iterasi dan waktu proses 5826.799 detik. Citra hasil autentikasi yang dihasilkan
dalam penelitian ini memiliki persamaan secara fisik dengan citra asli. Nilai MSE yang diperoleh
ada yang bernilai 0 dan hal ini menunjukkan bahwa citra belum dimodifikasi. Apabila nilai MSE
yang diperoleh tidak sama dengan nol berarti citra yang telah diautentikasi ini telah dimodifikasi
oleh pihak lawan.
RIWAYAT HIDUP
Penulis dilahirkan di Lubuk Linggau pada tanggal 16 Januari 1983 sebagai anak kedua
dari dua bersaudara yang dilahirkan oleh pasangan Aisa dan Mansur.
Pendidikan formal penulis dimulai di TK Xaverius Lubuk Linggau, pada tahun 1988.
Kemudian pada tahun 1989 melanjutkan sekolah dasar di SD Xaverius Lubuk Linggau. Tahun
1995, penulis memasuki SLTP Xaverius Lubuk Linggau, dan menjalani pendidikan SLTA di
SMU Xaverius Lubuk Linggau sampai dengan tahun 2001. Setelah lulus pada tahun 2001, penulis
diterima sebagai mahasiswa Departemen Ilmu Komputer IPB melalui jalur USMI (Undangan
Seleksi Masuk IPB) pada tahun yang sama. Pada bulan Februari sampai Maret 2005, penulis
melakukan kerja praktek di PT. Toyota Astra Motor Jakarta.
PRAKATA
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan laporan skripsi yang
merupakan salah satu syarat kelulusan program sarjana pada Departemen Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam, Institut Pert anian Bogor.
Dalam penyelesaian tugas akhir ini, penulis banyak dibantu oleh berbagai pihak. Terima
kasih yang tak terkirakan penulis haturkan untuk:
1.
Mama dan Papa tercinta atas dukungan, semangat, dan rasa cinta yang begitu besar
selama penulis melaksanak an studi di Institut Pertanian Bogor.
2.
Bapak Sugi, Bapak Wisnu selaku pembimbing yang telah sabar membimbing dan
berbagi ilmu pengetahuannya kepada penulis.
3.
Ibu Shelvie selaku penguji dalam karya ilmiah ini.
4.
Cece dan Ko In Siung atas semangat yang diberikan.
5.
Hendry tersayang yang selalu memberikan dukungan dan semangat.
6.
Laura, Yulia, Euis, Kak Widi dan Irfan, yang telah banyak membantu. Terima kasih atas
segala yang telah kalian berikan selama ini. Persahabatan yang begitu berarti dan tak akan
pernah dilupakan.
7.
Terima kasih juga kepada Ci Lingling atas dorongan semangatnya dan petuah -petuah
yang bermanfaat serta temen-temen kost yang selalu memberikan nasehat dan dorongan
semangat kepada penulis.
8.
Khaman yang telah banyak membantu dengan ide-idenya yang cemerlang, ifnu dan acid
serta teman-teman ilkomerz 38 yang telah menjadi teman, sahabat, dan guru dalam
perjalanan studi penulis.
9.
Semua pihak yang telah membantu yang tidak dapat disebutkan secara satu persatu.
Akhir kata, semoga tulisan ini dapat memberikan manfaat untuk kita semua. Kritik dan
masukan yang membangun sangat penulis harapkan untuk kemajuan tulisan ini. semoga Tuhan
senantiasa melimpahkan karunia-Nya kepada kita semua. Amin.
Bogor, Januari 2006
Sifilia
DAFTAR ISI
DAFTAR TABEL.……………………………………………………………………….......
Halaman
v
DAFTAR GAMBAR.………………………………………………………………………..
v
DAFTAR LAMPIRAN.……………………………………………………………………...
v
PENDAHULUAN
Latar Belakang.……………………………………………………………………..
Tujuan.…………………………………………………………………………… ..
Ruang Lingkup.…………………………………………………………………….
1
1
2
TINJAUAN PUSTAKA
Kriptografi.................................................................................................................
Fungsi Hash.............................……………………………………………………..
Message Authentication Codes (MAC) Berdasar Blok Cipher...........................
Padding……….………………………………………………………………….....
Data Encryption Standart(DES)…………………………………………………..
Least Significant Bit (LSB)……….……………………………………………….
Keamanan Algoritma MAC….…………………………………………………….
1
2
3
4
4
6
6
METODE PENELITIAN
Metodologi…………………………………………………………………………
Proses transformasi citra dan autentikasi citra..................................................…
Proses tampilkan kembali citra...............................................................................
Proses verifikasi citra..................................................................................
Percobaan...........................................……………………………………………...
Analisis...............................................……………………………………………...
Implementasi……………………………………………………………………….
6
6
7
7
7
8
8
HASIL DAN PEMBAHASAN
Penerapan CBC-MAC Berbasis DES Pada Citra......................................................
Keamanan Citra Hasil Autentikasi............................................................................
Pener apan MSE Dalam Pemeriksaan Citra yang Telah Diautentikasi......................
8
9
9
KESIMPULAN DAN SARAN
Kesimpulan................................................................................................................
Saran..........................................................................................................................
10
10
DAFTAR PUSTAKA..............................................................................................................
10
LAMPIRAN.............................................................................................................................
11
DAFTAR TABEL
1.
2.
3.
4.
5.
PC-1……………………………………………..………………………………
PC-2.......................................................................................................................
Permutasi Inisial (IP).............................................................................................
Permutasi Ekspansi (E)..........................................................................................
Fungsi Permutasi (P).............................................................................................
Halaman
4
5
5
5
5
DAFTAR GAMBAR
1.
2.
3.
4.
Skema Komunikasi dua Partai ……………….…………………………………
Skema CBCMAC....................................................................................................
Citra Asli..................................................................................................................
Citra Terautentikasi.................................................................................................
Halaman
1
3
9
9
DAFTAR LAMPIRAN
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Struktur DES...........................................................................................................
Satu Putaran Pada DES...........................................................................................
Tabel S-Boxes.........................................................................................................
Bagan Umum Proses
Bagan Alir Proses Autentikasi Citra.......................................................................
Bagan Alir Proses Tampilkan Citra........................................................................
Bagan Alir Proses Verifikasi Citra.........................................................................
Bagan Alir Tahapan Penelitian Secara Garis Besar................................................
Hasil Percobaan......................................................................................................
Hasil Verifikasi Citra..............................................................................................
Halaman
12
13
14
16
17
18
19
20
21
22
9
PENDAHULUAN
Latar Belakang
Perkembangan komputer pada saat ini
menyebabkan pemanfaatan data digital
semakin meningkat. Beberapa alasan yang
membuat data digital banyak digunakan
antara lain:
•
Mudah untuk diduplikasi dan hasilnya
sama dengan yang asli
•
Biaya yang dibutuhkan untuk duplikasi
sangat murah
•
Mudah untuk disimpan
Beberapa contoh data digital antara lain
audio, citra , video, dan teks. Pada penelitian
kali ini data digital yang akan dibahas lebih
lanjut adalah citra.
Perkembangan teknologi yang semakin
pesat menyebabkan citra semakin banyak
digunakan sebagai media penyimpanan
informasi rahasia. Namun, salah satu
kelemahan citra adalah mudah dimodifikasi.
Hal itu menimbulkan permasalahan dalam
membedakan citra yang asli dan citra yang
telah dimodifikasi. Penyerang melakukan
modifikasi pada saat komunikasi antara dua
partai. Bagan komunikasi dapat dilihat pada
Gambar 1.
kunci
Cek citra
Citra
autentikasi
Citra
autentikasi
tujuan
untuk menggagalkan komunikasi
antara dua pihak (A dan B). Selain itu
penyerang juga bertujuan untuk mendapatkan
informasi penting yang terdapat di dalam citra
tersebut. Citra dapat saja digunakan sebagai
password dan dalam hal ini, penyerang
berusaha mendapatkan kode password dalam
citra
tersebut
agar
penyerang
dapat
menggunakannya untuk tujuan tertentu.
Apabila penyerang hanya ingin mengetahui
informasi yang ada pada suatu data maka
ancaman ini termasuk ancaman pasif.
Ancaman aktif terjadi apabila penyerang
berusaha mengubah isi data baik dengan
menghapus data ataupun menambahkan isi
data. Serangan seperti ini dapat mengancam
integritas
data,
autentikasi
maupun
kerahasiaan data.
Oleh karena itu, penting adanya suatu
pengamanan pada citra. Salah satu metode
pengamanan pada citra adalah autentikasi
citra. Autentikasi pada citra ini bertujuan
untuk menjamin integritas data.
Berawal dari hal ini maka penelitian ini
dilakukan untuk menjamin keamanan citra.
Melalui
metode ini, citra akan disisipi
penanda digital sebagai autentikator untuk
mencegah pemalsuan pada citra.
Pada penelitian ini algoritma yang
digunakan dalam autentikasi citra adalah
algoritma Message Authentication Code
(MAC) berbasis Data Encryption Standard
(DES). Salah satu algoritma MAC yang
digunakan pada penelitian ini adalah CBCMAC. Menurut Niel & Schneier (2003),
MAC memiliki tingkat efisiensi yang tinggi.
Salah satu proses dalam autentikasi adalah
penyisipan bit pada citra sebagai autentikator
citra. Metode yang digunakan dalam
penyisipan bit adalah
metode Least
Significant Bit (LSB).
Tujuan
Citra
asli
Tujuan
B
A
Penelitian ini bertujuan untuk:
•
Mengimplementasikan algoritma CBCMAC berbasis DES pada citra.
•
Menghasilkan citra autentikasi yang
memiliki kemiripan tampilan, ukuran, dan
format file dengan citra yang asli.
•
Menganalisis penerapan metode MSE
dalam pemeriksaan keaslian citra.
Musuh
Gambar 1 Skema Komunikasi Dua Partai
Modifikasi yang dilakukan pada citra
dapat dikategorikan sebagai pemalsuan citra.
Penyerang melakukan pemalsuan citra dengan
10
Ruang Lingkup
•
Autentikasi adalah suatu layanan yang
berhubungan dengan identifikasi entitas
dan informasi itu sendiri (Schneiner
1996). Dua pihak terlibat dalam
komunikasi seharusnya mengidentifikasi
dirinya satu sama lain. Pesan yang
disampaikan melalui suatu saluran
seharusnya dapat diidentifikasi asalnya,
isinya, tanggal dan waktunya. Atas dasar
ini autentikasi terbagi menjadi dua kelas
besar, yaitu: autentikasi entitas, dan
autentikasi asal data. Di sisi lain
autentikasi menurut Meyer dan Matyas
(1982) merupakan suatu pembuktian pola
bit yang disebut kode autentikasi, yang
mana kode ini akan disisipkan pada pesan
dan pada waktu tertentu kode pada pesan
akan diperiksa keasliannya.
•
Non-repudiasi adalah suatu layanan yang
ditujukan untuk mencegah terjadinya
pelanggaran kesepakatan yang telah
dibuat
sebelumnya
oleh
entitas
(Schneiner 1996).
Ruang lingkup pada penelitian ini adalah:
•
Algoritma
yang
digunakan
pada
penelitian ini adalah algoritma CBCMAC berbasis DES.
•
Citra yang digunakan berupa citra
berwarna dengan format JPEG karena
umum
digunakan
dan
berukuran
192x128, 10x10, 30x20, 40x27.
•
Metode penyisipan bit yang digunakan
adalah metode Least Significant Bit
(LSB).
•
Pada penelitian ini, kunci yang digunakan
telah ditentukan secara pasti dan tidak
diketahui publik.
•
Pemeriksaan keaslian citra dilakukan
dengan menghitung Mean Square Error
(MSE) .
•
Citra yang telah diautentikasi tidak
mengalami perubahan secara fisik
misalnya ukuran , warna, tampilan dan
format file.
TINJAUAN PUSTAKA
Kriptografi
Kriptografi adalah studi matematis yang
mempelajari tentang keamanan pada data
(Schneiner 1996). Dari definisi tersebut
tersirat bahwa kriptografi tidak hanya sebagai
alat yang memberikan ke amanan informasi,
melainkan juga seperangkat teknik-teknik atau
prosedur-prosedur yang berhubungan dengan
keamanan informasi (Menezes et al. 1997).
Ada 4 tujuan utama pada kriptografi yaitu:
•
Kerahasiaan adalah suatu layanan yang
digunakan untuk menjaga isi informasi
dari semua yang tidak berwenang
memilikinya (Schneiner 1996).
•
Integritas data adalah suatu layanan yang
berkaitan dengan pengubahan data dari
pihak-pihak yang tidak berwenang
(Schneiner 1996). Untuk menjamin
integritas
data,
diperlukan
suatu
kemampuan untuk mendeteksi manipulasi
data dari pihak-pihak yang tidak
berwenang. Manipulasi data diartikan
sebagai hal-hal yang berkaitan dengan
penghapusan, penyisipan dan penggantian
data.
Fungsi Hash
Fungsi hash memetakan bitstring dengan
panjang sembarang ke bitstring dengan
panjang tetap. Secara umum fungsi hash
dibagi menjadi dua kelas yaitu fungsi hash tak
berkunci dan fungsi hash berkunci (Menezes
et al. 1997). Fungsi hash tak berkunci
mempunyai spesifikasi mengatur parameter
input tunggal (pesan). Fungsi hash berkunci
mempunyai spesifikasi megatur parameter dua
input berbeda (pesan dan kunci). Fungsi hash
adalah fungsi h yang memiliki minimal dua
sifat berikut (Menezes et al.199 7):
•
Kompresi : h memetakan input x dengan
sembarang panjang bit yang terhingga,
ke output h(x) dengan panjang bit tetap
n.
•
Kemudahan komputasi : diketahui h dan
suatu input x, h(x) mudah dihitung.
Berdasar kegunaannya, fungsi hash
dibedakan atas dua tipe (Menezes et al.1997):
1.
Manipulation Detection Code (MDC)
MDC disebut juga Message Integrity
Code (MIC). M D C merupakan subkelas
dari fungsi hash tak-berkunci. Tujuan
dari MDC adalah untuk memberikan
jaminan integritas data sebagaimana
diperlukan dalam suatu aplikasi khusus.
11
2.
Message Authentication Code (MAC)
MAC merupakan subkelas dari fungsi
hash berkunci. MAC mempunyai dua
parameter berbeda yaitu input pesan dan
kunci rahasia. Tujuan MAC adalah
menjamin integritas sumber pesan.
Message Authentication
berdasar blok cipher
Codes
(MAC)
Message Authentication Codes (MAC)
merupakan sebuah fungsi yang terdiri dari dua
argumen yaitu sebuah kunci K dengan ukuran
tetap dan pesan m dengan ukuran yang tidak
tetap yang mana nilai produk yang dihasilkan
mempunyai panjang tetap (Niel & Schneier
2003). Fungsi MAC yang ideal biasanya
memetakan semua kemungkinan input ke n bit
output secara acak. Fungsi MAC biasanya
ditulis MAC(K,m) dengan K adalah kunci dan
m adalah pesan yang ingin disampaikan.
Ketahanan komputasi mengakibatkan secara
perhitungan tak layak menentukan kunci k
jika diketahui satu atau lebih pasangan teksMAC (x i, hx (xi )). Sebaliknya, ketahanan kunci
tidak
harus
mengakibatkan
ketahanan
komputasi (Menezes et al.1997).
Misalkan diketahui pesan m1, ... , mi
maka menurut Schneier (1996) MAC
didefinisikan sebagai berikut:
H0 :=IV ( InitializationVektor ),
Hi := Ek (m1⊕ Hi- 1),
MAC:= Hk .
Untuk lebih jelasnya, cara kerja CBC-MAC
dapat dilihat pada Gambar 2 berikut:
Ht1
k
DES
•
Kompresi
Misal hx memetakan input x dengan
sembarang panjang bit berhingga, ke
output hx (x) dengan bit panjang tetap n.
•
H1
k
DES
H2
k
DES
Ht
k'
DES
k
DES
optional
Kemudahan komputasi
Misalkan diketahui fungsi hk, diberikan
nilai k dan input x, maka hk (x) mudah
dihitung. Hasil fungsi ini disebut nilaiMAC atau MAC saja.
mt
IV
MAC merupakan subkelas dari fungsi
hash berkunci
yang bertujuan menjamin
integritas sumber pesan (Schneier 1996).
Beberapa sifat MAC antara lain:
•
m2
m1
H
Gambar 2 Skema CBC-MAC
Algoritma
CBC -MAC
sebagai berikut:
didefinisikan
INPUT: data x,spesifikasi sandi blok DES,
kunci rahasia MAC k untuk DES.
OUTPUT: n-bit MAC pada x (n adalah
panjang blok dari DES).
Ketahanan komputasi
1.
Misalkan diberikan nol atau lebih
pasangan teks-M A C (xi , hx (x i)), secara
komputasi
tak-layak
menghitung
sembarang pasangan (x, hx (x)) untuk
sembarang input baru x ≠ xi (termasuk
mungkin hk (x) = hk (xi ) untuk suatu i).
Proses penambahan bit ekstra (padding)
dan blocking. Proses penambahan bit
ekstra dilakukan dengan menggunakan
algoritma padding. Padded teks dipecah
menjadi blok-blok dengan ukuran n-bit
dinotasikan dengan x1,x2,x3,...,xt.
2.
Proses CBC. Misalkan Ek merupakan
notasi enkripsi menggunakan E dengan
kunci k, hitung blok Ht dengan:
Jika ketahanan komputasi tidak dipenuhi,
algoritma M A C disebut pemalsuan-MAC.
Pemalsuan pada MAC ada 2 yaitu pemalsuan
selektif
dan
pemalsuan
eksistensial.
Pemalsuan selektif terjadi bila penyerang
berusaha mendapatkan pasangan teks MAC
baru untuk sebuah teks yang dipilihnya
sedangkan pemalsuan eksistensial terjadi bila
penyerang berusaha untuk mendapatkan
pasangan teks MAC baru tanpa pengontrolan
nilai pada teks tersebut.
H1
Ek (x1),
Hi
Ek (Hi- 1⊕xi), 2 i t.
(Ini
merupakan
standard
CBC,
IV=0,mengabaikan blok siferteks Ci = Hi ).
3.
Proses pilihan untuk meningkatkan
kekuatan MAC. Menggunakan kunci
rahasia kedua k’ k, secara opsional
dihitung H’t
E-1k (Ht),H t
Ek (H’ t).
12
4.
Penyelesaian. M AC adalah n-bit blok Ht.
Algoritma M A C dapat diterapkan pada
berbagai algoritma enkripsi antara lain
DES, Triple DES, AES dan lain
sebagainya.
Padding
Metode padding digunakan bila panjang
suatu bitstring x bukan merupakan kelipatan
dari panjang bitstring tiap blok x. Misalkan
panjang bitstring x = 68 dan panjang bitstring
tiap blok x = 8, maka perlu dilakukan padding
karena 68 bukan kelipatan dari 8. Ada 2
metode yang dapat digunakan dalam padding
(Menezes et al.1997). Metode yang digunakan
yaitu:
•
Metode padding 1
Langkah yang dilakukan dalam metode
ini yaitu merangkaikan pada X dengan
string bit 0 sehingga menjadi bitstring X’
dengan panjang kelipatan dari r. Metode
ini menimbulkan kerancuan karena
batasan antara bitstring sebelum dan
sesudah padding tidak bisa dibedakan
kecuali kalau bitstring sebelum padding
diketahui panjangnya.
•
Metode padding 2
Langkah-langkah yang dilakukan pada
metode ini yaitu:
1.
Rangkaikan X pada sebuah satu
bit -1.
biner dan operasi aritmatik modular. Sandi
feistel merupakan sandi teriterasi yang
mentransformasi blok plainteks [L0,R 0]
berukuran 2w bit dengan masing- masing L0
dan R 0 berukuran w bit ke blok siferteks [Ln,
Rn ] melalui proses sebanyak n-putaran dengan
n 1. Untuk 1 i n, ronde ke-i memetakan
[Li-1, Ri-1]
K i [ Li, Ri] sebagai
Li = R i-1 dan Ri = Li-1 ⊕ F(R i-1, Ki).
Dengan melibatkan sub-kunci Ki yang
diturunkan dari kunci sandi K. Untuk lebih
jelasnya dapat cara kerja DES dapat dilihat
pada Lampiran 1 dan proses tiap putaran DES
dapat dilihat pada Lampiran 2.
Ada beberapa tahap dalam algoritma DES
antara lain :
1.
Derivasi sub-kunci
2.
Enkripsi DES
3.
Dekripsi DES
Pada penelitian kali ini, algoritma DES hanya
sampai pada tahap enkripsi DES dengan
output dari enkripsi DES ini yang digunakan
sebagai penanda citra (autentikasi citra).
Adapun langkah-langkah dalam algoritma
DES pada penelitian ini yaitu:
1.
Derivasi sub-kunci
a.
Definisikan vi, untuk 1
i
16,
sebagai vi = 1 jika i å {1, 2, 9, 16}
dan v i = 2 jika selainnya.
b.
T
PC1 (K). Nyatakan T sebagai
belahan 28 bit (C0 , D0) dengan
menggunakan Table 1 (PC-1) untuk
permutasi PC1, sehingga diperoleh
C0 = k 57k 4 9…k 36 dan D0 = k 63k 5 5…k 4.
2. Rangkaikan X dengan string bit -0
sehingga menjadi bitstring X’ dengan
panjang kelipatan dari r.
Dalam penelitian ini, metode padding
yang digunakan adalah metode padding 2 dan
nilai r yang digunakan adalah 64.
Tabel 1 PC-1
57 49 41 33 25 17
1
Data Encryption Standard (DES)
Data
Encryption
Standard
(DES)
merupakan sandi blok dengan panjang blok 64
bit dan panjang kunci efektif 56 bit
(Schneier 1996). Di dalam operasinya,
panjang kunci dibuat 64 bit dengan
menambahkan 8 bit paritas yang ditempatkan
pada posisi 8, 16, 24, 32, 40, 48, 56, dan 64.
Struktur algoritma DES menggunakan dua
konsep umum yaitu sandi produk dan sandi
feistel (Menezes et al.1997).
Komponen penyusun sandi produk
berupa transposisi, substitusi, transformasi
10
9
58 50 42 34 26 18
2
59 51 43 35 27
19 11
3 60 52 44 36
63 55 47 39 31 23 15
7
14
62 54 46 38 30 22
6
21 13
c.
61 53 45 37 29
5 28 20 12
4
Untuk i= 1 s.d. 16, hitung Ki sebagai
13
i.
Ci
( Ci- 1
v i). Disini “ ”
menotasikan “ge ser kiri putar
melingkar”.
ii.
Di
iii.
Ki
(D i-1
Tabel 4 Permutasi Ekspansi ( E)
v i).
PC2 ( Ci , Di ).
Nilai Ki dinyatakan dengan
menggunakan Tabel 2 PC-2.
Tabel 2 PC-2
2.
14
17 11 24
15
5
3
28
6
21 10 23 19
12
4
26
8
16
13
2
41
52 31 37 47 55
30 40
51
45 33 48 44 49
39 56
34
53 46 42 50 36
29 32
7
1
27 20
Enkripsi DES
a.
32
1
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
b.
50
42
34
26
18
10
2
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49 341 33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
Penggunaan sandi Fiestel 16 putaran
dengan
input (L0, R0), output
(L1 6, R16), dan melibatkan sub-kunci
Ki, 1 i 16, melalui fungsi
5
iii.
T’’
(S1(B1),S2(B2),..., S8 (B8)).
Untuk i=1 s.d. 8, Si memetakan
B i = b1 b2 b3b4 b5 b6 menjadi string
4 bit Ai = a1 a2a3 a4 dengan
proses:
iv.
F(Ri-1 , Ki ) = P[S{E(R i-1) ⊕ Ki}]
a)
Hitung
b
sebagai
representasi des imal dari
string b 1b6.
b)
Hitung
k
sebagai
representasi des imal dari
string b 2b3b 4b 5.
c)
Tentukan s sebagai isian
(entry) baris ke-b dan kolom
ke-k dari Si pada tabel
S-Boxes DES. Untuk lebih
jelasnya, tabel S-Boxes
dapat
dilihat
pada
Lampiran 3.
T’’’
P(T’’). Menggunakan
Tabel 5 Fungsi Permutasi (P)
untuk mengubah T’’ = t 1 t2...t 32
menjadi T ’’’ = t16 t 7...t 25. Sampai
pada tahap ini T ’’’ merupakan
F(Ri-1, Ki) dalam struktur Feistel.
Tabel 5 Fungsi Permutasi (P)
Untuk i= 1 s.d. 16, hitung Li dan Ri
sebagai:
i.
4
T’
T ⊕ Ki. Nyatakan T’
sebagai
8
bitstring
masing-masing berukuran 6 bit.
T’ = (B 1, B2, ..., B8).
Tabel 3 Permutasi Inisial (IP)
60
3
ii.
(L0 ,
R0 )
IP(m1 m2...m64),
menggunakan Tabel 3 Permutasi
Inisial ( IP) untuk memperoleh L 0 =
m58 m5 0...m 8 dan R0 = m57 m4 9...m 7.
58
2
T
E(R i-1). Ekspansi Ri =
r1r2...r 32, gunakan Tabel
4
Permutasi Ekspansi (E) sehingga
diperoleh T = r3 2r1r2...r 32r1
berukuran 48 bit.
v.
b.
16
7
20
21 29
12 28 17
1
15
23
26
18 31 10
2
8
24
14 32
27
3
9
19 13
30
6
11
4
25
(Li, Ri)
5
22
(R i-1, Li-1 ⊕T’’’)
h1 h2...h64
(R 16, L16). Perhatikan
bahwa L16 dan R16 tukar posisi.
14
c.
c = c1 c2… c64
IP- 1. Gunakan tabel
-1
IP untuk permutasi IP-1 sehingga
diperoleh c = h4 0h 8…h 25.
Least Significant Bit (LSB)
Least Significant Bit (LSB) merupakan
metod e penyisipan bit pada bit terakhir. Nilai
bit akan berubah namun perubahan ini tidak
akan berpengaruh secara nyata terhadap
kombinasi warna yang dihasilkan oleh tiga
komponen warna Red Green Blue (RGB).
Misalkan ada sebuah byte (8 bit) sembarang
akan disis ipi oleh bit 1, maka metode LSB
yang tampak adalah sebagai berikut:
penanda bit ini diperlukan beberapa tahapan
proses.
Tahapan yang dilakukan pada penelitian
ini secara garis besar yaitu:
1.
Pada proses ini dilakukan transformasi
citra ke dalam bentuk bit.
2.
3.
Akan disisipi 1, maka hasil yang diperoleh
yaitu:
Proses tampilkan kembali citra yang
telah ditandai
Pada proses ini, citra akan dikembalikan
nilainya ke bentuk semula sehingga citra
yang telah ditandai akan kembali menjadi
citra seperti yang asli. Bagan alir proses
dapat dilihat pada Lampiran 6.
Hasil: 1 1 0 0 0 1 1 1
4.
Proses verifikasi citra
Tahap ini dilakukan untuk memeriksa
apakah citra yang telah diautentikasi telah
mengalami modifikasi atau belum. Bagan
alir proses dapat dilihat pada Lampiran 7.
Keamanan algoritma MAC
Jika diketahui suatu k dengan k
merupakan kumpulan jumlah bit yang tidak
diketahui oleh penyerang, maka penyerang
memiliki
peluang
sebesar
2k
untuk
mengetahui kunci K yang digunakan dalam
algoritma MAC (Niel & Schneier 2003).
Dengan kata lain, sebuah fungsi MAC
merupakan pemetaan acak dengan level
keamanan yang tergantung pada jumlah bit k.
Pada pemetaan secara acak, penyerang
mengetahui segala sesuatu, sedangkan pada
MAC, penyerang memiliki ketidakpastian
terhadap
nilai K. Hal inilah yang
menyebabkan MAC lebih efisien dari pada
fungsi hash (Niel & Schneier 2003).
Proses autentikasi citra
Pada tahap ini, bit – bit citra akan diautentikasi sehingga dapat terjamin
keamanannya. Bagan alir proses dapat
dilihat pada Lampiran 5.
Awal: 1 1 0 0 0 1 1 0
Pada contoh kasus ini 0 pada bit terakhir akan
digantikan nilainya oleh bit 1.
Proses transformasi citra dalam bentuk bit
Tahapan-tahapan tersebut dibagi menjadi
tiga bagian. Bagian pertama merupakan
tahapan untuk melakukan autentikasi pada
citra. Bagian kedua merupakan tahapan untuk
membandingkan hasil citra yang telah
diautentikasi, apakah masih sama tampilannya
dengan sebelum diautentikasi. Pada tahap ini,
citra yang telah diautentikasi dikembalikan ke
bentuk JPEG -nya. Bagian ketiga merupakan
tahapan untuk melakukan pemeriksaan bit-bit
citra agar citra tetap terjaga keamanannya.
Pemeriksaan
ini
dilakukan
dengan
membandingkan nilai-nilai bit tempelannya.
Bagan alir dari empat proses tahapan
penelitian di atas dapat dilihat pada
Lampiran 8.
METODE PENELITIAN
Metodologi
Proses transformasi citra dan autentikasi
citra
Gambaran umum proses pada penelitian
ini secara keseluruhan dapat dilihat pada
Lampiran 4.
Pada proses ini ada beberapa tahapan
yang harus dilalui yaitu:
Pada
penelitian
ini
citra
akan
diautentikasi menggunakan kunci sehingga
diperoleh suatu citra baru beserta penanda bit.
Untuk mendapatkan citra baru beserta
1.
Melakukan transformasi pixel-pixel citra
dalam bentuk bit. Transformasi dilakukan
pada cit ra yang akan diautentikasi. Proses
transformasi ini menggunakan perintah
yang ada pada Matlab 7.0. Algoritma
15
yang
digunakan
untuk
transformasi ini adalah:
melakukan
P=image_original;
image _bin=dec2bin(P);
[a,b]=size(image _bin);
2.
3.
4.
Tahap selanjutnya kemudian dilakukan
pemeriksaan terhadap jumlah bit -bit citra.
Pemeriksaan dilakukan untuk melihat
perlu tidaknya dilakukan padding . Pada
penelitian ini, dilakukan padding bit bila
jumlah bit citra bukan merupakan
kelipatan 64.
Bit – bit citra yang diperoleh kemudian
diproses menggunakan algoritma DES
menggunakan
kunci
yang
telah
ditentukan. Bit citra yang diproses
merupakan 4 bit pertama pada tiap pixel.
Pemrosesan bit citra ini dilakukan
perblok di mana tiap blok terdiri dari 64
bit. Blok pertama akan diproses bersama
kunci yang telah ditentukan hingga
menghasilkan output yang berukuran 64
bit. Output ini kemudian akan diproses
lagi bersama blok citra berikutnya. Hal
ini dilakukan secara berulang terus
menerus hingga blok terakhir selesai
diproses.
Proses
perulangan
ini
merupakan cara kerja algoritma MAC.
Proses terakhir yang dilakukan pada
tahap autentikasi adalah menempelkan
output yang diperoleh pada langkah ke -3
pada bit-bit citra yang asli. Proses
penempelan bit ini menggunakan metode
LSB. Tiap pixel citra akan ditransformasi
dalam bentuk 8 bit. Penempelan
dilakukan pada tiap pixel akan dilakukan
pada bit terakhir yaitu bit kedelapan. Tiap
satu bit output pada tahap 3 akan
ditempelkan pada tiap pixel citra pada bit
terakhir. Hal ini dilakukan terus menerus
hingga semua pixel pada citra telah
ditandai. Algoritma yang digunakan
adalah:
q=1;
for i=1:baris
if (q