Ketika zamannya kriptografi klasik menyatakan bahwa semua hal yang terkandung dalam sistem kripto wajib dirahasiakan, maka pada abad ke-19, Auguste Kerckhoffs mengajukan prinsip Kerckhoff yang menyatakan bahwa sistem kripto dapat dipublikasikan kecuali kunci.
Prinsip Kerckhoffs menyatakan bahwa sebuah sistem kripto seharusnya aman meskipun segala sesuatunya mengenai sistem kripto (kecuali kunci) diketahui publik.
Prinsip Kerckhoffs ini merupakan salah satu dari desain enam prinsip untuk persandian militer.
Meskipun prinsip Kerckhoffs ini diambil dari desain untuk persandian militer , prinsip Kerckhoffs dipakai
untuk persandian umum.
1. Jika terpecahkan secara matematis, sistem seharusnya tidak terpecahkan saat diaplikasikan.
2.Desain sistem tidak harus rahasia dan mungkin saja diketahui ke pihak lain (Kerckhoffs’ Principle).
3. Kunci harus dapat diingat tanpa bantuan catatan dan seharusnya mudah diubah sesuai keinginan pengguna.
4. Kriptogram harus dapat ditransmisikan melalui telegraf.
5. Dokumen seharusnya portable dan pengoperasiannya tidak membutuhkan banyak orang.
6. Sistem harus mudah dan tidak membutuhkan banyak peraturan.
Sistem keamanan apapun secara krusial bergantung pada kemampuan menjaga sesuatu yang rahasia. Sesuatu yang dijaga kerahasiannya harus mudah untuk diganti jika secara tidak sengaja rahasia itu terbongkar.
Sebuah algoritma kriptografi harus dapat diimplementasikan pada hardware dan software yang disalurkan antar penggunanya.
Jika algoritma dirahasiakan dan suatu saat algoritma itu terbongkar, kita akan mengalami kesulitan dalam pengembangan, percobaan, dan distribusi implementasi sebuah algoritma baru.
Jika hanya kunci yang dirahasiakan dan kunci itu diketahui pihak lawan, maka membutuhkan lebih sedikit energi dan biaya untuk membangkitkan dan mendistribusikan kunci baru dibandingkan bila harus membuat algoritma baru.
Dengan kata lain, semakin sedikit dan sederhana sesuatu yang dirahasiakan untuk mengamankan suatu sistem, maka semakin mudah menjaga keamanan tersebut.