JP2003501736A - ロバストな乱数発生器 - Google Patents
ロバストな乱数発生器Info
- Publication number
- JP2003501736A JP2003501736A JP2001501969A JP2001501969A JP2003501736A JP 2003501736 A JP2003501736 A JP 2003501736A JP 2001501969 A JP2001501969 A JP 2001501969A JP 2001501969 A JP2001501969 A JP 2001501969A JP 2003501736 A JP2003501736 A JP 2003501736A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- generating
- analog
- number generator
- cryptographic function
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 69
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06J—HYBRID COMPUTING ARRANGEMENTS
- G06J1/00—Hybrid computing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Fuzzy Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
(57)【要約】
乱数を発生する方法および装置(300)が開示される。第1の実施形態では、乱数を発生する方法は、第2の乱数を生成することを伴う。デジタル乱数発生器(304)から疑似乱数が生成され、第1の乱数がアナログ乱数発生器(208−1)から生成される。第1の乱数は、疑似乱数と組み合わされて、両方の発生器の結果である第2の乱数が生成される。他の実施形態では、方法は、暗号関数を使用して乱数を発生する。疑似乱数が、暗号関数(104)の出力から発生され、第1の乱数がアナログ乱数発生器(208−1)から発生される。疑似乱数および第1の乱数は、暗号関数(104)の出力から第2の乱数を発生するために、結合されて暗号関数(104)に入力される。第2の乱数は、疑似乱数および第1の乱数に関連している。
Description
【0001】
本願は、1999年6月8日に出願された米国特許仮出願第60/138,1
82号の利益を主張する。
82号の利益を主張する。
【0002】
(発明の背景)
本発明は、概して、乱数発生器に関し、より詳細には、デジタルおよびアナロ
グの両方の乱数発生源を使用する乱数発生器に関する。
グの両方の乱数発生源を使用する乱数発生器に関する。
【0003】
乱数発生器は、暗号法等の種々の目的に使用されている。暗号法の正確な使用
は、統計的に高品質な乱数の発生源に依存する。残念ながら、従来の乱数発生器
(「RNG」)は、欠点を有している。
は、統計的に高品質な乱数の発生源に依存する。残念ながら、従来の乱数発生器
(「RNG」)は、欠点を有している。
【0004】
単純な乱数発生器は、デジタル技術を使用して疑似乱数を生成する。疑似乱数
は、デジタル処理により生成される実質的に、または、高度にランダムな数であ
る。デジタル技術は、そのデジタル的な性質のために決定論的な疑似乱数を生成
することができる。換言すれば、2つの同一のデジタル乱数発生器は、デジタル
入力値が同じであれば、同じ疑似乱数を生成する。従って、デジタル技術は、理
想的な結果には及ばない。それは、疑似乱数が予測可能だからである。
は、デジタル処理により生成される実質的に、または、高度にランダムな数であ
る。デジタル技術は、そのデジタル的な性質のために決定論的な疑似乱数を生成
することができる。換言すれば、2つの同一のデジタル乱数発生器は、デジタル
入力値が同じであれば、同じ疑似乱数を生成する。従って、デジタル技術は、理
想的な結果には及ばない。それは、疑似乱数が予測可能だからである。
【0005】
乱数を発生する通常のデジタル技術は、線形合同生成アルゴリズムである。こ
のアルゴリズムは、出力の生成を繰り返し、この出力は次の出力のタネとして使
用される。しかしながら、この技術によって生成された乱数の系列は小さく、比
較的小さい数の個々の出力の後で繰り返す。本明細書中で、軌道とは、デジタル
乱数発生器が、1つの出力が以前の出力と同じになるまでに生成する出力の数と
して定義される。理解されるように、再帰的アルゴリズムは、出力が繰り返され
るまでに軌道中で一意な出力を生成する。最初の値がいったん繰り返すと、引き
続く値もまた繰り返す。繰り返しのパターンは、予測可能であるので、望ましく
ない。このアルゴリズムは、ほとんどのCプログラミング言語のライブラリに見
出される。
のアルゴリズムは、出力の生成を繰り返し、この出力は次の出力のタネとして使
用される。しかしながら、この技術によって生成された乱数の系列は小さく、比
較的小さい数の個々の出力の後で繰り返す。本明細書中で、軌道とは、デジタル
乱数発生器が、1つの出力が以前の出力と同じになるまでに生成する出力の数と
して定義される。理解されるように、再帰的アルゴリズムは、出力が繰り返され
るまでに軌道中で一意な出力を生成する。最初の値がいったん繰り返すと、引き
続く値もまた繰り返す。繰り返しのパターンは、予測可能であるので、望ましく
ない。このアルゴリズムは、ほとんどのCプログラミング言語のライブラリに見
出される。
【0006】
ロバストな乱数を提供するために、従来のシステムはアナログ乱数発生器に頼
る。アナログ乱数発生器は、デジタル乱数発生器のような周期的な軌道を持たな
い乱数のストリームを生成する。これらのアナログ乱数発生器は、通常、例えば
ノイズ等のランダムなアナログ電圧をランダムなデータのデジタルストリームに
変換する。これらの回路は、通常、100Kビット以下のレートの乱数のストリ
ームを生成する、別個の集積回路である。しかしながら、これらの乱数発生レー
トは、短い時間周期の間に大きな数のランダムなビットが必要な超高性能な暗号
法には、不適切である。
る。アナログ乱数発生器は、デジタル乱数発生器のような周期的な軌道を持たな
い乱数のストリームを生成する。これらのアナログ乱数発生器は、通常、例えば
ノイズ等のランダムなアナログ電圧をランダムなデータのデジタルストリームに
変換する。これらの回路は、通常、100Kビット以下のレートの乱数のストリ
ームを生成する、別個の集積回路である。しかしながら、これらの乱数発生レー
トは、短い時間周期の間に大きな数のランダムなビットが必要な超高性能な暗号
法には、不適切である。
【0007】
アナログ乱数発生器は、故障しやすい。アナログ乱数発生器の寿命は、乱数を
使用するデジタル回路よりもかなり短い。当業者には理解され得るように、アナ
ログ乱数発生器の故障は、効果的な暗号法を台無しにし得る。さらに、乱数を発
生するために使用されるアナログ電圧の発生源は、攻撃者によって制御されやす
い。従って、攻撃をより受けにくい、より信頼性の高いアナログ乱数発生器に対
する要求がある。
使用するデジタル回路よりもかなり短い。当業者には理解され得るように、アナ
ログ乱数発生器の故障は、効果的な暗号法を台無しにし得る。さらに、乱数を発
生するために使用されるアナログ電圧の発生源は、攻撃者によって制御されやす
い。従って、攻撃をより受けにくい、より信頼性の高いアナログ乱数発生器に対
する要求がある。
【0008】
アナログ乱数発生器は、通常、乱数を使用するデジタル回路とは別個の集積回
路上に位置する。これは、デジタル半導体プロセスが、概して、アナログ半導体
プロセスと共存できないからである。デジタル集積回路は、通常、高いゲインを
有し、高速なCMOSスイッチングに最適化されている。しかしながら、アナロ
グ乱数発生器は、デジタルデータストリームをランダムに生成するために、ラン
ダムな電圧の発生源を効果的に増幅する線形なアナログ特性を必要とする。デジ
タル半導体プロセスを改変して、よりよいアナログ特性を生成することは可能で
あるが、デジタル回路の性能が意に反して影響されてしまう。従って、アナログ
乱数発生器を同じ集積回路に集積することは、従来の技術では非常に困難である
。
路上に位置する。これは、デジタル半導体プロセスが、概して、アナログ半導体
プロセスと共存できないからである。デジタル集積回路は、通常、高いゲインを
有し、高速なCMOSスイッチングに最適化されている。しかしながら、アナロ
グ乱数発生器は、デジタルデータストリームをランダムに生成するために、ラン
ダムな電圧の発生源を効果的に増幅する線形なアナログ特性を必要とする。デジ
タル半導体プロセスを改変して、よりよいアナログ特性を生成することは可能で
あるが、デジタル回路の性能が意に反して影響されてしまう。従って、アナログ
乱数発生器を同じ集積回路に集積することは、従来の技術では非常に困難である
。
【0009】
さらに、デジタル暗号関数を含む集積回路とは別個の集積回路に位置するアナ
ログ乱数発生器は、攻撃されやすい。より詳細には、暗号関数への乱数を運ぶ回
路基板上のトレースが、攻撃を受けやすい。例えば、攻撃者は、アナログ乱数発
生器からの信号を操作し、または置換することができる。当業者は理解し得るよ
うに、この攻撃は、暗号アルゴリズムおよびキーを、より容易に決定可能にする
。
ログ乱数発生器は、攻撃されやすい。より詳細には、暗号関数への乱数を運ぶ回
路基板上のトレースが、攻撃を受けやすい。例えば、攻撃者は、アナログ乱数発
生器からの信号を操作し、または置換することができる。当業者は理解し得るよ
うに、この攻撃は、暗号アルゴリズムおよびキーを、より容易に決定可能にする
。
【0010】
要するに、乱数を高いデータレートで、高い信頼性で生成する乱数発生器を開
発することが望まれている。さらに、乱数発生器は、デジタル回路との同じ集積
回路上への集積に適応するべきである。
発することが望まれている。さらに、乱数発生器は、デジタル回路との同じ集積
回路上への集積に適応するべきである。
【0011】
(発明の要旨)
本発明によれば、乱数を発生する方法および装置が開示される。第1の実施形
態では、乱数を発生する方法は、第2の乱数を生成することを伴う。デジタル乱
数発生器から疑似乱数が生成され、第1の乱数がアナログ乱数発生器から生成さ
れる。第1の乱数は、疑似乱数と組み合わされて、両方の発生器の結果である第
2の乱数が生成される。
態では、乱数を発生する方法は、第2の乱数を生成することを伴う。デジタル乱
数発生器から疑似乱数が生成され、第1の乱数がアナログ乱数発生器から生成さ
れる。第1の乱数は、疑似乱数と組み合わされて、両方の発生器の結果である第
2の乱数が生成される。
【0012】
他の実施形態では、方法は、暗号関数を使用して乱数を発生する。疑似乱数が
、暗号関数の出力から発生され、第1の乱数がアナログ乱数発生器から発生され
る。疑似乱数および第1の乱数は、暗号関数の出力から第2の乱数を発生するた
めに、暗号関数の入力に結合される。第2の乱数は、疑似乱数および第1の乱数
に関連している。
、暗号関数の出力から発生され、第1の乱数がアナログ乱数発生器から発生され
る。疑似乱数および第1の乱数は、暗号関数の出力から第2の乱数を発生するた
めに、暗号関数の入力に結合される。第2の乱数は、疑似乱数および第1の乱数
に関連している。
【0013】
さらに他の実施形態では、乱数発生装置は、出力と、デジタル乱数発生器とア
ナログ乱数発生器とを有する。デジタル乱数発生器は、疑似乱数を生成する。ア
ナログ乱数発生器は、乱数を発生する。乱数発生器の出力は、デジタルおよびア
ナログ乱数発生器の両方に結合される。
ナログ乱数発生器とを有する。デジタル乱数発生器は、疑似乱数を生成する。ア
ナログ乱数発生器は、乱数を発生する。乱数発生器の出力は、デジタルおよびア
ナログ乱数発生器の両方に結合される。
【0014】
(特定の実施形態の説明)
本発明には多くの異なる形態の実施形態が可能であるが、本発明の開示は、本
発明の原理の例示と考えるべきで、説明される実施形態に本発明の広範囲な局面
を限定することは意図しないという理解の下で、図面に示し、本明細書中で詳細
に説明するのは、本発明のいくつかの実施形態である。
発明の原理の例示と考えるべきで、説明される実施形態に本発明の広範囲な局面
を限定することは意図しないという理解の下で、図面に示し、本明細書中で詳細
に説明するのは、本発明のいくつかの実施形態である。
【0015】
図面において、同様の構成要素および/または特徴は、同じ参照ラベルを有す
る。同じタイプの種々の構成要素は、参照ラベルの後に、ダッシュと、同じ図面
中の同様の構成要素の間で区別する第2のラベルとを付けることにより区別され
る。第1の参照ラベルのみが以下の説明中で使用される場合、その説明はいくつ
かの同様の構成要素のどれにも当てはまる。
る。同じタイプの種々の構成要素は、参照ラベルの後に、ダッシュと、同じ図面
中の同様の構成要素の間で区別する第2のラベルとを付けることにより区別され
る。第1の参照ラベルのみが以下の説明中で使用される場合、その説明はいくつ
かの同様の構成要素のどれにも当てはまる。
【0016】
1つの実施形態が図1に示されている。この実施形態100は、ループ中で暗
号化するために、暗号関数104すなわちクリプトファンクションを使用して疑
似乱数のブロックを生成する。平文入力(plaintext input)と
、キー入力と、暗号文出力(ciphertext output)とがクリプ
トファンクション104に含まれる。暗号文出力は、疑似乱数として使用される
。
号化するために、暗号関数104すなわちクリプトファンクションを使用して疑
似乱数のブロックを生成する。平文入力(plaintext input)と
、キー入力と、暗号文出力(ciphertext output)とがクリプ
トファンクション104に含まれる。暗号文出力は、疑似乱数として使用される
。
【0017】
キー入力は、暗号文出力を生成するためにクリプトファンクション104によ
って使用されるキーを受け取る。キーは、デバイスに一度初期化されて入り、乱
数発生器100の寿命の期間中に変更される必要はない。
って使用されるキーを受け取る。キーは、デバイスに一度初期化されて入り、乱
数発生器100の寿命の期間中に変更される必要はない。
【0018】
暗号文出力は、疑似乱数のブロックを次々に生成する。各ブロックは、次の暗
号化のタネとしてクリプトファンクション104の入力にフィードバックされる
。クリプトファンクション104は、任意の対称または非対称の暗号アルゴリズ
ムであり得る。例えば、非対称の暗号アルゴリズムは、非対称公開キー暗号(a
symmetric public key cipher)であり得る。さら
に、クリプトファンクション104は、疑似乱数を生成するために暗号化または
復号化のいずれも行い得る。好適には、暗号アルゴリズムは、乱数を生成するた
めに暗号化を行う対称ブロック暗号関数(symmetric block c
ipher fucntion)である。対称ブロック暗号関数の例は、データ
暗号化規格(DES)である。
号化のタネとしてクリプトファンクション104の入力にフィードバックされる
。クリプトファンクション104は、任意の対称または非対称の暗号アルゴリズ
ムであり得る。例えば、非対称の暗号アルゴリズムは、非対称公開キー暗号(a
symmetric public key cipher)であり得る。さら
に、クリプトファンクション104は、疑似乱数を生成するために暗号化または
復号化のいずれも行い得る。好適には、暗号アルゴリズムは、乱数を生成するた
めに暗号化を行う対称ブロック暗号関数(symmetric block c
ipher fucntion)である。対称ブロック暗号関数の例は、データ
暗号化規格(DES)である。
【0019】
クリプトファンクション104のランダム状態を増加するために、乱数のタネ
が使用される。タネは、好適には、ハイグレードなアナログ乱数発生器により生
成される。ランダムなタネを有することにより、出力軌道の値が予測不可能にな
る。しかしながら、この実施形態は、軌道中の値の同じ個々のセットが、キーが
変更されるまで繰り返す。クリプトファンクション104が強力な場合、軌道は
非常に大きくなるので、出力はランダムに見える。
が使用される。タネは、好適には、ハイグレードなアナログ乱数発生器により生
成される。ランダムなタネを有することにより、出力軌道の値が予測不可能にな
る。しかしながら、この実施形態は、軌道中の値の同じ個々のセットが、キーが
変更されるまで繰り返す。クリプトファンクション104が強力な場合、軌道は
非常に大きくなるので、出力はランダムに見える。
【0020】
疑似的にランダムな出力の品質をさらに増加するために、クリプトファンクシ
ョン104の速度が、出力が読み取られる速度を越えて加速される。クリプトフ
ァンクション104を高速で実行することにより、2つの連続した疑似乱数の読
み取りが、読み取られ得ない疑似乱数により分離される。従って、出力は、クリ
プトファンクション104に相関しなくなる。当業者は理解し得るように、この
特徴により攻撃者が出力を解析してキーまたは暗号アルゴリズムを決定すること
がより困難になる。
ョン104の速度が、出力が読み取られる速度を越えて加速される。クリプトフ
ァンクション104を高速で実行することにより、2つの連続した疑似乱数の読
み取りが、読み取られ得ない疑似乱数により分離される。従って、出力は、クリ
プトファンクション104に相関しなくなる。当業者は理解し得るように、この
特徴により攻撃者が出力を解析してキーまたは暗号アルゴリズムを決定すること
がより困難になる。
【0021】
図2を参照すると、他の実施形態の乱数発生器200がブロック図の形態で示
されている。乱数発生器200は、クリプトファンクション104と、暗号文ブ
ロックレジスタ204と、複数のアナログ乱数発生器(「RNG」)208と、
複数の排他OR(XOR)ゲート206とを含む。この実施形態は、真の乱数を
生成するために、クリプトファンクション104およびアナログ乱数発生器20
8の両方を使用する。さらに、すべてのアナログ乱数発生器208が故障しても
乱数発生器200がだめにならないので、この実施形態はロバストである。すべ
てのアナログ乱数発生器が故障すると、回路の効率が、図1の実施形態の効率に
まで低下する。
されている。乱数発生器200は、クリプトファンクション104と、暗号文ブ
ロックレジスタ204と、複数のアナログ乱数発生器(「RNG」)208と、
複数の排他OR(XOR)ゲート206とを含む。この実施形態は、真の乱数を
生成するために、クリプトファンクション104およびアナログ乱数発生器20
8の両方を使用する。さらに、すべてのアナログ乱数発生器208が故障しても
乱数発生器200がだめにならないので、この実施形態はロバストである。すべ
てのアナログ乱数発生器が故障すると、回路の効率が、図1の実施形態の効率に
まで低下する。
【0022】
クリプトファンクション104は、暗号文ブロックレジスタ204に結合され
る第1の乱数(m)を生成する。暗号文レジスタ204は、クリプトファンクシ
ョン104からの64ビットの暗号文のブロックを1つ格納する、直列または並
列に構成されたメモリレジスタであり得る。乱数発生時間の1サイクルの遅延が
、暗号文レジスタ204によって導入される。
る第1の乱数(m)を生成する。暗号文レジスタ204は、クリプトファンクシ
ョン104からの64ビットの暗号文のブロックを1つ格納する、直列または並
列に構成されたメモリレジスタであり得る。乱数発生時間の1サイクルの遅延が
、暗号文レジスタ204によって導入される。
【0023】
乱数(m)がレジスタ204を離れると、好適には少なくとも1ビットがアナ
ログ乱数発生器208によって操作される。当業者には理解され得るように、1
ビットの改変は、クリプトファンクション104の軌道を変更する。従って、ア
ナログ乱数発生器によって、軌道あたり1ビットが変更される場合、繰り返し軌
道は決して起こらない。好適には、暗号文レジスタ204を離れるいくつかのビ
ットが、アナログ乱数発生器208からの出力とXORがとられる。しかしなが
ら、他の実施形態では、レジスタ204とアナログ乱数発生器208とからの出
力を任意の数のやり方で組み合わせてもよい。
ログ乱数発生器208によって操作される。当業者には理解され得るように、1
ビットの改変は、クリプトファンクション104の軌道を変更する。従って、ア
ナログ乱数発生器によって、軌道あたり1ビットが変更される場合、繰り返し軌
道は決して起こらない。好適には、暗号文レジスタ204を離れるいくつかのビ
ットが、アナログ乱数発生器208からの出力とXORがとられる。しかしなが
ら、他の実施形態では、レジスタ204とアナログ乱数発生器208とからの出
力を任意の数のやり方で組み合わせてもよい。
【0024】
アナログ乱数発生器208は、好適には、クリプトファンクション104と同
じ集積回路上にある。しかしながら、一方、他の集積回路上にあってもよい。ア
ナログ乱数発生器208は、種々のやり方で、熱、電気的ノイズ、ダイオードの
電子接合ノイズ、位相ロックループからの位相ノイズおよび/または準安定性の
タイミング境界をランダムなバイナリデータストリームに変換する。これらの発
生器208がチップ上に(すなわち、同じ集積回路上に)作製される場合、それ
らの発生器208は、背景のセクションで上述した理由により、信頼性が低くな
る。発生器208のすべてが故障した場合、クリプトファンクションは、クリプ
トファンクション104のみで疑似乱数を擬似的にランダムに生成するためのタ
ネとして、最後の乱数を使用する。
じ集積回路上にある。しかしながら、一方、他の集積回路上にあってもよい。ア
ナログ乱数発生器208は、種々のやり方で、熱、電気的ノイズ、ダイオードの
電子接合ノイズ、位相ロックループからの位相ノイズおよび/または準安定性の
タイミング境界をランダムなバイナリデータストリームに変換する。これらの発
生器208がチップ上に(すなわち、同じ集積回路上に)作製される場合、それ
らの発生器208は、背景のセクションで上述した理由により、信頼性が低くな
る。発生器208のすべてが故障した場合、クリプトファンクションは、クリプ
トファンクション104のみで疑似乱数を擬似的にランダムに生成するためのタ
ネとして、最後の乱数を使用する。
【0025】
各アナログ乱数発生器208は、暗号文レジスタ204からの出力のビットを
改変し得る出力を生成する。乱数発生器からの出力は、レジスタ204のビット
とXORが取られてもよいし、または単にそのビットを置換してもよい。アナロ
グ乱数発生器208がランダムな出力の生成を停止した場合、レジスタ204に
及ぼす発生器208の効果は、論理的にランダム性の低下を防止できなくなる。
発生器208の有効性をテストする1つのやり方は、0および1が時間の経過に
伴い均等に分布していることを検査することである。発生器208の有効性をテ
ストする他の技術もまた公知である。他の実施形態では、発生器208は、各暗
号文ブロックの複数のビットを生成し、レジスタ204から出力される同じ数の
ビットを改変し得る。
改変し得る出力を生成する。乱数発生器からの出力は、レジスタ204のビット
とXORが取られてもよいし、または単にそのビットを置換してもよい。アナロ
グ乱数発生器208がランダムな出力の生成を停止した場合、レジスタ204に
及ぼす発生器208の効果は、論理的にランダム性の低下を防止できなくなる。
発生器208の有効性をテストする1つのやり方は、0および1が時間の経過に
伴い均等に分布していることを検査することである。発生器208の有効性をテ
ストする他の技術もまた公知である。他の実施形態では、発生器208は、各暗
号文ブロックの複数のビットを生成し、レジスタ204から出力される同じ数の
ビットを改変し得る。
【0026】
アナログ発生器208が乱数(m)にエントロピーを導入した後、結果は第2
の乱数(m+1)になる。第2の乱数は、第3の乱数(m+2)を生成するタネ
として、クリプトファンクション104の平文入力に結合される。このサイクル
は繰り返し、周期的な態様で乱数ブロックを生成する。
の乱数(m+1)になる。第2の乱数は、第3の乱数(m+2)を生成するタネ
として、クリプトファンクション104の平文入力に結合される。このサイクル
は繰り返し、周期的な態様で乱数ブロックを生成する。
【0027】
図3を参照すると、他の実施形態の乱数発生器300がブロック図の形態で示
されている。この実施形態は、クリプトファンクション104がデジタル乱数発
生器304に置き換えられたことを除いて、図2の実施形態と同様である。好適
には、ソフトウェアアルゴリズムがデジタル乱数発生器304として機能するが
、他の実施形態は、ハードウェア回路を使用し得る。結果として得られる発生器
304からの疑似乱数は、決定論的である。背景のセクションで議論したように
、ソフトウェア乱数発生器は、短い軌道を有している。しかしながら、アナログ
のランダム性がアナログ乱数発生器208によって導入されるので、この実施形
態は繰り返し軌道を有さないロバストな乱数を生成する。
されている。この実施形態は、クリプトファンクション104がデジタル乱数発
生器304に置き換えられたことを除いて、図2の実施形態と同様である。好適
には、ソフトウェアアルゴリズムがデジタル乱数発生器304として機能するが
、他の実施形態は、ハードウェア回路を使用し得る。結果として得られる発生器
304からの疑似乱数は、決定論的である。背景のセクションで議論したように
、ソフトウェア乱数発生器は、短い軌道を有している。しかしながら、アナログ
のランダム性がアナログ乱数発生器208によって導入されるので、この実施形
態は繰り返し軌道を有さないロバストな乱数を生成する。
【0028】
デジタル乱数発生器304は、任意の数のやり方で実現され得る。好適には、
線形合同アルゴリズムがソフトウェアにコード化され、汎用プロセッサ上で実行
される。しかしながら、本発明は任意のデジタル乱数発生技術のロバスト性を増
加することができる。
線形合同アルゴリズムがソフトウェアにコード化され、汎用プロセッサ上で実行
される。しかしながら、本発明は任意のデジタル乱数発生技術のロバスト性を増
加することができる。
【0029】
図4を参照すると、乱数発生器400の実施形態がブロック図の形態で示され
ている。この発生器400は、暗号文ブロックレジスタ204から出力されるビ
ットに加えて、クリプトファンクション104で使用されるキーを変更すること
によって、ランダム性を改善する。クリプトファンクションを使用したデジタル
乱数発生器(例えば、図1参照)は、キーが変更されないままである限り、軌道
を繰り返す。しかしながら、キーを変更すると、平文と暗号文との間の関係が変
わり、軌道もまた変わる。
ている。この発生器400は、暗号文ブロックレジスタ204から出力されるビ
ットに加えて、クリプトファンクション104で使用されるキーを変更すること
によって、ランダム性を改善する。クリプトファンクションを使用したデジタル
乱数発生器(例えば、図1参照)は、キーが変更されないままである限り、軌道
を繰り返す。しかしながら、キーを変更すると、平文と暗号文との間の関係が変
わり、軌道もまた変わる。
【0030】
キーは、クリプトファンクション104にロードする前に、キーレジスタ40
4に格納される。アナログ乱数発生器208は、キーレジスタ404に入力され
るビットをアナログ乱数発生器208のそれぞれとXORを取る(408)こと
によって、それらのビットをランダム化する。周期的に、ランダム化されたキー
がクリプトファンクション104にロードされる。理解され得るように、キーの
実際の値は、通常、乱数を発生する目的のために重要ではない。
4に格納される。アナログ乱数発生器208は、キーレジスタ404に入力され
るビットをアナログ乱数発生器208のそれぞれとXORを取る(408)こと
によって、それらのビットをランダム化する。周期的に、ランダム化されたキー
がクリプトファンクション104にロードされる。理解され得るように、キーの
実際の値は、通常、乱数を発生する目的のために重要ではない。
【0031】
次に図5を参照すると、クリプトファンクション104に入力されるキーをラ
ンダム化する乱数発生器500の実施形態が示されている。この実施形態は、ア
ナログ乱数発生器208が暗号化ループに結合されていない点を除いて、図4の
実施形態と同様である。キー入力は、複数のアナログ乱数発生器をXORゲート
を介してキーのビットと結合することによって、ランダム化される。周期的に、
キーレジスタ404の中の新たにランダム化されたキーが、クリプトファンクシ
ョン104にロードされる。当業者は理解し得るように、キーの変更はクリプト
ファンクション104によって生成される軌道の中の乱数の繰り返しパターンを
変える。
ンダム化する乱数発生器500の実施形態が示されている。この実施形態は、ア
ナログ乱数発生器208が暗号化ループに結合されていない点を除いて、図4の
実施形態と同様である。キー入力は、複数のアナログ乱数発生器をXORゲート
を介してキーのビットと結合することによって、ランダム化される。周期的に、
キーレジスタ404の中の新たにランダム化されたキーが、クリプトファンクシ
ョン104にロードされる。当業者は理解し得るように、キーの変更はクリプト
ファンクション104によって生成される軌道の中の乱数の繰り返しパターンを
変える。
【0032】
図6を参照すると、他の実施形態の乱数発生器600がブロック図の形態で示
されている。この発生器600は、さらに乱数の品質を改善するために、不揮発
性レジスタ604と、ハッシュ関数608とを追加する。
されている。この発生器600は、さらに乱数の品質を改善するために、不揮発
性レジスタ604と、ハッシュ関数608とを追加する。
【0033】
ハッシュ関数608は、クリプトファンクション104からの出力を受け取り
、その出力をさらにスクランブルする。好適には、SHA−1のような安全なハ
ッシュアルゴリズムが使用される。当業者は、ハッシュ関数の追加は、ハッシュ
関数に本来備わっている一方向の関数の形態で、解析に対するバリアを導入する
ことにより、暗号アルゴリズムとキーとの攻撃者からの安全性が高まることを理
解し得る。
、その出力をさらにスクランブルする。好適には、SHA−1のような安全なハ
ッシュアルゴリズムが使用される。当業者は、ハッシュ関数の追加は、ハッシュ
関数に本来備わっている一方向の関数の形態で、解析に対するバリアを導入する
ことにより、暗号アルゴリズムとキーとの攻撃者からの安全性が高まることを理
解し得る。
【0034】
軌道のランダム性を保存するために、不揮発性レジスタ604が使用され、暗
号文ブロックを周期的に格納する。好適には、レジスタ604は、バッテリーに
よりバックアップされたランダムアクセスメモリ(RAM)であるが、フラッシ
ュメモリ、磁気コアメモリ、電気的に消去可能な読み出し専用メモリまたは他の
不揮発性メモリであってもよい。周期的に、プロセッサ(図示せず)は、暗号文
ブロックレジスタ204を読み出し、その値を不揮発性レジスタ604に格納す
る。回路から電源が取り除かれると、不揮発性レジスタ604は、最後に格納さ
れた乱数を維持する。電源が印加されるとすぐに、プロセッサは不揮発性レジス
タ604を読み出し、その値を暗号文レジスタ204にロードする。回復された
値は、引き続く乱数発生のためのタネとして使用される。従って、時間の経過に
伴うどんなランダム性の蓄積も、実質的に維持される。
号文ブロックを周期的に格納する。好適には、レジスタ604は、バッテリーに
よりバックアップされたランダムアクセスメモリ(RAM)であるが、フラッシ
ュメモリ、磁気コアメモリ、電気的に消去可能な読み出し専用メモリまたは他の
不揮発性メモリであってもよい。周期的に、プロセッサ(図示せず)は、暗号文
ブロックレジスタ204を読み出し、その値を不揮発性レジスタ604に格納す
る。回路から電源が取り除かれると、不揮発性レジスタ604は、最後に格納さ
れた乱数を維持する。電源が印加されるとすぐに、プロセッサは不揮発性レジス
タ604を読み出し、その値を暗号文レジスタ204にロードする。回復された
値は、引き続く乱数発生のためのタネとして使用される。従って、時間の経過に
伴うどんなランダム性の蓄積も、実質的に維持される。
【0035】
図7を参照すると、乱数を生成する1つの方法を説明するフロー図が示されて
いる。ステップ700において、乱数発生器の最初の電源投入であるかどうかの
判定がなされる。これは、以前に格納されたソフトウェア変数を検査するか、ま
たは不揮発性レジスタ604の中の値を検査することによって判定され得る。こ
れが最初の電源投入であると判定された場合には、乱数のタネがステップ704
においてロードされる。好適には、タネとなる数は、高品質なアナログ乱数発生
器によって、集積回路の外部で発生される。これが最初の電源の印加ではないた
めに乱数が以前に格納されていた場合には、不揮発性レジスタ604は、ステッ
プ708においてロードされる。
いる。ステップ700において、乱数発生器の最初の電源投入であるかどうかの
判定がなされる。これは、以前に格納されたソフトウェア変数を検査するか、ま
たは不揮発性レジスタ604の中の値を検査することによって判定され得る。こ
れが最初の電源投入であると判定された場合には、乱数のタネがステップ704
においてロードされる。好適には、タネとなる数は、高品質なアナログ乱数発生
器によって、集積回路の外部で発生される。これが最初の電源の印加ではないた
めに乱数が以前に格納されていた場合には、不揮発性レジスタ604は、ステッ
プ708においてロードされる。
【0036】
いったん乱数発生器がランダムなタネで初期化されると、さらなる乱数の発生
を進めることができる。ステップ712において、乱数は、そのランダムなタネ
から発生される。ステップ728において、ハッシュ関数がその乱数に実行され
る。何らかの回路または暗号操作が乱数を必要とする場合には、その乱数はステ
ップ732において使用される。
を進めることができる。ステップ712において、乱数は、そのランダムなタネ
から発生される。ステップ728において、ハッシュ関数がその乱数に実行され
る。何らかの回路または暗号操作が乱数を必要とする場合には、その乱数はステ
ップ732において使用される。
【0037】
ステップ712において乱数が発生された後、軌道中の次の乱数が用意される
。ステップ716において、アナログ乱数発生器208はさらなるランダム性を
その乱数に混合する。ステップ720において、出力はクリプトファンクション
104の平文入力に結合される。ステップ724は、周期的に、現在の乱数を不
揮発性レジスタ604に格納する。プロセッサは、1秒間に1回等の頻繁ではな
い時間間隔で、現在の乱数を格納する。このように、発生器はロバストな態様で
乱数を生成する。
。ステップ716において、アナログ乱数発生器208はさらなるランダム性を
その乱数に混合する。ステップ720において、出力はクリプトファンクション
104の平文入力に結合される。ステップ724は、周期的に、現在の乱数を不
揮発性レジスタ604に格納する。プロセッサは、1秒間に1回等の頻繁ではな
い時間間隔で、現在の乱数を格納する。このように、発生器はロバストな態様で
乱数を生成する。
【0038】
上述した説明に照らして、本発明のいくつかの利点が容易に明らかになる。乱
数発生器は、たとえすべてのアナログ乱数発生器が故障しても、疑似乱数を生成
することができる。アナログ乱数発生のみに頼らないことにより、アナログ発生
器が貧弱な初期特性を有しており最終的に故障し得る場合でさえ、アナログ乱数
発生器のデジタル半導体プロセスへの集積が現実的になる。さらに、乱数発生器
は、デジタル技術を利用するので、高い乱数データレートが可能になる。
数発生器は、たとえすべてのアナログ乱数発生器が故障しても、疑似乱数を生成
することができる。アナログ乱数発生のみに頼らないことにより、アナログ発生
器が貧弱な初期特性を有しており最終的に故障し得る場合でさえ、アナログ乱数
発生器のデジタル半導体プロセスへの集積が現実的になる。さらに、乱数発生器
は、デジタル技術を利用するので、高い乱数データレートが可能になる。
【0039】
本発明のいくつかの変形例および改変例もまた使用され得る。異なる実施形態
では、乱数発生器は以下の任意の1つまたはそれ以上のやり方で改変され得る。
クリプトファンクションは、乱数と、暗号化/復号化の両方を提供する二役を演
じ得る。従って、クリプトファンクションをすでに有する回路は、乱数の発生を
も提供するために、追加の回路部をほとんど必要としない。図6を参照して議論
した上述の実施形態は、タネとしての以後の使用のために乱数を周期的に格納し
ているが、他の実施形態は、適切な動作電力がキャパシタまたはバッテリーによ
って内部的に供給される場合には、電源が取り除かれた後に乱数を格納してもよ
い。
では、乱数発生器は以下の任意の1つまたはそれ以上のやり方で改変され得る。
クリプトファンクションは、乱数と、暗号化/復号化の両方を提供する二役を演
じ得る。従って、クリプトファンクションをすでに有する回路は、乱数の発生を
も提供するために、追加の回路部をほとんど必要としない。図6を参照して議論
した上述の実施形態は、タネとしての以後の使用のために乱数を周期的に格納し
ているが、他の実施形態は、適切な動作電力がキャパシタまたはバッテリーによ
って内部的に供給される場合には、電源が取り除かれた後に乱数を格納してもよ
い。
【0040】
本発明の上記の説明は、例示および説明の目的のために提示され、本発明を限
定するようには意図されない。関連分野の技術または知識を伴う、上述した説明
と同等の変形例および改変例は、本発明の範囲内である。本明細書で説明された
実施形態は、さらに、本発明を実施するために知られるベストモードを説明する
ことが意図され、そのようなベストモードで、または、本発明の特定の用途また
は使用に必要であり得る種々の改変を伴う他の実施形態で、当業者が本発明を利
用できるようにすることが意図される。上述の特許請求の範囲は、従来技術によ
って許される範囲までの代替的な実施形態を含むように解釈されることが意図さ
れる。
定するようには意図されない。関連分野の技術または知識を伴う、上述した説明
と同等の変形例および改変例は、本発明の範囲内である。本明細書で説明された
実施形態は、さらに、本発明を実施するために知られるベストモードを説明する
ことが意図され、そのようなベストモードで、または、本発明の特定の用途また
は使用に必要であり得る種々の改変を伴う他の実施形態で、当業者が本発明を利
用できるようにすることが意図される。上述の特許請求の範囲は、従来技術によ
って許される範囲までの代替的な実施形態を含むように解釈されることが意図さ
れる。
【図1】
暗号関数を使用する乱数発生器の実施形態を表すブロック図である。
【図2】
アナログ乱数発生器およびクリプトファンクションの両方を使用して乱数を生
成する乱数発生器の実施形態を示すブロック図である。
成する乱数発生器の実施形態を示すブロック図である。
【図3】
アナログおよびデジタル乱数発生技術の両方を使用する乱数発生器の他の実施
形態を表すブロック図である。
形態を表すブロック図である。
【図4】
キーをさらにランダム化するためにアナログ乱数発生技術を使用する乱数発生
器の実施形態を示すブロック図である。
器の実施形態を示すブロック図である。
【図5】
キーをランダム化するためにアナログ乱数発生技術を使用する乱数発生器の実
施形態を示すブロック図である。
施形態を示すブロック図である。
【図6】
ハッシュ関数および不揮発性レジスタを利用する乱数発生器の実施形態を表す
ブロック図である。
ブロック図である。
【図7】
乱数を発生する方法を示すフロー図である。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,CY,
DE,DK,ES,FI,FR,GB,GR,IE,I
T,LU,MC,NL,PT,SE),OA(BF,BJ
,CF,CG,CI,CM,GA,GN,GW,ML,
MR,NE,SN,TD,TG),AP(GH,GM,K
E,LS,MW,MZ,SD,SL,SZ,TZ,UG
,ZW),EA(AM,AZ,BY,KG,KZ,MD,
RU,TJ,TM),AE,AG,AL,AM,AT,
AU,AZ,BA,BB,BG,BR,BY,CA,C
H,CN,CR,CU,CZ,DE,DK,DM,DZ
,EE,ES,FI,GB,GD,GE,GH,GM,
HR,HU,ID,IL,IN,IS,JP,KE,K
G,KP,KR,KZ,LC,LK,LR,LS,LT
,LU,LV,MA,MD,MG,MK,MN,MW,
MX,MZ,NO,NZ,PL,PT,RO,RU,S
D,SE,SG,SI,SK,SL,TJ,TM,TR
,TT,TZ,UA,UG,US,UZ,VN,YU,
ZA,ZW
Claims (17)
- 【請求項1】 乱数を発生する方法であって、 暗号関数を用いて擬似乱数を生成する工程と、 アナログ乱数発生器から第1の乱数を生成する工程と、 該第1の乱数を該擬似乱数と組み合わせ、該暗号関数と該アナログ乱数発生器
との両方の結果である第2の乱数を生成する工程と、 該暗号関数を使用することによって、該第2の乱数から第3の乱数を生成する
工程と を包含する方法。 - 【請求項2】 前記第2の乱数を不揮発性メモリロケーションに周期的に格
納する工程と、 デジタル乱数発生器の電源を投入する工程と、 以前に格納された該第2の乱数を前記暗号関数にロードする工程と をさらに包含する、請求項1に記載の方法。 - 【請求項3】 擬似乱数を生成する前記工程は、プロセッサ上でソフトウェ
アアルゴリズムを実行する工程を包含する、請求項1に記載の方法。 - 【請求項4】 擬似乱数を生成する前記工程は、対称ブロック暗号関数から
擬似乱数ブロックを生成する工程を包含する、請求項1に記載の方法。 - 【請求項5】 擬似乱数を生成する前記工程は、非対称公開キー暗号関数か
ら擬似乱数を生成する工程を包含する、請求項1に記載の方法。 - 【請求項6】 暗号関数を用いて乱数を発生する方法であって、該方法は、 該暗号関数の出力から疑似乱数を発生する工程と、 アナログ乱数発生器から第1の乱数を発生する工程と、 該疑似乱数および該第1の乱数から、第2の乱数を形成する工程と、 該第2の乱数を該暗号関数の入力に結合する工程と、 該暗号関数の第2の乱数に関連する出力から、第3の乱数を発生する工程と を包含する、方法。
- 【請求項7】 前記暗号関数およびアナログ乱数発生器は、同じパッケージ
の中に位置している、請求項6に記載の方法。 - 【請求項8】 前記第3の乱数を不揮発性メモリロケーションに格納する工
程をさらに包含する、請求項7に記載の方法。 - 【請求項9】 疑似乱数を発生する前記工程は、乱数発生源を用いて前記暗
号関数を初期化する工程を包含する、請求項6に記載の方法。 - 【請求項10】 前記乱数発生源は、前記暗号関数およびアナログ乱数発生
器を含むパッケージの外部にある、請求項9に記載の方法。 - 【請求項11】 前記暗号関数にキーをロードする工程をさらに包含する、
請求項6に記載の方法。 - 【請求項12】 キーをロードする前記工程の前に、前記アナログ乱数発生
器を該キーのビットに結合する工程をさらに包含する、請求項11に記載の方法
。 - 【請求項13】 複数のビットを含むデジタル乱数を生成する出力と、 該出力に結合され、該デジタル乱数を発生する暗号関数と、 該暗号関数に結合された入力であって、該出力は、少なくとも部分的に該入力
に結合されている、入力と、 ランダムなアナログ信号を発生するアナログ乱数発生器であって、該ランダム
なアナログ信号は、該入力に結合されている、アナログ乱数発生器と を備えた、乱数発生装置。 - 【請求項14】 前記出力は、デジタル乱数が生成される第2のレートより
も遅い第1のレートでサンプリングされる、請求項13に記載の乱数発生装置。 - 【請求項15】 デジタル乱数を含む複数のビットを有するレジスタであっ
て、前記アナログ乱数発生器は、該複数のビットの少なくとも1つに結合されて
いる、レジスタをさらに備えた、請求項13に記載の乱数発生装置。 - 【請求項16】 複数のアナログ乱数発生器をさらに備えた、請求項13に
記載の乱数発生装置。 - 【請求項17】 前記出力に結合されたハッシュ関数をさらに備えた、請求
項13に記載の乱数発生装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13818299P | 1999-06-08 | 1999-06-08 | |
US60/138,182 | 1999-06-08 | ||
US09/455,951 US6253223B1 (en) | 1999-06-08 | 1999-12-07 | Robust random number generator |
US09/455,951 | 1999-12-07 | ||
PCT/US2000/015932 WO2000075761A1 (en) | 1999-06-08 | 2000-06-08 | Robust random number generator |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003501736A true JP2003501736A (ja) | 2003-01-14 |
Family
ID=26835940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001501969A Withdrawn JP2003501736A (ja) | 1999-06-08 | 2000-06-08 | ロバストな乱数発生器 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6253223B1 (ja) |
EP (1) | EP1190294A4 (ja) |
JP (1) | JP2003501736A (ja) |
KR (1) | KR20020008849A (ja) |
CN (1) | CN1159633C (ja) |
AU (1) | AU767265B2 (ja) |
CA (1) | CA2372996A1 (ja) |
HK (1) | HK1046562A1 (ja) |
WO (1) | WO2000075761A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008203581A (ja) * | 2007-02-21 | 2008-09-04 | Matsushita Electric Works Ltd | ネットワークシステム |
JP2010527078A (ja) * | 2007-05-10 | 2010-08-05 | ディス‐エント,エルエルシー | 非決定性統計データ生成器 |
JPWO2010134197A1 (ja) * | 2009-05-22 | 2012-11-08 | 株式会社東芝 | 乱数生成回路およびこれを用いた暗号回路 |
JP2018097438A (ja) * | 2016-12-08 | 2018-06-21 | 東芝情報システム株式会社 | 擬似乱数生成装置及び擬似乱数生成プログラム |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19910729C1 (de) * | 1999-03-11 | 2000-11-02 | Richard Vogts | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
DE50013465D1 (de) * | 2000-03-23 | 2006-10-26 | Infineon Technologies Ag | Vorrichtung und Verfahren zur Erhöhung der Betriebssicherheit und Gleichmässigkeit einer Rauschquelle |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
GB0102840D0 (en) | 2001-02-05 | 2001-03-21 | Cambridge Silicon Radio Ltd | Generating random data |
US6993542B1 (en) | 2001-03-12 | 2006-01-31 | Cisco Technology, Inc. | Efficient random number generation for communication systems |
US20060072747A1 (en) * | 2001-03-30 | 2006-04-06 | Wood Matthew D | Enhancing entropy in pseudo-random number generators using remote sources |
US7139397B2 (en) * | 2001-07-20 | 2006-11-21 | Stmicroelectronics S.R.L. | Hybrid architecture for realizing a random numbers generator |
US6954770B1 (en) * | 2001-08-23 | 2005-10-11 | Cavium Networks | Random number generator |
US7227951B2 (en) * | 2001-11-06 | 2007-06-05 | Ntt Docomo, Inc. | Enhanced ANSI X9.17 pseudorandom number generators with forward security |
FR2832231B3 (fr) * | 2001-11-15 | 2003-12-19 | Jean Luc Stehle | Procede pour generer des nombres aleatoires |
EP1359550A1 (fr) * | 2001-11-30 | 2003-11-05 | STMicroelectronics S.A. | Régéneration d'une quantité secrète à partir d'un identifiant d'un circuit intégré |
EP1391853A1 (fr) * | 2001-11-30 | 2004-02-25 | STMicroelectronics S.A. | Diversification d'un identifiant unique d'un circuit intégré |
US20030140232A1 (en) * | 2002-01-21 | 2003-07-24 | De Lanauze Pierre | Method and apparatus for secure encryption of data |
US8074081B2 (en) * | 2002-04-15 | 2011-12-06 | Infineon Technologies Ag | Method for replacing contents of a data storage unit |
US7028059B2 (en) * | 2002-06-24 | 2006-04-11 | Sun Microsystems, Inc. | Apparatus and method for random number generation |
US7209561B1 (en) * | 2002-07-19 | 2007-04-24 | Cybersource Corporation | System and method for generating encryption seed values |
US20040024803A1 (en) * | 2002-07-31 | 2004-02-05 | Allen Montijo | Cascaded modified PRBS counters form easily programmed and efficient large counter |
US7047262B2 (en) * | 2002-08-21 | 2006-05-16 | Koninklijke Philips Electronics N.V. | Entropy estimation and decimation for improving the randomness of true random number generation |
JP2004157168A (ja) * | 2002-11-01 | 2004-06-03 | Sanyo Electric Co Ltd | 乱数生成装置 |
JP4288057B2 (ja) * | 2002-11-15 | 2009-07-01 | 三洋電機株式会社 | 乱数生成装置 |
US7284024B1 (en) | 2003-02-07 | 2007-10-16 | Magiq Technologies, Inc. | Quantum noise random number generator |
US7146392B2 (en) * | 2003-06-30 | 2006-12-05 | International Business Machines Corporation | Random number generator |
DE102004008178A1 (de) | 2004-02-19 | 2005-09-01 | Giesecke & Devrient Gmbh | Verfahren zum Erzeugen von Zufallszahlen in einem tragbaren Datenträger |
US7263540B1 (en) | 2004-03-03 | 2007-08-28 | The United States Of America As Represented By The Director National Security Agency | Method of generating multiple random numbers |
US8520851B2 (en) * | 2004-04-30 | 2013-08-27 | Blackberry Limited | Wireless communication device with securely added randomness and related method |
US7496616B2 (en) * | 2004-11-12 | 2009-02-24 | International Business Machines Corporation | Method, apparatus and system for resistance to side channel attacks on random number generators |
US7665141B2 (en) * | 2004-11-24 | 2010-02-16 | Ghada Young | Origin and custody of copies from a stored electronic record verified page by page |
WO2007104802A1 (es) * | 2006-03-13 | 2007-09-20 | Kinamik Data Integrity, S.L. | Método y sistema altamente eficientes de generación segura de números aleatorios |
DE102006037016B4 (de) * | 2006-08-08 | 2009-04-23 | Giesecke & Devrient Gmbh | Pseudo-Zufallszahlengenerator für eine Chipkarte |
US7613915B2 (en) | 2006-11-09 | 2009-11-03 | BroadOn Communications Corp | Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed |
US7930332B2 (en) * | 2007-03-23 | 2011-04-19 | Microsoft Corporation | Weighted entropy pool service |
US20080263117A1 (en) * | 2007-04-23 | 2008-10-23 | Gregory Gordon Rose | Initial seed management for pseudorandom number generator |
US7962539B2 (en) * | 2007-04-30 | 2011-06-14 | International Business Machines Corporation | System, method and device of generating a random value |
IL187035A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Configurable random number generator |
US8744073B2 (en) * | 2008-03-04 | 2014-06-03 | Sandisk Il Ltd. | Digital random number generator based on digitally-controlled oscillators |
US9513872B2 (en) * | 2009-11-25 | 2016-12-06 | Aclara Technologies Llc | Random number generator |
US8918442B2 (en) | 2012-08-22 | 2014-12-23 | International Business Machines Corporation | Reducing bias in hardware generated random numbers |
US9819727B2 (en) | 2013-02-28 | 2017-11-14 | Amazon Technologies, Inc. | Computing infrastructure for configurable-quality random data |
US9049232B2 (en) | 2013-02-28 | 2015-06-02 | Amazon Technologies, Inc. | Configurable-quality random data service |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US8873750B2 (en) * | 2013-03-14 | 2014-10-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9477443B1 (en) | 2013-06-06 | 2016-10-25 | Tectrolabs L.L.C. | Method and apparatus of entropy source with multiple hardware random noise sources and continuous self-diagnostic logic |
US10116441B1 (en) | 2015-06-11 | 2018-10-30 | Amazon Technologies, Inc. | Enhanced-security random data |
CN107943450A (zh) * | 2017-11-17 | 2018-04-20 | 上海众人网络安全技术有限公司 | 随机数生成方法、装置、计算机设备及计算机可读介质 |
WO2020009265A1 (ko) * | 2018-07-04 | 2020-01-09 | 주식회사 넘버스 | 난수 생성 방법 및 시스템 |
US11341809B2 (en) * | 2019-06-26 | 2022-05-24 | Aristocrat Technologies Australia Pty Limited | Gaming machines having retrofittable insertable memory expansion board with onboard random number generator |
CN112130808A (zh) * | 2020-08-28 | 2020-12-25 | 新华三大数据技术有限公司 | 一种随机数生成方法及装置 |
CN116055039B (zh) * | 2022-12-29 | 2023-11-14 | 北京海泰方圆科技股份有限公司 | 一种基于分组密码算法的随机数生成方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5627775A (en) * | 1995-04-18 | 1997-05-06 | Applied Computing Systems, Inc. | Method and apparatus for generating random numbers using electrical noise |
BR9610609A (pt) | 1995-07-27 | 1999-06-29 | Nextlevel Systems Inc | Sistema criptográfico com fator trabalho oculto |
US6104810A (en) * | 1997-05-15 | 2000-08-15 | International Business Machines Corporation | Pseudorandom number generator with backup and restoration capability |
US6070178A (en) * | 1999-02-17 | 2000-05-30 | Starium Ltd | Generating random numbers from random signals without being affected by any interfering signals |
-
1999
- 1999-12-07 US US09/455,951 patent/US6253223B1/en not_active Expired - Lifetime
-
2000
- 2000-06-08 AU AU73290/00A patent/AU767265B2/en not_active Ceased
- 2000-06-08 CN CNB008085846A patent/CN1159633C/zh not_active Expired - Fee Related
- 2000-06-08 WO PCT/US2000/015932 patent/WO2000075761A1/en not_active Application Discontinuation
- 2000-06-08 JP JP2001501969A patent/JP2003501736A/ja not_active Withdrawn
- 2000-06-08 EP EP00961321A patent/EP1190294A4/en not_active Withdrawn
- 2000-06-08 KR KR1020017015656A patent/KR20020008849A/ko not_active Application Discontinuation
- 2000-06-08 CA CA002372996A patent/CA2372996A1/en not_active Abandoned
-
2002
- 2002-11-06 HK HK02108053.5A patent/HK1046562A1/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008203581A (ja) * | 2007-02-21 | 2008-09-04 | Matsushita Electric Works Ltd | ネットワークシステム |
JP2010527078A (ja) * | 2007-05-10 | 2010-08-05 | ディス‐エント,エルエルシー | 非決定性統計データ生成器 |
JPWO2010134197A1 (ja) * | 2009-05-22 | 2012-11-08 | 株式会社東芝 | 乱数生成回路およびこれを用いた暗号回路 |
JP5433686B2 (ja) * | 2009-05-22 | 2014-03-05 | 株式会社東芝 | 乱数生成回路およびこれを用いた暗号回路 |
JP2018097438A (ja) * | 2016-12-08 | 2018-06-21 | 東芝情報システム株式会社 | 擬似乱数生成装置及び擬似乱数生成プログラム |
Also Published As
Publication number | Publication date |
---|---|
US6253223B1 (en) | 2001-06-26 |
EP1190294A1 (en) | 2002-03-27 |
CN1159633C (zh) | 2004-07-28 |
AU767265B2 (en) | 2003-11-06 |
CA2372996A1 (en) | 2000-12-14 |
WO2000075761A1 (en) | 2000-12-14 |
AU7329000A (en) | 2000-12-28 |
CN1354848A (zh) | 2002-06-19 |
HK1046562A1 (zh) | 2003-01-17 |
KR20020008849A (ko) | 2002-01-31 |
EP1190294A4 (en) | 2005-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003501736A (ja) | ロバストな乱数発生器 | |
JP4828068B2 (ja) | コンピュータで効率的な線形フィードバック・シフト・レジスタ | |
US5799090A (en) | pad encryption method and software | |
US6961426B2 (en) | Cascaded stream cipher | |
EP1378870A1 (en) | Encryption Communication System for Generating Passwords on the Basis of Start Information on both parties of Communication | |
US8509427B2 (en) | Hybrid mode cryptographic method and system with message authentication | |
ES2244639T3 (es) | Transformacion lineal para cifrado de claves simetricas. | |
US8861725B2 (en) | Random bit stream generator with enhanced backward secrecy | |
WO2005073842A1 (ja) | 擬似乱数生成装置および擬似乱数生成プログラム | |
US20140016778A1 (en) | Random bit stream generator with guaranteed minimum period | |
US11646867B2 (en) | Systems and methods implementing countermeasures to phase tracking attacks on ring oscillator based entropy sources | |
KR20150093785A (ko) | 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법 | |
US20030125015A1 (en) | Data transfer system | |
JP2003318883A (ja) | 鍵生成装置、暗号化復号化装置およびデータ受信装置 | |
US20090327381A1 (en) | True random number generator | |
US6581078B1 (en) | Random number generating circuit and process | |
US6961427B1 (en) | Methods and apparatus for keystream generation | |
JP2003516659A (ja) | 1の補数暗号コンバイナ | |
JP4470135B2 (ja) | 擬似乱数生成システム | |
WO1998036525A1 (en) | System and method for constructing a cryptographic pseudo random bit generator | |
JP2003084668A (ja) | 乱数生成装置、乱数生成方法及び乱数生成プログラム | |
KR100756435B1 (ko) | 키스트림 생성방법 및 장치 | |
US7424111B2 (en) | System and method of applying parity bits to protect transmitting and receiving data | |
US11128449B2 (en) | Cipher system with continuously replenished reservoir of pseudorandom bits | |
Wei et al. | Research and Implementation of a Reconfigurable Parallel Low Power E0 Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |