WO2004035159A1 - Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados - Google Patents

Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados Download PDF

Info

Publication number
WO2004035159A1
WO2004035159A1 PCT/ES2002/000485 ES0200485W WO2004035159A1 WO 2004035159 A1 WO2004035159 A1 WO 2004035159A1 ES 0200485 W ES0200485 W ES 0200485W WO 2004035159 A1 WO2004035159 A1 WO 2004035159A1
Authority
WO
WIPO (PCT)
Prior art keywords
player
game
value
values
players
Prior art date
Application number
PCT/ES2002/000485
Other languages
English (en)
French (fr)
Inventor
Jordi CASTELLÁ ROCA
Joan Borrel Viader
Andreu Riera Jorba
Josep Domingo Ferrer
Original Assignee
Scytl Online World Security Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scytl Online World Security Sa filed Critical Scytl Online World Security Sa
Priority to AU2002342935A priority Critical patent/AU2002342935A1/en
Priority to PCT/ES2002/000485 priority patent/WO2004035159A1/es
Priority to EP02779587A priority patent/EP1563881A1/en
Publication of WO2004035159A1 publication Critical patent/WO2004035159A1/es

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/3232Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention describes a method that ensures that the outcome of a game involving random events is honest, and auditable among a group of n participants or players that interact directly or indirectly with each other through a communication network such as Internet, without the need for a third party of trust to ensure honesty and audit in said game, and one of these participants may be a representative of a casino-type gaming entity.
  • the present invention relates to electronic gaming, and more precisely to cryptographic processes and protocols, as well as to computer programs for its implementation, used to provide electronic gaming systems, preferably remote, with appropriate security, honesty and audit measures. .
  • the cryptographic process means any ordered set of information transformation steps that include cryptographic operations.
  • the term cryptographic protocol will be used here to refer to a cryptographic process carried out among various participants, which exchange information through any data communication system.
  • the objective of the present invention is to provide an electronic game method including various cryptographic protocols to safely, honestly and audibly conduct games, especially those that include random events, such as casino-type ones. , what is done through communication networks such as the Internet, wireless data communication networks, or any other type of computer network.
  • Computer networks and especially the worldwide interconnected network system known as the Internet, have allowed certain common activities, such as buying, searching for information, or playing, to be carried out remotely.
  • the present invention concerns the game through electronic means, in particular the remote game, whether to carry out the usual games of chance in casinos, with roulette wheels, dice, cards, casters wheels or other games of chance. Random less popularized, played with a finite number of elements.
  • the remote game involves a series of problems that need to be resolved to ensure that the development of the game meets the same security, honesty and audit conditions as the traditional game.
  • Firewall systems, event monitoring and recording tools, demilitarized zones, intrusion detection systems or integrity control systems (anti-virus, anti-Trojan, etc.) can all be used to protect the servers of a casino online against possible external attacks through the communications network.
  • Virtual Private Networks (VPN) can be used to provide security for data transmissions between different system nodes, if necessary.
  • Data encryption protocols at the transport level such as WTLS [WAP Forum, Wireless Transport Layer Security specification, Version 06-Apr-2001, April 2001], TLS [Dierks, T. and Alien, O The TLS protocol, version 1.0 .
  • TTP Trusted Third Party
  • the casino is therefore in a privileged situation.
  • the number of manipulations in the remote game is very high.
  • the players are in a defenseless situation without any certainty regarding the honesty of the game, and without being able to verify the actions of the other players, nor those of the casino.
  • Another option is the generation of value jointly by all participants in the game, through a cryptographic protocol of the game.
  • the cryptographic protocols of the present invention guarantee that the value obtained has not been manipulated by any party, or in case of manipulation they guarantee a detection thereof.
  • protocols for mental gaming are intended to ensure that if any of the parties does not follow the rules of the game their activity and / or origin will be detected and that neither party may be in a privileged situation with respect to the others.
  • a commitment protocol is a two phase protocol, a commitment phase followed by a commitment release phase. You can physically exemplify this scheme as follows: In the first phase each participant enters a certain information in a box, which closes with a key and delivers that box to the rest of the participants. In the second phase he gives the key that
  • the third fundamental aspect to consider is that of the audit of the game process to resolve possible disputes between the players themselves or between them and the casino regarding the results of the game.
  • Some previous inventions present systems and / or methods for remote gaming in a communications network.
  • the most notable examples are the inventions described in US 4,926,327, Sidley J., Computerized Gaming System; US 4,958,835, Tashiro K., Okamoto S., Okamoto T., Game Playing System; US 5,038,022, Lucero J.L., Apparatus and Method for Providing Credits for Operating a Gaming Machine; US 6,196,920, Spaur C.W., Lappin E., Wisler J.M., On-line Game Playing with Advertising; GB2307184, Arthur J., Gaming Network; US 5,755,621, Marks H.M., Singer A.M., Modified Poker Card / Tournament Game and Interactive Network Computer System for Implementing Same; US 5,823,879. Goldberg S.F., van Antwerp J., Network marketing system. All these inventions only describe the operation of the remote game, but do not emphasize the aforementioned security, honesty and audit problems.
  • a second group being representative examples US 6,106,396, Alcorn AE, Barnett M., Giacalone Jr LD, Levinthal AE, Electronic Casino Gaming System with Improved Play Capacity, Authentication and Security; US 6,117,011, Lvov DE. Elec- tronic Game System, Method of Managing and Regulating Said System; US 6,264,560.
  • These inventions encrypt communications between the parties of the game solely to ensure their privacy, without providing any game protocol to ensure that the game is honest.
  • the casino is acting as TTP, which entails the problems discussed above.
  • the data exchanged between the players is stored in a register, and both include the possibility that these data are digitally signed. This ensures that you cannot repudiate or modify registry entries but does not prevent entries from being added or deleted.
  • the present invention describes a method and associated protocols for obtaining an impartial result of a game through a communication network, by means of computing and / or computer programs.
  • a first objective of the present invention is to provide a method for obtaining a game result through a communication network in an honest, safe and auditable manner, without the need for a trusted third party to manage the game and guarantee The mentioned properties.
  • the present invention focuses mainly, but not exclusively, on the best known games of chance, usual in casinos, however its use is also possible in less known games of chance, given the lesser diffusion of its rules, or that They come from other environments or cultures.
  • the present invention divides gambling into several groups, since each game has specific operating rules, and therefore different needs, although common principles apply to all of them. Specifically, three groups are established: card games, uncovered card games, and covered card games.
  • the result of the game is based on obtaining a random value or set of values, common to all participants in the game.
  • Roulette or dice are characteristic examples of games based on obtaining a single value;
  • Bingo or keno are characteristic examples of games based on obtaining various values.
  • the second group refers to gambling in which each player obtains several values in an open way.
  • the discovered card games are the best known of this group, and for this reason this group is called discovered card games.
  • the Black Jack is a significant example of this group.
  • the third group is the most complex because in the same each participant obtains one or several letters in ownership so that only said participant knows their value.
  • a representative example of this group is Poker.
  • It is another objective of the present invention to overcome the limitations and practical inconveniences of previous work in cryptographic protocols of covered card games that do not use a third of confidence, and achieve the same level of honesty as in conventional games.
  • It is another objective of the present invention to describe mechanisms that allow the audit of the game, guaranteeing that each participant can demonstrate to a third party the actions occurred during the game. For this purpose, each operation of the cryptographic protocol becomes a link in an information chain. Said chain is called the non-repudiable distributed summary chain, hereinafter the CDNE chain, or summary chain in the claims.
  • the links are digitally signed.
  • the digital signature guarantees the authenticity, integrity, and non-repudiation of each link. Only one link can be added at the end of the chain, and no participant can modify, or delete a link.
  • the chain is efficient because it allows participants in the game to perform calculations in parallel.
  • the commitment protocol has the following steps.
  • the party that commits to a certain Rl value has a pair of asymmetric keys. This part generates a R2 value in a pseudo random way and adds some redundancy to Rl, so that R3 is obtained.
  • Figure R3 with the private component of the pair of asymmetric keys available, and figure R2 with the public component, obtaining the commitment Cp making an exclusive or of the encrypted values.
  • the verifier encrypts R2 with the public key of the party that commits, and calculates the exclusive or with Cp. It encrypts the result obtained with the public key of the party that commits obtaining R3. If R3 has the expected redundancy, the commitment is valid.
  • a set of n players or parts participates, with at least two being, each of the parts being provided with a set of programs called Player Agent, and a Game Platform or device with sufficient computing capacity to execute said set of programs.
  • the method in general has been designed so that casino-type games can be developed, with the participation of a large number of players and a central gaming entity (such as a casino), although it is also feasible to implement said method and associated protocols between a group of players without the collaboration of said central entity or casino.
  • player i will be understood as the set formed by the player himself who initiates the process and the software or hardware component that implements the cryptographic gaming protocols plus the player's gaming platform i. Therefore, the actions indicated in the description that are performed by player i are actually performed by the software that implements the method and platform of player i. This convention has been used to facilitate the understanding of the method.
  • Said remote game method described generally comprises some of the following elements: cards, faces of one or more dice, numbers of one or more roulettes and the figures of one or more wheels of a coin random machine, or their representations Similar.
  • an identification of the different elements of the game is made. This identification allows to establish an ordering of the elements, and therefore to correspond to each element a natural number between 1 and ⁇ .
  • each player gets an arbitrary permutation of the t elements of the game.
  • the player keeps said permutation secret, and commits to it by applying a commitment protocol that he sends to the rest of the participants in the game.
  • the result of the game is obtained by operating at least part of said secret permutations of said n players.
  • an order of the permutations of said n players is established, based on a certain criterion such as the order of entry of said players into the game. This sort will be used to compose the permutations and calculate the outcome of the game.
  • the order of the permutations allows to establish an order among the players, assigning to each of them a natural number between 1 and n.
  • At least one tu value is determined.
  • This value can be chosen by the players, or be prefixed by the rules of the game.
  • the rules of the game can explicitly define the values to use, or that the players jointly choose those values w.
  • Said value w is operated with at least the permutations of the players who have not intervened in their choice, and with all of them if the value has been preset, obtaining at least a p-value.
  • the p-value is an element of the game that will be part of the final result of that game.
  • Players can verify the correct and honest obtaining of said value p.
  • a player i of the cited n gets an element of the game p, that is a card, in Card games discovered by executing the following game protocol.
  • a value w is determined and made public. Said value w is set by any of the options described previously.
  • player i generates a pseudo random value w that belongs to the range of elements of the game, and that has not been previously selected by any other player. Player i sends w to the first player, according to the preset order.
  • the first player operates said value w with his secret permutation, and to which he has committed, obtaining a permuted value that he sends or makes accessible to the next player.
  • Each player between 2 and n after receiving or accessing the permuted value of the previous player, operates it with his secret permutation obtaining a new permuted value that he sends to the next player.
  • the permuted value obtained by the last player n corresponds to said element of the game p, which sends the player i.
  • the p-value corresponds to the card in the deck requested by player i. This process is repeated until each player has all the necessary cards for the development of the game.
  • the winner of the game is determined from the cards obtained by each player and the rules of the game.
  • the process involves only the participants of the game, who act equally in the cryptographic protocol, without the need for a third party trust. This ensures the honesty of the process, because each player is equal, and can prove any alteration or dishonest action in the game.
  • player i obtains a p-value corresponding to a card through the following steps. First, a value w is determined and made public. Said value w is set by any of the options described previously. In the preferred implementation, player i generates a pseudo random value w that belongs to the range of elements of the game, and that has not been previously selected by any other player. Player i sends w to the first player, according to the preset order. The first player operates said value w with his secret permutation, and to which he has committed, obtaining a permuted value that he sends to the next player. Each player between 2 and.
  • Player i checks out the protected permuted value received from player n by obtaining a p-value.
  • Said value p corresponds to a card of the deck according to the ordination established initially.
  • the card obtained by player i is a component of the result.
  • the cryptographic game protocol presented for the roll game group consists of the following steps. First, a value w is determined and made public. Said value w is set by any of the options described previously. In the case of games such as bingo, keno or similar, no single value is determined, but the values necessary for the development of the game. All players generate a secret permutation and commit to it through a protocol of commitment that they communicate to the rest of the players.
  • the players Once all the players have the commitments of the rest of the players, they reveal the necessary data to verify the commitment protocol, and obtain or calculate said permutation of each player. With the composition of the permutations of these players in the established order is the permutation result.
  • the value w is applied to said permutation result obtaining a value p.
  • the p-value corresponds to a game result according to the ordination established initially. In the case of bingo, keno or similar games, the process is repeated with the rest of the mentioned w values, until all the necessary p values are obtained to determine the outcome of the game.
  • the present invention describes an honest, auditable and safe method of electronic gaming and cryptographic gaming protocols to guarantee said properties.
  • the invention allows the electronic game through a communications network to reach levels of honesty, audit and security similar to those in the physical game, without the need for a third party trust.
  • Other aspects and details of the invention are referred to in the detailed exposition thereof with the help of figures.
  • Figure 1 a plurality of players 101 by an agent of player 103 running on a game platform 105, establish a connection 107 to a communication network 109, and play remotely.
  • FIG. 2 An example of a CDNE chain can be seen in Figure 2.
  • the chained summary of link 203 is constructed from the chained summary of previous link 201, and of the data of link 203.
  • Links 207 are an expansion of the CDNE chain.
  • the chained summary of each link 207 is calculated from the chained summary of link 205, and of the data of said link 207.
  • Link 211 is a contraction of the chain.
  • the chained summary of link 211 is based on the summaries of links 209, and the data of link 211.
  • FIG. 3 shows the steps of the cryptographic game protocol with covered cards.
  • the player J t asks Ji for the card corresponding to the position w. ⁇ Hee,. . . , Jj ⁇ perform step 303.
  • each player once has received the value u ⁇ 3 of the previous player applies his secret permutation aw 3 , and sends the result obtained to the next player J does not send w l to J + i, but does step 305.
  • J % protects the game element w t , obtaining w l which is sent to J l + ⁇ .
  • step 307 J l + ⁇ applies its secret permutation to the protected value w ⁇ , and sends w i + 1 to J l + ⁇ . Step 307 is repeated until player J n , who sends w n to J % .
  • step 309 Ji checks out w n , and obtains the desired game result element w n , indicated in the claims as p-value.
  • step 401 the player J % asks for the card corresponding to the position w.
  • step 403 player J ! he applies his secret permutation to said element of the game w, and sends the result obtained W to the next player.
  • the process 403 is repeated until reaching J n which sends w n to J.
  • ⁇ n is an element of the desired game result, indicated in the claims as p-value.
  • Figure 5 shows an overview of the steps of the cryptographic roll play protocol.
  • step 501 player J commits to a secret permutation and a value, sending the commitment to the rest of the players.
  • step 503 the players commit to a secret permutation, and send that commitment to the rest of the players.
  • step 505 the players show the compromised information.
  • each player verifies the commitment protocol of the rest of the participants in the game, and calculates the result element of the game of chance p.
  • FIG 1 shows a plurality of players 101 each equipped with a software component called Player Agent 103 and a Game Platform 105 with sufficient computing capacity to execute said Player Agent 103, all of them playing remotely via a connection 107 to a communication network 109.
  • Player Agent 103 can be an application with secure remote connection capability, or a Plug-In in the player's browser
  • the Game Platform 105 is a device that allows the execution of the Player Agent 103, and which has the ability to connect to a communication network 109.
  • Said Game Platform 105 can be for example a personal computer, a Personal digital assistant, or a mobile phone terminal.
  • the communication network 109 may be the Internet, wireless data communication networks, or any other
  • connection 107 to the communication network can be physical, or wireless.
  • the present invention preferably uses a special form of summary chains, which are called efficiently distributed non-repudiable distributed summary chains (abbreviated CDNE). ).
  • CDNE efficiently distributed non-repudiable distributed summary chains
  • Each message that players 101 exchange is a link in a CDNE chain.
  • the properties of this type of chain guarantee that the information that players 101 exchange during the game cannot be altered later without such modification being detected. Understanding a modification such as the deletion, inclusion or alteration of the data sent by a participant in the game.
  • summary chains (hash chains) was introduced in [Lamport L., Password Authentication with Insecure Communications, Communications of the ACM, v. 24, pages 770-771, 1981]. In their proposal summary strings were used to authenticate a user. Sequential summary strings are a widely used tool.
  • CDNE summary chains proposed in the present invention have the particularity that they are calculated efficiently. At the points where calculations can be performed in parallel, the chain expands. Each player 101 builds his link using the chained link summary from which the chain is expanded. At the moment when the protocol demands sequential execution again, a chain contraction is performed. This contraction consists in creating a new link in the chain from the chained summary of the last expanded link of each player 101.
  • CDNE chains have the following properties:
  • Each link ⁇ i k of the chain consists of two fields, the first field contains the data (£) & ) and the second field contains the chained summary (X ⁇ ) - '
  • the data field D k typically has the following structure: the time instant (_ " & ), concept related (C k ) to the link and additional values or attributes (V k ).
  • the instant of time, T k refers to the instant of time according to the clock of the participant that generates the link. It is not necessary for the participants' clocks to be synchronized.
  • C k describes the information contained in the link.
  • Each link can be, for example, a step in the game protocol, a compromise, or the result of the game.
  • the concept details the type of link.
  • Additional attributes V k vary according to the concept. For example, in case the link contains the As a result of a commitment protocol, the attribute will contain the transformation of the committed element:
  • the chained summary of link X k is constructed in three phases: First, the chained summary of the previous link X k - ⁇ is concatenated with the data of the current message D k . Next, the summary of the concatenated set is calculated. Finally, this summary is digitally signed with the private key of the author of the link:
  • the chained summary of link 203 is constructed from the data of link 203, D k , and the chained summary of link 201, X k - ⁇ .
  • Each participant in the chain construction will normally have a different computing power. If the construction is sequential, the total time for the execution of a protocol step will be the sum of all the individual times. In the case of a parallel execution, the time will be equal to the time of the slowest platform.
  • An expression of the chain is shown in expression 4. This expansion consists of all the participants in the protocol ⁇ Ji,. . . , J n ⁇ calculate their chained summary independently using the chained summary of the previous link X k - ⁇ .
  • links 207 are constructed in parallel.
  • the chained summary of each link 207 is constructed with the data of said link 207 plus the chained summary of the previous link 205.
  • expression 5 the contraction of the chain is shown. This is the inverse process of expansion, and it occurs when the protocol again requires sequential execution after a parallel execution phase. A single link is obtained that is linked to the previous links.
  • the play participant initiating the sequential process concatenates data D k, with all of the above summaries chained links ⁇ N / ii]. . .
  • the link chain 211 is formed by the data of said link 211, plus the chained summaries of links 209.
  • the CDNE chain prevents a player 101 from subsequently adding, removing or modifying any link in their benefit, without the rest of the players detecting such modification with verification.
  • removing one or more links means that the chain is inconsistent. Any part can verify that there is a piece that is not well built, verifying the construction of the chain. This inconsistency of the chain is called the breaking point. The dishonest player 101 should be able to redo the chain to avoid being detected. But for that I would need the private key of the rest of the participants who have collaborated in the construction process.
  • the CDNE chain is not in the possession of a single party, but of all the participants in the game. When a player 101 generates a new link, he sends it to the rest of the participants. All participants have the CDNE chain, and with it they can demonstrate to a third party that the execution of the game has been honest. In the event that a player 101 manipulates the chain it will be different from the rest.
  • a tool frequently used in remote game protocols is the commitment protocol.
  • a commitment protocol is a cryptographic protocol that allows a participant A to commit to a value (either a bit or a string of them), compared to another participant B so that:
  • the first commitment protocol (for a single bit) was presented in [Blum M., Coin flipping by telephone: a protocol for solving impossible problems, Proc. IEEE Computer Conference, pages 133-137, 1982].
  • An overview of the different commitment protocols proposed can be found in [Schneier B., Applied Cryptography Second Edition: Protocols, Algorithms, and Source Code in C, John Wiley & Sons, 1996].
  • the present invention provides a robust commitment that incorporates non-repudiation and meets the strength requirements mentioned above. In this way, the weaknesses, already mentioned, present in the protocols of commitment of the inventions US 6,264,557, and US 6,165,072 are overcome.
  • the commitment protocol presented is an evolution of a proposal by [Jakobsson M., Sako K., Impagliazzo R., Designated Verifier Proofs and Their Applications, Theory and Application of Cryptographic Techniques, pages 143-154, 1996] in a field of cryptography alien to that considered in the present invention, such as the construction of null interactive knowledge protocols.
  • Player A has a pair of asymmetric keys (PA, S A ), with PA being the public component and SA the private one being kept secret by A.
  • PA being the public component
  • SA the private one being kept secret by A.
  • the component The public is duly certified by a Certification Authority, and is accessible to other participants in the protocol.
  • the bit commitment will be the operation or exclusive bit by bit of the two previous cryptograms, obtaining the commitment Cp, which is sent to another player 101 or other players 101 (denoted by B):
  • R3 PA ⁇ SA ⁇ R3 ⁇ .
  • Non-invertible A function is non-invertible or irreversible when the input values cannot be found from the output.
  • Each player 101 generates a permutation of the cards of the random deck that maintains secretly and commits to it through a protocol of commitment.
  • the shuffled deck of cards is formed by the composition of the permutations of all players 101.
  • a player i asks for a card from a w value.
  • Said value w can be chosen by the players, or be prefixed by the rules of the game.
  • the rules of the game can explicitly define the w values to be used, or that are chosen jointly by the players.
  • the first player applies his permutation to ui and sends the result to the next player.
  • Each player 101 applies its permutation to the value received from the previous player 101.
  • the use of permutations ensures the uniqueness of the letters. But it is also necessary that the owner of the letter be the only one who knows its value. For this, the player protects the card, or preferably the number with his secret code.
  • a certain natural value is assigned to each card that, given a preset order, corresponds to a specific figure, or card of the traditional deck of cards. For example, if in a deck of Spanish cards the order of the Gold, Bastos, Swords and Cups suits is fixed and within each suit the increasing order of the cards between one (As) and twelve (King), the value 15 would correspond to three of Bastos.
  • a card w is defined as a vector:
  • a permutation ⁇ on a set S is a bijective function of S in S (go: S ⁇ S).
  • S is the deck of cards used.
  • Permutations are typically represented as conversion tables, where each index has an output value that belongs to the same initial set.
  • Card permutation matrix A permutation of letters, ⁇ , can be represented on a set of t elements such as a square matrix of t rows, which is called the Letter Permutation Matrix, where the vector of each row and that of each column are of the form w described in 7. Denoted by LT the
  • Each row i of matrix II is a letter, whose value is equal to the permutation of r (i).
  • Equivalent permutation matrix of cards Each player 101 has a matrix with a z ⁇ of his own, and represents the cards using this z ⁇ .
  • J ⁇ In order for J ⁇ to operate its card permutation matrix with the J ⁇ _ ⁇ card, J ⁇ must represent its card permutation matrix with the Zi- ⁇ de J ⁇ _ ⁇ . It is called the equivalent card permutation matrix II ⁇ to the matrix created from permutation 7r ⁇ taking z.
  • a deck of cards consists of t cards in the manner described above.
  • Each Ji creates a permutation 7r what keeps it in secret.
  • the shuffled deck is formed by the composition of the permutations of the n 101 players in a pre-established order, ⁇ n or ⁇ till_ ⁇ • • • ⁇ 2 or ⁇ i. In this way it is possible to mix the deck together among all the players 101, without any of them having any advantage.
  • the composition of permutations assures us the uniqueness of the letters, since it is not possible for the letters to be repeated.
  • player 101 encrypts his card to hide his value, and the rest of players 101 apply their permutation to said encrypted value.
  • the cryptosystem to use must guarantee the privacy of the data, and allow to operate with encrypted data.
  • An HP privacy homomorphism is an encryption scheme that preserves certain operations. That is, assuming that E K is an HP that preserves the sum, given two values £ and and it is the same to add the two values and then encrypt the result, to encrypt the data and then calculate the sum:
  • a value w is determined and made public.
  • Said value w belongs to the range of game elements and has not been previously selected.
  • the value w can be chosen by said player i, or preset the rules of the game.
  • the rules of the game may explicitly define the w values to be used, or that the players jointly choose those w values.
  • the value w is chosen by player i. It can be guaranteed that said w value has not been previously chosen because the chosen w values are known, or because each player has a disjoint range of values to choose from.
  • player i sends the value w to Ji.
  • step 303 calculates the permutation of said value with its secret permutation, and sends the resulting value u> ⁇ to J 2 .
  • step 3 it can be seen how this process 303 is repeated until it reaches J ⁇ .
  • Said player J ⁇ applies his permutation to the value _j ⁇ _ ⁇ received from J ⁇ _ ⁇ , obtaining Wi.
  • Ji must send the result to the other players ⁇ J ⁇ + ⁇ , • • •, J n ⁇ to apply their permutation.
  • step 305 J ⁇ Wi figure obtaining w i that is sent to J i + 1 .
  • step 307 J ⁇ + ⁇ apply its permutation to IÜ ⁇ obtaining w i + 1 that is sent to the next player. This process 307 is repeated until reaching the last player J n that sends the obtained value w n
  • step 309 deciphers the value w n obtaining the value w n , which according to said initial identification corresponds to the card of the deck requested by J ⁇ . 'This value w n indicated in the claims as value p.
  • Each message exchanged by players 101 is a link in the CDNE chain described above. In the event that a manipulation occurs, this chain will allow it to be demonstrated to a third party.
  • each player 101 before starting the game performs the operations described below.
  • Each player J does have a pair of asymmetric keys (P J ⁇ SJ ⁇ and the certification of the public component by a recognized certifying authority.
  • A2 It generates a 7r permutation of the deck of t cards and keeps it secret.
  • A3 Create your symmetric key - corresponding to HP. Each J does have a different and secret -j.
  • A4 Choose a prime value z i such that z ⁇ ⁇ K ⁇ .
  • A5 Build a link in the chain, where the concept C k describes that the link contains the z ⁇ used by J ⁇ , and the field V k contains Zi. By performing this action simultaneously all players 101 the CDNE chain expands at this point.
  • A6 Construct the permutation matrix H, corresponding to ⁇ ⁇ , using z ⁇ .
  • A7 It commits to this permutation IIj by means of a bit commitment protocol. Obtaining as committed value Cp % .
  • V k contains Cp % .
  • the protocol will preferably be the one presented above, or any of those mentioned in the background of the invention.
  • A10 Choose s values ⁇ _ ! , - • •, e s ⁇ , such that e ⁇ mod z ⁇ 0, Vz G ⁇ 1, • • •, s ⁇ , and s> t.
  • A12 Construct the next link in the chain where the Vk field contains the set D of the values ⁇ di,. . . , d n ⁇ .
  • the concept C k details that the link contains a set of values that are zero module z l and that are encrypted.
  • A13 Construct another chain link where V k E field contains the set of values ⁇ _ ⁇ ,. . . , and n ⁇ .
  • the concept C k details that the link contains a set of values that are different from zero module z t , and that are encrypted.
  • A15 Change the order of the encrypted letters, ⁇ w- ⁇ ,. . . , w t ⁇ .
  • A16 Build the next link in the chain.
  • the concept C k of the link indicates that it contains a deck of cards encrypted by J.
  • Field V k contains those encrypted cards, ⁇ w,. . . , w t ⁇ , according to the order of step A15.
  • the player 101 who acts as a croupier after completing this initialization phase, performs the contraction of the chain.
  • the resulting link chain is formed from the last links constructed by each player 101, J ⁇ . C k detailing the concept that it has completed the initialization phase, and can start the game.
  • the value field V k does not contain any data.
  • This operation is simple because the request is made publicly. All participants know the initial values that have been previously selected.
  • V k contains w which is the vector representation of the value v
  • C k details that J % wants the card that corresponds to the value w.
  • C2 Calculate the equivalent card permutation matrix II x of its matrix IIi. This operation can be performed because it knows the z % value that J has made public in step Ab.
  • C4 Build the next link in the chain.
  • the concept C k describes that said link contains w ⁇ , and that J 2 must perform the following calculation.
  • Field V contains the value ⁇ _ ⁇ .
  • D3 Modify the row of IIj, where it is equal to the value of the card ⁇ _V_ I - Change all the elements of the row ⁇ Jt ⁇ ,. . . , ⁇ -,., by values other than zero module z x . If a player 101 asks J ⁇ for the cards he has previously requested, he will obtain an invalid card as detailed below.
  • J + i performs the following operations:
  • E2 Encrypt its matrix Tli + ⁇ with the key Ü of J ⁇ from the values ⁇ i • • •, d_,, • • •, e s ⁇ of step A12 and .413, and obtain the encrypted matrix that is denote as Go? +1 :
  • Jj + i performs the following operations: Fl: Pseudo randomly obtains a value g, such that, 1 ⁇ g ⁇ s.
  • Gl Pseudo randomly obtains a value l such that 1 ⁇ l ⁇ s.
  • E3 Calculate the following permutation in encrypted form by multiplying the encrypted letter w, by its encrypted matrix ⁇ +1 with the key K % .
  • J receives the link built by J n , and performs the following operations.
  • Hl Check the validity of the link created by J discourse.
  • a player 101 to discard a W card builds a link in the CDNE chain.
  • the concept C k of said link indicates that player J t discards a card.
  • the Vk field contains the encrypted value of said discarded card.
  • J ⁇ chooses a single card in each execution thereof. But the protocol allows a player 101 to obtain several cards in a single execution. For this optimization it is necessary to first define the concept of multi-card.
  • Multi-card is defined as a vector of t elements, where t is the number of cards in the deck, and z is a given prime value,
  • this vector has more than one index a % such that a ⁇ mod z ⁇ 0.
  • the index i, of each element a ⁇ mod z ⁇ 0, Indicates one of the multi-card values. That is, a multi-card is a vector that represents more than one card.
  • the protocol is developed in the same way described above. At the end of the protocol, J deciphers the covered card that J n has calculated, and obtains a multi-card, that is, the set of chosen cards.
  • step D3 if a coalition of players 101 tries to obtain the cards of another player J during the second, or subsequent times that cards are dealt in the game, that coalition must build a multi-card with the values it has J ⁇ order, and encrypt it. However, you won't get the J ⁇ cards, because the card you get when you ask for a letter already requested is a vector with all the different indices of zero module 2 ⁇ . This is so, due to the transformation of the matrix H of step E> 3. The multi-card obtained is a null card, because it does not provide any information.
  • a player uses a Z ⁇ wrong: If J k in the construction of the matrix of equivalent cards with the 2 ⁇ of J ⁇ uses z 3 such that z 3 ⁇ Zi, when J ⁇ deciphers w n he will get a null card. J will necessarily denounce this action, because he will not be able to show his cards at the end of the game. The verification of the game hand will discover J k .
  • a player does not use the IIj with which he has committed: A player can use a different permutation with which he has committed throughout the game, or change it for some moments of it.
  • said dishonest action will be detected.
  • players 101 can obtain duplicate cards. Player 101 who receives a repeated card asks for a review of the game hand. If the action is not detected during the game, the author of the manipulation will be discovered in the verification phase.
  • the values of the set D ⁇ di,. . . , d s ⁇ are incorrect: If a player 101 does not provide the correct values, the cards that will be obtained will be void. Will the 101 players build their matrix II? with these values, and when operating with this matrix the resulting cards will be void. Player 101 who obtains a null card asks for a review of the game.
  • a participant in the game constructs an incorrect link: During the execution of the protocol each player 101 verifies the correct construction of the links At the moment that a player 101 introduces an incorrect link, the players 101 report the action.
  • the values requested in step B2 are in the CDNE chain. If a player 101 asks for a value already selected 5 the rest can show that he must ask for a different value.
  • a player does not correctly encrypt his matrix Incorrect encryption results in null cards, or repeated values. If this happens in the verification phase, the rest of the players 101 will be able to detect the manipulation.
  • a player withdraws during the initialization phase If a player 101 withdraws during the initialization phase, the game continues without this player 101.
  • a player withdraws after the initialization phase is over: If a player 101 withdraws before starting the game, it is played without player 101. The permutations will be made without using its permutation.
  • 30 player 101 generates a permutation of the cards in the random deck that he keeps secret and commits to it through a compromise protocol.
  • the shuffled deck of cards is formed by the composition of the permutations of all 101 players.
  • Each 101 player, in the preset order, applies its permutation to the value sent by the previous player.
  • the use of permutations ensures the uniqueness of the letters obtained.
  • a value w is determined and made public. Said value w belongs to the range of game elements and has not been previously selected.
  • Said value w can be chosen by the players, or be prefixed by the rules of the game.
  • the rules of the game can explicitly define the w values to be used, or that are chosen by the players together.
  • the value w is chosen by player i.
  • This value w has not been previously chosen because the chosen w values are known, or because each player has a disjoint range of values to choose from.
  • J sends w to the first player Ji.
  • This process 403 is repeated until the last player, J n .
  • _ n according to the initially established ordination corresponds to a card of the deck, and during the game hand it belongs to J ⁇ .
  • the actions of the game are included in the CDNE chain that is built during the game. This measure allows players 101 to demonstrate actions taken to a third party.
  • the protocol is formally described below. First, the initialization phase is detailed, then the process to obtain a card, and finally the verification of honesty during the game.
  • the initialization phase is executed at the start of each game hand.
  • the croupier builds a link in the chain.
  • the concept C k indicates the beginning of the period to generate a result jointly.
  • Each player J preferably performs the following operations:
  • the dealer in parallel performs the following operations:
  • Any player 101, J ⁇ , to obtain a card performs the following operations.
  • V k of said link contains the data to verify the commitment protocol of the dealer.
  • Each player 101 once has said link builds the next link in the chain.
  • the concept C k indicates that the field V k contains the information to verify the J ⁇ commitment protocol.
  • This information will typically include the permutation of player 101.
  • the operation is performed in parallel by all players 101. This means an expansion of the chain at this point.
  • all the participants in the game have the information to verify the commitment protocols they perform the following actions:
  • the cryptographic game protocol is presented for the executable roll games by means of a roulette wheel, the roll of dice or a random machine or their equivalent representations.
  • a single value is generated for the result, characterized in that each of the players obtains its component of the result that is coincident with said value or unique result.
  • the objective of the protocol is that this result be obtained at random, without any party being able to force its value and without the participation of any TTP.
  • a value w is determined and made public.
  • Said value w can be chosen by the players, or be prefixed by the rules of the game.
  • the rules of the game can explicitly define the values to be used, or that are chosen by the players together.
  • the value w is chosen by J % .
  • step 501 J he obtains a pseudo random value and a permutation of the elements of the game, commits them through a commitment protocol and sends the commitment obtained to the rest of the players 101.
  • the commitment protocol described above is the one used in the preferred implementation, but any of those mentioned in the background of the invention can be used.
  • All players 101 in step 503 calculate a pseudo random permutation of the elements of the game, and commit themselves to it by sending the commitment to said permutation to the rest of the participants in the game.
  • players 101 have received the commitments of players 101, and show the information necessary to verify the commitment, or the information committed.
  • players 101 verify the commitment protocol of the rest of the participants in the game, and obtain the result of the game p.
  • the protocol guarantees that this value is generated jointly and honestly. All the actions of the game are included in a CDNE chain to be analyzed if necessary.
  • the dealer builds the next link in the chain, whose concept C k indicates that field V k contains the permutation of the dealer, ⁇ c , and that the initial phase has ended.
  • This link contracts the CDNE chain. The contraction also prevents any player 101 from subsequently varying their commitment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Método para una obtención imparcial de un resultado de un juego realizado a través de una red de comunicación, mediante medios de computación y/o programas informáticos asociados. El método emplea unos procesos y protocolos criptográficos especialmente diseñados para datar de seguridad y honestidad la ejecución de juegos de azar a través du una red de comunicación, y permitir su posterior auditoria. Dichos procesos y protocolos criptográficos permiten que el juego se desarrolle de forma honesta y auditable sin necesidad que un ente merecedor de confianza gestione il juego. Más específicamente, el método incluye la identificación de los distintos elementos del juego y establecer una ordenacion de estos. La asignación de forma secreta a cada jugador de una permutación arbitraria de dichos elementos. La aplicación de un protocolo de compromiso a dicha permutación, haciendo accesible el resultado del compromiso. Finalmente la generación del resultado de dicho juego operando al menos parte de dichas permutaciones secretas.

Description

MÉTODO PARA LA OBTENCIÓN DE UN RESULTADO IMPARCIAL DE UN JUEGO A TRAVÉS DE UNA RED DE COMUNICACIÓN Y PROTOCOLOS Y
PROGRAMAS ASOCIADOS
Campo de la invención
La presente invención describe un método que permite garantizar que el resultado de un juego donde intervienen eventos del azar es honesto, y auditable entre un conjunto de n participantes o jugadores que interactúan directa o indirectamente entre sí a través de una red de comunicación como puede ser Internet, sin que sea necesaria una tercera parte de confianza para asegurar la honestidad y auditoria en dicho juego, y pudiendo ser uno de estos participantes un representante de una entidad de juego tipo casino. La presente invención se refiere al juego electrónico, y más precisamente a procesos y protocolos criptográficos, así como a programas informáticos para su implement ación, empleados para dotar a sistemas de juego electrónico, preferentemente remoto, de las medidas apropiadas de seguridad, honestidad y auditoria. A lo largo de esta memoria descriptiva se entenderá por proceso criptográfico cualquier conjunto ordenado de pasos de transformación de la información que incluya operaciones criptográficas. La expresión protocolo criptográfico se utilizará aquí para referir un proceso criptográfico realizado entre diversos participantes, que se intercambian información mediante cualquier sistema de comunicación de datos. Según una tal nomenclatura, el objetivo de la presente invención es proporcionar un método de juego electrónico incluyendo diversos protocolos criptográficos para conducir, de manera segura, honesta y auditable juegos, en especial aquellos que incluyen sucesos del azar, como pueden ser los de tipo casino, qué se realizan a través de redes de comunicación tales como Internet, redes de comunicación de datos inalámbricas, o cualquier otro tipo de red informática.
La exposición de esta invención contiene material que es susceptible de protección mediante Copyright. Los titulares de dicho Copyright no tienen objeción alguna respecto a la reproducción de la descripción de este documento de solicitud de patente tal como aparezca en su versión publicada o final en las Oficinas de Patentes por terceros, pero se reserva todos los derechos en cuanto a Copyright en otros aspectos derivables de dicho documento. Antecedentes de la invención
Las redes de ordenadores, y sobre todo el sistema de redes interconectadas de alcance mundial que se conoce como Internet, han permitido que ciertas actividades comunes, como por ejemplo comprar, buscar información, o jugar se puedan realizar remotamente. La presente invención concierne al juego a través de medios electrónicos, en particular al juego remoto, ya sea para llevar a cabo los juegos de azar habituales en los casinos, con ruletas, dados, cartas, ruedas de máquinas de azar o de otros juegos de azar menos popularizados, jugados con un número finito de elementos.
Sin embargo, el juego remoto conlleva una serie de problemas que es necesario resolver para garantizar que el desarrollo del juego reúna las mismas condiciones de seguridad, honestidad y auditoria que el juego tradicional.
En un casino tradicional los jugadores pueden ver todas las acciones que realizan el resto de participantes, de forma que si detectan cualquier acción deshonesta lo pueden denunciar públicamente de inmediato. En el mundo digital la situación es mucho más compleja. Por ejemplo, en un casino tradicional cualquier jugador puede pedir una carta sin que el resto de participantes en el juego la pueda ver. En un casino online, sin embargo, si la red de comunicación es abierta y los datos que se transmiten no van cifrados, una tercera parte puede obtener la información intercambiada, e incluso llegar a alterarla. Por otra parte, en los países donde los jugadores que acceden al casino tradicional son registrados en la entrada, el proceso de registro de un jugador a la entrada del mismo es una cuestión privada entre dicho jugador y el casino. En un casino online, dicha privacidad podría ser violada si un posible intruso obtuviera acceso remoto a la base de datos de jugadores del casino.
Existe un amplio abanico de medidas de seguridad digital genéricas que pueden ser empleadas para aportar seguridad a un sistema de juego remoto. Sistemas cortafuegos, herramientas de monitorización y de registro de eventos, zonas desmilitarizadas, sistemas de detección de intrusos o sistemas de control de la integridad (anti-virus, anti-troyanos, etc.) pueden todos ellos emplearse para proteger los servidores de un casino online contra eventuales ataques externos a través de la red de comunicaciones. Redes Privadas Virtuales (VPN) pueden usarse para aportar seguridad a las transmisiones de datos entre diferentes nodos del sistema, si ello fuera necesario. Protocolos de cifrado de datos a nivel de transporte, tales como WTLS [WAP Forum, Wireless Transport Layer Security specification, Versión 06-Apr-2001, abril 2001], TLS [Dierks, T. y Alien, O The TLS protocol, versión 1.0. Request for Comments 2246, enero 1999], o su predecesor SSL [Freier, A. O., Karlton, P. y Kocher, P.C. The SSL protocol, versión 3.0. Internet-Draft, noviembre 1996], pueden usarse para asegurar la autenticidad, integridad y confidencialidad de los datos intercambiados a través de la red entre los dispositivos usados por los jugadores y los servidores del casino online. Mecanismos de firma digital como el descrito en [Rivest, R.L., Shamir, A. Y Adleman, L.M. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, v. 21, n. 2, pages 120-126, 1978] proporcionan medios adicionales para asegurar, ante terceras partes, la autenticidad y el no repudio de algunos de los mensajes intercambiados. En lo que se refiere a la honestidad, un punto central a considerar es la reproducción del azar. En una partida convencional los jugadores pueden ver como gira la ruleta, o como se mezclan las cartas que van a repartirse. En el juego remoto, sin embargo, se deben generar los resultados del juego sin estos elementos presenciales. La forma más usual es mediante la generación de números pseudo aleatorios. Se genera un valor de forma pseudo aleatoria, y a partir de éste se obtiene el resultado del juego.
Idealmente, los valores pseudo aleatorios deberían ser generados de forma que nadie pudiera manipular el valor obtenido. Una forma de conseguir este objetivo es mediante la incorporación en el juego de un ente independiente merecedor de confianza, que recibe el nombre de tercera parte de confianza (Trusted Third Party) en adelante TTP. Usualmente, los casinos online ejercen de TTP y, simultáneamente, participan activamente en el juego.
El casino por tanto está en una situación privilegiada. Tal como se detalla en [Gam- bling Review Body, Department for Culture Media and Sport of Great Britain, chapter 13, page 167, htt : //ww . culture . gov . uk/role/ga bling_review . html, 17 de julio de 2001] el número de manipulaciones en el juego remoto es muy elevado. Los jugadores están en una situación de indefensión sin ningún tipo de certeza respecto la honestidad del juego, y sin poder verificar las acciones de los otros jugadores, ni las del casino.
Otra opción es la generación del valor de forma conjunta por todos los participante en el juego, mediante un protocolo criptográfico de juego. Los protocolos criptográficos de la presente invención garantizan que el valor obtenido no ha sido manipulado por ninguna parte, o en caso de manipulación garantizan una detección de la misma.
Para garantizar la honestidad del juego remoto diversos autores han propuesto protocolos criptográficos para juego en entornos virtuales (a menudo denominados protocolos para juego mental). Estos protocolos tienen como objetivo asegurar que si alguna de las partes no sigue las reglas del juego su actividad y/o origen será detectada y que ninguna de las partes podrá situarse en una situación privilegiada respecto a las demás.
La mayoría de estos protocolos utilizan un protocolo de compromiso. Este concepto fue introducido por Blum en el año 1982 [Blum M., Coin flipping by telephone: a protocol for solving impossible problems, Proc. IEEE Computer Conference, pages 133-137, 5 IEEE, 1982]. Un protocolo de compromiso es un protocolo de dos fases, una fase de compromiso seguida de una fase de liberación del compromiso. Se puede ejemplificar de forma física dicho esquema de la forma siguiente: En la primera fase cada participante introduce una determinada información en una caja, la cual cierra con una llave y entrega dicha caja al resto de participantes. En la segunda fase entrega la llave que
10 permite abrir la caja y recuperar la información dentro de la caja inicial. La información se denomina comprometida porque no puede ser alterada por el propietario de la misma entre las fases primera y segunda.
Una visión general sobre el estado de la técnica en relación con los protocolos de compromiso se puede hallar en [Schneier B., Applied Cryptography: protocols, algorit-
15 hms, and source code in C, Second Edition, Wiley, 1996]. La mayoría de los protocolos criptográficos para juego propuestos se ocupan del caso del Poker, por ser uno de los juegos de azar más complejos desde el punto de vista de la teoría de la información. La primera propuesta [Shamir A., Rivest L., Adleman L., Mental Poker, Mathematical Gardner, pages 37-43, 1981] sólo sirve para dos jugadores, y el criptosistema conmuta-
20 tivo que utiliza puede desvelar información de las cartas al adversario. Este protocolo fue mejorado en [Goldwasser S., Micali S., Probabilistic Encryption and How to Play Mental Poker Keeping Secret all Partial Information, In Proc. of the 14th STOC, pages 365-377, 1982], pero su propuesta sigue sirviendo únicamente para dos jugadores. El protocolo de Fortune y Merritt citado anteriormente permite más de dos jugadores
25 pero requiere la presencia de una TTP, con los consiguientes problemas que esto conlleva. De hecho, la necesidad de una TTP suele considerarse en todas las propuestas de protocolos criptográficos del tipo citado como un requisito imprescindible, incluso en las más recientes como [Chou J-S., Yeh Y-S., Mental poker game based on a bit commitment scheme through network, Computer Networks, v. 38, pages 247-255, Elsevier,
30 2002]. Por otra parte, diversas propuestas como las de [Crepeau O, A Zero-Knowledge Poker Protocol that Achieves Confidentially of the Players or How to Achieve an Electronic Poker Face, Advances in Cryptology - Crypto '86, LCNS 263, pages 239-250, Springer-Verlag, 1986], [Kurosawa K., Katayama Y., Ogata W., Tsujii S., General Public Key Residue Cryptosystems and Mental Poker Protocols, Advances in Cryptology
35 - Eurocrypt '90, LCNS 473, pages 374-388, Springer-Verlag, 1990] y [Schindelhauer O, A Toolbox for Mental Card Games, Medizinische Universitát Lübeck, 1998] deben considerarse como meras soluciones teóricas, ya que requieren de excesivo tiempo de cómputo para poder ser utilizadas en cualquier implantación práctica.
Además de la seguridad y de la honestidad del juego, el tercer aspecto fundamental a considerar es el de la auditoria del proceso de juego para resolver posibles disputas entre los mismos jugadores o entre éstos y el casino en cuanto a los resultados del juego.
En los casinos tradicionales existen mecanismos de grabación a distancia que permiten resolver dichas disputas revisando a posteriori el desarrollo del juego. En el caso de los casinos online, si no se adoptan las medidas apropiadas, pueden aparecer situaciones en las cuales por ejemplo el jugador gane y el casino no quiera pagar dichas ganancias, quedando el jugador sin ninguna prueba válida ante un tribunal o autoridad encargada de resolver la disputa para demostrar que ha sido víctima de un abuso por parte del casino.
En general, debería registrarse suficiente información sobre el desarrollo del juego para que un análisis posterior de la misma permita resolver cualquier disputa que se presente. Dicho registro debe garantizar que no sea posible añadir, eliminar o modificar ninguna entrada del juego sin que ello sea detectado. En caso contrario la parte que posea el registro podría alterarlo a su conveniencia cuando quisiera. Por otra parte, cada entrada en el registro debe contener una prueba de su autoría, para impedir que la parte que haya generado dicha entrada pueda repudiarla posteriormente.
Algunas invenciones previas presentan sistemas y/o métodos para juego remoto en una red de comunicaciones. Los ejemplos más remarcables son las invenciones descritas en US 4,926,327, Sidley J., Computerized Gaming System; US 4,958,835, Tashi- ro K., Okamoto S., Okamoto T., Game Playing System; US 5,038,022, Lucero J.L., Apparatus and Method for Providing Credits for Operating a Gaming Machine; US 6,196,920, Spaur C.W., Lappin E., Wisler J.M., On-line Game Playing with Adverti- sing; GB2307184, Arthur J., Gaming Network; US 5,755,621, Marks H.M., Singer A.M., Modified Poker Card/Tournament Game and Interactive Network Computer System for Implementing Same; US 5,823,879. Goldberg S.F., van Antwerp J., Network ga- ming system. Todas estas invenciones únicamente describen la operatividad del juego remoto, pero no hacen hincapié en los problemas de seguridad, honestidad y auditoria anteriormente mencionados.
Un segundo grupo, siendo ejemplos representativos US 6,106,396, Alcorn A.E., Bar- nett M., Giacalone Jr L.D., Levinthal A.E., Electronic Casino Gaming System with Improved Play Capacity, Authentication and Security; US 6,117,011, Lvov D.E.. Elec- tronic Game System, Method of Managing and Regulating Said System; US 6,264,560.
Goldberg S. F., van Antwerp J., Method and System for Playing Games on a Network; y WO9811686, Evensen K., Troxel R., Wakai B.M., Booth M., Ninh L., Takata K., Combined Digital Audio/Video on Demand And Broadcast Distribution System, contemplan tan sólo la seguridad a nivel de red. Dichas invenciones cifran las comunicaciones entre las partes del juego únicamente para asegurar su privacidad, sin aportar ningún protocolo de juego para garantizar que el juego sea honesto. Tampoco definen ningún método para guardar la información que se genera durante el juego, de forma que en base a la misma se puedan generar pruebas inalterables de la ejecución de dicho juego. Esto no permite garantizar una auditoria honesta en caso de conflicto, puesto que las pruebas pueden haber sido alteradas fácilmente.
Las invenciones descritas en US 6,264,557, Schneier B., Walker J.S., Jorasch J.A., Method and Apparatus for Securing Electronic Games; y US 6,165,072, Benjamín D.S., Susan C.C., Apparatus and Process for Verifying Honest Gaming Transactions Over a Communications Network, contemplan la seguridad en las comunicaciones y la honestidad de algunos de los juegos. Ambas utilizan un protocolo de compromiso como base. En la primera invención uno de los protocolos de compromiso presentados utiliza un criptosistema simétrico. Cada jugador se compromete a un valor generado de forma pseudo aleatoria cifrando dicho valor con una clave de sesión de dicho criptosistema y enviando la información cifrada al resto de los participantes. Con el conjunto de los valores de los distintos jugadores el casino compone el resultado del juego. El problema de dicho protocolo de compromiso es que si un participante, en la citada segunda fase de liberación del compromiso, entrega una clave de sesión distinta a la utilizada en la fase de compromiso, el resto de participantes obtendrán un valor pseudo aleatorio dis- tinto al comprometido inicialmente, sin poder denunciar la manipulación. Realmente, el jugador no se compromete a un valor. En la invención de Benjamín y Susan se genera conjuntamente entre todos los participantes una semilla para un generador pseudo aleatorio. Con este generador se obtienen los resultados del juego. Para realizar el compromiso se utiliza una función irreversible, pero no detalla que sea libre de colisiones. Se entenderá que una función / es libre de colisión si es computacionalmente difícil hallar dos entradas diferentes, x y, que den lugar a una misma salida f(x) = f(y). Si el jugador puede hallar fácilmente varios valores diferentes que colisionen no se compromete realmente a un valor. Según le interese puede aportar uno o otro. Además, en ambas invenciones el casino está actuando como TTP, lo que conlleva los problemas comentados anteriormente. En las dos invenciones citadas en último lugar se guardan los datos intercambiados entre los jugadores en un registro, y ambas incluyen la posibilidad que estos datos vayan firmados digitalmente. Esto garantiza que no se puedan repudiar ni modificar entradas del registro pero no impide que se puedan añadir o eliminar entradas.
Breve exposición de la invención
La presente invención describe un método y protocolos asociados para la obtención de un resultado imparcial de un juego a través de una red de comunicación, mediante medios de computación y/o programas informáticos.
Un primer objetivo de la presente invención es aportar un método para la obtención de un resultado de un juego a través de una red de comunicación de forma honesta, segura y auditable, sin la necesidad de que una tercera parte de confianza gestione el juego y garantice las propiedades mencionadas.
La presente invención se centra principalmente, pero no de forma exclusiva, en los juegos de azar más conocidos, usuales en los casinos, sin embargo también es posible su utilización en juegos de azar menos conocidos, dada la menor difusión de sus reglas, o que provienen de otros entornos o culturas.
La presente invención divide los juegos de azar en varios grupos, dado que cada juego tiene unas reglas de funcionamiento específicas, y por consiguiente unas necesidades diferentes, si bien en todos ellos se aplican unos principios comunes. Concretamente se establecen tres grupos: juegos de tirada, juegos de cartas descubiertas, y juegos de cartas tapadas.
En el primer grupo el resultado del juego se basa en la obtención de un valor o conjunto de valores al azar, comunes a todos los participantes en el juego. La ruleta o los dados son ejemplos característicos de juegos basados en la obtención de un único valor; el bingo o el keno son ejemplos característicos de juegos basados en la obtención de varios valores.
El segundo grupo se refiere a los juegos de azar en los que cada jugador obtiene en propiedad varios valores de forma abierta. Los juegos de cartas descubiertas son los más conocidos de este grupo, y por este motivo dicho grupo recibe el nombre de juegos de cartas descubiertas. El Black Jack es un ejemplo significativo de este grupo.
El tercer grupo es el más complejo pues en el mismo cada participante obtiene en propiedad una o varias cartas de forma que únicamente dicho participante conoce su valor. Un ejemplo representativo de este grupo es el Poker. Es otro objetivo de la presente invención superar las limitaciones y los inconvenientes prácticos de los trabajos previos en protocolos criptográficos de juegos de cartas tapadas que no utilizan una tercera parte de confianza, y alcanzar un mismo nivel de honestidad que en el juego convencional. Es otro objetivo de la presente invención describir mecanismos que permitan la auditoria del juego, garantizando que cada participante pueda demostrar a una tercera parte las acciones ocurridas durante el juego. A tal efecto, cada operación del protocolo criptográfico pasa a ser un eslabón de una cadena de información. Dicha cadena recibe el nombre de cadena resumen distribuida no repudiable, en adelante cadena CDNE, o cadena resumen en las reivindicaciones. Cuando un participante construye un eslabón de la cadena CDNE lo comunica al resto de participantes y por consiguiente todos ellos disponen de la misma cadena CDNE. Los eslabones van firmados digitalmente. La firma digital garantiza la autenticidad, integridad, y no repudio de cada eslabón. Solo se puede añadir un eslabón al final de la cadena, y ningún participante puede modificar, o eliminar un eslabón. La cadena es eficiente porqué permite que los participantes en el juego puedan realizar cálculos de forma paralela.
Es otro objetivo de la presente invención describir un protocolo de compromiso robusto alternativo a los ya existentes. El protocolo de compromiso tiene los pasos siguientes. La parte que se compromete a un cierto valor Rl dispone de un par de claves asimétricas. Dicha parte genera un valor R2 de forma pseudo aleatoria y añade cierta redundancia a Rl, de forma que se obtiene R3. Cifra R3 con el componente privado del par de claves asimétricas de que dispone, y cifra R2 con el componente público, obteniendo el compromiso Cp realizando un or exclusivo de los valores cifrados. Para deshacer el compromiso y verificarlo, revela R2. El verificador cifra R2 con la clave pública de la parte que se compromete, y calcula el or exclusivo con Cp. Cifra el resultado obtenido con la clave pública de la parte que se compromete obteniendo R3. Si R3 tiene la redundancia esperada, el compromiso es válido.
En el método de juego remoto descrito en la presente invención participa un conjunto de n jugadores o partes, siendo n al menos dos, estando dotadas cada una de las partes de un conjunto de programas denominado Agente del jugador, y de una Plataforma de juego o dispositivo con capacidad computacional suficiente para ejecutar dicho conjunto de programas. El método en general se ha concebido para que se puedan desarrollar juegos de tipo casino, pudiendo participar un gran número de jugadores y una entidad de juego central (tal como un casino), si bien también es factible implementar dicho método y protocolos asociados entre un grupo de jugadores sin la colaboración de dicha entidad central o casino.
En la presente descripción de la invención se entenderá por jugador i el conjunto formado por el propio jugador i que inicia el proceso y el componente software o hardware que implementa los protocolos criptográficos de juego más la plataforma de juego del jugador i. Por consiguiente, las acciones que en la descripción se indica que realiza el jugador i realmente son realizadas por el software que implementa el método y la plataforma del jugador i. Se ha utilizado esta convención para facilitar la comprensión del método.
Dicho método de juego remoto descrito comprende por lo general algunos de los elementos siguientes: cartas, caras de uno o varios dados, números de una o varias ruletas y las figuras de una o varias ruedas de una máquina de azar de monedas, o sus representaciones similares. Como paso previo al juego, y aplicable a todas sus variantes ejemplificadas en la invención, se realiza una identificación de los distintos elementos del juego. Dicha identificación permite establecer una ordenación de los elementos, y por consiguiente hacer corresponder a cada elemento un número natural entre 1 y í. Una vez iniciado el juego cada jugador obtiene una permutación arbitraria de los t elementos del juego. El jugador mantiene dicha permutación en secreto, y se compromete a ella aplicando un protocolo de compromiso que envía al resto de participantes en el juego. El resultado del juego se obtiene operando al menos parte de dichas permutaciones secretas de dichos n jugadores.
Antes de obtener el resultado se establece una ordenación de las permutaciones de dichos n jugadores, basada en un determinado criterio tal como el orden de entrada de dichos jugadores en el juego. Esta ordenación se utilizará para componer las permutaciones y calcular el resultado del juego. La ordenación de las permutaciones permite establecer un orden entre los jugadores, asignando a cada uno de ellos un número natural entre 1 y n.
Inicialmente se determina al menos un valor tu. Este valor puede ser elegido por los jugadores, o ser prefijado por las reglas del juego. Las reglas del juego pueden definir explícitamente los valores w a utilizar, o que los jugadores elijan de forma conjunta dichos valores w. Dicho valor w se opera con al menos las permutaciones de los jugadores que no han intervenido en su elección, y con todas ellas si el valor ha sido prefijado, obteniendo al menos un valor p. El valor p es un elemento del juego que formará parte del resultado final de dicho juego. Los jugadores pueden verificar la correcta y honesta obtención de dicho valor p. Un jugador i de los n citados obtiene un elemento del juego p, es decir una carta, en los juegos de cartas descubiertas mediante la ejecución del siguiente protocolo de juego.
En primer lugar se determina un valor w y se hace público. Dicho valor w se establece mediante cualquiera de las opciones descritas previamente. En la implementación preferida el jugador i genera un valor w de forma pseudo aleatoria que pertenece al rango de elementos del juego, y que no ha sido seleccionado anteriormente por ningún otro jugador. El jugador i envía w al primer jugador, según el orden preestablecido.
El primer jugador opera dicho valor w con su permutación secreta, y a la cual se ha comprometido, obteniendo un valor permutado que envía o hace accesible al siguiente jugador. Cada jugador entre 2 y n, después de recibir o acceder al valor permutado del jugador anterior, lo opera con su permutación secreta obteniendo un nuevo valor permutado que envía al siguiente jugador. El valor permutado obtenido por el último jugador n corresponde a dicho elemento del juego p, que envía al jugador i.
El valor p, según la ordenación inicial, corresponde a la carta de la baraja pedida por el jugador i. Este proceso se repite hasta que cada jugador dispone de todas las cartas necesarias para el desarrollo del juego. A partir de las cartas obtenidas por cada jugador y las reglas del juego se determina el ganador del juego. En el proceso intervienen únicamente los participantes del juego, que actúan por igual en el protocolo criptográfico, sin necesidad de una tercera parte de confianza. Con ello se consigue garantizar la honestidad del proceso, porque cada uno de los jugadores está en igualdad de condiciones, y puede probar cualquier alteración o acción deshonesta en el juego.
En el protocolo criptográfico de juego desarrollado para el grupo de juegos de cartas tapadas, el jugador i obtiene un valor p correspondiente a una carta a través de los pasos siguientes. En primer lugar se determina un valor w y se hace público. Dicho valor w se establece mediante cualquiera de las opciones descritas previamente. En la implementación preferida el jugador i genera un valor w de forma pseudo aleatoria que pertenece al rango de elementos del juego, y que no ha sido seleccionado anteriormente por ningún otro jugador. El jugador i envía w al primer jugador, según el orden preestablecido. El primer jugador opera dicho valor w con su permutación secreta, y a la cual se ha comprometido, obteniendo un valor permutado que envía al siguiente jugador. Cada jugador entre 2 y . — 1, después de recibir el valor permutado del jugador anterior, lo opera con su permutación secreta obteniendo un nuevo valor permutado que envía al siguiente jugador. El jugador i recibe del jugador . — 1 el valor permutado y lo opera con su permutación secreta. A continuación protege el valor permutado ocultando su contenido con un sistema que permita operar con valores protegidos, y lo envía al siguiente jugador. El resto de jugadores, de i + 1 hasta n, después de recibir el valor permutado protegido del jugador anterior lo operan con su permutación secreta generando un nuevo valor permutado protegido, y envían el resultado al siguiente jugador. Este paso se repite hasta el jugador n, quien envía el nuevo valor permutado protegido al jugador i. El jugador i desprotege el valor permutado protegido recibido del jugador n obteniendo un valor p. Dicho valor p corresponde a una carta de la baraja según la ordenación establecida inicialmente. La carta obtenida por el jugador i es una componente del resultado.
Este proceso se repite hasta que cada jugador dispone de todas las cartas necesarias para el desarrollo del juego. A partir de las cartas obtenidas por cada jugador y las reglas y operativa del juego se determina el ganador del juego y el pago de las apuestas realizadas con anterioridad o durante el desarrollo del juego. Como en el caso anterior todos los jugadores participan por igual en el protocolo de juego, redundando ello en la honestidad del mismo. El protocolo criptográfico de juego presentado para el grupo de juegos de tirada consta de los pasos siguientes. En primer lugar se determina un valor w y se hace público. Dicho valor w se establece mediante cualquiera de las opciones descritas previamente. En el caso de los juegos como el bingo, keno o similares no se determina un único valor, sino los valores necesarios para el desarrollo del juego. Todos los jugadores generan una permutación secreta y se comprometen a ella mediante un protocolo de compromiso que comunican al resto de jugadores. Una vez todos los jugadores disponen de los compromisos del resto de jugadores revelan los datos necesarios para comprobar el protocolo de compromiso, y obtienen o calculan dicha permutación de cada jugador. Con la composición de las permutaciones de dichos jugadores en el orden establecido se halla la permutación resultado. Se aplica el valor w a dicha permutación resultado obteniendo un valor p. El valor p corresponde a un resultado del juego según la ordenación establecida inicialmente. En el caso de los juegos de tipo bingo, keno o similares el proceso se repite con el resto de valores w mencionados, hasta obtener todos los valores p necesarios para determinar el resultado del juego.
En resumen, la presente invención describe un método honesto, auditable y seguro de juego electrónico y los protocolos criptográficos de juego para garantizar dichas propiedades. La invención permite que el juego electrónico a través de una red de comunicaciones alcance niveles de honestidad, auditoria y seguridad similares a los que se dan en el juego físico, sin necesidad de una tercera parte de confianza. Otros aspectos y detalles de la invención aparecen referidos en la exposición detallada de la misma con ayuda de figuras.
Breve descripción de las figuras
En la Figura 1 una pluralidad de jugadores 101 mediante un agente del jugador 103 que se ejecuta en un plataforma de juego 105, establecen una conexión 107 a una red de comunicación 109, y juegan de forma remota.
En la Figura 2 se puede apreciar un ejemplo de cadena CDNE. El resumen encadenado del eslabón 203 se construye a partir del resumen encadenado del eslabón anterior 201, y de los datos del eslabón 203. Los eslabones 207 son una expansión de la cadena CDNE. El resumen encadenado de cada eslabón 207 se calcula a partir del resumen encadenado del eslabón 205, y de los datos de dicho eslabón 207. El eslabón 211 es una contracción de la cadena. El resumen encadenado del eslabón 211 se realiza a partir de los resúmenes de los eslabones 209, y de los datos del eslabón 211.
La Figura 3 muestra los pasos del protocolo criptográfico de juego con cartas ta- padas. En el paso 301 el jugador Jt pide a Ji la carta que corresponde a la posición w. {Ji, . . . , Jj} realizan el paso 303. En dicho paso cada jugador una vez ha recibido el valor uι3 del jugador anterior aplica su permutación secreta a w3 , y envía el resultado obtenido
Figure imgf000014_0001
al siguiente jugador. J no envía wl a J+i, sino que realiza el paso 305. En dicho paso 305 J% protege el elemento del juego wt, obteniendo wl que es enviado a Jl+χ. En el paso 307 Jl+ι aplica su permutación secreta al valor protegido wτ, y envía wi+1 a Jl+ι. El paso 307 se repite hasta el jugador Jn, quien envía wn a J%. En el paso 309 Ji desprotege wn, y obtiene el elemento del resultado del juego deseado wn, indicado en las reivindicaciones como valor p.
En la Figura 4 se puede ver de forma gráfica los pasos del protocolo criptográfico de juego con cartas destapadas. En el paso 401 el jugador J% pide la carta que corresponde a la posición w. En el paso 403 el jugador J! aplica su permutación secreta a dicho elemento del juego w, y envía el resultado obtenido W al siguiente jugador. El proceso 403 se repite hasta llegar a Jn que envía wn a J. ιυn es un elemento del resultado del juego deseado, indicado en las reivindicaciones como valor p. La Figura 5 muestra una visión general de los pasos del protocolo criptográfico de juego de tirada. En el paso 501 el jugador J se compromete a una permutación secreta y a un valor, enviando el compromiso al resto de jugadores. En el paso 503 los jugadores se comprometen a una permutación secreta, y envían dicho compromiso al resto de jugadores. En el paso 505 los jugadores muestran la información comprometida. En el paso 507 cada jugador verifica el protocolo de compromiso del resto de participantes en el juego, y calcula el elemento resultado del juego de azar p .
Descripción detallada de la invención
En la Figura 1 se puede apreciar una pluralidad de jugadores 101 dotados cada 5 uno de ellos de un componente software denominado Agente del jugador 103 y de una Plataforma de juego 105 con capacidad computacional suficiente para ejecutar dicho Agente del jugador 103, todos ellos jugando de forma remota por medio de una conexión 107 a una red de comunicación 109. El Agente del jugador 103, puede ser una aplicación con capacidad de conexión remota segura, o un Plug-In en el navegador del jugador
10 101. La Plataforma de Juego 105, es un dispositivo que permite la ejecución del Agente del Jugador 103, y que dispone de capacidad de conexión a una red de comunicación 109. Dicha Plataforma de Juego 105 puede ser por ejemplo un ordenador personal, un asistente digital personal, o un terminal de telefonía móvil. La red de comunicación 109 puede ser Internet, redes de comunicación de datos inalámbricas, o cualquier otro
15 tipo de red informática. La conexión 107 a la red de comunicación puede ser física, o inalámbrica.
En la descripción de los protocolos criptográficos de la presente invención se ha utilizado la notación siguiente: m J¿: El jugador 101 i-ésimo.
20 « H{m}: Mensaje resumen de m, obtenido mediante una función hash unidireccional y libre de colisiones.
» mι|m : Concatenación de los mensajes vti\ y m2.
" Pentid d, Sentid d- Pareja de claves asimétricas de entidad, correspondiendo Pentidad a la componente pública, y Senudad a la componente privada.
25 " Sentidad {TΠ}: Cifrado del mensaje m, realizado con la clave asimétrica privada de entidad.
" Pentidad{ }-' Cifrado del mensaje m, creado con la clave asimétrica pública de entidad. Seniidad (^): Firma digital del mensaje m. Entendiendo la firma digital como el 30 cálculo del resumen del mensaje m mediante una función hash, y el cifrado de este resumen con la clave asimétrica privada de entidad. m Kentidad'- Clave simétrica secreta de entidad. m
Figure imgf000016_0001
Cifrado del mensaje m creado con la clave simétrica de entidad. mentidad{c}: Descifrado del mensaje c obtenido con la clave simétrica de entidad.
Para el desarrollo de los juegos de azar es necesario la utilización de una serie de elementos, por ejemplo las caras de unos dados, las cartas de una baraja, etc. En el mundo digital no se disponen de estos elementos físicos, sino de su representación. Una representación típica podría ser un número natural. Antes de iniciar el juego es necesario ordenar dichos elementos del juego según un determinado criterio, de manera que cada elemento puede identificarse de forma única por un número natural entre 1 y t. En la descripción de los protocolos se establece una ordenación de los jugadores 101 según un determinado criterio tal como el orden de entrada en el juego, y se identifica a cada jugador 101 por un número natural entre 1 y n.
Para que los jugadores 101 puedan demostrar a una tercera parte que el juego ha sido honesto la presente invención utiliza preferentemente una forma especial de cade- ñas resumen, que reciben el nombre de cadenas resumen distribuidas no repudiables calculadas de forma eficiente (de forma abreviada CDNE). Cada mensaje que se intercambian los jugadores 101 es un eslabón de una cadena CDNE. Las propiedades de este tipo de cadena garantizan que la información que los jugadores 101 se intercambian durante el juego no pueda ser alterada posteriormente sin que dicha modificación sea detectada. Entendiendo una modificación como la eliminación, inclusión o alteración de los datos enviados por un participante en el juego.
El concepto de cadenas resumen (cadenas hash) fue introducido en [Lamport L., Password Authentication with Insecure Communications, Communications of the ACM, v. 24, pages 770-771, 1981]. En su propuesta las cadenas resumen se utilizaban para autenticar a un usuario. Las cadenas resumen secuenciales son una herramienta ampliamente utilizada.
Las cadenas resumen CDNE propuestas en la presente invención tienen la particularidad que se calculan de forma eficiente. En los puntos en que se pueden realizar cálculos de forma paralela la cadena se expande. Cada jugador 101 construye su eslabón utilizando el resumen encadenado del eslabón a partir del que se expande la cadena. En el momento en que el protocolo vuelve a exigir la ejecución secuencial se realiza una contracción de la cadena. Dicha contracción consiste en crear un nuevo eslabón de la cadena a partir del resumen encadenado del último eslabón expandido de cada jugador 101. Las cadenas CDNE tienen las propiedades siguientes:
" Ningún participante en la construcción de la cadena puede añadir eslabones erróneos o falsos sin que esta acción sea detectada por el resto de participantes.
» En el caso de que alguien elimine uno o más eslabones, la cadena mostrará una inconsistencia en el punto de eliminación.
» Si se modifica un eslabón de la cadena ésta queda inconsistente, y la modificación será fácilmente detectable.
» Los eslabones de la cadena permiten saber el momento exacto y el orden en que se calcularon.
» Los eslabones de la cadena incorporan pruebas sobre la autoría de cada uno de ellos, es decir, que la entidad que ha proporcionado el eslabón de la cadena es la única que lo ha podido generar.
» El cálculo de los eslabones de la cadena se realiza en paralelo cuando el proto- coló lo permite. Esta medida mejora su eficiencia manteniendo las propiedades anteriores.
La construcción de las cadenas CDNE se realiza del siguiente modo: Cada eslabón πik de la cadena está formado por dos campos, el primer campo contiene los datos (£)&) y el segundo campo contiene el resumen encadenado (X¡¡)-'
mk = Dk, Xk (1)
El campo de datos Dk típicamente tiene la estructura siguiente: el instante de tiempo (_" &), concepto relacionado (Ck) con el eslabón y valores o atributos adicionales (Vk).
El instante de tiempo, Tk, se refiere al instante de tiempo según el reloj del participante que genera el eslabón. No es necesario que los relojes de los participantes estén sincronizados.
El concepto, Ck, describe la información que contiene el eslabón. Cada eslabón puede ser, por ejemplo, un paso del protocolo de juego, un compromiso, o el resultado del juego. En cada caso el concepto detalla el tipo de eslabón. Los atributos adicionales Vk varían según el concepto. Por ejemplo, en el caso de que el eslabón contenga el resultado de un protocolo de compromiso, el atributo contendrá la transformación del elemento comprometido:
Dk = Tk, Ck, Vk (2)
El resumen encadenado del eslabón Xk se construye en tres fases: En primer lugar se concatena el resumen encadenado del eslabón anterior Xk-\ con los datos del mensaje actual Dk. A continuación se calcula el resumen del conjunto concatenado. Finalmente se firma digitalmente dicho resumen con la clave privada del autor del eslabón:
Xk = SJt (Dk\Xk-ι) (3)
En la Figura 2 se puede ver un ejemplo gráfico de la descripción anterior. El resumen encadenado del eslabón 203 se construye a partir de los datos del eslabón 203, Dk, y del resumen encadenado del eslabón 201, Xk-\.
Cada participante en la construcción de la cadena normalmente tendrá una potencia de cálculo diferente. Si la construcción es secuencial, el tiempo total para la ejecución de un paso del protocolo será la suma de todos los tiempos individuales. En el caso de una ejecución en paralelo, el tiempo será igual al tiempo de la plataforma más lenta. En la expresión 4 se muestra una expansión de la cadena. Dicha expansión consiste en que todos los participantes en el protocolo {Ji, . . . , Jn} calculan su resumen encadenado de forma independiente utilizando el resumen encadenado del eslabón anterior Xk-χ.
Figure imgf000018_0001
X = Sj ' r Jn \X kι,-1 . (4)
Como se ve en la Figura 2 los eslabones 207 se construyen en paralelo. El resumen encadenado de cada eslabón 207 se construye con los datos de dicho eslabón 207 más el resumen encadenado del eslabón 205 anterior. En la expresión 5, se muestra la contracción de la cadena. Este es el proceso inverso de la expansión, y se produce cuando el protocolo exige de nuevo una ejecución secuencial después de una fase de ejecución en paralelo. Se obtiene un único eslabón que está vinculado a los eslabones anteriores. El participante en el juego que inicia el proceso secuencial concatena los datos Dk, con todos los resúmenes encadenados de los eslabones anteriores {N/ii] . . . |Nfc"ι}, calcula el resumen de este mensaje concatenado y firma digitalmente dicho resumen:
Figure imgf000018_0002
Como se ve gráficamente en la Figura 2, la cadena del eslabón 211 está formada por los datos de dicho eslabón 211, más los resúmenes encadenados de los eslabones 209.
La cadena CDNE impide que posteriormente un jugador 101 pueda añadir, eliminar o modificar cualquier eslabón en su beneficio, sin que el resto de jugadores detecten con la verificación dicha modificación.
En efecto, eliminar uno o varios eslabones conlleva que la cadena quede inconsistente. Cualquier parte puede comprobar que existe una pieza que no está bien construida, verificando la construcción de la cadena. Esta inconsistencia de la cadena recibe el nombre de punto de ruptura. El jugador 101 deshonesto debería ser capaz de rehacer la cadena para evitar ser detectado. Pero para ello necesitaría la clave privada del resto de participantes que han colaborado en el proceso de construcción.
Por tanto, eliminar un eslabón sin que se detecte la alteración equivale a hallar la clave secreta de los jugadores a partir del componente público. Operación que se supone de extrema dificultad. En el caso que se modifiquen los datos de un eslabón, el resumen encadenado correspondiente no coincidirá. Esto permite detectar fácilmente la modificación en el momento de verificar el eslabón. Evitar la detección de la modificación supone, como en el caso anterior, rehacer la cadena y por consiguiente tener acceso a la clave secreta del resto de participantes. El mismo grado de dificultad se obtiene para el caso de intentar añadir una entrada sin que se detecte la manipulación.
La cadena CDNE no está en posesión de una única parte, sino de todos los participantes en el juego. Cuando un jugador 101 genera un eslabón nuevo lo envía al resto de los participantes. Todos los participantes tienen la cadena CDNE, y con ella pueden demostrar a una tercera parte que la ejecución del juego ha sido honesta. En el supuesto caso que un jugador 101 manipule la cadena ésta será diferente del resto.
Cuando muestre su cadena no coincidirá con el resto, y se detectará la manipulación.
Se puede concluir que los eslabones de la cadena no se pueden alterar una vez creados.
Una herramienta utilizada frecuentemente en los protocolos de juego remoto es el protocolo de compromiso. Un protocolo de compromiso es un protocolo criptográfico que permite a un participante A comprometerse a un valor (ya sea un bit o una cadena de ellos), frente a otro participante B de modo que:
_ B no puede conocer el valor comprometido por A a partir del compromiso.
_ A puede descubrir el compromiso revelando a B el valor comprometido. m Dado un compromiso, A no puede engañar a B revelando un valor distinto del valor comprometido en dicho compromiso.
El primer protocolo de compromiso (para un solo bit) fue presentado en [Blum M., Coin flipping by telephone: a protocol for solving impossible problems, Proc. IEEE Computer Conference, pages 133-137, 1982]. Una visión general sobre los diferentes protocolos de compromiso propuestos se pueden encontrar en [Schneier B., Applied Cryptography Second Edition: Protocols, Algorithms, and Source Code in C, John Wiley & Sons, 1996].
Los protocolos de compromiso más eficientes en tiempo de cálculo son los basados en funciones resumen. Estas funciones idealmente deben cumplir los requisitos que se detallan en [Menezes A., Van Oorschot P.C., Vanstone S.A., Handbook of Applied
Cryptography, pages 323-331, CRC Press, 1996]. Pero algunas de las funciones resumen utilizadas son débiles contra colisiones, como se describe en [Van Rompay B., Preneel
B., Vandewalle J., On security of dedicated hash functions, 19th Symp. On Information Theory in the Benelux, pages 103-110, 1998], y [Preneel B., The state of cryptographic hash functions, Lectures on Data Security: Modern Cryptology in Theory and Practice,
LNCS 1561, pages 158-182, Springer-Verlag, 1999]. La fortaleza de la mayoría de estas funciones se demuestra mediante pruebas empíricas. Esto origina que no se disponga de una completa certeza sobre su seguridad. Otro factor a considerar es la posibilidad de repudiar el compromiso realizado. Para que el compromiso no sea repudiable debe incorporar la firma digital de la parte que se compromete.
En la presente invención se aporta un compromiso robusto que incorpora el no repudio y cumple los requisitos de fortaleza mencionados anteriormente. De esta forma se superan las debilidades, ya mencionadas, presentes en los protocolos de compromiso de las invenciones US 6,264,557, y US 6,165,072.
El protocolo de compromiso presentado es una evolución de una propuesta de [Ja- kobsson M., Sako K., Impagliazzo R., Designated Verifier Proofs and Their Applica- tions,Theory and Application of Cryptographic Techniques, pages 143-154, 1996] en un campo de la criptografía ajeno al considerado en la presente invención como es la construcción de protocolos de conocimiento nulo no interactivos.
En el presente caso el compromiso se obtiene a partir de los componentes público y privado del único jugador (denotado por A), que se compromete:
El jugador A dispone de un par de claves asimétricas (PA, SA), siendo PA el com- ponente público y SA el privado que es mantenido en secreto por A. El componente público está debidamente certificado por una Autoridad de Certificación, y es accesible para el resto de participantes en el protocolo.
El jugador A genera de forma secreta los valores siguientes:
« Rl: Valor secreto al que se compromete el jugador 101.
» R2: Valor pseudo aleatorio secreto de longitud k.
Siendo Id el identificador del jugador A, éste concatena su identificador con el valor Rl: R3 = Id\Rl. A continuación cifra con su clave privada la cadena R3, ιSU{R }, y con su clave pública el valor R2, PA{R2}. El compromiso de bit será la operación or exclusiva bit a bit de los dos criptogramas anteriores, obteniendo el compromiso Cp, que es enviado a otro jugador 101 o resto de jugadores 101 (denotados por B):
Cp = SA{R3} Θ PA{R2}. (6)
Para deshacer el compromiso A revela el valor R2 y B realiza las operaciones siguientes:
» Cifra el valor R2 con la clave pública de A, PA{R2}.
' Obtiene la firma sobre el valor comprometido, calculando la or exclusiva bit a bit del compromiso Cp, con R4{R2}, SA{R3} = Cp φ PA{R2}-
Con la clave pública de A obtiene R3, R3 = PA{SA{R3}}.
B comprueba que R3 contiene el identificador del jugador A, R3 = Id\Rl. En el caso que R3 no contenga el Id correcto el compromiso no es válido.
» Si Id es el correcto B obtiene el valor comprometido Rl, con la certeza que únicamente ha podido ser comprometido por A.
La operación de obtención del valor Cp descrita en 6, debido al tamaño del valor R2 y al uso de la operación or exclusiva bit a bit y a la inclusión del identificador Id del jugador 101 que realiza el compromiso, cumple las dos características siguientes:
No invertible: Una función es no invertible o irreversible cuando a partir de la salida no se pueden hallar los valores de entrada.
» Libre de colisiones: Una función f(x) es libre de colisiones si es computacionalmente imposible hallar varios valores {fe, . . . , fe}, tales que /(fe) = /(fe) —
Figure imgf000021_0001
A continuación se presenta el protocolo criptográfico de juego para los juegos de cartas tapadas. En dichos juegos el participante que pide una carta o un conjunto de cartas es el único que conoce su valor. En los antecedentes de la invención este problema recibe el nombre de Mental Poker. El primer protocolo para jugar al poker de forma remota, sin la ayuda de una tercera parte de confianza (Trusted Third Party- TTP) fue el presentado en [Shamir A., Rivest R., Adleman L., Mental Poker, Mathematical
Gardner, pages 37-43, 1981]. Este protocolo se basa en un criptosistema conmutativo, pero el criptosistema presentado revela cierta información, como se detalla en [Cop- persmith D., Cheating at mental poker. In Crypto '85, LCNS 218, pages 104-107, Springer-Verlag, 1986], y solo permite que el juego tenga dos participantes. Posteriormente el protocolo de [Goldwasser S., Micali S., Probabilistic encryption and how to play mental poker keeping secret all partial Information, In Proceedings of the 14th STOC, pages 365-377, 1982] garantiza un juego honesto, pero una vez más con solo dos jugadores. La propuesta de [Banary I., Furedi Z., Mental poker with three or more pla- yers, Technical report, Mathematical Institute of the Hungarian Academy of Sciences, 1983] no utiliza primitivas criptográficas para garantizar un juego honesto, pero si dos jugadores 101 se confabulan pueden saber las cartas del resto de participantes. Esta propuesta es la primera en proponer la utilización de permutaciones y la composición de éstas para barajar las cartas. En el protocolo presentado en [Fortune S., Merritt M., Poker protocols, In Crypto '84, LCNS 196, pages 454-466, Springer-Verlag, 1985] pueden jugar más de dos jugadores simultáneamente, pero en un estadio inicial se requiere una TTP, con los consiguientes problemas que conlleva. Posteriormente [Crepeau O, A zero-knowledge poker protocol that achieves confidenciality of the player's strategy or how to achive an electronic poker face, In Crypto '86, LCNS 263, pages 239-250, Springer Verlag, 1986] presenta un protocolo de juego que resuelve los problemas del juego remoto. El protocolo se basa en la utilización de permutaciones y de protocolos específicos con un alto coste computacional y elevada complejidad de implementación. Estas dos limitaciones no hacen posible que sea factible la utilización de este protocolo en un casino online real. En el protocolo de la presente invención la mezcla de los elementos del juego, es decir el proceso de barajar las cartas, se realiza sin la participación de ninguna TTP. Las cartas son barajadas con la colaboración de todos los participantes en el juego. De esta forma se asegura que en el proceso ningún jugador 101, o coalición de ellos, pueda forzar la componente del resultado final, es decir, el valor final de la carta obtenida. Cada jugador 101 genera una permutación de las cartas de la baraja al azar que mantiene en secreto y se compromete a ella mediante un protocolo de compromiso. La baraja de cartas barajada está formada por la composición de las permutaciones de todos los jugadores 101.
Un jugador i pide una carta a partir de un valor w. Dicho valor w puede ser elegido por los jugadores, o ser prefijado por las reglas del juego. Las reglas del juego pueden definir explícitamente los valores w a utilizar, o que sean elegidos de forma conjunta por los jugadores.
El primer jugador, según el orden establecido, aplica su permutación a ui y envía el resultado al siguiente jugador. Cada jugador 101, en el orden establecido, aplica su permutación al valor recibido del jugador 101 anterior. La utilización de permutaciones asegura la unicidad de las cartas. Pero también es necesario que el propietario de la carta sea el único que conozca su valor. Para ello el jugador i protege la carta, o preferiblemente la cifra con su clave secreta.
Cada uno de los restantes participantes aplica sus permutaciones a los valores cifra- dos. Al final el jugador i destapa la carta y solo él conoce su valor. Para poder aplicar una permutación a un valor cifrado es necesario representar los valores y las permutaciones de forma que se pueda operar con ellas. Dichas representaciones se describen más adelante. Los criptosistemas que permiten operar con datos cifrados reciben el nombre de criptosistemas homomórficos u homomorfismos de privacidad. A priori el protocolo de juego de esta invención se puede desarrollar con cualquier homomorfismo de privacidad que preserve las operaciones de suma y producto, siendo dos ejemplos característicos los propuestos en [Domingo- Ferrer J., A New Privacy Homomorphism and Applications, Information Processing Letters, vol. 60, no. 5, Dec. 1996, pp. 277-282] y [Domingo-Ferrer J., A provably secure additive and multiplicative privacy homomorp- hism, Lecture Notes in Computer Science, vol. 2433, sep. 2002. ISSN 0302-9743. Vol. Information Security, eds. A. Chan and V. Gligor, Berlín: Springer-Verlag].
A continuación se describen los conceptos y herramientas que se utilizan posteriormente en el protocolo de cartas tapadas.
Normalmente se asigna a cada carta un cierto valor natural que dado un orden preestablecido corresponde a una figura, o carta concreta de la baraja de cartas tradicional. Por ejemplo, si en una baraja de cartas española se fija el orden de los palos Oros, Bastos, Espadas y Copas y dentro de cada palo el orden creciente de las cartas entre uno (As) y doce (Rey), el valor 15 correspondería al tres de Bastos.
En el presente protocolo de cartas tapadas se necesita una representación de las cartas que permita operar con ellas y con las permutaciones de cartas. Se define por tanto una carta en forma vectorial, como sigue:
Sea i el número de cartas de la baraja, con una ordenación prefijada, y z un valor primo entero escogido por un jugador 101. Se define una carta w como un vector:
υ = (αι, - - - , í) (7)
Donde existe un único elemento α¿, tal que α¿ mod z Φ 0, y el resto de valores del vector, Vθj | i j, se cumple 3- mod z = 0. El valor de la carta es igual al valor del índice i del vector tal que α¿ mod z φ 0.
Por su parte las permutaciones de cartas se representan como una matriz para poder operar con ellas, tal como se ha mencionado anteriormente. Para una mejor comprensión de la invención se definen a continuación una serie de conceptos que se utilizarán en la descripción que sigue.
Permutación de cartas: Una permutación π sobre un conjunto S es una función biyectiva de S en S (ir : S → S). En el presente caso S es la baraja de cartas utilizada. Las permutaciones típicamente se representan como tablas de conver- sión, donde cada índice tiene un valor de salida que pertenece al mismo conjunto inicial.
Matriz de permutación de cartas: Se puede representar una permutación de cartas, π, sobre un conjunto de t elementos como una matriz cuadrada de t filas, que recibe el nombre de Matriz de Permutación de cartas, donde el vector de cada fila y el de cada columna son de la forma w descrita en 7. Se denota por LT la
Matriz de Permutación de cartas de π.
Figure imgf000024_0001
Cada fila i de la matriz II es una carta, cuyo valor es igual a la permutación de r (i). Para construir la matriz de permutación de cartas II, a partir de la permutación de cartas π, se calcula para cada fila i la permutación de i en π, ir (i). Todos los elementos de la fila son cero módulo z, a excepción de la posición j tal que j = ir (i).
Calcular una permutación: En la representación escogida se puede operar una carta con una matriz de permutación de cartas. El resultado de esta operación es una nueva carta. La operación para obtener una nueva carta es la multiplicación de la carta inicial w por la matriz de permutación de cartas II, w = v - II .
Figure imgf000025_0001
ω = (&_, • • ' ) (10)
Es necesario que la carta y la matriz de permutación de cartas utilicen la misma z, para realizar de forma correcta esta operación. Si no se sigue esta regla no se obtiene la permutación correcta.
Matriz de permutación de cartas equivalente: Cada jugador 101 tiene una matriz con una z¿ propia, y representa las cartas utilizando esta z¿. Para que J¡ pueda operar su matriz de permutación de cartas con la carta de J¿_ι, J¿ debe representar su matriz de permutación de cartas con la Zi-\ de J¿_χ. Se denomina matriz de permutación de cartas equivalente II¿ a la matriz creada a partir de la permutación 7r¿ tomando z .
Figure imgf000025_0002
Se define la matriz de permutación de cartas equivalente de II como la matriz II tal que para cada índice de la matriz se cumple que: m Si IΓÍJ mod z φ 0, entonces ir^' mod z φ 0, donde π¿j € II y π j € II'. » Si i¿ mod z = 0, entonces π¿ í- mod z = 0, donde π¿j- € II y πi¡3- £ II .
Una baraja de cartas está formada por t cartas de la forma descrita anteriormente. Cada Ji crea una permutación 7r¿ y la guarda en secreto. La baraja barajada está formada por la composición de las permutaciones de los n jugadores 101 en un orden preestablecido, πn o π„_ι • • • π2 o πi. Se consigue de esta forma mezclar la baraja de forma conjunta entre todos los jugadores 101, sin que ninguno de ellos tenga ninguna ventaja. La composición de permutaciones nos asegura la unicidad de las cartas, ya que no es posible que se repitan las cartas. Como se ha mencionado anteriormente el jugador 101 cifra su carta para ocultar su valor, y el resto de jugadores 101 aplican su permutación a dicho valor cifrado. El criptosistema a utilizar debe garantizar la privacidad de los datos, y permitir operar con datos cifrados. Un homomorfismo de privacidad HP es un esquema de cifrado que conserva ciertas operaciones. Es decir, suponiendo que EK es un HP que preserva la suma, dados dos valores £ y y es lo mismo sumar los dos valores y luego cifrar el resultado, que cifrar los datos y luego calcular la suma:
Eκ(x + y) = Eκ(x) + Eκ(y) (13)
En la presente descripción detallada se utiliza de forma preferente el homomorfismo de privacidad propuesto en [Domingo- Ferrer J., A provably secure additive and multi- plicative privacy homomorphism, Lecture Notes in Computer Science, vol. 2433, sep. 2002. ISSN 0302-9743. Vol. Information Security, eds. A. Chan and V. Gligor, Berlin: Springer-Verlag] , pero se puede utilizar cualquier otro que preserve dichas operaciones de suma y producto.
A continuación se describe con detalle y de manera formal, con ayuda de las Figuras 1 y 3 el protocolo de juego de cartas tapadas. En la Figura 3 se puede ver una descripción general de los pasos del protocolo criptográfico para obtener una carta.
En primer lugar se determina un valor w y se hace público. Dicho valor w pertenece al rango de elementos del juego y no ha sido seleccionado anteriormente. El valor w puede ser elegido por dicho jugador i, o prefijado las reglas del juego. Las reglas del juego pueden definir explícitamente los valores w a utilizar, o que los jugadores elijan de forma conjunta dichos valores w. En la implementación preferida, y en la explicación detallada de la misma, el valor w es elegido por el jugador i. Puede garantizarse que dicho valor w no ha sido escogido previamente porqué los valores w elegidos son conocidos, o porque cada jugador dispone de un rango disjunto de valores para escoger. En el paso 301 el jugador i envía el valor w a Ji .
En el paso 303 Ji calcula la permutación de dicho valor con su permutación secreta, y envía el valor resultante u>ι a J2. En la Figura 3 se puede apreciar como este proceso 303 se repite hasta llegar a J{. Dicho jugador J¡ aplica su permutación al valor _j¿_ι recibido de J¿_ι, obteniendo Wi. Ji debe enviar el resultado al resto de jugadores {J¿+ι, • • • , Jn} para que apliquen su permutación. Sin embargo, si envía el valor obtenido sin cifrar se sabrá el valor de su carta. Para garantizar la privacidad de dicha carta, en el paso 305 J¿ cifra Wi obteniendo wi que es enviado a Ji+1. En el paso 307 J¿+ι aplica su permutación a IÜ¿ obteniendo wi+1 que es enviado al siguiente jugador. Este proceso 307 se repite hasta llegar al último jugador Jn que envía el valor obtenido wn
Dicho jugador J¿, en el paso 309, descifra el valor wn obteniendo el valor wn, que según dicha identificación inicial corresponde a la carta de la baraja pedida por J¿. ' Dicho valor wn se indica en las reivindicaciones como valor p.
En la Figura 3 las acciones realizadas por J¿ se encuentran en el interior de un rectángulo con línea continua. Se utiliza un candado para simbolizar las operaciones de cifrado, y descifrado. Los cálculos que se realizan con datos cifrados se hallan en el interior de un rectángulo de línea discontinua.
Para aplicar una permutación a un dato cifrado es necesario que los valores y las permutaciones se representen de forma que se puedan operar matemáticamente. Dicha representación se basa en representar a los valores en forma de vectores, y a las permutaciones en forma de matrices. Calcular una permutación es realizar la multiplicación del vector por la matriz. Para conseguir la privacidad de la carta se cifran los índices del vector y de la matriz con un homomorfismo de privacidad. Este criptosistema permite operar con los datos cifrados. Gracias a la representación y al cifrado homomórfico se pueden calcular las permutaciones, preservando la privacidad de la carta de J¿.
Cada mensaje que se intercambian los jugadores 101 es un eslabón de la cadena CDNE descrita anteriormente. En el supuesto caso que se produzca una manipulación esta cadena permitirá demostrarlo a una tercera parte.
En la inicialización del protocolo cada jugador 101 antes de iniciar la partida realiza las operaciones que se describen seguidamente.
Al: Cada jugador J¿ dispone de un par de claves asimétricas (PJ^ SJ^ y la certificación del componente público por una autoridad certificadora reconocida.
A2: Genera una permutación 7r, de la baraja de t cartas y la mantiene en secreto.
A3: Crea su clave simétrica -¿ correspondiente al HP. Cada J¿ tiene una -j diferente y secreta.
A4: Elije un valor primo zi tal que z¡ < K{. A5: Construye un eslabón de la cadena, donde el concepto Ck describe que el eslabón contiene la z¡ utilizada por J¿, y el campo Vk contiene Zi. Al realizar esta acción de forma simultánea todos los jugadores 101 la cadena CDNE se expande en este punto. A6: Construye la matriz de la permutación H, correspondiente a πτ, utilizando zτ.
A7: Se compromete a esta permutación IIj mediante un protocolo de compromiso de bit. Obteniendo como valor comprometido Cp%.
A8: Construye el siguiente eslabón de la cadena utilizando el eslabón expandido ante- rior. El concepto Ck indica que dicho eslabón contiene el compromiso, y el campo
Vk contiene Cp%. El protocolo será preferentemente el presentado anteriormente, o cualquiera de los mencionados en los antecedentes de la invención.
A9: Elije s valores {δ-¡_, • • • , δ¡¡}, tal que δτ mod z = 0, V. €• {1, • • • , s}, y s > í.
A10: Elije s valores {_!, - • • , es}, tal que eτ mod z φ 0, Vz G {1, • • • , s}, y s > t.
All: Cifra con la clave secreta K% los valores anteriores, d3 =
Figure imgf000028_0001
ed = Eκτ e3) /j {ι, - - - , s}.
A12: Construye el siguiente eslabón de la cadena donde el campo Vk contiene el conjunto D de los valores {di, . . . , dn}. El concepto Ck detalla que el eslabón contiene un conjunto de valores que son cero módulo zly y que se encuentran cifrados.
A13: Construye otro eslabón de la cadena donde el campo Vk contiene el conjunto E de los valores {_ι, . . . , en}. El concepto Ck detalla que el eslabón contiene un conjunto de valores que son diferentes de cero módulo zt, y que se encuentran cifrados.
A14: Genera la representación vectorial de las t cartas de la baraja {ι_ , . . . , wt}, y las cifra con la clave secreta Kτ, wJ = Eκz wj).
A15: Permuta el orden de las cartas cifradas, {w-^, . . . , wt}.
A16: Construye el siguiente eslabón de la cadena. El concepto Ck del eslabón indica que éste contiene una baraja de cartas cifrada por J. El campo Vk contiene dichas cartas cifradas, {w , . . . , wt}, según el orden del paso A15.
El jugador 101 que ejerce de croupier una vez finalizada esta fase de inicialización, realiza la contracción de la cadena. La cadena del eslabón resultante esta formado a partir de los últimos eslabones construidos por cada jugador 101, Jτ. El concepto Ck detalla que ha finalizado la fase de inicialización, y puede iniciarse el juego. El campo valor Vk no contiene ningún dato.
Cuando Jx quiere elegir una carta realiza las operaciones siguientes. Bl: Escoge un valor υ tal que 1 < v < t, que nadie ha seleccionado anteriormente.
Esta operación es sencilla porque la petición se realiza de forma pública. Todos los participantes conocen los valores iniciales que se han seleccionado previamente.
B2: Construye el siguiente eslabón de la cadena, donde Vk contiene w que es la repre- sentación vectorial del valor v , y Ck detalla que J% desea la carta que corresponde al valor w.
Ji una vez recibe el eslabón de J realiza las operaciones siguientes: Cl: Comprueba la validez del eslabón enviado por Jτ.
C2: Calcula la matriz de permutación de cartas equivalente II x de su matriz IIi. Esta operación la puede realizar porque conoce el valor z% que J, ha hecho público en el paso Ab.
C3: Calcula la permutación de la carta w con su matriz de permutación de cartas equivalente I_ , ι_ι = w • I-j .
C4: Construye el siguiente eslabón de la cadena. El concepto Ck describe que dicho eslabón contiene wι, y que J2 debe realizar el cálculo siguiente. El campo V contiene el valor ι_ι.
El proceso se repite con los jugadores 101 siguientes, {J2, . . . , J-i}, hasta llegar a J%. Jτ a partir del eslabón construido por J_ι, obtiene w^χ y realiza los cálculos siguientes:
DI: Comprueba la validez del eslabón enviado por J_ι.
D2: Aplica su permutación a wt-ι, y obtiene wí = w -\ - Ω.τ.
D3: Modifica la fila de IIj, donde es igual al valor de la carta Í_V_I - Cambia todos los elementos de la fila ι Jtι, . . . , π-,., por valores diferentes de cero módulo zx. Si un jugador 101 pide a Jτ las cartas que éste ha pedido anteriormente obtendrá una carta no válida como se detalla posteriormente.
D4: Escoge la carta cifrada w correspondiente al valor de la carta wτ obtenida. Esta carta cifrada se ha publicado en la fase de inicialización, concretamente en el paso A16.
D5: Construye el eslabón cuyo Vk — w^ y Ck detalla que Jl+ι debe aplicar su permu- tación a dicho valor cifrado. Ji+i debe multiplicar la carta cifrada wi por su matriz π¿+ para obtener la siguiente carta cifrada wi+1. Para poder realizar esta operación debe cifrar su matriz II¿+ι con la clave secreta i-¿ de J¿. Pero esta clave únicamente está en posesión de J¿. Para cifrar la matriz J+ι utiliza los valores cifrados aportados por J¿ en la fase de inicialización (paso _ 12 y -413), {di • • • , ds, e\, - - - , es}. El proceso de construcción de la matriz cifrada, impide que posteriormente J¿ pueda obtener la información necesaria para reproducir
II¿+ι a partir de la carta cifrada, wi+1. Se denotará la matriz cifrada de J¿+i con la clave de i-¿, como il?+1. J+i realiza las operaciones siguientes:
El: Comprueba la validez del eslabón recibido de J¿.
E2: Cifra su matriz Tli+ι con la clave Ü de J¿ a partir de los valores { i • • • , d_, , • • • , es} del paso A12 y .413, y obtiene la matriz cifrada que se denotará como Ir?+1:
Figure imgf000030_0001
Para construir los elementos cifrados π? - de la matriz del paso E2, Jj+i realiza las operaciones siguientes: Fl: Obtiene de forma pseudo aleatoria un valor g, tal que, 1 < g < s.
F2: Escoge aleatoriamente g valores del conjunto D publicado en la fase inicial (paso A12), {di, . . . , ds}. Estos son los valores cifrados de {¿i, . . . , δ¡¡}, que cumplen que ó¿ mod 2¿ = 0, V. € {1, . . . , _}.
F3: Calcula la suma de estos valores, h = ∑j=χ dj, j G {1, • • • , g}. La suma de valores 0 módulo zx da lugar a un valor que también es 0 módulo 2¿.
F4: Obtiene de forma pseudo aleatoria un valor c, tal que c mod Zi φ 0.
F5: Realiza el producto siguiente h = c • h.
F6: Si la componente de la matriz es π¿ mod Zi = 0, entonces la componente de la matriz cifrada es πf ,- = h'. F7: Si la componente de la matriz es π„ mod zx φ 0, realiza las operaciones adicionales siguientes:
Gl: Obtiene de forma pseudo aleatoria un valor l tal que 1 < l < s. G2: El componente de la matriz será la suma de h con el valor cifrado e¡ del conjunto E, que se ha publicado en el paso A13; π° • = h + e¡. E3: Calcula la siguiente permutación de forma cifrada multiplicando la carta cifrada w , por su matriz cifrada Ωξ+1 con la clave K%.
wt+1 = w[ - Ui c +1 (15)
E4: Construye el eslabón de la cadena, cuyo concepto indica que el eslabón contiene w ι+ι y Ψλe Jι+2 es quien debe realizar la siguiente operación. El campo Vk contiene el valor cifrado wϊ+1.
El proceso se repite con J+ , • • • , Jn, hasta llegar a Jn. J recibe el eslabón construido por Jn, y realiza las operaciones siguientes.
Hl: Comprueba la validez del eslabón creado por J„. H2: Obtiene la carta wn, descifrando wn, con su clave privada wn = Dκ (wn' ).
Con el paso anterior finaliza el protocolo por el cual el jugador J obtiene una carta de forma tapada.
Un jugador 101 para descartar una carta W construye un eslabón de la cadena CDNE. El concepto Ck de dicho eslabón indica que el jugador Jt descarta una carta. El campo Vk contiene el valor cifrado de dicha carta descartada.
En el protocolo de juego de cartas tapadas descrito anteriormente Jτ elige una única carta en cada ejecución del mismo. Pero el protocolo permite que un jugador 101 obtenga varias cartas en una única ejecución. Para esta optimización es necesario que primero se defina el concepto de multicarta.
Multicarta: Se define multicarta como un vector de t elementos, siendo t el número de cartas de la baraja, y z un valor primo dado,
ξ = (αι, - - - , o.) (16)
Donde este vector tiene más de un índice a% tal que aτ mod z φ 0. El resto de índices a3 son de la forma a3 mod z = 0. El índice i, de cada elemento aτ mod z φ 0, indica uno de los valores de la multicarta. Es decir, una multicarta es un vector que representa más de una carta.
El protocolo varía en los puntos siguientes:
• J escoge los valores que desea, {ι_ι, • • • , wx}. Suma estas cartas y obtiene una multicarta ξ = ∑_ =1 wx. 'J <_Jli l!_ ÜJ U ¿_ i l_J
30
" Construye el eslabón de la cadena CDNE con la multicarta ξ en lugar de w, como se detalla en el paso B2, y prosigue el protocolo.
« En el paso E>3 J¿ anula todas las filas cuyo índice es igual a uno de los valores de la multicarta ¿.
» Εl protocolo se desarrolla del mismo modo descrito anteriormente. J¿ al final del protocolo descifra la carta tapada que ha calculado Jn, y obtiene una multicarta, es decir, el conjunto de cartas escogidas.
Como se ha mencionado en el paso D3, si una coalición de jugadores 101 intenta obtener las cartas de otro jugador J¿ durante la segunda, o posteriores veces que se reparten cartas en el juego, dicha coalición debe construir una multicarta con los valores que ha pedido J¿, y cifrarla. Sin embargo no obtendrá las cartas de J¿, porque la carta que se obtiene al pedir una carta ya solicitada es un vector con todos los índices diferentes de cero módulo 2¿. Esto es así, debido a la transformación de la matriz H del paso E>3. La multicarta obtenida es una carta nula, porque no aporta ninguna información.
Todos los índices son diferentes de cero módulo 2¿. Al final del protocolo la coalición de jugadores 101 deshonestos que han pedido una carta ya pedida no podrán enseñar sus cartas.
Una vez finalizada la mano de juego los jugadores 101 desvelan su clave privada y su permutación. Cada participante en el juego realiza las operaciones siguientes:
• Verifica que cada jugador J¿ haya utilizado la permutación 7r¿ con la que se ha comprometido enviando Cpt, en el paso A5. Para ello verifica el protocolo de compromiso de cada jugador 101.
m Descifra las cartas {w1, . . . , wt} que cada jugador 101 ha hecho públicas en el paso -416, y comprueba que la baraja es correcta.
* Con la clave privada de cada jugador 101 descifra el resultado de aplicar las permutaciones a las cartas tapadas, descritas en los pasos D5 y E4. Comprueba que estas operaciones coinciden con la permutación del jugador 101 que ha realizado la acción.
» Comprueba que las cartas que ha descartado cada jugador 101 no han sido utilizadas en el resultado del juego. * La cadena CDNE permite demostrar a una tercera parte las acciones incorrectas que ha realizado un jugador 101 deshonesto.
A continuación se detallan algunas manipulaciones que podrían realizar los jugadores 101, y la manera en la cual todas ellas se detectan mediante una verificación de las acciones que contiene la cadena CDNE.
Un jugador utiliza una Z{ equivocada: Si Jk en la construcción de la matriz de cartas equivalentes con la 2¿ de J¿ utiliza z3 tal que z3 φ Zi, cuando J¿ descifre wn obtendrá una carta nula. J¿ forzosamente denunciará esta acción, porque sino al final de la partida no podrá enseñar sus cartas. La verificación de la mano de juego descubrirá a Jk.
Un jugador no utiliza la IIj con la que se ha comprometido: Un jugador puede utilizar una permutación diferente con la que se ha comprometido durante todo el juego, o cambiarla durante algunos instantes del mismo. En el primer caso al final del juego se detectará dicha acción deshonesta. En el segundo caso los juga- dores 101 pueden obtener cartas duplicadas. El jugador 101 que recibe una carta repetida pide la revisión de la mano de juego. Si la acción no se detecta durante el juego, en la fase de verificación se descubrirá el autor de la manipulación.
Los valores del conjunto D {di, . . . , ds} son incorrectos: Si un jugador 101 no aporta los valores correctos, las cartas que se obtendrán serán nulas. Los jugadores 101 construirán su matriz II? con estos valores, y al operar con esta matriz las cartas resultantes serán nulas. El jugador 101 que obtiene una carta nula pide una revisión de la partida.
Los valores del conjunto E {_ι, . . . , es} son incorrectos: Igual que en el punto anterior, la construcción de la matriz de permutación de cartas será incorrecta. Los jugadores 101 obtendrán cartas nulas. Una verificación del juego permitirá hallar al infractor.
Las cartas cifradas {w . . . , wn} no son válidas: En la fase de verificación se comprobará que el jugador 101 ha aportado una baraja incorrecta. El jugador 101 no obtiene ningún beneficio de esta acción, porque se descubrirá su manipulación.
Un participante en el juego construye un eslabón incorrecto: Durante la ejecución del protocolo cada jugador 101 verifica la correcta construcción de los eslabones. En el momento que un jugador 101 introduce un eslabón no correcto los jugadores 101 denuncian la acción.
Un jugador elige un valor w ya seleccionado: Los valores pedidos en el paso B2 se encuentran en la cadena CDNE. Si un jugador 101 pide un valor ya seleccionado 5 el resto pueden demostrar que debe pedir un valor diferente.
Un jugador no cifra de forma correcta su matriz: Un cifrado incorrecto da lugar a cartas nulas, o valores repetidos. En caso que esto ocurra en la fase de verificación el resto de jugadores 101 podrán detectar la manipulación.
Un jugador se retira durante la fase de inicialización: Si un jugador 101 se re- 10 tira durante la fase de inicialización la partida sigue sin este jugador 101.
Un jugador se retira una vez terminada la fase de inicialización: Si un jugador 101 se retira antes de iniciar el juego, éste se desarrolla sin el jugador 101. La composición de permutaciones se realizará sin utilizar su permutación.
Un jugador se retira en medio del juego: En este caso la partida debe terminar 15 en ese momento. Los jugadores 101 enseñan las cartas, y se procede a verificar el juego. Si el jugador que ha abandonado el juego no justifica su abandono es sancionado.
A continuación y con referencia a las Figuras 1 y 4 se presenta el protocolo criptográfico de juego para los juegos de cartas descubiertas. En dichos juegos los jugadores
20 101 juegan contra el Casino Online, representado por el croupier. Un ejemplo característico de juego de cartas descubiertas es el Black Jack. Igual que ocurre en la forma de juego tradicional, en el protocolo que se presenta las cartas se reparten de forma abierta. El objetivo del protocolo es que estas cartas se obtengan al azar, sin que ninguna parte pueda forzar su valor.
25 En el protocolo presentado la mezcla de los elementos del juego, es decir el proceso de barajar las cartas, se realiza sin la participación de ninguna TTP. Las cartas son barajadas con la colaboración de todos los participantes en el juego. De esta forma se asegura que en el proceso ningún jugador 101, o coalición de ellos, pueda forzar la componente del resultado final, es decir, el valor final de la carta obtenida. Cada
30 jugador 101 genera una permutación de las cartas de la baraja al azar que mantiene en secreto y se compromete a ella mediante un protocolo de compromiso. La baraja de cartas barajada está formada por la composición de las permutaciones de todos los jugadores 101. Cada jugador 101, en el orden preestablecido, aplica su permutación al valor enviado por el jugador anterior. La utilización de permutaciones asegura la unicidad de las cartas obtenidas.
En el primer paso del protocolo se establece una ordenación de los elementos del juego, basado en la baraja de cartas que se utiliza. Por ejemplo, si la baraja de cartas es española, y se ordena por: Oros, Copas, Bastos y Espadas, el valor 27 corresponderá al tres de bastos. Todos los jugadores 101 se comprometen a este orden. También se fija el orden de los jugadores 101 {Jι, . . . , Jn}, siendo este el orden con el que se realizará la composición de las permutaciones, πg = πn o 7rn_ι . . . ιcχ. La última posición normalmente corresponderá al croupier.
En el inicio del protocolo se determina un valor w y se hace público. Dicho valor w pertenece al rango de elementos del juego y no ha sido seleccionado anteriormente.
Dicho valor w puede ser elegido por los jugadores, o ser prefijado por las reglas del juego. Las reglas del juego pueden definir explícitamente los valores w a utilizar, o que sean elegido por los jugadores de forma conjunta.
En la implementación preferida, y en la exposición detallada de la misma, el valor w es elegido por el jugador i. Este valor w no ha sido escogido previamente porqué los valores w elegidos son conocidos, o porque cada jugador dispone de un rango disjunto de valores para escoger. Como se puede apreciar en el paso 401 de la Figura 4 J¿ envía w al primer jugador Ji. En el paso 403 Ji aplica dicho valor w a su permutación ιτχ, obteniendo W = πχ(w) que es enviado a J2. Este proceso 403 se repite hasta el último jugador, Jn. Dicho jugador aplica la última permutación wn = πn(wn-.χ) obteniendo wn que es enviado a j¡. _n según la ordenación inicialmente establecida corresponde a una carta de la baraja, y durante la mano de juego pertenece a J¿. Las acciones del juego se incluyen en la cadena CDNE que se construye durante la partida. Esta medida permite que los jugadores 101 puedan demostrar la acciones ocurridas a una tercera parte.
A continuación se describe el protocolo formalmente. En primer lugar se detalla la fase de inicialización, después el proceso para obtener una carta, y finalmente la verificación de la honestidad durante el juego.
La fase de inicialización se ejecuta al inicio de cada mano de juego. El croupier construye un eslabón de la cadena. El concepto Ck indica el inicio del periodo para generar un resultado de forma conjunta.
Cada jugador J¿ preferiblemente realiza las operaciones siguientes:
» Obtiene una permutación de las t cartas de la baraja π¿, mediante un generador pseudo aleatorio.
m Calcula las operaciones para realizar el protocolo de compromiso de bit, Cpk- En la implementación preferida se utiliza el protocolo de compromiso descrito, sin embargo se puede utilizar cualquiera de los que se mencionan en los antecedentes de la invención.
• Cada jugador J¿ calcula su eslabón de forma independiente, dando lugar esta acción a una expansión de la cadena CDNE. El concepto Ck del eslabón detalla que el eslabón es el compromiso de J¿. El campo Vk contiene dicho compromiso
Cpi. El eslabón como se ha definido se envía a todos los participantes. Cada participante verifica que la expansión es correcta.
El croupier de forma paralela realiza las operaciones siguientes:
» Mediante un generador pseudo aleatorio obtiene una permutación de la baraja de t cartas, πc.
» Calcula el compromiso para su permutación πc, Cpc.
Una vez el croupier ha recibido todos los eslabones que contienen los compromisos de los jugadores 101 realiza la compresión de la cadena. El concepto Ck de este eslabón detalla que ha finalizado el periodo de compromiso, y que dicho eslabón contiene el compromiso Cpc del croupier, en el campo Vk.
Un jugador 101 cualquiera, J¿, para obtener una carta realiza las operaciones si- guientes.
» Elige un valor inicial w que no ha sido pedido anteriormente. J¿ sabe los valores que han sido escogidos porque las peticiones son públicas.
» Construye el siguiente eslabón de la cadena. El concepto C del eslabón describe que J, desea la carta que corresponde al valor que contiene el campo Vk = w.
Ji a partir del eslabón enviado por J¿ realiza las operaciones siguientes.
m Comprueba la correcta construcción del eslabón recibido de J¿, y obtiene w.
m Obtiene el valor w, y aplica el valor recibido a su permutación, uiχ = πχ(w).
m Construye el siguiente eslabón de la cadena, el concepto C de dicho eslabón indica que J2 debe aplicar su permutación al valor uiχ. El campo Vk contiene ιvχ. El proceso se repite con el resto de jugadores 101 {Ji, . . . , Jn}, hasta llegar a Jn.
Este calcula la última permutación, wn = πn(wn-χ), que es el valor de la carta de J¿. Jn construye el siguiente eslabón de la cadena. El concepto Ck, describe que dicho eslabón contiene la carta de J¿, en el campo Vk = wn. Dicho valor wn en las reivindicaciones es indicado como valor p.
Cuando la mano de juego ha finalizado el croupier construye el eslabón que indica el final de la mano de juego. El valor Vk de dicho eslabón contiene los datos para verificar el protocolo de compromiso del croupier. Cada jugador 101 una vez dispone de dicho eslabón construye el siguiente eslabón de la cadena. El concepto Ck indica que el campo Vk contiene la información para verificar el protocolo de compromiso de J¿.
Esta información típicamente incluirá la permutación del jugador 101. La operación se realiza en paralelo por todos los jugadores 101. Esto significa una expansión de la cadena en este punto. Cuando todos los participantes en el juego disponen de la información para verificar los protocolos de compromiso realizan las acciones siguientes:
» Verifican los protocolos de compromiso del resto de participantes en el juego.
« Calculan la permutación de la mano de juego πg, a partir de la composición de la permutaciones aportadas por los jugadores 101, ιτg = ιn o 7rn_ι o . . . o τζX.
' Con ιτg, y los valores w solicitados durante la partida verifican que se obtienen las mismas cartas.
» En el caso que en el paso anterior se encuentre algún error el cálculo de la permutación se realiza con cada π¿. Con este análisis exhaustivo y la cadena CDNE se halla al jugador 101 no honesto.
Una vez la mano de juego se ha verificado satisfactoriamente, el croupier construye el eslabón cuyo concepto Ck detalla que el campo Vk, contiene los resultados del juego. Este eslabón supone una contracción de la cadena CDNE.
A continuación, y con referencia a la Figura 5, se presenta el protocolo criptográfico de juego para los juegos de tirada ejecutables mediante una ruleta, la tirada de unos dados o una máquina de azar o sus representaciones equivalentes. En dicho juego se genera un único valor p o resultado, caracterizado porque cada uno de los jugadores obtiene su componente del resultado que es coincidente con dicho valor o resultado único. El objetivo del protocolo es que dicho resultado se obtenga al azar, sin que ninguna parte pueda forzar su valor y sin la participación de ninguna TTP. En la Figura 5 se pueden ver los pasos del protocolo criptográfico de juegos de tirada.
Inicialmente se determina un valor w y se hace público. Dicho valor w puede ser elegido por los jugadores, o ser prefijado por las reglas del juego. Las reglas del juego pueden definir explícitamente los valores w a utilizar, o que sean elegidos por los jugadores de forma conjunta. En la implementación preferida, y en la explicación detallada de la misma, el valor w es elegido por J%. En el paso 501 J , obtiene de forma pseudo aleatoria un valor y una permutación de los elementos del juego, se compromete a ellos mediante un protocolo de compromiso y envía al resto de jugadores 101 el compromiso obtenido. El protocolo de compromiso descrito anteriormente es el utilizado en la implementación preferida, pero se puede utilizar cualquiera de los mencionados en los antecedentes de la invención. Todos los jugadores 101 en el paso 503 calculan una permutación de forma pseudo aleatoria de los elementos del juego, y se comprometen a ella enviando al resto de participantes en el juego el compromiso a dicha permutación. En el paso 505 los jugadores 101 han recibido los compromisos de los jugadores 101, y muestran la información necesaria para verificar el compromiso, o la información comprometida. En el paso 507 los jugadores 101 verifican el protocolo de compromiso del resto de participantes en el juego, y obtienen el resultado del juego p.
El protocolo garantiza que este valor se genera de forma conjunta y honesta. Todas las acciones del juego se incluyen en una cadena CDNE para ser analizadas en el caso que sea necesario.
Al inicio de la tirada se establece un orden entre los jugadores 101. El croupier construye el eslabón cuyo concepto Ck indica el inicio del periodo para generar el resultado del juego. El croupier es uno de los jugadores 101 que participan en el juego. El valor de dicho eslabón contiene el orden mencionado y el jugador 101 que ejecuta la tirada. Cada J, incluido el crupier, una vez ha recibido dicho eslabón realiza las operaciones siguientes:
» Obtiene una permutación de los resultados del juego πτ, mediante un generador pseudo aleatorio. En el caso de la ruleta por ejemplo, generaría una permutación de los 38 valores posibles. Si J. es quien tira los dados, o gira la ruleta, realiza la siguiente operación adicional: obtiene un valor w de forma pseudo aleatoria, y lo incluye en el protocolo de compromiso junto la permutación πτ.
» Calcula las operaciones del protocolo de compromiso, obteniendo Cp%.
» Construye el eslabón cuyo concepto Ck, describe que el eslabón en el campo Vk contiene el compromiso Cp% de J. En este punto la cadena CDNE se expande, porque todos los jugadores 101 construyen su eslabón en paralelo.
Una vez finalizado el periodo de compromiso el croupier construye el siguiente eslabón de la cadena, cuyo concepto Ck indica que el campo Vk contiene la permutación del croupier, πc, y que ha finalizado la fase inicial. Este eslabón contrae la cadena CDNE. La contracción también impide que algún jugador 101 varíe posteriormente su compromiso.
Una vez el resto de los jugadores 101 reciben el eslabón con la permutación del croupier construyen el siguiente eslabón de la cadena. Cada J¿ realiza esta operación de forma independiente, por consiguiente la cadena CDNE en este punto se expande. El concepto Ck, de dicho eslabón describe que el el campo Vk contiene los valores para verificar el compromiso de J¿. Esta información normalmente incluye la permutación 7íj, y el valor w en el caso del participante que ejecuta la tirada.
Los participantes disponen ya de la información necesaria para verificar el protocolo de compromiso y realizan las acciones siguientes:
m Comprueban que el resto de participantes en el juego han mantenido su compromiso.
« Con las permutaciones {ιrχ, . . . , πn}, de todos los participantes y el orden establecido construyen la permutación general, ιrg — πn o 7r„_ι o . . . o 7Tι.
• Aplican el valor w, aportado por el jugador 101 que ejecuta la tirada a la permu- tación y obtienen el resultado del juego, p = πg(w).
Una vez el croupier ha obtenido el resultado de la tirada construye el siguiente eslabón. El concepto de dicho eslabón describe que el campo Vk contiene el resultado p obtenido. La cadena CDNE en este punto se contrae.
Esta misma operativa se podría utilizar en los juegos similares al bingo o keno. En dichos juegos no se escogería un único valor w sino un conjunto de valores {ιυχ, . . . , wk} que permitirían obtener todos los valores p necesarios en dichos juegos.
La representación vectorial y matricial de los elementos del juego recogida en las reivindicaciones 13 y 14 sería también aplicable a los protocolos de juego de cartas descubiertas y de tirada. Sin embargo, al no representar ninguna ganancia computacional, la implementación preferida no recoge este aspecto.
En la implementación preferida no se describe la utilización de un nodo central para gestionar las comunicaciones entre los n jugadores. Sin embargo, sería posible utilizar dicha entidad central de comunicaciones para desarrollar el juego. En este caso esta unidad central merecedora de confianza podría disponer de las permutaciones de los jugadores y calcular con ellas los valores del resultado, correspondientes a cartas, bolas de bingo, o similares. Mediante esta disposición no se consiguen las mismas garantías de honestidad que con la descripción preferida, al precisar dicha entidad merecedora de confianza. No obstante, una tal disposición permitiría conseguir las mismas garantías que ofrecen las invenciones previamente descritas US 6,264,557 y US 6,165,072.

Claims

REIVINDICACIONES
1.- Método para una obtención imparcial de un resultado de un juego realizado a través de una red de comunicación, mediante medios de computación y/o programas informáticos asociados, participando en dicho juego un conjunto de n jugadores o partes siendo n al menos dos, pudiendo comprender dicho juego elementos tales como cartas, dados, números de ruleta, rodillos de máquina de azar o sus representaciones similares, caracterizado por comprender los siguientes pasos: a) identificar los distintos t elementos del juego, de manera que se pueda establecer una ordenación de dichos elementos, y por consiguiente que a cada uno de ellos le corresponda un número entre 1 y t; b) asignar a cada jugador, una permutación arbitraria de los citados t elementos del juego del paso a), que es mantenida en secreto; c) aplicar un protocolo de compromiso a dicha permutación secreta del paso b) de cada jugador, y hacer accesible un compromiso resultante al resto de jugadores; y d) generar el resultado de dicho juego operando al menos parte de dichas permutaciones secretas de dichos jugadores.
2.- Método, según la reivindicación 1, caracterizado porque comprende un paso adicional, anterior al paso d), de ordenación de las permutaciones de dichos n jugadores, que se empleará en el paso d), basada en un determinado criterio, tal como el orden de entrada de dichos jugadores en el juego.
3.- Método, según la reivindicación 2, caracterizado porque dicha operación de al menos parte de las permutaciones del paso d) se realiza de manera que se posibilita la verificación de la corrección del resultado del juego, empleando un determinado valor w comprendido entre 1 y í, prefijado por las reglas del juego o escogido arbitrariamente, operando dicho valor w según dicho orden de las permutaciones con al menos las permutaciones de los jugadores que no han intervenido en la elección de w, y con todas ellas en el caso que el valor haya sido prefijado, generando un valor p que representa un elemento del juego, y que formará parte del resultado de dicho juego.
4.- Método, según la reivindicación 3, donde el resultado del juego se deduce de dicho valor p, en un juego tal como ruleta, tirada, o similares.
5.- Método, según la reivindicación 3, donde las operaciones realizadas para la generación de dicho valor p se repiten utilizando cada vez un valor w distinto, hasta generar tantos valores p como sean necesarios para determinar el resultado de dicho juego.
6.- Método, según la reivindicación 5, donde los resultados del juego se deducen de los valores p generados, en un juego tal como Bingo, Keno o similar.
7.- Método, según la reivindicación 5, caracterizado porque el paso d) de generación del resultado de dicho juego comprende los pasos siguientes:
di) proporcionar a unos medios de computación de al menos uno de dichos jugadores acceso a las permutaciones secretas del resto de jugadores; y d2) generar mediante dichos medios de computación y dichas permutaciones del paso d) dichos valores p.
8.- Método, según la reivindicación 5, caracterizado porque a cada uno de dichos jugadores se le asigna de forma exclusiva al menos uno de dichos valores p, y determinándose el ganador del juego según los valores p de cada jugador.
9.- Método, según la reivindicación 8, caracterizado porque el paso d) de generación del resultado de dicho juego comprende los pasos siguientes:
di) proporcionar a unos medios de computación de al menos uno de dichos jugadores acceso a las permutaciones secretas del resto de jugadores; d2) generar mediante dichos medios de computación y dichas permutacio- nes del paso d) dichos valores p; y d3) proporcionar acceso a cada jugador a dichos valores p que le corresponden.
10.- Método según la reivindicación 8, caracterizado porque dicho juego es un juego de cartas descubiertas o similar, es decir a los jugadores ordenados entre 1 y n según dicha ordenación de las permutaciones se les reparten las cartas de forma abierta, y porque un jugador i obtiene dicho al menos uno de dichos valores p asignados, a partir de dicho valor w según los pasos siguientes:
11) operar dicho valor w con dicha permutación secreta del primer jugador, utilizando sus medios de computación, generando un valor permutado; y
12) operar la permutación secreta de cada jugador entre 2 y n, utilizando los medios de computación propios de cada jugador, con el valor permutado del jugador anterior, al que tiene acceso, generando un nuevo valor permutado, y correspondiendo finalmente el valor permutado generado por el último jugador n a dicho elemento del juego p.
11.- Método según la reivindicación 8, caracterizado porque dicho juego es un juego de cartas tapadas o similar, es decir a los jugadores ordenados entre 1 y n según dicha ordenación de las permutaciones, se les reparten las cartas de forma que el jugador que pide una carta, o un conjunto de cartas, es el único que conoce su valor, y porque un jugador i obtiene dicho al menos uno de dicho valores p asignados, a partir de dicho valor w según los pasos siguientes:
pl) operar dicho valor w con dicha permutación secreta del primer jugador, utilizando sus medios de computación, generando un valor permutado; p2) operar dicha permutación secreta de cada jugador entre 2 e i — 1, utilizando en cada caso los medios de computación propios de cada jugador, con el valor permutado del jugador anterior al que tiene acceso, generando un nuevo valor permutado; p3) operar la permutación secreta de dicho jugador i, utilizando sus medios de computación, con el valor permutado del jugador i — 1, al que tiene acceso, generando un nuevo valor permutado que seguidamente se protege ocultando el contenido con un sistema que permite operar con valores protegidos; p4) operar dicha permutación secreta de cada jugador entre . + 1 y n, utilizando en cada caso los medios de computación propios de cada jugador, con el valor permutado protegido del jugador anterior, al que tiene acceso, generando un nuevo valor permutado protegido; obte- niendo dicho último jugador n el valor p protegido de dicho jugador i; y p5) desproteger dicho valor p protegido.
12.- Método, según la reivindicación 11, caracterizado porque dicha protección del nuevo valor permutado del jugador i consiste en un cifrado mediante una clave secreta asignada a dicho jugador i con un criptosístema homomórfico, que permite operar con datos cifrados.
13.- Método, según la reivindicación 12, caracterizado porque en la etapa d) se protege adicionalmente la permutación secreta de cada jugador entre i + 1 y n con el mismo sistema de protección empleado por el jugador i, operando a continuación con su permutación protegida dicho valor protegido al que tiene acceso.
14.- Método según la reivindicación 11, caracterizado porque a efectos de operación en el paso p4) en dicho paso p3) se representa con un vector de t valores a dicho nuevo valor permutado del jugador i, indicativo de un elemento del juego correspondiente a un número j, comprendido entre 1 y í, o a un conjunto de dichos nuevos valores permutados indicativos de un subconjunto de elementos del juego, correspondiente a un subconjunto de números jl, j2, ... cada uno de ellos comprendidos entre 1 y t, donde el valor de la posición m en dicho vector distinta de j o de jl, j2, ... es cero módulo z, y el valor de la posición m igual a o igual a jl, j2 ... es distinta de cero módulo z, siendo z un entero asignado al jugador i.
15.- Método según la reivindicación 12, caracterizado porque dicha permutación secreta de uno cualquiera de los jugadores entre i + 1 y n, se representa a efectos de operación, mediante una matriz de t por t elementos, siendo t igual al número de elementos del juego y donde dado un entero z, asignado a dicho jugador i, dicha matriz se construye de la forma siguiente: cada fila k de la matriz es un vector de t valores siendo todos estos valores cero modulo z, a excepción del valor que ocupa la posición igual al resultado de aplicar dicha permutación al valor k.
16.- Método según la reivindicación 15, caracterizado porque se genera una repre- sentación cifrada de dicha matriz de t por t elementos de cada uno de los jugadores de i + 1 a n utilizando dicha clave secreta del jugador i.
17.- Método según la reivindicación 16, caracterizado porque para generar dicha representación cifrada de la matriz de t por t elementos, se utilizan dos conjuntos D y
E de valores cifrados con la clave secreta del jugador i, donde los valores cifrados de dicho primer conjunto D son cero módulo z, y los valores cifrados de dicho segundo conjunto E son diferentes de cero módulo z, siendo z el citado entero asignado al jugador i.
18.- Método según la reivindicación 17, caracterizado porque para cada elemento de dicha matriz de t por t elementos, que sea cero módulo z se escogen arbitrariamente gl valores de dicho conjunto D y se suman todos ellos, y por cada elemento de dicha matriz que sea distinto de cero módulo z se escogen de forma arbitraria g2 valores de dicho conjunto D y se suman a un valor escogido al azar de dicho conjunto E.
19.- Método según la reivindicación 11, caracterizado porque a efectos de operación en el paso p4) en dicho paso p3) se representa con un vector de t valores a dicho nuevo valor permutado del jugador i, indicativo de un elemento del juego correspondiente a un número j, comprendido entre 1 y ¿, o a un conjunto de dichos nuevos valores permutados indicativos de un subconjunto de elementos del juego, correspondiente a un subconjunto de números jl, j2, ... cada uno de ellos comprendidos entre 1 y t, donde el valor de la posición m en dicho vector distinta de j o de jl, j2, ... es cero módulo z, y el valor de la posición m igual a j o igual a jl, j2 ... es distinta de cero módulo z, siendo z un entero asignado al jugador i, y porque dicha permutación secreta de uno cualquiera de los jugadores entre i + 1 y n, a efectos de operación, se representa mediante una matriz de t por t elementos, siendo t igual al número de elementos del juego y donde dado un entero z, asignado a dicho jugador i, dicha matriz se construye de la forma siguiente: cada fila k de la matriz es un vector de t valores siendo todos estos valores cero modulo z, a excepción del valor que ocupa la posición igual al resultado de aplicar dicha permutación al valor k.
20.- Método según la reivindicación 19 caracterizado porque para operar un elemento del juego con una permutación se realiza la multiplicación vectorial entre el elemento del juego representado en forma de vector y la permutación representada en forma de matriz, utilizando un mismo valor entero z para las dos representaciones.
21.- Método según la reivindicación 3, caracterizado porque la verificación de la corrección del resultado comprende al menos los pasos siguientes: mi) permitir el acceso al resto de jugadores a dicha permutación secreta de cada jugador y a la información necesaria para verificar dicho protocolo de compromiso asociado a la misma; m2) verificar dicho protocolo de compromiso del resto de jugadores; y m.3) componer en el orden establecido las permutaciones para genera la permutación resultado, y operar dichos valores w con dicha permuta- ción resultado, obteniendo dichos valores p, y comprobar que coinciden con los obtenidos en el juego.
22.- Método, según la reivindicación 1, caracterizado porque dichas operaciones y/o compromisos realizadas en el mismo son debidamente encadenadas en una cadena resumen, donde cada eslabón de dicha cadena resumen está formado al menos por dos partes, una primera que contiene datos, donde dicho campo de datos contiene al menos una de las siguientes informaciones: el instante de tiempo, la descripción del eslabón, y valores adicionales, y una segunda parte integrando un resumen encadenado de dichos datos, y porque dicho resumen encadenado de dichos datos se construye mediante los pasos siguientes: a) concatenar el resumen encadenado del eslabón anterior con los datos del eslabón que se está construyendo; b) obtener el resumen del resultado del paso a).
23.- Método, según la reivindicación 22, caracterizado porque comprende un paso adicional donde se da autenticidad con una clave privada del jugador para quien se construye el eslabón a dicho resultado del paso b).
24.- Método según la reivindicación 22, caracterizado porque dichas cadenas resumen se obtienen de forma eficiente, mediante la expansión de la cadena en los puntos donde se pueden realizar cálculos de forma paralela, y mediante contracción de dicha cadena cuando los pasos exigen una ejecución secuencial, dicha expansión consiste en utilizar para cada uno de dichos jugadores el mismo resumen encadenado de un eslabón S, a partir del que se expande la cadena resumen, y consistiendo dicha contracción en la generación de un eslabón T que contiene el resumen encadenado del último de los eslabones de dichas cadenas expandidas de dichos jugadores.
25.- Método según la reivindicación 1, caracterizado porque dicho protocolo de compromiso del paso c) de un jugador cualquiera para un valor Rl, representativo de una permutación, comprende las operaciones siguientes:
el) asignar un par de claves asimétricas a cada jugador; c2) generar un valor de forma arbitraria y secreta R2; c3) añadir cierta redundancia a Rl, de forma que se obtiene R3; y c4) cifrar R3 con el componente privado de dicho par de claves asimétricas del jugador, y cifrar R2 con el componente público de dicho par de claves asimétricas, obteniendo el compromiso Cp realizando una operación tal como un or exclusivo de los valores cifrados R2 y R3.
26.- Método según la reivindicación 25, caracterizado por realizar una verificación de dicho protocolo de compromiso que comprende las operaciones siguientes:
c5) deshacer el compromiso revelando R2;
c6) cifrar dicho valor R2 con dicha clave pública asimétrica del jugador que se ha comprometido y calcular la operación inversa, tal como un or exclusivo con el compromiso Cp; y c7) cifrar el resultado obtenido en el paso a) con la clave pública asimétrica de dicha parte que se ha comprometido obteniendo R3, y siendo el compromiso válido si R3 tiene la redundancia esperada.
27.- Programa informático que es susceptible de ser cargado directamente en la memoria interna de un ordenador digital y comprende partes de código de programa informático para llevar a cabo las operaciones para ejecutar dicho juego de cartas descubiertas, según las anteriores reivindicaciones.
28.- Programa informático que es susceptible de ser cargado directamente en la memoria interna de un ordenador digital y comprende partes de código de programa informático para llevar a cabo las operaciones para ejecutar dicho juego de cartas tapadas, según las anteriores reivindicaciones.
29.- Programa informático que es susceptible de ser cargado directamente en la memoria interna de un ordenador digital y comprende partes de código de programa informático para llevar a cabo las operaciones para ejecutar dicho juego de tirada, según las anteriores reivindicaciones.
30.- Programa informático que es susceptible de ser cargado directamente en la memoria interna de un ordenador digital y comprende partes de código de programa informático para llevar a cabo las operaciones para ejecutar dicho juego de Bingo o Keno, según las anteriores reivindicaciones.
PCT/ES2002/000485 2002-10-14 2002-10-14 Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados WO2004035159A1 (es)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2002342935A AU2002342935A1 (en) 2002-10-14 2002-10-14 Method of obtaining an impartial result of a game via a communication network, and related protocols and programs
PCT/ES2002/000485 WO2004035159A1 (es) 2002-10-14 2002-10-14 Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados
EP02779587A EP1563881A1 (en) 2002-10-14 2002-10-14 Method of obtaining an impartial result of a game via a communication network, and related protocols and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/ES2002/000485 WO2004035159A1 (es) 2002-10-14 2002-10-14 Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados

Publications (1)

Publication Number Publication Date
WO2004035159A1 true WO2004035159A1 (es) 2004-04-29

Family

ID=32104070

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2002/000485 WO2004035159A1 (es) 2002-10-14 2002-10-14 Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados

Country Status (3)

Country Link
EP (1) EP1563881A1 (es)
AU (1) AU2002342935A1 (es)
WO (1) WO2004035159A1 (es)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007010055A1 (es) 2005-07-15 2007-01-25 Kinamik Data Integrity, S.L. Método y sistema para la generación de un archivo de registros auditables en los juegos por medios electrónicos presenciales y remotos
WO2007104802A1 (es) 2006-03-13 2007-09-20 Kinamik Data Integrity, S.L. Método y sistema altamente eficientes de generación segura de números aleatorios

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1402958B1 (it) * 2010-12-13 2013-09-27 Bella Di Metodo ed apparecchiatura per il gioco delle carte

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998030297A1 (en) * 1997-01-10 1998-07-16 Silicon Gaming, Inc. Method and apparatus for providing authenticated, secure on-line communication between remote locations
US6264557B1 (en) * 1996-12-31 2001-07-24 Walker Digital, Llc Method and apparatus for securing electronic games
US6264560B1 (en) * 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US20020037767A1 (en) * 2000-08-17 2002-03-28 Steven Ebin Gambling system and method through a computer network
US20020071557A1 (en) * 2000-12-07 2002-06-13 Nguyen Binh T. Secured virtual network in a gaming environment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5085436A (en) * 1990-07-27 1992-02-04 Ainsworth Nominees Pty., Ltd. Slot machine with long and short pseudo reel strip
WO2001098860A2 (en) * 2000-06-22 2001-12-27 Barber Timothy P Method providing for a verifiable game-of-chance played even over a computer network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6264560B1 (en) * 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US6264557B1 (en) * 1996-12-31 2001-07-24 Walker Digital, Llc Method and apparatus for securing electronic games
WO1998030297A1 (en) * 1997-01-10 1998-07-16 Silicon Gaming, Inc. Method and apparatus for providing authenticated, secure on-line communication between remote locations
US20020037767A1 (en) * 2000-08-17 2002-03-28 Steven Ebin Gambling system and method through a computer network
US20020071557A1 (en) * 2000-12-07 2002-06-13 Nguyen Binh T. Secured virtual network in a gaming environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007010055A1 (es) 2005-07-15 2007-01-25 Kinamik Data Integrity, S.L. Método y sistema para la generación de un archivo de registros auditables en los juegos por medios electrónicos presenciales y remotos
US9155959B2 (en) 2005-07-15 2015-10-13 Scytl Secure Electronic Voting S.A. Method and system for the generation of a file of auditable records for remote and on-site electronic gaming
WO2007104802A1 (es) 2006-03-13 2007-09-20 Kinamik Data Integrity, S.L. Método y sistema altamente eficientes de generación segura de números aleatorios

Also Published As

Publication number Publication date
EP1563881A1 (en) 2005-08-17
AU2002342935A1 (en) 2004-05-04

Similar Documents

Publication Publication Date Title
US10748377B1 (en) Distributed secrets for validation of gaming transactions
Burdges et al. Delay encryption
US8862879B2 (en) Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network
US8677128B2 (en) Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network
US7496202B2 (en) Architecture for manufacturing authenticatable gaming systems
Bulens et al. Running {Mixnet-Based} Elections with Helios
CN103563288B (zh) 基于口令的单轮密钥交换协议
Hall et al. Remote electronic gambling
Devillez et al. Can we cast a ballot as intended and be receipt free?
Chow et al. An e-lottery scheme using verifiable random function
WO2004035159A1 (es) Método para la obtención de un resultado imparcial de un juego a través de una red de comunicación y protocolos y programas asociados
Castella-Roca et al. Practical mental poker without a TTP based on homomorphic encryption
AU2013212569B2 (en) Creation and monitoring of &#34;fair play&#34; online gaming
Schindelhauer A toolbox for mental card games
Vangujar et al. A Novel Approach to e-Voting with Group Identity Based Identification and Homomorphic Encryption
Gambs et al. Vssdb: A Verifiable Secret-Sharing Distance-Bounding Protocol
Chen et al. An E-lottery system with a fair purchasing environment and an arbitration mechanism
CN111435911B (zh) 一种在线多方安全数据处理方法及装置
Tian et al. Deniability and forward secrecy of one-round authenticated key exchange
Feigenbaum A Gift that Keeps on Giving: The Impact of Public-Key Cryptography on Theoretical Computer Science
Mukherjee Protecting cryptographic memory against tampering attack
Delfs et al. Cryptographic protocols
Chen et al. A Secure and Fair Joint E‐Lottery Protocol
WO2020242338A1 (ru) Способ верификации результата игры при проведении азартных онлайн игр
Lerner MPF (Mental Poker Framework) A new family of practical and secure Mental Poker protocols Tesis de Licenciatura

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002779587

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002779587

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP