説明

復号方法、復号装置、暗号化装置、認証方法および認証装置

【課題】セキュリティ性が高く、低廉な公開鍵暗号方式を実現すること。
【解決手段】任意の2点P1,P2の各座標値x1,y1,x2,y2を暗号化装置101と復号装置102とに分散して保持させ、秘密鍵s自体は消去し、復号装置102にも暗号化装置101にも保持させない。具体的には、暗号化装置101には座標値y2のみ保持させ、復号装置102には、座標値x1,y1,x2を保持させる。暗号化装置101と復号装置102との間で暗号化通信する場合には、暗号化装置101および復号装置102のいずれにも秘密鍵sが保存されていないが、復号装置102において、公開鍵暗号方式による平文Mを復号することができる。また、暗号化装置101において、復号装置102の認証が可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、秘密分散法を用いた公開鍵暗号方式による復号方法、復号装置、暗号化装置、認証方法および認証装置に関する。
【背景技術】
【0002】
近年、入退出の管理、企業の顧客情報管理、クレジットカード・キャッシュカードの利用などにおいて、一般的に公開鍵暗号方式を採用した認証システムが多く用いられる。特に、秘密分散法を用いた暗号化技術が下記特許文献1および下記特許文献2に開示されている。
【0003】
【特許文献1】特開平9−212089号公報
【特許文献2】特開2004−343816号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術の公開鍵暗号方式では、暗号文を復号する際に、秘密鍵をセキュアでないメモリ上に展開するため、秘密鍵が漏洩する場合があり、セキュリティ上問題があった。また、秘密鍵を暗号化して保持していても、暗号文を復号する際に、秘密鍵を復号してセキュアでないメモリ上に展開するため、秘密鍵が漏洩する場合があり、セキュリティ上問題があった。
【0005】
さらに、外部からの読み出しが困難な特殊なメモリを準備し、当該メモリに秘密鍵を格納しても、特殊なデバイスを別途準備しなくてはならないため、汎用LSIチップに比べて製造コストが増大するという問題があった。
【0006】
この発明は、上述した従来技術による問題点を解消するため、セキュリティ性が高く、低廉な公開鍵暗号方式を実現することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するため、一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データx1,y1,x2を保持する一方の分散元装置と、分散データy2および平文Mを保持する他方の分散元装置との間の暗号化通信により、前記他方の分散元装置がモジュラスNを用いた公開鍵暗号方式により公開鍵eで前記平文Mを暗号化した暗号文Cを、前記一方の分散元装置で前記平文Mに復号する方法、装置、およびプログラムであって、前記一方の分散元装置が、前記暗号文Cを前記他方の分散元装置から受信し、前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2から得られる第1の指数データz1で前記暗号文Cを第1の中間暗号文Zに暗号化し、前記一方の分散元装置が、前記第1の中間暗号文Zを前記他方の分散元装置に送信し、前記他方の分散元装置が、前記公開鍵暗号方式により、前記分散データy2で前記第1の中間暗号文Zを第2の中間暗号文Y2に暗号化し、前記一方の分散元装置が、前記第2の中間暗号文Y2を前記他方の分散元装置から受信し、前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2,y1から得られる第2の指数データz2で前記暗号文Cを中間復号文Y1に復号し、前記一方の分散元装置が、前記第2の中間暗号文Y2と、前記中間復号文Y1に基づいて、前記平文Mを生成することを要件とする。
【0008】
また、上記方法、装置、およびプログラムにおいて、前記一方の分散元装置が、前記生成された平文を前記他方の分散元装置に送信し、前記他方の分散元装置が、送信されてきた平文と前記平文Mとの同一性により前記一方の分散元装置を認証し、前記他方の分散元装置が、認証結果を出力することとしてもよい。
【0009】
上記方法、装置、およびプログラムによれば、秘密鍵を一度も復元することなく、他方の分散元装置からの暗号文Cを一方の分散元装置で平文Mに復号することができる。
【発明の効果】
【0010】
この方法、装置、およびプログラムによれば、セキュリティ性が高く、低廉な公開鍵暗号方式を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【0011】
(秘密鍵の管理方式)
以下に添付図面を参照して、この方法、装置、およびプログラムの好適な実施の形態を詳細に説明する。図1は、秘密鍵の管理方式を示す説明図である。符号100は秘密分散法を示すグラフである。X軸およびY軸からなるグラフ100において、一次直線Lは、Y=aX+sであらわされる一次関数である。aは傾き、sは切片である。一次直線Lは、任意の2点P1、P2を通る。
【0012】
ここで、点P1の座標を(x1,y1)、点P2の座標を(x2,y2)とする。一次直線L上の任意の2点P1,P2の座標が分かれば、傾きaと切片sを求めることができる。ここで、切片sを秘密鍵とすれば、任意の2点P1,P2の座標から秘密鍵sを復元することができる。秘密鍵sは、下記式(1)により算出することができる。
【0013】
s=y1−x1×{(y2−y1)/(x2−x1)}・・・(1)
【0014】
本実施の形態では、任意の2点P1,P2の各座標値x1,y1,x2,y2を暗号化装置101と復号装置102とに分散して内部の記憶領域(不揮発性メモリやハードディスク)に保持させ、秘密鍵s自体は消去し、復号装置102にも暗号化装置101にも保持させない。具体的には、暗号化装置101には座標値y2のみ保持させ、復号装置102には、座標値x1,y1,x2を保持させる。以降、各座標値x1,y1,x2,y2を分散データと呼ぶ。各分散データx1,y1,x2,y2の保持は、暗号化装置101および復号装置102の製品出荷前におこなっていればよい。なお、秘密鍵として切片sにかえて傾きaを用いてもよい。
【0015】
暗号化装置101には、分散データy2と平文Mと公開鍵eとモジュラスNが保持される。公開鍵eおよびモジュラスNは、平文Mの暗号化前に暗号化装置101に保持されていればよく、復号装置102から送られてきてもよく、他の装置から送られてきてもよい。また、暗号化装置101において生成することとしてもよい。この場合、モジュラスNは復号装置102に送信されることとなる。
【0016】
また、復号装置102には、分散データx1,y1,x2と同一のモジュラスNが保持される。モジュラスNは、復号前に復号装置102に保持されていればよく、暗号化装置101から送られてきてもよく、他の装置から送られてきてもよい。また、復号装置102において生成することとしてもよい。この場合、モジュラスNは暗号化装置101に送信されることとなる。
【0017】
そして、実際に、暗号化装置101と復号装置102との間で暗号化通信する場合には、暗号化装置101および復号装置102のいずれにも秘密鍵が保存されていないが、復号装置102において、公開鍵暗号方式による平文Mを復号することができる。また、暗号化装置101において、復号装置102の認証が可能となる。なお、暗号化装置101および復号装置102間の通信は、直接通信してもよく、また、インターネット、LAN、WANなどのネットワークを介して間接的に通信してもよい。また、暗号化装置101および復号装置102間の通信は、非接触通信であってもよい。
【0018】
(暗号化装置101および復号装置102間のシーケンス)
図2は、暗号化装置101および復号装置102間のシーケンス図である。図2に示したシーケンスは、暗号化装置101に保持されている平文Mを暗号化し、その暗号文Cを復号装置102において秘密鍵sを一度も使用せずに平文Mに復号する手順である。
【0019】
まず、復号装置102が、公開鍵eおよびモジュラスNを暗号化装置101に送信する(ステップS201)。暗号化装置101が公開鍵eおよびモジュラスNを他の装置から受けたり、暗号化装置101で生成する場合は、必要ない。
【0020】
つぎに、暗号化装置101は、モジュラスNを用いたRSA公開鍵暗号方式により、平文Mを公開鍵eで暗号化する(ステップS202)。具体的には、下記式(2)により、平文Mを暗号化する。Cは暗号文である。
【0021】
emodN=C・・・(2)
【0022】
なお、従来のモジュラスNを用いたRSA(Rivest Shamir Adleman)公開鍵暗号方式では、暗号文Cを秘密鍵sで復号すると、平文Mを得ることができる。具体的には、下記式(3)により、暗号文Cを復号する。
【0023】
smodN=M・・・(3)
【0024】
暗号化装置101は、ステップS202で得られた暗号文Cを復号装置102に送信する(ステップS203)。復号装置102は、保持している分散データx1,x2を用いて第1の指数データz1を算出する。また、保持している分散データx1,x2,y1を用いて第2の指数データz2を算出する(ステップS204)。第1の指数データz1および第2の指数データz2は、下記式(4),(5)により算出される。
【0025】
z1=x1/(x2−x1)・・・・・・(4)
z2=y1×x2/(x2−x1)・・・(5)
【0026】
なお、第1の指数データz1および第2の指数データz2は、暗号文Cの受信前に算出してもよく、暗号文Cの受信後に算出することとしてもよい。また、分散データx1,x2,y1のかわりに、あらかじめ、第1の指数データz1および第2の指数データz2を保持しておくこととしてもよい。
【0027】
上記式(4),(5)で示した第1の指数データz1および第2の指数データz2の算出式が分からなければ、秘密鍵sの復元元となる分散データx1,x2,y1自体が求められないため、セキュリティの向上を図ることができる。また、分散データまたは指数データのうちいずれか一方のデータを保持しておけばよいので、外部からは、復号装置102に保持されているデータが、分散データなのか指数データなのかもわからない。したがって、セキュリティの向上を図ることができる。
【0028】
このあと、モジュラスNを用いたRSA公開鍵暗号方式により、暗号文Cを指数データz1で暗号化する。同様に、暗号文Cを指数データz2で復号する(ステップS205)。具体的には、下記式(6)により、暗号文Cを指数データz1で暗号化し、下記式(7)により、指数データz2で復号する。
【0029】
z1modN=Z・・・・(6)
z2modN=Y1・・・(7)
【0030】
ここで、Zは中間暗号文であり、Y1は中間復号文である。また、式(6)および式(7)はともに、モジュラスNを用いたRSA公開鍵暗号方式により、暗号文Cを指数データ(z1,z2)でべき乗した値のモジュラスNを取る計算である。したがって、いずれを暗号化と称し、いずれを復号と称しても計算自体はかわらないが、便宜上、上記式(6)を暗号化と称したのは、計算結果であるZを暗号化装置101に送信するからであり、上記式(7)を復号と称したのは、計算結果であるY1を暗号化装置101に送信せず、復号装置102内部に保持しておくからである。
【0031】
このあと、復号装置102は、第1の中間暗号文Zを暗号化装置101に送信する(ステップS206)。暗号化装置101は、モジュラスNを用いたRSA公開鍵暗号方式により、受信した第1の中間暗号文Zを分散データy2で暗号化する(ステップS207)。具体的には、下記式(8)により、第1の中間暗号文Zを分散y2で暗号化する。
【0032】
y2modN=Y2・・・(8)
【0033】
Y2は、第2の中間暗号文である。このあと、暗号化装置101は、第2の中間暗号文Y2を復号装置102に送信する(ステップS208)。復号装置102は、上記式(7)で算出された中間復号文Y1と暗号化装置101から受信された第2の中間暗号文Y2とを用いて、平文Mを生成する(ステップS209)。具体的には、下記式(9)により、平文Mを生成する。
【0034】
Y1/Y2=M・・・(9)
【0035】
ここで、上記式(9)を証明する。式(9)の左辺を展開すると、上記式(6)〜(8)により、下記式(10)を得る。
【0036】
Y1/Y2=(Cz2modN)/(Zy2modN)
=(Cz2modN)/(Cz1×y2modN)
=Cz2-z1×y2modN・・・・・・・・・・・・・・(10)
【0037】
ここで、第1の指数データz1を変形すると、下記式(11)のとおりである。
【0038】
z1+1=x1/(x2−x1)+1
={x2/(x2−x1)}・・・(11)
【0039】
式(10)の暗号文Cの指数部(z2−z1×y2)に着目すると、指数部(z2−z1×y2)は下記式(12)のように展開される。
【0040】
z2−z1×y2=y1×x2/(x2−x1)−y2×x1/(x2−x1)
=y1×{x1/(x2−x1)+1}−y2×x1/(x2−x1)
=y1−x1×{(y2−y1)/(x2−x1)}
=s・・・・・・・・・・・・・・・・・・・・・・・・・・(12)
【0041】
すなわち、指数部(z2−z1×y2)=sであるため、式(10)は、下記式(13)のようになる。
【0042】
Y1/Y2=Cz2-z1×y2modN
=CsmodN・・・(13)
【0043】
上記式(3)と上記式(13)により、下記式(14)を得る。
【0044】
M=CsmodN=Y1/Y2・・・(14)
【0045】
したがって、上記式(13)の復号文Y1/Y2は、暗号化装置101によって暗号文Cに暗号化された平文Mと一致する。
【0046】
(暗号化装置101の機能的構成)
図3は、暗号化装置101の機能的構成を示すブロック図である。図3において、暗号化装置101は、受信部301と、判別部302と、暗号化処理部303と、送信部304と、から構成される。なお、各機能301〜304で得られたデータは、揮発性メモリや不揮発性メモリ、ハードディスクなどの記憶領域に格納され、各機能301〜304が必要に応じて読み出す。
【0047】
まず、受信部301は、復号装置102から送信されてくる情報を受信する機能を有する。復号装置102から受信される情報としては、公開鍵e、公開鍵eによる暗号化要求、モジュラスN、第1の中間暗号文Zなどがある。
【0048】
また、判別部302は、受信部301によって受信された情報を判別する機能を有する。具体的には、たとえば、受信された情報のヘッダを参照することにより、当該情報を特定することができる。
【0049】
また、暗号化処理部303は、モジュラスNを用いたRSA公開鍵暗号方式により、暗号化対象データを暗号化する機能を有する。具体的には、たとえば、判別部302により公開鍵eまたは公開鍵eによる暗号化要求であると判別された場合、公開鍵eで平文Mを暗号化する。具体的には、上記式(2)を計算することで、暗号文Cを生成する。
【0050】
また、判別部302により第1の中間暗号文Zであると判別された場合、分散データy2で第1の中間暗号文Zを暗号化する。具体的には、上記式(8)を計算することで、第2の中間暗号文Y2を生成する。
【0051】
また、送信部304は、暗号化処理部303によって得られた暗号文を復号装置102に送信する機能を有する。具体的には、暗号文Cや第2の中間暗号文Y2を復号装置102に送信する。なお、暗号化装置101をソフトウェアにより実現する場合、受信部301、判別部302、暗号化処理部303、および送信部304は、具体的には、たとえば、図2に示したステップS201〜S203、S206〜S208に示した手順に相当する暗号化アルゴリズムを、記憶領域から読み出してCPU(Central Processing Unit)に実行させることにより、または、通信I/F(interface)により、その機能を実現する。
【0052】
また、暗号化装置101をハードウェアにより実現する場合、受信部301、判別部302、暗号化処理部303、および送信部304は、具体的には、たとえば、図2に示したステップS201〜S203、S206〜S208に示した手順に相当するHDL(Hardware Discription Language)記述を論理合成して、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)に与えることにより、または、通信I/Fにより、その機能を実現する。
【0053】
(復号装置102の機能的構成)
図4は、復号装置102の機能的構成を示すブロック図である。図4において、復号装置102は、受信部401と、判別部402と、算出部403と、中間暗号化処理部404と、中間復号部405と、生成部406と、送信部407と、から構成される。なお、各機能401〜407で得られたデータは、揮発性メモリや不揮発性メモリ、ハードディスクなどの記憶領域に格納され、各機能401〜407が必要に応じて読み出す。
【0054】
まず、受信部401は、暗号化装置101から送信されてくる情報を受信する機能を有する。暗号化装置101から受信される情報としては、公開鍵e、モジュラスN、暗号文C、第1の中間復号文Zなどがある。
【0055】
また、判別部402は、受信部401によって受信された情報を判別する機能を有する。具体的には、たとえば、受信された情報のヘッダを参照することにより、当該情報を特定することができる。
【0056】
また、算出部403は、分散データx1,x2,y1を用いて第1の指数データz1および第2の指数データz2を算出する機能を有する。具体的には、たとえば、第1の指数データz1場合には、図2のステップS204および上記式(4)により算出する。また、第2の指数データz2の場合には、上記式(5)により算出する。なお、第1の指数データz1および第2の指数データz2があらかじめ保持されている場合には、算出部403は不要である。
【0057】
また、中間暗号化処理部404は、モジュラスNを用いたRSA公開鍵暗号方式により、中間暗号文を生成する機能を有する。具体的には、たとえば、図2のステップS205および上記式(6)に示したように、第1の指数データz1で暗号文Cを第1の中間暗号文Zに暗号化する。
【0058】
また、中間復号部405は、モジュラスNを用いたRSA公開鍵暗号方式により、中間復号文を生成する機能を有する。具体的には、たとえば、図2のステップS205および上記式(7)に示したように、第2の指数データz2で暗号文Cを中間復号文Y1に復号する。
【0059】
また、生成部406は、中間復号文Y1と第2の中間暗号文Y2とにより、暗号文Cの復号文Y1/Y2を生成する機能を有する。具体的には、たとえば、図2のステップS209および上記式(9)に示したように、Y1/Y2を生成することで、平文Mを得ることができる。
【0060】
また、送信部407は、各種情報を暗号化装置101に送信する機能を有する。具体的には、ステップS206に示したように、中間暗号化処理部404によって得られた第1の中間暗号文Zを復号装置102に送信する。また、公開鍵e、公開鍵eによる暗号化要求、モジュラスNを暗号化装置101に送信することとしてもよい。
【0061】
なお、復号装置102をソフトウェアにより実現する場合、受信部401、判別部402、暗号化処理部、および送信部407は、具体的には、たとえば、図2に示したステップS201〜S203、S206〜S208に示した手順に相当する暗号化アルゴリズムを、記憶領域から読み出してCPUに実行させることにより、または、通信I/Fにより、その機能を実現する。
【0062】
また、暗号化装置101をハードウェアにより実現する場合、受信部401、判別部402、算出部403、中間暗号化処理部404、中間復号部405、生成部406、および送信部407と、は、具体的には、たとえば、図2に示したステップS201、S203〜S206、S208、S209に示した手順に相当するHDL記述を論理合成して、ASICやPLDに与えることにより、または、通信I/Fにより、その機能を実現する。
【0063】
(認証装置601および復号装置102間のシーケンス)
本実施の形態は、暗号化装置101に保持されている平文Mを暗号化し、その暗号文Cを復号装置102において秘密鍵sを一度も使用せずに平文Mに復号することのほか、復号装置102による復号結果を認証することができる。
【0064】
図5は、認証装置601および復号装置102間のシーケンス図である。図5に示したシーケンスは、図2に示したシーケンスにおいて、復号装置102による復号結果を認証装置601で認証する手順である。なお、図2に示したステップと同一ステップには同一番号を付し、その説明を省略する。
【0065】
復号装置102は、ステップS209によって得られた復号結果M(=Y1/Y2)を認証装置601に送信する(ステップS210)。認証装置601は、復号結果Mを受信して、認証処理を実行する(ステップS211)。すなわち、復号結果Mと保持されている平文Mとが一致するか否かを判断する。そして、認証結果(認証の成否)を復号装置102に送信する(ステップS212)。このあと、各種処理を実行する(ステップS213)。
【0066】
各種処理とは、認証装置601と連携する装置により処理が異なるが、たとえば、入退出を管理する装置と連携している場合には、認証された場合にはドアの鍵を開錠して入退出できるようにし、認証されなかった場合には、施錠を維持して入退出を禁止する。
【0067】
また、顧客情報を管理する装置と連携している場合には、認証された場合には顧客情報にアクセスできるようにし、認証されなかった場合には、顧客情報へのアクセスを禁止する。また、クレジットカードやキャッシュカードを利用する場合には、認証された場合には、決済や現金の引き出しなどができるようにし、認証されなかった場合には、決済や現金引き出しを禁止する。
【0068】
(認証装置601の機能的構成)
図6は、認証装置601の機能的構成を示すブロック図である。認証装置601は、図3に示した暗号化装置101に、認証部305および出力部306を追加した構成である。したがって、図3に示した構成と同一構成には同一符号を付し、その説明を省略する。
【0069】
まず、判別部302は、受信部301において受信された情報が復号結果Mである場合、認証部305に復号結果Mを転送する。また、認証部305は、復号装置102を認証する機能を有する。具体的には、たとえば、図5に示したステップS211に示したように、復号装置102からの復号結果Mと保持されている平文Mとの一致判定を実行する。この場合、送信部304は、認証結果(一致判定結果)を復号装置102に送信する。
【0070】
また、出力部306は、認証結果を出力する機能を有する。具体的には、たとえば、認証装置601にディスプレイが設けられている場合には、認証結果を表示する。また、他の装置と連携している場合には、当該他の装置に認証結果を転送する。これにより、図5のステップS213に示した各種処理を実行することができる。
【0071】
なお、認証装置601をソフトウェアにより実現する場合、受信部301、判別部302、暗号化処理部303、送信部304、認証部305、および出力部306は、具体的には、たとえば、図5に示したステップS201〜S203、S206〜S208、S210〜S213に示した手順に相当する認証アルゴリズムを、記憶領域から読み出してCPUに実行させることにより、または、通信I/Fにより、その機能を実現する。
【0072】
また、認証装置601をハードウェアにより実現する場合、受信部301、判別部302、暗号化処理部303、送信部304、認証部305、および出力部306は、具体的には、たとえば、図5に示したステップS201〜S203、S206〜S208、S210〜S213に示した手順に相当するHDL記述を論理合成して、ASICやFPGAなどのPLDに与えることにより、または、通信I/Fにより、その機能を実現する。
【0073】
以上説明したように、本実施の形態によれば、秘密鍵sを一度も復元することなく、他方の分散元(暗号化装置101、認証装置601)からの暗号文Cを一方の分散元(復号装置102)で平文Mに復号することができる。したがって、秘密鍵sをセキュアでないメモリに展開することがないため、秘密鍵sが漏洩することがなく、セキュリティの向上を図ることができる。
【0074】
また、復号装置102から分散データx1、x2、y1がすべて漏洩しても、暗号化装置101(または認証装置601)から分散データy2が漏洩しない限り、秘密鍵sを復元することができない。逆に、暗号化装置101(または認証装置601)から分散データy2が漏洩しても、復号装置102から分散データx1、x2、y1がすべて漏洩しない限り、セキュリティは保たれることとなる。
【0075】
また、本実施の形態では、外部からの読み出しが困難な特殊なメモリを準備して秘密鍵sを格納する必要がないため、特殊なデバイスを別途準備する必要もない。したがって、復号装置102の製造コストの低減化を図ることができる。
【0076】
また、上述した実施の形態において、公開鍵eやモジュラスNは、暗号化装置101(または認証装置601)または復号装置102において図2または図5による一連の処理手順の都度、生成することとしてもよい。これにより、復号または認証する都度、公開鍵eやモジュラスNを変更できるため、セキュリティの向上を図ることができる。
【0077】
また、上述した実施の形態において、分散データx1,x2,y1を復号装置102に、分散データy2を暗号化装置101(または認証装置601)にあらかじめ保持させておくこととしたが、復号装置102において秘密鍵sを生成してから分散データx1,x2,y1,y2を生成し、分散データx1,x2,y1を復号装置102に保持しておき、分散データy2を暗号化装置101(または認証装置601)に送信することとしてもよい。この場合、復号装置102では、生成された秘密鍵sを消去しておく。これにより、復号または認証する都度、秘密鍵sを変更できるため、セキュリティの向上を図ることができる。なお、この秘密鍵の分散は認証装置および復号装置の出荷前に行っておくことが、セキュリティ上望ましい。
【産業上の利用可能性】
【0078】
以上のように、上記方法、装置、およびプログラムは、秘密分散法を利用した公開鍵暗号方式に有用であり、たとえば、パーソナルコンピュータ、サーバー、トークンデバイス、カードキー、携帯端末に適している。
【図面の簡単な説明】
【0079】
【図1】秘密鍵の管理方式を示す説明図である。
【図2】暗号化装置および復号装置間のシーケンス図である。
【図3】暗号化装置の機能的構成を示すブロック図である。
【図4】復号装置の機能的構成を示すブロック図である。
【図5】認証装置および復号装置間のシーケンス図である。
【図6】認証装置の機能的構成を示すブロック図である。
【符号の説明】
【0080】
101 暗号化装置
102 復号装置
301 受信部
302 判別部
303 暗号化処理部
304 送信部
305 認証部
306 出力部
401 受信部
402 判別部
403 算出部
404 中間暗号化処理部
405 中間復号部
406 生成部
407 送信部
601 認証装置
C 暗号文
e 公開鍵
M 平文
N モジュラス
s 秘密鍵
x1,x2,y1,y2 分散データ
Y1 中間復号文
Y2 中間暗号文
Z 中間暗号文
z1 指数データ
z2 指数データ

【特許請求の範囲】
【請求項1】
一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データx1,y1,x2を保持する一方の分散元装置と、分散データy2および平文Mを保持する他方の分散元装置との間の暗号化通信により、前記他方の分散元装置がモジュラスNを用いた公開鍵暗号方式により公開鍵eで前記平文Mを暗号化した暗号文Cを、前記一方の分散元装置で前記平文Mに復号する復号方法であって、
前記一方の分散元装置が、前記暗号文Cを前記他方の分散元装置から受信する第1の受信工程と、
前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2から得られる第1の指数データz1で前記第1の受信工程によって受信された暗号文Cを第1の中間暗号文Zに暗号化する第1の中間暗号化工程と、
前記一方の分散元装置が、前記第1の中間暗号化工程によって暗号化された第1の中間暗号文Zを前記他方の分散元装置に送信する送信工程と、
前記他方の分散元装置が、前記公開鍵暗号方式により、前記分散データy2で前記送信工程によって送信された第1の中間暗号文Zを第2の中間暗号文Y2に暗号化する第2の中間暗号化工程と、
前記一方の分散元装置が、前記第2の中間暗号化工程によって暗号化された第2の中間暗号文Y2を前記他方の分散元装置から受信する第2の受信工程と、
前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2,y1から得られる第2の指数データz2で前記暗号文Cを中間復号文Y1に復号する中間復号工程と、
前記一方の分散元装置が、前記第2の受信工程によって受信された第2の中間暗号文Y2と、前記中間復号工程によって復号された中間復号文Y1に基づいて、前記平文Mを生成する生成工程と、
を含んだことを特徴とする復号方法。
【請求項2】
一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データx1,y1,x2を保持し、分散データy2および平文Mを保持する他の分散元装置との暗号化通信により、前記他の分散元装置が、モジュラスNを用いた公開鍵暗号方式により公開鍵eで前記平文Mを暗号化した暗号文Cを、前記平文Mに復号する復号装置であって、
前記暗号文Cを前記他の分散元装置から受信する第1の受信手段と、
前記公開鍵暗号方式により、前記分散データx1,x2から得られる第1の指数データz1で前記第1の受信手段によって受信された暗号文Cを第1の中間暗号文Zに暗号化する中間暗号化手段と、
前記中間暗号化手段によって暗号化された第1の中間暗号文Zを前記他の分散元装置に送信する送信手段と、
前記他の分散元装置が、前記公開鍵暗号方式により、前記分散データy2で前記第1の中間暗号文Zを暗号化した第2の中間暗号文Y2を、前記他の分散元装置から受信する第2の受信手段と、
前記公開鍵暗号方式により、前記分散データx1,x2,y1から得られる第2の指数データz2で前記暗号文Cを中間復号文Y1に復号する中間復号手段と、
前記第2の受信手段によって受信された第2の中間暗号文Y2と、前記中間復号手段によって得られた中間復号文Y1に基づいて、前記平文Mを生成する生成手段と、
を備えることを特徴とする復号装置。
【請求項3】
一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データy2および平文Mを保持し、分散データx1,y1,x2を保持する他の分散元装置との暗号化通信をおこなう暗号化装置であって、
前記他の分散元装置から送信されてくる情報を受信する受信手段と、
前記受信手段によって受信された情報を判別する判別手段と、
前記判別手段による判別結果が公開鍵eまたは当該公開鍵eによる暗号化要求である場合、モジュラスNを用いた公開鍵暗号方式により、前記公開鍵eで前記平文Mを暗号化し、前記判別手段による判別結果が、前記暗号文Cが送信された結果前記他の分散元装置から送信されてきた暗号化対象データである場合、前記公開鍵暗号方式により、前記分散データy2で前記暗号化対象データを暗号化する暗号化手段と、
前記暗号化手段によって暗号化された暗号文を前記他の分散元装置に送信する送信手段と、
を備えることを特徴とする暗号化装置。
【請求項4】
一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データx1,y1,x2を保持する一方の分散元装置と、分散データy2および平文Mを保持する他方の分散元装置との間の暗号化通信により、前記他方の分散元装置が前記一方の分散元装置を認証する認証方法であって、
前記一方の分散元装置が、前記他方の分散元装置がモジュラスNを用いた公開鍵暗号方式により公開鍵eで前記平文Mを暗号化した暗号文Cを、前記他方の分散元装置から受信する第1の受信工程と、
前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2から得られる第1の指数データz1で前記第1の受信工程によって受信された暗号文Cを第1の中間暗号文Zに暗号化する第1の中間暗号化工程と、
前記一方の分散元装置が、前記第1の中間暗号化工程によって暗号化された第1の中間暗号文Zを前記他方の分散元装置に送信する第1の送信工程と、
前記他方の分散元装置が、前記公開鍵暗号方式により、前記分散データy2で前記第1の送信工程によって送信された第1の中間暗号文Zを第2の中間暗号文Y2に暗号化する第2の中間暗号化工程と、
前記一方の分散元装置が、前記第2の中間暗号化工程によって暗号化された第2の中間暗号文Y2を前記他方の分散元装置から受信する第2の受信工程と、
前記一方の分散元装置が、前記公開鍵暗号方式により、前記分散データx1,x2,y1から得られる第2の指数データz2で前記暗号文Cを中間復号文Y1に復号する中間復号工程と、
前記一方の分散元装置が、前記第2の受信工程によって受信された第2の中間暗号文Y2と、前記中間復号工程によって復号された中間復号文Y1に基づいて、平文を生成する生成工程と、
前記一方の分散元装置が、前記生成工程によって生成された平文を前記他方の分散元装置に送信する第2の送信工程と、
前記他方の分散元装置が、前記第2の送信工程によって送信されてきた平文と前記平文Mとの同一性により前記一方の分散元装置を認証する認証工程と、
前記他方の分散元装置が、前記認証工程によって認証された認証結果を出力する出力工程と、
を含んだことを特徴とする認証方法。
【請求項5】
一次直線に関する秘密分散方式により秘密鍵sを復元可能な前記一次直線上の2点の座標(x1,y1)、(x2,y2)のうち、分散データy2および平文Mを保持し、分散データx1,y1,x2を保持する他の分散元装置との暗号化通信をおこなう認証装置であって、
前記他の分散元装置から送信されてくる情報を受信する受信手段と、
前記受信手段によって受信された情報を判別する判別手段と、
前記判別手段による判別結果が公開鍵eまたは当該公開鍵eによる暗号化要求である場合、モジュラスNを用いた公開鍵暗号方式により、前記公開鍵eで前記平文Mを暗号化し、前記判別手段による判別結果が、前記暗号文Cが送信された結果、前記他の分散元装置から送信されてきた暗号化対象データである場合、前記公開鍵暗号方式により、前記分散データy2で前記暗号化対象データを暗号化する暗号化手段と、
前記暗号化手段によって暗号化された暗号文を前記他の分散元装置に送信する送信手段と、
前記判別手段による判別結果が、前記分散データy2で暗号化された暗号文が送信された結果、前記他の分散元装置から送信されてきた認証対象データである場合、当該認証対象データと前記平文Mとの同一性により前記他の分散元装置を認証する認証手段と、
前記認証手段によって認証された認証結果を出力する出力手段と、
を備えることを特徴とする認証装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−225378(P2009−225378A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−70462(P2008−70462)
【出願日】平成20年3月18日(2008.3.18)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】