0Pricing
Cryptology Academy · Aula

Criptografando arquivos com AES na prática

Utilize OpenSSL e Python para criptografar e descriptografar arquivos reais com AES

Criptografando arquivos com AES na prática é 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

A teoria encontra a prática. Nesta lição, criptografaremos e descriptografaremos arquivos reais usando AES-GCM em Python, o modo recomendado para criptografia autenticada.

Por que AES-GCM?

AES-GCM fornece criptografia autenticada com dados associados (AEAD). Ele criptografa AND produz uma etiqueta de autenticação de 16 bytes. Qualquer adulteração é detectada antes da descriptografia.

Componentes do AES-GCM

Entradas: chave de 32 bytes, valor aleatório de 12 bytes, texto simples e dados associados opcionais (AAD). Saídas: texto cifrado e etiqueta de autenticação de 16 bytes. O valor usado deve ser exclusivo em cada criptografia.

Instalar a biblioteca cryptography

pip install cryptography A biblioteca Python cryptography da PyCA é a biblioteca de criptografia recomendada. Ela encapsula o OpenSSL e fornece tanto receitas de alto nível quanto primitivas hazmat de baixo nível.

Criptografar com AES-GCM em Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(bit_length=256) nonce = os.urandom(12) aad = b'file_version_1' aesgcm = AESGCM(key) ciphertext = aesgcm.encrypt(nonce, plaintext, aad)

Descriptografar com AES-GCM em Python

try: plaintext = aesgcm.decrypt(nonce, ciphertext, aad) except Exception: print('Decryption failed — tampered or wrong key') Se a verificação da etiqueta falhar, a função de descriptografia gera uma exceção. Nunca ignore essa exceção.

Fluxo de trabalho para criptografia de arquivos

with open('input.bin', 'rb') as f: plaintext = f.read() ciphertext_with_tag = aesgcm.encrypt(nonce, plaintext, None) # Store: nonce (12 bytes) + ciphertext_with_tag with open('output.enc', 'wb') as f: f.write(nonce + ciphertext_with_tag)

Fluxo de trabalho para descriptografia de arquivos

with open('output.enc', 'rb') as f: data = f.read() nonce = data[:12] ciphertext_with_tag = data[12:] plaintext = aesgcm.decrypt(nonce, ciphertext_with_tag, None)

Gerenciamento de valores únicos

Um valor aleatório de 12 bytes com AES-GCM é seguro para até 2^32 criptografias com a mesma chave, antes que a probabilidade de colisão se torne relevante. Depois disso, troque a chave.

Usar o OpenSSL na linha de comando

# Encrypt: openssl enc -aes-256-cbc -pbkdf2 -in plain.txt -out encrypted.bin # Decrypt: openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out plain.txt Observação: modo CBC — adicione a opção -GCM para criptografia autenticada nas versões mais recentes do OpenSSL.

Práticas recomendadas para armazenamento de chaves

Nunca insira chaves diretamente no código-fonte. Use variáveis de ambiente, AWS KMS, HashiCorp Vault ou o chaveiro do OS. Troque as chaves regularmente. Revogue as chaves quando integrantes da equipe deixarem a organização.

Verificação rápida

O que acontece quando o AES-GCM detecta que o texto cifrado foi adulterado?

Recapitulação

Agora você pode criptografar arquivos com AES-GCM em Python. Em seguida, passaremos à criptografia assimétrica e aprenderemos RSA desde os fundamentos.

Perguntas Frequentes

A aula “Criptografando arquivos com AES na prática” é grátis?

Sim — o texto completo de “Criptografando arquivos com AES na prática” é 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 “Criptografando arquivos com AES na prática”?

Utilize OpenSSL e Python para criptografar e descriptografar arquivos reais com AES 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 “Criptografando arquivos com AES na prática”?

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. Conceitos de criptografia simétrica
  2. Estrutura do AES: rodadas e matriz de estado
  3. Expansão de chaves e tamanhos de chave do AES
  4. Criptografando arquivos com AES na prática
← Voltar para Cryptology Academy