JP4547534B2 - 疑似乱数生成器強度評価装置及び暗号化装置 - Google Patents

疑似乱数生成器強度評価装置及び暗号化装置 Download PDF

Info

Publication number
JP4547534B2
JP4547534B2 JP2005107335A JP2005107335A JP4547534B2 JP 4547534 B2 JP4547534 B2 JP 4547534B2 JP 2005107335 A JP2005107335 A JP 2005107335A JP 2005107335 A JP2005107335 A JP 2005107335A JP 4547534 B2 JP4547534 B2 JP 4547534B2
Authority
JP
Japan
Prior art keywords
random number
pseudo
value
operator
evaluation
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.)
Expired - Fee Related
Application number
JP2005107335A
Other languages
English (en)
Other versions
JP2006285830A (ja
Inventor
田中秀磨
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2005107335A priority Critical patent/JP4547534B2/ja
Publication of JP2006285830A publication Critical patent/JP2006285830A/ja
Application granted granted Critical
Publication of JP4547534B2 publication Critical patent/JP4547534B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本願発明は、疑似乱数生成器の評価を行う疑似乱数生成器強度評価装置と、その評価結果を利用する暗号化装置に関する。
暗号通信や認証等において、他者に対して通信内容を隠蔽し模倣を禁止するために送信者と受信者との間で乱数を用いた情報の変換が行われる。しかし、予測不可能に値が変化する真性乱数を表すデータは多量となり、これを送信者と受信者とが共用することは現実的ではない。このため、より少量のデータであるシードから一定の規則に基づいて生成され周期性を有する乱数である疑似乱数が用いられる。
そこで、特許文献1にあるように、この疑似乱数が暗号学的に安全であることを確認するため、疑似乱数の周期長や統計的性質、予測を困難とする非線形性、統計的性質を利用した解読法である相関解読法に対し解読を困難とする無相関性等が評価される。
特開2003−5642公報
しかし、複数の疑似乱数生成器を統一的に評価し、より安全で効率的な疑似乱数生成器を選択するためにはこれら従来の評価方法は十分ではない。
即ち、統計的特性及び無相関性については、今日の疑似乱数生成器は既に十分に優れた評価を得られるよう対策されており、非線形性や周期長については、評価方法が曖昧である、ある種の型式の疑似乱数生成器に対して適用不可能又は現実的な評価を示せない等の不都合がある。
そこで本願発明者は、疑似乱数生成器一般に統一的に適用可能なだけでなく、未だ十分な対策が行われていない線形解読法に対する解読の困難性を示す、疑似乱数生成器の強度を評価する方法を提案する。即ち、疑似乱数生成器に線形解読法を適用した際に解読に要する独立な方程式の数を疑似乱数生成器の強度を表す強度値と定め、強度値を以て評価を行えばよい。
このような疑似乱数生成器の強度(以下単に強度とする)を示す強度値を得るには、疑似乱数生成器の入出力を表すブール代数式に着眼し、本ブール代数式の2次以上の変数項を新たな一変数とすることで線形なブール代数式へ変形し、その際に現れる独立未知項の総数を算出すればよい。しかし、これは複雑な手順である。
また、強度値によれば、2強度値−1≦周期長≦2線形複雑度−1といった関係が成り立つといった特性があることが本願発明者の研究により判明しており、強度値に基づく周期長の推定等が可能となることから、その応用が考えられる。
そこで本発明は、上記事情を踏まえ単純な手順でより効率的に様々の疑似乱数生成器の強度値を求める疑似乱数生成器強度評価装置を提供するだけでなく、強度値の特性を利用しより安全で効率的に暗号化を行う暗号化装置を提供することをその主たる所期課題としたものである。
すなわち本発明に係る疑似乱数生成器強度評価装置は、所定の周期長を有すると推定される第1疑似乱数を算出する第1回路と、前記第1疑似乱数を変数とする予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路とを備えた疑似乱数生成器の線形解読法に対する強度評価を行うものであって、前記ブール代数式の構造を変えることなく、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで得られる評価式の前記変数へ底を2として前記周期長に1を足した値の対数値を代入し、評価値である実数を算出するものである。
このよう疑似乱数生成器評価装置を用いて評価を行えば、その評価値として強度値を得ることができる。そして、入出力の関係が明らかでない部分的な回路を備えた疑似乱数生成器であっても、その回路から出力される疑似乱数の周期長が推定可能でさえあれば、疑似乱数生成器の評価を行える。また強度値が判明している回路であれば、周期長を例えば2強度値―1等と推定可能であることから、強度値を用いて段階的に疑似乱数生成器の強度値を算出することが可能となる。更に、ブール代数式の構造を変えることなく演算子を変換して得られる評価式を用い、その変数に値を代入することで評価値を算出しているので、入出力の関係を表すブール代数式を2次以上の変数項を新たな一変数とすることで線形なブール代数式へ変形し、独立未知項をカウントし、その総数を求めるよりも条件分岐や判断の少ない単純且つ効率的な処理となり、自動化にも好適である。
また、第1疑似乱数を算出する所定数のシフトレジスタを有したLFSRである第1回路と、前記第1疑似乱数を変数とする予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路とを備えた疑似乱数生成器の線形解読法に対する強度評価を行うものであって、前記ブール代数式の構造を変えることなく、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで得られる評価式の前記変数へ前記所定数を代入し、評価値である実数を算出するものとすることで、LFSRを含んだ疑似乱数生成器に対して単純且つ効率的に強度値を得られ、自動化にも好適である。
また、前記ブール代数式が、前記算出手順の一部を簡略化して表したものであることを特徴とするものであれば、複雑な回路を有する疑似乱数生成器に対する評価を容易とすることができる。
このようにして得られる強度値は、一般に疑似乱数生成器の処理効率とは相反する関係にある。そこで、暗号化の強度要求値を示す強度要求値データを受け付ける強度要求値データ受付部と、第1疑似乱数を算出する第1算出部と、前記第1疑似乱数を変数とするブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2算出部とを備えた疑似乱数生成部と、前記第1算出部について請求項1又は2記載の疑似乱数生成器強度評価装置が算出した評価値等、疑似乱数生成器の強度を表す第1強度値を示す第1強度値データを予め格納している第1強度値データ格納部と、前記第1強度値と積演算子と和演算子とを含み、前記強度要求値以上の値を示す第2強度値を算出する評価式を作成した後、前記評価式に含まれる前記第1強度値を対応する前記変数へ変換し、演算子を、積演算子からAND演算子へ、和演算子からEX−OR演算子へと対応付けて変換することで前記ブール代数式とし、前記ブール代数式で表される前記算出手順を前記第2算出部へ設定する算出手順設定部と、前記第2疑似乱数を用いて暗号化を行う暗号化部とを備えた暗号化装置とすることで、要求された強度を有する効率的な疑似乱数生成器を利用し、安全で効率的に暗号化を行うことができる。
更に、前記疑似乱数生成部が備える前記第1算出部が、初期値であるシードより定まり所定のビット数で表現可能な値に基づき、第1疑似乱数を算出するものであり、前記暗号化部が、前記疑似乱数生成部に前記シードを設定し、前記第2疑似乱数を用いて暗号化を行うものであって、暗号化を行ったデータのビット量が2の前記第2強度値乗から1を引いた値で示される推定周期を超える前に、前記暗号化部が前記シードを変更するようにしたものであることを特徴とするものであれば、より安全に通信を行うことができる。
また、前記第1強度値データ格納部に換えて、予め算出した前記第2強度値を示す第2強度値データと、前記算出手順を示す算出手順データとを対応させて格納している第2強度値手順対応データ格納部を備え、前記算出手順設定部が、前記強度要求値以上の値を示す第2強度値データと対応している前記算出手順を前記第2算出部へ設定するようにしたものであれば、算出手順の設定が高速に行えるようになり、動的に疑似乱数生成部を切り替えるに好ましい。
この様な疑似乱数生成器強度評価装置であれば、様々な疑似乱数生成器に対して有用且つ統一的な評価を行うことができる。また、入出力の関係が明らかでない部分的な回路を有したものであっても、その回路から出力される疑似乱数の周期長が推定可能か又はその回路の強度が判明してさえいれば評価可能なだけでなく、未だ十分な対策が行われていない線形解読法に対する疑似乱数生成器の強度を評価するものであり、従来の統計的な評価等と併せることで総合的に疑似乱数の安全性を表すことを可能としている。また、単純且つ効率的な処理で評価が行え、自動化にも好適である。
そして、このような強度を利用した暗号化装置であれば、疑似乱数生成器の強度を保証しながら効率的に暗号化を行うことができる。
<第1実施形態>
本願発明に係る第1の実施形態について以下に説明する。
まず、本実施形態において評価対象とする疑似乱数生成器1について図1及び2を参照しながら説明する。
図1に示す疑似乱数生成器1は非線形コンバイナ型疑似乱数生成器であり、シードを示すシードデータを受け付けるシードデータ受付部11と、シードに基づき、第1疑似乱数を算出する第1回路12と、第1疑似乱数に予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路13とを備えている。ここでシードとは、疑似乱数生成器1が生成する疑似乱数の乱数系列を指定する値であり、第1回路12に含まれる記憶部であるレジスタRの初期値となるものである。
以下に各部を詳細に説明する。
シードデータ受付部11とはシードデータを受け付け、シードデータに基づいて第1回路12の所定のレジスタRへ所定の値を設定するものである。
第1回路12は、本実施形態では図2に示すように、それぞれEX−ORによる帰還のかかったn個のシフトレジスタRを有するn段のLFSR回路である。図示しないクロック信号を受け付け、演算処理を行いつつ、シフトレジスタRの値を左から右へ時々刻々とシフトさせることで右端にある最終段のシフトレジスタRより1ビットの第1疑似乱数データを出力する。なお、シフトレジスタRの段数をnとすると第1疑似乱数の周期は2で表すことができる。また、最大周期を得られるよう各第1回路12はM系列発生器とし、レジスタ数が互いに素となるようにしている。
第2回路13は、レジスタRを有さず、入力によってのみ出力が定まる非線形な回路である。各第1回路12が出力した第1疑似乱数データを入力として第1疑似乱数に所定の演算処理を行うことで時々刻々と1ビットの第2疑似乱数データを出力するものである。なお、i番目の第1回路12が時刻tに出力する疑似乱数をx(t)、時刻tにおける第1回路群12(1)、12(2)、12(3)からの入力をX(t)、第2疑似乱数の算出手順を表す関数をf(・)として、算出手順を表すブール代数式は式(1)の右辺として表せる。
ここで、NOT演算はEX−OR演算を用いて表し、式に含まれる演算子をAND演算とEX−OR演算とのみとして表すようにしている。
次に、本実施形態における疑似乱数生成器強度評価装置2について図3及び4を参照しながら説明する。
図3に疑似乱数生成器強度評価装置2の機能構成図を示す。疑似乱数生成器強度評価装置2は、第2疑似乱数の算出手順を表すブール代数式の演算順序等を定める構造を変えることなく、その演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除く。そして得られる評価式の各第1疑似乱数を表す変数へ所定の数を代入し、疑似乱数生成器1の強度(以下単に強度とする)を表す評価値を算出するものであり、第1回路構成データ受付部21と、第2回路構成データ受付部22と、評価部23とを備えている。
ここで、強度について説明する。
強度とは、線形解読法による疑似乱数生成器1に設定された初期値等の解読の困難性を表すものである。線形化攻撃とは代数的攻撃法(文献「N.Courtois AND W.Meier,Algebraic Attacks on Stream Ciphers with Linear Feedback”,Proceedings of EUROCRYPT 2003, Lecture Notes in Computer Science,vol. 2656, pp.345−359,Springer Verlag, 2003」)の一つであり、シードと疑似乱数との関係を表す方程式の非線形な2次以上の変数項を新たな一変数と再定義することにより2次以上の方程式を線形方程式へ変形し、方程式を解くことを容易にする解読方法である。この解読方法では、変数と同数個の独立な方程式を用意することが必要であり、変数が増加すると、攻撃に必要な既知平文組数の増加を招いたり、もしくは攻撃を不可能にする場合を生じさせたりすることとなる。そこで、この変数の総数を強度としている。
図4は、本実施形態における疑似乱数生成器強度評価装置2を示したハードウェア構成図である。この疑似乱数生成器強度評価装置2は、同図が示すように、例えば汎用コンピュータであり、図1に示すように、CPU101、内部メモリ102、HDD等の外部記憶装置103、通信ネットワークに接続するためのモデム等の通信インタフェース104、ディスプレイ105、マウスやキーボードといった入力手段106等を具備する。
しかして本実施形態では、図3に示すように、前記コンピュータに所定のプログラムをインストールし、そのプログラムに基づいてCPU101や周辺機器を共働させることにより、第1回路構成データ受付部21、第2回路構成データ受付部22、評価部23等として機能するようにしている。
以下に疑似乱数生成器強度評価装置2の各部を説明する。
第1回路構成データ受付部21は、疑似乱数生成器1の各第1回路12に含まれるレジスタ数である正の整数を示す第1回路構成データを受け付けるメモリ102などである。
第2回路構成データ受付部22は、算出式を示す第2回路構成データを受け付けるメモリ102などである。算出式は、第1疑似乱数を表す変数項と、定数項と、演算子とからなるブール代数式として表されるが、勿論そのデータ形式は例えば式(1)の右辺に表す数式の他、二分木形式や逆ポーランド形式等その他様々な形式で表すことができ、算出式へ変形可能なものであればどのような形式であっても構わない、またテキスト形式であってもバイナリ形式であっても当然構わない。
評価部23は、CPU101等の演算機能を利用し、レジスタ数と算出式とを用いて強度を表す評価値を算出し評価値を示す評価値データを出力するものである。まず算出式の演算子を、AND演算子から積演算子へEX−OR演算子から和演算子へと対応付けて変換し定数項を取り除くことで算出式を評価式へ変換する。そして評価式の各変数へ各第1回路12に関して対応するレジスタ数を代入し演算処理を行うことにより評価値である実数を算出するようにしている。
以下に図3を参照しながら、図5のフローチャートを用いて、本実施形態における疑似乱数生成器強度評価装置2の動作の一例を示す。
図3に示す第1回路構成データ受付部21が、3つの各第1回路12のレジスタ数を示す各第1回路構成データを受け付け格納する(ステップSa1)。以下、i番目の第1回路12のレジスタ数をr、全第1回路構成データをRとすると、図2より各第1回路12に対応する第1回路構成データの値は以下のようになる。
図3に示す第2回路構成データ受付部22が、算出手順を表す以下の式(2)の算出式を示す第2回路構成データを受け付け格納する(ステップSa2)。
なお、式(2)は便宜のためAND演算を∧として明示しているが、式(1)と同じものである。
評価部23が、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで以下の式3に示す評価式を作成する(ステップSa3)。ここで評価手順を表す関数をF(・)としている、また本実施形態では定数項は予め含まれていない。なお評価式は式(3)の右辺であり、便宜上展開を行っているが行わなくても構わない。
評価部23が、レジスタ数を評価式へ代入し(式4)、評価値を算出する(ステップSa4)。
評価値は26となる。
このような疑似乱数生成器強度評価装置2であれば、
疑似乱数生成器一般に統一的に適用可能なだけでなく、未だ十分な対策が行われていない線形解読法に対する解読の困難性を表す強度を評価することができる。各算出式について複雑な条件判断を伴うことなく一律に評価値の算出を行えるものとし、自動化にも好適である。また単純な文字の置換操作により容易に変換が行える。
<第2実施形態>
本願発明に係る第2の実施形態について以下に説明する。なお、第1実施形態と対応する部分には同一の符号を付してある。
まず、本実施形態において評価対象とする疑似乱数生成器1について図6及び7を参照しながら説明する。
疑似乱数生成器1は、図6に示すように、シードを示すシードデータを受け付けるシードデータ受付部11と、シードに基づき、第1疑似乱数を算出する第1回路12と、第1疑似乱数に予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路13とを備えている。
図6に示す第1回路12は、図7に示すように本実施形態では3種類あり、第1実施形態と同様のLFSR回路12(1)と、その強度が3であり入出力の関係が未知の疑似乱数生成回路12(4)と、周期長が2−1であり入出力の関係が未知の疑似乱数生成回路12(5)とである。
図6に示す第2回路13は第1の実施形態と同様である。
次に、本実施形態における疑似乱数生成器強度評価装置2について図3及び8を参照しながら説明する。
本実施形態に係る疑似乱数強度評価装置2の機能構成及びハードウェア構成は第1実施形態のものと同様である。
以下に各部を説明する。
第1回路構成データ受付部21は、第1回路12の構成に関するデータである第1回路構成データを受け付けるものであり、レジスタ数データ受付部211と、強度値データ受付部212と、周期長データ受付部213とを備えている。
レジスタ数データ受付部211は、第1回路12に含まれるレジスタ数を示すレジスタ数データを受け付けるメモリ102等であり、第1実施形態における第1回路構成データ受付部21と同様である。
強度値データ受付部212は、第1回路12となる疑似乱数生成器1の強度を表す強度値を示す強度値データを受け付けるメモリ102等である。
周期長データ受付部213は、測定又は推定された疑似乱数の周期長を示す周期長データを受け付けるメモリ102等である。
第2回路構成データ受付部22は、第1実施形態に同様である。
評価部23は、第1回路構成データが示すレジスタ数と、強度値と、周期長とに基づいて第2回路構成データが示す算出手順を用い評価値を算出するものである。
ここで、レジスタ数と強度と周期長との関係について説明する。
ある強度値を有する疑似乱数生成器1が生成する疑似乱数は、レジスタ数が前記強度値の示す数と同数のLFSR回路を用いて生成可能である。このため、所定の強度を持った疑似乱数生成器1を、同数のレジスタRを持つLFSR回路を備えるもの見なせばレジスタ数と強度とを同様に扱うことが可能である。また、本願発明者の研究により、2強度−1≦周期長≦2線形複雑度−1といった関係が成り立つことが判明している。このため、周期長が得られれば、強度の存在範囲の上限を推定することができ、とりわけM系列のLFSRについては2レジスタ数−1=周期長の関係が成り立つことから、log(周期長+1)と強度とを同様に扱うことができる。そこで、入出力の関係が不明な第1回路12(4)、12(5)についても、その強度又は周期長が判明する又は推定可能であれば、M系列のLFSRとみなし、前記第1回路12(4)、12(5)を含む疑似乱数生成器1の強度の評価を行うことが可能となる。
本評価部23では、まず第1実施形態と同様にして算出式を評価式へ変換する。次に入出力の関係が不明な回路についても、レジスタ数と強度とlog(周期長+1)とを同様に扱い、LFSR回路にはそのレジスタ数を、強度値が与えられている回路にはその強度値を、周期長が与えられている回路にはlog(周期長+1)を対応付けて評価式の各変数へ代入し演算処理を行うことにより、第1実施形態と同様にして評価値である実数を算出する。
以下に図3、7及び8を参照しながら、図9のフローチャートを用いて、本実施形態における疑似乱数生成器強度評価装置2の動作の一例を示す。
図3に示す第1回路構成データ受付部21が第1回路構成データを受け付ける。即ち、図8に示すレジスタ数データ受付部211は図7に示す1番目の第1回路12(1)のレジスタ数を示すレジスタ数データを受け付け、強度値データ受付部212は2番目の第1回路12(4)の強度値を示す強度値データを受け付け、周期長データ受付部213は3番目の第1回路12(5)の周期長を示す周期長データを受け付ける(ステップSb1)。以下、i番目の第1回路12のレジスタ数またはそれと同様の値をr、全第1回路構成データをR’とすると、図7より各第1回路12に対応する第1回路構成データの値は以下のようになる。

図3に示す第2回路構成データ受付部22が、算出手順を表す以下の式(5)の右辺に示す算出式を示す第2回路構成データを受け付ける(ステップSb2)。なお、第1実施形態同様に第2回路構成データの格納形式は数式を直接表すものでなくても構わない。なお、x(t)及びf(・)の定義は第1実施形態と同様である。
評価部23が、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで式(6)に示す評価式とする(ステップSb3)。なお、F(・)の定義は第1実施形態と同様である。
評価部23が、周期長より強度値を推定し第1回路構成データを変換する(ステップSb4)。変換済みの全第1回路構成データを以下のようにRで表す。
評価部23が、代入し(式(7))、評価値を算出する(ステップSb5)。
このような疑似乱数生成器強度評価装置2であれば、入出力の関係が明らかでない部分的な回路を備えた疑似乱数生成器1であっても、その回路から出力される疑似乱数の周期長が推定可能でさえあれば、疑似乱数生成器1の評価を行える。また強度が判明している回路について、部分的な回路の既知の強度値に基づいて疑似乱数生成器全体の強度値を段階的に算出することが可能となる。更に、条件分岐や判断の少ない単純且つ効率的な処理であり、自動化にも好適である。
<第3実施形態>
本願発明に係る第3の実施形態について以下に説明する。
暗号化装置3の機能構成について説明する。
暗号化装置3は、図10に示すように強度要求値データ受付部31と、疑似乱数生成部32と、第1強度値データ格納部33と、算出手順設定部34と、暗号化部35とを備えたものである。
本実施形態に係る暗号化装置3のハードウェア構成は、図4に示すように、第1実施形態の疑似乱数生成器強度評価装置2と同様の汎用コンピュータである。本実施形態では、図10に示すように、前記コンピュータに所定のプログラムをインストールし、そのプログラムに基づいてCPU101や周辺機器を共働させることにより、強度要求値データ受付部31、疑似乱数生成部32、第1強度値データ格納部33、算出手順設定部34、暗号化部35等として機能するようにしている。
以下に暗号化装置3の各部を詳細に説明する。
強度要求値データ受付部31は、暗号化の強度要求値を示す強度要求値データを受け付けるメモリ102等である。
疑似乱数生成部32は、シードより定まり所定のビット数で表現可能な値に基づき第1疑似乱数を算出する第1算出部12と、第1疑似乱数を変数とするブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2算出部13とを備え、第2疑似乱数を生成するものである。本実施形態では、第1実施形態で説明した図1に示す疑似乱数生成器2の、3つのLFSR回路12と同様のLFSR算出部を第1算出部12として備えている。そして各第1算出部12はシフトレジスタRに対応するメモリ102を有している。また第2算出部13はメモリ102の実行可能領域上に、その算出手順を再設定可能な状態で設けられている。
第1強度値データ格納部33は、第1算出部12について疑似乱数生成器強度評価装置2が予め算出した評価値等の強度値を示す第1強度値データ格納しているメモリ102等である。なおこの格納されている強度値データが示す強度値を第1強度値等として後述する算出手順設定部34の評価式が算出する第2強度値と区別している。第1強度値を示す第1強度値データは第1算出部12を示す名前やID等と対応付けられて格納されている。データ及びデータ構造を図12に示す。
算出手順設定部34は、第1強度値と積演算子と和演算子とを含み第2強度値を算出する評価式を、強度要求値以上の値である第2強度値を算出するように作成した後、第1強度値データに含まれる第1強度値と第1算出部12との対応を辿り、前記評価式に含まれる第1強度値を対応する第1疑似乱数を表す変数へ変換し、演算子を、積演算子からAND演算子へ、和演算子からEX−OR演算子へと対応付けて変換することでブール代数式である算出式を作成し、算出式で表される算出手順を第2算出部13へ設定するものである。
暗号化部35は、疑似乱数生成部32にシードを設定し、得られる第2疑似乱数を用いて、例えば平文と第2疑似乱数とのEX−ORを演算処理することで暗号文を算出し、暗号文データを出力するものである。
以下に図10及び12を参照しながら、図11のフローチャートを用いて、本実施形態における暗号化装置3の動作の一例を示す。
図10に示す強度要求値データ受付部31が強度要求データを受け付けメモリ102内に格納する(ステップSc1)。ここでは強度要求値を6とする。
算出手順設定部34が、第1強度値データ格納部33が格納している図12に示す第1強度値データを参照し、強度要求値以上の値を示すように評価式を作成する(ステップSc2)。評価式の作成は、式の構造と第1強度値との組み合わせを評価し、条件を満たすものを選ぶことで行う。式の構造とは、式より変数の区別を除いて得られるものであり、統計的に優れた性質が得られる式の構造を図示しない格納部へ予め格納しておき利用するようにしている。ここでは1番目及び2番目の第1算出部12と対応する第1強度値を用い、以下の評価式(式(8))が得たものとする。
評価式の値である第2強度値は6であり、要求強度値以上であることから条件を満たしている。
図10に示す算出手順設定部34が、強度値データを参照して前記評価式に含まれる前記第1強度値を対応する変数へ変換し、演算子を、積演算子からAND演算子へ、和演算子からEX−OR演算子へと対応付けて変換することで算出式(式(9))を得る(ステップSc3)。ここで時刻tにおいてi番目の第1算出部12が出力する第1疑似乱数をx(t)として表している。
算出式で表される算出手順を、第2算出部13へ設定する(ステップSc4)。ここでは、予め第2算出部13がパラメータに基づいて第2疑似乱数の算出を行うように構成しておき、前記パラメータを算出式に基づいて設定することで算出手順を設定するようにしている。
暗号化部35が、疑似乱数生成部32へ図示しないシードを設定する(ステップSc5)。このとき、疑似乱数生成器1の第1回路12の各シフトレジスタRに対応する第1算出部12の各メモリ102へ、シードに基づいた値の設定を行う。
暗号化部35が、平文を示す平文データと第2疑似乱数を示す第2疑似乱数データとのEX−ORを演算処理することで暗号化し、得られる暗号文データを出力する(ステップSc6)。
このような暗号化装置3であれば、要求された強度を満たしつつ、効率的に暗号化を行うことができる。また、予め統計的条件を考慮して式の構造を格納しており、これを用いて算出手順を設定しているので統計的性質も優れたものとなる。
更に、例えば予め第1回路12が算出する第1疑似乱数の統計的性質に関するデータを第1強度値データ格納部33が格納しており、前記統計的性質に関するデータに基づいて評価式を作成するようにすれば、統計的により安全に暗号化を行うこともできる。
また、例えば暗号化を行ったデータのビット量が2の第2強度値乗で示される推定周期を超える前に、暗号化部35が前記シードを変更するようにすれば、より安全である。このようにするには、暗号化部35がメモリ102等であるカウンタを有し、ステップSc5で暗号化を行ったデータのビット量をカウントしておき、推定周期を超える前にステップSc4を実行するようにすればよい。
また、例えば第1強度値データ格納部33に代えて、評価式の値である第2強度値データと、評価式に基づいて定まる算出手順を表す算出手順データとを対応させて格納している第2強度値手順対応データ格納部を備え、算出手順設定部34が、強度要求値以上の値を示す強度値データと対応している算出手順を第2算出部13へ設定するようにすれば、算出手順の設定を高速化できる。このようにした場合の第2強度値手順対応データの構造を図13に示す。なお図中では算出手段に現れる第1強度値と対応する変数を第1算出部名で表している。
なお、本発明は上記実施形態に限られない。
例えば、第1及び第2実施形態における疑似乱数生成器も、疑似乱数生成器強度評価装置と同一のコンピュータ上で動作するプログラムであっても構わない。また、FPGA等の再構成可能なハードウェア上に構成されたものであっても構わない。
第2実施形態における入出力の関係が不明な第1回路について、例えば前記第1回路をLFSR回路以外の回路と見なす場合、前記各第1回路のレジスタ数と同様の値はその回路の特性に応じて、例えば1以上2−1以下の値に、適切に定めるようにして構わない。
前記各構成の一部又は全部を適宣組み合わせてもよい。例えば、第3実施形態における疑似乱数生成部が第2実施形態における疑似乱数生成器と同様のもの等であっても構わないし、暗号化装置が疑似乱数生成器強度評価装置を備え、第1算出部を動的に評価するなどとしても構わない。
その他本発明の趣旨を逸脱しない範囲で様々な変形が可能である。
本発明の第1の実施形態における疑似乱数生成器の機能ブロックを示す第1疑似乱数生成器機能ブロック図。 同実施形態における疑似乱数生成器の回路の概略を示す第1概略回路図。 同実施形態における疑似乱数生成器強度評価装置の機能ブロックを示す第1疑似乱数生成器強度評価装置機能ブロック図。 同実施形態における疑似乱数生成器強度評価装置のハードウェア構成を示す疑似乱数生成器強度評価装置ハードウェア構成図。 同実施形態における疑似乱数生成器強度評価装置の処理フローの一例を示す第1疑似乱数生成器強度評価装置フローチャート。 本発明の第2の実施形態における疑似乱数生成器の機能ブロックを示す第2疑似乱数生成器機能ブロック図。 同実施形態における疑似乱数生成器の回路の概略を示す第2概略回路図。 同実施形態における第1回路構成データ受付部の機能ブロックを示す第1回路構成データ受付部機能ブロック図。 同実施形態における疑似乱数生成器強度評価装置の処理フローの一例を示す第2疑似乱数生成器強度評価装置フローチャート。 本発明の第3の実施形態における暗号化装置の機能ブロックを示す暗号化装置機能ブロック図。 同実施形態における暗号化装置の処理フローの一例を示す暗号化装置フローチャート。 同実施形態における第1強度値データ格納部のデータとデータ構造の一例を示す第1強度値データ格納部データ構造図。 同実施形態の別の例における第2強度値手順対応データ格納部のデータとデータ構造の一例を示す第2強度値手順対応データ格納部データ構造図。
符号の説明
1…疑似乱数生成器
12…第1回路
13…第2回路
2…疑似乱数生成器強度評価装置
23…評価部
3…暗号化装置
31…強度要求値データ受付部
32…疑似乱数生成部
33…第1強度値データ格納部
34…算出手順設定部
35…暗号化部

Claims (6)

  1. 所定の周期長を有すると推定される第1疑似乱数を算出する第1回路と、前記第1疑似乱数を変数とする予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路とを備えた疑似乱数生成器の線形解読法に対する強度評価を行うものであって、
    前記ブール代数式の構造を変えることなく、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで得られる評価式の前記変数へ底を2として前記周期長に1を足した値の対数値を代入し、評価値である実数を算出する疑似乱数生成器強度評価装置。
  2. 第1疑似乱数を算出する所定数のシフトレジスタを有したLFSRである第1回路と、前記第1疑似乱数を変数とする予め定められたブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2回路とを備えた疑似乱数生成器の線形解読法に対する強度評価を行うものであって、
    前記ブール代数式の構造を変えることなく、演算子をAND演算子から積演算子へ、EX−OR演算子から和演算子へと対応付けて変換し、定数項を取り除くことで得られる評価式の前記変数へ前記所定数を代入し、評価値である実数を算出する疑似乱数生成器強度評価装置。
  3. 前記ブール代数式が、前記算出手順の一部を簡略化して表したものであることを特徴とする請求項1又は2記載の疑似乱数生成器強度評価装置。
  4. 暗号化の強度要求値を示す強度要求値データを受け付ける強度要求値データ受付部と、
    第1疑似乱数を算出する第1算出部と、前記第1疑似乱数を変数とするブール代数式で表される算出手順を適用し、第2疑似乱数を算出する第2算出部とを備えた疑似乱数生成部と、
    前記第1算出部について請求項1又は2記載の疑似乱数生成器強度評価装置が算出した評価値等、疑似乱数生成器の強度を表す第1強度値を示す第1強度値データを予め格納している第1強度値データ格納部と、
    前記第1強度値と積演算子と和演算子とを含み、前記強度要求値以上の値を示す第2強度値を算出する評価式を作成した後、前記評価式に含まれる前記第1強度値を対応する前記変数へ変換し、演算子を、積演算子からAND演算子へ、和演算子からEX−OR演算子へと対応付けて変換することで前記ブール代数式とし、前記ブール代数式で表される前記算出手順を前記第2算出部へ設定する算出手順設定部と、
    前記第2疑似乱数を用いて暗号化を行う暗号化部とを備えた暗号化装置。
  5. 前記疑似乱数生成部が備える前記第1算出部が、初期値であるシードより定まり所定のビット数で表現可能な値に基づき、第1疑似乱数を算出するものであり、
    前記暗号化部が、前記疑似乱数生成部に前記シードを設定し、前記第2疑似乱数を用いて暗号化を行うものであって、
    暗号化を行ったデータのビット量が2の前記第2強度値乗から1を引いた値で示される推定周期を超える前に、前記暗号化部が前記シードを変更するようにしたものであることを特徴とする請求項4記載の暗号化装置。
  6. 前記第1強度値データ格納部に換えて、予め算出した前記第2強度値を示す第2強度値データと、前記算出手順を示す算出手順データとを対応させて格納している第2強度値手順対応データ格納部を備え、
    前記算出手順設定部が、前記強度要求値以上の値を示す第2強度値データと対応している前記算出手順を前記第2算出部へ設定するようにした請求項4又は5記載の暗号化装置。
JP2005107335A 2005-04-04 2005-04-04 疑似乱数生成器強度評価装置及び暗号化装置 Expired - Fee Related JP4547534B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005107335A JP4547534B2 (ja) 2005-04-04 2005-04-04 疑似乱数生成器強度評価装置及び暗号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005107335A JP4547534B2 (ja) 2005-04-04 2005-04-04 疑似乱数生成器強度評価装置及び暗号化装置

Publications (2)

Publication Number Publication Date
JP2006285830A JP2006285830A (ja) 2006-10-19
JP4547534B2 true JP4547534B2 (ja) 2010-09-22

Family

ID=37407667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005107335A Expired - Fee Related JP4547534B2 (ja) 2005-04-04 2005-04-04 疑似乱数生成器強度評価装置及び暗号化装置

Country Status (1)

Country Link
JP (1) JP4547534B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121710A2 (ja) * 2012-02-15 2013-08-22 北陸日本電気ソフトウェア株式会社 評価装置、評価方法、及び、評価プログラム
JP6201234B2 (ja) * 2013-09-03 2017-09-27 Necスペーステクノロジー株式会社 デジタル変復調方法及びシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09509748A (ja) * 1993-12-01 1997-09-30 ライク,ウイリアム,マイケル 非決定論的公開キー暗号化システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769662B2 (ja) * 1988-08-03 1995-07-31 松下電器産業株式会社 二元擬似乱数発生器
JPH10240500A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
JPH11224183A (ja) * 1998-02-05 1999-08-17 Toyo Commun Equip Co Ltd 擬似乱数発生装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09509748A (ja) * 1993-12-01 1997-09-30 ライク,ウイリアム,マイケル 非決定論的公開キー暗号化システム

Also Published As

Publication number Publication date
JP2006285830A (ja) 2006-10-19

Similar Documents

Publication Publication Date Title
Essaid et al. Image encryption scheme based on a new secure variant of Hill cipher and 1D chaotic maps
CA2723405C (en) Cryptographic system including a random number generator using finite field arithmetics
Courtois et al. Solving circuit optimisation problems in cryptography and cryptanalysis
JP4851493B2 (ja) 先験的に定義された統計的アーティファクトを有する混合基数変換
EP2962185B1 (en) Random number generator and stream cipher
JP5001176B2 (ja) 署名生成装置、署名生成方法及び署名生成プログラム
JP4052480B2 (ja) 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
Kanso Self-shrinking chaotic stream ciphers
JP5165755B2 (ja) 有限体演算を用いる暗号学的乱数発生器
JP6135804B1 (ja) 情報処理装置、情報処理方法及びプログラム
Fúster-Sabater et al. A simple linearization of the self-shrinking generator by means of cellular automata
JP4547534B2 (ja) 疑似乱数生成器強度評価装置及び暗号化装置
Budati et al. High speed data encryption technique with optimized memory based RSA algorithm for communications
Arı et al. Generation of substitution box structures based on blum blum shub random number outputs
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
Kotel et al. Lightweight encryption algorithm based on modified XTEA for low-resource embedded devices
Al-naamee et al. Improved El Gamal public key cryptosystem using 3D chaotic maps
Shams et al. Cryptosystem an Implementation of RSA using Verilog
Gwynne et al. Towards a better understanding of SAT translations
Alsaadi et al. Enhancement of non-linear generators and calculate the randomness test for autocorrelation property
Adamowicz et al. Wireless short-range device for wind generators
JP5388684B2 (ja) 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム
Martínez-Ñonthe et al. Cryptosystem with one dimensional chaotic maps
Karudaiyar et al. Encryption and Decryption Scheme by Using Finite State Machine
Xin et al. An image encryption base on non-linear pseudo-random number generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100616

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees