Logo Lanfrica

ibfaye/xamxam-crypto

Domaine:

digital infrastructure

Type de record:

software
Créateur:
ibf
Hôte:
XamXam Graph cryptographic SDK — FPE FF1 (NIST SP 800-38G) and vaultless tokenization for enterprise data protection. Built in Rust. Made for Africa. # 🔐 xamxam-crypto > **XamXam Graph** — Cryptographic SDK for Enterprise Data Protection > Format-Preserving Encryption (FF1) • Vaultless Tokenization • Made for Africa --- ## 🇸🇳 Pourquoi XamXam Crypto ? **XamXam Crypto** est le SDK open-source de protection des données développé par XamXam Graph, une agence de Data Engineering & Agentic AI basée à Dakar (Sénégal) et Montréal (Canada). Il fournit deux primitives cryptographiques essentielles pour la protection des données au niveau champ : | Module | Description | Usage typique | |---|---|---| | **FPE FF1** | Format-Preserving Encryption (NIST SP 800-38G) | NINA, cartes bancaires, tout identifiant avec contrainte de format | | **Vaultless Tokenization** | Tokenization sans table de correspondance (AES-256-GCM + HKDF) | PII, colonnes de jointure, données analytiques protégées | ### Conformité Réglementaire - 🇸🇳 **CDP Sénégal** (Loi 2008-12, amendements 2024-25) - 🌍 **ECOWAS Act A/SA.1/01/10** sur la protection des données - 🏦 **BCEAO** directives sécurité financière UEMOA - 🇪🇺 **RGPD** (GDPR) - 💳 **PCI DSS 4.0** --- ## 🚀 Installation ```toml [dependencies] xamxam-crypto = "0.1" ``` ## ⚡ Usage Rapide ### FPE FF1 — Chiffrement avec Préservation du Format ```rust use xamxam_crypto::fpe::FpeFf1; let key = [0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C]; let ff1 = FpeFf1::new(&key, b"colonne-nina").unwrap(); // Chiffrer un NINA sénégalais (13 chiffres) let nina = "1985123456789"; let protected = ff1.encrypt(nina, 10).unwrap(); assert_eq!(protected.len(), 13); // Format préservé assert!(protected.chars().all(|c| c.is_ascii_digit())); // Chiffres uniquement // Déchiffrer let recovered = ff1.decrypt(&protected, 10).unwrap(); assert_eq!(recovered, nina); ``` ### Vaultless Tokenization — Tokenization sans Vault ```rust use xamxam_crypto::tokenization::VaultlessTokenizer; let master_key = [0x55; 32]; // Stockée dans un HSM en production let token …