Landasan Matematika Kriptografi PERTEMUAN 3
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
Fungsi f : A B f memetakan A ke B Relasi dari A ke B merupakan FUNGSI jika setiap elemen dalam A dihubungkan dengan tepat satu elemen di dalam B. f : A B f memetakan A ke B A B a b f
Fungsi Nama lain dari FUNGSI adalah PEMETAAN atau TRANSFORMASI. B a b f Fungsi 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 a b f Fungsi 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 a b f Fungsi 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 a b f Fungsi Tiap elemen dalam himpunan A, yang merupakan daerah asal f, harus digunakan oleh prosedur atau kaidah yang mendefinisikan f. Frasa “dihubungkan dengan tepat satu elemen didalam B” berarti bahwa jika (a,b) f dan (a,c) f, maka b=c
Fungsi f dari himpunan A ke B Injektif Surjektif Bijeksi
Fungsi 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 B f a 1 b 2 c 3
Fungsi Fungsi Pada Fungsi f dari himpunan A ke B dikatakan PADA (ONTO) atau SURJEKTIF (SURJECTIVE) jika setiap elemen B merupakan bayangan dari SATU atau LEBIH elemen A. A B f a 1 b 2 c 3 d
Fungsi 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 f a 1 b 2 c 3
Fungsi Fungsi Inversi Fungsi INVERSI (INVERS) atau BALIKAN adalah fungsi yang memetakan kembali B ke A. Dilambangkan dengan f-1 f A B a 1 f-1
Fungsi 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 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 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 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 kriptografi, fungsi pintu-kolong dan fungsi satu-arah banyak digunakan pada kriptografi kunci-publik.
Permutasi dan Kombinasi Adalah jumlah urutan berbeda dari pengaturan objek-objek. Permutasi dari n objek adalah :
Permutasi dan Kombinasi 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 dan Kombinasi 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 :
Permutasi dan 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.
Permutasi dan 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 :
Permutasi dan Kombinasi Contoh : Setiap karakter ASCII panjangnya 1 byte. Jumlah byte yang mengandung 3 buah bit 1 adalah
Teori Informasi Teori yang 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 nama hari.
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 untu, entropi untuk pesan yang menyatakan nama hari = 3 bit.
Teori Informasi Shannon merumuskan entropi pesan, disimbolkan dengan H, yang dihitung dengan persamaan : X=pesan, n=jumlah simbol berbeda di dalam pesan, pi=peluang kemunculan simbol ke-i
Teori Informasi 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 :
Teori Informasi Entropi 1,75 berarti setiap simbol dikodekan sebanyak 1,75 bit.
Teori Informasi Sifat-sifat entropi adalah : 0 ≤ H(X) ≤ log2(n) H(X) = 0 jika dan hanya jika pi = 1 untuk semua i dan pj = 0 untuk semua j ≠ i H(X) = log2(n) jika dan hanya jika pi = 1/n untuk setiap i, 1 ≤ i ≤ n
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. Contohnya, laju normal Bahasa Inggris adalah 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. Contohnya, dalam bahasa Inggris (26 huruf), R = log226 = 4,7 bit/huruf.
Teori Informasi Redundansi bahasa (D) didefinisikan 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).
Teori Informasi Contoh lain, pada pesan ASCII (256 karakter), R = log2256 = 8 dan r = 1,3 (sama seperti bahasa Inggris), sehingga 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 mengurangi redundansi pesan.
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 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.
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 : Jika n=0 maka m adalah PBB(m,n);stop; Kalau tidak, (yaitu n ≠ 0) lanjutkan ke langkah 2 Bagilah m dengan n dan misalkan r adalah sisanya 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
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.
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) .
Kongruen Contoh . 17 2 (mod 3) ( 3 habis membagi 17 – 2 = 15) (7 tidak habis membagi 12 – 2 = 10 ) –7 / 15 (mod 3) (3 tidak habis membagi –7 – 15 = –22)
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
Any Questions ? End of Sessions