[cryptography] any info on (format-preserving) random permutation algorithms in java?

travis+ml-rbcryptography at subspacefield.org travis+ml-rbcryptography at subspacefield.org
Mon Mar 18 19:50:24 EDT 2013


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.
I'm so old school that I don't die, I terminate and stay resident.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.randombit.net/pipermail/cryptography/attachments/20130318/b0e7a634/attachment.asc>

More information about the cryptography mailing list