In crittografia, il principio di Kerckhoffs (noto anche come assunzione, assioma o legge di Kerckhoffs), fu enunciato dal crittografo olandese Auguste Kerckhoffs alla fine del 1880. Esso afferma che la sicurezza di un crittosistema non dipende dal tenere segreto l'algoritmo crittografico, ma solo dal tenere segreta la chiave. È un principio apprezzato da molti crittografi, malgrado sia in netto contrasto con il principio della sicurezza tramite segretezza.
In altre parole, il sistema può rimanere sicuro anche nell'ipotesi che il nemico conosca l'algoritmo di crittazione. Quest'ultimo può anche essere di pubblico dominio; l'unica cosa che importa è che rimanga segreta la chiave.
Il principio è stato riformulato (o forse indipendentemente formulato) da Claude Shannon nella forma "il nemico conosce il sistema"[1]: “un sistema dovrebbe essere progettato sotto l'assunzione che il nemico acquisirà immediatamente familiarità con esso”. In questa forma, il principio è noto come massima di Shannon.