Criptografia: o que é e para que serve

Introdução

Proteger informações é uma necessidade antiga da humanidade, mas que ganhou força com o surgimento da computação e, mais tarde, da internet. A criptografia atende a essa necessidade. Esse é o nome dado às técnicas que "embaralham" dados de forma a evitar que eles sejam acessados por terceiros.

Mas como a criptografia funciona? Quais tipos existem? E o que são chaves criptográficas? Você encontrará as respostas nas próximas linhas.

Links diretos:

- O que é criptografia?
- O que são chaves criptográficas?
- O que é chave simétrica?
- Criptografia DES
- Criptografia AES
- Criptografia IDEA
- Criptografia RC (Ron's Code ou Rivest Cipher)A
- O que é chave assimétrica (ou chave pública)?
- RSA
- DSS
- PGP

O que é criptografia?

Criptografia é o nome dado às técnicas que codificam informações de modo que somente a origem (emissor) e o destino (receptor) possam conhecê-las, evitando que o seu conteúdo seja revelado em caso de interceptação.

O termo criptografia tem origem na combinação das palavras gregas "kryptós" e "gráphein", que significam "oculto" e "escrever", respectivamente. Com base nisso, "escrever de modo oculto" é uma interpretação possível para esse combinação.

Na computação, há várias técnicas criptográficas. Cada uma é baseada em algoritmos que seguem modelos matemáticos específicos. Em comum, todas têm o mesmo objetivo: permitir que dados sejam codificados. Esse tipo de ação também pode ser chamado de cifrar ou criptografar.

Uma técnica de criptografia também deve permitir que a informação criptografada seja revelada. Essa ação pode ser chamada de decodificar, decifrar, descriptografar ou decriptografar.

O que é criptografia? — imagem ilustrativa: Kalhh/PxHere
O que é criptografia? — imagem ilustrativa: Kalhh/PxHere

Tomemos como exemplo a seguinte palavra:

  • Infowester

Submetida a um algoritmo de criptografia, a mesma palavra ficou assim:

  • 3sY3dp2ifXfIG+/wBy5FZ5CEa96hF4Mfye3k2dRhh2w=

Note que essa sequência de caracteres oculta a palavra original (Infowester). Porém, qualquer pessoa que tiver acesso ao mecanismo que gerou o texto criptografado poderá usá-lo para revelar a informação ocultada.

Muitos especialistas no assunto defendem que a criptografia deve atender a pelo menos três objetivos:

  • Confidencialidade: a criptografia deve proteger o sigilo da informação, mesmo quando ela é interceptada durante a transmissão ou capturada em seu local de armazenamento;
  • Integridade: a criptografia deve garantir a precisão da informação protegida, ou seja, esta não pode ser corrompida ou adulterada por causa da cifragem;
  • Autenticidade: o emissor e o receptor da informação devem ser capazes de identificar um ao outro, de modo a evitar o acesso não autorizado a ela.

Podemos complementar o último objetivo com o fator de não repúdio, que estabelece que origem e destino não podem negar a intenção de criar ou receber a informação protegida via criptografia.

O que são chaves criptográficas?

As técnicas de criptografia mais conhecidas envolvem o conceito de chaves criptográficas. Trata-se de um conjunto de bits baseado em um algoritmo capaz de codificar e decodificar informações. Se o receptor usar uma chave incompatível com a chave do emissor da informação, não conseguirá ter acesso a ela.

Chaves são importantes porque são condizentes com o objetivo da autenticidade. Para termos uma noção clara disso, basta levarmos em conta que métodos criptográficos simples usam apenas um algoritmo de codificação. Isso pode ser ruim porque, se um intruso tiver acesso a esse algoritmo, poderá decifrar a informação criptografada.

Com o uso de chaves, o emissor pode usar o mesmo algoritmo (o mesmo método) para vários receptores. Basta que cada um receba uma chave diferente. Além disso, caso um receptor perca ou exponha a sua chave, é possível trocá-la, sem que o algoritmo tenha que ser modificado para isso.

Chaves criptográficas têm tamanho distintos. Talvez você já tenha ouvido falar de chave de 128 bits, 1.024 bits ou 2.048 bits, por exemplo. Quanto maior a quantidade de bits de uma chave, em tese, mais segura é a proteção proporcionada por ela.

Não é difícil entender o motivo. Uma chave de apenas 8 bits, por exemplo, indica que somente 256 chaves poderão ser usadas na decodificação, pois 2 elevado a 8 é 256.

Isso deixa claro que uma chave de 8 bits é insegura, pois até uma pessoa pode gerar as 256 combinações possíveis (apesar de essa atividade ser trabalhosa).

Porém, se o mecanismo de criptografia trabalhar com 128 bits ou mais para as chaves, teremos uma quantidade extremamente grande de combinações (digite 2 ^ 128 no Google para ver o resultado de 2 elevado a 128). Isso deixa a informação criptografada mais protegida.

O conceito não termina aí. Também é importante sabermos que há dois tipos de chaves criptográficas: simétricas e assimétricas. Vamos conhecer cada uma delas a seguir.

Chave criptográfica
Chave criptográfica

O que é chave simétrica?

Chave simétrica é aquela na qual tanto o emissor quanto o receptor fazem uso da mesma chave criptográfica. Isso significa que uma única chave é usada tanto na criptografia quanto na descriptografia da informação.

Normalmente, chaves simétricas têm implementação mais simples e, na comparação com chaves assimétricas (abordadas mais abaixo), demandam menos capacidade de processamento. Por esse motivo, soluções baseadas em criptografia simétrica são relativamente baratas.

Além do custo baixo, chaves simétricas têm como vantagem um nível satisfatório de autenticidade, pois não é possível decriptografar os dados protegidos com outra chave do tipo. Se origem e destino guardarem cuidadosamente a chave que compartilham, um lado terá certeza de que está se comunicando com o outro.

Mas chaves simétricas também oferecem desvantagens. Para começar, pode ser necessário o uso de uma grande quantidade delas quando houver muitas pessoas ou organizações envolvidas na troca de dados protegidos.

Além disso, se a chave cair em "mãos erradas" por algum motivo, terceiros poderão ter acesso às informações cifradas. Com isso, o aspecto da confidencialidade deixa de ser respeitado.

Há vários tipos de chave simétrica. Vamos conhecer alguns nas próximas linhas.

Criptografia DES

Desenvolvido pela IBM em 1977, a criptografia DES (Data Encryption Standard) trabalha com chaves de 56 bits. Isso corresponde a 72 quatrilhões de combinações.

Trata-se de um número absurdamente alto, mas não para um computador potente. Em 1997, esse algoritmo foi quebrado por técnicas de força bruta (tentativa e erro).

O padrão DES chegou a ser adotado pelo Departamento de Defesa dos Estados Unidos, ainda nos anos 1970. Mas, por ter sido considerado "fraco" com o passar do tempo, perdeu espaço para outros tipos de criptografia simétrica, com destaque para o padrão AES.

Criptografia AES

Sigla para Advanced Encryption Standard e tendo como base o padrão Rijndael, o AES é um dos tipos de criptografia simétrica mais conhecidos. O mecanismo pode trabalhar com chaves de 128, 192 e 256 bits, também conhecidas como AES-128, AES-192 e AES-256.

O AES foi apresentado pelo National Institute of Standards and Technology (NIST), nos Estados Unidos, em 1998. O padrão surgiu para substituir a criptografia DES, tendo sido oficialmente adotado pelo governo americano em 2002. A partir daí, o mecanismo se popularizou no mundo todo.

Criptografia IDEA

O padrão IDEA (International Data Encryption Algorithm) foi desenvolvido por James Massey e Xuejia Lai, em 1991. Originalmente conhecido pela sigla IPES, esse tipo de criptografia tem uma estrutura parecida com a do padrão DES, mas suporta chaves de 128 bits, entre outras pequenas distinções.

O seu projeto levou em consideração uma implementação em software mais fácil em relação ao padrão DES.

Criptografia RC (Ron's Code ou Rivest Cipher)

Criado por Ron Rivest na empresa RSA Data Security, o RC (sigla para Ron's Code ou Rivest Cipher) ganhou certa popularidade em serviços de e-mail, e faz uso de chaves que vão de 8 a 1.024 bits.

O padrão possui várias versões: RC2, RC4, RC5 e RC6 (o RC1 não chegou a ter as especificações publicadas; o RC3 não é relevante por ter sido quebrado).

A primeira versão usável (RC2) foi apresentada em 1987. As demais versões foram apresentadas nos anos seguintes, até chegar a 1997, quando o RC6 surgiu.

Cada versão difere da outra em parâmetros como velocidade de encriptação e tamanho das chaves criptográficas, que chegam a 2.048 bits.

* * *

Entre os demais padrões de encriptação simétrica estão o 3DES (versão melhorada do DES que combina três chaves de 56 bits), o Blowfish (com chaves entre 32 e 448 bits) e o Twofish (variante mais avançada do Blowfish).

O que é chave assimétrica (ou chave pública)?

A chave assimétrica é uma técnica baseada não em uma, mas em duas chaves: a privada e a pública. O emissor deve criar uma chave de codificação e enviá-la ao receptor. Essa é a chave pública. A outra chave deve ser criada para a decodificação. Esta, a chave privada, é secreta.

Para facilitar a compreensão, imagine que o Infowester criou uma chave pública e a enviou a várias pessoas. Quando uma delas quiser transmitir uma informação criptografada ao Infowester, deverá usar, para isso, a chave pública disponibilizada pelo site.

Quando o Infowester receber a informação criptografada, apenas poderá extraí-la usando a chave privada, que só o site tem.

Agora, se Infowester quiser enviar uma informação criptografada a uma dessas pessoas, deverá fazer isso por meio da chave pública fornecida por ela.

A chave pública é assim chamada por estar disponível a qualquer pessoa ou entidade. Mas, quando a informação é criptografada por meio dessa chave, somente a sua correspondente chave privada, que é mantida em sigilo, pode fazer a decriptografia.

Por causa dessa dinâmica, o conceito de chave assimétrica pode ser simplesmente chamado de chave pública. A técnica é bastante utilizada em operações que requerem que uma ou ambas as partes sejam autenticadas ou para assegurar a integridade dos dados.

Um exemplo muito interessante de aplicação baseada em chaves públicas é a certificação digital. Trata-se de um mecanismo que permite provar que um documento eletrônico foi emitido por determinada organização ou pessoa física.

O receptor da informação usa a chave pública fornecida pelo emissor para se certificar da origem. Além disso, a chave fica integrada ao documento de forma que qualquer alteração feita por terceiros a invalide.

Chave assimétrica (ou chave pública)
Chave assimétrica (ou chave pública)

Assim como a modalidade simétrica, a criptografia de chave assimétrica conta com vários padrões ou implementações. A seguir, alguns exemplos.

RSA

Sigla para Rivest–Shamir–Adleman, o padrão RSA recebe esse nome por ter sido criado pelo trio Ron Rivest, Adi Shamir e Len Adleman, em 1997, no MIT (Massachusetts Institute of Technology). Esse sistema assimétrico é baseado no chamado "problema de fatoração".

Explicando de modo simplificado, a lógica do RSA é esta: dois números primos (aqueles que só podem ser divididos por 1 e por eles mesmos) são multiplicados para gerar um terceiro valor. Porém, descobrir os dois primeiros números a partir do terceiro (ou seja, fazer uma fatoração) é um processo muito trabalhoso.

Se dois números primos grandes (realmente grandes) forem usados na multiplicação, só será possível descobri-los com muito processamento, tanto que essa tarefa se torna praticamente inviável.

Basicamente, a chave privada do RSA são os números multiplicados. Já a chave pública é o valor obtido nessa operação.

Por ser considerado muito seguro, o RSA é um sistema criptográfico assimétrico bastante popular.

DSS

DSS é a sigla para Digital Signature Standard. Trata-se de um padrão introduzido pelo National Institute of Standards and Technology (NIST), em 1994, para autenticação de documentos eletrônicos.

O DSS não é um mecanismo de cifragem de arquivos em si, mas um sistema de assinatura digital — uma forma de assinar documentos digitalmente de modo que estes tenham o mesmo efeito de autenticidade de uma assinatura física (à caneta).

A assinatura digital é gerada por meio de um outro mecanismo, o DSA (Digital Signature Algorithm), em conjunto com uma chave privada. A verificação desta última, por sua vez, é feita com base em sua correspondente chave pública.

Sistemas baseados em DSS também trabalham com um mecanismo de hash criptográfico (recurso também presente na criptografia RSA). Esse é um tipo de algoritmo baseado em um modelo matemático que transforma um bloco de dados em uma sequência fixa de caracteres.

A menor mudança no bloco de dados alterará a sequência resultante. Assim, uma tentativa de fraudar a assinatura digital gerará um hash diferente, fazendo a autenticação não funcionar.

PGP

PGP é a sigla para Pretty Good Privacy (em tradução livre, Privacidade Muito Boa). Trata-se de uma solução de criptografia baseada em chave pública criada por Phil Zimmermann, em 1991.

Na época, a intenção de Zimmermann foi a de contribuir com a liberdade individual. Isso porque ele previu que o uso do computação aumentaria exponencialmente nos anos seguintes (como, de fato, aumentou) e que o direito à privacidade deveria ser mantido nesse meio.

Por ser disponibilizado de forma gratuita, o PGP acabou se tornando uma ferramenta de criptografia muito popular, principalmente na troca de e-mails.

Essa popularidade também serviu para a empresa responsável pelo PGP ser vendida para a Symantec, em 2010. Mas isso não tirou a relevância do mecanismo. Há projetos com código-fonte aberto que mantêm o PGP "bem vivo", com destaque para o OpenPGP e o GnuPG.

No PGP, pelo menos dois tipos de chaves assimétricas podem ser usados: o já abordado RSA e o Diffie-Hellman, que é aplicado principalmente em trocas seguras de chaves.

* * *

Serviram de referência para este texto:

Veja também:

Publicado em 20_11_2022. Atualizado em 30_11_2022.

Emerson Alecrim Autor: Emerson Alecrim
Graduado em ciência da computação, tem experiência profissional em TI e produz conteúdo sobre tecnologia desde 2001. É especializado em temas como hardware, sistema operacionais, dispositivos móveis, internet e negócios.
Principais redes sociais: • X/TwitterLinkedIn