T: Jika Anda mengayuh mundur pada ikan, apakah itu mundur?
SEBUAH: ???
Seekor ikan bukan sepeda. Demikian pula, Anda tidak dapat menggunakan kunci pribadi untuk mengenkripsi pesan atau kunci publik untuk mendekripsi pesan. Mereka tidak memiliki peralatan yang tepat.
Dengan RSA , yang merupakan cryptosystem kunci publik yang populer tetapi bukan satu-satunya, kunci privat dan kunci publik memiliki sifat matematika yang sama, sehingga dimungkinkan untuk menggunakannya secara bergantian dalam algoritma. (Namun, mereka tidak memiliki properti keamanan yang sama - kunci publik biasanya mudah ditebak dari kunci privat.) Anda dapat mengambil algoritma enkripsi RSA dan memberinya kunci pribadi, atau algoritma dekripsi RSA dan memberinya publik kunci. Namun, hasilnya tidak bermakna menurut algoritma standar.
Simetri antara kunci publik dan kunci privat ini tidak mencakup sebagian besar cryptosystem kunci publik lainnya. Secara umum, kunci publik bukan jenis objek matematika yang tepat untuk digunakan untuk algoritma dekripsi, dan kunci pribadi bukan jenis objek matematika yang tepat untuk digunakan untuk algoritma enkripsi.
Karena itu, cryptosystem kunci publik didasarkan pada konsep fungsi pintu jebakan . Fungsi satu arah adalah fungsi yang mudah dihitung, tetapi inversnya sulit dihitung. Fungsi pintu jebakan seperti fungsi satu arah, tetapi ada nilai "ajaib" yang membuat inversnya mudah dihitung.
Jika Anda memiliki fungsi pintu jebakan, Anda dapat menggunakannya untuk membuat algoritma enkripsi kunci-publik: maju (ke arah yang mudah), fungsi tersebut mengenkripsi; akan mundur (dalam arah keras), fungsi tersebut didekripsi. Nilai ajaib yang diperlukan untuk mendekripsi adalah kunci pribadi.
Jika Anda memiliki fungsi pintu jebakan, Anda juga dapat menggunakannya untuk membuat algoritme tanda tangan digital : mundur (ke arah yang sulit), tanda - tanda fungsi ; maju (ke arah yang mudah), fungsi memverifikasi tanda tangan. Sekali lagi, nilai ajaib yang diperlukan untuk masuk adalah kunci pribadi.
Fungsi trapdoor umumnya datang dalam keluarga; data yang diperlukan untuk menentukan satu elemen tertentu dari keluarga adalah kunci publik.
Meskipun enkripsi kunci publik dan tanda tangan digital didasarkan pada konsep yang sama, mereka tidak sepenuhnya identik. Sebagai contoh, fungsi pintu jebakan RSA didasarkan pada kesulitan membatalkan perkalian kecuali Anda sudah tahu salah satu faktor. Ada dua keluarga umum skema enkripsi kunci publik berdasarkan RSA , yang dikenal sebagai PKCS # 1 v1.5 dan OAEP. Ada juga dua keluarga umum skema tanda tangan digital berdasarkan RSA, yang dikenal sebagai PKCS # 1 v1.5 dan PSS. Dua "PKCS # 1 v1.5" memiliki desain yang serupa, tetapi tidak identik. Jawaban ini oleh Thomas Pornin dan jawaban ini oleh Maarten Bodewes masuk ke beberapa detail perbedaan antara tanda tangan / verifikasi dan dekripsi / enkripsi dalam kasus RSA.
Berhati-hatilah bahwa beberapa presentasi awam kriptografi kunci publik menyamarkan tanda tangan digital dan verifikasi sebagai dekripsi dan enkripsi, karena alasan historis: RSA dipopulerkan terlebih dahulu, dan operasi inti RSA simetris. (Operasi inti RSA, yang dikenal sebagai "buku teks RSA", adalah salah satu langkah dalam algoritme tanda tangan / verifikasi / enkripsi / dekripsi RSA, tetapi itu sendiri bukan merupakan algoritme tanda tangan, verifikasi, enkripsi, atau dekripsi.) simetris dari tampilan 10.000 kaki, tetapi tidak simetris begitu Anda masuk ke detail.
Lihat juga Pengurangan dari tanda tangan ke enkripsi? , yang menjelaskan bahwa Anda dapat membangun skema enkripsi dari skema tanda tangan, tetapi hanya dalam kondisi tertentu.