O que é criptografia e por que é importante?

Muitos protocolos de comunicação usam criptografia para garantir que sua conexão seja segura. Entender o que a criptografia realmente faz e por que é importante para todos é uma boa ideia, então você sabe do que ela pode protegê-lo e do que não pode.

A criptografia é um processo matemático de embaralhamento de dados usando uma cifra de criptografia e uma chave de criptografia. Os dados criptografados ou o texto cifrado só podem ser descriptografados de volta à sua forma original de “texto simples” por meio do uso de uma chave de descriptografia.

Com um bom algoritmo de criptografia, o texto cifrado deve ser indistinguível do ruído aleatório ou de valores sem sentido. Isso torna impossível dizer se os dados ainda são um texto cifrado ou apenas ruído. Esse design torna significativamente mais difícil analisar o texto cifrado na tentativa de descriptografá-lo sem a necessidade da chave de descriptografia por meio de um processo denominado criptoanálise.

Dica: o ruído é uma estática de fundo aleatória, assim como a neve ou estática vista em algumas TVs antigas quando não têm sinal.

Simétrico vs assimétrico

Para algumas classes de algoritmos de criptografia, a chave de descriptografia será igual à chave de criptografia, em outras as duas chaves são diferentes. Quando a chave de descriptografia é igual à chave de criptografia, ela é conhecida como criptografia simétrica. Nesse caso, a chave de criptografia pode ser considerada uma senha e qualquer pessoa com a senha pode criptografar ou descriptografar os dados. O AES é um bom exemplo de algoritmo de criptografia simétrico, pois um de seus usos é para proteger comunicações HTTPS na Internet.

Dica: HTTPS ou Hypertext Transfer Protocol Secure, é o principal protocolo de comunicação criptografado usado na Internet.

A criptografia assimétrica usa uma criptografia separada e uma chave de descriptografia, também é comumente referida como criptografia de chave pública. A chave de criptografia é conhecida como chave pública e é publicada para qualquer pessoa usar para criptografar dados. A chave de descriptografia, entretanto, é conhecida como chave privada e, como o nome sugere, é mantida privada.

Essa forma de criptografia pode ser usada para garantir que apenas o destinatário pretendido possa descriptografar e ler a mensagem criptografada. Um exemplo comum de algoritmo de criptografia de chave pública é RSA. RSA também é comumente usado em conexões HTTPS, mas apenas para que os dois computadores possam concordar com segurança em uma chave de criptografia simétrica a ser usada.

Dica: Os algoritmos de criptografia assimétricos são mais lentos para usar do que os simétricos que fornecem níveis de segurança semelhantes. Portanto, a criptografia assimétrica é usada apenas para concordar com uma chave de criptografia simétrica em protocolos que requerem velocidade e eficiência, como HTTPS.

Dica: uma coisa que HTTPS não faz é garantir que você está se conectando ao site que pretendia. O que ele faz é garantir que você está conectando o site que inseriu na barra de pesquisa. Se você cometeu um erro de digitação e acidentalmente acessou exanple.com em vez de example.com, HTTPS confirmará que você está conectado com segurança a exanple.com. HTTPS apenas verifica se sua conexão com o servidor da web é segura. HTTPS também não significa que o site ao qual você está se conectando não contém vírus ou outro software malicioso.

Níveis de segurança

A segurança de um algoritmo de criptografia é medida em bits. Os bits de segurança referem-se ao tamanho da chave de criptografia usada e, portanto, à dificuldade de adivinhá-la. Infelizmente, não é possível comparar diretamente a segurança de algoritmos simétricos e assimétricos desta forma.

Algoritmos de criptografia simétricos, como AES, precisam usar pelo menos uma chave de criptografia de 128 bits para serem considerados seguros, embora uma chave de 256 bits seja recomendada. Algoritmos assimétricos precisam usar pelo menos uma chave de 2048 bits para serem considerados seguros.

Uma chave de criptografia de 256 bits tem 2 ^ 256 combinações possíveis, ou seja, dois multiplicados por si mesmo 256 vezes. Escrito por extenso, existem: 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 possíveis combinações de uma chave de criptografia de 256 bits. Este número é tão grande que é quase igual ao número de átomos que os cientistas prevêem que existam no universo visível.

É incompreensivelmente difícil adivinhar corretamente a chave necessária para descriptografar os dados criptografados com uma chave de 256 bits. Mesmo se você tivesse acesso dedicado aos supercomputadores mais rápidos e séculos de tempo, ainda seria estatisticamente improvável de adivinhar a chave de descriptografia.

Por que isso é importante?

Ao fazer login em um site, você envia seu nome de usuário e senha, ou seus dados bancários. Esses detalhes são privados e confidenciais; se outra pessoa os tiver, eles podem acessar suas contas, se passar por você, roubar dinheiro e muito mais.

Ao usar o protocolo HTTP de texto simples, qualquer pessoa na rede entre você e o servidor da web pode interceptar e ler as comunicações que você envia e recebe. Isso inclui suas senhas e outros detalhes confidenciais. Outros usuários em sua rede doméstica, seu ISP e outros usuários em quaisquer pontos de acesso Wi-Fi públicos aos quais você se conecte podem estar em posição de realizar esse tipo de ataque.

Se você usa HTTPS protege as comunicações de e para o servidor da web, seus dados são criptografados e não podem ser lidos por ninguém. Essa criptografia manterá suas senhas e outros dados privados seguros ao navegar na Internet.

A criptografia não é importante apenas para dados privados ou confidenciais; também é uma ferramenta de privacidade útil. Por exemplo, pode impedir o seu ISP de bisbilhotar os seus hábitos de navegação na web.

Criptografar o máximo possível de suas comunicações torna menos óbvio onde os dados confidenciais estão ocultos que os invasores podem querer tentar roubar. Como tal, é geralmente recomendado que você use criptografia sempre que possível para proteger tudo o que você faz.

Com hardware moderno e algoritmos de criptografia, a criptografia adiciona apenas um atraso imperceptível, então você não precisa se preocupar com a redução da velocidade de sua conexão com a Internet.