(57)【特許請求の範囲】
【請求項１】
ｎビットのバイナリベクトルの系列を生成するｎビットバイナリベクトル生成手段であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、前記生成されたｎビットのバイナリベクトルの系列を順次入力し、ｎビットのバイナリベクトル全単射写像の系列を生成するバイナリベクトル全単射写像生成手段と、前記生成されたｎビットのバイナリベクトル全単射写像の連続するｍ個を結合するバイナリベクトル結合手段と、前記結合されたｍ×ｎビットのバイナリベクトルにおける所定位置のｄビットバイナリベクトルを抽出するバイナリベクトル抽出手段であって、少なくとも１つの前記ｎビットのバイナリベクトル全単射写像を含むように抽出するものと、を備えることを特徴とする秘密情報生成装置。
【請求項２】
前記ｎビットバイナリベクトル生成手段は、ｋビットのバイナリベクトルの系列を生成するｋビットバイナリベクトル生成手段であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、ｎ−ｋビットの乱数を生成する乱数生成手段と、を備え、前記ｋビットのバイナリベクトルと前記ｎ−ｋビットの乱数とを結合したｎビットのバイナリベクトルの系列を生成することを特徴とする請求項１に記載の秘密情報生成装置。
【請求項３】
前記バイナリベクトル全単射写像生成手段は、システム内部において入力から出力を生成することが容易で、且つ、システム外部において出力から入力を復元することが困難であることを特徴とする請求項１又は２に記載の秘密情報生成装置。
【請求項４】
前記ｎビットバイナリベクトル生成手段により異なる値のバイナリベクトルが生成される周期Ｔと、前記バイナリベクトル結合手段により結合されるバイナリベクトルの個数ｍとは、互いに素であることを特徴とする請求項１〜３の何れかに記載の秘密情報生成装置。
【請求項５】
周期Ｔの間は値が異なるｋビットのビット列を生成する線形フィードバックシフトレジスタよりｋビットのビット列を得る手順と、
プリセットメモリより予め格納されているｎ−ｋビットのビット列を読み出す手順と、
前記ｋビットのビット列と前記ｎ−ｋビットのビット列とを結合してｎビットのバイナリベクトルを生成する手順と、
暗号化手段に前記ｎビットのバイナリベクトルを入力し、所定の暗号鍵を用いて暗号化することでｎビットの暗号データを得る手順と、
ｎ×ｍビットのデータを格納可能なシフトレジスタに、前記ｎビットの暗号データを順次入力する手順と、
少なくとも１つの前記ｎビットの暗号データを含むように前記シフトレジスタの所定位置のｄビットを抽出すべく接続したｄ個のＤフリップフロップを、前記シフトレジスタに保持されたｍ個の前記暗号データが入れ替わる毎に動作させる手順と、
を備えることにより、前記ｄ個のＤフリップフロップよりｄビットの秘密情報を得ることを特徴とする秘密情報生成方法。
【請求項６】
周期Ｔの間は値が異なるｋビットのビット列を生成する線形フィードバックシフトレジスタよりｋビットのビット列を得る手順と、
ｎ−ｋビットの乱数を生成する乱数発生器よりｎ−ｋビットのビット列を得る手順と、
前記ｋビットのビット列と前記ｎ−ｋビットのビット列とを結合してｎビットのバイナリベクトルを生成する手順と、
暗号化手段に前記ｎビットのバイナリベクトルを入力し、所定の暗号鍵を用いて暗号化することでｎビットの暗号データを得る手順と、
ｎ×ｍビットのデータを格納可能なシフトレジスタに、前記ｎビットの暗号データを順次入力する手順と、
少なくとも１つの前記ｎビットの暗号データを含むように前記シフトレジスタの所定位置のｄビットを抽出すべく接続したｄ個のＤフリップフロップを、前記シフトレジスタに保持されたｍ個の前記暗号データが入れ替わる毎に動作させる手順と、
を備えることにより、前記ｄ個のＤフリップフロップよりｄビットの秘密情報を得ることを特徴とする秘密情報生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報セキュリティの分野において、暗号通信やデジタル署名等で利用される秘密情報を生成する秘密情報生成装置及び方法に関する。
【０００２】
【従来の技術】
従来より、伝送情報を関係者以外の第三者に知られないようにするため、伝送情報を暗号化する暗号化技術や、伝送情報が改ざん、偽造されないことを保証するためにデジタル署名技術が用いられている。また、例えば端末装置からホスト装置にアクセスするユーザの正当性を確認可能とするために、個々のユーザに認証パスワードを割り当てておき、アクセス時にその認証パスワードの入力を要求することが一般的に行われている。これら暗号化技術に使用される暗号鍵、デジタル署名技術に使用される乱数及び認証パスワードには、第三者に知られることのない秘密情報が用いられる。
【０００３】
ここで、上述した暗号化技術、デジタル署名技術及び認証パスワードの割り当てにおける問題点を検討する。例えば、あるネットワークにおいてユーザが暗号通信を行う場合を考える。各ユーザに対し、暗号通信を実現するために同一の共通鍵暗号化アルゴリズムが配布されているものとすると、ユーザ同士が安全に暗号通信を行うためには、特定のユーザ同士が共有している暗号鍵を他のユーザが使用することは避けなければならないという問題がある。
【０００４】
また、エルガマル署名等のように、安全性の根拠を離散対数問題におくデジタル署名方式を考える。このようなデジタル署名方式では、同じ秘密鍵と秘密情報との組み合わせを再び使用すると、秘密鍵が特定されてしまう。したがって、ある秘密鍵を継続して使用する場合には、同じ秘密情報を用いてデジタル署名を生成することを避けなければならないという問題がある。この事実は、「Ｄｏｕｇｌａｓ  Ｒ．  Ｓｔｉｎｓｏｎ著、櫻井幸一監修、「暗号理論の基礎」ｐｐ．２２４〜２２５、共立出版」等に記載されている。
【０００５】
更に、例えばあるセキュリティシステムにおいて、個々のユーザに秘密のパスワードを割り当てる場合を考える。この場合には、異なるユーザに対して同一のパスワードが割り当てられてしまうことは避けなければならないという問題がある。
【０００６】
暗号化技術、デジタル署名技術及び認証パスワードの割り当てにおいては、上述したような問題があるため、これらの問題の発生を防ぐべく、秘密情報には一般に次のような性質が要求される。
（１）生成される可能性のある秘密情報の集合全体の要素数は非常に大きい。
（２）秘密情報から、その秘密情報の元となった情報を推定することは困難である。
（３）実際に生成される秘密情報は、生成される可能性のある秘密情報の集合全体における分布に偏りが少ない。
【０００７】
上記性質（３）については、更に厳しい条件として、
（３）´一度生成された秘密情報は、所定期間生成されることはない。
とすることが要求される場合もある。
【０００８】
ところで、上述した暗号化技術、デジタル署名技術及び認証パスワードの割り当てにおける諸問題は、秘密情報に要求される性質（１）〜（３）が満たされれば、発生する確率は非常に小さなものとなる。しかし、秘密情報を使用するシステムを更に強固なものとするためには、性質（３）より更に厳しい条件である性質（３）´を満たすようにすることが好ましい。この性質（３）´を満足するための方法としては、生成された全ての秘密情報を記憶しておき、新たに生成した秘密情報が記憶された秘密情報に一致した場合には、再び生成し直すことが考えられる。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述した方法で性質（３）´を満たそうとすると、秘密情報を記憶しておくために、非常に多くの記憶領域が必要となる。また、秘密情報が重複しないようにするための手続が複雑になるという問題もある。このため、生成された全ての秘密情報を記憶しておき、新たに生成した秘密情報が記憶された秘密情報に一致した場合には、再び生成し直すという方法を採用することなく、すなわち、秘密情報を記憶する多くの記憶領域や、秘密情報が重複しないようにするための複雑な手続を必要とせずに、一度生成された秘密情報は所定期間生成されることはないとの条件を満たすことのできる秘密情報生成装置及び方法が要求されている。
【００１０】
本発明は、上記従来の問題点を解決するものであり、その目的は、秘密情報を記憶する多くの記憶領域や、秘密情報が重複しないようにするための複雑な手続を必要とせずに、一度生成された秘密情報を所定期間生成することのない秘密情報生成装置及び方法を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明の秘密情報生成装置は、ｎビットのバイナリベクトルの系列を生成するｎビットバイナリベクトル生成手段であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、前記生成されたｎビットのバイナリベクトルを順次入力し、ｎビットのバイナリベクトル全単射写像を生成するバイナリベクトル全単射写像生成手段と、前記生成されたｎビットのバイナリベクトル全単射写像の連続するｍ個を結合するバイナリベクトル結合手段と、前記結合されたｍ×ｎビットのバイナリベクトルにおける所定位置のｄビットバイナリベクトルを抽出するバイナリベクトル抽出手段であって、少なくとも１つの前記ｎビットのバイナリベクトル全単射写像を含むように抽出するものとを備えて構成される。
【００１２】
この場合において、前記ｎビットバイナリベクトル生成手段は、ｋビットのバイナリベクトルの系列を生成するｋビットバイナリベクトル生成手段であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、ｎ−ｋビットの乱数を生成する乱数生成手段とを備え、前記ｋビットのバイナリベクトルと前記ｎ−ｋビットの乱数とを結合したｎビットのバイナリベクトルを生成する手段とすることもできる。
【００１３】
また、前記バイナリベクトル全単射写像生成手段は、システム内部において入力から出力を生成することが容易で、且つ、システム外部において出力から入力を復元することが困難であることが好ましい。
【００１４】
また、前記ｎビットバイナリベクトル生成手段により異なる値のバイナリベクトルが生成される周期Ｔと、前記バイナリベクトル結合手段により結合されるバイナリベクトルの個数ｍとは、互いに素であることが好ましい。
【００１５】
また、本発明の秘密情報生成方法は、ｎビットのバイナリベクトルの系列を生成する手順であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、前記生成されたｎビットのバイナリベクトルを順次入力し、ｎビットのバイナリベクトル全単射写像を生成する手順と、前記生成されたｎビットのバイナリベクトル全単射写像の連続するｍ個を結合する手順と、前記結合されたｍ×ｎビットのバイナリベクトルにおける所定位置のｄビットバイナリベクトルを抽出する手順であって、少なくとも１つの前記ｎビットのバイナリベクトル全単射写像を含むように抽出するものとを備えて構成される。
【００１６】
この場合において、前記ｎビットのバイナリベクトルの系列を生成する手順は、ｋビットのバイナリベクトルの系列を生成する手順であって、周期Ｔの間、各バイナリベクトルの値を異ならせて生成することを保証するものと、ｎ−ｋビットの乱数を生成する手順とを備え、前記ｋビットのバイナリベクトルと前記ｎ−ｋビットの乱数とを結合したｎビットのバイナリベクトルを生成する手順とすることもできる。
【００１７】
また、前記バイナリベクトル全単射写像を生成する手順は、システム内部において入力から出力を生成することが容易で、且つ、システム外部において出力から入力を復元することが困難であることが好ましい。
【００１８】
また、前記ｎビットのバイナリベクトルを生成する手順により異なる値のバイナリベクトルが生成される周期Ｔと、前記バイナリベクトルを結合する手順により結合されるｎビットのバイナリベクトルの個数ｍとは、互いに素であることが好ましい。
【００１９】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。図１に本発明に係る秘密情報生成装置の概略構成の一例を示す。同図に示す秘密情報生成装置２は、ｎビットバイナリベクトル生成手段としてのバイナリベクトル生成部４と、バイナリベクトル全単射写像生成手段としての全単射写像生成部６と、バイナリベクトル結合手段としてのバイナリベクトル結合部８と、バイナリベクトル抽出手段としてのバイナリベクトル抽出部１０とを備えて構成されている。
【００２０】
バイナリベクトル生成部４は、ｎビットのバイナリベクトル（ビット列）ｇ（＝ｇ（ｔ）、ｇ（ｔ＋１）、ｇ（ｔ＋２）、・・・）を順次生成するものであり、周期Ｔの間、各バイナリベクトルの値を変化させて生成する。したがって、連続するＴ個のバイナリベクトルｇ（ｔ）、ｇ（ｔ＋１）、ｇ（ｔ＋２）、・・・、ｇ（ｔ＋Ｔ）は全て異なる値になる。
【００２１】
全単射写像生成部６は、バイナリベクトル生成部４によって生成されたｎビットのバイナリベクトルｇが順次入力され、ｎビットのバイナリベクトル全単射写像ｆ（＝ｆ（ｇ（ｔ））、ｆ（ｇ（ｔ＋１））、ｆ（ｇ（ｔ＋２））、・・・）を生成する。
【００２２】
ここで、バイナリベクトル生成部４によって生成されたバイナリベクトルｇと、全単射写像生成部６によって生成されるバイナリベクトル全単射写像ｆは、ｇ１≠ｇ２であるならばｆ１≠ｆ２の関係がある、すなわち、バイナリベクトル全単射写像ｆが異なっていれば、元のバイナリベクトルｇも異なる値になるという関係がある。また、システム内部において、バイナリベクトル全単射写像ｆを導出することは容易であるが、システム外部において、バイナリベクトル全単射写像ｆから元のバイナリベクトルｇを導出することが困難であるという性質を有する。
【００２３】
また、ｆが全単射写像であることから、全単射写像生成部６によって生成されるバイナリベクトル全単射写像ｆの周期は、バイナリベクトル生成部４によって生成されたバイナリベクトルｇの周期Ｔと一致する。したがって、上述したように、連続するＴ個のバイナリベクトル全単射写像ｆ（ｇ（ｔ））、ｆ（ｇ（ｔ＋１））、ｆ（ｇ（ｔ＋２））、・・・、ｆ（ｇ（ｔ＋Ｔ））は全て異なる値になる。
【００２４】
バイナリベクトル結合部８は、全単射写像生成部６によって生成された連続するｍ個のｎビットのバイナリベクトル全単射写像ｆを結合し、ｍ×ｎビットのバイナリベクトルを生成する。このバイナリベクトル結合部８は、ｍ×ｎビットのバイナリベクトルの値を周期Ｔ／ＧＣＤ（Ｔ，ｍ）（ＴをＴとｍの最大公約数で除した値）で変化させて生成する。したがって、連続するＴ／ＧＣＤ（Ｔ，ｍ）個のｍ×ｎビットのバイナリベクトルは、全て異なる値になる。
【００２５】
なお、バイナリベクトル生成部４により生成されるｎビットのバイナリベクトルｇの周期Ｔと、バイナリベクトル結合部８により結合されるバイナリベクトルの個数ｍとが互いに素であるように、それらの値を選択することが好ましい。周期Ｔと個数ｍとを互いに素であるように選択すれば、連続するＴ個のｍ×ｎビットのバイナリベクトルは全て異なる値になる。
【００２６】
バイナリベクトル抽出部１０は、バイナリベクトル結合部８によって生成されたｍ×ｎビットのバイナリベクトルから、予め定められた所定位置におけるｄビット（但しｄ≧ｎ）のバイナリベクトルＬ（＝Ｌ（ｔ））を抽出する。但し、ｄビットのバイナリベクトルを抽出する位置は、少なくとも１つのｎビットのバイナリベクトル全単射写像ｆ（ｇ（ｔ＋ｒ））が含まれるように選択する。このバイナリベクトル抽出部１０によって抽出されたｄビットのバイナリベクトルＬは、以下のような性質を有する。
（１）バイナリベクトル生成部４により生成されるｎビットのバイナリベクトルｇの周期Ｔを大きくすることによって、生成される可能性のあるｄビットのバイナリベクトルＬの集合全体の要素数は大きくなる。特に、ｎビットのバイナリベクトルｇの周期Ｔと、バイナリベクトル結合部８により結合されるバイナリベクトルの個数ｍとを互いに素であるように選択することにより、連続するＴ個のｍ×ｎビットのバイナリベクトルを全て異なる値にして生成することが可能となるため、生成される可能性のあるｄビットのバイナリベクトルＬの集合全体の要素数は更に大きくなる。
（２）バイナリベクトル全単射写像ｆから元のバイナリベクトルｇを導出することが困難であるため、少なくとも１つのバイナリベクトル全単射写像ｆを含んだｄビットのバイナリベクトルＬから元のバイナリベクトルｇを導出することも困難である。
（３）連続するＴ／ＧＣＤ（Ｔ，ｍ）個のｍ×ｎビットのバイナリベクトルは、全て異なる値になっており、バイナリベクトル抽出部１０は、このｍ×ｎビットのバイナリベクトルから、予め定められた所定位置におけるｄビットのバイナリベクトルＬを、少なくとも１つのｎビットのバイナリベクトル全単射写像ｆを含むように、ｄビットのバイナリベクトルＬを抽出している。このため、ｄビットのバイナリベクトルの周期は、ｍ×ｎビットのバイナリベクトルの周期と一致し、Ｔ／ＧＣＤ（Ｔ，ｍ）となる。すなわち、連続するＴ／ＧＣＤ（Ｔ，ｍ）個のバイナリベクトルＬは、全て異なる値になる。換言すれば、一度生成されたｄビットのバイナリベクトルＬは、Ｔ／ＧＣＤ（Ｔ，ｍ）の期間は、二度と生成されることはない。
【００２７】
このような（１）〜（３）の性質より、ｄビットのバイナリベクトルＬを秘密情報として用いることが可能となる。
【００２８】
図２に本発明に係る秘密情報生成装置の詳細構成の一例を示す。同図に示す秘密情報生成装置１１は、図１に示した概略構成をより具体化したものである。バイナリベクトル生成部１２は、図１に示したバイナリベクトル生成部４に対応するものであり、ｋ段（但しｋ＜ｎ）の線形フィードバックシフトレジスタ（ＬＦＳＲ）１３と、ｎ−ｋビットのバイナリベクトルを記憶するプリセットメモリ１４とを備えており、クロック端子１６にクロックが入力されるタイミングで、ＬＦＳＲ１３からのｋビットのバイナリベクトルとプリセットメモリ１４からのｎ−ｋビットのバイナリベクトルとを結合したｎビットのバイナリベクトルを出力する。
【００２９】
ここで、ＬＦＳＲ１３の具体的な構成例を先に説明する。図３にＬＦＳＲ１３の構成の一例を示す。ＬＦＳＲ１３は、ｋ−１個の論理積素子１８−１〜１８−ｋ−１と、ｋ−１個の排他的論理和素子２０−１〜２０−ｋ−１と、ｋ個のＤフリップフロップ２２−１〜２２−ｋとを備えて構成される。
【００３０】
入力端子ｃ１〜ｃｋ−１はバイナリ固定値を設定するためのものである。出力端子ｘ１〜ｘｋはＤフリップフロップ２２−１〜２２−ｋの値が出力される。本回路においては、ｋ個のＤフリップフロップ２２−１〜２２−ｋの初期値として少なくとも１つを１に設定している場合に、クロック端子１６にクロックが入力されると、その状態を遷移させる。この際、各Ｄフリップフロップ２２−１〜２２−ｋの値が再び初期値に戻るまでに要したクロック数を周期と呼ぶ。この周期は、入力端子ｃ１〜ｃｋ−１に設定される値を変えることにより変化させることができる。特に、下記のＧＦ（２）上の特性方程式
Ｃ（ｘ）＝Ｃ０＋Ｃ１ｘ＋ｃ２ｘ２＋・・・・＋ｃｋ−１ｘｋ−１
がＧＦ（２）上既約且つ原始的であるとき、その周期は２ｋ−１であり最大になることが知られている。また、２ｋ−１が素数である場合には、上記特性方程式がＧＦ（２）上既約且つ原始的であれば必ず原始的となり、その周期は２ｋ−１であり最大になる。
【００３１】
再び図２に戻って説明する。プリセットメモリ１４には任意の固定値を設定することができる。一方、ＬＦＳＲ１３は、クロック端子１６にクロックが入力される毎にその出力値を変化させる。この変化の周期をＴとすると、ＬＦＳＲ１３からのｋビットのビット列とプリセットメモリ１４からのｎ−ｋビットのビット列とを結合したｎビットのバイナリベクトルｇは、周期Ｔの間、その値が異なったものとなる。すなわち、連続するＴ個のバイナリベクトルｇは全て異なる値になる。
【００３２】
暗号化部２４は、図１に示した全単射写像生成部６に対応するものであり、バイナリベクトル生成部１２からのｎビットのバイナリベクトルを共通鍵暗号アルゴリズムにより暗号化する。具体的には、暗号化部２４は、鍵入力端子２６に入力される暗号鍵により、バイナリベクトル生成部１２からのｎビットのバイナリベクトルを暗号化し、暗号データであるｎビットのバイナリベクトルを出力する。この暗号化部２４で暗号化を行うことにより、復号の一意性が保証され、また、暗号鍵を知ることなく、暗号化後のデータから暗号化される前のデータを復元することは困難になる。したがって、この暗号化部２４は、鍵をシステム内に秘密裏に保持しておけば、システム内部において入力から出力を生成するのは容易で、システム外部において出力から入力を復元するのが困難であるバイナリベクトル全単射写像ｆを実現するものであるといえる。
【００３３】
シフトレジスタ２８は、図１に示したバイナリベクトル結合部８に対応するものであり、ｎ×ｍビットの格納領域を有する。このシフトレジスタ２８は、暗号化部２４からのｎビットのバイナリベクトルを左端の格納領域に入力し、クロック端子１６にクロックが入力される毎に、その保持している内容をｎビットだけ右の格納領域にシフトする。したがって、クロック端子１６にｍ回のクロックが入力される毎に、シフトレジスタ２８に格納されている内容が全て入れ替わることになる。
【００３４】
上述した通り、バイナリベクトル生成部１２は、クロック端子１６にクロックが入力されるタイミングでｎビットのバイナリベクトルを出力し、このｎビットのバイナリベクトルが暗号化部２４によって暗号化され、シフトレジスタ２８に入力される。したがって、シフトレジスタ２８において、暗号化部２４からのｎビットのバイナリベクトルが入力されるタイミングと、保持している内容をｎビットだけ右の格納領域にシフトするタイミングとは同期がとれており、保持している内容をｎビットだけ右の格納領域にシフトする毎に、空いた左端のｎビットの格納領域に暗号化部２４からのｎビットのバイナリベクトルが格納されるようになっている。
【００３５】
バイナリベクトル抽出部３０は、図１に示したバイナリベクトル抽出部１０に対応するものであり、ｄ個のＤフリップフロップ３４−１〜３４−ｄによって構成される。各Ｄフリップフロップ３４−１〜３４−ｄには、クロック端子１６に入力されたクロックが１／ｍ分周器３２によって１／ｍに分周されたクロックが入力される、すなわち、クロック端子１６にｍ回のクロックが入力される毎に１回のクロックが入力される。各Ｄフリップフロップ３４−１〜３４−ｄは、シフトレジスタ２８の格納領域の左端から連続するｄビットのバイナリベクトルを保持しており、クロックが入力される毎に、その値を出力する。上述の通り、シフトレジスタ２８は、クロック端子１６にｍ個のクロックが入力される毎に、その内容が全て入れ替わる。したがって、各Ｄフリップフロップ３４−１〜３４−ｄは、シフトレジスタ２８の内容が全て入れ替わる毎に、その格納領域の左端から連続するｄビットのバイナリベクトルを出力することになる。各Ｄフリップフロップ３４−１〜３４−ｄから出力されたｄビットのバイナリベクトルは、秘密情報として秘密情報出力端子３６から出力される。
【００３６】
このように、本実施形態の秘密情報生成装置では、ｎビットのバイナリベクトルｇを周期Ｔで変化させて生成し、このバイナリベクトルｇからｎビットのバイナリベクトル全単射写像ｆを生成し、更にこのバイナリベクトル全単射写像ｆをｍ個結合し、ｍ×ｎビットのバイナリベクトルの予め定められた所定位置におけるｄビットのバイナリベクトルＬを秘密情報として抽出する。したがって、生成された全ての秘密情報を記憶しておき、新たに生成した秘密情報が記憶された秘密情報に一致したときには再び生成し直すという方法を採用する場合のように、多くの記憶領域や、秘密情報が重複しないようにするための複雑な手続を必要とせずに、一度生成された秘密情報を所定期間生成しないようにすることができる。
【００３７】
次に、本発明の他の実施形態について説明する。上述した実施形態では、図２に示したように、バイナリベクトル生成部１２は、任意の固定値を設定したプリセットメモリ１４を備えたが、このプリセットメモリ１４の代わりに乱数生成部を備えるようにしてもよい。
【００３８】
図４に本発明に係る秘密情報生成装置の詳細構成の他の一例を示す。同図に示す秘密情報生成装置４０は、図２に示した秘密情報生成装置１１と比較すると、バイナリベクトル生成部４２に、ｋビットバイナリベクトル生成手段としてのＬＦＳＲ１３とともに、プリセットメモリの代わりに乱数生成手段としての乱数生成部４４を備えている点が異なる。他の構成については秘密情報生成装置１１と同一であるので、その説明は省略する。
【００３９】
上述したように、ＬＦＳＲ１３は、ｋビットのバイナリベクトルを順次生成するものであり、周期Ｔの間、各バイナリベクトルの値を変化させて生成する。乱数生成部４４は、所定のタイミングでｎ−ｋビットの乱数を生成する。
【００４０】
バイナリベクトル生成部４２は、クロック端子１６にクロックが入力されるタイミングで、ＬＦＳＲ１３からのｋビットのバイナリベクトルと乱数生成部４４からのｎ−ｋビットの乱数あるいは擬似乱数とを結合したｎビットのバイナリベクトルｇを出力する。
【００４１】
このように、ｎ−ｋビットの乱数を生成し、この乱数をｎビットのバイナリベクトルｇに含ませることにより、生成される秘密情報に周期性がなくなり、より真正乱数に近い秘密情報の生成が可能となる。
【００４２】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は前記実施形態に示した事項に限定されず、特許請求の範囲の記載に基づいてその変更、改良等が可能であることは明らかである。
【００４３】
【発明の効果】
以上の如く本発明によれば、生成された全ての秘密情報を記憶しておき、新たに生成した秘密情報が記憶された秘密情報に一致したときには再び生成し直すという方法を採用する場合のように、多くの記憶領域や、秘密情報が重複しないようにするための複雑な手続を必要とせずに、一度生成された秘密情報を所定期間生成することのないようにすることができる。
【図面の簡単な説明】
【図１】本発明に係る秘密情報生成装置の概略構成の一例を示す図である。
【図２】本発明に係る秘密情報生成装置の詳細構成の一例を示す図である。
【図３】線形フィードバックシフトレジスタの構成の一例を示す図である。
【図４】本発明に係る秘密情報生成装置の詳細構成の他の一例を示す図である。
【符号の説明】
２  秘密情報生成装置
４  バイナリベクトル生成部
６  全単射写像生成部
８  バイナリベクトル結合部
１０  バイナリベクトル抽出部
１１  秘密情報生成装置
１２  バイナリベクトル生成部
１３  線形フィードバックシフトレジスタ（ＬＦＳＲ）
１４  プリセットメモリ
１６  クロック端子
１８−１〜１８−ｋ−１  論理積素子
２０−１〜２０−ｋ−１  排他的論理和素子
２２−１〜２２−ｋ  Ｄフリップフロップ
２４  暗号化部
２６  鍵入力端子
２８  シフトレジスタ
３０  バイナリベクトル抽出部
３２  分周器
３４−１〜３４−ｄ  Ｄフリップフロップ
３６  秘密情報出力端子
４０  秘密情報生成装置
４２  バイナリベクトル生成部
４４  乱数生成部
【図１】
0004640663.tif 000002
【図２】
0004640663.tif 000003
【図３】
0004640663.tif 000004
【図４】
0004640663.tif 000005