I am pretty sure that what I am asking for is impossible, but on the off chance it might be possible, here is my question/problem statement :

Is there any known algorithm/protocol or does it even sound possible that such a thing can be devised, such as it allows you to encode data using a "private" key and then issuing "public" keys on demand that can be invalidated, let's say with a built-in expiration date (or any other invalidation process you can think of)

It has to be stateless and work without assuming that the cypher is secured as it may be public and everybody can access it but there must be no way of decoding it using a key that "somehow" has been invalidated.

I realise for something like this to even be remotely possible, the cypher must not be created using only a private key but also other parameters, the invalidation process must somehow be embedded in the cypher, so there is no constraint really on the encryption parameters as long as it doesn't require predetermination of the decryption keys.

I can see several applications to this kind of encryption, for example, you can give someone temporary access to some encrypted data on a public blockchain.

Am I crazy?

  • 1
    $\begingroup$ If this were possible, there's still one big issue. Once I decrypt some data, I have access to it forever. I can copy it and keep it after the key expires. $\endgroup$ – Aman Grewal Feb 16 at 23:21
  • 1
    $\begingroup$ @AmanGrewal I think my concern is more related to the "timeline" meaning that I can create more ciphers in the future, but they will not be decrypted with the invalidated keys, it's okay if you keep the data you had access to, as long as you can't read new data (whereas the holders of a key that is still valid can still decrypt new ciphers) $\endgroup$ – h0ss Feb 16 at 23:25

Your Answer

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

Browse other questions tagged or ask your own question.