Sulla steganografia

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…

flowersex

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).

polytrit

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).

trituso

Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • juhan  Il 7 ottobre 2015 alle 13:17

    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).

    • shintakezou  Il 7 ottobre 2015 alle 19:32

      grazie per l’rssata… da «livelli più abbordabili» deduco che ancora non ho azzeccato il target… 😀

      • juhan  Il 7 ottobre 2015 alle 19:56

        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 😉

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: