Advanced Encryption Standard

5
Advanced Encryption Standard - AES Advanced Encryption Standard Origem: Wikipédia, a enciclopédia livre. Em Criptografia, o Advanced Encryption Standard (AES, ou Padrão de Criptografia Avançada, em português), também conhecido por Rijndael, é uma cifra de bloco adotada como padrão de criptografia pelo governo dos Estados Unidos. Espera-se que seja utilizado em todo o mundo e analisada extensivamente, assim como foi seu predecessor, o Data Encryption Standard (DES). O AES foi anunciado pelo NIST (Instituto Nacional de Padrões e Tecnologia dos EUA) como U.S. FIPS PUB (FIPS 197) em 26 de Novembro de 2001, depois de 5 anos de um processo de padronização. Tornou-se um padrão efetivo em 26 de Maio de 2002. Em 2006, o AES já é um dos algoritmos mais populares usados para criptografia de chave simétrica. Índice 1 O Concurso AES 2 Desenvolvimento 3 Descrição de Cifra 3.1 Etapa AddRoundKey 3.2 Etapa de SubBytes 3.3 Etapa de ShiftRows 3.4 Etapa de MixColumns 4 Notas e referências 5 Ligações externas 5.1 Em inglês 5.2 Em português 5.3 Implementações O Concurso AES Em 1997 o governo americano, através do NIST (National Institute of Standards and Technology), lançou um processo de seleção que definiria um novo algoritmo de chave simétrica para proteger informações do governo federal. Este novo algoritmo criptográfico substituiu o DES (Data Encryption Standard), que havia sido quebrado pela máquina DES Cracker, construída pela ONG Electronic Frontier Foundation com apenas 250 mil dólares. Em setembro de 1997 o NIST indicou as condições necessárias para a candidatura de algoritmos para substituir o DES: divulgação pública, direitos autorais livres, e os algoritmos deveriam ser de chave privada (simétricos) e suportar blocos de 128 bits e chaves de 128, 192 e 256 bits. Em agosto de 1998, na Primeira Conferência dos Candidatos ao AES, apresentaram-se 15 candidatos: Cast-256, Crypton, Deal, DFC, E2, Frog, HPC, LOKI97, Magenta, MARS, RC6, Rijndael, Safer+, Serpent e Twofish. O NIST solicitou aos membros da comunidade criptográfica mundial uma análise dos algoritmos candidatos. Em 1999, na Segunda Conferência dos Candidatos AES, através da análise obtida foram selecionados 5 finalistas: MARS, RC6, 1 de 5 10/10/2010 9:21 AM

description

AES method detail

Transcript of Advanced Encryption Standard

  • Advanced Encryption Standard - AES

    Advanced Encryption StandardOrigem: Wikipdia, a enciclopdia livre.

    Em Criptografia, o Advanced Encryption Standard(AES, ou Padro de Criptografia Avanada, emportugus), tambm conhecido por Rijndael, uma cifrade bloco adotada como padro de criptografia pelogoverno dos Estados Unidos. Espera-se que sejautilizado em todo o mundo e analisada extensivamente,assim como foi seu predecessor, o Data EncryptionStandard (DES). O AES foi anunciado pelo NIST(Instituto Nacional de Padres e Tecnologia dos EUA)como U.S. FIPS PUB (FIPS 197) em 26 de Novembro de2001, depois de 5 anos de um processo de padronizao.Tornou-se um padro efetivo em 26 de Maio de 2002. Em 2006, o AES j um dos algoritmos maispopulares usados para criptografia de chave simtrica.

    ndice

    1 O Concurso AES2 Desenvolvimento3 Descrio de Cifra

    3.1 Etapa AddRoundKey3.2 Etapa de SubBytes3.3 Etapa de ShiftRows3.4 Etapa de MixColumns

    4 Notas e referncias5 Ligaes externas

    5.1 Em ingls5.2 Em portugus5.3 Implementaes

    O Concurso AES

    Em 1997 o governo americano, atravs do NIST (National Institute of Standards and Technology), lanouum processo de seleo que definiria um novo algoritmo de chave simtrica para proteger informaes dogoverno federal. Este novo algoritmo criptogrfico substituiu o DES (Data Encryption Standard), que haviasido quebrado pela mquina DES Cracker, construda pela ONG Electronic Frontier Foundation com apenas250 mil dlares.

    Em setembro de 1997 o NIST indicou as condies necessrias para a candidatura de algoritmos parasubstituir o DES: divulgao pblica, direitos autorais livres, e os algoritmos deveriam ser de chave privada(simtricos) e suportar blocos de 128 bits e chaves de 128, 192 e 256 bits. Em agosto de 1998, na PrimeiraConferncia dos Candidatos ao AES, apresentaram-se 15 candidatos: Cast-256, Crypton, Deal, DFC, E2,Frog, HPC, LOKI97, Magenta, MARS, RC6, Rijndael, Safer+, Serpent e Twofish. O NIST solicitou aosmembros da comunidade criptogrfica mundial uma anlise dos algoritmos candidatos. Em 1999, na SegundaConferncia dos Candidatos AES, atravs da anlise obtida foram selecionados 5 finalistas: MARS, RC6,

    1 de 5 10/10/2010 9:21 AM

  • Rijndael, Serpent e Twofish. Posteriormente esses 5 algoritmos sofreram novas anlises e seus criadoresparticiparam de debates, fruns, etc.

    Trs anos e meio aps o incio do concurso, o NIST chega escolha do vencedor: Rijndael. O nome umafuso de Vincent Rijmen e Joan Daemen, os dois belgas criadores do algoritmo. Segundo o NIST, elecombina as caractersticas de segurana, desempenho, facilidade de implementao e flexibilidade. ORijndael apresenta alta resistncia a ataques como "power attack" e "timing attack" e exige pouca memria,o que o torna adequado para operar em ambientes restritos como "smart cards", PDAs e telefones celulares.

    Desenvolvimento

    O Rijndael era um refinamento do Square, um projeto anterior de Daemen e Rijmen. O Square, por sua vez,evoluiu do Shark. Ao contrrio do seu predecessor DES, o Rijndael uma rede de permutao-substituio,no uma rede de Feistel. O AES rpido tanto em software quanto em hardware, relativamente fcil deexecutar e requer pouca memria. Apesar de ser um padro novo de criptografia, est sendo atualmenteimplantado em grande escala.

    Descrio de Cifra

    Estritamente falando, o AES no exatamente o Rijndael (embora na prtica possam ser permutados) j queo Rijndael suporta uma maior gama de tamanhos do bloco e da chave. O AES tem um tamanho de bloco fixoem 128 bits e uma chave com tamanho de 128, 192 ou 256 bits, enquanto o Rijndael pode ser especificadocom chaves e tamanhos de bloco de qualquer mltiplo de 32 bits, com um mnimo de 128 bits e um mximode 256 bits.

    A chave expandida usando-se o agendamento de chaves do Rijndael. A maioria dos clculos do AES feita em um campo finito prprio.

    O AES opera sobre um arranjo bidimensional de bytes com 4x4 posies, denominado de estado (as versesdo Rijndael com um tamanho de bloco maior tm colunas adicionais no estado). Para criptografar, cadaturno do AES (exceto o ltimo) consiste em quatro estgios:

    1. AddRoundKey- cada byte do estado combinado com a subchave prpria do turno (RoundKey); cadasubchave derivada da chave principal usando o algoritmo de agendamento de chaves.

    2. SubBytes- uma etapa de substituio no linear onde cada byte substitudo por outro de acordo comuma tabela de referncia.

    3. ShiftRows- uma etapa de transposio onde cada fileira do estado deslocada de um determinadonmero de posies.

    4. MixColumns- uma operao de mescla que opera nas colunas do estado e combina os quatro bytes decada coluna usando uma transformao linear.

    O turno final substitui o estgio de MixColumns por um novo estgio de AddRoundKey.

    Etapa AddRoundKey

    2 de 5 10/10/2010 9:21 AM

  • Na etapa de AddRoundKey, a sub-chave combinada com o estado.

    Na etapa de SubBytes, cada byte no arranjo atualizado usando uma S-box de 8 bits.

    A etapa de ShiftRows opera sobre as linhas doestado; deslocando ciclicamente os bytes em cadalinha de um determinado nmero de posies.

    Na etapa de AddRoundKey, a sub-chave combinada com o estado. Para cada turno, umasub-chave derivada da chave principal usando oagendamento de chaves do Rijndael; cada sub-chave do mesmo tamanho que o estado. A sub-chave somada combinando cada byte do estado com o bytecorrespondente do sub-chave, utilizando a operaoXOR bit a bit.

    Etapa de SubBytes

    Na etapa de SubBytes, cada byte no arranjo atualizado usando uma S-box de 8 bits. Para evitar osataques baseados em propriedades algbricas simples,a S-box construda combinando-se uma funoinversora com uma transformao afim invertvel. AS-box escolhida tambm de forma a evitar qualquerponto fixo.

    Etapa de ShiftRows

    A etapa de ShiftRows opera sobre as linhas do estado,deslocando os bytes em cada linha de umdeterminado nmero de posies. No AES, a primeiralinha fica inalterada. Cada byte da segunda linha deslocado esquerda de uma posio. Similarmente,a terceira e quarta fileiras so deslocadas de duas e detrs posies respectivamente. Para o bloco de bits detamanho 128 e 192 bits, o padro de deslocamento mesmo. Desta forma, cada coluna do estado ao fimda etapa de ShiftRows fica composta por bytes detodas as coluna do estado da entrada.

    No caso de blocos de 256 bits, a primeira fileira ficainalterada, deslocando-se a segunda, terceira e quartafileiras. O deslocamento de 1 , 2 e 4 bytesrespectivamente - embora esta mudana se apliquesomente ao Rijndael quando usado com um bloco de256 bits, o que no ocorre no AES.

    Etapa de MixColumns

    3 de 5 10/10/2010 9:21 AM

  • Na etapa de MixColumns, os quatro bytes de cadacoluna do estado so combinados usando uma

    transformao linear invertvel.

    Na etapa de MixColumns, os quatro bytes de cadacoluna do estado so combinados usando umatransformao linear invertvel. Junto com oShiftRows, o MixColumns fornece difuso cifra.Cada coluna tratada como um polinmio em

    GF(2 ) e ento multiplicado em mdulo x + 1

    pelo polinmio fixo c(x) = 3x + x + x + 2. Aetapa de MixColumns pode tambm ser vista comouma multiplicao matricial no campo finito deRijndael.

    Notas e referncias

    Joan Daemen, Steve Borg e Vincent Rijmen, "The Design of Rijndael: AES - The AdvancedEncryption Standard." Springer-Verlag, 2002. ISBN 3-540-42580-2.

    Ligaes externas

    Em ingls

    FIPS PUB 197: padro oficial da AES (http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf) (em ingls) (arquivo PDF)Animao em Flash do processo de criptografia em 128-bits da AES (http://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndael_ingles2004.swf) (em ingls)Animao em Flash do processo de criptografia em 128-bits da AES por Enrique Zabala para aConxx.net (http://www.conxx.net/rijndael_anim_conxx.html) (em ingls)

    Em portugus

    Animao Funcional(expanso de chave/cifrao) em Flash do Algoritmo de Criptografia AES(http://blog.ultrassecreto.com/?p=1)Algoritmo de Criptografia AES (http://www.gta.ufrj.br/grad/05_2/aes/)ANLISE DO ALGORITMO VENCEDOR DO AES: O RIJNDAEL (http://www.bibl.ita.br/ixencita/artigos/FundRafaelAntonio1.pdf) (arquivo PDF)Introduo Criptografia (http://www.slackwarezine.com.br/download/evento/cripto.pdf) (arquivoPDF)

    Implementaes

    Uma calculadora AES (http://prates.fortunecity.com/) (em portugus)Uma calculadora AES em Javascript que exibe os valores intermedirios (http://www.cs.eku.edu/faculty/styer/460/Encrypt/JS-AES.html) (em ingls)Implementaes licenciadas do AES para BSD por Brian Gladman (http://fp.gladman.plus.com/cryptography_technology/rijndael/) (em ingls)Implementao em C de Paulo Barreto para o AES (http://www.esat.kuleuven.ac.be/~rijmen/rijndael/rijndael-fst-3.0.zip) (em ingls)Implementao do AES em domnio pblico por D.J. Bernstein (http://cr.yp.to/mac.html) (em ingls)Biblioteca Nettle licenciada sob GPL tambm inclui uma implementao AES(http://www.lysator.liu.se/~nisse/nettle/) (em ingls)Implementao de criptografia AES open-source para Windows e Linux (http://www.aescrypt.com/)(em ingls)

    8 4

    3 2

    4 de 5 10/10/2010 9:21 AM

  • Cdigo-fonte AES escrito em C sob licena LGPL (http://xyssl.org/code/source/aes/) (em ingls)Implementao de AES escrita em C e em domnio pblico (http://geocities.com/malbrain/aestable_c.html) (em ingls)[[OpenSSL ] (em ingls)] inclui suporte criptografia AES a partir da verso 0.9.7 e duplamentelicenciada sob os termos da Licena OpenSSL e da licena original SSLeay

    Obtida de "http://pt.wikipedia.org/wiki/Advanced_Encryption_Standard"Categoria: Criptografia

    Esta pgina foi modificada pela ltima vez s 18h25min de 20 de setembro de 2010.Este texto disponibilizado nos termos da licena Atribuio-Compartilhamento pela mesma Licena3.0 Unported (CC-BY-SA); pode estar sujeito a condies adicionais. Consulte as Condies de Usopara mais detalhes.

    Poltica de privacidadeSobre a WikipdiaAvisos gerais

    5 de 5 10/10/2010 9:21 AM