Rinaldi Munir/IF5054 Kriptografi1
Kriptografi Kunci-Publik
Bahan Kuliah
IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi2
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
(telepon, 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.
Rinaldi Munir/IF5054 Kriptografi3
• Ide kriptografi kunci-nirsimetri (asymmetric-key
cryptography) muncul pada tahun 1976.
• Makalah pertama perihal kriptografi kunci-publik
ditulis oleh Diffie-Hellman (ilmuwan dari
Stanford University) di IEEE
• Judul makalahnya “New Directions in
Cryptography”.
• Namun pada saat itu belum ditemukan algoritma
kriptografi kunci-nirsimetri yang sesungguhnya.
Rinaldi Munir/IF5054 Kriptografi4
Gambar Whitfield Diffie dan Martin Hellman,
penemu kriptografi kunci-publik
Rinaldi Munir/IF5054 Kriptografi5
• Kriptografi kunci-nirsimtri disebut juga kriptografi kunci-
publik
• 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
Kunci publik, e
Enkripsi
Ee
(m) = c
Dekripsi
Dd (c) = m
Cipherteks, c
Plainteks, m Plainteks, m
Kunci privat, d
Rinaldi Munir/IF5054 Kriptografi6
• Misalkan: Pengirim pesan: Alice
Penerima pesan: Bob
• Alice mengenkripsi pesan dengan kunci publik Bob
• Bob mendekripsi pesan dengan kunci privatnya (kunci
privat Bob)
• Sebaliknya, Bob mengenkripsi pesan dengan kunci
publik Alice
• Alice mendekripsi pesan dengan kunci privatnya
(kunci privat Alice)
• Dengan mekanisme seperti ini, tidak ada kebutuhan
mengirimkan kunci rahasia (seperti halnya pada
sistem kriptografi simetri
Rinaldi Munir/IF5054 Kriptografi7
Kriptografi Kunci-publik
(http://budi.insan.co.id/courses/ec7010)
Encryption Decryption
PlaintextCiphertext
L) 8 * @HgMy phone
555- 1234
My phone
555- 1234
Plaintext
Public key
Private key
Public key repository
Alice Bob
Rinaldi Munir/IF5054 Kriptografi8
• 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.
Rinaldi Munir/IF5054 Kriptografi9
Penyadap
Enkripsi
Ee
(m) = c
Sumber
plainteks
Dekripsi
De
(c) = m
Tujuan
Sumber
kunci
Alice Bob
c
m
e
d
m
Saluran tidak-aman
Saluran tidak-aman
Carol
Rinaldi Munir/IF5054 Kriptografi10
Dua keuntungan kriptografi kunci-publik:
1. Tidak diperlukan pengiriman kunci
rahasia
2. Jumlah kunci dapat ditekan
Rinaldi Munir/IF5054 Kriptografi11
• Kriptografi kunci-publik didasarkan pada fakta:
1. Komputasi untuk enkripsi/dekripsi pesan
mudah dilakukan.
2. Secara komputasi hampir tidak mungkin
(infeasible) menurunkan kunci privat, d,
bila diketahui kunci publik, e.
Rinaldi Munir/IF5054 Kriptografi12
• Pembangkitan sepasang kunci pada kriptografi kunci-
publik didasarkan pada persoalan integer klasik sebagai
berikut:
1. Pemfaktoran
Diberikan bilangan bulat n. Faktorkan n menjadi faktor
primanya
Contoh: 10 = 2 * 5
60 = 2 * 2 * 3 * 5
252601 = 41 * 61 * 101
213
– 1 = 3391 * 23279 * 65993 * 1868569 *
1066818132868207
Semakin besar n, semakin sulit memfaktorkan (butuh
waktu sangat lama).
Algoritma yang menggunakan prinsip ini: RSA
Rinaldi Munir/IF5054 Kriptografi13
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
Rinaldi Munir/IF5054 Kriptografi14
• 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).
Rinaldi Munir/IF5054 Kriptografi15
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.
Rinaldi Munir/IF5054 Kriptografi16
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.
Rinaldi Munir/IF5054 Kriptografi17
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)
Rinaldi Munir/IF5054 Kriptografi18
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.
Rinaldi Munir/IF5054 Kriptografi19
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.
Rinaldi Munir/IF5054 Kriptografi20
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
2. Digital signatures
Tujuan: membuktikan otentikasi pesan/pengirim
Algoritma: RSA, ElGamal, DSA, GOST
3. Pertukaran kunci (key exchange)
Tujuan: mempertukarkan kunci simetri
Algoritma: Diffie-Hellman

kriptografi kunci publik

  • 1.
    Rinaldi Munir/IF5054 Kriptografi1 KriptografiKunci-Publik Bahan Kuliah IF5054 Kriptografi
  • 2.
    Rinaldi Munir/IF5054 Kriptografi2 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 (telepon, 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.
  • 3.
    Rinaldi Munir/IF5054 Kriptografi3 •Ide kriptografi kunci-nirsimetri (asymmetric-key cryptography) muncul pada tahun 1976. • Makalah pertama perihal kriptografi kunci-publik ditulis oleh Diffie-Hellman (ilmuwan dari Stanford University) di IEEE • Judul makalahnya “New Directions in Cryptography”. • Namun pada saat itu belum ditemukan algoritma kriptografi kunci-nirsimetri yang sesungguhnya.
  • 4.
    Rinaldi Munir/IF5054 Kriptografi4 GambarWhitfield Diffie dan Martin Hellman, penemu kriptografi kunci-publik
  • 5.
    Rinaldi Munir/IF5054 Kriptografi5 •Kriptografi kunci-nirsimtri disebut juga kriptografi kunci- publik • 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 Kunci publik, e Enkripsi Ee (m) = c Dekripsi Dd (c) = m Cipherteks, c Plainteks, m Plainteks, m Kunci privat, d
  • 6.
    Rinaldi Munir/IF5054 Kriptografi6 •Misalkan: Pengirim pesan: Alice Penerima pesan: Bob • Alice mengenkripsi pesan dengan kunci publik Bob • Bob mendekripsi pesan dengan kunci privatnya (kunci privat Bob) • Sebaliknya, Bob mengenkripsi pesan dengan kunci publik Alice • Alice mendekripsi pesan dengan kunci privatnya (kunci privat Alice) • Dengan mekanisme seperti ini, tidak ada kebutuhan mengirimkan kunci rahasia (seperti halnya pada sistem kriptografi simetri
  • 7.
    Rinaldi Munir/IF5054 Kriptografi7 KriptografiKunci-publik (http://budi.insan.co.id/courses/ec7010) Encryption Decryption PlaintextCiphertext L) 8 * @HgMy phone 555- 1234 My phone 555- 1234 Plaintext Public key Private key Public key repository Alice Bob
  • 8.
    Rinaldi Munir/IF5054 Kriptografi8 •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.
  • 9.
    Rinaldi Munir/IF5054 Kriptografi9 Penyadap Enkripsi Ee (m)= c Sumber plainteks Dekripsi De (c) = m Tujuan Sumber kunci Alice Bob c m e d m Saluran tidak-aman Saluran tidak-aman Carol
  • 10.
    Rinaldi Munir/IF5054 Kriptografi10 Duakeuntungan kriptografi kunci-publik: 1. Tidak diperlukan pengiriman kunci rahasia 2. Jumlah kunci dapat ditekan
  • 11.
    Rinaldi Munir/IF5054 Kriptografi11 •Kriptografi kunci-publik didasarkan pada fakta: 1. Komputasi untuk enkripsi/dekripsi pesan mudah dilakukan. 2. Secara komputasi hampir tidak mungkin (infeasible) menurunkan kunci privat, d, bila diketahui kunci publik, e.
  • 12.
    Rinaldi Munir/IF5054 Kriptografi12 •Pembangkitan sepasang kunci pada kriptografi kunci- publik didasarkan pada persoalan integer klasik sebagai berikut: 1. Pemfaktoran Diberikan bilangan bulat n. Faktorkan n menjadi faktor primanya Contoh: 10 = 2 * 5 60 = 2 * 2 * 3 * 5 252601 = 41 * 61 * 101 213 – 1 = 3391 * 23279 * 65993 * 1868569 * 1066818132868207 Semakin besar n, semakin sulit memfaktorkan (butuh waktu sangat lama). Algoritma yang menggunakan prinsip ini: RSA
  • 13.
    Rinaldi Munir/IF5054 Kriptografi13 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
  • 14.
    Rinaldi Munir/IF5054 Kriptografi14 •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).
  • 15.
    Rinaldi Munir/IF5054 Kriptografi15 KriptografiKunci-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.
  • 16.
    Rinaldi Munir/IF5054 Kriptografi16 Kelemahankriptografi 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.
  • 17.
    Rinaldi Munir/IF5054 Kriptografi17 Kelebihankriptografi 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)
  • 18.
    Rinaldi Munir/IF5054 Kriptografi18 Kelemahankriptografi 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.
  • 19.
    Rinaldi Munir/IF5054 Kriptografi19 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.
  • 20.
    Rinaldi Munir/IF5054 Kriptografi20 AplikasiKriptografi 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 2. Digital signatures Tujuan: membuktikan otentikasi pesan/pengirim Algoritma: RSA, ElGamal, DSA, GOST 3. Pertukaran kunci (key exchange) Tujuan: mempertukarkan kunci simetri Algoritma: Diffie-Hellman