Recent content by GT47THY

  1. GT47THY

    Built a format-preserving encryption tool for SA IDs (NIST FF1)—same length, same Luhn, still searchable

    Exactly. You just proved the value idea + spec + validation = the product. Implementation is 5 minutes now. Knowing what to build (NIST 800-38G FF1, BouncyCastle intercop, keep YYMMDDD searchable, recompute Luhn) is the hard part. You used two posts as prompts Thanks for upgrading it to...
  2. GT47THY

    Built a format-preserving encryption tool for SA IDs (NIST FF1)—same length, same Luhn, still searchable

    If vibe coding = ship C# + Python NIST FF1 that keeps Luhn + searchable while random fails, then it is worth it
  3. GT47THY

    Built a format-preserving encryption tool for SA IDs (NIST FF1)—same length, same Luhn, still searchable

    Your code is a competent custom Feistel No security proof—HMAC-SHA256 as a PRF is fine, but the overall construction is unproven No interoperability—it won't decrypt anything produced by any standard tool
  4. GT47THY

    Built a format-preserving encryption tool for SA IDs (NIST FF1)—same length, same Luhn, still searchable

    You're half right—it started as a code test, but a standard test is not this Mine is NIST FF1, deterministic with a tweak—same ID = same token, so FKs still work, searchable via LIKE, and Luhn recomputed so legacy COBOL validation passes. I keep YYMMDD for age queries; I only encrypt the...
  5. GT47THY

    Built a format-preserving encryption tool for SA IDs (NIST FF1)—same length, same Luhn, still searchable

    Hi all—I built POPIA-Format, a C# and Python tool for transforming South African ID-shaped values in test datasets. The use case is legacy test systems that need values with a particular numeric shape, checksum, or consistent joins. Where practical, purpose-built synthetic test data is...
Top
Sign up to the MyBroadband newsletter
X