pyffx is a pure Python implementation of Format-preserving, Feistel-based encryption (FFX).
- The FFX Mode of Operation for Format-Preserving Encryption
- Addendum to “The FFX Mode of Operation for Format-Preserving Encryption”
Only method 2 is implemented.
See also libffx
>>> import pyffx
>>> e = pyffx.Integer(b'secret-key', length=4)
>>> e.encrypt(1234)
6103
>>> e.decrypt(6103)
1234
>>> e = pyffx.String(b'secret-key', alphabet='abc', length=6)
>>> e.encrypt('aaabbb')
'acbacc'
>>> e.decrypt('acbacc')
'aaabbb'