Files
cryptage/README.md
Dom 0883075872 docs: ajout du README avec mode d'emploi et exemples
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 17:41:52 +02:00

5.3 KiB
Raw Blame History

Cryptage — Chiffrement/déchiffrement CSV pour Amadea
Outil en ligne de commande pour chiffrer et déchiffrer les champs Symbolic des exports CSV Amadea.

  • Algorithme : AES-256-GCM (chiffrement authentifié)
  • Gestion des clés : fichier de clé (aléatoire ou dérivé d'un mot de passe via Argon2id)
  • Performance : ~0.14s pour 100 000 lignes × 3 champs
  • Taille : ~740 Ko, aucune dépendance

    Installation
    Copier cryptage.exe sur le poste Windows. Aucune installation requise.

    Utilisation
    1. Générer une clé

Clé aléatoire (recommandé)

 cryptage --generate-key
 
 # Clé dérivée d'un mot de passe
 cryptage --generate-key -p
 
Le fichier cryptage.key est créé à côté de l'exécutable. Ce fichier est secret — sans lui, impossible de déchiffrer les données.
2. Chiffrer
cryptage Input.csv Output.csv
 
3. Déchiffrer
cryptage -d Input.csv Output.csv
 
 
 
4. Options

Option Description
-d Mode déchiffrement
-k chemin Utiliser un fichier de clé spécifique
-p Dériver la clé d'un mot de passe (avec --generate-key)
--generate-key Générer une nouvelle clé
--version Afficher la version
--help Afficher l'aide
 
Exemple avec clé personnalisée :
cryptage -k C:\cles\ma_cle.key Input.csv Output.csv
 cryptage -d -k C:\cles\ma_cle.key Input.csv Output.csv
 
Format CSV
Le séparateur est ; (point-virgule). Le fichier doit respecter cette structure :
- -
Ligne Contenu
1 Noms des colonnes
2 Types des colonnes
3+ Données
 
Seules les colonnes de type ** Symbolic ** sont chiffrées/déchiffrées. Les autres colonnes sont recopiées telles quelles.
Exemple complet
**Fichier d'entrée (**Input.csv ) — données en clair
ID;N_sejour;N_IPP;CP;Age;Tarif
 Integer;Integer;Symbolic;Symbolic;Integer;Real
 1;2422530;879856498;33740;37;2984
 2;2422592;317489412;33680;15;1568
 3;2422985;971433167;33121;74;8974
 
 
 
 
Chiffrement
cryptage Input.csv Encrypted.csv
 
**Résultat (**Encrypted.csv )
ID;N_sejour;N_IPP;CP;Age;Tarif
 Integer;Integer;Symbolic;Symbolic;Integer;Real
 1;2422530;HeqPi34BQRtwn2HpNbQXp+2aXTlD6s2h9JTAquMGqAvWsjhGVA==;xGPx2RbV1oA...;37;2984
 2;2422592;Ig+sAargNQwZ8Usfl56i2KGQCtEzUpRU1oxb38dRzCBb08+P9Q==;5lMQf50RJDT...;15;1568
 3;2422985;1NypB/jH/1BH1dS3UiorHefe+KLWPmMHuSe+38mE1FVMskmxww==;+g11Noa/hSW...;74;8974
 
Les colonnes N_IPP et CP (Symbolic) sont chiffrées en base64. Les colonnes ID, N_sejour, Age et Tarif restent inchangées.
Déchiffrement
cryptage -d Encrypted.csv Decrypted.csv
 
**Résultat (**Decrypted.csv ) — identique à l'original
ID;N_sejour;N_IPP;CP;Age;Tarif
 Integer;Integer;Symbolic;Symbolic;Integer;Real
 1;2422530;879856498;33740;37;2984
 2;2422592;317489412;33680;15;1568
 3;2422985;971433167;33121;74;8974
 
Sécurité
  • AES-256-GCM : chiffrement authentifié (confidentialité + intégrité)
  • Chaque valeur utilise un IV aléatoire unique — chiffrer deux fois la même valeur produit un résultat différent
  • La clé dérivée par mot de passe utilise Argon2id (résistant aux attaques par force brute)
  • Le fichier cryptage.key doit être protégé (droits d'accès restrictifs, ne pas le transmettre par email)

     
     
    Workflow Amadea
    Base Amadea         Input.csv          cryptage.exe         Output.csv         Base Amadea
      (cryptée)     →    (extraction)    →   -d (déchiffre)   →  (en clair)    →   (mise à jour)
      (en clair)    →    (extraction)    →      (chiffre)     →  (chiffré)     →   (mise à jour)