I really don’t understand your idea.
The kinds of shared key schemes usually aren’t for keeping the data secret from the participants; but to confuse which participant signed, encoded or decoded it. Ex: a polynomial secret key can be used to: take any 4 out of 10 keys and decode the input (this one has secrecy, but only until N participants agree); or to sign a array of bytes without knowing who signed except that it’s one of the key of the participants (limited anonymity).
I have no recall of hiding computations from the computer completely except with a trusted server or with fully homomorphic encryption (which is just a ‘holy grail’ of crypto, of which there is no implementation because it would required special drivers or special hardware; because the input has to be decoded once it needs it hits driver level).
There are MANY ways to to resist tampering though; which i suppose it’s what’s actually needed?
edit: actually read the wiki link now. I’m not sure how a protocol like that would be used on a H3 game. The main stuff you’d need is to prevent people from
a ) finding the grail by introspection
b ) edit the gamestate with ‘illegal’ operations in their turn.
c ) secondary stuff would be to find what is in the cities or on the fog-of-war.
These all look like stuff that requires at least one trusted server (to generate keys, decrypt gamestate to check for consistency and update). Even if, for instance the coordinates of the grail could be checked with a homomorphic sum operation, the private key would be needed for decoding the result, so the answer would need to be sent to the server (unless you use this ), which seems to me especially useless.
It just doesn’t look like the millionaire problem situation, where two participants each wants to keep a secret. Rather, it looks like a server and a client (player) where the server’s secret is the grail location (for instance) and the client doesn’t have any pressing need to keep secret it’s dig location from the server (input for the ‘check for grail’ function). Of course, if the server is local too, just introspecting the memory of the server would be enough on that case to fuck everything.