Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias.
Transcript of Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias.
Seminário de CriptografiaAnálise do Algoritmo
HIEROCRYPTHIEROCRYPT
Roberto Rodrigues DiasRoberto Rodrigues Dias
Introdução
Basicamente o Hierocrypt é um algoritmo de chave simétrica
TextoTexto
PlanoPlanoTextoTexto
CifradoCifradoAlgoritmoAlgoritmo
ChaveChave
SecretaSecreta
Introdução
Algoritmo desenvolvido pela equipe: Kenji Ohkuma Fumihiko Sano Hirofumi Muratani Masahiko Motoyama Shinichi Kawamura
(Toshiba Corporation, Japan)
Introdução
A Toshiba submeteu ao Nessie duas versões do Hierocrypt
Hierocrypt-3
Hierocrypt-L1
Hierocrypt-3
Características Cifra blocos de 128 bits O tamanho da chave influencia o total de rodadas
do algoritmo: Chave de 128 bits: 6,5 rodadas Chave de 192 bits: 7,5 rodadas Chave de 256 bits: 8,5 rodadas
Na última rodada temos mais um passo fixo com o uso de XOR que contabiliza como 0,5 rodadas.
Hierocrypt-3
Passos do Algoritmo1. Texto plano é decomposto em 4 blocos de 32 bits2. A chave secreta é decomposta em 4 blocos de 32
bits chamados Caixas XS3. Realizamos XOR de cada bloco da entrada com uma
Caixa XS4. Reagrupamos o resultado dos XORs (128bits) e
aplicamos a uma Matriz de difusão (MDSH)
5. Reiniciamos a rodada a partir do passo 36. Fim das rodadas7. O resultado final das iterações sofre ainda mais um
XOR com a chave8. Texto Cifrado (Fim)
Hierocrypt-3 TEXTO PLANOTEXTO PLANO
XSXS XSXS XSXS XSXS
MDSMDSH enésimoH enésimo
XSXS XSXS XSXS XSXS
........
MDSMDSHH
XSXS XSXS XSXS XSXS
TEXTO CIFRADOTEXTO CIFRADO
128 bits128 bits
Chave decomposta 4 x 32 bitsChave decomposta 4 x 32 bits
Resultado do XOR Resultado do XOR
XOR da entrada com a chaveXOR da entrada com a chave
Aplicação da Matriz de difusão no resultadoAplicação da Matriz de difusão no resultado
XOR do resultado com a chaveXOR do resultado com a chave
XOR do resultado Final das iterações XOR do resultado Final das iterações com a chavecom a chave
Segurança do Hierocrypt-3 (segundo seus criadores)
É seguro contra criptoanálise diferencial e linear. Foram usadas as melhores técnicas diferenciais e
lineares para testar o algoritmo no Nessie Workshop.
É seguro contra Integral Attack (square attack) a apartir de 5 rodadas no algoritmo. Menos do que 5 pode ser suscetível aos ataques.
Em 4 rodadas no Hierocrypt-3 a probabilidade de se decifrar um bloco ao acaso é de 296
Fraquezas
Barreto, Rijmen, Nakahara e Preneel durante o workshop da Nessie conseguiram fazer com sucesso um Integral Attack em apenas 3,5 rodadas.
Outra fragilidade desse tipo foi obtida pelos próprios desenvolvedores do Hierocrypt.
No segundo Workshop da Nessie, Furuya e Rijmen apresentaram fortes relações lineares entre a chave principal e muitas subchaves de rodadas posteriores.
Chamaram de “O Agendamento de Chaves da Família Hierocrypt”.
Cheon, Kim e Kim obtiveram sucesso em um ataque diferencial em apenas 3 rodadas.
Hierocrypt-L1
CaracterísticasCifra blocos de 64 bitsChave de 128 bits: 6 rodadas
Hierocrypt-L1
Passos do Algoritmo1. Texto plano é decomposto em 2 blocos de 32 bits2. A chave secreta é decomposta em 2 blocos de 32
bits chamados Caixas XS3. Realizamos XOR de cada bloco da entrada com uma
caixa XS4. Reagrupamos o resultado dos XORs (64bits) e
aplicamos a uma Matriz de difusão (MDSH)
5. Reiniciamos a rodada a partir do passo 36. Fim das rodadas7. O resultado final das iterações sofre ainda mais um
XOR com os 64 bits restantes da chave8. Texto Cifrado (Fim)
Hierocrypt-L1TEXTO PLANOTEXTO PLANO
XSXS XSXS
MDSMDSH enésimoH enésimo
XSXS XSXS
........
MDSMDSHH
XSXS XSXS
TEXTO CIFRADOTEXTO CIFRADO
64 bits64 bits
Chave decomposta 2 x 32 bitsChave decomposta 2 x 32 bits
Resultado do XOR Resultado do XOR
XOR da entrada com a chaveXOR da entrada com a chave
Aplicação da Matriz de difusão no resultadoAplicação da Matriz de difusão no resultado
XOR do resultado com a chaveXOR do resultado com a chave
XOR do resultado Final das iterações XOR do resultado Final das iterações com os 64 bits restantes da chavecom os 64 bits restantes da chave
Segurança do Hierocrypt-L1 (Segundo seus Criadores)
Os criadores do Hierocrypt-L1 deram um argumento muito bem fundamentado ao Nessie, propondo que as 6 rodadas do algoritmo seriam suficentes para manter o algoritmo seguro contra ataques diferenciais e integrais.
É seguro contra Integral Attack a partir de 5 rodadas.
Em 4 rodadas no Hierocrypt-L1 a probabilidade de se decifrar um bloco ao acaso é de 248
Fraquezas
Sucesso em Integral Attacks no Hierocrypt-L1 em apenas 3 rodadas.
Criptoanalistas participantes da concorrência no Nessie estressaram o algoritmo e conseguiram praticar ataques diferenciais (Diferencial Attacks) com sucesso em 3,5 rodadas.
No segundo Workshop da Nessie, Furuya e Rijmen apresentaram fortes relações lineares entre a chave principal e muitas subchaves de rodadas posteriores.
Chamaram de “O Agendamento de Chaves da Família Hierocrypt”.
Criptoanálise do Hierocrypt
Análise do Ataque ao HC-3 com 2 rodadas.
XSXS XSXS XSXS XSXS
MDSMDSHH
XSXS XSXS XSXS XSXS
........
........
SS SS SS SS
MDSMDSLL
SS SS SS SS
32323232 3232 3232
8888 88 88
• Pela estrutura da Pela estrutura da caixa S se invertermos caixa S se invertermos a saída, a saída, redirecionando-a para redirecionando-a para a entrada da a entrada da MDSMDSLLconseguimos conseguimos adivinhar 8 bits dos 32 adivinhar 8 bits dos 32 da sub-chave.da sub-chave.
Criptoanálise do Hierocrypt
Necessitamos de 232 textos planos de 128 bits, onde 3 blocos de 32 bits deverão ter sempre o mesmo valor (blocos passivos) e 1 bloco terá todas as possibilidades de valor (bloco ativo).
Usaremos sempre a mesma chave
Estes blocos se forem matematicamente balanceados após as operações do algoritmo produzirão blocos balanceados.
Os bits da chave poderão ser descobertos através da analise da probabilidade (altos índices indicam que o bit não faz parte da chave)
Criptoanálise do Hierocrypt
A equipe que criptoanalisou o Hierocrypt (Paulo Barreto, Vincent Rijmen, Jorge Nakahara, Bart Preneel, Joos Vandewalle e Hae Kim) conseguiu reduzir a complexidade do algorimto de 2128 para aproximadamente 253
Desempenho
Desempenho Hierocrypt-3
Desempenho Hierocrypt-L1
Aplicação do Hierocrypt
A Toshiba documentou o seu uso em middlewares e SmartCards produzidos pela própria Toshiba (entre 2000 e 2003)
Atualmente (2007) não foram encontrados indícios de que sua aplicação tenha sido mantida.
Observação Final
Aprovado pela CRYPTREC (Japão) Reprovado pelo NESSIE (Europa)
Nenhum dos Algoritmo Hierocrypt submetidos a Nessie foram classificados para a segunda fase do mesmo.
Muito Obrigado!
Referências
Improved Square Attacks Against Reduced-Round Hierocrypt – Barreto, P.; Rijmen, V.; Nakahara, J.; Preneel, B.; Vandewalle, J.; Kim, H.
Symmetric Ciphers http://www.users.zetnet.co.uk/hopwood/crypto/scan/cs.html
PDFs contidos no site do Nessiehttps://www.cosic.esat.kuleuven.be/nessie/deliverables/
Methodology for security evaluation Internal review report Year 1 Toolbox version 2 Security evaluation of NESSIE First Phase Performance evaluation of NESSIE First Phase NESSIE Phase I: Selection of primitives Workshop on security and performance evaluation of NESSIE First Phase Internal review report Year 2