I want to generate a small 30 or 32 bit PRP. I am going to use that PRP in an open web service and anyone will be able to get any number of plaintext-cyphertext pairs.

I've found an algorithm called FastPRP and the problem statement fits my requirements perfectly. However the performance seems quite low for 30-32 bit range. I need a high-performant point evaluations for both PRP and an inverse PRP.

Are there any 32-bit PRP algorithms (less secure probably) that allow a faster point evaluations?

  • $\begingroup$ In the recent past I experimented with AES modified to remove the shiftrows operation, and a custom key schedule, that turned it into a 4-way parallel block cipher with hardware acceleration $\endgroup$ Sep 23, 2015 at 0:17
  • $\begingroup$ Related: crypto.stackexchange.com/questions/6349/… $\endgroup$
    – otus
    Sep 23, 2015 at 6:32

1 Answer 1


If you need a 32 bit PRP, might I suggest the Speck cipher? It isn't greatly secure (with a 32 bit block size, the only option is a 64 bit key, which isn't great), however it's extremely fast.

  • $\begingroup$ Thank you. I will use Speck for alfa testing because it's quite fast and simple. 48-bit version is also a nice option in case i need a bigger domain. $\endgroup$
    – voidmaster
    Sep 23, 2015 at 20:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.