Jaak Henno, Tallinn University of Technology, Estonia
Hannu Jaakkola, Tampere University of Technology, Pori
Jukka Mäkelä, University of Lapland, Rovaniemi, Finland
Humans need to systemize, order/organize, flatten
- to reduce entropy in our environment
If the cement industry were a country, it would be the third largest carbon dioxide emitter in the world after China and US (The Guardian)
For many people the main source of entropy have become videogames
Entropy is a measure of structuredness
Structre enables encoding
Entropy is a measure of possibilities to encode information
Or equivalently - the (maximal) reduction in uncertainty removed
when we reseive the message
Randomness is a non-compressable, i.e. maximized entropy
But our data is exposed in numerous breaches ...
Something for everyone ...
The main method of defence is encryption
For encryption are needed Sequences of Random Numbers
Randomness is vital for computer security - in order to generate cryptographic keys are needed random numbers
The research company Gartner predicts that by 2019 already 80 percent of web traffic will be encrypted
The e-mail encryption market is expected to have 24% annual growth through 2020
When playing games and competing, trying to win, humans behave non-predictably, create random moves.
Non-predictability, randomness is the main source of game enjoyment; without randomness we would not play (this is not a game !) - but we are playing more and more...
"In multiplayer games is created randomness" is not a provable statement -
its truth follows from our experience - we play games more and more
- and this randomness could be collected and used for generating encryption keys.
In a (multiplayer/any) game (also in economy) players perform actions trying to get an advantage, to win, GAME resolves these actions and gives players rewards (the utility/payoff fuction)
In (economics-based) game theory the mechanism of rewarding is not detailed - rewards are based on unpredictable markets
In videogames rewards should be quick and deterministic -
videogame is a deterministic algorithm (finite-state machine), which to player's inputs decides their rewards
Game is a quadruplet
- set of players,
- set of legal inputs (moves)
- set of rewards (payoffs),
- game automaton (finite-state machine), which in every state implements (deterministic, quick) algorithm for mapping
The mapping is usually split into submappings over subsets of players (e.g. players who are in the same room etc), in the following are considered pairs of players, i.e.
, thus
In server-based multiplayer games players do not see actions of other players - they see only results of these actions
Players see the result of their move
do not know arguments of the game mapping -
In order to compete, win, they try to learn/quess moves of other players, i.e. the vector
They try to quess/calculate (some) reverse function
such that
But game designers try to make learning the game (reversing the payoff function) difficult
In a (large) class of non-learnable games (i.e. rock-paper-scissors) the reverse function is not uniquely defined and there are several alternatives with the same expectation:
Thus the best strategy is total randomness
Both the player's moves and payoff-s can be considered as symbols, thus the game is a (possibly partial) mapping
of strings from some alphabet
The problem of reversing such a (partial) mapping has connections with some deep problems in complexity theory, e.g.
in
J. C. Birget, Inverse monoids associated with the complexity class NP, Semigroup Forum (2019) 98:369–397
it is shown, that a semigroup of partial deterministic polynomial-time functions on a set of strings from some alphabet (at least binary) is not inverse (i.e. all elements have an inverse) iff the one-way functions exist (i.e. inverse/reverse functions are not any more polynomial-time deterministic)
Game payoff/reward (for two players) can be expressed with game matrix (as in economics-based game theory): in rows are moves (inputs) for player1, in columns for player2 and the (i,j)-cell indicates player's payoffs for move from player1, move from player2
In zero-sum games
The game is non-learnable, if the sums of all rows and columns are equal - the expectation of payoff for any move is the same:
In such a game the average (expected) payoff of any move is
Even the TensorFlow can not learn such games ...
The best strategy for a player (all players) is total randomness
The class of non-learnable games is too wide - it includes e.g. all constant games, where all elements of the payoff matrix are equal (all moves produce the same payoff) .
Players want that their moves have distinct effects (and there are no excessive moves), thus the subclass of
group-like games is defined by conditions:
Most games (e.g. 'rock-paper-scissors', 'odd-even', all shooting games etc) have these properties
It is easy to see, that in a payoff matrix of a group-like game all rows and columns should include all possible payoffs (condition 1)
Thus the payoff matrix for a group-like game could be constructed from any vector
including all payoff values using any substitution without sub-cycles on the set of playoffs:
It is easy to check, that conditions for group-like games are satisfyed
In a wider class of extended group-like games payoff-s in every row and column could be different (but the game still satisfies conditions 1., 2.); a matrix for these games could be created by rectangular manipulation of a group-like game matrix:
With the operation of rectangular manipulation every two (extended) group-like games with isomorpic automatons could be transformed to each other, thus all group-like games with the same number of actions (and isomorhic automatons) are nearly isomorphic (a bit wider notation than isomorphism); the near-isomorphism does not depend on number of players (in economics-based game theory could be compared only games with the same number of players).
The best strategy for group-like (which all are also non-learnable) games is total randomness, thus every player of such a game produces a random sequence of moves; together these sequences create a new source of good randomness
To improve the quality of randomness of players move sequences could be included also a computer-generated player
The 'Odd-Even' (and its 3D interpretation) allow to create random binary sequences.
Generalizations of the well-known rock-paper-scissors game allow to create random sequences of m-ary integers {0,1,...,m-1} for any m > 2The randomness test program "Ent" shows, that the string produced by interactions in the 'Odd-Even' game is nearly uncompressable, i.e. good.
Players have only their own moves, e.g. player1 has sequence
When a player asks for key server sends the sequence of moves, where player's own moves are removed;
the sequence could encrypted as all game moves
or(weak one-time key for symmetric encryption) using the sequence of players moves as the key
- player inserts into this sequence his own moves - this will be the new (strong) key for the chat
All the following messages are secured/encrypted with the means used in game for sending player's moves and rewards.
Players store their moves in the order they made them.
When player enters the game (logs in) he receives together with his gameplay client also (a link to) a cryptographic library (for symmetric encryption), e.g. some member from the W3C list or (when using node.js) Node.js Crypto module (easy tutorial)
chat(playerList);
playerList
is a list of players or the word all
- player wants to start global chatplayerList
(with time limit for answer) playerList
all players who did not answer the invitation"Encryption OK"
playerList
the players, whose messages were not decipherableThis method allows to create keys for different subsets of players - for any two of them or for the whole population
The randomness needed for key is constantly generated by player's themselves, thus they can easity generate a new key e.g. sending a message:
"From now on use moves from time moments t0 to t1"
To increase randomness of the sequence of moves it could filtered, e.g. used only these moves which produced (or did not produce) a fixed result
In order to speed up the key generation multi-moves may be used, e.g. (in 'Odd-Even') both players select e.g. a 4-bit string (byte) - in this regime generation of 128-bit key sequence requires only 32 moves (and with 16 bit strings only 16)