Aller au contenu
uencoder

Chiffrer a large file with AES in chunks

Chiffrer files too large for a single AES operation by processing them in chunks with a streaming mode, then decrypt to recover.

  1. 1

    For large files (hundreds of MB or GB), loading everything into memory for a single AES call is impractical. Process the file in fixed-size chunks (e.g. 1 MiB), each with its own IV, and concatenate the ciphertext chunks.

  2. 2
    Chiffreur AES →

    For each chunk: derive the key once (from passphrase), generate a fresh IV per chunk, encrypt, and output IV || ciphertext for that chunk. The key derivation is amortized — do it once.

  3. 3
    Déchiffreur AES →

    To decrypt: for each IV || ciphertext chunk, decrypt with the same key and IV, then concatenate the plaintext chunks in order.

  4. 4
    Encodeur Base64 →

    If the encrypted output must be text-safe (for JSON or email), Base64-encode each chunk or the full ciphertext.

  5. 5

    Use GCM or CTR mode for streaming — they do not require padding and support parallel encryption. Never use ECB. For authenticated streaming, use GCM per chunk or encrypt-then-MAC the whole file.

Questions fréquentes

Why generate a new IV for each chunk?
Reusing an IV with the same key in GCM or CTR mode is catastrophic — it reveals XOR of plaintexts. A fresh random IV per chunk (stored with the ciphertext) prevents this. In CBC, IV reuse leaks the XOR of the first blocks.
How do I verify the decrypted file matches the original?
Calculer a SHA-256 hash of the original before encryption and of the decrypted result. If the hashes match, the round-trip is lossless. For tamper detection, store the hash alongside the ciphertext.

Workflows résolvant cette tâche

Convertir Ascii85 en Base64
Décoder Ascii85 et recoder en Base64 pour une meilleure compatibilité.
PIPELINE
Convertir Base2048 en Base64
Décoder Base2048 (emoji) et recoder en Base64 pour un transport standard.
PIPELINE
Convertir Base32 en Base64
Décoder une chaîne codée en Base32 en bytes et recoder en Base64 pour une représentation plus compacte.
PIPELINE
Convertir Base58 en Base64
Décoder Base58 et recoder en Base64 pour une compatibilité standard.
PIPELINE
Coder en Base64 puis décoder pour vérifier l'aller-retour
Coder le texte en Base64 et le décoder pour vérifier que l'aller-retour préserve les données originales.
PIPELINE
Blowfish chiffrer puis Base64
Chiffrer avec Blowfish puis coder en Base64 pour un transport textuel sûr.
PIPELINE
DES chiffrer puis Base64
Chiffrer avec DES puis coder en Base64 pour compatibilité legacy.
PIPELINE
Coder une charge utile JSON pour transport URL
Préparer un Document JSON pour un Paramètre URL: embellir, Coder en Base64, puis encodage pourcent — le inverse exacte de le chaîne de décodage de paramètres imbriqués.
PIPELINE
AES chiffrer puis coder en Base64
Chiffrer le texte clair avec AES et coder le texte chiffré en Base64 pour un transport textuel sûr.
PIPELINE
Hacher le contenu et coder en Base64
Calculer un hachage de l'entrée et coder le condensat en Base64 pour un transport compact.
PIPELINE
Convertir Hex en Base64
Décoder une chaîne Hex en bytes et la recoder en Base64 pour un transport compact.
PIPELINE
Signer HMAC puis coder en Base64
Générer une signature HMAC puis coder en Base64 pour les en-têtes d'authentification API.
PIPELINE
Coder Morse et transport Base64
Coder le texte en code Morse puis coder en Base64 pour le transport numérique.
PIPELINE
RC4 chiffrer puis Base64
Chiffrer avec RC4 puis coder en Base64 pour transport.
PIPELINE
Hacher RIPEMD-160 puis Base64
Calculer le hash RIPEMD-160 puis coder en Base64 pour transport.
PIPELINE
Mélanger le texte et coder Base64
Mélanger les caractères du texte puis coder en Base64 le résultat.
PIPELINE
Echapper Unicode et coder Base64
Echapper le texte Unicode puis coder en Base64 pour un transport ASCII-safe.
PIPELINE
Coder URL puis double Base64
Coder URL puis coder en Base64 pour un double encodage dans les charges utiles API.
PIPELINE
UUencode puis Base64
Coder le texte en UUencode puis coder en Base64 le resultat pour un double encodage.
PIPELINE
Generer UUID et coder Base64
Generer un UUID et le coder en Base64 pour un stockage compact.
PIPELINE

Outils associés