seminário de criptografia análise do algoritmo hierocrypt roberto rodrigues dias

24
Seminário de Criptografia Análise do Algoritmo HIEROCRYPT HIEROCRYPT Roberto Rodrigues Dias Roberto Rodrigues Dias

Upload: internet

Post on 22-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Introdução

Basicamente o Hierocrypt é um algoritmo de chave simétrica

TextoTexto

PlanoPlanoTextoTexto

CifradoCifradoAlgoritmoAlgoritmo

ChaveChave

SecretaSecreta

Page 3: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Introdução

Algoritmo desenvolvido pela equipe: Kenji Ohkuma Fumihiko Sano Hirofumi Muratani Masahiko Motoyama Shinichi Kawamura

(Toshiba Corporation, Japan)

Page 4: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Introdução

A Toshiba submeteu ao Nessie duas versões do Hierocrypt

Hierocrypt-3

Hierocrypt-L1

Page 5: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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.

Page 6: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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)

Page 7: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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

Page 8: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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

Page 9: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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.

Page 10: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Hierocrypt-L1

CaracterísticasCifra blocos de 64 bitsChave de 128 bits: 6 rodadas

Page 11: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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)

Page 12: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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

Page 13: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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

Page 14: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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”.

Page 15: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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.

Page 16: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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)

Page 17: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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

Page 18: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Desempenho

Page 19: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Desempenho Hierocrypt-3

Page 20: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Desempenho Hierocrypt-L1

Page 21: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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.

Page 22: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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.

Page 23: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

Muito Obrigado!

[email protected]

Page 24: Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias

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