algoritma kriptografi kunci public XTR

Kriptografi Kunci Publik XTR
Bahan Kuliah
IF4020 Kriptografi

Pendahuluan

  • Sampai akhir tahun 1970, hanya ada sistem kriptografi kunci-simetri.
  • Satu masalah besar dalam sistem kriptografi: bagaimana mengirimkan kunci rahasia kepada penerima ?
  • Mengirim kunci rahasia pada saluran publik (telepom, internet, pos) sangat tidak aman.
  • Oleh karena itu, kunci harus dikirim melalui saluran kedua yang benar benar aman.
  • Saluran kedua tersebut umumnya lambat dan mahal.
  • Ide kriptografi kunci-nirsimetri ( asymmetric-key cryptography) muncul pada tahun 1967.
  • Makalah pertama perihal kriptografi kunci-publik ditulis oleh Diffie-Hellman (Ilmuan dari stanford University ) di IEEE 
  • Judul makalahnya "New Direction in Cryptography".
  • Namun pada saat itu belum ditemukan algoritma kroptografi kunci-nirsimetri yang sesungguhnya.

Gambar : Whitfield Diffie dan Martin Hellman, penemu kriptoggrafi kunci publik XTR
  • Kriptografi kunci-nirsimetri disebut juga kriptografi kunci publik jika kunci untuk enkripsi dibuat public 
  • Pada kriptografi kunci-publik, masing-masing pengirim dan penerima mempunyai sepasang kunci: 

1.    Kunci publik: untuk mengenkripsi pesan
2.    Kunci privat: untuk mendekripsi pesan.
  •       Ee(m) = c   dan Dd(c) = m
  • Misalkan: Pengirim pesan: Fahmi Penerima pesan: Nazir
  • Fahmi mengenkripsi pesan dengan kunci publik Nazir
  • Nazir mendekripsi pesan dengan kunci privatnya (kunci privat Nazir)
  • Sebaliknya, Nazir mengenkripsi pesan dengan kunci publik Fahmi
  • Fahmi mendekripsi pesan dengan kunci privatnya (kunci privat Fahmi)
  • Dengan mekanisme seperti ini, tidak ada kebutuhan mengirimkan kunci rahasia (seperti halnya pada sistem kriptografi simetri
  • Idenya mirip dengan mengirim surat menggunakan kotak yang dapat dikunci dengan gembok.
  • Misalkan Fahmi dan Nazir akan berkirim surat dengan sistem kriptografi kunci publik. Analoginya adalah sbb:
  • Fahmi mengirimkan kotak surat dengan gembok dalam keadaan terbuka. Kunci gembok dipegang oleh Fahmi.

Gembok terbuka = kunci publik Fahmi
Kunci gembok = kunci privat Fahmi
  • Nazir memasukkan surat ke dalam kotak, lalu menekan gembok sehingga terkunci. Surat di dalam kotak = mengenkripsi surat 

      Kotak digembok dengan kunci publik Fahmi
  •        Fahmi menerima kotak surat yang telah terkunci dari Nazir.
  •        Fahmi membuka kotak surat dengan kunci yang dimilikinya
Kunci gembok = kunci privat Fahmi
Membuak kotak surat dengan kunci = mendekripsi surat

  •        Hal yang sama dilakukan Nazir jika membalas/mengirim surat kepada Fahmi.
  •        Nazir mengirimkan kotak surat dengan gembok dalam keadaan terbuka. Kunci gembok dipegang oleh Nazir.
Gembok terbuka = kunci publik Nazir
Kunci gembok = kunci privat Nazir

  •        Fahmi memasukkan surat ke dalam kotak, lalu menekan gembok sehingga terkunci.
             Surat di dalam kotak = mengenkripsi surat
             Kotak digembok dengan kunci publik Nazir

  •        Nazir menerima kotak surat yang telah terkunci dari Fahmi.
  •        Nazir membuka kotak surat dengan kunci yang dimilikinya.
Kunci gembok = kunci privat Nazir
Membuka kotak surat dengan kunci = mendekripsi surat

  •        Fahmi dan Nazir sudah berkomunikasi dengan system kriptografi kunci-publik.
  •        Kunci enkripsi dapat dikirim melalui saluran yang tidak perlu aman (unsecure channel).
  •        Saluran yang tidak perlu aman ini mungkin sama dengan saluran yang digunakan untuk mengirim cipherteks.
Dua keuntungan kriptografi kunci-publik:
1. Tidak diperlukan pengiriman kunci rahasia
2. Jumlah kunci dapat ditekan

  •        Kriptografi kunci-publik didasarkan pada fakta:
1.  Komputasi untuk enkripsi/dekripsi pesanmudah dilakukan.
2.  Secara komputasi hampir tidak mungkin(infeasible) menurunkan kunci privat, d, bila diketahui kunci publik, e.

  •        Pembangkitan sepasang kunci pada kriptografi kunci-publik didasarkan pada persoalan integer klasik sebagai berikut:
1.  Pemfaktoran
Diberikan bilangan bulat n. Faktorkan n menjadi factor faktor primanya
Contoh: n = 10 = 2 * 5 n = 60 = 2 * 2 * 3 * 5 = 252601 = 41 * 61 * 101n = 213 – 1 = 3391 * 23279 * 65993 * 1868569 *1066818132868207
Semakin besar n, semakin sulit memfaktorkan (butuh waktu sangat lama).                        
Algoritma yang menggunakan prinsip ini: RSA
2.       Logaritma diskrit
Temukan x sedemikian sehingga ax b (mod n)
à sulit dihitung
Contoh: jika 3x 15 (mod 17) maka x = 6
Semakin besar a, b, dan n semakin sulit memfaktorkan (butuh waktu lama).
Algoritma yang menggunakan prinsip ini: ElGamal, DSA
Catatan: Persoalan logaritma diskrit adalah kebalikan dari persoalan perpangkatan modular: ax mod n à mudah  dihitung
3.       Elliptic Curve Discrete Logarithm Problem
(ECDLP)
Diberikan P dan Q adalah dua buah titik di kurva eliptik, carilah integer n sedemikian sehingga P = n Q
Algoritma yang menggunakan prinsip ini: Elliptic
Curve Cryptography (ECC)

  •        Analogi kriptografi kunci-simetri dan kriptografi kunci-publik dengan kotak surat yang dapat dikunci dengan gembok.
  •        Kriptografi kunci-simetri: Alice dan Bob memiliki kunci gembok yang sama
  •        Kriptografi kunci-publik: Bob mengirimi Alice gembok dalam keadaan tidak terkunci (gembok = kunci publik Bob, kunci gembok = kunci privat Bob).

Kriptografi Kunci-Simetri vs Kriptografi  Kunci-publik

Kelebihan kriptografi kunci-simetri:
1. Proses enkripsi/dekripsi membutuhkan waktu yang singkat.
2. Ukuran kunci simetri relatif pendek
3. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.
Kelemahan kriptografi kunci-simetri:
1. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini.
2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.
Kelebihan kriptografi kunci-publik:
1. Hanya kunci privat yang perlu dijaga kerahasiaannya  oleh seiap entitas yang berkomuniaksi. Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.
2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.
3. Dapat digunakan untuk mengamankan pengiriman kunci simetri.
4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan (akan dijelaskan pada materi kuliah selanjutnya)
Kelemahan kriptografi kunci-publik:
1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.
2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).
3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.
5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher).
Kebanyakan algoritma mendasarkan keamanannya pada sulitnya memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dsb) yang menjadi dasar pembangkitan kunci.

Aplikasi Kriptografi Kunci-Publik

   Meskipun masih berusia relatif muda (dibandingkan dengan algoritma simetri), tetapi algoritma kunci-publik mempunyai aplikasi yang sangat luas:
1.    Enkripsi/dekripsi pesan
Algoritma: RSA, Rabin, ElGamal , ECC
2.    Digital signatures
Tujuan: membuktikan otentikasi pesan/pengirim
Algoritma: RSA, ElGamal, DSA, ECC
3.    Pertukaran kunci (key exchange) Tujuan: mempertukarkan kunci simetri
Algoritma: Diffie-Hellman

Daftar Pustaka :
-    (http://budi.insan.co.id/courses/ec7010)

Comments

Popular posts from this blog

MODEL-MODEL PENGEMBANGAN PERANGKAT LUNAK