Advanced Encryption Standard - Advanced Encryption Standard


Da Wikipédia, a enciclopédia livre
Advanced Encryption Standard
(Rijndael)
AES-SubBytes.svg
O SubBytes passo, uma das quatro fases de um ciclo de AES
Geral
Designers Vincent Rijmen , Joan Daemen
publicado pela primeira vez 1998
Derivado de Quadrado
sucessores Anubis , Grand Cru
Certificação AES vencedor, CRYPTREC , NESSIE , NSA
detalhe Cipher
tamanhos de chaves 128, 192 ou 256 bits
tamanhos de bloco 128 bits
Estrutura rede de substituição-permutação
Rondas 10, 12 ou 14 (dependendo do tamanho da chave)
Melhor pública criptoanálise
Os ataques foram publicados que são computacionalmente mais rápido do que um completo ataque de força bruta , embora nenhum a partir de 2013 são computacionalmente viável. Para AES-128, a chave pode ser recuperada com uma complexidade computacional de 2 126,1 usando o ataque biclique . Para ataques biclique sobre AES-192 e AES-256, as complexidades computacionais de 2 189,7 e 2 254,4 , respectivamente aplicar. Relacionadas-chave ataques pode quebrar AES-192 AES-256 e com complexidades 2 176 e 2 99.5 em termos de tempo e de dados, respectivamente.

O Advanced Encryption Standard ( AES ), também conhecido pelo seu nome original Rijndael ( pronúncia holandesa: [rɛindaːl] ), é uma especificação para a criptografia de dados eletrônicos estabelecidos pela os EUA Instituto Nacional de Padrões e Tecnologia (NIST) em 2001.

AES é um subconjunto do Rijndael cifra de bloco desenvolvido por dois belgas criptógrafos, Vincent Rijmen e Joan Daemen , que apresentaram uma proposta para NIST durante o processo de seleção AES . Rijndael é uma família de cifras com diferentes tamanhos de chaves e de bloco.

Para AES, NIST seleccionado três membros da família Rijndael, cada um com um tamanho de bloco de 128 bits, mas de três comprimentos diferentes principais: 128, 192 e 256 bits.

AES foi adotado pelo governo dos EUA e agora é usado em todo o mundo. Ele substitui o Data Encryption Standard (DES), que foi publicado em 1977. O algoritmo descrito por AES é um algoritmo de chave simétrica , ou seja, a mesma chave é usada para criptografar e descriptografar os dados.

Nos Estados Unidos, a AES foi anunciada pelo NIST como US FIPS PUB 197 (FIPS 197), em 26 de novembro de 2001. Este anúncio seguiu-se um processo de normalização de cinco anos em que quinze projetos concorrentes foram apresentados e avaliados, antes da cifra Rijndael foi selecionado como o mais adequado (ver processo padrão de criptografia avançado para mais detalhes).

AES tornou-se eficaz como um padrão governo federal em 26 de maio de 2002, após a aprovação do secretário de Comércio . AES é incluído na 18033-3 norma ISO / IEC. AES está disponível em muitos pacotes de criptografia diferentes, e é o primeiro (e único) de acesso público cifra aprovado pela Agência de Segurança Nacional (NSA) para top secret informação quando usado em uma ANS módulo criptográfico (ver aprovado Segurança da AES , abaixo).

normas definitivas

O Advanced Encryption Standard (AES) é definida em cada uma:

  • FIPS PUB 197: Advanced Encryption Standard (AES)
  • ISO / IEC 18033-3 cifras :: Bloco

Descrição da cifra

AES é baseado em um princípio de design conhecido como uma rede de substituição-permutação , e é eficiente tanto em software e hardware. Ao contrário de seu antecessor DES, AES não usa uma rede de Feistel . AES é uma variante de Rijndael que tem um determinado tamanho de bloco de 128 bits de , e um tamanho de chave de 128, 192, ou 256 bits. Em contraste, Rijndael por si só é especificado com bloco e tamanhos de chave que pode ser qualquer múltiplo de 32 bits, com um mínimo de 128 e um máximo de 256 bits.

AES opera em um 4 × 4 ordem coluna grande variedade de bytes, denominado o estado . A maioria dos cálculos AES são feitas em um determinado campo finito .

Por exemplo, se houver 16 bytes, , estes bytes são representados como esta matriz bidimensional:

O tamanho da chave usada para uma cifra AES especifica o número de voltas de transformação que convertem a entrada, chamados o texto simples , na saída final, chamado o texto cifrado . O número de voltas são como se segue:

  • 10 rodadas para chaves de 128 bits.
  • 12 rodadas para chaves de 192 bits.
  • 14 rodadas para chaves de 256 bits.

Cada rodada consiste em várias etapas de processamento, incluindo um que depende da chave de criptografia em si. Um conjunto de voltas inversas são aplicados para transformar texto cifrado de volta para o texto simples original utilizando a mesma chave de encriptação.

descrição de alto nível do algoritmo

  1. KeyExpansion chaves -Rodada são derivadas da chave de criptografia usando programação chave do Rijndael . AES requer um bloco chave separada de 128 bits para cada ronda ronda além de mais um.
  2. Além chave rodada inicial:
    1. AddRoundKey byte -cada do estado é combinada com um bloco da chave rodada utilizando xor bit a bit .
  3. 9, 11 ou 13 ciclos:
    1. SubBytes -a não linear etapa de substituição, onde cada byte é substituído por um outro de acordo com uma tabela de pesquisa .
    2. ShiftRows -a etapa transposição onde as três últimas linhas do estado são deslocados ciclicamente um certo número de etapas.
    3. MixColumns -a operação linear de mistura que opera nas colunas de estado, que combina os quatro bytes em cada coluna.
    4. AddRoundKey
  4. rodada final (fazendo 10, 12 ou 14 rodadas no total):
    1. SubBytes
    2. ShiftRows
    3. AddRoundKey

Os SubBytes etapa

No SubBytes passo, cada byte no estado é substituído com a sua entrada numa tabela de pesquisa de 8 bits fixa, S ; b ij = S (um ij ) .

No SubBytes passo, cada byte no estado matriz é substituído com um SubByte utilizando uma 8 bits caixa de substituição . Esta operação proporciona a não-linearidade na cifra . O S-box utilizado é derivado do inverso multiplicativo sobre GF (2 8 ) , conhecido por ter boas propriedades de não-linearidade. Para evitar ataques com base em propriedades algébricos simples, a S-box é construído através da combinação da função inversa com uma invertível transformação afim . O S-box é também escolhido para evitar quaisquer pontos fixos (e por isso é um desarranjo ), ou seja, e também quaisquer pontos fixos opostos, isto é, . Durante a realização da descodificação, a InvSubBytes passo (a inversa da SubBytes ) é utilizada, o que requer, primeiro, tomando o inverso da transformação afim e depois encontrando o inverso multiplicativo.

Os ShiftRows etapa

No ShiftRows etapa, os bytes em cada linha do estado são deslocados ciclicamente para a esquerda. O número de locais de cada byte é deslocado difere para cada linha.

O ShiftRows passo opera nas linhas do Estado; -lo ciclicamente desloca os bytes em cada linha de uma certa compensação . Para AES, a primeira linha é deixado inalterado. Cada byte da segunda linha é deslocada uma para a esquerda. Do mesmo modo, a terceira e quarta linhas são deslocados por deslocamentos de dois e três respectivamente. Desta forma, cada coluna do estado da saída ShiftRows passo é composta de bytes de cada coluna do estado de entrada. A importância deste passo é o de evitar as colunas de ser cifrada de forma independente, no qual caso AES degenera em quatro blocos de cifragem independentes.

O MixColumns etapa

No MixColumns passo, cada coluna do estado é multiplicado com um polinomial fixo .

No MixColumns passo, os quatro bytes de cada coluna do estado são combinados usando uma invertível transformação linear . O MixColumns função tem quatro bytes de entrada e produz quatro bytes, onde cada byte de entrada afecta todos os quatro bytes de saída. Juntamente com ShiftRows , MixColumns fornece difusão na cifra.

Durante esta operação, cada coluna é transformado usando uma matriz fixa (matriz deixaram-multiplicado por coluna dá um novo valor de coluna no estado):

Multiplicação de matrizes é composto de multiplicação e adição das entradas. As entradas são 8-bit bytes tratados como coeficientes de polinomial de ordem . Além é simplesmente XOR. A multiplicação é modulo polinômio irredutível . Se o bit processado por bit, em seguida, depois da mudança, uma condicional XOR com 1B 16 deve ser executada se o valor deslocado é maior do que o FF 16 (transbordamento deve ser corrigida por subtracção de gerar polinomial). Estes são casos especiais da multiplicação usual em .

Num sentido mais geral, cada coluna é tratado como um polinómio ao longo e é, então, multiplicado módulo com um polinomial fixo . Os coeficientes são exibidos em seu hexadecimal equivalente a representação binária de polinômios bit a partir . O MixColumns passo também pode ser visto como uma multiplicação pelo particular mostrada matriz MDS no campo finito . Este processo é ainda descrito no artigo Rijndael MixColumns .

O AddRoundKey etapa

No AddRoundKey passo, cada byte de estado é combinado com um byte de subchave rodada utilizando o XOR operação (⊕).

No AddRoundKey passo, a subchave é combinado com o estado. Para cada rodada, uma subchave é derivada da principal chave usando programação chave do Rijndael ; cada subchave é do mesmo tamanho que o estado. A subchave é adicionado através da combinação de cada byte de estado com o byte correspondente a subchave usando bit a bit XOR .

Otimização da cifra

Em sistemas com 32 bits ou palavras maiores, é possível acelerar a execução de esta cifra combinando os SubBytes e ShiftRows passos com o MixColumns passo transformando-os em uma sequência de pesquisas de tabela. Isto requer quatro tabelas 256 de entrada de 32 bits (juntos ocupando 4096 bytes). Uma rodada pode então ser realizada com operações de pesquisa da tabela 16 e 12 de 32-bit ou-exclusivo de operações, seguido por quatro 32-bit ou-exclusivo de operações no AddRoundKey passo. Alternativamente, a operação de pesquisa da tabela pode ser realizado com uma única tabela de entrada de 256 de 32 bits (ocupando 1024 bytes), seguido por operações de rotação circular.

Usando uma abordagem orientada a byte, é possível combinar os SubBytes , ShiftRows e MixColumns passos em uma única operação rodada.

Segurança

Até maio de 2009, os únicos ataques publicados bem sucedidas contra as AES completos foram ataques de canal lateral em algumas implementações específicas. A Agência de Segurança Nacional (NSA) revisou toda a AES finalistas, incluindo Rijndael, e afirmou que todos eles eram seguras o suficiente para governo dos EUA dados não classificados. Em junho de 2003, o Governo dos EUA anunciou que a AES pode ser usada para proteger informações classificadas :

O desenho e a força de todos os comprimentos de chave do algoritmo AES (ou seja, 128, 192 e 256) são suficientes para proteger informação classificada até o nível secreto. informações secretas vai exigir o uso de qualquer um dos 192 ou 256 comprimentos de chave. A implementação da AES em produtos destinados a proteger os sistemas de segurança nacional e / ou informações devem ser analisados ​​e certificados pela NSA antes da sua aquisição e uso.

AES tem 10 rodadas para chaves de 128 bits, 12 rodadas para teclas de 192 bits, e 14 ciclos para chaves de 256 bits.

Em 2006, os ataques mais conhecidos eram em 7 rodadas para chaves de 128 bits, 8 rodadas para chaves de 192 bits, e 9 rodadas para chaves de 256 bits.

ataques conhecidos

Para cryptographers, um criptográfico "ruptura" é qualquer coisa mais rápido do que um ataque de força bruta - isto é, realizando um ensaio de descriptografia para cada chave possível em sequência (ver Cryptanalysis ). Uma ruptura pode, assim, incluir resultados que são inviáveis com a tecnologia atual. Apesar de ser pouco prático, breaks teóricos às vezes pode fornecer informações sobre os padrões de vulnerabilidade. O maior sucesso publicamente conhecido ataque de força bruta contra um algoritmo de criptografia block-cifra amplamente implementado foi contra um 64-bit RC5 chave por distributed.net em 2006.

Os principais aumentos de espaço por um fator de 2 para cada bit adicional de comprimento da chave, e se cada valor possível da chave é equiprovável, isso se traduz em uma duplicação da força-bruta tempo de busca médio chave. Isto implica que o esforço de uma pesquisa de força bruta aumenta exponencialmente com o comprimento da chave. O comprimento da chave em si não implica segurança contra ataques, uma vez que existem cifras com muito longas chaves que foram encontrados para ser vulnerável.

AES tem uma estrutura algébrica bastante simples. Em 2002, um ataque teórico, chamado de " ataque XSL ", foi anunciado por Nicolas Courtois e Josef Pieprzyk , pretendendo mostrar uma fraqueza no algoritmo AES, parcialmente devido à baixa complexidade de seus componentes não-lineares. Desde então, outros trabalhos têm mostrado que o ataque, como originalmente apresentado, é inviável; ver ataque XSL em blocos de cifragem .

Durante o processo de seleção AES, os desenvolvedores de algoritmos concorrentes escreveu sobre o algoritmo de Rijndael "... estamos preocupados com a [sua] usar ... em aplicações de segurança crítica." Em outubro de 2000, no entanto, no final do processo de seleção AES, Bruce Schneier , um desenvolvedor do algoritmo competindo Twofish , escreveu que enquanto ele pensava ataques acadêmicos de sucesso no Rijndael seria desenvolvido algum dia, ele não "acreditar que alguém nunca vai descobrir um ataque que vai permitir que alguém leia o tráfego Rijndael".

Em 2009, um novo ataque relacionado-chave foi descoberto que explora a simplicidade de programação chave da AES e tem uma complexidade de 2 119 . Em dezembro de 2009 foi melhorada para 2 99.5 . Este é um seguimento a um ataque descoberto mais cedo em 2009 por Alex Biryukov , Dmitry Khovratovich , e Ivica Nikolić, com uma complexidade de 2 96 para um em cada 2 35 chaves. No entanto, relacionados-chave ataques não são motivo de preocupação em qualquer protocolo de criptografia projetado corretamente, como um protocolo projetado corretamente (ou seja, software de implementao) vai tomar cuidado para não permitir que as chaves relacionadas, essencialmente, por restringir meio de selecionar as chaves de parentesco de um atacante.

Outro ataque foi colocado no blog de Bruce Schneier em 30 de Julho de 2009 e lançado como um pré-publicação em 3 de Agosto de 2009. Este novo ataque, por Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich, e Adi Shamir , é contra AES-256 que utiliza apenas duas chaves relacionadas e 2 39 tempo para recuperar a chave de 256 bits completa de uma versão 9-round, ou 2 45 tempo para uma versão de 10-redonda com um tipo mais forte de ataque subchave relacionados, ou 2 70 tempo para um versão 11-round. 256-bit AES utiliza 14 rodadas, então esses ataques não são eficazes contra completo AES.

A praticidade desses ataques com chaves relacionados mais fortes tem sido criticado, por exemplo, pelo papel em "escolhidos-chave relações-in-the-middle" ataques a AES-128 de autoria de Vincent Rijmen em 2010.

Em Novembro de 2009, o primeiro ataque distintiva conhecido-chave contra uma versão reduzida 8-rodada de AES-128 foi lançado como um pré-impressão. Este ataque de distinção chave conhecida-é uma melhoria da recuperação, ou o ataque de início-de-a-meio, contra-AES como permutações, que vêem duas rondas consecutivas de permutação como a aplicação de um assim chamado super-sbox. Ele funciona com a versão 8-round da AES-128, com uma complexidade de tempo de 2 48 , e uma complexidade de memória de 2 32 . 128 bits AES utiliza 10 rodadas, de modo que este ataque não é eficaz contra completo AES-128.

Os primeiros ataques chave de recuperação na AES completos foram devido a Andrey Bogdanov, Dmitry Khovratovich, e Christian Rechberger, e foram publicados em 2011. O ataque é um ataque biclique e é mais rápido do que a força bruta por um fator de cerca de quatro. Exige 2 126,2 operações para recuperar uma chave AES-128. Para AES-192 AES-256 e, 2 190,2 e 2 254,6 são necessárias operações, respectivamente. Este resultado foi ainda mais melhorada para 2 126,0 para AES-128, 2 189,9 para AES-192 e 2 254,3 para AES-256, que são as actuais melhores resultados em ataque de recuperação de chave contra AES.

Este é um pequeno ganho, como uma chave de 126 bits (em vez de 128-bits) seria ainda levar bilhões de anos para a força bruta em hardware actual e previsível. Além disso, os autores calcular o melhor ataque utilizando a técnica em AES com uma chave de 128 bits requer o armazenamento de 2 88 bits de dados. Que trabalha fora de cerca de 38 trillion terabytes de dados, o que é mais do que todos os dados armazenados em todos os computadores do planeta em 2016. Como tal, este é um ataque sério impraticável que não tem nenhuma implicação prática na segurança AES. A complexidade espaço foi depois melhorado para 2 56 bits, que é 9007 terabytes.

De acordo com os documentos Snowden , a NSA está fazendo uma pesquisa sobre se um ataque criptográfico com base em estatística tau pode ajudar a quebrar AES.

No momento, não há ataque prático conhecido que permitiria que alguém sem conhecimento da chave de ler dados criptografados pela AES quando implementado corretamente.

ataques de canal lateral

Ataques de canal lateral não atacam a cifra como uma caixa preta , e, portanto, não estão relacionados com a segurança cifra, tal como definido no contexto clássico, mas são importantes na prática. Eles atacam implementações da cifra em sistemas de hardware ou software que inadvertidamente vazamento de dados. Existem vários desses ataques conhecidos em várias implementações de AES.

Em abril de 2005, DJ Bernstein anunciou um ataque cache-tempo que ele usou para quebrar um servidor personalizado que usou OpenSSL criptografia AES 's. O ataque necessário mais de 200 milhões plaintexts escolhidos. O servidor personalizado foi projetado para fornecer informações tanto cronometrando quanto possível (os relatórios servidor back o número de ciclos de máquina tomadas pela operação de criptografia); no entanto, como Bernstein apontou ", reduzindo a precisão de data e hora do servidor, ou eliminando-os de respostas do servidor, não parar o ataque: o cliente simplesmente usa horários de ida e volta com base no seu relógio local, e compensa o aumento de ruído pela média ao longo de um maior número de amostras."

Em outubro de 2005, Dag Arne Osvik, Adi Shamir e Eran Tromer apresentou um documento demonstrando vários ataques-sincronismo de cache contra as implementações em AES encontrados no do OpenSSL e Linux dm-cryptfunção de criptografia de partição. Um ataque foi capaz de obter toda uma chave AES depois de apenas 800 operações de disparo encriptações, num total de 65 milissegundos. Este ataque requer que o invasor para ser capaz de executar programas no mesmo sistema ou plataforma que está realizando AES.

Em dezembro de 2009 um ataque a algumas implementações de hardware foi publicado que utilizou análise de falhas diferencial e permite a recuperação de uma chave com uma complexidade de 2 32 .

Em novembro de 2010 Endre Bangerter, David Gullasch e Stephan Krenn publicou um artigo que descreveu uma abordagem prática para uma recuperação "quase em tempo real" de chaves secretas de AES-128 sem a necessidade de qualquer texto cifrado ou texto simples. A abordagem também funciona em AES-128 implementações que usam tabelas de compressão, como OpenSSL. Como alguns ataques anteriores este requer a capacidade de executar código sem privilégios no sistema executar a criptografia AES, o que pode ser alcançado através da infecção de malware muito mais facilmente do que comandando a conta root.

Em Março de 2016, Ashokkumar C., Ravi Prakash Giri e Bernard Menezes apresentou um ataque de canal lateral muito eficiente em implementações AES que podem recuperar a chave completa de 128 bits AES em apenas 6-7 blocos de texto plano / texto cifrado, que é uma melhoria substancial sobre trabalhos anteriores que requerem entre 100 e um milhão de criptografias. O ataque proposto requer privilégios de usuário padrão como ataques anteriores e algoritmos de chave-de recuperação são executados sob um minuto.

Muitos processadores modernos têm embutido instruções de hardware para AES , que protegem contra ataques de canal lateral relacionadas com a temporização.

validação NIST / CSEC

O Programa de Validação de módulo criptográfico (CMVP) é operado conjuntamente pelo Governo dos Estados Unidos Instituto Nacional de Tecnologia Normas e Divisão de Segurança (NIST) Computer ea Communications Security Establishment (CSE) do Governo do Canadá. O uso de módulos criptográficos validados para NIST FIPS 140-2 é exigido pelo governo dos Estados Unidos para a criptografia de todos os dados que tem uma classificação de Sensível mas não classificados (SBU) ou superior. De NSTISSP # 11, Política Nacional regem a aquisição de Information Assurance: "Os produtos de criptografia para proteger informações classificadas serão certificados pela NSA, e produtos de criptografia destinados a proteger informações sensíveis serão certificados de acordo com o NIST FIPS 140-2."

O governo do Canadá também recomenda o uso de FIPS 140 módulos criptográficos validados em aplicações não classificadas de seus departamentos.

Embora NIST publicação 197 ( "FIPS 197") é o único documento que cobre o algoritmo AES, os vendedores normalmente se aproximar do CMVP sob FIPS 140 e pedir para ter vários algoritmos (como Triple DES ou SHA1 ) validado, ao mesmo tempo. Portanto, é raro encontrar módulos criptográficos que são exclusivamente FIPS 197 validado ea própria NIST geralmente não tomam o tempo para listar FIPS 197 módulos validados separadamente em seu Web site público. Em vez disso, FIPS 197 validação é normalmente apenas listado como um "FIPS aprovado: AES" notação (com um número específico de certificado FIPS 197) na lista atual de FIPS 140 módulos criptográficos validados.

O Programa de Validação de algoritmo criptográfico (CAVP) permite a validação independente da execução correta do algoritmo AES com um custo razoável. Sucedidos resultados de validação em ser listado na página de validação do NIST. Este teste é um pré-requisito para a validação módulo FIPS 140-2 descrito abaixo. No entanto, a validação CAVP bem sucedido em nenhuma maneira implica que o módulo criptográfico implementação do algoritmo é seguro. Um módulo criptográfico falta FIPS 140-2 validação ou aprovação específica da NSA não é considerado seguro pelo governo dos EUA e não pode ser usado para proteger os dados do governo.

FIPS 140-2 validação é um desafio para alcançar tanto tecnicamente e fiscalmente. Há uma bateria padronizada de testes, bem como um elemento de revisão de código fonte que deve ser passado ao longo de um período de algumas semanas. O custo para realizar estes testes através de um laboratório aprovado pode ser significativo (por exemplo, mais de US $ 30.000 US) e não inclui o tempo que leva para escrever, testar, documentar e preparar um módulo para validação. Após a validação, os módulos devem ser re-submetidos e reavaliada se eles forem alterados de forma alguma. Isso pode variar de atualizações papelada simples, se a funcionalidade de segurança não mudou a um conjunto mais substancial de re-testar se a funcionalidade de segurança foi impactado pela mudança.

vetores de teste

vectores de teste são um conjunto de cifras conhecidos para uma dada entrada e chave. NIST distribui a referência de vectores de teste AES como AES conhecido Resposta de teste (KAT) Vectores.

atuação

Alta velocidade e baixos requisitos de memória RAM foram critérios do processo de seleção AES. Como o algoritmo escolhido, AES teve um bom desempenho em uma ampla variedade de hardware, a partir de 8 bits cartões inteligentes para computadores de alto desempenho.

Em um Pentium Pro , criptografia AES requer 18 ciclos de relógio por byte, o que equivale a um rendimento de cerca de 11 Mb / s para um processador 200 MHz. Numa 1,7 GHz Pentium M rendimento é de cerca de 60 Mb / s.

Em Intel Core i3 / i5 / i7 e AMD Ryzen CPUs de suporte do conjunto de instruções AES-NI extensões, o rendimento pode ser múltiplos GB / s (mesmo acima de 10 GB / s).

implementações

Veja também

Notas

  1. ^ Tamanhos de chave 128, 160, 192, 224, e 256 bits são suportados pelo algoritmo Rijndael, mas apenas os tamanhos de chaves 128, 192, e 256 bits, são especificados no padrão AES.
  2. ^ Tamanhos de blocos de 128, 160, 192, 224, e 256 bits são suportados pelo algoritmo Rijndael para cada tamanho de chave, mas apenas o tamanho do bloco de 128 bits é especificado na norma AES.
  3. ^ Variantes-grande bloco de Rijndael utilizar uma matriz com colunas adicionais, mas sempre quatro linhas.
  4. ^ Rijndael variantes com um tamanho maior bloco ter um pouco diferentes deslocamentos. Para blocos de tamanhos de 128 bits e 192 bits, o padrão de mudança é o mesmo. Linhaé deslocado circular esquerda porbytes. Para um bloco de 256 bits, a primeira fileira é inalterado e o deslocamento para a segunda, terceira e quarta linha é um byte, 3 bytes e 4 bytes, respectivamente, esta alteração aplica-se apenas para a cifra Rijndael quando utilizado com um bloco de 256 bits , como AES não usa blocos de 256 bits.
  5. ^ A AES Conhecido Resposta Test (KAT) Vetores estão disponíveis em formato Zip dentro do site NIST aqui arquivados 2009-10-23 no Wayback Machine .

Referências

links externos