Tag Info

New answers tagged

2

Is this true? Are block ciphers considered to be FPE? Well not exactly . Its something more than block ciphers. Of course block ciphers are integral to FPE. Some times we need to preserve the lengths but some times we need to preserve the lengths of encoded strings. Lets see some examples. Informally, In order to preserve the formats of input data types ...


3

The formal definition of a block cipher is a function $$ E_K(P) := E(K, P): \{0,1\}^k \times \{0,1\}^n \rightarrow \{0,1\}^n $$ The input and output spaces are by definition n-bit blocks, so the operation of the cipher in Electronic Code Book (ECB) mode is technically "format preserving". That is not however what "Format Preserving Encryption" (FPE) ...


2

I explain, criticize and try to improve the technique in the question (which asks for speed by using cryptographic techniques for arguably satisfactory functionality in a statistical simulation). Shuffling, and full-blown Format-Preserving Encryption aim at perfect or demonstrable cryptographic security, a different goal. Under the assumption that the ...


4

Use format-preserving encryption. The current NIST standards-track mode FFX should be sufficiently fast for your purposes. For your domain size, you might also want to try the swap-or-not shuffle, a new construction which is also pretty fast and dead simple to implement. To get the absolute best speed form these schemes you should use a single AES call as ...


1

The theoretically correct random permutation algorithem is IMHO uniquely that of Fisher and Yates [1], which needs for performing a permutation of a sequence of n items n-1 PRNs. I perviously found that a practically fairly passable result could also be achieved with 2 PRNs [2]. [1] D. E. Knuth, The Art of Computer Programming, Vol. 2, 3rd ed. p.145. [2] ...


0

In the decrypting steps use AES_encrypt itself instead of AES_decrypt, AES decrypt is never needed. Remember while encrypting, AES_encrypt is only used as a Pseudo Random Function, we don't really need AES_decrypt method even in decrypting phase. This might seem little confusing at first but not needed. Please check the proof given for this answer


0

DISCLAIMER: any implementation of the following should be reviewed and analyzed before being used in a non-test environment. I have tested an implementation that operates as expected for 32 and 64-bit inputs, but proper round counts have not been determined. Most modern block ciphers already use building blocks that operate on 32-bit integers as they are ...


0

We have designed FNR encryption scheme for this very purpose of preserving lengths and formats of small input fields ( $ 32 <= x < 128$ bits). It uses Naor and Reingold's PWIP extensions to classic fiestel networks. They have proved it to be more secure than classic Feistels. We have made it practical by using invertible matrices rather than working in ...


1

I'm not aware of any implementations, but I'm also not aware of any patents on this algorithm. Furthermore, that algorithm can quite directly be made tweakable, as that paper describes on pages 10-13.



Top 50 recent answers are included