Existem muitas partes diferentes da criptografia. Se você deseja criptografar alguns dados, existem dois tipos de algoritmos que você pode usar: algoritmos de criptografia simétrica e algoritmos de criptografia assimétrica. O conceito geral é o mesmo, eles podem criptografar dados, mas funcionam com princípios diferentes e têm casos de uso diferentes. A diferença titular, no entanto, descreve as chaves de criptografia. Um algoritmo de criptografia simétrica usa uma única chave compartilhada para criptografar e descriptografar dados. Um algoritmo de criptografia assimétrica usa duas chaves vinculadas, uma para descriptografar e outra para descriptografar.
Propriedades dos algoritmos de criptografia simétrica
Conforme declarado acima, o principal recurso diferenciador de um algoritmo de criptografia simétrica é o fato de você usar uma única chave para criptografar e descriptografar dados. Isso não quer dizer que haja apenas uma chave de criptografia possível, apenas se você criptografar algo com uma chave, precisará usar a mesma chave para descriptografá-la. Às vezes, é chamada de criptografia de chave compartilhada. Isso ocorre porque cada participante precisa conhecer a mesma chave e, portanto, você precisa compartilhá-la.
Essa propriedade de usar a mesma chave para criptografar e descriptografar pode ser um pouco problemática. Para usar um algoritmo de criptografia simétrica, você precisa ser capaz de comunicá-lo com segurança. Mas você não pode fazer isso sem já ter um meio seguro de se comunicar. Felizmente, esse problema pode ser resolvido com criptografia assimétrica, mas vale a pena entender.
As chaves para algoritmos de criptografia simétrica tendem a ser bem pequenas, pelo menos quando comparadas à criptografia assimétrica. Isso os torna relativamente fáceis de transmitir, mesmo em uma conexão de rede lenta, e menos vulneráveis a erros em uma rede não confiável. Os algoritmos de criptografia simétrica também são rápidos quando comparados aos algoritmos assimétricos.
Todas essas propriedades tornam os algoritmos de criptografia simétrica particularmente úteis para criptografia em massa de dados. Este é especialmente o caso quando a velocidade é um problema.
Cifras de fluxo e cifras de bloco
AES é provavelmente o algoritmo de criptografia simétrica mais conhecido. Ele é usado em praticamente tudo que criptografa muitos dados e é uma parte padrão dos conjuntos de criptografia usados no HTTPS. AES é uma cifra de bloco com blocos de 128 bits. Uma cifra de bloco funciona criptografando blocos de dados por vez. Cada bloco deve ter o mesmo tamanho. Isso é bom quando os dados restantes são maiores que o tamanho do bloco, mas significa que alguma forma de preenchimento precisa ser usada para completar o bloco.
Uma cifra de fluxo funciona criptografando quantidades muito menores de dados por vez, geralmente um byte por vez. Uma variação desse conceito é a cifra de substituição que funciona com letras. As cifras de substituição são vulneráveis à análise de frequência e, portanto, normalmente não são confiáveis e não são usadas. As cifras de fluxo não têm esse problema.
Algoritmos simétricos tendem a ser vulneráveis a ataques de texto simples conhecido, ataques de texto simples escolhido, criptoanálise diferencial e criptanálise linear. Algoritmos modernos, no entanto, foram cuidadosamente projetados com isso em mente e, portanto, essas questões não são um problema.
Conclusão
A criptografia simétrica é uma forma de criptografia que usa a mesma chave para criptografar e descriptografar dados. Em alguns casos, o próprio algoritmo é o mesmo para criptografar e descriptografar, embora não seja necessariamente o caso. As chaves de criptografia tendem a ser relativamente curtas e fáceis de transmitir. A chave, no entanto, precisa ser transmitida por um canal seguro, pois precisa ser comunicada entre todas as partes envolvidas. Os algoritmos de criptografia simétrica tendem a ser muito mais rápidos do que os algoritmos de criptografia assimétrica.