Hi, So, my problem is to create a format-preserving injective function which is non-invertible (at least computationally).
Since it's format preserving, it has to be a bijection, I'm guessing that basically boils down to a (computationally strong?) random permutation, for a domain of size =/= 2^n. Most generally, there's the trivial "build a big table" approach, which can be done with HWRNG or a simple CSPRNG seed. But it's O(n^2) I believe, which could be slow, and the table is big (not so much for a seed). More specifically, I suppose there's FPEs, but they don't have desired irreversible properties, and I'm not as familiar with them, so I don't know if their level of security is high enough. Is there anything else? Hashes unfortunately are neither format-preserving nor injective. I'm wondering if there's any building blocks out there I could use in common java crypto libraries, if there's literature if I wanted to roll my own, or if I should just stick with the simple, safe, but somewhat inelegant approach. -- http://www.subspacefield.org/~travis/ I'm so old school that I don't die, I terminate and stay resident.
pgp2L4SYQycC4.pgp
Description: PGP signature
_______________________________________________ cryptography mailing list cryptography@randombit.net http://lists.randombit.net/mailman/listinfo/cryptography