(57)【要約】【課題】平文データに対して暗号化及び復号に用いる鍵ファイルを第三者に知られないようにする。【解決手段】受信側又は再生側の装置３が、ファイルｈｆと、これから生成されるｏｆ及びその生成用行列Ｃ（正則でない行列）を有する。送信元又は記録側の装置２はファイルｂｆを有し、ｂｆとｏｆから平文データＭの長さ以上のデータ長をもつ鍵ファイルｋｆを生成するとともに、ｂｆ及びＣからフアイルｌｆを生成する。ｋｆを用いて作成される暗号文データＮを、ｌｆとともに送信又は記録する。受信側又は再生側の装置２において、Ｎ及びｌｆを受信し又は再生した場合に、ｌｆ、ｈｆから鍵ファイルｋｆ′を生成し、この鍵ファイルを用いてＮを復号化する。【選択図】　　　　　図１
2004147270.tif 000002
【特許請求の範囲】
【請求項１】
平文データを暗号化して伝送又は記録する第一の情報処理装置と、暗号文データから元の平文データを復号する第二の情報処理装置を備えた情報処理システムにおいて、
上記第二の情報処理装置が、第一ファイルと、該第一ファイルのデータを要素とする行列及び予め決められた正則でない行列の積演算により生成される第二ファイルを有していること、
上記第一の情報処理装置が第三ファイルを有しており、該第三ファイルのデータを要素とする行列及び上記第二ファイルのデータを要素とする行列の積演算により鍵ファイルを生成するとともに、第三ファイルのデータを要素とする行列及び上記正則でない行列の積演算により第四ファイルを生成するファイル生成手段を備えていること、
上記第一の情報処理装置が、上記鍵ファイルを用いて上記平文データに暗号化処理を施す暗号化処理手段を有し、該暗号化処理手段による暗号文データを含むファイルを送信し又は記録すること、
上記第二の情報処理装置が、上記暗号文データを含むファイルを受信し又は再生した場合に、上記第四ファイルのデータを要素とする行列及び上記第一ファイルのデータを要素とする行列の積演算により鍵ファイルを生成する鍵ファイル生成手段と、該鍵ファイルを用いて上記暗号文データを復号化する復号化処理手段を有している
ことを特徴とする情報処理システム。
【請求項２】
平文データを暗号化して伝送又は記録し、受信又は再生した暗号文データから元の平文データに復号する情報処理方法であって、
受信側又は再生側の装置が、第一ファイルと、該第一ファイルのデータを要素とする行列及び予め決められた正則でない行列との積演算により生成される第二ファイルを有しており、
送信元又は記録側の装置が第三ファイルを有し、該第三ファイルのデータを要素とする行列及び上記第二ファイルのデータを要素とする行列との積演算から鍵ファイルを生成するとともに、第三ファイルのデータを要素とする行列及び上記正則でない行列の積演算により第四ファイルを生成し、上記鍵ファイルを用いて作成される暗号文データを含むファイルを送信先に伝送し又は記録した後、
上記受信側又は再生側の装置により、上記暗号文データを含むファイルを受信し又は再生した場合に、上記第四ファイルのデータを要素とする行列及び上記第一ファイルのデータを要素とする行列の積演算により鍵ファイルを生成して、該鍵ファイルを用いて上記暗号文データを復号化する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化による秘匿情報の伝送技術又は記録再生技術に関する。
【０００２】
【従来の技術】
秘匿すべきデータを特定の相手だけに伝送するには、ファイルにパスワードを設定して該パスワードを知る相手に送信する形態や、互いの共通鍵で暗号化したファイルを相手に送信する形態が知られている。また、公開鍵暗号方式では、相手の公開鍵で暗号化したデータを送信し、受信相手が自分の秘密鍵で復号することができる。
【０００３】
ところで、パスワードのデータ長（ビット数）や暗号鍵の鍵長が短い場合には、組み合わせの数が少ない（鍵空間が狭い）ため解読が容易であり、暗号文攻撃に弱くなる。
【０００４】
そこで、使い捨て長文データ（Ｏｎｅ−Ｔｉｍｅ　Ｐａｄ）を互いに秘蔵し合い、該データを用いて暗号化及び復号化を行う方法が知られている。
【０００５】
【発明が解決しようとする課題】
しかしながら、使い捨て長文データを用いる方法は、該データを含む鍵ファイルの配送が容易でないことが問題となる（つまり、鍵配送を安全に行えるならば、それと同じ方法で情報を送信し合えば済む。）。また、鍵ファイルの生成等に処理時間が費やされてしまうことが問題である。
【０００６】
そこで、本発明は、暗号化及び復号化に用いる鍵ファイルを第三者に知られないようにすること及び鍵ファイル生成処理の高速化を課題とする。
【０００７】
【課題を解決するための手段】
本発明は上記の課題を解決するために下記に示す事項を備えたものである。
【０００８】
・平文データを暗号化して伝送し又は記録する第一の情報処理装置と、暗号文データから元の平文データを復号する第二の情報処理装置を備えていること。
【０００９】
・第二の情報処理装置が、第一ファイルと、第一ファイルのデータを要素とする行列及び予め決められた正則でない行列の積演算により生成される第二ファイルを有していること。
【００１０】
・第一の情報処理装置が第三ファイルを有しており、該第三ファイルのデータを要素とする行列及び第二ファイルのデータを要素とする行列の積演算により鍵ファイルを生成するとともに、第三ファイルのデータを要素とする行列及び上記正則でない行列の積演算により第四ファイルを生成するファイル生成手段を備えていること。
【００１１】
・第一の情報処理装置が、鍵ファイルを用いて平文データに暗号化処理を施す暗号化処理手段を有し、該暗号化処理手段による暗号文データを含むファイルを送信し又は記録すること。
【００１２】
・第二の情報処理装置が、暗号文データを含むファイルを受信し又は再生した場合に、第四ファイルのデータを要素とする行列及び第一ファイルのデータを要素とする行列の積演算により鍵ファイルを生成する鍵ファイル生成手段と、該鍵ファイルを用いて暗号文データを復号化する復号化処理手段を有していること。
【００１３】
従って、本発明によれば、第二の情報処理装置において、暗号化処理時に用いた鍵ファイルと同じ内容の鍵ファイルを生成するためには、第一ファイルが必要となるが、第一ファイルは第一の情報処理装置と第二の情報処理装置の間で受け渡しが行われない。つまり、第一ファイルを第三者に知られないように秘蔵することによって、鍵ファイルを安全に配送することができ、鍵ファイルを用いた暗号文データの秘密保持が保証される。また、第一の情報処理装置において鍵ファイルの生成に用いた第三ファイルを第二の情報処理装置の使用者及び第三者に知られることがない。そして、鍵ファイルを行列の積演算で高速に生成できる。
【００１４】
【発明の実施の形態】
本発明は、平文データを暗号化して伝送するとともに、暗号文データから元の平文データに復号する情報処理システムに関する。例えば、コンピュータ等の情報処理装置を使ったネットワークシステムへの適用に好適であるが、このような情報伝送システムに限らず、携帯電話等の移動体通信システムや、著作権保護を目的として音楽や画像データの秘匿化するといった、各種の情報処理システムへの適用が可能である。
【００１５】
図１は、本発明に係るシステムの基本構成を示す機能ブロック図であり、情報伝送システムへの適用を想定している。
【００１６】
情報処理システム１は、第一の情報処理装置２と第二の情報処理装置３を備えている。本例において、第一の情報処理装置２は平文データＭを暗号化して伝送する情報送信装置、また、第二の情報処理装置３は暗号文データＮから平文データＭを復号化する情報受信装置である。尚、各装置には、例えば電気的な通信手段を備えたコンピュータ機器等が用いられる。また情報伝送の形態としては有線伝送でも、無線伝送でも構わない。
【００１７】
情報処理装置３では、第一ファイル「ｈｆ」と、ｈｆから生成される第二ファイル「ｏｆ」、ｏｆの生成用行列「Ｃ」を有している。尚、ｈｆは送信相手や第三者に知られないようにすべき秘蔵ファイルである。ｏｆは公開ファイルであり、誰にでも知られることが前提とされる。また、Ｃをｏｆに含める場合には、ｏｆからＣを除いた部分が第二ファイルに相当する。行列Ｃは正則でない行列である。
【００１８】
情報処理装置２は第三ファイル「ｂｆ」を有しており、これは鍵ファイル「ｋｆ」の生成に用いる。ｋｆはＭの暗号化に用いるものであり、そのデータは鍵データとして使用され、例えば、Ｍのデータ長以上の長さをもっている。尚、ｂｆがＭのデータ長以上の長さをもつ必要はないので、ｂｆのデータ長が平文データ長未満であっても良いが、ｂｆに基いて平文データ長以上のデータ列を生成できれば良い（圧縮したファイルや乱数の種データを含むファイル等）。
【００１９】
また、ｂｆに係るデータの種類や形式等の如何を問わない。例えば、テキストファイルや画像ファイル等を使用できる。乱数生成関数を用いて生成したデータファイルや、複数のデータファイルをもとに所定の演算（例えば、加算や減算、平均演算等）を施したり、関数等で変換したデータファイル等を用いても良い。ｂｆはｋｆの生成及び後述するｌｆの生成に必要なファイルであるが、送信者が故意、過失等によりｂｆを漏らさない限り送信相手や第三者に知られる虞はない。即ち、ｋｆを知り得るのは送信相手のみであり、ｋｆからｂｆは知り得ない。また、Ｍの暗号化の度に異なるｂｆを指定したり又は選定することでｂｆを使い捨てパッドとして使用できる（ｂｆの変更に伴ってｋｆも変る）。
【００２０】
情報処理装置２は上記行列Ｃを予め有しており、ｂｆ、ｏｆからｋｆを生成するとともに、ｂｆ及びＣから第四ファイル「ｌｆ」を生成するファイル生成手段２ａを備えている。そして、装置２はｋｆを用いてＭを暗号化する暗号化処理手段２ｂを有しており、ｋｆを用いてＭから暗号文データＮを作成する。つまり、Ｍの暗号化処理を関数「Ｆ（）」で表すとき、「Ｎ＝Ｆ（Ｍ，ｋｆ）」により暗号化する。
【００２１】
例えば、任意の演算記号を「＊」で表し、Ｍに係るデータ長又はファイルサイズよりもｋｆのデータ長又はファイルサイズの方が長いものとして（このことは、ｋｆの要素データを周期的に繰り返したものや所定の演算規則に従ってデータを付加してサイズ拡張したものを改めてｋｆとして採用することにより常に保証される。）、自然数変数「ｉ」を導入し、Ｍを構成する個々の要素データを「Ｍｉ」、ｋｆを構成する個々の要素データを「ｋｆｉ」と記すとき、Ｎを構成する個々の要素データ「Ｎｉ」を、演算式「Ｎｉ＝Ｍｉ＊ｋｆｉ」で計算すれば良い（「＊」として、例えば、排他的論理和演算や減算等が挙げられる。）。あるいは、ｋｆのデータを鍵データとして、既知の暗号化法を用いれば良い。
【００２２】
Ｎを含むファイル及びｌｆは送信手段２ｃを介して情報処理装置３に送られ、その受信手段３ａにより受信される。
【００２３】
情報処理装置３は、Ｎを含むファイル及びｌｆを受信した場合に、ｌｆ、ｈｆから鍵ファイル「ｋｆ′」を生成する鍵ファイル生成手段３ｂを備えている。ｋｆ′が正しく生成された場合には、「ｋｆ′＝ｋｆ」であるが、ｈｆを知らない相手がｈｆとは異なるファイルを用いてｋｆ′を生成した場合には「ｋｆ′≠ｋｆ」である。
【００２４】
復号化処理手段３ｃはｋｆ′を用いてＮを復号化するものであり、暗号化時のｋｆと同じ内容のｋｆ′を用いない限りＮを復号化できない。つまり、Ｎの復号化処理を関数「Ｇ（Ｎ，ｋｆ′）」で表すとき、「Ｍ＝Ｇ（Ｆ（Ｍ，ｋｆ），ｋｆ′）」として正しく復号化されるための条件は「ｋｆ′＝ｋｆ」である。
【００２５】
以上のように、ｏｆが装置３から装置２に提供され、ｌｆとＮが装置２から装置３に送信される。また、ｈｆ、ｂｆが各装置においてそれぞれ秘蔵され、Ｃ、ｋｆ（＝ｋｆ′）が両装置間で共有される。尚、ｋｆはｂｆ、ｏｆを用いて生成されるので、ｂｆが同じでも送信相手に応じてｋｆが異なる。即ち、送信先に応じてｂｆを変更したり選択する必要がないので、送信者は１つのｂｆを常用できるが、勿論、状況や必要に応じてｂｆを変えても良い。また上記の例に限らずｌｆを公開しておけば、これをＮと一緒に送信する必要がなくなる。
【００２６】
図２は、送受信処理例の説明図であり、送信者Ａから受信者Ｂへのデータ伝送について示している。
【００２７】
但し、Ｂのファイルｏｆは公開されるものとする。尚、行列Ｃは正則でない（つまり、行列式の値がゼロである。）。また、ファイル「Ｘ」に対して「Ｔ（Ｘ）」はファイルＸのデータを要素として構成される行列（群）であって、Ｃと同次元の行列を意味する。「・」は行列の積演算を示す。
【００２８】
処理手順は下記の通りである。
【００２９】
（１）Ｂは、Ｃと秘密ファイルｈｆを用いてｏｆを生成する。計算式は「Ｔ（ｏｆ）＝Ｃ・Ｔ（ｈｆ）」
（２）Ａは、ｂｆと相手Ｂのｏｆを用いて鍵ファイルｋｆを生成する。計算式は、「Ｔ（ｋｆ）＝Ｔ（ｂｆ）・Ｔ（ｏｆ）」
（３）Ａは、ｋｆを使って平文Ｍを暗号化してＮを生成する（例えば、演算「Ｍ＊ｋｆ」）。そして、ｂｆ、Ｃからファイルｌｆを生成する。計算式は「Ｔ（ｌｆ）＝Ｔ（ｂｆ）・Ｃ」
（４）Ａは、ｌｆとＮを相手Ｂに送る（又はｌｆを公開済みであれば、ＮだけをＢに送る）
（５）Ｂは、ｌｆとｈｆを用いてｋｆ′を生成する。計算式は、「Ｔ（ｋｆ′）＝Ｔ（ｌｆ）・Ｔ（ｈｆ）」
（６）Ｂが正しい相手であれば、「Ｔ（ｋｆ′）＝Ｔ（ｋｆ）」となるので、ｋｆ′を使ってＮをＭに復号する（演算「Ｎ＊ｋｆ′」）。
【００３０】
Ａ、Ｂ間の伝送経路から第三者が取得できる情報は、ｏｆ、ｌｆ、Ｎであるが、これらからｋｆを生成することはできない。また、ｂｆ、ｈｆはＡ、Ｂ間で伝送されないので、第三者は知り得ない。尚、多人数の間で通信を行う場合には、行列Ｃとして全員で同じものを使うか、あるいは所属するグループ毎に異なる行列（正則でない行列）を用いれば良い。
【００３１】
正則でない行列Ｃを用いることにより、ｏｆからｈｆを、ｌｆからｂｆが求められないので安全である。また、行列の積演算を用いて各ファイルを高速に生成できる。例えば、行列Ｃｉｊが２行２列の場合、３数ａ、ｂ、ｃを用いて、Ｃ１１＝ａ、Ｃ１２＝ｂ、Ｃ２１＝ｃ・ａ、Ｃ２２＝ｃ・ｂとすればよく、ファイル「Ｘ」の構成データを要素とする行列を「Ｔ（Ｘ）ｊｋ」と記すとき、「Ｔ（Ｃ・Ｘ）ｉｋ＝Ｃｉｊ・Ｘｊｋ」により計算できる（ｉ，ｊ，ｋはいずれも自然数を示し、アインシュタインの規約で表している。）。また、この表記法によれば、例えば、上記の「Ｔ（ｏｆ）＝Ｃ・Ｔ（ｈｆ）」は「Ｔ（ｏｆ）ｉｋ＝Ｃｉｊ・Ｔ（ｈｆ）ｊｋ」であり、「Ｔ（ｋｆ）＝Ｔ（ｂｆ）・Ｔ（ｏｆ）」は「Ｔ（ｋｆ）ｉｋ＝Ｔ（ｂｆ）ｉｊ・Ｔ（ｏｆ）ｊｋ」である。演算結果である行列要素をデータ列として時系列に並べた数値により各ファイルが構成される（行列の積演算には、行数×列数のデータが必要であり、ファイルのデータ数がその倍数でないために、必要なデータが不足する場合には、予め決められた値（ゼロやダミー値等）を付加して計算すれば良い。）。
【００３２】
尚、上記の例では説明の便宜上、装置２の使用者Ａから装置３の使用者Ｂへの一方向性伝送を想定したが、双方向性伝送を行う場合には、勿論、装置２、３の両機能を備えた装置構成を用いれば良い。この場合、Ａは、ｂｆと異なる秘蔵ファイル「ｈｆ′」とＣを用いてファイルｏｆ′を生成して公開しておけば良い（処理は上記の説明と同様である。）。あるいはｈｆ′としてｂｆを用いても良い。この場合に、「Ｘａ＝Ｔ（ｂｆ）」と記すと、「Ｙ１ａ＝Ｔ（ｏｆ′）＝Ｃ・Ｘａ」を計算して、ｏｆ′を公開すれば良い。「Ｙ２ａ＝Ｔ（ｌｆ）＝Ｘａ・Ｃ」として、ｌｆをｏｆ′とともに公開する場合には、ＡはＹ１ａ、Ｙ２ａを計算して公開する。他方、「Ｘｂ＝Ｔ（ｈｆ）」、「Ｙ１ｂ＝Ｔ（ｏｆ）＝Ｃ・Ｘｂ」と記すとき、Ｂは「Ｙ２ｂ＝Ｘｂ・Ｃ」を計算して、これをＹ１ｂとともに公開すれば良い。ＡからＢへのＭの暗号化に用いるｋｆを「ｋｆ１」と記し、ＢからＡへのＭの暗号化に用いるｋｆを「ｋｆ２」と記すと、一般に両ファイルが異なる。つまり、「ｋｆ１＝Ｘａ・Ｙ１ｂ＝Ｘａ・Ｃ・Ｘｂ」、「ｋｆ２＝Ｘｂ・Ｙ１ａ＝Ｘｂ・Ｃ・Ｘａ」である。よって、Ａ、Ｂの間で２種類の鍵ファイルを共有できるので、用途や状況に応じて各鍵ファイルを使い分けることができる。例えば、一方の鍵ファイルがＡ、Ｂ間で共有された後に、該鍵ファイルを使ってＹ２ａ又はＹ２ｂを暗号化して受け渡すことにより、他方の鍵ファイルを安全に共有できる。よって、仮に一方の鍵ファイルが第三者に発覚しても、他方の鍵ファイルが残っている（鍵ファイルが一つの場合にはｈｆやｂｆ、Ｃを変更する必要が生じる。）。
【００３３】
あるいは、両方の鍵ファイルを使うことによって２重鍵を実現することができ、例えば、１回目の暗号化を第一の鍵ファイルで行った後、２回目の暗号化を第二の鍵ファイルで行えるので、さらに強度が増す。
【００３４】
尚、平文Ｍの署名法について簡単に説明すると、Ａが平文Ｍに署名してＢが検証する場合、下記の手順をとる。ここでは、Ｙ１ａが公開されているとして、Ｍに関する署名ファイルを「Ｓ」と記す。
【００３５】
（１）Ａは、「Ｔ（Ｓ）＝Ｘａ・Ｃ・Ｔ（Ｍ）」を計算してＳを生成する
（２）Ａは、ＭとＳをＢに送る
（３）Ｂは、Ｍ、Ｃ、Ｙ１ａから、「Ｚ１＝Ｙ１ａ・Ｃ・Ｔ（Ｍ）＝Ｃ・Ｘａ・Ｃ・Ｔ（Ｍ）」を求め、Ｃ、Ｓから「Ｚ２＝Ｃ・Ｔ（Ｓ）＝Ｃ・Ｘａ・Ｃ・Ｔ（Ｍ）」を求める
（４）Ｂは、「Ｚ１＝Ｚ２」であるか否かを調べる
（５）「Ｚ１＝Ｚ２」ならばＡの署名が正しく検証されるが、「Ｚ１≠Ｚ２」ならばＡ以外の署名、Ｍの改竄の可能性がある。
【００３６】
ＳがＭに関するＡの署名でない場合には、Ｚ２においてＸａが違い、また、Ｍが改竄された場合には、Ｚ１においてＴ（Ｍ）が違うので、いずれの場合も「Ｚ１≠Ｚ２」となる。
【００３７】
このような署名法を用いることで、平文や暗号文あるいは鍵ファイル生成のための上記Ｙ２ａやＹ２ｂ等を互いに検証し合えるようになる。尚、Ｍのデータ長が長い場合には、Ｔ（Ｍ）の代わりに、Ｍのハッシュ値を要素とする行列を用いれば良い。また、Ｓは装置２のファイル生成手段２ａで作成され、その検証は装置３の署名検証手段により行われる。
【００３８】
ｋｆを用いたＭの暗号化には如何なる方法を使用しても良い。例えば、ｋｆのうち所定の鍵長をもつデータを生成してこれを鍵データとして既知の共通鍵暗号を使用する方法や、Ｍに対して所定の演算処理を施す方法（減算や排他的論理和等）、Ｍを複数の成分データからなる構成ファイル（又は成分ファイル）に分割してから、ｋｆを用いて各構成ファイルをそれぞれに暗号化する方法等を用いることができる。
【００３９】
尚、情報処理装置３において、Ｎを受信した場合には予め設定されたパスワードの入力により特定され又は選択されるｈｆや既存のｋｆが読み出されて、Ｎが復号化されるように構成する。このパスワードは互いの装置間で伝送されないので安全であり。該パスワードを用いてｈｆを暗号化しておくことが好ましい。
【００４０】
また、データ記録再生系の処理装置への適用においては、図１に示す情報処理装置２を記録装置とし、情報処理装置３を再生装置とすれば良い。つまり、情報処理装置２において送信手段２ｃを記録手段に置換することで、Ｎ又はＮ及びｌｆを記憶媒体（半導体メモリ等）又は記録媒体（光学式ディスク状媒体や磁気式テープ状媒体等）に記録する。そして、装置３において受信手段３ａを再生手段に置換し、記憶媒体又は記録媒体からＮ又はＮ及びｌｆを再生してｋｆを生成する。そして、ｋｆでＮを復号化してＭを得る。記憶媒体又は記録媒体を第三者が取得しても、ｋｆが得られない限りＮを復号できないので、不正なコピー等が制限される。
【００４１】
【発明の効果】
以上に記載したところから明らかなように、本発明によれば、受信又は再生側の装置において第一ファイルｈｆを第三者に知られないように秘蔵することによって、鍵ファイルｋｆを安全に配送することができ、該鍵ファイルを用いた暗号文データの秘密保持が保証される。これにより秘匿化データを安全に伝送することができる。そして、ファイルのデータを要素とする行列の積演算により鍵ファイルを高速に生成することができる。
【図面の簡単な説明】
【図１】本発明に係る情報処理システムの基本構成例を示す機能ブロック図。
【図２】本発明に係る処理例の説明図。
【符号の説明】
１…情報処理システム、２…第一の情報処理装置、２ａ…ファイル生成手段、２ｂ…暗号化処理手段、３…第二の情報処理装置、３ｂ…鍵ファイル生成手段、３ｃ…復号化処理手段
【図１】
2004147270.tif 000003
【図２】
2004147270.tif 000004