Cari Blog Ini

Sabtu, 31 Juli 2010

Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari

Penerapan Teori Bilangan Bulat dalam Kriptografi dan
Aplikasinya dalam Kehidupan Sehari-hari

Kukuh Nasrul Wicaksono – NIM 13505097

Program Studi Teknik Informatika
Institut Teknologi Bandung
Jl. Ganesha 10 Bandung 40132

E-mail : if15097@students.if.itb.ac.id


Abstrak

Seiring dengan perkembangan zaman, maka munculah cabang matematika baru yang disebut dengan
matematika diskrit. Perkembangan yang pesat dari ilmu matematika diskrit ini berkaitan erat dengan
perkembangan pesat dari dunia komputer digital, karena komputer digital bekerja secara diskrit.
Perkembangan matematika diskrit ini juga diikuti dengan perkembangan ilmu lainnya yang memakai
matematika sebagai landasan ilmunya. Salah satunya adalah ilmu kriptrografi yang memakai teori bilangan
bulat sebagai landasan ilmunya. Dalam paparan di bawah ini akan dijelaskan bahwa matematika diskrit
khusunya teori bilangan bulat memiliki hubungan yang sangat erat dengan ilmu kriptografi. Selain itu akan
dijelaskan pula mengenai aplikasi dari ilmu keriptografi ini dalam kehidupan sehari-hari.

Kata kunci : Teori bilangan bulat, kriptografi

1. Pendahuluan

Dalam kehidupan sehari-hari, kita pasti telah
sering menemukan bahwa ilmu pasti, khususnya
Matematika dan berbagai cabang ilmu
Matematika lainnya sangat banyak digunakan
manusia untuk membantu menyelesaikan suatu
masalah. Mulai dari masalah kecil dan
tradisional, hingga masalah besar dan modern.

Seiring dengan perkembangan zaman, maka
munculah cabang matematika baru yang disebut
dengan matematika diskrit. Perkembangan yang
pesat dari ilmu matematika diskrit ini berkaitan
erat dengan perkembangan pesat dari dunia
komputer digital, karena komputer digital
bekerja secara diskrit. Perkembangan
matematika diskrit ini juga diikuti dengan
perkembangan ilmu lainnya yang memakai
matematika diskrit landasan ilmunya. Salah
satunya adalah ilmu kriptrografi yang memakai
teori bilangan bulat sebagai landasan ilmunya.

Kriptografi ini adalah suatu cabang ilmu yang
digunakan untuk menjaga kerahasiaan pesan
dengan cara menyamarkannya dan menjadikan
bentuk sandi yang tidak mempunyai makna.
Apakah manfaat kriptografi ini dalam kehidupan
sehari-hari kita? Dan apa pula hubungan
matematika diskrit khususnya teori bilangan
bulat dengan kriptografi? Dalam tulisan
berikutnya, akan dijelaskan jawaban dari
pertanyaan di atas.


2. Matematika Diskrit dan Teori
Bilangan Bulat

Matematika diskrit adalah cabang matematika
yang mengkaji objek-objek diskrit. Apa yang
dimaksud dengan kata diskrit (discrete)? Benda
disebut diskrit jika ia terdiri dari sejumlah
berhingga elemen yang berbeda atau elemen-
elemen yang tidak berkesinambungan.
Himpunan bilangan bulat (integer) dipandang
sebagai objek diskrit. Lawan kata diskrit adalah
kontinyu atau menerus. Himpunan bilangan riil
(real) adalah suatu objek kontinu. Di dalam
matematika kita mengenal fungsi diskrit dan
fungsi kontinu. Fungsi diskrit digambarkan
sebagai sekumpulan titik-titik, sedangkan fungsi
kontinu digambarkan sebagai kurva. Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari

2

Matematika diskrit berkembang sangat pesat
dalam dekade terakhir ini. Salah satu alasan yang
menyebabkan perkembangan pesat itu adalah
karena komputer digital bekerja secara diskrit.
Informasi yang disimpan dan dimanipulasi oleh
komputer adalah dalam bentuk diskrit.

Materi yang ada dalam matematika diskrit adalah
materi yang khas informatika, sehingga
terkadang matematika diskrit ini disebut juga
matematika informatika. Salah satu materi di
dalam matematika diskrit ini adalah teori
bilangan bulat.

Sesuai dengan namanya, teori bilangan bulat
sangat erat hubungannya dengan bilangan bulat.
Bilangan bulat itu sendiri adalah bilangan yang
tidak mempunya pecahan desimal, misalnya
adalah 2, 43, 566, -64, 0 dan sebagainnya. Teori
bilangan bulat dalam matematika diskrit
memberikan penekanan dengan sifat pembagian.
Sifat pembagian pada bilangan bulat melahirkan
konsep-konsep seperti bilangan prima dan
aritmatika modulo. Satu algoritma penting yang
berhubungan dengan sifat pembagian ini adalah
algoritma Euclidean. Baik bilangan prima,
aritmatika modulo, dan algoritma Euclidean
memainkan peran yang penting dalam bidang
ilmu Kriptografi, yaitu ilmu yang mempelajari
kerahasiaan pesan.


2.1. Algoritma Euclidean

Algoritma Euclidean adalah salah satu metode
yang mangkus dalam mencari Pembagi Bersama
Terbesar (greates), disingkat menjadi PBB.
Algoritma ini sudah dikenal sejak berabad-abad
yang lalu. Euclid ,penemu Algoritma Euclidean,
adalah seorang matematikawan yunani yang
menuliskan algoritmanya tersebut dalam
bukunya yang terkanal yang berjudul Element.

Secara formal algoritma Euclidean dirumuskan
sebagai berikut.

Misalkan m dan n adalah bilangan bulat
tak negatif dengan m ≥ n. Misalkan r0 = m
dan r1 = n , lakukan secara berturut –
turut pembagian seperti dibawah ini.

r0 = r1q1 + r2 0≤ r2 ≤ r1

r1 = r2q2 + r3 0≤ r3 ≤ r2
.
.
.
rn-2 = rn-1 qn-1 + rn 0≤ rn ≤ rn-1

rn-1 = rn qn + 0

Kemudian PBB dari m dan n (PBB(m,n)) adalah
sisa terakhir dari pembagian tersebut.

Singkatnya algoritma Euclidean akan dituliskan
sebagai berikut.

Algoritma Euclidean
1. Jika n = 0 maka
m adalah PBB(m,n);
stop
tetapi jika n ≠ 0 ,
lanjutkan ke langkah 2.
2. Bagilah m dengan n dan misalkan r
adalah sisanya.
3. Gantilah nilai m dengan nilai n dan nilai
n dengan r, lalu ulang kembali ke
langkah 1.

Catatan : jika m ≤ n, maka pertukarkan nilai
m dan n.


2.2. Aritmatika Modulo

Aritmatika modulo (modular arithmethic)
memainkan peran yang penting dalam komputasi
integer, khususnya pada aplikasi kriptografi.
Operator yang digunakan pada aritmatika
modulo adalah mod. Operator mod, jika
digunakan pada pembagian bilangan bulat
meberikan sisa pembagian sebagai kembaliannya.
Sebagai contoh 53 mod 5 meberikan hasil = 10
dan sisa = 3. Maka 53 mod 5 = 3. Definisi dari
operator mod adalah sebagai berikut

Misalkan a adalah bilangan bulat dan m
adalah bilangan bulat > 0. operasi a mod
m memberikan sisa jika a dibagi dengan
m. Dengan kata lain a mod m = r
sedemikian sehingga a = mq + r , dengan
0 ≤ r < 5 =" 3" 5 =" 3,"> 0 maka a ≡ b (mod m)
jika m habis membagi a – b

Sifat-sifat perhitungan pada aritmatika modulo,
khususnya terhadap operasi perkalian dan
penjumlahan, dinyatakan sebagai berikut.

Misalkan m adalah bilangan bulat positif
1. Jika a ≡ b (mod m) dan c adalah
sembarang bilangan bulat maka
i. (a+c) ≡ (b+c) (mod m)
ii. ac ≡ bc (mod m)
iii. a
p
≡ bp
(mod m) untuk p
bilangan bulat > 0
2. Jika a ≡ b (mod m) dan c ≡ d (mod m),
maka
i. (a+c) ≡ (b+d) (mod m)
ii. ac ≡ bd (mod m)


2.2.2. Chinese Remainder Problem

Pada abad pertama, seorang matematikawan
china yang bernama Sun Tse mengajukan
pertanyaan sebagai berikut.

Tentukan sebuah bilangan bulat yang bila
dibagi dengan 5 menyisakan 3, bila dibagi 7
menyisakan 5, dan bila dibagi 11
menyisakan 7.

Pertanyaan tersebut dapat dirumuskan sebagai
berikut

X ≡ 3 (mod 5)
X ≡ 5 (mod 7)
X ≡ 7 (mod 11)

Teorema Chinese Remainder berikut akan
digunakan untuk menyelesaikan sistem di atas

Misalkan m1, m2, …,mn adalah bilangan
bulat positid sedemikian sehingga
PBB(mi,mj) = 1 untuk i ≠ j. Maka sistem
kongruen lanjar

X ≡ ak (mod mk)

Mempunyai sebuah solusi unik untuk
modulo m = m1 . m2 . m3

Solusi akan dicari sebagai berikut. Solusi
modulo tersebut m = 5 . 7 . 11 = 5 . 77 = 11 . 35.
Karena 77 . 3 ≡ 1 (mod 5), 55 . 6 ≡ 1 (mod 7),
dan 35 . 6 ≡ 1 (mod 11), solusi unik dari sistem
kongruen tersebut adalah

X ≡ (3 . 77 . 3 + 5 . 55 . 6 + 7 . 35 . 6) (mod 385)
≡ 3813 (mod 385)
≡ 348 (mod 385)


2.3. Bilangan Prima

Bilangan bulat positif yang mempunya aplikasi
penting dalam ilmu komputer dan matematika
diskrit adalah bilangan prima. Bilangan prima
adalah bilangan bulat positif yang lebih besar
dari 1 yang hanya habis dibagi 1 dan dirinya
sendiri. Secara formal definisi dari bilangan
prima adalah sebagai berikut.

Bilangan bulat positif p (p > 1) disebut
bilangan prima jika bilangan yang habis
membaginya hanya 1 dan p.

Sebagai contoh adalah bilangan 13. Bilangan 13
hanya habis dibagi 1 dan 13. Maka 13 adalah
bilangan prima.

Bilangan selain prima adalah bilangan komposit.
Misalnya 12 adalah bilangan yang dapat habis
dibagi 1,2,4,6,12.

Teorema penting menyangkut bilangan prima
dinyatakan oleh teorema yang terkenal dalam Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari

4
teori bilangan yaitu teorema fundamental
aritmatik, yang berisi sebagai berikut

Setiap bilangan bulat positif yang lebih besar
atau sama dengan 2 dapat dinyatakan sebagai
perkalian satu atau lebih baik bilangan prima
maupun bilangan komposit, keduanya dapat
dinyatakan sebagai perkalian satu atau lebih
faktor prima. Misalnya,

9 = 3 × 3 (2 buah faktor prima)
100 = 2×2×5×5 (4 buah faktor prima)
13 = 13 (1 buah faktor prima)
12 = 2×2×3 (3 buah faktor prima)


3. Kriptografi

Aritmatika modulo dan bilangan prima
mempunyai banyak aplikasi dalam ilmu
komputer salah satu aplikasinya yang terpenting
adalah ilmu kriptografi.

Kriptografi (cryptography) berasal dari Bahasa
Yunani: “cryptós” artinya “secret” (rahasia),
sedangkan “gráphein” artinya “writing” (tulisan).
Jadi, kriptografi berarti “secret writing” (tulisan
rahasia). Ada beberapa definisi kriptografi yang
telah dikemukakan di dalam berbagai literatur.
Definisi yang dipakai di dalam buku-buku yang
lama (sebelum tahun 1980-an) menyatakan
bahwa kriptografi adalah ilmu dan seni untuk
menjaga kerahasian pesan dengan cara
menyandikannya ke dalam bentuk yang tidak
dapat dimengerti lagi maknanya. Definisi ini
mungkin cocok pada masa lalu di mana
kriptografi digunakan untuk keamanan
komunikasi penting seperti komunikasi di
kalangan militer, diplomat, dan mata-mata.
Namun saat ini kriptografi lebih dari sekadar
privacy, tetapi juga untuk tujuan data integrity,
authentication, dan non-repudiation.

Definisi yang kita pakai di dalam makalah ini
mengutip definisi yang dikemukakan di dalam
[SCH96]:

Kriptografi adalah ilmu dan seni untuk
menjaga keamanan pesan
(Cryptography is the art and science of
keeping messages secure)



Sebagai pembanding, selain definisi tersebut di
atas, terdapat pula definisi yang dikemukakan di
dalam [MEN96]:

Kriptografi adalah ilmu yang
mempelajari teknik-teknik matematika
yang berhubungan dengan aspek
keamanan informasi seperti kerahasiaan,
integritas data, serta otentikasi

Kata “seni” di dalam definisi di atas berasal dari
fakta sejarah bahwa pada masa-masa awal
sejarah kriptografi, setiap orang mungkin
mempunyai cara yang unik untuk merahasiakan
pesan. Cara-cara unik tersebut mungkin berbeda-
beda pada setiap pelaku kriptografi sehingga
setiap cara menulis pesan rahasia pesan
mempunyai nilai estetika tersendiri sehingga
kriptografi berkembang menjadi sebuah seni
merahasiakan pesan (kata “graphy” di dalam
“cryptography” itu sendiri sudah menyiratkan
sebuah seni). Kita akan melihat contoh-contoh
teknik keriptografi dari zaman dahulu hingga
zaman sekarang sehingga kita dapat mamahami
bahwa kriptografi dapat dipandang sebagai
sebuah seni merahasiakan pesan. Pada
perkembangan selanjutnya, kriptografi
berkembang menjadi sebuah disiplin ilmu sendiri
karena teknik-teknik kriptografi dapat
diformulasikan secara matematik sehingga
menjadi sebuah metode yang formal.

Dalam kriptografi terdapat beberapa istilah
khusus. Pesan yang dirahasiakan dinamakan
plainteks (teks jelas dan dapat dimengerti),
sedangkan pesan hasil penyamaran disebut
chiperteks (teks tersandi). Proses penyamaran
dari plainteks ke chiperteks disebut enkripsi dan
proses pembalikan dari chiperteks ke plainteks
disebut deskripsi. Enkripsi dan deskripsi pada
suatu proses penyamaran pesan memiliki suatu
kunci tersendiri. Dan hanya orang yang berhak
yang mengetahui kunci tersebut. Gambar 1.1
memperlihatkan diagram kedua proses yang
dimaksud.

Enkripsi Plainteks Dekripsi
Cipherteks
Plainteks
Kunci Kunci


Gambar 1.1
Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari

5
Sebagai contoh, dalam gambar 1.2 sebuah
plainteks (sebelah kanan) disandikan menjadi
chiperteks (sebelah kiri) dengan suatu teknik
kriptografi tersebut.


Gambar 1.2

Chiperteks meskipun sudah tidak bersifat rahasia
lagi, namun isinya sudah tidak jelas dan tidak
dapat dimengerti maksudnya. Hanya orang yang
berhak saja yang dapat mengembalikan pesan
tidak jelas tersebut menjadi pesan semula dengan
menggunakan suatu kunci.

Kriptografi juga dapat dituliskan dalam notasi
matematis. Jika chiperteks dilambangkan dengan
C dan plainteks dilambangkan dengan P, maka
fungsi enkripsi E memetakan P ke C, dapat
ditulis sebagai berikut

E(P) = C

Pada proses kebalikannya yaitu proses deskripsi,
fungsi deskripsi D memetakan C ke P, dapat
ditulis sebagai berikut

D(C) = P

Karena proses enkripsi kemudian deskripsi
mengembalikan pesan ke pesan asal, maka
kesamaan berikut harus benar.

D(E(P)) = P


4. Hubungan Teori Bilangan Bulat
dengan Kriptografi

Seperti yang telah diungkapkan diatas bahwa
kriptografi sangat erat hubungannya dengan
matematika diskrit terutama fungsi dan teori
bilangan bulat yang berisi tentang.

- Integer dan sifat-sifat pembagian
- Algoritma Euclidean
- Aritmetika modulo
- Bilangan prima

Hal yang diungkapkan di atas sangat relevan
karena saat ini kriptografi modern tidak lagi
mendasarkan kekuatan kriptografi pada
algoritmanya. Namun kriptografi saat ini
mendasarkan kekuatan kriptografinya pada kunci.
Sebelum melangkah lebih jauh, alangakah lebih
baiknya jika dijelaskan mengenai kekuatan
kriptrografi berdasarkan algoritma maupun kunci
sebagai berikut.

Algoritma kriptografi atau chipper adalah fungsi
matematika yang digunakan untuk enkripsi dan
deskripsi. Kekeuatan suatu algoritma kriptografi
diukur dari banyaknya kerja yang dibutuhkan
untuk memecahkan data chipperteks menjadi
plainteksnya. Semakin banyak usaha yang
diperlukan, yang berarti semakin banyak waktu
yang dubutuhkan, maka semakin kuat algoritma
kriptografinya, yang berarti semakin aman
digunakan untuk menyandikan pesan.

Jika kekuatan kriptografi ditentukan dengan
menjaga kerahasiaan algoritmanya, maka
algoritma kriptografinya dinamakan algoritma
restricted. Misalkan di dalam sebuah kelompok
orang meraka sepakat untuk menyadikan setiap
pesan-pesan dengan algoritma yang sama,
Algoritmanya adalah mempertukarkan setiap
kata karakter pertama dengan karakter kedua,
karakter ketiga dengan karakter keempat dan
seterusnya. Contohnya,

Plainteks : STRUKTUR DISKRIT
Chiperteks : TSURTKRU IDKSIRT

Untuk mendeskripsikan pesan, algoritma yang
sama digunakan kembali. Sayangnya, algoritma
restricted tidak cocok saat ini. Bila salah seorang
keluar dari kelompok, maka algoritma
penyandian pesan harus diubah lagi karena
kerahasiaannya tidak lagi dapat diandalkan.

Kriptografi modern tidak lagi mendasarkan
kekuatan pada algoritmanya. Jadi algoritma tidak
lagi dirahasiakan dan boleh diketahui oleh umum.
Kekuatan kriptografinya terletak pada kunci,
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.

Ztâxzp/épêp/qtü
yp{p}
•p}
âpx;
__épêp/|t}t|äzp
}/qp}êpz/étzp{x
/
•xâx
}v_êp}v/|tüp}vz
pz/|t}äyä/{päâ=
/ \
tütz
p_psp{pw/p}pz

}pz/zt•xâx}v/êp


}


v/qpüä_|t}tâpé/


spüx


/sp{p|/•péxü=


/] Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



6


yang berupa dereten karakter atau deretan


bilangan bulat, dijaga kerahasiaannya. Hanya


orang uang mengetahui kunci yang dapat


melakukan enkripsi dan deskripsi. Kunci ini


analog fungsinya dengan password pada sistem


komputer, PIN pada ATM atau kartu kredit.


Bedanya jika password bertujuan untuk otorisasi


akses, maka kunci pada kriptografi digunakan


pada proses enkripsi dan deskripsi.



Kriptografi yang mendasarkan kekuatan pada


kunci sering menggunakan dasar teori bilangan


bulat diatas sebagai dasar algoritma dan juga


kuncinya. Selanjutnaya akan dijelaskan dalam


sub bab berikut ini.




4.1. Caesar Chiper



Teknik kriptografi ini digunakan oleh Julius


Caesar, kaisar Romawi, untuk menyandikan


pesan yang ia kirim kepada gubernurnya. Pada


caesar chiper, tiap huruf disubstitusi dengan


huruf ketiga berikutnya dari susunan alfabet.


Dalam hal ini kuncinya adalah jumlah


pergeseran huruf (yaitu 3).



Plainteks 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



Chiperteks 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



Dengan mengkodekan setiap huruf alfabet


dengan integer: A = 0, B = 1, … , Z = 25, maka


secara matematis caesar chiper menyandikan


plainteks pi menjadi ci dengan aturan sebagai


berikut



ci = E(pi) = (pi + 3) mod 26



Persoalan di atas dapat digenerik-an sebagai


berikut.



Jika pergeseran huruf sejauh k, maka:



Enkripsi: ci = E(pi) = (pi + k) mod 26


Dekripsi: pi = D(ci) = (ci – k) mod 26


k = kunci rahasia



Untuk 256 karakter ASCII, maka:



Enkripsi: ci = E(pi) = (pi + k) mod 256


Dekripsi: pi = D(ci) = (ci – k) mod 256


k = kunci rahasia



Namun teknik ini memiliki kelemahan yaitu


mudah dipecahkan dengan exhaustive key search


karena jumlah kuncinya sangat sedikit (hanya


ada 26 kunci).




4.2. Vigènere Cipher



Algoritma kriptografi ini dipublikasikan oleh


diplomat (sekaligus seorang kriptologis) Perancis,


Blaise de Vigènere pada abad 16 (tahun 1586).


Vigènere Cipher digunakan oleh Tentara


Konfederasi (Confederate Army) pada Perang


Sipil Amerika (American Civil war).


Vigènere Cipher menggunakan Bujursangkar


Vigènere untuk melakukan enkripsi. Setiap baris


di dalam bujursangkar menyatakan huruf-huruf


cipherteks yang diperoleh dengan Caesar Cipher.


Pada dasarnya teknik yang digunakan hampir


sama dengan Caesar Cipher.



Jika panjang kunci lebih pendek daripada


panjang plainteks, maka kunci diulang secara


periodik. Bila panjang kunci adalah m, maka


periodenya dikatakan m. Berikut ini contoh


penggunaan Vigènere Cipher.



kunci = sony


Plainteks :THIS PLAINTEXT


Kunci :sony sonysonys



Hasil enkripsi seluruhnya adalah sebagai berikut:



Plainteks :THIS PLAINTEXT


Kunci :sony sonysonys


Cipherteks : LVVQ HZNGFHRVL



Pada dasarnya, setiap enkripsi huruf adalah


Caesar cipher dengan kunci yang berbeda-beda.



c(‘T’) = (‘T’ + ‘s’) mod 26 = L


c(‘H’) = (‘H’ + ‘o’) mod 26 = V, dst



Keunggulan dari penggunaan Vignere Cipher


adalah huruf yang sama tidak selalu dienkripsi


menjadi huruf cipheteks yang sama pula


sehingga lebih sukar untuk mengubah cipherteks


menjadi plainteks asal jika tidak mengetahui


kuncinya.Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



7



4.3. RSA (Rivest-Shamir-Adleman)



Algoritma RSA diperkenalkan oleh tiga orang


peneliti dari MIT (Massachussets Institute of


Technology), yaitu Ron Rivest, Adi Shamir, dan


Len Adleman, pada tahun 1976. RSA


mendasarkan proses enkripsi dan deskripsinya


pada konsep bilangan prima dan aritmatika


modulo. Baik kunci enkripsi maupun kunci


deskripsi keduanya merupakan bilangan bulat.


Kunci enkripsi tidak dirahasiakan dan diketahui


umum (sehingga dinamakan juga kunci publik),


namun kunci untuk deskripsi bersifat rahasia.


Kunci deskripsi dibangkitkan oleh beberapa buah


bilangan prima bersama-sama dengan kunci


enkripsi. Untuk menemukan kunci enkripsi,


seseorang harus memfaktorkan suatu bilangan


non proma menjadi faktor primanya.


Kenyataannya, memfaktorkan bilangan non-


prima menjadi faktor primanya bukanlah


pekerjaan yang mudah. Belum ada algoritma


yang efisien yang ditemukan untuk pemfaktoran


itu. Semakin besar bilangan non-primanya tentu


akan semakin sulit menemukan faktor primanya.


Semakin sulit pemfaktorannya, semakin kuat


pula algoritma RSA. Algoritma RSA sebenarnya


sederhana sekali. Secara ringkas, algoritma RSA


adalah sebagai berikut.



Algoritma RSA


1. Pilih dua buah bilangan prima


sembarang, sebut a dan b. Jaga


kerahasiaan a dan b ini.


2. Hitung n = a × b. Besaran n tidak


dirahasiakan.


3. Hitung m = (a – 1) × (b – 1). Sekali m


telah dihitung, a dan b dapat dihapus


untuk mencegah diketahui pihak lain.


4. Pilih sebuah bilangan bulat untuk kunci


publik, sebut namanya e, yang relatif


prima terhadap m.


5. Bangkitkan kunci deskripsi, d, dengan


kekongruenan ed ≡ 1 (mod m). Lakukan


enkripsi terhadap isi pesan dengan


persamaan ci = pi


e


mod n, yang dalam


hal ini pi



adalah blok plainteks, ci adalah


chiperteks yang diperoleh, dan e adalah


kunci enkripsi (kunci publik). 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.


6. Proses deskripsi dilakukan dengan


menggunakan persamaan pi = ci


d


mod n,


yang dalam hal ini d adalah kunci


deskripsi.



Pehatikan bahwa dalam langkah 4 kekongruenan


ed ≡ 1 (mod m) sama dengan ed mod m = 1. ed


mod m = 1 ekivalen dengan ed = km + 1


sehingga akan menghasilkan persamaan



d = (1 + km) / e



akan terdapat bilangan bulat k yang


menyebabkan persaman diatas memberikan


bilangan bulat d.



Kekuatan dan Keamanan RSA



Seperti yang telah dikatakan sebelumnya,


kekuatan 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 deskripsi d dapat


dihitung dari persamaan e × d ≡ 1 (mod m). Ini


berarti proses deskripsi dapat dilakukan oleh


orang yang tidak berhak.



Penemu algortima RSA menyarankan nilai a dan


b yang dipakai panjangnya lebih dari 100 digit.


dengan demikian hasil kali n = a × b akan


berukuran lebih dari 200 digit. Bayangkan


berapa besar usaha kerja yang diperlukan untuk


memfaktorkan bilangan bulat 200 digit menjadi


faktor primanya. Menurut Rivest dan kawan-


kawan, usaha untuk mencari faktor bilangan 200


digit membutuhkan waktu komputasi selama 4


milyar tahun. (Dengan asumsi bahwa algoritma


pemfaktoran yang digunakan adalah algoritma


tercepat saat ini dan komputer yang dipakai


mempunyai kecepatan 1 milidetik).



Untunglah algoritma yang paling mangkus untuk


memfaktorkan bilangan yang besar belum


ditemukan. Inilah yang membuat algoritma RSA


tetap dipakai hingga saat ini. Selagi belum


ditemukan algoritma yang mangkus untuk


memfaktorkan bilangan bulat menjadi faktor


primanya, maka algoritma RSA masih


direkomendasikan untuk penyandian pesan.



Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



8


5. Kriptografi Dalam Kehidupan


Sehari-hari



Kehidupan kita saat ini dikelililingi oleh


kriptografi. Kriptografi sudah digunakan dalam


berbagai aplikasi, mulai dari penarikan uang di


ATM, penggunaan kartu kredit, penggunaan


kartu cerdas (smart card), percakapan dengan


telepon genggam, password komputer, televisi,


transaksi e-commerce di internet, sampai pada


pengaktifan peluru kendali dan bom nuklir. Bab


ini membahas secara ringkas penerapan


kriptografi dalam kehidupan sehari-hari.



5.1. Kartu Cerdas (Smart Card)



Salah satu aplikasi yang menggunakan


kriptografi adalah kartu cerdas (smart card).


Kartu cerdas (gambar 1.3) saat ini tumbuh


sangat pesat. Kartu cerdas yang mirip dengan


kartu kredit dapat melayani banyak fungsi, mulai


dari otentikasi sampai penyimpanan data.


Dengan menggunakan kartu cerdas, pengguna


dapat mengakses informasi dari berbagai


peralatan dengan kartu cerdas yang sama.




Gambar 1.3 Sebuah smart card dari Siemens



Kartu cerdas yang paling populer adalah memory


card dan microprocessor card. Memory card


mirip dengan floppy disk, sedangkan


microprocessor card mirip dengan komputer


kecil dengan sistem operasi, sekuriti, dan


penyimpanan data. Kartu cerdas mempunyai


beberapa jenis antarmuka (interface) yang


berbeda. Jenis antarmuka yang umum adalah


contact interface, yang dalam hal ini kartu cerdas


dimasukkan ke dalam alat pembaca (card


reader) dan secara fisik terjadi kontak fisik


antara alat dan kartu (Gambar 1.4).






Gambar 1.4 Pembaca kartu cerdas



Kartu cerdas menyimpan kunci privat, sertifikat


digital, dan informasi lainnya. Kartu cerdas juga


menyimpan nomor kartu kredit dan informasi


kontak personal (no telpon). Sertifikat digital


ditandatangani oleh card issuer (CA) untuk


mensertifikasi kunci publik pemilik kartu.



Penggunaan kartu cerdas dikombinasikan dengan


PIN (Personal Identification Number). Jadi, ada


dua level yang harus dari penggunaan kartu


cerdas, yaitu memiliki kartu cerdas itu sendiri


dan mengetahui PIN yang mengakses informasi


yang disimpan di dalam kartu. Komputer server


mengotentikasi kartu dengan cara mengirimkan


suatu nilai atau string (yang disebut challenge)


ke kartu untuk ditandatangani dengan


menggunakan kunci privat (yang tersimpan di


dalam kartu), lalu tanda-tangan tersebut


diverifikasi oleh mesin dengan menggunakan


kunci publik pemilik kartu. Komputer server


perlu menyimpan kunci publik card issuer untuk


memvalidasi sertifikat digital.



Banyak peralatan mobile yang menggunakan


kartu cerdas untuk otentikasi. Namun kartu


cerdas masih tidak menjamin keamanan secara


total. Jika peralatan mobile hilang atau dicuri,


sertifikat digital dan kunci privat di dalam kartu


cerdas (yang terdapat di dalam peralatan


tersebut) berpotensi diakses oleh pencuri untuk


mengakses informasi rahasia. Telpon seluler


dengan teknologi GSM memiliki kartu cerdas


yang terintegrasi di dalam handphone. Pemilik


handphone memiliki opsi untuk men-set PIN


untuk proteksi tambahan, sehingga jika


handphone hilang atau dicuri, handphone tidak


dapat digunakan tanpa mengetahui PIN tersebut.


Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



9


Kartu cerdas Wireless Identity Module (WIM)


termasuk di dalam Wireless Application Protocol


(WAP). Kartu WIM memproteksi komunikasi


dan transaksi mobile dengan tandatangan digital.


Kartu WIM menyediakan keamanan untuk


sertifikat digital, manajemen kode PIN, kunci,


dan tanda-tangan digital. WIM menyimpan


algoritma enkripsi yang diperlukan di dalam


kartu cerdas. Semua fungsi yang diperlukan


untuk sistem keamanan dan privatisasi


dimasukkan ke dalam kartu cerdas.




5.2. Transaksi Melalui Anjungan


Tunai Mandiri (ATM)



Anjungan Tunai Mandiri atau Automatic Teller


Machine (ATM) digunakan nasabah bank untuk


melakukan transaski perbankan. Utamanya,


kegunaan ATM adalah untuk menarik uang


secara tunai (cash withdrawal), namun saat ini


ATM juga digunakan untuk transfer uang


(pemindahbukuan), mengecek saldo, membayar


tagihan kartu ponsel, membeli tiket kereta api,


dan sebagainya.



Transaksi lewat ATM memerlukan kartu


magnetik (disebut juga kartu ATM) yang terbuat


dari plastik dan kode PIN (Personal Information


Number) yang berasosiasi dengan kartu tersebut.


PIN terdiri dari 4 angka yang harus dijaga


kerahasiannya oleh pemilik kartu ATM, sebab


orang lain yang mengetahui PIN dapat


menggunakan kartu ATM yang dicuri atau


hilang untuk melakukan penarikan uang.



PIN digunakan untuk memverifikasi kartu yang


dimasukkan oleh nasabah di ATM. Proses


verifikasi dilakukan di komputer pusat (host)


bank, oleh karena itu harus ada komunikasi dua


arah antara ATM dan komputer host. ATM


mengirim PIN dan informasi tambahan pada


kartu ke komputer host, host melakukan


verifikasi dengan cara membandingkan PIN yang


di-entry-kan oleh nasabah dengan PIN yang


disimpan di dalam basisdata komputer host,


lalu mengirimkan pesan tanggapan ke ATM yang


menyatakan apakah transaksi dapat dilanjutkan


atau ditolak.



Selama transmisi dari ATM ke komputer host,


PIN harus dilindungi dari penyadapan oleh orang


yang tidak berhak. Bentuk perlindungan yang


dilakukan selama transmisi adalah dengan


mengenkripsikan PIN. Di sisi bank, PIN yang


disimpan di dalam basisdata juga dienkripsi


(lihat Gambar 1.5).



Algoritma enkripsi yang digunakan adalah DES


dengan mode ECB. Karena DES bekerja dengan


mengenkripsikan blok 64-bit, maka PIN yang


hanya terdiri dari 4 angka (32 bit) harus


ditambah dengan padding bits sehingga


panjangnya menjadi 64 bit. Padding bits yang


ditambahkan berbeda-beda untuk setiap PIN,


bergantung pada informasi tambahan pada setiap


kartu ATM-nya [PIN02].



Karena panjang PIN hanya 4 angka, maka


peluang ditebak sangat besar. Seseorang yang


memperoleh kartu ATM curian atau hilang dapat


mencoba semua kemungkinan kode PIN yang


mungkin, sebab hanya ada 10 × 10 × 10 × 10 =


10.000 kemungkinan kode PIN 4- angka. Untuk


mengatasi masalah ini, maka kebanyakan ATM



hanya membolehkan pengentry-an PIN


maksimum 3 kali, jika 3 kali tetap salah maka


ATM akan ‘menelan’ kartu ATM. Masalah ini


juga menunjukkan bahwa kriptografi tidak selalu


dapat menyelesaikan masalah keamanan data.


Gambar 1.5 Mekanisme enkripsi dan deskripsi PIN pada transaksi dengan mesin ATM Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



10



Beberapa jaringan ATM sekarang menggunakan


kartu cerdas sehingga memungkinkan


penggunaan kriptografi kunci publik. Kartu ATM


pengguna mengandung kunci privat dan


sertifikat digital yang ditandatangani oleh card


issuer (CA) untuk mensertifikasi kunci publiknya.


ATM mengotentikasi kartu dengan cara


mengirimkan suatu string ke kartu untuk


ditandatangani dengan menggunakan kunci


privat, lalu tanda-tangan tersebut diverifikasi


oleh ATM dengan menggunakan kunci publik


pemilik kartu. Seperti semua sistem yang


berbasis sertifikat digital, terminal ATM perlu


memiliki salinan kunci publik card issuer


dengan maksud untuk memvalidasi sertifikat


digital. Hal ini direalisasikan dengan


menginstalasi kunci publik tersebut ke dalam


mesin ATM.




5.3. Komunikasi dengan Telepon


Seluler



Penggunaan telepon seluler (ponsel) atau lebih


dieknal dengan nama telepon genggam


(handphone) yang bersifat mobile


memungkinkan orang berkomunikasi dari tempat


mana saja. Telepon seluler bersifat nirkabel


(wireless), sehingga pesan yang dikirim dari


ponsel ditransmisikan melalui gelombang mikro


(microwave) atau radio sampai ia mencapai base


station (BST) terdekat, selanjutnya ditransfer ke


ponsel penerim. GSM merupakan teknologi


telepon seluler yang paling banyak digunakan di


seluruh dunia.



Karena menyadap sinyal radio jauh lebih mudah


daripada menyadap sinyal pada saluran kabel,


maka ini berarti GSM tidak lebih aman daripada


telepon fixed konvensional. Untuk membuat


komunikasi lewat ponsel aman, maka pesan


dienkripsi selama transmisi dari ponsel ke BST


terdekat. Metode enkripsi yang digunakan adalah


metode cipher aliran (stream cipher).



Masalah keamanan lain adalah identitas


penelpon. Operator seluler harus dapat


mengidentifikasi suatu panggilan (call) dan


mengetahui identitas penelpon (apakah penelpon


merupakan pengguna/pelanggan dari operator


seluler tersebut atau pengguna/ pelanggan dari


operator lain).



Jadi, pada GSM diperlukan dua kebutuhan


keamanan lainnya, yaitu:


1. otentikasi penelpon (user


authentication), yang merupakan


kebutuhan bagi sistem,


2. kerahasiaan (confidentiality) pesan (data


atau suara), yang merupakan kebutuhan


bagi pelanggan,



Dua kebutuhan ini dipenuhi dengan penggunaan


kartu cerdas (smart card) personal yang disebut


kartu SIM (Subscriber Identity Module card).


Kartu SIM berisi:


1. identitas pelanggan/pengguna operator


seluler berupa IMSI (International


Mobile Subscriber Identity) yang unik


nilainya,


2. kunci otentikasi rahasia sepanjang 128-


bit yang diketahui hanya oleh operator.


Nilai ini digunakan sebagai kunci pada


protokol otentikasi dengan


menggunakan program enkripsi yang


dipilih oleh operator (algoritma A2, A3,


atau A5),


3. PIN (jika di-set oleh pengguna).


4. Program enkripsi.



Secara keseluruhan, sistem keamanan GSM


terdiri atas dalam 3 komponen, yaitu:


1. kartu SIM,


2. handset (pesawat telepon seluler),


3. jaringan GSM (seperti jaringan ProXL,


Simpati, IM3). Setiap jaringan


dioperasikan oleh operatornya masing-


masing (Excelcomindo, Telkomsel,


Satelindo). Komputer operator (host)


memiliki basisdata yang berisi identitas


(IMSI) dan kunci otentikasi rahasia


semua pelanggan/pengguna GSM.




5.3.1. Otentikasi Penelpon



Otentikasi penelpon dilakukan melalui protokol


otentikasi dengan mekanisme challenge –


response. Ketika pengguna ponsel melakukan


panggilan (call), identitasnya dikirim ke


komputer operator via BST untuk keperluan


otentikasi. Karena BST tidak mengetahui kunci


otentikasi kartu SIM, dan bahkan tidak


mengetahui algoritma otentikasi, maka komputer


operator melakukan verifikasi pengguna dengan


cara mengirimkan suatu nilai acak (128 bit) yang


disebut challenge ke SIM card penelpon. Kartu


SIM mengeluarkan response dengan cara Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



11


mengenkripsi challenge 128-bit tersebut dengan


menggunakan kunci otentikasi yang terdapat di


dalam kartu.


283


Enkripsi terhadap challenge menghasilkan


keluaran 128-bit; dari 128-bit keluaran ini hanya


32 bit yang dikirim dari kartu SIM ke BST


sebagai response. BST meneruskan response ke


komputer operator. Ketika response sampai di


komputer operator, komputer operator


melakukan perhitungan yang sama dengan yang


dilakukan oleh kartu SIM; yang dalam hal ini


komputer mengenkripsi challenge yang dikirim


tadi dengan menggunakan kunci otentikasi


penelpon (ingat, komputer operator mengetahui


kunci otentikasi semua kartu SIM), lalu


membandingkan hasil enkripsi ini (yang diambil


hanya 32 bit) dengan response yang ia terima.


Jika sama, maka otentikasi berhasil, dan


penelpon dapat melakukan percakapan.



Sebagaimana dijelaskan di atas, dari 128-bit hasil


enkripsi, hanya 32 bit yang dikirim sebagai


response. Jadi, masih ada 96 bit sisanya yang


hanya diketahui oleh kartu SIM, BST, dan


komputer operator.




5.3.2. Kerahasiaan Pesan



SIM card juga berisi program stream cipher


(algoritma A5) untuk mengenkripsi pesan dari


ponsel ke BST. Kunci enkripsi panjangnya 64 bit,


yang diambil dari 96 bit sisa dari response SIM


card. Perhatikan bahwa kunci enkripsi 64-bit ini


berbeda setiap kali proses otentikasi dilakukan.


Hal ini memenuhi prinsip algoritma OTP (one-


time pad).



















6. Kesimpulan



Dari paparan di atas, kita dapat menyimpulkan


bahwa matematika diskrit khusunya teori


bilangan bulat memiliki hubungan yang sangat


erat dengan ilmu kriptografi seperti yang telah


dijelaskan di atas. Karena dalam dekade terakhir


ini komputer digital yang bekerja secara diskrit


mengalami perkembangan yang sangat pesat,


maka matematika diskrit dan juga kriptrografi


juga mengalami perkembangan yang pesat secara


langsung.



Ilmu kriptrografi yang saat ini erat hubungannya


dengan sistem komputer digital dalam menjaga


keamanan dan privasi data, menjadi banyak kita


temukan dalam kehidupan sehari-hari karena


perkembangan komputer digital itu sendiri.


Boleh dikatakan bahwa kehidupan manusia saat


ini dikelilingi oleh kriptografi dan juga


matematika diskrit. Oleh karena itu, sebagai


manusia yang hidup di zaman modern ini, kita


diharapkan untuk dapat mengembangkan


setidaknya memahami kedua ilmu tersebut. Penerapan Teori Bilangan Bulat dalam Kriptografi dan Aplikasinya dalam Kehidupan Sehari-hari



12


Daftar Pustaka



[1] Handbook of Applied Cryptography,


http://www.cacr.math.uwaterloo.ca


/hac/ Diakses tanggal 30 Desember 2006,


pukul 14.05 WIB



[2] Munir, Rinaldi. (2004). Diktat Kuliah IF


2153 Matematika Diskrit, Edisi Keempat.


Departemen Teknik Informatika, Institut


Teknologi Bandung. 2006



[3] Munir, Rinaldi. (2004). Bahan Kuliah


IF5054 Kriptografi. Departemen Teknik


Informatika, Institut Teknologi Bandung.

Tidak ada komentar:

Posting Komentar