JPH09251376A - 暗号/認証用疑似乱数生成器の安全性評価装置 - Google Patents

暗号/認証用疑似乱数生成器の安全性評価装置

Info

Publication number
JPH09251376A
JPH09251376A JP8085820A JP8582096A JPH09251376A JP H09251376 A JPH09251376 A JP H09251376A JP 8085820 A JP8085820 A JP 8085820A JP 8582096 A JP8582096 A JP 8582096A JP H09251376 A JPH09251376 A JP H09251376A
Authority
JP
Japan
Prior art keywords
value
random number
register
time
number generator
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
JP8085820A
Other languages
English (en)
Inventor
Makoto Sugita
誠 杉田
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 JP8085820A priority Critical patent/JPH09251376A/ja
Publication of JPH09251376A publication Critical patent/JPH09251376A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing Electric Properties And Detecting Electric Faults (AREA)

Abstract

(57)【要約】 【課題】 疑似乱数生成器について、より正確な安全性
評価装置を提供することを目的とするものである。 【解決手段】 時刻t〜t+m−1のm個の連続する系
列をmビットの値とみなし、このみなされた値と、所定
の時刻tにおけるLFSRのレジスタの値との線形相関
を利用してレジスタの初期値を推定するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、主に暗号/認証装
置に係り、特に、暗号化復号化装置における疑似乱数生
成器の性能評価に関するものである。
【0002】
【従来の技術】従来、疑似乱数生成器として、フィルタ
リング型疑似乱数生成器が知られている。このフィルタ
リング型疑似乱数生成器は、時刻tにおけるLFSR
(LinearFeedback Shift Register)のレジスタの値を
非線形関数部に入力し、この非線形関数部の出力値を、
時刻tにおける疑似乱数系列の値とする疑似乱数生成器
である。
【0003】このフィルタリング型疑似乱数生成器を暗
号に用いる場合、疑似乱数系列の値に基づいて求められ
た上記レジスタの初期値を推定するために必要な時間
や、上記疑似乱数系列の系列長に応じて、上記フィルタ
リング型疑似乱数生成器の安全性が評価される。
【0004】そして、上記初期値を推定するために必要
な時間と、上記疑似乱数系列の系列長とのうちの少なく
とも一方が充分に大きいときに、当該フィルタリング型
疑似乱数生成器の安全性が高いと定義されている。
【0005】さらに、これらの値を推定する場合、主
に、線形複雑度の大きさや、用いられる非線形関数にお
ける入力値と出力値との間の統計的線形相関の大きさが
用いられている。
【0006】図4は、従来の疑似乱数生成器における線
形相関検出装置90を示すブロック図である。
【0007】従来の疑似乱数生成器における線形相関検
出装置90において、線形相関の大きさを計測する場
合、乱数生成部97において乱数を生成し、この生成さ
れた乱数をビットマスク値Γとして固定し、乱数生成部
91によってnビットの乱数を生成し、この生成された
乱数を初期値とし、フィルタリング疑似乱数生成器94
の非線形関数部に入力し、最初の疑似乱数の値を得る。
【0008】そして、乱数生成部91で得られた乱数の
値と、乱数生成部97で得られたビットマスク値Γと
を、ドットプロダクト部98が、ベクトル同士の内積を
とり、相関検出部99において、疑似乱数の値を乱数生
成部91で多数生成することによって、ドットプロダク
ト部98で得られたベクトル同士の内積の値と、非線形
関数部94の最初の出力との値が一致する確率を計算
し、得られた相関値と、ビットマスク値Γとを蓄積メモ
リ80に蓄積し、乱数生成部97で多数生成されたビッ
トマスク値Γについて、上記手順を実行することによっ
て、所定の時刻における非線形関数部94のレジスタの
値とその出力との間の線形相関を計算し、この計算結果
を蓄積メモリ80に記憶する。
【0009】この結果、蓄積メモリ80に蓄積された線
形相関の値の絶対値の最大値が小さいときに、そのフィ
ルタリング型疑似乱数生成器が安全であると、従来は、
評価されている。
【0010】図5は、従来方式を用いた場合に得られる
相関の値を示す図である。
【0011】フィルタリング型疑似乱数生成器を従来の
ように評価する場合、具体的には、非線形関数部94に
含まれるLFSRの段数を16にし、非線形関数として
Bent関数を選んだ場合の安全性を評価すると、図5
に示すような非線形関数の入出力の相関値pが得られ、
この相関値pの絶対値の最大値0.0039は、理論的
最小値であり、従来の評価方法によれば、このようなフ
ィルタリング型疑似乱数生成器は、理論的に最良の安全
性を有することになる。
【0012】
【発明が解決しようとする課題】上記従来例では、非線
形関数の線形相関を用いて、疑似乱数系列から初期値I
Vを解読する場合、1ビット出力値とレジスタの値との
間の線形相関のみに基づいて疑似乱数生成器の性能を評
価しており、したがって、乱数系列の長さが従来例より
も長い場合には、フィルタリング型疑似乱数生成器の安
全性が低くなり、上記従来の方法による評価が誤りであ
るという可能性がある。
【0013】本発明は、疑似乱数生成器について、より
正確な安全性評価装置を提供することを目的とするもの
である。
【0014】
【課題を解決するための手段】本発明は、時刻t〜t+
m−1のm個の連続する系列をmビットの値とみなし、
このみなされた値と、所定の時刻tにおけるLFSRの
レジスタの値との線形相関を利用してレジスタの初期値
を推定するものである。
【0015】
【発明の実施の形態および実施例】図1は、本発明の一
実施例であるフィルタリング型疑似乱数生成器の安全性
評価装置SE1を示すブロック図である。
【0016】フィルタリング型疑似乱数生成器の安全性
評価装置SE1は、フィルタリング型疑似乱数生成器G
1と、出力蓄積レジスタ10と、拡張型線形相関検出部
20と、線形相関値の蓄積メモリ30と、ドットプロダ
クト部31と、疑似乱数生成器のレジスタ状態遷移行列
A(t)計算部40と、乗算部41と、蓄積部50と、
初期値IVの推定部60と、疑似乱数生成器の安全性評
価部70とで構成されている。
【0017】フィルタリング型疑似乱数生成器G1は、
nビットの初期値IVを入力し、疑似乱数系列x0 ,x
12 ,……を出力するものである。出力蓄積レジスタ
10は、疑似乱数系列x0 ,x12 ,……のうちのm
ビットを格納するレジスタである。拡張型線形相関検出
部20は、初期値ビットマスク値Γ1 と出力レジスタビ
ットマスク値Γ2 と線形相関値pとを出力するものであ
る。
【0018】線形相関値の蓄積メモリ30は、拡張型線
形相関検出部20が出力する初期値ビットマスク値Γ1
と出力レジスタビットマスク値Γ2 と線形相関値pとを
蓄積するメモリである。ドットプロダクト部31は、m
段シフトレジスタ10が出力するz(t)と、蓄積メモ
リ30が出力するビットマスク値Γ2 とのベクトル同士
の内積をとるものである。
【0019】疑似乱数生成器のレジスタ状態遷移行列A
(t)計算部40は、出力蓄積レジスタ10が出力する
z(t)と疑似乱数生成器G1のレジスタ状態遷移行列
A(t)を計算するものである。乗算部41は、蓄積メ
モリ30が出力する初期値ビットマスク値Γ1 と計算部
40が出力する遷移行列A(t)とを乗算するものであ
る。
【0020】蓄積部50は、Γ1 A(t),Γ1
(t)・IVの推定値を蓄積するものである。つまり、
蓄積部50は、LFSR23のレジスタの初期値である
上記線形和のビットマスク値Г1 A(t)と、そのビッ
トマスク値Г1 A(t)と初期値IVの推定値とのベク
トル同士の内積Г1 A(t)・IVの推定値との組(Г
1A(t),Г1 A(t)・IVの推定値))とが、時
刻t1から、推定に必要な出力の数分、蓄積される部分
である。なお、蓄積部50において、「・」は、ベクト
ル同士の内積を示す記号であり、つまり、成分ごとの積
をEXORしたものである(dot product したものであ
る)。
【0021】初期値IVの推定部60は、初期値IVを
推定するものである。疑似乱数生成器の安全性評価部7
0は、フィルタリング型疑似乱数生成器G1の安全性を
評価するものである。
【0022】図2は、上記実施例における拡張型線形相
関検出部20を具体的に示すブロック図である。
【0023】拡張型線形相関検出部20は、乱数生成部
21と、レジスタ22と、LFSR(Linear Feedback
Shift Register)23と、非線形関数部24と、出力蓄
積レジスタ25と、ドットプロダクト部26、28と、
乱数生成部27、27aと、相関検出部29とを有す
る。
【0024】次に、上記実施例の動作について説明す
る。
【0025】まず、乱数生成部21で生成された初期値
IV(nビット)がレジスタ22に格納され、この格納
された初期値IVに基づいて、LFSR23、非線形関
数部24が疑似乱数列x0 ,x1 ,x2 ,…を生成し
(疑似乱数x0 ,x1 ,x2 ,…はそれぞれ時刻t0
1 ,t2 ,…に生成される)、時刻tにおいて、出力
蓄積レジスタ25が1ビット分を左へシフトし、このと
きに空いたビットに、疑似乱数系列xt を入れるという
手順を、t0 ,t1 ,t2 ,…のそれぞれにおいて繰り
返す。
【0026】次に、LFSR23と非線形関数部24と
で構成されるnビットのフィルタリング型疑似乱数生成
器に初期値を入力し、生成された疑似乱数系列x0 ,x
1 ,x2 ,…,xm-1 を出力蓄積レジスタ25に順次、
入力し、mビットとしたものを出力するようなnビット
入力mビット出力の関数を想定し、乱数生成部27でビ
ットマスク値を生成し(固定)、レジスタ22の初期値
と乱数生成部27のビットマスク値(乱数生成部27で
生成された乱数)とのベクトルの内積を、ドットプロダ
クト部28がとる。なお、「固定」は、乱数生成部2
7、27aで生成された値に対して、乱数生成部21で
乱数を多数生成するという意味である。
【0027】そして、乱数生成部27aでビットマスク
値(乱数生成部27aで生成された乱数)を生成し(固
定)、レジスタ25の値と、乱数生成部27aで生成さ
れたビットマスク値との間のドットプロダクトをドット
プロダクト部26でとり、ドットプロダクト部28、2
6で得られた値の相関を、乱数生成部21の乱数を多数
生成することによって、計測し、乱数生成部27と相関
検出部29とによって得られた相関値pと,その相関値
を与える入力と出力とのビットマスク値Γ1 、Γ2 を蓄
積メモリ30に出力する。
【0028】線形相関値の蓄積メモリ30は、拡張型線
形相関検出部20が出力する入力と出力のビットマスク
値Γ1 、Γ2 と、これに対応する相関値pとを蓄積す
る。
【0029】上記実施例においては、予め拡張型線形相
関検出部20によって、入力と出力とのビットマスク値
Γ2 、Γ1 と相関値の値pとを線形相関値の蓄積メモリ
30に蓄積し、この蓄積メモリ30の中から大きな相関
値pを与える(Γ2 ,Γ1 )を選択する。
【0030】次に、時刻tにおいて出力蓄積レジスタ1
0を1ビット左へシフトし、これによって空いたビット
に、疑似乱数生成器G1によって生成された疑似乱数列
0,x1 ,x2 ,…の疑似乱数系列xt を入れるとい
う手順を、時刻t0 ,t1 ,t2 ,……のそれぞれにお
いて繰り返すことによって、出力蓄積レジスタ10の値
を更新する。
【0031】続いて、出力蓄積レジスタ10の時刻tに
おける値をz(t)とし、蓄積メモリ30から選択され
たΓ2 とz(t)との間で、ドットプロダクト部31が
ドットプロダクトをとり、蓄積メモリ30から選択され
たΓ1 の値と、疑似乱数生成器G1のレジスタ状態遷移
行列A(t)計算部40による状態遷移行列A(t)と
の行列積を、乗算部41がとる。
【0032】なお、Γ2 ・z(t)=(Γ1 ・y(t)
の推定値)=(Γ1 A(t)・IVの推定値)が成立
し、ドットプロダクト部31と乗算部41とによって得
られる組(Γ1 A(t),Γ1 A(t)・IVの推定
値)を、(Γ1 A(t),Γ1 A(t)・IVの推定
値)の蓄積部50に蓄積する。なお、Γ1 は横ベクトル
と考え、Γ1 A(t)は通常の行列の積である。
【0033】なお、レジスタ遷移行列A(t)の計算部
40は、時刻が1つ分、経過した後のフィルタリング型
疑似乱数生成器G1のレジスタの状態遷移行列をAとし
たときに、A(t)=At (t0 ,t1 ,t2 ,…)
を、時刻tにおけるレジスタの状態遷移行列A(t)と
して出力する部分である。
【0034】次に、初期値IVの推定部60では、(Γ
1 A(t),Γ1 A(t)・IVの推定値)の蓄積部5
0に蓄積された(Γ1 ’,Γ1 ’・IVの推定値)の多
数の組(ただしΓ1 ’=Γ1 A(t)を利用して、Γ
1 ’・IV’=(Γ1 ’・IVの推定値)になる回数の
最も多いIV’を選ぶことによって、初期値IVの値を
推定し、このようにして得られた初期値IVの推定値を
出力する。
【0035】最後に、疑似乱数の安全性評価部70で
は、初期値IVの推定成功確率と、初期値IVの推定に
要した時間とを計算し、これら初期値IVの推定成功確
率と初期値IVの推定に要した時間との値に応じて、フ
ィルタリング型の疑似乱数生成器の安全性を評価する。
【0036】図3は、上記実施例によって安全性を評価
した場合における特性を示す図である。
【0037】この特性は、上記実施例において、フィル
タリング型疑似乱数生成部としてレジスタの段数が1
6、上記非線形関数としてはBent関数と呼ばれる非
線形性が最小となるものを選んだ場合における安全性を
評価したものである。
【0038】この図3に示すように、上記実施例によっ
て0.5という非常に高い相関値が得られることがわか
る。上記実施例における評価によっては、このBent
関数を用いた疑似乱数生成器生成列から初期値の推定が
容易であることが示され、また、Bent関数を用いた
疑似乱数生成器は安全ではないという評価を得ることが
できる。
【0039】つまり、従来技術によって疑似乱数生成器
の安全性の評価を行った場合に得られる相関値は0.0
039であり、この相関値0.0039は安全であると
いう評価が従来はなされるが、上記実施例では、従来例
よりも128倍強い相関値が得られ、疑似乱数系列から
初期値を容易に推定できることがわかり、したがって、
上記実施例によって、従来よりも正確な疑似乱数生成器
の安全性評価が得られる。
【0040】
【発明の効果】本発明によれば、疑似乱数生成器の安全
性評価装置がより正確であるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例であるフィルタリング型疑似
乱数生成器の安全性評価装置SE1を示すブロック図で
ある。
【図2】上記実施例における拡張型線形相関検出部20
を具体的に示すブロック図である。
【図3】上記実施例によって安全性を評価した場合にお
ける特性を示す図である。
【図4】従来の疑似乱数生成器における線形相関検出装
置90を示す図である。
【図5】従来方式を用いた場合に得られる相関の値を示
す図である。
【符号の説明】
SE1…疑似乱数生成器の安全性評価装置、 G1…フィルタリング型疑似乱数生成器、 10…出力蓄積レジスタ、 20…拡張型線形相関検出部、 21…乱数生成部、 22…レジスタ、 23…LFSR、 24…非線形関数部、 25…出力蓄積レジスタ、 26、28…ドットプロダクト部、 27、27a…乱数生成部、 29…相関検出部、 30…線形相関値の蓄積メモリ、 31…ドットプロダクト部、 40…疑似乱数生成器のレジスタ状態遷移行列A(t)
計算部、 41…乗算部、 50…蓄積部、 60…初期値IVの推定部、 70…疑似乱数生成器の安全性評価部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 n段LFSRのレジスタに時刻0に初期
    値(nビット)を入力し、時刻tにおける上記LFSR
    のレジスタの値を非線形関数部に入力して得られた出力
    値(1ビット)を、時刻tにおける疑似乱数系列とする
    フィルタリング型疑似乱数生成器の安全性を評価する安
    全性評価装置において、 レジスタを具備する疑似乱数生成器G1と;時刻tにお
    いて1つシフトして空いたビットに、時刻tにおける疑
    似乱数系列の値が入力されるm段シフトレジスタ10
    と;時刻tにおける上記疑似乱数生成器G1内のレジス
    タの値と、上記時刻tからt+m−1までに生成された
    出力を蓄積した出力蓄積レジスタ10に蓄積されている
    mビットの値の線形相関値とを計算する拡張型線形相関
    検出部20と;この拡張型線形相関検出部20によって
    計算された相関値と、この相関値を与える乱数生成部2
    7と27aとで生成された定数(ビットマスク)と、推
    定に必要な疑似乱数系列の数とを格納する蓄積メモリ3
    0と;上記シフトレジスタへの疑似乱数系列の値の入力
    と並行して、時刻が1つ分、経過した後のフィルタリン
    グ型疑似乱数生成器G1のレジスタの状態遷移行列をA
    としたときに、A(t)=At (t0 ,t1 ,t2
    …)を、時刻tにおけるレジスタの状態遷移行列A
    (t)として出力する遷移行列計算部40と;この遷移
    行列計算部40によって遷移行列を求める動作と並行し
    て、予め格納してある強い相関を示す出力のビットマス
    クの値と入力値とのベクトル同士の内積を求めることに
    よって、m段シフトレジスタ10の値から、時刻tにお
    ける上記LFSRのシフトレジスタの値の線形和の推定
    値を計算するドットプロダクト部31と;時刻0におけ
    る上記LFSRのシフトレジスタの値から、時刻tにお
    ける上記LFSR23のレジスタの値の遷移を計算する
    遷移行列と、上記線形和のビットマスク値とを掛け合わ
    せる乗算部41と;上記LFSR23のレジスタの初期
    値である上記線形和のビットマスク値Г1A(t)と、
    そのビットマスク値Г1 A(t)と初期値IVの推定値
    とのベクトル同士の内積Г1 A(t)・IVの推定値と
    の組(Г1 A(t),Г1 A(t)・IVの推定値))
    とが、時刻t1から、推定に必要な出力の数分、蓄積さ
    れる蓄積部50と;この蓄積部50に蓄積されている上
    記線形和のビットマスク値Г1 A(t)と、上記初期値
    IVのドットプロダクトГ1 A(t)・IVの推定値と
    が一致する確率の最も高い値を、初期値と推定する初期
    値IVの推定部60と;この初期値IVの推定部60の
    結果に応じて、推定に必要な時間と成功確率とを測定
    し、その時間と成功確率とに応じて、疑似乱数生成器の
    性能評価を行う安全性評価部と;を有することを特徴と
    する暗号/認証用疑似乱数生成器の安全性評価装置。
JP8085820A 1996-03-14 1996-03-14 暗号/認証用疑似乱数生成器の安全性評価装置 Pending JPH09251376A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8085820A JPH09251376A (ja) 1996-03-14 1996-03-14 暗号/認証用疑似乱数生成器の安全性評価装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8085820A JPH09251376A (ja) 1996-03-14 1996-03-14 暗号/認証用疑似乱数生成器の安全性評価装置

Publications (1)

Publication Number Publication Date
JPH09251376A true JPH09251376A (ja) 1997-09-22

Family

ID=13869503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8085820A Pending JPH09251376A (ja) 1996-03-14 1996-03-14 暗号/認証用疑似乱数生成器の安全性評価装置

Country Status (1)

Country Link
JP (1) JPH09251376A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013121710A1 (ja) * 2012-02-15 2015-05-11 Necソリューションイノベータ株式会社 評価装置、評価方法、及び、評価プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013121710A1 (ja) * 2012-02-15 2015-05-11 Necソリューションイノベータ株式会社 評価装置、評価方法、及び、評価プログラム

Similar Documents

Publication Publication Date Title
Arnault et al. F-FCSR: design of a new class of stream ciphers
US8180055B2 (en) Cryptographic system incorporating a digitally generated chaotic numerical sequence
Courtois Fast algebraic attacks on stream ciphers with linear feedback
KR100499433B1 (ko) 의사 난수 발생 방법
CN109791517B (zh) 保护并行乘法运算免受外部监测攻击
Berbain et al. Cryptanalysis of grain
US7853013B2 (en) Cryptographic method and system for encrypting input data
KR20100098520A (ko) 비밀 데이터를 획득하려는 공격으로부터 마이크로회로를 보호하는 방법 및 장치
KR20100113130A (ko) 비대칭 암호화를 위한 대응조치 방법 및 디바이스
US20110170685A1 (en) Countermeasure method and devices for asymmetric encryption with signature scheme
JP5312318B2 (ja) 擬似ランダムストリングを生成するための方法及びデバイス
JP2002268875A (ja) 乱数生成装置
US7124158B2 (en) Technique for high speed PRBS generation
US6463448B1 (en) Linear intrasummed multiple-bit feedback shift register
JPH09251376A (ja) 暗号/認証用疑似乱数生成器の安全性評価装置
US20140289295A1 (en) Method for generating a random output bit sequence
Steinwandt et al. A theoretical DPA-based cryptanalysis of the NESSIE candidates FLASH and SFLASH
Lin et al. Related key chosen IV attacks on Decim v2 and Decim-128
Mishra et al. Generalized avalanche test for stream cipher analysis
KR100564764B1 (ko) 유한체 다항식 곱셈 장치 및 그 방법
Hell et al. Some attacks on the bit-search generator
JPH08202535A (ja) 擬似乱数の生成方法および生成装置
JP2006081059A (ja) 暗号回路および集積回路
JP5214317B2 (ja) 暗号処理装置、暗号処理方法及びコンピュータプログラム
US20140286487A1 (en) Method for generating a one-way function