JP2012527804A - ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のシステムにおける文字列の使用 - Google Patents

ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のシステムにおける文字列の使用 Download PDF

Info

Publication number
JP2012527804A
JP2012527804A JP2012511194A JP2012511194A JP2012527804A JP 2012527804 A JP2012527804 A JP 2012527804A JP 2012511194 A JP2012511194 A JP 2012511194A JP 2012511194 A JP2012511194 A JP 2012511194A JP 2012527804 A JP2012527804 A JP 2012527804A
Authority
JP
Japan
Prior art keywords
character string
mutter
string
work
character
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.)
Granted
Application number
JP2012511194A
Other languages
English (en)
Other versions
JP5752678B2 (ja
JP2012527804A5 (ja
Inventor
イェンチュ,ロルフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2012527804A publication Critical patent/JP2012527804A/ja
Publication of JP2012527804A5 publication Critical patent/JP2012527804A5/ja
Application granted granted Critical
Publication of JP5752678B2 publication Critical patent/JP5752678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

この発明は、ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のためのシステムにおいて文字列を使用するための方法に関する。この発明はまた、ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のためのシステムにおける装置に関し、この発明はまた、それぞれのコンピュータプログラム製品に関する。この発明は、文字シーケンスが攻撃されるリスクの減少または排除を容易にする。

Description

この発明は、暗号化、統計、シミュレーション、ランダム化のシステムにおいて、またはゲーム機器などにおいて文字列を使用するための方法に関する。この発明はまた、暗号化、統計、シミュレーション、ランダム化のためのシステム、ゲーム機器などにおける装置に関し、この発明はまた、それぞれのコンピュータプログラム製品に関する。
暗号化、統計、シミュレーション、ランダム化の数々のシステム、ゲーム機器などにおいて、文字列は開始値として使用される。たとえば、この種の文字列は、暗号化におけるキーに使用される。そのようなキーは、コンピュータアプリケーション用に2進法で具現化されることが多い文字列である。安全な暗号化を容易にするために、キーはランダム化されることが多く、もっとも簡単な場合、乱数を含む。キーの2進法の実施例の場合、キーにおいて2進要素がランダムに配列される。
たとえば、ワンタイムパッド法は、メッセージを暗号化するために、暗号化すべきメッセージと少なくとも同じ長さを有するランダムキーが使用されており、情報理論的な観点から安全であることが知られている。送信者および受信者は予め互いにキーを交換しておく必要があり、こうして、キーが認可されていない者の手に渡らないことを確実にする必要がある。また、セキュリティを確実にするために、この方法ではキーはたった1度しか使用してはならない。
この安全な方法の欠点は、キーが1回しか使えず、したがってこの種のキーの交換は各メッセージ交換の前にしておく必要があり、また、キーは少なくともメッセージテキストの長さを有する必要がある、ということである。キーは事前に承諾され、格納され得るものの、格納されたキーは通信強度の関数として使い尽くされる。新しいキーを承諾する際、当事者らはまた集まらなければならない。このため、この方法は安全であるが、一方では非常に複雑で柔軟性に欠ける。
一方、ある特定の期間にわたって変更されないキーをユーザが受取る暗号化法を使用することも知られている。通常、このキーは、ワンタイムパッド用途で使用されるキーよりも短い。しかしながら、この方法の欠点は、キーに関する暗号化されたメッセージ自体から、好適な手法およびアルゴリズムを通して結論が引出されるおそれがある、ということである。このため、通信は、ワンタイムパッド法よりも安全性が低い。
このように、これらのシステムにおいて使用される文字シーケンスに関して結論が引出され、ひいてはシステムが攻撃され得るというリスクがあるため、文字列を頻繁な間隔で更新する必要がある。これは、保守およびコストが高くつくワンタイムパッド法と同様の欠点と関連がある。
上述の他のシステムについても、同様の問題が起こる。たとえば、ゲーム機器は、内蔵する予め定められた乱数を使用して、それからゲームの進行を展開する。したがって、賭博機器として使用されることが多いそのようなゲーム機器は、金になる特定の攻撃目標である。なぜなら、ゲーム機器に入れられた乱数を知ることは、好適な手法およびアルゴリズムを用いたゲームの進行の統計的予測を容易にし、したがってゲーム機器の操作者にとって多大な損失をもたらすおそれがあるためである。
このため、この発明の目的は、文字シーケンスを攻撃する選択肢を減少させ、特に文字シーケンスに対する攻撃を防止する、暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおいて文字列を使用するための方法を提供することである。また、装置およびそれぞれのコンピュータプログラム製品も提供される。
この目的は、請求項1に記載の方法、請求項14に記載の装置、および請求項15に記載のコンピュータプログラム製品を通して達成される。有利な実施例は、従属請求項で提供される。
この発明は、文字列がシステムで直接使用される場合、最適な態様で攻撃から保護されることができない、という知見に基づいている。このため、この発明の目的は、第1の文字列を提供することであり、それはシステムで直接使用されないものの、第2の文字列が第1の文字列から生成される。この第2の文字列、または第2の文字列から生成されたさらなる文字列のみが、次にシステムで使用される。システムに対する攻撃が、第2の文字列、またはそれから生成されたさらなる文字列を暴露するかもしれないが、使用中の第1の文字列は、非常に高レベルの保護を受ける。こうして、第1の文字列は、複数の第2の文字列を生成するために複数回使用される。たとえば、第1の文字列は暗号化法においてキーとしてはもう使用されないものの、それから新しいキーを連続して生成するために格納されたままとなっている。このように、この種のキーは長い耐用寿命の間1回だけ格納すればよく、サービス間隔が非常に長くなる。
他のシステム、たとえばゲーム機器についても、同じ利点が確かに達成可能であり、ゲームの進行が長期間にわたって予測できないままとなるよう、格納された乱数に関する直接的な結論を引出すことはできない。
有利には、第1の文字列は、マシン読取可能メモリに、特にRAM、flashなどに格納され、好ましくは、第2の文字列は、メモリと通信するプロセッサにおいて、第1の文字列から自動的に生成される。このように、システムにおけるこの方法は、攻撃のリスクがさらに減少するよう、手動のサポートなく自律的に機能する。
有利な一実施例では、文字列は、ランダム文字、有利には乱数の配列であり、特に文字列への攻撃に対する防御をさらに強化する2進乱数の配列である。このため、第1の乱数は好ましくは物理的乱数である。なぜなら、統計的観点からは、この種の乱数は特に高いランダム品質を有するためである。
特に有利な一実施例では、システムは暗号化システムであり、第1の文字列は暗号化キーである。
特に有利な一実施例では、好ましくは第1の文字列から独立している第3の文字列が提供され、第2の文字列を生成するために、第1の文字列は、第3の文字列を用いて論理XOR符号化され、好ましくは論理伸張XOR符号化される。
「論理XOR符号化される」とは、この状況では、第1の文字列が、特定のビットの排他的OR構成を通して第3の文字列と組合されて結果を生み出し、第3の文字列が、少なくとも第1の文字列の長さを有するまで連結される、ということを意味する。
「論理伸張XOR符号化される」とは、この状況では、第3の文字列の長さに対応する第1の文字列の部分長が、第3の文字列を用いてビットごとに排他的OR構成され、同様に第3の文字列の長さを有する得られた(中間)結果が、第1の文字列の残りの部分の一部を用いて排他的OR構成され、残りの部分の一部は同様に第3の文字列の長さに対応する、ということを意味する。次に、それから得られた結果が、第1の文字列の残りの部分のそれぞれの一部を用いて再度構成され、この方法は、第1の文字列のすべての部分がこの構成を受けるまで繰返される。論理伸張XOR符号化の結果は、得られた中間結果の連結である。
第3の文字列は、1ビットよりも長く、より有利には24ビット以上の長さ、さらにより有利には34ビット以上の長さを有する。これは、第1の文字列のセキュリティをさらに高める。
第1の文字列が100バイトよりも大きく、より有利には1Mバイト以上、特に有利には100Mバイト以上であると、さらに有利である。なぜなら、この大きさの第1の文字列のサイズはバリエーションを急速に増やし、そのため、第1の文字列の保守は非常に長い間隔で行なえばよいためである。
別の有利な一実施例では、第4の文字列を生成するために、第2の文字列は2つの部分長に分割され、一方の部分長は他方の部分長を用いて論理XOR符号化され、有利には論理伸張XOR符号化され、第2の文字列は次に、第4の文字列を用いて論理XOR符号化され、有利には論理伸張XOR符号化される。これは、文字列の攻撃可能性をさらに減少させる。
好ましい一実施例では、2つの部分長のうちの一方は、有利には第1の文字列から独立して提供された第5の文字列に含まれる文字またはビットシーケンスのみを含み、2つの部分長のうちの他方は、第5の文字列に含まれていない文字またはビットシーケンスのみを含む。この状況では、第5の文字列が24バイト以上の長さを有し、8ビットの長さの文字を含んでおり、第2の文字列がこれらの文字をそれぞれ含むかどうかが比較されると、特に有利である。また、これに代えて、文字を判断するために任意の他の長さを互いに比較することも確かに可能であるが、8ビット未満の長さについては冗長性が提供可能であるため、2つの異なる部分長はもはや提供できない。
特に、有利な一実施例では、第3の文字列が第5の文字列と一致し、両方の文字列は同じ時点で第3の文字列として提供される。このように、2つの異なる混合方法が使用されており、システムでその場合使用される第1の文字列から生成される文字列は、第1の文字列に対する攻撃に関して特に安全である。
異なる混合ステップがランダムなシーケンスで、およびランダムな繰返しで実行され、オプションとして新しい第3および第5の文字列または新しい共通の第3の文字列が提供される、ということも確かに提供可能である。
暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおける装置であって、この発明に従った方法を実行するよう構成されている装置について、独立した特許保護が請求される。
この発明は、完全ハードウェア構成、完全ソフトウェア構成、またはハードウェアおよびソフトウェア要素も含む構成で実現可能である。好ましい一実施例では、この発明は、ファームウェアを含むソフトウェア、システム専用ソフトウェア、マイクロコードなどで実現されるが、それらに限定されない。
また、この発明は、コンピュータにより使用可能な、またはコンピュータにより読取可能な媒体からアクセス可能であり、コンピュータを通して、もしくはコンピュータまたは任意のコマンド実行システムと組合せて使用されるプログラムコードとして提供される、コンピュータプログラム製品として実現可能である。したがって、コンピュータ読取可能な媒体上に格納され、コンピュータプログラム手段を含むコンピュータプログラム製品であって、プログラム手段は、コンピュータ上で実行されると、コンピュータにこの発明に従った方法を実行させる、コンピュータプログラム製品についても、独立した特許保護が請求される。
この記述の目的のため、コンピュータにより使用可能な、またはコンピュータにより読取可能な媒体は、コマンド実行システム、構成、または装置を通して使用する、もしくはそれと組合せて使用するプログラムを含み、格納し、前方へ通信し、または搬送するあらゆる構成もしくは装置であり得る。
媒体は、電子、磁気、光学、電磁、赤外、または半導体システム(もしくは構成または装置)、もしくは伝搬媒体であり得る。コンピュータ読取可能な媒体の例は、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、磁気ハードディスク、または光学ディスクを含む。光学ディスクの例は、コンパクトディスク読出専用メモリ(CD−ROM)、コンパクトディスク読出書込(CD−R/W)、およびDVDを含む。
プログラムコードを格納し、および/または実行するよう構成されたデータ処理システムは、システムバスを通して少なくとも1つの記憶素子に直接的または間接的に接続された少なくとも1つのプロセッサを含む。記憶素子は、プログラムコードの現在の実行中にアクティブとなるローカルメモリと、マスストレージと、実行中にマスストレージからのコードの検索回数を含めるために少なくともいくつかのプログラムコードの一時的格納を提供するバッファストレージとを含み得る。
キーボード、ディスプレイ、表示器を含み得るもののそれらに限定されない入力/出力すなわちI/O装置は、システムに直接的に、またはそれとの間に接続されたI/Oコントローラを通して結合可能である。
データ処理システムが、他のデータ処理システム、もしくは遠隔のプリンタまたは記憶装置と、それとの間に接続された私的または公的ネットワークを通して結合されることを容易にするために、ネットワークアダプタもシステムに接続可能である。モデム、ケーブルモデム、またはイーサネット(登録商標)カードは、この状況では、現在利用可能なタイプのネットワークアダプタのほんの数例である。図面を参照して、この発明の特徴およびさらなる利点を、一実施例に基づいて説明する。
暗号化システムの一部を示す図である。 この発明に従った方法の概略図である。 図2に従った方法のステップの概略図である。
図1は、第1のメモリ2と、第2のメモリ3と、データ処理システムとして構成されたプロセッサ4と、ネットワークアダプタ5とを含む暗号化システムの部分1を概略的に示す。メモリ2、3は、半導体または固体メモリであってもよいが、磁気テープ、コンピュータディスク、RAM、ROM、磁気ディスク、または光学ディスクでもあってもよい。ネットワークアダプタ5は、暗号化システムのローカルなまたは遠隔に配置された追加の構成要素(図示せず)と通信する。
第1のメモリ2には第1の文字列が格納されており、第2のメモリ3には、部分1にこの発明に従った方法を実行させるコンピュータプログラム製品が格納されている。確かに、メモリ2、3は均一なメモリ素子としても構成可能であり、追加のメモリ素子、特にバッファメモリが使用されるということも提供可能である。
図2に、この発明に従った方法を、ブロック図に基づいて概略的に示す。そこでは、文字列Mutter$が第3の文字列ZZ$を用いて論理拡張XOR符号化されることが明らかである。図示された実施例では、第1の文字列Mutter$は100MBの乱数列であり、第3の文字列ZZ$は34バイトの乱数列である。第1の文字列Mutter$はここで、第3の文字列ZZ$を用いて論理伸張XOR符号化される。これは、第1の文字列Mutter$の最初の34バイトが第3の文字列ZZ$を用いて論理XOR符号化され、それが結果として同様に34バイトの長さを有する第1の部分列ZK$1を生成するよう、提供される。この第1の部分列ZK$1は次に、第1の文字列Mutter$の別の部分をXOR符号化するために再度使用される。このため、第1の文字列Mutter$の次の34バイトが使用され、結果として第2の部分列ZK$2が生成され、それは次に、第1の文字列Mutter$の次の34バイトのXOR符号化に使用される。図2に示すようなこの手順は、第1の文字列Mutter$の100MB全体が使い尽くされるまで繰返される。部分列ZK$1、ZK$2、ZK$3、ZK$4、ZK$5などの連結が、結果として、第1の文字列Mutter$と同様に100MBの長さを有する第2の文字列Work$1を生み出す。
図3により詳細に説明される重み付け規則WVに従った第2の文字列Work$1は、2つの部分長True$、Untrue$に分割され、その後、両方の部分長True$、Untrue$は互いにXOR符号化される。これは、本実施例では部分長がより短いTrue$が、その長さが少なくとも本実施例では部分長がより長いUntrue$に対応するまで、連結されるように提供される。その結果、部分長がより長いUntrue$の長さを有する第4の文字列Work$2が作り出される。
確かに、文字列Mutter$の攻撃可能性をさらに減少させるために、2つの部分長のXOR符号化の代わりに、拡張XOR符号化を代替的に行なうことも可能である。
その後、第2の文字列Work$1が、第4の文字列Work$2を用いてXOR符号化され、次に、第4の文字列Work$2は、その長さが第2の文字列Work$1の長さに対応するまで、連結される。その結果、第5の文字列Code$が生成され、それはまた、第1の文字列Mutter$の長さ、すなわち100MBを有する。
図3は、図2の重み付け規則WVをブロック図に概略的に示す。このように、重み付け規則WVの状況では、第3の文字列ZZ$に含まれるどの文字が第2の文字列Work$1にも含まれているかが比較される。第2の文字列Work$1に含まれる文字は、第3の文字列ZZ$で予め定められているシーケンスで、第1の部分長True$に格納される。一方、第3の文字列に含まれていない第2の文字列Work$1の文字は、第2の文字列Work$1で予め定められているシーケンスで、第2の部分長Untrue$に格納される。この混合アルゴリズムはさらに、さもなくば単純なXOR符号化にとって可能となり得る逆算を防止する。また確かに、部分長True$、Untrue$を確立する際に、別のシーケンスを選択することもできる。
上述のこの発明に従った方法の実施例では、このように第1の文字列Mutter$が使用され、それは好ましくは物理的乱数として2進方式で生成される。この第1の文字列Mutter$はシステムに格納され、非常に良好な統計的品質を有する。34バイトの乱数を含み、各々の場合、第1の文字列Mutter$とは独立してシステム構成要素1により新たに生成される第3の文字列ZZ$を通して、第5の文字列Code$が第1の文字列Mutter$から生成され、第5の文字列Code$は次にシステムにおいてさらに使用される。
第1の文字列Mutter$を、システムにおいて、またはシステムの部分1においてそれを提供する前に生成するために、その開示全体がこの引用により援用されるドイツ特許出願DE 10 2008 033 162を参照する。この特許出願は、極度に高い統計的品質を有する乱数が物理的乱数としてどのように生成され得るかを詳細に記載している。生成方法はこのため、第1の文字列Mutter$を生成するためだけでなく、第3の文字列ZZ$を生成するためにも使用可能である。しかしながら、上述のように、文字列ZZ$を、システムの部分1自体のプロセッサ4において擬似乱数として費用効果高く生成することが有利である。
部分1によってシステムが使用される前に、または部分1がシステムとやり取りする前に、固定された第1の文字列Mutter$から第5の文字列Code$が生成され、第5の文字列Code$は次に、システムにおいてさらに使用される。このため、第1の文字列Mutter$に関する結論を第5の文字列Code$から逆に引出すことはできないということが、生成ステップを通して提供される。したがって、第1の文字列Mutter$は攻撃不能であり、その高い品質のため、より長い期間、システムにおいて使用可能であり、そのため保守費用が非常に低い。また、システムまたはシステムの構成要素1は、非常に簡単に構成されている。なぜなら、第1の文字列Mutter$から第5の文字列Code$を生成するため、第3の文字列ZZ$はかなり低い要件を満たしていればよく、そのため、たとえばプロセッサ4において実現される擬似ランダム発生器を第3の文字列ZZ$のために使用できるからである。
第1の文字列Mutter$が100MBの長さを有し、第3の文字列ZZ$が34バイトの長さを有する上述の有利な実施例では、異なる第5の文字列Code$を生成するための値のストックは、2272の可能性を含む。この数字は、2266という宇宙にある粒子の計算された数よりも大きい。この大きい値のストックに基づいて、逆算の可能性がある場合でも、第1の文字列に関する結論を逆に引出し得ることが安全に防止される。なぜなら、人間の判断によれば、複雑性が非常に高いため、現在および将来の能力は、これらの結論を受入れ可能な期間で引出すのに十分ではないからである。
第1の文字列Mutter$を通して、2838860800へのランダム勘定が提供されるが、それはシステムにおいてそれ自体使用されなくてもよく、特に、送信されなくてもよい。この文字列はむしろ、さらなるランダムな第5の文字列Code$用の源として使用され、使用された第3の文字列ZZ$を通してシステムで使用される第5の文字列Code$については、混合規則2272に基づいてさまざまな選択肢がある。第1の文字列Mutter$および第3の文字列ZZ$を拡大することにより、この数字をさらに増加させることが可能である。このため、部外者にとって、第5の文字列Code$を傍受し、たとえば提携先同士の間の暗号化システムにおいて暗号化された、または暗号化されていない態様で送信され得る第3の文字列ZZ$を探り出すことを通して、第1の文字列Mutter$に関する結論を引出す実行可能な選択肢は、存在しない。
この状況では、第1の文字列Mutter$から第5の文字列Code$までの生成プロセスは一方向にしか遡れず、そのため、システム自体では使用されていない第1の文字列Mutter$に関する結論を、システムで使用されている第5の文字列Code$が情報漏洩された際に逆に引出すことはできない、ということが重要である。このように、暗号化、統計、シミュレーション、ランダム化におけるシステム、ゲーム機器などが、はるかにより簡単で費用効果の高い態様で構成可能であり、システムは依然として高レベルのセキュリティを提供し、非常に保守しやすい。
用途に依存して、第3の文字列ZZ$は、即時ランダム事象である。このように生成された第3の文字列ZZ$のΩZZ$=2272という量は、約10〜15%の好適でない乱数列、たとえば、0のみ(0000000....0)、または1のみ(111111111111.........1)、もしくは混合形を含む。もちろん、そのような列はランダムから除外されない。Mutter$を用いた単純な論理XOR符号化は、セキュリティに関してマイナスの結果を有するであろう。第1の文字列Mutter$を用いた第3の文字列ZZ$の拡張論理XOR符号化の形は、これらのマイナスの結果を実質的に減少させる。
混合アルゴリズムによって生成されるサンプル空間は、表に例示的な態様で示されるように、2272個の異なる第5の文字列Code$が見出され得る100MBのMutter$については、ΩMutter$=2838860800という範囲である。サンプル空間内には、100MBの考えられ得るビットフローがある。このため、特定の第5の文字列Code$も生成され、ある特定の第3の文字列ZZ$については確かに、ランダムな第5の文字列Code$がサンプル空間内に生成できない。
各第5の文字列Code$は、第3の文字列ZZ$および第1の文字列Mutter$の数学関数に遡ることができるため、すべての可能な第5の文字列Code$同士の数学的に例示可能な関係、たとえばサンプル空間におけるその位置が存在する。第3の文字列ZZ$および第1の文字列Mutter$の論理XOR符号化のために、この数学的関係は容易に例示可能である。このため、たとえば、すべての第5の文字列Code$の距離は、同じサイズを有する。サンプル空間における正確な位置に関して、実行可能なステートメントはない。True$およびUntrue$におけるWork$1の操作が、これを潜在的に隠す。第5の文字列Code$のうちの2つ以上が知られた場合、それらの源、すなわち第3の文字列ZZ$および第1の文字列Mutter$に関して結論を引出すことは、明らかに不可能である。また、ランダムに仮定された第5の文字列Code$に異なる可能性を割当てることは、このため不可能である。同時に、混合プロセスが一方向にのみ実行可能である、ということが確実にされる。
上述の混合方法は、第1の文字列Mutter$の特に安全な保護によって特徴付けられる。しかしながら、すべての好ましい方法ステップを使用することは必須ではない。また、特許請求項1に述べられるような最も単純な実施例におけるこの発明に従った方法は、先行方法に対し、広範囲に及ぶ改良をもたらす。説明されたすべての方法ステップはまた、特定の方法ステップを除外するどのシーケンスでも互いに組合され得る。

Claims (15)

  1. 暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおいて文字列を使用するための方法であって、第1の文字列Mutter$を提供するステップを含み、第1の文字列(Mutter$)はシステムで直接使用されないものの、第1の文字列(Mutter$)から第2の文字列(Work$1、Work$2、Code$)が生成される、方法。
  2. 第1の文字列(Mutter$)は、マシン読取可能メモリ(2)に、特にRAM、FLASHなどに格納される、請求項1に記載の方法。
  3. 第2の文字列(Work$1、Work$2、Code$)は、メモリ(2)と通信するプロセッサ(4)において、第1の文字列(Mutter$)から自動的に生成される、請求項2に記載の方法。
  4. 文字列(Mutter$、Work$1、Work$2、Code$)のために、ランダム文字、好ましくは乱数の配列、特に2進乱数の配列が使用される、前述の請求項のいずれかに記載の方法。
  5. 第1の乱数(Mutter$)のために、物理的乱数が使用される、請求項4に記載の方法。
  6. 第1の文字列(Mutter$)は暗号化キーとして使用される、前述の請求項のいずれかに記載の方法。
  7. 第3の文字列(ZZ$)が、好ましくは第1の文字列(Mutter$)から独立して提供され、第2の文字列(Work$1)を生成するために、第1の文字列(Mutter$)は、第3の文字列(ZZ$)を用いて論理XOR符号化され、好ましくは論理拡張XORである、前述の請求項のいずれかに記載の方法。
  8. 第3の文字列(ZZ$)は、1ビットよりも大きく、有利には24バイト以上、特に有利には34バイト以上のサイズを有して選択される、請求項7に記載の方法。
  9. 第1の文字列(Mutter$)は、100バイトよりも大きく、有利には1Mバイト以上、特に有利には100Mバイト以上となるよう選択される、前述の請求項のいずれかに記載の方法。
  10. 第4の文字列(Work$2)を生成するために、第2の文字列(Work$1)は2つの部分長(True$、Untrue$)に分割され、一方の部分長は他方の部分長を用いて論理XOR符号化され、好ましくは論理拡張XOR符号化され、第2の文字列は第4の文字列を用いて論理XOR符号化され、好ましくは論理拡張XOR符号化される、前述の請求項のいずれかに記載の方法。
  11. 2つの部分長のうちの一方(True$)は、提供された第5の文字列(ZZ$)に含まれる文字またはビットシーケンスのみを含み、2つの部分長のうちの他方(Untrue$)は、第5の文字列(ZZ$)に含まれていない文字またはビットシーケンスのみを含む、請求項9に記載の方法。
  12. 第5の文字列(ZZ$)は24バイト以上の長さを有し、8ビットの長さの文字を含んでおり、第2の文字列がこれらの文字を含むかどうかが比較される、請求項11に記載の方法。
  13. 第3の文字列および第5の文字列は同一の文字列(ZZ$)であり、第3の文字列(ZZ$)として提供される、請求項7および8のうちの1つと組合された請求項11または12に記載の方法。
  14. 暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおける装置(1)であって、装置1は前述の請求項のいずれかに記載の方法を実行するよう構成されている、装置。
  15. コンピュータ読取可能媒体(2)上に格納され、コンピュータ読取可能プログラム手段を含むコンピュータプログラム製品であって、プログラム手段は、コンピュータ上で実行されると、コンピュータに請求項1〜11のいずれかに記載の方法を実行させる、コンピュータプログラム製品。
JP2012511194A 2009-05-20 2010-05-19 ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のシステムにおける文字列の使用 Active JP5752678B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102009022233A DE102009022233A1 (de) 2009-05-20 2009-05-20 Verwendung einer Zeichenkette in Sytemen der Kryptographie, der Statistik, der Simulation, der Randomisierung, von Spielautomaten und dgl.
DE102009022233.2 2009-05-20
PCT/EP2010/003089 WO2010133360A1 (de) 2009-05-20 2010-05-19 Verwendung einer zeichenkette in systemen der kryptographie, der statistik, der simulation, der randomisierung, von spielautomaten und dgl.

Publications (3)

Publication Number Publication Date
JP2012527804A true JP2012527804A (ja) 2012-11-08
JP2012527804A5 JP2012527804A5 (ja) 2013-06-27
JP5752678B2 JP5752678B2 (ja) 2015-07-22

Family

ID=42263673

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012511157A Active JP5739876B2 (ja) 2009-05-20 2010-03-04 一意識別子、一意識別子を提供するための方法、および一意識別子の使用
JP2012511194A Active JP5752678B2 (ja) 2009-05-20 2010-05-19 ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のシステムにおける文字列の使用

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012511157A Active JP5739876B2 (ja) 2009-05-20 2010-03-04 一意識別子、一意識別子を提供するための方法、および一意識別子の使用

Country Status (7)

Country Link
US (1) US8578162B2 (ja)
EP (3) EP2433239B1 (ja)
JP (2) JP5739876B2 (ja)
CN (2) CN102576394B (ja)
BR (2) BRPI1012981A2 (ja)
DE (1) DE102009022233A1 (ja)
WO (3) WO2010133266A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532222B2 (en) 2010-03-03 2016-12-27 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US9544143B2 (en) 2010-03-03 2017-01-10 Duo Security, Inc. System and method of notifying mobile devices to complete transactions
US9467463B2 (en) 2011-09-02 2016-10-11 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US9047499B2 (en) * 2012-06-01 2015-06-02 Panduit Corp. Anti-counterfeiting methods
CN102843377A (zh) * 2012-09-13 2012-12-26 杭州也要买电子商务有限公司 一种社交网站用的快速加密方法
US20140214901A1 (en) * 2013-01-28 2014-07-31 Digitalmailer, Inc. Virtual storage system and file storing method
US9338156B2 (en) 2013-02-22 2016-05-10 Duo Security, Inc. System and method for integrating two-factor authentication in a device
US9607156B2 (en) 2013-02-22 2017-03-28 Duo Security, Inc. System and method for patching a device through exploitation
US8893230B2 (en) 2013-02-22 2014-11-18 Duo Security, Inc. System and method for proxying federated authentication protocols
US9092302B2 (en) 2013-09-10 2015-07-28 Duo Security, Inc. System and method for determining component version compatibility across a device ecosystem
US9608814B2 (en) 2013-09-10 2017-03-28 Duo Security, Inc. System and method for centralized key distribution
DE102013111527A1 (de) * 2013-10-18 2015-04-23 Thomas Daub System zur Erfassung eines Prüfmerkmals eines Prüfobjekts
US9774448B2 (en) 2013-10-30 2017-09-26 Duo Security, Inc. System and methods for opportunistic cryptographic key management on an electronic device
US9762590B2 (en) 2014-04-17 2017-09-12 Duo Security, Inc. System and method for an integrity focused authentication service
CN104408623A (zh) * 2014-10-11 2015-03-11 福建升腾资讯有限公司 一种适用于支付产品的身份认证方法
CN108291876B (zh) 2014-11-21 2022-03-15 盖伊·李·亨纳夫 用于检测产品的真实性的系统及方法
US9979719B2 (en) 2015-01-06 2018-05-22 Duo Security, Inc. System and method for converting one-time passcodes to app-based authentication
US9641341B2 (en) 2015-03-31 2017-05-02 Duo Security, Inc. Method for distributed trust authentication
US9674165B2 (en) * 2015-05-28 2017-06-06 Nxp B.V. Efficient key derivation with forward secrecy
US9930060B2 (en) 2015-06-01 2018-03-27 Duo Security, Inc. Method for enforcing endpoint health standards
US9774579B2 (en) 2015-07-27 2017-09-26 Duo Security, Inc. Method for key rotation
TWI571825B (zh) * 2015-12-30 2017-02-21 Tian-Shu Xu A third party calls the system
GB201617620D0 (en) * 2016-10-18 2016-11-30 Cybernetica As Composite digital signatures
US10311224B1 (en) * 2017-03-23 2019-06-04 Amazon Technologies, Inc. Digitally sealing equipment for authentication of components
CN108667554B (zh) * 2017-03-29 2021-07-09 华为技术有限公司 标识信息的处理方法及设备
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
JPH11500849A (ja) * 1995-11-27 1999-01-19 ベル コミュニケーションズ リサーチ,インコーポレイテッド 改良した疑似乱数発生器
EP1223705A2 (en) * 2001-01-16 2002-07-17 Microsoft Corporation Methods and systems for generating encryption keys using random bit sequences
JP2004310097A (ja) * 2003-04-01 2004-11-04 Microsoft Corp スケーラブルなマルチメディアに関する完全にスケーラブルな暗号化
JP2006229852A (ja) * 2005-02-21 2006-08-31 Dainippon Printing Co Ltd 製品認証システム、サーバ、プログラム、及び、記録媒体
JP2008077240A (ja) * 2006-09-19 2008-04-03 Omron Corp 物品管理用コードのマーキング処理システム、コード判定システム、物品管理システム、物品管理用コードのマーキング方法、コード判定方法、および情報表示物
JP2011232604A (ja) * 2010-04-28 2011-11-17 Nec Corp 暗号化装置および暗号化方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system
JP2000001070A (ja) * 1998-06-16 2000-01-07 Toppan Printing Co Ltd 不正防止印刷物及びこの照合検証システム
GB2342743B (en) * 1998-10-17 2003-05-14 Nicholas Paul Elliot Verification method
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
EP1271875A1 (en) * 2001-06-21 2003-01-02 Koninklijke Philips Electronics N.V. Device arranged for exchanging data, and method of manufacturing
US6931133B2 (en) * 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
FR2850479B1 (fr) * 2003-01-24 2005-04-29 France Telecom Procede cryptographique a cle publique pour la protection d'une puce contre la fraude
DE10328328B4 (de) * 2003-06-25 2015-06-03 TÜV Rheinland Holding AG Produktschutz-Portal und Verfahren zur Echtheitsprüfung von Produkten
US20050049979A1 (en) * 2003-08-26 2005-03-03 Collins Timothy J. Method, apparatus, and system for determining a fraudulent item
JP3998640B2 (ja) * 2004-01-16 2007-10-31 株式会社東芝 暗号化及び署名方法、装置及びプログラム
DE102004008178A1 (de) * 2004-02-19 2005-09-01 Giesecke & Devrient Gmbh Verfahren zum Erzeugen von Zufallszahlen in einem tragbaren Datenträger
EP1578053A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics Limited Data obfuscation
US20060235805A1 (en) * 2005-04-13 2006-10-19 Mr. Feng Peng Universal anti-counterfeit method and system
DE102006031537B4 (de) * 2005-12-27 2007-10-31 Industrial Technology Research Institute (Itri), Chutung Zufallszahl-Erzeugungsvorrichtung und Verfahren zum Erzeugen einer Zufallszahl
CA2644320A1 (en) * 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Method and device for obtaining item information using rfid tags
DE102006040228A1 (de) * 2006-08-28 2008-03-06 Giesecke & Devrient Gmbh Identifikationssystem
DE102007025780A1 (de) * 2007-05-22 2008-11-27 Atmel Germany Gmbh Vorrichtung und Verfahren zur Erzeugung einer Zufallszahl
DE102007026836A1 (de) * 2007-06-06 2008-12-11 Bundesdruckerei Gmbh Verfahren und System zur Prüfung der Echtheit eines Produkts und Lesegerät
EP2060053B1 (en) * 2007-09-14 2017-03-29 Security First Corp. Systems and methods for managing cryptographic keys
WO2009084806A1 (en) * 2008-01-02 2009-07-09 Sung-Man Lee System and method for operating end-to-end security channel between server and ic card
US20100001840A1 (en) * 2008-07-07 2010-01-07 You Sung Kang Method and system for authenticating rfid tag
DE102008033162A1 (de) 2008-07-15 2010-01-21 Feustel, Dietmar Physikalischer Zufallszahlengenerator

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11500849A (ja) * 1995-11-27 1999-01-19 ベル コミュニケーションズ リサーチ,インコーポレイテッド 改良した疑似乱数発生器
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
EP1223705A2 (en) * 2001-01-16 2002-07-17 Microsoft Corporation Methods and systems for generating encryption keys using random bit sequences
JP2004310097A (ja) * 2003-04-01 2004-11-04 Microsoft Corp スケーラブルなマルチメディアに関する完全にスケーラブルな暗号化
JP2006229852A (ja) * 2005-02-21 2006-08-31 Dainippon Printing Co Ltd 製品認証システム、サーバ、プログラム、及び、記録媒体
JP2008077240A (ja) * 2006-09-19 2008-04-03 Omron Corp 物品管理用コードのマーキング処理システム、コード判定システム、物品管理システム、物品管理用コードのマーキング方法、コード判定方法、および情報表示物
JP2011232604A (ja) * 2010-04-28 2011-11-17 Nec Corp 暗号化装置および暗号化方法

Also Published As

Publication number Publication date
WO2010133360A1 (de) 2010-11-25
EP2433241B1 (de) 2019-04-10
WO2010133266A1 (de) 2010-11-25
DE102009022233A1 (de) 2010-11-25
US20120290841A1 (en) 2012-11-15
JP5739876B2 (ja) 2015-06-24
JP5752678B2 (ja) 2015-07-22
BRPI1012981A2 (pt) 2017-06-06
US8578162B2 (en) 2013-11-05
JP2012527802A (ja) 2012-11-08
EP2433239A1 (de) 2012-03-28
EP2433239B1 (de) 2019-01-23
EP2433241A1 (de) 2012-03-28
CN102460459A (zh) 2012-05-16
EP2433242B1 (de) 2019-09-11
CN102576394B (zh) 2016-04-27
WO2010133355A1 (de) 2010-11-25
CN102576394A (zh) 2012-07-11
EP2433242A1 (de) 2012-03-28
BRPI1011217A2 (pt) 2016-07-26

Similar Documents

Publication Publication Date Title
JP5752678B2 (ja) ゲーム機器などの暗号化、統計、シミュレーション、ランダム化のシステムにおける文字列の使用
CN109474423B (zh) 数据加解密方法、服务器及存储介质
US7769165B2 (en) Semi-public white-box cipher
KR101143041B1 (ko) 리볼빙 버퍼들을 이용한 스트림 암호 설계 방법
KR101623503B1 (ko) Lea 블록암호의 화이트박스 암호 구현 장치 및 방법
JP2011041326A (ja) データ分割方法、データ分割装置およびコンピュータプログラム
US20140270165A1 (en) Cryptographic system based on reproducible random sequences
CN104969508A (zh) 用于保护固定长度的数据结构的完整性的方法
CA3087924C (en) Methods for securing data
US11258579B2 (en) Method and circuit for implementing a substitution table
Andrade et al. Lyra2: Efficient password hashing with high security against time-memory trade-offs
KR20180110550A (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
US20040162864A1 (en) System and method for generating pseudo-random numbers
JP2004213650A (ja) データ分割方法、データ分割装置およびコンピュータプログラム
JP2006018850A (ja) データ保管システム
JP2007042027A (ja) データ分割・復元システム、端末装置、データ分割・復元方法、およびコンピュータプログラム
US20170295012A1 (en) Cryptographic system based on reproducible random sequences
JPWO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
US11755287B2 (en) Random number generator
CN112910630B (zh) 扩展密钥的置换方法及装置
JP4789536B2 (ja) データ分割装置、データ分割方法およびコンピュータプログラム
KR102319699B1 (ko) 안티-인버전 함수를 이용한 화이트박스 암호 인코딩 장치 및 방법
EP3531612B1 (en) Method and device for performing substitution table operations
Fu et al. Medical image protection using hyperchaos-based encryption
KR102407204B1 (ko) 보안이 개선된 암호압축 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150311

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150401

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: 20150421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150520

R150 Certificate of patent or registration of utility model

Ref document number: 5752678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250