Criptografia: Técnicas Clássicas e Modernas de Cifragem
Classificado em Computação
Escrito em em português com um tamanho de 5,57 KB.
Criptografia II:
Técnicas Clássicas de Cifragem
- Cifra de César: É uma cifra de substituição em que cada letra é substituída por outra letra que está em alguma posição fixa adiante no alfabeto. A cifra de César é facilmente quebrada utilizando força bruta.
- ROT13 ("Rotate by 13 places"): É uma cifra de substituição derivada da cifra de César que utiliza um deslocamento fixo de 13 letras, o que faz com que o mesmo algoritmo seja utilizado para cifrar e decifrar.
- Cifras Monoalfabéticas: São cifras de substituição derivadas da cifra de César em que cada letra é substituída por qualquer outra letra do alfabeto que ainda não foi utilizada. Aumenta consideravelmente o número de chaves possíveis de 25 (da cifra de César) para 26!. Isso torna a técnica de força bruta de criptoanálise inviável.
- Cifra de Vigenère: É uma cifra de substituição polialfabética em que são utilizadas as 26 cifras de César (deslocamentos de 0 a 25). É utilizada em conjunto com uma palavra-chave, onde cada letra correspondente ao texto a ser cifrado é utilizada para indicar o deslocamento desejado. Foi considerada inquebrável durante aproximadamente 300 anos.
- Cifra Playfair: É uma cifra de substituição polialfabética onde as letras são cifradas duas a duas (dígrafo). É utilizada uma tabela de caracteres e está sujeita a criptoanálise.
- Cifra de Vernam: A cifra de Vernam é uma cifra de fluxo. É realizada uma operação XOR do plaintext com um fluxo de dados pseudo-randômicos do mesmo comprimento do plaintext. Se o fluxo for realmente randômico e utilizado uma única vez, é denominada de OTP, que é considerada a cifra mais segura que existe. Problemas: gerar chave verdadeiramente randômica, guardar ou transmitir a chave de forma segura. Exemplo: RC4 é um exemplo de cifra de Vernam.
- Cifra Rail Fence: É uma cifra de transposição. O plaintext é escrito em diagonal e o ciphertext é lido como uma sequência de linhas.
Técnicas Modernas de Cifragem
Uma fragilidade nas técnicas clássicas de cifragem é a ausência do efeito avalanche. Ao mudar uma letra ou número do Plaintext, o ciphertext mudará apenas aquele algarismo alterado. No efeito avalanche, ao ocorrer essa mudança, todos os caracteres do ciphertext mudam.
- DES (Data Encryption Standard): Cifra Simétrica conhecida como DEA (Data Encryption Algorithm). Os dados são codificados em blocos de 64 bits usando uma chave de 56 bits. É uma cifra que repete o mesmo algoritmo de substituição seguido de permutação 16 vezes. Cada repetição é um ROUND (turno).
- Triple DES (3DES ou TDEA): Cifra simétrica baseada no DES/DEA. Objetivo: aumentar a resistência à criptoanálise, realizando três vezes o número de turnos do DES, 48 rounds ao invés de 16. Utiliza chaves de 168 bits e é três vezes mais lento que o DES.
- AES (Advanced Encryption Standard): Tempo útil de utilização estimado em 20-30 anos. Até 2009 não foi quebrada. As falhas encontradas devem-se à implementação do algoritmo. A cifragem é realizada em 10 turnos para chaves de 128 bits, 12 turnos para chaves de 192 bits e 14 turnos para chaves de 256 bits. Opera sobre matriz 4x4.
- IDEA (International Data Encryption Algorithm): Utiliza blocos de 64 bits e chaves de 128 bits. A cifragem é realizada em 8 turnos com seis subchaves de 16 bits por turno. Mais rápida e segura que o DES.
- BLOWFISH: Cifra simétrica que é realizada em 16 turnos. Utiliza blocos de 64 bits e chaves de 32 a 448 bits. Projetado para processadores de 32 bits. Até 2009 ainda não foi quebrada. Como o AES, o Blowfish pode ser utilizado em dispositivos com restrição de memória e capacidade computacional. Ex: SMARTCARDS.
- Twofish: Cifra simétrica que é realizada em 16 turnos. Utiliza blocos de 128 bits e chaves de até 256 bits. Mais lento que o Rijndael para chaves de 128 bits, porém mais rápido para chaves de 256 bits.
- RC4 (ARC4 ou ARCFOUR): É a cifra de fluxo mais utilizada: WEP, WPA, SSL, TLS, SSH, KERBEROS, BITTORRENT, ADOBE ACROBAT. Gera um fluxo de bits pseudo-randômico que é combinado bit a bit com o plaintext através do operador XOR (ou exclusivo). Devido a fragilidades encontradas, não é considerada segura.
- RC5 (Rivest Cipher ou Ron's Code): A cifra simétrica é obtida após uma quantidade de turnos que varia entre 0 e 255. Utiliza blocos de 32, 64 ou 128 bits com chaves de tamanho variável de 0 a 2048.
- RC6: Cifra simétrica baseada na RC5. Pode ser imaginada como um entrelaçamento de dois processos RC5.
- Serpent: Cifra simétrica que é realizada em 32 turnos (a grande quantidade de turnos aumenta teoricamente a segurança, mas torna o algoritmo menos eficiente). Utiliza blocos de 128 bits e chaves de 128, 192 ou 256 bits.
- CAST5 (ou CAST-128): Cifra simétrica que é realizada em 12 ou 16 turnos (quando a chave for maior que 80 bits). É o algoritmo de cifragem padrão de algumas versões do GnuPG/PGP e GPG.
- Malha de Feistel: Esta estrutura simétrica repetitiva é utilizada tanto para cifrar um texto claro quanto para decifrar um texto cifrado. Simplifica a implementação do algoritmo tanto em software quanto em hardware.