Format-preserving encryption (FPE) refers to encrypting in such a way that the output has the same length as the input, or otherwise has the same format or structure as the input.

learn more… | top users | synonyms

3
votes
1answer
213 views

How can AES + cycle walking be used as an FPE?

I'm a bit confused after reading several articles that seem to provide conflicting information. Basically I was wondering if AES by itself can be used as an FPE? And if so is this something ...
5
votes
1answer
47 views

State of the art low memory arbitrary-domain PRP?

I am wondering what the state of the art is on low memory arbitrary-domain PRPs. That is, I'm looking for an algorithm that implements bijective function $PRP : \mathbb{Z}_n \times \{0, 1\}^b ...
1
vote
0answers
44 views

Format Preserving Encryption FF1 Samples

NIST published methods for Format-Preserving Encryption and there is a link in the document giving examples for FF1 methods. I am confused by the value of R given in the examples. $R$ is the output ...
1
vote
1answer
69 views

Encrypting a string as smaller pieces vs. encrypting it as a whole

Is there any difference between these two ways to encrypt a string using FPE? Say the string has the format is specified by this rule First part is in the set $S = ...
0
votes
0answers
50 views

Lightest symmetric, fixed key, “Format preserving Encryption” algorithm?

message m = 49 bit string key k = any format but fixed Ciphertexts should be 49 bits long. Are there several "Format Preserving Encryption" algorithms? I want an algorithm that is as light as ...
-3
votes
1answer
52 views

Format preserving encryption

Can format preserving encryption be used for any other applications than Credit card, pan card or social security numbers? If, could you provide a few examples for my further research on the topic?
1
vote
1answer
30 views

Is this the correct procedure for cycle walking using an FPE?

To encrypt a value from a set (say a range of years from 1001 to 2001) Rank the set {0 = 1001, 1 = 1002, 2 = 1003...999 = 2001} Take the value you want to encrypt from the set (year = 1995) and ...
0
votes
1answer
64 views

Can BPS be used to encrypt a single integer, and restrict the output to a certain range?

As per specifications document, "We have the natural restriction that at least two characters must be ciphered, i.e. $b \geq 2$" where each character is represented by an integer of certain ...
3
votes
2answers
143 views

Best modern cipher for morse code?

I am looking for a modern cipher to encode morse code, ie. input is [A-Z 0-9] (base36 as I learned in the comments below) and output is the same, one character at a ...
21
votes
2answers
1k views

Selective format-compliant JPEG encryption?

I am working towards building a format-compliant encryption system for pictures. The aim of it is to be able to obscure specific areas of a picture (i.e. faces, car license numbers...) while keeping ...
1
vote
1answer
122 views

Algorithm to transform plaintext to a key of desired keysize, when using input plaintext as key for FPE?

Using a format preserving encryption scheme that uses AES internally as its block cipher, for a plaintext that I encrypt I want to use that input plaintext as the key. However using AES-128, my ...
0
votes
0answers
29 views

Is a timing side channel attack effective when the leaked information is related to the result of a hash?

I'm writing a function to act as a cryptographic hash of a number within a range that returns another number of the same range. The catch is that the result needs to have certain properties. I run a ...
1
vote
0answers
78 views

Encrypting a 160-bit plaintext into a 160 bit ciphertext with a 128-bit Block Cipher [closed]

So I have a kind of interesting issue. I have a field in my data store which must take exactly 160 bits of information. Some users will choose to make this data encrypted, some won't, so some of those ...
1
vote
1answer
140 views

How to use AES correctly in BPS Format Preserving Encryption

I have several questions on using AES 128bit in the BPS format preserving encryption Which modes are acceptable? (Should the block cipher used at each round be deterministic (ECB) or probabilistic ...
1
vote
1answer
161 views

Is there a way to encrypt an integer within an arbitrary range?

I need an algorithm that can take an integer, an arbitrary range, a key of 16/24/32 bytes, and an initialization vector of 16 bytes(ideally), and return an integer in the same range. My latest attempt ...
2
votes
1answer
100 views

Why is the tweak length 64bit in BPS FPE algorithm?

In the algorithm for BPS Format Preserving Encryption Is this tweak always the same length (64bit)? Why did they choose the length 64bit for the tweak?
5
votes
4answers
910 views

Encryption algorithm that produces dummy output on incorrect passwords

Background: I've been thinking about using encryption in the context of backing up files to untrusted locations (to the point of making the file publicly and widely distributed for practically ...
2
votes
1answer
34 views

What are the number of output bits of the internal function F used in BPS algorithm?

In the BPS specification document it says We denote by f the number of output bits of the internal function F What is this if the internal function is AES? Would it be the block size (e.g. 128)? ...
9
votes
3answers
1k views

Is there an encryption format that preserves length and only outputs alphanumerics?

I'm trying to design a promo code system for a server app I'm designing. Basically, I generate a promo code for a certain item and give the code out to someone, who then types it into the server. ...
13
votes
3answers
2k views

Can you create a strong blockcipher with small blocksize, given a strong blockcipher of conventional blocksize?

Suppose I want a strong 20-bit blockcipher. In other words, I want a function that takes a key (suppose the key is 128 bits), and implements a permutation from 20 bits to 20 bits. The set of ...
4
votes
1answer
257 views

Using a hash (like SHA-256) vs AES as the source for pseudo-random values in Feistel network?

This question is in relation to Wikipedia article on Format Preserving Encryption It says the following It is also possible to make a FPE algorithm using a Feistel network. A Feistel network ...
1
vote
0answers
49 views

Concepts for realization in applied cryptography [closed]

I'm a computer science student (not a mathematican) and I'm gonna to write a master degree diploma on applied cryptography. Specifically, I'd like to create a realization of some cryptographic stuff ...
1
vote
2answers
44 views

Validate per round rather than cycle-walking in FPE

I was thinking about FPE specifically for numbers, CC, phone, SS #, etc. and I thought of some small "optimization" that could be implemented. Can I validate the string length after each round in the ...
2
votes
2answers
747 views

How to encrypt dates using format preserving encryption and avoid collisions

I'm encrypting with an FPE algorithm in C#. What I did is convert the date I want to encrypt to the day of year value and a year value like so. ...
0
votes
0answers
24 views

How to change radix in FFX

http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-spec.pdf tells me that radix should be an arbitrary input determined by the user. However, I do not understand how this ...
1
vote
0answers
52 views

FFX Encryption over alphabet of arbitrary radix

I understand how standard numeric FPE using a halved string in cycled Feistel networks is constructed and operates. I then read the paper regarding FFX encryption which should allow for any non-binary ...
1
vote
1answer
146 views

SPI security of FE1 scheme

I have a question about security of FE1(Page 16-18) in paper "format preserving encryption". Can anyone explain me, why we are allowed to replace PRF with random function in security proof? And also, ...
6
votes
6answers
3k views

Relative security of a Vigenère cipher

Within a closed computer network, I am ciphering some plaintext data as an added security measure. This is below several other layers of protection. For various technical reasons, I am restricted to ...
2
votes
1answer
129 views

security in format preserving encryption

In format preserving encryption an attacker knows the format and data type of the plain text. The format of the plain text and cipher text are same. usually cipher text are unreadable form. then how ...
2
votes
1answer
110 views

Defining format-preserving encryption for natural language

Assume we have plaintext in natural language. Can we use format-preserving encryption in such a way that the produced ciphertext cannot be distinguished from natural language?
1
vote
2answers
187 views

Integer encryption preserving equality

I have read too many different options for encryption that I now feel quite lost. I need a simple, secure (don't we all) scheme for encrypting integers (32-bit) with the following requirements: ...
1
vote
1answer
68 views

What is a good way to handle longer strings using FPE?

While experimenting with this FPE based on FE1 http://botan.randombit.net/manual/fpe.html (well actually a port of it in C#) I found when the string length gets too long (number of characters N) ...
2
votes
1answer
127 views

Format preserving encryption FFX

In FFX mode the format of the ciphertext is same as plaintext. How does it ensure data integrity and authentication? Is there any bit flip attack in FFX mode? Is it malleable?
0
votes
1answer
77 views

How to select a 'tweak' used in FE1 mode format preserving encryption?

I'm experimenting with this library Botan which includes a module for format preserving encryption based on FE1 mode. The parameters for the Encrypt method are as follows ...
0
votes
1answer
245 views

Super-simple encryption of short strings

I want to anonymise the initials of experiment participants by giving each a pseudonymic set of initials, by encrypting their true initials. Their initials are only two or three letters in length. ...
3
votes
2answers
138 views

Coding of unsigned int to prevent guessing next ID

Suppose we are assigning records an unsigned integer ID from a N-bit space (say 32-bit) in a sequential manner. Is there a way we can code this ID before showing it to the public such that someone ...
4
votes
1answer
294 views

Is there a format preserving cryptographically secure hash?

I want a way to 'scramble' strings (like words, names) in a predictable way but I don't ever want to (myself or anyone else) be able to 'unscramble' the strings. I found that perhaps what I am ...
2
votes
1answer
151 views

Is format preserving encryption suitable for use with words or names?

Is it possible to use FPE to encrypt names and language words like 'Bob' 'the' 'tree', in order to preserve both length and format (like keeping characters within a certain range like A-Z a-z) The ...
1
vote
1answer
282 views

Recover plaintext from truncated ciphertext using AES for FPE

I am trying to implement an FPE for a 19-digit long number. I am trying to follow the lecture of Prof. Dan Boneh and here is how I understand it: Get the nearest power of two greater than $10^{19} ...
7
votes
3answers
578 views

What is the most computationally efficient way of generating pseudo-random permutations?

I have an application in which I need to create up to J randomly shuffled-copies of an array of length N. Then I will have millions or even billions of iterations such that, in each iteration, I will ...
0
votes
2answers
322 views

Are all block ciphers FPE (format preserving encryption)?

A FPE preserves the format. There is a correspondence between the format of the ciphertext and the plaintext. Given that a message in some binary enconded format can easily be divded in some ...
2
votes
3answers
1k views

Format Preserving Encryption for 32 or 64 bit plaintext values

I am looking for a Format Preserving Encryption implementation to apply to either a 32-bit or a 64-bit integer. It looks like AES/FFX mode is just what I need in terms of established security ...
3
votes
1answer
325 views

Is it possible to generate a secure permutation F over 32-bit integers even if F(0) … F(n) is public knowledge?

I'm currently interested in the problem of generating random-looking URLs from sequential database IDs, like how they do it in link shorteners. One way to do this is to encrypt the sequential database ...
4
votes
1answer
90 views

Statistical tests for pseudorandom permutations

I'm implementing a format-preserving encryption scheme similar to those described in the literature. I want to sanity test my PRP using some statistical tests like TestU01. However, I'm not sure how ...
4
votes
1answer
112 views

OTT service using FPE

Would it be possible to create an Over-The-Top communication utility that will encrypt voice using format preserving encryption (voice clear-text to audio encrypted stream) and send that over an ...
2
votes
0answers
92 views

how to truncate a PRF on n bits to PRF on t bits where t < n? [closed]

Dan Boneh's courersa lecture on format preserving encryption at 5.50 mins , talks about truncating a PRF on $n$ bits to PRF on $t$ bits. The approach is by appending $(n-t)$ zeros to input $t$ bits ...
4
votes
3answers
1k views

What algorithm would give the shortest ciphertext for very short plaintexts?

I have to encrypt some very short messages (approx. 5 characters) and I would like the ciphertext to be as short as possible. I am currently using AES but the initialization vector (IV) is making my ...
4
votes
2answers
302 views

Authenticated encryption without padding

I want to encrypt data and protect its integrity and confidentiality. However, I cannot increase the length of the data. Are there any cipher modes of operation which provide confidentiality and ...
3
votes
2answers
816 views

Is there a length-preserving encryption scheme?

Is there a length-preserving encryption scheme, that preserves the lengths of input sizes such that the length of the input plain text is same as length of the output cipher text ?
4
votes
3answers
652 views

Can I create a fixed length output from a fixed length input?

I use AES256 for various purposes in my app. However, the purpose I am now trying to achieve is the following: Input is for example AU00000001 and I would like a ...