11
2.3.3. Fungsi hash
Fungsi hash adalah sebuah fungsi yang masukannya adalah sebuah pesan dan keluarannya adalah sebuah sidik pesan message fingerprint Ariyus, 2008.
Fungsi hash sering disebut dengan fungsi hash satu arah one-way function, message digest, fingerprint, fungsi kompresi dan message authentication code MAC
yang merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi hash
biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda bahwa pesan tersebut benar-benar berasal dari orang yang
diinginkan Ariyus, 2008. Beberapa fungsi hash yang banyak dipakai adalah MD5 dan SHA.
2.4. Teori Bilangan Integer
2.4.1. Faktor Persekutuan Terbesar Greatest Common Divisor
Faktor Persekutuan Terbesar atau Greatest Common Divisor GCD merupakan bilangan bulat terbesar yang merupakan pembagi yang sama dari dua bilangan bulat.
Misalkan a dan b adalah 2 dua bilangan bulat yang tidak nol. GCD dari a dan b adalah bilangan bulat terbesar c sedemikian sehingga c|a dan c|b. GCD dari a dan b dapat
dinotasikan dengan gcda,b Nasution, 2015. Contoh :
GCD 36,88 = … ? 36 mod 88 = 36
88 mod 36 = 16 36 mod 16 = 4
16 mod 4 = 0 Jadi, GCD dari 36,88 adalah 4
2.4.2. Aritmatika Modulo
Aritmatika modulo merupakan sisa hasil pembagian dua bilangan. Operator yang digunakan dalam aritmatika modulo adalah mod. Misalkan, jika bilangan integer a
dibagi dengan bilangan integer yang lebih besar dari nol b 0, maka akan
Universitas Sumatera Utara
12
menghasilkan sisa bagi r remainder dengan hasil bagi s quotient. Sehingga dapat dinotasikan sebagai berikut Lipschutz Lipson, 2007.
a mod b = r sedemikian sehingga a = bs + r , dengan 0 ≤ b n ....... 2.1
Sebagai contoh, jika 23 mod 4 = 3, maka 23 = 4 × 5 + 3. Jika a negatif, maka bagi |a| dengan b mendapatkan sisa bagi r
’ Munir, 2006. Sehingga didapatkan:
a mod b = b – r’, di mana r’ ≠ 0 dan a 0 .......... 2.2
Sebagai contoh, jika |-23| mod 4 = 3, maka -23 mod 4 = 4 – 3 = 1.
Cormen, et al. 2009 menuliskan di dalam bukunya, untuk setiap bilangan bulat a dan setiap bilangan bulat positif b, nilai a mod b adalah sisa residu dari hasil bagi ab:
a mod b = a – b ab, di mana 0 ≤ a mod b b .......... 2.3
Contohnya adalah 23 mod 4 = 23 – 4234 = 23 – 45 = 23 – 20 = 3.
2.4.3. Algoritma Extended Euclid Teorema yang digunakan sebagai dasar dari algoritma Extended Euclid adalah sebagai
berikut: Jika = qb + r maka gcd,b = gcdb,r
………….……2.4 Algoritma Euclid menggunakan rumus diatas secara berulang untuk men-dapatkan
gcd, yaitu dengan memperkecil kedua bilangan yang dijadikan patokan untuk gcd setiap kali mengulang, tanpa merubah nilai gcd itu sendiri. Hasil dari komputasi gcd di dapat
saat kedua patokan untuk gcd tidak dapat diperkecil lagi.
2.4.4. Chinese Remainder Theorem Chinese Remainder Theorem CRT ditemukan oleh seorang matematikawan Cina
bernama Sun-Tsu juga disebut Sun Tse sekitar 100 A.D anno domini atau 100 M Stallings, 2011. Chinese Remainder Theorem teorema sisa Cina dinamai setelah
masalah peninggalan Cina yang melibatkan sistem persamaan atau kekongruenan linear, menyatakan bahwa ketika modulus dari sistem kekongruenan linear yang
berpasangan relatif prima, ada solusi unik dari sistem modulo produk dari modulus. Berikut ini adalah pertanyaan atau teka-teki Sun-Tsu Rosen, 2012.
“Ada beberapa hal yang bilangannnya tidak diketahui. Bila dibagi dengan 11, sisanya adalah 2, ketika dibagi oleh 7, sisanya adalah 3, dan ketika dibagi 5, sisanya adalah 2.
Berapakah bilangan itu?”
Universitas Sumatera Utara
13
Teka-teki tersebut dapat dituliskan sebagai berikut. x
≡ 2 mod 11 x
≡ 3 mod 7 x
≡ 2 mod 5 Apa solusi dari sistem kekongruenan berikut ini?
Sebelum menyelesaikan teka-teki tersebut, berikut ini adalah teorema sisa Cina Chinese Remainder Theorem Rosen, 2012.
Misalkan m
1
, m
2
, …, m
n
adalah bilangan bulat positif yang relatif prima berpasangan pairwise relatively prime yang lebih besar dari 1 dan a
1
, a
2
, …, a
n
merupakan bilangan bulat sembarang. Maka sistem kekongruenan linear
x ≡ a
1
mod m
1
, x
≡ a
2
mod m
2
, x
≡ a
n
mod m
n
memiliki sebuah solusi unik modulo m = m
1
m
2
…m
n
. Terdapat solusi x dengan 0 ≤ x
m, dan semua solusi lainnya adalah kongruen modulo m untuk solusi ini. Solusi dari penyelesaian teka-teki Sun-Tsu tersebut adalah sebagai berikut Wandani,
2012. 1.
Hitung hasil perkalian dari keseluruhan modulus. M = m
1
m
2
…m
n
………….……………….…………….…… 2.5 M = 11 × 7 × 5 = 385
2. Buat himpunan penyelesaian untuk masing-masing persamaan dari bilangan
terkecil hingga hasil perkalian modulus M. x
1
= {2, 13, 24, 35, 46, 57, 68, 79, 90, 101, 112, 123, 134, 145, 156, 167, 178, 189, 200, 211, 222, 233, 244, 255, 266, 277, 288, 299, 310, 321,
332, 343, 354, 365, 376} x
2
= {3, 10, 17, 24, 31, 38, 45, 52, 59, 66, 73, 80, 87, 94, 101, 108, 115, 122, 129, 136, 143, 150, 157, 164, 171, 178, 185, 192, 199, 206, 213,
220, 227, 234, 241, 248, 255, 262, 269, 276, 283, 290, 297, 304, 311, 318, 325, 332, 339, 246, 353, 360, 367, 374, 381}
x
3
= {2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, 62, 67, 72, 77, 82, 87, 92, 97, 102, 107, 112, 117, 122, 127, 132, 137, 142, 147, 152, 157, 162,
167, 172, 177, 182, 187, 192, 197, 202, 207, 212, 217, 222, 227, 232, 237, 242, 247, 252, 257, 262, 267, 272, 277, 282, 287, 292, 297, 302,
Universitas Sumatera Utara
14
307, 312, 317, 322, 327, 332, 342, 347, 352, 357, 362, 367, 372, 377, 382}
3. X merupakan irisan dari keseluruhan himpunan penyelesaian tersebut.
X = x
1
∩ x
2
∩ … ∩ x
n
………….……………….…………….…… 2.6 X = x
1
∩ x
2
∩ x
3
= 332 4.
Agar tercapai seluruh bilangan yang memenuhi x, maka dihitung kelipatan persekutuan terkecil Least Common Multiple dari ketiga modulus interval
yang memenuhi x. Persamaan 2.7 berikut merupakan rumus untuk mencari LCM dari dua bilangan bulat
positif Rosen, 2012. ab = GCDa,b . LCMa, b
………….…… 2.7 Dari persamaan di atas dapat disimpulkan:
GCD11,5,7 = 1 dan LCM11,5,7 = 385 Sehingga x memenuhi akan bilangan dalam interval 105 dimulai dari 23, yaitu x = 332
± k × 385. Atau interval ini dapat dituliskan x X ± k × LCM m
1
,m
2
, …,m
n
Cara yang dapat digunakan untuk menyelesaikan teka-teki Sun-Tsu menurut Rosen 2012 adalah sebagai berikut.
1. Hitung hasil perkalian dari keseluruhan modulus.
M = m
1
m
2
…m
n
………….……………….…………….…… 2.8 M = 11 × 7 × 5 = 385
2. Hitung hasil bagi dari M dengan tiap-tiap modulus.
M
n
= Mm
n
………….……………….…………….…… 2.9 M
1
= 38511 = 35 M
2
= 3857 = 55 M
3
= 3855 = 77 3.
Hitung invers modulo y
n
dari M
n
mod m
n
. Maka diperoleh: y
1
= 2, y
2
= 6 dan y
3
= 2 4.
Diperoleh solusi x dari teka-teki dengan menghitung rumus berikut ini. x
≡ a
1
M
1
y
1
+ a
2
M
2
y
2
+ … + a
n
M
n
y
n
………….……………….… 2.10 x
≡ a
1
M
1
y
1
+ a
2
M
2
y
2
+ a
3
M
3
y
3
≡ 2.35.2 + 3.55.6 + 2.77.2 x
≡ 1487 ≡ 332 mod 385.
Universitas Sumatera Utara
15
2.4.5. Bilangan prima
Bilangan prima adalah bilangan bulat positif a, dimana a ≥ 2 hanya dapat dibagi dengan
1 dan bilangan itu sendiri. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Contoh bilangan prima adalah 2, 3, 5, 7, 11, 13, 17, ….
Untuk menguji apakah n merupakan bilangan prima atau bukan, kita cukup membagi n
dengan sejumlah bilangan prima, dengan syarat bilangan prima ≤ √n. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n bukan bilangan
prima, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima.
Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu bilangan bulat, yang terkenal dengan Teorema Fermat. Berikut pernyataan dari
Teorema Fermat : Jika p adalah bilangan prima dan a adalah bilangan bulat yang tidak habis dibagi dengan p, yaitu GCDa,p = 1, maka : a
p-1
≡ 1 mod p Mollin, 2007. Teorema Fermat ini memiliki kelemahan yaitu terdapat bilangan bulat bukan prima
p sedemikian sehingga a
p –1
≡ 1 mod p. Bilangan bulat p seperti itu disebut bilangan prima semu pseudoprimes. Bilangan bulat a yang menyebabkan a
p –1
≡ 1 mod p, dimana p adalah bilangan prima semu disebut dengan bilangan carmichael atau
fermat’s liar. Akan tetapi, bilangan prima semu relatif jarang ditemukan.
Contoh : Apakah p = 49 adalah bilangan prima?
a. Pilihlah sembarang bilangan bulat positif a dengan syarat 1ap.
b. Hitung a
p-1
mod p sebanyak dua kali untuk menghindari ditemukan bilangan prima semu. Jika salah satu hasil perhitungan tidak sama dengan 1, maka
bilangan bulat p bukan bilangan prima. 3
48
mod 49 = 43 6
48
mod 49 = 8 Karena a
p-1
mod p ≠ 1, maka bilangan bulat p = 49 bukan bilangan prima
2.5. Sistem Kriptografi Hill Cipher