KRIPTOGRAFI KUNCI PUBLIK publickey cryptography Topik Pengamanan Jaringan
KRIPTOGRAFI KUNCI PUBLIK (public-key cryptography) Topik Pengamanan Jaringan Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2011
Istilah � Plaintext: � Pesan atau data yang dapat dibaca yang dimasukkan kedalam algoritma sebagai input. � Encryption algorithm: � Algoritma enkripsi yang melakukan bermacam-macam transformasi pada plaintext � Public and private keys: � Pasangan kunci yang terpilih sehingga jika yang satu digunakan untuk enkripsi maka yang lain digunakan untuk dekripsi. � Ciphertext: � Pesan yang segera dihasilkan sebagai output. Tergantung pada plaintext dan kunci. � Untuk sebuah pesan, dua kunci yang berbeda akan menghasilkan dua ciphertext yang berbeda. � Decryption algorithm: � Algoritma yang menerima cipher text dan mencocokkan kunci sehingga menghasilkan plaintext yang asli.
Latar Belakang �Dua masalah pada symmetric encryption: �Distribusi kunci �Penggunaan secara luas akan membuka peluang ketidakamanan data yang dienkripsi. �Contoh Asymmetric encryption: Vigenere, DES, Triple DES, dsb.
Public-Key Cryptosystem: Secrecy Y = E(PUb, X) X = D(PRb, Y) Public-Key Cryptosystem: Authentication
Algoritma RSA (Rivest-Shamir. Adleman) � Diperkenalkan oleh: Rivest-Shamir-Adleman � Algoritma enkripsi: �C = Me mod n �M = Cd mod n = (Me)d mod n = Med mod n �C adalah Chiphertext �M adalah Message �e and d adalah invers multiplikatif dari modulo ø(n), dimana ø(n) adalah Euler totient function. �Untuk p, q bilangan prima, ø(n) = (p-1)(q-1) �e. d ≡ 1 mod ø(n) �d ≡ e 1 mod ø(n)
Skema RSA � e adalah kunci publik � d adalah kunci privat � Misal, A mempunyai kunci e dan d. Kunci e dipengangnya, kunci d diberikan ke B. � Jika user A ingin mengirim M ke B, maka menggunakan e untuk menghitung C dengan C = Me mod n kemudian mentransmisikan C. � Disisi penerima ciphertext, user B mendekrip dengan kunci d untuk menghitung M = Cd mod n
Contoh � Pilih dua bilangan prima: p = 11, dan q = 17 � Hitung n = p. q = 17 x 11 = 187 � Hitung (n) = (p-1)(q-1) = 16 x 10 = 160 � Pilih e yang relatif prima terhadap (n) = 160 dan kurang dari (n), pilih e = 7. � Pilih d, dengan syarat e. d ≡ 1 (mod 160), Maka nilai d yang cocok adalah 23. � Karena 23 * 7 = 161 = 160 + 1. � public key PU = {7, 187} � private key PR = {23, 187}.
Latihan 1 �Jika p = 3, dan q = 11. �Message = 4 �Bagaimana kunci publik dan kunci privatnya ? �Bagaimana ciphertext dari pesan ketika orang lain ingin mengenkripnya dengan kunci publik ? �Buktikan hasil ciphertext tersebut benar, dengan mendekripnya kembali menjadi plaintext menggunakan kunci privat !
Latihan 2 �Jika p = 5, dan q = 17. �Message = 80 �Bagaimana kunci publik dan kunci privatnya ? �Jika pemilik kunci, ingin mengirim pesan tersebut, kunci apa yang digunakan ? publik atau privat ? �Jika penerima akam membuka pesan dalam ciphertext, kunci apa yang digunakan ?
- Slides: 12