Tecniche di crittazione

Mar 26, 2012 by

Tecniche di crittazione

Tempo fa lessi Codici e segreti di Simon Singh e ne rimasi entusiasmato, piú che dalla storia dei codici, dal loro effettivo funzionamento. Propongo dunque delle tecniche per crittografare messaggi e delle tecniche per decifrarli.

Tecnica di Giulio Cesare:

Cesare scriveva i messaggi in un modo particolare: il numero di lettere formava sempre un quadrato perfetto: 64, 81, ecc…

Per decifrare i messaggi, si doveva creare un quadrato 8×8, 9×9, … e inserirvi tutte le lettere, una alla volta da sinistra verso destra. Per leggere il messaggio era sufficiente leggere dall’alto verso il basso.

Esempio: QORCCELUDIONUCEITNISESCTLCASTEAAAVAOETTCARCCOEHIE diventa

Q

O

R

C

C

E

L

U

D

I

O

N

U

C

E

I

T

N

I

S

E

S

C

T

L

C

A

S

T

E

A

A

A

V

A

O

E

T

T

C

A

R

C

C

O

E

H

I

E

Cioè «Questo codice è crittato con la tecnica che usava il Cesare»

Cifratura monoalfabetica classica

Questa è la tecnica classica che conoscono tutti, ad ogni lettera ne corrisponde un’altra, ad esempio:

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
Cifrato S Z E G N O R W A T H B  P V Y C D X K F  I M Q J U L

DINKFY EYGAEN AVMNEN N’ EAOXSFY EYV BS FNEVAES PYVYSBOSZNFAES

Che diventa: «Questo codice invece è cifrato con la tecnica monoalfabetica»

Come si fa a decifrare questo codice? Con 2 trucchi, uno molto più ampio, chiamato analisi delle frequenze, e uno piuttosto semplice che aiuta abbastanza spesso. Partiamo dal secondo che è cortissimo: basta individuare le parole di 3 lettere che hanno la prima lettera e la terza uguali, e si può dire che nel 99% dei casi quella parola è NON. Altre parole, come Ada, Odo, Aha, e cose simili possono capitare, ma sono rarissime. In questo modo abbiamo già rilevato 2 lettere.

La seconda tecnica, che ci porta a decifrare l’intero messaggio si chiama “Analisi delle Frequenze”. Sostanzialmente si tratta di contare tutte le lettere del messaggio e vedere quante volte compaiono, prendendo anche nota se ci sono doppie (sappiamo infatti che le vocali non possono essere doppie). Le frequenze della lingua italiana sono queste:

Lettera

Percentuale

Lettera

Percentuale

A

11,74

N

6,88

B

0,92

O

9,83

C

4,50

P

3,05

D

3,73

Q

0,51

E

11,79

R

6,37

F

0,95

S

4,98

G

1,64

T

5,62

H

1,54

U

3,01

I

11,28

V

2,10

L

6,51

Z

0,49

M

2,51

Da notare come questa tecnica funzioni molto meglio con testi piuttosto lunghi, in quanto quelli corti non seguono la frequenza italiana abbastanza verosimilmente.

Per cominciare, si potrebbero guardare le 2 lettere meno comuni del codice, che avranno più o meno il 0,5% di frequenza, e saranno probabilmente Z e Q. Poi si guarda quale delle due ha come lettera seguente una lettera con più o meno il 3% di frequenza che sia sempre la stessa, cioè la corrispondente della U. L’altra sarà la Z, poi si possono cercare i NON come ho scritto prima, e le 4 vocali più comuni che hanno più o meno la stessa frequenza, dell’11%.

Cifratura di Vigenère

Questa cifratura si basa sulla tavola di Vigenère, che consiste in 26 alfabeti, ognuno che inizia con una delle lettere dell’alfabeto, e seguono le altre in ordine, ricominciando dalla A quando è necessario. Dopodiché si sceglie una parola chiave, per esempio MONTE, e ogni lettera del nostro testo sarà codificata con un alfabeto diverso tra 5, che cominciano con la M, con la O, con la N, la T e la E.

Così sarà impossibile applicare la tecnica dell’analisi delle frequenze!

Esempio:

Chiave cifrante M O N T E M O N T E M O N T E M O N T E M O N
Testo chiaro N O N V E D O N O N P A R L O N O N S E N T O
Testo cifrato Z C A O I P C A H R B O E E S Z C A L I Z H B

 

Così vediamo che NON è cifrato con “ZCA” una volta, e “AHR” una seconda e in teoria potrebbero essere stati cifrati anche in altri modi? Come si fa a decifrare questa scrittura? Bisogna tentare di applicare le parole più comuni nell’alfabeto italiano, NON e CHE a tutte le parole di tre lettere e vedere che stringa parziale di parole otterrebbe la chiave cifrante, in questo caso tentando e ritentando si otterrebbe MON e NTE, che sono particelle accettabili in italiano. Bisogna avere fortuna, però, perché con testi molto lunghi è un processo difficilissimo. Una volta che si riesce ad individuare parte della chiave, si può tentare l’analisi delle frequenze.

  • La Chiffre indecifrable

Ideata a corte di Luigi XIV nel 1600, per ben due secoli i crittografi non riuscirono a decifrarla. Appare cosí:

23, 48, 27, 1, 46, 34, 87, 43, 94, 8, 25, 69, 63, 14, 75, 97, 62…

Sempre numeri, nessuno spazio vuoto. In cosa consiste? Ogni numero può corrispondere a:

  • Una lettera
  • Uno spazio vuoto
  • Una istruzione del tipo “ignora il numero precedente”
  • Una istruzione del tipo “ignora il numero successivo”
  • Una istruzione del tipo “aggiungi 20 al numero precedente e sottrai 31 al numero successivo”
  • Senza significato

E altre istruzioni simili. Piú numeri corrispondono alla stessa lettera, con una proporzione che rende inutile l’analisi delle frequenze: ad esempio, dato che in italiano la A compare l’11% circa delle volte e la B l’1% circa, ci saranno 9 numeri che indicano la A e 1 che indica la B, in modo da usarli tutti e 9 e non far capire quale sia la A in base all’elevata frequenza.

Con un codice simile, nessuno capirà i vostri messaggi segreti!

Commenti

commenti

Related Posts

Tags

Share This

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

shared on wplocker.com