Serpent-1 O Serpent-0 refinado Paulo Estima Mello

Slides:



Advertisements
Apresentações semelhantes
Melhoramento de Imagens
Advertisements

Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Java: Comandos Básicos
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Criptografia e Segurança de Redes Capítulo 5
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
CCS – Centro de Componentes Semicondutores Luiz Carlos Moreira/Jacobus W. Swart ASIC´s – Application Specific Integrated Circuits.
CAMPANHA HANSENÍASE, TRACOMA E GEO-HELMINTÍASE
Estruturas de Dados para projeto de SGBD. Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash.
SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos.
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Efeito do Tratamento com Metilfenidato sobre a Ritmicidade Circadiana em Modelo Animal do Transtorno de Déficit de Atenção/Hiperatividade Laura Simões.
Astrofísica Observacional Aline de Almeida Vidotto
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
1. Conceitos de Álgebra Booleana 2. Portas Lógicas e Inversores
Multiplicação em binário
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
Agrupando flip-flops e portas para criar registradores
Criptografia de chave única
Criptografia de chave única
Teste Funcional de Software
Criptografia de chave única
Criptografia Raul Fernando Weber Instituto de Informática
Multiplicador Booth para o FemtoJava
Gustavo Vieira Pereira
Algoritmo CAST Rodrigo Boccasius.
Weverton Luis da Costa Cordeiro
Twofish Leonardo H. Furlan.
Criptoanálise Integral Criptoanálise diferencial: diferença (subtração) entre duas cifragens Criptoanálise integral: efeito cumulativo (soma) entre várias.
Protocolos Criptográficos. Múltiplas chaves em RSA Para RSA, escolhe-se dois números, e e d, tal que e. d = 1 mod (p-1).(q-1) Entretanto, também pode-se.
MARS The IBM Candidate Cipher for AES
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Otimizações independentes de máquina.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Diretoria de Ensino – Região de Mogi Mirim. Questões de múltipla escolha: elaboradas por professores e analisadas por especialistas; pré-testadas; realiza.
Fazendo Slides no Power Point
Banco de Dados I Profa. Jiani Cardoso 2/2005
O Fluxo de Testes © Alexandre Vasconcelos
Aplicação de Técnica Fuzzy em SIG como alternativa para o Zoneamento Ecológico Econômico (ZEE) Maria Isabel Sobral Escada.
HAND: Height Above the Nearest Drainage
Prof: Encoder Angular Prof:
Controle Digital Prof. Cesar da Costa 6.a Aula – Equações às diferenças.
Modulo Especialista.
Técnicas de Diagnóstico. Objetivo Caracterizar técnicas de diagnóstico para o modelo do estudante Caracterizar técnicas de diagnóstico para o modelo do.
1. Função: - Criar meios para que o processador possa comunicar-se com todos estes componentes com a maior velocidade e confiabilidade possíveis. - Na.
TA 733 A – Operações Unitárias II
TA 733 A – Operações Unitárias II
Esperança Idéia: a esperança (ou valor esperado) de uma v.a. é o valor médio que se espera obter ao se repetir um experimento aleatório um grande número.
FUNDAÇÃO CARLOS CHAGAS
Administração de Sistemas de Informação
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
CÓDIGOS CORRETORES DE ERROS
8.EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Parte 5
Resolução de Sistemas Não-Lineares- Parte 1
Resolução de Sistemas Lineares- Parte 1
Arquitetura de ComputadoresProf a Luiza Mourelle Apesar da evolução tecnológica, as CPUs continuam mais rápidas que a memória. O problema não é tecnológico,
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Recursividade Estrutura de Dados.
Introdução à Probabilidade
The Data Warehouse Toolkit
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Computação Gráfica Geometria de Transformações
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
Segurança em Comércio Eletrônico
Introdução à Criptografia Moderna – 2ª Lista de Exercícios
Transcrição da apresentação:

Serpent-1 O Serpent-0 refinado Paulo Estima Mello PPGC – Instituto de Informática

Perspectiva história 1998: Início do concurso para escolha do “Advanced Encryption Standard” 1999: Definidos os finalistas do AES contest: Serpent, Rijndael, Mars, RC6 e Twofish 2000: AES escolhido: Rijndael

O Serpent Dados de entrada Tamanho da chave: 128, 192 e 256 bits Padding diferenciado para chaves pequenas (< 256) Tamanho do bloco: 128 bits Rodadas: 32 Em tese 16 são suficientes

O Serpent Operações Foram escolhidas operações consolidadas (ditas clássicas) supostamente confiáveis. XORs Tabelas de substituição (S-boxes) Tranformação linear Escalonamento de chaves

O Serpent Funcionamento Sobre um bloco “claro” é aplicada uma permutação inicial; Após ocorrem 32 rodadas (vemos em seguida) A última operação aplicada é uma permutação final

O Serpent As rodadas Passo 1: Transformação da chave Passo 2: Aplicação das S-boxes Passo 3: Aplicação da transformação linear Na última rodada não é aplicada. No seu lugar é feito um XOR com a 33ª chave de rodada

O Serpent Escalonamento de chaves São necessárias 132 palavras de 32 bits

O Serpent Aplicação das S-boxes São 8 S-boxes ao todo Transformam 4 bits de entrada produzindo 4 bits de saída Cada S-box é utilizada quatro vezes Operação bit-slice Cada S-box é replicada para transformar todo bloco

O Serpent Propriedades das S-boxes Um bit de diferença na entrada produz mais de um bit de diferença na saída Existe uma chance pequena de um bit de saída estar relacionado linearmente com um bit de entrada Um bit de entrada afeta no máximo 3 bits de saída

O Serpent Aplicação da transformação linear Rotações à esquerda (<<<) XORs Shift-lefts (<<)

O Serpent Não baseado em redes Feistel Na época do AES contest não estavam na moda Não há ataques reais registrados Tanto ataques lineares quanto diferenciais estão relacionados com as S-boxes utilizadas As S-boxes propostas foram baseadas nas S-boxes do DES com algumas modificações

Por que não venceu? O Serpent é possivelmente mais seguro que o Rjindael Performance tanto em hardware quanto em software pior (muito) O AES assumiu que a segurança do Rjindael era suficiente e o desempenho satisfatório

Por que Serpent-0 e Serpent-1? A primeira versão era um “beta” release que utilizava as S-boxes do DES, esta chamava-se Serpent-0 A última versão teve suas S-boxes aprimoradas (reduzindo a chance de ataques lineares e diferenciais) e se tornou o Serpent-1

Conclusão Se você não tem pressa... Use Serpent.

Bibliografia Anderson, R.; Biham, E.; Knudsen, L. Serpent: A proposal for the Advanced Encryption System. Agosto, 1999. Anderson, R.; Biham, E.; Knudsen, L. Serpent: A flexible block cipher with maximum assurance. Agosto, 1998. Comparison: Serpent/AES-Rijndael. http://www.scribd.com/word/download/4522?extension=ppt. Acessado em 27/04/2007.