I would like to know if
given a public-key encryption scheme (PKES) with ciphertext expansion close to 1, and an integer N greater than or equal to 2
there exists a method for constructing a PKES with ciphertext expansion:
size(ciphertext) = size(plaintext) x N
Preferably, the constructed PKES would be similar to the given PKES in terms of security and efficiency.
Thank you.
Edit [about padding][@poncho]: I work with two different entities represented as bitstrings. Let's call them large and small.
size(large) = size(small) x N
Let encryption and decryption functions of the PKES be (E,D).
I receive many large bitstrings, and there is a need to store the small bitstrings which are derived as follows:
smallInstance = D(largeInstance)
At a later point, largeInstance should be recoverable using the public key:
E(smallInstance) = largeInstance
The problem I see with padding here is that it is not possible to use a constant padding for all the associated small bitstrings, and it is not desirable to store all the different paddings $pad_i$ obtained from:
smallInstance_i || pad_i = D(largeInstance_i)