A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

MARS The IBM Candidate Cipher for AES Daniel Barcelos CMP200 – Criptografia de Dados.

Apresentações semelhantes


Apresentação em tema: "MARS The IBM Candidate Cipher for AES Daniel Barcelos CMP200 – Criptografia de Dados."— Transcrição da apresentação:

1 MARS The IBM Candidate Cipher for AES Daniel Barcelos CMP200 – Criptografia de Dados

2 20 2 MARS Cifra da IBM –Don Coppersmith (DES) Cifra de Bloco –128 bits –Tamanho de chave entre 128 e 448 bits –32 rodadas AES Finalista –5º lugar

3 20 3 Os autores com a palavra Mais seguro que o triplo DES Mais rápido que o DES simples Seguro diante dos tipos de criptoanálise que ainda estão para ser inventados The cryptographic core rounds provide strong resistance to all known cryptanalytical attacks, while the mixing rounds provide good avalanche and offer very wide security margins to thwart new (yet unknown) attacks.

4 20 4 Algoritmo Dividido em três fases Orientado a palavra –Operações de 32 bits Rede Feistel Tipo-3 –Decifragem é o inverso da cifragem

5 20 5 Algoritmo Tudo-junto-ao-mesmo-tempo-agora –OU-exclusivos –Somas –Subtrações –Multiplicações –Rotações Fixas –Rotações dependentes de dados –Caixas de substituição Pseudo-random fashion

6 20 6 Algoritmo Add Round Key Texto Claro 32 bits Forward Mixing Cryptographic Core Backwards Mixing Sub Round Key Subchaves [K0-K3] x8x16x8 Subchaves [K36-K39] Texto Cifrado Forward Mixing Cryptographic Core Backwards Mixing

7 20 7 Add Round Key Texto Claro Subchaves [K0-K3] 32 bits = = = =

8 20 8 Forward Mixing S0 S1 S0 S S0 S1 Notação: OU-exclusivo Adição S-box 0 S-box A BCD Soma com B se estiver na rodada 1 ou 5 Soma com D se estiver na rodada 0 ou 4 Senão passa direto

9 20 9 Cryptographic Core A BCD Notação: E K n ; K n i < 8 i 8

10 20 10 Cryptographic Core A BCD Notação: E K n ; K n i < 8 i 8 A KnKn K n x Multiplicação x <<< Rotate x left y times x y <<< LSB M R S ++ <<< L

11 20 11 Cryptographic Core A BCD Notação: E K n ; K n i < 8 i 8 A KnKn K n x Multiplicação x <<< Rotate x left y times x y <<< LSB M R S ++ <<< L M vai para CPara i < 8:Para i 8: L vai para B L vai para D R vai para D R vai para B

12 20 12 Backwards Mixing S1 S A BCD Subtrai B se estiver na rodada 3 ou 7 Subtrai D se estiver na rodada 2 ou 6 Senão passa direto - Notação: Subtração

13 20 13 Sub Round Key From Backwards Mixing Subchaves [K36-K39] 32 bits = = = = Texto Cifrado

14 20 14 Geração de Chaves Versão tweaked –São geradas 10 subchaves por vez 0 14 Tamanho da Chave... Zeros (0x0000) Inicialização

15 20 15 Geração de Chaves (cont.) ii+1 0 i 14 (15x) 0 j 3 (4x) 0 t 3 (4x) O processo se repete para cada conjunto de 10 subchaves + S 9 MSB ii-7i i j j i i t

16 20 16 Curiosidades Melhor criptoanálise conhecida: –John Kelsey, Bruce Schneier, MARS Attacks! Preliminary Cryptanalysis of Reduced-Round MARS Variants Full Mixing e 5 rodas de Núcleo 3 FM, 3BM, 6CC Duas versões –Tweaked Alteração na geração das subchaves

17 20 17 Desempenho Sistemas com restrições de memória Fonte: NIST

18 20 18 Desempenho Relação Área vs. Desempenho (FPGA) Fonte: NIST

19 20 19 Desempenho Lento mesmo Fonte: NIST

20 20 Desempenho Lento mesmo Fonte: NIST

21 20 21 Resumo NIST Segurança: OK.Segurança: OK. Imp. Software: Desempenho médio. Depende de como o processador/compilador implementa multiplicação e rotação variável.Imp. Software: Desempenho médio. Depende de como o processador/compilador implementa multiplicação e rotação variável. Smartcards: Desempenho ruim (not well suited). Requer muita ROM.Smartcards: Desempenho ruim (not well suited). Requer muita ROM. Imp. Hardware: Desempenho Ruim. Mas independe do tamanho da chave.Imp. Hardware: Desempenho Ruim. Mas independe do tamanho da chave. Ataques: Difícil de defender contra ataques de power e timing. Devido à multiplicação.Ataques: Difícil de defender contra ataques de power e timing. Devido à multiplicação. Cifragem vs. Decifragem: Bom. Funções similares (10%).Cifragem vs. Decifragem: Bom. Funções similares (10%). Geração de chaves: Necessário o armazenamento de 10 subchaves.Geração de chaves: Necessário o armazenamento de 10 subchaves. Flexibilidade: Bom, suporta tamanho de chaves variáveis.Flexibilidade: Bom, suporta tamanho de chaves variáveis. Paralelismo: Pouco paralelizável.Paralelismo: Pouco paralelizável.

22 20 22 Referências Bibliográficas [Bur99a] Burwick C. et all. The MARS Encryption Algorithm. Agosto, [Bur99b] Burwick C. et all. MARS – A candidate cioher for AES. Agosto, [NIS00] NIST. Report on the Development of the Advanced Encryption Standard (AES), NIST, [Pre00] Preneel B. et al., Comments by the NESSIE Project on the AES Finalists, NIST, [IBMxx] MARS Source Code. Acessado em 29/4/2007. [Wik07] Wikipedia. Acessado em 29/4/2007.

23 MARS The IBM Candidate Cipher for AES Daniel Barcelos CMP200 – Criptografia de Dados

24 20 24 Algoritmo 128 bits Texto Claro + K0K1K2K3 128 bits Subchaves To Feistel Network 128 bits

25 20 25 Algoritmo Pseudo-código


Carregar ppt "MARS The IBM Candidate Cipher for AES Daniel Barcelos CMP200 – Criptografia de Dados."

Apresentações semelhantes


Anúncios Google