JP5730805B2 - 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 - Google Patents
格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 Download PDFInfo
- Publication number
- JP5730805B2 JP5730805B2 JP2012085734A JP2012085734A JP5730805B2 JP 5730805 B2 JP5730805 B2 JP 5730805B2 JP 2012085734 A JP2012085734 A JP 2012085734A JP 2012085734 A JP2012085734 A JP 2012085734A JP 5730805 B2 JP5730805 B2 JP 5730805B2
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- key
- encryption
- outputs
- inner product
- 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.)
- Active
Links
Images
Description
κをセキュリティパラメータ,dを階層の最大の深さ,μを属性ベクトルの長さ,Lを平文のビット長,n,q,mをそれぞれ格子用のパラメータ,σ1,…,σdを鍵発行用のパラメータ,DΧをZq上の分布,b,k=┌logb q┐,m’=nkをそれぞれサイズ用のパラメータ,g=(1,b,…,bk-1)∈Zq k,gg=gg(x)∈Zq[x]をGF(qn)=Zq[x]/<gg>を定義するモニック既約多項式とし,自然数nについて{1,…,n}を[n]で表し,行列A∈Zq n×mについて格子を
Λq ⊥(A)={z∈Zm:z≡ATs (mod q)となるs∈Zq nが存在する}
とし,
セットアップアルゴリズムSetup(1κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg):
1. (A,T┬)←GenTrap(1κ,q,n,m),
2. δ∈[d]およびi∈[μ]について,Aδ,i←Zq n×m’をランダムに選び,
3. U←Zq n×Lをランダムに選ぶ
ことによって,予め共通パラメータpp=((κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg),A,{Aδ,i},U)とマスター秘密鍵msk=(T┬,pp)が与えられているとして,
鍵発行装置は,
鍵生成アルゴリズムGen(pp,msk,(v^1,…,v^j)):(v^1,…,v^j)を鍵属性ベクトル,1≦j≦dとし,δ∈[j]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μ,Cv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’,F(v^1,…,v^j)=[A|Cv^1|…|Cv^j]∈Zq n×(m+jm’)として,T(v^1,…,v^j)←DelgBasis(T┬,F(v^1,…,v^j),σj),を実行し,秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)を出力する鍵生成部
を含み,
暗号化装置は,
暗号化アルゴリズムEnc(pp,(w^1,…,w^h),m∈{0,1}L):(w^1,…,w^h)を暗号属性ベクトル,Inをn行n列の単位行列,(×)をクロネッカー積とし,δ∈[h]について,w^δ=(wwδ,1,…,wwδ,μ)∈GF(qn)μ,G←In(×)(1,b,…,bk-1)として,
s←Zq nをランダムに選び,e←DΧ mとf←DΧ Lをランダムに選ぶ選択部と,
c0←ATs+eを計算する第1暗号要素計算部と,
δ∈[h]とi∈[μ]について,Rδ,i←{-1,+1}m×m’をランダムに選び,cδ,i←(Aδ,i+H(wwδ,i)・G)Ts+Rδ,i Te∈Zq m’を計算する第2暗号要素計算部と,
c’←UTs+f+└q/2┘mを計算する第3暗号要素計算部と,
を含み,ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)を暗号文として出力する暗号文生成部と,
を含み,
復号装置は,
復号アルゴリズムDec(pp,dk(v^1,…,v^j),ct):
秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)と暗号文ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)から,
δ∈[j]についてcv^δ←Σi=1 μHg(vvδ,i)・cδ,iを計算する第1計算部と,
c←[c0|cv^1|…|cv^j]として,s←Invert(F(v^1,…,v^j),T(v^1,…,v^j),c)を計算する第2計算部と,
d←c’-UTsを計算する第3計算部と,
を含み,(2/q)dの各要素を一番近い整数に丸め,各々偶奇を0/1と対応させた結果,得られたベクトルを復号された平文m∈{0,1}Lとして出力する復号部と
を含む階層型内積暗号システムを構成する。
ただし,
GenTrap(1κ,q,n,m):
行列A∈Zq n×m,Λq ⊥(A)の基底Tの組(A,T)∈Zq n×m×Zm×mを出力するアルゴリズムであり,
Invert(A,T,c):
TがΛq ⊥(A)の基底であるときc=ATs+eとなるs∈Zq nを出力するアルゴリズムであり,
Hgを,Hg:GF(qn)→Zq nk×nk,Hg(aa)=Dg(H(aa))∈Bnk×nk⊆Zq nk×nkと定義し,
正整数b≧2について,B={0,1,…,b-1}⊆Zq,g=(1,b,…,bk-1)∈Zq k,q≦bkが成立しているとして,a∈Zqについて,dg(a)=(a1,…,ak)T∈Bkを,a=Σi=1 kai・bi-1となるような関数として定義し,
Dgを,Dg:Zq→Bk×k,a → [dg(a)dg(ba)…dg(bk-1a)]∈Bk×kと定義し,
行列A={ai,j}∈Zq n×mについてDgの定義域を拡張したものを
と定義し,
ηを,η:GF(qn)→Zq n,aa=a0+a1X+…+an-1Xn-1 → (a0,…,an-1)Tと定義し,
Hを,H:GF(qn)→Zq n×n,aa=a0+a1X+…+an-1Xn-1 → [η(aa)η(aX)…η(aXn-1)]と定義している。
鍵生成アルゴリズムDelg(pp,dk(v^1,…,v^j),(v^j+1,…,v^s)):
dk(v^1,…,v^j)=T(v^1,…,v^j),δ∈[s]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μとして,
δ∈[s]についてCv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’とし,F(v^1,…,v^j,v^j+1,…,v^s)=[A|Cv^1|…|Cv^s]∈Zq n×(m+sm’)として,T(v^1,…,v^j,v^j+1,…,v^s)←DelgBasis(T(v^1,…,v^j),F(v^1,…,v^j),σs)を実行し,dk(v^1,…,v^s)=T(v^1,…,v^s)を出力する鍵生成部をさらに含んでもよい。
ただし,
ExtBasis(T,A^=[A|C]):
TがΛq ⊥(A)の基底であるとき,Λq ⊥(A^)の基底T’を出力するアルゴリズムであり,
RandBasis(S,s):
Sが格子Λq ⊥(A)の基底であるとき,格子Λq ⊥(A)のランダムな基底S’を出力するアルゴリズムであり,
DelgBasis(T,A^=[A|C],s):
TがΛq ⊥(A)の基底であるとき,A^に対応する行列T’を出力するアルゴリズムであり,S←ExtBasis(T,A^),T’←RandBasis(S,s)で与えられる。
自然数nについて{1,…,n}を[n]で表す。行列A∈Zq n×mについて格子を
Λq ⊥(A)={z∈Zm:z≡ATs (mod q)となるs∈Zq nが存在する}
で定義する。行列やベクトルの右肩の記号Tは転置を表す。
(1)GenTrap(1κ,q,n,m):
(A,T)∈Zq n×m×Zm×mを出力するアルゴリズムである。TはΛq ⊥(A)の基底である。この具体例は,参考文献1,参考文献2,参考文献3に記載されている。
(参考文献1)Craig Gentry, Chris Peikert, and Vinod Vaikuntanathan. Trapdoors for hard lattices and new cryptographic constructions. In Richard E. Ladner and Cynthia Dwork, editors, STOC 2008, pages 197-206. ACM, 2008.
(参考文献2)Joel Alwen and Chris Peikert. Generating shorter bases for hard random lattices. In Susanne Albers and Jean-Yves Marion, editors, STACS 2009, volume 3 of LIPIcs, pages 75-86, Germany, 2009.
Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany
(参考文献3)Daniele Micciancio and Chris Peikert. Trapdoors for lattices: Simpler, tighter, faster, smaller. Cryptology ePrint Archive, Report 2011/501, 2011. To appear in EUROCRYPT 2012. Available at http://eprint.iacr.org/2011/501.
(2)ExtBasis(T,A^=[A|C]):
TがΛq ⊥(A)の基底であるとき,Λq ⊥(A^)の基底T’を出力するアルゴリズムである。具体例は参考文献4に記載されている。
(参考文献4)David Cash, Dennis Hofheinz, Eike Kiltz, and Chris Peikert. Bonsai trees, or how to delegate a lattice basis. In Gilbert [6], pages 523-552.
(3)RandBasis(S,s):
Sが格子Λq ⊥(A)の基底であるとき,格子Λq ⊥(A)のランダムな基底S’を出力するアルゴリズムである。具体例は参考文献4に記載されている。
(4)Invert(A,T,c):
TがΛq ⊥(A)の基底であるときc=ATs+eとなるs∈Zq nを出力するアルゴリズムである。
(5)DelgBasis(T,A^=[A|C],s):
TがΛq ⊥(A)の基底であるとき,A^に対応する行列T’を出力するアルゴリズムである。具体的には,
1. S←ExtBasis(T,A^)とする。
2. T’←RandBasis(S,s)を出力する。
まず,写像ηを,η:GF(qn)→Zq n,aa=a0+a1X+…+an-1Xn-1 → (a0,…,an-1)Tで定義する。
次に,写像Hを,H:GF(qn)→Zq n×n,aa=a0+a1X+…+an-1Xn-1 → [η(aa)η(aaX)…η(aaXn-1)]で定義する。
上述の準備に基づいて,階層型内積暗号Π=(Setup; Gen; Enc; Dec; Delg)を構成する。
階層型内積暗号Π=(Setup; Gen; Enc; Dec; Delg)に基づく階層型内積暗号システム1は,鍵発行装置100と,暗号化装置200と,復号装置300を含む。
=パラメータの説明=
κ: セキュリティパラメータ
d: 階層の最大の深さを設定するパラメータ
μ: 属性ベクトルの長さ
L: 平文のビット長
n,q,m: 格子用のパラメータ。ただし,qは素数である。
σ1,…,σd: 鍵発行用のパラメータ
DΧ: 体Zq上の分布
b,k=┌logb q┐,m’=nk: サイズ用パラメータ(記号┌・┐は天井関数を表す)
(1,b,…,bk-1)∈Zq k
gg=gg(x)∈Zq[x]: GF(qn)=Zq[x]/<gg>を定義するモニック既約多項式
1. (A,T┬)←GenTrap(1κ,q,n,m)
2. δ∈[d]およびi∈[μ]について,Aδ,i←Zq n×m’をランダムに選ぶ。
3. U←Zq n×Lをランダムに選ぶ。
そして,pp=((κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg),A,{Aδ,i},U)とmsk=(T┬,pp)を出力する。
1. δ∈[j]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μとよみ,Cv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’とおく。
2. F(v^1,…,v^j)=[A|Cv^1|…|Cv^j]∈Zq n×(m+jm’)とおく。
3. 鍵発行装置100の鍵生成部101は,T(v^1,…,v^j)←DelgBasis(T┬,F(v^1,…,v^j),σj)とする。
そして,dk(v^1,…,v^j)=T(v^1,…,v^j)を出力する。
δ∈[h]について,w^δ=(wwδ,1,…,wwδ,μ)∈GF(qn)μとする。
1. G←In(×)(1,b,…,bk-1)とおく。Inはn行n列の単位行列である。(×)はクロネッカー積を表す。
2. 暗号化装置200の選択部201は,s←Zq nをランダムに選ぶ。
3. 暗号化装置200の選択部201は,e←DΧ mとf←DΧ Lをランダムに選択する。
4. 暗号化装置200の第1暗号要素計算部202aは,c0←ATs+eを計算する。
5. 暗号化装置200の第2暗号要素計算部202bは,δ∈[h]とi∈[μ]について,Rδ,i←{-1,+1}m×m’をランダムに選び,cδ,i←(Aδ,i+H(wwδ,i)・G)Ts+Rδ,i Te∈Zq m’を計算する。
6. 暗号化装置200の第3暗号要素計算部202cは,c’←UTs+f+└q/2┘mを計算する(記号└・┘は床関数を表す)。
そして,暗号文生成部202は,ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)を出力する。
dk(v^1,…,v^j)=T(v^1,…,v^j)と暗号文ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)から,
1. 復号装置300の第1計算部301aは,δ∈[j]についてcv^δ←Σi=1 μHg(vvδ,i)・cδ,iを計算する。
2. c←[c0|cv^1|…|cv^j]とおく。
3. 復号装置300の第2計算部301bは,s←Invert(F(v^1,…,v^j),T(v^1,…,v^j),c)を計算する。
4. 復号装置300の第3計算部301cは,d←c’-UTsを計算する。
5. 復号装置300の復号部301は,(2/q)dの各要素を一番近い整数に丸め,各々偶奇を0/1と対応させる。この結果,得られたベクトルをm∈{0,1}Lとして出力する。
dk(v^1,…,v^j)=T(v^1,…,v^j)である。δ∈[s]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μとする。
1. δ∈[s]についてCv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’とおく。
2. F(v^1,…,v^j,v^j+1,…,v^s)=[A|Cv^1|…|Cv^s]∈Zq n×(m+sm’)とおく。
3. 復号装置300の鍵生成部302は,T(v^1,…,v^j,v^j+1,…,v^s)←DelgBasis(T(v^1,…,v^j),F(v^1,…,v^j),σs)とする。
そして,dk(v^1,…,v^s)=T(v^1,…,v^s)を出力する。
階層型内積暗号システムに含まれうるハードウェアエンティティ(鍵発行装置,暗号化装置,復号装置)は,キーボードなどが接続可能な入力部,液晶ディスプレイなどが接続可能な出力部,ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部,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 (7)
- 鍵発行装置と,暗号化装置と,復号装置とを含み,格子問題に基づく階層型内積暗号システムであって,
κをセキュリティパラメータ,dを階層の最大の深さ,μを属性ベクトルの長さ,Lを平文のビット長,n,q,mをそれぞれ格子用のパラメータ,σ1,…,σdを鍵発行用のパラメータ,DΧをZq上の分布,b,k=┌logb q┐,m’=nkをそれぞれサイズ用のパラメータ,g=(1,b,…,bk-1)∈Zq k,gg=gg(x)∈Zq[x]をGF(qn)=Zq[x]/<gg>を定義するモニック既約多項式とし,自然数nについて{1,…,n}を[n]で表し,行列A∈Zq n×mについて格子を
Λq ⊥(A)={z∈Zm:z≡ATs (mod q)となるs∈Zq nが存在する}
とし,
セットアップアルゴリズムSetup(1κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg):
1. (A,T┬)←GenTrap(1κ,q,n,m),
2. δ∈[d]およびi∈[μ]について,Aδ,i←Zq n×m’をランダムに選び,
3. U←Zq n×Lをランダムに選ぶ
ことによって,予め共通パラメータpp=((κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg),A,{Aδ,i},U)とマスター秘密鍵msk=(T┬,pp)が与えられているとして,
鍵発行装置は,
鍵生成アルゴリズムGen(pp,msk,(v^1,…,v^j)):(v^1,…,v^j)を鍵属性ベクトル,1≦j≦dとし,δ∈[j]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μ,Cv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’,F(v^1,…,v^j)=[A|Cv^1|…|Cv^j]∈Zq n×(m+jm’)として,T(v^1,…,v^j)←DelgBasis(T┬,F(v^1,…,v^j),σj),を実行し,秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)を出力する鍵生成部
を含み,
暗号化装置は,
暗号化アルゴリズムEnc(pp,(w^1,…,w^h),m∈{0,1}L):(w^1,…,w^h)を暗号属性ベクトル,Inをn行n列の単位行列,(×)をクロネッカー積とし,δ∈[h]について,w^δ=(wwδ,1,…,wwδ,μ)∈GF(qn)μ,G←In(×)(1,b,…,bk-1)として,
s←Zq nをランダムに選び,e←DΧ mとf←DΧ Lをランダムに選ぶ選択部と,
c0←ATs+eを計算する第1暗号要素計算部と,
δ∈[h]とi∈[μ]について,Rδ,i←{-1,+1}m×m’をランダムに選び,cδ,i←(Aδ,i+H(wwδ,i)・G)Ts+Rδ,i Te∈Zq m’を計算する第2暗号要素計算部と,
c’←UTs+f+└q/2┘mを計算する第3暗号要素計算部と,
を含み,ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)を暗号文として出力する暗号文生成部と,
を含み,
復号装置は,
復号アルゴリズムDec(pp,dk(v^1,…,v^j),ct):
秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)と暗号文ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)から,
δ∈[j]についてcv^δ←Σi=1 μHg(vvδ,i)・cδ,iを計算する第1計算部と,
c←[c0|cv^1|…|cv^j]として,s←Invert(F(v^1,…,v^j),T(v^1,…,v^j),c)を計算する第2計算部と,
d←c’-UTsを計算する第3計算部と,
を含み,(2/q)dの各要素を一番近い整数に丸め,各々偶奇を0/1と対応させた結果,得られたベクトルを復号された平文m∈{0,1}Lとして出力する復号部と
を含む階層型内積暗号システム。
ただし,
GenTrap(1κ,q,n,m):
行列A∈Zq n×m,Λq ⊥(A)の基底Tの組(A,T)∈Zq n×m×Zm×mを出力するアルゴリズムであり,
Invert(A,T,c):
TがΛq ⊥(A)の基底であるときc=ATs+eとなるs∈Zq nを出力するアルゴリズムであり,
Hgを,Hg:GF(qn)→Zq nk×nk,Hg(aa)=Dg(H(aa))∈Bnk×nk⊆Zq nk×nkと定義し,
正整数b≧2について,B={0,1,…,b-1}⊆Zq,g=(1,b,…,bk-1)∈Zq k,q≦bkが成立しているとして,a∈Zqについて,dg(a)=(a1,…,ak)T∈Bkを,a=Σi=1 kai・bi-1となるような関数として定義し,
Dgを,Dg:Zq→Bk×k,a → [dg(a)dg(ba)…dg(bk-1a)]∈Bk×kと定義し,
行列A={ai,j}∈Zq n×mについてDgの定義域を拡張したものを
と定義し,
ηを,η:GF(qn)→Zq n,aa=a0+a1X+…+an-1Xn-1 → (a0,…,an-1)Tと定義し,
Hを,H:GF(qn)→Zq n×n,aa=a0+a1X+…+an-1Xn-1 → [η(aa)η(aX)…η(aXn-1)]と定義している。 - 請求項1に記載の階層型内積暗号システムにおいて,
復号装置は,
鍵生成アルゴリズムDelg(pp,dk(v^1,…,v^j),(v^j+1,…,v^s)):
dk(v^1,…,v^j)=T(v^1,…,v^j),δ∈[s]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μとして,
δ∈[s]についてCv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’とし,F(v^1,…,v^j,v^j+1,…,v^s)=[A|Cv^1|…|Cv^s]∈Zq n×(m+sm’)として,T(v^1,…,v^j,v^j+1,…,v^s)←DelgBasis(T(v^1,…,v^j),F(v^1,…,v^j),σs)を実行し,dk(v^1,…,v^s)=T(v^1,…,v^s)を出力する鍵生成部
をさらに含むことを特徴とする階層型内積暗号システム。
ただし,
ExtBasis(T,A^=[A|C]):
TがΛq ⊥(A)の基底であるとき,Λq ⊥(A^)の基底T’を出力するアルゴリズムであり,
RandBasis(S,s):
Sが格子Λq ⊥(A)の基底であるとき,格子Λq ⊥(A)のランダムな基底S’を出力するアルゴリズムであり,
DelgBasis(T,A^=[A|C],s):
TがΛq ⊥(A)の基底であるとき,A^に対応する行列T’を出力するアルゴリズムであり,S←ExtBasis(T,A^),T’←RandBasis(S,s)で与えられる。 - 鍵発行装置と,暗号化装置と,復号装置とを含み,格子問題に基づく階層型内積暗号システムにおける階層型内積暗号方法であって,
κをセキュリティパラメータ,dを階層の最大の深さ,μを属性ベクトルの長さ,Lを平文のビット長,n,q,mをそれぞれ格子用のパラメータ,σ1,…,σdを鍵発行用のパラメータ,DΧをZq上の分布,b,k=┌logb q┐,m’=nkをそれぞれサイズ用のパラメータ,g=(1,b,…,bk-1)∈Zq k,gg=gg(x)∈Zq[x]をGF(qn)=Zq[x]/<gg>を定義するモニック既約多項式とし,自然数nについて{1,…,n}を[n]で表し,行列A∈Zq n×mについて格子を
Λq ⊥(A)={z∈Zm:z≡ATs (mod q)となるs∈Zq nが存在する}
とし,
セットアップアルゴリズムSetup(1κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg):
1. (A,T┬)←GenTrap(1κ,q,n,m),
2. δ∈[d]およびi∈[μ]について,Aδ,i←Zq n×m’をランダムに選び,
3. U←Zq n×Lをランダムに選ぶ
ことによって,予め共通パラメータpp=((κ,d,μ,L,n,q,m,m’,{σi}i∈[d],b,k,gg),A,{Aδ,i},U)とマスター秘密鍵msk=(T┬,pp)が与えられているとして,
鍵発行装置の鍵生成部が,
鍵生成アルゴリズムGen(pp,msk,(v^1,…,v^j)):(v^1,…,v^j)を鍵属性ベクトル,1≦j≦dとし,δ∈[j]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μ,Cv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’,F(v^1,…,v^j)=[A|Cv^1|…|Cv^j]∈Zq n×(m+jm’)として,T(v^1,…,v^j)←DelgBasis(T┬,F(v^1,…,v^j),σj),を実行し,秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)を出力する鍵生成ステップと,
暗号化装置において,
暗号化アルゴリズムEnc(pp,(w^1,…,w^h),m∈{0,1}L):(w^1,…,w^h)を暗号属性ベクトル,Inをn行n列の単位行列,(×)をクロネッカー積とし,δ∈[h]について,w^δ=(wwδ,1,…,wwδ,μ)∈GF(qn)μ,G←In(×)(1,b,…,bk-1)として,
選択部が,s←Zq nをランダムに選び,e←DΧ mとf←DΧ Lをランダムに選ぶ選択ステップと,
第1暗号要素計算部が,c0←ATs+eを計算する第1暗号要素計算ステップと,
第2暗号要素計算部が,δ∈[h]とi∈[μ]について,Rδ,i←{-1,+1}m×m’をランダムに選び,cδ,i←(Aδ,i+H(wwδ,i)・G)Ts+Rδ,i Te∈Zq m’を計算する第2暗号要素計算ステップと,
第3暗号要素計算部が,c’←UTs+f+└q/2┘mを計算する第3暗号要素計算ステップと,
を有し,暗号文生成部が,ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)を暗号文として出力する暗号文生成ステップと,
復号装置において,
復号アルゴリズムDec(pp,dk(v^1,…,v^j),ct):
秘密鍵dk(v^1,…,v^j)=T(v^1,…,v^j)と暗号文ct=(c0,{cδ,i}δ∈[h],i∈[μ],c’)から,
第1計算部が,δ∈[j]についてcv^δ←Σi=1 μHg(vvδ,i)・cδ,iを計算する第1計算ステップと,
第2計算部が,c←[c0|cv^1|…|cv^j]として,s←Invert(F(v^1,…,v^j),T(v^1,…,v^j),c)を計算する第2計算ステップと,
第3計算部が,d←c’-UTsを計算する第3計算ステップと,
を有し,復号部が,(2/q)dの各要素を一番近い整数に丸め,各々偶奇を0/1と対応させた結果,得られたベクトルを復号された平文m∈{0,1}Lとして出力する復号ステップと
を有する階層型内積暗号方法。
ただし,
GenTrap(1κ,q,n,m):
行列A∈Zq n×m,Λq ⊥(A)の基底Tの組(A,T)∈Zq n×m×Zm×mを出力するアルゴリズムであり,
Invert(A,T,c):
TがΛq ⊥(A)の基底であるときc=ATs+eとなるs∈Zq nを出力するアルゴリズムであり,
Hgを,Hg:GF(qn)→Zq nk×nk,Hg(aa)=Dg(H(aa))∈Bnk×nk⊆Zq nk×nkと定義し,
正整数b≧2について,B={0,1,…,b-1}⊆Zq,g=(1,b,…,bk-1)∈Zq k,q≦bkが成立しているとして,a∈Zqについて,dg(a)=(a1,…,ak)T∈Bkを,a=Σi=1 kai・bi-1となるような関数として定義し,
Dgを,Dg:Zq→Bk×k,a → [dg(a)dg(ba)…dg(bk-1a)]∈Bk×kと定義し,
行列A={ai,j}∈Zq n×mについてDgの定義域を拡張したものを
と定義し,
ηを,η:GF(qn)→Zq n,aa=a0+a1X+…+an-1Xn-1 → (a0,…,an-1)Tと定義し,
Hを,H:GF(qn)→Zq n×n,aa=a0+a1X+…+an-1Xn-1 → [η(aa)η(aX)…η(aXn-1)]と定義している。 - 請求項3に記載の階層型内積暗号方法において,
復号装置において,
鍵生成アルゴリズムDelg(pp,dk(v^1,…,v^j),(v^j+1,…,v^s)):
dk(v^1,…,v^j)=T(v^1,…,v^j),δ∈[s]について,v^δ=(vvδ,1,…,vvδ,μ)∈GF(qn)μとして,
鍵生成部が,δ∈[s]についてCv^δ=Σi=1 μAδ,i・Hg(vvδ,i)∈Zq n×m’とし,F(v^1,…,v^j,v^j+1,…,v^s)=[A|Cv^1|…|Cv^s]∈Zq n×(m+sm’)として,T(v^1,…,v^j,v^j+1,…,v^s)←DelgBasis(T(v^1,…,v^j),F(v^1,…,v^j),σs)を実行し,dk(v^1,…,v^s)=T(v^1,…,v^s)を出力する鍵生成ステップ
をさらに有することを特徴とする階層型内積暗号方法。
ただし,
ExtBasis(T,A^=[A|C]):
TがΛq ⊥(A)の基底であるとき,Λq ⊥(A^)の基底T’を出力するアルゴリズムであり,
RandBasis(S,s):
Sが格子Λq ⊥(A)の基底であるとき,格子Λq ⊥(A)のランダムな基底S’を出力するアルゴリズムであり,
DelgBasis(T,A^=[A|C],s):
TがΛq ⊥(A)の基底であるとき,A^に対応する行列T’を出力するアルゴリズムであり,S←ExtBasis(T,A^),T’←RandBasis(S,s)で与えられる。 - 請求項1または請求項2に記載の階層型内積暗号システムに含まれる暗号化装置。
- 請求項1または請求項2に記載の階層型内積暗号システムに含まれる復号装置。
- 請求項1または請求項2に記載の階層型内積暗号システムに含まれる鍵発行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012085734A JP5730805B2 (ja) | 2012-04-04 | 2012-04-04 | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012085734A JP5730805B2 (ja) | 2012-04-04 | 2012-04-04 | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013217970A JP2013217970A (ja) | 2013-10-24 |
JP5730805B2 true JP5730805B2 (ja) | 2015-06-10 |
Family
ID=49590161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012085734A Active JP5730805B2 (ja) | 2012-04-04 | 2012-04-04 | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5730805B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454975B (zh) * | 2015-04-07 | 2020-11-27 | 三菱电机株式会社 | 加密系统和密钥生成装置 |
US11257399B2 (en) * | 2016-12-12 | 2022-02-22 | Nec Corporation | Decoding apparatus, decoding method, and program |
US10205713B2 (en) * | 2017-04-05 | 2019-02-12 | Fujitsu Limited | Private and mutually authenticated key exchange |
JP6971917B2 (ja) * | 2018-06-11 | 2021-11-24 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5349261B2 (ja) * | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2011062136A1 (ja) * | 2009-11-20 | 2011-05-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5334873B2 (ja) * | 2010-01-08 | 2013-11-06 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
-
2012
- 2012-04-04 JP JP2012085734A patent/JP5730805B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013217970A (ja) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
JP6059258B2 (ja) | 分割保管装置、秘密鍵分割保管方法 | |
KR102423885B1 (ko) | 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템 | |
US20130083921A1 (en) | Encryption device, decryption device, encryption method, decryption method, program, and recording medium | |
JP2014126866A (ja) | 暗号処理装置および方法 | |
KR101606317B1 (ko) | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 | |
JP6059347B2 (ja) | 復号装置、復号能力提供装置、それらの方法、およびプログラム | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
KR101249394B1 (ko) | 래티스 환경을 기반으로 한 대리 재암호화 방법 및 장치 | |
JP5755557B2 (ja) | 時限暗号システム、時限暗号方法、装置、プログラム | |
JP2012256008A (ja) | 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム | |
JPWO2015008623A1 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
JP5679344B2 (ja) | 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム | |
JP2012237881A (ja) | 情報提供システム、仲介装置、情報提供装置、仲介方法、情報提供方法、及びプログラム | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
JP5806689B2 (ja) | 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム | |
Eltayieb et al. | Fine-grained attribute-based encryption scheme supporting equality test | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム | |
JP6189788B2 (ja) | 鍵生成装置、再暗号化装置、およびプログラム | |
KR101327980B1 (ko) | 아이디 기반 덧셈 준동형 암호화 방법 | |
JP2013148822A (ja) | 検索可能暗号システム、検索装置、計算装置、及びプログラム | |
JP5912281B2 (ja) | 復号結果検証装置、方法、システム及びプログラム | |
Patsakis et al. | A new SETUP for factoring based algorithms | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
Akleylek et al. | New methods for public key cryptosystems based on XTR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140813 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150318 |
|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5730805 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |