Algoritmo de chave simétrica

O algoritmo de criptografia simétrica utiliza a mesma chave para encriptar e desincriptar dados enviados através da internet.

Categoria de Tecnologia

Postado em 29 maio 2022

Atualizado em 29 maio 2022

Palavras-chave: security,segurança,chave,criptografia,criptografação,encriptar,encriptação,desincriptar

Visualizações: 2651



Antes mesmo da internet existir, a criptografia de informação já era realizada. Quando o remetente queria manter o segredo da informação enviada ao seu destinatário por carta ou algum outro meio, este mesmo utilizava técnicas de criptografia.

A grande vantagem da criptografia é a proteção de informações preciosas. É muito difícil desencriptar uma informação para quem não tem conhecimento da técnica utilizada. Portanto, mesmo quando alguma mensagem era interceptada no caminho, não havia muita preocupação em relação à essa exposição.

Após o aparecimento da internet, tornou-se necessário criptografar dados que navegam de um computador para o outro. Em 1977, a criptografia simétrica era padronizada pelo governo dos Estados Unidos.

O que é a criptografia simétrica?

A criptografia simétrica é a utilização de um algoritmo para criptografar dados usando uma chave gerada aleatoriamente. Esse algoritmo utiliza a mesma chave para encriptar e desincriptar mensagens, trazendo vantangens como velocidade nesses processos.

criptografia simetrica

No envio de dados, o emissor irá enviar a chave e os pacotes de dados encriptados. O destinatário irá utilizar a chave enviada pelo remetente para a desincriptação desses dados.

Dados e chave
PC1
PC2

Algoritmos simétricos bastante conhecidos são o DES e o AES.

DES

DES é a abreviação de “Data Encryption Standart”. Em português, padrão de criptografia de dados.

Essa técnica de encriptação foi padronizada pelo governo do Estados Unidos em 1977.

DES utiliza uma chave de 64 bits, onde 8 bits são utilizados para a verificação de paridade, portanto sobrando apenas 56 bits para a encriptação.

O texto é divido em blocos de 64 bits. Portanto podemos afirmar que cada bloco processa 8 bytes de informação.

DES não possuia uma reputação muito boa, pois possuia boatos de que poderia vulnerável à ataques. Esses boatos só existiam na teoria pois não haviam computadores suficientemente eficientes na época para comprovar.

Até uma pequena empresa conseguir provar na prática em 1998, utilizando força bruta para descobrir a chave utilizada em uma cifragem. Essa empresa tinha como objetivo mostrar que uma chave que possui apenas 56 bits é muito curta, podendo ser vulnerável à ataques de força bruta.

São 72.057.594.037.927.936 variações que 56 bits podem gerar. Em 1998, foram necessárias 58 horas para ter sucesso nesse ataque bruto.

Com a vulnerabilidade exposta, a DES precisava ser substituída. Em 2001 a AES é publicada, sendo padronizada em 2022.

AES

AES é a abreviação de “Advanced Encryption Standard”. Em português, padrão de criptografia avançado.

Esse novo algoritmo corrige a vulnerabilidade de seu antecessor, sendo muito mais resistente à ataque brutos. O tamanho da chave pode variar entre 128, 192 e 256 bits.

Pode não parecer muito, mas o número de variações que podem ser feitas com uma chave de 256 bits pode ser assustadoramente grande.

Se tentarmos fazer as contas de quanto tempo pode demorar para realizar força bruta para encontrar uma chave de 255 bits, chegaremos no resultado de 27,337,893,038,406,611,​194,430,009,​974,922,940,​323,611,067,​429,756,962,​487,493,203 anos.

Caso a chave tenha apenas 128 bits, ainda demoraria 1 bilhão de anos para ter sucesso em um ataque de força bruta. Para termos uma idéia dessa grandeza, o universo tem apenas 14 bilhões de anos.

Ainda nos dias de hoje o AES é utilizado como técnica padrão de criptografia simétrica.

Conclusão

A criptografia simétrica utiliza a mesma chave para encriptar e desincriptar dados enviados através da internet. Por utilizar a mesma chave, a criptografia simétrica é bastante veloz nos seus processos.

Projetos práticos

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Veja também

A manutenção de softwares é o maior pesadelo de um programador quando o código parece um campo minado

Existe muitos programadores que escrevem algoritmos mal planejados. Essa falta de planejamento dificulta a manutenção do aplicativo e aumenta a probabilidade de novos bugs.

Os computadores usam a numeração binária para a manipulação de dados em circuitos elétricos

A ausência e a presença de energia são dois estados que podem ser usados como valores. Esses valores são respectivamente zero e um.

VPN Rede virtual privada

A VPN permite a transferência de dados de modo privado e seguro em uma rede pública sem a utilização de infraestrutura adicional.

Ativação de produto

O código de ativação de softwares tem como objetivo prevenir a pirataria e revenda de produtos sem o conhecimento e autorização do autor.

Algoritmo de chave assimétrica

O algoritmo de chave assimétrica, ou algoritmo de chave pública, utiliza uma chave pública para encriptação e uma chave privada para a desencriptação.

Governança de TI

Responsável por tratar de assuntos envolvendo tecnologia da informação com o alto escalão para gerar valores na área de TI