(57)【要約】【課題】暗号化された同一の電子データを異なる配布用復号鍵で復号化することができる電子データの暗号化・復号化に関する技術を提供することにある。【解決手段】通常の復号鍵に異なる識別情報を与えることで、同一の暗文を復号化可能な異なる複数の個別復号鍵を生成することが可能になる。個別復号鍵生成装置１１０が備える結合手段において復号鍵と識別情報とを分離可能に結合して個別復号鍵を生成する。結合された識別情報が異なる毎に個別復号鍵も異なる。電子データ復号化装置１２０において個別復号鍵から復号鍵を抽出するようにすることで、この復号鍵を用いて暗文の電子データを復号化することが可能となる。【選択図】図４
2008034938.tif 000002
【特許請求の範囲】
【請求項１】
暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成装置であって、
前記復号鍵と前記識別情報とを整数値として記憶する記憶手段と、
前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段とを有することを特徴とする個別復号鍵生成装置。
【請求項２】
前記識別情報には、配布用復号鍵が配布されるユーザに関する情報が含まれている請求項１記載の個別復号鍵生成装置。
【請求項３】
暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成方法であって、
記憶手段が前記復号鍵と前記識別情報とを整数値として記憶手段に記憶する記憶ステップと、
結合手段が前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合ステップとを有することを特徴とする個別復号鍵生成方法。
【請求項４】
コンピュータを、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成装置として機能させるプログラムであって、
コンピュータを、前記復号鍵と前記識別情報とを整数値として記憶する記憶手段と、前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段として機能させることを含むことを特徴とする個別復号鍵生成装置用プログラム。
【請求項５】
暗号化された電子データを復号化する電子データ復号化装置であって、
暗号化された電子データを復号化する復号鍵に異なる識別情報を単射関数の計算手順に従って分離可能に結合して一つの整数値として生成された個別復号鍵から前記復号鍵を抽出する抽出手段と、
前記復号鍵で暗号化された前記電子データを復号化する復号化手段とを備え、
前記抽出手段は前記復号鍵と前記識別情報とを分離可能に結合する前記単射関数の前記計算手順を逆に演算する計算手順を実行するように構成されていることを特徴とする電子データ復号化装置。
【請求項６】
前記抽出手段において抽出された前記復号鍵を単独で取り出すことができないように前記抽出手段と前記復号化手段とは一体的に構成されている請求項５記載の電子データ復号化装置。
【請求項７】
個別復号鍵から前記識別情報を分離して出力する識別情報出力手段を更に備える請求項５又は６記載の電子データ復号化装置。
【請求項８】
コンピュータを、暗号化された電子データを復号化する復号鍵に異なる識別情報を単射関数の計算手順に従って分離可能に結合して一つの整数値として生成された個別復号鍵から前記復号鍵を抽出する抽出手段と前記復号鍵で暗号化された前記電子データを復号化する復号化手段として機能させる電子データ復号化装置用プログラムであって、
前記抽出手段は前記復号鍵と前記識別情報とを分離可能に結合する前記単射関数の前記計算手順を逆に演算する計算手順を実行するように構成されていることを特徴とする電子データ復号化装置用プログラム。
【請求項９】
電子データを暗号化する電子データ暗号化装置と個別復号鍵を生成する個別復号鍵生成装置とを含む電子データ暗号化システムであって、
前記電子データ暗号化装置は電子データを暗号化すると共に暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、
前記個別復号鍵生成装置は前記電子データ暗号化装置から出力された前記復号鍵の入力を受けるように構成された前記請求項１又は２記載の個別復号鍵生成装置であることを特徴とする電子データ暗号化システム。
【請求項１０】
電子データを暗号化する電子データ暗号化装置と個別復号鍵を生成する個別復号鍵生成装置と暗号化された電子データを復号化する電子データ復号化装置とを含む電子データ暗号化・復号化システムであって、
前記電子データ暗号化装置は電子データを暗号化すると共に暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、
前記個別復号鍵生成装置は前記電子データ暗号化装置から出力された前記復号鍵の入力を受けるように構成された前記請求項１又は２記載の個別復号鍵生成装置であり、
前記電子データ復号化装置は前記請求項５、６又は７記載の電子データ復号化装置であることを特徴とする電子データ暗号化・復号化システム。
【請求項１１】
暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成装置であって、
前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶手段と、
前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータとを用いて前記従属変数の分岐を前記個別復号鍵として生成する生成手段とを有することを特徴とする個別復号鍵生成装置。
【請求項１２】
暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成方法であって、
記憶手段が前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶ステップと、
生成手段が前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータと用いて前記従属変数の分岐を前記個別復号鍵として生成する生成ステップとを有することを特徴とする個別復号鍵生成方法。
【請求項１３】
コンピュータを、暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成装置として機能させるプログラムであって、
コンピュータを、前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶手段と、前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータと用いて前記従属変数の分岐を前記個別復号鍵として生成する生成手段として機能させることを含むことを特徴とする個別復号鍵生成装置用プログラム。
【請求項１４】
電子データを暗号化する電子データ暗号化装置と個別復号鍵生成装置とを含む電子データ暗号化システムであって、
前記個別復号鍵生成装置は前記請求項１１記載の個別復号鍵生成装置であり、
前記電子データ暗号化装置は電子データを暗号化すると共に復号鍵生成パラメータを生成して前記個別復号鍵生成装置に出力するように構成されていることを特徴とする電子データ暗号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個別復号鍵生成装置、個別復号鍵生成方法、個別復号鍵生成装置用プログラム、電子データ復号化装置、電子データ復号化装置用プログラム、電子データ暗号化・復号化システム及び電子データ暗号化システムに関するものである。
【背景技術】
【０００２】
従来の暗号技術においては、ある１つの暗号鍵によって暗号化されたデータを復号化する復号鍵は１つであった。つまり、１つの暗号鍵に対しては１つの復号鍵が対応していた。
【０００３】
このような従来の暗号技術では、電子データをユーザに提供する者が、電子データを暗号化し、この暗号化された電子データを広く配布しておき、その電子データの復号鍵は復号化を許されたユーザのみに与えるというように電子データの復号化を管理する方式を想定すると、以下のような問題が生じた。
【０００４】
この方式において、上述した従来の暗号技術を利用すると、ある１つの暗号鍵によって暗号化された電子データを復号化する復号鍵は１つであるので、その復号鍵の配付を受けたユーザがその復号鍵を第三者に流出させても、どのユーザからその復号鍵が流出したかを追跡するのが困難であるという問題が生じた。
【０００５】
例えば、電子データを提供しようとする者がスクランブルをかけてテレビ放送をし、契約者にのみスクランブル解除方法を提供する場合においては、スクランブルの解除方法が流出すれば、契約者以外の第三者でもその解除方法を組み込んだ解除装置を用いてテレビ番組のスクランブルを解除して視聴することができるようになる。この場合、その解除方法がどの契約者から流出したかを追跡することが困難である。
【０００６】
つまり、従来の暗号技術をそのまま使用したやり方では、電子データの提供者は、電子データを復号化するユーザに対して、契約によってその復号鍵の流出を禁止するしかなかったと言うことができる。
【０００７】
そこで、電子データを復号化しようとするユーザとの契約によって復号鍵の流出を禁止するという手法の他に、ユーザに配布された復号鍵の流出を技術的に防止する手法として、ユーザが使用している暗号鍵（以下、ユーザ暗号鍵という。）によって、暗号化された電子データを復号化する復号鍵を暗号化しておくという手法が考えられた。即ち、暗号化された電子データを復号化する復号鍵即ち電子データ用の復号鍵をユーザ暗号鍵を用いて暗号化し、その暗号化された復号鍵をユーザに配布するという手法である。このようにすれば、暗号化された電子データを復号化するためにユーザに配布される復号鍵は、ユーザ毎に異なることになる。
【特許文献１】特開２００５−１０５２３号公報
【特許文献２】特開平１０−２６９２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、暗号化された電子データを復号化する復号鍵をユーザ暗号鍵で復号化してユーザに配付するという手法においては、暗号化された電子データ用の復号鍵をユーザがユーザ暗号鍵に対応する復号鍵（以下、適宜、ユーザ復号鍵という。）とその復号化装置とを用いて復号化することになる。つまり、ユーザが所持する復号化装置において、ユーザ暗号鍵で暗号化された電子データ用の復号鍵が復号化されることになる。このように復号化された電子データ用の復号鍵をユーザが第三者に流出させても、その復号鍵自体からそれがどのユーザから流出したか認識することができず、復号鍵の流出を効果的に防止することは困難である。
【０００９】
つまり、暗号化された電子データを復号化するための復号鍵をユーザ暗号鍵で暗号化しておくという手法は、電子データを復号化しようとするユーザが自ら管理する復号化装置において、ユーザが電子データ用の復号鍵を復号化して、その復号鍵を得ることができ、従って電子データ用の復号鍵の復号化について電子データの提供者が関与することができないというところに問題があると考えることができる。また、この手法を用いると、ユーザにユーザ暗号鍵を送付してもらい、電子データの提供者がユーザから送付を受けたユーザ暗号鍵を管理するというような処理が必要になり、それだけ電子データの提供者の側の
操作、処理が複雑になってしまうという問題が生じる。
【００１０】
また、電子データの提供者の側が、電子データを復号化しようとするユーザに、ユーザ暗号鍵及びその復号化装置と一体化した電子データ用の復号化装置を提供することによって、ユーザが、電子データ用の復号鍵を取り出せなくする手法も考えられるが、復号化装置が一体化のために複雑化してコストが増大し、電子データの提供者の側は、操作、処理、全体的な管理が更に複雑になってしまうという問題がある。
【００１１】
そこで、本発明の目的とするところは、上記問題を解決して、異なる復号鍵を用いて暗号化された電子データを復号化することができる電子データの暗号化と復号化とに関する技術を提供することにある。
【課題を解決するための手段】
【００１２】
１．第１の発明（請求項１から請求項１０）
（１）個別復号鍵生成装置
第１の発明の個別復号鍵生成装置は、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成装置であって、前記復号鍵と前記識別情報とを整数値として記憶する記憶手段と、前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段とを有することを特徴とする。
【００１３】
本発明の個別復号鍵生成装置で生成される個別復号鍵は、暗号鍵によって暗号化された電子データを復号化する復号鍵に識別情報が分離可能に結合したものである。復号鍵と識別情報とを分離可能に結合する計算手順を予め本発明の個別復号鍵生成装置に記憶させておいて、この計算手順を実行することにより、個別復号鍵を生成することを実現している。
【００１４】
この場合、復号鍵も識別情報も整数値として扱い、個別復号鍵も整数値として得るように構成されている。従って復号鍵に結合する識別情報を異なるものとすれば、個別復号鍵も異なることになり、ユーザ毎に異なった個別復号鍵を配付することが可能となる。
【００１５】
なお復号鍵を整数値として扱うということには、復号鍵が例えばＲＳＡ暗号のように２以上の整数の組からなる場合においては、その２つの値を結合して一つの整数値として扱うということも含まれる。
【００１６】
この個別復号鍵は識別情報と復号鍵とを分離可能に結合したものなので、暗号化された電子データを復号化しようとするユーザの元で、個別復号鍵から識別情報を分離して復号鍵を抽出し、その復号鍵を用いて暗号化された電子データを復号化することが可能となる。即ち、復号鍵と識別情報を分離可能に結合する計算手順の操作とは逆の操作を行って、個別復号鍵から元の復号鍵を抽出することができる。得られた復号鍵で暗号化された電子データを復号化することが可能となる。
【００１７】
このように復号鍵に識別情報を分離可能に結合させることで、異なる複数の配布用復号鍵を生成することが可能となり、個別復号鍵の配布者は、ユーザ毎に異なる配布用復号鍵が配布することができる。個別復号鍵の配布者は、ユーザからユーザ暗号鍵を送付してもらう必要もないし、それを管理する必要もない。個別復号鍵の配布者はどのユーザにどの個別復号鍵を配付したかを把握していれば、配布用復号鍵が流出した場合にどのユーザから流出したかを認識することが可能となる。なお、ここで、識別情報とは、配布用復号鍵を他の配布用復号鍵と識別するのに役立つ情報、個別復号鍵と他の個別復号鍵と差異化する情報を意味するが、整数値に変換して用いられることになる。
【００１８】
この計算手順として最も簡単なものの１例は、「復号鍵と識別情報の２つの整数値のうちの所定の一方の整数値より大きい整数値と他方の整数値との積を計算して、この積に所定の一方の整数値を加えた和を計算すること」であり、実用上は復号鍵と識別情報が分離され難くするために、計算された整数値を適当な単射関数で写すことが好ましい。また、このような２段階の計算を経なくても、復号鍵と識別情報の２つの整数値を直接１つの整数値に写す単射関数を計算する計算手順であっても構わない。
【００１９】
ここで復号鍵を整数値Ｘ、識別情報を整数値Ｕ、「復号鍵と識別情報のうち所定の一方の整数値より大きい整数値」をＭとする。なお、後述のＲＳＡ暗号の場合のように、復号鍵が二以上の要素からなる場合には、それら結合して一つの整数値にしたものが、整数値Ｘである。
【００２０】
上述の記号を使用すると、「復号鍵と識別情報の２つの整数値のうちの所定の一方の整数値より大きい整数値と他方の整数値との積を計算して、この積に所定の一方の整数値を加えた和を計算する」とは、識別情報Ｕが選択された場合は、式Ｘ×Ｍ＋Ｕを計算することであり、復号鍵Ｘが選択された場合は式Ｕ×Ｍ＋Ｘを計算することである。
【００２１】
これらの式を使用することのメリットは、式Ｘ×Ｍ＋Ｕについては、（Ｘ×Ｍ＋Ｕ）／／Ｍとすれば、容易に復号鍵である整数値Ｘが得られるからである。従って、「Ｘ×Ｍ＋Ｕ」の整数値をさらに何らかの単射関数で、異なる整数値を得た場合でも、その単射関数の逆関数を実行して「Ｘ×Ｍ＋Ｕ」の整数値を得て、（Ｘ×Ｍ＋Ｕ）／／Ｍとすれば、復号鍵である整数値Ｘを得ることができる。なお、本明細書に記載される式に用いられる２項演算子「／／」については、「／／」の前の値を「／／」の後ろの値で割ったときの整数値である商、即ち割り算の結果の整数部を意味する。例えば、式７／／２は、３となる。
【００２２】
また、式Ｕ×Ｍ＋Ｘについては、（Ｕ×Ｍ＋Ｘ）（ｍｏｄ）Ｍとすれば、容易に復号鍵である整数値Ｘを得ることができる。なお、上述の式中の２項演算子「（ｍｏｄ）」とは、「（ｍｏｄ）」の前の値を「（ｍｏｄ）」の後ろの値で割ったときの余りの整数値（非負にとる）である。例えば、式７（ｍｏｄ）２＝１となる（以下、本明細書においては同じ。）。
【００２３】
なお、識別情報には、配布用復号鍵が配布されるユーザに関する情報を含むようにすることができる。このように、ユーザに関する情報を配布用復号鍵に含ませることで、配布用復号鍵が流出した場合にその個別復号鍵から流出させたユーザを把握しやすくなり、また、そのことをユーザが認識していれば、ユーザが個別復号鍵を流出させることに対する抑止に役立つことになる。
【００２４】
なお、本発明では、復号鍵と識別情報の間に数学的な相互関係はないので、識別情報を任意の長さに設定することが可能である。従って、所望の大量の情報を識別情報に含ませておいて個別復号鍵を生成することができる。識別情報に配布用復号鍵の配布に関する詳細な情報を含ませておけば、個別復号鍵の配布者は、配布に関する情報を記録して管理する必要を減少させることもできる。
この場合、個別復号鍵から、復号鍵と識別情報とを分離可能に結合する計算手順における操作とは逆の操作を行って、この識別情報を分離して抽出することが可能である。
【００２５】
（２）個別復号鍵生成方法
第１の発明の個別復号鍵生成方法は、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成方法であって、記憶手段が前記復号鍵と前記識別情報とを整数値として記憶手段に記憶する記憶ステップと、結合手段が前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合ステップとを有することを特徴とする。
【００２６】
個別復号鍵、復号鍵、計算手順、識別情報等についての説明は、上述の個別復号鍵生成装置においてした説明と同様である。従って、復号鍵に結合する識別情報を異なるものとすれば、個別復号鍵も異なることになり、ユーザ毎に異なった個別復号鍵を配付することが可能となる。
【００２７】
個別復号鍵生成装置の場合と同様に、この計算手順は、識別情報より大きい整数値と復号鍵との積を計算して、この積に識別情報を加えた和を計算することを含むようにすることが好ましい。また、識別情報には、配布用復号鍵が配布されるユーザに関する情報を含むようにすることができる。
【００２８】
（３）個別復号鍵生成装置用プログラム
第１の発明の個別復号鍵生成装置用プログラムは、コンピュータを、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成され、暗号化された電子データを復号化する際には前記復号鍵が抽出される個別復号鍵を生成する個別復号鍵生成装置として機能させるプログラムであって、コンピュータを、前記復号鍵と前記識別情報とを整数値として記憶する記憶手段と、前記復号鍵と前記識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、前記記憶手段に記憶された前記復号鍵と前記識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段として機能させることを含むことを特徴とする。この個別復号鍵生成装置用プログラムは、コンピュータを第１の発明の個別復号鍵生成装置として機能させるプログラムである。
【００２９】
（４）電子データ復号化装置
第１の発明の電子データ復号化装置は、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成された個別復号鍵から前記復号鍵を抽出する抽出手段と、前記復号鍵で暗号化された前記電子データを復号化する復号化手段とを備え、前記抽出手段は前記復号鍵と前記識別情報とを分離可能に結合する計算手順を逆に演算する計算手順を実行するように構成されていることを特徴とする。
【００３０】
ここで「復号鍵と識別情報とを分離可能に結合する計算手順を逆に演算する計算手順」とは、例えば、「復号鍵と識別情報とを分離可能に結合する計算手順」を識別情報より大きい整数値と復号鍵との積に識別情報を加えるという計算手順即ちＸ×Ｍ＋Ｕとすると、（Ｘ×Ｍ＋Ｕ）／／Ｍという計算手順である。なお、ここではＸは復号鍵、Ｕは識別情報、Ｍは識別情報より大きい整数値である。「復号鍵と識別情報とを分離可能に結合する計算手順」が異なれば、それに対応して「逆に演算する計算手順」も異なることになる。
【００３１】
この電子データ復号化装置を用いることで、上述の個別復号鍵生成方法、個別復号鍵生成装置又は個別復号鍵の生成プログラムを実施することで生成された個別復号鍵から復号鍵を抽出し、暗号化された電子データをその復号鍵で復号化することができる。
【００３２】
本発明の電子データ復号化装置においては、抽出手段が個別復号鍵から復号鍵を抽出し、その復号鍵を復号化手段が暗号化された電子データを復号化するので、電子データ復号化装置の外部に復号鍵を出力する必要はない。ユーザ暗号鍵を用いる手法のように、復号鍵が単独で取り出されるという事態を回避することができ、ユーザが個別復号鍵から復号鍵を別途取り出しにくくなっている。
【００３３】
さらに、復号鍵を別途取り出すことができないように、抽出手段と復号化手段とは、一体的に構成されていることが好ましい。抽出手段と復号化手段とを一体的に構成することで、ユーザが復号鍵を別途取り出すことをそれだけ困難にすることができる。また、抽出手段と復号化手段とを一体的に構成することで、仮に復号鍵を別途取り出すことができても、ユーザは、このような構成の電子データ復号化装置に単独で取り出した復号鍵を用いることがそれだけ困難になる。
【００３４】
また、本発明の電子データ復号化装置においては、分離された識別情報を出力する識別情報出力手段を更に備えることが好ましい。ユーザの手元で、個別復号鍵から識別情報を分離して出力できるようにすると、例えば、識別情報に電子データのファイル名を含ませておけば、ユーザが電子データと配布用復号鍵との対応関係を管理することが容易になり、また、識別情報にユーザに関する詳細な情報を含ませておけば、それをユーザが確認することでユーザの不注意による個別復号鍵の流出を防止することに役立つこととなる。
【００３５】
（５）電子データ復号化装置用プログラム
第１の発明の電子データ復号化装置用プログラムは、コンピュータを、暗号化された電子データを復号化する復号鍵に異なる識別情報を分離可能に結合して生成された個別復号鍵から前記復号鍵を抽出する抽出手段と前記復号鍵で暗号化された前記電子データを復号化する復号化手段として機能させる電子データ復号化装置用プログラムであって、前記抽出手段は前記復号鍵と前記識別情報とを分離可能に結合する計算手順を逆に演算する計算手順を実行するように構成されていることを特徴とする。
【００３６】
ユーザは、コンピュータをこの電子データ復号化装置用プログラムで電子データ復号化装置として機能させることによって、暗号化された電子データを復号化することができる。
【００３７】
（６）電子データ暗号化システム
第１の発明の電子データ暗号化システムは、電子データを暗号化する電子データ暗号化装置と個別復号鍵を生成する個別復号鍵生成装置とを含む電子データ暗号化システムであって、前記電子データ暗号化装置は電子データを暗号化すると共に暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、前記個別復号鍵生成装置は前記電子データ暗号化装置から出力された前記復号鍵の入力を受けるように構成された前記請求項１又は２記載の個別復号鍵生成装置であることを特徴とする。
【００３８】
この電子データ暗号化システムによって、個別復号鍵生成装置を利用する者が電子データを暗号化した者から復号鍵又は復号鍵を生成するためのパラメータを入手し、この復号鍵又はパラメータから生成した復号鍵を個別復号鍵生成装置に入力するという手間を省くことができる。
【００３９】
なお、電子データ暗号化装置における「復号鍵を生成」するということには、共通鍵の用いる場合のように、暗号鍵がそのまま復号鍵として用いられる場合についても、「復号鍵を生成」することに含まれる。
【００４０】
（７）電子データ暗号化・復号化システム
第１の発明の電子データ暗号化・復号化システムは、電子データを暗号化する電子データ暗号化装置と個別復号鍵を生成する個別復号鍵生成装置と暗号化された電子データを復号化する電子データ復号化装置とを含む電子データ暗号化・復号化システムであって、前記電子データ暗号化装置は電子データを暗号化すると共に暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、前記個別復号鍵生成装置は前記電子データ暗号化装置から出力された前記復号鍵の入力を受けるように構成された前記請求項１又は２記載の個別復号鍵生成装置であり、前記電子データ復号化装置は前記請求項５、６又は７記載の電子データ復号化装置であることを特徴とする。
【００４１】
この電子データ暗号化・復号化システムによって、個別復号鍵生成装置を利用する者が電子データを暗号化した者から復号鍵又は復号鍵を生成するためのパラメータを入手し、この復号鍵又はパラメータから生成した復号鍵を個別復号鍵生成装置に入力するという手間を省くことができる。また、暗号化された電子データを復号化しようとするユーザに与えられる個別復号鍵については、異なるユーザには異なる個別復号鍵を与えることが可能となる。
【００４２】
なお、電子データ暗号化装置における「復号鍵を生成」するということには、共通鍵の用いる場合のように、暗号鍵がそのまま復号鍵として用いられる場合についても、「復号鍵を生成」することに含まれる。
【００４３】
２．第２の発明（請求項１１から請求項１４）
（１）個別復号鍵生成装置
第２の発明の個別復号鍵生成装置は、暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成装置であって、前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶手段と、前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータと用いて前記従属変数の分岐を前記個別復号鍵として生成する生成手段とを有することを特徴とする。
【００４４】
ここで、「暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式」、「復号鍵生成パラメータから従属変数の分岐を選択する分岐選択パラメータに対応した従属変数の分岐を計算する計算手順」について説明する。
【００４５】
ここでは、いわゆるシーザー暗号と呼ばれる共通鍵暗号方式とＲＳＡ暗号と呼ばれる公開鍵暗号方式を例として挙げるが、これらに限定されるものではない。要は「暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式」であれば、ここで例として挙げるもの以外の暗号方式を利用することができる。
【００４６】
まず、いわゆるシーザー暗号と呼ばれる共通鍵を用いた例を説明する。シーザー暗号では、アルファベットを順に０から２５までの整数に対応させておき、それを２６を法としてＫ（０＜Ｋ＜２６）ずらすことによって暗号化を行い、その逆をずらすことによって復号化を行う暗号方式である。
【００４７】
例えば、平文をｍ（非負の整数値）とし、その暗文をｃ（非負の整数値）とすると、暗号鍵としてｘを用いた場合、ｃ＝（ｍ＋ｘ）（ｍｏｄ）２６という式によって暗号化を行い、復号鍵として通常は再びｘを用いて、ｍ＝（ｃ−ｘ）（ｍｏｄ）２６という式によって復号化を行う暗号方式である。
【００４８】
このシーザー暗号においては、暗号鍵は同時に復号鍵であって、この暗号鍵が復号鍵生成パラメータである。ここでは、この暗号鍵を独立変数であるｘとし、復号鍵を従属変数であるｙとすると、（ｘ−ｙ）（ｍｏｄ）２６＝０という式で定義される多価関数となる。
【００４９】
上記多価関数の定義式においては、従属変数であるｙの値は、式ｙ＝ｘ＋２６ｎ（但し、ｎは非負の整数とする）により得ることができる。従って、「復号鍵生成パラメータから従属変数の分岐を選択する分岐選択パラメータに対応した従属変数の分岐を計算する計算手順」とは、この式ｙ＝ｘ＋２６ｎによって従属変数であるｙの値を計算する手順である。そして、ｎが分岐選択パラメータ、このｎの値に対応するｙの値が従属変数の分岐としての個別復号鍵ということになる。従って、式ｙ＝ｘ＋２６ｎにおいて、分岐選択パラメータであるｎを変更することで、異なるｙの値を値を得ることができる。
【００５０】
次に公開鍵暗号方式のいわゆるＲＳＡ暗号を用いた例を説明する。ＲＳＡ暗号では、平文をｍ（正の整数値）、暗文をｃ（正の整数値）とおいたとき、暗号鍵（ｅ，Ｎ）を用いて、ｃ＝ｍｅ（ｍｏｄ）Ｎという式によって暗号化を行ない、復号鍵（ｄ，Ｎ）を用いて、ｍ＝ｃｄ（ｍｏｄ）Ｎという式によって復号化を行なう暗号方式である。ここで、Ｎは、ｐとｑをそれぞれ異なる素数としたときのｐとｑの積、即ちＮ＝ｐｑである。
【００５１】
これら暗号鍵（ｅ，Ｎ）と復号鍵（ｄ，Ｎ）は、通常、復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））を用いて生成される。ここで、φはオイラー関数を表しており、φ（Ｎ）＝（ｐ−１）（ｑ−１）である。暗号鍵の成分であるｅをφ（Ｎ）と互いに素な正の整数値とすると、復号鍵の成分であるｄはｅｄ（ｍｏｄ）φ（Ｎ）＝１なる式を満足する正の整数値となる。
【００５２】
このＲＳＡ暗号においては、ｅを独立変数とし、ｄを従属変数とすると、ｅとｄとの関係は、ｅｄ（ｍｏｄ）φ（Ｎ）＝１という式で定義されるので、ｍ＝ｃｄ（ｍｏｄ）Ｎという式を満たすｄの値は、無限個存在することになる。従って、復号鍵生成パラメータと復号鍵との関係は、上述の式ｅｄ（ｍｏｄ）φ（Ｎ）＝１を満たす多価関数となる。この場合、復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））に対する復号鍵の一つを（ｄ０，Ｎ）とすると、（ｄ０＋ｎφ（Ｎ），Ｎ）はすべて復号鍵となる（但し、ｎは非負の整数とする）。なお、ｄ０としては、ｅｄ（ｍｏｄ）φ（Ｎ）＝１を満たす１番小さい値をとったものが使い易い。
【００５３】
この場合には「復号鍵生成パラメータから従属変数の分岐を選択する分岐選択パラメータに対応した従属変数の分岐を計算する計算手順」とは、例えば、ｅｄ（ｍｏｄ）φ（Ｎ）＝１から、ｄの値であるｄ０を拡張ユーグリッド互除法で求め、このｄ０を用いて、復号鍵である（ｄ０＋ｎφ（Ｎ），Ｎ）を産出する計算手順である。そして、復号鍵の第１成分であるｄ０＋ｎφ（Ｎ）のｎが分岐選択パラメータであって、このｎに対応する（ｄ０＋ｎφ（Ｎ），Ｎ）が従属変数の分岐である個別復号鍵である。
【００５４】
なお、楕円関数を利用したＲＳＡ暗号であっても、復号鍵生成パラメータと復号鍵との関係が多価関数になり、複数の復号鍵が存在するので、楕円関数を利用したＲＳＡ暗号を利用することも可能である。
【００５５】
このように、第２の発明の個別復号鍵生成装置では、上述のように、一つの暗号鍵に対して、異なる個別復号鍵を生成することができる。個別復号鍵の配付業者は、ユーザからユーザ暗号鍵を送付してもらう必要もないし、それを管理する必要もない。配付業者はどのユーザにどの個別復号鍵を配付したかを把握していれば、配布用復号鍵が流出した場合にどのユーザから流出したかを認識することが可能となる。
【００５６】
（２）個別復号鍵生成方法
第２の発明の個別復号鍵生成方法は、暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成方法であって、記憶手段が前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶ステップと、生成手段が前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータと用いて前記従属変数の分岐を前記個別復号鍵として生成する生成ステップとを有することを特徴とする。
【００５７】
「暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式」、「復号鍵生成パラメータから従属変数の分岐を選択する分岐選択パラメータに対応した従属変数の分岐を計算する計算手順」についての説明は、上述の個別復号鍵生成装置においてした説明と同様である。従って、分岐選択パラメータを異なるものとすれば、個別復号鍵も異なることになり、ユーザ毎に異なった個別復号鍵を配付することが可能となる。
【００５８】
（３）個別復号鍵生成装置用プログラム
第２の発明の個別復号鍵生成装置用プログラムは、コンピュータを、暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式を利用して、１つの暗号鍵に対して異なる複数の復号鍵を個別復号鍵として生成する個別復号鍵生成装置として機能させるプログラムであって、コンピュータを、前記復号鍵生成パラメータと前記従属変数の分岐を選択する分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶手段と、前記復号鍵生成パラメータから前記従属変数の分岐を選択する分岐選択パラメータに対応した前記従属変数の分岐を計算する計算手順に従って、前記記憶手段に記憶された前記復号鍵生成パラメータと前記分岐選択パラメータと用いて前記従属変数の分岐を前記個別復号鍵として生成する生成手段として機能させることを含むことを特徴とする。この個別復号鍵生成装置用プログラムは、コンピュータを第２の発明の個別復号鍵生成装置として機能させるプログラムである。
【００５９】
（４）電子データ暗号化システム
第２の発明の電子データ暗号化システムは、電子データを暗号化する電子データ暗号化装置と個別復号鍵生成装置とを含む電子データ暗号化システムであって、前記個別復号鍵生成装置は、前記請求項１１記載の個別復号鍵生成装置であり、前記電子データ暗号化装置は電子データを暗号化すると共に復号鍵生成パラメータを生成して前記個別復号鍵生成装置に出力するように構成されていることを特徴とする。
【００６０】
この電子データ暗号化システムによって、個別復号鍵生成装置を利用しようとする者が自ら復号鍵生成パラメータを生成して入力するという手間を省くことができる。
【００６１】
なお、電子データ暗号化装置における「復号鍵生成パラメータを生成」するということには、共通鍵の用いる場合のように、暗号鍵がそのまま復号鍵生成パラメータとして用いられる場合についても、「復号鍵生成パラメータを生成」することに含まれる。
３．その他
【００６２】
なお、第１の発明及び第２の発明を含めて、本発明において、電子データとは単に電子データだけではなく、コンピュータのプログラムを電子化したものも含まれるものとする。また、コンピュータとは、特に明示しない限り、単独のコンピュータだけではなく、複数のコンピュータがネットワークで繋がったコンピュータシステムを含むものとする。
【発明を実施するための最良の形態】
【００６３】
１．以下の説明の用語について
以下の説明においては、ｆ−１は関数ｆの逆関数を、ｆＡ（ｘ）はパラメータＡを持ち独立変数をｘとする関数、及びｆ−１ＡはｆＡの逆関数を表す。
【００６４】
２．第１の発明（請求項１から請求項１０）の実施形態
（１）個別復号鍵生成装置及び個別復号鍵生成方法
（ａ）全体的な構成
本実施形態における個別復号鍵生成装置の構成を説明する。この個別復号鍵生成装置１１０は、図２に示すように、復号鍵と識別情報とを整数値として記憶する記憶手段１１１と、復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、記憶手段１１１に記憶された復号鍵と識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段１１２とを備えている。
【００６５】
図１に示す演算部１０、制御部２０、入出力部３０、記憶部４０及びそれらを相互に結合する複数のバスライン５０、６０、７０を有する通常の汎用性のあるコンピュータを用いて、この個別復号鍵生成装置１１０を構成することができる。また、この個別復号鍵生成装置１１０は、専用のハードウエアを用いた専用装置としても実現することができる。
【００６６】
ここでアドレスバスライン６０は、データバスライン７０を利用してデータのやりとりを行う演算部１０、入出力部３０、記憶部４０等のデバイスを制御部２０が指定するものであり、制御バスライン５０は、アドレスバスライン６０で指定された演算部１０、入出力部３０、記憶部４０等のデバイスに対して、制御部２０がその機能を指示するものである。以下の記載においても同様である。
【００６７】
復号鍵と識別情報とを整数値として記憶する記憶手段１１１は、これらの整数値を入力する入出力部３０と記憶部４０を中心にその他のデバイス、バスライン等を用いて構成することができる。また、復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順に従って、復号鍵と識別情報を分離可能に結合して個別復号鍵を１つの整数値として生成する結合手段１１２は、単射関数の計算手順を記憶した記憶部４０、計算手順を実行する演算部１０とそれらの動作を制御する制御部２０等を中心にして、その他のデバイス、バスライン等を用いて構成することができる。なお、生成された個別復号鍵は、通常、記憶部４０に記憶され、入出力部３０を介して、外部に出力することができる。
【００６８】
図２を用いて説明すると、記憶手段１１１は、復号鍵と識別情報の入力を受けるように設定されており、復号鍵と識別情報とが入力されるとこれらをそれぞれ整数値として処理して記憶するように構成されている。そして、この復号鍵と識別情報を、結合手段１１２が読み出すことができるように設定されている。
【００６９】
結合手段１１２は、「復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順」に従って、記憶手段１１１に記憶された復号鍵と識別情報の２つの整数値を分離可能に結合して、一つの整数値を生成するように構成されている。
【００７０】
記憶手段１１１は、結合手段１１２がこの生成した一つの整数値を、通常、個別復号鍵として記憶して、外部に出力することができるように構成されている。
【００７１】
（ｂ）計算手順の説明
「復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順」を説明する。ＲＳＡ暗号においては、ｅをφ（Ｎ）とお互いに素である最小の正の整数値、暗号鍵を（ｅ，Ｎ）とすると、復号鍵は（ｄ，Ｎ）で、ｄはｅｄ（ｍｏｄ）φ（Ｎ）＝１を満足する正の整数値である。
【００７２】
これに対して、シーザー暗号のような共通暗号においては、上述したように、暗号鍵を整数値Ｘすれば、復号鍵も同じ整数値Ｘとなる。なお、この「２．第１の発明（請求項１から請求項１２）の実施形態」において、数式に用いる記号に関しては、特に断りがない限り、基本的には同じ要素には同じ記号を用いる。
【００７３】
本発明においては、ＲＳＡ暗号の復号鍵（ｄ，Ｎ）は、数値の実装において、復号鍵の２成分の組（ｄ，Ｎ）を一つの正の整数値とみなして処理されるように設定されている。例えば、ｄが常にａ桁の数であり、Ｎが常にｂ桁の数である場合、連続した記憶領域に、ｄとＮをそれぞれ記憶し、この連続記憶領域をａ＋ｂ桁分の正の整数値として読み出すことによって、（ｄ，Ｎ）を一つの正の整数値にできる。逆に、こうして得られた、一つの正の整数値を記憶領域に格納し、最初のａ桁分の領域を読み出してｄとし、続くｂ桁分の領域を読み出してＮとすることによって、２成分の組（ｄ，Ｎ）を得ることができる。ここでは、シーザー暗号の場合の記号と同一の記号を用いるべく、２成分の組（ｄ，Ｎ）を一つの整数値としてみなした場合の整数値をＸとする。また、本発明の計算手順においては、識別情報も正の整数値として処理されるように設定されており、この整数値をＵとする。
【００７４】
「復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順」として最も簡単なものの１例は、「復号鍵と識別情報の２つの整数値のうちの一方の整数値より大きい整数値と他方の整数値との積を計算して、この積に一方の整数値を加えた和を計算すること」であり、実用上は復号鍵と識別情報が分離され難くするために、計算された整数値を適当な単射関数で写すことが好ましい。また、このような２段階の計算を経なくても、復号鍵と識別情報の２つの整数値を直接１つの整数値に写す単射関数を計算する計算手順であっても構わない。
【００７５】
例えば、ＸとＵとの結合は、Ｚ＝ＸＭ＋Ｕという式を計算することで、一つの整数値を得ることができる。ここで、ＭはＵより大きい整数値である。識別情報Ｕの最大値より大きい正の整数をＭとして設定することができる。このＺの値が個別復号鍵であり、Ｕの値を変更することで、個別復号鍵であるＺの値を変更することが可能となる。
【００７６】
ここで、説明の便宜上、個別復号鍵であるＺから復号鍵Ｘを抽出する計算手順を説明すると、Ｘ＝Ｚ／／Ｍという式を用いて、復号鍵Ｘを取り出すことができる。この場合、このＭを２のべき乗になる整数値を選ぶと、式Ｘ＝Ｚ／／Ｍの計算は、ビットシフトによって行うことが可能となる。なお、この場合、識別情報Ｕは、Ｕ＝Ｚ（ｍｏｄ）Ｍという式を用いて得ることが可能である。
【００７７】
また、ＸとＵとの結合は、Ｚ＝ＵＭ＋Ｘという式を計算することで、一つの整数値を得ることができる。ここで、ＭはＸよりも大きい整数値である。復号鍵Ｘの値より大きい正の整数をＭとして設定することができる。このＺの値が個別復号鍵であり、Ｕの値を変更することで、個別復号鍵であるＺの値を変更することが可能となる。
【００７８】
ここで、個別復号鍵Ｚから復号鍵Ｘを抽出する計算手順を説明すると、Ｘ＝Ｚ（ｍｏｄ）Ｍという式を用いて、復号鍵Ｘを取り出すことできる。また、識別情報Ｕは、Ｕ＝Ｚ／／Ｍという式を用いて得ることができる。
【００７９】
更に、個別復号鍵Ｚから復号鍵Ｘを取り出しにくくすることができる。復号鍵Ｘと識別情報Ｕとの結合について、式Ｚ＝ＭＸ＋Ｕを計算する手法では、識別情報Ｕと復号鍵Ｘとが容易に分離され、第三者に復号鍵Ｘが取り出され易い。そこで、適当な単射関数ｆを用い、Ｚ＝ｆ（ＭＸ＋Ｕ）という式によって、個別復号鍵Ｚを生成することができる。この場合には、個別復号鍵Ｚから復号鍵Ｘを抽出するには、式Ｘ＝ｆ−１（Ｚ）／／Ｍを用いて、復号鍵Ｘを取り出すことができる。この場合、識別情報は、Ｕ＝ｆ−１（Ｚ）（ｍｏｄ）Ｍという式を用いて得ることが可能である。単射関数ｆとして、例えば、共通鍵を固定したＤＥＳ暗号やＡＥＳ暗号の暗号化関数を用いることができるが、ｆ（Ｚ）の値からＺを推定することが困難なものであれば何を用いてもよい。
【００８０】
同様に式Ｚ＝ＵＭ＋Ｘという計算手順を用いる手法においても、適当な単射関数ｆを用い、Ｚ＝ｆ（ＵＭ＋Ｘ）という式によって、個別復号鍵Ｚを生成することができる。この場合には、個別復号鍵Ｚから復号鍵Ｘを抽出するには、式Ｘ＝ｆ−１（Ｚ）（ｍｏｄ）Ｍを用いて、復号鍵Ｘを取り出すことができる。
【００８１】
以下のような計算手順も可能である。例えば、Ｚ＝Ｂ＋ＭＢ（Ｕ＋ＳＢＸ）という式を用いることもできる。この場合、用いられる電子データ暗号化・復号化システムの基数（進数）をＳとし、そのときの識別情報Ｕの桁数（正の整数値）をＢとおき、Ｂの最大値よりも大きい値をＭＢとする。先に挙げた式Ｚ＝Ｕ＋ＭＸを用いる場合には、ＭをＵよりも大きい数とする必要から、Ｕの最大値を見積もることが可能である必要があったが、この式Ｚ＝ＭＢ（Ｕ＋ＳＢＸ）の場合にはそのような必要はない。
【００８２】
この場合には、個別復号鍵Ｚから復号鍵Ｘを抽出するには、Ｂ＝Ｚ（ｍｏｄ）ＭＢを計算してＢを求めてから、Ｘ＝（Ｚ／／ＭＢ）／／ＳＢという式を用いることになる。この例の場合は、ＭＢを２のべき乗の整数値とし、Ｓ＝２とすると、式Ｘ＝（Ｚ／／ＭＢ）／／ＳＢの計算をビットシフトによって行うことができる。なお、この式Ｚ＝Ｂ＋ＭＢ（Ｕ＋ＳＢＸ）の場合においても、識別情報Ｕと復号鍵Ｘとが分離しやすくなることを防止するために、適切な単射関数ｆを用いて、Ｚ＝ｆ（Ｂ＋ＭＢ（Ｕ＋ＳＢＸ））という式を用いて、個別復号鍵を生成することができる。この場合には、Ｂ＝ｆ−１（Ｚ）（ｍｏｄ）
ＭＢを計算し、Ｘ＝（ｆ−１（Ｚ）／／ＭＢ）／／ＳＢという式を用いて、復号鍵Ｘを抽出して取り出すことができる。
【００８３】
更に、次のような、計算手順も可能である。即ち、復号鍵Ｘと識別情報Ｕを２進数で表しておいて、そのビットを小さい順に交互に配置して作った数を個別復号鍵Ｚとする計算手順である。つまり、Ｘ＝ＸａＸａ−１・・・Ｘ１（ＸｉはＸの各ビットを表わす）とし、Ｕ＝ＵａＵａ−１・・・Ｕ１（ＵｉはＵの各ビットを表わす）としたとき、Ｚ＝ＸａＵａＸａ−１Ｕａ−１・・・Ｘ１Ｕ１とすれば個別復号鍵Ｚを求められる。逆に個別復号鍵Ｚから復号鍵Ｘと識別情報Ｕは、Ｘ＝Ｚ２ａＺ２ａ−２・・・Ｚ２、Ｕ＝Ｚ２ａ−１Ｚ２ａ−３・・・Ｚ１とすれば求められる。この計算の実装は、シフトレジスターを用いれば自明である。また、剰余演算と切り捨て割り算を組み合わせて行なうことも極めて容易である。
【００８４】
なお、上述の計算手順以外であっても、復号鍵と識別情報の２つの整数値を１つの整数値に写す単射関数の関数値を計算する計算手順であれば何を用いても構わない。この場合には２つの整数値が分離し難い計算手順が好ましい。
【００８５】
（ｃ）識別情報
識別情報としては、配付を受けた個別復号鍵で電子データを復号化するユーザのＩＤ番号、メールアドレス、クレジットカード番号、住所氏名、適当な乱数、これらの適当なハッシュ値等の整数値、その他、個別復号鍵の提供者が望む任意の情報であって、ユーザごとに異なるものであれば何でも利用できる。
【００８６】
但し、ユーザが個別復号鍵を流出させることを抑止するという観点からは、識別情報は、ユーザを特定するのに役立つユーザに関する情報、例えばユーザの名前、メールアドレス等、また配布日時を含ませて用いることが好ましい。なお、ユーザの名前に同姓同名が存在する場合は同じ個別復号鍵となるが、それでも、個別復号鍵が流出した場合に、その流出元のユーザを限定するのに役立つ。また、名前の下に何らかの符号を付加して識別情報とすることも可能である。
【００８７】
（ｄ）動作
個別復号鍵の生成を行う者が個別復号鍵生成装置１１０に復号鍵と識別情報を入力すると、記憶手段１１１は、この復号鍵と識別情報をそれぞれ正の整数値として記憶する。記憶手段１１１に記憶された復号鍵と識別情報を、結合手段１１２が「復号鍵と識別情報とを分離可能に結合して一つの整数値を得る単射関数の計算手順」に従って、一つの正の整数値を生成する。記憶手段１１１はこの整数値を個別復号鍵として記憶する。個別復号鍵を生成する者は、この整数値の出力を受けて個別復号鍵として得ることができる。
【００８８】
（２）電子データ復号化装置
（ａ）全体的な構成
電子データ復号化装置１２０は、図３に示すように、暗号化された電子データを復号化する復号鍵に異なる識別情報を単射関数の計算手順に従って分離可能に結合して一つの整数値として生成された個別復号鍵から復号鍵を抽出する抽出手段１２１と復号鍵で暗号化された電子データを復号化する復号化手段１２２とを備えており、上述の個別復号鍵生成装置と同様に、コンピュータを用いて構成することができる。
【００８９】
この電子データ復号化装置１２０も、上述の個別復号鍵生成方法を実施する装置と同様に、図１に示したような演算部１０、制御部２０、入出力部３０、記憶部４０及びそれらを相互に結合するバスライン５０、６０、７０を有する通常の汎用性のあるコンピュータを用いて構成することができる。また、この装置は、専用のハードウエアを用いた専用装置としても実現することができることは、先の個別復号鍵生成装置の場合と同様である。
【００９０】
記憶部４０は、配布用復号鍵を一旦記憶する記憶領域、暗文の電子データを一旦記憶する記憶領域、複号化関数計算手順を記憶した記憶領域及び上述のような個別復号鍵から復号鍵を抽出する計算手順を記憶した記憶領域を含む。抽出手段は、制御部やバスライン等を用いて、入出力部３０を介して外部から配布用復号鍵を入力し、記憶部４０に格納し、演算部１０が、この記憶された配布用復号鍵から、記憶部４０に格納されている個別復号鍵から復号鍵を抽出する計算手順に従って、復号鍵を計算する処理によって構成される。複号化手段は、制御部やバスライン等を用いて、入出力部３０を介して外部から暗文の電子データを入力し、記憶部４０に格納し、演算部１０が、この記憶された暗文と前記の抽出された複号鍵から、記憶部４０に格納されている複号化関数計算手順に従って、平文の電子データを計算し、入出力部３０が、得られた平文の電子データを外部に出力する処理によって構成される。
【００９１】
抽出手段１２１に個別復号鍵を入力すると、抽出手段１２１は、「復号鍵と識別情報とを分離可能に結合する単射関数の計算手順を逆に演算する計算手順」を実行することで、復号鍵を抽出するように構成されている。
【００９２】
抽出手段１２１で抽出された復号鍵は復号化手段１２２に出力されるように構成されている。一方、復号化手段１２２に暗号化された電子データを入力すると、復号化手段１２２はこの電子データを記憶するように構成されている。そして、抽出手段１２１から出力された復号鍵を用いて、電子データを復号化して記憶し、平文の電子データを外部に出力することができるように構成されている。
【００９３】
この電子データ復号化装置１２０においては、上述のように、コンピュータの各デバイスを用いて抽出手段１２１、復号化手段１２２を構成しており、抽出手段１２１で抽出された復号鍵はそのまま復号化手段１２２に用いられるように構成されている。つまり、抽出手段１２１と復号化手段１２２とが一体的に構成されており、復号鍵を容易に電子データ復号化装置１２０の外部に取り出せないように構成されている。
【００９４】
（ｂ）抽出手段と「逆に演算する計算手順」
抽出手段１２１は、復号鍵と識別情報とを分離可能に結合する単射関数の計算手順を逆に演算する計算手順を実行し、抽出された復号鍵を抽出手段１２１から復号化手段１２２に与えるように構成されている。
【００９５】
ここで、「復号鍵と識別情報とを分離可能に結合する単射関数の計算手順を逆に演算する計算手順」（以下、適宜「逆に演算する計算手順」と略す。）については、「（１）個別復号鍵生成装置及び個別復号鍵生成方法（ｂ）計算手順の説明」の箇所で既に説明している。そこで、ここでは、上述の箇所で用いた記号を用いて「逆に演算する計算手順」を例示する。
【００９６】
Ｚ＝ＸＭ＋Ｕという計算手順で個別復号鍵を生成した場合には、「逆に演算する計算手順」とはＸ＝Ｚ／／Ｍという計算手順であり、Ｚ＝ＵＭ＋Ｘという計算手順で個別復号鍵を生成した場合にはＸ＝Ｚ（ｍｏｄ）Ｍという計算手順である。また、Ｚ＝ｆ（ＭＸ＋Ｕ）という計算手順の場合には、「逆に演算する計算手順」はＸ＝ｆ−１（Ｚ）／／Ｍという計算手順であり、Ｚ＝ｆ（ＵＭ＋Ｘ）という計算手順の場合にはＸ＝ｆ−１（Ｚ）（ｍｏｄ）Ｍである。
【００９７】
更に、個別復号鍵を生成するための計算手順がＺ＝Ｂ＋ＭＢ（Ｕ＋ＳＢＸ）という計算手順の場合には、「逆に演算する計算手順」は、Ｂ＝Ｚ（ｍｏｄ）ＭＢを計算してＢを求め、そしてＸ＝（Ｚ／／ＭＢ）／／ＳＢを計算するという計算手順である。また、Ｚ＝ｆ（Ｂ＋ＭＢ（Ｕ＋ＳＢＸ））という計算手順においては、「逆に演算する計算手順」は、Ｂ＝ｆ−１（Ｚ）（ｍｏｄ）ＭＢを計算し、Ｘ＝（ｆ−１（Ｚ）／／ＭＢ）／／ＳＢを計算するという計算手順である。
【００９８】
また、個別復号鍵を生成するための計算手順が、Ｘ＝ＸａＸａ−１・・・Ｘ１（ＸｉはＸの各ビットを表わす）とし、Ｕ＝ＵａＵａ−１・・・Ｕ１（ＵｉはＵの各ビットを表わす）としたとき、Ｚ＝ＸａＵａＸａ−１Ｕａ−１・・・Ｘ１Ｕ１を求める計算手順の場合には、「逆に演算する計算手順」は、Ｘ＝Ｚ２ａＺ２ａ−２・・・Ｚ２を求める計算手順である。
【００９９】
いずれにせよ、「逆に演算する計算手順」は、「復号鍵と識別情報とを分離可能に結合する単射関数の計算手順」を逆に演算するようにして構成することが可能である。
【０１００】
（ｃ）復号化手段
この復号化手段１２２においては、抽出手段１２１で抽出された復号鍵を用いて、復号化関数を実行することで、暗号化された電子データを復号化するように構成されている。
【０１０１】
まず、電子データｍの暗号化が、ＲＳＡ暗号によって行われた場合を説明する。平文の電子データをｍ、暗文の電子データをｃとすると、ＲＳＡ暗号は、暗号鍵（ｅ，Ｎ）を用いて、ｃ＝ｍｅ（ｍｏｄ）Ｎという式によって暗号化を行ない、復号鍵（ｄ，Ｎ）を用いて、ｍ＝ｃｄ（ｍｏｄ）Ｎという式によって復号化を行なう暗号方式である。ｅ及びｄは、それぞれｅｄ（ｍｏｄ）φ（Ｎ）＝１なる式を満足する正の整数値である。そして、φはオイラー関数を表しており、ｐとｑがそれぞれ適当な素数とすると、Ｎはｐとｑの積即ちＮ＝ｐｑ、φ（Ｎ）＝（ｐ−１）（ｑ−１）である。
【０１０２】
抽出手段１２１は、個別復号鍵から復号鍵を抽出して復号鍵を復号化手段に与えるように構成されているが、個別復号鍵Ｚは一つの正の整数として与えられ、復号鍵Ｘも一つの正の整数として抽出手段１２１は生成する。ＲＳＡ暗号の場合においても同様である。
【０１０３】
ＲＳＡ暗号を用いる場合には、復号化手段１２２は、前述のようにして、一つの正の整数として与えられる復号鍵Ｘを、（ｄ，Ｎ）という２つの正の整数の組に変換するように設定されている。復号化手段１２２は、この（ｄ，Ｎ）を用いて、復号化関数ｍ＝ｃｄ（ｍｏｄ）Ｎを計算して、平文の電子データｍを生成するように構成されている。
【０１０４】
シーザー暗号と呼ばれる簡単な共通暗号方式の場合の場合について説明する。平文の電子データをｍ、暗文の電子データをｃ、識別情報をＵ、共通鍵をＸ、暗号化関数をＣｘ、復号化関数をＥｘとすると、ｃ＝Ｃｘ（ｍ）＝（ｍ＋Ｘ）（ｍｏｄ）２６という暗号化関数で暗号化され、ｍ＝Ｅｘ（ｃ）＝（ｃ−Ｘ）（ｍｏｄ）２６という復号化関数で復号化される暗号方式である。
【０１０５】
この共通暗号方式の場合には、復号鍵Ｘは一つの正の整数であって、ＲＳＡ暗号の場合のように抽出手段１２１から与えられた一つの正の整数を２つの成分に変換するという操作は必要ない。この場合には、復号化手段１２２は、このＸを用いて、復号化関数Ｅｘ（ｃ）＝（ｃ−Ｘ）（ｍｏｄ）２６を計算して、平文の電子データｍを生成するように構成されている。
【０１０６】
（ｄ）動作
個別復号鍵の配付を受けたユーザは、この電子データ復号化装置１２０を用いて、暗文の電子データを復号化することができる。ユーザは暗文の電子データを復号化手段１２２に入力しておく。ユーザが個別復号鍵を抽出手段１２１に入力すると、抽出手段１２１は「逆に演算する計算手順」を実行して個別復号鍵から復号鍵である整数値を抽出し、抽出した復号鍵を復号化手段１２２に出力する。
【０１０７】
抽出手段１２１から復号鍵を与えられた復号化手段１２２は、暗文の電子データを復号化関数を実行して復号化し、平文の電子データを記憶し、出力する。このように、ユーザは、暗号化された電子データを復号化して、元の平文の電子データを得ることができる。なお、ＲＳＡ暗号方式の場合には、抽出手段１２１で抽出された整数値を２つの整数値の組に変換して、暗文の電子データを復号化することになる。
【０１０８】
（ｅ）変形例と識別情報出力手段
なお、本実施形態の電子データ復号化装置の変形例として、更に、個別復号鍵から識別情報を分離して出力する識別情報出力手段（図示しない）を備えることができる。この識別情報出力手段は、電子データ復号化装置１２０を構成するコンピュータを用いて構成することが可能である。
【０１０９】
上述したように、個別復号鍵を生成するのに用いた計算手順を利用して、「個別復号鍵から識別情報を分離する計算手順」（以下、適宜「識別情報を分離する計算手順」と略す。）を得ることができる。識別情報出力手段は、この「識別情報を分離する計算手順を実行して、個別復号鍵から識別情報を分離して出力するように設定されている。
【０１１０】
Ｚ＝ＸＭ＋Ｕという計算手順で個別復号鍵を生成した場合には、「識別情報を分離する計算手順」はＵ＝Ｚ（ｍｏｄ）Ｍという計算手順であり、Ｚ＝ＵＭ＋Ｘという計算手順で個別復号鍵を生成した場合にはＵ＝Ｚ／／Ｍという計算手順である。また、Ｚ＝ｆ（ＭＸ＋Ｕ）という計算手順の場合には、「識別情報を分離する計算手順」はＵ＝ｆ−１（Ｚ）（ｍｏｄ）Ｍという計算手順であり、Ｚ＝ｆ（ＵＭ＋Ｘ）という計算手順の場合にはＵ＝ｆ−１（Ｚ）／／Ｍである。
【０１１１】
更に、Ｚ＝ＭＢ（Ｕ＋ＳＢＸ）という計算手順の場合には、「識別情報を分離する計算手順」は、Ｂ＝Ｚ（ｍｏｄ）ＭＢを計算してＢを求め、そしてＵ＝（Ｚ／／ＭＢ）（ｍｏｄ）ＳＢを計算するという計算手順である。また、Ｚ＝ｆ（Ｂ＋ＭＢ（Ｕ＋ＳＢＸ））という計算手順の場合には、「識別情報を分離する計算手順」は、Ｂ＝ｆ−１（Ｚ）（ｍｏｄ）ＭＢを計算し、Ｕ＝（ｆ−１（Ｚ）／／ＭＢ）（ｍｏｄ）ＳＢを計算するという計算手順である。
【０１１２】
また、個別復号鍵を生成するための計算手順が、Ｘ＝ＸａＸａ−１・・・Ｘ１（ＸｉはＸの各ビットを表わす）とし、Ｕ＝ＵａＵａ−１・・・Ｕ１（ＵｉはＵの各ビットを表わす）としたとき、Ｚ＝ＸａＵａＸａ−１Ｕａ−１・・・Ｘ１Ｕ１を求める計算手順の場合には、「識別情報を分離する計算手順」は、Ｕ＝Ｚ２ａ−１Ｚ２ａ−３・・・Ｚ１を求める計算手順である。
【０１１３】
いずれにせよ、「識別情報を分離する計算手順」は、「復号鍵と識別情報とを分離可能に結合する単射関数の計算手順」を逆に演算するようにして構成することが可能である。
【０１１４】
（３）電子データ暗号化システム及び電子データ暗号化・復号化システム
（ａ）全般的な説明
本実施形態の電子データ暗号化システムは、電子データを暗号化する電子データ暗号化装置と個別復号鍵を生成する個別復号鍵生成装置とを用いて構成されており、電子データ暗号化・復号化システムは、上述の電子データ暗号化システムが用いる２つの装置と更に暗号化された電子データを復号化する電子データ復号化装置とを用いて構成されている。電子データ暗号化システムは、電子データ暗号化・復号化システムのいわば構成部分となっているので、電子データ暗号化・復号化システムの実施形態を説明する中で併せて電子データ暗号化システムを説明する。
【０１１５】
電子データ暗号化装置は電子データを暗号化すると共に暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、個別復号鍵生成装置は上述の「（１）個別復号鍵生成装置及び個別復号鍵生成方法」において説明した個別復号鍵生成装置を用いて構成でき、電子データ暗号化装置から出力された復号鍵の入力を受けるように構成されている。この２つの装置により、電子データ暗号化システムが構成される。
【０１１６】
電子データ復号化装置は、上述の「（２）電子データ復号化装置」において説明した電子データ復号化装置を用いて構成することができる。この電子データ復号化装置は、電子データ暗号化システムから出力された個別復号鍵を用いて、同様に電子データ暗号化システムから出力された暗号化された電子データを復号化することができるように構成されている。
【０１１７】
電子データ暗号化装置は、電子データを暗号化することができ、また、暗号鍵と復号鍵とを生成するパラメータから暗号鍵と復号鍵とを生成することができるように構成されている。このような構成は、図１で示したような汎用性のあるコンピュータを用いて構成することができる。また、専用の装置によって構成することも可能である。
【０１１８】
記憶部４０は、鍵を生成するパラメータを一旦記憶する記憶領域、平文の電子データを一旦記憶する記憶領域、暗号化関数計算手順を記憶した記憶領域を含み、更に、他の処理に対応した記憶領域を含む。電子データ暗号化装置は、制御部やバスライン等を用いて、入出力部３０を介して外部から鍵を生成するパラメータを入力し、記憶部４０に格納し、また、入出力部３０を介して外部から平文の電子データを入力し、記憶部４０に格納し、演算部１０が、この記憶された鍵を生成するパラメータから、暗号鍵と復号鍵を生成し、この暗号鍵を用いてこの記憶された平文の電子データについての暗号化関数の値を計算することによって暗文の電子データを生成する処理によって構成される。
【０１１９】
なお、以下の実施形態の説明においては、説明の便宜上、個別復号鍵生成装置と電子データ復号化装置に関する符号については、図２及び図３で用いた符号と同じ符号を用いて説明する。
【０１２０】
（ｂ）ＲＳＡ暗号を用いた実施形態
本実施形態では、暗号方式として公開暗号鍵方式のＲＳＡ暗号を用いた実施形態を説明する。上述の説明と同様に、平文の電子データをｍ、平文の電子データｍを暗号化した暗文の電子データをｃ、暗号鍵を（ｅ，Ｎ）、復号鍵を（ｄ，Ｎ）、識別情報をＵ、個別復号鍵をＺとする。なお、ＲＳＡ暗号の公開暗号鍵及び秘密鍵を生成するためのパラメータを（Ｎ，φ（Ｎ））とし、Ｎは適当な２つの素数の積で、φ（Ｎ）はオイラー関数の値である。
【０１２１】
本実施形態の電子データ暗号化・復号化システム１００は、図４に示すように、電子データを暗号化する電子データ暗号化装置１３０と個別復号鍵生成装置１１０と暗号化された電子データを復号化する電子データ復号化装置１２０とを用いて構成されている。なお、電子データの暗号化．復号化システム１００の構成部分である電子データ暗号化システム１４０は、電子データ暗号化装置１３０と個別復号鍵生成装置１１０とを用いて構成されている。
【０１２２】
電子データ暗号化装置１３０は、暗号鍵（ｅ，Ｎ）と復号鍵（ｄ，Ｎ）とを生成するパラメータ（Ｎ，φ（Ｎ））から暗号鍵（ｅ，Ｎ）と復号鍵（ｄ，Ｎ）とを生成することができるように構成されており、かつ、生成された暗号鍵（ｅ，Ｎ）を用いて電子データｍを暗号化するように構成されている。更に生成された復号鍵（ｄ，Ｎ）を個別復号鍵生成装置１１０に出力するように構成されている。
【０１２３】
電子データ暗号化装置１３０が暗号鍵（ｅ，Ｎ）及び復号鍵（ｄ，Ｎ）を生成するには、暗号鍵（ｅ，Ｎ）及び復号鍵（ｄ，Ｎ）を生成するためのパラメータ（Ｎ，φ（Ｎ））が電子データ暗号化装置１３０に入力され、入力されたパラメータ（Ｎ，φ（Ｎ））を用いて、暗号鍵（ｅ，Ｎ）及び復号鍵（ｄ，Ｎ）を計算して生成するように設定されている。
【０１２４】
生成された暗号鍵（ｅ，Ｎ）は電子データ暗号化装置１３０に入力された電子データｍを暗号化するのに使用され、復号鍵（ｄ，Ｎ）は個別復号鍵生成装置１１０に出力されることができるように設定されている。
【０１２５】
電子データ暗号化装置１３０は、平文の電子データｍの入力を受けて、生成された暗号鍵（ｅ，Ｎ）を用いて式ｃ＝ｍｅ（ｍｏｄ）Ｎを計算して、暗文の電子データｃを生成し、記憶し、また、電子データｃを外部へ出力することができるように設定されている。
【０１２６】
個別復号鍵生成装置１１０は、電子データ暗号化装置１３０から復号鍵（ｄ，Ｎ）の入力を受け、また外部からの識別情報Ｕの入力を受けて、個別復号鍵Ｚを計算して出力するように設定されている。この場合、個別復号鍵生成装置１１０は識別情報Ｕを外部から入力することができるように設定されている。なお、この個別復号鍵生成装置１１０は、「（１）個別復号鍵生成方法、個別復号鍵生成装置」の欄において説明したＲＳＡ暗号の場合の個別復号鍵生成装置を用いることができ、この個別復号鍵生成装置１１０の構成及び動作については既に説明した通りである。
【０１２７】
このように個別復号鍵生成装置１１０と電子データ暗号化装置１３０とを含む電子データ暗号化システム１４０は、暗文の電子データｃを出力し、また、個別復号鍵Ｚを出力することができる。
【０１２８】
電子データ復号化装置１２０は、抽出手段１２１と復号化手段１２２とを備えており、上述の「（２）電子データ復号化装置」の欄において説明したＲＳＡ暗号方式の場合の電子データ復号化装置を用いることができる。従って、この電子データ復号化装置１２０の構成及び動作は上述の箇所において既に説明した通りである。
【０１２９】
即ち、抽出手段１２１は、ユーザが個別復号鍵Ｚを入力すると、入力された個別復号鍵Ｚから復号鍵Ｘを抽出し、この復号鍵Ｘを復号化手段１２２に出力できるように、設定されている。
【０１３０】
復号化手段１２２は、ユーザが入力した電子データｃを抽出手段１２１から与えられた正の整数値Ｘを（ｄ，Ｎ）に変換して、式ｍ＝ｃｄ（ｍｏｄ）Ｎを計算して、暗文の電子データｃを復号化して平文の電子データｍを出力するように設定されている。電子データ復号化装置１２０においては、抽出手段１２１と復号化手段１２２とは一体的に構成されており、正の整数値Ｘ、復号鍵（ｄ，Ｎ）を別途取り出すことができないようになっている。
【０１３１】
本実施形態の電子データ暗号化・復号化システム１００の動作・効果等に関して説明する。電子データの提供者は、ＲＳＡ暗号の秘密鍵と公開鍵とを生成することができるパラメータである２つの成分の組（Ｎ，φ（Ｎ））を電子データ暗号化装置１３０に入力する。
【０１３２】
電子データ暗号化装置１３０は、パラメータ（Ｎ，φ（Ｎ））を用いて公開鍵（ｅ，Ｎ）と秘密鍵（ｄ，Ｎ）を計算し生成する。ここでは、通常、公開鍵とされる（ｅ，Ｎ）を暗号鍵として用い、秘密鍵とされる（ｄ，Ｎ）を復号鍵として用いる。このように生成された復号鍵は電子データ暗号化装置１３０から個別復号鍵生成装置１１０に出力される。
【０１３３】
電子データの提供者は、暗号化しようとする平文の電子データｍを電子データ暗号化装置１３０に入力する。電子データ暗号化装置１３０は、生成された暗号鍵（ｅ，Ｎ）を用いて、式ｃ＝ｍｅ（ｍｏｄ）Ｎを計算して、平文の電子データｍを暗号化して、暗文の電子データｃとして生成して出力する。電子データの提供者は、このようにして暗文の電子データｃを得ることができる。
【０１３４】
電子データの提供者は、電子データ暗号化装置１３０で生成された暗号化された暗文の電子データｃを、インターネットのウェッブサイトにアップロードするなどして、コンピュータネットワークを介してユーザが入手できるようにしておいてもよいし、有線又は無線の放送を用いて配信してもよい。また、ＣＤ−ＲＯＭ等の記憶媒体に格納しておいて、ユーザが入手できるようにしておいてもよい。
【０１３５】
電子データの提供者は、通常、個別復号鍵の生成及び配付をユーザの求めに応じて行う。この場合には、個別復号鍵を他の個別復号鍵と識別することができるように、電子データの提供者は、個別復号鍵生成装置１１０に識別情報Ｕを入力する。個別復号鍵生成装置１１０は、電子データ暗号化装置１３０から出力された復号鍵（ｄ，Ｎ）を正の整数値Ｘとして処理し、この正の整数値Ｘと識別情報Ｕとを結合して個別復号鍵Ｚを生成して、出力する。電子データの提供者は、このようにして個別復号鍵Ｚを得ることができる。
【０１３６】
電子データの提供者は、生成された個別復号鍵を、その配付を望むユーザに、インターネット等のコンピュータネットワークを介して配付してもよいし、また、ＣＤ−ＲＯＭやフレキシブルディスク等の記憶媒体に格納して配付することもできる。いずれにせよ、本実施形態においては、個々のユーザに対して、異なる個別復号鍵を配付することが可能となる。
【０１３７】
個別復号鍵の配付を受けたユーザは、電子データ復号化装置１２０を用いて、暗文の電子データｃを復号化することができる。ユーザが個別復号鍵Ｚを抽出手段１２１に入力すると、抽出手段１２１は個別復号鍵Ｚから整数値であるＸを抽出し、抽出した整数値Ｘを復号化手段１２２に出力する。暗文の電子データｃと整数値Ｘとの入力を受けた復号化手段１２２は、Ｘから２成分の組（ｄ，Ｎ）を得て、式ｍ＝ｃｄ（ｍｏｄ）Ｎを計算して、暗文の電子データｃを復号化して平文の電子データｍを出力する。ユーザは、暗文の電子データｃを復号化して、元の平文の電子データｍを得ることができる。
【０１３８】
（ｃ）共通鍵を用いた実施形態
本実施形態では、暗号方式として共通鍵暗号方式を用いた実施形態を説明する。上述の（ｂ）の記載と同様に、平文の電子データをｍ、平文の電子データｍを暗号化した暗文の電子データをｃとする。また、識別情報をＵ、復号鍵をＸ、暗号化関数をＣｘ、復号化関数をＥｘとする。また、個別復号鍵をＺとする。共通鍵暗号方式であるので、暗号鍵と復号鍵は同一の鍵Ｘである。なおシーザー暗号と呼ばれる簡単な共通暗号方式では、平文を暗文とする暗号化関数はＣｘ（ｍ）＝（ｍ＋Ｘ）（ｍｏｄ）２６であり、暗文を平文にする復号化関数Ｅｘ（ｃ）＝（ｃ−Ｘ）（ｍｏｄ）２６である。
【０１３９】
なお、（ｂ）で用いた図４を用いて説明する。本実施形態は、上述のＲＳＡ暗号を用いた場合と基本的には同一であるので、共通鍵を用いた場合に異なる点を主に説明する。
【０１４０】
電子データ暗号化装置１３０は、外部から入力された電子データｍを復号鍵Ｘを用いてｃ＝Ｃｘ（ｍ）を計算して、暗文の電子データｃを生成し、記憶し、電子データｃを外部に出力することができるように設定されている。また、この復号鍵Ｘを復号鍵として個別復号鍵生成装置１１０に出力するように構成されている。このような構成は、図１で示したような汎用性のあるコンピュータを用いて構成することができる。また、専用の装置によって構成することも可能である。上述のＲＳＡ暗号の場合と基本的には同様である。
【０１４１】
個別復号鍵生成装置１１０は、識別情報Ｕが入力されるように構成され、またその識別情報Ｕと電子データ暗号化装置１３０から出力された復号鍵Ｘとを用いて、個別復号鍵Ｚを計算して出力するように、設定されている。なお、この個別復号鍵装置１３２は、「（１）個別復号鍵生成装置及び個別復号鍵生成方法」の欄において説明した共通暗号方式の場合の個別復号鍵生成装置を用いることができ、この個別復号鍵生成装置の構成及び動作については既に説明した通りである。
【０１４２】
電子データ復号化装置１２０は抽出手段１２１と復号化手段１２２とを備えており、上述の「（２）電子データ復号化装置」の欄において共通暗号方式の場合の電子データ復号化装置を用いることができる。従って、この電子データ復号化装置の構成及び動作は上述の箇所において既に説明した通りである。
【０１４３】
即ち、復号化手段１２２は暗文の電子データｃの入力を受けるように設定され、抽出手段１２１はユーザが個別復号鍵Ｚを入力すると、入力された個別復号鍵Ｚから復号鍵Ｘを抽出し、この復号鍵Ｘを復号化手段１２２に出力できるように、設定されている。
【０１４４】
復号化手段１２２は、ユーザが入力した電子データｃを抽出手段１２１から与えられた復号鍵Ｘを用いてｍ＝Ｅｘ（ｃ）を計算して、平文である電子データｍを出力できるように、設定されている。
【０１４５】
（４）その他
なお、ここでは、共通鍵暗号方式とＲＳＡ暗号方式を利用した場合を説明したが、暗号方式としては、これらに限定されるものではなく、他の暗号方式の場合も可能であり、本発明は、請求項に記載された発明に含まれる限り、他の暗号方式を利用した場合も包摂するものである。
【０１４６】
３．第２の発明（請求項１１から請求項１４）の実施形態
（１）個別復号鍵生成装置及び個別復号鍵生成方法
（ａ）全体的な構成
本実施形態における個別復号鍵生成装置の構成を説明する。この個別復号鍵生成装置（以下、適宜「生成装置」と略す。）２１０は、図５に示すように、復号鍵生成パラメータと分岐選択パラメータとをそれぞれ整数値又は整数値の組として記憶する記憶手段２１１と、復号鍵生成パラメータから分岐を選択する分岐選択パラメータに対応した復号鍵を計算する計算手順に従って、記憶手段２１１に記憶された復号鍵生成パラメータと分岐選択パラメータと用いて分岐として計算される復号鍵を個別復号鍵として生成する生成手段２１２とを備えている。
【０１４７】
図１に示す演算部１０、制御部２０、入出力部３０、記憶部４０及びそれらを相互に結合する複数のバスライン５０、６０、７０を有する通常の汎用性のあるコンピュータを用いて、この生成装置２１０を構成することができる。また、この生成装置２１０は、専用のハードウエアを用いた専用装置としても実現することができる。
【０１４８】
ここでアドレスバスライン６０は、データバスライン７０を利用してデータのやりとりを行う演算部１０、入出力部３０、記憶部４０等のデバイスを制御部２０が指定するものであり、制御バスライン５０は、アドレスバスライン６０で指定された演算部１０、入出力部３０、記憶部４０等のデバイスに対して、制御部２０がその機能を指示するものである。
【０１４９】
復号鍵生成パラメータと分岐選択パラメータとを整数値又は整数値の組として記憶する記憶手段２１１は、これらの整数値を入力する入出力部３０とこの記憶部４０を中心にその他のデバイス、バスライン等を用いて構成することができる。また、復号鍵生成パラメータから分岐を選択する分岐選択パラメータに対応した復号鍵を計算する計算手順に従って、記憶された復号鍵生成パラメータと分岐選択パラメータと用いて分岐として計算される復号鍵を個別復号鍵として生成する生成手段２１２は、計算手順を記憶した記憶部３０、計算手順を実行する演算部１０とそれらの動作を制御する制御部２０等を中心にして、その他のデバイス、バスライン等を用いて構成することができる。なお、生成された個別復号鍵は、通常、記憶部４０に記憶され、入出力部３０を介して、外部に出力するように構成される。
【０１５０】
図５を用いて説明すると、記憶手段２１１は、復号鍵生成パラメータと分岐選択パラメータの入力を受けるように設定されており、復号鍵生成パラメータと分岐選択パラメータが入力されると、これらを記憶するように構成されている。そして、この復号鍵生成パラメータと分岐選択パラメータを、生成手段２１２が読み出すことができるように設定されている。
【０１５１】
生成手段２１２は、「復号鍵生成パラメータから分岐を選択する分岐選択パラメータに対応した復号鍵を計算する計算手順」（以下、適宜「復号鍵計算手順」という。）に従って、記憶手段２１１に記憶された復号鍵生成パラメータと分岐選択パラメータを用いて、従属変数の分岐の一つを計算して、その分岐を個別復号鍵として生成するように構成されている。
【０１５２】
記憶手段２１１は、通常、生成手段２１２がこの生成した個別復号鍵を記憶し、外部に出力することができるように構成されている。
【０１５３】
（ｂ）復号鍵生成パラメータ、分岐選択パラメータ、復号鍵計算手順の説明
復号鍵生成パラメータ、分岐選択パラメータ、復号鍵計算手順について説明する。なお、これらについては、「課題を解決するための手段及び発明の効果」の欄において基本的な事項を説明した。従って、以下の使用する記号については、特に断りがない限り、同種の要素に対しては「課題を解決するための手段及び発明の効果」の欄において使用した記号をそのまま用いる。
【０１５４】
復号鍵生成パラメータ、分岐選択パラメータ、復号鍵計算手順の具体的な内容は用いる暗号方式によって異なるが、いずれにせよ「暗号化された電子データを復号化する復号鍵を生成するのに用いる復号鍵生成パラメータと復号鍵との関係が復号鍵生成パラメータを独立変数とし復号鍵を従属変数の分岐とする多価関数として表現される暗号方式」によって定めることができる。
【０１５５】
例えば、共通鍵の場合においては、電子データを暗号化するのに用いた暗号鍵が、復号鍵生成パラメータとして用いられる。シーザー暗号の場合、個別復号鍵をｙとして、復号鍵生成パラメータをｘとすると、式ｙ＝ｘ＋２６ｎ（但し、ｎは非負の整数とする）が復号鍵計算手順であり、ｎが分岐選択パラメータ、このｎの値に対応するｙの値が従属変数の一つの分岐としての個別復号鍵ということになる。
【０１５６】
生成手段２１２は、式ｙ＝ｘ＋２６ｎを実行するように構成されており、分岐選択パラメータｘと復号鍵生成パラメータｎが入力されると、これらの数値を用いて、式ｙ＝ｘ＋２６ｎを計算してｙの値を得ることができる。この場合、復号鍵生成パラメータｘの値が同一であっても、分岐選択パラメータｎを変更することで、異なるｙの値を得ることができる。即ち、分岐選択パラメータｎの値に応じて、同一の暗号鍵に対して異なった値の個別復号鍵ｙを生成することが可能となる。
【０１５７】
例えば、復号鍵生成パラメータｘとして、整数値５を入力し、分岐選択パラメータｎとして整数値２０を入力すると個別復号鍵として５２５という値を得、分岐選択パラメータｎの値を整数値１０と変更すると、個別復号鍵として２６５という値を得ることができる。これらの数値はいずれも、復号鍵として用いることができる。
【０１５８】
ＲＳＡ暗号方式の場合には、復号鍵生成パラメータとして（ｅ，Ｎ，φ（Ｎ））の整数の組を用いる。このＲＳＡ暗号においては、暗号鍵を（ｅ，Ｎ）とすると、復号鍵は（ｄ０＋ｎφ（Ｎ），Ｎ）である。但し、ｄ０は、ｅｄ（ｍｏｄ）φ（Ｎ）＝１を満たすｄの値の最小の正の整数値である。
【０１５９】
復号鍵計算手順とは、ｄ０の値を復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））を用いて、拡張ユーグリッド互除法によって、ｅｄ（ｍｏｄ）φ（Ｎ）＝１を満たすように算出し、（ｄ０＋ｎφ（Ｎ），Ｎ）という整数値の組を計算する手順である。ここで、分岐選択パラメータはｎである。
【０１６０】
生成手段２１２は、上述の計算手順を実行するように構成されており、分岐選択パラメータｎと復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））が入力されると、これらの数値を用いて、ｄ０を算出して、分岐選択パラメータｎの値に対応した復号鍵（ｄ０＋ｎφ（Ｎ），Ｎ）を得ることができる。即ち、同一の暗号鍵（ｅ，Ｎ）であっても、分岐選択パラメータｎの値を変更することで、異なった個別復号鍵（ｄ０＋ｎφ（Ｎ），Ｎ）を得ることができる。
【０１６１】
なお、分岐選択パラメータの入力については、乱数生成装置を用いて乱数を生成して高い確率で異なる数値となるように構成したものを入力してもよい。
【０１６２】
（ｃ）動作
個別復号鍵の生成を行う者が生成装置２１０に復号鍵生成パラメータと分岐選択パラメータとを入力すると、記憶手段２１１は、これらの復号鍵生成パラメータと分岐選択パラメータとを記憶する。記憶手段２１１に記憶された復号鍵生成パラメータと分岐選択パラメータを、生成手段２１２が「復号鍵計算手順」に従って、個別復号鍵を生成する。この生成された個別復号鍵を記憶手段２１１は記憶する。個別復号鍵を生成する者は、この個別復号鍵の出力を受けて個別復号鍵として得ることができる。
（ｄ）その他
本実施形態では、ＲＳＡ暗号と共通鍵を用いた実施形態について説明したが、暗号方式についてはこれらに限定されるものではない。要は、復号鍵生成パラメータと復号鍵との関係が多価関数となっている暗号方式であれば、利用することができる。
【０１６３】
（２）電子データ暗号化システム
（ａ）全般的な説明
本実施形態の電子データ暗号化システムは、電子データ暗号化装置と個別復号鍵生成装置とを含んで構成されている。この個別復号鍵生成装置は、「３．第２の発明（請求項１２から請求項１６）の実施形態（１）個別復号鍵生成装置及び個別復号鍵生成方法」で説明した個別復号鍵生成装置を用いて構成することができる。
【０１６４】
電子データ暗号化装置は暗号化された電子データを復号化する復号鍵を生成して個別復号鍵生成装置に出力するように構成されており、個別復号鍵生成装置は上述の「（１）個別復号鍵生成装置及び個別復号鍵生成方法」において説明した個別復号鍵生成装置を用いて構成でき、電子データ暗号化装置から出力された復号鍵の入力を受けるように構成されている。
【０１６５】
電子データ暗号化装置は、電子データを暗号化することができ、また、暗号鍵と復号鍵とを生成するパラメータから暗号鍵と復号鍵生成パラメータとを生成することができるように構成されている。このような構成は、図１で示したような汎用性のあるコンピュータを用いて構成することができる。また、専用の装置によって構成することも可能である。
【０１６６】
記憶部４０は、鍵を生成するパラメータを一旦記憶する記憶領域、平文の電子データを一旦記憶する記憶領域、暗号化関数計算手順を記憶した記憶領域を含み、更に、他の処理に対応した記憶領域を含む。電子データ暗号化装置は、制御部やバスライン等を用いて、入出力部３０を介して外部から鍵を生成するパラメータを入力し、記憶部４０に格納し、また、入出力部３０を介して外部から平文の電子データを入力し、記憶部４０に格納し、演算部１０が、この記憶された鍵を生成するパラメータから、暗号鍵を生成しまた復号鍵生成パラメータを生成し、この暗号鍵を用いてこの記憶された平文の電子データについての暗号化関数の値を計算することによって暗文の電子データを生成し、入出力部３０を介して外部に出力する処理によって構成される。
【０１６７】
なお、以下の実施形態の説明においては、説明の便宜上、個別復号鍵生成装置に関する符号については、図５で用いた符号と同じ符号を用いて説明する。
（ｂ）ＲＳＡ暗号を用いた実施形態
本実施形態では、暗号方式として公開暗号鍵方式のＲＳＡ暗号を用いた電子データ暗号化システム２００の実施形態を、図６を参照しつつ、説明する。平文の電子データをｍ、平文の電子データｍを暗号化した暗文の電子データをｃ、暗号鍵を（ｅ，Ｎ）、復号鍵を（ｄ０＋ｎφ（Ｎ），Ｎ）とする。暗号鍵（ｅ，Ｎ）を生成するのに用いるパラメータを（Ｎ，φ（Ｎ））、復号鍵生成パラメータを（ｅ，Ｎ，φ（Ｎ））とする。なお、Ｎは適当な異なる２つの素数の積で、φ（Ｎ）はオイラー関数の値である。
【０１６８】
本実施形態においては、電子データ暗号化システム２００は、電子データを暗号化する電子データ暗号化装置２２０と個別復号鍵生成装置２１０を備えている。いずれの装置２１０、２２０も図１に示す汎用性のあるコンピュータを用いて構成することができる。この場合に、単体のコンピュータで構成することも、ネットワークを介した複数のコンピュータを用いて構成することも可能である。
【０１６９】
電子データ暗号化装置２２０は、ＲＳＡ暗号方式に基づいて、電子データを暗号化する電子データ暗号化装置を用いることができるが、更に、復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））を生成して出力することができるように構成されている。
【０１７０】
即ち、この電子データ暗号化装置２２０は、暗号化するための平文の電子データｍが入力され、この電子データｍを記憶できるように構成され、また、暗号鍵（ｅ，Ｎ）を生成するためのパラメータ（Ｎ，φ（Ｎ））が入力され、入力されたパラメータ（Ｎ，φ（Ｎ））から暗号鍵として（ｅ，Ｎ）を生成して記憶し、この生成された暗号鍵（ｅ，Ｎ）で式ｃ＝ｍｅ（ｍｏｄ）Ｎを計算して、暗文の電子データｃを生成し、記憶し、出力することができるように構成されている。ここで、ｅとして、φ（Ｎ）と互いに素である適当な正の整数値を計算して使用する。例えば、素数の増加列の内から、あまり大きくないものを選び、この整数とφ（Ｎ）との最大公約数を計算し、これが１であるものをｅとする、あるいは、乱数を用いてあまり大きくない正の整数を生成し、この整数とφ（Ｎ）との最大公約数を計算し、これが１であれば、この整数をｅとすればよい。
【０１７１】
さらに、この電子データ暗号化装置２２０は、生成された暗号鍵（ｅ，Ｎ）の第一要素のｅと入力されたパラメータ（Ｎ，φ（Ｎ））とから復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））を生成して、記憶し、出力できるように構成されている。なお、本実施形態の電子データ暗号化システムでは、電子データ暗号化装置２２０で生成された復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ）は、個別復号鍵生成装置２１０に出力されるように構成されている。
【０１７２】
個別復号鍵生成装置２１０の構成及び動作については、基本的には、「３．第２の発明（請求項１２から請求項１６）の実施形態（１）個別復号鍵生成装置及び個別復号鍵生成方法」において、ＲＳＡ暗号を用いた場合に関して説明した通りであるが、但し、この個別復号鍵生成装置２１０は、電子データ暗号化装置２２０から出力された復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））の入力を受けることができるように設定されている。
【０１７３】
本実施形態の電子データ暗号化システム２２０の動作・効果等について説明する。電子データを暗号化しようとする者は、パラメータ（Ｎ，φ（Ｎ））と暗号化したい平文の電子データｍを電子データ暗号化装置２２０に入力すると、電子データ暗号化装置２２０は入力を受けたパラメータ（Ｎ，φ（Ｎ））を用いて、暗号鍵（ｅ，Ｎ）を生成し、この暗号鍵（ｅ，Ｎ）で式ｃ＝ｍｅ（ｍｏｄ）Ｎを計算して、暗文の電子データｃとして生成して出力する。このようにして、暗文の電子データｃを得ることができる。
【０１７４】
電子データを提供しようとする者は、電子データ暗号化装置２２０で生成された暗文の電子データｃを、インターネットのウェッブサイトにアップロードするなどして、コンピュータネットワークを介してユーザが入手できるようにしておいてもよいし、有線又は無線の放送を用いて配信してもよい。また、ＣＤ−ＲＯＭ等の記憶媒体に格納しておいて、ユーザが入手できるようにしておいてもよい。
【０１７５】
他方、電子データ暗号化装置２２０は、復号鍵生成パラメータ（ｅ，Ｎ，φ（Ｎ））を個別復号鍵生成装置２１０に出力する。個別復号鍵を得ようとする者は、個別復号鍵生成装置２１０に分岐選択パラメータｎを与えて個別復号鍵（ｄ０＋ｎφ（Ｎ），Ｎ）を得ることができる。
【０１７６】
個別復号鍵の提供者は、生成された個別復号鍵を、配付を望むユーザに、インターネット等のコンピュータネットワークを介して配付してもよいし、また、ＣＤ−ＲＯＭやフレキシブルディスク等の記憶媒体に格納して配付することもできる。いずれにせよ、本実施形態においては、個々のユーザに対して、異なる個別復号鍵を配付することが可能となる。
【０１７７】
個別復号鍵の配付を受けたユーザは、電子データ復号化装置（図示しない）を用いて、暗文の電子データｃを復号化することができる。
【０１７８】
（ｃ）共通鍵を用いた実施形態
上記ＲＳＡ暗号を用いた実施形態では、ＲＳＡ暗号を用いた場合の実施形態を説明したが、その変形例として、共通鍵を用いた実施形態を説明する。ここでは、図６をそのまま用いて説明し、ＲＳＡ暗号を用いた場合と異なる点を中心に説明する。
【０１７９】
この実施形態では、共通鍵暗号方式を用いるので、平文の電子データを暗号化するためのパラメータも復号鍵生成パラメータも共通鍵である。平文の電子データをｍ、平文の電子データｍを暗号化した暗文の電子データをｃとする。暗号鍵となる共通鍵がそのまま復号鍵生成パラメータとなるので、この暗号鍵及び復号鍵生成パラメータを共にｘとする。また、個別復号鍵をｙ、暗号化関数をＣｘ、復号化関数をＥｘとする。平文を暗文とする暗号化関数はＣｘ（ｍ）＝（ｍ＋ｘ）（ｍｏｄ）２６という式であり、暗文を平文にする復号化関数Ｅｘ（ｃ）＝（ｃ−ｘ）（ｍｏｄ）２６という式である。この場合、復号鍵生成パラメータをｘとすると、式ｙ＝ｘ＋２６ｎ（但し、ｎは正の整数とする）が復号鍵計算手順であり、ｎが分岐選択パラメータ、このｎの値に対応するｙの値が従属変数の一つの分岐としての個別復号鍵ということになる。
【０１８０】
電子データ暗号化装置２２０は、復号鍵Ｘに基づいて、電子データｍを暗号化する電子データ暗号化装置２２０として利用し、更に、電子データを暗号化するために用いた復号鍵Ｘをそのまま復号鍵生成パラメータｘとして出力することができるように構成されている。
【０１８１】
個別復号鍵生成装置２１０は、「３．第２の発明（請求項１２から請求項１６）の実施形態（１）個別復号鍵生成装置及び個別復号鍵生成装置」において説明した共通鍵暗号方式を用いた場合の個別復号鍵生成装置を用いることができ、この個別復号鍵生成装置２１０の構成及び動作については基本的には既にその箇所で説明した通りである。但し、本実施形態においては、この個別復号鍵生成装置２１０は、電子データ暗号化装置２２０から出力された復号鍵Ｘの入力を受けることができるように設定されている。
【０１８２】
電子データｍを暗号化しようとする者は、暗号鍵ｘと暗号化したい平文の電子データｍを電子データ暗号化装置２２０に入力すると、電子データ暗号化装置２２０は入力を受けた暗号鍵ｘで暗号化関数Ｃｘ（ｍ）＝（ｍ＋ｘ）（ｍｏｄ）２６を計算させて暗文の電子データｃとして生成して出力する。このようにして、暗文の電子データｃを得ることができる。
【０１８３】
電子データを提供しようとする者は、電子データ暗号化装置２２０で生成された暗文の電子データｃを、インターネットのウェッブサイトにアップロードするなどして、コンピュータネットワークを介してユーザが入手できるようにしておいてもよいし、有線又は無線の放送を用いて配信してもよい。また、ＣＤ−ＲＯＭ等の記憶媒体に格納しておいて、ユーザが入手できるようにしておいてもよい。
【０１８４】
他方、電子データ暗号化装置２２０は、共通鍵を個別復号鍵生成装置２１０に出力する。個別復号鍵ｙを得ようとする者は、個別復号鍵生成装置２１０に分岐選択パラメータｎを与え、ｙ＝ｘ＋２６ｎを実行させて個別復号鍵ｙを得ることができる。
【０１８５】
電子データの提供者は、生成された個別復号鍵ｙを、配付を望むユーザに、インターネット等のコンピュータネットワークを介して配付してもよいし、また、ＣＤ−ＲＯＭやフレキシブルディスク等の記憶媒体に格納して配付することもできる。いずれにせよ、本実施形態においては、個々のユーザに対して、異なる個別復号鍵を配付することが可能となる。
【０１８６】
個別復号鍵の配付を受けたユーザは、電子データ復号化装置（図示しない）を用いて、復号化関数Ｅｘ（ｃ）＝（ｃ−ｘ）（ｍｏｄ）２６を実行させて暗文の電子データｃを復号化することができる。
【産業上の利用可能性】
【０１８７】
本発明の個別復号鍵生成装置、個別復号鍵生成方法、個別復号鍵生成装置用プログラム、電子データ復号化装置、電子データ復号化装置用プログラム、電子データ暗号化・復号化システム、電子データ暗号化システムは、インターネットを利用したコンテンツの配信システム等に利用することができる。また、放送とインターネットと組み合わせたコンテンツの配信システムに利用することも可能である。
【図面の簡単な説明】
【０１８８】
【図１】汎用的なコンピュータの構成を示すブロック図である。
【図２】第１の発明の個別復号鍵生成装置の構造を示す図である。
【図３】第１の発明の電子データ復号化装置の構造を示す図である。
【図４】第１の発明の電子データ暗号化・復号化システム及び電子データ暗号化システムの構成を示す図である。
【図５】第２の発明の個別復号鍵生成装置の構造を示す図である。
【図６】第２の発明の電子データ暗号化システムの構成を示す図である。
【符号の説明】
【０１８９】
１０：演算部    ２０：制御部  ３０：入出力部  ４０：記憶部
５０：制御バスライン  ６０：アドレスバスライン  ７０：データバスライン
１００：電子データ暗号化・復号化システム
１１０：個別復号鍵生成装置  １１１：記憶手段  １１２：結合手段
１２０：電子データ復号化装置  １２１：抽出手段  １２２：復号化手段
１３０：電子データ暗号化装置  １４０：電子データ暗号化システム
２００：電子データ暗号化システム
２１０：個別復号鍵生成装置  ２１１：記憶手段  ２１２：生成手段
２２０：電子データ暗号化装置
【図１】
2008034938.tif 000003
【図２】
2008034938.tif 000004
【図３】
2008034938.tif 000005
【図４】
2008034938.tif 000006
【図５】
2008034938.tif 000007
【図６】
2008034938.tif 000008