In crittografia si dice testo in chiaro (o semplicemente "chiaro") il testo da cifrare. Il testo cifrato è invece il testo "nascosto", dopo l'applicazione dell'algoritmo crittografico.
L'algoritmo di cifratura è appunto il metodo che consente di trasformare il testo in chiaro nel testo cifrato (si dice anche cifrare o criptare); viceversa, l'algoritmo di decifratura è quello che consente di decifrare (ovvero di decrittare) il testo cifrato.
Spesso l'algoritmo di cifratura ha bisogno di una chiave, cioè di un parametro (nei casi più semplici un numero, in quelli più complessi un insieme di simboli) per effettuare la cifratura. Analogamente, l'algoritmo di decifratura ha bisogno di una chiave per decifrare il testo cifrato: tale chiave di decifratura nei casi più semplici coincide con quella di cifratura (algoritmi simmetrici); nei casi più complessi le due chiavi sono diverse (algoritmi asimmetrici).
Vedremo in breve molti esempi pratici di cifratura e decifratura con relativi algoritmi e chiavi.
Si fa spesso molta confusione fra due parole simili: codice (e il relativo verbo codificare) e cifra (cifrare). Anche nelle nostre lezioni spesso useremo i due termini in modo intercambiabile.
Tuttavia a rigori le due parole hanno un significato diverso. Si parla di cifra quando si opera una sostituzione nel testo in chiaro delle singole lettere o di gruppi di lettere. Per esempio se in un messaggio sostituiamo tutte le lettere con il numero corrispondente alla loro posizione nell'alfabeto, stiamo facendo una cifratura.
Se invece sostituiamo ogni parola con un'altra parola o con un simbolo, allora stiamo facendo una codifica. Per esempio se faccio la seguente sostituzione:
BUTTA = UCCIDI PASTA = REGINA BOLLE = ESCE
la frase apparentemente innocente:
BUTTA LA PASTA APPENA BOLLE
diventa:
UCCIDI LA REGINA APPENA ESCE
Un esempio storico di utilizzo di codici avvenne durante la Seconda Guerra Mondiale, quando un gruppo di nativi americani della tribù Navajo vennero reclutati nell'esercito alleato. Il loro lavoro principale era trasmettere messaggi segreti e il codice usato era la lingua Navajo. Siccome pochissime persone, a parte i Navajo, conoscevano questa lingua, i messaggi eventualmente intercettati dalle forze nemiche non potevano essere compresi e tradotti. Il vantaggio di usare questo tipo di codifica, invece della comune cifratura con qualche alfabeto segreto, era la grande rapidità di comunicazione: ogni battaglione aveva in forze un Navajo (detto code talker) il quale traduceva i messaggi segreti nella propria lingua e li trasmetteva a un altro Navajo che provvedeva a ritradurli in inglese.
Come si è detto però nella maggior parte dei casi le due parole, codice e cifra, vengono usate come sinonimi e così faremo anche noi nel seguito.
Sito realizzato in base al template offerto da
http://www.graphixmania.it