1 Introduç˜ao 2 Método 3 Material

Transcrição

1 Introduç˜ao 2 Método 3 Material
Instituto de Computação
Universidade Estadual de Campinas
1o¯ Trabalho Prático
MO421/MC889 - Introdução à Criptografia
Prof. Julio López
1o¯ Semestre de 2008
1
Introdução
O trabalho objetiva implementar um método de criptoanálise de uma cifra clássica,
de posse apenas da tabela de freqüências da lı́ngua em que se encontra o texto claro.
2
Método
A Cifra de Vigenére é um método clássico de encriptação que utiliza uma série
de diferentes Cifras de César baseadas em caracteres de uma chave. Trata-se de uma
versão simplificada de uma cifra geral de substituição polialfabética.
Para implementação em computadores, cada caractere individual do texto claro
é representado por um inteiro entre 0 e 255. A operação de substituição é uma adição
módulo 256, ou a operação de XOR entre um caractere do texto claro e um caractere
da chave. Para este trabalho, o conjunto de caracteres considerado é o padrão ISO
8859-1.
3
Material
Como apoio, é fornecido um programa em C que cifra um arquivo arbitrário
utilizando a Cifra de Vigenére. O código-fonte deste programa encontra-se no arquivo
vigenere.c. Utilize este arquivo para entender o método de cifração e para construir
criptogramas adicionais de fácil decifração para fins de teste.
Para compilar este arquivo, execute:
$ gcc vigenere.c -o vigenere
Para utilizar o programa em modo de cifração:
$ ./vigenere -e entrada.txt saida.txt
1
O programa pedirá o comprimento da chave e uma seqüência de inteiros que
especifica a chave:
Digite o tamanho da chave: 5
Digite a chave: 40 67 23 200 56
Para utilizar o programa em modo de decifração:
$ ./vigenere -d saida.txt entrada.txt
A chave deverá ser informada no formato descrito anteriormente.
Adicionalmente, é fornecida uma tabela de freqüências para caracteres na Lı́ngua
Portuguesa. A tabela encontra-se em formato texto para fácil processamento pelo
programa de criptoanálise. Em cada linha da tabela, é listado um caractere e um
número real entre 0 e 1 descrevendo a probabilidade de ocorrência daquele monograma.
Observe que a tabela apresenta letras, números e sı́mbolos de pontuação.
4
Objetivo
O objetivo é determinar o comprimento e a chave de cifração do criptograma
fornecido na página do curso. A ferramenta de criptoanálise deve receber o arquivo de
criptograma como entrada e imprimir a chave de cifração e o texto claro resultantes da
criptoanálise do criptograma fornecido. O texto claro resultante deve ser idêntico ao
utilizado para geração do criptograma.
Para fins de conferência, o criptograma tem 2094 bytes e o seguinte valor MD5:
$ md5sum criptograma.txt
8aeef25a44b214bd58993f726ed432f2
2

Documentos relacionados

1 Introduç˜ao 2 Método 3 Material

1 Introduç˜ao 2 Método 3 Material em seqüência. Pode-se implementar uma cifra qualquer em uma imagem completandose esta seqüência de bytes com zeros até que seu comprimento seja múltiplo do tamanho do bloco da cifra.

Leia mais