SOSTITUZIONE

Cifrari a sostituzione monoalfabetica
Cifrari a sostituzione polialfabetica

CIFRARI A SOSTITUZIONE MONOALFABETICA

Come dice il nome stesso i cifrari monoalfabetici sono dei cifrari a sostituzione e più precisamente per ottenere il testo cifrato si sostituisce ogni carattere del messaggio in chiaro con un altro carattere o con un numero prestabilito attraverso una regola.

Cifrario di Cesare
Cifrario a Rotazione

Cifrario di Cesare

Il più famoso cifrario monoalfabetico, ma ormai in disuso per la sua semplicità di decrittazione è il cifrario di CESARE nel quale si ottiene il testo cifrato sostituendo le lettere del testo chiaro con quelle che nell’alfabeto, prolungato per circolarità, le seguono di tre posizioni.

A B C D E F G H I L M N O P Q R S T U V Z
D E F G H I L M N O P Q R S T U V Z A B C

Per esempio la frase Cesare imperatore di Roma diventa :

c e s a r e i m p e r a t o r e d i r o m a
F H V D U H N P S H U D Z R U H G N U R P D

Cifrario a rotazione

Il cifrario a rotazione è un semplice cifrario maonoalfabetico la cui unica differenza con quello di Cesare è che la permutazione non è più fissa di tre lettere ma può arrivare fino a 21 con l’alfabeto italiano. Si può dunque dire che il cifrario di cesare e un cifrario a rotazione.

Per facilitare la cifratura si può ricorrere all’uso di due dischi concentrici che ruotano l’uno rispetto all’altro, come in figura :

CIFRARI POLIALFABETICI

Un passo in più rispetto ai cifrari monoalfabetici e per trasposizione sono i cifrari polialfabetici che come si può intuire dalla parola usano più caratteri per cifrarne uno del testo in chiaro a differenza dei cifrari monoalfabetici, e questo li rende più difficili da decrittare anche se non di molto.

La scelta dei caratteri è data da una ben precisa regola, molto spesso legata ad una parola chiave da concordare.

La caratteristica più importante che rende migliore dei precedenti questo tipo di cifratura è che non è più cosi semplice decrittare il messaggio in base alla frequenza delle lettere che è caratteristica di ogni lingua (di cui parlerò in seguito)

Disco cifrante di L.B. Alberti

Un importante , e soprattutto uno dei primi cifrari polialfabetici, è il disco cifrante di L. B. Alberti, che a prima vista non sembra molto diverso dal cifrario a rotazione ed invece è completamente differente e soprattutto molto potente.

Anche in questo caso ci sono due dischi concentrici: quello esterno è fisso con 24 caselle contenenti 20 lettere maiuscole con U = V e escluse H, J, K, W, Y ed i numeri 1, 2, 3, 4.

Questi sono i caratteri con cui è possibile comporre il testo in chiaro:

A B C D E F G I L M N O P Q R S T U,V X Z 1 2 3 4

Il disco interno e mobile composto sempre da 24 caselle contiene 24 lettere minuscole in DISORDINE, che è la caratteristica FONDAMENTALE senza la quale sarebbe un semplice cifrario a rotazione, con ancora u = v , possono essere presenti anche simboli in questo caso per esempio è presente &.

c

&

b

m

d

g

p

r

z

n

x

y

u,v

t

o

s

k

e

r

l

h

a

j

q

Il disco cifrante di L. B. Alberti

Come si procede:

Per prima cosa si sceglie un indice fisso che sarà un delle lettere del disco esterno, fatto questo si sceglie una lettera chiave dal disco interno, per esempio j, e la si posiziona sotto l’indice cioè la B, a questo punto si scrive la chiave come prima lettera del crittogramma e si procede a cifrare alcune parole con la lista risultante, i numeri 1, 2, 3, 4 fungono da nulle.

Quando si decide di cambiare lista bisogna semplicemente scegliere un’altra chiave dal disco interno e scriverla maiuscola nel crittogramma in modo che al destinatario sia chiaro il cambio di cifra. Questa esplicitazione però rende più facile il lavoro anche ad un eventuale intercettatore che tenti la decrittazione, per questo l’ Alberti suggerisce di usare uno dei quattro numeri per segnalare il cambio di alfabeto, dove la lettera minuscola corrispondente al numero sarà la nuova chiave.

Cifrario di Vigenère

Un’altro cifrario polialfabetico è quello di Vigenère del XVI secolo, questo è uno dei cifrari che ha avuto più fortuna nella storia della crittografia, ma che forse è stato un po’ sopravvalutato.

Comunque non è praticamente più stato usato dalla seconda metà del 1800 quando un ufficiale prussiano di nome Kasiski inventò un metodo crittoanalitico per decifrare tale codice tramite la determinazione del periodo del cifrario, cioè la lunghezza della parola chiave.

Parlando della fase realizzativa della cifratura possiamo dire che il cifrario di Vigenère è molto semplice da utilizzare ma anche molto potente per il suo tempo.

Il primo passo è quello di stendere la cosiddetta tavola di Vigenère la cui prima riga è la trascrizione dell’alfabeto in modo ordinato e le seguenti 26 sono gli alfabeti cifranti ottenuti traslando di volta in volta l’alfabeto di una lettera come in quello a rotazione, per convenzione la prima riga, cioè quella con l’alfabeto "originale", è scritta con caratteri minuscoli mentre la altre con caratteri maiuscoli.

La tavola di Vigenère risulta così:

Chiaro

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

 

1

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

2

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

3

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

4

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

5

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

6

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

7

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

8

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

9

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

10

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

11

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

12

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

13

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

14

o

p

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

15

p

Q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

16

q

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

17

r

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

18

s

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

19

t

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

20

u

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

21

v

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

22

w

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

23

x

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

24

y

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

25

z

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

26

A

b

C

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

Se il mittente del messaggio usasse un solo alfabeto avrebbe utilizzato semplicemente una debole cifratura a rotazione, mentre la forza della cifratura di Vigenère stà proprio nel cambio dell’alfabeto cifrante mediante l’uso di una chiave che è la prima cosa da concordare fra mittente e destinatario appunto attraverso il famoso canale sicuro. Questa chiave va poi scritta più volte sopra il messaggio in chiaro senza spazi fino a occuparne l’intera lunghezza. A questo punto per esempio per crittare la prima lettera della frase si va a posizionarsi sulla riga della tavola di Vigenère che inizia con la lettera della chiave posizionata sopra la lettera che ci interessa, fatto questo ci si sposta in senso orizzontale finche si giunge ad intersecare la lettera che volevamo cifrare nell’alfabeto in chiaro, quello nella riga 0 della tavola.

Per esempio per cifrare la frase "CIAO A DOMANI" si procede così:

Concordiamo la parola chiave CANE.

Parola chiave: C A N E C A N E C A N
Testo in chiaro: c i a o a d o m a n i
Testo cifrato: E I N S C D B Q C N V

Dopo aver scritto sopra al testo in chiaro la parola chiave ripetuta, in questo caso "CANE", si procede così: la lettera "c" di ciao verrà cifrata con l’alfabeto n° 2 cioè quello che inizia con la lettera "C", nel testo in cifra risulterà dunque una "E"

Chiaro

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

 

.

. . . . . . . . . . . . . . . . . . . . . . . . . .
2

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

A

b

.

. . . . . . . . . . . . . . . . . . . . . . . . . .

la seconda lettera, "i" risulterà dunque "I" cifrandola con l’alfabeto 26 e così via…

L’operazione di decifratura sarà per il destinatario che conosce la parola chiave altrettanto facile, essendo sufficiente fare il processo inverso: posizionarsi ancora sulla riga corrispondente alla lettera della parola chiave nella colonna che contiene la lettera crittata e risalendo la tabella fino all’alfabeto chiaro per scoprire quale è la lettera del testo originale.

Il grande vantaggio che presenta la cifratura di Vigenère è la sua resistenza alla crittanalisi statistica, cioè quella che si serve delle frequenze delle lettere in una certa lingua, infatti nel testo in cifra una singola lettera corrisponde a più lettere del testo chiaro, nel caso dell’esempio la N corrisponde una volta alla a ed una volta alla n.

Il cifrario di Vernam

Il cifrario di Vigenère ha la sua più grossa debolezza nella brevità della chiave, fattore che rende questo sistema di cifratura un semplice insieme di codici di Cesare spostati a distanza fissa e che rende possibile la forzatura con il metodo Kasiski.

La situazione cambierebbe radicalmente se la chiave fosse infinita, o meglio lunga come il testo chiaro, e questa e proprio l’innovazione portata al Vigenère da G. S. Vernam nel 1926.

L’unica differenza stà proprio nel primo passo: la generazione della chiave, che deve essere lunga come il testo stesso, a questo punto si procede proprio come nel Vigenère ottenendo però un cifrato di gran lunga più sicuro.

Nel 1949 Claude Shannon ha dimostrato che ogni cifrario "teoricamente sicuro" è un cifrario di Vernam, cioè a chiave lunga come il testo; e viceversa che ogni cifrario di Vernam è un cifrario teoricamente sicuro.

Questo perché se la chiave è lunga come il testo allora il testo cifrato non conterrà più nessuna informazione sul testo chiaro, e in nessun caso sarà possibile attuare la crittanalisi statistica.

Un altro concetto basilare di cui tener conto quando si applica il cifrario di Vernam è che per aumentare notevolmente il grado di sicurezza non bisognerebbe mai riutilizzare la stessa chiave, infatti se si utilizza più volte la stessa chiave questa tornerebbe ad essere più corta del messaggio, o meglio della somma di tutti i messaggi e il cifrario non sarebbe più perfetto.

Per questo motivo questo tipo di cifrario viene definito a chiave non riutilizzabile.

Il problema che sorge dal momento di dover utilizzare una chiave sempre diversa è quello del famoso canale sicuro per la comunicazione della chiave. Come fare?

Comunicare ogni tot periodo un certo numero di chiavi?

Allegare ad ogni messaggio la chiave da utilizzare nella comunicazione successiva?

Per semplificare la cosa si potrebbe pensare di generare la chiave in modo pseudocasuale, secondo una qualche regola nota e riproducibile. Ma così il cifrario non è più assolutamente sicuro, perché la chiave non è più realmente lunga come il testo, la vera chiave a questo punto sarebbe la regola generatrice!

Proprio per questo motivo questi cifrari detti pseudoperfetti possono essere forzati dalla crittanalisi lineare.

Precedente Su Successiva