Prefácio
Recentemente, notei que as pessoas do meu fórum se interessaram pelo tema da esteganografia de vários textos em imagens, arquivos mp3 e vídeos. E então tive a ideia de escrever meu próprio roteiro para esteganografia de texto em imagens. Devo dizer que nunca encontrei ferramentas semelhantes para esteganografia.Antes de me familiarizar com a esteganografia da LSB, considerei outras maneiras, ou melhor, criei as minhas. Mas eu não tinha forças para criar algo próprio e decidi pesquisar no Google: oLSB é um método de esteganografia no qual os bits mais baixos de uma das cores RGB de um pixel são alterados para bits de texto codificado.Então me familiarizei com a biblioteca Pillow por trabalhar com imagens e criptografia. O segundo no meu caso foi necessário para criar a criptografia DES, que posteriormente será codificada em bits na imagem.Codificação
Eu publiquei minha ideia no GitHub, então, para mais trabalhos com o StegoPy, precisamos apenas clonar o projeto com o GitHub:> git clone https://github.com/eBind/StegoPy
> cd StegoPy
> pip3 install -r requirements.txt
> python3 stegopy.py
No entanto, tudo é como de costume em termos de instalação. Agora vamos ver a sintaxe dos comandos de inicialização.> python3 stegopy.py -e in.jpg data.txt
Com este comando, codificaremos o texto do arquivo data.txt na imagem in.jpg,mas antes da codificação, seremos solicitados um saldo, que pode ser de 1 a 4. Essa é apenas uma das coisas mais interessantes do programa.Arquivo data.txtesta é uma mensagem privada
Equilíbrio é o número de bits de baixa ordem envolvidos na esteganografia. Varia de 1 a 4.Consequentemente, quanto maior o saldo, o:- Menos pixels estarão envolvidos na codificação
- Alterações visíveis nos canais de cores
A partir disso, podemos concluir que, quanto menor o equilíbrio, maior a confiabilidade da esteganografia e ela será invisível ao olho humano.Outro fator importante é que apenas o canal azul muda, cujos tons são os menos visíveis aos nossos olhos.Depois de decidirmos a balança, nosso script criará dois arquivos adicionais:- out.png - imagem com texto codificado
- key.dat - arquivo com a chave necessária para descriptografia
Arquivo Key.dat1$960$gxvZH4Q8Gq2qLGeA1aSCXIPRljJlJbihsvSBdzx-wSM=

Decodificação
A sintaxe para o comando no nosso caso é:> python3 ./stegopy.py -d out.png
Ser-nos-á solicitado a chave que recebemos ao codificar. Após a decodificação, o texto descriptografado será salvo no arquivo out.txt.Como
você deve ter notado, a imagem de entrada possui o formato JPEG e a saída é PNG. Esta é uma falha no programa, que será corrigida em breve e você terá a oportunidade de escolher o formato de saída.Somente JPEG e PNG foram testados na imagem de entrada; teoricamente, ele deve funcionar em imagens menos usadas, como bmp e assim por diante.A propósito, a pylint classificou o StegoPy em 10/10. Comentários sobre o código e a funcionalidade são bem-vindos, pois pretendo desenvolver o aplicativo.→ O projeto está disponível no GitHub