drand / tlock-js

Timelock Encryption made practical. A Typescript library for encrypting for the future.
Other
93 stars 8 forks source link

Zero Knowledge proof of encryption #43

Open lukastanisic99 opened 3 months ago

lukastanisic99 commented 3 months ago

Is it possible to create a zero knowledge proof that a secret has been encrypted and not some "garbage"?

Example: We want to reveal a secret key for a given public key after time T. We use timelock to encrypt the secret. Is it possible to prove to someone (without revealing the secret) that the secret key was encrypted with timelock for the corresponding public key?

CluEleSsUK commented 3 months ago

It's a current research problem for us but we haven't put much time into it. It should in principle be possible, though the resulting circuits might be quite complicated.

If you're interested in working on it, we'd love to help!