First is it even possible for someone to recognize that the result was encrypted?
The values all appear to be legitimate, real, non-scrambled values, just as the originals were (only displaced in time) If for some reason they figured out that the numeric values were encrypted, would they even be able to decrypt them to their original values?
Say you wanted to preserve the linkage to people and their birthdates.Birthday is a primary key in a database and you have multiple records for one person.For instance say you encrypt text using the one time pad and you end up with some scrambled text that appears illegible.If you reused the key for multiple times for enough text, someone could potentially crack the message using something like crib-dragging.You want to preserve that the birthdates are not totally randomized so that birthday of each record for same person come to same value. - since you say the result is closer to uniform frequency I'm thinking no.
Yes, that's exactly what format-preserving encryption does.
For details about the Java implementation of the Encrypt operation, see the encrypt method in the // Encrypt a data key // // Replace the fictitious key ID value with a valid key ID, key ARN, or alias of an AWS CMK.
String key Id = "arn:aws:kms:us-west-1122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; Byte Buffer plaintext = Byte Buffer.wrap(new byte); Encrypt Request req = new Encrypt Request()Key Id(key Id)Plaintext(plaintext); Byte Buffer ciphertext = kms.encrypt(req)Ciphertext Blob(); To decrypt an encrypted data key, and then immediately re-encrypt the data key under a different customer master key (CMK), use the Re Encrypt operation.
Well, they'd likely start the same way anyone breaking a simple amateur cipher would — with frequency analysis.
Just looking at the frequence distribution of the dates (assuming there are enough of them) should reveal information about the nature of the encryption; for the simple encryption scheme you describe, the distribution of birthdays by month will look the same as expected, except shifted by some number of months.
For this simple cipher, this will also immediately reveal the key.