0
$\begingroup$

I was wondering whether there are any "blinded" encryption schemas, such as the following:

We encrypt message $m$ using $f(k)$, where $f()$ is some blinding function and $c = \text{Enc}(f(k), m)$, while the decryption works as $m' = \text{Dec}(k, c)$ and $m' = m$.

One possible option is, of course, public-key encryption schemas, but I was thinking about more efficient (in terms of performance) symmetric key encryption schemas which have this property.

$\endgroup$
3
  • $\begingroup$ You are blinding the key, not the message. Blind the message and use CTR mode. $\endgroup$
    – kelalaka
    Aug 26 '20 at 12:20
  • $\begingroup$ @kelalaka Can you give me some details how blinding the message will obfuscate k? $\endgroup$
    – Ziva
    Aug 26 '20 at 12:40
  • $\begingroup$ If you look at RSA blinding that uses the mathematical property of RSA. A block cipher has many operations with many rounds, the only meaningful blinding, afaik, is x-or, however that brings no benefit. $\endgroup$
    – kelalaka
    Aug 26 '20 at 14:44
3
$\begingroup$

Would it be a requirement that, given $f(k)$ and $c$, it is hard to rederive $m$?

If so, then what you are effectively asking for is a public key encryption system; your public key is $f(k)$, and your private key is $k$. Such a method can be constructed from any public key encryption algorithm (but isn't any more efficient than the underlying pk algorithm).

If not, then it is easy; here is one construction:

  • Let $f(k)$ be a randomized function $f(k) = r || \text{hash}( r, k )$.
  • To encrypt, you compute $\text{Enc}(f(k), m) = r || \text{AES}( \text{hash}(r, k), m )$.
  • To decrypt, you compute $\text{Dec}(k, (r || c)) = \text{AES}^{-1}( \text{hash}(r, k), c )$
$\endgroup$
1
  • $\begingroup$ Thanks! Given that it is required that it is hard to retrieve m you just confirm my suspicion that only the public key encryption schema will help. But the second part of your answer is also an inetersting one! $\endgroup$
    – Ziva
    Aug 28 '20 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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