0Pricing
Cryptology Academy · Aula

GCM e encriptação autenticada

Adicione etiquetas de autenticação à encriptação para impedir adulterações.

GCM e encriptação autenticada é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Boas-vindas

AES-GCM é o padrão-ouro da cifragem autenticada. Ele fornece confidencialidade AND integridade em uma única operação, impedindo adulterações sem uma etapa separada de HMAC.

O problema de usar apenas cifragem

A cifragem fornece confidencialidade, mas NOT integridade. Um invasor que intercepte um texto cifrado AES-CBC pode alterar bits e modificar o texto claro decifrado sem conhecer a chave.

AEAD: cifragem autenticada com dados associados

Os esquemas AEAD produzem: texto cifrado + marca de autenticação. A marca autentica tanto o texto cifrado AND os dados associados não cifrados opcionais (AAD). Qualquer modificação invalida a marca.

Arquitetura do GCM

AES-GCM usa: 1. AES-CTR para cifragem 2. GHASH para autenticação GHASH calcula um MAC polinomial sobre o texto cifrado + AAD usando multiplicação no GF(2^128).

Visão geral do GHASH

GHASH(H, A, C) = resumo de AAD + texto cifrado usando a subchave H = AES(K, 0^128). O polinômio é avaliado em H sobre GF(2^128). O resultado sofre XOR com o contador cifrado para formar a marca.

Entradas e saídas do AES-GCM

Entradas: chave de 128/192/256 bits, valor único de 96 bits, texto claro, AAD opcional Saídas: texto cifrado (com o mesmo comprimento do texto claro), marca de autenticação de 128 bits A marca normalmente tem 16 bytes. Não é recomendado truncá-la para menos de 12 bytes.

Requisitos do valor único no GCM

GCM exige um valor único exclusivo a cada cifragem com a mesma chave. Um valor único aleatório de 96 bits é o padrão. Após 2^32 mensagens, a probabilidade de colisão ultrapassa 1%. Nesse ponto, troque a chave.

Catástrofe da reutilização do valor único no GCM

Reutilizar (chave, valor único) no GCM permite que o invasor recupere a subchave GHASH e falsifique qualquer texto cifrado com uma marca válida. Isso quebra completamente tanto a confidencialidade quanto a integridade.

Casos de uso dos dados associados (AAD)

AAD são metadados que você deseja autenticar, mas não cifrar: - Cabeçalho HTTP: autenticado para impedir ataques ao roteamento de respostas - ID do registro do banco de dados: garante que o texto cifrado seja decifrado na linha correta - Versão do protocolo: impede ataques de rebaixamento

Exemplo completo de AES-GCM em Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(256) nonce = os.urandom(12) aad = b'user_id=12345' aesgcm = AESGCM(key) ct = aesgcm.encrypt(nonce, b'secret', aad) pt = aesgcm.decrypt(nonce, ct, aad) # raises if tampered

Alternativa: ChaCha20-Poly1305

ChaCha20-Poly1305 é o outro grande esquema AEAD. Usado no TLS 1.3 para dispositivos sem AES-NI (ARM/dispositivos móveis). Oferece segurança semelhante à do AES-GCM, mas é mais rápido em programas sem aceleração de hardware.

Verificação rápida

Contra o que a marca de autenticação do AES-GCM protege?

Recapitulação

AES-GCM é a escolha padrão correta para cifragem autenticada. A seguir, estudaremos cifras de fluxo: do RC4 quebrado ao ChaCha20 moderno.

Perguntas Frequentes

A aula “GCM e encriptação autenticada” é grátis?

Sim — o texto completo de “GCM e encriptação autenticada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “GCM e encriptação autenticada”?

Adicione etiquetas de autenticação à encriptação para impedir adulterações. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “GCM e encriptação autenticada”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de cifras de bloco e preenchimento
  2. ECB versus CBC: padrões e IVs
  3. Modo CTR e comportamento de cifras de fluxo
  4. GCM e encriptação autenticada
← Voltar para Cryptology Academy