Cerca nel blog

2010/07/09

Il messaggio segreto del Cyber Command

La soluzione al quiz dello stemma dello US Cyber Command


Ieri ho proposto il quiz del codice segreto scritto nello stemma dello US Cyber Command. Ecco la soluzione, alla quale siete arrivati in tanti: complimenti, in particolare, a chi ha trovato la soluzione esatta fino all'ultima virgola.

Il codice scritto nell'anello dorato interno dello stemma è la sequenza di caratteri 9ec4c12949a4f31474f299058ce2b22a. Si tratta di una stringa lunga 32 caratteri, che contiene le cifre da 0 a 9 e solo le prime sei lettere dell'alfabeto: due caratteristiche che per chi fa informatica suggeriscono subito che si tratti di notazione esadecimale del prodotto di un algoritmo di hashing MD5, una funzione crittografica molto usata nel settore per cifrare dati negli anni Novanta e in uso tuttora per cifrare password o verificare l'integrità di un file trasferito.

Un algoritmo MD5 prende un file o un testo di qualunque lunghezza e lo analizza ed elabora fino a ottenere una stringa esadecimale di lunghezza standard basata sul contenuto dei file originale. Basta cambiare un singolo carattere del file o testo di partenza e si ottiene una stringa differente. Questo consente, appunto, di verificare che un file non sia stato manipolato (anche se il sistema non è a prova di bomba).

L'algoritmo, tuttavia, non è reversibile: dalla stringa di 32 caratteri non si può riottenere o dedurre il file originale. Nel caso del codice del Cyber Command, questo è un problema. Allora bisogna barare, procedendo per tentativi oppure cercando in Rete una soluzione. Infatti basta cercare su Google la sequenza in oggetto ed emergono i risultati. In particolare c'è un articolo di Wired, quello che ha dato il via alla sfida crittografica, nel quale una "fonte del Cyber Command" dice che il codice si riferisce alla "missione" del Cyber Command.

La "missione" è la definizione delle mansioni del Command, che è disponibile sul sito dello US Strategic Command qui o sul sito del Dipartimento della Difesa USA qui: "USCYBERCOM plans, coordinates, integrates, synchronizes, and conducts activities to: direct the operations and defense of specified Department of Defense information networks and; prepare to, and when directed, conduct full-spectrum military cyberspace operations in order to enable actions in all domains, ensure US/Allied freedom of action in cyberspace and deny the same to our adversaries.". Ma immettendo questa sequenza in un convertitore online o in un programma di conversione si ottiene una stringa MD5 molto diversa: 51c8a72393d0d69bf2ae2f0bc1325ff2. Siamo fuori strada?

No. Bisogna infatti togliere una virgola (quella fra "synchronizes" e "and") e un trattino (quello di "full-spectrum") e a quel punto si ottiene la stringa MD5 presente nel logo. Il contenuto del codice, insomma, è esattamente questo:

USCYBERCOM plans, coordinates, integrates, synchronizes and conducts activities to: direct the operations and defense of specified Department of Defense information networks and; prepare to, and when directed, conduct full spectrum military cyberspace operations in order to enable actions in all domains, ensure US/Allied freedom of action in cyberspace and deny the same to our adversaries.

Come si fa a sapere che occorre eliminare una virgola e un trattino? Anche qui bisogna barare: siccome altri si sono già cimentati immettendo varie combinazioni, in molti convertitori online basta immettere la stringa MD5 e si ottiene il testo esatto in chiaro. Non è una decifrazione vera e propria: questi siti di conversione a ritroso non fanno altro che confrontare la stringa MD5 immessa con un enorme database di stringhe e di testi corrispondenti già calcolati e vedere se la stringa è presente nel database.

Vi siete divertiti?

Fonti: The Register, Yahoo.

Nessun commento: