Stéganographie avec ensembles

Comme promis voici une première implémenation du module de Stéganô permettant de cacher des informations (textes ou binaires) en utilisant des ensembles d’entiers. Il s’agit d’un premier jet codé entre deux parties de Nexuiz (franchement génial, on peut se faire une partie en réseau si ça vous tente).

Vous pouvez tester le nouveau module de Stéganô en recopiant le script ci-dessous dans un fichier test-slsb-gen.sh puis en l’excécutant.

hg clone https://bitbucket.org/cedricbonhomme/stegano/
cd stegano/
sudo python setup.py install
echo "We're going to test a little Stéganô..."

echo "Hide the message with the Sieve of Eratosthenes..."
slsb-set --hide -i ./examples/pictures/Montenach.png -o ./surprise.png --generator eratosthenes -m 'Joyeux Noël!'
echo ""

echo "Try to reveal with Mersenne numbers..."
slsb-set --reveal --generator mersenne -i ./surprise.png
echo ""

echo "Try to reveal with fermat numbers..."
slsb-set --reveal --generator fermat -i ./surprise.png
echo ""

echo "Try to reveal with carmichael numbers..."
slsb-set --reveal --generator carmichael -i ./surprise.png
echo ""

echo "Try to reveal with Sieve of Eratosthenes..."
slsb-set --reveal --generator eratosthenes -i ./surprise.png

Vous obtiendrez le résultat suivant:

cedric@montenach:~$ ./test-slsb-gen.sh 
destination directory: stegano
requesting all changes
adding changesets
adding manifests
adding file changes
added 53 changesets with 115 changes to 43 files
updating to branch default
23 files updated, 0 files merged, 0 files removed, 0 files unresolved
...
We're going to test a little Stéganô...

Hide the message with the Sieve of Eratosthenes...

Try to reveal with Mersenne numbers...
Impossible to detect message.

Try to reveal with fermat numbers...
Impossible to detect message.

Try to reveal with carmichael numbers...
Impossible to detect message.

Try to reveal with Sieve of Eratosthenes...
Joyeux Noël!

Et voilà le message est bien découvert avec le crible d’Eratosthenes. Il s’agit d’une première version et il y a des améliorations à effectuer. Cependant il est possible de déjà faire quelques tests. Pour le moment il est possible de générer des ensembles avec la suite de Fibonacci, le crible d’Eratosthenes, les nombres de Fermat et Carmichael. Il y a quelques problèmes avec Carmichael et Ackermann. Je ne comprends pas, j’ai pourtant un i7 ;-). Je précise que dans cette implémentation la suite de fermat commence par 1,2,3,… En commençant par les premières valeurs on a des problèmes…