Basic idea:
Looking for about 10^12 unique values which lie in a grid of about 100k x 100k x 100k and can be shifted by one of those values.
In 2D it would look like:
_ 
_ 
So the distance from one colored square to another is always equal. They are only shifted by the initial value (green square). Each colored square also represents an unique value which is equal for each user.
10^12 values are too many to store them all and deliver to the user. Each user should compute them by himself starting at a random value (green square).
They are computed during the runtime of the application. With this each user only has a subset of all possible values.
Unless two users already computed at least one similar value it should be hard to determine the position of any value of the other user in own coordinate system (also with access to the run time variables). Or more general it should be hard for any value not computed so far. Optimal solution would require value computation until equal (brute force).
Question: Do you have any idea how to generate those colored squares (unique value & position)?
Basic solving types
As far as I know there are only two basic types to solve this:
Starting at the initial value (green square) and...
- 1. ..compute some value for each grid entry related to this and use a selection function to decide if it belongs to those colored squares
2. ..compute the position and value of each colored square in a fixed sequence order (starting at index of the initial value)
Or can you think of some other ways to solve this?
In target application user is mainly interested in colored squares close to his initial value. Solution type 2 would require much more computation time and storage to archive this. Solution type 1 could be used on demand. Optimal solution would be the first type which is furthermore restricted to be only capable computing values for grid positions next to known.
Problems in solving attempts
- -need to by cyclic
-need to be same unique values and offsets (from value A to B) for each user
-too less values for normal cryptographic methods like elliptic curves
-if it is separated into 3 random number generators for the position it is easy to find a value with a different position (compute until first dimension match, 2nd and 3rd)
-the period of the random number generator need to be known
-to produce a valid random initial value for a user it need to be known that this value is part of the random number sequence
(not looking for a full solution, just for techniques, RNG or ideas how to solve)
Aucun commentaire:
Enregistrer un commentaire