Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Ocultar Mensagens em Imagens Usando Python - Esteganografia

Público-Alvo: Este artigo é destinado a desenvolvedores de software, entusiastas de segurança cibernética e qualquer pessoa interessada em técnicas de esteganografia digital.


A esteganografia é a arte de ocultar informações dentro de arquivos de mídia, de modo que a presença da mensagem seja indetectável a olho nu. Este método pode ser usado para uma variedade de propósitos, desde a proteção de informações confidenciais até a marcação digital de imagens. Neste artigo, exploraremos como ocultar uma mensagem dentro de uma imagem usando Python, uma habilidade valiosa em campos como segurança cibernética e direitos autorais digitais.


Passo a Passo:
1. Instale a biblioteca PIL (Pillow) se ainda não estiver instalada, usando pip install Pillow.
2. Carregue a imagem na qual você deseja ocultar a mensagem usando Image.open(image_path).
3. Obtenha as dimensões da imagem (largura e altura) para iterar sobre os pixels.
4. Converta a mensagem desejada em uma representação binária.
5. Percorra os pixels da imagem, modificando o bit menos significativo (LSB) do componente vermelho (R) de cada pixel para incluir os bits da mensagem.
6. Salve a imagem modificada em um novo arquivo.


Exemplos: Ocultando uma Mensagem em uma Imagem com Python


Script:


from PIL import Image

def ocultar_mensagem(image_path, message, output_path='hidden_image.png'):
img = Image.open(image_path) # Carrega a imagem
width, height = img.size # Obtém as dimensões da imagem
pixels = img.load() # Carrega os pixels da imagem

# Converte a mensagem para binário e adiciona um delimitador
message_bin = ''.join(format(ord(char), '08b') for char in message) + '11111111'

index = 0
for x in range(width):
for y in range(height):
if index < len(message_bin):
r, g, b = pixels[x, y] # Obtém os componentes RGB do pixel
# Modifica o LSB do componente vermelho
r = (r & 0xFE) | int(message_bin[index])
index += 1
pixels[x, y] = (r, g, b) # Atualiza o pixel
if index == len(message_bin): # Se toda a mensagem foi ocultada, interrompe o loop
break
else:
continue
break

img.save(output_path) # Salva a imagem com a mensagem oculta

ocultar_mensagem('image_original.png', 'Secret message')

Este artigo demonstrou uma técnica simples mas eficaz de esteganografia usando Python. Através da manipulação do bit menos significativo dos componentes de cor de uma imagem, podemos ocultar mensagens sem alterar perceptivelmente a imagem original. Essa habilidade tem aplicações importantes em áreas como segurança da informação e direitos autorais digitais.


To share Download PDF