Niat Kerckhoff adalah agar skema enkripsi harus dirancang demikian
untuk aman bahkan jika musuh tahu detail semua komponen
algoritma skema, selama musuh tidak tahu kuncinya
sedang digunakan. Dinyatakan secara berbeda, prinsip Kerckhoff menuntut keamanan itu
hanya mengandalkan kerahasiaan kunci. Tapi kenapa?
Ada dua argumen utama yang mendukung prinsip Kerckhoff. Pertama
adalah bahwa jauh lebih mudah bagi para pihak untuk menjaga kerahasiaan kunci pendek
selain menjaga kerahasiaan suatu algoritma. Lebih mudah berbagi singkat (katakanlah,
100-bit) string dan simpan string ini dengan aman daripada untuk dibagikan dan aman
menyimpan program yang ribuan kali lebih besar. Selanjutnya, detail dari suatu
Algoritma dapat bocor (mungkin oleh orang dalam) atau dipelajari secara terbalik
teknik; ini tidak mungkin ketika informasi rahasia berbentuk a
string yang dihasilkan secara acak.
Argumen kedua adalah bahwa jika kuncinya dibuka, itu jauh lebih mudah
pihak yang jujur untuk mengubah kunci daripada mengganti algoritma yang digunakan.
Sebenarnya, itu adalah praktik keamanan yang baik untuk menyegarkan kunci sesering bahkan ketika itu
belum terekspos, dan akan jauh lebih rumit untuk mengganti
perangkat lunak yang digunakan sebagai gantinya. Akhirnya, kalau-kalau banyak pasangan orang (dalam a
perusahaan, katakanlah) perlu mengenkripsi komunikasi mereka, itu akan secara signifikan
lebih mudah bagi semua pihak untuk menggunakan algoritma yang sama, tetapi tombol yang berbeda, daripada untuk
setiap orang untuk menggunakan program yang berbeda (yang selanjutnya tergantung pada
pesta dengan siapa mereka berkomunikasi).
Saat ini, prinsip Kerckhoff dipahami tidak hanya mengadvokasi
keamanan tidak harus bergantung pada kerahasiaan algoritma yang digunakan, tetapi juga
menuntut agar algoritma ini dipublikasikan. Ini sangat kontras
dengan gagasan "keamanan oleh ketidakjelasan" yang merupakan gagasan bahwa keamanan yang lebih tinggi
rity dapat dicapai dengan menjaga algoritma kriptografi tidak jelas (atau tersembunyi)
dari pandangan publik. Beberapa keuntungan dari "desain kriptografi terbuka",
di mana spesifikasi algoritma diumumkan, termasuk:
1. Desain yang dipublikasikan menjalani pengawasan publik dan karenanya cenderung demikian
menjadi lebih kuat. Pengalaman bertahun-tahun telah menunjukkan hal itu
sangat sulit untuk membangun skema kriptografi yang baik. Oleh karena itu, kami
kepercayaan akan keamanan suatu skema jauh lebih tinggi setelah itu
dipelajari secara ekstensif dan telah menahan banyak upaya serangan.
2. Lebih baik kelemahan keamanan diungkapkan oleh "peretas etis" dan
dipublikasikan, daripada memiliki kelemahan hanya diketahui oleh pihak jahat.
3. Jika keamanan sistem bergantung pada kerahasiaan algoritma, maka
rekayasa balik kode (atau kebocoran oleh spionase industri) berpose
Sesederhana dan sejelas kedengarannya, prinsip de-open cryptographic
tanda (mis., prinsip Kerckhoff) diabaikan berulang-ulang, dengan bencana
efek. Kami menekankan bahwa sangat berbahaya menggunakan algoritme berpemilik (mis.,
algoritma non-standar yang dirancang secara rahasia oleh beberapa perusahaan),
dan hanya algoritma yang dicoba dan diuji secara publik yang harus digunakan. Untung,
ada algoritma yang cukup baik yang terstandarisasi dan tidak dipatenkan, jadi
bahwa tidak ada alasan apa pun hari ini untuk menggunakan sesuatu yang lain.
Kami berkomentar bahwa Kerckhoff menguraikan prinsip-prinsip lain juga, dan salah satunya
mereka menyatakan bahwa suatu sistem harus secara praktis, jika tidak secara matematis,
pherable Seperti yang akan kita lihat nanti dalam buku ini, kriptografi modern didasarkan
paradigma ini dan - dengan pengecualian skema enkripsi rahasia sempurna
(yang dibahas dalam bab selanjutnya) - semua skema kriptografi modern
secara teori dapat dipatahkan dengan waktu yang cukup (katakanlah, ribuan tahun). Jadi,
skema ini secara matematis, tetapi tidak secara praktis, dapat diuraikan.