pendekatan matematika teori bilngan bulat
Bilangan Bulat
·
Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal,
misalnya 8, 21, 8765, -34, 0
·
Berlawanan dengan bilangan bulat adalah bilangan riil yang mempunyai
titik desimal, seperti 8.0, 34.25, 0.02.
Sifat Pembagian pada Bilangan Bulat
·
Misalkan a dan b adalah dua buah bilangan bulat dengan
syarat a ¹ 0. Kita menyatakan bahwa a
habis membagi b (a divides b) jika terdapat
bilangan bulat c sedemikian
sehingga b = ac.
·
Notasi: a | b jika
b = ac, c Î Z dan a ¹ 0. (Z
= himpunan bilangan bulat)
·
Kadang-kadang pernyataan “a habis membagi b“ ditulis
juga “b kelipatan a”.
·
Contoh 1: 4 | 12 karena 124 = 3 (bilangan bulat) atau 12 = 4 ´ 3. Tetapi 4 | 13 karena 134 = 3.25 (bukan bilangan bulat).
Teorema 1 (Teorema
Euclidean). Misalkan
m dan n adalah dua buah bilangan bulat dengan syarat n
> 0. Jika m dibagi dengan n maka terdapat dua buah bilangan
bulat unik q (quotient) dan r (remainder),
sedemikian sehingga
m = nq + r (1)
dengan 0 £ r < n.
Contoh 2.
(i) 1987
dibagi dengan 97 memberikan hasil bagi 20 dan sisa 47:
1987 = 97 × 20 + 47
(ii) –22 dibagi dengan 3 memberikan hasil bagi –8
dan sisa 2:
–22 = 3(–8) + 2
tetapi –22 = 3(–7) – 1 salah
karena r = –1 tidak memenuhi syarat 0 £ r < n.
Pembagi
Bersama Terbesar (PBB)
·
Misalkan a dan b adalah dua buah bilangan bulat tidak
nol. Pembagi bersama terbesar (PBB – greatest common divisor atau gcd)
dari a dan b adalah bilangan bulat terbesar d sedemikian
sehingga d | a dan d | b. Dalam hal ini kita
nyatakan bahwa PBB(a, b) = d.
·
Contoh 3. Faktor pembagi 45: 1, 3, 5, 9, 15, 45;
Faktor pembagi 36: 1, 2, 3,
4, 9, 12, 18, 36;
Faktor pembagi bersama dari
45 dan 36 adalah 1, 3, 9
PBB(45, 36) = 9.
Teorema 2. Misalkan m dan n
adalah dua buah bilangan bulat dengan syarat n > 0 sedemikian
sehingga
m = nq + r , 0 £ r < n
maka PBB(m, n)
= PBB(n, r)
Contoh 3: m = 60, n =
18,
60 = 18 × 3 +
12
maka PBB(60,
18) = PBB(18, 12) = 6
Algoritma Euclidean
· Algoritma Euclidean adalah
algoritma untuk mencari PBB dari dua buah bilangan bulat.
· Euclid, penemu algoritma
Euclidean, adalah seorang matematikawan Yunani yang menuliskan algoritmanya
tersebut dalam bukunya yang terkenal, Element.
Misalkan m dan n
adalah bilangan bulat tak negatif dengan
m ³ n. Misalkan r0 = m
dan r1 = n.
Lakukan secara
berturut-turut pembagian untuk memperoleh
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 = rnqn + 0
Menurut Teorema 2,
PBB(m, n) = PBB(r0, r1)
= PBB(r1, r2) = … =
PBB(rn– 2,
rn– 1) =
PBB(rn– 1, rn) = PBB(rn,
0) = rn
Jadi, PBB dari m dan n adalah sisa
terakhir yang tidak nol dari runtunan pembagian tersebut
·
Diberikan dua buah bilangan bulat tak-negatif m dan n (m
³ n). Algoritma Euclidean berikut
mencari pembagi bersama terbesar dari m
dan n.
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. Ganti nilai m dengan nilai n dan nilai n dengan
nilai r, lalu ulang kembali ke
langkah 1.
procedure Euclidean(input m, n : integer,
output PBB : integer)
{ Mencari PBB(m, n) dengan syarat m dan n
bilangan tak-negatif dan m ³ n
Masukan: m dan n, m ³ n dan m, n ³ 0
Keluaran: PBB(m, n)
}
Deklarasi
r : integer
Algoritma:
while n ¹ 0 do
r¬m mod n
m¬n
n¬r
endwhile
{ n = 0, maka PBB(m,n) = m }
PBB¬m
|
Contoh 4. m = 80, n = 12 dan dipenuhi syarat m ³ n
Sisa pembagian terakhir sebelum 0 adalah 4, maka
PBB(80, 12) = 4.
·
PBB dua buah bilangan bulat a dan b dapat dinyatakan
sebagai kombinasi lanjar (linear combination) a dan b
dengan dengan koefisien-koefisennya.
Teorema 3. Misalkan a dan b
adalah dua buah bilangan bulat positif, maka terdapat bilangan bulat m
dan n sedemikian sehingga PBB(a, b) = ma + nb.
Misalnya PBB(80, 12) = 4 , dan 4 = (-1) × 80 + 7 × 12.
Contoh 5. Nyatakan PBB(60, 18) = 6 sebagai kombinasi
lanjar dari 60 dan 18.
Relatif Prima
·
Dua buah bilangan bulat a dan b dikatakan relatif
prima jika PBB(a, b) = 1.
·
Contoh 6. 20 dan 3 relatif prima sebab PBB(20, 3) = 1. Begitu juga 7 dan 11
relatif prima karena PBB(7, 11) = 1. Tetapi 20 dan 5 tidak relatif prima sebab
PBB(20, 5) = 5 ¹ 1.
·
Jika a dan b relatif prima, maka terdapat bilangan bulat m
dan n sedemikian sehingga
ma
+ nb = 1 (2)
·
Contoh 7. Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) =1, atau
dapat ditulis
2
. 20 + (–13) . 3 = 1
dengan m = 2 dan n = –13.
Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 ¹ 1 sehingga 20 dan 5 tidak dapat dinyatakan
dalam m . 20 + n . 5 = 1.
Aritmetika
Modulo
·
Misalkan a adalah bilangan bulat dan m adalah bilangan
bulat > 0. Operasi a mod m (dibaca “a modulo m”)
memberikan sisa jika a dibagi dengan m.
·
Notasi: a mod m = r sedemikian sehingga a = mq + r,
dengan 0 £ r < m.
·
Bilangan m disebut modulus atau modulo, dan hasil
aritmetika modulo m terletak di dalam himpunan {0, 1, 2, …, m –
1} (mengapa?).
Contoh 8. Beberapa hasil operasi dengan operator
modulo:
(i) 23 mod 5 = 3 (23
= 5 × 4 +
3)
(ii) 27 mod 3 = 0 (27
= 3 × 9 + 0)
(iii)
6 mod 8 = 6 (6 = 8 × 0 + 6)
(iv) 0 mod 12 = 0 (0
= 12 × 0 + 0)
(v)
– 41 mod 9 = 4 (–41 = 9 (–5) + 4)
(vi)
– 39 mod 13 = 0 (–39 = 13(–3) + 0)
Penjelasan untuk (v): Karena a negatif,
bagi |a| dengan m mendapatkan sisa r’. Maka a mod m
= m – r’ bila r’ ¹ 0. Jadi |– 41| mod 9 = 5,
sehingga –41 mod 9 = 9 – 5 = 4.
Kongruen
·
Misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka kita katakan 38 º 13 (mod 5) (baca: 38 kongruen dengan 13
dalam modulo 5).
·
Misalkan a dan b adalah bilangan bulat dan m
adalah bilangan > 0, maka a º b (mod m)
jika m habis membagi a – b.
·
Jika a tidak kongruen dengan b dalam modulus m,
maka ditulis a º/ b (mod m) .
Contoh 9.
17 º 2 (mod 3) ( 3 habis membagi 17 – 2 = 15)
–7 º 15 (mod 11) (11
habis membagi –7 – 15 = –22)
12 º/ 2 (mod 7) (7 tidak habis membagi 12 – 2 = 10 )
–7 º/ 15 (mod 3) (3 tidak habis membagi –7 – 15 = –22)
·
Kekongruenan a º b (mod m)
dapat pula dituliskan dalam hubungan
a = b + km (3)
yang dalam hal ini k
adalah bilangan bulat.
Contoh 10.
17 º 2 (mod 3) dapat ditulis sebagai 17 = 2 + 5 × 3
–7 º 15 (mod 11) dapat ditulis
sebagai –7 = 15 + (–2)11
·
Berdasarkan definisi aritmetika modulo, kita dapat menuliskan a
mod m = r sebagai
a
º r (mod m)
Contoh 11.
Beberapa hasil operasi dengan operator modulo
berikut:
(i)
23 mod 5 = 3 dapat ditulis
sebagai 23 º 3 (mod 5)
(ii) 27 mod 3 = 0 dapat
ditulis sebagai 27 º 0 (mod 3)
(iii) 6 mod 8 = 6
dapat ditulis sebagai 6 º 6 (mod 8)
(iv) 0 mod 12 = 0 dapat ditulis sebagai 0 º 0 (mod 12)
(v) – 41 mod 9 =
4 dapat ditulis sebagai –41 º 4 (mod 9)
(vi) – 39 mod 13 =
0 dapat ditulis sebagai – 39 º 0 (mod 13)
Teorema 4. 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) ap
º bp (mod m) untuk
suatu bilangan bulat tak negatif p.
2. Jika a º b (mod m) dan c º d (mod m), maka
(i) (a + c) º (b + d) (mod m)
(ii) ac
º bd (mod m)
Bukti (hanya untuk 1(ii) dan 2(i) saja):
1(ii) a º b (mod m)
berarti:
Û a = b + km
Û a – b = km
Û (a – b)c = ckm
Û ac = bc + Km
Û ac º bc (mod m) ¾
2(i) a º b (mod m) Û a = b + k1m
c º d (mod m) Û c = d + k2m +
Û (a
+ c) = (b + d) + (k1 + k2)m
Û (a
+ c) = (b + d) + km ( k = k1
+ k2)
Û
(a + c) = (b + d) (mod m) ¾
Contoh 12.
Misalkan 17 º 2 (mod 3) dan 10 º 4 (mod 3), maka menurut Teorema 2,
17 + 5 = 2 + 5 (mod 3) Û 22
= 7 (mod 3)
17 . 5 = 5 × 2 (mod 3) Û 85
= 10 (mod 3)
17 + 10 = 2 +
4 (mod 3) Û 27 = 6 (mod 3)
17 . 10 = 2 × 4 (mod 3) Û 170 = 8 (mod 3)
·
Perhatikanlah bahwa Teorema 4 tidak memasukkan operasi pembagian pada
aritmetika modulo karena jika kedua ruas dibagi dengan bilangan bulat, maka
kekongruenan tidak selalu dipenuhi. Misalnya:
(i)
10 º 4 (mod 3) dapat dibagi
dengan 2 karena 10/2 = 5 dan 4/2 = 2, dan 5 º 2 (mod 3)
(ii)
14 º 8 (mod 6) tidak dapat
dibagi dengan 2, karena 14/2 = 7 dan 8/2 = 4, tetapi 7 º/ 4 (mod 6).
Balikan Modulo (modulo
invers)
·
Jika a dan m relatif prima dan m > 1, maka kita
dapat menemukan balikan (invers) dari a modulo m. Balikan
dari a modulo m adalah bilangan bulat sedemikian sehingga
a º 1 (mod m)
Bukti: Dari definisi relatif prima diketahui
bahwa PBB(a, m) = 1, dan menurut persamaan (2) terdapat bilangan
bulat p dan q sedemikian sehingga
pa
+ qm = 1
yang mengimplikasikan bahwa
pa + qm º 1 (mod m)
Karena qm º 0 (mod m), maka
pa º 1 (mod m)
Kekongruenan yang terakhir ini berarti bahwa p
adalah balikan dari a modulo m. ¾
·
Pembuktian di atas juga menceritakan bahwa untuk mencari balikan dari a
modulo m, kita harus membuat kombinasi lanjar dari a dan m
sama dengan 1. Koefisien a dari kombinasi lanjar tersebut merupakan
balikan dari a modulo m.
Contoh 13.
Tentukan balikan dari 4 (mod 9), 17 (mod 7), dan 18
(mod 10).
Penyelesaian:
(a) Karena PBB(4, 9) = 1, maka balikan dari 4
(mod 9) ada. Dari algoritma Euclidean diperoleh bahwa
9 = 2 × 4 + 1
Susun
persamaan di atas menjadi
–2
× 4 + 1 × 9 = 1
Dari persamaan terakhir ini kita peroleh
–2 adalah balikan dari 4 modulo 9. Periksalah bahwa
–2 × 4 º 1 (mod 9) (9
habis membagi –2 × 4 – 1 = –9)
(b) Karena PBB(17, 7) = 1, maka balikan dari
17 (mod 7) ada. Dari algoritma Euclidean diperoleh rangkaian pembagian berikut:
17 =
2 × 7 + 3 (i)
7 = 2 × 3 + 1 (ii)
3 = 3 × 1 + 0 (iii) (yang
berarti: PBB(17, 7) = 1) )
Susun
(ii) menjadi:
1 = 7
– 2 × 3 (iv)
Susun
(i) menjadi
3 =
17 – 2 × 7 (v)
Sulihkan
(v) ke dalam (iv):
1 = 7
– 2 × (17 – 2 × 7) = 1 × 7 – 2 × 17 + 4 × 7 = 5 × 7 – 2 × 17
atau
–2 × 17 + 5 × 7 = 1
Dari persamaan terakhir ini kita
peroleh –2 adalah balikan dari 17 modulo 7.
–2 × 17 º 1 (mod 7) (7
habis membagi –2 × 17 – 1 = –35)
(c) Karena PBB(18, 10) = 2 ¹ 1, maka balikan dari 18 (mod 10) tidak ada.
Kekongruenan Lanjar
·
Kekongruenan lanjar adalah kongruen yang berbentuk
ax º b (mod m)
dengan m adalah bilangan bulat
positif, a dan b sembarang bilangan bulat, dan x adalah peubah bilangan bulat.
·
Nilai-nilai x dicari sebagai berikut:
ax
= b + km
yang dapat disusun menjadi
dengan k adalah sembarang bilangan
bulat. Cobakan untuk k = 0, 1, 2, … dan k = –1, –2, … yang
menghasilkan x sebagai bilangan bulat.
Contoh 14.
Tentukan solusi: 4x º 3 (mod 9) dan 2x º 3 (mod 4)
Penyelesaian:
(i) 4x º 3 (mod 9)
k = 0 à x = (3 + 0 × 9)/4 = 3/4
(bukan solusi)
k
= 1 à x = (3 + 1 × 9)/4 = 3
k
= 2 à x = (3 + 2 × 9)/4 = 21/4 (bukan
solusi)
k
= 3, k = 4 tidak menghasilkan
solusi
k =
5 à x = (3 + 5 × 9)/4 = 12
…
k
= –1 à x = (3 – 1 × 9)/4 = –6/4 (bukan
solusi)
k
= –2 à x = (3 – 2 × 9)/4 = –15/4 (bukan
solusi)
k
= –3 à x = (3 – 3 × 9)/4 = –6
…
k
= –6 à x = (3 – 6 × 9)/4 = –15
…
Nilai-nilai
x yang memenuhi: 3, 12, … dan –6, –15, …
(ii) 2x
º 3 (mod 4)
Karena 4k genap dan 3 ganjil maka penjumlahannya menghasilkan
ganjil, sehingga hasil penjumlahan tersebut jika dibagi dengan 2 tidak
menghasilkan bilangan bulat. Dengan kata lain, tidak ada nilai-nilai x yang memenuhi 2x º 3 (mod 5).
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 Sun Tse dapat dirumuskan kedalam sistem
kongruen lanjar:
x º 3 (mod 5)
x º 5 (mod 7)
x º 7 (mod 11)
Teorema 5. (Chinese
Remainder Theorem) Misalkan m1, m2, …, mn
adalah bilangan bulat positif sedemikian sehingga PBB(mi, mj)
= 1 untuk i ¹ j. Maka sistem
kongruen lanjar
x º ak (mod mk)
mempunyai sebuah solusi unik
modulo m = m1 × m2 × … × mn.
Contoh 15.
Tentukan solusi
dari pertanyaan Sun Tse di atas.
Penyelesaian:
Menurut persamaan (5.6), kongruen pertama, x º 3 (mod 5), memberikan x = 3 + 5k1
untuk beberapa nilai k. Sulihkan ini ke dalam kongruen kedua menjadi 3 +
5k1 º 5 (mod 7), dari sini kita
peroleh k1 º 6 (mod 7), atau k1
= 6 + 7k2 untuk
beberapa nilai k2. Jadi kita mendapatkan x = 3 + 5k1
= 3 + 5(6 + 7k2) = 33 + 35k2 yang mana
memenuhi dua kongruen pertama. Jika x
memenuhi kongruen yang ketiga, kita harus mempunyai 33 + 35k2 º 7 (mod 11), yang mengakibatkan k2
º 9 (mod 11) atau k2 = 9 +
11k3. Sulihkan k2 ini ke dalam kongruen
yang ketiga menghasilkan x = 33 + 35(9 + 11k3) º 348 + 385k3 (mod 11).
Dengan demikian, x º 348 (mod 385) yang memenuhi
ketiga konruen tersebut. Dengan kata lain, 348 adalah solusi unik modulo 385.
Catatlah bahwa 385 = 5 × 7 × 11.
Solusi unik ini mudah dibuktikan sebagai
berikut. Solusi tersebut modulo m
= m1 × m2 × m3 = 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)
Bilangan Prima
·
Bilangan bulat positif p (p > 1) disebut bilangan
prima jika pembaginya hanya 1 dan p.
·
Contoh: 23 adalah bilangan prima karena ia hanya habis dibagi oleh 1
dan 23.
·
Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan
prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13, …. Seluruh bilangan prima
adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap.
·
Bilangan selain prima disebut bilangan komposit (composite).
Misalnya 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, dan
10, selain 1 dan 20 sendiri.
Teorema 6.
(The Fundamental Theorem of Arithmetic). Setiap bilangan bulat
positif yang lebih besar atau sama dengan 2 dapat dinyatakan sebagai perkalian
satu atau lebih bilangan prima.
Contoh 16.
9 = 3
´ 3 (2
buah faktor prima)
100 =
2 ´ 2 ´ 5 ´ 5 (4
buah faktor prima)
13 =
13
(atau 1 ´ 13) (1 buah faktor prima)
·
Untuk menguji apakah n merupakan bilangan prima atau komposit, kita
cukup membagi n dengan sejumlah bilangan prima, mulai dari 2, 3, … ,
bilangan prima £ Ön. Jika n habis dibagi dengan salah satu dari
bilangan prima tersebut, maka n adalah bilangan komposit, tetapi jika n
tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan
prima.
Contoh 17.
Tunjukkan apakah (i) 171 dan (ii) 199 merupakan
bilangan prima atau komposit.
Penyelesaian:
(i) Ö171 = 13.077. Bilangan prima
yang £ Ö171 adalah 2, 3, 5, 7, 11,
13. Karena 171 habis dibagi 3, maka 171 adalah bilangan komposit.
(ii) Ö199 = 14.107. Bilangan prima
yang £ Ö199 adalah 2, 3, 5, 7, 11,
13. Karena 199 tidak habis dibagi 2, 3, 5, 7, 11, dan 13, maka 199 adalah
bilangan prima.
·
Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu
bilangan bulat, yang terkenal dengan Teorema Fermat. Fermat (dibaca
“Fair-ma”) adalah seorang matematikawan
Perancis pada tahun 1640.
Teorema 6 (Teorema Fermat).
Jika p adalah bilangan prima dan a adalah bilangan bulat yang tidak habis dibagi dengan p, yaitu PBB(a, p) = 1, maka
ap–1 º 1 (mod p)
Contoh 18.
Kita akan menguji apakah 17 dan 21 bilangan prima
atau bukan. Di sini kita mengambil nilai a = 2 karena PBB(17, 2) = 1 dan
PBB(21, 2) = 1. Untuk 17,
217–1
= 65536 º 1 (mod 17)
karena 17 habis membagi 65536 – 1 =
65535
(6553517 = 3855).
Untuk 21,
221–1
=1048576 º\ 1 (mod 21)
karena 21 tidak habis membagi 1048576 – 1 =
1048575.
·
Kelemahan Teorema Fermat: terdapat bilangan komposit n
sedemikian sehingga 2n–1 º 1 (mod n). Bilangan bulat seperti itu
disebut bilangan prima semu (pseudoprimes).
·
Misalnya komposit 341 (yaitu 341 = 11 × 31) adalah bilangan prima
semu karena menurut teorema Fermat,
2340
º 1 (mod 341)
Untunglah bilangan prima
semu relatif jarang terdapat.
Contoh 19.
Periksalah bahwa (i) 316 º 1 (mod 17) dan (ii) 186 º 1 (mod 49).
Penyelesaian:
(i) Dengan mengetahui bahwa kongruen 33
º 10 (mod 17), kuadratkan kongruen tersebut
menghasilkan
36
º 100 º –2 (mod 17)
Kuadratkan lagi untuk menghasilkan
312 º 4 (mod 17)
Dengan demikian, 316 º 312 × 33 × 3 º 4 × 10 × 3 º 120 º 1 (mod 17)
(ii) Caranya sama seperti penyelesaian (i) di
atas:
182 º 324 º 30 (mod 49)
184 º 900 º 18 (mod 49)
186 º 184 × 182 º 18 × 30 º 540 º 1 (mod 49)
Kriptografi
· Kriptografi: ilmu sekaligus seni untuk
menjaga kerahasiaan pesan (data atau informasi) dengan cara menyamarkannya (to crypt artinya menyamar) menjadi
bentuk yang tidak dapat dimengerti.
· Tujuan penyandian adalah
agar isi pesan tidak dapat dimengerti oleh orang yang tidak berhak.
· Kehidupan saat ini
dikelilingi oleh kriptografi, mulai:
- ATM tempatmengambil uang,
- Telepon genggam (HP),
- Komputer di lab/kantor,
- Internet,
- Gedung-gedung bisnis,
- sampai ke pangkalan militer
Sejarah Kriptografi
· Kriptografi sudah lama
digunakan oleh tentara Sparta di Yunani pada permulaan tahun 400 SM.
Scytale : Pita panjang dari daun papyrus + sebatang silinder
Pesan ditulis horizontal
(baris per baris).
Bila pita dilepaskan, maka huruf-huruf di dalamnya
telah tersusun membentuk pesan rahasia.
Untuk membaca pesan, penerima melilitkan kembali
silinder yang diameternya sama dengan diameter silinder pengirim.
· Beberapa terminologi dasar
dalam kriptografi:
1.
Plainteks (plaintext atau cleartext, artinya teks jelas yang dapat
dimengerti): pesan yang dirahasiakan.
2.
Chiperteks (chipertext atau cryptogram, artinya teks tersandi): pesan
hasil penyandian.
3.
Enkripsi (encryption atau enchipering): proses penyandian dari
plainteks ke chiperteks.
4.
Dekripsi (decryption atau dechipering): proses pembalikan dari
chiperteks ke plainteks
plainteks chiperteks
plainteks semula
enkripsi dekripsi
Contoh:
plainteks:
uang disimpan
di balik buku X
chiperteks: j&kloP(d$gkhtpuBn%6^klp..t@8^
5.
Algoritma kriptografi (atau chiper):
- aturan untuk enchipering dan dechipering
- fungsi matematika yang digunakan untuk
enkripsi dan dekripsi.
6. Kriptografer: orang menggunakan
algoritma kriptografi untuk merahasiakan
pesan dan mendekripsikannya kembali
7. Kriptanalisis (cryptanalysis):
ilmu dan seni untuk memecahkan chiperteks, berupa proses untuk memperoleh
plainteks dari chiperteks tanpa mengetahui kunci yang diberikan.
Pelakunya disebut kriptanalis.
8.
Kriptologi (cryptology):
studi mengenai kriptografi dan kriptanalisis.
· Aplikasi kriptografi:
1.
Pengiriman data melalui saluran komunikasi
2.
Penyimpanan data di dalam disk
storage.
· 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.
Notasi Matematis
·
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
·
Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan
asal, maka kesamaan berikut harus benar,
D(E(P)) = P
· Pada sistem kriptografi
modern, kekuatan kriptografinya terletak pada kunci, yang berupa deretan karakter atau bilangan
bulat, dijaga kerahasiaannya.
· Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi
menjadi
EK1(P) = C
DK2(C) = P
dan kedua
fungsi ini memenuhi
DK2(EK1(P)) = P
K1 K2
plainteks chiperteks
plainteks semula
enkripsi dekripsi
·
Jika K1 = K2, maka algoritma kriptografinya
disebut algoritma simetri, konvensional, secret
key, atau one-key .
Contoh: DES (Data Encyption Standard).
· Jika K1 ¹ K2, maka
sistem kriptogafinya disebut algoritma nirsimetri atau kunci publik
Contoh:
RSA (Rivest-Shamir-Adleman)
Caesar Cipher
· Ini adalah algoritma
kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar
(sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia
kirim kepada para gubernurnya.
· Caranya adalah dengan
mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain
dalam susunan abjad (alfabet).
·
Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan akjad.
Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k =
3).
Tabel substitusi:
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 20. Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
disamarkan (enskripsi) menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Penerima pesan men-dekripsi chiperteks dengan
menggunakan tabel substitusi, sehingga chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
dapat dikembalikan menjadi plainteks semula:
AWASI ASTERIX DAN TEMANNYA OBELIX
· Dengan mengkodekan setiap
huruf abjad dengan integer sebagai berikut: A = 0, B = 1,
…, Z = 25, maka secara matematis caesar chiper menyandikan
plainteks pi menjadi ci dengan aturan:
ci = E(pi) = (pi
+ 3) mod 26 (1)
dan dekripsi chiperteks ci menjadi pi
dengan aturan:
pi = D(ci) = (ci – 3) mod 26 (2)
Algoritma RSA
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
diketahuinya oleh pihak lain.
4. Pilih sebuah bilangan
bulat untuk kunci publik, sebut namanya e,
yang relatif prima terhadap m.
5. Bangkitkan kunci dekripsi,
d, dengan kekongruenan ed º 1 (mod m). Lakukan enkripsi terhadap isi
pesan dengan persamaan ci
= pie 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 dekripsi dilakukan
dengan menggunakan persamaan pi
= cid mod n, yang dalam hal ini d adalah kunci dekripsi.
|
Contoh
21.
Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat
dihitung
n = a ´ b = 3337 dan 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 m dapat
dipublikasikan ke umum.
Selanjutnya
akan dihitung kunci dekripsi d seperti yang dituliskan pada langkah
instruksi 4,
e ´ d º 1 (mod m)
Kunci
dekripsi d sebagai berikut:
Dengan
mencoba nilai-nilai k = 1, 2, 3, …,
diperoleh nilai d yang bulat adalah
1019. Ini adalah kunci dekripsi.
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
p3
= 733 p6 = 003
Blok
pertama dienkripsikan sebagai 72679 mod 3337 = 215 = c1.
Blok
kedua dienkripsikan sebagai 58279 mod 3337 = 776 = c2.
Dengan
melakukan proses yang sama untuk sisa blok lainnya, dihasilkan chiperteks C = 215 776 1743 933 1731 158.
Proses
dekripsi dilakukan dengan menggunakan kunci rahasia d = 1019.
Blok
c1 didekripsikan sebagai
2151019 mod 3337 = 726 = p1,
Blok
c2 didekripsikan sebagai
7761019 mod 3337 = 582 = p2.
Blok
plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita
memperoleh kembali plainteks semula P
= 7265827332737873 yang karakternya adalah P
= HARI INI.
Perhitungan
perpangkatan pada proses enkripsi (ci
= pie mod n)dan dekripsi (pi = cid
mod n) membutuhkan bilangan yang
sangat besar. Untuk menghindari penggunaan bilangan yang besar, maka dapat
digunakan penyederhanaan dengan persamaan berikut:
ab mod m
= [(a mod m)(b mod m)] mod m (5.14)
Kekuatan dan Keamanan RSA
· 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 enkrispi 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 nilai a dan b panjangnya lebih dari 100 digit. Dengan demikian hasil kali n = a
´ b
akan berukuran lebih dari 200 digit. Bayangkanlah berapa besar usaha kerja yang
diperlukan untuk memfaktorkan bilangan bulat 200 digit menjadi faktor primanya.
Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit
membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa
algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini
dan komputer yang dipakai mempunyai kecepatan 1 milidetik).
Fungsi Hash
h(k) = k mod m
- m adalah jumlah lokasi memori yang tersedia
- Fungsi h menempatkan record dengan
kunci k pada
lokasi memori yang beralamat h(k).
Contoh:
m = 11 mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Akan
disimpan data record yang masing-masing mempunyai kunci 15, 558, 32,
132, 102, dan 5.
h(15) = 15 mod 11 = 4
h(558) = 558 mod 11 =
8
h(32) = 32 mod 11 = 10
h(132) = 132 mod 11 =
0
h(102) = 102 mod 11 =
3
h(5) = 5 mod 11 = 5
132
|
102
|
15
|
5
|
558
|
32
|
|||||
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
International Standard Book
Number
(ISBN)
· 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 yang diberikan secara
unik kepada buku tersebut,
- sebuah karakter uji (dapat
berupa angka atau huruf X untuk merepresentasikan angka 10).
Karakter uji dipilih
sedemikian sehingga
º 0 (mod 11)
mod 11 = karakter uji
Untuk
kode ISBN 0–3015–4561–8, 0 adalah kode kelompok negara berbahasa Inggris, 3015
adalah kode penerbit, 4561 adalah kode unik untuk buku yang diterbitkan oleh
penerbit tersebut, dan 8 adalah 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.
Catatlah bahwa untuk kode ISBN ini,
= + 10x10 = 151 + 10 × 8 = 231
dan
231 mod 11 = 0 atau 231 º 0 (mod 11).
Tiada ulasan:
Catat Ulasan