counter

domenica 21 giugno 2015

Come DEcifrare un libro criptato (parte 4b)

Ultimissimo capitolo: buona lettura!

REMINDER: Ricordando come operano gli elementi della matrice A, con il medesimo criterio, si associano alle coppie di cifre consecutive i rispettivi simboli ASCII di B (della specifica tabella relativa al particolare blocco da cifrare). La dummy di posizione “0X” si tramuta pertanto nel corrispondente carattere ASCII della matrice B, appartenente alla prima colonna.
Trascurando le piccole differenze con la reale versione del procedimento, è sufficiente intendere che il ciphertext finale consta di un macro-blocco (apparentemente imperscrutabile) nel quale figurano settantaquattro diversi caratteri ASCII, compresi spazi, maiuscole, numeri e segni d’interpunzione.
L’elemento che, per ogni segmento di plaintext da cifrare, separa “alfa” da “beta” può quindi ricorrere anche in quest’ultima.

DECRYPTION (versione testuale - caratteri ASCII):

Partendo dall’output dell’algoritmo 4.0-bis (non considerando l’ultimo, tortuoso, “passaggio” fatto di P-Box, S-Box, ecc…), il processo di decriptazione si articola nelle seguenti fasi sequenziali:


0) Supponiamo che la dimensione dei blocchi sia sempre la stessa o, almeno, di conoscere con certezza la lunghezza in caratteri del singolo blocco (valore intero compreso tra otto e sedici). Ad esempio, assumiamo che il nostro blocco input sia formato da QUINDICI elementi.
Per brevità, non sto qui a spiegare come sia possibile identificare la lunghezza dei blocchi (è abbastanza banale in realtà, si procede in modo sequenziale a partire dal primo e si ricerca la successiva dummy di posizione, poi si procede a ritroso con un semplice conteggio).
1a) Si spezza il numero in due tronconi, proprio dove è presente la “dummy” separatrice (il primo zero in “posizione dispari” di ogni blocco e la cifra alla sua destra).
1b) Si elimina la coppia di cifre suddette ed eventualmente l’ultima di “beta”.
2) Sempre sotto le ipotesi semplificative iniziali, si scambiano la cifra iniziale e quella finale di “alfa” e si aggiunge al numero “beta” il valore di quella immediatamente alla sinistra dello zero di posizione prima di effettuare la permutazione (ovvero la prima cifra dopo aver compiuto lo scambio).
3) Fingendo che non vi siano caratteri associati a numeri composti o che comunque essi (assieme ai relativi numeri ottenuti moltiplicando tra loro due o tre primi) siano stati preventivamente identificati, si scompone “beta” nei fattori primi strettamente maggiori di 13 (≥17). Questo è molto importante per evitare problematiche scaturenti dai caratteri che si ripetono più volte; si pensi ad esempio al blocco di quattordici caratteri seguente: “ I am the one ”. Sono presenti cinque spazi, per cui, se andiamo a fattorizzare il prodotto ottenuto nel modo illustrato, otterremo anche il fattore primo 5, il quale non è associato ad alcun carattere. Poiché 5<17, sappiamo subito che un carattere si ripeterà cinque volte (e un altro due). S’identificheranno pertanto (una volta determinate le tabelline) i caratteri contenuti nel blocco in questione (al più quattordici segni differenti).
4) Si frantuma “alfa” in coppie di cifre, si calcolano le somme delle stesse e si trovano le posizioni delle lettere precedentemente individuate: tutto ciò una volta ordinati i fattori primi impiegati (o prodotti di due o tre fattori primi per un singolo carattere ASCII – esempio !↔6431=59*109), in base al solito meccanismo (rappresentato nel diagramma sottostante).

Si può così ricomporre (blocco dopo blocco) il ciphertext, senza alcuna ambiguità.

P.S.
In conclusione, è doveroso sottolineare come il fatto che sussista una perfetta, per quanto contorta e intricata, corrispondenza biunivoca tra caratteri (matrice B) ed elementi utilizzati (matrice C), agevoli enormemente il compito al decrittatore. A discapito di una minore solidità del metodo di cifratura, si ottiene una totale mancanza di fraintendimenti e l’opera ha la possibilità di essere trasmessa ai lettori senza alterazioni .
In passato semplici meccanismi che inglobavano l’espediente suddetto sono riusciti a mettere a dura prova i crittoanalisti di tutto il mondo. Un esempio su tutti: l’intuizione di sondare l’eventualità che più unità costituenti del plaintext potessero essere state tradotte con un singolo elemento del testo cifrato, ha fornito un contributo fondamentale, dopo secoli di sforzi infruttuosi, ai notevoli progressi compiuti nella decifratura degli antichissimi geroglifici Maya.

Come DEcifrare un libro criptato (parte 4a)

Ed ecco qui l'ultima parte della DECRIPTAZIONE dell'algoritmo (versione con le parole - scelta arbitraria mia).

Per praticità la spezzo in due: in questa riassumo il processo di ENCRYPTION e ne spiego i dettagli fondamentali per DECIFRARE (parte 4b).

ENCRYPTION (versione testuale):


Sistema di codifica di una versione semplificata del multiforme algoritmo 1729-bis (plaintext costituito da caratteri ASCII); a tal proposito, è doveroso premettere che, in fase di cifratura, i blocchi del testo in chiaro non sono mai intervallati da elementi di disturbo.
La stringa binaria, 01000001010011010101010001001111011011100110001101101111011011010111000001110101011101000110000101100010011011000110010101101110011101010110110101100010011001010111001001110011011101110110100101110100011010000110000101101110011000010111000001110000011011000110100101100011011000010111010001101001011011110110111001110100011011110111010001101000011001010110010101101110011101000111001101100011011010000110010101101001011001000111010101101110011001110111001101110000011100100110111101100010011011000110010101101101, diventa l’input per una funzione ‛F’ costruita in maniera non troppo dissimile da quella dell’algoritmo già visto nella “parte 1”. Nel caso in questione, F(k) origina quasi 300000 sotto-chiavi e la fisionomia rievoca l’ultima macchina Enigma. Quest’omaggio ad Alan M. Turing si mescola col risultato finale: una vaga copia del CBC mode.

Le cifre appartenenti a ogni particolare stringa (potenzialmente infinita) prodotta da F(sk), vengono prese a coppie (in perfetta analogia alla versione dell’algoritmo della “parte 1”) e usate per costruire la matrice A, inserendovi gli elementi successivi proprio come in un testo scritto. La matrice B contiene caratteri ASCII anziché gradazioni di grigio; è sempre formata da dieci colonne di dieci elementi ciascuna. I blocchi adesso sono composti da un numero variabile di elementi (compreso fra otto e sedici), anziché il valore fisso ‛quindici’; ciononostante il funzionamento dell’algoritmo 4.0 resta pressoché immutato.

Un’altra particolarità è che la campionatura degli elementi di C tramite la matrice A avviene considerando gli elementi di quest’ultima come fossero le due coordinate cartesiane di una griglia 10x10. Ad esempio, a(4,3):=27 rimanda all’elemento c(3,8), collocato nella terza colonna e nell’ottava riga di C, contando dal basso (posto che a(2,1):=00 inerisca a c(1,1), il valore della cella più in basso a sinistra di tutte); insomma, una situazione non troppo distante dallo svolgimento delle classiche partite a battaglia navale.

Per l’output finale si può pensare a quanto accadeva nell’ultima fase dell’algoritmo 1729 della “parte 1”: per ogni blocco cifrato, due stringhe decimali composte da una quantità pari di cifre e separate da una “dummy” di posizione (si immagini il primo zero in posizione dispari e la cifra random successiva nel caso di stringhe numeriche come quelle descritte – cominciando a contare dall’inizio del particolare blocco cifrato –).

L’effettiva composizione dell’algoritmo 1729-bis risulta davvero complicata e fortemente interconnessa. Ciò nonostante, senza sacrificare alcunché dal punto di vista concettuale, possiamo supporre che l’output finale sia formato da un numero di cifre pari a quante ve ne sono in alfa+dummy di posizione+beta. L’unica variazione possibile sta nella presenza di un’ulteriore cifra, qualora in “beta” ce ne fossero un numero dispari.

Di seguito alcuni esempi di possibili associazioni (mobili, ma pur sempre vincolate) tra gli elementi di B e quelli di C:

I 73 & 349
, 71
" 79
f 83
e 89 & 353 & 367
v 91
0 17
a 19 & 359
! 6431
A 37
( 23
: 29
t 31 & 487
S 11021
@ 41
? 197
C 1843

Per la DECRIPTAZIONE vi rimando all'ultimissimo articolo (parte 4b).

Come cifrare un libro o una foto (parte 3)

Eccoci finalmente giunti alla parte più interessante: decifrare, anzi "craccare" (come si dice in gergo), un algoritmo appartentemente insuperabile. Ciò che faremo, per brevità di spazio, non è calarci nell'ottica del decriptatore professionista (per quello leggetevi il romanzo), bensì fingeremo di avere le chiavi di casa e vedremo come aprire la serratura per entrare.
L'equivalente di avere le chiavi di casa è rappresentato dallo schema di come funziona il processo di decriptazione, ma ciò è in realtà una condizione NECESSARIA MA NON SUFFICIENTE... fidatevi però, nel nostro caso basterà!

Il prospetto riassuntivo è sintetizzato nell'immagine seguente (caso di una foto cifrata prendendo blocchi da 15 pixel):


Ricordiamoci inoltre di come operavano le associazioni "alfa"-->"beta":


Dando un'occhiata allo schema generale, ci si rende subito conto che non è possibile invertire il procedimento se non sappiamo prima come "ribaltare" la subroutine centrale (algoritmo 4.0), vedremo pertanto qui come fare per poi, nell'ultima parte, completare il lavoro (dando questo passaggio per fatto).

INVERTIRE L'ALGORITMO 4.0
Nello schema allegato, occupiamoci qui dei passaggi finali.
Tralasciando l'inversione dei trucchetti di cui al punto 4) della parte 2 (la precendente) che è in sé banale e serve soltanto a moltiplicare la complessità della decifratura, siamo nella situazione seguente: abbiamo "alfa" e "beta" e vogliamo ricostruire la sequenza dei numeri primi NELL'ORDINE GIUSTO, vale a dire quello dei pixel/caratteri ASCII del blocco di in chiaro.

1) Fattorizziamo "beta" (tolti i "trucchetti" di cui sopra - nella versione semplificata - è un prodotto di tanti numeri primi quanti sono gli elementi del blocco cifrato) e ordiniamo i suoi fattori (numeri primi che dividono "beta") in senso crescente;
2) Sommiamo le due cifre che compongono i proxy di posizione che formano "alfa" (esempio "alfa"=62223730...-->8,4,10,3,...);
3) PASSAGGIO CRUCIALE: Seguitemi! Andiamo a vedere ora come sono ordinati i valori delle somme delle cifre dei proxy di posizione all'interno della tabellina con le "X" che ho riportato nella parte precedente e che, per comodità, allego anche qui. Sappiamo dunque che la combinazione "62" (che è aleatoria, fissata la somma "8", posto l'unico vincolo che dobbiamo escludere 08 per quanto detto nella parte 2 dell'articolo) impone che il numero primo ad essa associato occupava la TERZA posizione nella lista dei numeri primi ordinati in senso crescente, il proxy "22" ha invece somma 4 e la tabellina ci dice che il numero primo ad esso associato è l'undicesimo più piccolo fra i 15 totali!;
3bis) Poiché nell'esempio il terzo e il quarto numero primo più piccolo sono uguali (97), abbiamo che anche il proxy a somma 11-->quarta posizione rimanda al numero primo 97. Abbiamo così ricostruito la sequenza ordinata dei numeri primi che sono stati usati per criptare i pixel della foto misteriosa o del testo in chiaro che apparirà, al termine del processo, perfettamente leggibile (senza ambiguità)!

NB
Capite ora perché il più piccolo numero primo considerato non può essere 2, 3 o 5 (nel nostro caso è 17)? Se così non fosse potrebbero generarsi ambiguità qualora nel blocco lo stesso elemento comparisse più volte o meglio, con riferimento alla versione non semplificata, qualora lo stesso numero apparisse più volte all'interno della sequenza dei primi ordinati in senso crescente.

martedì 16 giugno 2015

E' davvero morto Jon Snow? Tutte le anticipazioni del Trono di Spade!

Si è appena conclusa la 5a stagione della fortunata serie TV "Il Trono di Spade", tratta dai romanzi di George R.R. Martin e molti fan si stanno ora chiedendo cosa ne sarà di Jon Snow (dopo essere stato trafitto a ripetizione dai confratelli) e degli altri protagonisti. Ecco qui di seguito le risposte che cercate, utilizzando i tanti indizi disseminati della serie TV e nei libri:

- Jon Snow è morto? Tecnicamente sì, sul fatto che abbia perso la vita non ci sono dubbi, però... però il personaggio di Jon non morirà. Di questo potete essere certi al 100%.

1) Jon è un metamorfo come gli altri Stark (Bran, Arya - anche se non si vede ancora nella serie TV, lei è in grado di vedere attraverso gli occhi di un gatto dopo aver perso la vista) e invoca "Ghost" prima di spirare. Jon è sicuramente metà Stark (lo provano anche i suoi lineamenti); su chi sia la madre di Jon la questione è aperta, ma questa sottotrama in itinere depone ancora di più a favore della sopravvivenza di Jon nella saga: qualora morisse la questione della sua famiglia perderebbe d'importanza. Potrebbe non essere figlio di Ned, bensì di sua sorella Lyanna e avere sangue Targaryen... tuttavia questa è un'altra storia (e depone nuovamente a favore del redivivo Jon). Reminder: "Tu non hai il mio nome, ma hai il mio sangue", disse Ned a Jon prima che quest'ultimo partisse e Lyanna era sua sorella, mentre Ned non era certo come Robert.

2) Melisandre, sacerdotessa rossa, lascia Stannis al suo destino (infausto) e si reca alla Barriera per Jon; su questo non ci sono dubbi. Potrebbe avere bisogno del suo sangue reale (per il quale ha manifestato interesse in passato), notate che parlo di sangue "reale", non di Lord!
Come Thoros di Myr, anche Melisandre può riportare in vita i morti e un sacrificio importante non del tutto ripagato l'ha già compiuto (la figlia di Stannis)... ora tocca a Jon.

3) La trama della Barriera è la spina dorsale di quella di GoT, non può essere delegata a uno dei tanti POV (Sam è andato via), chi rimarrebbe a narrare le sorti dei Night Watchers?
Il Lord degli Estranei sembra avere un conto aperto con Jon e lo "punta" con interesse assoluto: non permetterà certo che il suo corpo si consumi su una pira all'inizio della sesta stagione (nel caso venisse realmente dato alla fiamme si rivelerebbe avere sangue Targaryen - in ogni caso non si consumerebbe)!

4) Profezie ed eredità. Melisandre chiede un segno a R'hllor su chi sia il predestinato a salvare il mondo e il suo dio le mostra della neve cadere (snow). Più chiaro di così... Jon è una/la reincarnazione di colui che sconfisse gli Estranei migliaia di anni prima della storia, ne possiede anche la spada infuocata: il leggendario Azor Ahai e sappiamo per certo che quest'ultimo dovrà discendere in modo diretto dai Targaryen (figlio di Rhaegar e Lyanna).
Jon è il ghiaccio, Daenerys il fuoco (A Song of Ice and Fire) e dal loro incontro non potrà che scaturire la primavera (A Dream of Spring).

4bis) Essendo stato nominato nell'ultimo episodio della quinta stagione, possiamo star sicuri che rivedremo presto lo "zio Benjen", qualsiasi forma possa aver assunto dopo la sua scomparsa.

5) Jon non sarebbe certo il primo Stark ad essere riportato in vita da un sacerdote rosso (cfr. Lady Stoneheart), ma soprattutto è un predestinato: "Kill the boy" disse Maestro Aemon, il quale nei libri aggiunge che Stannis non possiede la spada infuocata del salvatore, pur avendone una luminosa. Il salvatore del mondo forgiò la propria spada sacrificando la donna amata, come ha fatto Jon (che una lama antica e leggendaria l'aveva già).

Ora il ragazzo è morto: chi sorgerà al suo posto?

- Chi morirà per certo nelle prossime stagioni? Su alcuni nomi siamo sicuri grazie alle profezie inequivoche dei libri: Myrcella è defunta, toccherà quindi a re Tommen e poi a sua madre (Cercei), uccisa da un suo "fratellino". Su chi sia si potrebbe cadere in errore e pensare a Tyrion, ma si tratterà al 100% del suo amante Jaime (che la strangolerà come ha fatto Tyrion con la propria - uno dei tanti trabocchetti della serie per indurci a credere si tratterà di Tyrion)!
Jaime ha più motivi di chiunque per liberarsi di Cercei che dopo l'umiliazione della Walk of Shame si vendicherà in modo terribile sulla popolazione di King's Landing. Jaime scoprirà il suo tradimento con il "cugino" Lannister (che cugino in verità non è) e dopo la morte di Tommen la profezia del "fratellino" si compirà.

- Cercei, Jaime e Tyrion Lannister? Io dico invece Cersei e Jaime Targaryen (figli del "Re folle") e Tyrion Lannister, unico figlio biologico di Tywin (un "mostro" che egli non vuole riconoscere come tale neppure in punto di morte). Jaime e l'amato fratellino sono ora accomunati dall'aver commesso parricidio (poi lo saranno anche per lo strangolamento delle rispettive amanti); Jaime e Cercei, come tutti i Targaryen, sono inclini al mantenere puro il sangue tramite incesto: infatti uno dei loro figli ha centrato il lato "folle" della monetina lanciata dal fato al compiersi di tali eventi. Così nacque Joffrey!
Brienne, alla luce di ciò, potrà continuare ad assolvere il suo "comodo compito" di legatura della trama ancora a lungo.

- Chi potrebbe essere ancora in vita? Certamente la Montagna è più viva che morta, seppur a modo suo. Suo fratello non è probabilmente morto, ma di cosa ne sia stato di lui non è dato sapere: vedo probabile uno scontro finale, molto cruento, fra i due Clegane. Sansa è viva e si è salvata dallo spaventoso salto dalle mura di Grande Inverno, sul fatto che Reek stia altrettanto bene non ci metterei la mano sul fuoco. Stannis probabilmente è stato ucciso da Brienne; in ogni caso ormai fa davvero poca differenza.
Myrcella è morta e 2/3 della profezia ai danni di Cercei si sono compiuti: ora è il momento della guerra con Dorne e per il principe Trystane Martell la vedo assai grigia.
Il destino degli uomini si regge dunque su tre piloni, tre teste e tre draghi: Daenerys, Jon e Tyrion, con vari "cattivi" a fare da contrappunto (Ditocorto, i Bolton, gli uomini di ferro, gli Estranei - e Jon?).


- Chi è Azor Ahai, salvatore del mondo? Sappiamo che egli avrà 3 "identità" distinte, tutte che calzano a pennello con gli indizi dati da Martin (come già accennato), su due di esse sono convinto e mi sento di sbilanciarmi alla grande: Daenerys e Jon. Per la terza testa propenderei tutta la vita per un "Lannister" che si rivelerà poi non essere figlio di Tywin e qui i casi sono due... o Tyrion o Jaime. Se è Tyrion allora avrò sbagliato la teoria di cui sopra, ma neppure di molto (e lo darei al 50%), mentre Jaime avrebbe dalla sua la certezza di adempiere al sacrificio della donna amata, consapevoli che strangolerà Cercei a tempo debito. Insomma, sul legame di sangue con i Targaryen siamo pari sia per Jaime che per Tyrion, sul sacrificio della donna amata anche. Tyrion potrebbe avere dalla sua la Battaglia delle acque nere che gli conferisce sale e fumo, ma ha degli handicap non trascurabili, essendo intelligente e "strategico" come Tywin. D'altra parte Sir Jaime potrebbe tranquillamente piangere (e far piangere) Cercei mentre la strangola e ciò potrebbe essere ben contestualizzato in un qualche scenario infuocato (Approdo del Re che brucia?). Anche Tywin gli chiese di diventare il condottiero che sarebbe dovuto essere, per cui sono davvero indeciso... Se il "ghiaccio" e il "fuoco" sono andati, resta la "canzone". Che sia quella auspicata da Bronn alla vigilia del secondo processo per combattimento di Tyrion o quella che Jaime sogna possa essere un giorno canatata sulle sue gesta?

giovedì 11 giugno 2015

Come cifrare un libro o una foto (parte 2)

La natura insegna: per trovare la cura prima è necessario diagnosticare con precisione la malattia e, come anticipato nella prima parte dell'articolo, la subroutine "Algoritmo 4.0" è il cuore dell'algoritmo generale: l'ho concepita in completa autonomia prima di iniziare a studiare l'argomento. Andiamo dunque a vedere come funziona, premettendo che richiederà una buona dose di logica, ma nessuna conoscenza matematica specifica.


ALGORITMO 4.0 (Cifratura) - è PERFETTAMENTE invertibile
1) Abbiamo visto che la stringa "input" dell'algoritmo generale (sia che fossero un blocco di pixel ordinati, sia che fossero caratteri alfanumerici, produceva (al termine dell'azione delle 3 matrici da 100 elementi ciascuna), una stringa ordinata di numeri primi (nella versione semplificata nell'ordine delle centinaia - fra 17 e 577 - e nella versione reale nell'ordine delle decine di migliaia).
2) Questo blocco ORDINATO di numeri primi, tanti quanti sono gli elementi del blocco in questione (nell'esempio 15, ma volendo anche pochissimi o 18), viene posto in corrispondenza biunivoca con altrettanti proxy di posizione di 2 cifre, estratti "random", di volta in volta diversi (a caso) fra un novero abbastanza consistente.
3) Ora che ogni numero primo (anche ripetuto) è associato a un proxy secondo le regole della figura allegata, si effettua il prodotto dei numeri primi ottenendo un "numerone": chiamiamolo "beta".
3bis) Passaggio CHIAVE. I proxy di posizione vengono ordinati in base alla posizione del numero primo corrispondente all'interno dell'input dell'algoritmo (il primo numero primo della lista determina che il suo proxy - a sua volta determinato secondo le regole descritte - sia il primo nella stringa outpur dei proxy): chiamiamo tale stringa ordinata di proxy (giustapposti uno all'altro a formare un altro "numerone") "alfa".
4) Una volta pervenuti alle stringhe "alfa" e "beta’", si compiono alcuni passaggi di rifinitura:
a. Si scambia la prima cifra di "alfa" con l’ultima (sempre di "alfa");
b. A "beta" si sottrae quella che è adesso l’ultima cifra del numero "alfa" (è sempre possibile dato che i primi scelti partono da 17);
c. Qualora il nuovo "beta" sia composto da un numero dispari di cifre, si pospone ad esso la prima cifra della particolare "sottochiave" che cripta lo specifico blocco. In caso contrario, non si effettuano aggiustamenti ulteriori.
5) Altro passaggio CHIAVE: esso varia a seconda dello scopo... se criptiamo una foto sarà di un tipo, se parliamo di caratteri ASCII sarà di un altro.
CASO DELLA FOTO: Si inserisce fra "alfa" e "beta" un pixel grigio di una delle 156 tonalità non contemplate dalla matrice delle scale di grigio (che ne contiene 100 delle 256 possibili - un byte). Quindi questo separatore sarà, per i vari blocchi, di 156 tipi differenti, ma può essere identificato subito per chi conosce quali sono le gradazioni "ammissibili". Una sorta di blocco estraneo.
CASO DI UN MESSAGGIO SCRITTO: si inserisce una delle 10 possibili "dummy" di due cifre che inizia per ZERO. Anch'essa è un corpo estraneo, perché i proxy di posizione sono sempre determinati in modo che lo zero non compaia mai in una posizione "dispari" (iniziando a contare dalla prima cifra del blocco). Pertanto poi si ricercherà il primo zero in posizione "dispari" del blocco di ciphertext da decriptare!
6) Si giustappongono "alfa", la "dummy" di due cifre e "beta", ottenendo una stringa unica da tradurre in pixel o caratteri ASCII ricorrendo alle 3 tabelline già note (i criteri qui si complicano un po', ma l'algoritmo 4.0 finisce qui).

Nella parte 3 vedremo come si inverte anche questa subroutine... il processo logico sottostante vi piacerà di sicuro, continuate a seguire il blog!

martedì 9 giugno 2015

Come cifrare una foto (o un libro) in un'immagine incomprensibile secondo Mr. 17-29 (parte 1)

Qui sotto trovate una versione semplificata dello schema generale dell'algoritmo per occultare una foto in una macchia grigia indistinguibile: per essere "craccato" esso necessita di una chiave - una parola/frase ad esempio. L'algoritmo è perfettamente invertibile senza generare ambiguità, ovvero si può risalire all'originale senza doppie soluzioni.


CIFRATURA:
1) La chiave viene usata come input di una particolare funzione che la prende come argomento e da essa si generano così molte decine di migliaia di chiavi più piccole;
2) Ciascuna di esse diventa a sua volta l'input di un'altra funzione che "sputa fuori" una catena di cifre che descrive univocamente una matrice;
3) Tale matrice, assieme ad altre due (una di "tonalità grigiastre" e una con numeri primi come elementi) determinate secondo altri criteri, definisce una serie di numeri primi non ordinati;
4) Questi numeri primi "entrano" in una particolarissima subroutine che permette di ottenere delle stringhe piuttosto lunghe di pixel (di differenti tonalità);
5) I pixel in questione saranno quelli che andranno a comporre l'immagine indecifrabile da decriptare.

Concretamente, questo complicato ingranaggio prende una "strisciolina" di una foto (da pochissimi pixe alla volta fino a 18 per blocco) e le la tramuta in una strisciolina 3 volte più lunga, ma del tutto "incomprensibile" per l'occhio umano.

Nella prossima parte vedremo come funziona la subroutine del punto 4) (chiamata "algoritmo 4.0") e nelle successive come avviene, molto sinteticamente, il processo di decriptazione.