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?