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
Application number
JP6102988A
Other languages
English (en)
Other versions
JP3218552B2 (ja
Inventor
Hikari Morita
光 森田
Masayuki Abe
正幸 阿部
Masao Aoyama
政夫 青山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10298894A priority Critical patent/JP3218552B2/ja
Publication of JPH07311674A publication Critical patent/JPH07311674A/ja
Application granted granted Critical
Publication of JP3218552B2 publication Critical patent/JP3218552B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明の目的は、種々の条件下でも乱数の秘
匿性を確保でき、鍵配送や、相手認証等が安全に実行で
きる乱数を生成する疑似乱数生成装置を提供することで
ある。 【構成】 本発明の疑似乱数生成装置1は、値Cをカウ
ントするカウンタ5と、値Rを蓄積するレジスタ2と、
カウンタ5の値C及びレジスタ2の値Rが入力され、乱
数関数F(R,C)を出力する乱数関数回路3とを具備
し、起動信号を契機として乱数関数回路3から出力され
る乱数関数F(R,C)によりレジスタ2の値Rを更新
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、疑似乱数生成装置に係
り、特に、暗号通信、鍵配送、相手認証等で必要となる
乱数を生成する疑似乱数生成装置に関する。
【0002】近年、2者間で通信において、相互に安全
な鍵配送、相手認証等を行う端末や装置等のシステム中
に内蔵される疑似乱数生成装置は、従来から求められて
いる処理の再現性、計算機の資源のコンパクト化に加
え、外部からの乱数値の類推が不可能な安全性の高さが
求められている。
【0003】
【従来の技術】鍵配送、相手認証等では、外部から推測
できない安全な乱数が求められている。一般の乱数につ
いては、KNUTH著:『準数値算法/乱数』(サイエ
ンス社刊,p3)で紹介されているように、処理の正当
性の再現性、計算機資源のコンパクト化(メモリ削減)
の要請から、関数を使った乱数生成法が利用される。
【0004】例えば、関数Fが初期値R(0) より順番に
乱数列R(1) 、R(2) 、R(3) 、…を生成する。個々
に、乱数列の()内の添字は、乱数列Rの順番を示すも
ので、R(i+1) =F(R(i) )(但し、i≧0、整数)
なる関係があるとする。初期値が決まると全ての乱数列
が決まるので、理想的な乱数列とは区別し、乱数列R(0
) 、R(1) 、R(2) 、R(3) 、…を疑似乱数列と呼び、
Fは疑似乱数関数と呼ぶ。
【0005】上記の乱数生成法における課題は、|X|
がXを取りうる全ての値の個数とすると、R(i+1) =F
(R(i) )で定義される疑似乱数列の周期が上限の|R
|にいかに近いかということと、本来の乱数生成の要請
である、値の分布が一様にばらつくかどうかということ
である。
【0006】図4は、従来の疑似乱数生成装置のブロッ
ク図である。同図に示す疑似乱数生成装置1は、レジス
タ2及び乱数関数回路3より構成される。レジスタ2
は、値Rが設定され、外部から起動信号4が入力される
毎に、乱数生成回路3から出力される値Fによりレジス
タ2の蓄積値Rを更新し、レジスタ2は、その値F
(R)を保持する。ここで、レジスタ2の値Rの初期設
定をしなくてもよいが、多くの場合、電源投入時に値R
を蓄積するレジスタ2または、RAMの物理的な特性に
より特定値に偏る。また、常に起動信号4が発生する状
態にし、値Rの更新回数を増大させる方法もある。
【0007】図5は、従来の疑似乱数生成装置の動作を
示すフローチャートである。疑似乱数生成装置1は、外
部から起動信号4が入力されるまで、待機し、起動信号
4が入力されると(ステップ1)、レジスタの疑似乱数
RがF(R)で更新される(ステップ2)。
【0008】また、鍵配送で代表的なDH法(池野、小
山著:『現代暗号理論』、電子情報通信学会間、pp.
175−177)をAとBの2者間で行う場合、Aは、
A、Bは、RB なる乱数を生成し、Aからα∧RA mod
P、Bからα∧RB mod P(なお、X∧Yは、XをY
乗することを表す。Xmod Yは、XをYで除した余り)
を相手に送信する。この結果、両者で共通鍵K=α∧
(RA B )mod Pを共有する。このとき、悪意の第3
者が、α∧RA mod P、α∧RB mod Pなる通信データ
を入手し、システムパラメータのα、Pを知っても、共
有鍵Kを生成することはできない。この方法は、Aまた
は、Bにおいて、システムに内蔵される疑似乱数装置を
用いる。
【0009】
【発明が解決しようとする課題】しかしながら、図4に
示す従来の疑似乱数生成装置は、レジスタに蓄積される
値Rの初期設定を行わないと、電源投入時にRを蓄積す
るレジスタまたは、RAMの物理的な特性により、特定
の値に偏るという問題がある。また、常に、起動信号が
入力される状態にし、レジスタの値Rの更新回数を増大
させる方法は、消費電力削減の点からは好ましくない。
【0010】さらに、DH法は、第3者が乱数RA を予
測できた場合には、Aと同様に、α∧RB mod Pから共
有鍵Kを生成できるので、安全な鍵配送が行うことがで
きない。従って、乱数が外部から推測できないことが要
請される。
【0011】一方、一般にシステム中に内蔵される疑似
乱数生成装置は、生産上の理由から以下の事象が起きや
すい。 (1)大量生産における生産・検査工程の簡単化のた
め、同じ構造の装置を生産する。 (2)装置の電源を切ると、物理的特性から決まる特定
の値に初期化される。 (3)複数業者へ装置使用の技術開示をすることがあ
り、構造の秘匿性は確保できない。
【0012】この結果、例え、疑似乱数列R(0) 、R
(1) 、R(2) 、R(3) 、…が長い周期をもつように疑似
乱数関数Fが設計されていたとしても、悪意の第3者が
装置の電源を切る、または、装置の動作回数を観測する
ことにより、予測する乱数の探索空間を狭めることがで
き、従来の方法のままでは十分な対策とはなり得ないと
いう問題がある。
【0013】また、悪意の第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
法における乱数が予測できる。
【0014】これに対する有効な手段は、乱数関数Fが
乱数R以外の第2パラメータKによって変化する関数と
し、R←F(R,K)で疑似乱数列を生成することであ
る。多くの場合、乱数関数Fは、暗号関数または、暗号
関数を複数組み合わせて構成され、Kは、暗号関数の暗
号鍵となることが多い。しかしながら、上記のように、
乱数の一時の値が外部に既知となると、前後の乱数R
(i) ,R(i+1) を観測し、R(i+1) =F(R(i) ,K)
となる関数Fの入出力から、暗号関数Fの既知平文攻撃
を構成でき、採用される暗号関数の安全性に全体の安全
性が左右され、完全な解決策を与えるに至らない。
【0015】本発明は、上記の点に鑑みなされたもの
で、上記従来の問題点を解決し、装置が全く同じ構造、
初期化され同じ状態になる、装置使用の技術開示がなさ
れているような条件下でも乱数の秘匿性を確保でき、鍵
配送や、相手認証等が安全に実行できる乱数を生成する
疑似乱数生成装置を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明の疑似乱数生成装
置は、値Cをカウントするカウンタと、値Rを蓄積する
レジスタと、カウンタの値C及びレジスタの値Rが入力
され、乱数関数F(R,C)を出力する乱数生成回路と
を具備し、起動信号を契機として乱数生成回路から出力
される乱数関数F(R,C)によりレジスタの値Rを更
新する。
【0017】また、本発明の上記のカウンタは、内部ク
ロックが起動信号と独立に与えられ、内部クロックに基
づいて逐次的にカウンタの値Cを更新する。
【0018】また、本発明の上記の内部クロックは、外
部からの観測不能とし、カウンタは、内部クロックに基
づいて逐次的にカウンタの値Cを更新することにより、
外部から与えられる起動信号がカウンタの値Cを更新す
る周期と無関係に与えられる。
【0019】即ち、本発明の疑似乱数生成装置は、内部
クロックに基づいて繰り返し動作するカウンタを自走さ
せ、クロックとは非同期な起動信号または、コマンドに
よる起動信号を契機に、カウンタ値Cを特定して、乱数
関数回路から出力される乱数関数Fにより、レジスタに
蓄積される乱数RをR←F(R,C)の手続により更新
する。
【0020】
【作用】本発明は、カウンタを起動する内部クロックと
は非同期なタイミングで入力される起動信号を利用する
ことにより、外部から観測できないカウンタの値Cを用
いて、次の乱数Rを生成するため、前の乱数の値Rに加
え、カウンタの値を特定しない限り、悪意の第3者は、
その後の乱数は予測することができない。
【0021】従って、装置使用、初期値等の内部情報が
公開し、外部から乱数更新回数を観測しても、正確にカ
ウンタの動きを外部から予測できない。カウンタの値を
特定するには、装置内部を観測するまでの工作が必要で
あり、安全である。
【0022】
【実施例】以下、図面と共に本発明の実施例を詳細に説
明する。
【0023】図1は、本発明の一実施例の疑似乱数生成
装置の構成を示す。同図において、図4と同一構成部分
には、同一符号を付与する。疑似乱数生成装置1は、乱
数Rを蓄積するレジスタ2、乱数関数回路3、起動信号
4に加え、内部クロック6に同期して動くカウンタ5が
具備される。
【0024】[第1の実施例]上記の構成により第1の
実施例を説明する。
【0025】第1の実施例は、カウンタ5を内部クロッ
ク6に基づいて繰り返し動作させ、内部クロック6とは
非同期な外部信号を起動信号4として、カウンタ5の値
を特定して乱数関数Fによりレジスタ2の値Rを更新す
るものである。
【0026】図2は、本発明の第1の実施例の疑似乱数
生成装置の動作を示すフローチャートである。
【0027】装置の動作が開始されると、カウンタ5と
乱数関数回路3の動作は、同時並行的に行われる。つま
り、カウンタ5は、内部クロック6に同期してカウント
アップしてC←G(C)を繰り返す。ここで、関数G
は、C←C+1mod T(Tはカウンタの周期)でもよい
し、カウンタ5の値Cを2進数で一様ランダムな値をと
る非線形フィードバックレジスタ構成でもよく、取り得
る数値の変動幅(または、2進数表現時のハミング距
離)がランダムに変動してもよい(ステップ101)。
【0028】外部からの起動信号4が入力されると(ス
テップ102)、乱数生成回路3は、レジスタ2の値R
とその時点のカウンタ5の値Cの値から乱数関数F
(R,C)を生成し、この乱数関数でレジスタ2の値R
を更新する。
【0029】起動信号4が内部クロック6と独立に発生
することが重要であり、カウンタ5の値Cが取り得る値
の個数をTとした場合、予め起動信号4をL回起動して
おくと、T∧L通りの探索空間に広げることができる。
【0030】従って、初期状態を類推できても、実際に
使う疑似乱数の前に予め起動信号をL回起動しておく
と、T∧L通りの探索空間に広げることができる。
【0031】また、上記の相手確認の場合のように、疑
似乱数が直接外部に漏れることがあっても起動信号4を
L回起動してから疑似乱数を使用することにより、T∧
L通りの探索空間に広げることができる。
【0032】[第2の実施例]次に、図1の構成に基づ
いて、第2の実施例を説明する。
【0033】第2の実施例は、装置動作がマイクロプロ
セッサ等によるプログラムによる逐次処理による場合に
は、カウンタ5と乱数生成回路3の動作は同時並行に行
うことができない。このため、カウンタ5の値を逐次的
に更新するものである。マイクロプロセッサを用いる場
合には、起動信号4としては、コマンドにより契機信号
が入力されるものとする。
【0034】図3は、本発明の第2の実施例の疑似乱数
生成装置の動作を示すフローチャートである。
【0035】カウンタ5は、外部からの起動信号4が入
力されない限り、内部クロック6に同期してカウントア
ップC←G(C)を繰り返す(ステップ201)。外部
からの起動信号4が入力された場合に限り(ステップ2
02)、乱数関数回路3は、レジスタ2の値Rとその時
点のカウンタ5の値Cから乱数関数F(R,C)を生成
し、この乱数関数によりレジスタ2の値Rを更新する
(R←F(R,C))。
【0036】本実施例では、起動信号4が内部クロック
6と独立に発生することが重要であり、前述の第1の実
施例と同じ探索空間に広げる効果がある。
【0037】なお、従来のRSA暗号により相手認証を
行う場合の有効な手段として説明した場合と同様に、疑
似乱数関数Fは、第2パラメータCの他に第3パラメー
タKを入力して導入し、R←F(R,C,K)とするこ
ともできる。
【0038】上記のように、本実施例によれば、内部ク
ロック6に基づいて繰り返し動作するカウンタ5と、ク
ロックとは非同期な外部からの起動信号による手段によ
り仮に以下の条件が与えられても、 (1)装置が全く同じ構造: (2)初期化され、同じ状態になる: (3)装置使用の技術開示: カウンタ5の取り得る場合の数Tと使用前の乱数更新回
数Lにより探索空欄をT∧L倍に広げることができ、十
分な対策となる。
【0039】また、従来は、ある時点における乱数Rを
知ることにより、その後の乱数の探索空間を狭めること
が可能であったが、上記に実施例によれば、レジスタ2
の乱数の更新を適当に行うことで、探索空間をT∧L倍
に広げることができる。
【0040】
【発明の効果】上述のように本発明によれば、装置が全
く同じ構造、初期化され同じ状態になる、装置使用の技
術開示がなされているような条件下でも、探索空間を広
げることにより、乱数の秘匿性を確保でき、鍵配送や、
相手認証等が安全に実行できる。
【図面の簡単な説明】
【図1】本発明の一実施例の疑似乱数生成装置の構成図
である。
【図2】本発明の第1の実施例の疑似乱数生成装置の動
作を占めるフローチャートである。
【図3】本発明の第2の実施例の疑似乱数生成装置の動
作を示すフローチャートである。
【図4】従来の疑似乱数生成装置のブロック図である。
【図5】従来の疑似乱数生成装置の動作を示すフローチ
ャートである。
【符号の説明】
1 疑似乱数生成装置 2 レジスタ 3 乱数関数回路 4 起動信号 5 カウンタ 6 内部クロック
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 9/10 9/12

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 値Cをカウントするカウンタと、 値Rを蓄積するレジスタと、 該カウンタの値C及び該レジスタの値Rが入力され、乱
    数関数F(R,C)を出力する乱数関数回路とを具備
    し、 起動信号を契機として該乱数生成部から出力される該乱
    数関数F(R,C)により該レジスタの値Rを更新する
    ことを特徴とする疑似乱数生成装置。
  2. 【請求項2】 前記カウンタは、 内部クロックが前記起動信号と独立に与えられ、該内部
    クロックに基づいて逐次的に前記カウンタの値Cを更新
    する請求項1記載の疑似乱数生成装置。
  3. 【請求項3】 前記内部クロックは、外部からの観測不
    能とし、 前記カウンタは、前記内部クロックに基づいて逐次的に
    カウンタの値Cを更新することにより、外部から与えら
    れる前記起動信号が前記カウンタの値Cを更新する周期
    と無関係に与えられる請求項1記載の疑似乱数生成装
    置。
JP10298894A 1994-05-17 1994-05-17 疑似乱数生成装置 Expired - Lifetime JP3218552B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 擬似乱数生成装置

Cited By (7)

* Cited by examiner, † Cited by third party
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