(57)【要約】【課題】  生成する乱数の予測困難性を一段と向上し得る乱数生成装置を実現する。【解決手段】  暗号回路６は、乱数種ｒ０をもとに発生させた擬似的に不規則な不規則情報であるＭ系列を、擬似乱数ｒｎの生成に用いるＤＥＳ暗号の鍵ｋｎとすることにより、固定値や所定の変数、あるいは乱数種を鍵として用いるよりも一段と予測が困難な擬似乱数ｒｎを生成することができ、かくして生成する擬似乱数の予測困難性を従来と比して一段と向上させることができる。【選択図】          図２
2006024140.tif 000002
【特許請求の範囲】
【請求項１】
乱数種を記憶する記憶部と、
上記乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、
上記不規則情報生成手段で生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成手段と
を具えることを特徴とする乱数生成装置。
【請求項２】
上記乱数生成手段は、
上記生成した乱数を次回の乱数生成時の乱数種とする
ことを特徴とする請求項１に記載の乱数生成装置。
【請求項３】
上記乱数種と乱数生成装置毎に固有の固有情報とを所定の演算方法で演算する演算手段を具え、
上記不規則情報生成手段は、
上記演算手段による演算結果をもとに上記不規則情報を生成する
ことを特徴とする請求項１に記載の乱数生成装置。
【請求項４】
上記乱数種を鍵として乱数生成装置毎に固有の固有情報を暗号化する暗号化手段を具え、
上記不規則情報生成手段は、
上記暗号化手段による暗号化の結果をもとに上記不規則情報を生成する
ことを特徴とする請求項１に記載の乱数生成装置。
【請求項５】
上記不規則情報生成手段は、
線形帰還シフトレジスタでなり、上記不規則情報としてＭ系列を発生する
ことを特徴とする請求項１に記載の乱数生成装置。
【請求項６】
上記乱数生成手段で生成した上記乱数を新たな乱数種として上記記憶部に格納する格納手段を具える
ことを特徴とする請求項１に記載の乱数生成装置。
【請求項７】
上記格納手段は、
電源投入後１回目の乱数生成後に、生成した上記乱数を新たな乱数種として上記記憶部に格納する
ことを特徴とする請求項６に記載の乱数生成装置。
【請求項８】
乱数種を記憶している記憶部から当該乱数種を取得し、当該乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成ステップと、
上記不規則情報生成ステップで生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成ステップと、
を具えることを特徴とする乱数生成方法。
【請求項９】
乱数種を記憶する記憶部と、
上記乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、
上記不規則情報生成手段で生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成手段と
を具えることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は乱数生成装置に関し、例えば機器間の相互認証に使う擬似乱数を発生する擬似乱数生成装置に適用して好適なものである。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）カードを利用した電子マネーシステムや、交通システム等が広く普及している。このようなシステムにおいては、ＩＣカード内に記憶されている個人情報や電子マネーの残高情報等が漏洩したり改竄されたりしないよう安全性を確保することが重要である。
【０００３】
そこでかかるシステムでは、ＩＣカード及びリーダライタ間での相互認証やデータの送受時に、種々の暗号化を利用することにより安全性を確保するようになされている。
【０００４】
例えばＩＣカード及びリーダライタ間での相互認証において、ＩＣカードは、内部で擬似乱数を発生させ、これをリーダライタに送信すると共に、この擬似乱数に対して自身が保有する鍵で暗号化する。リーダライタは、ＩＣカードから擬似乱数を受け取ると、この擬似乱数に対して自身が保有する鍵で暗号化し、この結果をＩＣカードに返信する。そしてＩＣカードは、自身における暗号化の結果と、リーダライタから返信された暗号化の結果とが一致した場合に、互いに共通の鍵を保有していると認識して認証に成功したと判断する。
【０００５】
このようにＩＣカード及びリーダライタは、秘密情報である鍵を機器間で直接やり取りせずに、この鍵で暗号化した擬似乱数をやり取りすることにより安全性を確保するようになされている。
【０００６】
ところで擬似乱数を利用する場合、安全性の確保には、発生する擬似乱数の予測が困難であることが重要である。そこで従来、擬似乱数のもとになる乱数種を、固定値や所定の変数でなる鍵で暗号化して擬似乱数を生成し、さらにこの乱数種をアプリケーションに依存する任意のタイミングで、前回生成した擬似乱数で更新することにより、擬似乱数の予測を困難にした擬似乱数生成装置が提案されている（例えば特許文献１参照）。
【特許文献１】特開２００１−５３８４公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところがコンピュータの性能向上にともない、従来の擬似乱数生成装置が生成する擬似乱数の予測が困難ではなくなりつつあり、一段と予測が困難な擬似乱数を生成する擬似乱数生成装置が求められている（以下、予測が困難である性質を予測困難性と呼ぶ）。
【０００８】
本発明は以上の点を考慮してなされたもので、生成する乱数の予測困難性を一段と向上し得る乱数生成装置を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明の乱数生成装置においては、乱数種を記憶する記憶部と、乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、不規則情報生成手段で生成した不規則情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成手段とを設けるようにした。
【００１０】
また本発明の乱数生成方法においては、乱数種を記憶している記憶部から当該乱数種を取得し、当該乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成ステップと、不規則情報生成ステップで生成した不規則情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成ステップとを設けるようにした。
【００１１】
さらに本発明の半導体集積回路においては、乱数種を記憶する記憶部と、乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、不規則情報生成手段で生成した情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成手段とを設けるようにした。
【００１２】
このように乱数種をもとに生成した擬似的に不規則な不規則情報を、乱数種を暗号化する際の鍵として用いてこの暗号化の結果を乱数とすることにより、従来と比して一段と予測が困難な乱数を生成することができる。
【発明の効果】
【００１３】
本発明によれば、このように乱数種をもとに生成した擬似的に不規則な不規則情報を、乱数種を暗号化する際の鍵として用いてこの暗号化の結果を乱数とすることにより、従来と比して一段と予測が困難な乱数を生成することができるので、生成する乱数の予測困難性を一段と向上し得る乱数生成装置を実現できる。
【発明を実施するための最良の形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）第１の実施の形態
（１−１）ＩＣカードの回路構成
図１において、１は全体として本実施の形態における非接触型のＩＣカードを示し、図示しないリーダライタと通信し得るようになされている。このＩＣカード１は、全体を統括的に制御するＣＰＵ（Central Processing Unit）２、外部（リーダライタ）と非接触で通信するインタフェース部３、プログラムを格納するＲＯＭ（Read Only Memory）４、一時作業領域となるＲＡＭ（Random Access Memory）５、リーダライタとの相互認証やデータ通信時に使う擬似乱数を暗号演算により生成する暗号回路６、各種データや暗号回路６で生成する擬似乱数の乱数種等を記憶するＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）７が、バス８を介して接続されている。
【００１６】
このＩＣカード１は、リーダライタから供給される電磁波をもとにインタフェース部３で電源を発生させて動作し、例えばリーダライタに対して暗号回路６で発生させた擬似乱数を送信すると共に、この擬似乱数をＥＥＰＲＯＭ７に記憶している鍵で暗号化する。そしてＩＣカード１は、自身における暗号化の結果と、リーダライタから返信される暗号化の結果とを比較することによりリーダライタとの相互認証を行う。
【００１７】
（１−２）暗号回路の構成
次に、ＩＣカード１の内部に設けられた暗号回路６の構成について図２を用いて説明する。本実施の形態における暗号回路６は、暗号化方式の１つであるＤＥＳ（Data Encryption Standard）により６４ビットの擬似乱数を生成する回路であり、乱数種入力部１０が外部のＥＥＰＲＯＭ７から入力される６４ビットの乱数種ｒ０をＤＥＳ暗号化部１２に送出すると共に、鍵生成部１１がこの６４ビットの乱数種ｒ０をもとに６４ビットの鍵ｋｎ（ｎは生成回数）を生成して、これをＤＥＳ暗号化部１２に送出する。
【００１８】
ＤＥＳ暗号化部１２は、乱数種入力部１０から供給される６４ビットのブロックデータに対して、鍵生成部１１から供給される６４ビットの鍵ｋｎを用いてＤＥＳ暗号化を施し、この結果得られる暗号化した６４ビットのブロックデータを乱数出力部１３に送出する。
【００１９】
乱数出力部１３は、ＤＥＳ暗号化部１２から供給される暗号化された６４ビットのブロックデータを擬似乱数ｒｎとし、このようにして生成した擬似乱数ｒｎを外部（ＣＰＵ２やインタフェース部３）に出力する。
【００２０】
また暗号回路６は、生成した擬似乱数ｒｎを、次回の擬似乱数生成時の乱数種として乱数種入力部１０に入力するようになされており、初回以降は前回生成した擬似乱数を乱数種として擬似乱数を生成するようになされている。
【００２１】
ここで鍵生成部１１についてさらに詳述する。鍵生成部１１は、６４ビットのＭ系列を発生するＬＦＳＲ（Linear Feedback Shift Register：線形帰還シフトレジスタ）１１Ａを有している。ＬＦＳＲ１１Ａには生成多項式を設定することができ、生成多項式に応じたＭ系列を発生するようになされている。
【００２２】
そして鍵生成部１１は、ＥＥＰＲＯＭ７から供給される６４ビットの乱数種ｒｎを初期値としてＬＦＳＲ１１Ａに６４ビットのＭ系列を発生させる。
【００２３】
ＬＦＳＲ１１Ａが発生した６４ビットのＭ系列は、鍵生成部１１の鍵出力部１１Ｂで取り出されることにより６４ビットの鍵ｋｎとなる。そしてこの鍵ｋｎが、ＤＥＳ暗号化部１２に送出される。
【００２４】
因に、ＬＦＳＲ１１Ａは、図示しないリングオシレータから供給されるクロック（ＩＣカード１のシステムクロックよりも速くかつ非同期なクロック）でフリーランするようになされており、発生するＭ系列が、擬似乱数を生成する際に鍵出力部１１Ｂでラッチされるようになされている。従って鍵生成部１１で生成される鍵ｋｎは、擬似乱数を生成する毎に異なる値となる。
【００２５】
さらにＬＦＳＲ１１Ａの初期値（乱数種ｒ０）が「０」の場合には、ＬＦＳＲ１１Ａから発生するＭ系列が全て同じ値になるのを防ぐために、図示しない６４ビットバイナリカウンタから初期値を取得するようにもなされている。このバイナリカウンタもＬＦＳＲ１１Ａと同様に図示しないリングオシレータで駆動する。
【００２６】
そしてＤＥＳ暗号化部１２が、このようにして鍵生成部１１で生成された鍵ｋｎを用いて乱数種入力部１０から供給される６４ビットのブロックデータをＤＥＳ暗号化し、この結果を乱数出力部１３に送出する。
【００２７】
ここで、本実施の形態におけるＤＥＳ暗号化を式で表すと以下のようになる。すなわち生成される擬似乱数を「ｒｎ」（ｎは生成回数）、Ｍ系列でなる鍵を「ｋｎ」、ＤＥＳ暗号化の関数を「ＥＮＣＤＥＳ（入力、鍵）」とすると、ｒｎは次式
【００２８】
【数１】
2006024140.tif 000003
【００２９】
で表される。
【００３０】
（１−３）擬似乱数生成処理
次に、暗号回路６における擬似乱数の生成処理の流れについて、図３のシーケンス図を用いて説明する。なお、鍵ｋｎの生成及びＤＥＳ暗号化の詳細については上述したので、その説明を省略する。
【００３１】
暗号回路６は、ＩＣカード１に電源が供給され、ＣＰＵ２から１回目の相互認証コマンドを受け取ると、ステップＳＰ１において、ＥＥＰＲＯＭ７から、生成する擬似乱数の初期値となる乱数種ｒ０を取得する。さらにこのステップＳＰ１において暗号回路６は、乱数種ｒ０をもとにＭ系列でなる鍵ｋ１を生成し、この鍵ｋ１で乱数種ｒ０をＤＥＳ暗号化することにより擬似乱数ｒ１を生成する。
【００３２】
そして暗号回路６は、この擬似乱数ｒ１を外部（ＣＰＵ２やインタフェース部３）に送出する。さらに暗号回路６は、このステップＳＰ１のように電源投入後、初回の擬似乱数生成時には、生成した擬似乱数ｒ１をＥＥＰＲＯＭ７に送出して、これを新たな乱数種ｒ０としてＥＥＰＲＯＭ７に格納させる。
【００３３】
その後、暗号回路６は、ＣＰＵ２から２回目の相互認証コマンドを受け取ると、ステップＳＰ２において、ＬＦＳＲ１１Ａで発生させているＭ系列をラッチして鍵ｋ２を生成し、前回（ステップＳＰ１）生成した擬似乱数ｒ１を乱数種として鍵ｋ２でＤＥＳ暗号化することにより擬似乱数ｒ２を生成する。
【００３４】
そして暗号回路６は、この擬似乱数ｒ２を外部に出力する。この後、暗号回路６は、電源が供給され続けている状態で相互認証コマンドを受け取ると、その都度、ＬＦＳＲ１１Ａで発生させているＭ系列をラッチして鍵ｋｎを生成し、前回生成した擬似乱数ｒｎ−１を乱数種として、この擬似乱数ｒｎ−１を鍵ｋｎでＤＥＳ暗号化することにより擬似乱数ｒｎを生成するようになされている。
【００３５】
そして例えばＩＣカード１とリーダライタとが離されることにより一旦電源の供給が停止され、再びこのＩＣカード１がリーダライタにかざされて電源が投入されると、暗号回路６は、ＣＰＵ２からの相互認証コマンドに応じて、前回の電源投入時にＥＥＰＲＯＭ７に記憶させていた乱数種ｒ０（すなわち前回の電源投入時の１回目に生成した擬似乱数ｒ１）を取得する。
【００３６】
このように暗号回路６は、電源投入後、１回目の擬似乱数生成時には、ＥＥＰＲＯＭ７から乱数種ｒ０を取得して擬似乱数ｒ１を生成し、この擬似乱数ｒ１を外部に出力すると共に、ＥＥＰＲＯＭ７に新たな乱数種ｒ０として格納させる。そしてこれ以降の擬似乱数生成時には、前回生成した擬似乱数ｒｎ−１を乱数種として、擬似乱数ｒｎを生成するようになされている。
【００３７】
（１−４）第１の実施の形態における動作及び効果
以上の構成において、暗号回路６は、ＩＣカード１に電源が投入され、１回目の相互認証コマンドを受け取ると、ＥＥＰＲＯＭ７から乱数種ｒ０を取得し、これをＬＦＳＲ１１Ａの初期値として、このＬＦＳＲ１１ＡにＭ系列を発生させる。
【００３８】
さらに暗号回路６は、ＬＦＳＲ１１Ａに発生させたＭ系列を鍵ｋ１として、ＥＥＰＲＯＭ７から取得した乱数種ｒ０をＤＥＳ暗号化し、この結果を擬似乱数ｒ１として外部（ＣＰＵ２やインタフェース部３）に出力すると共に、この擬似乱数ｒ１を新たな乱数種ｒ０としてＥＥＰＲＯＭ７に格納させる。
【００３９】
そしてこの後も、電源が供給され続けている状態で相互認証コマンドを受け取ると、暗号回路６は、その都度、ＬＦＳＲ１１Ａが発生しているＭ系列をラッチすることにより毎回異なる鍵ｋｎを生成し、前回生成した擬似乱数ｒｎ−１を乱数種として、この擬似乱数ｒｎ−１を鍵ｋｎでＤＥＳ暗号化することにより擬似乱数ｒｎを生成する。
【００４０】
このように暗号回路６は、擬似乱数ｒｎを生成するＤＥＳ暗号の鍵ｋｎに、固定値や所定の変数ではなくＬＦＳＲ１１Ａで発生した擬似的に不規則な不規則情報であるＭ系列を適用するようにしたことにより、一段と予測が困難な擬似乱数（すなわち高品質な擬似乱数）を生成することができる。
【００４１】
以上の構成によれば、暗号回路６は、乱数種ｒ０をもとに発生させた擬似的に不規則な不規則情報であるＭ系列を、擬似乱数ｒｎの生成に用いるＤＥＳ暗号の鍵ｋｎとすることにより、固定値や所定の変数、あるいは乱数種をそのまま鍵として用いるよりも一段と予測が困難な擬似乱数ｒｎを生成することができ、かくして生成する擬似乱数の予測困難性を従来と比して一段と向上させることができる。
【００４２】
またこの暗号回路６によれば、擬似乱数の生成時に、ＬＦＳＲ１１Ａで発生させているＭ系列をその都度ラッチして毎回異なる鍵ｋｎを生成し、この鍵ｋｎでＤＥＳ暗号化を実行するようにしたことにより、鍵ｋｎの特定を困難にして、生成する擬似乱数の予測困難性を向上させることができる。
【００４３】
さらにこの暗号回路６によれば、電源が投入される毎に、ＥＥＰＲＯＭ７に格納される乱数種ｒ０を、生成した擬似乱数ｒｎで更新することにより、例えば電源投入後の初回に生成される擬似乱数ｒ１が毎回同じ値となることを防止することができるので、生成する乱数の予測困難性を向上させることができる。
【００４４】
さらにこの暗号回路６は、ＤＥＳ暗号を実行する一般的な回路に、簡易な構成のＬＦＳＲ１１Ａを追加するだけで実現できるので、ＩＣカードのようにコストや回路の実装面積の制約が厳しい装置にも容易に実装することができる。
【００４５】
（２）第２の実施の形態
次に、第２の実施の形態について説明する。この第２の実施の形態では、上述の第１の実施の形態と暗号回路６（本実施では６Ａ）の構成以外は同様であり、同様部分の説明については省略する。
【００４６】
この第２の実施の形態における暗号回路６Ａは、図１との対応部分に同一符号を付して示す図４のように、ＥＥＰＲＯＭ７から取得した乱数種ｒ０とＩＣカード１のシリアル番号とのＸＯＲ演算を行い、その結果を鍵生成部１１及びＤＥＳ暗号化部１２に送出するＸＯＲ演算部２０が設けられている。因に、このシリアル番号は、ＩＣカード１毎に異なる６４ビットの番号であり、例えばＲＯＭ４に記録されているものとする。
【００４７】
つまりこの暗号回路６Ａにおいては、ＩＣカード１に電源が投入され、１回目の相互認証コマンドを受け取ると、ＥＥＰＲＯＭ７から乱数種ｒ０を取得すると共に、ＲＯＭ４からシリアル番号を取得し、ＸＯＲ演算部２０においてこの乱数種ｒ０とシリアル番号とのＸＯＲ演算を行う。
【００４８】
そしてこのＸＯＲ演算部２０によるＸＯＲ演算の結果が、鍵生成部１１及びＤＥＳ暗号化部１２に送出されて、上述の第１の実施の形態と同様にして擬似乱数ｒ１が生成される。
【００４９】
このようにこの第２の実施の形態による暗号回路６Ａによれば、電源投入後、１回目の擬似乱数生成時に、ＥＥＰＲＯＭ７から取得した乱数種ｒ０と、ＩＣカード１毎に固有のシリアル番号とのＸＯＲ演算を行い、その結果をもとに擬似乱数ｒ１を生成するようにしたことにより、例えば初めて電源が投入された場合であっても、ＩＣカード１毎にそれぞれ異なる擬似乱数ｒ１を生成することができるので、生成する擬似乱数の予測困難性をさらに一段と向上させることができる。
【００５０】
（３）第３の実施の形態
次に、第３の実施の形態について説明する。この第３の実施の形態では、上述の第１及び第２の実施の形態と暗号回路６（本実施では６Ｂ）の構成以外は同様であり、同様部分の説明については省略する。
【００５１】
この第３の実施の形態における暗号回路６Ｂは、図１との対応部分に同一符号を付して示す図５のように、ＩＣカード１のシリアル番号に対して、ＥＥＰＲＯＭ７から取得した乱数種ｒ０を鍵としてＤＥＳ暗号化を行い、その結果を鍵生成部１１及びＤＥＳ暗号化部１２（以下、これを第１のＤＥＳ暗号化部１２と呼ぶ）に送出する第２のＤＥＳ暗号化部３０が設けられている。因に、このシリアル番号も、第２の実施の形態と同様にＩＣカード１毎に異なる６４ビットの番号であり、例えばＲＯＭ４に記録されているものとする。
【００５２】
つまりこの暗号回路６Ｂにおいては、ＩＣカード１に電源が投入され、１回目の相互認証コマンドを受け取ると、ＲＯＭ４からシリアル番号を取得すると共に、ＥＥＰＲＯＭ７から乱数種ｒ０を取得し、第２のＤＥＳ暗号化部３０においてこのシリアル番号に対して乱数種ｒ０を鍵とするＤＥＳ暗号化を行う。
【００５３】
そしてこの第２のＤＥＳ暗号化部３０によるＤＥＳ暗号化の結果が、鍵生成部１１及び第１のＤＥＳ暗号化部１２に送出されて、上述の第１及び第２の実施の形態と同様にして擬似乱数ｒ１が生成される。
【００５４】
このようにこの第３の実施の形態による暗号回路６Ｂによれば、電源投入後、１回目の擬似乱数生成時に、第２のＤＥＳ暗号化部３０において、ＲＯＭ４から取得したＩＣカード１毎に固有のシリアル番号に対してＥＥＰＲＯＭ７から取得した乱数種ｒ０を鍵とするＤＥＳ暗号化を行い、その結果をもとに擬似乱数ｒ１を生成するようにしたことにより、例えば初めて電源が投入された場合であってもＩＣカード１毎にそれぞれ異なる擬似乱数ｒ１を生成することができ、さらに鍵生成部１１及び第１のＤＥＳ暗号化部１３に供給される情報も暗号化されているので、生成する擬似乱数の予測困難性をさらに一段と向上させることができる。
【００５５】
（４）他の実施の形態
なお上述の実施の形態においては、暗号回路６、６Ａ及び６Ｂにおける暗号化技術として、ＤＥＳを用いるようにした場合について述べたが、本発明はこれに限らず、トリプルＤＥＳや、ＡＥＳ（Advanced Encryption Standard）、ＩＤＥＡ（International Data Encryption Algorithm）、ＲＣ（Ron’s Code）２、ＲＣ４、ＲＣ５等、この他種々の暗号化技術を用いるようにしてもよい。
【００５６】
また上述の実施の形態においては、線形帰還シフトレジスタ（ＬＦＳＲ１１Ａ）に発生させるＭ系列を鍵ｋｎとして用いる場合について述べたが、本発明はこれに限らず、例えばＤＥＳ暗号やＡＥＳ暗号等の結果を鍵ｋｎとして用いるようにしてもよい。すなわち予測が困難で不規則な不規則情報を用いるのであれば、この他種々の情報を鍵ｋｎとしてもよい。
【００５７】
さらに上述の実施の形態においては、鍵ｋｎを６４ビット、乱数種ｒ０を６４ビット、生成される疑似乱数ｒｎを６４ビット、シリアル番号を６４ビット、ＬＦＳＲ１１Ａの発生するＭ系列を６４ビットとした場合について述べたが、これらは一例であり、この他種々のビット値を用いてもよい。
【００５８】
さらに上述の実施の形態においては、電源投入後、生成した疑似乱数ｒｎを新たな乱数種としてＥＥＰＲＯＭ７に格納させるようにした場合について述べたが、実際上、例えば１回目の擬似乱数発生時や、偶数回目や奇数回目の擬似乱数生成時に、生成した擬似乱数を新たな乱数種としてＥＥＰＲＯＭ７に格納させるようにしてもよいし、この他種々の任意のタイミング（例えばランダムなタイミング）で、生成した擬似乱数ｒｎを乱数種としてＥＥＰＲＯＭ７に格納させるようにしてもよい。なお、生成した疑似乱数ｒｎを毎回新たな乱数種としてＥＥＰＲＯＭ７に格納させれば、より確実に次回の電源投入時に用いる乱数種を更新しておくことができ、タイミングをランダムに設定すれば、生成する擬似乱数ｒｎの予測困難性を一段と向上させることができる。また、１回目の擬似乱数発生時に、生成した疑似乱数ｒ１を新たな乱数種としてＥＥＰＲＯＭ７に格納させれば、次回の電源投入時に用いる乱数種を更新しておくことができると共に、書き込み回数制限があるＥＥＰＲＯＭ７の更新頻度を最小に抑えることができる。
【００５９】
さらに上述の実施の形態においては、暗号回路６の構成として、図２、図４及び図５に示す構成を開示したが、実際上この暗号回路６を、ソフトウェア、あるいはハードウェア、さらにこれらの組合せ等により構成してもよい。
【００６０】
さらに上述の実施の形態においては、ＩＣカード１に搭載された暗号回路６に本発明を適用するようにした場合について述べたが、本発明はこれに限らず、乱数を利用する種々の装置（例えば携帯電話機や、ノートブック型パーソナルコンピュータ等）や回路、半導体集積回路としてのＩＣ（integrated circuit）チップ等に適用するようにしてもよい。
【００６１】
さらに上述の第２及び第３の実施の形態においては、ＩＣカード１毎に固有の固有情報としてシリアル番号を用いるようにした場合について述べたが、本発明はこれに限らず、ＩＣカード１毎に固有の情報、又は固有に近い情報であれば、例えばＩＣカード１に記録されているユーザＩＤ（Identification）やパスワード等を用いるようにしてもよい。
【００６２】
さらに上述の第２の実施の形態においては、乱数種ｒ０とシリアル番号とをＸＯＲ演算するようにした場合について述べたが、本発明はこれに限らず、乱数種ｒ０とシリアル番号とをＡＮＤ演算、ＯＲ演算、ＮＯＴ演算、ＮＡＮＤ演算、ＮＯＲ演算するようにしてもよい。
【００６３】
さらに上述の第３の実施の形態においては、シリアル番号に対して乱数種ｒ０を鍵とするＤＥＳ暗号を施すようにした場合について述べたが、本発明はこれに限らず、シリアル番号に対してトリプルＤＥＳ暗号やＡＥＳ暗号等を施すようにしてもよい。
【００６４】
さらに上述の実施の形態においては、乱数生成装置又は半導体集積回路として、暗号回路６（６Ａ及び６Ｂ含む）及びＥＥＰＲＯＭ７を用いた場合について述べたが、本発明はこれに限らず、この種々の構成を用いるようにしてもよい。例えば、暗号回路６内にＥＥＰＲＯＭ７を設けた構成にしてもよい。
【００６５】
さらに上述の実施の形態においては、記憶部としてのＥＥＰＲＯＭ７から取得した乱数種をもとに擬似的に不規則な不規則情報であるＭ系列を生成する不規則情報生成手段として鍵生成部１１を用い、鍵生成部１１で生成した鍵で乱数種を暗号化することにより擬似乱数を生成する乱数生成手段として乱数種入力部１０、ＤＥＳ暗号化部（第１のＤＥＳ暗号化部）１２、及び乱数出力部１３を用い、さらにこの乱数出力部１３を、任意のタイミングで生成した擬似乱数を新たな乱数種としてＥＥＰＲＯＭ７に格納する格納手段として用い、演算手段としてＸＯＲ演算部２０を用い、暗号化手段として第２のＤＥＳ暗号化部３０を用いるようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を用いるようにしてもよい。
【産業上の利用可能性】
【００６６】
本発明は、乱数を生成する装置、回路及びＩＣチップ等において広く利用できる。
【図面の簡単な説明】
【００６７】
【図１】第１の実施の形態におけるＩＣカードの構成を示す略線図である。
【図２】第１の実施の形態における暗号回路の構成を示す略線図である。
【図３】擬似乱数生成シーケンスを示すシーケンス図である。
【図４】第２の実施の形態における暗号回路の構成を示す略線図である。
【図５】第３の実施の形態における暗号回路の構成を示す略線図である。
【符号の説明】
【００６８】
１……ＩＣカード、２……ＣＰＵ、３……インタフェース部、４……ＲＯＭ、６、６Ａ、６Ｂ……暗号回路、７……ＥＥＰＲＯＭ、１１……鍵生成部、１１Ａ……ＬＦＳＲ、１１Ｂ……鍵出力部、１２……ＤＥＳ暗号化部（第１のＤＥＳ暗号化部）、２０……ＸＯＲ演算部、３０……第２のＤＥＳ暗号化部。
【図１】
2006024140.tif 000004
【図２】
2006024140.tif 000005
【図３】
2006024140.tif 000006
【図４】
2006024140.tif 000007
【図５】
2006024140.tif 000008