説明

プロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラム

【課題】格子問題ベースの公開鍵暗号方式に適用するプロキシ再暗号化方式において、変換鍵が漏洩しない安全性の高い方式を実現する。
【解決手段】復号権限委譲者であるユーザiの公開鍵(Ai,Pi)と秘密鍵Si、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)と秘密鍵Sj、Zqn×gからランダムに選ばれたR、及びB=R+Si、C=Sj+Rの計算から得られた(Ai,Pi,B)と(Aj,Pj,C)からT=C−Bを計算して、変換鍵 ((i,Ai,Pi),(j,Aj,Pj),T)を生成し、当該変換鍵を用い、ユーザiの公開鍵(Ai,Pi)により暗号化された暗号文Ci=(ui,ci)からci´=ci−uiTを計算し、マスク暗号文Cj´=(uj´、cj´)を計算し、uj=ui+uj´、cj=ci´+cj´を計算して、(uj,cj)をユーザj向けの暗号文Cjとして出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある公開鍵で暗号化された暗号文を、その公開鍵に対応する秘密鍵とは異なる秘密鍵を用いて復号することを可能とするプロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラムに関する。
【背景技術】
【0002】
公開鍵暗号方式では、ある公開鍵で暗号化された暗号文を復号できるのは、対応する秘密鍵を有する者に限られる。例えば、ユーザhからユーザiにメッセージmを送信する場合、ユーザhは図1に示すようにユーザiの公開鍵pkを用いて暗号文Cを生成して送信し、公開鍵pkに対応する秘密鍵skを持つユーザiのみがこの暗号文を復号できる。
【0003】
しかし、変換鍵rkを用いることによって、その暗号文を異なる秘密鍵を用いて復号可能な暗号文に変換する方式が、プロキシ再暗号化方式である。プロキシ再暗号化方式は、復号権限を委譲するユーザ、復号権限を委譲されるユーザ、暗号文を変換するプロキシから構成される。図1の例では、復号権限を委譲するユーザi向けの暗号文Cを復号権限を委譲されるユーザj向けの暗号文Cに変換する変換鍵rkijを持つプロキシが、入力された暗号文Cを暗号文Cに変換して出力する。そのため、その暗号文Cを受け取ったユーザjは、自己の秘密鍵skでメッセージmを復号することができる。
【0004】
プロキシ再暗号化方式は、非特許文献1で初めて提案され、それ以降、離散対数問題や楕円離散対数問題に基づいて様々なプロキシ再暗号化方式が提案されている。また、格子問題に基づく公開鍵暗号方式(例えば、非特許文献2、3)に適用可能なプロキシ再暗号化方式が非特許文献4で提案されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Matt Blaze, Gerrit Bleumer, and Martin Strauss,"Divertible Protocols and Atomic Proxy Cryptography", EUROCRYPT'98, Springer-Verlag, 1998, volume 1403 of Lecture Notes in Computer Science, p.127-144
【非特許文献2】Oded Regev,"On Lattices, Learning with Errors, Random Linear Codes, and Cryptography", Journal of the ACM, 2009, 56(6), article 34, p.1-37
【非特許文献3】Chris Peikert, Vinod Vaikuntanathan, and Brent Waters,"A Framework for Efficient and Composable Oblivious Transfer", CRYPTO 2008, Springer-Verlag, 2008, volume 5157 of Lecture Notes in Computer Science, p.554-571
【非特許文献4】Keita Xagawa, Keisuke Tanaka,"Proxy Re-Encryption based on Learning with Errors", SCIS 2010, 2010
【発明の概要】
【発明が解決しようとする課題】
【0006】
格子問題に基づく公開鍵暗号方式に適用可能な非特許文献4のプロキシ再暗号化方式は、変換前の暗号文と変換後の暗号文を監視すると、変換鍵が漏洩するという問題がある。
【0007】
本発明の目的は、格子問題に基づく公開鍵暗号方式において、プロキシ再暗号化処理を行う際に変換鍵が漏洩しない安全性の高いプロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明のプロキシ暗号化システムは、以下のような公開鍵暗号方式に適用される。
当該公開鍵暗号方式は、実数xについて、一番近い整数に丸める操作を
【0009】
【数1】

【0010】
と表記し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【0011】
【数2】

【0012】
とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、セキュリティパラメータが(n,m,q,α,g)であるとき、鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【0013】
【数3】

【0014】
を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【0015】
【数4】

【0016】
により計算して出力するアルゴリズムである公開鍵暗号方式である。
本発明のプロキシ暗号化システムは、このような公開鍵暗号方式に対して適用するプロキシ再暗号化システムであり、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、及び暗号文変換装置を備える。
【0017】
委譲情報生成装置は、前記鍵生成アルゴリズムに基づき生成された、復号権限委譲者であるユーザiの公開鍵(Ai,Pi)、秘密鍵Siを予め保有し、RをZqn×gからランダムに選び、B=R+Siを計算して(Ai,Pi,B)とRを出力する。
【0018】
被委譲情報生成装置は、前記鍵生成アルゴリズムに基づき生成された、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)、秘密鍵Sjを予め保有し、Rが入力され、C=Sj+Rを計算して(Aj,Pj,C)を出力する。
【0019】
変換鍵生成装置は、(Ai,Pi,B)と(Aj,Pj,C)とが入力され、T=C−Bを計算して、ユーザのインデックスの組(i,j)に対応する変換鍵として((i,Ai,Pi),(j,Aj,Pj),T)を生成して保管する。
【0020】
暗号文変換装置は、ユーザiの公開鍵(Ai,Pi)を用いて前記暗号化アルゴリズムにより暗号化された暗号文Ci=(ui,ci)と、ユーザのインデックスの組(i,j)と、が入力され、当該インデックスの組に対応する変換鍵((i,Ai,Pi),(j,Aj,Pj),T)を変換鍵生成装置から入手し、ci´=ci−uiTを計算し、前記暗号化アルゴリズムに、公開鍵pk=(Aj,Pj)、k=0g、及び{0,1}mから新たにランダムに選んだrを適用することにより、マスク暗号文Cj´=(uj´、cj´)を計算し、uj=ui+uj´、cj=ci´+cj´を計算して、(uj,cj)をユーザj向けの暗号文Cjとして出力する。
【発明の効果】
【0021】
本発明によれば、格子問題に基づく公開鍵暗号方式において、従来技術の暗号文変換処理に加えて、マスク用暗号文の作成及びマスク処理を行うことで、変換鍵の漏洩を防ぐことができるため、変換鍵が漏洩しない安全性の高いプロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラムを提供することができる。
【図面の簡単な説明】
【0022】
【図1】プロキシ再暗号化のイメージを示す図。
【図2】プロキシ再暗号化システム100の構成例を示す図。
【図3】プロキシ再暗号化システム100の処理フロー例を示す図。
【図4】プロキシ再暗号化システム100を構成する各装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0023】
本発明のプロキシ再暗号化システム100は、格子問題に基づく公開鍵暗号方式に暗号文変換機能を付加するものである。本発明を適用する格子問題に基づく公開鍵暗号方式は、Regev暗号(非特許文献2)の拡張である非特許文献3の方式である。そのため、本発明のプロキシ再暗号化システム100を適用する当該公開鍵暗号方式に係る定義・アルゴリズムをまず説明する。
実数xについて、一番近い整数に丸める操作を
【0024】
【数5】

【0025】
と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記する。そして、自然数m、q、実数α∈(0,1)について、分布χm,q,αを定義する。具体的には、ガウス分布N(0,α2/2π)からサンプルxをとって、x´=q・xを計算し、
【0026】
【数6】

【0027】
とし、xi∈Zq(={0,1,・・・,q−1})を、xi=x´´ mod q(i=1,・・・,m)により計算して得られたベクトルvx=(x1,・・・,xm)∈Zqmとして、これを分布χm,q,αとして定義する。
【0028】
当該公開鍵暗号方式は、このような定義の下、次の3つのアルゴリズムから構成される。なお、セキュリティパラメータは(n,m,q,α,g)であるとする。
【0029】
鍵生成アルゴリズムは、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムである。
【0030】
暗号化アルゴリズムは、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【0031】
【数7】

【0032】
を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムである。
復号アルゴリズムは、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【0033】
【数8】

【0034】
により計算して出力するアルゴリズムである。
本発明のプロキシ再暗号化システム100は、以上のような定義・アルゴリズムに基づく公開鍵暗号方式に対して適用するプロキシ再暗号化システムである。図2にプロキシ再暗号化システム100の機能構成例を、図3にその処理フロー例をそれぞれ示す。プロキシ再暗号化システム100は、委譲情報生成装置110、被委譲情報生成装置120、変換鍵生成装置130、及び暗号文変換装置140を備える。
【0035】
委譲情報生成装置110は、一般には復号権限委譲者であるユーザiのところに設けられ、前記鍵生成アルゴリズムに基づき生成されたユーザiの公開鍵(Ai,Pi)、秘密鍵Siを予め保有し、RをZqn×gからランダムに選び、B=R+Siを計算して(Ai,Pi,B)とRを出力する(S1)。
【0036】
被委譲情報生成装置120は、一般には復号権限被委譲者であるユーザjのところに設けられ、前記鍵生成アルゴリズムに基づき生成されたユーザjの公開鍵(Aj,Pj)、秘密鍵Sjを予め保有し、委譲情報生成装置110で生成されたRが入力され、C=Sj+Rを計算して(Aj,Pj,C)を出力する(S2)。
【0037】
変換鍵生成装置130と暗号文変換装置140はプロキシ装置を構成し、任意の場所に設けられる。
【0038】
変換鍵生成装置130は、委譲情報生成装置110で生成された(Ai,Pi,B)と被委譲情報生成装置130で生成された(Aj,Pj,C)とが入力され、T=C−Bを計算して、ユーザのインデックスの組(i,j)に対応する変換鍵として((i,Ai,Pi),(j,Aj,Pj),T)を生成し保管する(S3)。なお、この変換鍵は、ユーザiの公開鍵による暗号文をユーザjの秘密鍵で復号できる暗号文に変換することができるだけでなく、その逆、すなわちユーザjの公開鍵による暗号文をユーザiの秘密鍵で復号できる暗号文に変換することも可能である。
【0039】
暗号文変換装置140は、ユーザiの公開鍵(Ai,Pi)を用いて前記暗号化アルゴリズムにより暗号化された暗号文Ci=(ui,ci)と、復号権限を委譲するユーザのインデックスiと復号権限を委譲されるユーザのインデックスjとの組(i,j)と、が入力され、まず、当該インデックスの組に対応する変換鍵((i,Ai,Pi),(j,Aj,Pj),T)を変換鍵生成装置から入手し、ci´=ci−uiTを計算する。続いて、前記暗号化アルゴリズムに、公開鍵pk=(Aj,Pj)、k=0g、及び{0,1}mから新たにランダムに選んだrを適用することにより、マスク暗号文Cj´=(uj´、cj´)を計算する。そして、uj=ui+uj´、cj=ci´+cj´を計算してマスク処理を行った上で、(uj,cj)をユーザj向けの暗号文Cjとして出力する(S4)。このように、マスク用暗号文の作成及びマスク処理を行うことで、変換鍵の漏洩を防ぐことができる。
【0040】
以上のように、本発明のプロキシ再暗号化システム100によれば、格子問題に基づく公開鍵暗号方式において、変換鍵が漏洩しない安全性の高いプロキシ再暗号化処理を実現することができる。
【0041】
本発明のプロキシ再暗号化システム及びプロキシ再暗号化方法における各処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本発明の訓練データ獲得装置の各機能は必要に応じ、併合・分割しても構わない。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0042】
本発明のプロキシ再暗号化システムを構成する各装置をコンピュータによって実現する場合、各装置が担う機能の処理内容はプログラムによって記述される。そのプログラムは、例えば、ハードディスク装置に格納されており、実行時には必要なプログラムやデータがRAM(Random Access Memory)に読み込まれて、そのプログラムがCPUにより実行されることにより、コンピュータ上で各処理内容が実現される。図4に各装置のハードウェア構成例を示す。主な機能部として記憶部1と演算処理部2が設けられる。記憶部1は、ハードディスクやメモリなどの記憶装置からなり、演算処理部2で実行するプログラム10が記憶されるとともに、公開鍵や秘密鍵や生成した変換鍵などが記憶される。プログラム10は、ハードウェアを、委譲情報生成装置110、被委譲情報生成装置120、変換鍵生成装置130、又は暗号文変換装置140として機能させるのに応じ、委譲情報生成機能、被委譲情報生成機能、変換鍵生成機能、又は暗号文変換機能機能の処理内容がそれぞれ記述されたものである。演算処理部2は、CPUなどのマイクロプロセッサとその周辺回路からなり、記憶部1に格納されているプログラム10を読み出して実行し、ハードウェアとプログラムとを協働させることにより、各装置が有する機能が具体的に実現される。入出力IF部3、通信IF部4、操作入力部5及び画面表示部6は、他の装置での生成データや暗号文の入力、生成したデータや変換した暗号文の出力を始め、各種データやプログラムを入出力する機能を有する。入出力IF部3は、専用のデータ入出力回路からなり、CDやHDD、DVD、さらにはメモリカードや外部ディスクなどの記録媒体との間で、演算処理部2からの指示に応じて、各種データやプログラムの入出力を行う。通信IF部4は、専用のデータ入出力回路からなり、LANなどの通信回線を介して接続されたサーバなどの外部装置との間で、演算処理部2からの指示に応じて、各種データやプログラムの入出力を行う。操作入力部5は、キーボードやマウスなどの操作入力装置からなり、オペレータによる操作があったときに、その操作を検出して演算処理部2へ出力する。画面表示部6は、LDCやPCPなどの画面表示装置からなり、演算処理部2からの指示に応じて各種データや操作画面を表示する。

【特許請求の範囲】
【請求項1】
実数xについて、一番近い整数に丸める操作を
【数9】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数10】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数11】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数12】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用するプロキシ再暗号化システムであって、
前記鍵生成アルゴリズムに基づき生成された、復号権限委譲者であるユーザiの公開鍵(Ai,Pi)、秘密鍵Siを予め保有し、RをZqn×gからランダムに選び、B=R+Siを計算して(Ai,Pi,B)とRを出力する委譲情報生成装置と、
前記鍵生成アルゴリズムに基づき生成された、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)、秘密鍵Sjを予め保有し、Rが入力され、C=Sj+Rを計算して(Aj,Pj,C)を出力する被委譲情報生成装置と、
(Ai,Pi,B)と(Aj,Pj,C)とが入力され、T=C−Bを計算して、ユーザのインデックスの組(i,j)に対応する変換鍵として((i,Ai,Pi),(j,Aj,Pj),T)を生成して保管する変換鍵生成装置と、
ユーザiの公開鍵(Ai,Pi)を用いて前記暗号化アルゴリズムにより暗号化された暗号文Ci=(ui,ci)と、ユーザのインデックスの組(i,j)と、が入力され、当該インデックスの組に対応する変換鍵((i,Ai,Pi),(j,Aj,Pj),T)を変換鍵生成装置から入手し、ci´=ci−uiTを計算し、前記暗号化アルゴリズムに、公開鍵pk=(Aj,Pj)、k=0g、及び{0,1}mから新たにランダムに選んだrを適用することにより、マスク暗号文Cj´=(uj´、cj´)を計算し、uj=ui+uj´、cj=ci´+cj´を計算して、(uj,cj)をユーザj向けの暗号文Cjとして出力する暗号文変換装置と、
を備えるプロキシ再暗号化システム。
【請求項2】
実数xについて、一番近い整数に丸める操作を
【数13】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数14】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数15】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数16】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用する委譲情報生成装置であって、
前記鍵生成アルゴリズムに基づき生成された、復号権限委譲者であるユーザiの公開鍵(Ai,Pi)、秘密鍵Siを予め保有し、RをZqn×gからランダムに選び、B=R+Siを計算して(Ai,Pi,B)とRを出力する委譲情報生成装置。
【請求項3】
実数xについて、一番近い整数に丸める操作を
【数17】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数18】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数19】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数20】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用する被委譲情報生成装置あって、
前記鍵生成アルゴリズムに基づき生成された、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)、秘密鍵Sjを予め保有し、Rが入力され、C=Sj+Rを計算して(Aj,Pj,C)を出力する被委譲情報生成装置。
【請求項4】
実数xについて、一番近い整数に丸める操作を
【数21】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数22】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数23】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数24】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用する変換鍵生成装置であって、
前記鍵生成アルゴリズムに基づき、復号権限委譲者であるユーザiの公開鍵(Ai,Pi)と秘密鍵Si、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)と秘密鍵Sj、Zqn×gからランダムに選ばれたR、及びB=R+Si、C=Sj+Rの計算から得られた、(Ai,Pi,B)と(Aj,Pj,C)とが入力され、T=C−Bを計算して、ユーザのインデックスの組(i,j)に対応する変換鍵として((i,Ai,Pi),(j,Aj,Pj),T)を生成して保管する変換鍵生成装置。
【請求項5】
実数xについて、一番近い整数に丸める操作を
【数25】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数26】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数27】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数28】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用する暗号文変換装置であって、
ユーザiの公開鍵(Ai,Pi)を用いて前記暗号化アルゴリズムにより暗号化された暗号文Ci=(ui,ci)と、ユーザのインデックスの組(i,j)と、が入力され、当該インデックスの組に対応する変換鍵((i,Ai,Pi),(j,Aj,Pj),T)を変換鍵生成装置から入手し、ci´=ci−uiTを計算し、前記暗号化アルゴリズムに、公開鍵pk=(Aj,Pj)、k=0g、及び{0,1}mから新たにランダムに選んだrを適用することにより、マスク暗号文Cj´=(uj´、cj´)を計算し、uj=ui+uj´、cj=ci´+cj´を計算して、(uj,cj)をユーザj向けの暗号文Cjとして出力する暗号文変換装置。
【請求項6】
実数xについて、一番近い整数に丸める操作を
【数29】

と定義し、平均0、分散σ2のガウス分布をN(0,σ2)と表記するとき、自然数m、q、実数α∈(0,1)における分布χm,q,αが、ガウス分布N(0,α2/2π)上のサンプルxについて、x´=q・x、
【数30】

とし、xi∈Zq(={0,1,・・・,q−1})をxi=x´´ mod q(i=1,・・・,m)として得られるベクトルvx=(x1,・・・,xm)∈Zqmであると定義され、
セキュリティパラメータが(n,m,q,α,g)であるとき、
鍵生成アルゴリズムが、AをZqm×nからランダムに選び、SをZqn×gからランダムに選び、vx1、vx2、・・・、vxgを前記分布χm,q,αに従い選んでX=[vx1,vx2,・・・,vxg] ∈Zqm×gとして、P=AS+Xを計算し、公開鍵をpk=(A,P)とし、秘密鍵をsk=Sとして出力する確率的アルゴリズムであり、
暗号化アルゴリズムが、公開鍵pkと平文k∈{0,1}gを入力にとり、rを{0,1}mからランダムに選び、u=rAを計算し、v=rPを計算し、
【数31】

を計算し、c=v+tを計算して、暗号文としてC=(u,c)を出力する確率的アルゴリズムであり、
復号アルゴリズムが、秘密鍵skと暗号文C=(u,c)を入力にとり、d=c−uSを計算し、平文kを
【数32】

により計算して出力するアルゴリズムである、
公開鍵暗号方式に対して適用するプロキシ再暗号化方法であって、
前記鍵生成アルゴリズムに基づき生成された、復号権限委譲者であるユーザiの公開鍵(Ai,Pi)、秘密鍵Siを予め保有し、RをZqn×gからランダムに選び、B=R+Siを計算して(Ai,Pi,B)とRを出力する委譲情報生成ステップと、
前記鍵生成アルゴリズムに基づき生成された、復号権限被委譲者であるユーザjの公開鍵(Aj,Pj)、秘密鍵Sjを予め保有し、Rが入力され、C=Sj+Rを計算して(Aj,Pj,C)を出力する被委譲情報生成ステップと、
(Ai,Pi,B)と(Aj,Pj,C)とが入力され、T=C−Bを計算して、ユーザのインデックスの組(i,j)に対応する変換鍵として((i,Ai,Pi),(j,Aj,Pj),T)を生成して変換鍵生成装置に保管する変換鍵生成ステップと、
ユーザiの公開鍵(Ai,Pi)を用いて前記暗号化アルゴリズムにより暗号化された暗号文Ci=(ui,ci)と、ユーザのインデックスの組(i,j)と、が入力され、当該インデックスの組に対応する変換鍵((i,Ai,Pi),(j,Aj,Pj),T)を変換鍵生成装置から入手し、ci´=ci−uiTを計算し、前記暗号化アルゴリズムに、公開鍵pk=(Aj,Pj)、k=0g、及び{0,1}mから新たにランダムに選んだrを適用することにより、マスク暗号文Cj´=(uj´、cj´)を計算し、uj=ui+uj´、cj=ci´+cj´を計算して、(uj,cj)をユーザj向けの暗号文Cjとして出力する暗号文変換ステップと、
を実行するプロキシ再暗号化方法。
【請求項7】
請求項1に記載のプロキシ再暗号化システム、請求項2に記載の委譲情報生成装置、請求項3に記載の被委譲情報生成装置、請求項4に記載の変換鍵生成装置、又は請求項5に記載の暗号文変換装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−150399(P2012−150399A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−10757(P2011−10757)
【出願日】平成23年1月21日(2011.1.21)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】