# Cifrario ADFGVX

Il cifrario ADFGVX, o Cifra Campale Germanica, era un sistema crittografico utilizzato dall'esercito tedesco verso la fine della prima guerra mondiale. Inventato dal tenente Fritz Nebel (1891–1977) nel 1918, l'ADFGVX, che era l'evoluzione di un precedente cifrario denominato ADFGX, era un cifrario a trasposizione con frazionamento che combinava una versione modificata della scacchiera di Polibio con una trasposizione colonnare singola.
Il cifrario prese il nome dalle 6 lettere che potevano comparire nel testo cifrato: A, D, F, G, V, X. Furono scelte queste lettere perché la loro trasposizione in codice Morse dà luogo a sequenze completamente differenti le une dalle altre, riducendo quindi la possibilità di errore umano durante la trasmissione dei messaggi cifrati via telegrafo.

## Il cifrario ADFGX

Nella primavera del 1918 le truppe tedesche stavano pianificando una serie di attacchi in forze per sfondare le linee nemiche (Offensive di primavera) e dirigersi verso Parigi. Per rendere sicura la trasmissione dei piani di attacco alle truppe fu deciso di cifrare le comunicazioni mediante l'uso di un cifrario inventato dal colonnello Nebel denominato ADFGX, dalle uniche lettere che apparivano nel testo cifrato (in alcune versioni venivano usate le lettere ADFMX); tale cifrario derivava da un precedente schema crittografico noto come GEDEFU 18 (GEheimschrift DEr FUnker 18, o cifrario dei radiotelegrafisti 18). Le lettere del testo cifrato venivano selezionate da una scacchiera di dimensioni 5x5 (quindi con 25 possibili combinazioni) con l'unica differenza rispetto agli altri cifrari a trasposizione che per gli indici delle righe e delle colonne non erano usati numeri ma lettere (A, D, F, G e X, appunto).
La composizione iniziale della scacchiera avveniva mediante l'inserimento di un alfabeto mescolato in una scacchiera di Polibio di dimensioni 5x5, come nell'esempio sottostante:
| | A | D | F | G | X |
| A | b | t | a | l | p |
| D | d | h | o | z | k |
| F | q | f | v | s | n |
| G | g | i/j | c | u | x |
| X | m | r | e | w | y |
Essendo le possibili combinazioni solo 25, le 26 lettere dell'alfabeto non rientravano nello schema per cui fu scelto di cifrare le lettere "I" e "J" con lo stesso simbolo. La disposizione delle lettere nella scacchiera era data da una chiave che cambiava quotidianamente.

### Esempio di cifratura con l'ADFGX

Poniamo il caso che il messaggio da spedire sia "ATTACK AT ONCE". Utilizzando la scacchiera precedentemente vista, il messaggio è convertito nella seguente forma frazionata:
Il risultato è poi oggetto di un'operazione molto simile a quella della trasposizione colonnare: lo si scrive in righe utilizzando una chiave di trasposizione. Nell'esempio qui sotto la chiave è "CARGO":
Adesso le lettere della chiave vengono ordinate alfabeticamente, e con esse le relative colonne sottostanti. Quindi, da CARGO si passa a ACGOR, ottenendo la seguente nuova disposizione delle colonne:
A questo punto viene estratto il messaggio cifrato finale dallo schema colonna per colonna secondo l'ordine alfabetico della chiave:
Le chiavi di trasposizione usate all'epoca erano lunghe una dozzina di caratteri ed erano cambiate, come le chiavi di frazionamento, ogni giorno.

## Il cifrario ADFGVX

Il cifrario ADFGX iniziò ad essere utilizzato a partire dal 5 marzo 1918, ma già a giugno lo schema fu rivisto con l'aggiunta di una lettera negli indici, la V, così da portare la dimensione della scacchiera a 6x6 per un totale di 36 possibili combinazioni: in questo modo era possibile cifrare l'intero alfabeto di 26 lettere più le 10 cifre numeriche. Il nuovo cifrario fu denominato ADFGVX.
Quella seguente è una scacchiera completa dell'ADFGVX completa dei corrispondenti codici Morse delle lettere del cifrario:
| | A ·– | D –·· | F ··–· | G ––· | V ···– | X –··– |
| A ·– | 8 | t | b | w | r | q |
| D –·· | p | 4 | c | g | 2 | 9 |
| F ··–· | 3 | o | 5 | m | x | e |
| G ––· | d | a | z | j | s | y |
| V ···– | l | h | 7 | u | v | 0 |
| X –··– | n | 1 | k | 6 | i | f |

## Crittanalisi

Il cifrario ADFGX fu crittanalizzato dal luogotenente francese Georges Painvin nell'aprile del 1918 utilizzando un metodo basato sulla ricerca delle ripetizioni delle coppie di simboli.
Il problema nel violare questo cifrario era legato al fatto che le occorrenze delle lettere nel messaggio originale non potevano essere identificate semplicemente osservando la loro frequenza senza conoscere la relativa posizione in cui le due parti del codice erano situate. Tuttavia il numero di combinazioni possibili non era molto elevato, e questo si aveva anche quando la chiave era abbastanza lunga, per cui era possibile identificare le frequenze caratteristiche, se il messaggio era discretamente lungo, semplicemente esplorando le coppie di simboli di tutti gli intervalli possibili: da ciò si deduceva la lunghezza della chiave e, conseguentemente, la larghezza della scacchiera.
A questo punto, ottenute le frequenze di ciascuna coppia, si potevano dedurre le prime lettere a partire dalle più frequenti nella lingua in cui il messaggio era scritto e ricavando quelle meno frequenti semplicemente facendo una ricerca in un dizionario. La scacchiera conteneva relativamente pochi simboli (26 lettere e 10 cifre) per cui era possibile terminarne il riempimento abbastanza facilmente.
Anche il cifrario ADFGVX fu crittanalizzato da Painvin, che riuscì nell'impresa il 2 giugno 1918.

## I presunti meriti storici di Painvin

Nonostante alcuni studiosi come Sophie de Lastours e David Kahn considerino i lavori di Painvin di grande aiuto per l'Alto Comando francese nell'ottenere informazioni vitali per respingere le incursioni del generale Ludendorff nelle Offensive di primavera, altri ritengono che le informazioni scoperte non furono così importanti come sembra. Nel 2002 Hilmar-Detlef Brückner ha pubblicato sul Journal of Intelligence History la seguente analisi circa le considerazioni che de Lastours esprimeva nei suoi lavori:
   Purtroppo Sophie de Lastours segue la visione tradizionalista francese secondo la quale la decifratura del cifrario tedesco ADFGVX da parte di Painvin agli inizi del mese di giugno 1918 fu decisiva per la vittoria delle Forze Alleate nella Prima Guerra Mondiale dato che dette indicazioni temporali sull'imminente offensiva tedesca atta principalmente a raggiungere Parigi ma anche ad infliggere una sonora sconfitta agli Alleati. Tuttavia è storicamente noto che l'attacco tedesco dell'11 giugno (noto come offensiva Gneisenau) era stato architettato per indurre l'Alto Comando francese a richiamare truppe dalle aree più a nord, dove i Tedeschi intendevano attaccare in un secondo momento. Per ottenere questo risultato doveva essere ingigantita tutta l'operazione: ciò fu fatto dall'Alto Comando tedesco diffondendo false notizie circa l'intento di questo attacco, di volere arrivare cioè a Parigi ed oltre. La disinformazione si rivelò efficace... e apparentemente ancora oggi dimostra di esserlo. Ma l'offensiva tedesca non riuscì a sfondare le linee nemiche solo perché la Francia aveva un sufficiente numero di uomini tale da fermare l'assalto e non fu necessario, perciò, far arrivare nuovi rinforzi. Inoltre, si tende in genere a trascurare il fatto che la versione base del cifrario ADFGVX sia stata creata proprio per le Offensive di primavera che la Germania condusse nel 1918, mirate a sferrare il colpo finale alle Forze Alleate. Il cifrario ADFGX doveva infatti proteggere le comunicazioni tedesche contro i crittanalisti Alleati durante l'assalto e ciò si è effettivamente verificato. I telegrammi cifrati con l'ADFGX apparvero per la prima volta il 5 marzo, gli attacchi tedeschi iniziarono il 21 marzo. Quando Painvin presentò la prima decifratura del codice, il 5 aprile, la prima offensiva tedesca si era ormai esaurita.