Gran parte del lavoro su password e chiavi è legato al controllo di  dove  sono memorizzati e copiati. 
-  
 Una  password  è memorizzata nella mente di un utente umano. Viene immesso su una tastiera (o equivalente) e passa attraverso i registri di una CPU e la RAM del computer, mentre viene elaborato. A meno che non si esegua qualche errore terribile, la password non raggiunge mai un'area di memorizzazione permanente come un disco rigido. 
  
-  
 Un  algoritmo  esiste come codice sorgente da qualche parte, sulla macchina di uno sviluppatore, un sistema di controllo delle versioni di origine e backup. Ci sono documenti di design, che sono stati mostrati a varie persone (ad esempio, coloro che decidono se finanziare lo sviluppo del sistema o meno), e spesso depositati in modo negligente su uno scaffale anonimo in qualche strato di crosta sul desktop tipico. Ancora più importante, l'algoritmo esiste anche come un file eseguibile sul sistema stesso; il binario non è leggibile come il codice sorgente, ma il reverse engineering  funziona  tuttavia. 
  
 Quindi non possiamo ragionevolmente ritenere che l'algoritmo sia segreto, o almeno così segreto come la password (o la chiave). 
 In realtà, i  metodi  di crittografia  sono stati divisi un secolo fa nell'algoritmo   e il  chiave  proprio per questo: in un sistema funzionante, parte del metodo perde necessariamente tracce ovunque. Avere una chiave significa concentrare la segretezza nell'altra metà, la parte che possiamo mantenere segreta. 
 "Sicurezza attraverso l'oscurità" è un'espressione che usa il termine  oscurità , non  segretezza . La crittografia riguarda il raggiungimento della  sicurezza attraverso la segretezza . Questa è l'unica differenza: una password può essere  secret ; un algoritmo è, nella migliore delle ipotesi,  oscuro . L'oscurità viene dissipata non appena un ragazzo intelligente pensa a portare una lanterna metaforica. La segretezza è più simile a una cassastrong in acciaio: per romperla, hai bisogno di strumenti più potenti. 
 Il ragazzo intelligente  Auguste Kerckhoffs  l'ha già scritto più di un secolo fa. Nonostante l'invenzione del computer e tutta la tecnologia di oggi, i suoi risultati si applicano ancora. C'è voluto del tempo perché i praticanti di crittografia imparassero quella lezione; 60 anni dopo, i tedeschi stavano ancora facendo un sacco di cose nel "segreto" del design della  macchina Enigma . Si noti che quando i tedeschi misero in uso il 4-rotore Navy Enigma, i crittografi alleati furono disturbati (i crack di routine si fermarono per alcuni mesi) ma non furono del tutto confusi perché alcuni documenti catturati dell'anno precedente alludevano allo sviluppo della nuova versione, con un quarto rotore "riflettore". Ecco qua: algoritmo  segretezza  non potrebbe essere raggiunto nella pratica. 
 Un'ulteriore svolta è che l'oscurità dell'algoritmo  può danneggiare la sicurezza . Quello che spiego sopra è che l'oscurità non può essere considerata attendibile per la sicurezza: potrebbe  potrebbe  aumentare la sicurezza, ma non di molto (e non si può davvero sapere "quanto"). Si scopre che può anche  diminuire  sicurezza. Il problema è il seguente: è molto difficile creare un algoritmo crittografico sicuro. L'unico metodo noto è quello di pubblicare l'algoritmo e attendere la saggezza collettiva dei crittografi di tutto il mondo per rodersi e raggiungere una conclusione che può essere espressa come "può essere rotta in quel modo" o "apparentemente robusta". Un algoritmo è dichiarato "buono" solo se ha resistito all'assalto di dozzine o centinaia di crittografi competenti per almeno tre o quattro anni. 
 Internet, procrastinazione accademica e hubris umana sono tali che, con la giusta campagna di comunicazione, è possibile ottenere queste poche centinaia di crittografi per fare quel duro lavoro di valutazione gratuito -  fornito  che tu fai algoritmo pubblico (e "attraente" in qualche modo). Se si desidera mantenere l'algoritmo oscuro, non è possibile beneficiare di tale consulenza gratuita. Invece, devi pagare. Venti buoni crittografi per, diciamo, due anni di sforzi: stiamo parlando di milioni di dollari, qui. Nessuno lo fa, è troppo costoso. Corrispondentemente, gli algoritmi oscuri sono invariabilmente molto meno stressati rispetto agli algoritmi pubblici, e quindi  meno sicuri . 
 (Si noti la stampa fine: la sicurezza non riguarda solo il non essere infranto, ma anche il fatto di avere una conoscenza  a priori  che le violazioni non si verificano.Voglio poter dormire la notte. ) 
  Riepilogo:  
-  Tu  non dovresti  mantenere segreto il tuo algoritmo. 
 
-  Tu  non sai  quanto il tuo algoritmo è segreto. 
 
-   non puoi  mantenere segreto il tuo algoritmo. 
 
-  Ma puoi e devi mantenere segreta la tua password, e puoi sapere "quanto" è segreto (è tutto il business "entropia").