JP2006024140A - 乱数生成装置 - Google Patents
乱数生成装置 Download PDFInfo
- Publication number
- JP2006024140A JP2006024140A JP2004203807A JP2004203807A JP2006024140A JP 2006024140 A JP2006024140 A JP 2006024140A JP 2004203807 A JP2004203807 A JP 2004203807A JP 2004203807 A JP2004203807 A JP 2004203807A JP 2006024140 A JP2006024140 A JP 2006024140A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- generated
- irregular
- seed
- encryption
- 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
Links
Images
Abstract
【課題】
生成する乱数の予測困難性を一段と向上し得る乱数生成装置を実現する。
【解決手段】
暗号回路6は、乱数種r0をもとに発生させた擬似的に不規則な不規則情報であるM系列を、擬似乱数rnの生成に用いるDES暗号の鍵knとすることにより、固定値や所定の変数、あるいは乱数種を鍵として用いるよりも一段と予測が困難な擬似乱数rnを生成することができ、かくして生成する擬似乱数の予測困難性を従来と比して一段と向上させることができる。
【選択図】 図2
生成する乱数の予測困難性を一段と向上し得る乱数生成装置を実現する。
【解決手段】
暗号回路6は、乱数種r0をもとに発生させた擬似的に不規則な不規則情報であるM系列を、擬似乱数rnの生成に用いるDES暗号の鍵knとすることにより、固定値や所定の変数、あるいは乱数種を鍵として用いるよりも一段と予測が困難な擬似乱数rnを生成することができ、かくして生成する擬似乱数の予測困難性を従来と比して一段と向上させることができる。
【選択図】 図2
Description
本発明は乱数生成装置に関し、例えば機器間の相互認証に使う擬似乱数を発生する擬似乱数生成装置に適用して好適なものである。
近年、IC(Integrated Circuit)カードを利用した電子マネーシステムや、交通システム等が広く普及している。このようなシステムにおいては、ICカード内に記憶されている個人情報や電子マネーの残高情報等が漏洩したり改竄されたりしないよう安全性を確保することが重要である。
そこでかかるシステムでは、ICカード及びリーダライタ間での相互認証やデータの送受時に、種々の暗号化を利用することにより安全性を確保するようになされている。
例えばICカード及びリーダライタ間での相互認証において、ICカードは、内部で擬似乱数を発生させ、これをリーダライタに送信すると共に、この擬似乱数に対して自身が保有する鍵で暗号化する。リーダライタは、ICカードから擬似乱数を受け取ると、この擬似乱数に対して自身が保有する鍵で暗号化し、この結果をICカードに返信する。そしてICカードは、自身における暗号化の結果と、リーダライタから返信された暗号化の結果とが一致した場合に、互いに共通の鍵を保有していると認識して認証に成功したと判断する。
このようにICカード及びリーダライタは、秘密情報である鍵を機器間で直接やり取りせずに、この鍵で暗号化した擬似乱数をやり取りすることにより安全性を確保するようになされている。
ところで擬似乱数を利用する場合、安全性の確保には、発生する擬似乱数の予測が困難であることが重要である。そこで従来、擬似乱数のもとになる乱数種を、固定値や所定の変数でなる鍵で暗号化して擬似乱数を生成し、さらにこの乱数種をアプリケーションに依存する任意のタイミングで、前回生成した擬似乱数で更新することにより、擬似乱数の予測を困難にした擬似乱数生成装置が提案されている(例えば特許文献1参照)。
特開2001−5384公報
ところがコンピュータの性能向上にともない、従来の擬似乱数生成装置が生成する擬似乱数の予測が困難ではなくなりつつあり、一段と予測が困難な擬似乱数を生成する擬似乱数生成装置が求められている(以下、予測が困難である性質を予測困難性と呼ぶ)。
本発明は以上の点を考慮してなされたもので、生成する乱数の予測困難性を一段と向上し得る乱数生成装置を提案しようとするものである。
かかる課題を解決するため本発明の乱数生成装置においては、乱数種を記憶する記憶部と、乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、不規則情報生成手段で生成した不規則情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成手段とを設けるようにした。
また本発明の乱数生成方法においては、乱数種を記憶している記憶部から当該乱数種を取得し、当該乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成ステップと、不規則情報生成ステップで生成した不規則情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成ステップとを設けるようにした。
さらに本発明の半導体集積回路においては、乱数種を記憶する記憶部と、乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、不規則情報生成手段で生成した情報を鍵とする暗号化を乱数種に施して乱数を生成する乱数生成手段とを設けるようにした。
このように乱数種をもとに生成した擬似的に不規則な不規則情報を、乱数種を暗号化する際の鍵として用いてこの暗号化の結果を乱数とすることにより、従来と比して一段と予測が困難な乱数を生成することができる。
本発明によれば、このように乱数種をもとに生成した擬似的に不規則な不規則情報を、乱数種を暗号化する際の鍵として用いてこの暗号化の結果を乱数とすることにより、従来と比して一段と予測が困難な乱数を生成することができるので、生成する乱数の予測困難性を一段と向上し得る乱数生成装置を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)ICカードの回路構成
図1において、1は全体として本実施の形態における非接触型のICカードを示し、図示しないリーダライタと通信し得るようになされている。このICカード1は、全体を統括的に制御するCPU(Central Processing Unit)2、外部(リーダライタ)と非接触で通信するインタフェース部3、プログラムを格納するROM(Read Only Memory)4、一時作業領域となるRAM(Random Access Memory)5、リーダライタとの相互認証やデータ通信時に使う擬似乱数を暗号演算により生成する暗号回路6、各種データや暗号回路6で生成する擬似乱数の乱数種等を記憶するEEPROM(Electrically Erasable and Programmable ROM)7が、バス8を介して接続されている。
(1−1)ICカードの回路構成
図1において、1は全体として本実施の形態における非接触型のICカードを示し、図示しないリーダライタと通信し得るようになされている。このICカード1は、全体を統括的に制御するCPU(Central Processing Unit)2、外部(リーダライタ)と非接触で通信するインタフェース部3、プログラムを格納するROM(Read Only Memory)4、一時作業領域となるRAM(Random Access Memory)5、リーダライタとの相互認証やデータ通信時に使う擬似乱数を暗号演算により生成する暗号回路6、各種データや暗号回路6で生成する擬似乱数の乱数種等を記憶するEEPROM(Electrically Erasable and Programmable ROM)7が、バス8を介して接続されている。
このICカード1は、リーダライタから供給される電磁波をもとにインタフェース部3で電源を発生させて動作し、例えばリーダライタに対して暗号回路6で発生させた擬似乱数を送信すると共に、この擬似乱数をEEPROM7に記憶している鍵で暗号化する。そしてICカード1は、自身における暗号化の結果と、リーダライタから返信される暗号化の結果とを比較することによりリーダライタとの相互認証を行う。
(1−2)暗号回路の構成
次に、ICカード1の内部に設けられた暗号回路6の構成について図2を用いて説明する。本実施の形態における暗号回路6は、暗号化方式の1つであるDES(Data Encryption Standard)により64ビットの擬似乱数を生成する回路であり、乱数種入力部10が外部のEEPROM7から入力される64ビットの乱数種r0をDES暗号化部12に送出すると共に、鍵生成部11がこの64ビットの乱数種r0をもとに64ビットの鍵kn(nは生成回数)を生成して、これをDES暗号化部12に送出する。
次に、ICカード1の内部に設けられた暗号回路6の構成について図2を用いて説明する。本実施の形態における暗号回路6は、暗号化方式の1つであるDES(Data Encryption Standard)により64ビットの擬似乱数を生成する回路であり、乱数種入力部10が外部のEEPROM7から入力される64ビットの乱数種r0をDES暗号化部12に送出すると共に、鍵生成部11がこの64ビットの乱数種r0をもとに64ビットの鍵kn(nは生成回数)を生成して、これをDES暗号化部12に送出する。
DES暗号化部12は、乱数種入力部10から供給される64ビットのブロックデータに対して、鍵生成部11から供給される64ビットの鍵knを用いてDES暗号化を施し、この結果得られる暗号化した64ビットのブロックデータを乱数出力部13に送出する。
乱数出力部13は、DES暗号化部12から供給される暗号化された64ビットのブロックデータを擬似乱数rnとし、このようにして生成した擬似乱数rnを外部(CPU2やインタフェース部3)に出力する。
また暗号回路6は、生成した擬似乱数rnを、次回の擬似乱数生成時の乱数種として乱数種入力部10に入力するようになされており、初回以降は前回生成した擬似乱数を乱数種として擬似乱数を生成するようになされている。
ここで鍵生成部11についてさらに詳述する。鍵生成部11は、64ビットのM系列を発生するLFSR(Linear Feedback Shift Register:線形帰還シフトレジスタ)11Aを有している。LFSR11Aには生成多項式を設定することができ、生成多項式に応じたM系列を発生するようになされている。
そして鍵生成部11は、EEPROM7から供給される64ビットの乱数種rnを初期値としてLFSR11Aに64ビットのM系列を発生させる。
LFSR11Aが発生した64ビットのM系列は、鍵生成部11の鍵出力部11Bで取り出されることにより64ビットの鍵knとなる。そしてこの鍵knが、DES暗号化部12に送出される。
因に、LFSR11Aは、図示しないリングオシレータから供給されるクロック(ICカード1のシステムクロックよりも速くかつ非同期なクロック)でフリーランするようになされており、発生するM系列が、擬似乱数を生成する際に鍵出力部11Bでラッチされるようになされている。従って鍵生成部11で生成される鍵knは、擬似乱数を生成する毎に異なる値となる。
さらにLFSR11Aの初期値(乱数種r0)が「0」の場合には、LFSR11Aから発生するM系列が全て同じ値になるのを防ぐために、図示しない64ビットバイナリカウンタから初期値を取得するようにもなされている。このバイナリカウンタもLFSR11Aと同様に図示しないリングオシレータで駆動する。
そしてDES暗号化部12が、このようにして鍵生成部11で生成された鍵knを用いて乱数種入力部10から供給される64ビットのブロックデータをDES暗号化し、この結果を乱数出力部13に送出する。
ここで、本実施の形態におけるDES暗号化を式で表すと以下のようになる。すなわち生成される擬似乱数を「rn」(nは生成回数)、M系列でなる鍵を「kn」、DES暗号化の関数を「ENCDES(入力、鍵)」とすると、rnは次式
で表される。
(1−3)擬似乱数生成処理
次に、暗号回路6における擬似乱数の生成処理の流れについて、図3のシーケンス図を用いて説明する。なお、鍵knの生成及びDES暗号化の詳細については上述したので、その説明を省略する。
次に、暗号回路6における擬似乱数の生成処理の流れについて、図3のシーケンス図を用いて説明する。なお、鍵knの生成及びDES暗号化の詳細については上述したので、その説明を省略する。
暗号回路6は、ICカード1に電源が供給され、CPU2から1回目の相互認証コマンドを受け取ると、ステップSP1において、EEPROM7から、生成する擬似乱数の初期値となる乱数種r0を取得する。さらにこのステップSP1において暗号回路6は、乱数種r0をもとにM系列でなる鍵k1を生成し、この鍵k1で乱数種r0をDES暗号化することにより擬似乱数r1を生成する。
そして暗号回路6は、この擬似乱数r1を外部(CPU2やインタフェース部3)に送出する。さらに暗号回路6は、このステップSP1のように電源投入後、初回の擬似乱数生成時には、生成した擬似乱数r1をEEPROM7に送出して、これを新たな乱数種r0としてEEPROM7に格納させる。
その後、暗号回路6は、CPU2から2回目の相互認証コマンドを受け取ると、ステップSP2において、LFSR11Aで発生させているM系列をラッチして鍵k2を生成し、前回(ステップSP1)生成した擬似乱数r1を乱数種として鍵k2でDES暗号化することにより擬似乱数r2を生成する。
そして暗号回路6は、この擬似乱数r2を外部に出力する。この後、暗号回路6は、電源が供給され続けている状態で相互認証コマンドを受け取ると、その都度、LFSR11Aで発生させているM系列をラッチして鍵knを生成し、前回生成した擬似乱数rn−1を乱数種として、この擬似乱数rn−1を鍵knでDES暗号化することにより擬似乱数rnを生成するようになされている。
そして例えばICカード1とリーダライタとが離されることにより一旦電源の供給が停止され、再びこのICカード1がリーダライタにかざされて電源が投入されると、暗号回路6は、CPU2からの相互認証コマンドに応じて、前回の電源投入時にEEPROM7に記憶させていた乱数種r0(すなわち前回の電源投入時の1回目に生成した擬似乱数r1)を取得する。
このように暗号回路6は、電源投入後、1回目の擬似乱数生成時には、EEPROM7から乱数種r0を取得して擬似乱数r1を生成し、この擬似乱数r1を外部に出力すると共に、EEPROM7に新たな乱数種r0として格納させる。そしてこれ以降の擬似乱数生成時には、前回生成した擬似乱数rn−1を乱数種として、擬似乱数rnを生成するようになされている。
(1−4)第1の実施の形態における動作及び効果
以上の構成において、暗号回路6は、ICカード1に電源が投入され、1回目の相互認証コマンドを受け取ると、EEPROM7から乱数種r0を取得し、これをLFSR11Aの初期値として、このLFSR11AにM系列を発生させる。
以上の構成において、暗号回路6は、ICカード1に電源が投入され、1回目の相互認証コマンドを受け取ると、EEPROM7から乱数種r0を取得し、これをLFSR11Aの初期値として、このLFSR11AにM系列を発生させる。
さらに暗号回路6は、LFSR11Aに発生させたM系列を鍵k1として、EEPROM7から取得した乱数種r0をDES暗号化し、この結果を擬似乱数r1として外部(CPU2やインタフェース部3)に出力すると共に、この擬似乱数r1を新たな乱数種r0としてEEPROM7に格納させる。
そしてこの後も、電源が供給され続けている状態で相互認証コマンドを受け取ると、暗号回路6は、その都度、LFSR11Aが発生しているM系列をラッチすることにより毎回異なる鍵knを生成し、前回生成した擬似乱数rn−1を乱数種として、この擬似乱数rn−1を鍵knでDES暗号化することにより擬似乱数rnを生成する。
このように暗号回路6は、擬似乱数rnを生成するDES暗号の鍵knに、固定値や所定の変数ではなくLFSR11Aで発生した擬似的に不規則な不規則情報であるM系列を適用するようにしたことにより、一段と予測が困難な擬似乱数(すなわち高品質な擬似乱数)を生成することができる。
以上の構成によれば、暗号回路6は、乱数種r0をもとに発生させた擬似的に不規則な不規則情報であるM系列を、擬似乱数rnの生成に用いるDES暗号の鍵knとすることにより、固定値や所定の変数、あるいは乱数種をそのまま鍵として用いるよりも一段と予測が困難な擬似乱数rnを生成することができ、かくして生成する擬似乱数の予測困難性を従来と比して一段と向上させることができる。
またこの暗号回路6によれば、擬似乱数の生成時に、LFSR11Aで発生させているM系列をその都度ラッチして毎回異なる鍵knを生成し、この鍵knでDES暗号化を実行するようにしたことにより、鍵knの特定を困難にして、生成する擬似乱数の予測困難性を向上させることができる。
さらにこの暗号回路6によれば、電源が投入される毎に、EEPROM7に格納される乱数種r0を、生成した擬似乱数rnで更新することにより、例えば電源投入後の初回に生成される擬似乱数r1が毎回同じ値となることを防止することができるので、生成する乱数の予測困難性を向上させることができる。
さらにこの暗号回路6は、DES暗号を実行する一般的な回路に、簡易な構成のLFSR11Aを追加するだけで実現できるので、ICカードのようにコストや回路の実装面積の制約が厳しい装置にも容易に実装することができる。
(2)第2の実施の形態
次に、第2の実施の形態について説明する。この第2の実施の形態では、上述の第1の実施の形態と暗号回路6(本実施では6A)の構成以外は同様であり、同様部分の説明については省略する。
次に、第2の実施の形態について説明する。この第2の実施の形態では、上述の第1の実施の形態と暗号回路6(本実施では6A)の構成以外は同様であり、同様部分の説明については省略する。
この第2の実施の形態における暗号回路6Aは、図1との対応部分に同一符号を付して示す図4のように、EEPROM7から取得した乱数種r0とICカード1のシリアル番号とのXOR演算を行い、その結果を鍵生成部11及びDES暗号化部12に送出するXOR演算部20が設けられている。因に、このシリアル番号は、ICカード1毎に異なる64ビットの番号であり、例えばROM4に記録されているものとする。
つまりこの暗号回路6Aにおいては、ICカード1に電源が投入され、1回目の相互認証コマンドを受け取ると、EEPROM7から乱数種r0を取得すると共に、ROM4からシリアル番号を取得し、XOR演算部20においてこの乱数種r0とシリアル番号とのXOR演算を行う。
そしてこのXOR演算部20によるXOR演算の結果が、鍵生成部11及びDES暗号化部12に送出されて、上述の第1の実施の形態と同様にして擬似乱数r1が生成される。
このようにこの第2の実施の形態による暗号回路6Aによれば、電源投入後、1回目の擬似乱数生成時に、EEPROM7から取得した乱数種r0と、ICカード1毎に固有のシリアル番号とのXOR演算を行い、その結果をもとに擬似乱数r1を生成するようにしたことにより、例えば初めて電源が投入された場合であっても、ICカード1毎にそれぞれ異なる擬似乱数r1を生成することができるので、生成する擬似乱数の予測困難性をさらに一段と向上させることができる。
(3)第3の実施の形態
次に、第3の実施の形態について説明する。この第3の実施の形態では、上述の第1及び第2の実施の形態と暗号回路6(本実施では6B)の構成以外は同様であり、同様部分の説明については省略する。
次に、第3の実施の形態について説明する。この第3の実施の形態では、上述の第1及び第2の実施の形態と暗号回路6(本実施では6B)の構成以外は同様であり、同様部分の説明については省略する。
この第3の実施の形態における暗号回路6Bは、図1との対応部分に同一符号を付して示す図5のように、ICカード1のシリアル番号に対して、EEPROM7から取得した乱数種r0を鍵としてDES暗号化を行い、その結果を鍵生成部11及びDES暗号化部12(以下、これを第1のDES暗号化部12と呼ぶ)に送出する第2のDES暗号化部30が設けられている。因に、このシリアル番号も、第2の実施の形態と同様にICカード1毎に異なる64ビットの番号であり、例えばROM4に記録されているものとする。
つまりこの暗号回路6Bにおいては、ICカード1に電源が投入され、1回目の相互認証コマンドを受け取ると、ROM4からシリアル番号を取得すると共に、EEPROM7から乱数種r0を取得し、第2のDES暗号化部30においてこのシリアル番号に対して乱数種r0を鍵とするDES暗号化を行う。
そしてこの第2のDES暗号化部30によるDES暗号化の結果が、鍵生成部11及び第1のDES暗号化部12に送出されて、上述の第1及び第2の実施の形態と同様にして擬似乱数r1が生成される。
このようにこの第3の実施の形態による暗号回路6Bによれば、電源投入後、1回目の擬似乱数生成時に、第2のDES暗号化部30において、ROM4から取得したICカード1毎に固有のシリアル番号に対してEEPROM7から取得した乱数種r0を鍵とするDES暗号化を行い、その結果をもとに擬似乱数r1を生成するようにしたことにより、例えば初めて電源が投入された場合であってもICカード1毎にそれぞれ異なる擬似乱数r1を生成することができ、さらに鍵生成部11及び第1のDES暗号化部13に供給される情報も暗号化されているので、生成する擬似乱数の予測困難性をさらに一段と向上させることができる。
(4)他の実施の形態
なお上述の実施の形態においては、暗号回路6、6A及び6Bにおける暗号化技術として、DESを用いるようにした場合について述べたが、本発明はこれに限らず、トリプルDESや、AES(Advanced Encryption Standard)、IDEA(International Data Encryption Algorithm)、RC(Ron’s Code)2、RC4、RC5等、この他種々の暗号化技術を用いるようにしてもよい。
なお上述の実施の形態においては、暗号回路6、6A及び6Bにおける暗号化技術として、DESを用いるようにした場合について述べたが、本発明はこれに限らず、トリプルDESや、AES(Advanced Encryption Standard)、IDEA(International Data Encryption Algorithm)、RC(Ron’s Code)2、RC4、RC5等、この他種々の暗号化技術を用いるようにしてもよい。
また上述の実施の形態においては、線形帰還シフトレジスタ(LFSR11A)に発生させるM系列を鍵knとして用いる場合について述べたが、本発明はこれに限らず、例えばDES暗号やAES暗号等の結果を鍵knとして用いるようにしてもよい。すなわち予測が困難で不規則な不規則情報を用いるのであれば、この他種々の情報を鍵knとしてもよい。
さらに上述の実施の形態においては、鍵knを64ビット、乱数種r0を64ビット、生成される疑似乱数rnを64ビット、シリアル番号を64ビット、LFSR11Aの発生するM系列を64ビットとした場合について述べたが、これらは一例であり、この他種々のビット値を用いてもよい。
さらに上述の実施の形態においては、電源投入後、生成した疑似乱数rnを新たな乱数種としてEEPROM7に格納させるようにした場合について述べたが、実際上、例えば1回目の擬似乱数発生時や、偶数回目や奇数回目の擬似乱数生成時に、生成した擬似乱数を新たな乱数種としてEEPROM7に格納させるようにしてもよいし、この他種々の任意のタイミング(例えばランダムなタイミング)で、生成した擬似乱数rnを乱数種としてEEPROM7に格納させるようにしてもよい。なお、生成した疑似乱数rnを毎回新たな乱数種としてEEPROM7に格納させれば、より確実に次回の電源投入時に用いる乱数種を更新しておくことができ、タイミングをランダムに設定すれば、生成する擬似乱数rnの予測困難性を一段と向上させることができる。また、1回目の擬似乱数発生時に、生成した疑似乱数r1を新たな乱数種としてEEPROM7に格納させれば、次回の電源投入時に用いる乱数種を更新しておくことができると共に、書き込み回数制限があるEEPROM7の更新頻度を最小に抑えることができる。
さらに上述の実施の形態においては、暗号回路6の構成として、図2、図4及び図5に示す構成を開示したが、実際上この暗号回路6を、ソフトウェア、あるいはハードウェア、さらにこれらの組合せ等により構成してもよい。
さらに上述の実施の形態においては、ICカード1に搭載された暗号回路6に本発明を適用するようにした場合について述べたが、本発明はこれに限らず、乱数を利用する種々の装置(例えば携帯電話機や、ノートブック型パーソナルコンピュータ等)や回路、半導体集積回路としてのIC(integrated circuit)チップ等に適用するようにしてもよい。
さらに上述の第2及び第3の実施の形態においては、ICカード1毎に固有の固有情報としてシリアル番号を用いるようにした場合について述べたが、本発明はこれに限らず、ICカード1毎に固有の情報、又は固有に近い情報であれば、例えばICカード1に記録されているユーザID(Identification)やパスワード等を用いるようにしてもよい。
さらに上述の第2の実施の形態においては、乱数種r0とシリアル番号とをXOR演算するようにした場合について述べたが、本発明はこれに限らず、乱数種r0とシリアル番号とをAND演算、OR演算、NOT演算、NAND演算、NOR演算するようにしてもよい。
さらに上述の第3の実施の形態においては、シリアル番号に対して乱数種r0を鍵とするDES暗号を施すようにした場合について述べたが、本発明はこれに限らず、シリアル番号に対してトリプルDES暗号やAES暗号等を施すようにしてもよい。
さらに上述の実施の形態においては、乱数生成装置又は半導体集積回路として、暗号回路6(6A及び6B含む)及びEEPROM7を用いた場合について述べたが、本発明はこれに限らず、この種々の構成を用いるようにしてもよい。例えば、暗号回路6内にEEPROM7を設けた構成にしてもよい。
さらに上述の実施の形態においては、記憶部としてのEEPROM7から取得した乱数種をもとに擬似的に不規則な不規則情報であるM系列を生成する不規則情報生成手段として鍵生成部11を用い、鍵生成部11で生成した鍵で乱数種を暗号化することにより擬似乱数を生成する乱数生成手段として乱数種入力部10、DES暗号化部(第1のDES暗号化部)12、及び乱数出力部13を用い、さらにこの乱数出力部13を、任意のタイミングで生成した擬似乱数を新たな乱数種としてEEPROM7に格納する格納手段として用い、演算手段としてXOR演算部20を用い、暗号化手段として第2のDES暗号化部30を用いるようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を用いるようにしてもよい。
本発明は、乱数を生成する装置、回路及びICチップ等において広く利用できる。
1……ICカード、2……CPU、3……インタフェース部、4……ROM、6、6A、6B……暗号回路、7……EEPROM、11……鍵生成部、11A……LFSR、11B……鍵出力部、12……DES暗号化部(第1のDES暗号化部)、20……XOR演算部、30……第2のDES暗号化部。
Claims (9)
- 乱数種を記憶する記憶部と、
上記乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、
上記不規則情報生成手段で生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成手段と
を具えることを特徴とする乱数生成装置。 - 上記乱数生成手段は、
上記生成した乱数を次回の乱数生成時の乱数種とする
ことを特徴とする請求項1に記載の乱数生成装置。 - 上記乱数種と乱数生成装置毎に固有の固有情報とを所定の演算方法で演算する演算手段を具え、
上記不規則情報生成手段は、
上記演算手段による演算結果をもとに上記不規則情報を生成する
ことを特徴とする請求項1に記載の乱数生成装置。 - 上記乱数種を鍵として乱数生成装置毎に固有の固有情報を暗号化する暗号化手段を具え、
上記不規則情報生成手段は、
上記暗号化手段による暗号化の結果をもとに上記不規則情報を生成する
ことを特徴とする請求項1に記載の乱数生成装置。 - 上記不規則情報生成手段は、
線形帰還シフトレジスタでなり、上記不規則情報としてM系列を発生する
ことを特徴とする請求項1に記載の乱数生成装置。 - 上記乱数生成手段で生成した上記乱数を新たな乱数種として上記記憶部に格納する格納手段を具える
ことを特徴とする請求項1に記載の乱数生成装置。 - 上記格納手段は、
電源投入後1回目の乱数生成後に、生成した上記乱数を新たな乱数種として上記記憶部に格納する
ことを特徴とする請求項6に記載の乱数生成装置。 - 乱数種を記憶している記憶部から当該乱数種を取得し、当該乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成ステップと、
上記不規則情報生成ステップで生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成ステップと、
を具えることを特徴とする乱数生成方法。 - 乱数種を記憶する記憶部と、
上記乱数種をもとに擬似的に不規則な不規則情報を生成する不規則情報生成手段と、
上記不規則情報生成手段で生成した不規則情報を鍵とする暗号化を上記乱数種に施して乱数を生成する乱数生成手段と
を具えることを特徴とする半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203807A JP2006024140A (ja) | 2004-07-09 | 2004-07-09 | 乱数生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203807A JP2006024140A (ja) | 2004-07-09 | 2004-07-09 | 乱数生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006024140A true JP2006024140A (ja) | 2006-01-26 |
Family
ID=35797346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004203807A Pending JP2006024140A (ja) | 2004-07-09 | 2004-07-09 | 乱数生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006024140A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2897451A1 (fr) * | 2006-02-13 | 2007-08-17 | France Telecom | Dispositif et procede de cryptographie pour generer des nombres pseudo-aletoires |
JP2007233952A (ja) * | 2006-03-03 | 2007-09-13 | Fuji Electric Retail Systems Co Ltd | 記録媒体処理装置、電子決済端末装置及びその制御方法 |
JP2008293339A (ja) * | 2007-05-25 | 2008-12-04 | Keihin Corp | 乱数発生装置及び車両制御装置 |
JP2014510354A (ja) * | 2011-04-05 | 2014-04-24 | イントリンシツク・イー・デー・ベー・ベー | メモリスタートアップ時のノイズに基づいた乱数生成システム |
CN108183898A (zh) * | 2017-12-28 | 2018-06-19 | 浙江中智海通信科技有限公司 | 一种基于注册服务的高效加密方法 |
-
2004
- 2004-07-09 JP JP2004203807A patent/JP2006024140A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2897451A1 (fr) * | 2006-02-13 | 2007-08-17 | France Telecom | Dispositif et procede de cryptographie pour generer des nombres pseudo-aletoires |
WO2007093723A2 (fr) * | 2006-02-13 | 2007-08-23 | France Telecom | Dispositif et procede de cryptographie pour generer des nombres pseudo-aleatoires |
WO2007093723A3 (fr) * | 2006-02-13 | 2007-10-25 | France Telecom | Dispositif et procede de cryptographie pour generer des nombres pseudo-aleatoires |
JP2007233952A (ja) * | 2006-03-03 | 2007-09-13 | Fuji Electric Retail Systems Co Ltd | 記録媒体処理装置、電子決済端末装置及びその制御方法 |
JP2008293339A (ja) * | 2007-05-25 | 2008-12-04 | Keihin Corp | 乱数発生装置及び車両制御装置 |
US8190666B2 (en) | 2007-05-25 | 2012-05-29 | Keihin Corporation | Random number generation device and vehicle control device |
JP2014510354A (ja) * | 2011-04-05 | 2014-04-24 | イントリンシツク・イー・デー・ベー・ベー | メモリスタートアップ時のノイズに基づいた乱数生成システム |
US9383969B2 (en) | 2011-04-05 | 2016-07-05 | Intrinsic Id B.V. | Random number generating system based on memory start-up noise |
CN108183898A (zh) * | 2017-12-28 | 2018-06-19 | 浙江中智海通信科技有限公司 | 一种基于注册服务的高效加密方法 |
CN108183898B (zh) * | 2017-12-28 | 2020-09-29 | 浙江中智海通信科技有限公司 | 一种基于注册服务的高效加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280671B2 (en) | Semiconductor device and encryption key writing method | |
EP0880115B1 (en) | Encryption communication system for generating passwords on the basis of start information on both parties of communications | |
US9904804B2 (en) | Layout-optimized random mask distribution system and method | |
US20080025506A1 (en) | Memory access control apparatus and method, and communication apparatus | |
US20070071235A1 (en) | Encryption/decryption appararus | |
US10121392B2 (en) | Masking and unmasking methods and devices | |
JPH10511778A (ja) | 2つの処理装置の間における秘密鍵による通信プロトコルの実行方法 | |
JP2003198534A (ja) | データ暗号化装置及びその方法 | |
JP2010211515A (ja) | 情報記憶媒体、認証用データ生成方法、及び媒体認証システム | |
JP2008003976A (ja) | メモリアクセス制御装置および方法、並びに、通信装置 | |
US8249253B2 (en) | Semiconductor integrated circuit having encrypter/decrypter function for protecting input/output data transmitted on internal bus | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
JP2004109420A (ja) | 乱数生成装置及び乱数生成方法 | |
EP3471334B1 (en) | Method for configuring a transponder, transponder and base station | |
JP2006024140A (ja) | 乱数生成装置 | |
US7809141B2 (en) | Ciphering by blocks of the content of a memory external to a processor | |
JP2000242470A (ja) | 乱数生成装置および方法および記録媒体 | |
JP5231079B2 (ja) | 疑似乱数発生器及びデータ通信装置 | |
JP2007067942A (ja) | Icカード、および、icカード用プログラム | |
JP2006025366A (ja) | 暗号化装置及び半導体集積回路 | |
US11121884B2 (en) | Electronic system capable of self-certification | |
JP5269661B2 (ja) | 携帯可能電子装置、及び携帯可能電子装置の制御方法 | |
JP2010092117A (ja) | データ処理装置及びデータ処理方法 | |
JP6800732B2 (ja) | 処理システム、および端末 | |
JP2005348453A (ja) | 携帯カードの保護方法 |