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

O Cifrário SHJ

Seg

10

Abr

2006


20:37

(2 votos, média 5.00 de 5) 


A procura do criptógrafo por um sistema perfeito é sem dúvida uma das empreitadas mais difíceis que podemos imaginar. No começo a seguinte pergunta já nos atormenta: Será que existe realmente um criptossistema perfeito ou apenas não temos poder computacional suficiente para poder enfrentá-lo? Infelizmente não posso responder aos leitores deste artigo.

Introdução

Alguns criptoanalistas dizem que não há lógica alguma que o ser humano possa criar, que ele mesmo, com a aplicação e competência necessária, não possa elucidar. Esta pode ser uma verdade, contudo ainda não foi provada ou refutada.

Isto nos leva a refletir sobre o futuro da criptografia e da criptoanálise (na realidade falamos do futuro da Criptologia). Os sistemas especialistas que se baseiam nos conhecimentos da Inteligência Artificial e utilizam técnicas de busca de soluções - em profundidade (depth-first), em nível (breadth-first), através de técnicas heurísticas (Hill-climbing, least-cost) – com o objetivo de resolver o problema da explosão combinatória podem realmente criar "problemas" para os criptógrafos da nova geração. E a computação quântica que promete tornar os supercomputadores atuais em peças de um museu pré-histórico!

Vemos que hoje a criptoanálise evoluiu e geralmente as técnicas que são normalmente divulgadas (criptoanálise diferencial, linear, integral, etc...) representam apenas uma mínima parte do que realmente se conhece. É que a criptoanálise é a parte mais secreta da criptologia. Imagine que descobrimos uma técnica criptoanalítica eficiente contra o AES. É preferível, neste caso, fazer com que todos pensem que o AES é extremamente seguro e que não existe a mínima possibilidade de quebrá-lo, a não ser por força bruta. E realmente, ao contrário do que pensam os leigos, a quebra de criptossistemas importantes não é divulgada. Basta girar a roda da história pra trás e veremos que a máquina nazista Enigma (que já fora criptoanalisada com sucesso pelo matemático polonês Marian Rejewski, antes da Segunda Guerra Mundial) foi utilizada por vários países, principalmente as ex-colônias da Grã-Bretanha após o término da Guerra (os britânicos tinham capturado milhares de máquinas Enigma e as distribuíra para as ex-colônias que acreditavam que a cifra era inviolável!). Naturalmente, os britânicos decifraram rotineiramente as comunicações secretas destas ex-colônias durante anos. Somente em 1974 é que os britânicos revelaram que a Enigma havia sido decifrada (graças à insistência do capitão F. W. Winterbotham).

Exemplos como este podem nos assombrar. Será que o AES já foi quebrado e temos uma idéia ilusória de segurança? E a cifra RSA? Será que o problema da fatoração já pode ser solucionado? Quem nos responderá estas questões? Meu objetivo é fazer com que o leitor destas breves linhas possa pensar um pouco sobre isto.

Enquanto não chega a criptografia perfeita eu vos apresento mais um simples trabalho: O Criptossistema SHJ. Espero que gostem.

YUGI TUMRO

CRIPTOSSISTEMA SHJ

O cifrário SHJ é muito simples: todavia ele pode proteger informações em nível de segurança satisfatório. O criptossistema SHJ não é indicado para proteger informações extremamente sigilosas (militares ou governamentais), mas pode ser usado onde o AES é também utilizado.

Vamos ao descritivo do criptossistema SHJ.

1.0 Sobre as chaves do sistema

O cifrário SHJ trabalha com uma chave de 256 bits e cifra o texto claro em blocos de 64 bits. O algoritmo utiliza, numa estrutura de 20 voltas, 4 caixas de substituição não-lineares com entradas e saídas de 8 bits.

As operações utilizadas para cifrar os dados são simples: XOR, adição em módulo 216 e rotação dependente de dados (rotação para a esquerda).

1.1 Sobre a divisão dos dados

O bloco claro é dividido em 4 words de 16 bits, normalmente rotuladas de A, B, C e D. As words interagem com a chave e entre si em cada uma das voltas do processo de cifragem.

O bloco cifrado é formado pela concatenação das words após a 20 volta de processamento do sistema.

A chave inicial de 256 bits gera 84 sub-chaves de 16 bits que são utilizadas nas 20 voltas do processamento.

Informações adicionais