neste artigo, o segundo em 3-parte da série sobre criptografia de chave simétrica tecnologia, observamos o desenvolvimento de algoritmos de criptografia de chave simétrica e o intervalo de algoritmos disponíveis hoje junto com seus pontos fortes e fracos, bem como a importância da criptografia agilidade.,

o algoritmo DES família

O original DES (Padrão de Criptografia de Dados) bloco algoritmo de codificação, também conhecido como DEA (Data Encryption Algorithm), foi desenvolvido pela IBM no início da década de 1970 e publicada (com pequenas alterações) como um padrão pelo Governo dos EUA em 1977, tornando-se rapidamente um, de facto, a norma internacional.

no Entanto, com um comprimento de chave de apenas 56 bits (mais 8 bits de paridade), tornou-se evidente na década de 1990, que não era mais suficientemente segura contra ataques forçar a chave usando computadores modernos, que foram crescendo em poder de acordo com a Lei de Moore., Assim, Triple-DES(aka TDES, TDEA ou 3DES) foi introduzido em 1998, usando um pacote de 3 chaves, dando uma força nominal de 168 bits, mas ao preço de um desempenho lento. Opcionalmente, o comprimento da chave pode ser reduzido para 112 bits, fazendo duas das chaves a mesma – isto é às vezes chamado de 2DES ou 2TDEA; no entanto, isso não é mais rápido e uma chave de 112 bits não é mais considerada segura.

Triple-DES ainda é amplamente usado hoje, particularmente na indústria financeira, embora muitas aplicações pularam Triple-DES devido ao seu fraco desempenho e foi direto de DES para AES em vez disso., No entanto, mesmo que uma chave de 168 bits ainda seja considerada forte, ela não é mais recomendada para novas aplicações porque usa um pequeno tamanho de bloco (64 bits). Isto torna-o suscetível ao que é conhecido como o ataque “Sweet 32”, o que significa que a chave pode ser quebrada se mais de 232 blocos de dados são criptografados sem alterar a chave. Dado o elevado volume de dados armazenados ou transmitidos pelos sistemas modernos, isto significa ter de mudar a chave frequentemente, o que é impraticável.,

RC algorithm family

The first members of the RC algorithm family, RC2 and RC4( aka ARC4 or ARCFOUR), were designed by Ron Rivest (of RSA fame) in 1987. RC2 é uma cifra de bloco de 64 bits que suporta um comprimento de chave de até 128 bits, embora inicialmente só foi aprovado para exportação dos EUA com uma chave de 40 bits. RC4 é uma cifra de fluxo que tem sido muito utilizada (por exemplo, no protocolo SSL/TLS e nos primeiros padrões de segurança Wi-Fi). No entanto, nem RC2 nem RC4 são considerados seguros hoje.,

o RC5 é uma cifra de bloco com um tamanho de bloco variável (32, 64 ou 128 bits), comprimento de chave variável (2,040 bits) e a variável número de rodadas (até 255). Isso permite uma troca entre desempenho e segurança, e ainda é considerado seguro quando usado com parâmetros adequados. Mais tarde foi modificado para produzir RC6 com um tamanho de bloco fixo de 128 bits como um concorrente para o avançado padrão de criptografia – veja abaixo. No entanto, RC5 e RC6 não são amplamente utilizados como eles são patenteados.,

Rijndael algorithm family (AES)

a subset of the Rijndael algorithm family of block cifers was selected as the Advanced Encryption Standard (AES) in 2001 to replace DES, following a competition run by the US National Institute of Standards and Technology (NIST). Agora é comumente conhecido como algoritmo AES, com um tamanho de bloco de 128 bits e três opções de tamanho chave: 128, 192 ou 256 bits. O número de rodadas varia com o comprimento da chave.,

AES é o algoritmo simétrico de escolha para a maioria das aplicações de hoje e é muito amplamente utilizado, principalmente com 128 ou 256-bits chaves, com o último comprimento de chave até mesmo considerado forte o suficiente para proteger dados militares ultra-secretos. Note que, assumindo que não há fraquezas conhecidas em um algoritmo, uma única chave de 128 bits levará bilhões de anos para a força bruta usando qualquer tecnologia de computação clássica hoje ou no futuro previsível (mas veja computação quântica abaixo).,

outros algoritmos simétricos

muitas outras cifras de bloco foram desenvolvidas ao longo dos anos, tais como Blowfish, IDEA e CAST-128 (também conhecido como CAST5). No entanto, a maioria dos algoritmos mais antigos são limitados por tamanho de bloco e/ou limitações de comprimento chave, bem como (em alguns casos) questões de segurança e/ou restrições de patentes e, portanto, tiveram relativamente pouco sucesso fora de uma ou duas aplicações específicas.

um número de cifras de bloco foram desenvolvidos para participar da competição AES, tais como Twofish, Serpent, MARS e CAST-256., Muitos deles ainda são muito bons, mesmo que Rijndael foi eventualmente escolhido com base em uma combinação de segurança, desempenho e outros fatores, por isso estes são raramente utilizados.

existem também muitos exemplos de outras cifras de fluxo.alguns governos desenvolvem seus próprios algoritmos nacionais, seja para uso militar ou comercial. A administração de Segurança Nacional dos EUA (NSA) desenvolveu muitos algoritmos ao longo dos anos, embora os detalhes da maioria permanecem secretos. Outros exemplos relativamente bem conhecidos de algoritmos nacionais incluem Magma (também conhecido como GOST 28147-89) e Kuznyechik (também conhecido como GOST R 34.,12-2015) na Rússia, SM1 e SM4 na China e sementes na Coreia do Sul.

atualmente há muita pesquisa em algoritmos leves, adequados para implementação em dispositivos móveis de baixo custo e aplicações de Internet-of-Things (IoT), que tipicamente têm Desempenho limitado de CPU, memória limitada e/ou energia limitada disponível.

Computação Quântica

quando a computação quântica em grande escala se torna disponível, possivelmente em cerca de 10 anos a partir de agora, terá um grande impacto na criptografia. Em particular, os algoritmos assimétricos predominantemente utilizados hoje serão efetivamente quebrados., Felizmente, o impacto em algoritmos simétricos parece ser menos severo – o algoritmo de Grover tem o efeito de reduzir para metade o comprimento da chave, assim o AES-128 tem uma força efetiva equivalente a uma chave de 64 bits, e o AES-256 é reduzido para a força de uma chave de 128 bits. Isto significa que AES-256 ainda pode ser usado com confiança em face da computação quântica (tanto quanto sabemos hoje).

Crypto-agility

Como vimos, nenhum algoritmo é ataques criptográficos perfeitos apenas se tornam mais fortes à medida que novas ferramentas e técnicas são desenvolvidas., Algoritmos que foram considerados fortes são hoje fáceis de quebrar em um PC doméstico. Mesmo os melhores algoritmos de hoje serão enfraquecidos pela computação quântica. Novos algoritmos continuarão a ser desenvolvidos para melhorar a segurança e direcionar novas aplicações com necessidades específicas, como a IoT.

no entanto, a história tem mostrado que a mudança de algoritmos pode ser mais difícil do que o esperado, com algoritmos antigos ainda sendo usados bem depois que eles não são mais considerados seguros.

Você só tem que olhar para MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 e assim por diante para ver quão doloroso e longo o processo pode ser.,o problema é a interoperabilidade. Quando ecossistemas inteiros foram construídos em torno de um algoritmo particular, assim como a indústria financeira foi construída em torno DES e Triple-DES, requer a cooperação de nações, indústrias, organismos de Normalização e fornecedores ao longo de muitos anos para efetuar mudanças. Hardware, software, protocolos têm de ser actualizados. Há enormes implicações financeiras, em especial nos casos em que as infra-estruturas existentes têm de ser substituídas.,

a computação quântica ameaça criar uma grande agitação nos próximos 5-10 anos, e as empresas que não desejam ficar presas no pé de trás têm que começar a planejar agora. Todas as novas aplicações devem ser concebidas tendo em mente a” crypto-agility ” – ou seja, a capacidade de mudar algoritmos através de simples e indolor upgrades de software. Idealmente, este processo deve ser controlado e gerenciado centralmente para salvar ter que chegar a cada aplicação individualmente para atualizá-lo.,

no artigo final desta série vamos olhar para o uso de modos de criptografia com cifras de bloco simétrico, incluindo a necessidade de padding e vetores de inicialização.

References and Further Reading

  • 3DES is Officially being Retired (2018), by Jasmine Henry
  • Trends in Cryptography Part 1 – Algorithms and Encryption (2018), by Rob Stubbs
  • , (2018), by Jasmine Henry

  • Steps to reach crypto agility to get prepared for quantum computing (2019), by Terry Anton
  • Achieving Agile Cryptography Management with Crypto Service Gateway (CSG) (2019), by Rob Stubbs
  • What is a Crypto-Abstraction Layer? (2018), by Chris Allen
  • transforming Cryptography into a Service-Part 1 (2018), by Rob Stubbs

Cover Image: “hallway” by courtesy ofKai Pilger (pexels.com, CC BY 2.0)