I hadn't really looked at what it might take to host it on SourceForge. Would you like to help with the setup?
Inconsistency in FF1 implementation
If you're performing operations that are within the range of the FF1 implementation, then I agree that you should use it rather than the FF1Parameters implementation for FFX. The FF1Parameters implementation demonstrates that it is possible to implement FF1 on FFX, but it's certainly not as well vetted as the NIST-approved FF1 algorithm. I'll close the ticket as you suggest. I'm curious what you're using FF1 for, though. FPE generally makes sense when you're forced into using a specific radix and...
The issue here is a subtle. FF1 is defined to use exactly ten rounds (i.e. iterations of the Feistel structure). FFX relies on the parameters to specify the number of rounds, and the FF1Parameters are hard coded to use ten rounds to match the FF1 specification. However, FFX also specifies lower bounds on the number of rounds to avoid known attacks. The lower bounds are specified at the bottom of p. 4 in The FFX Mode of Operation for Format-Preserving Encryption with some further discussion in Appendix...
Thanks for posting the issue and the source code. I'll take a look at it as soon as I get a chance, but it might be a couple of weeks.
Corrected parameters for NIST FF1 Sample #6.
rearrange code for build
Refactored from Android to POJO for standalone use.
BUG IFX
Thanks for getting in touch. Yes, there's a bug, but it might not be what you thing it is. For the radix array { 6, 10, 10 }, the input array { 6, 4, 7 } is actually invalid. As described in the documentation, the input array X is "a plaintext vector of length(W) integers such that 0 ≤ X[i] < W[i]," where W is the radix array. In this case, the value of X[0] is equal to the value of W[0], which is out of the permitted range. In fact, you should have gotten an exception for the inputs you provided,...
Fixed a bug that allowed input with elements of X equal to the corresponding radix in W.
When I looked for a site to host this project, it looked like SourceForge was the...
I'm not aware of any patents on the FFX, A2, A10, FF1 or FF3 algorithms, but if there...
Added experimental IFX method of format-preserv...
New release with implementation of FFX and the ...
Clean build, clean javadocs.
First push to bitbucket.