Public key encryption algorithm for short messages I need to encrypt a high number of short messages (30-200 bytes). The problem with usual algorithms, such as RSA, is that the size of the encrypted message tends to increase a lot, compared to symmetric encryption algorithms.

Ideally, this cryptosystem shoud accomplish:


Asymmetric
Size of the encrypted message must be at most 25% longer than the original
Should be fast encryption and decryption
It's not a problem if, after some work, some messages are decrypted
But private key must not be found so easily
It would ve good if it's a known algorithm with solid implementations in most common languages


The only solution I found until now is using RSA with short keys (64 bits), but I wonder what a better approach could be.
Using RSA with short keys is a bad idea since it would make the encryption less secure. 

The standard way to use asymmetric encryption is to only use the asymmetric encryption algorithm to encrypt a symmetric encryption key and then use that key to do the actual communication. In this case you only get the message overhead of the asymmetric encryption scheme once which can then be amortized over many small messages.

Is there any reason you can not use this approach in your application?