Jabarkan Penjelasan dari Kriptografi kunci publik

Sebelum pertengahan 1970-an, semua sistem penyandian menggunakan algoritme kunci simetris yang menggunakan kunci kriptografi yang sama untuk enkripsi oleh pengirim dan dekripsi oleh penerima. Kunci tersebut rahasia dan harus disimpan. Pada awalnya, kunci tersebut harus saling ditukarkan antarpihak secara aman. Namun, hal tersebut semakin sulit untuk dilakukan seiring bertambahnya jumlah pihak yang berhubungan, akibat ketiadaan jalur pengiriman yang aman, atau bila kunci sering diganti. Terlebih lagi, bila tiap pesan tidak boleh dibaca oleh pihak lain, kunci yang berbeda dipakai untuk sepasang pihak (pemakai).

Kebalikannya, dalam sistem kunci publik, kunci publik dapat disebarluaskan dan hanya kunci pribadi yang harus dirahasiakan oleh pemiliknya (penerima).

Contoh pemakaian kriptografi kunci publik antara lain

Enkripsi kunci publik, yaitu enkripsi yang menggunakan kunci publik penerima untuk mengenkripsi pesan yang dikirim. Pesan tersebut tidak bisa didekripsi selain oleh pemilik kunci pribadi (penerima). Hal ini dipakai untuk memastikan kerahasiaan pesan.

Tanda tangan digital, yaitu tanda tangan yang menyertai pesan yang dikirim untuk memastikan keaslian bahwa yang mengirim benar pengirim yang dimaksud. Hal ini juga berguna untuk memastikan bahwa pesan yang dikirim tidak berubah selama pengiriman.

Masalah penting dalam kriptografi kunci publik adalah pembuktian bahwa kunci publik tersebut autentik (asli), yaitu benar-benar dimiliki oleh si penerima dan tidak berubah oleh pihak lain. Ada beberapa cara untuk mengatasi masalah ini, antara lain

Infrastruktur kunci publik, yaitu infrastruktur yang terdiri dari pihak ketiga (otoritas sertifikat/CA) yang memverifikasi kepemilikan pasangan kunci. TLS menggunakan ini.

Jaringan kepercayaan, yaitu autentikasi terdesentralisasi yang menggunakan pernyataan individu untuk menautkan kunci dengan pemiliknya. PGP memakai ini dan juga pencarian dalam sistem penamaan domain (DNS). Sistem DKIM yang menandatangani surel juga memakai ini.