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.




Attachment: pgp2L4SYQycC4.pgp
Description: PGP signature

_______________________________________________
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography

Reply via email to