150 likes | 502 Views
Kriptografi Kunci Publik ( Asimetry Key) Algoritma RSA Materi 7. Pemrograman Jaringan. Dosen : Eko Prasetyo Teknik Informatika UMG 2012. Kriptografi Kunci Publik. Dua masalah pada symmetric encryption: Distribusi kunci
E N D
KriptografiKunciPublik (Asimetry Key)AlgoritmaRSAMateri7 PemrogramanJaringan Dosen: EkoPrasetyo TeknikInformatika UMG 2012
KriptografiKunciPublik • Duamasalahpada symmetric encryption: • Distribusikunci • Penggunaankuncisecaraluasakanmembukapeluangketidakamanan data yang dienkripsi. • Contoh symmetric encryption: Caesar, Hill, Vigenere, DES, Triple DES, dsb. • Algoritmaasimetrymenggunakansatukunciuntukenkripsi, dankunci yang lain (tapiterhubung) untukmelakukandekripsi. • Karakteristikpenting: • Komputasinya infeasible untukmenentukankuncidekripsijikadiketahuihanyaalgoritmakriptografidankuncienkripsi • Menggunakanduakunci yang terkait, satuuntukenkripsi, satuuntukdekripsi.
Istilahpenting • Plaintext: • Pesanatau data yang dapatdibaca yang dimasukkankedalamalgoritmasebagai input. • Encryption algorithm: • Algoritmaenkripsi yang melakukanbermacam-macamtransformasipada plaintext • Public and private keys: • Pasangankunci yang terpilihsehinggajika yang satudigunakanuntukenkripsimaka yang lain digunakanuntukdekripsi. • Ciphertext: • Pesan yang segeradihasilkansebagai output. Tergantungpada plaintext dankunci. • Untuksebuahpesan, duakunci yang berbedaakanmenghasilkanduaciphertext yang berbeda. • Decryption algorithm: • Algoritma yang menerima cipher text danmencocokkankuncisehinggamenghasilkan plaintext yang asli.
SistemKriptografiKunciPublik • Setiap user membangkitkanpasangankunci, untukenkripsidandekripsi • Setiap user memberikansatudariduakuncikepublik (diketahuiorangluar), sedangkansatukuncilagitetapdirahasiakan. • Setiap user memegangkumpulankuncipublikdariorang lain • Jika Bob inginmengirimpesanrahasiake Alice, Bob mengenkrippesanmenggunakankuncipublik Alice • Ketika Alice menerimapesan, diamendekripmenggunakankunci privatenya.
Perbandingan(enkripsikonvensional) dan (enkripsikuncipublik) • Yang perludilakukan: • Algoritma yang samadengankunci yang samadigunakanuntukenkripsidandekripsi • Pengirimdanpenerimaharus men-share algoritmadankunci • Keamanan yang diperlukan: • Kunciharusdijagakerahasiaannya • Tidakmungkindilakukan decipher pesanjikatidakadainformasi yang tersedia • Denganmengetahuialgoritmaditambahsampelciphertextharustidakcukupuntukmenentukankunci • Yang perludilakukan: • Satualgoritmadipakaiuntukenkripsidandekripsidenganpasangankunci, satuuntukenkripsisatuuntukdekripsi • Pengirimdanpenerimaharusmempunyaisatudarikunci yang cocok (tidaksatukunci yang sama) • Keamanan yang diperlukan: • Satudaruduakunciharusdijagakerahasiaannya • Tidakmungkindilakukan decipher pesanjikatidakadainformasi yang tersedia • Denganmengetahuialgoritmaditambahsatudariduakunci, ditamnahsampelciphertextharustidakcukupuntukmenentukankunci yang lain
Adatigaskema cryptosystem Secrecy Authentication Y = E(PUb, X) X = D(PRb, Y) Y = E(PRa, X) X = E(PUa, Y)
Adatigaskema cryptosystem SecrecydanAuthentication Z = E(PUb, E(PRa, X)) X = D(PUa, E(PRb, Z))
PenerapanKriptosystemKunciPublik • Encryption/decryption: Pengirimmengenkrippesanmenggunakankuncipublikpenerima. • Digital Signature: Pengirim “menandatangani” pesandengankunci private. • Key Exchange: Duapihakbekerjasamauntukmenukarkankunci.
AlgoritmaRSA • Diperkenalkanoleh: Rivest-Shamir-Adlemantahun 1978 • Algoritmaenkripsi: • C = Me mod n • M = Cd mod n = (Me)d mod n = Med mod n • C adalahChiphertext • M adalah Message • e dan d adalahinversmultiplikatifdari modulo ø(n), dimana ø(n) adalah Euler totient function. • Untuk p, q bilangan prima, ø(n) = (p-1)(q-1) • e.d ≡ 1 mod ø(n) • d ≡ e1 mod ø(n)
RSA • e adalahkuncipublik • d adalahkunciprivat • Misal, A mempunyaikunci e dan d. Kuncid dipegangnya, kuncie diberikanke B. • Jika user B inginmengirim M keA (hanya A yang bolehmembuka M), makamenggunakan e untukmenghitung C dengan C = Me mod n kemudianmentransmisikan C. • Disisipenerimaciphertext, user A mendekripdengankunci d untukmenghitung M = Cd mod n
Contoh • Pilihduabilangan prima: p = 17, dan q = 11 • Hitungn = p.q = 17 x 11 = 187 • Hitung(n) = (p-1)(q-1) = 16 x 10 = 160 • Pilih e yang relatif prima terhadap (n) = 160 dankurangdari(n), pilih e = 7. • Pilih d, dengansyarate.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 = ABC • Bagaimanakuncipublikdankunciprivatnya ? • Bagaimanaciphertextdaripesanketikaorang lain inginmengenkripnyadengankuncipublik ? • Buktikanhasilciphertexttersebutbenar, denganmendekripnyakembalimenjadi plaintext menggunakankunciprivat !
Latihan 2 • Jika p = 5, dan q = 17. • Message = ABC • Bagaimanakuncipublikdankunciprivatnya ? • Jikapemilikkunci, inginmengirimpesantersebut, kunciapa yang digunakan ? publikatauprivat ? • Jikapenerimaakammembukapesandalamciphertext, kunciapa yang digunakan ?