A criptografia é a ciência de proteger informações através da transformação de dados legíveis em um formato ilegível, chamado de texto cifrado, que só pode ser revertido por quem possui a chave adequada. É um pilar fundamental da segurança da informação, garantindo confidencialidade, integridade e autenticidade dos dados.

Nesta aula, exploraremos os quatro pilares da criptografia moderna: criptografia simétrica, assimétrica, funções hash e certificados digitais. Cada um tem características e aplicações específicas, e juntos formam a base de protocolos como TLS, HTTPS e assinaturas digitais.

Criptografia Simétrica

A criptografia simétrica utiliza a mesma chave tanto para cifrar quanto para decifrar a mensagem. É como uma fechadura que abre com a mesma chave que a trancou. É rápida e eficiente para grandes volumes de dados, mas o desafio é o compartilhamento seguro da chave entre as partes.

Exemplos de algoritmos simétricos incluem AES (Advanced Encryption Standard), que é o padrão atual, e o DES (Data Encryption Standard), considerado obsoleto. O AES suporta chaves de 128, 192 ou 256 bits. O processo de cifra envolve a aplicação de operações matemáticas como substituição, permutação e XOR, repetidas em rodadas.

Exemplo de uso: Ao acessar um site HTTPS, a conexão inicial usa criptografia assimétrica para trocar uma chave de sessão, que então é usada em criptografia simétrica para o restante da comunicação.

Exemplo conceitual:
Mensagem original: "Segurança"
Chave: "K7x9pQ"
Cifra AES: "a1b2c3d4e5f6..." (dados cifrados)
Decifra com a mesma chave: "Segurança"

Criptografia Assimétrica

A criptografia assimétrica utiliza um par de chaves: uma pública e uma privada. A chave pública é compartilhada abertamente, enquanto a privada é mantida em segredo. Dados cifrados com a chave pública só podem ser decifrados com a chave privada correspondente, e vice-versa. Isso resolve o problema de distribuição de chaves da criptografia simétrica.

Os algoritmos mais comuns são RSA (Rivest-Shamir-Adleman), baseado na dificuldade de fatorar números grandes, e ECC (Elliptic Curve Cryptography), que oferece segurança equivalente com chaves menores. A criptografia assimétrica é computacionalmente mais lenta, por isso é usada para cifrar pequenas quantidades de dados, como chaves de sessão.

Exemplo: Alice quer enviar uma mensagem secreta para Bob. Ela obtém a chave pública de Bob, cifra a mensagem e envia. Somente Bob, com sua chave privada, pode decifrá-la.

Chave pública de Bob: (n, e)
Chave privada de Bob: (n, d)
Alice cifra: c = m^e mod n
Bob decifra: m = c^d mod n

Hash

Funções hash são algoritmos que transformam uma entrada de qualquer tamanho em uma saída de tamanho fixo, chamada de hash ou resumo. São funções unidirecionais: é computacionalmente inviável reverter o hash para obter a mensagem original. Propriedades importantes: determinismo, rapidez de cálculo, resistência a colisões (dois inputs diferentes não devem gerar o mesmo hash) e efeito avalanche (pequena mudança na entrada altera drasticamente o hash).

Usos comuns: verificação de integridade de arquivos, armazenamento de senhas (com salt), assinaturas digitais e identificação de dados. Exemplos: SHA-256 (Secure Hash Algorithm 256 bits) e MD5 (obsoleto, inseguro).

Entrada: "Segurança"
SHA-256: 6b88c087247aa2f07ee1c9316b0e6a7e9e6b7a8b9c0d1e2f3a4b5c6d7e8f9a0b

Certificados Digitais

Certificados digitais são documentos eletrônicos que associam uma chave pública a uma identidade (pessoa, servidor, empresa). Eles são emitidos por Autoridades Certificadoras (CAs) confiáveis e seguem o padrão X.509. Um certificado contém informações como nome do titular, chave pública, validade, emissor e assinatura digital da CA.

O processo de validação: quando você acessa um site HTTPS, o servidor envia seu certificado. Seu navegador verifica a assinatura da CA, a validade e se o nome do site corresponde. Se tudo estiver correto, a conexão é estabelecida com segurança. Certificados digitais são a base da Infraestrutura de Chave Pública (PKI).

Exemplo de campos de um certificado:
- Versão: 3
- Número de série: 123456789
- Algoritmo de assinatura: sha256WithRSAEncryption
- Emissor: CA = VeriSign, O = VeriSign, Inc.
- Validade: De 01/01/2024 a 01/01/2025
- Titular: CN = www.exemplo.com
- Chave pública: RSA 2048 bits
- Assinatura: [dados cifrados pela CA]

Boas Práticas e Observações Finais

A criptografia é uma ferramenta poderosa, mas não é uma solução mágica. É importante usar algoritmos modernos e seguros (evitar DES, MD5, SHA-1), gerenciar chaves adequadamente, usar salts para hashes de senhas e manter certificados atualizados. Além disso, a segurança de um sistema depende de todos os seus componentes: a criptografia deve ser combinada com outras medidas de segurança.

Referências

Exercícios

  1. Explique a principal diferença entre criptografia simétrica e assimétrica.
  2. ✓ Resposta: A criptografia simétrica usa a mesma chave para cifrar e decifrar, enquanto a assimétrica usa um par de chaves (pública e privada). A simétrica é mais rápida, mas tem o problema de distribuição de chaves; a assimétrica resolve esse problema, mas é mais lenta.
  3. Por que funções hash são consideradas unidirecionais?
  4. ✓ Resposta: Porque é computacionalmente inviável reverter o hash para obter a entrada original. As funções hash são projetadas para serem fáceis de calcular em uma direção, mas extremamente difíceis de inverter, devido à perda de informação e à complexidade matemática.
  5. Qual o papel de uma Autoridade Certificadora (CA) em um certificado digital?
  6. ✓ Resposta: A CA é uma entidade confiável que emite certificados digitais, atestando a identidade do titular. Ela assina digitalmente o certificado com sua chave privada, permitindo que terceiros verifiquem a autenticidade do certificado usando a chave pública da CA.
  7. Cite duas propriedades importantes de uma função hash segura.
  8. ✓ Resposta: Resistência a colisões (é difícil encontrar duas entradas diferentes que gerem o mesmo hash) e efeito avalanche (uma pequena mudança na entrada produz um hash drasticamente diferente).
  9. Em um cenário de comunicação segura, explique como a criptografia simétrica e assimétrica podem ser combinadas.
  10. ✓ Resposta: Em protocolos como TLS, a criptografia assimétrica é usada para trocar uma chave de sessão (simétrica) de forma segura. Após a troca, a comunicação utiliza criptografia simétrica, que é mais rápida, para cifrar os dados da sessão. Isso combina a segurança da distribuição de chaves assimétrica com a eficiência da simétrica.