A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Laboratórios

CONSIDERAÇÕES CRIPTOANALÍTICAS SOBRE O CIFRÁRIO ASTAROTH

Seg

13

Jun

2005


23:07

(2 votos, média 3.00 de 5) 


2.2 Considerações sobre a função UPD(k)

A função UPD(k) representa a atualização de sub-chaves do sistema ASTAROTH. Segundo o autor do algoritmo a atualização de sub-chaves obedece ao esquema:

Kx = Kx ^ -P(Kx)

* Onde Kx repesenta uma sub-chave x, P(Kx) a permutação bit a bit da chave Kx utilizando a tabela P.

O símbolo ^ representa a operação XOR (ou-exclusivo). O que o autor não deixou claro é o – antes de P(Kx). Geralmente, em criptografia, os blocos são representados por números inteiros sem sinal. Assim, por exemplo, um bloco de 32 bits deve estar no intervalo [0, 4294967295]. Logo considerar como negativo a saída da função P para um XOR não produz efeito. Se o "-" foi um erro tipográfico (estou apenas supondo que seja...) então a atualização de sub-chaves fica assim:

Kx = Kx XOR P(Kx)

É uma estratégia interessante pois a tabela P não é fixa mas é determinada pela chave inicial. Contudo, uma vez determinada, a tabela P continua igual mesmo considerando-se a atualização de sub-chaves.

Fica evidente que com a função UPD(K) não teremos sucesso com a estratégia criptoanalítica descrita anteriormente. É necessário enfatizar, porém, que neste caso o ASTAROTH não é mais um autêntico criptossistema de blocos porque procura através da função UPD(K) "imitar" uma cifra de fluxo.

De minha parte eu fiz a experiência de gerar uma chave K (1234567890) e uma tabela P (que o autor do algoritmo apresentou no descritivo de seu trabalho) e utilizar a função Kx = Kx XOR P(Kx). Gerei através deste processo um arquivo de 10 Mbytes e o submeti a uma bateria de testes estatísticos para avaliar o grau de aleatoriedade desta função. Trata-se da bateria de testes DIEHARD desenvolvida por Marsaglia, pesquisador da Flórida, e foi popularizada no Brasil pelo ITA (Instituto tecnológico de aeronáutica).

Os resultados foram catastróficos. O leigo não precisa entender como os testes são feitos. Basta observar o parâmetro –P. Ele deve ser maior que 0.025 e menor do que 9.975. Isto não ocorre no resultado do teste em anexo significando que a função UPD(K) não tem um comportamento aleatório.

Pode-se alegar que a função possa se comportar aleatoriamente através do empilhamento das 16 sub-chaves que serão utilizadas para cada bloco; isto até pode ser verdadeiro mas de qualquer forma o processo de atualização de sub-chaves não é seguro isoladamente. Assim sendo, se descobrirmos uma maneira de desmontar o sobreciframento das 16 sub-chaves o processo continua falho. A verdade é que, através deste escalonamento de sub-chaves, não se produz uma estrutura de dados randômica; e este é o coração de uma cifra de fluxo.

3. CONCLUSÃO FINAL

Gostaria de agradecer a vovó Vicki pela oportunidade de debater a criptografia através da Aldeia Numaboa. Espero também ter contribuído com os interessados em criptologia.

Quero agradecer o companheiro Cristiano Campos Neves pela contribuição criptográfica prestada à Aldeia através do ASTAROTH. Espero que a exposição deste trabalho possa ajudá-lo a melhorar o sistema ou criar outros sistemas mais sólidos. Eu o incentivo a prosseguir visto que você mostrou excelente criatividade para compor o cifrário ASTAROTH.

Que este trabalho seja útil a todos os criptólogos!

YUGI TUMRO

Observação da vó: Os testes DIEHARD fornecidos pelo Yugi estão no arquivo zipado que se encontra à disposição dos interessados na seção de downloads. Aproveitando o embalo, quero agradecer a contribuição do autor. Grande Yugi!

Vadim Logofet Sberbankсковородки купитьооо полигон плюсdocsvision combroker mfxрп5 погода украинаbroker mfx

Informações adicionais