Cursos

[Noticias][grids]

O que é criptografia e como funciona?

 

Você provavelmente já viu o termo “ criptografia ” usado em toda a Internet. Então o que é? Pode ser a tecnologia mais importante que temos. A maioria das medidas de segurança digital, tudo, desde navegação segura a e-mail seguro, depende disso. Sem criptografia, não teríamos privacidade.

O que é criptografia?

Se você escrever algo importante, particular ou delicado, pode se preocupar se outra pessoa vai ler. Se você precisa dar a um mensageiro para levar para outra pessoa, o risco de pessoas erradas lerem essa mensagem aumenta. A criptografia altera a composição de uma mensagem ou dados para que apenas as pessoas que sabem como retorná-los à sua forma original possam lê-los. Para qualquer outra pessoa, ele aparecerá como um jargão ou uma coleção sem sentido de caracteres e símbolos.

O Scytale

Desde os primeiros tempos, as pessoas têm usado diferentes técnicas para impedir que qualquer pessoa, exceto o destinatário pretendido, leia mensagens privadas. Os antigos gregos enrolavam uma tira de pergaminho em uma espiral apertada em torno de uma haste de madeira chamada scytale. Eles escreveram sua mensagem ao longo do comprimento da haste, sobre o pergaminho embrulhado.

Desenrolado, a escrita no pergaminho não fazia sentido. Um mensageiro entregaria o pergaminho ao destinatário, que leria a mensagem em particular, depois de embrulhá-lo em seu próprio conto de fadas correspondente. Esta é uma forma de cifra de transposição.

É uma técnica primitiva, mas contém elementos que você encontrará em sistemas modernos de criptografia. Tanto o remetente quanto o destinatário devem saber com antecedência qual é o esquema de criptografia e como usá-lo. E ambos precisam de mecanismos de correspondência para fazer isso.

O quadrado de Políbio

Outro método usado pelos antigos gregos usava um quadrado de Políbio. Era uma grade de letras de cinco por cinco ou seis por seis. Uma letra era referenciada por suas coordenadas, como os navios de guerra do jogo. A primeira letra na primeira linha foi codificada como “ 11 ”, a quarta letra na segunda linha seria escrita como “ 42 ” e assim por diante.

Publicidade

Claro, existem muitas maneiras de preencher a grade com letras. A menos que você conheça o layout das letras, a descriptografia é difícil. Isso permite que você configure um esquema com vários quadrados com layouts diferentes. Você pode criar sete quadrados e usar um quadrado diferente para cada dia da semana, por exemplo. Esquemas que usam vários alfabetos são chamados de cifras polialfabéticas.

Um quadrado Polybius é uma forma de código. Um código substitui outras letras por outros caracteres, neste exemplo, dígitos. Cifras substituem letras por outras letras.

Cifra de César

Júlio César deu seu nome à Cifra de César. Isso usa um deslocamento — ou “ rotação ” — para selecionar uma letra a uma distância definida da letra que você &’ está codificando novamente. Se você estava usando um deslocamento de dois, “ A ” seria escrito como “ C ” e “ D ” seria escrito como “ F. ” O destinatário deve saber o deslocamento correto a ser usado para decifrar a mensagem, subtraindo o deslocamento das cartas que recebeu.

Uma Cifra de César com um deslocamento de 13 — conhecido como “ rotação 13 ” ou ROT13 — possui uma qualidade especial. Existem 26 letras no alfabeto inglês padrão e 13 se dividem em 26 exatamente duas vezes. Com esse deslocamento, para decifrar algo, você pode colocá-lo novamente no processo de codificação. A cifragem duas vezes leva você de volta ao texto original.

 Simples: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM 

Se você escolher as letras “ GEEK ” no alfabeto superior e observe as letras correspondentes no alfabeto inferior, você obterá “ TRRX ”. Se você fizer isso novamente com “ TRRX ” no alfabeto superior, você obterá as letras “ GEEK ” do alfabeto inferior.

Publicidade

Em termos de programação, isso simplifica as coisas porque você só precisa escrever uma rotina de codificação. Não há necessidade de uma rotina de decifração. É por isso que escrever uma implementação ROT13 é um exercício comum para pessoas que estão aprendendo a programar. ROT13 também é comumente apresentado como um exemplo de criptografia muito pobre e de baixo grau.

Você pode experimentar por si mesmo com este mecanismo ROT13 online. Tente inserir “ Alaska Nynfxn ” em seguida, colocando a saída de volta como entrada.

Então, o que é criptografia?

Todos os exemplos que cobrimos aqui são fáceis de decifrar, mas ilustram um elemento comum que é compartilhado entre todos eles e entre todas as formas de criptografia. Há um conjunto de regras a seguir para converter seus dados originais, chamado de “ texto simples ”, na versão criptografada, conhecida como texto cifrado. Esse conjunto de regras é um algoritmo. E isso é criptografia.

São algoritmos de privacidade.

Como funciona a criptografia?

Bakhtiar Zein / Shutterstock. com

Assim como a Grécia antiga, uma pessoa na era digital que deseja armazenar ou enviar dados privados enfrenta desafios. O que você pode fazer para impedir que pessoas não autorizadas acessem os dados? E o que pode ser feito para torná-lo seguro?

Todos os sistemas antigos poderiam ser superados com o conhecimento do sistema de criptografia. Use a haste do mesmo diâmetro e a mensagem scytale torna-se legível. A Cifra de César pode ser quebrada tentando diferentes deslocamentos na primeira parte da mensagem. Você só tem 25 para tentar, no máximo.

RELACIONADOO RSA acaba de ser destruído por um matemático alemão aposentado?

Os quadrados Polybius representam um desafio maior porque o layout das letras dentro do quadrado é imprevisível. Se você sabe qual é o layout do quadrado, não é nem mesmo um desafio. Se você não tem ideia do layout do quadrado, pode tentar decifrar a mensagem estudando o próprio texto cifrado. Isso é chamado de criptoanálise.

Publicidade

Com uma cifra simples, você pode usar recursos como tabelas de frequência de letras para descobrir qual letra do texto cifrado representa qual letra do texto simples. Um esquema de criptografia seguro precisa ser seguro, não importa quem sabe sobre a mecânica do esquema, e o texto cifrado deve resistir a ataques de criptoanálise.

Não caracteres, bits

Esquemas digitais robustos não funcionam em letras e caracteres um de cada vez como as cifras seriais. Eles trabalham com os dados um pedaço de cada vez e são chamados de cifras de bloco.

Eles manipulam os bits — todos aqueles uns e zeros — dentro de cada bloco de acordo com as regras de complicadas transformações matemáticas embutidas nos algoritmos de criptografia. Se um algoritmo usar um tamanho de bloco de 128 bits, ele percorrerá os dados em blocos de 128 bits. Se o último fragmento a ser processado for menor que 128 bits, ele será preenchido com 128 bits.

Existem muitos esquemas de criptografia de bloco disponíveis. O Advanced Encryption Standard (AES) é o padrão de criptografia oficial do governo dos Estados Unidos. Diferentes esquemas de criptografia usam diferentes algoritmos e diferentes comprimentos de bloco e fazem uso de diferentes combinações de transformações matemáticas.

RELACIONADO: O que é "criptografia de nível militar"?

Isso parece muito completo, mas como evitamos que uma pessoa não autorizada use o mesmo esquema de criptografia para descriptografar nossos dados criptografados?

Strings hash

Veremos um caso especial primeiro. É possível criptografar dados usando uma transformação unilateral. Esta é a própria antítese de ROT13 porque o texto cifrado resultante não pode ser revertido para texto simples. Mais precisamente, ele não pode ser descriptografado em um período de tempo prático. Esse tipo de criptografia é usado em funções de hash em que uma string de texto simples é convertida em uma string de texto cifrado, chamada de string hash ou hash. Todas as strings hash têm o mesmo comprimento.

Publicidade

Como isso é útil? Bem, um site seguro não armazenará sua senha em texto simples. Sua senha é hash e a string hash é armazenada. Sua senha nunca é mantida. Na próxima vez que você fizer login e inserir sua senha, ela será hash e a string hash é comparada com a string hash armazenada nos detalhes da sua conta. Se eles corresponderem, você pode entrar. Se você inserir uma senha incorreta, as duas sequências de hash não corresponderão e você não terá permissão para entrar.

Isso permite que o site use autenticação sem ter que armazenar as senhas em uma forma exposta. Se eles forem hackeados, nenhuma das senhas será comprometida. As técnicas de hash também podem adicionar dados únicos e aleatórios, chamados de salt, às senhas antes do hash. Isso significa que todos os hashes são únicos, mesmo que dois ou mais usuários tenham escolhido a mesma senha.

Discos rígidos criptografados

Para evitar que pessoas não autorizadas descriptografem os dados, é usada uma chave que identifica quem os criptografou e quem pode descriptografá-los. Uma chave é uma longa sequência de bytes gerada por um algoritmo complexo. Eles normalmente variam em tamanho de 128 bytes a 2.048 bytes ou mais. A chave é usada pelo algoritmo de criptografia ao criptografar o texto simples. O tamanho da chave é independente do tamanho do bloco.

Para proteger os dados armazenados localmente, discos rígidos inteiros podem ser criptografados. A criptografia está ligada à identidade de login do usuário e a chave é gerada automaticamente e aplicada automaticamente. O usuário não tem nenhuma interação direta com a chave, e a chave nunca precisa ser enviada a ninguém.

Como a chave está ligada à identidade de login do usuário, remover o disco rígido do computador e conectá-lo a outro computador não permitirá o acesso aos dados. Este tipo de proteção protege os dados estáticos ou “ em repouso. ”

Publicidade

Se seus dados devem ser transmitidos, você precisa considerar como os protegerá “ em trânsito. ”

Sites seguros

Quando você se conecta a um site e vê um cadeado na barra de endereço, sabe que está conectado a um site seguro, certo? Bem, mais ou menos. Na verdade, isso significa que a conexão entre seu computador e o site é criptografada usando criptografia SSL / TSL.

RELATEDComo os certificados SSL protegem a web?

Isso é bom, mas não verifica a segurança do restante do site. O site pode armazenar senhas em texto simples e usar uma senha de administrador padrão no banco de dados. Mas pelo menos se você vir o cadeado, sabe que sua comunicação com o site é criptografada.

Essa criptografia é possível porque seu navegador e o site usam o mesmo esquema de criptografia com várias chaves. No início de uma sessão de conexão, seu navegador e o site trocam chaves públicas. Uma chave pública pode descriptografar algo que foi criptografado com uma chave privada.

Seu navegador e o site trocam suas chaves públicas e, em seguida, criptografam usando suas chaves privadas. Como cada extremidade da conexão tem a chave pública da outra extremidade, cada extremidade pode descriptografar as informações que recebem da outra extremidade. As chaves privadas nunca precisam ser expostas.

Liberar uma chave pública é seguro. Uma chave pública não pode ser usada para criptografar dados de maneira fraudulenta. Portanto, embora você receba uma cópia da chave pública de um site, não pode se passar pelo site original porque não possui a chave privada. Isso levanta a questão da autenticidade. Como você sabe que o site é o proprietário genuíno do par de chaves pública e privada, e não um site imitador que de alguma forma roubou as duas chaves do site original?

Os certificados são usados ​​para verificar a identidade de sites. Estes são emitidos pelas autoridades de certificação, uma vez que tenham verificado a identidade do requerente. O site envia o certificado como parte do handshake no início de uma sessão de conexão para que o navegador da web possa validar o certificado.

Publicidade

Ele faz isso entrando em contato com a autoridade de certificação e descriptografando algumas informações do certificado. Isso requer ainda mais chaves. Seu navegador possui chaves públicas das principais autoridades de certificação como parte de seu pacote de instalação. E ainda há mais chaves envolvidas. Além de trocar chaves públicas, seu navegador e o site criam chaves de sessão exclusivas para proteger ainda mais suas comunicações.

Depois que seu navegador verificar a autenticidade do site e a força da criptografia, ele coloca o cadeado na barra de endereço.

RELACIONADO: Como ativar a "Navegação segura aprimorada" no Google Chrome

Email seguro

O conceito de chaves públicas e privadas surge repetidamente na criptografia. Um método comum de proteger e-mails em trânsito usa pares de chaves públicas e privadas. As chaves públicas podem ser trocadas com segurança, as chaves privadas não são compartilhadas. As mensagens são criptografadas com a chave privada do remetente. O destinatário pode usar a chave pública do remetente para descriptografar e ler. Eles podem usar sua própria chave privada para criptografar uma resposta.

OpenPGP é um esquema de criptografia bem conhecido que segue este modelo, com uma diferença.

O cliente de e-mail do remetente gera uma chave aleatória. Isso é usado para criptografar a mensagem de e-mail. A chave aleatória é então criptografada com a chave pública do destinatário. A mensagem criptografada e a chave aleatória criptografada são enviadas ao destinatário. O programa de e-mail do destinatário usa sua chave privada para descriptografar a chave aleatória que é usada para descriptografar a mensagem.

O objetivo da etapa extra é permitir que um e-mail seja enviado com segurança para vários destinatários. Seu cliente de e-mail não precisa criptografar todo o e-mail separadamente para cada destinatário, apenas a chave aleatória.

RELACIONADOComo usar criptografia OpenPGP para e-mails no Thunderbird

Obviamente, os sistemas de e-mail seguros também enfrentam a questão da autenticidade. Você tem que confiar na chave pública que foi enviada a você. As chaves estão vinculadas a endereços de e-mail. Receber a chave pública do endereço de e-mail com o qual você estará conversando é um bom primeiro passo. A maioria dos clientes de e-mail pode mostrar o endereço de e-mail associado a uma chave pública.

Publicidade

Outro método de verificar a autenticidade de uma chave pública é obtê-la de um repositório. As chaves públicas enviadas aos repositórios são verificadas pelo repositório antes de serem tornadas públicas.

A criptografia sustenta nossas vidas digitais

Pelo menos, a criptografia sustenta nossa vida digital se estivermos fazendo certo. Evite conexões remotas não seguras de qualquer tipo (seja trabalho remoto ou compra on-line), use clientes de e-mail capazes de criptografar mensagens privadas e use aplicativos de mensagens com criptografia de ponta a ponta.

Lbhe cevinpl vf vzcbegnag, hfr gur nccebcevngr gbbyf gb fnsrthneq vg. Como César poderia ter dito.

RELACIONADO: o que é criptografia de ponta a ponta e por que isso é importante?