Storia della crittografia - Cifrari
Cifre monoalfabetiche
Prova tu stesso il codice - Frequenza statistica delle lingue

matematicamente

Una cifra monoalfabetica è una funzione biunivoca che ha per dominio l'insieme dei segni chiari e per codominio l'insieme dei segni cifrati.

Una simile relazione è anche detta 1:1 (uno a uno), infatti ad ogni segno chiaro deve corrispondere uno e un solo segno cifrato e viceversa.

Molte volte il codominio coincide con il dominio e quindi si usano gli stessi simboli dell'alfabeto chiaro; la funzione cifrante si riduce ad una permutazione dell'alfabeto; altre volte si usano invece come cifre gruppi di due o tre cifre, e cioè numeri da 00 a 99 o da 000 a 999. In passato era frequente usare simboli geometrici o di fantasia.

Per aumentare la sicurezza di un cifrario monoalfabetico di fronte alla crittanalisi statistica si può eliminare la clausola della biunivocità in quattro modi diversi, che non si escludono a vicenda.

  • Non cifrati: Usare una relazione non ovunque definita, in altre parole alcuni segni non vengono cifrati; nella crittografia classica è abituale non cifrare spazi(*)e segni di interpunzione; le minuscole di solito vengono convertite in maiuscole e quindi cifrate come tali. I numeri o meglio le cifre decimali di solito vengono scritti per esteso, altrimenti devono avere un cifra anche loro.
  • Omofoni: Usare una relazione non univoca, quindi alcuni segni chiari, almeno i più frequenti, sono cifrati con diversi segni cifranti da alternare preferibilmente a caso.
  • Polifoni: Usare una relazione non iniettiva, quindi diversi segni chiari sono cifrati con lo stesso segno (polifono).
  • Nulle: Usare una relazione non suriettiva, quindi ci sono alcuni segni cifrati (nulle) che non corrispondono a nessun segno chiaro.

I cifrari monoalfabetici sono cifrari di sostituzione: del testo chiaro si sostituisce ogni carattere con un altro carattere (o numero) secondo una tabella prestabilita, ottenendo il testo cifrato. Nella crittografia contemporanea (informatica) si sostituiscono blocchi di bit invece di caratteri, ma il principio è sempre quello della sostituzione.

I più antichi cifrari di questo tipo sono il cifrario Atbash e il cifrario di Cesare.

Quanti alfabeti cifranti sono possibili? Cominciando dalla A questa può essere cifrata con una qualsiasi delle 26 lettere, la B con una delle 25 rimanenti, la C con una delle 24 rimanenti ... alla fine la Z dovrà essere cifrata con l'unica rimasta. In totale quindi il numero di alfabeti possibili è $N = 26 \times 25 \times 24 ... 1 = 26! = 403.291.461.126.605.635.584.000.000‬$ numero fuori della portata umana.

Sembrerebbe quindi che la cifra sia sicurissima, inattaccabile, ma non è così, una semplice crittanalisi statistica basata sulle caratteristiche statistiche delle lingue è in genere sufficiente per forzare il testo, a condizione che sia sufficientemente lungo.

Come generare la chiave?