Immagino che siate in trepidante attesa del seguito di Macchine a stati finiti e pattern matching, o dovete ancora digerire quel malloppo… tranquilli, perché devo trovare il tempo di impegnarmi a scriverlo (suspense…) e su due piedi non mi viene.
Quindi, nel frattempo…
Scavo un po’ questo blog e trovo Due immagini identiche non proprio uguali…. A me la steganografia è sempre piaciuta un sacco; purtroppo quando se ne parla popolarmente spesso e volentieri si fa confusione e si dicono sciocchezze. E poi si fa sempre e solo il classico esempio di “qualcosa” nascosto dentro un’immagine.
Ma perché un’immagine? Forse perché è qualcosa di più “spendibile” in un film o in un racconto? Fa più scena, insomma. Come Nella morsa del ragno.
In quel mio articolo racconto la storiella del «greco [che] scrisse un messaggio sulla testa rasata di un suo schiavo, aspettò che gli crescessero i capelli e gli ordino di recarsi nella città del suo amico destinatario», solo che la ricordavo diversa. Ma il succo è lo stesso ed è ciò che conta.
Qualche giochetto steganografico e molte altre cose si possono apprendere anche da qui. È un gioco e se vi va di giocare non ve ne pentirete. Tanto per capirci (forse), dietro c’è Davide Eynard; parliamo di pezzettini di certa storia. E a proposito, Lore updated 6 years, 5 months and 6 days ago, dice… questo mi mette un po’ di nostalgia (perché 8 anni fa ero più giovane e pensavo che quel sito mi avrebbe fornito materiale nuovo fino all’eternità).
Torniamo in tema: sempre se la memoria non mi tradisce, è lì (giocando su 3564020356) che appresi e la storiella e del libro di Trithemius sulla steganografia… È anche su archive.org. Dovete ripassare un po’ di latino (ma non è il latino di Cicerone, si legge un po’ più facilmente… ehm). Trovate anche cose come Solved: The Ciphers in Book iii of Trithemius’s Steganographia. Sempre per capirci, Trithemius è l’autore di Polygraphia, «the first printed book on cryptography» (lo trovate scansionato su Books Google, se vi interessa).
Naturalmente non poteva non parlarne pure l’NSA, che ci dà anche altri titoli che val la pena leggere nelle fredde serate infernali.
Steganografare
Dicevamo appunto che la steganografia non deve per forza nascondere “qualcosa” in un’immagine, come dimostra la storia del greco.
Oh, tremenda tormenta /
che mi bloccò sul monte! /
Così forte il vento che pure /
Harry Potter, con gli incantesimi /
e le pozioni e /
i suoi amici e la sua fortuna, /
poteva rimanerci secco! /
Ancora non capisco come riuscii a resistere, /
né donde venissero /
i soccorsi tanto sperati, /
che mi presero per i capelli! /
Ora posso dire d'esser vivo! /
Banale ma rende l’idea (o no?). Il seguente programmino può codificare un testo in un testo usando gli spazi. Scusate se ho usato il Perl ma, nonostante sia arrugginito, lo trovo sempre più pratico per fare al volo certe cose!
use strict; my @frags = (); my @msg = grep /[A-Z]/, split('',$ARGV[0]); foreach my $c (@msg) { my $a = ord($c) - ord("A"); push @frags, ($a & 0x1C) >> 2; push @frags, ($a & 0x03); } my @lines = (); while (<STDIN>) { my @w = split /\s+/; my $s = ""; foreach my $l (@w) { my $n; if (@frags > 0) { $n = shift @frags; } else { $n = 0; } $s .= $l . (" "x($n+1)); } print $s . "/\n"; } print STDERR "left: ".@frags."\n" if @frags>0;
Ora a voi sta scrivere il programma di decodifica (poi lo farò pure io per verificare di aver scritto bene quello di codifica:-D…) Dunque c’è la poesia, che non è il messaggio, ma il messaggio non è nemmeno «occheipanico»… c’è ancora un altro livello. E se ce ne fosse un altro ancora (a parte quello allegorico, che avrete notato…)? …
A proposito… il programmino lo potete usare così:
perl encospace.pl "TESTO" <contenitore.txt
(potete usare solo le lettere maiuscole).
Commenti
Urge (appena trovo un attimino di tempo) un post riparatore, riportare il blog a livelli più abbordabili. Per intanto RSSato il blog http://muapna.blogspot.it/ che –non sono così niubbo– non chiedo da dove arrivi un nome così 😉
A una prima scorsa mi sono ritrovato Joule che io –OK, sto divagando. Ma nessuno dice niente su Huygens (i puristi olandesi scrivono Huijgens ma forse sto divagando).
grazie per l’rssata… da «livelli più abbordabili» deduco che ancora non ho azzeccato il target… 😀
No, no, no! va benissimo.
Ma alle volte serve anche qualcosa di meno impegnativo. Per esempio Perl è un altro dei linguaggi che a qualcuno fa venire i brufoli (specie se condito con regexp). Ma è OK, posso citare il Grande Timoniere della Rivoluzione (mi ripeto): facciamo fiorire cento fiori 😉