Monday, January 19, 2015

Ainda acerca de encriptação

A respeito disto, ocorre-me se não seria relativamente simples enviar mensagens em código que nem sequer fosse possível perceber que eram em código.

Por exemplo, enviar uma imagem (como uma fotografia), em que a cor de cada pixel na realidade representasse um caracter; podia-se ter uma fórmula assim: código ASCII do caracter = (VERMELHO mod 8)*32 + (VERDE mod 4)*8 + (AZUL mod 8).

Assim, a cor rgb(58,9,253) representaria a letra "M": (58 mod 8)*32 + (9 mod 4)*8 + (253 mod 8) = 2*32 + 1*8 + 5 = 77 (o código para "M"); mas a cor rgb(122,57,5) também representaria "M": (122 mod 8)*32 + (57 mod 4)*8 + (5 mod 8) = 2*32 + 1*8 + 5 = 77; para cada caracter haveria 65.536 cores possíveis. Assim com tantas cores possiveis para cada caracter, seria possivel pegar numa inocente fotografia, alterar ligeiramente a cor de cada pixel para representar uma das cores do caracter que se quer transmitir, e no final a imagem resultante pareceria uma normal fotografia, com poucas diferenças face às cores originais.

Possível ponto fraco - é possível que, quando se envia um ficheiro de imagem via internet ele seja ligeiramente alterado (quando eu mando uma foto muito grande via email, ele pergunta-me se quero reduzir o tamanho ou não - sinceramente não sei se, quando escolho "não", o mail manda a fotografia exatamente igual ou se lhe muda alguma coisa); e, neste esquema, qualquer alteração, por mais ligeira que fosse, estragaria todo o código.

No comments: