Is there an asymmetric algorithm that can perform double encryption? I'm looking for any asymmetric algorithm can perform the serial encryption, by serial I mean double or more encryption with different key (same key size). RSA can not do it since the cipher of the first encryption is to long to perform an other encryption with the same key length.

For example (from Yao, Yang &amp; Xiong 2015):


  We use $C = {\{ m\} _y}$ to denote encryption of a plaintext $m$ with a public key $y$. In addition, we use ${\{ m\} _{{y_{1}}:{y_{N}}}}$ to denote a serial of encryptions under multiple public keys, i.e., \begin{equation}{\{ m\} _{{y_1}:{y_{N}}}} = {\{ \ldots{\{ {\{ m\} _{{y_N}}}\} _{{y_{N - 1}}}}\ldots\} _{{y_1}}}.\end{equation}
No. ​ For semantic security, the encryption of a known plaintext with a given key must be overwhelmingly likely to have high entropy so for most plaintexts and keys, there must be lots of possible encryptions of the plaintext with the key.

So for most keys, the ciphertext space must be significantly larger than the plaintext space.



You might be interested in trapdoor permutations. The only candidates I'm aware of for [such permutations with domain not depending on the public key]
come from multi-variate crypto.

On the other hand, it's easy for symmetric schemes to satisfy the deterministic version of CCA-security.