JP3912514B2 - Communication game system, server and client - Google Patents
Communication game system, server and client Download PDFInfo
- Publication number
- JP3912514B2 JP3912514B2 JP2002196887A JP2002196887A JP3912514B2 JP 3912514 B2 JP3912514 B2 JP 3912514B2 JP 2002196887 A JP2002196887 A JP 2002196887A JP 2002196887 A JP2002196887 A JP 2002196887A JP 3912514 B2 JP3912514 B2 JP 3912514B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- server
- client
- data
- communication
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 100
- 230000005540 biological transmission Effects 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 24
- 239000002131 composite material Substances 0.000 description 44
- 238000010586 diagram Methods 0.000 description 12
- 208000001613 Gambling Diseases 0.000 description 9
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 7
- 230000010365 information processing Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、通信を介してゲームを行う通信ゲームシステム、サーバおよびクライアントに関する。
【0002】
【従来の技術】
サーバと複数のクライアントとがインターネットを介して接続されたシステムにおいて、前記サーバと各クライアントの間でゲームを行う技術が既に実用化されている。
近い将来、このようなシステムを用いてギャンブルを行うことが予想されている。
【0003】
【発明が解決しようとする課題】
ところが、このようなインターネットを介してゲームを行うシステムでは、プレーヤが互いに離れた場所にいる状態でゲームを行うため、インターネットを介して情報を授受する過程で、情報の伝達時間を利用するなどしてデータを改竄するなどして不正行為(いかさま)を行うチャンスがある。
また、このようなゲームを行なう際、情報管理装置と複数の情報処理装置が通信回線を介して情報の通信を行なう構成において、前記複数の情報処理装置と情報管理装置の間で情報が伝達されることで情報処理を行なう場合、前記情報の改ざんがなされた場合にこの改ざんを確実に発見することが要請されている。
本発明はこのような事情に鑑みてなされたものであり、その目的は、ゲームを行うプレーヤの不正行為を防止することができ、ゲームをギャンブルとして行う場合に有利な通信ゲームシステム、サーバおよびクライアントを提供することにある。
【0004】
【課題を解決するための手段】
本発明は、前記目的を達成するため、サーバと複数のクライアントとが通信回線を介して接続され、前記サーバと各クライアントとの間で情報の授受を行う通信ゲームシステムであって、前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、前記各クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、乱数を発生する乱数生成手段と、前記乱数のハッシュデータを生成するハッシュデータ生成手段と、前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、クライアント制御手段とを有し、前記サーバのゲーム手段によるゲームの実行は、前記各クライアント通信手段から前記サーバ通信手段に送信される前記ゲーム用データを用いて行なわれ、前記各クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、前記サーバ制御手段は、前記サーバ通信手段で全ての前記ハッシュデータを受信すると、全ての前記ハッシュデータを前記各クライアント通信手段に送信するように構成され、前記各クライアント制御手段は、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、前記サーバの前記ゲーム手段によって実行される前記ゲームは、前記各クライアントの送信手段から送信される前記ゲーム用データの全てを用いた演算を行うことでなされることを特徴とする。
【0005】
また、本発明は、複数のクライアントと通信回線を介して接続されるサーバであって、前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、前記ゲーム手段は、前記各クライアントから前記サーバ通信手段に送信されるゲーム用データを用いてゲームを行なうように構成され、前記サーバ制御手段は、前記各クライアントが乱数から生成したハッシュデータの全てを前記サーバ通信手段で受信すると、全ての前記ハッシュデータを前記各クライアントに送信するように構成され、前記サーバ通信手段は、前記各クライアントが、受信した全ての前記ハッシュデータを表示させた後、前記乱数を所定ビット数毎に区切ることで生成したゲーム用データを前記クライアントから受信するように構成され、前記ゲーム手段による前記ゲームの実行は、前記各クライアントの送信手段から送信されるゲーム用データの全てを用いた演算を行うことでなされることを特徴とする。
【0006】
また、本発明は、サーバと通信回線を介して接続されるクライアントであって、前記クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、乱数を発生する乱数生成手段と、前記乱数のハッシュデータを生成するハッシュデータ生成手段と、前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、クライアント制御手段とを有し、前記クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、前記クライアント制御手段は、前記サーバが該サーバに接続されている全てのクライアントから全ての前記ハッシュデータを受信したことをもって全ての前記ハッシュデータを前記クライアント通信手段に送信すると、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、前記クライアント通信手段によって前記サーバに送信される前記ゲーム用データは、それらゲーム用データの全てを用いた演算が前記サーバのゲーム手段で行われることでゲームが実行されるものであることを特徴とする。
【0007】
そのため、前記ハッシュデータが前記表示手段によって表示された後、前記ゲーム用データが前記サーバに送信される。前記ゲーム用データに対する改竄などの不正行為があると、前記ハッシュ用データと前記ゲーム用データとの関係が矛盾することになり、不正行為を発見することが可能となる。
【0008】
【発明の実施の形態】
本発明の通信ゲームシステム、サーバおよびクライアントの実施の形態について説明する前に、第1乃至第3の参考例について説明する。
なお、以下に説明する第1乃至第3の参考例および実施の形態では、ゲームをギャンブルとして行う場合について説明する。
図2は、通信ゲームシステムの概略構成を示す構成図である。
情報処理システムとしての通信ゲームシステム100は、情報管理装置としてのサーバ装置10と、情報処理装置を構成する複数のクライアント装置20(20−1〜20−m)と、前記サーバ装置10と各クライアント装置20とを接続する通信回線としてのインターネット30とを備えて構成されている。
そして、前記サーバ装置10と各クライアント装置20の情報の授受を公開鍵暗号化方式に基づいて行うことが可能に構成されている。すなわち、前記サーバ装置10と各クライアント装置20によって公開鍵基盤:PKI(Public Key infrastructure)が構成されている。
【0009】
図1は、前記サーバ装置10およびクライアント装置20の概略構成を示すブロック図である。
図1に示すように、前記サーバ装置10は、コンピュータによって構成され、サーバ通信手段1002、サーバ制御手段1004、表示手段1006、入力手段1008、ゲーム手段1010などを備えて構成されている。
前記サーバ通信手段1002は、前記インターネット30を介して前記各クライアント装置20との通信を行うように構成されている。
前記サーバ制御手段1004は、前記各部の制御を司るものである。
前記表示手段1006は、モニタ装置などから構成され、ゲームを行う上で必要な画像を画面に表示するように構成されている。
前記入力手段1008は、マウスやキーボードなどから構成され、ゲームを行う上で必要な操作や情報の入力を行うように構成されている。
前記ゲーム手段1010は、ゲームを実行するものであり、ゲームのソフトウェアをCPUが実行することによって実現されるものである。
なお、前記ゲーム手段1010が行うゲームの細かい処理内容は、本発明の要旨と直接関連しないので説明を省き、後述する動作説明の中で必要な処理内容について簡単に説明することにする。
また、前記サーバ装置10は、前記コンピュータに設けられた記憶手段であるハードディスク装置にインストールされたサーバ用プログラムをCPUが実行することによって前記各手段を機能させるように構成されている。
なお、前記サーバ用プログラムのサーバ装置10に対するインストールは、前記インターネットを介したダウンロードで行なわれてもよいし、CD−ROMなどの記録媒体に記録されたサーバ用プログラムをCD−ROMドライブ装置を介して読み取ることによって行なわれてもよい。
また、前記サーバ装置10に前記サーバ用プログラムがプリインストールされていてもかまわない。
また、前記サーバ装置10を構成する前記各手段をハードウェアによって実現してもよいことは勿論である。
【0010】
前記クライアント装置20は、後述する個人認証装置22と接続可能に構成されている。
前記クライアント装置20は、コンピュータによって構成され、クライアント通信手段2002、クライアント制御手段2004、表示手段2006、入力手段2008を備えている。
前記クライアント通信手段2002は、前記インターネット30を介して前記サーバ装置10との通信を行うように構成されている。
前記クライアント制御手段2004は、前記各部の制御を司るものである。
前記表示手段2006は、モニタ装置などから構成され、ゲームを行う上で必要な画像を画面に表示するように構成されている。
前記入力手段2008は、マウスやキーボードなどから構成され、ゲームを行う上で必要な操作や情報の入力を行うように構成されている。
また、前記クライアント装置20は、前記コンピュータに設けられた記憶手段であるハードディスク装置にインストールされたクライアント用プログラムをCPUが実行することによって動作するように構成されている。
なお、前記クライアント用プログラムのクライアント装置20に対するインストールは、前記インターネットを介したダウンロードで行なわれてもよいし、CD−ROMなどの記録媒体に記録されたクライアント用プログラムをCD−ROMドライブ装置を介して読み取ることによって行なわれてもよい。
また、前記クライアント装置20に前記サーバ用プログラムがプリインストールされていてもかまわない。
また、前記クライアント装置20を構成する前記各手段をハードウェアによって実現してもよいことは勿論である。
【0011】
前記クライアント装置20には、個人認証装置22が接続可能に設けられている。
前記個人認証装置22は、各クライアント装置20を操作するプレーヤが予め登録された人であることを認証するものである。プレーヤの個人認証は、未成年者がギャンブルをすることを防止するために必要である。
図3に示すように、前記個人認証装置20は、筐体2001の外側に面した箇所に指紋照合センサ2202が設けられており、ケーブル2203を介してクライアント装置20と情報の授受が可能に構成されている。前記情報の授受は例えばUSB規格に基づいて行なわれる。
【0012】
図4に示すように、前記個人認証装置22は、前記指紋照合センサ2202の他に、A/Dコンバータ2204、指紋照合用LSI2206、PKIエンジン2208(ゲーム用データ生成手段)、フラッシュメモリ2210、プログラム用ROMおよびRAM2212、CPU2214、USBコントローラ2216などを備えている。
また、前記指紋照合用LSI2206、PKIエンジン2208、フラッシュメモリ2210、プログラム用ROMおよびRAM2212、CPU2214、USBコントローラ2216は、バスによって共通に接続されている。
前記指紋照合センサ2202は、該指紋照合センサ2202上におかれた指先から指紋を読み取って指紋データ(グレースケールデータ)を出力するものである。
前記A/Dコンバータ2204は、前記指紋データをアナログ信号からデジタル信号に変換するものである。
前記指紋照合用LSI2206は、前記デジタルデータから特徴部分のテンプレートデータを生成して前記フラッシュメモリ2210に保存するものである。
前記PKIエンジン2208は、公開鍵暗号化方式に基づく通信を行うために必要な公開鍵、秘密鍵を生成するともに、これら公開鍵と秘密鍵に基づいて暗号化/複合化を行うものである。なお、公開鍵、秘密鍵の生成については後で説明する。
前記フラッシュメモリ2210は、前記テンプレートデータと、賭け金と引き換えにプレーヤに与えられるチップデータとを記憶するように構成されている。
前記プログラム用ROMおよびRAM2212は、この個人認証装置20の制御用プログラムを格納するものである。
前記USBコントローラ2216は、前記クライアント装置20との間で情報を送受信するためのインターフェースである。
前記CPU2214は、前記制御プログラムに基づいて、前記各部を制御するものである。
【0013】
次に、前記個人認証装置22の動作について説明する。
まず、前記クライアント装置20を使用するプレーヤを登録する登録動作について説明する。
プレーヤは、指を前記個人認証装置22の前記指紋照合センサ2202上におく。これにより、指紋データが前記A/Dコンバータ2204を介して前記指紋照合用LSI2206に読み取られ、前記テンプレートデータが前記フラッシュメモリ2210に保存される。これによりプレーヤの指紋データが登録される。
次に、プレーヤを認証する認証動作について説明する。
プレーヤは、指を前記個人認証装置22の前記指紋照合センサ2202上におく。これにより、指紋データが前記A/Dコンバータ2204を介して前記指紋照合用LSI2206に読み取られ、前記フラッシュメモリ2210に保存されているテンプレートデータと照合される。その結果が前記CPU2214に通知される。
前記CPU2214は、前記照合結果が合格ならば認証が正常に行われた旨をクライアント装置20に通知する。これにより、クライアント装置20の使用が可能となる。一方、前記照合結果が不合格ならば認証が行なわれなった旨をクライアント装置20に通知する。これにより、クライアント装置20の使用は不能となる。
【0014】
次に、前記PKIエンジン2208によるRAS方式に基づく公開鍵、秘密鍵の生成動作について説明する。
前記クライアント装置20から前記個人認証装置22に公開鍵、秘密鍵の生成を指示するコマンドが送信される。
前記PKIエンジン2208は、前記コマンドに応じて乱数を生成する。前記乱数の生成は、非素数が得られるまで繰り返して行なわれる。
前記PKIエンジン2208は、非素数の乱数が得られたら、式(1)に示すように、この乱数を合成数nとし、合成数nをその積で示す2つの素数、すなわち第1素数p、第2素数qに分解する。前記合成数nはモジュラスともいう。言い替えると、前記合成数nは、前記第1素数pと第2素数qに基づき不可逆的かつ一意に生成されることになる。
n=p・q (1)
次に、式(2)に基づいてyを求める。
(p−1)・(q−1)+1=y (2)
次に、式(3)に基づいてyを積で示す公開鍵eと秘密鍵dを求める。
e・d=y (3)
例えば、合成数n=33とすれば、式(1)、式(2)、式(3)は次のとおりとなる。
33=3・11 (1)
(3−1)・(11−1)+1=21 (2)
3・7=21 (3)
すなわち、
合成数n:33
公開鍵e:3
秘密鍵d:7
となる。
【0015】
次に、ゲームを行う際の動作について図5のフローチャートを参照して説明する。なお、第1の参考例では、ゲームがクラップスである場合について説明する。
ゲームを行なうプレーヤは、ゲームの進行を司る役割を有する1人の親プレーヤと、親プレーヤの進行にしたがってゲームに参加する1人以上の子プレーヤとからなる。
本参考例では、親プレーヤがクライアント装置10を介してサーバ装置10を操作し、子プレーヤがクライアント装置20を操作するものとして説明する。
【0016】
まず、各子プレーヤは、ギャンブルを提供するサービス提供会社の登録場所に出向いて、自らの年齢証明を行って前記個人認証装置22に指紋データを登録して個人登録を行う(ステップS10)。次に、各子プレーヤは賭け金を支払うことにより、その賭け金に見合う前記チップデータを前記フラッシュメモリ2210に保存してもらう(ステップS12)。
なお、前記チップデータには前記サービス提供会社によるデジタルサインが施されている。
その後、各子プレーヤに前記個人認証装置22が貸与される(ステップS14)。
各子プレーヤは、貸与された個人認証装置22を前記クライアント装置20に接続して、個人認証動作を行う(ステップS16)。個人認証動作が正常に行われることにより、ゲームに参加する準備が完了する。
【0017】
ゲーム参加準備が完了することによって、図6に示すように、クライアント装置20の表示手段2006の画面には、ゲーム選択を行うためのメニューG1が表示される(ステップS18)。
クラップスを選択してクライアント装置20の入力手段2008のキーボードの実行キーを押すことで、図7に示すように、クラップスを行うための画面が表示される(ステップS20)。
前記画面には、クラップスを行うテーブルの画像G2(詳細な画面内容は省略する)が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、ダイスを振るためのダイスボタンB1、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0018】
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。なお、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
なお、このようなチップをテーブル上に置くなどの操作とその操作に対応する表示は、前記サーバ装置10のゲーム手段1010およびサーバ制御手段1004の制御によって前記サーバ装置10と各クライアント装置20との間でインターネット30を介して情報が相互に通信されることによって実現されるものである。
【0019】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全てをダイスレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、ダイスレディ状態にする旨の指示が前記サーバ制御手段1004からサーバ通信手段1002を介して子プレーヤの各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のダイスボタンB1の色が操作不能を示す赤色から可能を示す緑色に変化させる(ステップS24)。
これに応じて、各子プレーヤがダイスボタンB1をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS26)。
前記個人認証装置22は、前述した動作に従って前記合成数n、第1素数p、第2素数qを生成してクライアント制御手段2004に与える(ステップS28)。
前記クライアント制御手段2004は、まず、前記n送信ボタンB2を操作可能な状態にする。例えば、このボタンの色を赤色から緑色に変化させる(ステップS30)。
各子プレーヤが前記n送信ボタンB2を操作することで、前記サーバ装置10に全ての合成数nが送信されると、前記サーバ装置10のゲーム手段1010は前記全ての合成数nを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての合成数nが表示される(ステップS32)。
したがって、各子プレーヤは自らの合成数nと、他の子プレーヤの合成数nとを視認することができる。
【0020】
次に、前記全ての合成数nが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、第1素数p、第2素数qを送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記p送信ボタンB3、q送信ボタンB4を操作可能な状態にする。例えば、これらボタンB3、B4の色を赤色から緑色に変化させる(ステップS34)。
各子プレーヤがp送信ボタンB3とq送信ボタンB4の双方を操作することで、前記サーバ装置10に全クライアント装置20における第1素数pおよび第2素数qがゲーム用データとして送信される(ステップS36)。
次いで、前記サーバ装置10のゲーム手段1010は、前記全ての第1素数pおよび第2素数qを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての第1素数pおよび第2素数qが表示される(ステップS38)。
したがって、各子プレーヤは自らの第1素数pおよび第2素数qと、他の子プレーヤの第1素数pおよび第2素数qとを視認することができる。
そして、このステップS38において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全ての合成数nと、前記クライアント通信手段2002で受信した全ての第1、第2素数p、qとをベリファイ、すなわち比較して前記第1、第2素数p、qが改ざんされているか否かを判定する(ステップS39)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS41)。
【0021】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらの素数に基づいて2つのダイスの目(1〜6までのいずれかの数)を決定する。
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
まず、第1、第2素数のLSB(最下位ビット)側から所定ビットを削除する。これは素数が必ず奇数から構成されているためである。
次いで、式(4)のように各第1素数p1〜px(所定ビットの削除後)の排他的論理和p0を演算する。
p0=p1*p2*p3*……*px (4)
(本明細書において*は排他的論理和の演算記号を示すものとする)
次に、p0を6で割ってその余りを1つめのダイスの目とする(ただし余り0はダイスの目6とする)。
そして、前記サーバ装置10のゲーム手段1010は、1つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に1つめのダイスの目を表示させる(ステップS40)。
【0022】
同様に、式(5)のように各第2素数q1〜qx(所定ビットの削除後)の排他的論理和q0を演算する。
q0=q1*q2*q3*……*qx (5)
次に、q0を6で割ってその余りを2つめのダイスの目とする(ただし余り0はダイスの目を6とする)。
そして、前記サーバ装置10のゲーム手段1010は、2つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に2つめのダイスの目を表示させる(ステップS42)。
【0023】
このように2つのダイスの目が決定してクラップスの勝敗が決定すると(ステップS44で“Y”)、賭け金の配当などの処理が実行される(ステップS46)。
クラップスの勝敗が決定しないと(ステップS44で“N”)、ステップS34に戻る。
ゲームを続行するか否かの選択を行い(ステップS48)、続行する場合(ステップS48で“Y”)にはステップS22に移行し、続行しない場合(ステップS48で“N”)には終了する。
【0024】
以上説明したように、第1の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0025】
また、ダイスの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができる。
【0026】
また、ステップS40、S42の動作において、各クライアント装置20の表示手段2006においてダイスが転がる様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
なお、第1の参考例では、前記合成数nに基づく第1、第2素数p、qの生成を前記PKIエンジン2208で行ったが、この動作は前記CPU2214で行っても、あるいは前記クライアント制御手段2004で行ってもかまわない。
また、上述の説明では、前記第1、第2素数p、q全てを使用したが、これらの最上位ビットから8ビット分でダイスの目を決定するようにしてもよい。このようにすることで、合成数nを1度生成しただけで、複数回ダイスを転がした分のダイスの目を得ることができる利点がある。
【0027】
次に、第2の参考例について説明する。
第2の参考例では、ゲームがルーレットであるものとして説明する。
第2の参考例が第1の参考例と異なる部分は、前記各クライアント装置20の表示手段2006に表示される画面と、前記第1、第2素数p、qを用いてルーレットで出る目を決定する演算内容である。
図8は、ルーレットが選択されたときにクライアント装置20の表示手段2006に表示される画面の説明図である。
図8に示すように、前記表示手段2006の画面には、ルーレットを行うテーブルの画像が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、各子プレーヤが操作するレディボタンB11、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0028】
図9は、第2の参考例の動作を示すフローチャートである。
なお、図9において図5と同一動作のステップについては、同一のステップ番号を付してその説明を省略する。
ステップS10乃至S18までは第1の参考例と同様である。
ステップS20でルーレットを選択することにより、図8に示すルーレット用の画面G3(詳細な画面内容は省略する)が表示される。
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。本参考例においても、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
【0029】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全てのレディボタンB11をレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、レディボタンB11をレディ状態にする旨の指示が前記サーバ制御手段1004かサーバ通信手段1002を介して各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のレディボタンB11の色を操作不能を示す赤色から可能を示す緑色に変化させる(ステップS124)。
これに応じて、各子プレーヤがレディボタンB11をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS126)。
以下、前記個人認証装置22による前記合成数n、第1素数p、第2素数qの生成、表示の動作は、図5におけるステップS28乃至S41と同様である。
【0030】
そして、ルーレットの目を決定する演算は次のような手順で行われる。
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
次いで、式(6)のように各第1素数p1〜px、第2素数がq1〜qxの排他的論理和pq0を演算する。
pq0=p1*p2*p3*……*px
*q1*q2*q3*……*qx (6)
次に、pq0を38で割ってその余り(1乃至36)をルーレットの目とする(合成情報生成ステップ)。ただし余り0はルーレットの目を0、余り37はルーレットの目を00とする。
そして、前記サーバ装置10のゲーム手段1010は、ルーレットのデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006にルーレットの目を表示させる(ステップS140)。
【0031】
このようにルーレットの目が決定することで、ルーレットの勝敗が決定すると(ステップS142で“Y”)と、賭け金の配当などの処理が実行される(ステップS144)。
次いで、ゲームを続行するか否かの選択を行い(ステップS146)、続行する場合(ステップS46で“Y”)にはステップS22に移行し、続行しない場合(ステップS46で“N”)には終了する。
【0032】
以上説明したように、第2の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0033】
また、ルーレットの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができることは第1の参考例と同様である。
【0034】
また、ステップS140の動作において、各クライアント装置20の表示手段2006においてルーレットが回転する様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
また、上述の説明では、前記第1、第2素数p、q全てを使用したが、これらの最上位ビットから8ビット分でルーレットの目を決定するようにしてもよい。このようにすることで、合成数nを1度生成しただけで、複数回ルーレットを回転させた分のルーレットの目を得ることができる利点がある。
【0035】
次に、第3の参考例について説明する。
第3の参考例では、ゲームがカードゲームの1つであるブラックジャックであるものとして説明する。
第3の参考例が第1の参考例と異なる部分は、前記各クライアント装置20の表示手段2006に表示される画面と、前記第1、第2素数p、qを用いてカードの数字を決定する演算内容である。
図10は、ブラックジャックが選択されたときにクライアント装置20の表示手段2006に表示される画面の説明図である。
図10に示すように、前記表示手段2006の画面には、ブラックジャックを行うテーブルの画像が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、各子プレーヤが操作するスタートボタンB21、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0036】
図11は、第3の参考例の動作を示すフローチャートである。
なお、図11において図5と同一動作のステップについては、同一のステップ番号を付してその説明を省略する。
ステップS10乃至S18までは第1の参考例と同様である。
ステップS20でブラックジャックを選択することにより、図10に示すブラックジャック用の画面G4(詳細な画面内容は省略する)が表示される。
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。なお、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
【0037】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全ての前記スタートボタンB21をレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、スタートボタンB21をレディ状態にする旨の指示が前記サーバ制御手段1004からサーバ通信手段1002を介して子プレーヤの各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のスタートボタンB21の色を操作不能を示す赤色から可能を示す緑色に変化させる(ステップS224)。
これに応じて、各子プレーヤがレディボタンB11をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS226)。
以下、前記個人認証装置22による前記合成数n、第1素数p、第2素数qの生成と、合成数n表示の動作は、図5におけるステップS28乃至S32と同様である。なお、本例では、第1素数p、第2素数qの桁数を512ビットとして説明する。
【0038】
次に、前記全ての合成数nが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、第1素数p、第2素数qを送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記p送信ボタンB3、q送信ボタンB4を操作可能な状態にする。例えば、これらボタンB3、B4の色を赤色から緑色に変化させる(ステップS234)。
各子プレーヤがp送信ボタンB3とq送信ボタンB4の双方を操作することで、前記サーバ装置10に全クライアント装置20における第1素数pおよび第2素数qが送信される(ステップS236)。
本例では、カードを4組使用するものとする。したがって、カードの総枚数は、52×4=208枚となり、各カードの絵柄と数字を識別するために必要な数字は208以上あればよい。このため、1回のプレーで必要な第1素数pおよび第2素数qのビット数は8ビット(十進数で表現すると、0〜255までの数字)となる。
したがって、第1、第2素数p、qは、1枚のカードの決定毎(1回のプレー毎)に最上位ビットから8ビットずつ送信される。
なお、第1、第2素数p、qはその最下位ビット(LSB)を不使用にする必要がある。この理由は、生成された512ビットの第1、第2素数p、qが奇数であり、その最下位ビット(LSB)が必ず1となるため、最下位ビットを含んだ状態で送信すると、後述するカードの数字を決定する演算結果が子プレーヤ数に応じて決定されてしまう不都合を回避するためである。
第1、第2素数p、qの最下位ビット側から所定ビットを除く処理方法は任意であるが、例えば、第1、第2素数p、qを構成する512ビットのうち、下位ビット半分を除いてもよい。
【0039】
次いで、前記サーバ装置10のゲーム手段1010は、8ビット分の前記第1素数pおよび第2素数qを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての第1素数pおよび第2素数qが表示される(ステップS238)。
したがって、各子プレーヤは自らの第1素数pおよび第2素数qと、他の子プレーヤの第1素数pおよび第2素数qとを視認することができる。
そして、このステップS238において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全ての合成数nと、前記クライアント通信手段2002で受信した全ての第1、第2素数p、qとをベリファイ、すなわち比較して前記第1、第2素数p、qが改ざんされているか否かを判定する(ステップS239)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS241)。
【0040】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらの素数に基づいてカードの数字を決定する。
カードの数字を決定する演算は次のような手順で行われる。
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
式(7)のように各第1素数p1〜px(所定ビットの削除後)の排他的論理和p0を演算する。
p0=p1*p2*p3*……*px (7)
次に、p0を208で割ってその余りによりカードの数または絵柄を特定する。
同様に、式(8)のように各第2素数q1〜qx(所定ビットの削除後)の排他的論理和q0を演算する。
q0=q1*q2*q3*……*qx (8)
次に、q0を208で割ってその余りによりカードの数または絵柄を特定する。
したがって、親プレーヤは、排他的論理和p0、q0の数字で特定されるカードをブラックジャックのルールに基づいて各操作者(クライアント装置20)に対応して所定枚数ずつ配る。このルール自体は本発明の要旨と直接関連しないので説明を省略する。
すなわち、カードの数字および絵柄に対応するデータが前記サーバ装置10のゲーム手段1010から各クライアント装置20に送信される。そのデータに基づいて、各クライアント装置20の表示手段2006に配られたカードの画像(絵柄と数字を含む)が表示される(ステップS240)。
【0041】
このようにカードの絵柄と数字が決定することで、ブラックジャックの勝敗が決定すると(ステップS242で“Y”)、賭け金の配当などの処理が実行される(ステップS244)。
ブラックジャックの勝敗が決定しないと(ステップS242で“N”)、ステップS234に戻る。
ゲームを続行するか否かの選択を行い(ステップS246)、続行する場合(ステップS246で“Y”)にはステップS22に移行し、続行しない場合(ステップS246で“N”)には終了する。
【0042】
以上説明したように、第3の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0043】
また、カードの絵柄と数字を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各子プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いて子プレーヤの認証を行うことにより、ギャンブルを行う子プレーヤの制限(年齢制限)を容易に行うことができることは第1の参考例と同様である。
【0044】
また、ステップS240の動作において、各クライアント装置20の表示手段2006においてカードがシャッフルされるなどの様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
【0045】
なお、第1乃至第3の参考例は、クラップス、ルーレット、ブラックジャックに限定されるものでない。例えば、カードを用いるポーカーに適用することができる。
また、第1乃至第3の参考例は、ダイスやカードを用いるゲームに限定されるものではなく、前記第1、第2素数p、qをゲーム用データとして用いることができるゲームであれば適用可能である。
また、第1、第2素数p、qのビット長を長くするほど、前記合成数nから第1、第2の素数を算出することを困難にすることができ不正行為を防止する上で有利である。例えば、前記ビット長を500ビット以上に設定すれば、事実上、第1、第2素数の解読は不可能であるといえる。
また、前記サーバ装置10とクライアント装置20を接続する通信回線は、VPN(Vertual Private Network)を用いることによって暗号化通信が保証されるので好ましい。また、前記通信回線としてインターネット以外の通信回線を使用することは任意である。
【0046】
なお、第1乃至第3の参考例で説明したゲームは、親プレーヤが専らゲームの進行を司るのみであり、自ら賭け金をベッドすることができないものであったが、親プレーヤが子プレーヤと同様に賭け金をベッドすることが可能なゲームにおいても同様に適用できることは勿論である。
【0047】
また、前記各クライアント装置10が前記合成数を前記サーバ装置10に送信するにあたって、前記合成数に対して各プレーヤのタイムスタンプ付のデジタルサインを行なうように構成すれば、合成数の送信元、送信日時を特定することが可能となる。
この場合には、前記合成数を送信したこと自体を否定したり、送信した合成数の送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
また、前記各クライアント装置10が前記賭けデータを前記サーバ装置10に送信するにあたって、前記賭けデータに対して各プレーヤのデジタルサインを行ない、サーバ装置で前記賭けデータにタイムスタンプが付されるように構成すれば、前記賭けデータの送信元、送信日時を特定することが可能となる。
この場合には、前記賭けデータを送信したこと自体を否定したり、送信した賭けデータの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
【0048】
次に、本発明の実施の形態について説明する。
本実施の形態が第1乃至第3の参考例と異なるのはゲーム用データの生成動作である。
第1乃至第3の参考例と同様に、前記クライアント装置20から前記個人認証装置22に公開鍵、秘密鍵の生成を指示するコマンドが送信される。
前記PKIエンジン2208(ゲーム用データ生成手段)は、前記コマンドに応じてnビットの乱数Mを生成する。本実施の形態では、前記乱数Mは、素数であっても非素数であってもかまわない。
M=a1a2a3a4a5a6a7a8……an (9)
(a1乃至anは各ビットを示す)
前記PKIエンジン2208は、前記乱数Mが得られたら式(10)に示すように乱数Mをハッシュ関数に入力してハッシュデータHを求める。
H=Hash(M) (10)
このハッシュデータHは、そのデータから乱数Mを逆算して求めることができないものであり、乱数Mのビット数よりも少ないビット数の数字から構成されるものである。言い替えると、前記ハッシュデータHは、前記乱数Mに基づき不可逆的かつ一意に生成されることになる。
そして、前記ハッシュデータHに対して各プレーヤのタイムスタンプ付のデジタルサインがなされる。
【0049】
次に、上述のようなゲーム用データの生成方法を用いたクラップスゲームについて、図12のフローチャートを用いて説明する。また、図12において図5のフローチャートと同様の処理については同一のステップ番号を付してその説明を省略する。
なお、本実施の形態のおける通信ゲームシステムの構成は第1の参考例と同様であるため、以下の動作においては図1乃至図4を流用して説明する。また、本実施の形態では、前記クライアント装置20と個人認証装置22によって本発明のクライアントおよび情報処理装置が構成されている。
【0050】
まず、ステップS10乃至S18までは図5のフローチャートと同様であるためその説明を省略する。
図13に示すように、ステップS20において、前記画面には、クラップスを行うテーブルの画像G2(詳細な画面内容は省略する)が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記ハッシュデータH(H1〜Hx)、ゲームデータm1(m1(1)〜m1(x))、ゲームデータm2(m2(1)〜m2(x))が表示されるようになっている。
また、ダイスを振るためのダイスボタンB1、ハッシュデータHを送信するためのH送信ボタンB21、ゲームデータm1、m2を送信するためのm1、m2送信ボタンB31、B41も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
以下ステップS22、S24は第1の参考例と同様の動作である。
【0051】
ステップS26でダイスボタンが操作されると、前記クライアント装置20のクライアント制御手段22は、前述した動作に従って乱数Mを生成し(ステップS282:種情報生成ステップ)、この乱数MのハッシュデータHを生成する(ステップS284:認証情報生成ステップ)。
さらに、前記乱数Mを所定ビット数(例えば8ビット)ずつ区切ってゲーム用データm(m1、m2、m3、……)を生成する(ステップS286)。
前述したように、
M=a1a2a3a4a5a6a7a8……an (9)
とすれば、m1、m2、m3は以下の式(11)、(12)、(13)、……のように示される。
m1=a1a2a3a4a5a6a7a8 (11)
m2=a9a10a11a12a13a14a15 (12)
m3=a16a17a18a19a20a21a22a23 (13)
【0052】
そして、前記クライアント制御手段2004は、まず、H送信ボタンB21を操作可能な状態にする。例えば、このボタンの色を赤色から緑色に変化させる(ステップS302)。
各子プレーヤが前記H送信ボタンB2を操作することで、前記サーバ装置10に全てのハッシュデータHが送信されると、前記サーバ装置10のゲーム手段1010は前記ハッシュデータHを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全てのハッシュデータHが表示される(ステップS322:認証情報送信ステップ、認証情報受信ステップ)。
したがって、各子プレーヤは自らのハッシュデータHと、他の子プレーヤのハッシュデータHとを視認することができる。
【0053】
次に、前記全てのハッシュデータHが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、ゲーム用データm1、m2を送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記m1、m2送信ボタンB31、B41を操作可能な状態にする。例えば、前記m1、m2送信ボタンB31、B41の色を赤色から緑色に変化させる(ステップS342)。
各子プレーヤがm1送信ボタンB31とm2送信ボタンB41の双方を操作することで、前記サーバ装置10に全クライアント装置20におけるゲーム用データm1(1)〜m1(x)とm2(1)〜m2(x)が送信される(ステップS362)。
次いで、前記サーバ装置10のゲーム手段1010は、前記全てのクライアント装置20におけるゲーム用データm1(1)〜m1(x)とm2(1)〜m2(x)を各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全てのクライアント装置20におけるゲーム用データが表示される(ステップS382:種情報送信ステップ)。
したがって、各子プレーヤは自らのゲーム用データm1、m2と、他の子プレーヤのゲーム用データm1、m2とを視認することができる。
そして、このステップS382において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全てのハッシュデータHと、前記クライアント通信手段2002で受信した全てのゲーム用データm1、m2とをベリファイ、すなわち比較して前記ゲーム用データm1、m2が改ざんされているか否かを判定する(ステップS384)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS386)。
【0054】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらのゲーム用データに基づいて2つのダイスの目(1〜6までのいずれかの数)を決定する。
すなわち、前記サーバ装置10のゲーム手段1010が受信したゲーム用データm1がm1(1)〜m1(x)であったとする。
次いで、式(14)のように各ゲーム用データm1の排他的論理和m1(0)を演算する。
m1(0)=m1(1)*m1(2)*m1(3)*……
*m1(x) (14)
次に、m1(0)を6で割ってその余りを1つめのダイスの目とする(ただし余り0はダイスの目6とする)。
そして、前記サーバ装置10のゲーム手段1010は、1つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に1つめのダイスの目を表示させる(ステップS40)。
【0055】
同様に、式(5)のように各ゲーム用データm2(1)〜m2(x)(所定ビットの削除後)の排他的論理和m2(0)を演算する。
m2(0)=m2(1)*m2(2)*m2(3)*……
*m2(x) (15)
次に、m2(0)を6で割ってその余りを2つめのダイスの目とする(ただし余り0はダイスの目を6とする)。
そして、前記サーバ装置10のゲーム手段1010は、2つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に2つめのダイスの目を表示させる(ステップS42)。
【0056】
このように2つのダイスの目が決定することで、クラップスの勝敗が決定すると(ステップS44で“Y”)、賭け金の配当などの処理が実行される(ステップS46)。
クラップスの勝敗が決定しないと(ステップS44で“N”)ステップS342に戻る。
ゲームを続行するか否かの選択を行い(ステップS48)、続行する場合(ステップS48で“Y”)にはステップS22に移行し、続行しない場合(ステップS48で“N”)には終了する。
【0057】
以上説明したように、本実施の形態によれば、前記ハッシュデータHが前記各クライアント装置20の表示手段2006によって表示された後、前記ゲーム用データm1、m2の双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記ゲーム用データm1、m2に対する改竄などの不正行為があると、前記ハッシュデータHと前記ゲーム用データm1、m2との関係が矛盾することになり、不正行為を発見することが可能となる。
また、本実施の形態では、第1乃至第3の参考例に比較して、乱数Mからゲーム用データを生成する際に素数を選択する処理が必要ないため、この処理に要する時間を短縮することができ、処理を高速化する上で有利である。
また、本実施の形態においても、前記乱数Mのビット長を長くするほど、ハッシュデータなどからゲーム用データを算出することを困難にでき、前記ビット長を500ビット以上にすれば、事実上ゲーム用データを算出することが不可能であるといえる。
【0058】
また、前記ハッシュデータHに対して、前述したようにタイムスタンプ付のデジタルサインがなされることによって、ハッシュデータHの送信元、送信日時を特定することが可能となる。
したがって、あるハッシュデータHを送信したこと自体を否定したり、送信したハッシュデータHの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
また、本実施の形態においても、前記各クライアント装置10が前記賭けデータを前記サーバ装置10に送信するにあたって、前記賭けデータに対して各プレーヤのデジタルサインを行ない、サーバ装置で前記賭けデータにタイムスタンプが付されるように構成すれば、前記賭けデータの送信元、送信日時を特定することが可能となる。
この場合には、前記賭けデータを送信したこと自体を否定したり、送信した賭けデータの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
【0059】
また、ダイスの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成されたゲーム用データm1、m2の全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができる。
【0060】
また、ステップS40、S42の動作において、各クライアント装置20の表示手段2006においてダイスが転がる様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
【0061】
なお、本例では、乱数Mの最上位ビットから所定ビット毎に区切って、初めの2つのデータをゲーム用データm1、m2として生成し、これらを1回のゲームを行うためのデータとして使用した。
しかしながら、乱数Mの最上位ビットから所定ビット毎に区切ることによって、前記m1、m2に続くデータm3、m4、……を生成することにより、これらm3以降のデータを2回目以降のゲーム、すなわち2回目以降のゲームにおけるダイスの目として使用してもよい。
【0062】
また、本実施の形態は、本発明をダイスの目が1乃至6となるゲームであるクラップスに適用した場合について説明したが、ゲーム用データとして必要な数値の範囲を変えることによって、第2、第3の参考例と同様に、ルーレットやブラックジャック、その他のゲームに広く適用することが可能である。
すなわち、ゲーム用データとして必要な数値の範囲を1〜kとすれば、ゲームデータの排他的論理和をkで割った余りの値が0〜(k−1)となる。したがって、このkの値を任意に設定すればよい。
また、前記乱数Mを、乱数Mの最上位ビットから所定ビット毎に区切ることによって得た複数のデータを2回目以降のゲームに使用できることはゲームの種類に関係しない。例えば、前記ゲームがカードを用いるものならば前記各データを2回目以降のゲームにおけるカードの数とマークを特定するために使用し、前記ゲームがルーレットならば前記各データを2回目以降のルーレットの目を特定するために使用すればよい。
【0063】
なお、本実施の形態では、前記乱数Mに基づくハッシュデータHの生成と、該ハッシュデータHに対するタイムスタンプ付デジタルサインの付加を前記PKIエンジン2208で行ったが、この2つの動作は、前記CPU2214あるいは前記クライアント制御手段2004で行ってもかまわない。
【0064】
また、本実施の形態においても、第1の参考例と同様に、前記種情報が改竄された場合、その不正を発見できる。したがって、各情報処理装置は種情報を同時に送り必要はなく、異なった時刻に情報管理装置に送信できる利点がある。
【0065】
なお、第1乃至第3の参考例では、各子プレーヤのクライアント装置20においてのみ第1、第2素数、合成数を生成し、これら第1、第2素数、合成数をサーバ装置10に送信することでゲーム用データを構成するものとして説明した。
しかしながら、親プレーヤのクライアント装置20においても該親プレーヤに対応する第1、第2素数、合成数を生成してサーバ装置10に送信し、この親プレーヤに対応する第1、第2素数、合成数と、各子プレーヤのクライアント装置20からサーバ装置10に送信された第1、第2素数、合成数とに基づいてサーバ装置10がゲーム用データを作成するようにしてもよい。
この場合には、親プレーヤを除く子プレーヤの全てが共謀して第1、第2素数、合成数を生成したとしても、親プレーヤの第1、第2素数、合成数がゲーム用データを構成するために用いられるため、該ゲーム用データが共謀した子プレーヤの意図に関わらず無作為なものとなり、不正行為を防止することができる。
【0066】
また、本実施の形態では、前記各クライアント装置20においてのみ前記乱数、ハッシュデータを生成し、これら乱数、ハッシュデータをサーバ装置10に送信することでゲーム用データを構成するものとして説明した。
しかしながら、親プレーヤのクライアント装置20においても該親プレーヤに対応する乱数、ハッシュデータを生成してサーバ装置10に送信し、この親プレーヤに対応する乱数、ハッシュデータと、各子プレーヤのクライアント装置20からサーバ装置10に送信された乱数、ハッシュデータとに基づいてサーバ装置10がゲーム用データを作成するようにしてもよい。
この場合において、子プレーヤの全てが共謀して乱数、ハッシュデータを生成したとしても、親プレーヤの乱数、ハッシュデータがゲーム用データを構成するために用いられるため、該ゲーム用データが共謀した子プレーヤの意図に関わらず無作為なものとなり、不正行為を防止することができる。
【0067】
【発明の効果】
以上説明したように本発明によれば、ゲームを行うプレーヤの不正行為を防止することができ、ゲームをギャンブルとして行う場合に有利である。
【図面の簡単な説明】
【図1】 第1乃至第3の参考例および本発明の本実施の形態におけるサーバ装置およびクライアント装置の概略構成を示すブロック図である。
【図2】 第1乃至第3の参考例および本発明の実施の形態における通信ゲームシステムの概略構成を示す構成図である。
【図3】 個人認証装置の外観図である。
【図4】 個人認証装置の構成を示すブロック図である。
【図5】 第1の参考例の動作を示すフローチャートである。
【図6】 メニュー画面の説明図である。
【図7】 クラップスを選択した際の表示手段の画面の説明図である。
【図8】 ルーレットを選択した際の表示手段の画面の説明図である。
【図9】 第2の参考例の動作を示すフローチャートである。
【図10】 ブラックジャックを選択した際の表示手段の画面の説明図である。
【図11】 第3の参考例の動作を示すフローチャートである。
【図12】 本実施の形態の動作を示すフローチャートである。
【図13】 クラップスを選択した際の表示手段の画面の説明図である。
【符号の説明】
100……通信ゲームシステム、10……サーバ装置、1002……サーバ通信手段、1004……サーバ制御手段、1006……表示手段、1010……ゲーム手段、20……クライアント装置、2002……クライアント通信手段、2004……クライアント制御手段、2006……表示手段、22……個人認証装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication game system for playing a game via communication,Server and clientAbout.
[0002]
[Prior art]
In a system in which a server and a plurality of clients are connected via the Internet, a technique for playing a game between the server and each client has already been put into practical use.
In the near future, it is expected that such a system will be used for gambling.
[0003]
[Problems to be solved by the invention]
However, in such a system for playing a game via the Internet, the player plays the game in a state where they are separated from each other. Therefore, the information transmission time is used in the process of transferring information via the Internet. There is a chance to perform fraud (cheat) by falsifying data.
Further, when such a game is played, in the configuration in which the information management apparatus and the plurality of information processing apparatuses communicate information via a communication line, information is transmitted between the plurality of information processing apparatuses and the information management apparatus. Therefore, when information processing is performed, it is required to detect the alteration with certainty when the information is altered.
The present invention has been made in view of such circumstances, and an object of the present invention is to provide a communication game system that can prevent an illegal act of a player who plays a game and is advantageous when the game is played as a gamble.To provide servers and clients.
[0004]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is a communication game system in which a server and a plurality of clients are connected via a communication line, and information is exchanged between the server and each client. A server communication means for performing communication via the communication line, a game means for executing a game, and a server control means, wherein each of the clients is provided with a display means for displaying information and via the communication line. Client communication means for communicating with each other, random number generation means for generating random numbers, hash data generation means for generating hash data of the random numbers, and game data for generating game data by dividing the random numbers every predetermined number of bits A data generation unit and a client control unit, and execution of the game by the game unit of the server is performed by each client communication unit. The client communication means is configured to transmit the hash data to the server, and the server control means is the server communication means. When all the hash data is received, all the hash data is transmitted to each client communication unit, and each client control unit displays all the hash data received by the client communication unit. The game communication data is transmitted to the server by the client communication means after being displayed by the means.The game executed by the game means of the server is performed by performing an operation using all of the game data transmitted from the transmission means of each client.It is characterized by that.
[0005]
Further, the present invention is a server connected to a plurality of clients via a communication line, the server including server communication means for performing communication via the communication line, game means for executing a game, and server Control means, and the game means is configured to play a game using game data transmitted from each client to the server communication means, and the server control means is configured such that each client uses a random number. When all of the generated hash data is received by the server communication unit, all the hash data is transmitted to each client, and the server communication unit is configured to transmit all the hash data received by each client. Is displayed, and then the game data generated by dividing the random number every predetermined number of bits is stored in the client. It is configured to receive fromThe execution of the game by the game means is performed by performing an operation using all the game data transmitted from the transmission means of each client.It is characterized by that.
[0006]
Further, the present invention is a client connected to a server via a communication line, the client including a display means for displaying information, a client communication means for communicating via the communication line, and a random number. A random number generating means for generating, a hash data generating means for generating hash data of the random number, a game data generating means for generating game data by dividing the random number into predetermined bit numbers, and a client control means. The client communication unit is configured to transmit the hash data to the server, and the client control unit receives all the hash data from all clients connected to the server. If all the hash data is transmitted to the client communication means, the class After all of the hash data received by ant communication means is displayed by said display means, it is configured to transmit the game data to the server by the client communication meansThe game data transmitted to the server by the client communication means is a game that is executed by the game means of the server performing an operation using all of the game data.It is characterized by that.
[0007]
Therefore, after the hash data is displayed by the display means, the game data is transmitted to the server. If there is an illegal act such as tampering with the game data, the relationship between the hash data and the game data becomes inconsistent, and an illegal act can be found.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Before describing embodiments of the communication game system, server, and client of the present invention, first to third reference examples will be described.
In addition, the 1st thru | or 3rd demonstrated belowReference examples and embodimentsThen, the case where a game is performed as gambling will be described.
FIG. 2 is a configuration diagram showing a schematic configuration of the communication game system.
The
Information is exchanged between the
[0009]
FIG. 1 is a block diagram showing a schematic configuration of the
As shown in FIG. 1, the
The
The
The
The
The game means 1010 executes a game and is realized by the CPU executing game software.
Note that the detailed processing contents of the game performed by the game means 1010 are not directly related to the gist of the present invention, so the description thereof will be omitted, and the necessary processing contents will be briefly described in the operation description to be described later.
In addition, the
The installation of the server program in the
The server program may be preinstalled in the
Needless to say, each of the units constituting the
[0010]
The
in frontThe
The
The
The display means 2006 is composed of a monitor device or the like, and is configured to display an image necessary for playing a game on the screen.
The
The
The installation of the client program on the
The server program may be preinstalled in the
Of course, each of the means constituting the
[0011]
The
The
As shown in FIG. 3, the
[0012]
As shown in FIG. 4, in addition to the
The
The
The A /
The
The
The
The program ROM and
The
The
[0013]
Next, the operation of the
First, a registration operation for registering a player using the
The player places a finger on the
Next, an authentication operation for authenticating the player will be described.
The player places a finger on the
The
[0014]
Next, the operation of generating a public key and a secret key based on the RAS scheme by the
A command instructing generation of a public key and a secret key is transmitted from the
The
When a non-prime random number is obtained, the
n = p · q (1)
Next, y is obtained based on the equation (2).
(P-1). (Q-1) + 1 = y (2)
Next, a public key e and a secret key d, which show y as a product, are obtained based on the equation (3).
e ・ d = y (3)
For example, if the composite number n = 33, the formulas (1), (2), and (3) are as follows.
33 = 3.11 (1)
(3-1) · (11-1) + 1 = 21 (2)
3 · 7 = 21 (3)
That is,
Number of synthesis n: 33
Public key e: 3
Private key d: 7
It becomes.
[0015]
Next, the operation at the time of playing the game will be described with reference to the flowchart of FIG. The firstReference exampleNow, a case where the game is craps will be described.
A player who plays a game includes one parent player who plays a role in controlling the progress of the game, and one or more child players who participate in the game according to the progress of the parent player.
BookReference exampleIn the following description, it is assumed that the parent player operates the
[0016]
First, each child player goes to a registration place of a service provider that provides gambling, performs his / her age verification, registers fingerprint data in the
The chip data is digitally signed by the service provider.
Thereafter, the
Each child player connects the lent
[0017]
When the game participation preparation is completed, as shown in FIG. 6, a menu G1 for selecting a game is displayed on the screen of the display means 2006 of the client device 20 (step S18).
By selecting craps and pressing an execution key on the keyboard of the
On the screen, an image G2 of a table for performing craps (detailed screen contents are omitted) is displayed, and the composite number n (from the
Also, a dice button B1 for dicing, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission button for transmitting the second prime number q B4 is also displayed.
These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0018]
The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the
Note that an operation such as placing such a chip on the table and a display corresponding to the operation are performed between the
[0019]
When all of the child players have bet chips, the parent player performs an operation on the
In response to this, when each child player clicks the dice button B1, the
The
The
When each child player operates the n transmission button B2, and all the composite numbers n are transmitted to the
Therefore, each child player can visually recognize his / her composite number n and the composite number n of other child players.
[0020]
Next, after all the composite numbers n are transmitted to each
Accordingly, the
When each child player operates both the p transmission button B3 and the q transmission button B4, the first prime number p and the second prime number q in all the client apparatuses 20 are transmitted to the
Next, the game means 1010 of the
Therefore, each child player can visually recognize his / her first prime number p and second prime number q and the first prime number p and second prime number q of other child players.
In step S38, each
[0021]
Then, the game means 1010 of the
That is, it is assumed that the first prime number p received by the game means 1010 of the
First, a predetermined bit is deleted from the LSB (least significant bit) side of the first and second prime numbers. This is because the prime number is always composed of an odd number.
Next, an exclusive OR p0 of each first prime number p1 to px (after deletion of a predetermined bit) is calculated as in Expression (4).
p0 = p1 * p2 * p3 * ...... * px (4)
(In this specification, * indicates an operation symbol of exclusive OR)
Next, p0 is divided by 6, and the remainder is used as the first die eye (however, the
Then, the game means 1010 of the
[0022]
Similarly, an exclusive OR q0 of each second prime number q1 to qx (after deletion of a predetermined bit) is calculated as in Expression (5).
q0 = q1 * q2 * q3 * ...... * qx (5)
Next, divide q0 by 6 to make the remainder of the second die eye (however, the remainder of 0 makes the die eye 6).
Then, the game means 1010 of the
[0023]
When the eyes of the two dice are determined in this manner and the winning / losing of craps is determined (“Y” in step S44), processing such as a payout of a wager is executed (step S46).
If the winning / losing of craps is not determined ("N" in step S44), the process returns to step S34.
It is selected whether or not to continue the game (step S48). If the game is to be continued ("Y" in step S48), the process proceeds to step S22, and if not continued ("N" in step S48), the process is terminated. .
[0024]
As explained above, the firstReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each
[0025]
In addition, since all of the first prime number p and the second prime number q generated by the
Further, by authenticating the player using the
[0026]
In the operations of steps S40 and S42, it is preferable to display an image showing how the dice rolls on the display means 2006 of each
The firstReference exampleThen, the first and second prime numbers p and q based on the composite number n are generated by the
In the above description, all of the first and second prime numbers p and q are used. However, the dice roll may be determined by 8 bits from these most significant bits. By doing in this way, there exists an advantage which can obtain the eyes of the dice | dies by having rolled the dice several times only by producing | generating the synthetic | combination number n once.
[0027]
next,Second reference exampleWill be described.
SecondReference exampleNow, description will be made assuming that the game is roulette.
SecondReference exampleIs the firstReference exampleThe difference from the above is the contents of the operation for determining the eyes appearing in roulette using the screen displayed on the display means 2006 of each
FIG. 8 is an explanatory diagram of a screen displayed on the
As shown in FIG. 8, on the screen of the display means 2006, an image of a table for roulette is displayed, and the composite number n transmitted from the
Also, a ready button B11 operated by each child player, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission for transmitting the second prime number q. Button B4 is also displayed.
These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0028]
FIG. 9 shows the secondReference exampleIt is a flowchart which shows this operation | movement.
In FIG. 9, steps having the same operations as those in FIG. 5 are denoted by the same step numbers and description thereof is omitted.
Steps S10 to S18 are the firstReference exampleIt is the same.
By selecting a roulette in step S20, a roulette screen G3 (detailed screen content is omitted) shown in FIG. 8 is displayed.
The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the
[0029]
When all of the child players have bet chips, the parent player performs an operation on the input means 1008 of the
In response to this, when each child player clicks the ready button B11, the client control means 2004 of each
Hereinafter, the operations of generating and displaying the composite number n, the first prime number p, and the second prime number q by the
[0030]
The calculation for determining the roulette eye is performed in the following procedure.
That is, it is assumed that the first prime number p received by the game means 1010 of the
Next, an exclusive logical sum pq0 of the first prime numbers p1 to px and the second prime numbers q1 to qx is calculated as in Expression (6).
pq0 = p1 * p2 * p3 * …… * px
* Q1 * q2 * q3 * …… * qx (6)
Next, pq0 is divided by 38 and the remainder (1 to 36) is used as roulette eyes (synthesis information generation step). However, the remainder is 0 for the roulette eye and the remainder 37 is the roulette eye for 00..
Then, the game means 1010 of the
[0031]
When the roulette eyes are determined in this way and the roulette wins or loses are determined ("Y" in step S142), processing such as payout of a wager is executed (step S144).
Next, it is selected whether or not to continue the game (step S146). If the game is to be continued ("Y" in step S46), the process proceeds to step S22, and if not continued ("N" in step S46). finish.
[0032]
As explained above, the secondReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each
[0033]
Further, since all of the first prime number p and the second prime number q generated by the
In addition, firstly, by performing player authentication using the
[0034]
In the operation of step S140, it is preferable to display an image showing the roulette rotating on the
In the above description, all of the first and second prime numbers p and q are used. However, the roulette eye may be determined by 8 bits from these most significant bits. By doing in this way, there exists an advantage which can obtain the roulette eyes for the part which rotated the roulette several times only by producing | generating the synthetic | combination number n once.
[0035]
next,Third reference exampleWill be described.
ThirdReference exampleNow, description will be made assuming that the game is blackjack, which is one of card games.
ThirdReference exampleIs the firstReference exampleThe difference from the above is the calculation content for determining the card number using the screen displayed on the display means 2006 of each
FIG. 10 is an explanatory diagram of a screen displayed on the
As shown in FIG. 10, on the screen of the display means 2006, an image of a table for performing blackjack is displayed, and the composite number transmitted from the
Also, a start button B21 operated by each child player, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission for transmitting the second prime number q. Button B4 is also displayed.
These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0036]
FIG. 11 shows the thirdReference exampleIt is a flowchart which shows this operation | movement.
In FIG. 11, steps having the same operations as those in FIG. 5 are denoted by the same step numbers and description thereof is omitted.
Steps S10 to S18 are the firstReference exampleIt is the same.
By selecting blackjack in step S20, a blackjack screen G4 (detailed screen content is omitted) shown in FIG. 10 is displayed.
The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the
[0037]
When all of the child players have bet chips, the parent player performs an operation on the
In response to this, when each child player clicks the ready button B11, the
Hereinafter, the generation of the composite number n, the first prime number p, the second prime number q and the operation of displaying the composite number n by the
[0038]
Next, after all the composite numbers n are transmitted to each
Accordingly, the
When each child player operates both the p transmission button B3 and the q transmission button B4, the first prime number p and the second prime number q in all the
In this example, four sets of cards are used. Therefore, the total number of cards is 52 × 4 = 208, and it is sufficient that the number necessary for identifying the pattern and number of each card is 208 or more. For this reason, the number of bits of the first prime number p and the second prime number q necessary for one play is 8 bits (a number from 0 to 255 in decimal number).
Accordingly, the first and second prime numbers p and q are transmitted 8 bits from the most significant bit every time one card is determined (for each play).
The first and second prime numbers p and q need not use the least significant bit (LSB). The reason for this is that the generated 512-bit first and second prime numbers p and q are odd numbers, and the least significant bit (LSB) is always 1. Therefore, if transmission is performed including the least significant bit, it will be described later. This is to avoid the disadvantage that the calculation result for determining the number of cards to be played is determined according to the number of child players.
The processing method of excluding the predetermined bits from the least significant bit side of the first and second prime numbers p and q is arbitrary. For example, of the 512 bits constituting the first and second prime numbers p and q, the lower bit half is calculated. May be omitted.
[0039]
Next, the game means 1010 of the
Therefore, each child player can visually recognize his / her first prime number p and second prime number q and the first prime number p and second prime number q of other child players.
In step S238, each
[0040]
And the game means 1010 of the said
The calculation for determining the card number is performed in the following procedure.
That is, it is assumed that the first prime number p received by the game means 1010 of the
As in Expression (7), the exclusive OR p0 of the first prime numbers p1 to px (after deletion of predetermined bits) is calculated.
p0 = p1 * p2 * p3 * ...... * px (7)
Next, p0 is divided by 208, and the number or pattern of cards is specified by the remainder.
Similarly, an exclusive OR q0 of each second prime number q1 to qx (after deletion of a predetermined bit) is calculated as in Expression (8).
q0 = q1 * q2 * q3 * ...... * qx (8)
Next, q0 is divided by 208, and the number or pattern of cards is specified by the remainder.
Accordingly, the parent player distributes a predetermined number of cards specified by the numbers of the exclusive ORs p0 and q0 to each operator (client device 20) based on the blackjack rule. Since this rule itself is not directly related to the gist of the present invention, description thereof is omitted.
That is, data corresponding to the card numbers and pictures is transmitted from the game means 1010 of the
[0041]
Thus, by determining the picture and number of the card, if the winning or losing of the blackjack is determined (“Y” in step S242), processing such as payout of a wager is executed (step S244).
If the winning / losing of the blackjack is not determined (“N” in step S242), the process returns to step S234.
It is selected whether or not to continue the game (step S246). If the game is to be continued ("Y" in step S246), the process proceeds to step S22, and if not continued ("N" in step S246), the process is terminated. .
[0042]
As explained above, the thirdReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each
[0043]
In addition, since all of the first prime number p and the second prime number q generated by the
In addition, the authentication of the child player using the
[0044]
In the operation of step S240, it is preferable to display an image indicating that the card is shuffled on the
[0045]
In addition,First to third reference examplesIs not limited to craps, roulette, or blackjack. For example, it can be applied to poker using a card.
Also,First to third reference examplesIs not limited to games using dice or cards, but can be applied to any game that can use the first and second prime numbers p and q as game data.
Further, the longer the bit length of the first and second prime numbers p and q, the more difficult it is to calculate the first and second prime numbers from the composite number n, which is advantageous in preventing fraud. It is. For example, if the bit length is set to 500 bits or more, it can be said that the first and second prime numbers cannot be practically decoded.
The communication line connecting the
[0046]
In addition,First to third reference examplesIn the game described in the above, the parent player is solely responsible for the progress of the game and cannot bet his / her own bet, but the parent player can bet the bet as well as the child player. In a nasty gameSameOf course, it can be applied in the same manner.
[0047]
Further, when each
In this case, it is possible to prevent denying that the composite number has been transmitted, or to forge the transmission date and time of the transmitted composite number, which is advantageous in suppressing fraud.
Further, when each
In this case, it is possible to prevent denying the fact that the betting data has been transmitted or to forge the transmission date and time of the transmitted betting data, which is advantageous in suppressing fraud.
[0048]
next,Of the present inventionEmbodiments will be described.
BookThe first to third embodimentsReference exampleThis is different from the generation operation of game data.
First to third reference examplesSimilarly, a command instructing generation of a public key and a secret key is transmitted from the
The PKI engine 2208 (game data generating means) generates an n-bit random number in response to the command.MGenerate.BookIn the embodiment, the random number M may be a prime number or a non-prime number.
M = a1a2a3a4a5a6a7a8...... an (9)
(A1Thru anIndicates each bit)
When the random number M is obtained, the
H = Hash (M) (10)
The hash data H cannot be obtained by back-calculating the random number M from the data, and is composed of numbers having a smaller number of bits than the number of bits of the random number M. In other words, the hash data H is irreversibly and uniquely generated based on the random number M.
A digital signature with a time stamp of each player is made to the hash data H.
[0049]
Next, a crap game using the game data generation method as described above will be described with reference to the flowchart of FIG. In FIG. 12, the same steps as those in the flowchart of FIG. 5 are denoted by the same step numbers and the description thereof is omitted.
In addition,BookThe configuration of the communication game system in the embodiment is the firstReference exampleTherefore, the following operation will be described with reference to FIGS.In the present embodiment, the
[0050]
First, steps S10 to S18 are the same as those in the flowchart of FIG.
As shown in FIG. 13, in step S20, an image G2 of a table for craps (detailed screen content is omitted) is displayed on the screen, and clients of all child players participating in the game are displayed. The hash data H (H1 to Hx) transmitted from the
Also displayed are a dice button B1 for shaking dice, an H transmission button B21 for transmitting hash data H, and m1, m2 transmission buttons B31, B41 for transmitting game data m1, m2.
These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
Steps S22 and S24 are the first stepsReference exampleIs the same operation.
[0051]
When the dice button is operated in step S26, the client control means 22 of the
Further, the random number M is divided by a predetermined number of bits (for example, 8 bits) to generate game data m (m1, m2, m3,...) (Step S286)..
As previously mentioned,
M = a1a2a3a4a5a6a7a8...... an (9)
Then, m1, m2, and m3 are expressed as the following formulas (11), (12), (13),.
m1 = a1a2a3a4a5a6a7a8 (11)
m2 = a9a10a11a12a13a14a15 (12)
m3 = a16a17a18a19a20a21a22a23 (13)
[0052]
The
When each child player operates the H transmission button B2 to transmit all hash data H to the
Therefore, each child player can view his / her own hash data H and the hash data H of other child players.
[0053]
Next, after all the hash data H is transmitted to each
As a result, the
When each child player operates both the m1 transmission button B31 and the m2 transmission button B41, the game data m1 (1) to m1 (x) and m2 (1) to m2 in all the
Next, the game means 1010 of the
Accordingly, each child player can visually recognize his / her game data m1 and m2 and the game data m1 and m2 of other child players.
In step S382, each
[0054]
Then, the game means 1010 of the
YouThat is, it is assumed that the game data m1 received by the game means 1010 of the
Next, an exclusive OR m1 (0) of each game data m1 is calculated as in Expression (14).
m1 (0) = m1 (1) * m1 (2) * m1 (3) * ……
* M1 (x) (14)
Next, divide m1 (0) by 6 to make the remainder of the first die (note that the
Then, the game means 1010 of the
[0055]
Similarly, an exclusive logical sum m2 (0) of each game data m2 (1) to m2 (x) (after deletion of a predetermined bit) is calculated as in Expression (5).
m2 (0) = m2 (1) * m2 (2) * m2 (3) * ……
* M2 (x) (15)
Next, m2 (0) is divided by 6 to make the remainder of the second die eye (however, the
Then, the game means 1010 of the
[0056]
When the two dice rolls are determined in this manner and the winning / losing of craps is determined (“Y” in step S44), processing such as a payout of bet is executed (step S46).
If the winning / losing of craps is not determined ("N" in step S44), the process returns to step S342.
It is selected whether or not to continue the game (step S48). If the game is to be continued ("Y" in step S48), the process proceeds to step S22, and if not continued ("N" in step S48), the process is terminated. .
[0057]
As explained above,BookAccording to the embodiment, after the hash data H is displayed by the display means 2006 of each
Also,BookIn the embodiment, the first to thirdReference exampleCompared to the above, since it is not necessary to select a prime number when generating game data from the random number M, the time required for this process can be shortened, which is advantageous in speeding up the process.
Also,BookAlso in the embodiment, the longer the bit length of the random number M, the more difficult it is to calculate the game data from the hash data or the like. If the bit length is 500 bits or more, the game data is practically reduced. It can be said that it is impossible to calculate.
[0058]
Further, as described above, a digital signature with a time stamp is made on the hash data H, whereby the transmission source and the transmission date and time of the hash data H can be specified.
Therefore, it is possible to prevent denying the fact that a certain hash data H has been transmitted or to forge the transmission date and time of the transmitted hash data H, which is advantageous in suppressing fraud.
Also,BookAlso in the embodiment, when each
In this case, it is possible to prevent denying the fact that the betting data has been transmitted or to forge the transmission date and time of the transmitted betting data, which is advantageous in suppressing fraud.
[0059]
In addition, since all of the game data m1 and m2 generated by the
Further, by authenticating the player using the
[0060]
In the operations of steps S40 and S42, it is preferable to display an image showing how the dice rolls on the display means 2006 of each
[0061]
In this example, the first two pieces of data are generated as game data m1 and m2 from the most significant bit of the random number M every predetermined bit, and these are used as data for one game. .
However, by generating the data m3, m4,... Following the m1, m2 by dividing the most significant bit of the random number M into predetermined bits, the data after the m3 is converted into the second and subsequent games, that is, 2 It may be used as a die roll in the game after the first round.
[0062]
Also,BookIn the embodiment, the case where the present invention is applied to craps, which is a game with
That is, if the range of numerical values required for game data is 1 to k, the remainder of dividing the exclusive OR of the game data by k is 0 to (k-1). Therefore, the value of k may be set arbitrarily.
It is not related to the type of game that a plurality of data obtained by dividing the random number M from the most significant bit of the random number M every predetermined bit can be used for the second and subsequent games. For example, if the game uses cards, the data is used to specify the number and marks of cards in the second and subsequent games. If the game is roulette, the data is used for the second and subsequent roulettes. It can be used to identify the eyes.
[0063]
In addition,BookIn the embodiment, generation of the hash data H based on the random number M and addition of a digital signature with a time stamp to the hash data H are performed by the
[0064]
Also,BookAlso in the embodiment, the firstReference exampleSimilarly, if the species information is falsified, the fraud can be detected. Therefore, each information processing apparatus does not need to send the seed information at the same time, and has an advantage that it can be transmitted to the information management apparatus at different times.
[0065]
In addition,First to third reference examplesThen, only the
However, the
In this case, even if all of the child players except the parent player conspire to generate the first, second prime numbers, and composite numbers, the first, second prime numbers, and composite numbers of the parent player constitute game data. Therefore, the game data becomes random regardless of the intention of the conspiring child player, and illegal acts can be prevented.
[0066]
Also,BookIn the embodiment, it has been described that the random number and the hash data are generated only in each
However, the
In this case, even if all of the child players conspire to generate random numbers and hash data, the random numbers and hash data of the parent player are used to construct game data. Regardless of the player's intention, it becomes random and can prevent fraud.
[0067]
【The invention's effect】
As described above, according to the present invention, it is possible to prevent cheating of a player who plays a game, which is advantageous when the game is played as gambling..
[Brief description of the drawings]
[Figure 1]First to third reference examples andOf the present inventionBookIt is a block diagram which shows schematic structure of the server apparatus and client apparatus in embodiment.
[Figure 2]First to third reference examples andThe present inventionThe fruitIt is a block diagram which shows schematic structure of the communication game system in embodiment.
FIG. 3 is an external view of a personal authentication device.
FIG. 4 is a block diagram showing a configuration of a personal authentication device.
FIG. 5 shows the firstReference exampleIt is a flowchart which shows this operation | movement.
FIG. 6 is an explanatory diagram of a menu screen.
FIG. 7 is an explanatory diagram of a screen of display means when craps is selected.
FIG. 8 is an explanatory diagram of a screen of display means when a roulette is selected.
FIG. 9 shows the secondReference exampleIt is a flowchart which shows this operation | movement.
FIG. 10 is an explanatory diagram of a screen of display means when blackjack is selected.
FIG. 11 shows the thirdReference exampleIt is a flowchart which shows this operation | movement.
FIG.BookIt is a flowchart which shows operation | movement of embodiment.
FIG. 13 is an explanatory diagram of a screen of display means when craps is selected.
[Explanation of symbols]
DESCRIPTION OF
Claims (17)
前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、
前記各クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、
乱数を発生する乱数生成手段と、
前記乱数のハッシュデータを生成するハッシュデータ生成手段と、
前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、
クライアント制御手段とを有し、
前記サーバのゲーム手段によるゲームの実行は、前記各クライアント通信手段から前記サーバ通信手段に送信される前記ゲーム用データを用いて行なわれ、
前記各クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、
前記サーバ制御手段は、前記サーバ通信手段で全ての前記ハッシュデータを受信すると、全ての前記ハッシュデータを前記各クライアント通信手段に送信するように構成され、
前記各クライアント制御手段は、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、
前記サーバの前記ゲーム手段によって実行される前記ゲームは、前記各クライアントの送信手段から送信される前記ゲーム用データの全てを用いた演算を行うことでなされる、
ことを特徴とする通信ゲームシステム。A communication game system in which a server and a plurality of clients are connected via a communication line, and exchanges information between the server and each client,
The server includes server communication means for performing communication via the communication line, game means for executing a game, and server control means.
Each of the clients includes display means for displaying information, client communication means for performing communication via the communication line,
Random number generating means for generating random numbers;
Hash data generating means for generating hash data of the random number;
Game data generating means for generating game data by dividing the random number into a predetermined number of bits;
Client control means,
The execution of the game by the game means of the server is performed using the game data transmitted from the client communication means to the server communication means,
Each of the client communication means is configured to transmit the hash data to the server,
The server control means is configured to transmit all the hash data to the respective client communication means when receiving all the hash data by the server communication means,
Each of the client control units is configured to cause the client communication unit to transmit the game data to the server after displaying all the hash data received by the client communication unit by the display unit .
The game executed by the game means of the server is performed by performing an operation using all of the game data transmitted from the transmission means of each client.
A communication game system characterized by the above.
前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、
前記ゲーム手段は、前記各クライアントから前記サーバ通信手段に送信されるゲーム用データを用いてゲームを行なうように構成され、
前記サーバ制御手段は、前記各クライアントが乱数から生成したハッシュデータの全てを前記サーバ通信手段で受信すると、全ての前記ハッシュデータを前記各クライアントに送信するように構成され、
前記サーバ通信手段は、前記各クライアントが、受信した全ての前記ハッシュデータを表示させた後、前記乱数を所定ビット数毎に区切ることで生成したゲーム用データを前記クライアントから受信するように構成され、
前記ゲーム手段による前記ゲームの実行は、前記各クライアントの送信手段から送信されるゲーム用データの全てを用いた演算を行うことでなされる、
ことを特徴とするサーバ。A server connected to a plurality of clients via a communication line,
The server includes server communication means for performing communication via the communication line, game means for executing a game, and server control means.
The game means is configured to play a game using game data transmitted from the clients to the server communication means,
The server control unit is configured to transmit all the hash data to each client when the server communication unit receives all of the hash data generated from random numbers by each client.
The server communication means is configured such that after each client displays all the received hash data, game data generated by dividing the random number every predetermined number of bits is received from the client. ,
The execution of the game by the game means is performed by performing an operation using all of the game data transmitted from the transmission means of each client.
A server characterized by that.
前記クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、
乱数を発生する乱数生成手段と、
前記乱数のハッシュデータを生成するハッシュデータ生成手段と、
前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、
クライアント制御手段とを有し、
前記クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、
前記クライアント制御手段は、前記サーバが該サーバに接続されている全てのクライアントから全ての前記ハッシュデータを受信したことをもって全ての前記ハッシュデータを前記クライアント通信手段に送信すると、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、
前記クライアント通信手段によって前記サーバに送信される前記ゲーム用データは、それらゲーム用データの全てを用いた演算が前記サーバのゲーム手段で行われることでゲームが実行されるものである、
ことを特徴とするクライアント。A client connected to a server via a communication line,
The client includes display means for displaying information, client communication means for communicating via the communication line,
Random number generating means for generating random numbers;
Hash data generating means for generating hash data of the random number;
Game data generating means for generating game data by dividing the random number into a predetermined number of bits;
Client control means,
The client communication means is configured to transmit the hash data to the server;
The client control unit receives all the hash data from all the clients connected to the server and transmits all the hash data to the client communication unit. After all the hash data has been displayed by the display means, the client communication means is configured to send the game data to the server ,
The game data transmitted to the server by the client communication means is one in which a game is executed by performing calculation using all of the game data by the game means of the server.
A client characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002196887A JP3912514B2 (en) | 2001-07-05 | 2002-07-05 | Communication game system, server and client |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001204745 | 2001-07-05 | ||
JP2001-204745 | 2001-07-05 | ||
JP2002196887A JP3912514B2 (en) | 2001-07-05 | 2002-07-05 | Communication game system, server and client |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003144753A JP2003144753A (en) | 2003-05-20 |
JP3912514B2 true JP3912514B2 (en) | 2007-05-09 |
Family
ID=26618203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002196887A Expired - Fee Related JP3912514B2 (en) | 2001-07-05 | 2002-07-05 | Communication game system, server and client |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3912514B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4980578B2 (en) * | 2005-04-05 | 2012-07-18 | 富士通株式会社 | Authentication processing method and apparatus |
JP5458784B2 (en) * | 2009-10-05 | 2014-04-02 | 日本電気株式会社 | ENCRYPTED COMMUNICATION TERMINAL DEVICE, ENCRYPTED COMMUNICATION SYSTEM, ENCRYPTED COMMUNICATION METHOD, AND PROGRAM |
JP2012143517A (en) * | 2011-01-06 | 2012-08-02 | Hiroo Otaka | Method for preventing falsification/change of tile (card) in nondisclosure state in computer program |
JP5108156B1 (en) * | 2012-01-30 | 2012-12-26 | ジニアス・ソノリティ株式会社 | Video game processing program, video game processing method, and video game processing apparatus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4575621A (en) * | 1984-03-07 | 1986-03-11 | Corpra Research, Inc. | Portable electronic transaction device and system therefor |
US6099408A (en) * | 1996-12-31 | 2000-08-08 | Walker Digital, Llc | Method and apparatus for securing electronic games |
US6030288A (en) * | 1997-09-02 | 2000-02-29 | Quixotic Solutions Inc. | Apparatus and process for verifying honest gaming transactions over a communications network |
US6038666A (en) * | 1997-12-22 | 2000-03-14 | Trw Inc. | Remote identity verification technique using a personal identification device |
JP3917330B2 (en) * | 1999-04-06 | 2007-05-23 | 三菱電機株式会社 | Common key sharing method |
JP2000322253A (en) * | 1999-05-14 | 2000-11-24 | Namco Ltd | Security system |
JP2001060944A (en) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | Cipher communication system |
-
2002
- 2002-07-05 JP JP2002196887A patent/JP3912514B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003144753A (en) | 2003-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10593157B2 (en) | Customized betting using a distributed multi-ledger gambling architecture | |
US7294056B2 (en) | Enhanced gaming system | |
US20180025578A1 (en) | Wireless gaming environment | |
JP3887551B2 (en) | Net casino system, game control method of the system, and server | |
US20020103029A1 (en) | Multiplayer gaming | |
JP6049118B1 (en) | Management system and game table | |
JP2001321569A (en) | Game machine and network system for setting game environment thereof | |
AU2017202827A1 (en) | Electronic Wagering System Employing Machine-Readable Optical Codes | |
JP6080145B1 (en) | Game table and management system | |
US11830318B2 (en) | Method of authenticating a consumer or user in virtual reality, thereby enabling access to controlled environments | |
JP2017211971A (en) | Management system and game table | |
JP3912514B2 (en) | Communication game system, server and client | |
US7516324B2 (en) | Information processing system, information management apparatus, and information processing apparatus | |
JP2006163513A (en) | Game content delivery method and game content delivery system | |
MXPA03009952A (en) | Method and system for computer-based game. | |
JP3449369B2 (en) | GAME SYSTEM, MANAGEMENT DEVICE, GAME UNIT, CONTROL METHOD, AND PROGRAM | |
WO2020003724A1 (en) | Network matchup-type puzzle game management system | |
JP3842595B2 (en) | NET CASINO SYSTEM, GAME CONTROL METHOD FOR THE SYSTEM, STORAGE MEDIUM STORING PROGRAM EXECUTABLE FOR THE METHOD, AND SERVER | |
KR20010067871A (en) | The method and system for offering cyber casino game of emboding real time identically in remote site, actual game of the casino | |
JP2005118104A (en) | Game system, game machine to be used for the system and game method thereof | |
JP2003053041A (en) | Net casino system, method for controlling game of the system, storage medium with program for implementing the method stored therein, and server | |
US8917869B2 (en) | Creation and monitoring of “fair play” online gaming | |
US20070105608A1 (en) | System and method for managing a game | |
KR20190119911A (en) | Ticket Selling System Based on Blockchain | |
JP4081252B2 (en) | Net casino system and game control method for the system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050513 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070123 |
|
LAPS | Cancellation because of no payment of annual fees |