Matematika yang diperlukan untuk kriptografi termasuk ke dalam MATEMATIKA DISKRIT
Landasan Matematika Kriptograf PERTEMUAN 3 Memahami kriptograf dan kriptanalisis memerlukan pemahaman MATEMATIKA.
Matematika memberikan landasan penting pada sebagian besar konsep dalam kriptograf. Matematika yang diperlukan untuk kriptograf termasuk ke dalam MATEMATIKA DISKRIT
Relasi dari A ke B merupakan FUNGSI jika setiap elemen dalam A dihubungkan dengan tepat satu elemen di dalam B. A B a f b f : A B f memetakan A ke B a b
Nama lain dari FUNGSI adalah PEMETAAN atau TRANSFORMASI.
Himpunan A disebut DAERAH ASAL (DOMAIN) dari f dan himpunan B disebut DAERAH HASIL (CODOMAIN) dari f. a b Kita menuliskan f(a)=b jika elemen a didalam A dihubungkan dengan elemen b didalam B. b dinamakan BAYANGAN (IMAGE) dari a a dinamakan PRA_BAYANGAN (PRE-
IMAGE) dari b a b
Himpunan yang berisi semua nilai pemetaan f disebut JELAJAH (RANGE) dari f.
Fungsi adalah relasi yang khusus. Kekhususan ini tercakup pada dua hal penting yaitu : a b
1. Tiap elemen dalam himpunan
A, yang merupakan daerah asal f, harus digunakan oleh prosedur atau kaidah yang mendefnisikan f.
2. Frasa “dihubungkan dengan
tepat satu elemen didalam B” berarti bahwa jika (a,b) f
Fungsi f dari himpunan A ke B
Injektif
Surjektif
Bijeksi Fungsi Satu-ke-Satu
Fungsi f dari himpunan A ke B dikatakan SATU-KE-
SATU (ONE-TO-ONE) atau INJEKTIF (INJECTIVE) jika
tidak ada dua elemen himpunan A yang memiliki
bayangan sama. a A f B 1 c b 3 2Fungsi f dari himpunan A ke B dikatakan PADA
(ONTO) atau SURJEKTIF (SURJECTIVE) jika setiap
elemen B merupakan bayangan dari SATU atau
LEBIH elemen A.Fungsi Pada
A B a 1 f b c 2 3 d Fungsi Berkoresponden Satu-ke- Satu
Fungsi f dari himpunan A ke B dikatakan BERKORESPONDEN SATU-KE-SATU atau BIJEKSI (BIJECTION) jika merupakan fungsi SATU-KE-SATU sekaligus fungsi PADA. A B b a f 2 1 c 3 Fungsi Inversi Fungsi INVERSI (INVERS) atau BALIKAN adalah fungsi yang memetakan kembali B
- -1 ke A. Dilambangkan dengan f A f B a 1 f -1
–7 15 (mod 11) –7 = 15 + (– 2)11
Fungsi Satu Arah
Fungsi f dari himpunan A ke B dikatakan FUNGSI
SATU ARAH jika f(x) “mudah” untuk dihitung untuk semua x A tetapi “sangat sukar” atau bahkan “hampir tidak mungkin secara komputasi” menemukan inversinya, yaitu menemukan x sedemikian hingga f(x) = y untuk semua y jelajah f Fungsi Satu Arah Contoh : Perkalian bilangan prima p=48611 dan q=53993 akan menghasilkan n=2624653723 Tetapi sangat sulit untuk menemukan faktor prima dari 2624653723, apalagi bila bilangan yang digunakan cukup besar.
Fungsi Pintu-Kolong Fungsi f dari himpunan A ke B dikatakan FUNGSI PINTU-KOLONG (TRAPDOOR FUNCTION) jika f(x) “mudah” dihitung untuk semua x A tetapi “sangat sukar secara komputasi” menemukan inversinya tanpa INFORMASI TAMBAHAN yang disebut “PINTU-KOLONG (TRAPDOOR)”.
Fungsi Pintu-Kolong
Jika f adalah fungsi pintu-kolong, maka terdapat
INFORMASI RAHASIA k sedemikian hingga bila
diberikan f(x) dan k maka x lebih mudah dihitung.
Dalam kriptograf, fungsi pintu-kolong dan fungsi satu-arah banyak digunakan pada kriptograf kunci-publik. Permutasi Adalah jumlah urutan berbeda dari pengaturan objek-objek.
Permutasi dari n objek adalah : 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. 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 : 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. 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 : Kombinasi Contoh : Setiap karakter ASCII panjangnya 1 byte. Jumlah byte yang mengandung 3 buah bit 1 adalah
Teori yang mendefnisikan jumlah informasi di dalam pesan sebagai jumlah minimum bit yang dibutuhkan untuk mengkodekan pesan Contoh : 1 bit untuk mengkodekan jenis kelamin, 3 bit
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.Contoh : entropi untuk pesan yang menyatakan jenis kelamin = 1 bit untu, entropi untuk pesan yang menyatakan nama hari = 3 bit.
Shannon merumuskan entropi pesan, disimbolkan dengan H, yang dihitung dengan persamaan : X=pesan, n=jumlah simbol berbeda di dalam pesan, p =peluang kemunculan simbol ke-i
Misalkan pesan X adalah string
“AABBCBDB”. Jumlah simbol berbeda
di dalam pesan adalah n=4 (yaitu A,B,C,D).Sehingga p(A)=2/8, p(B)=4/8, p(C)=1/8 dan p(D)=1/8.
Entropi pesan X adalah :
Entropi 1,75 berarti setiap simbol dikodekan sebanyak 1,75 bit.
Sifat-sifat entropi adalah :
1. 0 ≤ H(X) ≤ log (n) 2
2. H(X) = 0 jika dan hanya jika p = 1 i
untuk semua i dan p = 0 untuk semua j j ≠ i
2 i
1/n untuk setiap i, 1 ≤ i ≤ n 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.
Entropi sistem kriptograf adalah ukuran ruang kunci K. Misal sistem kriptograf dengan kunci 64-bit mempunyai entropi 64 bit.
Semakin besar entropi, semakin sulit memecahkan cipherteks.
Laju bahasa (rate of a language) didefnisikan sebagai berikut : N = panjang pesan. Contohnya, laju normal Bahasa Inggris adalah 1,0 bit/huruf sampai dengan 1,5 bit/huruf untuk N besar
Laju mutlak (absolute rate) didefnisikan sebagai berikut : L = jumlah karakter didalam bahasa. Contohnya, dalam bahasa Inggris (26 huruf), R = log 26 = 4,7 bit/huruf. 2
Redundansi bahasa (D) didefnisikan sebagai berikut : Contoh, di 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).
Contoh lain, pada pesan ASCII (256 karakter), R = log 256 = 8 dan r = 1,3 (sama seperti 2 bahasa Inggris), sehingga D = 8 – 1,3 = 6,7 bit/karakter.
Kriptanalis menggunakan redundansi alami dari bahasa untuk mengurangi kemungkinan jumlah plainteks.
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.
Dalam dunia nyata, implementasi kriptograf dilengkapi dengan program KOMPRESI sebelum mengenkripsi pesan.
KOMPRESI mengurangi mengurangi redundansi pesan.
Number theory adalah teori yang mendasar dalam memahami kriptograf. Khususnya sistem kriptograf kunci-publik.
Bilangan yang dimaksud di sini hanyalah bilangan bulat (integer). Sifat pembagian pada Bilangan Bulat
Misal a dan b adalah dua bilanga bulat dengan syarat a ≠ 0, dapat dinyatakan bahwa a HABIS MEMBAGI b (a divides b) jika terdapat bilangan bulat c sedemikian hingga b = ac. 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 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 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” . 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 22. 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 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 Algoritma Euclidan
Bilangan
Contoh 4. m = 80, n = 12 dan dipenuhi syarat m n 80 6 12 8
12 1 8 4 Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) =
8 2 4 4. 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) 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
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.
Aritmetika Modulo
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) .
Contoh .
17 2 (mod 3) ( 3 habis membagi 17 – 2 = 15)
(11 habis membagi –7 – 15 = –22) –7 15 (mod 11) (7 tidak habis membagi 12 – 2 = 10 ) 12 / 2 (mod 7) (3 tidak habis membagi –7 – 15 = –22) –7 / 15 (mod 3)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
End of Sessions