a smart contract on solana.
Unless you can predict the future, I'm not sure how you would generate a key that would be unknowable now but generally available in the future.
I was thinking of encrypting a secret in the structure of a Rust program so it can only be decrypted by compiling and running it.