asymetric(5)

Upload: jujuk-kurniawan

Post on 06-Mar-2016

240 views

Category:

Documents


0 download

DESCRIPTION

Komputer Kriptografi

TRANSCRIPT

  • ASYMMETRIC CIPHER RSA

  • Asal Mulatahun 70-an Whitfield Diffie dan Martin Hellman menemukan teknik enkripsi asimetrik yang merevolusi dunia kriptografitahun 1977 tiga orang peneliti, yaitu R.L. Rivest, A. Shamir, dan L. Adleman, menemukan Algortima RSA teknik enkripsi

  • Apa Itu RSA ?Merupakan salah satu teknik kripto, dimana kunci untuk meng-enkrip dan untuk men-dekrip berbeda Contoh metode lain : ElGamal, Rabin, Elliptic Curve Cryptosistem (ECC), Diffie-Helman, LUC

  • Apa itu RSA ?

    Orang yang mempunyai kunci publik dpt meng-enkripsi tapi yang dapat men-dekripsi cuma yang th kunci privatKunci publik dapat dimiliki oleh sembarang orang, tapi kunci privat cuma orang tertentu atau bahkan hanya seorang.

  • Dasarnya?Algoritma ini dibuat berdasarkan fakta bahwa dalam perhitungan dengan komputer, untuk menemukan suatu bilangan prima yang besar sangat mudah, namun untuk mencari faktor dari perkalian dua bilangan prima yang besar sangat sulit, bahkan hampir tidak mungkin.

  • Prosesnya ?PenerimaPengirimMenerima kunci PublikMendekripsi Cipherteks dengan kunci provat

  • Algoritmanya?Proses enkripsi : C = Me mod n Proses dekripsi : M = Cd mod n

    Dimana :M : bilangan integer yang merepresentasikan pesan C : bilangan integer yang merepresentasikan pesan tersandie : kunci enkripsi (publik)d : kunci dekripsi (private)n : modulus (publik)

    Bilangan e dan n adalah kunci publik yg dapat diketahui umum

  • M dan C berupa Integer ?Bila seorang pengguna A ingin mengirimkan pesan rahasia ke seorang pengguna B yang memiliki suatu sistem kriptografi RSA.Langkah pertama yang harus dilakukan oleh pengguna A adalah merepresentasikan pesannya (biasanya berupa teks) dalam bentuk deretan bilangan integer non negatif pada suatu basis tertentu. Konversi pesan teks ke bentuk deretan bilangan integer ini dapat dilakukan menggunakan berbagai teknik, umumnya adalah standar ASCII 8-bit atau yang lainnya

  • Menghitung Nilai e, d, dan n :Ambil secara random dua bilangan prima p dan q yang besar dan berbeda, namun ukuran keduanya (jumlah digitnya dalam basis bilangan yang dipergunakan) haruslah sama. Hitung modulus n dan fungsi Eulers Totient (n) :n = p.q , (n) = (p-1)(q-1)Pilih suatu bilangan integer e dimana : 1
  • Kondisi EnkripsiAda kondisi yang harus dipenuhi dalam proses Enkripsi : (C = Me mod n )Bilangan e harus lebih kecil dari n, demikian juga bilangan M harus lebih kecil dari nBilangan M lebih kecil dari n adalah untuk menjamin terjadinya trasformasi satu-satu dengan domain dan range yang identik

  • Verifikasi ?Setelah menerima pesan tersandi C, penerima Ciphertext kemudian mendapatkan kembali pesan M semula dengan melakukan penghitungan :M = Cd mod n

    Proses dekripsi dapat diverifikasi sebagai berikut :M = (Me mod n)d mod nM = Med mod n

    Karena e.d = k. (n) +1 untuk integer k tertentu :M = Mk((n) +1) mod nM = (M (n))k. M mod n

    Jika gcd((n),n) = 1, maka teorema Euler menjamin bahwa M=M,

  • ContohMembuat 2 bilangan prima lebar p dan q, dimana p q. misalnya p = 17 dan q = 11Hitung n = pq = 17 x 11 = 187Hitung (n) = (p - 1)(q - 1) = (17-1)(11-1) = 16 x 10 = 160Menentukan bilangan terkecil e yang merupakan coprime (n) = 160, dengan syarat gcd (e, (n)) = 1, dimana 1 < e < (n), misalnya e = 7Menghitung d = e-1 mod (n) dimana d * 7 = 1 mod 160 dan d < 160. Harga yang benar adalah d = 23 karena 23 x 7 = 161 = 1 x 160 + 1, d dapat dihitung menggunakan euclids algorithmDari hasil perhitungan di atas didapatkan bahwa kunci publik (KU = {7, 187}), dimana e = 7 dan modulus n =187Sedangkan kunci privat (KR = {23, 187}), dimana d = 23 dan n =187. Membangkitkan Kunci

  • Dari Contoh di atasAkan dienkripsikan planteks huruf X maka huruf ini kita konversikan terlebih duhulu ke suatu nilai integer, misalnya kode ASCI-nya berarti 88

  • Contoh tersebut menunjukkan penggunaan kunci ini dilakukan pada pemasukan plaintext untuk M = 88

  • Enkripsinya ?Untuk enkripsi, dapat dihitung dengan syarat plaintext M < n, dan ciphertext C = Me (mod n), dimana C = 887 mod 187. 887 mod 187 = ((884 mod 187) x (882 mod 187) x (881 mod 187)) mod 187 ; dimana :881 mod 187 = 88882 mod 187 = 7744 mod 187 = 77884 mod 187 = 59.969.536 mod 187 = 132887 mod 187 = (88 x 77 x 132) mod 187 = 894.432 mod 187 = 11

  • Dekripsinya?Dekripsi dapat dihitung dengan ciphertext C dan plaintext M = Cd (mod n), dimana M = 1123 mod 1871123 mod 187 = ((111 mod 187) x (112 mod 187) x (114 mod 187) x (118 mod 187) x (1123 mod 187)) mod 187111 mod 187 = 11112 mod 187 = 121114 mod 187 = 14.641 mod 187 = 55118 mod 187 = 214.358.881 mod 187 = 331123 mod 187 = (11 x 121 x 55 x 33 x 33) mod 187 = 79.720.245 mod 187 = 88

    Proses ini akan menghasilkan pesan plaintext semula.