Anda di halaman 1dari 64

Landasan Matematika Kriptografi

PERTEMUAN 2
Ada Apa Dengan Landasan Matematika ?

Memahami kriptografi dan kriptanalisis memerlukan pemahaman


MATEMATIKA.

Matematika memberikan landasan penting pada sebagian besar


konsep dalam kriptografi.
Matematika yang diperlukan untuk kriptografi termasuk ke dalam
MATEMATIKA DISKRIT
Materi Matematika untuk
Kriptorafi:
 Teori Bilangan
 Aljabar Matriks
 Kombinatorik (Permutasi dan
kombinasi)
 Teori Informasi
Teori Bilangan

Number theory adalah teori yang mendasar dalam


memahami kriptografi. Khususnya sistem kriptografi
kunci-publik.

Bilangan yang dimaksud di sini hanyalah bilangan bulat


(integer).
Teori Bilangan
Sifat pembagian pada Bilangan Bulat
TEOREMA EUCLIDAN. Misal m dan n adalah dua bilangan bulat dengan syarat n > 0.
Jika m dibagi dengan n maka terdapat dua bilangan bulat unik q (quotient) dan r
(remainder) sedemikian hingga :

Contoh : 1987 dibagi 97 memberikan hasil bagi 20 dan sisa 47. Atau ditulis
1987=97.20 + 47
Teori Bilangan
PBB (Pembagi Bersama Terbesar)
 Misal a dan b adalah dua bilangan bulat tidak nol. Pembagi
bersama terbesar dari a dan b adalah bilangan bulat terbesar d
sedemikan hingga d | a dan d | b. Dalam hal ini dinyatakan
PBB(a,b) = d.
 Contoh : Faktor pembagi
45 : 1,3,5,9,15
36 : 1,2,3,4,9,12,18,36.
FPB dari 45 dan 36 adalah 1,3,9.
Sehingga PBB(45,36) = 9
Teori Bilangan
Algoritma Euclidan
Adalah algoritma untuk mencari PBB dari dua buah
bilangan bulat.

Euclid, penemu algoritma Euclidan adlah seorang


matematikawan Yunani yang menuliskan algoritmanya
dalam bukunya “Element” .
Teori Bilangan
Algoritma Euclidan
Diberikan dua buah bilangan bulat tak-negatif m dan n (m ≥ n). Algoritma
Euclidan berikut mencari pembagi bersama terbesar dari m dan n :
1. Jika n=0 maka m adalah PBB(m,n);stop; Kalau tidak, (yaitu 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 dari langkah 1
Teori Bilangan
Algoritma Euclidan
Misalkan m=80, n=12 dan dipenuhi syarat m ≥ n, maka PBB(80,12)
dihitung dengan algoritma Euclidan sbb :
80 = 6 . 12 + 8

12 = 1 . 8 + 4

8=2.4+0
Teori Bilangan
Algoritma Euclidan
Contoh 4. m = 80, n = 12 dan dipenuhi syarat m  n
80  6 12  8

12  1 8  4

8  24  0
Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) =
4.
Teori Bilangan
Relatif Prima
Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB (a,b) = 1. Jika a
dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian hingga :

ma + nb = 1

Contoh : 20 dan 3 relatif prima (PBB(20,3)=1), 20 dan 5 TIDAK relatif prima


(PBB(20,5)=5)
Teori Bilangan
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. Bilangan m disebut MODULUS atau MODULO, dan
hasil aritmetika modulo m terletak dalam himpunan {0,1,2,…,m-1}

Notasi : a mod m = r sedemikian hingga a=mq + r, dengan 0 ≤ r < m


Teori Bilangan
Aritmetika Modulo
 Contoh. 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.
Teori Bilangan
Kongruen

 Misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka dikatakan


38  13 (mod 5)
(baca: 38 kongruen dengan 13 dalam modulo 5).

 Misalkan a dan b 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) .
Teori Bilangan
Kongruen
 Contoh .

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)
Teori Bilangan
Kongruen
 a  b (mod m) dapat dituliskan sebagai
a = b + km (k adalah bilangan bulat)

 Contoh 10.
17  2 (mod 3) 17 = 2 + 5  3
–7  15 (mod 11)  –7 = 15 + (–2)11
Teori Bilangan
modulo invers
 Di dalam aritmetika bilangan riil,
inversi (inverse) dari perkalian adalah
pembagian.

 Contoh: Inversi 4 adalah 1/4, sebab 4


 1/4 = 1.

17
Teori Bilangan
modulo invers
 Jika a dan m relatif prima dan m > 1,
maka balikan (invers) dari a modulo
m ada.

 Balikan dari a modulo m adalah


bilangan bulat x sedemikian
sehingga
xa  1 (mod m)
 Dalam notasi lainnya, a–1(mod m) = x
18
Bukti: a dan m relatif prima, jadi PBB(a, m) = 1, dan
terdapat bilangan bulat x dan y sedemikian sehingga

xa + ym = 1

yang mengimplikasikan bahwa

xa + ym  1 (mod m)

Karena ym  0 (mod m), maka

xa  1 (mod m)

Kekongruenan yang terakhir ini berarti bahwa x adalah


balikan dari a modulo m.

19
Contoh.
 Tentukan balikan dari 4 (mod 9), 17 (mod 7), dan
18 (mod 10).
Solusi:
 (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.
Periksa bahwa –2  4  1 (mod 9)
20
 Catatan: setiap bilangan yang kongruen dengan
–2 (mod 9)
juga adalah inversi dari 4, misalnya 7, –11, 16, dan
seterusnya, karena

7  –2 (mod 9) (9 habis membagi 7 – (–2) = 9)


–11  –2 (mod 9) (9 habis membagi –11 – (–2) = –9)
16  –2 (mod 9) (9 habis membagi 16 – (–2) = 18)

Rinaldi M/IF2091 Struktur Diskrit 21


 (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 diperoleh –2 adalah balikan dari 17 (mod 7)

 –2  17  1 (mod 7) (7 habis membagi –2  17 – 1 = –35)


22
(c) Karena PBB(18, 10) = 2  1, maka
balikan dari
18 (mod 10) tidak ada.

Rinaldi M/IF2091 Struktur Diskrit 23


Cara lain menghitung balikan
 Ditanya: balikan dari a (mod m)
 Misalkan x adalah balikan dari a (mod m),
maka
ax  1 (mod m) (definisi balikan modulo)
atau dalam noatsi ‘sama dengan’:
ax = 1 + km
atau
x = (1 + km)/a
Cobakan untuk k = 0, 1, 2, … dan k = -1, -2, …
Solusinya adalah semua bilangan bulat yang
memenuhi. Rinaldi M/IF2091 Struktur Diskrit 24
 Contoh 18: Balikan dari 4 (mod 9) adalah x
sedemikian sehingga 4x  1 (mod 9)
4x  1 (mod 9)  4x = 1 + 9k  x = (1 +
9k)/4
Untuk k = 0  x tidak bulat
k = 1  x tidak bulat
k = 2  x tidak bulat
k = 3  x = (1 + 9 . 3)/4 = 7
k = -1  x = (1 + 9. –1)/4 = -2
Balikan dari 4 (mod 9) adalah 7 (mod 9),
-2 (mod 9), dst
Rinaldi M/IF2091 Struktur Diskrit 25
Latihan
 Tentukan semua balikan dari 9 (mod
11).

Rinaldi M/IF2091 Struktur Diskrit 26


Solusi:
 Misalkan 9-1 (mod 11) = x
 Maka 9x  1 (mod 11) atau 9x = 1 + 11k atau
x = (1 + 11k)/9
Dengan mencoba semua nilai k yang bulat (k =
0, -1, -2, ..., 1, 2, ...) maka
 diperoleh x = 5. Semua bilangan lain yang
kongruen dengan 5 (mod 11) juga merupakan
solusi, yaitu –6, 16, 27, ...

Rinaldi M/IF2091 Struktur Diskrit 27


Kombinatorik
Permutasi
Permutasi r dari n objek disimbolkan dengan P(n,r), adalah
kemungkinan urutan r buah objek yang dipilih dari n buah
objek, dengan r ≤ n. Yang dalam hal ini pada setiap
kemungkinan urutan tidak ada objekyang sama.
Kombinatorik
Permutasi
Contoh : Ada 26 huruf dalam alfabet. Jika huruf-huruf
disusun, maka ada 26! Urutan susunan yang dihasilkan.
Jika menyusun 5 huruf dari alfabet, maka kemungkinan
susunan huruf yang terbentuk :
Kombinatorik
Kombinasi
Bentuk khusus dari permutasi adalah KOMBINASI.
Jika pada permutasi urutan kemunculan diperhitungkan,
maka pada kombinasi urutan kemunculan DIABAIKAN.
Contoh urutan abc,cba,acb dianggap sama dan dihitung
sekali.
Kombinatorik
Kombinasi
Kombinasi r elemen dari n elemen disimbolkan dengan C(n,r)
adalah jumlah pemilihan yang tidak terurut r elemen yang
diambil dari n buan elemen, yang banyaknya adalah :
Kombinatorik
Kombinasi
Contoh :
Setiap karakter ASCII panjangnya 1 byte. Jumlah byte
yang mengandung 3 buah bit 1 adalah
ALJABAR MATRIKS
Transpose Matriks (1)
 Jika A matriks mxn, maka transpose dari
matriks A (At) adalah matriks berukuran
nxm yang diperoleh dari matriks A dengan
menukar baris dengan kolom.
Ex:  2 3 
  t 2  1 5 
A    1 0   A   
 5  3  3 0  3
 
Invers Matriks (1)
 Jika A adalah sebuah matriks persegi
dan jika sebuah matriks B yang
berukuran sama bisa didapatkan
sedemikian sehingga AB = BA = I,
maka A disebut bisa dibalik dan B
disebut invers dari A.
 Suatu matriks yang dapat dibalik
mempunyai tepat satu invers.
Invers Matriks (2)
 Cara mencari invers khusus matriks 2x2:
Jika diketahui matriks a b 
  A
c d 
maka matriks A dapat dibalik jika ad-bc0,
dimana inversnya bisa dicari dengan rumus
 d b 
1 d  b   ad  bc  
A 1
     ad  bc 
ad  bc  c a   c a 
 
 ad  bc ad  bc 
Invers Matriks (3)
 Ex:
Carilah invers dari  2  5
A   
1 3 
Penyelesaian:

1 1 3 5 1 3 5 3 5
A         
2(3)  (5)( 1)  1 2  1  1 2   1 2 
Determinan Matriks 2x2 (1)
 Jika A adalah matriks persegi,
determinan matriks A (notasi: det(A))
adalah jumlah semua hasil kali dasar
bertanda dari A.
 Jika diketahui matriks berukuran 2x2,
a b  maka determinan matriks A
A 
c d 
adalah: det (A) = |A| = ad-bc
Determinan Matriks 2x2 (2)
 Ex:
 2 3
Jika diketahui matriks P   
 4 5

maka | P | = (2x5) – (3x4) = -2

(Bagaimana kalau matriksnya tidak


berukuran 2x2???)
Determinan Matriks 3x3 (1)
 Untuk matriks berukuran 3x3, maka
determinan matriks dapat dicari
dengan aturan Sarrus.
Determinan Matriks 3x3 (2)
 Ex:

1 2 3 1 2
 
 4 5 4 4 5   1(5)(1)  2(4)(3)  3(4)(2)  3(5)(3)  2(4)(1)  1(4)(2)
 3 2 1 3 2
 
Determinan Matriks nxn (1)
 Untuk matriks nxn, digunakan ekspansi
kofaktor.
Determinan Matriks nxn (2)
 Kofaktor dan minor hanya berbeda
tanda cij =  Mij.
 Untuk membedakan apakah kofator
pada ij bernilai + atau -, bisa dilihat
pada gambar ini, atau dengan
perhitungan cij = (-1)i+j Mij.
Determinan Matriks nxn (3)
 Determinan matriks dengan ekspansi
kofaktor pada baris pertama
Determinan Matriks nxn (4)
 Ex:
Adjoint Matriks (1)
3 1 2
 Jika diketahui matriks 3x3  
0 1 4
2  2 1 
 
 Kofaktor dari matriks tersebut adalah:
c11=9 c12=8 c13=-2
c21=-3 c22=-1 c23=4
c31=-6 c32=-12 c33=3
 9 8  2
 Matriks kofaktor yang terbentuk  
 3 1 4 
  6  12 3 
 
Adjoint Matriks (2)
 Adjoint matriks didapat dari transpose
matriks kofaktor, didapat:
T
 9 8  2  9 3 6 
   
 3 1 4    8  1  12 
  6  12 3   2 4 3 
   
Invers Matriks nxn (1)
 Rumus:

dengan det(A)0
 Ex: Cari invers dari 3 1 2
 
A  0 1 4 
2  2 1 
 
Invers Matriks nxn (2)
Penyelesaian:
 det(A)=3(1)(1)+(-1)(4)(2)+2(0)(-2)-
2(1)(2)-(-2)(4)(3)-1(0)(-1)
=3-7-0-4+24+0 =16
 Adjoint A =  9  3  6 
 8  1  12 
 2 4 3 
 
 9  3  6   9 / 16  3 / 16  3 / 8 
 Maka A-1 = 1    
 8  1  12    1 / 2  1 / 16  3 / 4 
16 
 2 4 3    1 / 8 1 / 4 3 / 16 
Teori Informasi

 Mendefinisikan jumlah informasi di dalam


pesan sebagai jumlah minimum bit yang
dibutuhkan untuk mengkodekan pesan.

 Contoh:
- 1 bit untuk mengkodekan jenis kelamin
- 3 bit untuk mengkodekan nama hari
- 4 bit untuk mengkodekan 0 s/d 9
Teori Informasi

Entropi (entropy) adalah ukuran yang menyatakan jumlah


informasi di dalam pesan. (Biasanya dinyatakan dalam
satuan bit)

Entropi digunakan untuk memperkirakan jumlah bit rata-


rata untuk mengkodekan elemen dari pesan.
Teori Informasi

Contoh : entropi untuk pesan yang menyatakan jenis


kelamin = 1 bit, entropi untuk pesan yang menyatakan
nama hari = 3 bit.
Teori Informasi

 Secara umum, entropi pesan dihitung


dengan rumus:
n
H ( X )   a log( p( S ))
i
2
i
i i

X = pesan
Si = simbol ke-i di dalam pesan
p(Si) = peluang kemunculan Si
ai = jumlah kemunculan Si
Teori Informasi

 Contoh: pesan X = ‘AABBCBDB’


n = 4 (A, B, C, D)
p(A) = 2/8, p(B) = 4/8
p(C) = 1/8, p(D) = 1/8

H(x) = -2 2log(2/8) - 4 2log(4/8)


-1 2log(1/8) - 1 2log(1/8)
= 4 + 4 + 3 + 3 = 14 bit
Entropi rata-rata = 14/4 = 1,75 bit per symbol

Entropi 1,75 berarti setiap simbol dikodekan sebanyak 1,75 bit


Teori Informasi

Entropi juga menyatakan ketidaktentuan (uncertainty) dari pesan.


Contohnya, bila kriptogram “Y6RuPZ” menyatakan plainteks “MALE”
atau “FEMALE”, maka uncertainty pesan = 1.
Kriptanalis harus mempelajari hanya 1 bit yang dipilih secara tepat
untuk menemukan plainteks.
Teori Informasi

Entropi sistem kriptografi adalah ukuran ruang kunci


K. Misal sistem kriptografi dengan kunci 64-bit
mempunyai entropi 64 bit. Semakin besar entropi,
semakin sulit memecahkan cipherteks.
Teori Informasi

Laju bahasa (rate of a language) didefinisikan sebagai berikut :

N = panjang pesan.
Contoh:
laju normal Bahasa Inggris :
1,0 bit/huruf sampai dengan 1,5 bit/huruf untuk N
besar
Teori Informasi

Laju mutlak (absolute rate) didefinisikan sebagai berikut :

L = jumlah karakter didalam bahasa. Contoh : dalam bahasa


Inggris (26 huruf)
R = log226 = 4,7 bit/huruf.
Teori Informasi

Redundansi bahasa (D) didefinisikan sebagai berikut :

Contoh : 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 (mubazir).
Teori Informasi

Contoh :
pesan ASCII (256 karakter),
R = log2256 = 8
r = 1,3 (sama seperti bahasa Inggris)
D = 8 – 1,3 = 6,7 bit/karakter.

Kriptanalis menggunakan redundansi alami dari bahasa untuk


mengurangi kemungkinan jumlah plainteks.
Teori Informasi

Contoh, kata “dan” dalam bahasa Indonesia redundan. Misal jika


dalam cipherteks banyak muncul kriptogram “ftY” (3 huruf) maka
kemungkinan besar itu adalah “dan”.

Semakin besar redundansi bahasa, semakin mudah melakukan


kriptanalisis.
Teori Informasi

Dalam dunia nyata, implementasi kriptografi


dilengkapi dengan program KOMPRESI sebelum
mengenkripsi pesan.

KOMPRESI mengurangi redundansi pesan.


 Akan digunakan seperti apa
matematika dalam kriptografi ??
Algoritma kriptografi klasik
 caesar cipher
 substitusi
 product cipher
 Kombinasi substitusi dan transposisi
 Playfair chipper
 Substitusi pasangan huruf
 Vigenere cipher
 teori bilangan dengan operasi modulus
 Hill cipher
 teori bilangan dengan operasi modulus dan
aljabar matriks
Any Questions ?

End of Sessions

Anda mungkin juga menyukai