Prinsip Kerckhoffs

Prinsip Kerckhoffs (disebut juga asumsi, aksioma, doktrin, atau hukum Kerckhoffs) adalah prinsip kriptografi yang dinyatakan oleh kriptografer asal Belanda, Auguste Kerckhoffs, pada abad ke-19, yaitu sebuah sistem kriptografi harus tetap aman walau seluruh informasi tentang sistem kriptografi tersebut, kecuali kuncinya, diketahui oleh publik. Dalam artikel jurnalnya, Kerckhoffs menyatakan,
"Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi."

("Ia [sistem kriptografi] harus tidak membutuhkan kerahasiaan dan harus tidak apa-apa bila ia jatuh ke tangan musuh.")

Prinsip Kerckhoffs disusun ulang (atau mungkin saja disusun secara mandiri) oleh matematikawan asal Amerika Serikat, Claude Shannon, sebagai "si musuh mengetahui sistem yang sedang dipakai", yaitu seseorang harus mendesain sistem dengan anggapan bahwa si musuh akan segera mengenali dengan baik sistem itu.

Konsep ini berkebalikan dengan keamanan melalui kekaburan.

Asal mula 
Pada tahun 1883, Auguste Kerckhoffs menulis dua artikel jurnal yang berjudul "La Cryptographie Militaire" dan, di dalamnya, dia menceritakan enam prinsip desain penyandian militer:

 Sistem yang dibuat harus secara praktis, kalau tidak secara matematis, tidak bisa dipecahkan.
 Ia harus tidak membutuhkan kerahasiaan dan harus tidak apa-apa bila ia jatuh ke tangan musuh.
 Kunci yang dipakai harus dapat disampaikan dan diingat tanpa menggunakan catatan tertulis serta dapat diubah sesuai kehendak oleh koresponden.
 Ia harus dapat diterapkan dengan telegraf.
 Ia harus mudah dibawa-bawa dan tidak membutuhkan banyak orang untuk memakainya.
 Terakhir, sesuai keberadaan sistem itu, ia harus mudah dipakai dan tidak membutuhkan pemakainya mengetahui aturan yang berbelit-belit.

Beberapa di antaranya sudah tidak relevan lagi karena komputer sudah bisa melakukan enkripsi yang kompleks. Namun, prinsip kedua yang sekarang dikenal sebagai prinsip Kerckhoffs masih sangat penting.

Penjelasan

Penerapan

Referensi 

Kriptografi
Arsitektur komputer