Aplikasi Algoritma dan
Bilangan Bulat
ISBN (International Book Serial Number) Fungsi hash
Kriptografi
Pembangkit bilangan acak-semu Kode Voucer isi ulang No HP
Kode Voucer isi ulang Listrik PLN Nomor Kartu Kredit
dll
How Does It Work?
Current ISBN
ISBN-10:
1-55853-234-X
Group Identifier
1. Increase to 13 Digits – Add “978” and “979” Prefixes
2. Recalculate Check Digit Over First 12
Back Cover
October 1, 2004
LC started recording ISBN-13s in CIP and
cataloging records
OCLC started accepting input of 13-digit ISBNs, BUT is parking them temporarily in a non-ISBN field (024)
January 1, 2007
Only ISBN-13 issuedStop using 10-digit ISBN for transactions 979-prefix ISBNs assigned as needed
Some Recent
Kode ISBN terdiri dari 10 karakter, biasanya
dikelompokkan dengan spasi atau garis, misalnya 0– 3015–4561–9.
ISBN terdiri atas empat bagian kode:
- kode yang mengidentifikasikan bahasa, - kode penerbit,
- kode unik untuk buku tersebut,
- karakter uji (angka atau huruf X (=10)).
Contoh: ISBN 0–3015–4561–8
0 : kode kelompok negara berbahasa Inggris, 3015 : kode penerbit
4561 : kode unik buku yang diterbitkan 8 : karakter uji.
Karakter uji ini didapatkan sebagai berikut:
1 0 + 2 3 + 3 0 + 4 1 + 5 5 + 6 4 + 7 5 + 8 6 + 9 1 = 151
Jadi, karakter ujinya adalah 151 mod 11 = 8.
Sebuah kode ISBN 0–3015–4560–x Tentukan x?
Bukan ISBN yg valid
Sebuah kode ISBN 0–3015–4562–x Tentukan x?
Contoh: ISBN 0–3015–4562–x
0 : kode kelompok negara berbahasa Inggris, 3015 : kode penerbit
4562 : kode unik buku yang diterbitkan x : karakter uji.
Karakter uji ini didapatkan sebagai berikut:
1 0 + 2 3 + 3 0 + 4 1 + 5 5 + 6 4 + 7 5 + 8 6 + 9 2 = 160
Jadi, karakter ujinya adalah 160 mod 11 = 6
/
ISBN 10 (contoh)
Catatlah bahwa untuk kode ISBN ini,
For example, the ISBN-13 check digit of
978-0-306-40615-? is calculated as follows:
978-0-306-40612-x 978-0-306-40611-x
Tujuan: pengalamatan di memori
Bentuk: h(k) = k mod m
- m : jumlah lokasi memori yang tersedia - k : kunci (integer)
- h(k) : lokasi memori untuk record dengan kunci k
Kolisi (collision) terjadi jika fungsi hash menghasilkan
nilai h yang sama untuk k yang berbeda.
Jika terjadi kolisi, cek elemen berikutnya yang kosong.
Fungsi hash juga digunakan untuk me-locate elemen
Pesan: data atau informasi yang dapat dibaca dan
dimengerti maknanya.
Nama lain: plainteks (plaintext)
Pesan dapat berupa: teks, gambar, audio, video.
Pesan ada yang dikirim atau disimpan di dalam media
penyimpanan.
Cipherteks (ciphertext): pesan yang telah disandikan
sehingga tidak memiliki makna lagi.
Tujuan: agar pesan tidak dapat dimengerti maknanya oleh pihak lain.
Cipherteks harus dapat diubah kembali ke plainteks
Contoh:
Plainteks:
culik anak itu jam 11 siang
Enkripsi (encryption): proses menyandikan plainteks
menjadi ciphertek.
Dekripsi (decryption): Proses mengembalikan cipherteks
plainteks chiperteks plainteks semula
enkripsi dekripsi
Kriptografi (cryptography)
Dari Bahasa Yunani yang artinya “secret writing”
Definisi: kriptografi adalah ilmu dan seni untuk menjaga
Algoritma kriptografi (cipher)
- aturan untuk enkripsi dan dekripsi - fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
Kunci: parameter yang digunakan untuk transformasi
enciphering dan dechipering
Sudah digunakan di Yunani 400 BC Alat yang digunakan: scytale
Sejarah Kriptografi
1. Pengiriman data melalui saluran komunikasi
(data encryption on motion).
2. Penyimpanan data di dalam disk storage
(data encryption at rest)
Data ditransmisikan dalam bentuk chiperteks. Di tempat
penerima chiperteks dikembalikan lagi menjadi plainteks.
Data di dalam media penyimpanan komputer (seperti
hard disk) disimpan dalam bentuk chiperteks. Untuk membacanya, hanya orang yang berhak yang dapat mengembalikan chiperteks menjadi plainteks.
Contoh enkripsi pada dokumen
Plainteks (plain.txt):
Ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan bahwa laut adalah tempat kehidupan mereka.
Cipherteks (cipher.txt):
Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/ p}âpx;
Contoh Data Enkripsi
Cipherteks (siswa2.dbf):
NIM Nama Tinggi Berat
000001 tüp}vzpz/|t}äyä/{äâ |äzp} épêp 000002 |t}tâpé/spüx/sp péxü= ztwxsä 000003 ât| pâ/ztwxsä p}/| }/|tü spüx/ 000004 épêp/|t}t|äzp}/qpêpz qp}êpz wxsä 000005 étzp{x/zt xâx}vêp} päâ/psp étzp{ 000006 spüx/sp{p|/ péxü=/] xâx}v ttüzp/| 000007 Ztâxzp/épêp/qtüypp}< äzp} }äyä/{ 000008 qpwåp/{päâ/psp{pw Ztwxs xâx}v 000009 }t|äzp}/qp}êpz/ép{ qp}êp äzp}/qp
Misalkan:
C = chiperteks
P = plainteks dilambangkan
Fungsi enkripsi E memetakan P ke C,
E(P) = C
Fungsi dekripsi D memetakan C ke P, D(C) = P
Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi
EK(P) = C DK(C) = P
dan kedua fungsi ini memenuhi
DK(EK(P)) = P
K K
plainteks chiperteks plainteks semula enkripsi dekripsi
Jika kunci enkripsi sama dengan kunci dekripsi, maka
sistem kriptografinya disebut sistem simetri atau
sistem konvensional.
Algoritma kriptografinya disebut algoritma simetri atau
algoritma konvensional .
Contoh algoritma simetri:
- DES (Data Encyption Standard)
Jika kunci enkripsi tidak sama dengan kunci dekripsi, maka sistem
kriptografinya disebut sistem nirsimetri (asymmetric system)
Nama lain: sistem kriptografi kunci-publik
karena, kunci enkripsi bersifat publik (public key) sedangkan kunci dekripsi bersifat rahasia (private key).
Pengirim pesan menggunakan kunci publik si penerima pesan untuk
mengenkripsi pesan
Penerima pesan mendekripsi pesan dengan kunci privatnya sendiri.
Tiap huruf alfabet digeser 3 huruf ke kanan
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh:
Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Misalkan A = 0, B = 1, …, Z = 25, maka secara matematis
caesar cipher dirumuskan sebagai berikut:
p1 = ‘A’ = 0 c1 = E(0) = (0 + 3) mod 26 = 3 = ‘D’
p2 = ‘W’ = 22 c2 = E(22) = (22 + 3) mod 26 = 25 = ‘Z’
p3 = ‘A’ = 0 c3 = E(0) = (0 + 3) mod 26 = 3 = ‘D’
p4 = ‘S’ = 18 c4 = E(18) = (18 + 3) mod 26 = 21 = ‘V’ dst…
Jika pergeseran huruf sejauh k, maka:
Enkripsi: ci = E(pi) = (pi + k) mod 26 Dekripsi: pi = D(ci) = (ci – k) mod 26
Ditemukan oleh tiga peneliti dari MIT (Massachussets
Institute of Technology), yaitu Ron Rivest, Adi Shamir, dan
Len Adleman, pada tahun 1976.
Termasuk algoritma kriptografi nirsimetri.
Setiap pengguna mempunya sepasan kunci:
1. Kunci publik: untuk enkripsi 2. Kunci privat: untuk dekripsi
Kunci publik tidak rahasia (diktehui semua orang), kunci
Pembangkitan pasangan kunci
1. Pilih dua bilangan prima, a dan b (rahasia)
2. Hitung n = a b. Besaran n tidak perlu dirahasiakan. 3. Hitung m = (a – 1)(b – 1).
4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m.
Enkripsi
1. Nyatakan pesan menjadi blok-blok plainteks: p1, p2, p3, … (harus dipenuhi persyaratan bahwa nilai pi
harus terletak dalam himpunan nilai 0, 1, 2, …, n – 1 untuk menjamin hasil perhitungan tidak berada di luar himpunan)
2. Hitung blok cipherteks ci untuk blok plainteks pi
dengan persamaan
ci = pie mod n
Dekripsi
Proses dekripsi dilakukan dengan menggunakan persamaan
pi = cid mod n,
Contoh 21. Misalkan a = 47 dan b = 71 (keduanya
prima), maka dapat dihitung
n = a b = 3337
m = (a – 1)(b – 1) = 3220.
Pilih kunci publik e = 79 (yang relatif prima dengan 3220
karena pembagi bersama terbesarnya adalah 1).
Nilai e dan n dapat dipublikasikan ke umum.
Selanjutnya akan dihitung kunci dekripsi d dengan
kekongruenan:
e d 1 (mod m)
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai
Misalkan plainteks P = HARI INI
atau dalam desimal ASCII: 7265827332737873
Pecah P menjadi blok yang lebih kecil (misal 3 digit): p1 = 726 p4 = 273
p2 = 582 p5 = 787
Enkripsi setiap blok:
c1 = 72679 mod 3337 = 215 c2 = 58279 mod 3337 = 776
dst untuk sisa blok lainnya
Keluaran: chiperteks C = 215 776 1743
Kekuatan algoritma RSA terletak pada tingkat kesulitan
dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = a b.
Sekali n berhasil difaktorkan menjadi a dan b, maka m =
(a – 1)(b – 1) dapat dihitung. Selanjutnya, karena kunci
enkripsi e diumumkan (tidak rahasia), maka kunci dekripsi d dapat dihitung dari persamaan e d 1
(mod m). Ini berarti proses dekripsi dapat dilakukan oleh orang yang tidak berhak.
Penemu algoritma RSA menyarankan
Tentukan angka yang hilang pada ISBN 13 berikut :
1. ISBN 10 : 0-306-40615-?
2. ISBN 13 : 978-979-756-628-? 3. ISBN 13 : 978-602-875-?07-9
http://ee.unila.ac.id/hery/madis/algoritma%20dan%20bil.bu
lat.ppt
http://en.wikipedia.org/wiki/ISBN