O que é criptografia e como funciona?

A criptografia tem uma longa história que remonta à época em que os antigos gregos e romanos enviavam mensagens secretas substituindo letras apenas decifráveis ​​por uma chave secreta. Junte-se a nós para uma rápida lição de história e aprenda mais sobre como funciona a criptografia.

Na edição de hoje do HTG Explains, daremos a você um breve histórico da criptografia, como funciona e alguns exemplos de diferentes tipos de criptografia – certifique-se de verificar também a edição anterior, onde explicamos por que tantos geeks odeiam a Internet Explorer .

Imagem do xkcd , obviamente.

Os primeiros dias da criptografia

zeus_story

imagemOs gregos antigos usavam uma ferramenta chamada Scytale para ajudar a criptografar suas mensagens mais rapidamente usando uma cifra de transposição – eles simplesmente embrulhavam a tira de pergaminho em volta do cilindro, escreviam a mensagem e, quando desenrolada, não fazia sentido.

Esse método de criptografia poderia ser facilmente quebrado, é claro, mas é um dos primeiros exemplos de criptografia sendo realmente usado no mundo real.

Júlio César usou um método semelhante durante sua época, deslocando cada letra do alfabeto para a direita ou para a esquerda em várias posições – uma técnica de criptografia conhecida como cifra de César . Por exemplo, usando a cifra de exemplo abaixo, você escreveria “GEEK” como “JHHN”.

Plain:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

Uma vez que apenas o destinatário pretendido da mensagem conhecia a cifra, seria difícil para a próxima pessoa decodificar a mensagem, o que pareceria um jargão, mas a pessoa que tinha a cifra poderia facilmente decodificá-la e lê-la.

Outras cifras de criptografia simples, como o quadrado de Políbio, usavam uma cifra polialfabética que listava cada letra com as posições numéricas correspondentes na parte superior e lateral para dizer onde estava a posição da letra.

imagem

Usando uma tabela como a acima, você escreveria a letra “G” como “23”, ou “GEEK” como “23 31 31 43”.

Máquina Enigma

imagem

Durante a Segunda Guerra Mundial, os alemães usaram a máquina Enigma para passar transmissões criptografadas de um lado para outro, o que levou anos até que os poloneses fossem capazes de decifrar as mensagens e dar a solução às forças aliadas, o que foi fundamental para sua vitória.

A história da criptografia moderna

Vamos enfrentá-lo: as técnicas modernas de criptografia podem ser um assunto extremamente enfadonho, então, em vez de apenas explicá-las com palavras, montamos uma história em quadrinhos que fala sobre a história da criptografia, inspirada no guia de bonecos de Jeff Moser para AESNota: claramente não podemos transmitir tudo sobre a história da criptografia em uma história em quadrinhos.

Naquela época, as pessoas não tinham um bom método de criptografia para proteger sua comunicação eletrônica.

Recomendado:  Cuidado: como comprar um cabo USB tipo C que não danifica seus dispositivos

Lúcifer foi o nome dado a várias das primeiras cifras de blocos civis , desenvolvidas por Horst Feistel e seus colegas da IBM.

O Data Encryption Standard (DES) é uma cifra de bloco (uma forma de criptografia secreta compartilhada) que foi selecionada pelo National Bureau of Standards como um Federal Information Processing Standard (FIPS) oficial para os Estados Unidos em 1976 e que posteriormente foi amplamente difundido usar internacionalmente.

As preocupações com a segurança e a operação relativamente lenta do DES em software motivaram os pesquisadores a propor uma variedade de designs de cifras de bloco alternativos, que começaram a aparecer no final dos anos 1980 e no início dos anos 1990: exemplos incluem RC5 , Blowfish , IDEA , NewDES , SAFER , CAST5 e FEAL

O algoritmo de criptografia Rijndael foi adotado pelo governo dos EUA como criptografia de chave simétrica padrão ou Advanced Encryption Standard (AES). A AES foi anunciada pelo Instituto Nacional de Padrões e Tecnologia (NIST) como US FIPS PUB 197 (FIPS 197) em 26 de novembro de 2001, após um processo de padronização de 5 anos em que quinze projetos concorrentes foram apresentados e avaliados antes que Rijndael fosse selecionado como o mais algoritmo de criptografia adequado.

Desempenho do algoritmo de criptografia

Existem muitos algoritmos de criptografia e todos são adequados para finalidades diferentes – as duas principais características que identificam e diferenciam um algoritmo de criptografia de outro são sua capacidade de proteger os dados protegidos contra ataques e sua velocidade e eficiência ao fazê-lo.

Como um bom exemplo da diferença de velocidade entre os diferentes tipos de criptografia, você pode usar o utilitário de benchmarking integrado ao assistente de criação de volume do TrueCrypt – como você pode ver, o AES é de longe o tipo mais rápido de criptografia forte.

imagem

Existem métodos de criptografia mais lentos e mais rápidos e todos são adequados para finalidades diferentes. Se você está simplesmente tentando descriptografar um pequeno pedaço de dados de vez em quando, pode se dar ao luxo de usar a criptografia mais forte possível, ou mesmo criptografá-la duas vezes com diferentes tipos de criptografia. Se você precisa de velocidade, provavelmente gostaria de usar o AES.

Para saber mais sobre benchmarking de diferentes tipos de criptografia, verifique um relatório da Washington University of St. Louis , onde eles fizeram muitos testes em diferentes rotinas e explicaram tudo em um artigo muito geek.

Tipos de criptografia moderna

Todos os algoritmos de criptografia sofisticados de que falamos anteriormente são usados ​​principalmente para dois tipos diferentes de criptografia:

  • Os algoritmos de chave simétrica usam chaves de criptografia idênticas ou relacionadas para criptografia e descriptografia.
  • Algoritmos de chave assimétrica usam chaves diferentes para criptografar e descriptografar – isso geralmente é conhecido como criptografia de chave pública.
Recomendado:  Como criptografar suas mensagens do Facebook com o modo de “conversa secreta”

Criptografia de chave simétrica

Para explicar esse conceito, usaremos a metáfora do serviço postal descrita na Wikipedia para entender como funcionam os algoritmos de chave simétrica.

Alice coloca sua mensagem secreta em uma caixa e tranca a caixa usando um cadeado do qual ela tem uma chave. Ela então envia a caixa para Bob pelo correio. Quando Bob recebe a caixa, ele usa uma cópia idêntica da chave de Alice (que ele obteve de alguma forma anteriormente, talvez por uma reunião cara a cara) para abrir a caixa e ler a mensagem. Bob pode então usar o mesmo cadeado para enviar sua resposta secreta.

symmetric_encryption_diagram

Algoritmos de chave simétrica podem ser divididos em cifras de fluxo e cifras de bloco – cifras de fluxo criptografam os bits da mensagem um de cada vez, e as cifras de bloco pegam vários bits, muitas vezes em blocos de 64 bits por vez, e os criptografam como uma única unidade. Há muitos algoritmos diferentes que você pode escolher – os algoritmos simétricos mais populares e bem respeitados incluem Twofish , Serpent , AES ( Rijndael ), Blowfish , CAST5 , RC4 , TDES e IDEA .

Criptografia Assimétrica

Em um sistema de chave assimétrica, Bob e Alice têm cadeados separados, em vez do único cadeado com várias chaves do exemplo simétrico. Observação: este é, obviamente, um exemplo muito simplificado de como isso realmente funciona, o que é muito mais complicado, mas você terá uma ideia geral.

Primeiro, Alice pede a Bob para enviar seu cadeado aberto para ela pelo correio normal, mantendo a chave para si mesmo. Quando Alice o recebe, ela o usa para trancar uma caixa contendo sua mensagem e envia a caixa trancada para Bob. Bob pode então destrancar a caixa com sua chave e ler a mensagem de Alice. Para responder, Bob deve da mesma forma obter o cadeado aberto de Alice para trancar a caixa antes de enviá-la de volta para ela.

asymmetric_encryption_diagram

A vantagem crítica em um sistema de chave assimétrica é que Bob e Alice nunca precisam enviar uma cópia de suas chaves um para o outro. Isso impede que um terceiro (talvez, no exemplo, um funcionário dos correios corrupto) copie uma chave enquanto ela está em trânsito, permitindo que esse terceiro espione todas as mensagens enviadas entre Alice e Bob. Além disso, se Bob fosse descuidado e permitisse que outra pessoa copiasse sua chave, as mensagens de Alice para Bob seriam comprometidas, mas as mensagens de Alice para outras pessoas permaneceriam secretas, já que as outras pessoas forneceriam cadeados diferentes para Alice usar.

A criptografia assimétrica usa chaves diferentes para criptografar e descriptografar. O destinatário da mensagem cria uma chave privada e uma chave pública. A chave pública é distribuída entre os remetentes da mensagem e eles usam a chave pública para criptografar a mensagem. O destinatário usa sua chave privada para quaisquer mensagens criptografadas que tenham sido criptografadas com a chave pública do destinatário.

Recomendado:  Como acelerar sua unidade de estado sólido realinhando suas partições

Há um grande benefício em fazer criptografia desta forma, em comparação com a criptografia simétrica. Nunca precisamos enviar nada secreto (como nossa chave de criptografia ou senha) por um canal inseguro. Sua chave pública é enviada para o mundo todo – não é segredo e não precisa ser. Sua chave privada pode ficar confortável e confortável em seu computador pessoal, onde você a gerou – ela nunca precisa ser enviada por e-mail em qualquer lugar ou lida por invasores.

Como a criptografia protege a comunicação na web

Por muitos anos, o protocolo SSL ( Secure Sockets Layer ) tem protegido transações da web usando criptografia entre o seu navegador da web e um servidor da web, protegendo você de qualquer pessoa que possa estar bisbilhotando na rede no meio.

O próprio SSL é conceitualmente muito simples. Ele começa quando o navegador solicita uma página segura (geralmente https: //)

O servidor da web envia sua chave pública com seu certificado.

O navegador verifica se o certificado foi emitido por uma parte confiável (geralmente uma CA raiz confiável), se o certificado ainda é válido e se o certificado está relacionado ao site contatado.

O navegador então usa a chave pública para criptografar uma chave de criptografia simétrica aleatória e a envia ao servidor com a URL criptografada necessária, bem como outros dados http criptografados.

O servidor da web descriptografa a chave de criptografia simétrica usando sua chave privada e usa a chave simétrica do navegador para descriptografar seus dados de URL e http.

O servidor da web envia de volta o documento html solicitado e os dados http criptografados com a chave simétrica do navegador. O navegador descriptografa os dados http e o documento html usando a chave simétrica e exibe as informações.

E agora você pode comprar com segurança aquele item do eBay de que realmente não precisava.

Você aprendeu alguma coisa?

Se você chegou até aqui, estamos no final de nossa longa jornada para entender a criptografia e um pouco de como ela funciona – começando com os primeiros dias da criptografia com os gregos e romanos, a ascensão de Lúcifer e, finalmente, como SSL usa criptografia assimétrica e simétrica para ajudá-lo a comprar aquele coelho rosa fofo no eBay.


Somos grandes fãs de criptografia aqui no How-To Geek e abordamos muitas maneiras diferentes de fazer coisas como:

  • Introdução ao TrueCrypt (para proteger seus dados)
  • Adicionar criptografia automática de site ao Firefox
  • O BitLocker To Go criptografa unidades flash portáteis no Windows 7
  • Como proteger seu PC com Linux criptografando seu disco rígido
  • Adicionar opções de criptografar / descriptografar ao menu do botão direito do Windows 7 / Vista
  • Introdução ao TrueCrypt Drive Encryption no Mac OS X

Claro que a criptografia é um tópico muito complicado para realmente explicar tudo. Perdemos algo importante? Sinta-se à vontade para colocar algum conhecimento sobre seus colegas leitores nos comentários.