Reviravolta Digital

Reviravolta Digital

mensagem-secreta

A esteganografia é a prática de esconder mensagens ou informações dentro de outros textos ou dados não secretos. Usando estes programas, pode esconder mensagens de texto dentro de excertos de livros ou até livros inteiros.

Plainsight

Plainsight é uma ferramenta de esteganografia textual, escrita em Python, que lhe permite cifrar uma mensagem num formato de texto simples e sem sentido, consistindo em palavras de dicionário, utilizando um texto-fonte.

Instalar

A forma mais fácil de instalar Plainsight é utilizando o programa de instalação preferido do Python (pip). Muitas distribuições Linux têm-no pré-instalado, mas se não o tiver:

$ pacman -S python-pip

E agora instalar o Plainsight:

$ pip install plainsight

Os módulos de Python bitstring e progressbar são também necessários para executar o programa.

$ pip install bitstring
$ pip install progressbar

Para utilizar a Plainsight, é necessário ter um texto-fonte. Isto é o que será utilizado para cifrar a sua mensagem. Pode usar qualquer coisa como texto-fonte, mas as pessoas normalmente usam livros/letras músicais/poemas. No entanto, se puder pré-organizar um texto-fonte privado com o(s) destinatário(s) pretendido(s), seria mais seguro do que utilizar um texto público.

Para este exemplo, vou usar os Lusíadas.

Criar diretório

Primeiro vamos criar um novo diretório para guardar os conteúdos deste tutorial, e depois entra nele:

mkdir ~/plainsight
cd ~/plainsight

Criar mensagem

De forma a cifrar uma mensagem, é necessário canalizá-la através do programa. Criamos o ficheiro o seguinte ficheiro:

echo "Esta é a minha mensagem super secreta." > mensagem.txt

Download do texto-fonte

Agora vamos usar os Lusíadas como texto-fonte no nosso exemplo. Podes fazer download do ficheiro texto através do Project Gutenberg:

curl -o ~/plainsight/lusiadas.txt https://www.gutenberg.org/files/3333/3333-8.txt

Cifrar a mensagem

Agora vamos passar a nossa mensagem pelo plainsight usando o nosso texto-fonte escolhido.

cat mensagem.txt | plainsight -m encipher -f lusiadas.txt > textocifrado.txt

Vamos agora ver como ficou o texto cifrado que agora, não passa de nada se não uma algaravia autêntica:

cat textocifrado.txt

todo Nem o esforço nenhum grande esforço olhos dando o Véu se com os bicos, se ale terra, toda remota antiguidade. que Albuquerque Rei, que por ele e forte peito vil tempo lhe nega. bebe, fogo e ferro por ele iroso, revolvido Atlântico algum nunca falte se os dentes os grandes as em em tal filho e lá da costa que o Reino próspero ser mortos vê do mundo, A oferecido. povo, campo

A mensagem de 38 caracteres foi cifrada em 380 caracteres de palavras dispostas aleatoriamente a partir do texto original dos Luisíadas.

Decifrar a mensagem

Agora para decifrar a mensagem:

cat textocifrado.txt | plainsight -m decipher -f lusiadas.txt > textodecifrado.txt
cat textodecifrado.txt
"Esta é a minha mensagem super secreta."

Como se pode ver, a mensagem foi decifrada com toda a formatação e pontuação intactas.

O plainsight também funciona bem com ficheiros. Consegui cifrar e decifrar com sucesso um ficheiro PNG, um ficheiro C e um ficheiro ZIP, por isso deve funcionar bem para qualquer tipo de ficheiro.

O plainsight não é realmente ideal para ficheiros grandes, uma vez que se começar a atingir vários megabytes em tamanho, leva muito mais tempo a cifrar/decifrar, e o ficheiro de saída é muito maior em tamanho.

Pode facilmente colocar o plainsight com outras tecnologias para uma protecção extra. Por exemplo, encriptar a suas mensagens com PGP e passa-las através da Plainsight. Desta forma, tem a segurança e privacidade do PGP combinada com a obscuridade do plainsight.