JP2003005953A - 乱数生成装置および乱数生成方法、並びにプログラム - Google Patents

乱数生成装置および乱数生成方法、並びにプログラム

Info

Publication number
JP2003005953A
JP2003005953A JP2001193433A JP2001193433A JP2003005953A JP 2003005953 A JP2003005953 A JP 2003005953A JP 2001193433 A JP2001193433 A JP 2001193433A JP 2001193433 A JP2001193433 A JP 2001193433A JP 2003005953 A JP2003005953 A JP 2003005953A
Authority
JP
Japan
Prior art keywords
generating means
random number
pseudo
signal generating
value
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.)
Pending
Application number
JP2001193433A
Other languages
English (en)
Inventor
Takeshi Iizuka
健 飯塚
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001193433A priority Critical patent/JP2003005953A/ja
Publication of JP2003005953A publication Critical patent/JP2003005953A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 乱数の生成出力装置における出力タイミング
に依存した出力乱数の偏りを防止した乱数生成装置およ
び方法を提供する。 【解決手段】 所定クロック(clk1)に基づいて動
作する乱数発生装置としてのPN系列発生手段に対し
て、他のクロックで動作するPN系列発生手段の発生乱
数との演算、例えば排他論理和演算を所定タイミングで
実行させて出力乱数とする。この演算により、(clk
1)に基づいて動作するPN系列発生手段の周期律上の
遷移が実行される。他クロック動作PN系列発生手段
は、複数のクロック(clk2〜clkN)から選択さ
れるクロックに基づいて制御されるため、遷移地点は毎
回異なり、PN系列発生手段の初期値、出力タイミング
が同一でも、同一の乱数が発生する可能性が低減され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、乱数生成装置およ
び乱数生成方法、並びにプログラムに関する。特に、疑
似ランダム信号をフィードバックすることにより疑似ラ
ンダム信号固有の周期性に変化を加えて同一乱数の発生
確率を低下させることを実現した乱数生成装置および乱
数生成方法、並びにプログラムに関する。
【0002】
【従来の技術】近年のネットワーク技術の進歩により、
インターネットを利用した電子商取引やオンラインショ
ッピング等のサービスが急速に広まりつつある。このよ
うなサービスにおいては、通信相手がお互いに正しい相
手であるという相互認証や、認証後に安全に情報をやり
取りするための暗号化通信が非常に重要である。この相
互認証時、或いは暗号化通信に使用する鍵生成の過程に
おいて、乱数がよく用いられる。
【0003】この乱数発生方法として、PN(Pseudo N
oise)系列等の擬似ランダム信号を利用する手法が広く
知られている。PN系列は、シフトレジスタと排他的論
理和(Exclusive OR)回路によって生成されるが、シフ
トレジスタの初期値が同じ場合には、乱数生成処理開始
後、毎回全く同じタイミングで全く同一の乱数が発生す
ることになり、相互認証時や暗号化通信に使用する鍵生
成時において、安全性が著しく損なわれてしまう。
【0004】また、乱数生成処理開始時からある一定期
間内に乱数が確定するようなシステムの場合、発生する
乱数が擬似ランダム信号の持つ周期に対してある特定の
期間内に発生する乱数のみに偏ってしまうため、総当た
り攻撃に対する耐性が低下してしまうという問題が生じ
る。
【0005】図1にシフトレジスタと排他的論理和(Ex
clusive OR)回路によって構成されるPN系列発生手段
例を示す。
【0006】図1(a)に示す例は、3ビットの乱数を
発生する周期7のPN系列発生手段例であり、シフトレ
ジスタ11,12,13の各レジスタにセットされる1
または0の値をあるタイミングで乱数値として取り出
す、
【0007】シフトレジスタ11の値は、シフトレジス
タ12に出力され、シフトレジスタ12の値は、シフト
レジスタ13に出力され、シフトレジスタ13の値は、
排他論理和演算手段14に入力され、シフトレジスタ1
1の値との排他論理和演算が実行され、その結果がシフ
トレジスタ11に入力される。これら各シフトレジスタ
間のデータ入出力は、所定のクロックタイミングに基づ
いて制御されることになる。その結果、図1(a)の構
成を持つPN系列発生手段は、図1(b)に示す7種の
値を周期的に発生することになる。
【0008】従って、シフトレジスタの初期値が同じ場
合には、乱数生成処理開始後、毎回全く同じタイミング
で全く同一の乱数が発生することになり、相互認証時や
暗号化通信に使用する鍵生成時において、安全性が著し
く損なわれてしまうという問題点が発生する。
【0009】
【発明が解決しようとする課題】本発明は、上述の問題
点に鑑みてなされたものであり、乱数生成処理におい
て、乱数生成処理開始後、毎回全く同じタイミングで出
力を行なったとしても同一の乱数が生成される可能性を
著しく低下させることを可能とする乱数生成装置および
乱数生成方法、並びにプログラムを提供することを目的
とする。
【0010】
【課題を解決するための手段】本発明の第1の側面は、
第1の疑似ランダム信号発生手段と、第2の疑似ランダ
ム信号発生手段と、前記第2の疑似ランダム信号発生手
段の出力値と、前記第1の疑似ランダム信号発生手段の
出力値との演算処理を実行する演算手段と、前記演算手
段における演算結果に基づいて取得される値を前記第1
の疑似ランダム信号発生手段の新たな設定値とし、該新
たな設定値に基づいて出力乱数を決定する構成を有する
ことを特徴とする乱数生成装置にある。
【0011】さらに、本発明の乱数生成装置の一実施態
様において、前記第1の疑似ランダム信号発生手段は、
周期の異なる複数の疑似ランダム信号発生手段によって
構成され、前記演算手段における演算処理は、前記第2
の疑似ランダム信号発生手段の出力値と、周期の異なる
複数の疑似ランダム信号発生手段各々について実行し、
該演算結果に基づいて取得される値を前記複数の疑似ラ
ンダム信号発生手段各々の新たな設定値とする構成を有
することを特徴とする。
【0012】さらに、本発明の乱数生成装置の一実施態
様において、前記第1の疑似ランダム信号発生手段は、
動作制御用のクロック信号(clk1)を入力し、該入
力クロック信号(clk1)に基づいて、設定値を周期
的に更新し、前記第2の疑似ランダム信号発生手段は、
動作制御用の複数のクロック信号(clk2〜N)から
選択されるいずれかのクロック信号を入力し、選択入力
されるクロック信号に基づいて、設定値を周期的に更新
する構成を有することを特徴とする。
【0013】さらに、本発明の乱数生成装置の一実施態
様において、前記演算手段は、排他論理和演算実行手段
であり、前記第2の疑似ランダム信号発生手段の出力値
と、前記第1の疑似ランダム信号発生手段の出力値との
各ビット各々についての排他論理和演算を実行する構成
を有することを特徴とする。
【0014】さらに、本発明の乱数生成装置の一実施態
様において、前記演算手段による、前記第2の疑似ラン
ダム信号発生手段の出力値と、前記第1の疑似ランダム
信号発生手段の出力値との演算処理を複数回実行し、前
記演算手段における複数回の演算結果に基づいて取得さ
れる値を出力乱数とする構成を有することを特徴とす
る。
【0015】さらに、本発明の第2の側面は、乱数生成
方法であり、第2の疑似ランダム信号発生手段の出力値
と、第1の疑似ランダム信号発生手段の出力値との演算
処理を実行する演算ステップと、前記演算ステップにお
ける演算結果に基づいて取得される値を前記第1の疑似
ランダム信号発生手段の新たな設定値とし、該新たな設
定値に基づいて出力乱数を決定するステップと、を有す
ることを特徴とする乱数生成方法にある。
【0016】さらに、本発明の乱数生成方法の一実施態
様において、前記第1の疑似ランダム信号発生手段は、
周期の異なる複数の疑似ランダム信号発生手段によって
構成され、前記演算ステップにおける演算処理は、前記
第2の疑似ランダム信号発生手段の出力値と、周期の異
なる複数の疑似ランダム信号発生手段各々について実行
し、該演算結果に基づいて取得される値を前記複数の疑
似ランダム信号発生手段各々の新たな設定値とすること
を特徴とする。
【0017】さらに、本発明の乱数生成方法の一実施態
様において、前記第1の疑似ランダム信号発生手段は、
動作制御用のクロック信号(clk1)を入力し、該入
力クロック信号(clk1)に基づいて、設定値を周期
的に更新し、前記第2の疑似ランダム信号発生手段は、
動作制御用の複数のクロック信号(clk2〜N)から
選択されるいずれかのクロック信号を入力し、選択入力
されるクロック信号に基づいて、設定値を周期的に更新
することを特徴とする。
【0018】さらに、本発明の乱数生成方法の一実施態
様において、前記演算ステップは、前記第2の疑似ラン
ダム信号発生手段の出力値と、前記第1の疑似ランダム
信号発生手段の出力値との各ビット各々についての排他
論理和演算を実行するステップであることを特徴とす
る。
【0019】さらに、本発明の乱数生成方法の一実施態
様において、前記演算ステップは、前記第2の疑似ラン
ダム信号発生手段の出力値と、前記第1の疑似ランダム
信号発生手段の出力値との演算処理を複数回実行する処
理であり、前記演算ステップにおける複数回の演算結果
に基づいて取得される値を出力乱数とすることを特徴と
する。
【0020】さらに、本発明の第3の側面は、乱数生成
処理をコンピュータ・システム上で実行せしめるプログ
ラムであって、第2の疑似ランダム信号発生手段の出力
値と、第1の疑似ランダム信号発生手段の出力値との演
算処理を実行する演算ステップと、前記演算ステップに
おける演算結果に基づいて取得される値を前記第1の疑
似ランダム信号発生手段の新たな設定値とし、該新たな
設定値に基づいて出力乱数を決定するステップと、を有
することを特徴とするプログラムにある。
【0021】なお、本発明のプログラムは、例えば、様
々なプログラム・コードを実行可能な汎用コンピュータ
・システムに対して、コンピュータ可読な形式で提供す
る媒体、例えば、CDやFD、MOなどの記憶媒体に格
納されて提供可能であり、またネットワークなどの伝送
媒体などによっても提供可能なプログラムである。
【0022】このようなプログラムは、プロセッサ制御
の下でプログラムの読み取りに基づき、システムの有す
る各種機能の実行を規程するとともに、システム上の協
働的作用を発揮するものであり、本発明の他の側面と同
様の作用効果を得ることができるものである。
【0023】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。なお、本明細
書においてシステムとは、複数の装置の論理的集合構成
であり、各構成の装置が同一筐体内にあるものには限ら
ない。
【0024】
【発明の実施の形態】本発明の乱数生成装置および方法
の実施例について、以下、図面を参照しながら説明す
る。図2は、本発明の乱数生成装置の第1の実施例構成
を示すブロック図である。
【0025】図2に示す実施例構成では、乱数発生源と
なる第1の疑似ランダム信号発生手段として、それぞれ
周期の異なる4系統の疑似ランダム信号(PN系列)発
生装置を用いる。また、乱数発生源となるPN系列発生
手段に供給されるクロック(clk1)とは別周波数の
クロック(cll2〜clkN)によって疑似ランダム
信号(PN系列)を生成する第2の疑似ランダム信号発
生手段を持つ。図2に示す乱数生成装置の構成について
説明する。
【0026】図2に示す乱数生成装置は、それぞれ周期
の異なるPN系列1〜4を発生するための4つのPN系
列1〜4発生手段101(a)〜(d)を有する。これ
ら4つのPN系列発生手段101(a)〜(d)に対し
ては、同一のクロック(clk1)が供給され、同一の
クロックタイミングでのシフト処理が実行されることに
なる。ただし、各PN系列発生手段101(a)〜
(d)の周期は異なるものを採用可能である。
【0027】さらに、PN系列5発生手段112は、ス
イッチ手段111によって選択的に入力されるクロック
(clk2〜N)によって動作するPN系列発生手段で
ある。
【0028】PN系列5発生手段112からの出力は、
タイミング発生手段114の決定するタイミングで、ゲ
ート回路113から、排他論理和演算手段103(a)
〜(d)に入力される。
【0029】排他論理和演算手段103(a)〜(d)
は、PN系列5発生手段112の出力値と、各PN系列
発生手段101(a)〜(d)の出力値との排他論理和
演算を実行し、演算結果をゲート回路113と同一のタ
イミングでゲートを開くゲート回路102(a)〜
(d)を介して各PN系列発生手段101(a)〜
(d)に入力し、排他論理和演算の結果として出力され
る結果値を新たな各PN系列発生手段101(a)〜
(d)の設定値とする。
【0030】また、タイミング発生手段114の決定す
るタイミングで、ゲート回路115が開き、そのタイミ
ングにおいて各PN系列発生手段101(a)〜(d)
に設定された値が乱数として出力されることになる。こ
の時出力される乱数のビット値は、各PN系列発生手段
101(a)〜(d)の出力する乱数のビット数の総数
からなるビット数を持つ乱数として出力される。なお、
さらに出力ビット数調整のための演算処理を実行しても
よい。
【0031】図3にPN系列5発生手段112の出力値
と、各PN系列発生手段101(a)〜(d)の出力値
との排他論理和演算を実行して、結果値を各PN系列発
生手段101(a)〜(d)に入力する詳細構成図を示
す。
【0032】図3は、PN系列5発生手段112と、各
PN系列発生手段101(a)との関係を示している
が、その他各PN系列発生手段101(b)〜(d)と
の処理も同様である。図の例では、PN系列5発生手段
112は4段のシフトレジスタ構成を持ち周期15のP
N系列発生手段として構成され、PN系列発生手段10
1(a)は3段のシフトレジスタ構成を持ち周期7のP
N系列発生手段として構成されている。
【0033】このような構成において、図2に示すタイ
ミング発生手段114において決定されるタイミングで
各ゲート回路102,113が開き、図3に示すよう
に、PN系列5発生手段112のシフトレジスタ格納値
(x3,x2,x1)が排他論理和演算手段103に出
力され、PN系列発生手段101(a)のシフトレジス
タ出力値(y3,y2,y1)排他論理和演算が実行さ
れ、その結果値がPN系列発生手段101(a)のシフ
トレジスタに新たに格納されることになる。この処理が
他のPN系列発生手段101(b)〜(d)においても
実行される。
【0034】このように各PN系列発生手段101
(a)〜(d)には、別のPN系列発生手段の発生した
値に基づいて、各PN系列発生手段101(a)〜
(d)に入力されるクロックタイミング(clk1)と
は関連付けできない値が格納されることになる。
【0035】図4に上述の処理を具体的数値によって説
明する図を示す。PN系列5発生手段112は周期15
であり、(x4,x3,x2,x1)の値として(10
00)から(0001)の値を、シフトレジスタに図2
のスイッチ手段によって選択されたクロック(clk2
〜clkN)に基づく周期で繰り返し設定する。また、
PN系列1発生手段101(a)は周期7であり、(y
3,y2,y1)の値として(100)から(001)
の値を、入力されるクロック(clk1)に基づく周期
で繰り返しシフトレジスタに値を設定する。
【0036】この状況において、例えば、図2に示すタ
イミング発生手段114において決定されるタイミング
がPN系列5発生手段112に、(0,1,1,0)の
値が設定されているときであり、このときのPN系列1
発生手段101(a)には(1,1,1)が格納されて
いたとする。
【0037】この時、PN系列5発生手段112に、
(0,1,1,0)の下位3ビットと、PN系列1発生
手段101(a)には(1,1,1)との排他論理和演
算(exOR)が実行される。その結果は、(0,0,
1)であり、結果値(0,0,1)が新たにPN系列1
発生手段101(a)のシフトレジスタに格納されるこ
とになる。
【0038】すなわち、図4右下に示すように(y3,
y2,y1)は、クロック(clk1)で一定周期に順
次、値を図の円の右回りに規則的に変更する処理を繰り
返していたが、タイミング発生手段の決定タイミングに
おいて、PN系列5発生手段112から出力される値と
の排他論理和演算が実行されることにより、(111)
→(001)という予測不能な遷移を発生させることに
なる。
【0039】つまり、乱数発生源となるPN系列発生手
段に対して、別クロックで動作するPN系列発生手段か
ら出力されたPN系列を作用させることで乱数発生源で
ある各PN系列の持つ周期律を乱すことにより、出力タ
イミングによって規則性を持たない乱数を発生させるこ
とが可能となり、乱数そのものの安全性を高めることが
可能となる。
【0040】この周期律が乱れるイメージを図5を用い
て説明する。図5中に示す円はPN系列の1周期を表し
ている。PN系列の初期値で表される点をAとすると、
通常はPN系列の持つ周期に従って円を一周することに
なる(図5(a))。
【0041】乱数生成処理開始時からある一定期間内に
乱数が確定するようなシステムの場合、図5(b)に示
すようにPN系列の周期に対して乱数決定までの期間
(図中B地点)が短い場合には、発生する乱数が周期に
対してある特定の期間内(図中AB間)に発生する乱数
のみに偏ってしまい、例えば不正な第三者がこの範囲内
の出力可能性のある値を総当たりに発生させて暗号鍵を
生成すると、やがては正規な暗号鍵が生成される可能性
がある。
【0042】ところが、上述のようにこのPN系列に他
のPN系列に基づく処理を実行すると、例えば図5
(c)に示すように突然周期律上の全く別の地点に遷移
した乱数値を出力することが可能となる。(図中B→
C)。このような構成により、生成される乱数を予測す
ることは非常に困難となり、不正な第三者による攻撃を
効果的に防止することが可能となる。
【0043】図2に示したように、PN系列5発生手段
は、clk2〜clkNから選択される異なるクロック
に基づいて制御されるため、周期律のどの地点に遷移す
るかは、選択されているクロックによって、図5
(c)、(d)に示すように毎回異なる。これにより、
例えば、PN系列発生手段101(a)〜(d)に設定
される初期値が同じであり、乱数生成処理開始から出力
までの時間が同一となった場合でも、同一の乱数が発生
するという可能性が著しく低減される。
【0044】周期が異なる4つのPN系列を組み合わせ
て乱数を発生させる場合のイメージを図6に示す。各円
の大きさの違いは、PN系列の周期の違いを表してい
る。例えば最も小さい円から周期7、周期15、周期3
1、周期63などである。これらの各々が、図2に示す
PN系列発生手段101(a)〜(d)に相当する。
【0045】乱数生成開始時(図中A)からの乱数決定
タイミングが全く同じであったとしても、各PN系列発
生手段101(a)〜(d)に作用させるPN系列(図
2に示すPN系列5発生手段112)が毎回ランダムに
変化することになり、各PN系列の周期律において遷移
先(図中の矢印の示す先)は全く異なるため、毎回同じ
乱数が発生してしまうという可能性は殆どない。
【0046】以上、説明したように、本発明の乱数生成
装置および乱数生成方法によれば、所定クロック(cl
k1)に基づいて動作する乱数発生装置としてのPN系
列発生手段に対して、他のクロック(clK2〜clK
Nのいずれか)で動作するPN系列発生手段の発生乱数
との演算、例えば排他論理和演算を所定タイミングで実
行させて出力乱数とすることにより、(clk1)に基
づいて動作するPN系列発生手段の周期律上の遷移が実
行され、PN系列発生手段の初期値、出力タイミングが
同一でも、同一の乱数が発生する可能性が低減される。
【0047】なお、上述した例では、第1の疑似ランダ
ム信号発生手段として、4つのPN系列発生手段101
(a)〜(d)を用いた構成例を説明したが、これらの
PN系列発生手段101の数は上述の例に限定されるも
のではなく任意数の乱数発生手段を設定可能である。
【0048】さらに、第2の疑似ランダム信号発生手段
であるPN系列5発生手段112の出力と第1の疑似ラ
ンダム信号発生手段としての4つのPN系列発生手段1
01(a)〜(d)との演算によって、一度PN系列発
生手段101(a)〜(d)の周期律が乱れた後は、P
N系列発生手段101(a)〜(d)各PN系列間の位
相に全く相関性がなくなるので、同じ乱数を発生する確
率は、さらに低くなる。このように、複数のPN系列発
生手段101(a)〜(d)に他のPN系列5発生手段
112の出力との演算によって一度周期律を乱した後、
さらに、乱数値の出力タイミングを設定して乱数の出力
を実行する処理手順を図7の処理フローを用いて説明す
る。
【0049】まず、ステップ101(ST101)で乱
数生成処理を開始する。この時点においては、各PN系
列発生手段101(a)〜(d)のPN系列は初期値か
らスタートすることになる。次にST102で乱数決定
のためのタイミングを生成し、PN系列5発生手段11
2から出力される値と各PN系列発生手段101(a)
〜(d)の設定値との排他論理和演算を実行する。この
時点で、各PN系列発生手段101(a)〜(d)にお
いて生成される乱数は、さらなる安全性を考慮して出力
しない(ST103)。
【0050】ST102のPN系列5発生手段112か
ら出力される値と各PN系列発生手段101(a)〜
(d)の設定値との排他論理和演算により、各PN系列
発生手段101(a)〜(d)の周期律が乱れた後、S
T104でもう一度乱数決定のためのタイミングを生成
し、PN系列5発生手段112から出力される値と各P
N系列発生手段101(a)〜(d)の設定値との排他
論理和演算を実行する。その結果出力された各PN系列
を乱数として出力する(ST105)。
【0051】上述の手法により、乱数生成処理開始後、
全く同一のタイミングで2パターンの乱数を生成した場
合のイメージを図8に示す。ST103の時点で、各P
N系列発生手段に作用させる別系統のPN系列がばらつ
く。図8(a)、(b)の点線による遷移が、図7のス
テップ102(ST102)におけるタイミング生成お
よび演算処理による遷移を示している。さらに、その
後、図7のステップ104(ST104)における2回
目のタイミング生成および演算処理による遷移は、図8
(a)、(b)の実線による遷移であり、その結果とし
て各PN系列発生手段101(a)〜(d)に設定さ
れ、出力される[○]印の値が乱数値として出力される
値となる。乱数発生源となる各PN系列における周期律
の乱れ方が毎回異なるため、ST105で発生する乱数
が全く同一になる確率は格段に低くなる。
【0052】上述したように、本実施例の乱数生成装置
および乱数生成方法によれば、所定クロック(clk
1)に基づいて動作する乱数発生装置としてのPN系列
発生手段に対して、他のクロックで動作するPN系列発
生手段の発生乱数との演算、例えば排他論理和演算を所
定タイミングで実行させる処理を複数回繰り返して実行
して出力乱数を取得することにより、(clk1)に基
づいて動作するPN系列発生手段の周期律上の遷移が複
数回実行されることになり、PN系列発生手段の初期
値、出力タイミングが同一でも、同一の乱数が発生する
可能性が著しく低減される。
【0053】本方式の乱数生成装置を認証処理に適用し
た例を図9を用いて説明する。図9に示すA,Bは例え
ばインターネット等の通信手段を介して通信を行なうエ
ンティテイであり、通信機能を有するデータ処理装置、
例えばPC,携帯電話、モバイル端末等を用いて通信を
行なうとする。エンティテイBの通信端末には、図2に
示す乱数生成装置が構成されている。
【0054】Bが認証要求をAから受信すると、Bは図
2に示す乱数生成装置において、上述した処理(図9右
側に示す処理)を実行して乱数を生成し、生成した乱
数:RをエンティテイAに送信する。
【0055】乱数:Rを受信したAは、A,Bにおいて
共有する共通鍵Kを用いて受信した乱数:Rの暗号化処
理(ST111)を実行し、乱数の暗号化データ:En
c(R,K)を生成してBに送信する。
【0056】乱数の暗号化データ:Enc(R,K)を
受信したBは、A,Bにおいて共有する共通鍵Kを用い
て受信した乱数の暗号化データ:Enc(R,K)の復
号処理(ST121)を実行し、自己の送信した乱数
と、復号によって得られた乱数が一致しているか否かを
判定(ST122)する。一致していれば、AB間の認
証が成立し、一致していない場合は認証不成立とする。
【0057】このような認証処理において、たとえBの
生成する乱数が同一タイミングで生成されたとしても、
上述したように異なる乱数が出力されることになり、認
証処理毎に新たな乱数を用いた認証が実行されることに
なり、よりセキュアな認証処理、通信処理が実行される
ことになる。
【0058】次に、乱数決定のためのタイミングを1以
上の任意回数(n)として設定し、n回のタイミング生
成および他のPN系列発生手段からの出力値との演算処
理を実行する手順について図10のフローを参照して説
明する。図10に示す乱数発生処理は、タイミング生成
回数を任意回数とする不確定要素を取り入れた処理であ
る。
【0059】まず、ステップ201(ST201)で乱
数生成処理を開始する。この時点においては、各PN系
列発生手段101(a)〜(d)のPN系列は初期値か
らスタートすることになる。次にST202で乱数決定
のためのタイミング生成回数nを決定する。nは1以
上、任意の数が設定可能である。この設定数は、図2に
示すタイミング発生手段114内の記憶手段に格納す
る。
【0060】次にST203で乱数決定のためのタイミ
ングを生成し、PN系列5発生手段112から出力され
る値と各PN系列発生手段101(a)〜(d)の設定
値との排他論理和演算を実行する。
【0061】次に、ST204で、ST202で設定し
た処理回数n回のタイミング生成処理がなされたか否か
を判定する。処理回数<nである場合は、ST203の
処理を繰り返し実行する。すなわち、再度、乱数決定の
ためのタイミングを生成し、PN系列5発生手段112
から出力される値と各PN系列発生手段101(a)〜
(d)の設定値との排他論理和演算を実行する。ST2
04において、処理回数=nと判定された場合は、ステ
ップ205(ST205)に進み、各PN系列発生手段
101(a)〜(d)からの出力を乱数として出力す
る。
【0062】この手法によると、タイミング生成時に乱
数発生源となる各PN系列発生手段に作用させるPN系
列の他に、ST202で決定されるタイミング生成回数
によっても各PN系列の周期律の乱れ方が変化するた
め、同一の乱数が発生する確率をより一層低くすること
が可能となる。
【0063】以上、特定の実施例を参照しながら、本発
明について詳解してきた。しかしながら、本発明の要旨
を逸脱しない範囲で当業者が該実施例の修正や代用を成
し得ることは自明である。すなわち、例示という形態で
本発明を開示してきたのであり、限定的に解釈されるべ
きではない。本発明の要旨を判断するためには、冒頭に
記載した特許請求の範囲の欄を参酌すべきである。
【0064】なお、明細書中において説明した一連の処
理はハードウェア、またはソフトウェア、あるいは両者
の複合構成によって実行することが可能である。ソフト
ウェアによる処理を実行する場合は、処理シーケンスを
記録したプログラムを、専用のハードウェアに組み込ま
れたコンピュータ内のメモリにインストールして実行さ
せるか、あるいは、各種処理が実行可能な汎用コンピュ
ータにプログラムをインストールして実行させることが
可能である。
【0065】例えば、プログラムは記録媒体としてのハ
ードディスクやROM(Read OnlyMemory)に予め記録し
ておくことができる。あるいは、プログラムはフロッピ
ー(登録商標)ディスク、CD−ROM(Compact Disc
Read Only Memory),MO(Magneto optical)ディスク,
DVD(Digital Versatile Disc)、磁気ディスク、半導
体メモリなどのリムーバブル記録媒体に、一時的あるい
は永続的に格納(記録)しておくことができる。このよ
うなリムーバブル記録媒体は、いわゆるパッケージソフ
トウエアとして提供することができる。
【0066】なお、プログラムは、上述したようなリム
ーバブル記録媒体からコンピュータにインストールする
他、ダウンロードサイトから、コンピュータに無線転送
したり、LAN(Local Area Network)、インターネット
といったネットワークを介して、コンピュータに有線で
転送し、コンピュータでは、そのようにして転送されて
くるプログラムを受信し、内蔵するハードディスク等の
記録媒体にインストールすることができる。
【0067】
【発明の効果】以上、説明したように、本発明の乱数生
成装置および乱数生成方法によれば、所定クロック(c
lk1)に基づいて動作する乱数発生装置としてのPN
系列発生手段に対して、他のクロックで動作するPN系
列発生手段の発生乱数との演算、例えば排他論理和演算
を所定タイミングで実行させて出力乱数とすることによ
り、(clk1)に基づいて動作するPN系列発生手段
の周期律上の遷移が実行され、PN系列発生手段の初期
値、出力タイミングが同一でも、同一の乱数が発生する
可能性が低減される。
【0068】また、本発明の乱数生成装置および乱数生
成方法によれば、所定クロック(clk1)に基づいて
動作する乱数発生装置としてのPN系列発生手段に対し
て、他のクロックで動作するPN系列発生手段の発生乱
数との演算、例えば排他論理和演算を所定タイミングで
実行させる処理を複数回繰り返して実行して出力乱数を
取得することにより、(clk1)に基づいて動作する
PN系列発生手段の周期律上の遷移が複数回実行される
ことになり、PN系列発生手段の初期値、出力タイミン
グが同一でも、同一の乱数が発生する可能性が著しく低
減される。
【0069】さらに、本発明の乱数生成装置および乱数
生成方法によれば、他クロック動作PN系列発生手段
は、複数のクロック(clk2〜clkN)から選択さ
れるクロックに基づいて制御されるため、遷移地点は毎
回異なり、PN系列発生手段の初期値、出力タイミング
が同一でも、同一の乱数が発生する可能性が低減され
る。
【図面の簡単な説明】
【図1】PN系列発生回路の構成について説明する図で
ある。
【図2】本発明の乱数生成装置の構成例を示すブロック
図である。
【図3】本発明の乱数生成装置の処理を説明する図であ
る。
【図4】本発明の乱数生成装置における処理について具
体的数値を示して説明する図である。
【図5】本発明の乱数生成装置におけるタイミングと遷
移との関係を説明する図である。
【図6】本発明の乱数生成装置における周期の異なる複
数の乱数発生手段の遷移を説明する図である。
【図7】本発明の乱数生成装置における処理について説
明するフロー図である。
【図8】本発明の乱数生成装置における複数のタイミン
グ生成と遷移との関係を説明する図である。
【図9】本発明の乱数生成装置を適用した乱数生成処理
および認証処理について説明する図である。
【図10】本発明の乱数生成装置において、任意数のタ
イミング生成回数、演算処理回数設定を行なう場合の処
理について説明するフロー図である。
【符号の説明】
11,12,13 シフトレジスタ 14 排他論理和演算手段 101 PN系列発生手段 102 ゲート回路 103 排他論理和演算手段 111 スイッチ手段 112 PN系列発生手段 113 ゲート回路 114 タイミング発生手段 115 ゲート回路

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】第1の疑似ランダム信号発生手段と、 第2の疑似ランダム信号発生手段と、 前記第2の疑似ランダム信号発生手段の出力値と、前記
    第1の疑似ランダム信号発生手段の出力値との演算処理
    を実行する演算手段と、 前記演算手段における演算結果に基づいて取得される値
    を前記第1の疑似ランダム信号発生手段の新たな設定値
    とし、該新たな設定値に基づいて出力乱数を決定する構
    成を有することを特徴とする乱数生成装置。
  2. 【請求項2】前記第1の疑似ランダム信号発生手段は、
    周期の異なる複数の疑似ランダム信号発生手段によって
    構成され、 前記演算手段における演算処理は、前記第2の疑似ラン
    ダム信号発生手段の出力値と、周期の異なる複数の疑似
    ランダム信号発生手段各々について実行し、該演算結果
    に基づいて取得される値を前記複数の疑似ランダム信号
    発生手段各々の新たな設定値とする構成を有することを
    特徴とする請求項1に記載の乱数生成装置。
  3. 【請求項3】前記第1の疑似ランダム信号発生手段は、
    動作制御用のクロック信号(clk1)を入力し、該入
    力クロック信号(clk1)に基づいて、設定値を周期
    的に更新し、 前記第2の疑似ランダム信号発生手段は、動作制御用の
    複数のクロック信号(clk2〜N)から選択されるい
    ずれかのクロック信号を入力し、選択入力されるクロッ
    ク信号に基づいて、設定値を周期的に更新する構成を有
    することを特徴とする請求項1に記載の乱数生成装置。
  4. 【請求項4】前記演算手段は、排他論理和演算実行手段
    であり、前記第2の疑似ランダム信号発生手段の出力値
    と、前記第1の疑似ランダム信号発生手段の出力値との
    各ビット各々についての排他論理和演算を実行する構成
    を有することを特徴とする請求項1に記載の乱数生成装
    置。
  5. 【請求項5】前記演算手段による、前記第2の疑似ラン
    ダム信号発生手段の出力値と、前記第1の疑似ランダム
    信号発生手段の出力値との演算処理を複数回実行し、 前記演算手段における複数回の演算結果に基づいて取得
    される値を出力乱数とする構成を有することを特徴とす
    る請求項1に記載の乱数生成装置。
  6. 【請求項6】乱数生成方法であり、 第2の疑似ランダム信号発生手段の出力値と、第1の疑
    似ランダム信号発生手段の出力値との演算処理を実行す
    る演算ステップと、 前記演算ステップにおける演算結果に基づいて取得され
    る値を前記第1の疑似ランダム信号発生手段の新たな設
    定値とし、該新たな設定値に基づいて出力乱数を決定す
    るステップと、 を有することを特徴とする乱数生成方法。
  7. 【請求項7】前記第1の疑似ランダム信号発生手段は、
    周期の異なる複数の疑似ランダム信号発生手段によって
    構成され、 前記演算ステップにおける演算処理は、前記第2の疑似
    ランダム信号発生手段の出力値と、周期の異なる複数の
    疑似ランダム信号発生手段各々について実行し、該演算
    結果に基づいて取得される値を前記複数の疑似ランダム
    信号発生手段各々の新たな設定値とすることを特徴とす
    る請求項6に記載の乱数生成方法。
  8. 【請求項8】前記第1の疑似ランダム信号発生手段は、
    動作制御用のクロック信号(clk1)を入力し、該入
    力クロック信号(clk1)に基づいて、設定値を周期
    的に更新し、 前記第2の疑似ランダム信号発生手段は、動作制御用の
    複数のクロック信号(clk2〜N)から選択されるい
    ずれかのクロック信号を入力し、選択入力されるクロッ
    ク信号に基づいて、設定値を周期的に更新することを特
    徴とする請求項6に記載の乱数生成方法。
  9. 【請求項9】前記演算ステップは、前記第2の疑似ラン
    ダム信号発生手段の出力値と、前記第1の疑似ランダム
    信号発生手段の出力値との各ビット各々についての排他
    論理和演算を実行するステップであることを特徴とする
    請求項6に記載の乱数生成方法。
  10. 【請求項10】前記演算ステップは、 前記第2の疑似ランダム信号発生手段の出力値と、前記
    第1の疑似ランダム信号発生手段の出力値との演算処理
    を複数回実行する処理であり、 前記演算ステップにおける複数回の演算結果に基づいて
    取得される値を出力乱数とすることを特徴とする請求項
    6に記載の乱数生成方法。
  11. 【請求項11】乱数生成処理をコンピュータ・システム
    上で実行せしめるプログラムであって、 第2の疑似ランダム信号発生手段の出力値と、第1の疑
    似ランダム信号発生手段の出力値との演算処理を実行す
    る演算ステップと、 前記演算ステップにおける演算結果に基づいて取得され
    る値を前記第1の疑似ランダム信号発生手段の新たな設
    定値とし、該新たな設定値に基づいて出力乱数を決定す
    るステップと、 を有することを特徴とするプログラム。
JP2001193433A 2001-06-26 2001-06-26 乱数生成装置および乱数生成方法、並びにプログラム Pending JP2003005953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001193433A JP2003005953A (ja) 2001-06-26 2001-06-26 乱数生成装置および乱数生成方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001193433A JP2003005953A (ja) 2001-06-26 2001-06-26 乱数生成装置および乱数生成方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2003005953A true JP2003005953A (ja) 2003-01-10

Family

ID=19031723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001193433A Pending JP2003005953A (ja) 2001-06-26 2001-06-26 乱数生成装置および乱数生成方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2003005953A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177654A (ja) * 2007-01-16 2008-07-31 Sony Corp データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
JPWO2012147869A1 (ja) * 2011-04-27 2014-07-28 株式会社東芝 再暗号化鍵生成装置、再暗号化装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177654A (ja) * 2007-01-16 2008-07-31 Sony Corp データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
JPWO2012147869A1 (ja) * 2011-04-27 2014-07-28 株式会社東芝 再暗号化鍵生成装置、再暗号化装置及びプログラム
US9246683B2 (en) 2011-04-27 2016-01-26 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption apparatus, and program
JP5944893B2 (ja) * 2011-04-27 2016-07-05 株式会社東芝 再暗号化装置及びプログラム

Similar Documents

Publication Publication Date Title
US8923511B2 (en) Enciphering apparatus and method, deciphering apparatus and method as well as information processing apparatus and method
US7659837B2 (en) Operation processing apparatus, operation processing control method, and computer program
JP3988172B2 (ja) 情報処理装置および方法、並びに記録媒体
JP4959429B2 (ja) ハードウェア・ブート・シーケンスをマスキングするためのシステムおよび方法
JP3732188B2 (ja) 擬似乱数発生回路
JP4659149B2 (ja) 電子チップの不正行為に対する保護の非対称暗号通信法
US20150358154A1 (en) Random number generator and stream cipher
JP2005510095A (ja) 情報漏洩が低減される装置および方法
JP2011103686A (ja) 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法
EP3503463B1 (en) Systems and methods implementing countermeasures to phase tracking attacks on ring oscillator based entropy sources
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
ES2409458A2 (es) Método y sistema para mejorar la sincronización de cifrados de flujo
JP2005253041A (ja) 認証システムおよび認証方法
JP2005004048A (ja) 鍵拡張装置、鍵拡張方法および鍵拡張プログラム
JP2005122745A (ja) 対称型マルチプロセッサを持つ電子機器におけるデータの暗号化
JP2003005953A (ja) 乱数生成装置および乱数生成方法、並びにプログラム
JP2003337750A (ja) 内部解析防止機能付き半導体デバイス
JP2010002959A (ja) 擬似乱数生成装置
JP2003084668A (ja) 乱数生成装置、乱数生成方法及び乱数生成プログラム
JP2002217898A (ja) 擬似乱数生成システム
JP4997982B2 (ja) データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
US20190243960A1 (en) Electronic apparatus with clock authentication function and authentication method of clock signal
JP2009003495A (ja) 制御装置、擬似乱数生成器の制御方法及び電子機器
JP2006024140A (ja) 乱数生成装置
Joshi et al. Enhanced A5 Algorithm for Secure Audio Encryption