Enzo Michelangeli wrote: >...one-way encryption algorithms guaranteed to be injective (i.e., >deterministically collision-free)?
Every encryption algorithm is injective, otherwise decryption would be ambiguous. In other words, if x and x' are two different plaintexts, then E_k(x) != E_k(x'). >I'm looking for algorithms where every piece of code and data is public, >thus excluding conventional enciphering with a secret key. Ok, in that case, use a public-key encryption algorithm. Same deal. And, if you want to ensure that E_k(x) != E_k'(x') whenever (k,x) != (k',x'), define E_k(x) = (k, EE_k(x)) where EE is some public-key encryption algorithm; EE_k(x) denotes the result of encrypting plaintext x under public key k. It can't hurt security to include the public key in the ciphertext. --------------------------------------------------------------------- The Cryptography Mailing List Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]