Su quasi tutti i siti web che contengono informazioni sulla crittografia in generale, esiste la nozione comune che quasi tutti gli algoritmi di crittografia / decrittografia dovrebbero utilizzare una chiave come uno dei loro input. La ragione di questo è che gli algoritmi di crittografia che non usano una chiave sono tecnicamente inutili.
Per questo motivo non posso fare a meno di chiedermi come siano arrivati a quella conclusione. Perché la tendenza comune nella crittografia è quella di mantenere segreta la chiave di sicurezza, ma consentire agli algoritmi di crittografia e decrittografia di essere pubblici. Cosa accadrebbe se gli algoritmi di crittografia e decrittografia fossero il segreto? In quel caso non ci sarebbe più bisogno di una chiave e semplificherebbe molto le cose.
Ad esempio: supponiamo di essere uno sviluppatore di software che desidera inviare messaggi testuali da un computer a un altro (e viceversa) per consentire la comunicazione (una semplice app di chat). Supponiamo che i computer comunichino tra loro su una rete non sicura con il protocollo TCP / IP. Supponiamo che io voglia assicurare alla loro conversazione un po 'di privacy e creare questo algoritmo di "crittografia" di base in cui aggiungo semplicemente 10 a ciascun codice ASCII per ogni lettera nel testo in chiaro prima di inviarlo come byte non elaborati sulla rete. Come tale un messaggio come "Ciao, fratello!" sarebbe intercettato da qualsiasi attaccante come "Rovvy6 * l | y ~ ro | +".
Come può qualcuno che intercetta il messaggio ricostruire il testo in chiaro originale se non avesse conoscenza degli algoritmi di crittografia o decrittografia? Quale sarebbe l'approccio migliore per rompere questo crittosistema? È davvero così facile in qualche modo interrompere gli schemi di crittografia che non usano le chiavi, che non sono soluzioni praticabili?
Infine, se vuoi dire qualcosa come "Beh ... non hai bisogno di un genio per capire che stai aggiungendo solo 10 a ogni byte del testo in chiaro", l'ho fatto per semplicità. Se vuoi rendere il messaggio ancora più criptico, sentiti libero di immaginare che la formula matematica sia molto più complessa (come aggiungere 7 e poi sottrarre 10 e poi moltiplicare per 2).