Anda di halaman 1dari 16

BAB II

DASAR MATEMATIKA

Matematika memberikan landasan matematis pada sebagian besar konsep di dalam


kriptografi. Bab 2 ini merangkum beberapa teori matematika yang berguna untuk
memahami kriptografi.

2.1 Permutasi dan Kombinasi


a. Permutasi

 Permutasi adalah jumlah urutan berbeda dari pengaturan objek-objek.


 Definisi lain, Permutasi adalah penyusunan kembali suatu kumpulan objek
dalam urutan yang berbeda dari urutan yang semula.
a.1. Permutasi Sederhana
Permutasi dari n objek adalah :
n(n-1)(n-2)…(2)(1)=n! …………………………………………..(2.1)
Contoh 2.1 (Pemutasi sederhana)
Terdapat 4 Huruf (A, B, C, D), maka susunan huruf pada urutan yang berbeda adalah:
Jumlah huruf = 4  4! = 4x3x2x1 = 24, susunan yang dapat dibuat sebagai berikut:
ABCD ABDC ACBD ACDB ADBC ADCB
BACD BADC BCAD BCDA BDAC BDCA
CABD CADB CBAD CBDA CDAB CDBA
DABC DACB DBAC DBCA DCAB DCBA

a.2. Permutasi Kompleks


Permutasi yang lebih kompleks, yaitu apabila terdapat n data dan akan diambil r
data. Misal diketahui himpunan memiliki anggota sejumlah n, maka susunan terurut
yang terdiri dari r buah anggota dinamakan permutasi r dari n, ditulis sebagai P(n,r)
dimana r lebih kecil atau sama dengan n (r< n), dalam setiap kemungkinan urutan
tidak ada objek yang sama. Rumus yang digunakan adalah :

1
P(n,r)=n!/(n-r)! atau: …………………………………….(2.2)

Jika r = n, Maka P (n, r) = n! (ingat 0!=1)

Contoh 2.2
Untuk menghitung banyaknya cara menyusun urutan Dua (2) huruf dari Empat (4)
huruf A, B, C, D maka penerapan rumusnya:

4! 4 x 3 x 2 x 1 24
P(4,2) = P(4,2) = = = = 12
(4-2)! 2x1 2

susunan yang dapat dibuat sebagai berikut:


AB AC AD BC BD CD
BA CA DA CB DB CD

Contoh 2.3
Untuk menghitung banyaknya cara menyusun urutan Dua (2) huruf dari Tiga (3)
huruf A, B, C maka penerapan rumusnya:

AB AC BC
BA CA CB

Contoh 2.4
Terdapat 26 huruf di dalam alphabet (A…Z), jika huruf-huruf tersebut disusun maka
terdapat 26 urutan susunan yang dapat dihasilkan. Jika kita menyusun 3 buah huruf
dari alphabet maka jumlah kemungkinan susunan huruf yang dapat dibentuk adalah:

P(26,3) = 26! / (26-3)! = 26! / 23! = 15.600 buah susunan.

2
a.3. Permutasi dengan elemen yang identik

Permutasi dengan elemen identik dimana terdapat elemen / unsur yang sama
dituliskan lebih dari satu kali. Elemen-elemen ini adalah unsur yang identik atau sama
secara kualitas.
Contoh 2.5
Misal terdapat untai/ kumpulan AABC terdiri dari 3 macam elemen, yaitu A, B,
dan C, tetapi elemen A muncul sebanyak dua kali.Kedua ‘A’ tersebut disebut identik.
Rumus yang digunakan:

n! 4x3x2x1= 24
= = = 12
k! 2x1 = 2

k = banyaknya elemen yang identik (‘A’)

Permutasi dari AABC adalah berjumlah 12 dengan susunan :

AABC AACB ABAC ABCA

ACAB ACBA BAAC BACA

BCAA CAAB CABA CBAA

b. Kombinasi

 Kombinasi adalah menggabungkan beberapa objek dari suatu untaian/ grup


tanpa memperhatikan urutan.

 Ini merupakan bentuk khusus dari permutasi. Apabila permutasi urutan


kemunculan diperhitungkan, maka dalam kombinasi urutan kemunculan
diabaikan.

Kombinasi r elemen dari n elemen disimbolkan dengan C(n,r) adalah jumlah


pemilihan yang tidak terurut r elemen yang diambil dari n buah elemen, yang
banyaknya adalah:
3
C(n,r) =n!/r!(n-r)! ……………………………….(2.3)

Contoh 2.6

Apabila terdapat suatu untai/grup terdiri 4 abjad yaitu ABCD, maka untai itu dapat
dituliskan kembali dengan urutan yang berbeda: ACBD, ABCD, DACB, dan
seterusnya. Hasil selengkapnya ada 24 cara untuk menuliskan keempat huruf tersebut
dalam urutan yang berbeda satu sama lain. Rumus yang dapat digunakan adalah n! =
4!= 4×3×2×1 = 24 buah. Namun apabila dari 4 huruf (n=4) tersebut apabila diambil
hanya 3 huruf saja untuk dikombinasikan maka rumusnya.

4x3x2x1 24
C(4,3) = 4!/3!(4-3)! = = = 4 ABC ABD BCD ACD
3x2x1 (1) 6

Apabila 4 huruf tersebut diambil 2 huruf saja untuk dikomibasikan, maka hasilnya:

C(4,2) = 4!/2!(4-2)! 4x3x2x1 24


= = 6 AB AC AD BC BD CD
2x1 (2x1) 4

Setiap karakter ASCII panjangnya 1 byte. Jumlah byte yang mengandung 3 buah bit 1
adalah :

C(8,3) = 8! / 3!(8-3)! = 8! / 3!. 5! = 56 buah

2.2. Invers

Fungsi terbalik atau terbalik adalah kebalikan dari fungsi aslinya. Setiap fungsi
memiliki pembalikan, tetapi tidak harus sebaliknya. Sebuah fungsi f mempunyai
fungsi invers (kebalikan) f-1 jika f adalah fungsi satu-satu dan fungsi pada (bijektif).
Hubungan tersebut bisa dinyatakan seperti berikut: (f-1)-1 = f

Dimana fungsi bijektif berlangsung pada saat jumlah anggota domain sama dengan
jumlah anggota kodomain.

4
Terdapat 3 tahapan untuk menentukan fungsi invers, antara lain:
1. Ubahlah bentuk y = f(x) menjadi bentuk x = f(y).
2. Tuliskan x sebagai f-1(y) sehingga f-1(y) = f(y).
3. Ubahlah variabel y dengan x sehingga akan didapatkan rumus fungsi invers f -1(x).
Rumus khusus fungsi inverst adalah:

5
2.3 Teori Peluang

Himpunan semua kemungkinan hasil percobaan disebut ruang contoh dari


percobaan yang bersangkutan. Setiap hasil percobaan didalam ruang contoh disebut
titik contoh. Hasil percobaan tersebut bersifat saling terpisah karena dari seluruh
ruang contoh hanya satu titik contoh yang muncul.

Misalkan ruang contoh dilambangkan dengan S dan titik contohnya dilambangkan


dengan x1,x2,… maka

S= { x1,x2,…xi,…}

Ruang contoh yang jumlah anggotanya terbatas disebut ruang contoh diskrit,
sedangkan peluan terjadinya sebuah titik contoh dinamakan peluanh diskrit p(xi)

Sifat-sifat Peluang Diskrit adalah:

1. 0 ≤ p(Xi) ≤ 1, yaitu nilai peluang adalah bilangan tidak negative dan selalu
lebih kecil atau sa,a dengan 1.

2. yaitu jmlah peluang semua titik contoh dalam S adalah 1

Contoh 2.7

Uang logam mempunyai dua buah muka yaitu gambar(g) dan angka(a). Jika dua buah
koin uang logam dilempar maka ruang contohnya adalah S={aa,,gg,ag,ga}. Sehingga
peluang setiap titik contoh adalah p(aa)=p(ag)=p(gg)=p(ga) = 1/4

2.4 Teori Bilangan


Modulo

Operasi modulo dapat ditulis dengan notasi a mod n. Modulo akan


menghasilkan bilangan bulat yang merupakan sisa dari pembagian suatu bilangan.
6
Pada a mod n akan menghasilkan kemungkinan bilangan antara 0 sampai dengan n-1
(William Stalling, 1999).

Contoh 2.8:

20 mod 3 = 2 atau 20 mod 3 = 6.3 + 2

-18 mod 7 = 3 atau -18 mod 7 = -3.7 + 3

Kriptografi banyak menggunakan perhitungan modulo a x mod n dengan nilai ax yang


cukup besar. Contoh 2.5 = a 8 mod n dapat dikerjakan dengan cara:

a. Langsung, a8 dikerjakan terlebuh dulu (a*a*a*a*a*a*a*a) dilanjutkan


mod n
b. Bertahap, ((a2 mod n)2 mod n )2 mod n

Faktor Persekutuan Terbesar (Greatest Common Divisor)

GCD dapat ditulis dengan gcd(a,b)=n. Contoh GCD dari 20 dan 24 adalah
gcd(20,24)=4, karena faktor dari 20 adalah 1, 2, 4, 5, 10, 20 dan faktor dari 24 adalah
1, 2, 3, 4, 6, 8, 12, 24. Untuk mencari gcd(a,b) dengan nilai a dan b yang cukup besar
dapat menggunakan algoritma Euclidean. Algoritma Euclidean merupakan algoritma
untuk mencari gcd dari dua buah bilangan bulat (Bruce Schneier, 1996). Cara kerja
algoritma Euclidean menggunakan perhitungan modulo, yaitu:

r1 = a mod b
r2 = b mod r1
r3 = r1 mod r2
ri = ri-2 mod ri-1
Sampai dengan ri = 0 , maka gcd(a,b) adalah ri-1 ,
Contoh 2.6 gcd(1812,1572) adalah,
240 = 1812 mod 1572
132 = 1572 mod 240
7
108 = 240 mod 132
24 = 132 mod 108
12 = 108 mod 24
0 = 24 mod 12
Maka gcd(1812,1572) = 12

Modulo invers

Inversi modulo ditulis dengan notasi a -1 mod n atau (a*x) mod n = 1, yaitu
mencari nilai x yang sesuai. Inversi modulo dapat mempunyai solusi dapat juga tidak,
contoh 2.9:

a. 5-1 mod 14 = 3, karena (5*3) mod 14 = 1


b. 2-1 mod 14, tidak mempunyai solusi
Jika a dan n bukan bilangan relatif prima maka inversi modulo tidak mempunyai
solusi. Apabila n bilangan prima maka setiap bilangan dari 1 sampai n-1 adalah
bilangan relatif prima terhadap n dan memiliki sebuah inversi modulo pada bilangan
di antara 1 sampai dengan n-1. Untuk mencari a-1 mod n atau invers (a,n) dapat
menggunakan algoritma Euclid ekstended. Cara kerja algoritma Euclid ekstended
adalah sebagai berikut (Alfred J.M,1997):

1. Pada saat i=0 dan i=1, berikanlah harga awal untuk g,u,v yaitu:
g0 = n u0 = 1 v0 = 0 g1 = a u1 = 0 v1 = 1

2. Pada saat i=2 dan seterusnya, lakukan perhitungan perulangan berikut:


Yi = gi-2 div gi-1

Ui = ui-2 - yi . ui-1

Vi = vi-2 - yi . vi-1

Gi = ui .n + vi . a atau gi-2 mod gi-1, sampai dengan gi = 0 G0 = 0; maka:


8
 Hasil dari a-1 mod n adalah vi-1, apabila vi-1 bernilai positif
 Hasil dari a-1 mod n adalah n + vi-1, apabila vi-1 bernilai negatif
Contoh 2.10

Modulo invers (79,3220)

I y g u v

0 - 3220 1 0

1 - 79 0 1

2 40 60 1 -40

3 1 19 -1 41

4 3 3 4 -163

5 6 1 -25 1019

6 3 0 79 -3220

Sehingga 79 -1 mod 3220 = 1019 karena (79 * 1019) mod 3220 = 1

Bilangan prima dan bilangan relatif prima

Bilangan bulat positif p (p>1) disebut bilangan prima jika pembagi positifnya
hanya 1 dan p atau hanya dapat difaktorkan oleh bilangan 1 dan bilangan p itu
sendiri. Jumlah bilangan prima yang berhasil ditemukan terus bertambah dan semakin
besar nilainya (Rinaldi Munir, 2006). Bilangan relative prima adalah dua buah
bilangan bulat a dan b yang memiliki gcd(a,b)=1. Contoh 2.9 , 20 dan 3 relatif prima
sebab gcd(20,3)=1.

9
Tabel 2.1 Daftar Bilangan Prima Terbesar

Peringkat Bilangan Digit Tahun Nama Penemu


Prima

1 243112609-1 12978189 2008 Edson Smith

2 242643801-1 12837064 2009 Odd Magnar Strindmo

3 237156667-1 11185272 2008 Hans-Michael Elvenich

4 232582657-1 9808358 2006 Steven R. Boone

5 230402457-1 9152052 2005 Steven R. Boone

Daftar bilangan prima yang memiliki digit besar dapat dilihat pada alamat
http://primes.utm.edu/largest.html. Informasi yang dapat dicatat meliputi: peringkat
bilangan prima berdasarkan besarnya bilangan, bilangan prima itu sendiri, besarnya
digit, nama penemu dan tahun ditemukan. Contoh lima buah bilangan terbesar yang
berhasil dicatat pada tanggal 23 Juli 2009 dapat dilihat pada Tabel 2.1.

Fungsi Totient Euler

Fungsi ini ditulis dengan (n), adalah bilangan bulat positif yang kurang dari
n dan juga bilangan relatif prima terhadap n (William Stallings,1999). Pada algoritma
kriptografi RSA n berupa bilangan prima. Untuk semua bilangan prima p maka:

 (p) = (p-1)

Jika diketahui dua buah bilangan prima p dan q, dimana n=pq, maka:

 (n) =  (pq) =  (p) X  (q) = (p-1) X (q-1) ………..(2.4)

10
2.5 Teori Informasi

Teori Informasi pertama kali dipublikasikan oleh Shannon pada tahun 1984.
Teori ini mendefinisikan jumlah informasi di dalam pesan sebagai jumlah minimum
bit yang dibutuhkan untuk mengkodekan pesan.

Entropi adalah ukuran yang menyatakan jumlah informasi di dalam pesan dan
dinyatakan dalam satuan bit.Entropi berguna untuk memperkirakan jumlah bit rata-
rata untuk mengkodekan elemen dari pesan.

Shannon merumuskan entropi pesan (H) dengan persamaan berikut :

H(X)= - ………………………………………..(2.5)

Keterangan:

X=pesan

n= jumlah symbol berbeda di dalam pesan

Pi = peluang kemunculan symbol ke-i

Sifat-sifat entropi adalah :

1. 0 ≤ H(X) ≤ log2 (n)

2. H(X) = 0 jika dan hanya jika pi =1 untuk semua I, dan pj = 0 untuk semua j ≠
1

3. H(X) = log2 (n) jika dan hanya jika pi = 1/n untuk setiap I, 1≤ i≤ n

Entropi system kriptografi adalah ukuran ruang kunci K. Misal system kriptografi
dengan kunci 64 bit mempunyai entropi 64 bit. Makin besar entropi makin sulit
memecahkan cipherteks.

Laju bahasa (rate of language) (Bruce S) didefinisikan sebagai berikut:

11
r = H(X)/ N………………………………………………………..(2.6)

Keterangan:

N= panjang pesan

Laju mutlak (absolute rate) didefinisikan sebagai:

R = log2 (L) …………………………………………………………………..(2.7)

L adalah jumlah karakter dalam bahasa

Dalam Bahasa Inggris (26 huruf) maka R= log2 26 = 4,7 bit/huruf

Redudansi bahasa (D) disdefinisikan sebagai :

D= R-r ……………………………………………………………………(2.8)

Contoh 2.11

Dalam Bahasa Inggris ( ambil r=1,3), D= 4,7 -1,3 = 3,4 bit/huruf artinya setiap huruf
dalam bahasa Inggris membawa 3.4 bit informasi redundan.

Kriptanalisis menggunakan redudansi alami dari Bahasa untuk mengurangi


kemungkinan jumlah plainteks. Dalam dunia nyata implementasi kriptografi
dilengkapi dengan program kompresi sebelum mengenkripsi pesan. Kompresi
mengurangi redudansi pesan.

2.6 Aljabar Abstrak

Aljabar Abstrak adalah cabang matematika yang mempelajari struktur aljabar atau
dengan kata lain aljabar abstrak mengkaji struktur aljabar dan sifat-sifatnya.

Medan Galois (Galois Field)

12
Medan Galois adalah medan berhingga dengan pn elemen. Notasi untuk
Medan Galois adalah GF(pn), dimana p adalah bilangan prima dan n >= 1. Medan
Galois yang digunakan dalam algoritma AES adalah GF(2 8) (Joan Daemen, Vincent
Rijmen, 2001). Elemen-elemen dari medan berhingga dapat dinyatakan dalam
polinomial. Misalnya: byte b terdiri dari bit-bit b7 b6 b5 b4 b3 b2 b1 b0 dapat
dinyatakan dalam polinomial dengan koefisien 0 dan 1 sebagai berikut: b 7x7 + b6x6 +
b5x5 + b4x4 + b3x3 + b2x2 + b1x +b0 .................................................(2.9)

Contoh: {01100011} sama dengan polinomial x6 + x5 + x + 1

Operasi aritmatika yang dilakukan pada medan Galois adalah penjumlahan dan
perkalian.

a. Operasi Penjumlahan
Penjumlahan dari dua elemen dalam suatu medan berhingga (finite field)
dilakukan dengan menjumlahkan koefisien dari pangkat polinom yang
bersesuaian dari dua elemen tersebut. Penjumlahan dilakukan dengan
operasi XOR dan dinotasikan dengan  . Dengan operasi ini, maka 1  1
= 0, 1  0 = 1, 0  1 = 1, dan 0  0 = 0.

Sebagai alternatif, penjumlahan elemen-elemen pada finite field dapat


dijelaskan sebagai penjumlahan modulo 2 dari bit yang bersesuaian dalam
byte. Untuk 2 byte {a7a6a5a4a3a2a1a0} dan {b7b6b5b4b3b2b1b0}, hasil
penjumlahannya adalah {c7c6c5c4c3c2c1c0} dimana setiap ci = ai  bi.
Contoh dari operasi penjumlahan adalah sebagai berikut:

(x6+x4+x2+x+1)  (x7+x+1) = x7+x6+x4+x2 (notasi polinomial)

{01010111}  {10000011} = {11010100} (notasi biner)

{57}  {83} = {d4} (notasi hexadesimal)

b. Operasi Perkalian

13
Dalam representasi polinomial, perkalian dalam GF(2 8) yang dinotasikan
dengan • mengacu pada perkalian modulo polinomial sebuah irreducible
polynomial yang berderajat 8. Sebuah polinom bersifat irreducible jika
satu-satunya pembagi adalah dirinya sendiri dan 1. Untuk algoritma AES,
irreducible polynomial ini adalah:

m(x) = x8 + x4 + x3 + x + 1 ……………………..(2.10)

atau dalam notasi hexadesimal adalah {01}{1b}.

Sebagai contoh 2.12 {57}•{83} = {c1}, dapat diuraikan menjadi:

(x6 + x4 + x2 + x + 1) • (x7 + x + 1) =

x13 + x11 + x9 + x8 + x7 + x7 + x5 + x3 + x2 + x + x6 + x4 + x2 + x +1

Hasil operasi perkalian di atas dapat disederhanakan menjadi:

` x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 +1

dimana,

x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1 modulo (x8 + x4 + x3 + x + 1)


=

x7 + x6 + 1 = 11000001(c1).

c. Perkalian dengan x
Perkalian polinomial persamaan (2.1) dengan polinomial x akan
menghasilkan:

b7x8 + b6x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x ................(2.11)

Hasil perkalian x•b(x) diperoleh dengan mengurangi hasil modulo


m(x),seperti yang dijelaskan pada persamaan (2.2). Apabila b7 = 0 maka
merupakan operasi penyederhanan identias sedangkan apabila b7 = 1

14
maka diperlukan operasi b = xtime(a), kemudian dilakukan pergeseran 1
bit ke kiri dan dilanjutkan operasi XOR dengan 1b ( 00011011).

Contoh : 57 • 13 = fe, dapat diuraikan menjadi:

57 • 02 = xtime(57)=xtime(01010111)

karena b7=0 maka geser ke kiri 1bit sehingga menjadi (10101110)=ae

57 • 04 = xtime(ae)=xtime(10100011)

Karena b7=1 maka geser ke kiri 1 bit dilanjutkan operasi XOR dengan
1b(00011011) sehingga menjadi (01000110)  (00011011)=47

57 • 08 = xtime(47)=xtime(01000111)

karena b7=0 maka geser ke kiri 1 bit sehingga menjadi


(10001110)=8e

57 • 10 = xtime(8e)=xtime(10001110)

Karena b7=1 maka geser ke kiri 1 bit dilanjutkan operasi XOR dengan
1b(00011011) sehingga menjadi (00011100)  (00011011)=07

57• 13 = 57 • (01  02  10)= (57•01)  (57 •02)  (57•10)=fe

15
LATIHAN SOAL

1. Terdapat 26 huruf di dalam alphabet, jika huruf-huruf tersebut disusun maka


terdapat 26 urutan susunan yang dapat dihasilkan. Jika kita menyusun 5 buah
huruf dari alphabet tentukan jumlah kemungkinan susunan huruf yang dapat
dibentuk !

2. Tentukan gcd dari 2 bilangan bulat berikut ini (1998,200) !

3. Tentukan modulo invers dari bilangan bulat berikut ini (80,2330) !

4. Hitung perkalian dalam GF(28) untuk bilangan 67 • 15!

16

Anda mungkin juga menyukai