hingga citra membentuk matriks M × N dan jumlah tingkat keabuan piksel G.
Biasanya besar M, N, G adalah perpangkatan dari dua :
2
m
M
,
2
n
N
, dan
2
k
G
yang dalam hal ini m, n, dan k adalah bilangan bulat positif. Jika b menyatakan jumlah menyatakan bit yang diperlukan untuk menyimpan citra digital dalam memori, maka:
b m n k
2.12.3 Mode Warna
Menampilkan sebuah citra pada layar monitor diperlukan lebih informasi mengenai letak dari pixel-pixel pembentuk citra. Untuk memperoleh gambaran yang tepat
dibutuhkan juga informasi tentang warna-warna yang dipakai untuk menggambarkan sebuah citra digital. Beberapa mode warna yang sering digunakan:
1. Bitmap Mode, memerlukan 1-bit data untuk menampilkan warna dan warna
yang dapat ditampilkan hanya warna hitam dan putih monokrom. 2.
Indexed Color Mode, mengurutkan warna dalam jangkauan 0-255 8-bit. 3.
Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan. 4.
RGB Mode, menampilkan citra dalam kombinasi tiga warna dasar red, green, dan blue, tiap warna dasar memiliki intensitas warna 0-255 8-bit.
5. CMYK Mode, menampilkan citra dalam kombinasi empat warna dasar cyan,
magenta, yellow dan black, tiap warna memiliki intensitas 0-255 8-bit.
2.12.4 Penyimpanan Citra
Menyimpan citra ke dalam media penyimpanan dalam bentuk digital memiliki bentuk yang beragam. Ada dua cara penyimpanan yang biasa dilakukan oleh perangkat lunak
yaitu bitmap dan vector. Dalam hal ini sering juga digunakan istilah program paint dan program draw.
Universitas Sumatera Utara
Program paint atau program berbasis bitmap menyimpan citra sebagaimana ditampilkan di layar yaitu sebagai array dari pixel-pixel. Perubahan yang dilakukan
pada citra dengan menggunakan program ini akan mengubah langsung tiap titik atau pixel pada citra. Kelebihan cara ini adalah kemudahannya untuk menampilkan gambar
secara rinci dengan pola-pola yang kompleks atau gambar fotorealistik, yang tidak dapat dengan mudah direpresentasikan sebagai model matematika.
Program draw atau program berbasis vector menyimpan citra sebagai model matematika, dan setiap elemen citra disimpan secara terpisah. Perubahan yang
dilakukan pada citra menggunakan program ini akan mengubah deskripsi matematika yang menyusun gambar dan program menghitung perubahan yang perlu pada warna-
warna pixel secara tidak langsung. Kelebihan cara ini adalah kemampuannya untuk menciptakan gambar dalam resolusi yang berbeda tanpa kehilangan mutu gambar
yang berarti.
Format File Citra BMP
Format file BMP merupakan format standar sistem operasi Windows dan IBM OS2. Format ini mendukung mode warna dari Bitmap Mode hingga RGB Mode. BMP
mudah dibuka dan disimpan, tetapi ada beberapa aturan khusus yang harus dicermati, diantaranya:
1. Format file ini menyimpan datanya secara terbalik, yaitu dari bawah ke atas.
2. Citra dengan resolusi warna 8-bit, lebar citra harus merupakan kelipatan dari 4,
bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4.
3. Citra dengan resolusi warna 24-bit, urutan penyimpanan tiga warna dasar
adalah biru, hijau, merah B, G, R. Lebar citra dikalikan dengan 3 harus merupakan kelipatan dari 4, bila tidak maka pada saat penyimpanan akan
ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4. 4.
BMP mendukung pemampatan run length encoding RLE.
Universitas Sumatera Utara
Format File Citra GIF
Format file GIF Graphics Interchange Format merupakan hasil rancangan CompuServe Incorporated. Format ini dirancang untuk memudahkan pertukaran citra
bitmap antar komputer. GIF hanya mendukung resolusi warna sampai 256 warna 8- bit.
Format file GIF memiliki dua versi yaitu GIF 87a dan GIF89a. Versi GIF89a diperkenalkan pada bulan Juli 1989 merupakan perbaikan dari versi GIF87a. Pada
GIF89a ditambahkan kemampuan untuk menampilkan citra dengan latar belakang transparan background transparency, penyimpanan data citra secara interlaced dan
kemampuan untuk menampilkan citra animasi.
GIF menggunakan variable-length code yang merupakan modifikasi dari algoritma LZW Lemple-Ziv Wetch untuk memampatkan data citra. Teknik
pemampatan data ini mampu menghasilkan pemampatan yang baik dan merupakan teknik pemampatan yang mampu mengembalikan data sama persis dengan aslinya
lossless data comperssion.
Format File Citra JPEG
Format file Joint Photographic Experts Group JPEG atau yang biasa disingkat JPG meningkat pesat penggunaannya. Format ini terkenal karena ukurannya yang mini
dibandingkan dengan format-format lainnya. JPEG mendukung mode warna RGB, CMYK dan Grayscale, tetapi tidak
mampu menampilkan citra dengan latar belakang transparan. Format JPEG menterjemahkan informasi tersebut menjadi komponen luminance komponen cahaya
dan dua komponen chromatic komponen perubahan warna dari hijau ke merah dan dari biru ke kuning. Untuk kompresinya format file citra ini menggunakan kompresi
JPEG
Universitas Sumatera Utara
Bab 3
ANALISIS DAN PERANCANGAN APLIKASI
3.1 Analisis Algoritma Tanda Tangan Digital
Cara kerja tanda tangan digital digital signature hampir sama dengan cara kerja “tanda tangan” dokumen biasa. Terdapat dua algoritma pada sistem digital signature,
yaitu algoritma sign untuk menandatangani sebuah dokumen M dan menghasilkan sebuah tanda tangan sign
ρ, dan algoritma verify yang mengembalikan nilai true bila tanda tangan
ρ memang pemilik penandatangan dan untuk dokumen M. Sistem digital signature menggunakan kunci asimetris dengan algoritma sign menggunakan kunci
privat dan algoritma verify menggunakan kunci publik.
Sebelum pengirm ingin mengirim dokumen bertanda tangan secara digital pada penerima terlebih dahulu pengirim harus membangkitkan sepasang kunci
asimetris miliknya, yaitu kunci privat K
privat
dan kunci publik K
publik
. Kemudian pengirim menandatangani dokumen M dengan memanggil algoritma sign sebagai
berikut : ρ ← signM, K
privat
untuk menghasilkan tanda tangan ρ. Pengirim kemudian mengirim M,ρ kepada
penerima. Penerima pada akhirnya memanggil algoritma verify sebagai berikut : terima
← verify M, ρ, K
publik
untuk memverifikasi tanda tangan ρ. Penerima menerima pasangan M,ρ jika nilai
terima adalah true.
Universitas Sumatera Utara
Proses tanda tangan digital digital signature dengan kunci asimetris dapat dilihat pada gambar 3.1.
Pengirim Penerima
Kunci Publik
Kunci privat
Gambar 3.1 Proses digital signature dengan kunci asimetris
Dalam perkembangannya, tanda tangan digital tidak lagi dibuat langsung dari pesan aslinya seperti yang diperlihatkan oleh gambar 3.1. Hal ini dikarenakan pesan
mungkin saja sangat panjang yang mengakibatkan tanda tangan digitalnya juga menjadi sangat panjang. Untuk itu digunakan fungsi hash hash function. Fungsi
hash bersifat satu arah, sehingga output dari fungsi ini tidak dapat dikembalikan ke bentuk inputnya lagi. Tanda tangan digital dibuat dari hasil fungsi hash pesan. Sifat
hash yang menunjukkan integritas data terdapat pada tanda tangan digital. Pembangkit
Kunci
Sign Verify
M, �
ρ Terima ?
M
Universitas Sumatera Utara
Kekuatan tanda tangan digital adalah bahwa setiap data mempunyai tanda tangannya sendiri. Artinya setiap tanda tangan adalah unik terhadap pesan dan
pasangan kunci yang digunakan. Ketika dua buah pesan ditandatangani dengan kunci yang sama, tanda tangan yang dihasilkan akan berbeda. Bahkan ketika dua orang
dengan kunci yang berbeda menandatangani pesan yang sama, tanda tangan yang dihasilkan akan berbeda. Sifat ini menunjukkan sifat otentikasi dan integritas data
pada pesan. Proses tanda tangan dan validasi ditunjukkan di bawah ini
Signer Verify
Publik Key
Privat Key
? =
Gambar 3.2 Proses pembentukan dan validasi tanda tangan digital
Message Message
Signature Message
Signature Message
Signature
Message Digest
Message Digest
Signature Message
Digest Fungsi Hash
Sign Verify
Fungsi Hash
Universitas Sumatera Utara
Tanda tangan digital berbentuk sepasang besar angka yang ditampilkan komputer sebagai string dari digit biner. Tanda tangan digital dihitung dengan
menggunakan sejumlah aturan dan sejumlah parameter sehingga identitas pemilik dan integritas data dapat diverifikasi. Pembuat tanda tangan menggunakan kunci privat
untuk membuat tanda tangan; sedangkan kunci publik, yang berkorespodensi dengan kunci privat namun tidak sama, digunakan untuk memverifikasi tanda tangan. Setiap
user memiliki sepasang kunci publik dan kunci privat. kunci publik diasumsikan diketahui public secara umum, sedangkan kunci privat tidak pernah disebar.
Algoritma tanda tangan digital Digital Signature AlgorithmDSA dapat dilihat sebagai variasi dari skema tanda tangan ELGamal.
Algoritma tanda tangan digital DSA menggunakan parameter sebagai berikut:
1. p adalah bilangan prima dengan panjang L bit, yang dalam hal ini
512 1024
L
dan L harus kelipatan 64. 2.
q bilangan prima 160 bit, merupakan faktor dari 1
p . Dengan kata lain
1 mod p
q
. 3.
1
mod
p q
g h
p
, yang dalam hal ini
1 h
p
sedemikian sehingga
1
mod 1
p q
h p
. 4.
Domain parameter adalah p, q, g.
Dari domain parameter p, q, g, maka dilakukan pembangkitan pasangan kunci privat dan kunci publik. Algoritma untuk membangkitkan kunci sebagai berikut:
1. Pilih bilangan acak x dengan ketentuan 1
1 x
q .
2. Hitung
mod
x
y g
p
. 3.
x adalah kunci privat dan y adalah kunci publik.
Universitas Sumatera Utara
Setelah membangkitkan pasangan kunci maka pesan M ditandatangani dengan algoritma sebagai berikut :
1. Ubah pesan M menjadi message digest dengan fungsi hash SHA.
2. Tentukan bilangan acak
1 1
k q
. 3.
Hitung
mod mod
k
r g
p q
. 4.
Hitung
1
mod s
k H M xr
q
. 5.
Tanda tangan digital dari pesan M adalah r dan s.
Algoritma untuk menverifikasi tanda tangan r dan s sebagai berikut: 1.
Periksa bahwa r dan s berada pada interval [1,
1 q
]. 2.
Hitung
1
mod w
s q
. 3.
Hitung
1
mod u
H M w q
dan
2
mod u
rw q
. 4.
Hitung
1 2
mod mod
u u
v q y
p q
. 5.
Jika v r maka tanda tangan digital valid, jika tidak maka tanda tangan digital
ditolak.
3.2 Analisis Algoritma Tanda Tangan Digital Berbasis Kriptografi Kurva Eliptik
Kriptografi kurva eliptik dapat dipakai untuk menandatangani suatu pesan karena kriptografi kurva eliptik termasuk sistem kriptografi kunci publik yang mendasarkan
keamanannya pada permasalahan matematika kurva eliptik. Proses tanda tangan digital menggunakan kriptografi kurva eliptik sama dengan tanda tangan digital
menggunakan algoritma tanda tangan digital Digital Signature AlgorithmDSA.
Pada algoritma tanda tangan digital menggunakan kriptografi kurva eliptik proses pembangkitan tanda tangan digital dan verifikasi tanda tangan sama dengan
algoritma tanda tangan digital Digital Signature AlgorithmDSA, yang membedakan adalah domain parameter yang digunakan dan proses pembangkitan kunci privat dan
kunci publik.
Universitas Sumatera Utara
Kekuatan kriptografi kurva eliptik tergantung dari pemilihan domain parameter yang digunakan. Pemilihan parameter ini dilakukan sedemikian sehingga
terhindar dari serangan serangan terhadap kekuatan kriptografi kurva eliptik miaslnya serangan Polhig-
Hellman dan serangan Pollard’s rho. Kriptografi kurva eliptik menggunakan masalah logaritma diskrit pada titik-titik kurva eliptik yang disebut
dengan masalah logaritma diskrit kurva eliptik Eliptic Curve Disctrete Logarithm Problem.
Algoritma tanda tangan digital berbasis kriptografi kurva eliptik mempunyai empat proses utama yaitu :
1. Pemilihan domain parameter.
2. Pembangkitan pasangan kunci.
3. Pembangkitan tanda tangan digital.
4. Verifikasi tanda tangan digital.
3.2.1 Domain Parameter Kurva Eliptik pada GF2
m
Tanda tangan digital berdasarkan kriptografi kurva eliptik menggunakan parameter yang berbeda dengan algoritma tanda tangan digital Digital Signature
AlgorithmDSA. Domain parameter kurva eliptik pada GF2
m
adalah m, a, b, G, n, h, fx. Domain parameter kurva eliptik
, , , , , , D
m a b G n h f x
dapat dilihat pada tabel 3.1.
Universitas Sumatera Utara
Tabel 3.1 Notasi yang digunakan pada domain parameter kurva eliptik
Notasi Keterangan
m Besarnya finite field GF2
m
dimana m integer dan m 1 fx
irreducible polynomial a dan b
Koefisien pada persaman kurva eliptik
2 3
2
:
m
E F y
xy x
ax b
,
g g
G x
y
Titik dasar
2
m
G E F
dimana
2
,
m
g g
x y
F
n Order dari titik G dengan
160
2 n
dan
4 2
m
n
h Kofaktor
2
m
h E F
n
dimana
2
m
E F
jumlah titik pada E
Ada dua cara untuk mendapatkan domain parameter yaitu dengan membangkitkan kurva eliptik E secara acak kemudian membangkitkan domain
parameter lalu dilakukan validasi untuk menjamin keamanan kurva eliptik. Cara lainnya adalah dengan menggunakan domain parameter yang mengacu pada standar
yang ada. Domain parameter jenis ini direkomendasikan salah satunya oleh NIST. NIST merekomendasikan finite field
2
m
F
yang digunakan yaitu
163 233
283 409
2 2
2 2
, ,
, F
F F
F
dan
571
2
F
.
Untuk menghindari serangan Polhig- Hellman dan serangan Pollard’s rho pada
permasalahan logaritma diskrit kurva eliptik maka nilai n harus
160
2 n
dan
4 2
m
n
. Berdasarkan teorema Hasse maka jumlah titik pada E yaitu
2
m
E F
berada pada interval 2
1 2 2 , 1 2 2
m m
m
q
.
Universitas Sumatera Utara
3.2.2 Pembangkitan Pasangan Kunci