Pergunta

Atualização Eu fiz esta pergunta muito tempo atrás, e eu estava curioso para saber se qualquer coisa como isto tem sido desenvolvido desde fiz a pergunta?

Eu não sei mesmo se há um prazo para este tipo de algoritmo, e eu acho que não vai haver se ninguém inventou ainda. No entanto, também faz pesquisando para este um pouco difícil. Alguém sabe se existe um termo para este algoritmo / princípio ainda?


Esta é uma idéia que eu estive pensando sobre, mas eu não sei bem como resolvê-lo. Gostaria de saber se todas as soluções como esta existe lá fora, ou se vocês têm alguma idéia de como isso poderia ser implementado.

Steganography

Steganography é basicamente a arte de mensagens esconderijos. Nos dias modernos fazemos isso digitalmente por exemplo modificar os bits menos significativos em uma imagem como a mostrada abaixo. Assim, para cada pixel e para cada componente de cor daquele pixel que pode ser capaz de esconder um byte ou dois.

Esta alternância não é visível a olho nu, mas analisando os bits menos significativos pode revelar padrões que expõe a existência e, possivelmente, o conteúdo de uma mensagem escondida. Para contrariar esta situação, simplesmente criptografar a mensagem antes de inseri-la na imagem, o que mantém o seguro de mensagens e também ajuda a prevenir a descoberta da existência de uma mensagem escondida.

Assim, em princípio, esteganografia fornece o seguinte:

  • Hiding mensagem criptografada em qualquer tipo de dados de mídia. (Imagens, música, vídeo, etc.)
  • negação completa da existência de uma mensagem escondida sem a chave correta.
  • Extração da mensagem escondida com a chave correta.


(fonte: cs.vu.nl )

Semacodes

Semacodes são uma forma de codificação de dados numa representação visual, que pode ser impresso, copiado e facilmente verificados. A matriz de dados mostrado a seguir é um exemplo de um semacode contendo o famoso texto Lorem Ipsum. Este é essencialmente um código de barras 2D, com uma capacidade maior que normalmente códigos de barras. Programas de geração de semacodes estão prontamente disponíveis, e idem para software para lê-los, especialmente para telefones celulares. Semacodes geralmente contém códigos de correção de erros, são geralmente muito robusto, e pode ser lido em condições muito danificados.

Assim semacodes tem as seguintes propriedades:

  • Codificação de dados que pode ser impresso e copiado.
  • Pode ser digitalizada e interpretado mesmo em condições (sujo) danificados, e geralmente uma codificação muito robusta.

Combinando-

Assim, a minha ideia é criar algo que combina esses dois, com todas as propriedades combinadas. Isso significa que ele teria de:

  • Integrar uma mensagem criptografada em qualquer mídia, provavelmente uma imagem digitalizada.
  • A mensagem deve ser extraível, mesmo se a imagem é impressa e digitalizada, e mesmo parcialmente danificados.
  • A existência de uma mensagem incorporada deve ser indetectável sem a chave usada para criptografia.

Então, primeiro de tudo eu gostaria de saber se todas as soluções, algoritmos ou pesquisa está disponível sobre este assunto? Em segundo lugar, gostaria de ouvir quaisquer ideias / pensamentos sobre como isso pode ser feito?

Eu realmente espero conseguir uma boa discussão acontecendo as possibilidades ea viabilidade de implementar algo parecido com isso, e eu estou ansioso para ler suas respostas.

Atualização

Obrigado por toda a boa entrada desta. Provavelmente, vou trabalhar um pouco mais sobre essa idéia quando eu tiver mais tempo. Estou convencido de que deve ser possível. Pense sobre a pesquisa na incorporação de marcas d'água em música e filmes.

Foi útil?

Solução

Eu imagino parte da robustez de um semacode a danos / sujeira / obscurecimento é o alto contraste entre os dois estados de qualquer "célula". O leitor ainda pode fazer um bom palpite quanto ao estado real, mesmo com alguma distorção.

Esse tipo de contraste não está disponível em uma imagem fotográfica, e é a razão pela qual esteganografia funciona - o LSB bit-flipping tem efeito quase nenhum visual na própria imagem, enquanto garante fidelidade digitais que uma lata sistema não-visual ainda ler com muita precisão os dados incorporados.

Como os dois aplicativos são uma espécie de em extremos opostos do espectro analógico / digital (semacodes são tudo sobre ser decifráveis ??pelo analógica (visual) de processamento, mas estão no papel, não digital; esteganografia é tudo sobre os bits no arquivo e não se importa com a representação analógica, se a luz ou o som ou qualquer outra coisa), eu imagino uma combinação dos dois irá extremamente difícil, se não impossível.

Essencialmente o que você está pensando é ser capaz de algo steganographically incorporar em uma imagem, imprimir a imagem, fazer uma fotocópia a cores dele, digitalizá-lo em, e ainda ser capaz de extrair os dados incorporados .

Eu tenho medo Eu não posso ajudar, mas se alguém consegue isso, eu vou ser NADA impressionado! :)

Outras dicas

Não é uma resposta completa, mas você deve olhar para watermarking . Esta técnica resolve seus dois primeiros gols (embedable em uma imagem impressa e legível mesmo a parte danificada de digitalização).

Parte do watermarking confiabilidade a erros de distorção e de transcrição (de ir de digital para analógico e volta) vêm de redundância (por exemplo, repetindo os dados várias vezes). Aqueles faria o detectável marca d'água, mesmo sem uma chave. No entanto, você pode ser capaz de usar técnicas de redundância que são mais sutil, talvez algo relacionado a codificação apagamento ou a partilha secreta.

Eu sei que não é uma resposta completa, mas espero que os leva você irá apontar na direção certa!

Que linguagem / ambiente você está usando? Não deve ser tão difícil de escrever código que abre tanto a imagem e semacode como um bitmap (este último como um monocromático), define o bit mais baixo (s) de cada byte de cada pixel da imagem colorida para o valor do pixel da bitmap monocromático correspondente.

(opcionalmente expandir o mapa de bits semacode primeiro para as mesmas dimensões de pixel-se prolongam com branco)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top