La Crittografia è l’ insieme delle tecniche utilizzate e studiate per generare del Codice Cifrato
La Crittoanalisi è invece il testing di un algoritmo di cifratura che deve essere pubblico.
Un algoritmo prima di essere rilasciato deve passare la fase di crittoanalisi (Testing), questo è importante perché gli algoritmi sono pubblici, quindi chiunque li può analizzare.
Il NIST (National Institute of Standard and Technology) , si occupa di fornire gli standard per la pubblica amministrazione americana.
Ogni Tot anni il NIST instituisce dei Bandi o gare per la creazione di nuovi algoritmi crittografici.
Questi Bandi durano 5 anni durante i quali gli algoritmi vengono testati , devono passare 3 round dopo di che vanno nel bucket di algoritmi validi. Da questo Bucket il NIST ne selezionerà 1 solo.
Ad ogni round si eliminano gli algoritmi che potrebbero avere problemi, sono deboli oppure non rispettano le regole del bando.
Gli algoritmi crittografici solitamente vengono divisi in :
Alcuni algoritmi crittografici fanno uso della Teoria dei Codici ossia fanno uso di codici correttori o di rilevazione di errore.
Alice : Terminale A
Bob : Terminale B
Eve : Malintenzionato che vuole leggere quello che viene trasmesso