(57)【要約】【課題】再現性が低く推定することが困難なため安全である鍵を生成し、その鍵を用いてデータを暗号化するデータ処理装置を提供する。【解決手段】鍵生成回路６０５は、その内部のレジスタの値だけでなく、その外部の信号の値も参照して、その内部のレジスタの値を更新していく。鍵生成回路６０５が参照する外部の信号は、例えば、主記憶６０３からチップセット６０２へ流れるデータバスとする。データを暗号化する場合、ＣＰＵ６０１は、まず鍵生成回路６０５から鍵を取り出し、主記憶６０３が保持しているデータを受けて暗号化して、暗号化されたデータを主記憶６０３へ送り、主記憶６０３は暗号化されたデータを保持する。【選択図】  図６
2004349992.tif 000002
【特許請求の範囲】
【請求項１】
データを暗号化や復号化するために用いる鍵を生成する鍵生成回路であって、
前記鍵生成回路は、前記鍵の生成に用いる内部レジスタの値を更新する際に、前記鍵生成回路外部の信号の値を参照することを特徴とする鍵生成回路。
【請求項２】
データを暗号化や復号化するために用いる鍵を生成する鍵生成手段を備えるデータ処理装置であって、
前記鍵生成手段は、当該データ処理装置内部の前記鍵生成手段以外の回路の信号を、参照する手段を備えることを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを暗号化や復号化するために用いる鍵を生成する鍵生成回路と、それを備えるデータ処理装置に関する。
【０００２】
【従来の技術】
今般、様々なデータがディジタル化されて、計算システム（ワークステーションやパーソナルコンピュータ等）や携帯情報端末、携帯電話機器、磁気ディスク装置、システムチップ等のデータ処理装置で扱われるようになっている。こうしたデータの中には、クレジットカードの番号やその他の個人情報等、不正に扱われるべきでないデータもある。このような不正に扱われるべきでないデータを保護するための技術に、暗号技術がある。
【０００３】
一般に共通鍵暗号や対称暗号と呼ばれる暗号技術では、予め、正当者（ここでは「者」はユーザや装置を意味するものとする）のみが知り得るべき鍵（これ自体もデータの一種である）を用意しておく。そして、データを保護する場合には鍵を用いてデータを暗号化し、元のデータを復元する場合には鍵を用いて暗号化されたデータを復号化する。もし暗号化されたデータが不正者に入手されたとしても、暗号化されたデータから元のデータを復元したり暗号化に用いられた鍵を導出したりすることは大変困難であり、安全である。しかしながら、もし鍵も不正者に入手されたなら、不正に扱われるべきでない元のデータは不正者によって簡単に復元されてしまう。
【０００４】
そのため、不正者に対して鍵を秘密に保つことが重要であり、鍵が漏洩しないことはもちろん、不正者によって鍵が推定されないことも重要である。これは共通鍵暗号に限らず、一般に公開鍵暗号や非対称暗号と呼ばれる暗号技術でも同じであり、公開鍵暗号では秘密鍵と呼ばれる秘密に扱われるべき鍵は秘密に保つことが重要である。
【０００５】
鍵は一般に、例えば、特許文献１に開示されているような擬似乱数生成回路によって生成される。擬似乱数生成回路の種類は様々であるが、ここでは多項式
ｘ＾６４＝ｘ＾４＋ｘ＾３＋ｘ＋１（ここでは「＾」はべき演算子を示すものとし、例えば「Ａ＾Ｂ」はＡのＢ乗を示す）に基づいて接続されたＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）を例に挙げて説明する。
【０００６】
これは、６４ビット分のレジスタＲ［０］，Ｒ［１］，…，Ｒ［６３］から成り、動作クロックに従って（各クロックサイクル毎に）直前のクロックサイクルの時の値Ｒ’［０］，Ｒ’［１］，…，Ｒ’［６３］を参照して、
Ｒ［０］←Ｒ’［６３］、
およびｉ＝１，３，４に対しては
Ｒ［ｉ］←Ｒ’［ｉ−１］＋Ｒ’［６３］（ここの「＋」は排他的論理和演算を表す）、
およびｉ＝２または５≦ｉ≦６３に対しては
Ｒ［ｉ］←Ｒ’［ｉ−１］と更新する。すなわちこれは、内部で定められた更新規則に従って、内部の値を参照しながら、規則的に、周期的に動作する。
【０００７】
例えば、この擬似乱数生成回路がある時点で、Ｒ［０］のみ値１を保持し、他のレジスタは値０を保持しているとすると、次のクロックサイクルでは、Ｒ［１］のみ値１を保持し、他のレジスタは値０を保持するようになる。同様に、さらに６２クロックサイクル後には、Ｒ［６３］のみ値１を保持し、他のレジスタは値０を保持するようになり、さらにその次のクロックサイクルでは、Ｒ［０］，Ｒ［１］，Ｒ［３］，Ｒ［４］は値１を保持し、他のレジスタは値０を保持するようになる。
【０００８】
このＬＦＳＲは、６４ビット以下の鍵を生成する鍵生成回路として用いることができる。例えば、このＬＦＳＲの６４ビット分のレジスタの全ての値を、順にＲ［０］，Ｒ［１］，…，Ｒ［６３］と取り出すことで（ここではこれらを最上位から順に並べるものとする）、これを６４ビットの鍵を生成する鍵生成回路として用いることができる。このＬＦＳＲをクロック周波数を１ＭＨｚで動作させた場合、ある時点で鍵として
８０００００００００００００００（１６進表現、すなわちＲ［０］のみ値１である）を取り出すことができたなら、それから時間的に６３μｓ後（６３クロックサイクル後）には鍵として
０００００００００００００００１（１６進表現、すなわちＲ［６３］のみ値１である）を取り出すことができる。このＬＦＳＲを用いて６４ビット未満の鍵を生成する場合には、それに合ったビット分の適切なレジスタから値を取り出せばよい。
【０００９】
【特許文献１】
特開２０００−８１９６９号公報
【００１０】
【発明が解決しようとする課題】
前述した鍵生成回路では、ある時点で得られた鍵から次に得られる鍵を、比較的容易に推定される可能性がある。すなわち、鍵生成回路が前述の構造であり、ある時点で取り出した鍵が
８０００００００００００００００（１６進表現）であり、それからおよそ６３μｓ後に新たな鍵を取り出したことを不正者が知ったなら、その新たな鍵は
０００００００００００００００１（１６進表現）か、それともそれに時間的に近い
０００００００００００００００２（１６進表現、１クロックサイクル前）あるいは
Ｄ８００００００００００００００（１６進表現、１クロックサイクル後）いずれかの可能性が高い、と不正者は推定することができる。よって鍵生成回路やそれを備えるデータ処理装置としては、不正者によって鍵をこのように容易に推定されることがないことが重要である。
【００１１】
【課題を解決するための手段】
本発明は、推定することが困難な鍵を生成する鍵生成回路、およびそれを備えるデータ処理装置を提供する。
【００１２】
本発明の鍵生成回路は、内部レジスタの値の更新には、内部のレジスタの値だけでなく、外部信号の値をも参照する。こうすることで、外部信号の値の違いによって内部のレジスタの値も異なるようになる。よって本発明の鍵生成回路に依れば、内部のレジスタの値を推定することが困難となるため、内部の構成を知る者であっても鍵を推定することが困難となり、鍵を秘密に保つ可能性が高くなる。
【００１３】
また、本発明のデータ処理装置は、本発明の鍵生成回路と、他の回路（二つ目の本発明の鍵生成回路でもよい）からの信号を接続する。本発明のデータ処理装置に依れば、推定することが困難な鍵を鍵生成回路から取り出すことができるため、鍵を秘密に保つ可能性が高くなる。
【００１４】
すなわち本発明に依れば、不正者が鍵を推定することは困難であり、鍵の秘密が保たれるため、ひいてはその鍵を用いて暗号化されたデータの秘密が保たれるため、安全である。
【００１５】
【発明の実施の形態】
本発明の鍵生成回路は、多様な形態で実施することができる。ここでは、多項式
ｘ＾６４＝ｘ＾４＋ｘ＾３＋ｘ＋１に基づいて接続されたＬＦＳＲを用いて構成した鍵生成回路を説明する。
【００１６】
まず、第１の実施形態について説明する。
【００１７】
図１は、第１の実施形態の構成を示す図である。鍵生成回路１００は、６４ビット分のレジスタＲ［０］１０１，Ｒ［１］１０２，Ｒ［２］１０３，Ｒ［３］１０４，Ｒ［４］１０５，Ｒ［５］１０６，…，Ｒ［６２］１０７，Ｒ［６３］１０８およびＥＸＯＲ（Ｅｘｃｌｕｓｉｖｅ−ＯＲ）素子１０９，１１０，１１１，１１２から成る。また、鍵生成回路１００の入出力として、クロック入力１１３、外部信号入力１１４、および６４ビット分の鍵出力１１５，１１６，１１７，１１８，１１９，１２０，…，１２１，１２２がある。
【００１８】
以降では、各レジスタ１０１〜１０８を、動作クロックの立ち上がりエッジ毎にその入力信号の値を保持するフリップフロップとして説明するが、これに限らず、例えば、動作クロックの立ち下がりエッジ毎に保持するフリップフロップとして実施することもできるし、鍵生成回路１００がクロック入力１１３の代わりに更新信号入力を備え、その更新信号入力に従って動作するスルーラッチとして実施することもできる。また、鍵生成回路１００の動作クロックは、外部からクロック入力１１３を経て入力するものとして説明するが、これに限らず、例えばクロック入力１１３の代わりに内部にクロック発振器を備えて、それが発信するクロックを動作クロックとして用いて実施することもできる。
【００１９】
各ＥＸＯＲ素子１０９〜１１２は、その入力信号の値に対して排他的論理和演算を行った値を出力する。クロック入力１１３は、外部から入力される動作クロックを、各レジスタ１０１〜１０８に伝える（図１では記述が複雑にならないように接続を省略して記述している）。外部信号入力１１４は、外部から入力される信号を、ＥＸＯＲ素子１１２へ伝える。各鍵出力１１５〜１２２は、各レジスタ１０１〜１０８の値を、暗号で用いる鍵として外部へ出力する。
【００２０】
図２は、鍵生成回路１００の動作波形の一例を示す図であり、これは外部信号入力１１４には常に値０を印加した場合のものである。なおここでは、値１を高レベルの電圧、値０を低レベルの電圧として表すが、もちろんその逆でも実施することができる。外部信号入力１１４に常に値０を印加する場合、鍵生成回路１００は前述した従来の擬似乱数生成回路と同じ動作となる。
【００２１】
すなわち例えば図２のように、ある時点（時点０）で、Ｒ［０］１０１のみ値１を保持し、他のレジスタは値０を保持しているとき、クロック入力１１３から入力される動作クロックの次の立ち上がりによって（時点１）、Ｒ［１］１０２のみ値１を保持し、他のレジスタは値０を保持するようになる。
【００２２】
同様に、動作クロックのさらに６２回立ち上がり後には（時点６３）、Ｒ［６３］１０８のみ値１を保持し、他のレジスタは値０を保持するようになり、動作クロックのさらに次の立ち上がりによって（時点６４）、Ｒ［０］１０１，Ｒ［１］１０２，Ｒ［３］１０４，Ｒ［４］１０５は値１を保持し、他のレジスタは値０を保持するようになる。
【００２３】
図３は、鍵生成回路１００の動作波形の、他の一例を示す図である。これは、外部信号入力１１４には外部の他の回路からの信号が印加された場合のものである。ここでは、その信号はクロック入力１１３を経て入力される動作クロックに同期しているものとし、例としてその値を時点０から順に１，０，１，１，０，１，０，…，１，１，０，０，０としている。
【００２４】
この場合、鍵生成回路１００は前述した従来の擬似乱数生成回路とは異なる動作となる（各レジスタ１０１〜１０８が従来の擬似乱数生成回路とは異なる値を保持するようになる）。それに伴い各鍵出力１１５〜１２２の値も、従来の擬似乱数生成回路の値とは異なるようになり、鍵生成回路１００の構成を知る者であっても各鍵出力１１５〜１２２の値を推定することが困難となる。そのため、各鍵出力１１５〜１２２の値を暗号の鍵として用いれば、鍵を秘密に保つ可能性が高くなる。
【００２５】
図４は、鍵生成回路１００の動作波形の、更に他の一例を示す図である。これは、外部信号入力１１４には外部の他の回路からの信号が印加された場合のものである。図３の場合とは、ここでは、その信号はクロック入力１１３を経て入力される動作クロックに同期していないものとしていることが異なる。例としてその信号の値を時点０から順に１，０，１，１，０，…，１，０，１，０としている。
【００２６】
この場合、鍵生成回路１００は前述した従来の擬似乱数生成回路や図３の場合とは異なる動作となる（各レジスタ１０１〜１０８が従来の擬似乱数生成回路や図３の場合とは異なる値を保持するようになる）。それに伴い各鍵出力１１５〜１２２の値も、従来の擬似乱数生成回路や図３の場合の値とは異なるようになり、鍵生成回路１００の構成を知る者であっても各鍵出力１１５〜１２２の値を推定することが困難となる。
【００２７】
外部信号入力１１４を経て入力される信号とクロック入力１１３を経て入力される動作クロックとは非同期であるため、鍵生成回路１００の動作の再現性は低い。すなわち、外部信号入力１１４を経て入力される信号の周期を同じにし、クロック入力１１３を経て入力される動作クロックの周期も同じにして再現しても、それらの位相が異なれば、鍵生成回路１００の動作も異なってくる可能性が高い。よって、鍵生成回路１００の構成を知る者であっても各鍵出力１１５〜１２２の値を推定することがますます困難となる。そのため、各鍵出力１１５〜１２２の値を暗号の鍵として用いれば、鍵を秘密に保つ可能性がますます高くなる。
【００２８】
次に、第２の実施形態について説明する。
【００２９】
図５は、第２の実施形態の構成を示す図である。この鍵生成回路５００は、図１と比べて、ＸＯＲ素子１１２を備えない代わりに、ＳＥＬ素子５０１，５０２を備え、外部信号入力１１４は外部から入力される信号を各ＳＥＬ素子５０１，５０２へ伝える。各ＳＥＬ素子５０１，５０２は、その入力信号ｓの値が１なら入力信号１を、入力信号ｓの値が０なら入力信号０を出力する。
【００３０】
すなわち、レジスタＲ［０］１０１へ信号を伝えるＳＥＬ素子５０１は、外部信号入力１１４には値１が印加されているときはレジスタＲ［６３］１０８からの信号を、また、外部信号入力１１４には値０が印加されているときはレジスタＲ［４］１０５からの信号を、レジスタＲ［０］１０１へ伝える。また、レジスタＲ［５］１０６へ信号を伝えるＳＥＬ素子５０２は、外部信号入力１１４には値１が印加されているときはレジスタＲ［４］１０５からの信号を、また、外部信号入力１１４には値０が印加されているときはレジスタＲ［６３］１０８からの信号を、レジスタＲ［５］１０６へ伝える。このように、鍵生成回路５００は、外部信号入力１１４から入力される外部からの信号を参照することによって、内部の信号の流れを変えている。
【００３１】
外部信号入力１１４に常に値１を印加する場合の鍵生成回路５００は、前述した従来の擬似乱数生成回路とも、また図１の外部信号入力１１４に常に値０を印加する場合の鍵生成回路１００とも、同じ動作となる。また、外部信号入力１１４に常に値０を印加する場合の鍵生成回路５００は、前述した従来の擬似乱数生成回路や、また図１の外部信号入力１１４に任意の値を印加する場合の鍵生成回路１００と異なる動作となる。外部信号入力１１４には外部の他の回路からの信号が印加された場合、鍵生成回路５００の構成を知る者であっても各鍵出力１１５〜１２２の値を推定することが困難となる。そのため、各鍵出力１１５〜１２２の値を暗号の鍵として用いれば、鍵を秘密に保つ可能性が高くなる。
【００３２】
なお、第１の実施形態の図１や、第２の実施形態の図２には示していないが、鍵生成回路は、入出力として制御信号入力を備え、各レジスタの値を意図的に設定することができる機能を加えた構成とすることもできる。こうすることで、一般の回路のレジスタに接続されたセット信号あるいはリセット信号のように各レジスタの値をクリアする場合、あるいは、外部から初期値を入力してそれを適切なレジスタに設定する場合等でも、鍵生成回路は、各レジスタの値を意図的に設定することもできる。
【００３３】
また、鍵生成回路は、内部のレジスタ分の不揮発性メモリ素子を備え、この不揮発性メモリ素子は、各レジスタが動作時に保持している値を、非動作（電源停止あるいは休止等）となる前に保持し、再動作する前に再設定する機能を加えた構成とすることもできる。こうすることで、非動作となりその後再動作しても、各レジスタの値は直前の動作時に保持していた値に復帰することができ、連続の値を更新することができる。
【００３４】
なお鍵生成回路では、入力される外部信号のビット数、それを参照するための演算、それを参照する箇所等は、以上で説明した例に限らず、多様な形態で実施することができる。もちろん、第１および第２の実施形態を合成し、外部からの信号を内部の信号とともに演算させる構成でもあり、外部からの信号を参照して内部の信号の流れを変える構成でもある形態で実施することもできる。
【００３５】
また、以上の説明では、鍵生成回路の構成のために用いた擬似乱数生成器を、多項式
ｘ＾６４＝ｘ＾４＋ｘ＾３＋ｘ＋１に基づいて接続されたＬＦＳＲとしたが、これに限らず、他の次数や他の項から成る多項式に基づいて接続されたＬＦＳＲはもちろん、非線形に接続されたフィードバックシフトレジスタ等とすることもでき、鍵生成回路は多様な形態で実施することができる。さらに、鍵生成回路が出力する鍵のビット数は、以上で説明した例に限らず、内部のレジスタ数未満であれば、鍵のビット数分の適切なレジスタの値を出力する構成で実施することができる。
【００３６】
次に、データ処理装置について説明する。データ処理装置も、多様な形態で実施することができる。ここでは、データ処理装置の実施形態として、計算システム、および暗号用システムチップの２例を順に説明する。
【００３７】
まず、本発明のデータ処理装置の第１の実施形態について説明する。
【００３８】
図６は、本発明のデータ処理装置の第１の実施形態である、計算システムの構成を示す図である。計算システム６００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０１、チップセット６０２、主記憶６０３、補助記憶６０４、鍵生成回路６０５、および、図示していないディスプレイやネットワークポートなどがバスなどの内部通信線で接続された構成となる。すなわち計算システム６００は、一般の計算システムに鍵生成回路６０５を加えた構成となる。
【００３９】
ＣＰＵ６０１は、チップセット６０２を介して、主記憶６０３が保持しているプログラムデータを受けて、そのプログラムデータに沿って演算や計算システム６００全体の制御を行う。またＣＰＵ６０１は、データの暗号化を行うのに際して鍵が必要になると、チップセット６０２を介して、鍵生成回路６０５が出力する鍵を受けて、その鍵を用いてデータの暗号化を行う。チップセット６０２は、ＣＰＵ６０１や主記憶６０３、補助記憶６０４等のデータバス制御を行う。主記憶６０３としては、一般の計算システムでは半導体メモリが多く用いられる。主記憶６０３は、チップセット６０２を介して、保持しているプログラムデータをＣＰＵ６０１へ送る。また主記憶６０３は、ＣＰＵ６０１が必要とするプログラムデータを保持していない場合には、チップセット６０２を介して、補助記憶６０４からそれを受けて保持する。補助記憶６０４としては、一般の計算システムでは磁気ディスク装置やＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）サブシステム等が多く用いられる。補助記憶６０４は、計算システムが扱うプログラムデータ等のほとんどのデータを保持する。補助記憶６０４は主記憶６０３と比べて、比較的多くのデータを保持することができ、計算システム６００が非動作（電源停止あるいは休止等）の間もデータを保持し続けるところが、主な違いである。鍵生成回路６０５は、前述の鍵生成回路であり、ここではチップとして実現されているものとしている。鍵生成回路６０５は、計算システム６００内の所定の構成要素から所定の信号を受ける。ここでは例として、その構成要素を主記憶６０３とし、その信号を主記憶６０３からチップセット６０２へ流れるデータバスとする。鍵生成回路６０５は、その信号を、チップセット６０２を介して、鍵生成回路６０５自身の外部信号入力に受けて、その値を参照しながら内部のレジスタを更新し、鍵を出力する。図示していないディスプレイは、計算システム６００が扱っているデータを可視化する。また図示していないネットワークポートは、計算システム６００外部の他のシステムとネットワークを介して接続し、計算システム６００と他のシステムを通信する。
【００４０】
このような構成にすると、補助記憶６０４が保持すべきデータを暗号化して保持する場合や、図示していないネットワークポートを介して他のシステムへ送信すべきデータを暗号化して送信する場合等、その暗号化には鍵生成回路６０５が出力した鍵を用いているため、計算システム６００外部からその鍵を推定することが困難となる。そのため、鍵も、その鍵を用いて暗号化されたデータも、秘密に保たれる可能性が高くなる。
【００４１】
次に、本発明のデータ処理装置の第２の実施形態について説明する。
【００４２】
図７は、本発明のデータ処理装置の第２の実施形態である、暗号用システムチップの構成を示す図である。暗号用システムチップ７００は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０２、３種類の暗号モジュール［０］７０３、［１］７０４、［２］７０５、擬似乱数生成回路７０６、鍵生成回路７０７などがバスなどの内部通信線で接続された構成となる。また、暗号用システムチップ７００には入出力７０８がある。
【００４３】
ＭＰＵ７０１としては、一般にマイクロコンピュータと呼ばれる汎用的なものでも、次に説明する機能を実現する簡単なモジュール（回路）でもよい。ＭＰＵ７０１は、ＭＰＵ７０１自身あるいはＲＡＭ７０２が格納しているプログラムデータに沿って演算や暗号用システムチップ７００全体の制御を行う。またＭＰＵ７０１は、ＲＡＭ７０２や各暗号モジュール７０３〜７０５、入出力７０８等のデータバス制御を行う。ＲＡＭ７０２は、保持しているデータをＭＰＵ７０１や各暗号モジュール７０３〜７０５、入出力７０８等に送り、またそれらから送られるデータを受けるとそのデータを保持する。各暗号モジュール７０３〜７０５としては、様々な公開鍵暗号や、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の共通鍵暗号暗号アルゴリズムを、用途に応じて回路で実現すればよい。各暗号モジュール７０３〜７０５は、ＲＡＭ７０２あるいは鍵生成回路７０７から鍵を受け、ＲＡＭ７０２からデータを受けると、その暗号アルゴリズムに基づいてデータを暗号化し、その結果をＲＡＭ７０２へ送る。擬似乱数生成回路７０６としては、従来の一般的な擬似乱数生成回路でよく例えばＬＦＳＲでよいし、あるいは上記実施形態の鍵生成回路でもよい。擬似乱数生成回路７０６は、擬似乱数を生成して、それを鍵生成回路７０７へ送る。鍵生成回路７０７は、前述の鍵生成回路であり、ここでは他のモジュールと１チップ化されて実現されているものとしている。鍵生成回路７０７は、擬似乱数生成回路７０６から送られる擬似乱数を外部信号入力に受けて、その値を参照しながら内部のレジスタを更新し、鍵を適切な暗号モジュールへ出力する。その際に鍵の性質がその暗号に不適切であれば（例えば素数の性質が要求される暗号等では）、ＭＰＵ７０１がその鍵を適切な新たな鍵へと変換して、その適切な鍵を適切な暗号モジュールへ出力する。
【００４４】
このような構成にすると、暗号用システムチップ７００に外部からデータを送って暗号用システムチップ７００にそのデータを暗号化する場合等、その暗号化には鍵生成回路７０８が出力した鍵を用いているため、暗号用システムチップ７００外部からその鍵を推定することが困難となる。そのため、鍵も、その鍵を用いて暗号化されたデータも、秘密に保たれる可能性が高くなる。
【００４５】
なお、データ処理装置が備える鍵生成回路の、外部信号入力が受ける信号と動作クロックとは、同期していても非同期であってもよい。非同期であれば、鍵の再現性が低くなるため、鍵も、その鍵を用いて暗号化されたデータも、秘密に保たれる可能性がますます高くなる。
【００４６】
以上の説明では、実施形態として、計算システム、および暗号用システムチップを例に挙げたが、これに限らず、多様な形態で実施することができる。例えば、暗号技術を用いつつそのための鍵生成を行う、計算システムを複数を組み合わせた大規模システムや、携帯情報端末、携帯電話機器やその基地局、ネットワークルータやゲートウェイ、磁気ディスク装置や光ディスク装置等の記憶装置、フラッシュメモリ等の半導体メモリ等としても実施することができる。
【００４７】
【発明の効果】
本発明に依れば、不正者が鍵を推定することは困難であり、鍵の秘密が保たれる。そのため、ひいてはその鍵を用いて暗号化されたデータの秘密が保たれ、安全である。
【図面の簡単な説明】
【図１】鍵生成回路の第１の実施形態の構成を示す図である。
【図２】鍵生成回路の動作波形の一例を示す図である。
【図３】鍵生成回路の動作波形の、他の一例を示す図である。
【図４】鍵生成回路の動作波形の、更に他の一例を示す図である。
【図５】鍵生成回路の第２の実施形態の構成を示す図である。
【図６】データ処理装置の第１の実施形態の構成を示す図である。
【図７】データ処理装置の第２の実施形態の構成を示す図である。
【符号の説明】
１００，５００，６０５，７０７…鍵生成回路、６００…計算システム、７００…暗号用システムチップ
【図１】
2004349992.tif 000003
【図２】
2004349992.tif 000004
【図３】
2004349992.tif 000005
【図４】
2004349992.tif 000006
【図５】
2004349992.tif 000007
【図６】
2004349992.tif 000008
【図７】
2004349992.tif 000009