Oggi mi sono posto di fronte ad un enigma apparentemente complesso ma con una soluzione abbastanza banale. Il dubbio è di quelli che fanno girare a vuoto i sistemi meno ottimizzati: come è possibile trasmettere dati grezzi, come i bit di un’immagine jpg o di un eseguibile, usando una semplice stringa di testo senza mandare in crash l’infrastruttura che li trasporta?
Il problema logico è evidente se provi a fare un esperimento stupido: prendi una foto, forza la sua apertura con un editor di testo minimale come il Blocco Note e guarda lo schermo. Ti troverai davanti a un ammasso informe di geroglifici, pixel tradotti male e stringhe corrotte. Quello è il binario puro. Ora, prova a prendere quel caos e a incollarlo dentro un campo di testo su una pagina web, in una mail o dentro un file JSON. Il sistema si pianta. Questo succede perché i canali di comunicazione standard interpretano alcuni byte specifici come comandi di controllo (ad esempio l’interruzione di riga, il ritorno a capo o la fine del file). Basta che un singolo pixel della tua immagine coincida casualmente con il codice di “fine messaggio” e l’intera trasmissione si tronca, lasciandoti in mano un file corrotto.
La soluzione non è criptare, ma trovare un travestimento protettivo: convertire la giungla dei bit in un set di caratteri così standard e innocui che nessun server sulla terra potrà mai scambiarli per un comando di sistema.
Ecco l’articolo completo che spiega come funziona questa traduzione.