I'm part of a team designing a system where a user have to be able to read a certain package, if he has preformed an action or series of actions that makes it legal for him to do so.
The tricky part is that the user contacts the server, receives the data he needs to work with, along with the package he might have to open, performs a series of actions with the data, and reports his actions to the server. As said the package should not be read unless the right actions is reported.
So what I'm interested in knowing is if there's a way to make decrypting the file impossible without leaving traces of decryption?
I've looked into allot of different cryptographic methods, but all of them require reporting your actions to another party, but i would prefer to be able to do this without leaving the clients device.
I am hoping the bright heads of stackexchange crypto would have some ideas that might work, or at least be able to tell me if what i want isn't possible.
A specific use case could be that if for an example we're playing a game, and your opponent have a hidden unit, you can be allowed to view that unit if you choose to sacrifice some of your units, or something like that.