Re: Datatype-preserving encryption



David Wagner wrote:
Dilbertarian wrote:

Is there any de facto standard for datatype-preserving encryption,
or at least some perspective ?

The purpose is that the output of the encryption process consists
of bytes belonging to the *same* alphabet as the clear data.


How about just translating the input alphabet to bits, encrypting the
bits, then translating the encrypted bits to the desired output alphabet?
The translations can be unkeyed and do not need to be secure. That should
be pretty straightforward, I think.

It's not quite that simple. If the data-->bitstring transformation is not onto, the encryption may produce a bitstring that does not correspond to any "data".
This pops up several times a year in comp.lang.java.security, where someone takes byte[] aa=someString.getBytes(), applies byte[] bb=encrypt(aa), then does String cc=new String(bb) and wonders why cc.getBytes() has different content from bb. The Java documentation now points out what has always been true, that new String(bb) is not defined if the byte[] is not a valid encoding of a String using the default (or specified) encoding system.

--Mike Amling
.



Relevant Pages

  • Re: Homophones
    ... >> interest to classical encryption. ... > has anyone considered the effect of not using a typical alphabet at ... Not enough phonetics to really cause a problem ... Can't remember the album title at the moment. ...
    (sci.crypt)
  • Re: Data Compression Before or After Encryption ?
    ... With 'unique data character' a mean a letter of the alphabet;) ... It doesn't really matter how much bits the letter takes for statistics;) ... encryption and after encryption:)) ...
    (sci.crypt)
  • Re: Datatype-preserving encryption
    ... The purpose is that the output of the encryption process consists ... of bytes belonging to the *same* alphabet as the clear data. ... How about just translating the input alphabet to bits, ...
    (sci.crypt)
  • Re: reversing the Mod operator
    ... The encryption works by shifting the alphabet a certain number of steps, for example using a shift of +1 would turn "BAR" into "CBS". ... To decrypt ... instructions said "Your program should read a four-digit Integer entered by the user and encrypt it as follows: Replace each digit by modulo 10. ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Datatype-preserving encryption
    ... The purpose is that the output of the encryption process consists ... How about just translating the input alphabet to bits, ... I see no bitstring operations? ... is man only a blunder of God, or God only a blunder of man? ...
    (sci.crypt)