PRESENT - Criptografia de bloco ultraleve (tradução do PRESENT original: uma cifra de bloco ultraleve)

Olá Habr! Aqui está a tradução do artigo original “PRESENTE: Uma cifra de bloco ultraleve”, de Robert B. Weide Bogdanov, Credor, Paar, Poshman, Robshav, Seurin e Wikkelsoy.


anotação


Com a introdução do AES, a necessidade de novos algoritmos de codificação de bloco diminuiu, pois na maioria dos casos o AES é uma ótima solução. No entanto, apesar de sua facilidade de implementação, o AES não é adequado para ambientes extremamente limitados, como etiquetas e leitores RFID . Este artigo descreve o algoritmo de criptografia de bloco ultraleve PRESENT. Durante o desenvolvimento desse algoritmo, foram consideradas a eficiência da implementação no ferro e a confiabilidade da criptografia. Como resultado, o resultado dos requisitos do sistema é comparável às principais cifras de fluxo compactas atuais.

1. Introdução


O prato principal da TI do século atual é o desenvolvimento de pequenos dispositivos de computação, usados ​​não apenas em produtos de consumo, mas também formam uma parte integrante - e invisível - da infraestrutura de comunicação do ambiente. Já foi revelado que essas implementações criam toda uma gama de ameaças à segurança muito específicas. Ao mesmo tempo, as soluções criptográficas disponíveis, mesmo as primitivas, geralmente não são adequadas para uso em ambientes com recursos limitados.

Neste artigo, oferecemos um novo algoritmo de cifra de bloco otimizado por hardware, desenvolvido com o máximo tamanho possível e limitações de energia. Ao mesmo tempo, tentamos evitar comprometer os dados. Para isso, aproveitamos a experiência em DES e complementamos as propriedadesSerpente por ter mostrado um desempenho incrível em hardware.

Talvez valha a pena explicar por que decidimos desenvolver uma nova cifra de bloco, porque o fato geralmente aceito é que as cifras de fluxo são potencialmente mais compactas. De fato, no início, fizemos um esforço para entender o design de cifras de fluxo compactas no processo de trabalho no projeto eSTREAM , bem como várias outras suposições promissoras que parecem ter ação rápida. Mas percebemos várias razões pelas quais escolhemos uma cifra de bloco. Em primeiro lugar, a criptografia de bloco é universal e primitiva e, quando usada no modo de criptografia, ou seja, usando os blocos já criptografados para criptografar o seguinte, obtemos criptografia de streaming. Em segundo lugar, e talvez, principalmente, os meandros dos princípios de operação das cifras de bloco parecem ser melhor estudados do que os princípios de operação dos algoritmos de criptografia de fluxo. Por exemplo, embora exista uma teoria extensa baseada no uso de registradores de deslocamento com feedback linear , não é tão fácil combinar esses blocos de forma a obter uma oferta segura. Assumimos que uma cifra de bloco bem projetada pode ser mais segura do que uma cifra de fluxo recém-criada. Assim, descobrimos que uma cifra de bloco que requer tantos recursos de ferro quanto uma cifra de fluxo compacta pode ser muito interessante.

É importante observar que, ao criar um novo algoritmo de cifra de bloco, especialmente com desempenho atraente, não buscamos apenas a inovação. Pelo contrário, o desenvolvimento e a implementação da cifra andam de mãos dadas, revelando alguns limites fundamentais e limitações inerentes. Por exemplo, um determinado nível de segurança impõe restrições aos comprimentos mínimos de chave e bloco. Mesmo o processamento de um estado de 64 bits com uma chave de 80 bits limita o tamanho mínimo do dispositivo. Você também pode notar que a modalidade no hardware - especialmente a compacidade da implementação do hardware - contribui para a repetibilidade. Mesmo pequenas alterações podem afetar adversamente o volume do dispositivo. No entanto, os criptoanalistas também valorizam a repetibilidade e procuram estruturas matemáticas que se multiplicam facilmente em várias rodadas.Então, quantas estruturas simples de repetição podem ser usadas sem comprometer a segurança do sistema?

Portanto, este artigo descreverá a cifra de bloco compacto PRESENT. Após uma breve revisão da literatura existente, projetamos o restante do artigo em um formulário padrão. O código é descrito na seção 3, na seção 4 são descritas as decisões de design. Na seção 5, consideraremos a segurança, enquanto a seção 6 conterá uma análise detalhada do desempenho. Este trabalho termina com nossas conclusões.

2. Obras existentes


Enquanto o volume de trabalho dedicado à criptografia barata está em constante crescimento, o número de artigos dedicados às cifras super leves é surpreendentemente pequeno. Movendo o foco para o dispositivo de protocolo, não vamos mais nos referir a trabalhos em protocolos baratos de comunicação e identificação. Um dos trabalhos mais extensos sobre implementação compacta está atualmente associado ao projeto eSTREAM. Como parte de uma parte deste projeto, novas cifras de fluxo adaptadas para implementação efetiva em hardware foram propostas. No decorrer deste trabalho, são apresentados candidatos promissores. Até o momento, as proporções são aproximadas, mas decorre das brochuras de implementação que as cifras compactas do projeto eSTREAM exigirão cerca de 1300-2600 GE (equivalentes Gate) .

Entre as cifras de bloco, uma das amplamente conhecidas, a saber DES, foi criada levando em consideração a eficiência do equipamento. Tendo em mente o estado muito limitado dos semicondutores no início dos anos 70, não é de surpreender que o DES tenha propriedades de implementação muito competitivas. Durante o desenvolvimento, o 3000GE foi gasto no DES e, após a serialização, esse número caiu para 2300GE. No entanto, o comprimento da chave DES limita sua utilidade em muitas aplicações e leva ao fato de que modificações especializadas são desenvolvidas com base, por exemplo, com maior força criptográfica ou com uma chave estendida.

Em relação às cifras de bloco modernas, este artigo fornece uma análise completa da AES de baixo custo. No entanto, sua implementação requer cerca de 3.600 GE, o que é uma conseqüência indireta do design de multas para processadores de 8 e 32 bits. Os requisitos do sistema <a href = " TEA não são conhecidos, mas de acordo com as estimativas, eles exigem cerca de 2100 GE. Existem mais 4 soluções projetadas para equipamentos de baixo custo: mCRYPTON (tem uma execução exata de 2949 GE), HIGHT (cerca de 3000 GE), SEA (aproximadamente 2280 GE) e CGEN (também cerca de 2280 GE), apesar de este último não ter sido concebido como uma cifra de bloco.

3. Cifra de bloco PRESENTE


PRESENT é um caso especial da rede SP e consiste em 31 rodadas. O comprimento do bloco é de 64 bits e as chaves são suportadas em 2 versões, 80 e 128 bits. Esse nível de proteção deve ser suficiente para aplicativos de baixa segurança que geralmente são usados ​​para implantação com base em tags e, além disso, o mais importante, PRESENT coincide amplamente em seus recursos de design com cifras de fluxo do projeto eSTREAM, aprimoradas para uma implementação eficaz em hardware, o que nos permite comparar adequadamente deles.
Os requisitos de segurança e as propriedades operacionais das versões de 128 bits são fornecidos no apêndice ao artigo original.

Cada uma das 31 rodadas consiste em uma operação XOR para inserir a tecla K i para 1 ≤ i ≤ 32, onde K 32 é usado para"Branquear" a camada chave , permutação linear bit a bit e camada de substituição não linear (ou, mais simplesmente, aumentar a força da criptografia). A camada não linear usa blocos S separados de 4 bits , que são aplicados em paralelo 16 vezes em cada rodada. A cifra descrita pelo pseudocódigo é mostrada na figura:



Agora cada estágio é determinado por sua vez. As justificativas do projeto são fornecidas na Seção 4 e os bits são numerados em qualquer lugar do zero, começando com o correto em um bloco ou palavra.

Adicionando uma chave redonda (addRoundKey). A chave redonda K i = k i 63 ... k i 0 , onde 1 ≤ i ≤ 32, bem como o estado atual b 63 ... b 0. A adição de uma chave redonda ao estado atual ocorre no módulo 2 (b j = b j ⊕ k i j , onde 0 ≤ j ≤ 63).

Camada S-Box (sBoxlayer). Os blocos S usados ​​no PRESENT mapeiam blocos de 4 bits para blocos de 4 bits. A ação desse bloco no sistema numérico hexadecimal é mostrada na tabela a seguir:



Para a camada do bloco S, o estado atual b 63 ... b 0 é 16 palavras de 4 bits w 15 ... w 0 , em que w i = b 4 * i + 3 || b 4 * i + 2 || b 4 * i + 1 || b 4 * i para 0 ≤ i ≤ 15. Saída do quadro S [w i] retorna valores de estado atualizados de uma maneira óbvia.

Camada de permutação (pLayer). Permutação bit a bit usada PRESENT definida na tabela a seguir (o estado do bit i é deslocado para a posição P (i)):



Conversão de Chave ( A programação de chave ). PRESENT pode usar chaves de 80 e 128 bits, no entanto, focaremos na versão de 80 bits. A chave fornecida pelo usuário é armazenada no registro de chaves K, representado como k 79 k 78 ... k 0 . Na i-ésima rodada, uma chave redonda de 64 bits K i = k 63 k 62 ... k 0, consistindo em 64 bits esquerdos do conteúdo atual do registrador K. Assim, na i-ésima rodada, temos:
K i = k 63 k 62 ... k 0 = k 79 k 78 ... k 16 .

Depois de desembalar a tecla redonda K i, o registro de teclas K = k 79 k 78 ... k 0 é atualizado da seguinte forma:
1. [k 79 k 78 ... k 1 k 0 ] = [k 18 k 17 ... k 20 k 19 ]
2. [k 79 k78 k 77 k 76 ] = S [k 79 k 78 k 77 k 76 ]
3. [k 19 k 18 k 17 k 16 k 15 ] = [k 19 k 18 k 17 k 16 k 15 ] ⊕ round_counter

Portanto, registre-se a tecla é deslocada 61 posições para a esquerda, os 4 bits mais à esquerda passaram pelo bloco S e round_counter o valor de i é adicionado no módulo 2 com os bits k 19 k 18 k 17 k 16 k 15de K com o bit menos significativo de round_counter para a direita.



Uma conversão de chave para um algoritmo de 128 bits pode ser encontrada no apêndice ao artigo original.

4. Recursos de design do PRESENT


Além da segurança e implementação eficiente, a principal conquista do PRESENT é a sua simplicidade. portanto, não é de surpreender que projetos similares tenham sido adotados em outras circunstâncias e até usados ​​como livro didático para os alunos. Nesta seção, justificaremos as decisões que tomamos ao projetar o PRESENT. No entanto, em primeiro lugar, descrevemos os requisitos de aplicativos esperados.

4.1 Objetivo e ambiente de aplicação


Ao projetar uma cifra de bloco aplicável em ambientes fortemente restritos, é importante entender que não estamos criando uma cifra de bloco que certamente será aplicável em muitas situações - existe um AES para isso. Pelo contrário, visamos uma aplicação muito específica para a qual o AES não é adequado. O precedente determina as seguintes características.

  • A cifra será implementada "em hardware"
  • Os aplicativos serão necessários apenas para ajustar o nível de segurança. Portanto, uma chave de 80 bits seria uma solução robusta. Observe que os desenvolvedores das cifras de fluxo do projeto eSTREAM seguem a mesma posição.
  • Os aplicativos não exigem criptografia de grandes quantidades de dados. Assim, uma implementação pode ser otimizada para desempenho ou espaço sem fazer muitas alterações.
  • , . , ( ).
  • , , , , , .
  • , , (encryption-only mode). , - (challenge-response) , , , , .

Com base nessas considerações, decidimos criar PRESENT como uma cifra de bloco de 64 bits com uma chave de 80 bits. Criptografia e descriptografia, nesse caso, têm aproximadamente os mesmos requisitos físicos. Com a capacidade de suportar criptografia e descriptografia, PRESENT será mais compacto do que suportar apenas criptografia AES. E, no caso de execução somente de criptografia, nossa cifra será completamente super fácil. As subchaves de criptografia serão computadas em qualquer lugar.

Existem muitos exemplos na literatura de ataques de compromisso entre hora, data e memória ou ataques usando o paradoxo do aniversárioao criptografar grandes quantidades de dados. No entanto, esses ataques dependem apenas dos parâmetros da cifra e não usam a estrutura interna. Nosso objetivo é tornar esses ataques o melhor que eles podem usar contra nós. Ataques de canais de terceiros e ataques diretos de quebra de chip ameaçam o PRESENT tanto quanto outras primitivas criptográficas . No entanto, para aplicativos prováveis, os requisitos de segurança moderados tornam os benefícios para um invasor na prática muito limitados. Na avaliação de riscos, essas ameaças não são percebidas como um fator significativo.

4.2 Camada de permutação


Ao escolher uma camada de mistura de teclas, nossa atenção à eficiência do hardware requer uma camada linear, que pode ser implementada com um número mínimo de elementos de controle (por exemplo, transistores). isso leva a uma permutação bit a bit. Prestando atenção à simplicidade, escolhemos a permutação bit a bit regular, o que ajuda a conduzir uma análise de segurança transparente (consulte a seção 5).

4.3 Blocos-S.


No PRESENT, usamos blocos S separados que convertem 4 bits para 4 bits (F 4 2 → F 4 2 ). Isso é uma conseqüência direta do nosso desejo de eficiência de hardware, e a implementação de um bloco S desse tipo é geralmente muito mais compacta do que a de um bloco S de 8 bits. Como usamos a permutação de bitmap para uma camada de difusão linear, as tecnologias de difusão do tipo AES não são uma opção para a nossa cifra. Portanto, colocamos algumas condições adicionais nos blocos S para reduzir o chamado "efeito avalanche" . Mais precisamente, os blocos S para PRESENT atendem às seguintes condições, onde denotamos o coeficiente de Fourier S por

S W b (a) = ∑ (-1) <b, S (x)> + <a, x> , x∈F 42

1. Para qualquer viés fixo de entrada diferente de zero ∆ I ∈ F 4 2 e qualquer viés fixo de entrada diferente de zero ∆ O ∈ F 4 2 dentro do bloco S, é necessário
# {x ∈ F 4 2 | S (x) + S (x + ∆ I ) = ∆ O } ≤ 4.

2. Para qualquer diferença de entrada fixa diferente de zero ∆ I ∈ F 4 2 e qualquer diferença fixa de saída diferente de zero ∆ O ∈ F 4 2 de modo que wt (∆ I ) = wt (∆ O ) = 1 , temos
{x ∈ F 4 2| S (x) + S (x + ∆ I ) = ∆ O } = ∅

3. Para todo zero diferente de a ∈ F 4 2 e todo diferente de zero b ∈ F 4, sustenta que | S W b (a) | ≤ 8
4. Para todos diferente de zero um ∈ F 4 2 e todos diferente de zero b ∈ F 4 de tal modo que em peso (a) = em peso (b) = 1, S W b (a) = ± 4 prende.

Como será claro a partir da secção 5, essas condições garantem que PRESENT seja resistente a ataques diferenciais e lineares. Usando a classificação de todos os blocos S de 4 bits que atendem às condições acima, escolhemos o bloco S, que é especialmente adequado para a implementação eficiente de hardware.

5. Análise de Segurança


Agora, apresentaremos os resultados da análise de segurança PRESENT.

Cripanálise diferencial e linear


As análises criptográficas diferenciais e lineares são alguns dos métodos mais poderosos disponíveis para os criptoanalistas. Para medir a resistência PRESENTE à análise criptográfica diferencial e linear, definimos o limite inferior no número de chamados blocos S ativos que participam da característica diferencial (ou linear).

Cripanálise diferencial


O caso da criptoanálise diferencial é coberto pelo seguinte teorema.

Teorema 1. Qualquer característica diferencial de cinco circuitos do PRESENT possui pelo menos 10 blocos S ativos.

O teorema 1 é comprovado no apêndice 3 do artigo original e continuamos as observações. Dividimos 16 blocos S em 4 grupos:



Os números na entrada (acima) indicam o número do bloco S na etapa anterior e na saída (na parte inferior) - na próxima

Observe que:

  1. Os bits de entrada para o bloco S vêm de 4 blocos S diferentes do mesmo grupo.
  2. Os bits de entrada para grupos de quatro blocos s vêm de 16 blocos s diferentes.
  3. Quatro bits de saída de um bloco S específico são incluídos em quatro blocos S diferentes, cada um dos quais pertence a um grupo separado de blocos S na próxima rodada.
  4. Os bits de saída dos blocos s em diferentes grupos vão para diferentes blocos s.

De acordo com o Teorema 1, qualquer característica diferencial para mais de 25 rodadas de PRESENT deve ter pelo menos 5 × 10 = 50 blocos S ativos. A probabilidade diferencial máxima do bloco S PRESENT é 2 -2 e, portanto, a probabilidade de uma única característica diferencial de 25 rondas é limitada a 2 -100. Os métodos avançados permitem que o criptoanalista remova as rondas externas da cifra para usar uma característica mais curta; no entanto, mesmo se permitirmos que um invasor remova seis rondas da cifra, o que é uma situação sem precedentes, os dados necessários para usar a característica diferencial de 25 rondas restantes excederão a quantidade disponível. Assim, os limites de segurança são mais do que confiáveis. No entanto, praticamente confirmamos que o limite do número de blocos S ativos no Teorema 1 é apertado.

Confirmação prática


Podemos definir características que incluem dez blocos S em cinco rodadas. A próxima característica iterativa de duas rodadas inclui dois blocos S por rodada e se mantém com uma probabilidade de 2 a 25 por cinco rodadas.

Características mais complexas são mantidas com uma probabilidade de 2 a 21 por 5 rodadas.

Embora a probabilidade dessa segunda característica esteja muito próxima do limite de 2 a 20Não é iterativo e tem pouco valor prático. Em vez disso, confirmamos experimentalmente a probabilidade de um diferencial iterativo de duas etapas. Em experimentos com mais de 100 subchaves independentes usando 223 pares de texto simples selecionados, a probabilidade observada foi prevista. Isso parece sugerir que, para essa característica em particular, não há um diferencial significativo concomitante. No entanto, determinar a extensão de qualquer efeito diferencial é uma tarefa complexa e demorada, embora nossa análise preliminar tenha sido encorajadora.

Cripanálise linear


O caso da criptoanálise linear PRESENT é considerado no teorema a seguir, no qual analisamos a melhor aproximação linear para as quatro rodadas de PRESENT.

Teorema 2. Seja E 4R o deslocamento linear máximo da aproximação de quatro voltas usando PRESENT. Então E 4R ≤ 2 -7 .
A prova do teorema está contida no apêndice 4 do artigo original. Então, durante 28 rodadas, o deslocamento máximo será
2 6 × E 4R 7 = 2 6 × (2 -7 ) 7 = 2 -43

Portanto, supondo que um criptoanalista precise apenas de cerca de 28 das 31 rodadas no PRESENT para iniciar um ataque de recuperação de chave, uma análise criptográfica linear por criptografia exigirá cerca de 2 84 textos / textos cifrados conhecidos. Esses requisitos de dados excedem o texto disponível.

Alguns ataques diferenciais / lineares avançados


A estrutura PRESENT nos permite considerar algumas das formas distintas de ataques. No entanto, nenhum deles levou a um ataque que requer menos texto do que o limite inferior dos requisitos de texto para análise criptográfica linear. Entre os ataques distintos, consideramos um que utiliza diferenças palindrômicas, pois as diferenças simétricas persistem com uma probabilidade de um (ou seja, sempre) sobre a camada de difusão e algumas versões avançadas de ataques diferenciais-lineares. Embora os ataques parecessem promissores por várias rodadas, eles rapidamente perderam seu valor prático e dificilmente serão úteis na análise criptográfica PRESENTE. Também descobrimos que a criptografia analítica diferencial truncada provavelmente tem valor limitado, embora nas próximas duas rodadas.

A expansão truncada é realizada com uma probabilidade de um.

Mesmo quando usado para reduzir o comprimento das características diferenciais já identificadas, os requisitos de dados permanecem excessivos. A expansão classificada é realizada com uma probabilidade de um.

5.2 Ataques estruturais


Ataques estruturais, como análise criptográfica integrada e análise de gargalo, são adequados para analisar cifras do tipo AES. Essas cifras têm estruturas semelhantes a palavras fortes, onde as palavras geralmente são bytes.No entanto, a construção da representação é quase exclusivamente bit a bit, e embora a operação de permutação seja um tanto regular, o desenvolvimento e a distribuição de estruturas de palavras são interrompidos pelas operações bit a bit usadas na cifra.

5.3 Ataques algébricos


Os ataques algébricos foram usados para obter sucesso quando aplicados às cifras de fluxo, e não para bloquear. No entanto, a estrutura simples do PRESENT significa que eles merecem um estudo sério. O bloco S PRESENT é descrito por 21 equações quadráticas para oito variáveis ​​de bit de entrada / saída no campo G (2). Isso não é surpreendente, uma vez que é bem sabido que qualquer bloco S de quatro bits pode ser descrito por pelo menos 21 dessas equações. Então a cifra inteira pode ser descrita pelas equações quadráticas e = n × 21 nas variáveis ​​v = n × 8, em que n é o número de blocos S no algoritmo de criptografia e transformação de chave.

Para PRESENT, temos n = (31 × 16) + 31, portanto todo o sistema consiste em 11.067 equações quadráticas em 4.216 variáveis.O problema geral de resolver um sistema de equações quadráticas multidimensionais é NP-difícil. No entanto, os sistemas obtidos para as cifras de bloco são muito raros, pois consistem em n pequenos sistemas conectados por camadas lineares simples. No entanto, não está claro se esse fato pode ser usado no chamado ataque algébrico. Alguns métodos especializados foram propostos, como XL e XSL, embora deficiências tenham sido descobertas em ambos os métodos. Em vez disso, os únicos resultados práticos na criptoanálise algébrica de cifras de bloco foram obtidos aplicando os algoritmos Buchberger e F4 .como parte do Magma. A modelagem em versões em pequena escala do AES mostrou que, para todas as redes SP, exceto as menores , as dificuldades rapidamente surgem na complexidade do tempo e da memória. O mesmo vale para PRESENT.

Confirmação prática.Realizamos simulações em versões de pequena escala usando o algoritmo F4 no Magma. Quando existe um bloco S, ou seja, um bloco muito pequeno com um tamanho de quatro bits, o Magma pode resolver o sistema de equações resultante em muitas rodadas. No entanto, à medida que o tamanho do bloco aumenta e os blocos S são adicionados, juntamente com a variante correspondente da camada de difusão linear, o sistema de equações logo se torna muito grande. Mesmo considerando um sistema que consiste em sete blocos S, ou seja, com um tamanho de bloco de 28 bits, não foi possível, em um prazo razoável, obter uma solução para a versão cifrada reduzida que passou duas rodadas. Nossa análise mostra que os ataques algébricos dificilmente representam uma ameaça ao PRESENT.

5.4 Ataques de conversão de chaves


Como não há diretrizes estabelecidas para o desenvolvimento das principais transformações, existe uma grande variedade de projetos e uma ampla variedade de ataques com base nas características do projeto. Os ataques mais eficazes se enquadram no cabeçalho geral de ataque a chaves relacionadas e ataques de cisalhamento , e ambos são baseados na construção de relacionamentos identificáveis ​​entre diferentes conjuntos de subchaves. Para combater essa ameaça, usamos um contador dependente de arredondamento, para que os conjuntos de subchaves não possam ser facilmente "deslocados" e usamos uma operação não linear para misturar o conteúdo do registro de chaves K. Em particular:

  • todos os bits no registro de chaves são uma função não linear da chave de 80 bits fornecida pelo usuário para a rodada 21,
  • que cada bit no registro de chaves após a rodada 21 depende de pelo menos quatro dos bits de chave fornecidos pelo usuário, e
  • no momento em que obtemos K 32 , seis bits são expressões de grau dois de 80 bits de chave fornecidos pelo usuário, 24 bits são de grau três, enquanto os bits restantes são uma função dos bits de chave fornecidos pelo usuário de grau seis ou nove.

Acreditamos que essas propriedades são suficientes para resistir a ataques de chaves com base na conversão de chaves.

6. Produtividade do "ferro"


Implementamos o PRESENT-80 em VHDL e o adaptamos para a biblioteca virtual de células de silício (VST) padrão, com base na UMC L180 0,18 μ 1P6M Logic. Utilizamos o Mentor Graphics Modelsim SE PLUS 5.8 c para simulação e a Synopsys Design Compilerversion Y-2006.06 para a síntese e modelagem do consumo de energia. Foram utilizados valores típicos para fundição (1,8 Volts para tensão de núcleo e 25 ° C para temperatura), e o modelo proposto de carga de arame foi usado para modelar a potência. Observe que essa simulação se destina a estruturas em torno de 10.000 GE, portanto os resultados de energia serão pessimistas para estruturas muito menores. Na imagem



O caminho de dados mostrado é o PRESENT-80 com espaço otimizado, sem a possibilidade de descriptografia (somente criptografia), que executa uma rodada por ciclo, ou seja, um caminho de dados de largura de 64 bits. Observe que, na fase de design PRESENT, usamos o mesmo bloco S 16 vezes em vez de ter 16 blocos S diferentes, e isso facilita a serialização adicional do projeto, ou seja, com um canal de dados de 4 bits. Nossa implementação requer 32 ciclos de relógio para criptografar texto simples de 64 bits com uma chave de 80 bits, requer 1570 GE e tem um consumo de energia de 5 micW na modulação.



Requisitos espaciais PRESENTES

A maior parte da área é ocupada por gatilhos para armazenar o estado da chave e dos dados, seguidos pelo departamento de codificação da camada S e do XOR. Permutações de bits de permutação simples aumentarão a área somente quando a implementação atingir o estágio de local e rota. Observe que o principal objetivo de nossa implementação era uma pequena quantidade de hardware; no entanto, também sintetizamos um processo otimizado para energia. Para um adicional de 53 GE, atingimos um consumo de energia de apenas 3,3 μW, e os atuais 128 ocuparão uma área estimada em 1886 GE. Além de seu tamanho muito pequeno, o PRESENT possui uma taxa de transferência bastante alta, fornecendo boa energia de bit. A comparação com outras cifras é apresentada na tabela:



7. Conclusão


Neste artigo, descrevemos a nova cifra de bloco PRESENT. Nosso objetivo era uma cifra ultraleve, que oferece um nível de segurança proporcional ao tamanho de um bloco de 64 bits e uma chave de 80 bits. Como resultado, o PRESENT possui requisitos de implementação semelhantes a muitas cifras de fluxo compactas. Portanto, acreditamos que é de interesse teórico e prático. Como todas as novas propostas, não incentivamos a implantação imediata do PRESENT, mas recomendamos sua análise.

Confissão


O trabalho apresentado neste documento foi parcialmente apoiado pela Comissão Europeia como parte do STREP UbiSec & Sens do Programa-Quadro da UE 6 para Pesquisa e Desenvolvimento (www.ist-ubisecsens.org). As opiniões e conclusões contidas neste documento são de responsabilidade dos autores e não devem ser interpretadas como constituindo uma política ou endosso oficial expresso ou endossado pelo projeto UbiSec & Sens ou pela Comissão Europeia.

Source: https://habr.com/ru/post/undefined/


All Articles