Laboratórios
Astaroth
Seg 14 Mar 2005 04:23 |
- Detalhes
- Categoria: Laboratório de Criptografia
- Atualização: Sábado, 05 Abril 2008 18:27
- Autor: Cristiano
- Acessos: 13999
2 – Definição do criptosistema
O criptosistema Astaroth, trabalha com blocos de 64 bits e chave de 256 bits.
Para garantir uma maior segurança das chave, o algoritmo trabalha com sub-chaves, que nada mais são do que um one-way hashing de 1024-bits da chave original de 256-bits, anexados a uma Tabela P, tabela esta que será melhor explicada a posteriori.
Nos três processos básicos do criptosistema (geração de sub-chaves, crifragem e decifragem), são usados elementos comuns a criptosistemas modernos, como caixas de substituição (S-BOXes), uma função F e uma rede Feistel.
As caixas de substituição, númeradas de 0 a 3, são de entrada de 8-bits e saida de 32-bits, de valores fixos, seus respectivos valores estão devidamente citados nas seções correspondentes a eles.
A função F, a qual é dedicada proxima seção, é (teoricamente) uma função irreversível.
Na cifragem e decifragem é usado, além das sub-chaves e dos processos citados acima, um outro processo, que é a permutação de bits baseados em uma tabela de permutação (Tabela P), gerada apartir das sub-chaves.
Existe ainda uma Tabela de Rotação (TR), usada somente na geração de sub-chaves, que determina um valor de rotação de bits para a geração de uma sub-chave.
2.1 - A função F
A função F é usada nos três processos básicos do criptosistema, citados anteriormente, a seguir foi feito um diagrama em linguagem lógica e divido em seis partes, explicando passo-a-passo o calculo da função f.
- 1) y = -x
- 2) y = (y - S3[x3]) <>< (S0[x4] mod 32)>
- 3) y = (y - S2[x2]) <>< (S1[x3] mod 32)>
- 4) y = (y ^ S1[x1])
- 5) y = (y + S0[x4])
- 6) f(x) = y
* Onde Y é uma variável temporária; X o valor de entrada da função; Sn[K] correspondendo a um posição K dentro de uma S-BOX n; e x1, x2, x3 e x4 o valor X divido em 4 valores de 8-bits cada; sendo X e Y valores de 32-bits.