Suppose you have a message $m$ and you want to design a protocol that produces an encrypted message $c$ such that it cannot be decrypted before a certain time $t$ has passed from the encryption.

How would you realize this? What assumptions do you need?

I am just curious about it and I would like to discuss ideas (I have no clue if it is even possible).

Note that I am less interested in solutions that simply requires an amount of computation for decryption (assuming a certain amount of computing power) such that it takes a time $t$ to decrypt. Then, I suppose a kind of third-party/authority is required. What about a smart contract?

Look at it as a non-physical version of a timelock.

  • 1
    $\begingroup$ See the first related question on the right. $\endgroup$
    – kelalaka
    May 13, 2020 at 23:01
  • $\begingroup$ From what it is explained here, this is an issue but there are ways to mitigate it. Indeed, you do an assumption regarding the computing power of the receiver (of a single processor) of the message and, among other properties, you design a puzzle whose best algorithm to solve it is intrinsically sequential (parallel computing does not help). $\endgroup$
    – Lorenzo
    May 15, 2020 at 13:00


Browse other questions tagged or ask your own question.