JP5713947B2 - プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 - Google Patents
プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 Download PDFInfo
- Publication number
- JP5713947B2 JP5713947B2 JP2012071881A JP2012071881A JP5713947B2 JP 5713947 B2 JP5713947 B2 JP 5713947B2 JP 2012071881 A JP2012071881 A JP 2012071881A JP 2012071881 A JP2012071881 A JP 2012071881A JP 5713947 B2 JP5713947 B2 JP 5713947B2
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- ciphertext
- input
- encryption
- outputs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
<準備:再変換可能暗号>
まず,再変換可能暗号方式Π=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を以下のとおり構成する。このΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)は単一鍵変換可能暗号である。
(1)共通パラメータ生成アルゴリズムSetup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズムである。
(2)鍵生成アルゴリズムGen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズムである。
(3)暗号化アルゴリズムEnc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズムである。
(4)復号アルゴリズムDec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを得るアルゴリズムである。
(5)変換鍵生成アルゴリズムReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,受託装置の暗号化鍵ekBを入力として,変換鍵rkA→Bを出力する確率的アルゴリズムである。
(6)変換アルゴリズムReEnc:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B,委託装置の公開鍵ekAを用いて生成された暗号文cAを入力として,受託装置の復号鍵dkBで復号可能な暗号文cBを出力する確率的アルゴリズムである。
本発明による実施形態では,再変換可能暗号方式Π=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)から,複数回変換可能プロキシ暗号方式π=(SETUP; GEN; ENC; DEC; REKEYGEN; REENC)を構成する。
(1)SETUP:
セキュリティパラメータκを入力として,pp←Setup(κ)を求め,Hを変換回数の最大として,PP=(pp,H)を出力するアルゴリズムである。
(2)GEN:
セキュリティパラメータκとPP=(pp,H)を入力として,η=0,…,Hについて,(ek(η),dk(η))←Gen(κ,pp)を求め,暗号化鍵EK=(ek(0),…,ek(H))と復号鍵DK=(dk(0),…,dk(H))を出力するアルゴリズムである。
(3)ENC:
セキュリティパラメータκ,PP=(pp,H),EK=(ek(0),…,ek(H)),レベルη,平文mを入力として,c←Enc(κ,pp,ek(η),m)を求め,ct=(η,c)を暗号文として出力するアルゴリズムである。
(4)DEC:
セキュリティパラメータκ,PP=(pp,H),DK=(dk(0),…,dk(H)),暗号文(η,c)を入力として,m’←Dec(κ,pp,dk(η),c)を求め,復号された平文としてm’を出力するアルゴリズムである。
(5)REKEYGEN:
セキュリティパラメータκ,PP=(pp,H),委託装置の復号鍵DKA=(dkA (0),…,dkA (H)),受託装置の暗号化鍵EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,rk(A,h)→(B,h+1)←ReKeyGen(κ,pp,dkA (h),ekB (h+1))を計算し,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力するアルゴリズムである。
(6)REENC:
セキュリティパラメータκ,PP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),暗号文ct=(η,c)を入力として,c’←ReEnc(κ,pp,rk(A,η)→(B,η+1),c)を求め,(η+1,c’)を変換済暗号文として出力するアルゴリズムである。
(1)SETUP:
送信者装置100の設定部101は,セキュリティパラメータκを入力として,共通パラメータpp←Setup(κ)を計算する。そして,設定部101は,Hを変換回数の最大として,変換回数上限付き共通パラメータPP=(pp,H)を出力する。Hは,送信者装置を用いるユーザによってH≧1を満たす予め定められた整数値であるが,好ましくはH≧2を満たす整数値である。
委託装置200の鍵生成部201は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,(ekA (η),dkA (η))←Gen(κ,pp)を計算する。鍵生成部201は,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を出力する。
受託装置300の鍵生成部301は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,(ekB (η),dkB (η))←Gen(κ,pp)を計算する。鍵生成部301は,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を出力する。
送信者装置100の暗号化部102は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の暗号化鍵の組EKA=(ekA (0),…,ekA (H)),変換回数の指定を表すレベルη,平文mを入力として,c←Enc(κ,pp,ekA (η),m)を計算する。暗号化部102は,ct=(η,c)を委託装置200に向けた暗号文として出力する。
委託装置200の変換鍵生成部202は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置300の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,rk(A,h)→(B,h+1)←ReKeyGen(κ,pp,dkA (h),ekB (h+1))を計算する。変換鍵生成部202は,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力する。
プロキシ装置400の変換暗号文生成部401は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),委託装置200に向けた暗号文ct=(η,c)を入力として,c’←ReEnc(κ,pp,rk(A,η)→(B,η+1),c)を計算する。変換暗号文生成部401は,(η+1,c’)を変換済暗号文として出力する。
受託装置300の復号部302は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),受託装置300の復号鍵の組DKB=(dkB (0),…,dkB (H)),変換済暗号文(η+1,c’)を入力として,m’←Dec(κ,pp,dkB (η+1),c’)を計算する。復号部302は,平文としてm’を出力する。
実施例1の変形例として,完全準同型公開鍵暗号に二つのアルゴリズムを加えたものを,複数回変換可能プロキシ暗号方式π=(SETUP; GEN; ENC; DEC; REKEYGEN; REENC)を構成するための再変換可能暗号方式とする。
<準備:完全準同型公開鍵暗号>
ΠFHE=(Setup; Gen; Enc; Dec; Eval)を完全準同型公開鍵暗号とする。具体的には,ΠFHEは五つのアルゴリズムの組であり,各アルゴリズムは次の性質を満たす。
(1)共通パラメータ生成アルゴリズムSetup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズムである。
(2)鍵生成アルゴリズムGen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズムである。
(3)暗号化アルゴリズムEnc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズムである。
(4)復号アルゴリズムDec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを計算するアルゴリズムである。
(5)評価アルゴリズムEval:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,論理回路C,暗号文の組c→=(c1,…,cn)を入力として,新しい暗号文c”を計算するアルゴリズムである。このとき,論理回路Cは,Dec(κ,pp,dk,c”)=C(Dec(κ,pp,dk,c1),…,Dec(κ,pp,dk,cn))の関係が成立するバイナリ回路であり,新しい暗号文c”に対する復号アルゴリズムDecに相当する。
完全準同型公開鍵暗号ΠFHE=(Setup; Gen; Enc; Dec; Eval)から再変換可能暗号Π’=(Setup’; Gen’; Enc’; Dec’; ReKeyGen’; ReEnc’)を構成する。
(1)Setup’:
ΠFHEのSetupと同じアルゴリズムである。
(2)Gen’:
ΠFHEのGenと同じアルゴリズムである。
(3)Enc’:
ΠFHEのEncと同じアルゴリズムである。
(4)Dec’:
ΠFHEのDecと同じアルゴリズムである。
(5)ReKeyGen’:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,受託装置の暗号化鍵ekBを入力として,cA→B←Enc(κ,pp,ekB,dkA)を計算し,変換鍵rkA→B=(cA→B,ekB)を出力するアルゴリズムである。
(6)ReEnc’:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B,委託装置に向けた暗号文cを入力として,(cA→B,ekB)=rkA→Bとパース(parse)し(つまり,入力された変換鍵rkA→BからcA→BとekBを得る),c’←Enc(κ,pp,ekB,c)を計算し,c”←Eval(κ,pp,ekB,Dec,(cA→B,c’))を計算し,c”を出力するアルゴリズムである。
(1)SETUP:
送信者装置100の設定部101は,セキュリティパラメータκを入力として,共通パラメータpp←Setup(κ)を計算する。そして,設定部101は,Hを変換回数の最大として,変換回数上限付き共通パラメータPP=(pp,H)を出力する。Hは,送信者装置を用いるユーザによってH≧1を満たす予め定められた整数値であるが,好ましくはH≧2を満たす整数値である。
委託装置200の鍵生成部201は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,(ekA (η),dkA (η))←Gen(κ,pp)を計算する。鍵生成部201は,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を出力する。
受託装置300の鍵生成部301は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,(ekB (η),dkB (η))←Gen(κ,pp)を計算する。鍵生成部301は,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を出力する。
送信者装置100の暗号化部102は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の暗号化鍵の組EKA=(ekA (0),…,ekA (H)),変換回数の指定を表すレベルη,平文mを入力として,c←Enc(κ,pp,ekA (η),m)を計算する。暗号化部102は,ct=(η,c)を委託装置200に向けた暗号文として出力する。
委託装置200の変換鍵生成部202は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置300の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,c(A,h)→(B,h+1)←ReKeyGen(κ,pp,dkA (h),ekB (h+1))=Enc(κ,pp,ekB (h+1),dkA (h))を計算する。そして,変換鍵生成部202は,h=0,…,H-1についてrk(A,h)→(B,h+1)=(c(A,h)→(B,h+1),ekB (h+1))として,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力する。
プロキシ装置400の変換暗号文生成部401は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),委託装置200に向けた暗号文ct=(η,c)を入力として,h=0,…,H-1について,(c(A,h)→(B,h+1),ekB (h+1))←rk(A,h)→(B,h+1)とパース(parse)し,c’(h+1)←Enc(κ,pp,ekB (h+1),c)を計算する。そして,変換暗号文生成部401は,c”←Eval(κ,pp,ekB (η+1),Dec,(c(A,0)→(B,1),c’(h+1)),…,(c(A,H-1)→(B,H),c’(H)))を計算し,(η+1,c”)を変換済暗号文として出力する。
受託装置300の復号部302は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),受託装置300の復号鍵の組DKB=(dkB (0),…,dkB (H)),変換済暗号文(η+1,c”)を入力として,m’←Dec(κ,pp,dkB (η+1),c”)を計算する。復号部302は,平文としてm’を出力する。
<準備>
アルゴリズムBDとアルゴリズムP2を下記の確定的アルゴリズムとする(参考文献:Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. Fully homomorphic encryption without bootstrapping. In ITCS 2012, 2012)。2δ-1<q<2δとする。
(1)アルゴリズムBD:
x→∈Zq nを入力とする。1)k=1,…,δについて,u→ k∈{0,1}nを,x→=Σk=1 δ2k-1u→ kを満たすように計算する。2)(u→ 1,…,u→ δ)∈{0,1}nδを出力する。
(2)アルゴリズムP2:
s→∈Zn qを入力とする場合には,[1,2,…,2δ-1]T(×)s→∈Zq nδを出力するアルゴリズムPを実行し(ただし,(×)は行列のクロネッカー積を表す),行列S=[s→ 1,…,s→ g]を入力とする場合には,[P(s→ 1),…,P(s→ g)]∈Zq nδ×gなる行列を出力する。
参考文献(Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. Fully homomorphic encryption without bootstrapping. In ITCS 2012, 2012)を参考にして,下記の再変換可能暗号Π’=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を構成する。
(1)Setup:
AをZq m×nからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,A)を出力する。DΧは,Zq m上の分布を表す。分布DΧは,必ずまたは圧倒的な確率でサンプルXの絶対値があるパラメータB以下(X∈[-B,B]⊆Zq)な分布である。
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力とする。SをZq n×nからランダムに選ぶ。E∈Zq m×nを分布DΧ nに従ってランダムに選ぶ。B=A・S+2Eを計算する。暗号化鍵ek=Bと復号鍵dk=(S,B)を出力する。以下,簡単のためにM=[A|B]∈Zq m×2n(1≦i≦m,1≦j≦nのとき,行列Mの(i,j)成分は行列Aの(i,j)成分に一致し,1≦i≦m,n+1≦j≦2nのとき,行列Mの(i,j)成分は行列Bの(i,j-n)成分に一致する),S^=(-S|I)∈Zq 2n×n(1≦i≦n,1≦j≦nのとき,行列S^の(i,j)成分は行列-Sの(i,j)成分に一致し,n+1≦i≦2n,1≦j≦nのとき,行列S^の(i,j)成分は単位行列Iの(i-n,j)成分に一致する)とおく。このときM・S^=-AS+B=2Eである。
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek=B,平文m→∈{0,1}nを入力とする。r→←{-1,+1}mをランダムに選ぶ。(u→,v→)=(r→A,r→B)を計算する。(u→,v→)を1行2n列の行列とみなす。つまり,1≦j≦nのとき,行列(u→,v→)の(1,j)成分はベクトルu→の(1,j)成分に一致し,n+1≦j≦2nのとき,行列(u→,v→)の(1,j)成分はベクトルv→の(1,j-n)成分に一致する。(u→,c→)=(u→,v→+m→)を計算する。暗号文(u→,c→)を出力する。
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk=(S,B),暗号文(u→,c→)を入力とする。d→←(u→,c→)S^ mod qを計算する。m→←d→ mod 2を計算して,m→を平文として出力する。
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA=(SA,BA),受託装置の暗号化鍵ekB=BBを入力とする。R←{-1,+1}nδ×mをランダムに選ぶ。MB=[A|BB]とする。MA→B←RMB+[O|-P2(SA)]を計算する(Oはnδ×nのゼロ行列である)。変換鍵rkA→B=(MA→B,BB)を出力する。
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B=(MA→B,BB),暗号文(u→,c→)を入力とする。(u→’,c→’)←BD(u→)・MA→Bを計算する。r→~←{-1,+1}mをランダムに選ぶ。(u→~,v→~)←r→~・[A|BB]を計算する。(u→-,c→-)←(u→’+u→~,c→+c→’+v→~)を計算する。変換済暗号文として(u→-,c→-)を出力する。
(1)SETUP:
送信者装置100の設定部101は,AをZq m×nからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,A)と,変換回数の最大値Hとの組である変換回数上限付き共通パラメータPP=(pp,H)を出力する。Hは,送信者装置を用いるユーザによってH≧1を満たす予め定められた整数値であるが,好ましくはH≧2を満たす整数値である。
委託装置200の鍵生成部201は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,S(η)をZq n×nからランダムに選び,E(η)∈Zq m×nを分布DΧ nに従ってランダムに選び,B(η)=A・S(η)+2E(η)を計算して,暗号化鍵ekA (η)=B(η)と復号鍵dkA (η)=(S(η),B(η))を求める。そして,鍵生成部201は,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を出力する。
受託装置300の鍵生成部301は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,S(η)をZq n×nからランダムに選び,E(η)∈Zq m×nを分布DΧ nに従ってランダムに選び,B(η)=A・S(η)+2E(η)を計算して,暗号化鍵ekB (η)=B(η)と復号鍵dkB (η)=(S(η),B(η))を求める。そして,鍵生成部301は,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を出力する。
送信者装置100の暗号化部102は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の暗号化鍵の組EKA=(ekA (0),…,ekA (H)),変換回数の指定を表すレベルη,平文m→∈{0,1}nを入力として,r→←{-1,+1}mをランダムに選び,(u→,v→)=(r→A,r→B)を計算し,(u→,c→)=(u→,v→+m→)を求める。暗号化部102は,ct=(η,(u→,c→))を委託装置200に向けた暗号文として出力する。
委託装置200の変換鍵生成部202は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置300の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,R←{-1,+1}nδ×mをランダムに選び,B(B,h)=ekB (h),M(B,h+1)=[A|B(B,h+1)]として,M(A,h)→(B,h+1)←RM(B,h+1)+[O|-P2(S(A,h))]を計算し,rk(A,h)→(B,h+1)=(M(A,h)→(B,h+1),B(B,h+1))を求める。変換鍵生成部202は,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力する。
プロキシ装置400の変換暗号文生成部401は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),委託装置200に向けた暗号文ct=(η,(u→,c→))を入力として,h=0,…,H-1について,(u→’,c→’)←BD(u→)・M(A,η)→(B,η+1)を計算し,r→~←{-1,+1}mをランダムに選び,(u→~,v→~)←r→~・[A|B(B,η+1)]を計算し,(u→-,c→-)←(u→’+u→~,c→+c→’+v→~)を計算する。変換暗号文生成部401は,変換済暗号文として(η+1,(u→-,c→-))を出力する。
受託装置300の復号部302は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),受託装置300の復号鍵の組DKB=(dkB (0),…,dkB (H)),変換済暗号文(η+1,(u→-,c→-))を入力として,d→←(u→-,c→-)S^(η+1) mod qを計算し,m→←d→ mod 2を計算して,m→を平文として出力する。
<準備>
κをセキュリティパラメータとし,k(κ)を整数関数とし,n(κ)=2k(κ)とする。f(x)=xn+1とする。q=q(κ)を素数とする。環R=Z[x]/(f(x))とし,Rq=R/qRとする。δを2δ-1<q<2δを満たす整数とする。
アルゴリズムBDとアルゴリズムP2を下記の確定的アルゴリズムとする(参考文献:Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. Fully homomorphic encryption without bootstrapping. ITCS 2012, 2012)。
x∈Rqを入力にとる。1)k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように計算する。2)(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力する。
(2)アルゴリズムP2:
s∈Rqを入力にとり,[1,2s,…,2δ-1s]T∈Rq δを出力する。
参考文献(Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. Fully homomorphic encryption without bootstrapping. In ITCS 2012, 2012)や参考文献(Vadim Lyubashevsky, Chris Peikert, and Oded Regev. On ideal lattices and learning with errors over rings. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of Lecture Notes in Computer Science, pages 1-23. Springer-Verlag, 2010.)を参考にして,下記の再変換可能暗号Π’=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を構成する。
(1)Setup:
a→をRq mからランダムに選び,pp=(1κ,n,q,m,DΧ,a→)を出力する。DΧは,Rq上の分布を表す。分布DΧは,必ずまたは圧倒的な確率で,サンプルとして取った多項式aaの各係数aiの絶対値があるパラメータB以下(aa=a0+…+an-1Xn-1としてai∈[-B,B]⊆Zq)な分布である。
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力とする。sをRqからランダムに選ぶ。e→←DΧ mをランダムに選ぶ。b→←sa→+2e→∈Rq mを計算する。暗号化鍵ek=b→と復号鍵dk=(s,b→)を出力する。以下,簡単のためにM=[a→|b→]∈Rq m×2,s→^=(-s,1)T∈Rq 2とおく。このときM・s^=-a→s+b→=2e→となる。
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek=b→,平文m∈{0,1}n⊆Rqを入力とする。r→←({-1,+1}n)mをランダムに選ぶ。(u,v)=(r→・a→,r→・b→)を計算する。(u,c)=(u,v+m)を計算して,ベクトル(u,c)を暗号文として出力する。
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk=(s,b→),暗号文(u,c)を入力とする。d←(u,c)・s→^ mod qを計算する。m←d mod 2を計算する。平文mを出力する。
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA=(sA,b→ A)と受託装置の暗号化鍵ekB=b→ Bを入力とする。R←({-1,+1}n)δ×mをランダムに選ぶ。MB=[a→|b→ B]とする。MA→B←RMB+[0→|-P2(sA)]を計算する。変換鍵rkA→B=(MA→B,b→ B)を出力する。
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B=(MA→B,b→ B),暗号文(u,c)を入力とする。(u’,c’)←BD(u)・MA→Bを計算する。r→~←({-1,+1}n)mをランダムに選ぶ。(u~,v~)←r→~・[a→|b→ B]を計算する。(u-,c-)←(u’+u~,c+c’+v~)を計算する。変換済暗号文として(u-,c-)を出力する。
(1)SETUP:
送信者装置100の設定部101は,a→をRq mからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,a→)と,変換回数の最大値Hとの組である変換回数上限付き共通パラメータPP=(pp,H)を出力する。Hは,送信者装置を用いるユーザによってH≧1を満たす予め定められた整数値であるが,好ましくはH≧2を満たす整数値である。
委託装置200の鍵生成部201は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,s(η)をZqからランダムに選び,e→(η)←DΧ mに従ってランダムに選び,b→(η)=s(η)a→+2e→(η)∈Rq mを計算して,暗号化鍵ekA (η)=b→(η)と復号鍵dkA (η)=(s(η),b→(η))を求める。そして,鍵生成部201は,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を出力する。
受託装置300の鍵生成部301は,セキュリティパラメータκと変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,s(η)をZqからランダムに選び,e→(η)←DΧ mに従ってランダムに選び,b→(η)=s(η)a→+2e→(η)∈Rq mを計算して,暗号化鍵ekB (η)=b→(η)と復号鍵dkB (η)=(s(η),b→(η))を求める。そして,鍵生成部301は,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を出力する。
送信者装置100の暗号化部102は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の暗号化鍵の組EKA=(ekA (0),…,ekA (H)),変換回数の指定を表すレベルη,平文m→∈{0,1}n⊆Rqを入力として,r→←({-1,+1}n)mをランダムに選び,(u,v)=(r→・a→,r→・b→)を計算し,(u,c)=(u,v+m)を求める。暗号化部102は,レベルηとベクトル(u,c)との組ct=(η,(u,c))を委託装置200に向けた暗号文として出力する。
委託装置200の変換鍵生成部202は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置300の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,R←({-1,+1}n)δ×mをランダムに選び,b→ (B,h)=ekB (h),M(B,h+1)=[a→|b→ (B,h+1)]として,M(A,h)→(B,h+1)←RM(B,h+1)+[0→|-P2(s(A,h))]を計算し,rk(A,h)→(B,h+1)=(M(A,h)→(B,h+1),b→ (B,h+1))を求める。変換鍵生成部202は,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力する。
プロキシ装置400の変換暗号文生成部401は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),委託装置200に向けた暗号文ct=(η,(u,c))を入力として,h=0,…,H-1について,(u’,c’)←BD(u)・M(A,η)→(B,η+1)を計算し,r→~←({-1,+1}n)mをランダムに選び,(u~,v~)←r→~・[a→|b→ (B,η+1)]を計算し,(u-,c-)←(u’+u~,c+c’+v~)を計算する。変換暗号文生成部401は,変換済暗号文として(η+1,(u-,c-))を出力する。
受託装置300の復号部302は,セキュリティパラメータκ,変換回数上限付き共通パラメータPP=(pp,H),受託装置300の復号鍵の組DKB=(dkB (0),…,dkB (H)),変換済暗号文(η+1,(u-,c-))を入力として,d←(u,c)・s→^ mod qを計算し,m←d mod 2を計算して,mを平文として出力する。
<準備>
κをセキュリティパラメータとし,k(κ)を整数関数とし,n(κ)=2k(κ)とする。f(x)=xn+1とする。q=q(κ)を素数とする。環R=Z[x]/(f(x))とし,Rq=R/qRとする。δを2δ-1<q<2δを満たす整数とする。
アルゴリズムBDとアルゴリズムP2を下記の確定的アルゴリズムとする(参考文献:Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. Fully homomorphic encryption without bootstrapping. ITCS 2012, 2012)。
x∈Rqを入力にとる。1)k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように計算する。2)(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力する。
(2)アルゴリズムP2:
s∈Rqを入力にとり,[1,2s,…,2δ-1s]T∈Rq δを出力する。
参考文献(Zvika Brakerski and Vinod Vaikuntanathan. Fully homomorphic encryption from ring-LWE and security for key dependent messages. In Phillip Rogaway, editor, CRYPTO 2011, volume 6841 of Lecture Notes in Computer Science, pages 505-524. Springer-Verlag, 2011.)や参考文献(Vadim Lyubashevsky, Chris Peikert, and Oded Regev. On ideal lattices and learning with errors over rings. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of Lecture Notes in Computer Science, pages 1-23. Springer-Verlag, 2010.)を参考にして,下記の再変換可能暗号Π’=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を構成する。
(1)Setup:
a←Rqをランダムに選択し,共通パラメータpp=(κ,n,q,DΧ,a)を出力する。DΧは,Rq上の分布を表す。分布DΧは,必ずまたは圧倒的な確率で、サンプルとして取った多項式aaの各係数aiの絶対値があるパラメータB以下(aa=a0+…+an-1Xn-1としてai∈[-B,B]⊆Zq)な分布である。
(2)Gen:
共通パラメータppを入力とする。s,e←DΧをランダムに選択し,b←as+2eを計算し,暗号化鍵ek=b,復号鍵dk=(s,b)を出力する。
(3)Enc:
共通パラメータpp,暗号化鍵ek=b,平文m∈{0,1}n⊆Rqを入力とする。t,e’,e”←DΧをランダムに選択し,(u,c)←(at+2e’,bt+2e”+m)とする。暗号文(u,c)を出力する。
(4)Dec:
共通パラメータppと暗号文(u,c)を入力とする。d=c-us mod qを計算する。m=d mod 2を計算する。mを平文として出力する。
(5)ReKeyGen:
共通パラメータpp,受託装置の暗号化鍵ekB=bB,委託装置の復号鍵dkA=(sA,bA)を入力とする。r→,h→,h→’←DΧ δをランダムに選び,f→←ar→+2h→,g→←br→+2h→’+P2(sA)とする。変換鍵rkA→B=(f→,g→,bB)を出力する。
(6)ReEnc:
共通パラメータpp,変換鍵rkA→B=(f→,g→,bB),暗号文(u,c)を入力とする。(u’,c’)=BD(u)・[f→,g→]を計算する。t’,f’,f”←DΧをランダムに選び,(u~,v~)=(at’+2f’,bBt’+2f”)を計算する。(u-,c-)=(u’+u~,c+c’+v~)を計算する。変換済暗号文(u-,c-)を出力する。
(1)SETUP:
送信者装置100の設定部101は,a←Rqをランダムに選択し,共通パラメータpp=(κ,n,q,DΧ,a)と,変換回数の最大値Hとの組である変換回数上限付き共通パラメータPP=(pp,H)を出力する。Hは,送信者装置を用いるユーザによってH≧1を満たす予め定められた整数値であるが,好ましくはH≧2を満たす整数値である。
委託装置200の鍵生成部201は,変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,s(η),e(η)←DΧをランダムに選択し,b(η)←as(η)+2e(η)を計算し,暗号化鍵ekA (η)=b(η),復号鍵dkA (η)=(s(η),b(η))を出力する。そして,鍵生成部201は,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を出力する。
受託装置300の鍵生成部301は,変換回数上限付き共通パラメータPP=(pp,H)を入力として,η=0,…,Hについて,s(η),e(η)←DΧをランダムに選択し,b(η)←as(η)+2e(η)を計算し,暗号化鍵ekB (η)=b(η),復号鍵dkB (η)=(s(η),b(η))を出力する。そして,鍵生成部201は,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を出力する。
送信者装置100の暗号化部102は,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の暗号化鍵の組EKA=(ekA (0),…,ekA (H)),変換回数の指定を表すレベルη,平文m∈{0,1}n⊆Rqを入力として,t,e’,e”←DΧをランダムに選択し,(u,c)←(at+2e’,bt+2e”+m)を求める。暗号化部102は,レベルηとベクトル(u,c)との組ct=(η,(u,c))を委託装置200に向けた暗号文として出力する。
委託装置200の変換鍵生成部202は,変換回数上限付き共通パラメータPP=(pp,H),委託装置200の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置300の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,r→,h→,h→’←DΧ δをランダムに選び,s(A,h)=sA (h)として,f→←ar→+2h→,g→←br→+2h→’+P2(s(A,h))を計算し,rk(A,h)→(B,h+1)=(f→,g→,b(B,h+1))を求める。変換鍵生成部202は,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力する。
プロキシ装置400の変換暗号文生成部401は,変換回数上限付き共通パラメータPP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),委託装置200に向けた暗号文ct=(η,(u,c))を入力として,h=0,…,H-1について,(u’,c’)=BD(u)・[f→,g→]を計算し,t’,f’,f”←DΧをランダムに選び,(u~,v~)=(at’+2f’,b(B,η+1)t’+2f”)を計算し,(u-,c-)=(u’+u~,c+c’+v~)を計算する。変換暗号文生成部401は,変換済暗号文として(η+1,(u-,c-))を出力する。
受託装置300の復号部302は,変換回数上限付き共通パラメータPP=(pp,H),受託装置300の復号鍵の組DKB=(dkB (0),…,dkB (H)),変換済暗号文(η+1,(u-,c-))を入力として,d=c-us mod qを計算し,m=d mod 2を計算して,mを平文として出力する。
プロキシ暗号システムに含まれうるハードウェアエンティティ(送信者装置,委託装置,受託装置,プロキシ装置)は,キーボードなどが接続可能な入力部,液晶ディスプレイなどが接続可能な出力部,ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部,CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕,メモリであるRAMやROM,ハードディスクである外部記憶装置並びにこれらの入力部,出力部,通信部,CPU,RAM,ROM,外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて,ハードウェアエンティティに,CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては,汎用コンピュータなどがある。
また,この点に関する文献として,参考文献Aを挙げることができる。
(参考文献A)H. Cohen,"A Course in Computational Algebraic Number Theory",GTM 138,Springer-Verlag,1993.
Claims (12)
- 送信者装置,委託装置,受託装置,プロキシ装置を含むプロキシ暗号システムであって,
(1)共通パラメータ生成アルゴリズムSetup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズム,
(2)鍵生成アルゴリズムGen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズム,
(3)暗号化アルゴリズムEnc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズム,
(4)復号アルゴリズムDec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを得るアルゴリズム,
(5)変換鍵生成アルゴリズムReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,受託装置の暗号化鍵ekBを入力として,変換鍵rkA→Bを出力する確率的アルゴリズム,
(6)変換アルゴリズムReEnc:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B,委託装置の公開鍵ekAを用いて生成された暗号文cAを入力として,受託装置の復号鍵dkBで復号可能な暗号文cBを出力する確率的アルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に基づくプロキシ暗号アルゴリズムπ=(SETUP; GEN; ENC; DEC; REKEYGEN; REENC)を,
(1)SETUP:
セキュリティパラメータκを入力として,pp←Setup(κ)を求め,Hを変換回数の最大として,PP=(pp,H)を出力するアルゴリズム,
(2)GEN:
セキュリティパラメータκとPP=(pp,H)を入力として,η=0,…,Hについて,(ek(η),dk(η))←Gen(κ,pp)を求め,暗号化鍵の組EK=(ek(0),…,ek(H))と復号鍵の組DK=(dk(0),…,dk(H))を出力するアルゴリズム,
(3)ENC:
セキュリティパラメータκ,PP=(pp,H),暗号化鍵の組EK=(ek(0),…,ek(H)),レベルη,平文mを入力として,c←Enc(κ,pp,ek(η),m)を求め,ct=(η,c)を暗号文として出力するアルゴリズム,
(4)DEC:
セキュリティパラメータκ,PP=(pp,H),復号鍵の組DK=(dk(0),…,dk(H)),暗号文(η,c)を入力として,m’←Dec(κ,pp,dk(η),c)を求め,復号された平文としてm’を出力するアルゴリズム,
(5)REKEYGEN:
セキュリティパラメータκ,PP=(pp,H),委託装置の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,rk(A,h)→(B,h+1)←ReKeyGen(κ,pp,dkA (h),ekB (h+1))を計算し,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力するアルゴリズム,
(6)REENC:
セキュリティパラメータκ,PP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),暗号文ct=(η,c)を入力として,c’←ReEnc(κ,pp,rk(A,η)→(B,η+1),c)を求め,(η+1,c’)を変換済暗号文として出力するアルゴリズム,
として,
送信者装置は,
上記SETUPアルゴリズムを実行する設定部と,
EK=(ek(0),…,ek(H))として委託装置の暗号化鍵の組EKA=(ekA (0),…,ekA (H))を用いて上記ENCアルゴリズムを実行する暗号化部と
を含み,
委託装置は,
上記GENアルゴリズムを実行して,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を得る鍵生成部と,
上記REKEYGENを実行する変換鍵生成部と
を含み,
受託装置は,
上記GENアルゴリズムを実行して,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を得る鍵生成部と,
DK=(dk(0),…,dk(H))として受託装置の復号鍵の組DKB=(dkB (0),…,dkB (H))用い,暗号文(η,c)として変換済暗号文(η+1,c’)を用いて上記DECを実行する復号部とを含み,
プロキシ装置は,
上記REENCを実行する変換暗号文生成部
を含むプロキシ暗号システム。 - 請求項1に記載のプロキシ暗号システムにおいて,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,(1)Setup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズム,
(2)Gen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズム,
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを得るアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,平文mとしての受託装置の暗号化鍵ekBを入力として,cA→B←Enc(κ,pp,ekB,dkA)を求め,rkA→B=(cA→B,ekB)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B,暗号文cを入力として,c”←Eval(κ,pp,ekB,Dec,(cA→B,Enc(κ,pp,ekB,c)))を求め,c”を暗号文として出力するアルゴリズム(ただし,アルゴリズムEvalは,κ,pp,ek,論理回路C,任意のn個の暗号文の組c→=(c1,…,cn)を入力として,完全準同型公開鍵暗号アルゴリズムに基づく暗号文を求めるアルゴリズムである),
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号システム。 - 請求項1に記載のプロキシ暗号システムにおいて,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
アルゴリズムBDを,x→∈Zq nを入力として,k=1,…,δについて,u→ k∈{0,1}nを,x→=Σk=1 δ2k-1u→ kを満たすように求め,(u→ 1,…,u→ δ)∈{0,1}nδを出力するアルゴリズム,
アルゴリズムP2を,s→∈Zn qを入力とする場合には,[1,2,…,2δ-1]T(×)s→∈Zq nδを出力するアルゴリズムPを実行し((×)は行列のクロネッカー積を表す),行列S=[s→ 1,…,s→ g]を入力とする場合には,[P(s→ 1),…,P(s→ g)]∈Zq nδ×gなる行列を出力するアルゴリズム,
として,
(1)Setup:
AをZq m×nからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,A)を出力するアルゴリズム,
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力として,SをZq n×nからランダムに選び,E∈Zq m×nを分布DΧ nに従って選び,B=A・S+2Eを求め,暗号化鍵ek=Bと復号鍵dk=(S,B)を出力するアルゴリズム(以下,M=[A|B]∈Zq m×2n,S^=(-S|I)∈Zq 2n×nと表記する),
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,ek=B,m→∈{0,1}nを入力として,r→←{-1,+1}mをランダムに選び,(u→,v→)=(r→A,r→B)を求め,さらに(u→,c→)=(u→,v→+m→)を求め,(u→,c→)を暗号文として出力するアルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,dk=(S,B),暗号文(u→,c→)を入力として,d→←(u→,c→)S^ mod qを求め,さらにm→←d→ mod 2によって平文m→を出力するアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,dkA=(SA,BA)とekB=BBを入力として,R←{-1,+1}nδ×mをランダムに選び,MB=[A|BB]として,MA→B←RMB+[O|-P2(SA)]を求め,変換鍵rkA→B=(MA→B,BB)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B=(MA→B,BB),暗号文(u→,c→)を入力として,(u→’,c→’)←BD(u→)・MA→Bを求め,r→~←{-1,+1}mをランダムに選び,(u→~,v→~)←r→~・[A|BB]を求め,(u→-,c→-)←(u→’+u→~,c→+c→’+v→~)を求め,変換済暗号文として(u→-,c→-)を出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号システム。 - 請求項1に記載のプロキシ暗号システムにおいて,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
k(κ)を整数関数,n(κ)=2k(κ),f(x)=xn+1,q=q(κ)を素数,環R=Z[x]/(f(x))とし,Rq=R/qR,δを2δ-1<q<2δを満たす整数とし,
アルゴリズムBDを,x∈Rqを入力とし,k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように求め,(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力するアルゴリズム,
アルゴリズムP2を,s∈Rqを入力として,[1,2s,…,2δ-1s]T∈Rq δを出力するアルゴリズム,
として,
(1)Setup:
a→をRq mからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,a→)を出力するアルゴリズム,
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力として,sをRqからランダムに選び,e→←DΧ mを選び,b→←sa→+2e→∈Rq mを求め,暗号化鍵ek=b→と復号鍵dk=(s,b→)を出力するアルゴリズム(以下,M=[a→|b→]∈Rq m×2,s→^=(-s,1)∈Rq 2と表記する),
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,ek=b→,m∈{0,1}n⊆Rqを入力として,r→←({-1,+1}n)mをランダムに選び,(u,v)=(r→・a→,r→・b→)を求め,さらに(u,c)=(u,v+m)を求め,(u,c)を暗号文として出力するアルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,dk=(s,b→),(u,c)を入力として,d←(u,c) s→^ mod q を求め,m←d mod 2によって平文mを出力するアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,dkA=(sA,b→ A)とekB=b→ Bを入力として,R←({-1,+1}n)δ×mをランダムに選び,MB=[a→|b→ B]として,MA→B←RMB+[0→|-P2(sA)]を求め,変換鍵rkA→B=(MA→B,b→ B)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B=(MA→B,b→ B),暗号文(u,c)を入力として,(u’,c’)←BD(u)・MA→Bを求め,r→~←({-1,+1}n)mをランダムに選び,(u~,v~)←r→~・[a→|b→ B]を求め,(u-,c-)←(u’+u~,c+c’+v~)を求め,変換済暗号文として(u-,c-)を出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号システム。 - 請求項1に記載のプロキシ暗号システムにおいて,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
k(κ)を整数関数,n(κ)=2k(κ),f(x)=xn+1,q=q(κ)を素数,環R=Z[x]/(f(x))とし,Rq=R/qR,δを2δ-1<q<2δを満たす整数とし,
アルゴリズムBDを,x∈Rqを入力とし,k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように求め,(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力するアルゴリズム,
アルゴリズムP2を,s∈Rqを入力として,[1,2s,…,2δ-1s]T∈Rq δを出力するアルゴリズム,
として,
(1)Setup:
a←Rq,共通パラメータpp=(κ,n,q,DΧ,a)を出力するアルゴリズム,
(2)Gen:
共通パラメータppを入力として,s,e←DΧとし,b←as+2eを求め,ek=b,dk=(s,b)を出力するアルゴリズム,
(3)Enc:
共通パラメータpp,ek=b,m∈{0,1}n∈Rqを入力として,t,e’,e”←DΧを選び,(u,c)←(at+2e’,bt+2e”+m)として暗号文(u,c)を出力するアルゴリズム,
(4)Dec:
共通パラメータpp,暗号文(u,c)を入力として,d=c-us mod qを求め,m=d mod 2によって平文mを出力するアルゴリズム,
(5)ReKeyGen:
共通パラメータpp,ekB=bB,dkA=(sA,bA)を入力として,r→,h→,h→’←DΧ δを選び,f→←ar→+2h→,g→←br→+2h→’+P2(sA)として,変換鍵rkA→B=(f→,g→,bB)を出力するアルゴリズム,
(6)ReEnc:
pp,rkA→B=(f→,g→,bB),暗号文(u,c)を入力として,(u’,c’)=BD(u)・[f→,g→]を求め,t’,f’,f”←DΧを選び,(u~,v~)=(at’+2f’,bBt’+2f”)を求め,(u-,c-)=(u’+u~,c+c’+v~)を求め,(u-,c-)を暗号文として出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号システム。 - 送信者装置,委託装置,受託装置,プロキシ装置を含むプロキシ暗号システムにおけるプロキシ暗号方法であって,
(1)共通パラメータ生成アルゴリズムSetup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズム,
(2)鍵生成アルゴリズムGen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズム,
(3)暗号化アルゴリズムEnc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズム,
(4)復号アルゴリズムDec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを得るアルゴリズム,
(5)変換鍵生成アルゴリズムReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,受託装置の暗号化鍵ekBを入力として,変換鍵rkA→Bを出力する確率的アルゴリズム,
(6)変換アルゴリズムReEnc:
セキュリティパラメータκ,共通パラメータpp,変換鍵rkA→B,委託装置の公開鍵ekAを用いて生成された暗号文cAを入力として,受託装置の復号鍵dkBで復号可能な暗号文cBを出力する確率的アルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に基づくプロキシ暗号アルゴリズムπ=(SETUP; GEN; ENC; DEC; REKEYGEN; REENC)を,
(1)SETUP:
セキュリティパラメータκを入力として,pp←Setup(κ)を求め,Hを変換回数の最大として,PP=(pp,H)を出力するアルゴリズム,
(2)GEN:
セキュリティパラメータκとPP=(pp,H)を入力として,η=0,…,Hについて,(ek(η),dk(η))←Gen(κ,pp)を求め,暗号化鍵の組EK=(ek(0),…,ek(H))と復号鍵の組DK=(dk(0),…,dk(H))を出力するアルゴリズム,
(3)ENC:
セキュリティパラメータκ,PP=(pp,H),暗号化鍵の組EK=(ek(0),…,ek(H)),レベルη,平文mを入力として,c←Enc(κ,pp,ek(η),m)を求め,ct=(η,c)を暗号文として出力するアルゴリズム,
(4)DEC:
セキュリティパラメータκ,PP=(pp,H),復号鍵の組DK=(dk(0),…,dk(H)),暗号文(η,c)を入力として,m’←Dec(κ,pp,dk(η),c)を求め,復号された平文としてm’を出力するアルゴリズム,
(5)REKEYGEN:
セキュリティパラメータκ,PP=(pp,H),委託装置の復号鍵の組DKA=(dkA (0),…,dkA (H)),受託装置の暗号化鍵の組EKB=(ekB (0),…,ekB (H))を入力として,h=0,…,H-1について,rk(A,h)→(B,h+1)←ReKeyGen(κ,pp,dkA (h),ekB (h+1))を計算し,RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H))を変換鍵として出力するアルゴリズム,
(6)REENC:
セキュリティパラメータκ,PP=(pp,H),変換鍵RKA→B=(rk(A,0)→(B,1),…,rk(A,H-1)→(B,H)),暗号文ct=(η,c)を入力として,c’←ReEnc(κ,pp,rk(A,η)→(B,η+1),c)を求め,(η+1,c’)を変換済暗号文として出力するアルゴリズム,
として,
送信者装置の設定部が,上記SETUPアルゴリズムを実行するステップと,
委託装置の鍵生成部が,上記GENアルゴリズムを実行して,暗号化鍵の組EKA=(ekA (0),…,ekA (H))と復号鍵の組DKA=(dkA (0),…,dkA (H))を得るステップと,
受託装置の鍵生成部が,上記GENアルゴリズムを実行して,暗号化鍵の組EKB=(ekB (0),…,ekB (H))と復号鍵の組DKB=(dkB (0),…,dkB (H))を得るステップと,
送信者装置の暗号化部が,EK=(ek(0),…,ek(H))として委託装置の暗号化鍵の組EKA=(ekA (0),…,ekA (H))を用いて上記ENCアルゴリズムを実行するステップと,
委託装置の変換鍵生成部が,上記REKEYGENを実行するステップと,
プロキシ装置の変換暗号文生成部が,上記REENCを実行するステップと,
受託装置の復号部が,DK=(dk(0),…,dk(H))として受託装置の復号鍵の組DKB=(dkB (0),…,dkB (H))用い,暗号文(η,c)として変換済暗号文(η+1,c’)を用いて上記DECを実行するステップと
を有するプロキシ暗号方法。 - 請求項6に記載のプロキシ暗号方法において,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,(1)Setup:
セキュリティパラメータκを入力として,共通パラメータppを出力する確率的アルゴリズム,
(2)Gen:
セキュリティパラメータκと共通パラメータppを入力として,暗号化鍵と復号鍵の組(ek,dk)を出力する確率的アルゴリズム,
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,暗号化鍵ek,平文mを入力として,乱数rを任意に選択し,暗号文cを出力する確率的アルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,復号鍵dk,暗号文cを入力として,平文mを得るアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,委託装置の復号鍵dkA,平文mとしての受託装置の暗号化鍵ekBを入力として,cA→B←Enc(κ,pp,ekB,dkA)を求め,rkA→B=(cA→B,ekB)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B,暗号文cを入力として,c”←Eval(κ,pp,ekB,Dec,(cA→B,Enc(κ,pp,ekB,c)))を求め,c”を暗号文として出力するアルゴリズム(ただし,アルゴリズムEvalは,κ,pp,ek,論理回路C,任意のn個の暗号文の組c→=(c1,…,cn)を入力として,完全準同型公開鍵暗号アルゴリズムに基づく暗号文を求めるアルゴリズムである),
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号方法。 - 請求項6に記載のプロキシ暗号方法において,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
アルゴリズムBDを,x→∈Zq nを入力として,k=1,…,δについて,u→ k∈{0,1}nを,x→=Σk=1 δ2k-1u→ kを満たすように求め,(u→ 1,…,u→ δ)∈{0,1}nδを出力するアルゴリズム,
アルゴリズムP2を,s→∈Zn qを入力とする場合には,[1,2,…,2δ-1]T(×)s→∈Zq nδを出力するアルゴリズムPを実行し((×)は行列のクロネッカー積を表す),行列S=[s→ 1,…,s→ g]を入力とする場合には,[P(s→ 1),…,P(s→ g)]∈Zq nδ×gなる行列を出力するアルゴリズム,
として,
(1)Setup:
AをZq m×nからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,A)を出力するアルゴリズム,
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力として,SをZq n×nからランダムに選び,E∈Zq m×nを分布DΧ nに従って選び,B=A・S+2Eを求め,暗号化鍵ek=Bと復号鍵dk=(S,B)を出力するアルゴリズム(以下,M=[A|B]∈Zq m×2n,S^=(-S|I)∈Zq 2n×nと表記する),
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,ek=B,m→∈{0,1}nを入力として,r→←{-1,+1}mをランダムに選び,(u→,v→)=(r→A,r→B)を求め,さらに(u→,c→)=(u→,v→+m→)を求め,(u→,c→)を暗号文として出力するアルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,dk=(S,B),暗号文(u→,c→)を入力として,d→←(u→,c→)S^ mod qを求め,さらにm→←d→ mod 2によって平文m→を出力するアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,dkA=(SA,BA)とekB=BBを入力として,R←{-1,+1}nδ×mをランダムに選び,MB=[A|BB]として,MA→B←RMB+[O|-P2(SA)]を求め,変換鍵rkA→B=(MA→B,BB)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B=(MA→B,BB),暗号文(u→,c→)を入力として,(u→’,c→’)←BD(u→)・MA→Bを求め,r→~←{-1,+1}mをランダムに
選び,(u→~,v→~)←r→~・[A|BB]を求め,(u→-,c→-)←(u→’+u→~,c→+c→’+v→~)を求め,変換済暗号文として(u→-,c→-)を出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号方法。 - 請求項6に記載のプロキシ暗号方法において,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
k(κ)を整数関数,n(κ)=2k(κ),f(x)=xn+1,q=q(κ)を素数,環R=Z[x]/(f(x))とし,Rq=R/qR,δを2δ-1<q<2δを満たす整数とし,
アルゴリズムBDを,x∈Rqを入力とし,k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように求め,(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力するアルゴリズム,
アルゴリズムP2を,s∈Rqを入力として,[1,2s,…,2δ-1s]T∈Rq δを出力するアルゴリズム,
として,
(1)Setup:
a→をRq mからランダムに選び,共通パラメータpp=(1κ,n,q,m,DΧ,a→)を出力するアルゴリズム,
(2)Gen:
セキュリティパラメータκ,共通パラメータppを入力として,sをRqからランダムに選び,e→←DΧ mを選び,b→←sa→+2e→∈Rq mを求め,暗号化鍵ek=b→と復号鍵dk=(s,b→)を出力するアルゴリズム(以下,M=[a→|b→]∈Rq m×2,s→^=(-s,1)∈Rq 2と表記する),
(3)Enc:
セキュリティパラメータκ,共通パラメータpp,ek=b→,m∈{0,1}n⊆Rqを入力として,r→←({-1,+1}n)mをランダムに選び,(u,v)=(r→・a→,r→・b→)を求め,さらに(u,c)=(u,v+m)を求め,(u,c)を暗号文として出力するアルゴリズム,
(4)Dec:
セキュリティパラメータκ,共通パラメータpp,dk=(s,b→),(u,c)を入力として,d←(u,c) s→^ mod q を求め,m←d mod 2によって平文mを出力するアルゴリズム,
(5)ReKeyGen:
セキュリティパラメータκ,共通パラメータpp,dkA=(sA,b→ A)とekB=b→ Bを入力として,R←({-1,+1}n)δ×mをランダムに選び,MB=[a→|b→ B]として,MA→B←RMB+[0→|-P2(sA)]を求め,変換鍵rkA→B=(MA→B,b→ B)を出力するアルゴリズム,
(6)ReEnc:
セキュリティパラメータκ,共通パラメータpp,rkA→B=(MA→B,b→ B),暗号文(u,c)を入力として,(u’,c’)←BD(u)・MA→Bを求め,r→~←({-1,+1}n)mをランダムに選び,(u~,v~)←r→~・[a→|b→ B]を求め,(u-,c-)←(u’+u~,c+c’+v~)を求め,変換済暗号文として(u-,c-)を出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号システム。 - 請求項6に記載のプロキシ暗号方法において,
上記再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)に替えて,再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)を,
k(κ)を整数関数,n(κ)=2k(κ),f(x)=xn+1,q=q(κ)を素数,環R=Z[x]/(f(x))とし,Rq=R/qR,δを2δ-1<q<2δを満たす整数とし,
アルゴリズムBDを,x∈Rqを入力とし,k=1,…,δについて,uk∈{0,1}n⊆Rqを,x=Σk=1 δ2k-1ukを満たすように求め,(u1,…,uδ)∈{0,1}nδ⊆Rq δを出力するアルゴリズム,
アルゴリズムP2を,s∈Rqを入力として,[1,2s,…,2δ-1s]T∈Rq δを出力するアルゴリズム,
として,
(1)Setup:
a←Rq,共通パラメータpp=(κ,n,q,DΧ,a)を出力するアルゴリズム,
(2)Gen:
共通パラメータppを入力として,s,e←DΧとし,b←as+2eを求め,ek=b,dk=(s,b)を出力するアルゴリズム,
(3)Enc:
共通パラメータpp,ek=b,m∈{0,1}n∈Rqを入力として,t,e’,e”←DΧを選び,(u,c)←(at+2e’,bt+2e”+m)として暗号文(u,c)を出力するアルゴリズム,
(4)Dec:
共通パラメータpp,暗号文(u,c)を入力として,d=c-us mod qを求め,m=d mod 2によって平文mを出力するアルゴリズム,
(5)ReKeyGen:
共通パラメータpp,ekB=bB,dkA=(sA,bA)を入力として,r→,h→,h→’←DΧ δを選び,f→←ar→+2h→,g→←br→+2h→’+P2(sA)として,変換鍵rkA→B=(f→,g→,bB)を出力するアルゴリズム,
(6)ReEnc:
共通パラメータpp,rkA→B=(f→,g→,bB),暗号文(u,c)を入力として,(u’,c’)=BD(u)・[f→,g→]を求め,t’,f’,f”←DΧを選び,(u~,v~)=(at’+2f’,bBt’+2f”)を求め,(u-,c-)=(u’+u~,c+c’+v~)を求め,(u-,c-)を暗号文として出力するアルゴリズム,
で構成される再変換可能暗号アルゴリズムΠ=(Setup; Gen; Enc; Dec; ReKeyGen; ReEnc)とすることを特徴とするプロキシ暗号方法。 - 請求項1から請求項5のいずれかに記載のプロキシ暗号システムに含まれる委託装置。
- 請求項1から請求項5のいずれかに記載のプロキシ暗号システムに含まれるプロキシ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012071881A JP5713947B2 (ja) | 2012-03-27 | 2012-03-27 | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012071881A JP5713947B2 (ja) | 2012-03-27 | 2012-03-27 | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013207387A JP2013207387A (ja) | 2013-10-07 |
JP5713947B2 true JP5713947B2 (ja) | 2015-05-07 |
Family
ID=49526105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012071881A Expired - Fee Related JP5713947B2 (ja) | 2012-03-27 | 2012-03-27 | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5713947B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979536B2 (en) | 2013-10-09 | 2018-05-22 | Mitsubishi Electric Corporation | Cryptographic system, encryption device, re-encryption key generation device, re-encryption device, and cryptographic program |
JP6081036B2 (ja) | 2014-12-05 | 2017-02-15 | 三菱電機株式会社 | 復号条件追加装置及び暗号システム |
JP6363032B2 (ja) * | 2015-02-26 | 2018-07-25 | 株式会社日立情報通信エンジニアリング | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 |
-
2012
- 2012-03-27 JP JP2012071881A patent/JP5713947B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013207387A (ja) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5432736B2 (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP5814880B2 (ja) | 暗号システム、暗号方法、暗号プログラム及び復号装置 | |
JP6194886B2 (ja) | 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム | |
CN102187617B (zh) | 密码系统 | |
JP6522263B2 (ja) | 準同型演算装置、暗号システム及び準同型演算プログラム | |
JP5496756B2 (ja) | 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体 | |
WO2019239776A1 (ja) | 復号装置、暗号化装置及び暗号システム | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
JP2010049213A (ja) | 暗号化装置、復号装置、暗号通信システム、方法及びプログラム | |
JP5713947B2 (ja) | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
JP7119605B2 (ja) | 暗号文変換システム、暗号文変換方法、及びプログラム | |
JP2013213965A (ja) | 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
JP2011040932A (ja) | 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体 | |
JP5038866B2 (ja) | 暗号通信方法、暗号化装置、復号装置、及びそれらのプログラム | |
JP6189788B2 (ja) | 鍵生成装置、再暗号化装置、およびプログラム | |
JP5448801B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体 | |
JP5367023B2 (ja) | 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体 | |
JP5103407B2 (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
WO2017203743A1 (ja) | 暗号化装置、復号装置及び暗号システム | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
JP6228912B2 (ja) | ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5713947 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |