Your credit card number is 16 digits. The database that stores it is also 16 digits wide. A classic cipher like AES would turn those 16 digits into a 16-byte binary blob — the schema would break, the legacy validation rules would reject it, and every system downstream would need updating.
Format-preserving encryption (FPE) solves this with a neat trick: it encrypts a string and returns a ciphertext in the exact same format — same alphabet, same length. Encrypt a 16-digit number and you get back a 16-digit number. Encrypt a 9-character uppercase string and you get back a 9-character uppercase string.
This is not just cosmetic convenience. Entire payment, healthcare, and government pipelines handle fixed-width fields. FPE lets you bolt encryption onto those pipelines without touching the schema, the application code, or the downstream validators.
The key question is: how do you build a provably secure block cipher over an arbitrary alphabet of size (called the radix) and an arbitrary message length ? That is the algorithmic puzzle at the heart of FPE.
Comments
Loading comments...