Upload
dothuy
View
213
Download
0
Embed Size (px)
Citation preview
BAB 2
LANDASAN TEORI
2.1 Pengenalan Kriptografi
2.1.1 Definisi dan Sejarah
Kemajuan di bidang telekomunikasi dan komputer telah memungkinkan
seseorang untuk melakukan transaksi bisnis secara cashless, selain itu ia juga
dapat mengirimkan informasi kepada temannya secara on-line.
Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko bilamana
informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang
tidak berhak (unauthorized persons). Misalnya, informasi mengenai nomor kartu
kredit, bila informasi ini jatuh kepada orang-orang yang jahat maka pemilik kartu
kredit harus bersiap-siap terhadap melonjaknya tagihan kartu kreditnya.
Kriptografi adalah ilmu untuk mempelajari penulisan secara rahasia
dengan tujuan bahwa komunikasi dan data dapat dikodekan (encode/encrypt) dan
didekodekan (decode/decrypt) kembali untuk mencegah pihak-pihak lain
mengetahui isinya. Dengan menggunakan kode-kode dan aturan-aturan tertentu
dan metode lainnya hanya pihak yang berhak saja yang dapat mengetahui isi
pesan sebenarnya.
Sebelum tahun 1970-an, teknologi kriptografi digunakan terbatas hanya
untuk tujuan militer dan diplomatik. Akan tetapi kemudian bidang bisnis dan
perorangan mulai menyadari pentingnya melindungi informasi yang berharga.
terse
meru
data
deng
data
Pros
bentu
diseb
ciphe
dekri
deret
Kriptogra
embunyi dan
upakan prose
acak yang t
gan menerap
acak ini dap
Sumber
es untuk me
uk yang ham
but enkripsi
ertext. Prose
ipsi. Proses
Sumbe
Plaintext
tan bit-bit s
afi berasal
n grafia ya
es transform
tidak memili
pkan rumus m
pat diubah ke
data yang a
enyembunyik
mpir tidak da
i. Sebuah s
es untuk me
enkripsi dan
Gamer: http://sisi
t biasanya d
ebuah teks f
dari bahas
ang artinya
masi suatu dat
iki makna. G
matematika t
embali ke da
akan ditrans
kan isi sesun
apat dibaca t
sumber data
engembalika
n dekripsi da
mbar 2.1 Proinfo.files.wo
disingkat de
file, deretan
sa Yunani
sesuatu ya
ta yang mem
Gunanya unt
tertentu, yan
alam bentuk
sformasikan/
ngguhnya da
tanpa penget
a yang telah
an ciphertext
apat dilihat p
oses enkripsi ordpress.com
engan huruf
n digit-digit
yaitu krip
ang tertulis.
miliki makna
tuk menjaga
ng dengan tr
data semula
/dikodekan d
ari sebuah p
tahuan yang
h ditransfor
t ke plaintex
pada gambar
dan dekripsm/2007/02/kr
f P. Plainte
frekuensi su
to yang ar
Jadi kripto
a ke dalam b
a kerahasiaan
ransformasi b
a.
disebut plai
laintext ke d
cukup dan s
rmasikan di
xt disebut de
2.1 berikut
si riptograpi.JP
ext dapat b
uara, atau se
7
rtinya
ografi
entuk
n data
balik,
intext.
dalam
sesuai
isebut
engan
ini.
PG
erupa
ebuah
8
citra video. Selama data tersebut dapat diolah oleh computer, P adalah sebuah
data biner, jadi dapat disimpulkan bahwa P adalah sumber yang akan dikodekan.
Ciphertext disingkat dengan huruf C, merupakan sebuah data
biner sama seperti P. Besar file ini kadang-kadang sama besar dengan file asli,
tetapi dapat juga lebih besar dari file asli.
Fungsi enkripsi disingkat dengan huruf E, yang akan memproses
P untuk menghasilkan C, yang dinyatakan dengan
E (P) = C
Fungsi dekripsi disingkat dengan huruf D, yang akan memproses C
kembali ke P, yang dinyatakan dengan
D (C) = P
Maka keseluruhan proses enkripsi dan dekripsi dapat dinyatakan dengan
D (E(P)) = P
Pertama kali kriptografi digunakan dan diberi ide oleh empat kelompok,
yakni militer, korps diplomatik, diarist, dan orang yang sedang jatuh cinta. Dari
keempat kelompok orang tersebut, militer telah memainkan peranan yang paling
penting dan telah mengembangkan bidang ini. Di dalam organisasi militer,
pesan-pesan yang telah di-encode secara tradisional diberikan kepada pekerja
kode berupah rendah untuk selanjutnya dienkrip dan ditransmisikan. Tugas ini
diusahakan agar tidak dilakukan oleh spesialis yang elit. Kendala kesulitan dalam
peralihan yang cepat dari satu algoritma kriptografi ke algoritma lainnya
disebabkan diperlukannya pelatihan orang dalam jumlah banyak. Keadaan yang
bertolak-belakang ini telah membentuk model enkripsi.
9
Kriptografi mempunyai sebuah sejarah yang panjang dan menarik.
Penghargaan untuk referensi non-teknis terlengkap adalah The Codebreakers
oleh Kahn. Buku ini meliputi kriptografi dari penggunaannya yang pertama dan
terbatas oleh bangsa Mesir 4000 tahun yang lalu, hingga abad XX di mana
kriptografi memegang peranan penting sebagai akibat kedua perang dunia.
Diselesaikan pada tahun 1963, buku Kahn mencakup aspek-aspek sejarah yang
paling penting (pada waktu itu) pada perkembangan kriptografi. Para pengguna
utama adalah mereka yang berhubungan dengan militer, pelayanan diplomatik
dan pemerintahan secara umum. Kriptografi digunakan sebagai suatu alat untuk
melindungi rahasia dan strategi-strategi nasional.
Dalam sejarah perkembangannya, Julius Caesar dalam mengirimkan
pesan yang dibawa oleh hulubalangnya, sengaja mengacak pesan tersebut
sebelum diberikan kepada kurir. Hal ini dilakukan untuk menjaga kerahasiaan
pesan baik bagi kurir maupun bagi musuh jika kurir tertangkap di tengah jalan
oleh musuh. Apa yang dilakukan oleh Julius Caesar dianggap sebagai awal dari
kriptografi.
Sampai akhir perang dunia I, kriptografi merupakan disiplin ilmu
matematika yang spesial. Penelitian dalam bidang ini tidak pernah sampai
kepada umum, dan tidaklah mengherankan bahwa orang-orang tidak mengetahui
kegunaan praktisnya. Seiring dengan terjadinya Perang Dunia II, pihak militer
mulai menyadari manfaat yang besar dari penggunaan kriptografi, dan
kriptanalisis. Kriptografi memungkinkan komunikasi dalam saluran yang aman
(misalnya komunikasi radio gelombang panjang) dengan cara membuatnya
menjadi tidak mungkin untuk dimengerti musuh. Pada akhir Perang Dunia II,
10
kriptografi telah mencapai kemajuan yang pesat. Akan tetapi, karena kriptografi
telah menjadi bagian penting dalam komunikasi militer, kriptografi menjadi
sesuatu yang sangat rahasia.
Perkembangan komputer dan sistem komunikasi pada tahun 1960-an
mengakibatkan adanya kebutuhan pihak swasta akan alat untuk melindungi
informasi dalam bentuk digital dan untuk menyediakan layanan keamanan.
Dimulai dengan usaha Feistel di IBM pada awal tahun 1970-an dan mencapai
puncaknya pada tahun 1977 dengan pengadopsian sebagai Standar Pemrosesan
Informasi pemerintah Amerika Serikat bagi enkripsi informasi rahasia, DES,
Data Encryption Standard. DES adalah mekanisme kriptografi yang paling
terkenal dalam sejarah. Metode ini menjadi alat standar untuk mengamankan
electronic commerce bagi banyak institusi finansial di seluruh dunia. Sejarah
perkembangan kriptografi dapat dilihat pada tabel 2.1 berikut.
Tabel 2.1 Sejarah Perkembangan Kriptografi Sumber: http://www.informatika.org/~rinaldi/Kriptografi/2006-
2007/Makalah1/Makalah1-020.pdf
Tahun Keterangan
~ 1900 A.D. Pertama kali digunakannya teknik transformasi cyptography di
“tomb inscription”, merupakan penggunaan kriptografi yang
pertama kali diketahui.
~ 475 A.D. Sparta menggunakan kriptografi untuk komunikasi dan juga
merancang alat untuk mengenkripsi (skytale) yang menghasilkan
transposition cipher.
~ 350 A.D. “Aenas The Tactician” mengeluarkan tulisan pertama mengenai
keamanan komunikasi dan kriptografi.
11
~ 60 A.D. Julius Caesar menjadi orang yang pertama kali yang diketahui
menggunakan substitution cipher.
1412 “Treatise” tertua yang diketahui dalam kriptanalis yang diterbitkan
oleh Alkalkas Handi (Mesir).
1917 Edward Hugh Hibern mengembangkan mesin motor yang pertama.
1971 IBM mengembangkan teknik enkripsi Lucifer.
1975 DES diumumkan (disetujui tahun 1977).
1976 Presentasi terbuka pertama tentang konsep public key oleh Diffie
dan Helman.
1977 Merkle mengembangkan algoritma knapsack dan memberikan
hadiah $100 bagi yang dapat memecahkan kuncinya (algoritma
dengan satu kali pengulangan).
Algoritma Rivest – Shamir – Aldeman (RSA) diumumkan kepada
umum.
2.1.2 Pengamanan Data Sederhana
Metode paling sederhana untuk pengamanan data ialah Caesar’s Shift.
Metode ini akan menyusun karakter-karakter di dalam plaintext berdasarkan
suatu aturan tertentu. Misalnya:
P = kriptografi
E (P) = C = pwnuytlwfkn
di mana ciphertext diperoleh dengan geser 5 kali ke kanan terhadap
plaintext.
D (C) = D(E(P)) = P = kriptografi
12
di mana plaintext diperoleh dengan geser 5 kali ke kiri terhadap
ciphertext.
Dalam Caesar’s Shift ada beberapa sistem yang dapat digunakan.
1. Sistem Cipher Pagar (Rail-fence Cipher System)
Sistem ini memiliki dua cara dalam proses ciphering-nya, yang pertama
adalah membagi teks menjadi 2 bagian dan menyusunnya menjadi dua baris.
Kemudian teks tersebut disusun kembali menurut urutan kolom (dari kolom
sebelah kiri ke kolom sebelah kanan). Referensinya dapat dilihat pada gambar
2.2.
Contoh:
Plaintext: TRANSFORMASI CIPHER
Gambar 2.2 Proses Cipher Pagar menurut kolom Sumber: http://www.informatika.org/~rinaldi/Kriptografi/2006-
2007/Makalah1/Makalah1-039.pdf
Ciphertext: TARSA INCSI FPOHR EMR
Cara yang kedua adalah dengan menyusun pesan dari kolom kiri ke
kanan dalam dua baris kemudian disusun kembali menjadi satu baris (dari baris
paling atas ke baris paling bawah). Referensinya dapat dilihat pada gambar 2.3.
Contoh:
13
Plaintext: TRANSFORMASI CIPHER
Gambar 2.3 Proses Cipher Pagar menurut baris Sumber: http://www.informatika.org/~rinaldi/Kriptografi/2006-
2007/Makalah1/Makalah1-039.pdf
Ciphertext: TASOM SCPER NFRAI IHR
2. Sistem Cipher Lintasan (Route Cipher System)
Dalam sistem ini teks diatur ke dalam suatu matriks, kemudian karakter-
karakter dalam matriks disusun kembali berdasaran urutan suatu lintasan yang
ditetapkan seperti lintasan kolom dan lintasan spiral.
Contoh:
Plaintext: ENKRIPSI UNTUK KEAMANAN DATA
Disusun dalam matriks :
E N K R I
P S I U N
T U K K E
A M A N A
N D A T A
Dengan lintasan kolom didapat gambar 2.4.
14
Ciphertext: EPTAN NSUMD KIKAA RUKNT INEAA
E N K R I
P S I U N
T U K K E
A M A N A
N D A T A
Gambar 2.4 Proses Cipher Lintasan Kolom Sumber: http://www.informatika.org/~rinaldi/Kriptografi/2006-
2007/Makalah1/Makalah1-039.pdf
Dengan lintasan spiral didapat gambar 2.5.
Ciphertext: EPTAN DATAA ENIRK NSUMA NKUIK
E N K R I
P S I U N
T U K K E
A M A N A
N D A T A
Gambar 2.5 Proses Cipher Lintasan spiral Sumber: http://www.informatika.org/~rinaldi/Kriptografi/2006-
2007/Makalah1/Makalah1-039.pdf
Dalam sistem ini, ukuran matriks harus diketahui dan jika ada banyak
karakter yang tidak memenuhi jumlah sel matriks maka sisa sel matriks yang
kosong diisi dengan karakter null.
15
2.1.3 Pemakaian/Aplikasi
Kriptografi sangat berguna sekali dan terdapat banyak aplikasi yang
memanfaatkannya saat ini. Beberapa aplikasi yang lebih sederhana adalah
sebagai berikut.
1. Komunikasi yang aman
Dengan menggunakan kriptografi dapat dilakukan komunikasi dengan
aman dengan cara mengenkripsi pesan-pesan yang dikirim antar user. Orang
ketiga mungkin saja dapat mengambil pesan mereka, tetapi ia harus mencari
pesan sebenarnya yang terkandung di dalamnya sehingga membutuhkan waktu
yang cukup lama. Setelah orang ketiga dapat memecahkan isi pesan, pesan
tersebut telah tidak bermanfaat lagi.
2. Identifikasi dan Autentikasi
Identifikasi adalah proses verifikasi identitas seseorang atau sesuatu.
Contoh: ketika kartu dimasukkan ke dalam mesin ATM, mesin tersebut akan
meminta pengguna kartu untuk memasukkan PIN. Jika PIN yang dimasukkan
benar, mesin mengidentifiasikan orang tersebut benar sebagai pemilik kartu
sehingga kepadanya diberikan akses.
Autentikasi mirip dengan identifikasi, karena keduanya memberikan
kesempatan untuk akses ke dalam sumber daya tertentu tetapi autentikasi
memiliki cakupan lebih luas karena tidak perlu mengidentifikasikan orang atau
entity. Autentikasi hanya menentukan apakah orang tersebut atau entity memiliki
hak terhadap apa saja yang menjadi pertanyaan.
16
3. Secret Sharing
Secret sharing memungkinkan pendistribusian satu rahasia antar
sekumpulan orang yang saling percaya.
4. Electronic Commerce
Beberapa tahun terakhir ini telah berkembang bisnis yang dilakukan
melalui internet. Pada saat terjadi pembelian maka komputer mengenkripsikan
informasi dan mengirimnya ke dalam internet, informasi tersebut sulit dipahami
oleh orang ketiga. Server web akan menerima informasi yang sudah dienkripsi
kemudian melakukan dekripsi, dan melanjutkan proses penjualan tanpa ada
kecurigaan bahwa nomor kartu kredit yang digunakan jatuh kepada orang yang
salah. Dengan banyaknya bisnis yang dilakukan melalui internet, kebutuhan
proteksi atas pemalsuan, pencurian, dan korupsi atas informasi vital menjadi
sangat penting.
2.2 Jenis-Jenis Kriptografi
2.2.1 Kunci Simetris
Ini adalah jenis kriptografi yang paling umum digunakan. Kunci untuk
mengenkripsi pesan sama dengan kunci untuk mendekripsi pesan yang telah
terenkripsi. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang
sama persis. Siapapun yang memiliki kunci tersebut – termasuk pihak-pihak
yang tidak diinginkan – dapat membuat dan membongkar rahasia ciphertext.
Masalah yang paling jelas dalam hal ini bukanlah masalah pengiriman
ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris
terse
terke
prose
kript
kelem
1. Masa
mend
bahw
dapa
ini su
2. Masa
dibut
sistem
strea
ebut kepada
enal adalah D
http://lib
Kelebiha
es enkripsi d
tografi lainn
mahan dari k
alah distrib
dekripsi) ter
wa jaringan
at ditebak ole
udah tidak a
alah efisien
tuhkan n(n-1
m ini tidak e
Dua meto
am cipher.
pihak yang
DES (Data E
Gam
rary.adisang1%2
an kriptograf
dan dekripsi
nya. Kriptogr
kriptografi k
usi kunci.
rsebut bisa d
internet ben
eh pihak ket
aman lagi.
si jumlah k
1)/2 kunci, s
efisien.
ode paling u
g diinginkan
Encryption S
mbar 2.6 PenSum
ggoro.or.id/S20(cripto)_fil
fi kunci sim
i yang jauh
rafi kunci si
kunci simetri
Bagaimana
dengan aman
nar-benar tid
tiga yang tid
kunci. Jika
sehingga untu
umum untuk
n. Contoh al
Standard) da
nggunaan Kumber: /Security/Trales/images00
metri (kunci r
lebih cepat
imetri juga m
i adalah seba
caranya a
n sampai ke
dak aman. Ji
dak bertanggu
ada penggu
uk jumlah p
k kunci sime
lgoritma kun
an RC-4.
unci simetris
ansparan%202.gif
rahasia) ini
dibandingka
memiliki kel
agai berikut.
agar kunci
penerima. P
ika kunci sa
ungjawab, m
una sebanya
engguna yan
etris adalah
nci simetris
s
0Digisec-
adalah kece
an dengan s
lemahan. Ad
pembuka (u
Padahal dike
ampai hilang
maka kriptos
ak n, maka
ng sangat ba
block ciphe
17
yang
epatan
sistem
dapun
untuk
etahui
g atau
sistem
akan
anyak,
er dan
18
A. Block Cipher
Block cipher adalah bentuk algoritma enkripsi kunci simetri yang
mentransformasikan satu blok data tertentu dari plaintext (unencrypted text) ke
dalam satu blok data ciphertext (encrypted text) dengan panjang yang sama.
Transformasi ini berlangsung melalui penggunaan kunci rahasia yang disediakan
oleh user. Dekripsi dilakukan dengan menggunakan transformasi sebaliknya
terhadap blok ciphertext dengan kunci yang sama. Panjang blok tertentu disebut
ukuran blok (block size). Karena blok plaintext yang berbeda dipetakan ke blok
ciphertext yang berbeda (untuk memungkinkan dekripsi yang unik), suatu block
cipher secara efektif menyediakan satu permutasi (korespondensi satu ke
banyak) dari kumpulan pesan yang mungkin. Permutasi berpengaruh pada saat
enkripsi tertentu yang sudah pasti rahasia, karena permutasi tersebut adalah
fungsi dari kunci rahasia. Contoh algoritma block cipher adalah metode enkripsi
DES, RC4 dan GOST.
B. Stream Cipher
Stream cipher adalah jenis algoritma enkripsi simetri. Stream ciphers
dapat dibuat sangat cepat, jauh lebih cepat dibandingkan dengan algoritma block
cipher yang manapun. Sementara algoritma block cipher secara umum
digunakan untuk unit plaintext yang besar sedangkan stream cipher digunakan
untuk blok data yang lebih kecil, biasanya ukuran bit. Proses enkripsi terhadap
plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext
yang sama jika kunci yang sama digunakan. Dengan stream cipher, transformasi
19
dari unit plaintext yang lebih kecil ini berbeda antara satu dengan lainnya,
tergantung pada saat unit tersebut ditemukan selama proses enkripsi.
Satu stream cipher menghasilkan apa yang disebut suatu keystream
(suatu barisan bit yang digunakan sebagai kunci). Proses enkripsi dicapai dengan
menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise
XOR. Pembentukan keystream dapat dibuat independen terhadap plaintext dan
ciphertext, menghasilkan apa yang disebut dengan synchronous stream cipher.
Hal ini dapat dibuat tergantung pada data dan enkripsinya, dalam hal mana
stream cipher disebut sebagai self-synchronizing. Kebanyakan bentuk stream
cipher adalah synchronous stream ciphers.
Konsentrasi dalam stream ciphers pada umumnya berkaitan dengan sifat-
sifat teoritis yang menarik dari one-time pad. Suatu one-time pad, kadang-
kadang disebut Vernam cipher, menggunakan sebuah string dari bit yang
dihasilkan murni secara acak (random). Keystream memiliki panjang sama
dengan pesan plaintext dan string acak (random) digabungkan dengan
menggunakan bitwise XOR dengan plaintext untuk menghasilkan ciphertext.
Karena keystream seluruhnya adalah random, walaupun dengan sumber daya
komputasi tak terbatas seseorang hanya dapat menduga plaintext jika dia melihat
ciphertext. Metode cipher seperti ini disebut memberikan kerahasiaan yang
sempurna (perfect secrecy), dan analisis terhadap one-time pad dipandang
sebagai salah satu landasan kriptografi modern. Sementara one-time pad yang
digunakan semasa perang melalui saluran diplomatik membutuhkan tingkat
keamanan yang sangat tinggi. Kunci rahasia (yang hanya dapat digunakan satu
kali) dianggap rahasia sepanjang pesan memperkenalkan masalah manajemen
20
kunci yang rumit. Untuk keamanan sempurna, one-time pad secara umum tidak
praktis.
Stream ciphers dikembangkan sebagai satu perkiraan terhadap tindakan
dari one-time pad. Stream cipher modern tidak mampu menyediakan tingkat
keamanan one-time pad yang memadai secara teori, tetapi setidaknya lebih
praktis.
2.2.2 Kunci Asimetris
Pada pertengahan tahun 70-an Whitfield Diffie dan Martin Hellman
menemukan teknik enkripsi asimetris yang merevolusi dunia kriptografi. Kunci
asimetris adalah pasangan kunci-kunci kriptografi yang salah satunya
dipergunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua
orang yang mendapatkan kunci publik dapat menggunakannya untuk
mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki
rahasia tertentu, dalam hal ini kunci privat, untuk melakukan pembongkaran
terhadap sandi yang dikirim untuknya.
Dengan cara seperti ini, jika Anto mengirim pesan untuk Badu, Anto
dapat merasa yakin bahwa pesan tersebut hanya dapat dibaca oleh Badu, karena
hanya Badu yang dapat melakukan dekripsi dengan kunci privatnya. Tentunya
Anto harus memiliki kunci publik Badu untuk melakukan enkripsi. Anto bisa
mendapatkannya dari Badu, ataupun dari pihak ketiga seperti Tari.
21
Gambar 2.7 Penggunaan Kunci Asimetris Sumber:
http://library.adisanggoro.or.id/Security/Transparan%20Digisec-1%20(cripto)_files/images004.gif
Teknik enkripsi asimetris ini jauh lebih lambat daripada enkripsi dengan
kunci simetris. Oleh karena itu, biasanya bukanlah pesan itu sendiri yang
disandikan dengan kunci asimetris, namun hanya kunci simetrislah yang
disandikan dengan kunci asimetris. Pesannya dikirim setelah disandikan dengan
kunci simetris tadi. Contoh algoritma terkenal yang menggunakan kunci
asimetris adalah RSA (merupakan singkatan penemunya yakni Rivest, Shamir
dan Adleman).
2.2.3 Fungsi Hash Satu Arah
Bagaimana jika Anto mengirimkan surat pembayaran kepada Badu
sebesar 1 juta rupiah, namun di tengah jalan Maman (yang ternyata berhasil
membobol sandi) membubuhkan angka 0 lagi dibelakangnya sehingga menjadi
10 juta rupiah. Untuk Tari, pesan tersebut harus utuh, tidak diubah-ubah oleh
siapapun, bahkan bukan hanya oleh Maman, namun juga termasuk oleh Anto,
Badu dan gangguan pada transmisi pesan (noise). Hal ini dapat dilakukan dengan
fungsi hash satu arah (one-way hash function), yang terkadang disebut sidik jari
(fingerprint), hash, message integrity check, atau manipulation detection code.
22
Saat Anto hendak mengirimkan pesannya, dia harus membuat sidik jari
dari pesan yang akan dikirim untuk Badu. Pesan (yang besarnya dapat bervariasi)
yang akan di-hash disebut pre-image, sedangkan output-nya yang memiliki
ukurannya tetap, disebut hash-value (nilai hash). Kemudian, melalui saluran
komunikasi yang aman, dia mengirimkan sidik jarinya kepada Badu. Setelah
Badu menerima pesan si Anto – tidak peduli lewat saluran komunikasi yang
mana – Badu kemudian juga membuat sidik jari dari pesan yang telah
diterimanya dari Anto. Kemudian Badu membandingkan sidik jari yang
dibuatnya dengan sidik jari yang diterimanya dari Anto. Jika kedua sidik jari itu
identik, maka Badu dapat yakin bahwa pesan itu utuh tidak diubah-ubah sejak
dibuatkan sidik jari yang diterima Badu. Jika pesan pembayaran 1 juta rupiah itu
diubah menjadi 10 juta rupiah, tentunya akan menghasilkan nilai hash yang
berbeda.
Gambar 2.8 Fungsi hash satu arah sebagai sidik jari pesan Sumber:
http://library.adisanggoro.or.id/Security/Transparan%20Digisec-1%20(cripto)_files/images006.gif
Fungsi hash untuk membuat sidik jari tersebut dapat diketahui oleh
siapapun, tak terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen
atau pesan tertentu. Tidak ada algoritma rahasia dan umumnya tidak ada pula
kunci rahasia.
23
Jaminan dari keamanan sidik jari dimulai dari kenyataan bahwa hampir
tidak ada dua pre-image yang memiliki hash-value yang sama. Inilah yang
disebut dengan sifat collision free dari suatu fungsi hash yang baik. Selain itu,
sangat sulit untuk membuat suatu pre-image jika hanya diketahui hashvalue-nya
saja. Contoh algoritma fungsi hash satu arah adalah MD-5 dan SHA. Message
authentication code (MAC) adalah salah satu variasi dari fungsi hash satu arah,
hanya saja selain pre-image, sebuah kunci rahasia juga menjadi input bagi fungsi
MAC.
2.2.4 Tanda Tangan Digital
Tanda tangan digital (digital signature) adalah suatu mekanisme
otentikasi yang memungkinkan pembuat pesan menambahkan sebuah kode yang
bertindak sebagai tanda tangannya. Tanda tangan dihasilkan berdasarkan pesan
yang ingin ditandatangani dan berubah-ubah sesuai dengan pesan. Tanda tangan
digital dikirimkan bersama-sama dengan pesan kepada penerima.
Tanda tangan digital memungkinkan penerima informasi untuk menguji
terlebih dahulu keaslian informasi yang didapat dan juga untuk meyakinkan
bahwa data yang diterimanya itu dalam keadaan utuh. Oleh karena itu, tanda
tangan digital kunci publik (public key digital signature) menyediakan layanan
authentication (keaslian) dan data integrity (keutuhan data). Selan itu, tanda
tangan digital juga menyediakan layanan non-repudiation, yang artinya
melindungi pengirim dari klaim yang menyatakan bahwa dia telah mengirim
informasi padahal tidak.
24
Tanda tangan digital memberikan pelayanan yang tujuannya sama dengan
tanda tangan (berupa tulisan tangan biasa). Tetapi, bagaimanapun juga, tanda
tangan berupa tulisan tangan relatif lebih mudah ditiru/dipalsukan oleh orang
lain. Sedangkan, tanda tangan digital hampir tidak mungkin dipalsukan, bahkan
dapat berfungsi ganda, yaitu sekaligus dapat memperlihatkan sekilas isi
informasi mengenai identitas yang menandatangani.
Bahkan, beberapa orang lebih cenderung menggunakan tanda tangan
digital daripada menggunakan enkripsi biasa. Contohnya, seseorang mungkin
tidak peduli jika setiap orang mengetahui bahwa dia telah mentransfer uang
sejumlah satu milyar ke rekening lain, tetapi orang tersebut pasti ingin tahu dan
lebih peduli apakah teller bank tersebut benar-benar asli, benar-benar ada dan
benar-benar sah. Perasaan was-was akan teller gadungan dalam sistem transaksi
lewat Internet sangat wajar terjadi.
Pada konsep yang telah diketahui sebelumnya, proses enkripsi informasi
biasanya menggunakan kunci publik. Tetapi pada konsep tanda tangan digital,
informasi justru dibubuhi tanda tangan digital (dienkripsi) dengan kunci rahasia
yang dimiliki sumber. Apabila informasi tadi bisa diverifikasi (didekripsi)
dengan kunci publik sumber yang telah tersebar, ini berarti bahwa informasi
tersebut adalah benar-benar asli dari sumber. Konsep tanda tangan digital dapat
dilihat pada gambar 2.9 berikut.
25
Gambar 2.9 Konsep tanda tangan digital Sumber: http://sisinfo.files.wordpress.com/2007/05/kriptograpi.JPG
Perhatikan illustrasi berikut. Badu memang dapat merasa yakin bahwa
sidik jari yang datang bersama pesan yang diterimanya memang berkorelasi.
Namun bagaimana Badu dapat merasa yakin bahwa pesan itu berasal dari Anto?
Bisa saja saat dikirimkan oleh Anto melalui saluran komunikasi yang tidak
aman, pesan tersebut diambil oleh Maman. Maman kemudian mengganti isi
pesan tadi, dan membuat lagi sidik jari dari pesan yang baru diubahnya itu. Lalu,
Maman mengirimkan lagi pesan beserta sidik jarinya itu kepada Badu, seolah-
olah dari Anto.
Untuk mencegah pemalsuan, Anto membubuhkan tanda tangannya pada
pesan tersebut. Dalam dunia elektronik, Anto membubuhkan tanda tangan
digitalnya pada pesan yang akan dikirimkan untuk Badu sehingga Badu dapat
merasa yakin bahwa pesan itu memang dikirim oleh Anto.
Sifat yang diinginkan dari tanda tangan digital adalah sebagai berikut.
1. Tanda tangan itu asli (otentik), tidak mudah ditulis/ditiru oleh orang lain. Pesan
dan tanda tangan pesan tersebut juga dapat menjadi barang bukti, sehingga
26
penandatangan tak bisa menyangkal bahwa dulu ia tidak pernah
menandatanganinya.
2. Tanda tangan itu hanya sah untuk dokumen (pesan) itu saja. Tanda tangan itu
tidak bisa dipindahkan dari suatu dokumen ke dokumen lainnya. Ini juga berarti
bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan tersebut
tidak lagi sah.
3. Tanda tangan itu dapat diperiksa dengan mudah.
4. Tanda tangan itu dapat diperiksa oleh pihak-pihak yang belum pernah bertemu
dengan penandatangan.
5. Tanda tangan itu juga sah untuk copy dari dokumen yang sama persis.
2.3 Manajemen Kunci
Kekuatan sistem kriptografi secara total bergantung pada keamanan
kunci. Kunci perlu dilindungi selama fase daur hidupnya. Daur hidup kunci
dimulai dari pembangkitan kunci (generation) sampai kunci tidak diperlukan lagi
untuk kemudian dihancurkan (destruction). Secara garis besar, daur hidup kunci
digambarkan pada Gambar 2.10 sebagai berikut.
27
Generation
Usage
Storage
Distribution
Change
Destruction
Gambar 2.10 Daur hidup kunci Sumber: http://sisinfo.files.wordpress.com/2007/08/kriptograpi.JPG
Tujuan manajemen kunci adalah menjaga keamanan dan integritas kunci
pada semua fase di dalam daur hidupnya. Pada umumnya setiap kunci akhirnya
diganti dengan kunci lain. Jadi, keseluruhan fase membentuk siklus (lingkaran)
karena penghancuran kunci biasanya diikuti dengan penggantiannya dengan
kunci baru (digambarkan dengan garis putus-putus). Manajemen kunci yang
dibahas difokuskan pada algoritma kriptografi simetri karena manajemen kunci
untuk algoritma kunci-publik sangat berbeda dengan algoritma simetri.
2.3.1 Pembangkitan Kunci (Key Generation)
Pembangkitan kunci pada algoritma simetri jauh lebih mudah daripada
pembangkitan kunci pada algoritma kunci-publik. Karena kunci simetri
umumnya rangkaian karakter, maka setiap pengguna dapat membangkitkan
kuncinya sendiri.
Masalah utama yang muncul pada pembangkitan kunci adalah bagaimana
membuat kunci yang tidak dapat diprediksi. Metode yang dapat digunakan untuk
28
menjawab hal ini adalah dengan teknik manual (misalnya pelemparan
koin/dadu), pembangkitan dari data pribadi (misalnya PIN), atau menggunakan
pembangkit bilangan acak.
Pada algoritma kunci-publik, pembangkitan kunci merupakan masalah
tersendiri, karena pembangkitan kunci membutuhkan perhitungan matematis
yang rumit. Selain itu, pembangkitan bilangan prima yang besar juga dibutuhkan
untuk membentuk kunci.
Oleh karena itu, pada algoritma kunci-publik dibutuhkan program khusus
untuk membangkitkan kunci. Masalah yang timbul di sini adalah kepercayaan
pengguna terhadap program tersebut. Pada RSA misalnya, bila program hanya
dapat membangkitkan bilangan prima yang terbatas, maka pihak lawan dapat
membangkitkan sendiri bilangan-bilangan prima yang terbatas itu dan
menggunakannya sebagai faktor dari salah satu parameter RSA.
2.3.2 Penyebaran Kunci (Key Distribution)
Jika pengguna menggunakan kunci untuk melindungi informasi yang
disimpan di dalam storage, maka tidak ada kebutuhan untuk menyebarkan kunci.
Tetapi, untuk kebutuhan komunikasi secara aman, maka diperlukan kebutuhan
untuk mengirimkan kunci.
Protokol pertukaran kunci dengan menggunakan algoritma kunci-publik
dapat digunakan untuk mendistribusikan kunci.
29
2.3.3 Penyimpanan Kunci (Key Storage)
Kunci disimpan di tempat yang aman yang tidak memungkinkan pihak
lawan mengaksesnya. Oleh karena itu, penyimpanan kunci mungkin memerlukan
perlindungan secara fisik (misalnya disimpan di dalam lemari besi). Alternatif
lain, kunci dapat disimpan di dalam smart card yang hanya dapat dibaca dengan
menggunakan kode rahasia.
Kunci sebaiknya disimpan tidak dalam bentuk jelas. Ada dua solusi
alternatif untuk masalah ini.
1. Kunci disimpan dengan mengenkripsinya dengan menggunakan kunci lain.
Konsep ini mengarah pada konsep key hierarchy, yang dalam hal ini setiap
kunci di dalam hirarkhi digunakan untuk melindungi kunci di bawahnya.
2. Kunci dipecah menjadi beberapa komponen, setiap komponen disimpan di
tempat terpisah. Jika kunci akan digunakan, maka setiap komponen
direkonstruksi kembali.
Untuk solusi no-2, misalkan kunci K dibagi menjadi dua komponen, K1
dan K2. Membagi dua langsung K sedemikian sehingga setengah bagian pertama
menjadi K1 dan setengah bagian sisanya menjadi K2 tidak dianjurkan, karena
memungkinkan pihak lawan menemukan K jika ia hanya mengetahui salah satu
dari K1 dan K2. Misalkan K panjangnya 64 bit, dan lawan mengetahui K1, maka K
dapat ditentukan dengan hanya 232 percobaaan untuk menemukan K2 secara
exhaustive search (lebih sedikit dibandingkan 264 percobaan).
Solusi pemecahan yang lebih baik adalah membentuk kunci K dari K1 dan
K2 sedemikian sehingga K = K1 ⊕ K2. Dalam hal ini, ukuran K1 dan K2 sama
30
dengan ukuran K, sehingga jika salah satu dari komponen K1 atau K2 diketahui,
maka K relatif lebih sukar ditentukan.
2.3.4 Penggunaan Kunci (Key Usage)
Setiap kunci digunakan sesuai tujuannya. Misalnya ada kunci yang
digunakan untuk mengenkripsi pesan, dan ada kunci yang digunakan untuk
mengenkripsi kunci lainnya. Supaya setiap kunci mempunyai penggunaan yang
unik, maka perlu diberi label pada setiap kunci, yang dalam hal ini label
menspesifikasikan penggunaan kunci. Misalnya, label tersebut
menspesifikasikan ‘kunci untuk mengenkripsi data’, ‘kunci untuk mengenkripsi
kunci’, ‘kunci untuk pembangkitan bilangan acak’, dan sebagainya.
Untuk algoritma kunci-publik, pengguna perlu memberi label untuk dua
pasang kunci yang setiap pasang terdiri dari kunci publik dan kunci rahasia. Satu
pasang kunci untuk enkripsi dan satu pasang lagi untuk sidik digital.
2.3.5 Perubahan Kunci (Key Change)
Kunci sebaiknya diubah secara periodik dan teratur. Sistem kriptografi
harus mempunyai kemampuan untuk mengubah kunci. Kunci diubah secara
teratur untuk membatasi lama keberadaanya dan mengurangi nilainya dimata
penyerang.
Pada sistem EFTPOS (Electronic Funds Transfer at Point of Sale), kunci
diubah setiap kali setelah selesai satu transaksi. Tidak ada aturan seberapa sering
kunci seharusnya diubah. Tetapi cukup jelas dimengerti bahwa setiap kunci
31
seharusnya diubah jauh sebelum ia dapat ditemukan dengan cara exhaustive
search.
2.3.6 Penghancuran Kunci (Key Destruction)
Kunci yang tidak dibutuhkan lagi seharusnya dihancurkan dengan cara
yang aman. Jika kunci dicatat pada media kertas, maka cara penghancurannya
misalnya menggunakan alat pemotong kertas (crosscut), membakarnya, atau
menguburnya.
Jika kunci disimpan di dalam media elektronik (seperti CD), maka cara
penghancurannya bisa dengan menghapusnya atau menimpanya (overwritten)
sedemikian sehingga tidak meninggalkan jejak yang bisa dilacak oleh penyerang.
Kunci yang yang disimpan pada material lain dihancurkan sedemikian rupa
sehingga ia tidak mungkin ditemukan kembali secara fisik maupun secara
elektronik.
2.4 Landasan Matematis
2.4.1 Aritmatika Modular
Aritmatika modular merupakan operasi matematika yang banyak
diimplementasikan pada metode kriptografi. Pada metode tanda tangan digital
Ong-schnorr shamir, operasi aritmatika modular yang dipakai adalah operasi
modulo biasa yang menghasilkan sisa bagi dari dua bilangan. Operasi modulo ini
melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit pada komputer.
32
Contoh:
(18526)2 mod (22) = 343212676 mod 22 = 4
2.4.2 Algoritma Euclidean untuk GCD (Greatest Common Divisor)
Algoritma ini digunakan untuk mencari GCD dari 2 buah bilangan. Jika
kedua bilangan tersebut relatif prima satu dengan lainnya maka hasil GCD-nya
harus bernilai 1 jika hasil GCD tidak bernilai 1 maka kedua bilangan tersebut
tidak saling relatif prima. Algoritma untuk GCD adalah sebagai berikut.
Function GCD(A As Double, B As Double) As Double P = A Q = B While Q <> 0 R = P Mod Q P = Q Q = R Wend GCD = P End Function
2.4.3 Pembulatan Angka
Perhitungan dalam metode tanda tangan digital Ong-schnorr shamir akan
menghasilkan desimal dalam jumlah yang besar. Karenanya, bilangan-bilangan
perlu dibatasi jumlah desimalnya atau dibulatkan. Aturan pembulatan yang
dipakai adalah sebagai berikut.
Aturan 1: Jika angka terkiri dari yang harus dihilangkan bernilai 4 atau
kurang, maka angka terkanan dari yang mendahuluinya tidak berubah.
Contoh pembulatan hingga 5 desimal di belakang koma adalah sebagai
berikut.
1000,376421 dibulatkan menjadi 1000,37642.
33
1000,376422 dibulatkan menjadi 1000,37642.
1000,376423 dibulatkan menjadi 1000,37642.
1000,376424 dibulatkan menjadi 1000,37642. Angka yang harus
dihilangkan adalah 4 (bernilai 4 atau kurang). Karenanya, angka 4 dibuang dan
angka terkanan yang mendahuluinya, yaitu angka 2 tidak berubah.
Aturan 2: Jika angka terkiri dari yang harus dihilangkan bernilai lebih
dari 5 atau 5 diikuti oleh angka bukan nol, maka angka terkanan dari yang
mendahuluinya bertambah dengan satu.
Contoh pembulatan hingga 5 desimal di belakang koma adalah sebagai
berikut.
1000,3764251 dibulatkan menjadi 1000,37643. Angka yang harus
dihilangkan adalah 51 (bernilai 5 dan diikuti oleh angka bukan nol). Karenanya,
angka 51 dibuang dan angka terkanan yang mendahuluinya, yaitu angka 2
bertambah satu menjadi 3.
1000,376426 dibulatkan menjadi 1000,37643.
1000,376427 dibulatkan menjadi 1000,37643.
1000,376428 dibulatkan menjadi 1000,37643.
1000,376429 dibulatkan menjadi 1000,37643. Angka yang harus
dihilangkan adalah 9 (bernilai lebih dari 5). Karenanya, angka 9 dibuang dan
angka terkanan yang mendahuluinya, yaitu angka 2 bertambah satu menjadi 3.
Aturan 3 : Jika angka terkiri dari yang harus dihilangkan bernilai hanya
5 atau 5 yang diikuti oleh angka – angka nol belaka, maka angka terkanan dari
yang mendahuluinya tetap jika genap, dan tambah satu jika ganjil.
34
Contoh pembulatan hingga 5 desimal di belakang koma adalah sebagai
berikut.
1000,376425 dibulatkan menjadi 1000,37642. Angka yang harus
dihilangkan adalah 5 (bernilai hanya 5). Karenanya, angka 5 dibuang dan angka
terkanan yang mendahuluinya, yaitu angka 2 tidak berubah (karena angka 2
merupakan bilangan genap).
1000,376475 dibulatkan menjadi 1000,37648. Angka yang harus
dihilangkan adalah 5 (bernilai hanya 5). Karenanya, angka 5 dibuang dan angka
terkanan yang mendahuluinya, yaitu angka 7 bertambah satu menjadi 8 (karena
angka 7 merupakan bilangan ganjil).
Aturan pembulatan ini sesuai dengan syntax visual basic yang digunakan
untuk pembulatan, yaitu ‘round’.
2.5 Ong-schnorr shamir Scheme
Skema Ong-schnorr shamir merupakan salah satu skema tanda tangan
digital yang terdapat dalam ilmu kriptografi. Skema tanda tangan digital Ong-
schnorr shamir diciptakan oleh H.Ong, C.P.Schnorr dan A.Shamir dan ditulis
dalam buku mereka yang berjudul “An Efficient Signature Scheme Based on
Polynomial Equations” pada halaman 208 sampai 216. Buku ini dirilis untuk
publik pada tahun 1984.
Selain skema tanda tangan digital, Ong-schnorr shamir juga memiliki
skema subliminal channel (saluran tersembunyi). Skema ini diciptakan oleh
Gustavus Simmons dan ditulis dalam bukunya yang berjudul “The Prisoner’s
Problem and the Subliminal Channel” pada halaman 51 sampai halaman 67 pada
35
tahun 1984, “The Subliminal Channel and Digital Signatures” pada halaman 364
sampai halaman 378 pada tahun 1985 dan “A Secure Subliminal Channel” pada
halaman 33 sampai halaman 41 pada tahun 1986.
2.5.1 Ong-schnorr shamir Digital Signature Scheme
Bob mengirimkan pesan tidak terenkripsi kepada Alice dan Alice
menerima pesan dari Bob dengan baik.
o Permasalahan: Apakah Alice dapat memverifikasi pesan dan tanda tangan digital
Bob untuk memastikan keaslian dan keutuhan pesan?
o Penyelesaian: Alice dan Bob dapat menggunakan salah satu metode digital
signature dalam ilmu kriptografi, yaitu Ong-schnorr shamir Digital Signature
Scheme.
Berikut adalah prosedur kerja skema tanda tangan digital Ong-schnorr
shamir.
1. Tentukan sebuah bilangan integer besar (n) dan sebuah bilangan integer (k).
a. n dan k harus relatif prima, artinya nilai GCD(n, k) = 1.
b. n merupakan kunci publik, artinya nilai n boleh diketahui oleh pihak lain.
c. k merupakan kunci privat, artinya nilai k hanya diketahui oleh pembuat pesan
(Bob).
2. Hitung nilai h dengan rumus berikut.
h = - (k-1)2 mod n
3. Tentukan sebuah bilangan integer acak (r).
a. n dan r harus relatif prima, artinya nilai GCD(n, r) = 1.
36
b. r merupakan kunci publik, artinya nilai r boleh diketahui oleh pihak lain.
4. Hitung S1 dan S2 terhadap pesan (M). (S1 dan S2 merupakan signature oleh Bob)
dengan rumus berikut.
S1 = * ( + r) mod n
S2 = * ( - r) mod n
5. Alice memverifikasi pesan dan tanda tangan digital Bob dengan menggunakan
rumus berikut.
S12 + h . S2
2 || M mod n
Skema prosedur dapat dilihat pada gambar 2.11 berikut ini.
37
Gambar 2.11 Skema prosedur Ong-schnorr shamir Digital Signature
Sumber: http://paper.ijcsns.org/07_book/200902/20090238.pdf
Sebagai contoh, pesan yang akan dikirimkan adalah huruf ‘A’, maka
prosedur yang dilakukan dalam skema ini adalah:
1. Bob memilih n = 393541 dan k = 20.
2. Bob menghitung nilai h.
h = -(k-1)2 mod n
h = -(1/20)2 mod 393541
h = -0.0025
3. Bob memilih r = 16.
38
4. Hitung S1 dan S2 (digital signature dari Bob)
M = Kode ASCII dari huruf 'A' = 65.
S1 = 1/2 * (65/16 + 16) mod 393541
S1 = 10.03125
S2 = 20/2 * (65/16 - 16) mod 393541
S2 = -119.375
5. Alice memverifikasi pesan dan tanda tangan dari Bob.
n = 393541, h = -0.0025, r = 16
M = Kode ASCII dari huruf 'A' = 65
S1 = 10.03125, S2 = -119.375
(10.03125)^2 + -0.0025 . (-119.375)^2 = 65
65 = 65 (True)
2.5.2 Ong-schnorr shamir Subliminal Channel Scheme
Alice dan Bob masuk penjara. Celakanya, mereka berada dalam penjara
yang berbeda. Walter, pengawas penjara mengizinkan mereka berkomunikasi
melalui surat, tetapi Walter tidak akan mengizinkan pesan dikirim dalam bentuk
terenkripsi. Setiap pesan yang dikirim Bob harus dapat dibaca dan diverifikasi
sumber dan keutuhannya oleh Walter.
o Permasalahan: Dengan pengawasan ketat Walter, apakah Alice dan Bob dapat
menciptakan sebuah jalur komunikasi tersembunyi di antara mereka berdua?
o Penyelesaian: Alice dan Bob dapat menggunakan salah satu metode subliminal
channel dalam ilmu kriptografi, yaitu, yaitu Ong-schnorr shamir Subliminal
Channel Scheme.
39
Berikut adalah prosedur kerja skema Ong-schnorr shamir Subliminal
Channel:
1. Tentukan sebuah bilangan integer besar (n) dan sebuah bilangan integer (k).
a. n dan k harus relatif prima, artinya nilai GCD(n, k) = 1.
b. n merupakan kunci publik, artinya nilai n boleh diketahui oleh pihak lain.
c. k merupakan kunci privat. Nilai k diketahui oleh pembuat pesan (Bob) dan pihak
yang akan mendekripsi pesan samaran (Alice).
2. Hitung nilai h dengan rumus berikut.
h = - (k-1)2 mod n
3. Buat pesan asli (w), pesan samaran (w') dan hitung S1 dan S2.
a. Pesan samaran (w') diciptakan untuk menyamarkan pesan asli. Nilai variabel w,
w’ dan n harus relatif prima (GCD(w', n) = 1 dan GCD(w,n) = 1).
b. S1 dan S2 merupakan signature oleh Bob.
c. Bob akan mengirimkan S1, S2 dan w' kepada Walter dan Alice.
S1 = * ( ′ + w) mod n
S2 = * ( ′ - w) mod n
4. Walter memverifikasi pesan samaran dan tanda tangan digital Bob (w') dengan
menggunakan rumus berikut.
w’ = S12 + h.S2
2 (mod n)
40
5. Alice mendekripsi pesan samaran Bob (w') dengan menggunakan rumus berikut.
Alice juga dapat memverifikasi keutuhan pesan Bob dengan menggunakan rumus
yang dipakai oleh Walter.
Skema prosedur dapat dilihat pada gambar 2.12 berikut ini.
Gambar 2.12 Skema prosedur Ong-schnorr shamir Subliminal Channel Sumber: http://paper.ijcsns.org/07_book/200902/20090238.pdf
41
Sebagai contoh, pesan yang akan dikirimkan adalah huruf ‘A’, maka
prosedur yang dilakukan dalam skema ini adalah:
1. Bob memilih n = 393541 dan k = 20.
2. Bob menghitung nilai h.
h = -(k-1)2 mod n
h = -(1/20)2 mod 393541
h = -0.0025
3. Misalkan pesan asli (w) = ‘K’ dan pesan samaran (w’) = ‘H’, maka hitung S1 dan S2
(digital signature dari Bob)
w = Kode ASCII dari huruf 'K' = 75
w' = Kode ASCII dari huruf 'H' = 72
S1 = 1/2 * (72/75 + 75) mod 393541
S1 = 37.98
S2 = 20/2 * (72/75 - 75) mod 393541
S2 = -740.4
4. Walter memverifikasi tanda tangan dan pesan samaran (w’) dari Bob.
w' = Kode ASCII dari huruf 'H' = 72
S1 = 37.98, S2 = -740.4
w' = (37.98)^2 + -0.0025 . (-740.4)^2
72 = 72 (True)
5. Alice mendekripsi pesan samaran (w’) menjadi pesan asli(w).
w' = Kode ASCII dari huruf 'H' = 72
S1 = 37.98, S(2) = -740.4
42
w = 72 / (37.98 + -740.4/20)
w = 75 (Karakter dari kode ASCII 75 = 'K')
Pesan dan digital signature dari metode Ong-schnorr shamir subliminal
channel dapat diverifikasi keasliannya dengan menggunakan Ong-schnorr
shamir digital signature scheme. Perbedaannya hanya terletak pada metode
dekripsi yang dimiliki oleh Ong-schnorr shamir subliminal channel.
2.6 Interaksi Manusia dan Komputer
Menurut Shneiderman (2005, p4), Interaksi manusia dan komputer
merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta
studi fenomena-fenomena besar yang berhubungan dengannya.
Interaksi manusia dan komputer ditekankan pada pembuatan antarmuka
pemakai (user interface). User interface yang dibuat diusahakan sedemikian rupa
sehingga seorang user dapat dengan baik dan nyaman menggunakan aplikasi
perangkat lunak dibuat.
Antar muka pemakai (user interface) adalah bagian sistem komputer
yang memungkinkan manusia berinteraksi dengan komputer. Tujuan antar muka
pemakai adalah agar sistem komputer dapat digunakan oleh pemakai (user
interface), istilah tersebut digunakan untuk menunjuk pada kemampuan yang
dimiliki oleh piranti lunak atau program aplikasi yang mudah dioperasikan dan
dapat membantu menyelesaikan suatu persoalan dengan hasil yang sesuai dengan
43
keinginan pengguna, sehingga pengguna merasa nyaman mengoperasikan
program tersebut.
2.6.1 Program Interaktif
Suatu program yang interaktif dan baik harus bersifat user friendly.
(Scheiderman, p15) menjelaskan lima kriteria yang harus dipenuhi oleh suatu
program yang user friendly.
1. Waktu belajar yang tidak lama
2. Kecepatan penyajian informasi yang tepat
3. Tingkat kesalahan pemakaian rendah
4. Penghafalan sesudah melampaui jangka waktu
5. Kepuasan pribadi
2.6.2 Pedoman Merancang User Interface
Beberapa pedoman yang dianjurkan dalam merancang suatu program,
guna mendapatkan suatu program yang user friendly adalah sebagai berikut.
1. Delapan aturan emas (Eight Golden Rules)
Untuk merancang sistem interaksi manusia dan komputer yang baik,
harus memperhatikan delapan aturan emas dalam perancangan
antarmuka, seperti: strive for consistency (konsisten dalam merancang
tampilan), enable frequent user to use shorcuts (memungkinkan
44
pengguna menggunakan shortcuts secara berkala), offer informative feed
back (memberikan umpan balik yang informatif), design dialogs to yield
closure (merancang dialog untuk menghasilkan keadaan akhir), offer
simple error handling (memberikan penanganan kesalahan), permit easy
reversal of actions (mengijinkan pembalikan aksi dengan mudah),
support internal locus of control (mendukung pengguna menguasai
sistem), dan reduce short-term memory load (mengurangi beban jangka
pendek pada pengguna).
2. Teori waktu respon
Waktu respon dalam sistem komputer menurut (Scheiderman, p352)
adalah jumlah detik dari saat pengguna program memulai aktifitas sampai
menampilkan hasilnya di layar atau printer. Pemakai lebih menyukai
waktu respon yang pendek, waktu respon yang panjang mengganggu,
waktu respon yang pendek menyebabkan waktu pengguna berpikir lebih
pendek. Waktu respon harus sesuai dengan tugasnya, dan pemakai harus
diberi tahu mengenai penundaan yang panjang.