Back to IF4020 Kriptografi

Konsep Kriptografi Kunci Publik

Questions/Cues

  • Masalah apa pada kriptografi simetri yang mendorong lahirnya kunci publik?
  • Bagaimana gagasan Diffie-Hellman (1976) dan apa isi makalahnya?
  • Bagaimana cara kerja kunci publik dan kunci privat?
  • Persoalan matematika sulit apa yang menjadi dasar keamanannya?
  • Apa kelebihan dan kelemahan kunci publik dibanding simetri?
  • Apa tiga aplikasi utamanya?

Reference Points

  • IF4020 Kriptografi — Kriptografi Kunci-Publik (Slides 2-24)

Masalah Kriptografi Simetri

Sebelum pertengahan 1970-an hanya ada kriptografi kunci-simetri: pengirim dan penerima berbagi kunci rahasia yang sama, dan . Masalahnya: bagaimana membagikan kepada penerima?

  • Mengirim kunci lewat saluran publik (telepon, internet, pos) sangat tidak aman.
  • Kunci harus dikirim lewat saluran kedua yang benar-benar aman (kurir) atau disepakati lebih dulu secara tatap muka.
  • Cara offline itu umumnya lambat, mahal, dan tidak praktis (masalah yang sama dengan OTP, lihat Kelemahan dan Penggunaan OTP).

Sejarah

Pada 1976 Whitfield Diffie dan Martin E. Hellman (Stanford) menulis makalah “New Directions in Cryptography” (IEEE), penemu konsep kriptografi kunci-publik. Makalah itu belum memuat algoritma kunci-publik yang sesungguhnya, hanya konsep dan persoalan matematika yang dipakai.

Cara Kerja

Enkripsi dan dekripsi memakai kunci berbeda:

  • Kunci publik () untuk mengenkripsi, tidak rahasia.
  • Kunci privat () untuk mendekripsi, rahasia.

Karena kuncinya tidak sama, disebut juga kriptografi nir-simetri (asymmetric-key). Contoh: Bob mengirim ke Alice dengan mengenkripsi memakai kunci publik Alice; Alice mendekripsi dengan kunci privatnya sendiri. Bila Alice membalas, ia memakai kunci publik Bob. Kunci privat tidak pernah dikirim.

sequenceDiagram
    participant B as Bob
    participant E as Eve/Carol (penyadap)
    participant A as Alice
    A->>B: kunci publik Alice (saluran tak aman)
    B->>A: C = E(kunci publik Alice, P)
    Note over E: melihat C dan kunci publik,<br/>tidak bisa mendekripsi
    A->>A: P = D(kunci privat Alice, C)

Analogi kotak surat / PO Box: alamat kotak = kunci publik, kunci kotak = kunci privat. Siapa pun bisa memasukkan surat, hanya pemilik kunci yang bisa membukanya.

Kunci publik dapat disimpan di repositori publik dan dikirim lewat saluran tak aman (bahkan saluran yang sama dengan cipherteks). Penyadap yang melihat cipherteks dan kunci publik tetap tidak dapat mendekripsi karena tak tahu kunci privat. Dasarnya: menghitung kunci publik mudah, tetapi menurunkan kunci privat dari kunci publik secara komputasi hampir mustahil (infeasible), sedangkan enkripsi/dekripsi itu sendiri mudah.

Persoalan Sulit sebagai Dasar Keamanan

PersoalanDefinisi singkatAlgoritma
Pemfaktoranfaktorkan menjadi faktor prima (mis. ; )RSA
Logaritma diskritcari dengan (mis. ); kebalikan perpangkatan modular ( mudah, sulit)ElGamal, DSA, Diffie-Hellman
ECDLPdiberi titik pada kurva eliptik, cari dengan ECC
Knapsackcari dengan Merkle-Hellman
Persamaan Diophantinesolusi integer non-negatif (bentuk polinom: NP-complete)Diophantine cryptosystem

Simetri vs Kunci Publik

Kunci-simetriKunci-publik
Kecepatanlebih cepatlebih lambat (bilangan besar, pangkat besar)
Ukuran kuncirelatif pendekrelatif besar
Distribusi kunciharus lewat saluran aman; kunci sering diganti tiap sesihanya kunci privat yang dirahasiakan, tak perlu dikirim; pasangan kunci jarang diganti
Otentikasi pengirimlangsung (hanya dua pihak tahu kunci)tidak dari cipherteks (kunci publik diketahui semua orang)
Ukuran ciphertekssama dengan plaintekslebih besar (2-4 kali)
Bukti keamanantidak terbukti amantidak terbukti aman (bergantung asumsi persoalan sulit)

Keunggulan lain kunci publik: jumlah kunci ditekan (tiap orang cukup satu pasang; kunci orang lain diambil dari repositori), dapat mengamankan pengiriman kunci simetri, dan beberapa algoritmanya bisa dipakai untuk tanda tangan digital.

Tiga Aplikasi Utama

  1. Enkripsi/dekripsi pesan: RSA, Rabin, Knapsack, ElGamal, Paillier, ECEG.
  2. Tanda tangan digital (otentikasi pesan dan pengirim): RSA, ElGamal, DSA, ECC.
  3. Pertukaran kunci (berbagi kunci simetri): Diffie-Hellman.

Algoritma lain: EPOC, McEliece, XTR, Kyber, Cramer-Shoup, dan lain-lain.

Summary

Kriptografi simetri terbentur masalah distribusi kunci. Diffie dan Hellman (1976, New Directions in Cryptography) melahirkan konsep kunci publik: pasangan kunci publik (enkripsi, tidak rahasia) dan kunci privat (dekripsi, rahasia), , , sehingga kunci privat tak pernah dikirim dan kunci publik boleh melewati saluran tak aman. Keamanannya bergantung pada persoalan mudah dihitung searah tetapi sukar dibalik: pemfaktoran (RSA), logaritma diskrit (ElGamal, DSA, DH), ECDLP (ECC), knapsack, Diophantine. Dibanding simetri, ia lebih lambat, berkunci dan cipherteks lebih besar, tak memberi otentikasi langsung, tetapi memangkas jumlah kunci dan membuka tanda tangan digital serta pertukaran kunci. Algoritma paling terkenal dibahas di Algoritma RSA, Algoritma ElGamal, Hybrid Cryptography dan Diffie-Hellman, dan Algoritma Knapsack Merkle-Hellman.