I am working with hardware that can only encrypt with AES. The problem with this is that the message must be publicly verifiable, without the encoding key being exposed. This is the textbook use-case for asymmetrical keys, yet the hardware does not support this. I cant come up with a method myself where a message is encrypted with AES and decrypted with an asymmetrical public key. Is there a way to do this in as few steps as possible?

An option i thought of is that the message gets decrypted by a server and again gets asymmetrically encrypted before being made public. Ideally, there would not be a server in this solution.

  • $\begingroup$ Could you have something construct a zero-knowledge proof of 'I know a key that converts this plaintext to this ciphertext'? Obviously, the thing that constructs it must also know the key, however that needn't be your hardware device. $\endgroup$
    – poncho
    Mar 13, 2023 at 12:59
  • $\begingroup$ Isn't this exactly how PGP works? That uses AES. $\endgroup$
    – Paul Uszak
    Mar 13, 2023 at 14:31
  • $\begingroup$ @PaulUszak I believe that the PGP sender chooses a random key to encrypt the message, and so encrypt that random key with RSA(receivers_pub_key, ...). So, yep, PGP does a similar thing. But as Poncho said: to encrypt the random symmetric key, they need know the key... $\endgroup$ Mar 15, 2023 at 20:53
  • $\begingroup$ Any scheme that uses an embedded key to encrypt things (like the schemes used to self encrypt HDs) haven't resisted to a hacker inside the machine. Microsoft bitlock, Apple wallet, etc... For decades ppl have been breaking them. $\endgroup$ Mar 15, 2023 at 20:59


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.