Cursos / Redes de Computadores / Segurança em Redes / Aula

arrow_back Aula 03 - Criptografia

Criptografia Simétrica

Os algoritmos simétricos utilizam uma mesma chave tanto para cifrar como para decifrar. A chave representa um segredo compartilhado entre duas ou mais partes, conforme mostrado no exemplo da Figura 2. A chave secreta – mostrada na figura – tem que ser a mesma, tanto para a cifragem quanto para decifragem.

Criptografia de chave secreta.

Por haver uma chave compartilhada, que deve ser mantida em segredo pelos dois ou mais parceiros da comunicação, para usar a criptografia simétrica, é necessário um canal, ou seja, uma forma segura para a troca de chaves entre as partes comunicantes. A necessidade de compartilhar um segredo com cada parceiro é a maior desvantagem da criptografia simétrica. Já que a transmissão das chaves entre os envolvidos pode não ser segura, e uma chave pode acabar caindo na mão de terceiros.

A Figura 3 mostra outro problema da criptografia simétrica, conhecido como “problema da explosão de chaves”. Nele cada usuário terá de armazenar e gerenciar o número de chaves de acordo com a quantidade de pessoas com as quais ele se comunica. Na Figura 3, João tem duas chaves compartilhadas, uma para se comunicar com Maria e uma para se comunicar com José. Se João quiser trocar mensagens com Ana de forma confidencial, ele terá de adquirir e gerenciar mais uma chave.

Problema de explosão de chaves.

Portanto, dois grandes problemas precisam ser gerenciados na criptografia simétrica:

  • Como transmitir a chave de forma confiável entre dois pontos de um sistema distribuído?
  • Como administrar o problema de explosão de chaves?

Um exemplo simples de criptografia simétrica pode ser observado a seguir. Neste caso, temos um algoritmo bastantes simples que pode ser resumido por:

Para cada letra do alfabeto existente na mensagem original ou cifrada, realizar a sua substituição, conforme solicitado pela chave.

Neste caso, um possível exemplo de chave seria:

Letra: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Muda Para: Y M R J U P T O V D X Z B S H F W C N G E I Q K A L

De posse do algoritmo e da chave, podemos realizar a cifragem, como no exemplo a seguir:

Texto original: "Haverá prova surpresa hoje à noite"
Texto cifrado: "OYIUCY FCHIY NECFCUNY OHDU Y SOIGU"

Depois de realizarmos a cifragem, podemos transmitir o texto cifrado para outra pessoa. Veja que, conforme estudamos há pouco, um aluno que conheça o algoritmo, e tenha interceptado o texto cifrado, nada poderá fazer, pois ele não possui a chave. Porém, se ele obtiver a mesma, ele saberá decifrar a mensagem e irá ler a mensagem original.

Alguns dos algoritmos mais conhecidos de criptografia simétrica são o DES (Data Encryption Standard); AES (Advanced Encryption Standard) e o IDEA (International Data Encryption Algorithm). Basicamente, todos eles trabalham com bits ao invés de letras do alfabeto, e, simplesmente, realizam centenas (ou milhares) de operações de substituição e permutação (onde dois bits são trocados de lugar), com base no algoritmo e na chave dada como entrada.

Um ponto importante para se analisar nos algoritmos de criptografia é o tamanho da chave que eles usam. Por exemplo, chave de 56 bits, de 64 bits, de 128 bits etc. Quanto maior a chave, mais difícil de descobri-la, ou seja, mais difícil de “quebrar a chave”. Por quê? Por exemplo, uma chave de 8 bits gera apenas 256 combinações diferentes, pois esse é o resultado de 2ˆ8. Portanto, a chave de 8 bits não é muito segura. Uma chave de 256 bits, por exemplo, é mais difícil de quebrar, pois precisaria de muito mais esforço com um método de tentativa e erro.

Versão 5.3 - Todos os Direitos reservados