% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
\usepackage[Bjarne]{fncychap}
\usepackage{longtable}
\usepackage{sphinx}
\usepackage{multirow}


\addto\captionsenglish{\renewcommand{\figurename}{Fig. }}
\addto\captionsenglish{\renewcommand{\tablename}{Table }}
\floatname{literal-block}{Listing }



\title{Stéganô Documentation}
\date{May 18, 2016}
\release{0.5.1}
\author{Cédric Bonhomme}
\newcommand{\sphinxlogo}{}
\renewcommand{\releasename}{Release}
\makeindex

\makeatletter
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
    \let\PYG@ul=\relax \let\PYG@tc=\relax%
    \let\PYG@bc=\relax \let\PYG@ff=\relax}
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
    \PYG@tok{#1}\expandafter\PYG@toks\fi}
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
    \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}

\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}}
\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}}
\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}}
\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
\expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}}
\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}}
\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}}
\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYG@tok@mb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}}
\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}}
\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}}
\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}

\def\PYGZbs{\char`\\}
\def\PYGZus{\char`\_}
\def\PYGZob{\char`\{}
\def\PYGZcb{\char`\}}
\def\PYGZca{\char`\^}
\def\PYGZam{\char`\&}
\def\PYGZlt{\char`\<}
\def\PYGZgt{\char`\>}
\def\PYGZsh{\char`\#}
\def\PYGZpc{\char`\%}
\def\PYGZdl{\char`\$}
\def\PYGZhy{\char`\-}
\def\PYGZsq{\char`\'}
\def\PYGZdq{\char`\"}
\def\PYGZti{\char`\~}
% for compatibility with earlier versions
\def\PYGZat{@}
\def\PYGZlb{[}
\def\PYGZrb{]}
\makeatother

\renewcommand\PYGZsq{\textquotesingle}

\begin{document}

\maketitle
\tableofcontents
\phantomsection\label{index::doc}



\chapter{Presentation}
\label{index:presentation}\label{index:welcome-to-stegano-s-documentation}
\href{https://github.com/cedricbonhomme/Stegano}{Stéganô} is a Python \href{http://en.wikipedia.org/wiki/Steganography}{steganography} module.

Steganography is the art and science of writing hidden messages in such a way
that no one, apart from the sender and intended recipient, suspects the
existence of the message, a form of security through obscurity.
Consequently, functions provided by Stéganô only hide messages,
without encryption. Steganography is often used with cryptography.

Stéganô implements these methods of hiding:
\begin{itemize}
\item {} 
using the red portion of a pixel to hide ASCII messages;

\item {} 
using the \href{http://en.wikipedia.org/wiki/Least\_significant\_bit}{Least Significant Bit} (LSB) technique;

\item {} 
using the LSB technique with sets based on generators (Sieve for Eratosthenes, Fermat, Mersenne numbers, etc.);

\item {} 
using the description field of the image (JPEG and TIFF).

\end{itemize}

Moreover some methods of \href{http://en.wikipedia.org/wiki/Steganalysis}{steganalysis} are provided:
\begin{itemize}
\item {} 
steganalysis of LSB encoding in color images;

\item {} 
statistical steganalysis.

\end{itemize}


\chapter{Requirements}
\label{index:requirements}\begin{itemize}
\item {} 
\href{https://www.python.org}{Python} \textgreater{}= 3.2 (tested with Python 3.5.1);

\item {} 
\href{https://pypi.python.org/pypi/Pillow}{Pillow};

\item {} 
\href{https://pypi.python.org/pypi/piexif}{piexif}.

\end{itemize}


\chapter{Turorial}
\label{index:turorial}

\section{Installation}
\label{tutorial:installation}\label{tutorial::doc}
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }sudo pip install Stegano
\end{Verbatim}

You will be able to use Stéganô in your Python programs
or as a command line tool.

If you want to retrieve the source code (with the unit tests):

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }git clone https://github.com/cedricbonhomme/Stegano.git
\end{Verbatim}
\href{https://travis-ci.org/cedricbonhomme/Stegano}{}

\section{Using Stéganô as a Python module}
\label{tutorial:using-stegano-as-a-python-module}

\subsection{LSB method}
\label{tutorial:lsb-method}
\begin{Verbatim}[commandchars=\\\{\}]
Python 3.5.1 (default, Dec  7 2015, 11:33:57)
[GCC 4.9.2] on linux
Type \PYGZdq{}help\PYGZdq{}, \PYGZdq{}copyright\PYGZdq{}, \PYGZdq{}credits\PYGZdq{} or \PYGZdq{}license\PYGZdq{} for more information.
\PYGZgt{}\PYGZgt{}\PYGZgt{} from stegano import slsb
\PYGZgt{}\PYGZgt{}\PYGZgt{} secret = slsb.hide(\PYGZdq{}./examples/pictures/Lenna.png\PYGZdq{}, \PYGZdq{}Hello world!\PYGZdq{})
\PYGZgt{}\PYGZgt{}\PYGZgt{} secret.save(\PYGZdq{}./Lenna\PYGZhy{}secret.png\PYGZdq{})
\PYGZgt{}\PYGZgt{}\PYGZgt{} print(slsb.reveal(\PYGZdq{}./Lenna\PYGZhy{}secret.png\PYGZdq{}))
Hello world!
\end{Verbatim}


\subsection{Description field of the image}
\label{tutorial:description-field-of-the-image}
For JPEG and TIFF images.

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{Python} \PYG{l+m+mf}{3.5}\PYG{o}{.}\PYG{l+m+mi}{1} \PYG{p}{(}\PYG{n}{default}\PYG{p}{,} \PYG{n}{Dec}  \PYG{l+m+mi}{7} \PYG{l+m+mi}{2015}\PYG{p}{,} \PYG{l+m+mi}{11}\PYG{p}{:}\PYG{l+m+mi}{33}\PYG{p}{:}\PYG{l+m+mi}{57}\PYG{p}{)}
\PYG{p}{[}\PYG{n}{GCC} \PYG{l+m+mf}{4.9}\PYG{o}{.}\PYG{l+m+mi}{2}\PYG{p}{]} \PYG{n}{on} \PYG{n}{linux}
\PYG{n}{Type} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{help}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{copyright}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{credits}\PYG{l+s}{\PYGZdq{}} \PYG{o+ow}{or} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{license}\PYG{l+s}{\PYGZdq{}} \PYG{k}{for} \PYG{n}{more} \PYG{n}{information}\PYG{o}{.}
\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}} \PYG{k+kn}{from} \PYG{n+nn}{stegano} \PYG{k+kn}{import} \PYG{n}{exifHeader}
\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}} \PYG{n}{secret} \PYG{o}{=} \PYG{n}{exifHeader}\PYG{o}{.}\PYG{n}{hide}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{./examples/pictures/20160505T130442.jpg}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
                        \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{./image.jpg}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,} \PYG{n}{secret\PYGZus{}message}\PYG{o}{=}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{Hello world!}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}
\PYG{o}{\PYGZgt{}\PYGZgt{}}\PYG{o}{\PYGZgt{}} \PYG{k}{print}\PYG{p}{(}\PYG{n}{exifHeader}\PYG{o}{.}\PYG{n}{reveal}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{./image.jpg}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}\PYG{p}{)}
\end{Verbatim}

More examples are available in the
\href{https://github.com/cedricbonhomme/Stegano/tree/master/tests}{tests}.


\section{Using Stéganô in command line for your scripts}
\label{tutorial:using-stegano-in-command-line-for-your-scripts}

\subsection{Display help}
\label{tutorial:display-help}
\begin{Verbatim}[commandchars=\\\{\}]
\PYGZdl{} slsb \PYGZhy{}\PYGZhy{}help
Usage: slsb [options]

Options:
\PYGZhy{}\PYGZhy{}version             show program\PYGZsq{}s version number and exit
\PYGZhy{}h, \PYGZhy{}\PYGZhy{}help            show this help message and exit
\PYGZhy{}\PYGZhy{}hide                Hides a message in an image.
\PYGZhy{}\PYGZhy{}reveal              Reveals the message hided in an image.
\PYGZhy{}i INPUT\PYGZus{}IMAGE\PYGZus{}FILE, \PYGZhy{}\PYGZhy{}input=INPUT\PYGZus{}IMAGE\PYGZus{}FILE
                        Input image file.
\PYGZhy{}o OUTPUT\PYGZus{}IMAGE\PYGZus{}FILE, \PYGZhy{}\PYGZhy{}output=OUTPUT\PYGZus{}IMAGE\PYGZus{}FILE
                        Output image containing the secret.
\PYGZhy{}m SECRET\PYGZus{}MESSAGE, \PYGZhy{}\PYGZhy{}secret\PYGZhy{}message=SECRET\PYGZus{}MESSAGE
                        Your secret message to hide (non binary).
\PYGZhy{}f SECRET\PYGZus{}FILE, \PYGZhy{}\PYGZhy{}secret\PYGZhy{}file=SECRET\PYGZus{}FILE
                        Your secret to hide (Text or any binary file).
\PYGZhy{}b SECRET\PYGZus{}BINARY, \PYGZhy{}\PYGZhy{}binary=SECRET\PYGZus{}BINARY
                        Output for the binary secret (Text or any binary
                        file).
\end{Verbatim}


\subsection{Hide and reveal a text message}
\label{tutorial:hide-and-reveal-a-text-message}
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }slsb \PYGZhy{}\PYGZhy{}hide \PYGZhy{}i ./pictures/Lenna.png \PYGZhy{}o ./pictures/Lenna\PYGZus{}enc.png \PYGZhy{}m HelloWorld!
\PYG{n+nv}{\PYGZdl{} }slsb \PYGZhy{}\PYGZhy{}reveal \PYGZhy{}i ./pictures/Lenna\PYGZus{}enc.png
HelloWorld!
\end{Verbatim}


\subsection{Hide and reveal a binary file}
\label{tutorial:hide-and-reveal-a-binary-file}
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }wget http://www.gnu.org/music/free\PYGZhy{}software\PYGZhy{}song.ogg
\PYG{n+nv}{\PYGZdl{} }slsb \PYGZhy{}\PYGZhy{}hide \PYGZhy{}i ./pictures/Montenach.png \PYGZhy{}o ./pictures/Montenach\PYGZus{}enc.png \PYGZhy{}f ./free\PYGZhy{}software\PYGZhy{}song.ogg
\PYG{n+nv}{\PYGZdl{} }rm free\PYGZhy{}software\PYGZhy{}song.ogg
\PYG{n+nv}{\PYGZdl{} }slsb \PYGZhy{}\PYGZhy{}reveal \PYGZhy{}i ./pictures/Montenach\PYGZus{}enc.png \PYGZhy{}b ./song.ogg
\end{Verbatim}


\subsection{Hide and reveal a message by using the description field of the image}
\label{tutorial:hide-and-reveal-a-message-by-using-the-description-field-of-the-image}
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }./exif\PYGZhy{}header.py \PYGZhy{}\PYGZhy{}hide \PYGZhy{}i ./Elisha\PYGZhy{}Cuthbert.jpg \PYGZhy{}o ./Elisha\PYGZhy{}Cuthbert\PYGZus{}enc.jpg \PYGZhy{}f ./fileToHide.txt
\PYG{n+nv}{\PYGZdl{} }./exif\PYGZhy{}header.py \PYGZhy{}\PYGZhy{}reveal \PYGZhy{}i ./Elisha\PYGZhy{}Cuthbert\PYGZus{}enc.jpg
\end{Verbatim}


\subsection{Steganalysis}
\label{tutorial:steganalysis}
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n+nv}{\PYGZdl{} }steganalysis\PYGZhy{}parity \PYGZhy{}i ./pictures./Lenna\PYGZus{}enc.png \PYGZhy{}o ./pictures/Lenna\PYGZus{}enc\PYGZus{}st.png
\end{Verbatim}

More information available at the {\hyperref[tutorial::doc]{\emph{\emph{tutorial}}}} page.
You can also take a look at the
\href{https://github.com/cedricbonhomme/Stegano/tree/master/tests}{unit tests}.


\chapter{License}
\label{index:license}
\href{https://github.com/cedricbonhomme/Stegano}{Stéganô} is under GPL v3 license.


\chapter{Donation}
\label{index:donation}
If you wish and if you like Stéganô, you can donate via bitcoin.
My bitcoin address: \href{http://blockexplorer.com/address/1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ}{1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ}


\chapter{Contact}
\label{index:contact}
\href{https://www.cedricbonhomme.org}{My home page}



\renewcommand{\indexname}{Index}
\printindex
\end{document}
