Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

I would like to encrypt a string asymmetrically.
I would like the ciphertext to be as short as as plaintext. (or shorter)

I've read about format preserving encryption functions - are there asymmetric variants of them?

share|improve this question
2  
I think this will answer your question security.stackexchange.com/a/26127/5882 –  mikeazo Jul 10 '13 at 14:47
    
Your only bet is to always have very much redundancy in the plaintext. This way, if you compress the plaintext, you'll be (possibly) able to produce shorter ciphertext. You'll never be able to produce information theoretically shorter ciphertext, and the comment above by mikeazo is a good pointer to explanation why you should expect ciphertext to be always somewhat longer. –  user4982 Oct 1 '13 at 15:35

1 Answer 1

Yes, in fact there is at least one length-preserving asymmetric encryption scheme. It's deterministic, though, so there are some security tradeoffs that come with it. It's described in the paper "Deterministic and Efficiently Searchable Encryption" by Boldyreva et al. Look for "RSA-DOAEP".

share|improve this answer
    
Thanks for the reference. The paper is by Mihir Bellare so it possibly is on to something. Then again, "The plaintext space PtSp(k) consists of all strings of length at least max(k1, 2k0+1).", according to this the encryption will produce in some cases longer bitstring than plaintext input (well, pigeonhole principle predicts that already). Overall, it seems that RSA-DOAEP is not much in use (Bellare's OAEP is much more used), and that there are some risks when using RSA with rarely tried schemes and some known issues using RSA without padding so maybe better try another idea. –  user4982 Oct 1 '13 at 16:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.