Method for generating a series of random numbers
Abstract
The claimed solution relates to the field of information processing, more particularly to a method and a device for generating a series of random numbers. The technical result is the generation of a totally unpredictable random number at each step in a gaming session. An additional technical result is that the entire series of random numbers can be checked by a client at the end of a gaming session against the generation of said numbers according to all of the stages of the method. The method for generating a series of random numbers comprises stages in which the device for generating a series of random numbers: receives from the server a private key created for a gaming session and a random number generated by the client; generates a new random number on the basis of the values of the random number and private key that have been produced; generates a new private key for the gaming session as a hash of the private key produced for the gaming session and of the value of the above-mentioned new random number; generates a series of units in a memory, where a first information unit contains information about the private key which has been created and produced for the gaming session, and a second information unit contains information about the new private key for the gaming session.

Term
No projected expiry on record.
- Priority and filed
- Published
- Today
8 claims: 2 independent, 6 dependent
- 1ФОРМУЛА ИЗОБРЕТЕНИЯ 1. Способ формирования цепочки случайных чисел, содержащий этапы, на которых посредством устройства формирования цепочки случайных чисел:- принимают от сервера сгенерированный приватный ключ игровой сессии и сформированное клиентом случайное число;- формируют новое случайное число на основе значений полученных случайного числа и приватного ключа;- формируют новый приватный ключ игровой сессии как хеш полученного приватного ключа игровой сессии и значения упомянутого нового случайного числа;- формируют в запоминающем устройстве цепочку блоков, где первый информационный блок содержит информацию о полученном сгенерированном приватном ключе игровой сессии, а второй информационный блок - информацию о новом приватном ключе игровой сессии.
- 2Способ по п. 1 , отличающийся тем, что устройство формирования цепочки случайных чисел дополнительно от сервера получает информацию о интервале значении для случайного числа, заданном клиентом, причем формирование нового случайного числа на основе значений полученных случайного числа и приватного ключа осуществляется с учетом информации о интервале значении для случайного числа, заданном клиентом.
- 3Способ по п. 1, отличающийся тем, что дополнительно содержит этапы, на которых посредством сервера:генерируют приватный ключ игровой сессии;I на основе приватного ключа игровой сессии генерируют публичный ключ и отсылают его на клиент;получают от клиента случайное число, сгенерированное клиентом;при этом сформированное новое случайное число устройством формирования цепочки случайных чисел направляется на клиент.
- 4Способ по п. 3, отличающийся тем, что публичный клкрч генерируют как хеш от приватного ключа игровой сессии.
- 5Способ по п. 3, отличающийся тем, что приватный ключ игровой сессии является приватным 256-битным ключом, сгенерированный методом генерации приватных ключей для кошелька Ethereum.
- 6Способ по п. 1, отличающийся тем, что по окончании игровой сессии приватный ключ игровой сессии, сгенерированный сервером, отсылается на клиент, а клиент выполнен с возможностью провести проверку на то, что вся цепочка случайных чисел была сгенерирована по описанному ранее алгоритму.
- 7Устройство формирования цепочки случайных чисел, выполненное с возможностью:- принимать от сервера сгенерированный приватный ключ игровой сессии и сформированное клиентом случайное число;- формировать новое случайное число на основе значений полученных случайного числа и приватного ключа;- формировать новый приватный ключ игровой сессии как хеш полученного приватного ключа игровой сессии и значения упомянутого нового случайного числа;- формировать в запоминающем устройстве цепочку блоков, где первый информационный блок содержит информацию о полученном сгенерированном приватном ключе игровой сессии, а второй информационный блок - информацию о новом приватном ключе игровой сессии.
- 8Устройство по п. 7, отличающееся тем, что дополнительно выполнено с возможностью получать от сервера информацию о интервале значении для случайного числа, заданном клиентом, причем формирование нового случайного числа на основе значений полученных случайного числа и приватного ключа осуществляется с учетом информации о интервале значении для случайного числа, заданном клиентом. 8. Устройство по любому из пп. 7 или 8, отличающееся тем, что дополнительно выполнено с возможностью направлять сформированное новое случайное число на клиент.
Independent claims8
25 paragraphs in 7 sections, as filed
METHOD FOR FORMING A CHAIN OF RANDOM NUMBERS
FIELD OF TECHNOLOGY
The claimed solution relates to the field of information processing, in particular, to a method and device for generating a chain of random numbers.
LEVEL OF TECHNOLOGY
The closest analogue to the claimed solution is a method and a device for generating random numbers, disclosed in the application US 2015/0341178 (A1), publ. 11/26/2015.
However, the known solution does not provide reliable storage of data on random numbers due to the lack of the possibility of forming a chain of random numbers. Also in the famous<sup>1</sup> the solution provides encryption and decryption of transmitted data, transfer of certificates, authorization and other authentication in the process of exchanging data between the client and the server, which complicates the algorithm for generating random numbers and increases the risk of errors in the exchange of data.
DISCLOSURE OF THE INVENTION
The technical problem, the solution of which the stated solution is aimed at, is to ensure that no one generates an unpredictable chain of random numbers by means of a client, a server and a device for generating a chain of random numbers without the ability to influence the result in order to obtain benefits for none of the parties involved in the formation of the chain, with the ability to check by at the end of the session, the correspondence of the entire formed chain to the declared algorithm.
The technical result is to obtain an unpredictable random number for anyone at each step of the game session. An additional technical result is to ensure the possibility of checking the entire chain of random numbers by the client at the end of the game session for compliance with the fact that they were obtained in accordance with all stages of the method.
To achieve the specified technical result, a method for generating a chain of random numbers has been developed, comprising the stages at which, by means of a device for generating a chain of random numbers, a generated private key of a game session and a random number generated by a client are received from the server; generate a new random number based on the values of the received random number and the private key; generating a new private key of the gaming session as a hash of the obtained private key of the gaming session and the value of the said new random number; form a chain of blocks, where the first information block
I
contains information about the received generated private key of the gaming session, and the second information block - information about the new private key of the gaming session, save the generated chain of blocks in the memory device.
Also, a device for generating a chain of random numbers has been developed, capable of: receiving from the server the generated private key of the game session and the random number generated by the client; generate a new random number based on the values of the received random number and the private key; generate a new private key of the game session as a hash of the obtained private key of the game session and the value of the mentioned new random number; form a chain of blocks, where the first information block contains information about the received generated private key of the gaming session, and the second information block contains information about the new private key of the gaming session; save the generated block chain in the storage device. BRIEF DESCRIPTION OF DRAWINGS
For a better understanding of the essence of the invention, and in order to more clearly show how it can be carried out, further reference will be made, only by way of example, to the accompanying drawings, in which:
fig. 1 is a block diagram of a gambling game system.
IMPLEMENTATION OF THE USEFUL MODEL
In accordance with the block diagram shown in FIG. 1, a gambling game system, in a particular example of its implementation, contains at least one client 1, a server 2 and a device 3 for generating a chain of random numbers. These elements of the system can be implemented on the basis of at least one processor or microcontroller, modified in software and hardware in such a way as to perform the functions assigned to them below. The random number chaining device 3 can additionally be configured to perform the functions of an Ethereum smart contract by methods known from the prior art.
When the user on the client 1 launches an application for the game or initiates the creation of a game session, the client 1 generates a corresponding request to the server 2 to obtain the public key of the game session. The generated request is sent to server 2, which, in accordance with the software and hardware algorithm embedded in it, creates a game session. At the beginning of the game session, the private key of the game session is generated on server 2, which can be, for example, a private 256-bit key generated by the method of generating private keys for the Ethereum wallet, which further increases the reliability of the key transfer.
Next, server 2, based on the private key of the game session, generates a public key using methods known from the prior art and sends it to client 1. Together with the public key, server 2 can also send a request to receive a random number generated by the client from client 1. Accordingly, after receiving the public key in automatic mode or upon request from server 2, client 1 generates its own random number, previously unknown to server 2 (client seed) and sends it to server 2. Additionally, together with the random number, client 1 can send information about the value interval for a random number, which determines the minimum and maximum value of the random number requested by the client. Also additionally client 1 can be
I
is configured to display the sent random number to the user, and the user, if desired, can change the random number before sending it to the server 2.
Server 2 sends the received random number generated by the client and the generated private key of the game session to the device 3 for generating a chain of random numbers, which generates a new random number based on the values of the received random number and the private key, for example, according to the formula:
PublicRandomResult [i] = Hash (ServerSecretHash [il], ClientRandomSeed [i]), where ServerSecretHash [il] is the generated private key of the game session, and ClientRandomSeed [i] is a random number generated by the client.
Also, the device 3 for generating a chain of random numbers generates a new private key of the game session as a hash of the obtained private key of the game session and the value of the mentioned new random number, for example, according to the formula:
ServerSecretHash [i] = Hash (ServerSecretHash [il], PublicRandomResult [i]), where ServerSecretHash [il] is the private key of the game session, and PublicRandomResult [i] is a new random number.
In the event that information about the value interval for a random number is additionally received from client 1 to server 2, then server 2 also transmits said information about the value interval to the device 3 for generating a chain of random numbers, and the formation of a new random number based on the values of the received random number and the private key is carried out taking into account the information about the value interval for a random number specified by the client, for example, according to the formula:
PublicRandomResult [i] = Hash (ServerSecretHash [il], ClientRandomSeed [i])% (Max [i] - Min [i] + 1) + Min [i]);
Further, the device 3 for generating a chain of random numbers forms a chain of blocks, where the first information block contains information about the received generated private key of the gaming session, and the second information block contains information about the new private key of the gaming session. The generated chain of blocks is stored in a storage device, which, for example, is located in the device 3 for generating a chain of random numbers and is a random access memory. The new random number generated by the device 3 can be sent to the client 1 and represent the dropped out pseudo-random number for the given game step. The unpredictability and large hash length (256 bits) determines the uniformity of the dropout of random numbers and the absence of any significant shift in modulus.
Thus, since the new random number is generated based on the values of the random number of client 1 and the private key generated by server 2, it is unpredictable for client 1, server 2 and said device 3, i.e. the achievement of the specified technical result is ensured.
The use of information about the requested intervals when generating a new random number will further increase the reliability of storing the data of the random numbers. At the same time, the initial server key (private key of the game session), the sequence of client random numbers and intervals uniquely determine all game results. The presence of intervals as input data allows avoiding an ambiguous interpretation of the received random numbers. At the end of the game session, server 2 opens the private session key and the entire game history to client 1. The player can send the story directly to the random number generating device 3 and the said device 3 will confirm that the random numbers were generated according to the rules described above and in accordance with the code of the smart contract itself, which means that server 2 could not change the results during the game,
I
and client 1 predict these results in advance. Thus, the formation of a chain of blocks, where the first information block contains information about the received generated private key of the gaming session, and the second information block - information about the new private key of the gaming session, will provide the ability to check the entire chain of random numbers by the player at the end of the gaming session for compliance with that they were obtained in accordance with all the steps of the method, i.e. in an unpredictable manner for client 1, server 2, and random number chaining device 3. Also, client 1 can be configured to automatically check that the entire chain of random numbers was generated according to the previously described algorithm.
Contents7
1 sheet
Sheet 1
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN115314204A | Cited by | China | – | Search report | – |
| US10046228B2 | Cites | United States of America | Y | International search | 5 |
| KR101882207B1 | Cites | Republic of Korea | Y | International search | 1-8 |
| KR101887964B1 | Cites | Republic of Korea | Y | International search | 3-5 |
| CN107733651A | Cites | China | A | International search | 1-8 |
| US2009271462A1 | Cites | United States of America | Y | International search | 1-8 |
| US2011183748A1 | Cites | United States of America | A | International search | 1-8 |
| US5871400A | Cites | United States of America | Y | International search | 2, 8(1) |
| US6628786B1 | Cites | United States of America | Y | International search | 1-8 |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2018000619 | Russian Federation | W | |
| WO2018RU00619 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| WO2020060433A1This record | World Intellectual Property Organization (WIPO) | A1 |
7 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Ep: pct application non-entry in european phase122 | 122 | WO | |
| Ep: public notification in the ep bulletin as address of the adressee cannot be established32PN | 32PN | WO | |
| Ep: public notification in the ep bulletin as address of the adressee cannot be established32PN | 32PN | WO | |
| Non-entry into the national phaseNENP | NENP | DE | |
| Non-entry into the national phaseNENP | NENP | DE | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO |
Numbers
- Publication
- 2020/060433
- Publication, DOCDB
- 2020060433
- Publication, EPODOC
- WO2020060433
- Application
- 619
- Application, DOCDB
- 2018000619
- Application, EPODOC
- WO2018RU00619
Titles3
- English
- METHOD FOR GENERATING A SERIES OF RANDOM NUMBERS
- French
- PROCÉDÉ DE GÉNÉRATION DE SÉQUENCE DE NOMBRES ALÉATOIRES
- Russian
- СПОСОБ ФОРМИРОВАНИЯ ЦЕПОЧКИ СЛУЧАЙНЫХ ЧИСЕЛ
Classification
- CPC, 2
- G06F7/58
- H04L9/08
- IPC, 2
- G06F7 58
- H04L9 08
Designated states151
- Regional, 80
- Albania
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Croatia
- Hungary
- Ireland
- Iceland
- Italy
- Lithuania
- Luxembourg
- Latvia
- Monaco
and 56 moreShow fewer
- North Macedonia
- Malta
- Netherlands (Kingdom of the)
- Norway
- Poland
- Portugal
- Romania
- Serbia
- Sweden
- Slovenia
- Slovakia
- San Marino
- Türkiye
- Burkina Faso
- Benin
- Central African Republic
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Equatorial Guinea
- Guinea-Bissau
- Comoros
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- Botswana
- Ghana
- Gambia
- Kenya
- Liberia
- Lesotho
- Malawi
- Mozambique
- Namibia
- Rwanda
- Sudan
- Sierra Leone
- Sao Tome and Principe
- Eswatini
- United Republic of Tanzania
- Uganda
- Zambia
- Zimbabwe
- Armenia
- Azerbaijan
- Belarus
- Kyrgyzstan
- Kazakhstan
- Russian Federation
- Tajikistan
- Turkmenistan
- National, 71
- United Arab Emirates
- Antigua and Barbuda
- Angola
- Australia
- Bosnia and Herzegovina
- Barbados
- Bahrain
- Brunei Darussalam
- Brazil
- Belize
- Canada
- Chile
- China
- Colombia
- Costa Rica
- Cuba
- Djibouti
- Dominica
- Dominican Republic
- Algeria
- Ecuador
- Egypt
- Grenada
- Georgia
and 47 moreShow fewer
- Guatemala
- Honduras
- Indonesia
- Israel
- India
- Iran (Islamic Republic of)
- Jordan
- Japan
- Cambodia
- Saint Kitts and Nevis
- Democratic People’s Republic of Korea
- Republic of Korea
- Kuwait
- Lao People’s Democratic Republic
- Saint Lucia
- Sri Lanka
- Libya
- Morocco
- Republic of Moldova
- Montenegro
- Madagascar
- Mongolia
- Mexico
- Malaysia
- Nigeria
- Nicaragua
- New Zealand
- Oman
- Panama
- Peru
- Papua New Guinea
- Philippines
- Qatar
- Saudi Arabia
- Seychelles
- Singapore
- El Salvador
- Syrian Arab Republic
- Thailand
- Tunisia
- Trinidad and Tobago
- Ukraine
- United States of America
- Uzbekistan
- Saint Vincent and the Grenadines
- Viet Nam
- South Africa