JPH07311674A - 疑似乱数生成装置 - Google Patents
疑似乱数生成装置Info
- Publication number
- JPH07311674A JPH07311674A JP6102988A JP10298894A JPH07311674A JP H07311674 A JPH07311674 A JP H07311674A JP 6102988 A JP6102988 A JP 6102988A JP 10298894 A JP10298894 A JP 10298894A JP H07311674 A JPH07311674 A JP H07311674A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- value
- counter
- pseudo
- register
- 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
Links
Abstract
匿性を確保でき、鍵配送や、相手認証等が安全に実行で
きる乱数を生成する疑似乱数生成装置を提供することで
ある。 【構成】 本発明の疑似乱数生成装置1は、値Cをカウ
ントするカウンタ5と、値Rを蓄積するレジスタ2と、
カウンタ5の値C及びレジスタ2の値Rが入力され、乱
数関数F(R,C)を出力する乱数関数回路3とを具備
し、起動信号を契機として乱数関数回路3から出力され
る乱数関数F(R,C)によりレジスタ2の値Rを更新
する。
Description
り、特に、暗号通信、鍵配送、相手認証等で必要となる
乱数を生成する疑似乱数生成装置に関する。
な鍵配送、相手認証等を行う端末や装置等のシステム中
に内蔵される疑似乱数生成装置は、従来から求められて
いる処理の再現性、計算機の資源のコンパクト化に加
え、外部からの乱数値の類推が不可能な安全性の高さが
求められている。
できない安全な乱数が求められている。一般の乱数につ
いては、KNUTH著:『準数値算法/乱数』(サイエ
ンス社刊,p3)で紹介されているように、処理の正当
性の再現性、計算機資源のコンパクト化(メモリ削減)
の要請から、関数を使った乱数生成法が利用される。
乱数列R(1) 、R(2) 、R(3) 、…を生成する。個々
に、乱数列の()内の添字は、乱数列Rの順番を示すも
ので、R(i+1) =F(R(i) )(但し、i≧0、整数)
なる関係があるとする。初期値が決まると全ての乱数列
が決まるので、理想的な乱数列とは区別し、乱数列R(0
) 、R(1) 、R(2) 、R(3) 、…を疑似乱数列と呼び、
Fは疑似乱数関数と呼ぶ。
がXを取りうる全ての値の個数とすると、R(i+1) =F
(R(i) )で定義される疑似乱数列の周期が上限の|R
|にいかに近いかということと、本来の乱数生成の要請
である、値の分布が一様にばらつくかどうかということ
である。
ク図である。同図に示す疑似乱数生成装置1は、レジス
タ2及び乱数関数回路3より構成される。レジスタ2
は、値Rが設定され、外部から起動信号4が入力される
毎に、乱数生成回路3から出力される値Fによりレジス
タ2の蓄積値Rを更新し、レジスタ2は、その値F
(R)を保持する。ここで、レジスタ2の値Rの初期設
定をしなくてもよいが、多くの場合、電源投入時に値R
を蓄積するレジスタ2または、RAMの物理的な特性に
より特定値に偏る。また、常に起動信号4が発生する状
態にし、値Rの更新回数を増大させる方法もある。
示すフローチャートである。疑似乱数生成装置1は、外
部から起動信号4が入力されるまで、待機し、起動信号
4が入力されると(ステップ1)、レジスタの疑似乱数
RがF(R)で更新される(ステップ2)。
山著:『現代暗号理論』、電子情報通信学会間、pp.
175−177)をAとBの2者間で行う場合、Aは、
RA、Bは、RB なる乱数を生成し、Aからα∧RA mod
P、Bからα∧RB mod P(なお、X∧Yは、XをY
乗することを表す。Xmod Yは、XをYで除した余り)
を相手に送信する。この結果、両者で共通鍵K=α∧
(RA RB )mod Pを共有する。このとき、悪意の第3
者が、α∧RA mod P、α∧RB mod Pなる通信データ
を入手し、システムパラメータのα、Pを知っても、共
有鍵Kを生成することはできない。この方法は、Aまた
は、Bにおいて、システムに内蔵される疑似乱数装置を
用いる。
示す従来の疑似乱数生成装置は、レジスタに蓄積される
値Rの初期設定を行わないと、電源投入時にRを蓄積す
るレジスタまたは、RAMの物理的な特性により、特定
の値に偏るという問題がある。また、常に、起動信号が
入力される状態にし、レジスタの値Rの更新回数を増大
させる方法は、消費電力削減の点からは好ましくない。
測できた場合には、Aと同様に、α∧RB mod Pから共
有鍵Kを生成できるので、安全な鍵配送が行うことがで
きない。従って、乱数が外部から推測できないことが要
請される。
乱数生成装置は、生産上の理由から以下の事象が起きや
すい。 (1)大量生産における生産・検査工程の簡単化のた
め、同じ構造の装置を生産する。 (2)装置の電源を切ると、物理的特性から決まる特定
の値に初期化される。 (3)複数業者へ装置使用の技術開示をすることがあ
り、構造の秘匿性は確保できない。
(1) 、R(2) 、R(3) 、…が長い周期をもつように疑似
乱数関数Fが設計されていたとしても、悪意の第3者が
装置の電源を切る、または、装置の動作回数を観測する
ことにより、予測する乱数の探索空間を狭めることがで
き、従来の方法のままでは十分な対策とはなり得ないと
いう問題がある。
Aのある時点における乱数Rを知り、その後のAによる
乱数の探索空間を狭めることが可能である。例えば、R
SA暗号により、AがBの正当性を確かめる場合を考え
る。つまり、Aが乱数RをBに送り、Bは、Bの秘密鍵
(d,N)で、 C←R∧d modN を実行し、CをAに送信し、Bの公開鍵(e,N)を用
いて、AがC∧e modNを実行し、結果が乱数Rに一致
するかを確かめる手順を考える。この手順が安全に目的
を果たせたとしても、直前のRの値から続く上記のDH
法における乱数が予測できる。
乱数R以外の第2パラメータKによって変化する関数と
し、R←F(R,K)で疑似乱数列を生成することであ
る。多くの場合、乱数関数Fは、暗号関数または、暗号
関数を複数組み合わせて構成され、Kは、暗号関数の暗
号鍵となることが多い。しかしながら、上記のように、
乱数の一時の値が外部に既知となると、前後の乱数R
(i) ,R(i+1) を観測し、R(i+1) =F(R(i) ,K)
となる関数Fの入出力から、暗号関数Fの既知平文攻撃
を構成でき、採用される暗号関数の安全性に全体の安全
性が左右され、完全な解決策を与えるに至らない。
で、上記従来の問題点を解決し、装置が全く同じ構造、
初期化され同じ状態になる、装置使用の技術開示がなさ
れているような条件下でも乱数の秘匿性を確保でき、鍵
配送や、相手認証等が安全に実行できる乱数を生成する
疑似乱数生成装置を提供することを目的とする。
置は、値Cをカウントするカウンタと、値Rを蓄積する
レジスタと、カウンタの値C及びレジスタの値Rが入力
され、乱数関数F(R,C)を出力する乱数生成回路と
を具備し、起動信号を契機として乱数生成回路から出力
される乱数関数F(R,C)によりレジスタの値Rを更
新する。
ロックが起動信号と独立に与えられ、内部クロックに基
づいて逐次的にカウンタの値Cを更新する。
部からの観測不能とし、カウンタは、内部クロックに基
づいて逐次的にカウンタの値Cを更新することにより、
外部から与えられる起動信号がカウンタの値Cを更新す
る周期と無関係に与えられる。
クロックに基づいて繰り返し動作するカウンタを自走さ
せ、クロックとは非同期な起動信号または、コマンドに
よる起動信号を契機に、カウンタ値Cを特定して、乱数
関数回路から出力される乱数関数Fにより、レジスタに
蓄積される乱数RをR←F(R,C)の手続により更新
する。
は非同期なタイミングで入力される起動信号を利用する
ことにより、外部から観測できないカウンタの値Cを用
いて、次の乱数Rを生成するため、前の乱数の値Rに加
え、カウンタの値を特定しない限り、悪意の第3者は、
その後の乱数は予測することができない。
公開し、外部から乱数更新回数を観測しても、正確にカ
ウンタの動きを外部から予測できない。カウンタの値を
特定するには、装置内部を観測するまでの工作が必要で
あり、安全である。
明する。
装置の構成を示す。同図において、図4と同一構成部分
には、同一符号を付与する。疑似乱数生成装置1は、乱
数Rを蓄積するレジスタ2、乱数関数回路3、起動信号
4に加え、内部クロック6に同期して動くカウンタ5が
具備される。
実施例を説明する。
ク6に基づいて繰り返し動作させ、内部クロック6とは
非同期な外部信号を起動信号4として、カウンタ5の値
を特定して乱数関数Fによりレジスタ2の値Rを更新す
るものである。
生成装置の動作を示すフローチャートである。
乱数関数回路3の動作は、同時並行的に行われる。つま
り、カウンタ5は、内部クロック6に同期してカウント
アップしてC←G(C)を繰り返す。ここで、関数G
は、C←C+1mod T(Tはカウンタの周期)でもよい
し、カウンタ5の値Cを2進数で一様ランダムな値をと
る非線形フィードバックレジスタ構成でもよく、取り得
る数値の変動幅(または、2進数表現時のハミング距
離)がランダムに変動してもよい(ステップ101)。
テップ102)、乱数生成回路3は、レジスタ2の値R
とその時点のカウンタ5の値Cの値から乱数関数F
(R,C)を生成し、この乱数関数でレジスタ2の値R
を更新する。
することが重要であり、カウンタ5の値Cが取り得る値
の個数をTとした場合、予め起動信号4をL回起動して
おくと、T∧L通りの探索空間に広げることができる。
使う疑似乱数の前に予め起動信号をL回起動しておく
と、T∧L通りの探索空間に広げることができる。
似乱数が直接外部に漏れることがあっても起動信号4を
L回起動してから疑似乱数を使用することにより、T∧
L通りの探索空間に広げることができる。
いて、第2の実施例を説明する。
セッサ等によるプログラムによる逐次処理による場合に
は、カウンタ5と乱数生成回路3の動作は同時並行に行
うことができない。このため、カウンタ5の値を逐次的
に更新するものである。マイクロプロセッサを用いる場
合には、起動信号4としては、コマンドにより契機信号
が入力されるものとする。
生成装置の動作を示すフローチャートである。
力されない限り、内部クロック6に同期してカウントア
ップC←G(C)を繰り返す(ステップ201)。外部
からの起動信号4が入力された場合に限り(ステップ2
02)、乱数関数回路3は、レジスタ2の値Rとその時
点のカウンタ5の値Cから乱数関数F(R,C)を生成
し、この乱数関数によりレジスタ2の値Rを更新する
(R←F(R,C))。
6と独立に発生することが重要であり、前述の第1の実
施例と同じ探索空間に広げる効果がある。
行う場合の有効な手段として説明した場合と同様に、疑
似乱数関数Fは、第2パラメータCの他に第3パラメー
タKを入力して導入し、R←F(R,C,K)とするこ
ともできる。
ロック6に基づいて繰り返し動作するカウンタ5と、ク
ロックとは非同期な外部からの起動信号による手段によ
り仮に以下の条件が与えられても、 (1)装置が全く同じ構造: (2)初期化され、同じ状態になる: (3)装置使用の技術開示: カウンタ5の取り得る場合の数Tと使用前の乱数更新回
数Lにより探索空欄をT∧L倍に広げることができ、十
分な対策となる。
知ることにより、その後の乱数の探索空間を狭めること
が可能であったが、上記に実施例によれば、レジスタ2
の乱数の更新を適当に行うことで、探索空間をT∧L倍
に広げることができる。
く同じ構造、初期化され同じ状態になる、装置使用の技
術開示がなされているような条件下でも、探索空間を広
げることにより、乱数の秘匿性を確保でき、鍵配送や、
相手認証等が安全に実行できる。
である。
作を占めるフローチャートである。
作を示すフローチャートである。
ャートである。
Claims (3)
- 【請求項1】 値Cをカウントするカウンタと、 値Rを蓄積するレジスタと、 該カウンタの値C及び該レジスタの値Rが入力され、乱
数関数F(R,C)を出力する乱数関数回路とを具備
し、 起動信号を契機として該乱数生成部から出力される該乱
数関数F(R,C)により該レジスタの値Rを更新する
ことを特徴とする疑似乱数生成装置。 - 【請求項2】 前記カウンタは、 内部クロックが前記起動信号と独立に与えられ、該内部
クロックに基づいて逐次的に前記カウンタの値Cを更新
する請求項1記載の疑似乱数生成装置。 - 【請求項3】 前記内部クロックは、外部からの観測不
能とし、 前記カウンタは、前記内部クロックに基づいて逐次的に
カウンタの値Cを更新することにより、外部から与えら
れる前記起動信号が前記カウンタの値Cを更新する周期
と無関係に与えられる請求項1記載の疑似乱数生成装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10298894A JP3218552B2 (ja) | 1994-05-17 | 1994-05-17 | 疑似乱数生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10298894A JP3218552B2 (ja) | 1994-05-17 | 1994-05-17 | 疑似乱数生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07311674A true JPH07311674A (ja) | 1995-11-28 |
JP3218552B2 JP3218552B2 (ja) | 2001-10-15 |
Family
ID=14342092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10298894A Expired - Lifetime JP3218552B2 (ja) | 1994-05-17 | 1994-05-17 | 疑似乱数生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3218552B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052474A1 (fr) * | 2000-01-14 | 2001-07-19 | Matsushita Electric Industrial Co., Ltd. | Dispositif de communication a authentification et systeme de communication a authentification |
JP2001306401A (ja) * | 2000-01-14 | 2001-11-02 | Matsushita Electric Ind Co Ltd | 認証通信装置及び認証通信システム |
JP2005185375A (ja) * | 2003-12-24 | 2005-07-14 | Olympia:Kk | 遊技機及び遊技機における乱数発生方法並びにプログラム |
JP2009512930A (ja) * | 2005-10-19 | 2009-03-26 | エヌエックスピー ビー ヴィ | 疑似乱数の生成方法 |
JP2009259013A (ja) * | 2008-04-17 | 2009-11-05 | Nec Electronics Corp | 擬似乱数生成装置 |
-
1994
- 1994-05-17 JP JP10298894A patent/JP3218552B2/ja not_active Expired - Lifetime
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052474A1 (fr) * | 2000-01-14 | 2001-07-19 | Matsushita Electric Industrial Co., Ltd. | Dispositif de communication a authentification et systeme de communication a authentification |
JP2001306401A (ja) * | 2000-01-14 | 2001-11-02 | Matsushita Electric Ind Co Ltd | 認証通信装置及び認証通信システム |
US7529938B2 (en) | 2000-01-14 | 2009-05-05 | Panasonic Corporation | Method, apparatus and system for performing authentication according to challenge-response protocol using scrambled access information |
JP4713745B2 (ja) * | 2000-01-14 | 2011-06-29 | パナソニック株式会社 | 認証通信装置及び認証通信システム |
JP2005185375A (ja) * | 2003-12-24 | 2005-07-14 | Olympia:Kk | 遊技機及び遊技機における乱数発生方法並びにプログラム |
JP2009512930A (ja) * | 2005-10-19 | 2009-03-26 | エヌエックスピー ビー ヴィ | 疑似乱数の生成方法 |
JP2009259013A (ja) * | 2008-04-17 | 2009-11-05 | Nec Electronics Corp | 擬似乱数生成装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3218552B2 (ja) | 2001-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6987853B2 (en) | Method and apparatus for generating a group of character sets that are both never repeating within certain period of time and difficult to guess | |
Eastlake 3rd et al. | Randomness requirements for security | |
KR101527226B1 (ko) | 시간 및 이벤트 기반의 일회용 비밀번호 | |
EP1873671B2 (en) | A method for protecting IC Cards against power analysis attacks | |
US6104810A (en) | Pseudorandom number generator with backup and restoration capability | |
US10142103B2 (en) | Hardware assisted fast pseudorandom number generation | |
US6275586B1 (en) | Cryptographically secure pseudo random number generator | |
EP0534420A2 (en) | A method for generating public and private key pairs using a passphrase | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
US20060004829A1 (en) | Rolling keys | |
JPH10322327A (ja) | 暗号通信システム | |
JP2014075082A (ja) | 乱数生成器および乱数生成方法 | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
US6061703A (en) | Pseudorandom number generator with normal and test modes of operation | |
JPH07311674A (ja) | 疑似乱数生成装置 | |
Eastlake 3rd et al. | Rfc 4086: randomness requirements for security | |
JP2000242470A (ja) | 乱数生成装置および方法および記録媒体 | |
JP3606418B2 (ja) | 乱数生成装置 | |
JP3711821B2 (ja) | 素数生成方法及び装置及び素数生成プログラムを格納した記憶媒体 | |
WO2022224022A1 (en) | Systems and methods of physically unclonable function (puf)-based key derivation function | |
JP2001005384A (ja) | 乱数生成方法 | |
JP2007251390A (ja) | 半導体集積回路 | |
JPH09106445A (ja) | 情報記録媒体のキー変更方法および情報記録媒体 | |
EP4366232A1 (en) | Secure and fast bit unpacking for dilithium | |
JPH07121107A (ja) | 鍵生成方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070810 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080810 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080810 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090810 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090810 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |