Brevet FR2823580A1 — publié le 20021018

processeurs désirent accéder simultanément à ladite mémoire. Domaine technique: Lorsque des personnes jouent aux cartes, ils ont habituellement recours à un tas de cartes mélangées, un joueur tire une carte dans le tas, il ne la voit pas, mais il sait que la carte dans le tas ne se trouve pas dans son jeu ou dans celle des autres joueurs, pourtant il n'a pas vu les cartes des autres joueurs. Quand un joueur n'est pas satisfait d'une carte et en veut une autre, il la remet dans le tas. Certains jeux de cartes ne sont pas ouvert à tout public. par exemple, le jeu de poker, même sans argent, est interdit en France sauf dans le cadre du cercle de famille En effet, il est possibles pour des membres d'une même f.anille de jouer de l'argent au poker .. Or du fait de l'éclatement des familles, il peut être difficile pour certaines personnes isolées de s'adonner à leur jeu favori à moins de trouver-un système de jeu par correspondance. Dans- d'autres cas, certaines personnes doivent se connecter sur Internet pour trouver des - partenaires compréhensifs pour jouer au jeu de carte qui l'intéresse. Il n'était pas possible jusqu'à présent de jouer aux cartes par correspondance à cause des caractéristiques techniques insoupçonnées du tas que 1'on vient d'évoquer sauf à recourir à un tiers. Mais ce tiers peut être corrompu, complice de collusion ou non protogé contre les indiscrétions de tiers, surtout si des gens misent de l'argent sur le résultat du jeu. En l'absence d'enjeu pour l'intermédiaire, il peut ne pas prendre les mesures de protection nocessaire. Comme on n'est bien servi que par soi-même et pour éviter les risques, la présente invention présente la solution technique avec un système de sélection de cartes pour un jeu par correspondance sans intermédiaire. Dans les jeux d'argent, certains croupiers se sont mêmes enrichis en pratiquant de faux mélanges imperceptibles proftant à des complices. Un bon mélange fait par plusieurs personnes indépendantes permet d'éviter ce risque de fraude, le système de sélection de cartes sous forme électronique permet d'éviter ce risque car toutes les joueurs mélangent les cartes. Le procédé de sélection de cartes repose sur des méthodes cryptographiques permettant au joueur adverse de choisir une carte dans un tas chiffré sans connaitre les cartes dans ce tas ni choisir de carte déjà en sa possession ni en possession de l'adversaire. Les cartes sont mélangées à chaque tour pour empêcher les joueurs de trouver quelle carte est sélectionnée. Le principe est le suivant: le joueur A chiffre les cartes du tas, le joueur B choisit des cartes de ce tas et les chiffre, les envoie au joueur A qui les déchiffre avec sa clé (mais le joueur A ne peut voir les cartes choisies car elles restent chiffrées avec la clé du joueur B) ensuite le joueur B déchiffre à son tour les cartes qu'il a sélectionnées avec sa clé pour les voir en clair. - 2 Le procédé s'appuie sur les particularités mathématiques de la fonction puissance sur des nombres entiers modulo un nombre fixé. La fonction puissance est commutative ( X puissance A puissance B est égal à X puissance A puissance B lui même énal à X puissance (A*B)) et très difficilement inversible (connaissant X et X^A, il est très difficile de retrouver A). - 11 est possible d'étendre le procédé au cas de jeu avec plus de 2 joueurs, avec rejet de cartes, repioche et plusieurs phases de jeu en combinant les principes de mélanges de cartes et de clés différentes par groupe. Etat de la technique antérieure: Aucun des procédés cryptographiques connus jusqu'à présent (notamment cryptographie à clé publique, cryptographie symétrique), ne permettait de résoudre le problème de tirage au sort d'une carte par un tiers parrni des valeurs différentes, sans la révéler. Exposé de l'invention: Procédé de sélection de X cartes pour un jeu de cartes par correspondance entre 2 ou plusieurs joueurs impliquant le tirage au sort de cartes dans un tas sans que l'une quelconque des joueurs l 5 ne connaisse le contenu du tas et sans que 2 personnes jouant au jeu n'aient les mémes cartes à l'aide de: - un nombre N entier strictement positif un jeu de K cartes représentées par des nombres C, C2 à CK avec K entier strictement supérieur à I et strictement inférieur à N et les nombres C, C2 à CK entiers compris entre 2 etN-I - un nombre PhiN égal à l'indicatrice d'Euler du nombre N - 2 supports dits "Joueur A" et "Joueur B" dotés de capacité de mémoire et de calcul de stockage de nombres Etape 1 Le "joueur A" stocke dans des mémoires représentant le Tas T, T2 à TK les valeurs respectivement C, C2 à CK Le "Joueur A" mélange les K mémoires T, T2 à TK ( par exemple en faisant plusieurs changes de mémoire Ti et Tj étant tiré au hasard) Le "joueur A" tire au hasard un nombre A1 tel que A1 soit premier avec PhiN Le "joueur A'' calcule pour tout i de I à K, Vi tel que Vi = Ti ^AI modulo N (le signe ^ représente l'élévation à la puissance) et affecte les valeurs Vi dans les Ti Le "Joueur A" mélange les K mémoires T, T2 à TK Le "Joueur A" envoie au "joueur B" les K valeurs T, T à TK Etape Le "Joueur B" reçoit K valeurs et les affecte dans des mémoires T, T2 à TK c - 3 Le "Joueur B" mélange les K mémoires T, T2 à TK Le "Joueur B" sélectionne au hasard X cartes différentes parmi les T;, T2 à TK et affecte leurs valeurs dans JB, JB2 à JBx, les cartes non sélectionnées sont donc stockées dans T, T2 à TK-X Le "Joueur B" tire au hasard 2 nombres B I et B2 tels que B I et B2 soit premiers avec PhiN S Le "joueur B" calcule pour tout i de I à K-X, Vi tel que Vi = Ti ^B2 modulo N et affecte les valeurs Vi dans les Ti Le "Joueur B" mélange les K-X mémoires Ti, T2 à TK-X Le "joueur B" calcule pour tout i de 1 à X, Vi tel que Vi = JBj ^B I modulo N et affecte les valeurs Vi dans les JBj Le "Joueur B" mélange les X mémoires JB;, JB 2 à JB x Le "Joueur B" envoie au "joueur A" les valeurs T, T2 à TK-X dans un groupe et les valeurs JB, JB 2 à JB x dans un autre groupe Etape 3 Le "Joueur A'' affecte le premier groupe de valeurs dans les mémoires T, T2 à TK-X et le - 1 S deuxième de valeurs dans les mémoires JB;, JB 2 à JB x Le "Joueur A" mélange les K-X mémoires T, T2 à TK-X Le "Joueur A" mélange les X mémoires JBi, JB 2 à JB x Le "joueur A" calcule Alprime tel que Alprime * A1 = 1 modulo PhiN Le "joueur A" calcule pour tout i de I à X, Vi tel que Vi = JBj ^Alprime modulo N et affecte les valeurs Vi dans les JBj Le "Joueur A" tire au hasard 2 nombres A2 et A3 tels que A2 et A3 soit premiers avec PhiN Le "Joueur A" sélectionne au hasard X cartes différentes parmi les Ti, T2 à TK et affecte leurs valeurs dans JA;, JA2 à JAx, les cartes non sélectionnées sont donc stockées dans T, T2 à TK 2. X Le "Joueur A" mélange les X mémoires JA, JA2 àJAx Le "joueur A" calcule pour tout i de 1 à X, Vi tel que Vi = JAj ^(Alprime*A2) modulo N et affecte les valeurs Vi dans les JA; Le "Joueur A" mélange les X mémoires JA, JA 2 à JA x Le "joueur A" calcule pour tout i de 1 à K-2*X, Vi tel que Vi = Ti ^(Alprime*A3) modulo N et affecte les valeurs Vi dans les Ti Le "Joueur A" mélange les K-2*X mémoires T, T2 à TK-2*X Le "Joueur A" envoie au "joueur B" les valeurs T, T2 à TK 2*X dans un groupe, les valeurs JB, JB 2 à JB x dans un 2èn'C groupe et les valeurs JB, JB 2 à JB x dans un 3èmC groupe Etape 4 Le "Joueur B" affecte le premier groupe de valeurs dans les mémoires T, T2 à TK 2.X, le - 4 deuxième groupe de valeurs dans les mémoires JB, JB 2 à JB x. le deuxième groupe de valeurs dans les mémoires JA, JA 2 à JA x Le "Joueur B" mélange les K-2*X mémoires T, T2 à TK-2*X A Le "Joueur B" mélange les X mémoires JB, JB 2 à JB x Le "joueur B" calcule Blprime tel que Bl-prime * B1 = I modulo PhiN Le "joueur B" calcule pour tout i de 1 à X, Vi tel que Vi = JBj ^Blprime modulo N et affecte les valeurs Vi dans les JBi Le "joueur B" voit donc en clair ses cartes car les JBj doivent correspondre à des C, C2 à CK puisque C,^(A1*131*Alprime*Blprime) modulo N est égal à Ci Le "joueur B" calcule B2prime tel que B2prime * B2 = I modulo PhiN Le "joueur B" caloule pour tout i de 1 à X Vi tel que Vi = JAj ^B2prime modulo N et affecte les valeurs Vi dans les JAj Le "Joueur B'' mélange les X mémoires JA, JA 2 à JA x Le "Joueur B" envoie au "joueur A" les valeurs T, T2 à TK- 2*X dans un groupe, les valeurs JA;, iA 2 à JA x dans un 2émC groupe Etape S Le "Joueur A" affecte le premier groupe de valeurs dans les mémoires T, T2 à TK 2X. Ie deuxième groupe de valeurs dans mémoires JA, JA 2 à JA x Le "joueur A" calcule A2prime tel que A2prime * A2 = 1 modulo PhiN Le "joueur A" calcule pour tout i de 1 à X, Vi tel que Vi = JAj ^A2prime modulo N et affecte les valeurs Vi dans les JAj Le "joueur A" voit donc en clair ses cartes car les JAj doivent correspondre à des C, C2 à CK puisque Cj^(Al*Bl*Alprime*A2*Blprime*A2prime) modulo N est égal à Cj lndication de la manière dont l'invention est susceptible d'application industrielle: Les calculs et les stockages peuvent être effectués par des cartes à microprocesseur ou un micro-ordinateur. L'invention est particulièrement adaptée pour des tirages au sort impartiaux et confidentiels à distance ou pour mettre en place des systémes de sélection de cartes à distance. Il peut être également mis en place pour des validation d'expérience par tirage au sort en double aveugle. Le système d'échange et de sélection peut servir pour dautres jeux que les cartes tel que le jeu de domino. En effet, le système de sélection de cartes est indépendant de la règle du jeu proprement dit. - 5 REVENDICATIONS I) Procédé de sélection de X cartés pour un jeu de cartes par correspondance entre 2 joueurs à l'aide de moyens tirant au sort de cartes dans un tas sans que l'une quelcouque des - joueurs ne connaisse le contenu du tas et sans que 2 joueurs jouant au jeu n'aient les mêmes cartes caractérisé par Ces moyens, appelés " joueur A " et " joueur B ", dotés de moyen de calcul, de stockage et d'échange de données appropriés possèdent en commun - un nombre N entier premier strictement positif un jeu de K cartes représentées par des nombres C, C2 à CK avec K entier strictement supérieur à I et strictement inférieur à N et les nombres C, C2 à CK entiers compris entre 2 etN-I - un nombre PhiN égal à l'indicatrice d'Euler du nombre N soit PhiN = N-1 - - Ces moyens de calcul, de stockage et d'échange de données sont utilisés pour les étapes successives suivantes: Etape I Le "joueur A" stocke dans des mémoires représentant le Tas T, T2 à TK les valeurs respectivement C;, C2 à CK Le "Joueur A" mélange les K mémoires T, T2 à TK ( par exemple en faisant plusieurs changes de mémoire Ti et Tj étant tiré au hasard) Le "joueur A" tire au hasard un nombre A1 tel que Al soit prernier avec PhiN Le "joueur A" calcule pour tout i de 1 à K, Vi tel que Vi = Ti ^A1 modulo N (le signe ^ représente l'élévation à la puissance) et affecte les valeurs Vi dans les Ti Le "Joueur A" mélange les K mémoires T, T2 à TK Le "Joueur A" envoie au "joueur B" les K valeurs T, T à TK Etape 2 Le "Joueur B" reçoit K valeurs et les affecte dans des mémoires T, T2 à TK Le "Joueur B" mélange les K mémoires T, T2 à TK Le "Joueur B" sélectionne au hasard X cartes différentes parrni les T, T2 à TK et affecte leurs valeurs dans JB, JB2 à JBx, les cartes non sélectionnées sont donc stockées dans T, T2 à TK-X Le "Joueur B" tire au hasard 2 nombres B1 et B2 tels que Bl et B2 soit premiers avec PhiN Le "joueur B" calcule pour tout i de 1 à K-X, Vi tel que Vi = Ti ^B2 modulo N et affecte les valeurs Vi dans les Ti - 6 Le "Joueur B" mélange les K-X mémoires T, T2 à TK-X - Le "joueur B" calcule pour tout i de I à X, Vi tel que Vi = JBj ^BI modulo N et affecte les valeurs Vi dans les JBi Le "Joueur B" mélange les X mémoires JB, JB 2 à JB x Le "Joueur B" envoie au "joueuT A" les valeurs T, T2 à TK-X dans un groupe et les valeurs JB;, JB 2 à JB x dans un autre groupe Etape 3 Le "Joueur A" affecte le premier groupe de valeurs dans les mémoires T, T2 à TK-X et le deuxième de valeurs dans les mémoires JB, JB 2 à JB x Le "Joueur A" mélange les K-X mémoires T, T2 à TK-X Le "Joueur A" mélange les X mémoires JB, JB 2 à JB x Le "joueur A" calcule Alprime tel que Alprime * A1 = I modulo PhiN Le "joueur A" calcule pour tout i de I à X, Vi tel que Vi = JBj ^Alprime modulo N et affecte les valeurs Vi dans les JBj Le "Joueur A" tire au hasard 2 nombres A2 et A3 tels que A2 et A3 soit premiers avec PhiN Le "Joueur A" sélectionne au hasard X cartes différentes parmi les T, T2 à TK et affecte leurs valeurs dans JA, JA2 à J. Ax, les cartes non sélectionnées sont donc stockées dans T, T2 à TK 2*X Le "Joueur A" mélange les X mémoires JA, JA 2 à JA x Le "joueur A" calcule pour tout i de I à X, Vi tel que Vi = JAj ^(Alprime*A2) modulo N et affecte les valeurs Vi dans les JA; Le "Joueur A" mélange les X mémoires JA, JA 2 à JA x Le "joueur A" calcule pour tout i de I à K-2*X Vi tel que Vi = Ti ^(Alprime*A3) modulo N et affecte les valeurs Vi dans les Ti Le "Joueur A" mélange les K-2*X mémoires T, T2 à TR-2*X Le "Joueur A" envoie au "joueur B" les valeurs Ti, T2 à TK-2-X dans un groupe, les valeurs JB, JB 2 à JB x dans un 2ème groupe et les valeurs JB, JB 2 à JB x dans un 3ème groupe Etape 4 Le "Joueur B" affecte le premier groupe de valeurs dans les mémoires T, T2 à TK-2*X, le deuxième groupe de valeurs dans les mémoires JB, JB à JB x le deuxième groupe de valeurs dans les mémoires JA, JA 2 à JA x Le "Joueur B" mélange les K-2*X mémoires T, T2 à T; '*x Le "Joueur B" mélange les X mémoires JB, JB 2 à JB x Le "joueur B" calcule B Iprime tel que B lprime * B I = I modulo PhiN Le "joueur B" calcule pour tout i de I à X Vi tel que V i = JBj ^Blprime modulo N et affecte les valeurs Vi- dans les JBj -. -. Le "joueur B" voit donc en clair ses cartes car les JBj doivent correspondre à des C;, C2 à CK puisque Cj ^(AI*BI *Alprime*131prime) modulo N est égal à Cj Le "joueur B" calcule B2prime tel que B2prime * B2 = I modulo PhiN Le "joueur B" calcule pour tout i de I à X, Vi tel que Vi = JAj ^B2prime modulo N et affecte les valeurs Vi dans les JAj Le "Joueur B" mélange les X mémoires JA, JA 2 à JA x Le "Joueur B" envoie au "joueur A" les valeurs T, T2 à TK-2*X dans un groupe, les valeurs JA, JA 2 à JA x dans un 2ème groupe Etape 5 Le "Joueur A" affecte le premier groupe de valeurs dans les mémoires T;, T2 à TK-2*X le deuxième groupe de valeurs dans mémoires JA, JA 2 à JA x Le "joueur A" calcule A2prime tel que A2prime * A2 = 1 modulo PhiN Le "joueur A" calcule pour tout i de I à X, Vi tel que Vi = JAj AA2prime modulo N et affecte les valeurs Vi dans les JAj Le "joueur A" voit donc en clair ses cartes car les JAj doivent correspondre à des C, C2 à CK puisque Cj ^( Al *B I *Alprime*A2*B lprime*A2prime) modulo N est égal à Cj 2) Procédé selon la revendication 1 o 1'un des moyens est une carte à microprocesseur 3) Procédé selon l'une quelconque des revendications n l ou 2 dans le cas o 1'un des moyens est un micro ordinateur