Tipos de Algoritmos de Criptografia Simétrica
Algoritmos para criptografar dados de computador vêm em duas variedades principais: simétrica e assimétrica. Cada tipo de criptografia possui pontos fortes e fracos inerentes. Algoritmos simétricos convertem dados de texto simples em um texto cifrado ilegível usando uma única chave ou senha; eles descriptografam o texto cifrado usando a mesma chave. Esses algoritmos são relativamente simples e rápidos, mas se terceiros interceptarem a chave, eles poderão descriptografar as mensagens. A necessidade de confiança no comércio eletrônico e na segurança dos arquivos de computadores levou os pesquisadores a desenvolver vários tipos de algoritmos de criptografia.
DES e Triple DES
O Triple Data Encryption Standard, ou algoritmo Triple DES, evoluiu a partir do algoritmo DES original introduzido como padrão em 1976 (Referência 2, página 3). O DES usa 56 bits de uma chave de 64 bits para criptografar mensagens em blocos de dados de tamanho fixo. Embora considerado seguro nos anos 70, os avanços na velocidade da computação levaram a ataques sofisticados que quebraram a criptografia DES no final dos anos 90 (Referência 2, página 6). Como os pesquisadores descobriram DES vulneráveis, os desenvolvedores de software usam um padrão mais novo, o Triple DES. O novo padrão aumenta a força do algoritmo usando duas ou três chaves de 64 bits e executando a criptografia três vezes em cada mensagem. Os resultados de cada passagem são usados como fonte para o próximo.
RC2
Ron Rivest desenvolveu o algoritmo RC2 no final da década de 1980 como um substituto para o DES. O RC2 criptografa dados em blocos de 64 bits e tem um tamanho de chave variável de 8 a 128 bits em incrementos de 8 bits. A Lotus Development solicitou a ajuda da Rivest na criação da RC2 para o software Lotus Notes da empresa. Como grande parte da força de um algoritmo de criptografia reside no tamanho de suas chaves, os pesquisadores agora consideram que o RC2 é facilmente comprometido (referência 3).
Blowfish e Twofish
O pesquisador de segurança Bruce Schneier desenvolveu o algoritmo simétrico "Blowfish" no início dos anos 90 (referência 3). Assim como no RC2, o Blowfish divide as mensagens em blocos de 64 bits de tamanho igual e criptografa os blocos. Seus tamanhos de chave variam de 32 a 448 bits. Schneier lançou o Blowfish como um algoritmo de domínio público, disponível gratuitamente para qualquer pessoa que queira criptografar dados. Buscando melhorar o Blowfish, ele desenvolveu o Twofish, que usa blocos de 128 bits e chaves de até 256 bits. Twofish é um dos algoritmos de blocos fixos mais rápidos atualmente disponíveis e, embora tenha vulnerabilidades teóricas, ninguém o quebrou.
Serpente
Os pesquisadores de Cambridge Ross Anderson, Eli Biham e Lars Knudsen desenvolveram o algoritmo Serpent em 2000 (referência 4). Os pesquisadores acreditavam que outros algoritmos tinham falhas teóricas que tornavam sua criptografia vulnerável a ataques de atalho. Eles procuraram desenvolver um algoritmo de criptografia que fosse o mais livre possível dessas falhas. Serpente foi o resultado de seus esforços; ele usa um bloco de 128 bits e chaves de 256 bits (Referência 5). Assim como com Blowfish e Twofish, o algoritmo Serpente está no domínio público. Pesquisadores deram à Serpent pontuações muito altas para "fator de segurança", ou confiabilidade contra ataques.