250 likes | 363 Views
Seminário de Criptografia. HIEROCRYPT. Análise do Algoritmo. Roberto Rodrigues Dias. Introdução. Basicamente o Hierocrypt é um algoritmo de chave simétrica. Texto Plano. Texto Cifrado. Algoritmo. Chave Secreta. Introdução. Algoritmo desenvolvido pela equipe: Kenji Ohkuma
E N D
Seminário de Criptografia HIEROCRYPT Análise do Algoritmo Roberto Rodrigues Dias
Introdução • Basicamente o Hierocrypt é um algoritmo de chave simétrica Texto Plano Texto Cifrado Algoritmo Chave Secreta
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 Algoritmo • Texto plano é decomposto em 4 blocos de 32 bits • A chave secreta é decomposta em 4 blocos de 32bits chamados Caixas XS • Realizamos XOR de cada bloco da entrada com uma Caixa XS • Reagrupamos o resultado dos XORs (128bits) e aplicamos a uma Matriz de difusão (MDSH) • Reiniciamos a rodada a partir do passo 3 • Fim das rodadas • O resultado final das iterações sofre ainda mais um XOR com a chave • Texto Cifrado (Fim)
Hierocrypt-3 128 bits TEXTO PLANO XOR da entrada com a chave Chave decomposta 4 x 32 bits XS XS XS XS Resultado do XOR MDSH Aplicação da Matriz de difusão no resultado XOR do resultado com a chave XS XS XS XS .... MDSH enésimo XS XS XS XS XOR do resultado Final das iterações com a chave TEXTO CIFRADO
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ísticas • Cifra blocos de 64 bits • Chave de 128 bits: 6 rodadas
Hierocrypt-L1 • Passos do Algoritmo • Texto plano é decomposto em 2 blocos de 32 bits • A chave secreta é decomposta em 2 blocos de 32bits chamados Caixas XS • Realizamos XOR de cada bloco da entrada com uma caixa XS • Reagrupamos o resultado dos XORs (64bits) e aplicamos a uma Matriz de difusão (MDSH) • Reiniciamos a rodada a partir do passo 3 • Fim das rodadas • O resultado final das iterações sofre ainda mais um XOR com os 64 bits restantes da chave • Texto Cifrado (Fim)
Hierocrypt-L1 64 bits TEXTO PLANO XOR da entrada com a chave XS XS Chave decomposta 2 x 32 bits Resultado do XOR MDSH Aplicação da Matriz de difusão no resultado XOR do resultado com a chave XS XS .... MDSH enésimo XS XS XOR do resultado Final das iterações com os 64 bits restantes da chave TEXTO CIFRADO
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. .... • Pela estrutura da caixa S se invertermos a saída, redirecionando-a para a entrada da MDSLconseguimos adivinhar 8 bits dos 32 da sub-chave. S S S S XS XS XS XS 8 8 8 8 MDSL 32 32 32 32 MDSH S S S S XS XS XS XS ....
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
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! robertodias@gmail.com
Referências • Improved Square Attacks Against Reduced-Round Hierocrypt – Barreto, P.; Rijmen, V.; Nakahara, J.; Preneel, B.; Vandewalle, J.; Kim, H. • Symmetric Ciphershttp://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