(57)【特許請求の範囲】
【請求項１】
それぞれが初期値を用いて自身の出力値を非線形変換することにより次の出力値（擬似乱数）を生成する、直列に接続された複数の擬似乱数生成回路を有し、２段目以降の前記各擬似乱数生成回路は、前段の擬似乱数生成回路から出力される擬似乱数を初期値として擬似乱数を生成する擬似乱数生成部と、
前記複数の擬似乱数生成回路から出力される擬似乱数のいずれか１つを選択して自装置の出力値とする擬似乱数制御部と、
前記複数の擬似乱数生成回路のそれぞれから出力される擬似乱数および外部から入力される外部データを論理演算して得られる値を、前記複数の擬似乱数生成回路のうち１段目の擬似乱数生成回路に対して自身の出力値を非線形変換するための次の前記初期値として出力する初期値制御部と、
を備えた擬似乱数生成装置。
【請求項２】
前記擬似乱数制御部は、前記複数の擬似乱数生成回路の各出力値に基づいて、前記擬似乱数生成回路の個数分の異なる値をとりうる選択信号を生成し、生成した選択信号に基づいて前記複数の擬似乱数生成回路の各出力値のいずれかを選択して出力することを特徴とする請求項１に記載の擬似乱数生成装置。
【請求項３】
前記初期値制御部は、前記複数の擬似乱数生成回路のそれぞれから出力される擬似乱数および前記外部データの排他的論理和を、前記初期値として出力することを特徴とする請求項１または請求項２に記載の擬似乱数生成装置。
【請求項４】
第１から第ｎ（ｎは２以上の整数）までの擬似乱数生成回路であって、それぞれが初期値を用いて自身の出力値を非線形変換することにより次の出力値（擬似乱数）を生成する擬似乱数生成回路を有する装置において、
第ｉ（ｉは１以上の整数）の擬似乱数生成回路によって生成される擬似乱数を初期値として、第（ｉ＋１）の擬似乱数生成回路によって擬似乱数を生成し、
前記ｎ個の擬似乱数生成回路により生成されるｎ個の擬似乱数のうち１つを選択して出力し、
前記ｎ個の擬似乱数生成回路により生成されるｎ個の擬似乱数および外部から入力される外部データを論理演算して得られる値を、前記第１の擬似乱数生成回路において自身の出力値を非線形変換するための次の前記初期値として用いる擬似乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擬似乱数を生成する擬似乱数生成装置に関する。
【背景技術】
【０００２】
擬似乱数は、暗号や認証などに利用されている。擬似乱数は、例えば線形フィードバックシフトレジスタ（ＬＦＳＲ: Linear Feedback Shift Register）により生成される。ＬＦＳＲは、直列に接続された複数のレジスタを有している。そして、その複数のレジスタのうち所定の出力が、排他的論理和回路（ＥＸＯＲ回路）を介して先頭のレジスタにフィードバックされる。初期値が設定された後、ＬＦＳＲは、所定のシフトクロックに基づいて動作する。その結果、ＬＦＳＲは、初期値に依存するパターンの擬似乱数列を所定の周期で繰り返し出力する。このようなＬＦＳＲは、フィードバック経路にＥＸＯＲ回路を設けることにより、長周期の乱数列を得ることを可能としている。
【０００３】
ただし、ＬＦＳＲによる擬似乱数の生成論理は、出力パターンから数学的に容易に解析可能である。従って、ＬＦＳＲを利用した擬似乱数生成回路では、生成される擬似乱数の乱数性を高めるための工夫が必要となる。例えば、初期値を変更可能にしたり、複数段のＬＦＳＲをカスケード接続したりすることが一般的である。あるいは、非線形フィードバックシフトレジスタ（ＮＬＦＳＲ: Non-Linear Feedback Shift Register）を用いることや、初期値をランダム化することも考えられる。
【０００４】
特許文献１には、ＬＦＳＲを応用して非線形化することにより擬似乱数を生成する擬似乱数生成装置が記載されている。また特許文献２および特許文献３には、ランダムな初期値を利用した擬似乱数生成装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２５９０１３号公報
【特許文献２】WO２００３／０９６１８１
【特許文献３】特開平１１−２５２０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献1に記載された擬似乱数生成装置は、複数のカウンタを用いて初期値の生成を行っている。ここで、カウンタの出力値は、オーバーフローすることにより０に戻る。つまり、カウンタの出力値には周期性がある。このため、カウンタを用いて初期値を生成すると、一定の周期で同一の初期値が生成される可能性がある。したがって、このような擬似乱数生成装置では、初期値の周期を長くしてその予測可能性を低減することが求められる。しかしながら、このような擬似乱数生成装置の構成では、初期値の周期を長くするには、カウンタサイズの増加が必要である。カウンタサイズの増加は、回路規模および消費電力の増大を招く。また、このような擬似乱数生成装置では、カウンタにクロックが供給されない等の要因によりカウンタ動作が停止すると、初期値が固定値となる。このような場合、初期値の予測可能性が高くなってしまうという問題もある。
【０００７】
また、特許文献２に記載された擬似乱数生成装置は、ランダムな初期値として、電子機器の電源投入後からの経過時間に基づく値を演算している。しかしながら、この擬似乱数生成装置は、経過時間の測定にカウンタを使用している。このような経過時間そのものはランダムな値であっても、その測定にカウンタを用いると、測定値の範囲は、カウンタサイズに依存する上限値までとなってしまう。したがって、このような擬似乱数生成装置においても、測定値の上限値を大きくして初期値の予測可能性を低減することが求められる。しかしながら、特許文献１に記載のものと同様、このような擬似乱数生成装置の構成では、測定値の上限値を大きくするには、カウンタサイズの増加が必要である。カウンタサイズの増加は、回路規模および消費電力の増大を招く。また、この擬似乱数生成装置においても、電子機器の電源投入後からの経過時間を計測する機能が外因により停止すると初期値が固定値となる。このような場合、初期値の予測可能性が高くなってしまうという問題もある。
【０００８】
本発明は、上述の課題を解決するためになされたもので、回路規模を増大させることなく、擬似乱数生成において用いられる初期値の乱数性を高めて擬似乱数の乱数性を向上させる擬似乱数生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の擬似乱数生成装置は、初期値を用いて擬似乱数を生成する擬似乱数生成部と、外部から入力される外部データおよび前記擬似乱数生成部から出力される擬似乱数を論理演算して得られる値を、前記初期値として前記擬似乱数生成部に対して出力する初期値制御部と、を備える。
【００１０】
また、本発明の擬似乱数生成方法は、初期値を用いて擬似乱数を生成する擬似乱数生成方法であって、生成した擬似乱数をフィードバックデータとして、該擬似乱数および外部から入力される外部データを論理演算して得られる値を初期値として次の擬似乱数を生成する。
【発明の効果】
【００１１】
回路規模を増大させることなく、擬似乱数生成処理において用いられる初期値の乱数性を高めることにより擬似乱数の乱数性を向上させる擬似乱数生成装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態としての擬似乱数生成装置の構成を示すブロック図である。
【図２】本発明の第２の実施の形態としての擬似乱数生成装置の構成を示すブロック図である。
【図３】本発明の第２の実施の形態における初期値制御部の構成を示すブロック図である。
【図４】本発明の第２の実施の形態における擬似乱数生成部の構成を示すブロック図である。
【図５】本発明の第２の実施の形態における擬似乱数制御部の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１４】
（第１の実施の形態）
本発明の第１の実施の形態としての擬似乱数生成装置１の構成を図１に示す。図１において、擬似乱数生成装置１は、初期値制御部１１と、擬似乱数生成部１２とを備える。
【００１５】
初期値制御部１１には、擬似乱数生成部１２からのフィードバックデータ、および、外部データが入力される。この外部データは、デジタルデータである。また、外部データは、固定値でないものが望ましい。例えば、外部データは、擬似乱数生成装置１を搭載する電子機器に内蔵されているデジタル時計機能から取得される時刻データであってもよい。また、外部データは、ランダムなアナログデータがデジタル変換されたデータであってもよい。例えば、外部データは、擬似乱数生成装置１を搭載する電子機器の外部に接続されたアナログデータ測定機器（例えば、湿度計・震度計・光度計・風速計・騒音計など）から取得されるアナログデータがデジタル変換されたものであってもよい。
【００１６】
また、初期値制御部１１は、フィードバックデータおよび外部データを論理演算して得られる値（論理演算値）を、擬似乱数生成部１２に出力する。例えば、初期値制御部１１は、フィードバックデータおよび外部データの排他的論理和を擬似乱数生成部１２に出力してもよい。
【００１７】
擬似乱数生成部１２は、初期値制御部１１から出力される値を初期値とする擬似乱数生成処理を実行し、擬似乱数を生成する。擬似乱数生成部１２には、初期値を用いて擬似乱数を生成する公知の技術を適用可能である。例えば、擬似乱数生成部１２は、初期値を用いて自回路の出力値を非線形変換することにより次の出力値とする非線形フィードバックレジスタによって構成されてもよい。
【００１８】
以上のように構成される擬似乱数生成装置１の動作について説明する。
【００１９】
まず、初期値制御部１１に、外部データおよび擬似乱数生成部１２からのフィードバックデータが入力される。なお、初期値制御部１１には、電源投入直後は、擬似乱数生成部１２からのフィードバックデータとして乱数性の低いデータが入力される。しかしながら、下記に述べるように一旦動作した後は、初期値制御部１１には、フィードバックデータとして乱数性の高い擬似乱数が入力されるようになる。
【００２０】
次に、初期値制御部１１は、入力された外部データおよびフィードバックデータの論理演算値（例えば排他的論理和）を、擬似乱数生成部１２に出力する。
【００２１】
次に、擬似乱数生成部１２は、初期値制御部１１から入力された値を初期値として擬似乱数生成処理を行い、擬似乱数を生成する。
【００２２】
生成された擬似乱数は、フィードバックデータとして初期値制御部１１に入力されるとともに、擬似乱数生成装置１の出力値として出力される。
【００２３】
以上で、擬似乱数生成装置１の動作の説明を終了する。
【００２４】
次に、本発明の実施の形態の効果について述べる。
【００２５】
本発明の第１の実施の形態としての擬似乱数生成装置は、回路規模を増大させることなく、擬似乱数生成において用いられる初期値の乱数性を高めて擬似乱数の乱数性を向上させることができる。
【００２６】
その理由は、初期値制御部が、外部データおよび擬似乱数生成部からのフィードバックデータの論理演算値を、擬似乱数生成処理で用いられる初期値として擬似乱数生成部に出力するからである。これにより、本実施の形態としての擬似乱数生成装置は、外部データに周期性が存在したとしても、外部データおよび擬似乱数生成回路からのフィードバックデータの論理演算値を初期値とすることにより、初期値の周期性を乱すことができる。また、本実施の形態としての擬似乱数生成装置は、擬似乱数生成処理の初期値として擬似乱数生成部からのフィードバックデータのみを用いる場合と比べて、フィードバックデータおよび外部データの論理演算値を初期値とすることにより、擬似乱数の乱数性を上げることになる。また、本実施の形態としての擬似乱数生成装置は、外因により外部データが固定値となった場合でも、外部データおよび擬似乱数生成回路からのフィードバックデータの論理演算値を初期値とするため、固定値を初期値として用いることがない。その結果、本実施の形態としての擬似乱数生成装置は、出力される擬似乱数の解析をより困難にすることができる。しかも、このような乱数性の高い初期値を生成する本実施の形態の初期値制御部は、膨大なビット数のカウンタを有した初期値生成回路や、そのカウンタが同じ値とならないようにクロックを生成する回路を不要とし、論理演算回路のみを用いて実現可能である。これにより、本実施の形態としての擬似乱数生成装置は、初期値の乱数性向上のために回路規模および消費電力を増加させることがない。
【００２７】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。まず、本発明の第２の実施の形態としての擬似乱数生成装置２の構成を図２に示す。
【００２８】
図２において、擬似乱数生成装置２は、初期値制御部２１と、擬似乱数生成部２２と、擬似乱数制御部２３とを備える。また、擬似乱数生成部２２は、擬似乱数生成回路２４ａ〜２４ｄ（以降、総称して擬似乱数生成回路２４ともいう）を有する。なお、図２には、４つの擬似乱数生成回路２４を示したが、本発明の擬似乱数生成部が有する擬似乱数生成回路の数を限定するものではない。
【００２９】
初期値制御部２１には、外部データＤＤおよび擬似乱数ＤＯａ〜ＤＯｄが入力される。この擬似乱数ＤＯａ〜ＤＯｄは、擬似乱数生成回路２４ａ〜２４ｄからの各出力値（フィードバックデータ）である。初期値制御部２１の回路構成例を図３に示す。図３において、初期値制御部２１は、ＥＸＯＲ回路２０１〜２０４を有する。初期値制御部２１は、これらの回路を用いて、外部データＤＤおよび擬似乱数ＤＯａ〜ＤＯｄに基づく信号ＤＩを出力する。
【００３０】
擬似乱数生成回路２４は、初期値ＤＩを用いて擬似乱数生成処理を行い、生成した擬似乱数ＤＯを出力する回路である。図２に示したように、これらの擬似乱数生成回路２４は、直列に接続される。すなわち、擬似乱数生成回路２４ａには、初期値制御部２１からの出力値ＤＩが、初期値ＤＩａとして入力される。また、擬似乱数生成回路２４ｂには、擬似乱数生成回路２４ａから出力される擬似乱数ＤＯａが、擬似乱数生成の初期値ＤＩｂとして入力される。また、擬似乱数生成回路２４ｃには、擬似乱数生成回路２４ｂから出力される擬似乱数ＤＯｂが、擬似乱数生成の初期値ＤＩｃとして入力される。また、擬似乱数生成回路２４ｄには、擬似乱数生成回路２４ｃから出力される擬似乱数ＤＯｃが、擬似乱数生成の初期値ＤＩｄとして入力される。
【００３１】
各擬似乱数生成回路２４から出力される擬似乱数ＤＯａ〜ＤＯｄは、前述のように、初期値制御部２１に入力される。
【００３２】
また、擬似乱数生成回路２４は、非線形フィードバックシフトレジスタ（NLFSR）と同等の機能を有するものである。このような擬似乱数生成回路２４の回路構成例を図４に示す。図４において、擬似乱数生成回路２４は、シフトレジスタ２０５と、非線形変換部２０６とを備える。
【００３３】
シフトレジスタ２０５は、Ｎ個のフリップフロップ２０７から構成される。Ｎは２以上の整数であり、たとえば１６である。シフトレジスタ２０５には、Ｎビットのデータがパラレルに入力される。また、シフトレジスタ２０５からは、Ｎビットのデータがパラレルに出力される。この出力データが、ＤＯ（擬似乱数）となる。また、クロック信号ＣＬＫは、Ｎ個の各フリップフロップ２０７に供給される。シフトレジスタ２０５は、クロック信号ＣＬＫに基づいて動作する。つまり、シフトレジスタ２０５は、クロック信号ＣＬＫに同期して入力データの値を取り込む。そして、シフトレジスタ２０５は、次のクロック信号ＣＬＫの立ち上がりエッジまで、取り込んだ値を保持して出力している。すなわち、シフトレジスタ２０５のデータ値は、クロック信号ＣＬＫに同期して更新される。
【００３４】
非線形変換部２０６は、排他的論理和を演算するＥＸＯＲ回路２０８、２１０と、論理積を演算するＡＮＤ回路２０９と、置換回路２１１とを有する。非線形変換部２０６は、これらの回路を用いて、シフトレジスタ２０５からの出力データを、初期値ＤＩを用いて非線形変換し、シフトレジスタ２０５に入力する。非線形変換されたデータは、次のクロック信号ＣＬＫに同期してシフトレジスタ２０５に取り込まれることになる。具体的には、非線形変換部２０６は、シフトレジスタ２０５からの出力データおよび初期値ＤＩの排他的論理和と、シフトレジスタ２０５からの出力データおよび初期値ＤＩの論理積とを演算し、ビットの入れ替え行うことにより、非線形化を実現している。
【００３５】
擬似乱数制御部２３は、擬似乱数生成回路２４ａ〜２４ｄから出力される各擬似乱数ＤＯａ〜ＤＯｄの中から1つを選択して出力する。このような擬似乱数制御部２３の回路構成例を図５に示す。擬似乱数制御部２３は、ＥＸＯＲ回路２１２〜２１７と、セレクタ２１８とを有する。擬似乱数制御部２３は、これらの回路を用いて、擬似乱数ＤＯａ〜ＤＯｄに基づく選択信号を生成し、選択信号に基づいて擬似乱数ＤＯａ〜ＤＯｄの１つを選択する。ここで、選択信号は、擬似乱数生成回路２４の個数分の異なる値をとりうる信号である。本実施形態では、擬似乱数生成回路２４の個数は４なので、選択信号は２ビットの信号である。
【００３６】
以上のように構成された擬似乱数生成装置２の動作について、図３〜図５を参照して説明する。
【００３７】
まず、図３の初期値制御部２１に、外部データＤＤと、擬似乱数制御回路２４ａ〜２４ｄからのフィードバックデータＤＯａ〜ＤＯｄが入力される。前述のように、外部データＤＤは、擬似乱数生成装置２の外部から入力されるデジタルデータである。前述のように、外部データＤＤは、固定値でないことが望ましい。ここでは、外部データＤＤは、擬似乱数生成装置２を搭載する電子機器に内蔵されているデジタル計時装置から取得された時刻データであるものとする。なお、外部データＤＤは、時刻データに限らない。
【００３８】
なお、初期値制御部２１には、電源投入直後には、擬似乱数制御回路２４ａ〜２４ｄからのフィードバックデータＤＯａ〜ＤＯｄとしてシフトレジスタ２０５の初期値が入力される。そして、下記に述べるような動作を数回繰り返した後、初期値制御部２１には、フィードバックデータＤＯａ〜ＤＯｄとして擬似乱数が入力されるようになる。
【００３９】
次に、初期値制御部２１において、ＥＸＯＲ回路２０１は、信号ＤＯａおよびＤＯｂの排他的論理和をとる。ＥＸＯＲ回路２０２は、信号ＤＯｃおよび信号ＤＯｄの排他的論理和をとる。ＥＸＯＲ回路２０３は、ＥＸＯＲ回路２０１およびＥＸＯＲ回路２０２の各出力の排他的論理和をとる。ＥＸＯＲ回路２０４は、外部データＤＤおよびＥＸＯＲ回路２０３の各出力の排他的論理和をとる。ＥＸＯＲ回路２０４の出力ＤＩが、擬似乱数生成回路２４ａに出力される。
【００４０】
次に、図４の擬似乱数生成回路２４ａにおいて、ＥＸＯＲ回路２０８は、初期値ＤＩａと、シフトレジスタ２０５から出力される擬似乱数ＤＯａとの排他的論理和をとり、信号ａとして出力する。ＡＮＤ回路２０９は、初期値ＤＩａと、シフトレジスタ２０５から出力される擬似乱数ＤＯａとの論理積をとり、信号ｂとして出力する。ＥＸＯＲ回路２１０は、信号ｂの各ビットの排他的論理和をとり、１ビットの信号ｃとして出力する。置換回路２１１は、信号ａのうち最上位を除くＮ−１ビットを、上位Ｎ−１ビットとし、信号ｃを最下位ビットとする置換データを出力する。この置換データは、シフトレジスタ２０５にパラレルに入力される。シフトレジスタ２０５は、入力される置換データを、クロックＣＬＫに同期して取り込む。取り込まれたＮビットのデータは、擬似乱数ＤＯａとして出力される。
【００４１】
また、擬似乱数生成回路２４ｂには、擬似乱数生成回路２４ａによって生成された擬似乱数ＤＯａが初期値ＤＩｂとして入力されている。そして、擬似乱数生成回路２４ｂは、擬似乱数生成回路２４ａと同様に動作することにより、擬似乱数ＤＯｂを出力する。
【００４２】
また、擬似乱数生成回路２４ｃには、擬似乱数生成回路２４ｂによって生成された擬似乱数ＤＯｂが初期値ＤＩｃとして入力されている。そして、擬似乱数生成回路２４ｃは、擬似乱数生成回路２４ａと同様に動作することにより、擬似乱数ＤＯｃを出力する。
【００４３】
また、擬似乱数生成回路２４ｄには、擬似乱数生成回路２４ｃによって生成された擬似乱数ＤＯｃが初期値ＤＩｄとして入力されている。そして、擬似乱数生成回路２４ｄは、擬似乱数生成回路２４ａと同様に動作することにより、擬似乱数ＤＯｄを出力する。
【００４４】
ここで、擬似乱数生成回路２４ｂ〜２４ｄによって生成された各擬似乱数の乱数周期は前段の擬似乱数生成回路によって生成された各擬似乱数の乱数周期の２乗となる。したがって、擬似乱数生成回路２４ａ〜２４ｄは、異なる周期の擬似乱数を出力することになる。また、擬似乱数生成回路２４ａ〜２４ｄによって生成される擬似乱数ＤＯａ〜ＤＯｄは、同じクロック信号ＣＬＫに同期して値が更新されるため、同じ値となる可能性は極めて低い。
【００４５】
次に、擬似乱数生成回路２４ａ〜２４ｄから出力される擬似乱数ＤＯａ〜ＤＯｄは、擬似乱数制御部２３に入力される。
【００４６】
図５の擬似乱数制御部２３において、ＥＸＯＲ回路２１２は、擬似乱数ＤＯｄの各ビットの排他的論理和をとった１ビットの信号ｅを出力する。同様に、ＥＸＯＲ回路２１３〜２１５は、擬似乱数ＤＯｃ〜ＤＯａの各ビットの排他的論理和をとった１ビットの信号ｆ〜ｈを出力する。そして、ＥＸＯＲ回路２１６は、信号ｅおよび信号ｆの排他的論理和をとった信号ｉを出力する。また、ＥＸＯＲ回路２１７は、信号ｇおよび信号ｈの排他的論理和をとった信号ｊを出力する。
【００４７】
次に、セレクタ２１８は、信号ｉおよび信号ｊのとりうる４通りの値を選択信号とみなして、擬似乱数ＤＯａ〜ＤＯｂのいずれかを選択して出力する。例えば、信号ｉおよびｊ値がともに０の場合、擬似乱数ＤＯａを選択出力し、信号ｉが０および信号ｊが１の場合、擬似乱数ＤＯｂを選択出力するようにしてもよい。このように、乱数強度の異なる各擬似乱数ＤＯａ〜ＤＯｄによって生成される選択信号は、ランダム性を有する。すなわち、擬似乱数制御部２３は、ランダムな選択信号に基づいて、擬似乱数ＤＯａ〜ＤＯｄのいずれか１つを選択し、出力する。
【００４８】
以上で、擬似乱数生成装置２の動作の説明を終了する。
【００４９】
次に、本発明の第２の実施の形態の効果について述べる。
【００５０】
本発明の第２の実施の形態としての擬似乱数生成装置は、回路規模を増大させることなく、擬似乱数生成において用いられる初期値の乱数性をさらに高めることができ、その結果、擬似乱数の乱数性をさらに向上させることができる。
【００５１】
その理由は、複数の擬似乱数生成回路を直列に接続することによって擬似乱数生成部を構成し、１段目の擬似乱数生成回路は、乱数生成の初期値として、各擬似乱数生成回路からの出力値および外部データの排他的論理和をとった値を用いるからである。そして、２段目以降の擬似乱数生成回路は、前段の擬似乱数生成回路からの出力値を乱数生成の初期値として用いるからである。これにより、各擬似乱数生成回路からの出力値の乱数周期は、前段の２乗となる。また、各擬似乱数生成回路からの出力値は、同一のクロックに同期して値が更新されるため、同じ値となる可能性は極めて低い。このように、乱数周期が異なる複数の擬似乱数および外部データの排他的論理和を、１段目の乱数生成回路の初期値として生成することにより、本実施の形態の乱数生成装置は、乱数生成における初期値の乱数性をさらに高めることになる。さらに、擬似乱数制御部は、各擬似乱数生成回路からの出力値に基づき選択信号を生成する。このような選択信号は、前述のように乱数周期の異なる複数の擬似乱数に基づいて生成されるため、乱数性の高いものとなる。したがって、本実施の形態の乱数生成装置は、そのような乱数性の高い選択信号に基づいて、各擬似乱数生成回路からの出力値のいずれかを自装置から出力する。その結果、本実施の形態の乱数生成装置が生成する擬似乱数はより乱数性の高いものとなる。
【００５２】
また、本実施の形態の乱数生成装置は、外部データＤＤと、各擬似乱数生成回路からのフィードバックデータとの排他的論理和を１段目の擬似乱数生成回路の初期値とするので、外部データＤＤが固定値であっても、初期値を固定値とすることがない。このため、本実施の形態の乱数生成装置は、外因により外部データＤＤが固定値となった場合でも、初期値の予測可能性を低減させない。その結果、本実施の形態の乱数生成装置は、生成する擬似乱数の乱数性の高さを維持可能となる。
【００５３】
そして、本実施の形態としての乱数生成装置は、上述のような乱数性の高い初期値を生成する初期値制御部を、排他的論理和回路の組み合わせで実現している。したがって、本実施の形態としての乱数生成装置は、初期値の乱数性向上のために回路規模を増大させることがない。
【００５４】
なお、本発明の実施の形態において、擬似乱数生成部が４つの擬似乱数生成回路を備えるものとして説明したが、本発明の擬似乱数生成部が備える擬似乱数生成回路の数を限定するものではない。擬似乱数生成部がＭ（Ｍは２以上の整数）個の直列に接続された擬似乱数生成回路を備える場合、本実施の形態の初期値制御部は、Ｍ個の擬似乱数生成回路からの各出力値および外部データの排他的論理和を２つずつとっていくことにより初期値ＤＩを生成すればよい。あるいは、初期値制御部は、Ｍ個の擬似乱数生成回路からの各出力値および外部データを論理演算することにより初期値ＤＩを生成するのであれば、その他の論理回路の組み合わせにより実現されてもよい。
【００５５】
また、擬似乱数生成部がＭ個の直列に接続された擬似乱数生成回路を備える場合、本実施の形態の擬似乱数制御部は、Ｍ個の擬似乱数生成回路からの各出力値の各ビットの排他的論理和をとってそれぞれ１ビットの信号をＭ個生成すればよい。そして、本実施の形態の擬似乱数制御部は、生成したＭ個の信号に基づいて、Ｍ通りの値をとりうるｍビットの選択信号を生成すればよい。あるいは、擬似乱数制御部は、Ｍ個の擬似乱数生成回路からの各出力値に基づいてＭ通りの値をとりうるｍビットの選択信号を生成するのであれば、その他の構成であってもよい。
【００５６】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【００５７】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【００５８】
１、２    擬似乱数生成装置
１１、２１    初期値制御部
１２、２２    擬似乱数生成部
２３    擬似乱数制御部
２４、２４ａ〜２４ｄ    擬似乱数生成回路
２０１〜２０４、２０８、２１０、２１２〜２１７    ＥＸＯＲ回路
２０５    シフトレジスタ
２０６    非線形変換部
２０７    フリップフロップ
２０９    ＡＮＤ回路
２１１    置換回路
２１８    セレクタ
【図１】
0005670849.tif 000002
【図２】
0005670849.tif 000003
【図３】
0005670849.tif 000004
【図４】
0005670849.tif 000005
【図５】
0005670849.tif 000006