Kriptografi kunci publik

Kriptografi kunci publik adalah sistem kriptografi yang menggunakan sepasang kunci, yaitu (1) kunci publik yang bisa disebarkan dan (2) kunci pribadi yang hanya diketahui oleh pemilik. Pembuatan kunci tersebut bergantung pada algoritme kriptografi yang menggunakan sifat matematis untuk menghasilkan fungsi satu arah. Keamanannya secara efektif hanya berasal dari kunci pribadi yang disimpan dengan baik; kunci publik dapat disebarkan tanpa mengurangi keamanannya. Dalam sistem tersebut, tiap orang dapat mengenkripsi pesan dengan kunci publik penerima. Namun, hasil enkripsi tersebut hanya bisa didekripsi oleh penerima dengan kunci pribadi. Hal ini memungkinkan untuk, misalnya, mengirim pesan kepada server dengan mengenkripsinya memakai kunci publiknya. Pesan tersebut dapat berisi kunci baru yang akan dipakai untuk kriptografi simetris. Sekarang, klien dan server dapat saling berkirim pesan dengan kunci simetris baru tersebut. Hal ini memiliki keuntungan karena dapat memanfaatkan laju kriptografi simetris yang lebih tinggi daripada kriptografi asimetris. Selain untuk enkripsi, kriptografi kunci publik juga bisa dipakai untuk autentikasi. Pengirim pesan dapat menambahkan tanda tangan digital pada akhir pesan. Siapa pun dapat memeriksa keaslian pesan dari pengirim dengan membandingkannya dengan kunci publik pengirim pesan. Bila gabungan pesan dan kunci publik cocok dengan tanda tangan digitalnya, pesan tersebut benar dibuat oleh pengirim pesan.