Thank your for your feedback.
Crypt::CBC with just about any back end (incl, say, Crypt::Rijndael)
Wouldn't that be Symmetric-key encryption
, and not asymmetric encryption
as the title suggests?
Why do you want this? It seriously weakens the encryption. Maybe what you really need is a hashing algorithm.
I realize it weakens the encryption. The question is how much
My motivation is similar to the one described here:
One primary motivation for the use of deterministic encryption is the efficient searching of encrypted data. Suppose a client wants to outsource a database to a possibly untrusted database service provider. If each entry is encrypted using a public-key cryptosystem, anyone can add to the database, and only the distinguished "receiver" who has the secret key can decrypt the database entries.
- I want to let anyone (any authorized local user) add to a database. E.g. add(encrypt("A")).
- I want the same users to see if a specific entry has been previously added. E.g. exists(encrypt("A")). This is where the deterministic requirement comes from.
- I will only let users in possession of a secret key decrypt the data.
- The secret key must not be stored on the server offering the services above.
If I understand it correctly, the 4 above requirements can only be accomplished using deterministic asymmetric encryption.
No matter how great and destructive your problems may seem now, remember, you've probably only seen the tip of them.