O que é Criptografia de Chave Simétrica?

Compartilhar
O que é Criptografia de Chave Simétrica?
Ouça este artigo
00:00 / 00:00

Criptografia de Chave Simétrica (ou encriptação simétrica) é um tipo de encriptação na qual a mesma chave é usada para encriptar e desencriptar mensagens. Tal método de codificação de informações tem sido amplamente utilizado nas últimas décadas para facilitar a comunicação secreta entre governos e órgãos militares. Atualmente, os algoritmos de chave simétrica são amplamente aplicados em vários tipos de sistemas de informática para melhorar a segurança dos dados.


Como a criptografia simétrica funciona?

Um esquema de encriptação simétrica depende de uma única chave compartilhada entre dois ou mais usuários. A mesma chave é usada para encriptar e desencriptar o chamado plaintext (texto simples, que representa a mensagem ou parte dos dados que estão sendo codificados). O processo de encriptação consiste em executar um plaintext (input) através de um algoritmo de encriptação chamado cipher, que por sua vez gera um texto cifrado/codificado chamado de ciphertext (saída). 

Se o esquema de encriptação for forte o suficiente, a única maneira de uma pessoa ler ou acessar as informações contidas no texto codificado é usando a chave correspondente para desencriptá-la. O processo de desencriptação é basicamente a conversão do texto codificado de volta para o formato de texto simples (plaintext).

A segurança dos sistemas de encriptação simétrica é baseada na dificuldade de se adivinhar, aleatoriamente, a chave correspondente do sistema. Uma chave de 128 bits, por exemplo, levaria bilhões de anos para adivinhar a chave utilizando um computador comum. Quanto mais longa for a chave de encriptação, mais difícil será para decifrá-la. Chaves com comprimento de 256 bits são consideradas altamente seguras e teoricamente resistentes até mesmo a ataques forçados por computador quântico.

Dois dos esquemas de encriptação simétrica mais comuns atualmente são baseados em ciphers de bloco (block) e de fluxo (stream). Os block ciphers (cifras de bloco) agrupam dados de tamanho predeterminado em blocos. Cada bloco é encriptado usando a chave correspondente e o algoritmo de encriptação (por exemplo, o plaintext de 128 bits é encriptado em um ciphertext de 128 bits). Por outro lado, os stream ciphers (cifras de fluxo)  não fazem a encriptação de dados em blocos, e sim em incrementos 1 bit (1 bit do plaintext é encriptado em 1 bit do ciphertext por vez).



Criptografia simétrica vs. assimétrica

A encriptação simétrica é um dos dois principais métodos de encriptar dados em sistemas de computadores modernos. O outro é a encriptação assimétrica, também conhecida como criptografia de chave pública. A principal diferença entre esses métodos é o fato de os sistemas assimétricos usarem duas chaves, e não apenas uma como no sistema de encriptação simétrica. Uma das chaves pode ser compartilhada publicamente (chave pública), enquanto a outra deve ser mantida em segredo (chave privada).

O uso de duas chaves ao invés de uma também produz uma variedade de diferenças funcionais entre a encriptação simétrica e assimétrica. Algoritmos assimétricos são mais complexos e mais lentos que os simétricos. Como as chaves pública e privada empregadas na encriptação assimétrica estão matematicamente relacionadas, as próprias chaves devem ser consideravelmente mais longas para fornecer um nível semelhante de segurança oferecido por chaves simétricas mais curtas.


Utilização em sistemas modernos

Algoritmos de encriptação simétrica são empregados em muitos sistemas de computadores modernos para melhorar a segurança de dados e a privacidade do usuário. O Padrão de Encriptação Avançado (Advanced Encryption Standard - AES) que é amplamente utilizado em aplicativos de mensagens seguras e armazenamento de nuvem, é um exemplo proeminente de codificação simétrica.

Além das implementações de software, o AES também pode ser implementado diretamente no hardware do computador. Esquemas de encriptação simétrica baseados em hardware geralmente utilizam o AES 256, uma variante específica do AES que tem um tamanho de chave de 256 bits.

Vale ressaltar que a blockchain da Bitcoin não utiliza encriptação, como muitos tendem a acreditar. Ao invés disso, utiliza-se um algoritmo específico de assinatura digital (digital signatures algorithm - DSA) conhecido como Elliptic Curve Digital Signature Algorithm (ECDSA) que gera assinaturas digitais sem fazer uso da encriptação.

Um ponto que geralmente gera confusão, é que o ECDSA é baseado na criptografia de curva elíptica (elliptic-curve cryptography - ECC), que por sua vez pode ser aplicada a múltiplas tarefas, incluindo encriptação, assinaturas digitais e geradores pseudo-aleatórios. Entretanto, o ECDSA propriamente dito não pode ser usado para encriptação.

 

Vantagens e desvantagens

Os algoritmos simétricos fornecem um nível razoavelmente alto de segurança e, ao mesmo tempo, permitem que as mensagens sejam encriptadas e desencriptada rapidamente. A relativa simplicidade dos sistemas simétricos também é uma vantagem logística, pois eles exigem menos poder de computação do que os sistemas assimétricos. Além disso, a segurança fornecida pela encriptação simétrica pode ser facilmente ampliada com o simples aumento dos comprimentos das chaves. Para cada bit adicionado ao comprimento de uma chave simétrica, a dificuldade de se decifrar a encriptação por meio de um ataque de forçado aumenta exponencialmente.

Apesar da encriptação simétrica oferecer uma ampla gama de benefícios, ela apresenta uma grande desvantagem associada: o problema inerente a transmissão das chaves utilizadas para encriptar e desencriptar dados. Quando essas chaves são compartilhadas através de uma conexão não segura, elas ficam vulneráveis a serem interceptadas por terceiros ou por usuários mal-intencionados. Se um usuário não autorizado obtiver acesso a uma chave simétrica, a segurança de qualquer dado encriptado usando essa chave estará comprometida. Para resolver esse problema, muitos protocolos da web usam uma combinação das criptografias simétrica e assimétrica para estabelecer conexões seguras. Entre os exemplos mais proeminentes de tal sistema híbrido, está o protocolo de criptografia Transport Layer Security (TLS) usado para proteger grandes porções da Internet moderna.

Vale ressaltar também, que todos os tipos de encriptação de computador estão sujeitas a vulnerabilidades devido à implementação inadequada. Embora uma chave suficientemente longa possa tornar um ataque forçado matematicamente impossível, os erros na implementação feitos pelos programadores geralmente criam pontos fracos que abrem caminho para ataques cibernéticos.


Considerações finais

Graças à sua velocidade relativa, simplicidade e segurança, a encriptação simétrica é amplamente utilizada em aplicações que vão desde a proteção do tráfego da Internet à proteção de dados armazenados em servidores de nuvem. Embora seja frequentemente utilizada em conjunto com encriptação assimétrica, a fim de resolver o problema da transferência segura de chaves, os esquemas de encriptação simétrica permanecem como um componente crítico da segurança moderna de computadores.

Loading