CN104620305B - 密码系统、密码方法、密码程序以及解密装置 - Google Patents

密码系统、密码方法、密码程序以及解密装置 Download PDF

Info

Publication number
CN104620305B
CN104620305B CN201380040471.9A CN201380040471A CN104620305B CN 104620305 B CN104620305 B CN 104620305B CN 201380040471 A CN201380040471 A CN 201380040471A CN 104620305 B CN104620305 B CN 104620305B
Authority
CN
China
Prior art keywords
multinomial
information
formula
integer
key
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
Application number
CN201380040471.9A
Other languages
English (en)
Other versions
CN104620305A (zh
Inventor
高岛克幸
冈本龙明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Publication of CN104620305A publication Critical patent/CN104620305A/zh
Application granted granted Critical
Publication of CN104620305B publication Critical patent/CN104620305B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

目的在于在函数型密码方式中,扩大能够表现为关系R的范围,在该函数型密码方式中,在用设定了参数Ψ的解密密钥dk对设定了参数Φ的加密密钥ek进行解密时,仅限关系R(Φ,Ψ)成立的情况下,解密密钥dk能够对用加密密钥ek加密了的密文进行解密。密码系统(10)将包括多项式d(x)和多个多项式Di(x)以及谓词信息的第1信息、包含属性信息的第2信息中的一方作为密文,将另一方作为解密密钥。解码装置(300)根据谓词信息和属性信息,从多个多项式Di(x)中选择至少一部分的多项式Di(x),计算能够用多项式d(x)将根据对所选择的多项式Di(x)乘以系数Δi而得到的多项式ΔiDi(x)构成的多项式除尽的系数Δi。解码装置(300)根据计算出的系数系数Δi对所述密文进行解密。

Description

密码系统、密码方法、密码程序以及解密装置
技术领域
本发明涉及利用了二次张成方案(quadratic span program)的思想的函数型密码方式。
背景技术
函数型密码方式是使加密密钥ek与解密密钥dk之间的关系更加紧密、并且更加灵活的密码方式。
在函数型密码方式中,在加密密钥ek和解密密钥dk中分别设定参数Φ和参数Ψ。另外,仅限关系R(Φ,Ψ)成立的情况下,解密密钥dk能够对用加密密钥ek加密了的密文进行解密。
在非专利文献3中,有关于函数型密码方式的记载。
在非专利文献6中,有关于二次张成方案的记载。
非专利文献1:Okamoto,T.,Takashima,K.:Homomorphicencryption and signatures from vector decomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing 2008.LNCS,vol.5209,pp.57-74,Springer Heidelberg(2008)
非专利文献2:Okamoto,T.,Takashima,K.:Hierarchicalpredicate encryption for inner-products,In:ASIACRYPT 2009,Springer Heidelberg(2009)
非专利文献3:Okamoto,T.,Takashima,K.:Fully securefunctional encryption with general relations from the decisionallinear assumption.In:Rabin,T.(ed.)CRYPTO 2010.LNCS,vol.6223,pp.191-208.Springer Heidelberg(2010).Full version isavailable at http://eprint.iacr.org/2010/563
非专利文献4:Okamoto,T.,Takashima,K.:Efficientattribute-based signatures for non-monotone predicates in thestandard model,In:PKC 2011,Springer Heidelberg(2011)
非专利文献5:Okamoto,T.,Takashima,K.:DecentralizedAttribute-Based Signatures http://eprint.iacr.org/2011/701
非专利文献6:Rosario Gennaro and Craig Gentry and BryanParno and Mariana Raykova:Quadratic Span Programs andSuccinct NIZKs without PCPs http://eprint.iacr.org/2012/215
发明内容
非专利文献3记载的函数型密码方式是利用了一阶张成方案的方式。在该函数型密码方式中,在能够表现为关系R的范围方面存在界限。
本发明的目的在于提供一种通过利用二次张成方案的思想,能够扩大能够表现为关系R的范围的函数型密码方式。
本发明的密码系统的特征在于,具备:
加密装置,生成包括二次张成方案的第1信息、和包括属性信息的第2信息中的一方来作为密文;以及
解密装置,将所述第1信息和所述第2信息中的另一方作为解密密钥,在所述二次张成方案受理所述属性信息的情况下,基于根据所述二次张成方案和所述属性信息而得到的信息,对所述密文进行解密。
在本发明的密码系统中,通过利用二次张成方案的思想,能够将能够表现为关系R的范围设为理想的范围。
附图说明
图1是二次张成方案的说明图。
图2是部分集合Iu的说明图。
图3是执行KP-FE方式的密码系统10的结构图。
图4是执行CP-FE方式的密码系统10的结构图。
图5是实施方式2的密钥生成装置100的结构图。
图6是实施方式2的加密装置200的结构图。
图7是实施方式2的解密装置300的结构图。
图8是示出实施方式2的Setup算法的处理的流程图。
图9是示出实施方式2的KeyGen算法的处理的流程图。
图10是示出实施方式2的Enc算法的处理的流程图。
图11是示出实施方式2的Dec算法的处理的流程图。
图12是示出实施方式4的KeyGen算法的处理的流程图。
图13是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一个例子的图。
(符号说明)
100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;141:秘密信息生成部;142:密钥要素生成部;150:密钥分发部;200:加密装置;210:公开参数取得部;220:信息输入部;230:加密数据生成部;240:数据发送部;300:解密装置;311:解密密钥取得部;312:密文取得部;320:张成方案计算部;330:补充系数计算部;331:多项式选择部;332:系数计算部;340:解密部;341:配对运算部;342:消息计算部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述的CPU911等。存储装置是后述的ROM913、RAM914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板915等。即,处理装置、存储装置、通信装置、输入装置是硬件。
说明以下的说明中的记法。
在A是随机的变量或者分布时,式101表示依照A的分布从A中随机地选择y。即,在式101中,y是随机数。
[式101]
y ← R A
在A是集合时,式102表示从A均匀地选择y。即,在式102中,y是均匀随机数。
[式102]
y ← U A
式103表示y是通过z定义的集合、或者y是代入z而得到的集合。
[式103]
y:=z
在a是常数时,式104表示机械(算法)A针对输入x而输出a。
[式104]
A(x)→a
例如,
A(x)→1
式105、即Fq表示位数q的有限域。
[式105]
向量标记表示有限域Fq中的向量显示。即,是式106。
[式106]
表示
式107表示式108所示的2个向量x和v的式109所示的内积。
[式107]
[式108]
x → = ( x 1 , . . . , x n ) v → = ( v 1 , . . . , v n ) ,
[式109]
Σ i = 1 n x i v i
XT表示矩阵X的转置矩阵。
在bi(i=1,...,n)是空间V的向量的要素时,即,在是式110时,式111表示通过式112生成的部分空间。
[式110]
[式111]
[式112]
b 1 , . . . , b n ( resp . x → 1 , . . . , x → n )
针对式113所示的基底B和基底B*,是式114。
[式113]
[式114]
另外,在以下的说明中,在下标或者上标中示出“Vt”的情况下,该Vt意味着Vt。同样地,在上标中示出“δi,j”的情况下,该δi,j意味着δi,j。同样地,在上标中示出“fτ”、“κτ”的情况下,该fτ意味着fτ,该κτ意味着κτ
另外,在对下标文字或者上标文字附加有意味着向量的“→”的情况下,意味着以上标的形式对下标文字或者上标文字附加有该“→”。
另外,在以下的说明中,密码处理包括密钥生成处理、加密处理、解密处理。
实施方式1.
在该实施方式中,说明作为使用了二次张成方案的函数型密码方式的基础的概念、和使用了二次张成方案的函数型密码方式的概要。
第1,说明具有作为用于实现函数型密码方式的空间的“双重配对向量空间(Dual Pairing Vector Spaces,DPVS)”这样的丰富的数学构造的空间。
第2,说明用于实现函数型密码方式的概念。此处,说明“二次张成方案”、“属性信息的等号和二次张成方案”、“秘密分散方式”。
第3,说明使用了二次张成方案的函数型密码方式的概要。
<第1.双重配对向量空间>
首先,说明对称双线性配对群。
对称双线性配对群(q,G,GT,g,e)是素数q、位数q的循环加法群G、位数q的循环乘法群GT、g≠0∈G、以及能够用多项式时间计算的非退化双线性配对(Nondegenerate Bilinear Pairing)e:G×G→GT的组。非退化双线性配对是e(sg,tg)=e(g,g)st、e(g,g)≠1。
在以下的说明中,将Gbpg设为将1λ作为输入,输出保密参数为λ的双线性配对群的参数paramG:=(q,G,GT,g,e)的值的算法。
接下来,说明双重配对向量空间。
双重配对向量空间(q,V,GT,A,e)能够通过对称双线性配对群(paramG:=(q,G,GT,g,e))的直积(direct product)构成。双重配对向量空间(q,V,GT,A,e)是素数q、式115所示的Fq上的N维向量空间V、位数q的循环群GT、空间V的标准基底A:=(a1,...,aN)的组,具有以下的运算(1)(2)。此处,ai如式116所示。
[式115]
[式116]
运算(1):非退化双线性配对
空间V中的配对通过式117定义。
[式117]
此处,
其是非退化双线性。即,e(sx,ty)=e(x,y)st,针对全部的y∈V,在e(x,y)=1的情况下,是x=0。另外,针对全部i和j,e(ai,aj)=e(g,g)δi,j。此处,如果i=j,则δi,j=1,如果i≠j,则δi, j=0。另外,e(g,g)≠1∈GT
运算(2):失真映射
式118所示的空间V中的线性变换能够进行式119。
[式118]
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0。
[式119]
此处,
(g1,…gN):=x。
此处,将线性变换称为失真映射。
在以下的说明中,将Gdpvs设为将1λ(λ∈自然数)、N∈自然数、双线性配对群的参数paramG:=(q,G,GT,g,e)的值作为输入,输出保密参数为λ、作为N维的空间V的双重配对向量空间的参数paramV:=(q,V,GT,A,e)的值的算法。
另外,此处,说明通过上述的对称双线性配对群构成双重配对向量空间的情况。另外,还能够通过非对称双线性配对群构成双重配对向量空间。容易将以下的说明应用于通过非对称双线性配对群构成了双重配对向量空间的情况。
<第2.用于实现函数型密码的概念>
<第2-1.二次张成方案>
图1是二次张成方案的说明图。
域Fq中的二次张成方案包括2个多项式的集合A={ai(x)|i∈{0,...,L}}以及集合B={bi(x)|i∈{0,...,L}}、和目标多项式d(x)。另外,二次张成方案包括集合I:={1,...,L}的标签ρ。全部标签ρi(i=1,...,L)向{p0,p1,...,pn,¬p1,...,¬pn}中的某一个直接量(literal)建立对应。即,ρ:I→{p0,p1,...,pn,¬p1,...,¬pn}。
针对输入u:=(u1,...,un)∈{0,1}n,关于j=1,...,n的各整数j,通过T(pj):=uj以及T(¬pj):=¬uj,设定直接量的真值T。另外,针对任何输入u,p0的真值T都设定1。即,T(p0):=1。
集合I的部分集合Iu由通过输入u设定了1的标签的要素构成。即,Iu:={i∈I|T(p(i)=1)}。或者,Iu:={i∈I|[ρ(i)=pj∧uj=1]∨[ρ(i)=¬pj∧uj=0]∨[ρ(i)=p0]}。
图2是部分集合Iu的说明图。
另外,在图2中,n=7,L=6。另外,在图2中,关于标签ρ,ρ1与¬p2建立对应,ρ2与p1建立对应,ρ3与p4建立对应,ρ4与¬p5建立对应,ρ5与¬p3建立对应,ρ6与p5建立对应。
此处,设为输入u:=(u1,...,u7)∈{0,1}7是u1=1,u2=0,u3=1,u4=0,u5=0,u6=1,u7=1。在该情况下,部分集合Iu由与用虚线包围的直接量(p1,p3,p6,p7,¬p2,¬p4,¬p5)建立对应的标签ρi的要素i构成。即,部分集合Iu由标签ρ1,ρ2,ρ4的要素i构成,部分集合Iu:={i=1,2,4}。
二次张成方案是目标多项式d(x)将式120除尽那样的体Fq L中的(α1,...,αL)以及(β1,...,βL)的组,仅限于针对未包含于部分集合Iu的全部i存在作为αi=0=βi的(α1,...,αL)以及(β1,...,βL)的组的情况下,受理输入u∈{0,1}n(或者,受理部分集合Iu)。另外,在其他情况下,二次张成方案拒绝输入u∈{0,1}n
[式120]
( a 0 ( x ) + &Sigma; i = 1 L &alpha; i &CenterDot; a i ( x ) ) &CenterDot; ( b 0 ( x ) + &Sigma; i = 1 L &beta; i &CenterDot; b i ( x ) )
即,二次张成方案仅限于存在目标多项式d(x)将式121除尽那样的关于i∈Iu的αi以及βi的组的情况下,受理输入u∈{0,1}n
[式121]
另外,在二次张成方案受理输入u∈{0,1}n的情况下,能够用多项式时间计算关于i∈Iu的αi以及βi的组(参照非专利文献6)。
如果是图2所示的例子,二次张成方案仅限于存在目标多项式d(x)将式122除尽那样的关于i∈Iu:={i=1,2,4}的αi以及βi的组的情况下,受理输入u∈{0,1}n
[式122]
( a 0 ( x ) + &Sigma; i &Element; { 1,2,4 } &alpha; i &CenterDot; a i ( x ) ) &CenterDot; ( b 0 ( x ) + &Sigma; i { 1,2,4 } &beta; i &CenterDot; b i ( x ) )
<第2-2.属性的内积和二次张成方案>
Ut(t=1,...,d且是部分全集(sub-universe),是属性的集合。另外,Ut分别包括部分全集合的识别信息(t)、和用N维向量表示的属性信息(v)。即,Ut是(t,v)。此处,t∈{1,...,d}、v∈Fq n
将Ut=(t,v)设为p。即,p=(t,v)。说明基于pj:=(t,v j)(j=1,...,n;t∈{1,...,d})的二次张成方案Q:=(A,B,d(x),ρ)中的、部分集合Iu的决定方法。
将访问架构S设为伴随p0以及{pj:=(t,v j)}j=1,...,n的二次张成方案Q:=(A,B,d(x),ρ)。即,ρ:{1,...,L}→{p0,(t,v 1),...,(t,v n),¬(t,v 1),...,¬(t,v n)}。另外,将Γ设为属性集合。即,Γ:={(t,x t)|x t∈Fq n,1≤t≤d}。此处,t是{1,...,d}的部分集合,无需是全索引。
如果对访问架构S提供了属性集合Γ,则如下述那样决定{p0,p1,...,pn,¬p1,...,¬pn}的直接量的真值T。仅限pj=(t,v j)、(t,x t)∈Γ并且v j·x t=0的情况下,为T(pj):=1。仅限pj=¬(t,v j)、(t,x j)∈Γ并且v j·x t≠0的情况下,为T(¬pj):=1。成为T(p0):=1。在其他情况下,真值T为0。
另外,设为Iu(=I(ρ,Γ)):={i∈I|T(ρ(i))=1}、即I(ρ,Γ):={i∈I|[ρ(i)=(t,v j)∧(t,x t)∈Γ∧(v j·x t)=0]∨[ρ(i)=¬(t,v j)∧(t,x j)∈Γ∧v j·x t≠0]∨[ρ(i)=p0]}。
<第3.函数型密码方式的概要>
通过使解密密钥和密文的一方具有上述访问架构S、使另一方具有属性集合Γ,构成函数型密码方式。
将使解密密钥具有访问架构S的函数型密码方式称为Key-Policy函数型密码(KP-FE)方式,将使密文具有访问架构S的密码方式称为Ciphertext-Policy函数型密码(CP-FE)方式。
说明KP-FE方式以及CP-FE方式的结构、和执行各方式的密码系统10的结构。
<第3-1.KP-FE方式>
KP-FE方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ,输出公开参数pk和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是将访问架构S、公开参数pk以及主密钥sk作为输入,输出解密密钥skS的概率性的算法。
(Enc)
Enc算法是将消息msg、作为属性的集合的Γ:={(t,x t)|x t∈Fq n,1≤t≤d}以及公开参数pk作为输入,输出密文ctΓ的概率性的算法。
(Dec)
Dec算法是将在作为属性的集合的Γ下加密了的密文ctΓ、针对访问架构S的解密密钥skS、以及公开参数pk作为输入,输出消息msg或者识别信息⊥的算法。
图3是执行KP-FE方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、加密装置200以及解密装置300。
密钥生成装置100将保密参数λ作为输入,执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100将访问架构S作为输入,执行KeyGen算法,生成解密密钥skS,并秘密地分发给解密装置300。
加密装置200将消息msg、属性的集合Γ以及公开参数pk作为输入,执行Enc算法,生成密文ctΓ。加密装置200将所生成的密文ctΓ发送到解密装置300。
解密装置300将公开参数pk、解密密钥skS以及密文ctΓ作为输入,执行Dec算法,输出消息msg或者识别信息⊥。
<第3-2.CP-FE方式>
CP-FE方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ,输出公开参数pk和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是将作为属性的集合的Γ:={(t,x t)|x t∈Fq n,1≤t≤d}、公开参数pk以及主密钥sk作为输入,输出解密密钥skΓ的概率性的算法。
(Enc)
Enc算法是将消息msg、访问架构S以及公开参数pk作为输入,输出密文ctS的概率性的算法。
(Dec)
Dec算法是将在访问架构S下加密了的密文ctS、针对作为属性的集合的Γ的解密密钥skΓ、以及公开参数pk作为输入,输出消息msg或者识别信息⊥的算法。
图4是执行CP-FE方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、加密装置200以及解密装置300。
密钥生成装置100将保密参数λ作为输入,执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100将属性的集合Γ作为输入,执行KeyGen算法,生成解密密钥skΓ,并秘密地分发给解密装置300。
加密装置200将消息msg、访问架构S以及公开参数pk作为输入,执行Enc算法,生成密文ctS。加密装置200将所生成的密文ctS发送到解密装置300。
解密装置300将公开参数pk、解密密钥skΓ以及密文ctS作为输入,执行Dec算法,输出消息msg或者识别信息⊥。
在KP-FE方式以及CP-FE方式的哪一个中都是在Dec算法中,根据访问架构S和属性集合Γ,通过上述的方法,选择部分集合I(ρ, Γ),进而确定系数(α1,...,αL)以及系数(β1,...,βL)。然后,根据部分集合I(ρ,Γ)和系数(α1,...,αL)以及系数(β1,...,βL),对密文ctΓ(或者ctS)进行解密来计算消息msg。
另外,通常,在系统设置时,仅执行1次Setup算法。每当生成用户的解密密钥时,执行KeyGen算法。每当对消息msg进行加密时,执行Enc算法。每当对密文进行解密时,执行Dec算法。
在实施方式1的密码系统10中,使用基于二次张成方案的访问架构S,构成函数型密码方式。由此,能够将能够表现为关系R的范围设为理想的范围。
实施方式2.
在实施方式2中,说明使用了二次张成方案的函数型密码方式的结构例。
此处,以KP-FE方式为例子进行说明。
图5是实施方式2的密钥生成装置100的结构图。图6是实施方式2的加密装置200的结构图。图7是实施方式2的解密装置300的结构图。
图8和图9是示出密钥生成装置100的动作的流程图。图8是示出Setup算法的处理的流程图,图9是示出KeyGen算法的处理的流程图。图10是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图11是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
说明密钥生成装置100的功能和动作。
密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备秘密信息生成部141、密钥要素生成部142。
根据图8,说明Setup算法的处理。
(S101:标准正交基底生成步骤)
主密钥生成部110通过处理装置,计算式123,生成参数param、基底B0以及基底B* 0、和基底Bt以及基底B* t
[式123]
关于t=0,...,d的各个t执行(5)至(9)的处理。
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110通过输入装置,输入保密参数λ(1λ)。
(2)主密钥生成部110通过处理装置,将在(1)中输入的保密参数λ作为输入,执行算法Gbpg,生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
(3)主密钥生成部110通过处理装置,生成随机数ψ。
(4)主密钥生成部110对N0设定n0+u0+w0+z0,关于t=1,...,d(d是1以上的整数)的各整数t,对Nt设定nt+ut+wt+zt。此处,n0是2mfmax+1,nt是2mfmaxkmax+n。m是对目标多项式d(x)进行了因式分解时的因子的数量。fmax是对目标多项式d(x)进行了因式分解时的因子的次数的最大值(后述的fτ的最大值)。kmax是与1个识别信息t建立对应的标签ρ的个数的最大值。n是1以上的整数,u0,w0,z0,ut,wt,zt分别是0以上的整数。
接下来,主密钥生成部110针对t=0,...,d的各整数t,执行以下的(5)至(9)的处理。
(5)主密钥生成部110通过处理装置,将在(1)中输入的保密参数λ、在(4)中设定的Nt、以及在(2)中生成的paramG:=(q,G,GT,g,e)的值作为输入,执行算法Gdpvs,生成双重配对向量空间的参数paramVt:=(q,Vt,GT,At,e)的值。
(6)主密钥生成部110通过处理装置,将在(4)中设定的Nt、和Fq作为输入,随机地生成线性变换Xt:=(χt,i,j)i,j。另外,GL是一般线性(General Linear)的简称。即,GL是一般线性群,是矩阵式非0的方阵的集合,关于乘法是群。另外,(χt,i,j)i,j是与矩阵χt,i,j的下标i,j有关的矩阵的意思,此处,i,j=1,...,Nt
(7)主密钥生成部110通过处理装置,根据随机数ψ和线性变换Xt,生成X* t:=(νt,i,j)i,j:=ψ·(Xt T)-1。另外,(νt,i,j)i,j也与(χt,i,j)i,j同样地,是与矩阵νt,i,j的下标i,j有关的矩阵这样的意思,此处,是i,j=1,...,Nt
(8)主密钥生成部110通过处理装置,根据在(6)中生成的线性变换Xt,根据在(5)中生成的标准基底At生成基底Bt。另外,x t, i表示线性变换Xt的第i行。
(9)主密钥生成部110通过处理装置,根据在(7)中生成的线性变换X* t,根据在(5)中生成的标准基底At生成基底B* t。另外,v t, i表示线性变换X* t的第i行。
(10)主密钥生成部110通过处理装置,对gT设定e(g,g)ψ。另外,主密钥生成部110对param设定在(5)中生成的{paramVt}t=0,..., d、和gT
即,在(S101)中,主密钥生成部110执行式124所示的算法Gob,生成param、基底B0以及基底B* 0、和基底Bt以及基底B* t
[式124]
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如式125所示,生成在(S101)中生成的基底B0的部分基底B^0、和基底Bt的部分基底B^t
[式125]
主密钥生成部110将所生成的部分基底B^0以及部分基底B^t、在(S101)中输入的保密参数λ、以及在(S101)中生成的param合起来,作为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如式126所示,生成在(S101)中所生成的基底B* 0的部分基底B^* 0、和基底B* t的部分基底B^* t
[式126]
主密钥生成部110将所生成的部分基底B^* 0和部分基底B^* t作为主密钥sk。
(S104:主密钥存储步骤)
主密钥存储部120将在(S102)中生成的公开参数pk存储到存储装置中。另外,主密钥存储部120将在(S103)中生成的主密钥sk存储到存储装置中。
即,在(S101)至(S103)中,密钥生成装置100执行式127所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S104)中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储到存储装置中。
另外,公开参数例如经由网络而被公开,成为加密装置200、解密装置300能够取得的状态。
[式127]
根据图9,说明KeyGen算法的处理。
(S201:信息输入步骤)
信息输入部130通过输入装置,输入上述访问架构S:=(A,B,d(x),ρ)。另外,关于ρ,例如,设定了解密密钥skS的使用者的属性信息。另外,访问架构S中包含的目标多项式d(x)能够如式128所示,因式分解为τ=1,...,m这m个因子dτ(x)
[式128]
d ( x ) = &Pi; &tau; = 1 m d &tau; ( x ) f &tau;
(S202:秘密信息π生成步骤)
秘密信息生成部141通过处理装置,如式129所示生成秘密信息πτ,κ,0以及秘密信息πτ,κ,1
[式129]
(S203:秘密信息χ生成步骤)
秘密信息生成部141通过处理装置,如式130所示生成秘密信息χτ,κ,0以及秘密信息χτ,κ,1
[式130]
(S204:秘密信息s生成步骤)
秘密信息生成部141通过处理装置,如式131所示,生成秘密信息s0 (τ,κ,0)以及秘密信息s0 (τ,κ,1)、秘密信息si (τ,κ,0)以及秘密信息si (τ,κ,1)
[式131]
(S205:密钥要素生成步骤)
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、以及ι=0,1的各整数ι,如式132所示生成解密密钥skS的要素k* 0 (τ,κ,ι)
[式132]
另外,如上所述,针对式113所示的基底B和基底B*,是式114。因此,式132意味着,作为基底B* 0的基底向量b* 0,1的系数而设定s0 (τ,κ,ι)τ,κ,ι,作为基底向量b* 0,1+1,...,b* 0,1+n0的系数而设定e 0 (τ,κ,ι),作为基底向量b* 0,n0+1,...,b* 0,n0+u0的系数而设定0,作为基底向量b* 0,n0+u0+1,...,b* 0,n0+u0+w0的系数而设定η0,1 (τ,κ,ι),...,η0, w0 (τ,κ,ι),作为基底向量b* 0,n0+u0+w0+1,...,b* 0,n0+u0+w0+z0的系数而设定0。此处,n0,u0,w0,z0分别是n0,u0,w0,z0
另外,e 0 (τ,κ,ι)是作为1个基底向量的系数而设定了1、作为其他基底向量的系数而设定了0的2mfmax维的向量,且是作为系数设定1的基底向量针对每个(τ,κ,ι)不同的向量。同样地,e i (τ,κ,ι)是作为1个基底向量的系数而设定了1、作为其他基底向量的系数而设定了0的2mfmaxkmax维的向量,且是作为系数而设定1的基底向量针对每个(τ,κ,ι)不同的向量。
另外,e 1是作为基底向量b* t,1的系数而设定了1、作为其他基底向量的系数而设定了0的N维的向量。
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、ι=0,1的各整数ι、以及i=1,...,L的各整数i,如式133所示生成解密密钥skS的要素k* i (τ,κ,ι)
[式133]
(S206:密钥分发步骤)
密钥分发部150将以在(S201)中输入的访问架构S、和在(S205)中生成的k* 0 (τ,κ,ι),k* 1 (τ,κ,ι),...,k* L (τ,κ,ι)为要素的解密密钥skS,通过例如通信装置,经由网络而秘密地分发到解密装置300。当然,解密密钥skS也可以通过其他方法分发到解密装置300。
即,在(S201)至(S205)中,密钥生成装置100执行式134至式135所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥生成装置100将所生成的解密密钥skS分发到解密装置300。
[式134]
[式135]
说明加密装置200的功能和动作。
加密装置200具备公开参数取得部210、信息输入部220、加密数据生成部230、数据发送部240。
根据图10,说明Enc算法的处理。
(S301:公开参数取得步骤)
公开参数取得部210例如通过通信装置经由网络而取得密钥生成装置100所生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置,输入向解密装置300发送的消息msg。另外,信息输入部220通过输入装置,输入属性的集合Γ:={(t,x t:=(xt,1,...,xt,n∈Fq n))|1≤t≤d}。另外,t也可以不是1以上d以下的全部整数,而是1以上d以下的至少一部分的整数。另外,关于属性的集合Γ,例如,设定了可解密的用户的属性信息。
(S303:密码要素生成步骤)
加密数据生成部230通过处理装置,如式136所示生成密文ctΓ的要素c0
[式136]
加密数据生成部230通过处理装置,针对属性信息Γ中包含的各整数t,如式137所示生成密文ctΓ的要素ct
[式137]
加密数据生成部230通过处理装置,如式138所示生成密文ctΓ的要素cd+1
[式138]
c d + 1 : = g T &zeta; msg
(S304:数据发送步骤)
数据发送部240将以在(S302)中输入的属性的集合Γ、和在(S303)中生成的c0,ct,cd+1为要素的密文ctΓ例如通过通信装置经由网络发送到解密装置300。当然,密文ctΓ也可以通过其他方法发送到解密装置300。
即,在(S301)至(S303)中,加密装置200执行式139所示的Enc算法,生成密文ctΓ。然后,在(S304)中,加密装置200将所生成的密文ctΓ发送到解密装置300。
[式139]
说明解密装置300的功能和动作。
解密装置300具备信息取得部310、张成方案计算部320、补充系数计算部330、解密部340。另外,信息取得部310具备解密密钥取得部311、密文取得部312。另外,补充系数计算部330具备多项式选择部331、系数计算部332。另外,解密部340具备配对运算部341、消息计算部342。
根据图11,说明Dec算法的处理。
(S401:解密密钥取得步骤)
解密密钥取得部311例如通过通信装置经由网络取得从密钥生成装置100分发的解密密钥skS:=(S,k* 0 (τ,κ,ι),k* 1 (τ,κ,ι),...,k* L (τ,κ,ι))。另外,解密密钥取得部311取得密钥生成装置100所生成的公开参数pk。
(S402:密文取得步骤)
密文取得部312例如通过通信装置经由网络而取得加密装置200发送的密文ctΓ:=(Γ,c0,ct,cd+1)。
(S403:张成方案计算步骤)
张成方案计算部320通过处理装置,判定在(S401)中取得的解密密钥skS中包含的访问架构S是否受理在(S402)中取得的密文ctΓ中包含的Γ。访问架构S是否受理Γ的判定方法如在“实施方式1中的第2-1.二次张成方案”中说明的那样。
张成方案计算部320在访问架构S受理Γ的情况下(在S403中“受理”),使处理进入到(S404)。另一方面,在访问架构S拒绝Γ的情况下(在S403中“拒绝”),设为无法用解密密钥skS对密文ctΓ进行解密而结束处理。
(S404:多项式选择步骤)
补充系数计算部330的多项式选择部331通过处理装置计算 I(ρ,Γ)的计算方法如在“实施方式1的第2-2.属性的内积和二次张成方案”中说明的那样。
(S405:系数计算步骤)
补充系数计算部330的系数计算部332通过处理装置,计算式140的系数(α1,...,αL)、系数(β1,...,βL)以及次数(κ1,...,κm)。系数(α1,...,αL)、系数(β1,...,βL)、以及次数(κ1,...,κm)的计算方法可以是任意的方法,也可以通过例如循环法计算。
[式140]
&Pi; &tau; = 1 m d &tau; ( x ) &kappa; &tau; | ( a 0 ( x ) + &Sigma; i = 1 L &alpha; i a i ( x ) ) , and &Pi; &tau; = 1 m d &tau; ( x ) f &tau; - &kappa; &tau; | ( b 0 ( x ) + &Sigma; i = 1 L &beta; i b i ( x ) )
此处,关于未包含于I(ρ,Γ)中的全部i,αi=0=βi
(S406:配对运算步骤)
解密部340的配对运算部341通过处理装置计算式141,生成会话密钥Kτ,0,Kτ,1
[式141]
(S407:消息计算步骤)
解密部340的消息计算部342通过处理装置计算式142,生成消息msg’(=msg)。
[式142]
msg &prime; : = c d + 1 / ( &Pi; &tau; = 1 m K &tau; , 0 K &tau; , 1 )
另外,如式143所示,通过计算式141而得到gT ζ。因此,通过计算式142,得到消息msg’(=msg)。
[式143]
即,在(S401)至(S407)中,解密装置300执行式144所示的Dec算法,生成消息msg’(=msg)。
[式144]
如以上那样,在实施方式2的密码系统10中,实现了利用二次张成方案的函数型密码方式。
通过利用二次张成方案,能够表现为关系R的范围宽。
特别地,在实施方式2的密码系统10中,针对对目标多项式d(x)进行因式分解而得到的每个多项式dτ(x),将设定了多项式ai(x)除以多项式dτ(x)κ而得到的余数的要素、和设定了多项式bi(x)除以多项式dτ(x)fτ-κ而得到的余数的要素设为密钥要素k* 0 (τ,κ,ι),k* 1 (τ,κ,ι),...,k* L (τ,κ,ι)。另外,对各密钥要素k* 0 (τ,κ,ι)分散地设定秘密信息π和秘密信息χ。然后,使用系数α,β,进行密钥要素和密码要素的配对运算,从而使对各密钥要素设定的余数成为0、使秘密信息π成为0、使秘密信息χ成为1,由此从密文抽出会话密钥Kτ,0,Kτ,1。由此,实现了利用二次张成方案的函数型密码方式。
另外,在上述说明中,说明了KP-FE方式。但是,通过分别如式145至式148所示地进行KeyGen算法、Enc算法、Dec算法,还能够设为CP-FE方式。另外,Setup算法在KP-FE方式和CP-FE方式中是相同的。
[式145]
[式146]
[式147]
[式148]
另外,在上述说明中,说明了函数型密码方式。但是,还能够通过分别如式149至式153所示地进行Setup算法、KeyGen算法、Enc算法、Dec算法,设为基于属性的密码方式。另外,在基于属性的密码方式的情况下,在Setup算法中,nt是2mfmaxkmax+2。
[式149]
[式150]
[式151]
[式152]
[式153]
同样地,还能够将式145至式148所示的CP-FE方式变更为基于属性的密码方式。
另外,在上述说明中,对N0设定了n0+u0+w0+z0,对Nt设定了nt+ut+wt+zt。此处,例如,也可以设为u0=n0,w0=n0,z0=2而对N0设为n0+n0+n0+2=3n0+2,设为ut=nt,wt=nt,zt=1而对Nt设为nt+nt+nt+1=3nt+1。
实施方式3.
在实施方式3中,说明相比于在实施方式2中说明的函数型密码方式,各基底的维数更少而不是基底的数量多的函数型密码方式。
在实施方式3中,以与实施方式2的密码系统10不同的部分为中心进行说明。
实施方式3的密钥生成装置100、加密装置200、解密装置300的结构与图5~图7所示的实施方式2的密钥生成装置100、加密装置200、解密装置300的结构相同。
关于实施方式3的Dec算法的处理,与实施方式2的Dec算法的处理相同,所以此处说明实施方式3的Setup算法、KeyGen算法、Enc算法的处理。
实施方式3的Setup算法、KeyGen算法、Enc算法的处理的流程与图8~图10所示的实施方式2的Setup算法、KeyGen算法、Enc算法的处理的流程相同。
根据图8,说明Setup算法的处理。
(S101:标准正交基底生成步骤)
(1)~(3)的处理与实施方式2相同。
(4)主密钥生成部110对N0设定n0+u0+w0+z0,针对t=1,...,d(d是1以上的整数)的各整数t,对Nt设定nt+ut+wt+zt。此处,n0是1,nt是n。n是1以上的整数,u0,w0,z0,ut,wt,zt分别是0以上的整数。
接下来,主密钥生成部110针对τ=1,...,m、κ=0,...,fτ、ι=0,1、t=0,...,d的各整数τ、κ、ι、t,执行(5)至(9)的处理。
(5)的处理与实施方式2相同。
(6)主密钥生成部110与实施方式2同样地,随机地生成线性变换Xt (τ,κ,ι):=(χt,i,j (τ,κ,ι))i,j
(7)主密钥生成部110与实施方式2同样地,生成X* t (τ,κ,ι):=(νt,i,j (τ,κ,ι))i,j:=ψ·(Xt (τ,κ,ι)T)-1
(8)主密钥生成部110与实施方式2同样地,基于在(6)中生成的线性变换Xt (τ,κ,ι),根据在(5)中生成的标准基底At生成基底Bt (τ,κ,ι)
(9)主密钥生成部110与实施方式2同样地,基于在(7)中生成的线性变换X* t (τ,κ,ι),根据在(5)中所生成的标准基底At生成基底B* t (τ,κ,ι)
(10)的处理与实施方式2相同。
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如式154所示地生成在(S101)中所生成的基底B0 (τ,κ,ι)的部分基底B^0 (τ,κ,ι)、和基底Bt (τ,κ,ι)的部分基底B^t (τ,κ,ι)
[式154]
主密钥生成部110将所生成的部分基底B^0 (τ,κ,ι)以及部分基底B^t (τ,κ,ι)、在(S101)中输入的保密参数λ以及在(S101)中生成的param合起来,作为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如式155所示地生成在(S101)中生成的基底B* 0 (τ,κ,ι)的部分基底B^* 0 (τ,κ,ι)、和基底B* t (τ,κ,ι)的部分基底B^* t (τ,κ,ι)
[式155]
主密钥生成部110将所生成的部分基底B^* 0 (τ,κ,ι)和部分基底B^* t (τ,κ,ι)作为主密钥sk。
(S104)的处理与实施方式2相同。
即,在(S101)至(S103)中,密钥生成装置100执行式156所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S104)中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储到存储装置中。
[式156]
根据图9,说明KeyGen算法的处理。
(S201)至(S204)、和(S206)的处理与实施方式2相同。
(S205:密钥要素生成步骤)
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、以及ι=0,1的各整数ι,如式157所示地生成解密密钥skS的要素k* 0 (τ,κ,ι)
[式157]
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、ι=0,1的各整数ι、以及i=1,...,L的各整数i,如式158所示地生成解密密钥skS的要素k* i (τ,κ,ι)
[式158]
即,在(S201)至(S205)中,密钥生成装置100执行式159至式160所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥生成装置100将所生成的解密密钥skS分发到解密装置300。
[式159]
[式160]
根据图10,说明Enc算法的处理。
(S301)至(S302)、和(S304)的处理与实施方式2相同。
(S303:密码要素生成步骤)
加密数据生成部230通过处理装置,如式161所示地生成密文ctΓ的要素c0 (τ,κ,ι)
[式161]
加密数据生成部230通过处理装置,针对属性信息Γ中包含的各整数t,如式162所示地生成密文ctΓ的要素ct (τ,κ,ι)
[式162]
加密数据生成部230通过处理装置,如式163所示地生成密文ctΓ的要素cd+1
[式163]
c d + 1 : = g T &zeta; msg
即,在(S301)至(S303)中,加密装置200执行式164所示的Enc算法,生成密文ctΓ。然后,在(S304)中,加密装置200将所生成的密文ctΓ发送到解密装置300。
[式164]
如以上那样,实施方式3的密码系统10实现相比于在实施方式2中说明的函数型密码方式各基底的维数更少而不是基底的数量多的函数型密码方式。
另外,在上述说明中,说明了KP-FE方式。但是,还能够通过分别如式165至式167所示地进行KeyGen算法、Enc算法,作为CP-FE方式。另外,Setup算法在KP-FE方式和CP-FE方式中是相同的。另外,Dec算法与式148所示的Dec算法相同。
[式165]
[式166]
[式167]
另外,在上述说明中,说明了函数型密码方式。但是,还能够通过分别如式168至式171所示地进行Setup算法、KeyGen算法、Enc算法,而设为基于属性的密码方式。另外,在基于属性的密码方式的情况下,在Setup算法中,nt是2。Dec算法与式153所示的Dec算法相同。
[式168]
[式169]
[式170]
[式171]
同样地,还能够将式165至式167所示的CP-FE方式变更为基于属性的密码方式。
另外,在上述说明中,对N0设定了n0+u0+w0+z0,对Nt设定了nt+ut+wt+zt。此处,例如,也可以设为u0=n0,w0=n0,z0=2而对N0设为n0+n0+n0+2=3n0+2(n0=1,所以N0=5),设为ut=nt,wt=nt,zt=1而对Nt设为nt+nt+nt+1=3nt+1。
实施方式4.
在实施方式2、3中,针对对目标多项式d(x)进行因式分解而得到的每个多项式dτ(x),将设定了多项式ai(x)除以多项式dτ(x)κ而得到的余数的要素、和设定了多项式bi(x)除以多项式dτ(x)fτ-κ而得到的余数的要素作为密钥要素。
在实施方式4中,针对对目标多项式d(x)进行因式分解而得到的每个多项式dτ(x),将对多项式dτ(x)κ代入了随机数值γ而得到的要素、和对多项式dτ(x)fτ-κ代入了随机数值γ而得到的要素作为密钥要素。
实施方式4的密钥生成装置100、加密装置200、解密装置300的结构与图5~图7所示的实施方式2的密钥生成装置100、加密装置200、解密装置300的结构相同。
实施方式4的Setup算法、Enc算法与实施方式2的Setup算法、Enc算法相同。
实施方式4的Dec算法的处理的流程与图11所示的实施方式2的Dec算法的处理的流程相同。
图12是示出实施方式4的KeyGen算法的处理的流程图。
根据图12,说明KeyGen算法的处理。
(S501)至(S503)的处理与图9所示的(S201)至(S203)的处理相同,(S505)的处理与图9所示的(S206)的处理相同。
(S504:密钥要素生成步骤)
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、ι=0,1的各整数ι、以及j=1,...,μ+1的各整数j,如式172所示地生成解密密钥skS的要素k* 0,j (τ,κ,ι)和要素k* 0,μ+1 (τ,κ,ι)
[式172]
密钥要素生成部142通过处理装置,针对τ=1,...,m的各整数τ、κ=0,...,fτ的各整数κ、ι=0,1的各整数ι、以及i=1,...,L的各整数i,如式173所示生成解密密钥skS的要素k* i (τ,κ,ι)
[式173]
此处,e 0,j (τ,κ,ι)(j=1,...,μ+1)是作为1个基底向量的系数设定了1、作为其他基底向量的系数设定了0的2mfmax维的向量,且是作为系数设定1的基底向量针对每个(τ,κ,ι)不同的向量。
即,在(S501)至(S504)中,密钥生成装置100执行式174至式175所示的KeyGen算法,生成解密密钥skS。然后,在(S505)中,密钥生成装置100将所生成的解密密钥skS分发到解密装置300。
[式174]
[式175]
根据图11,说明Dec算法的处理。
(S401)至(S404)的处理与实施方式2相同。
(S405:系数计算步骤)
补充系数计算部330的系数计算部332通过处理装置,计算出成为式176的系数(α1,...,αL)、系数(β1,...,βL)以及次数κ。
[式176]
h &tau; , &kappa; , 0 ( x ) &CenterDot; d &tau; ( x ) &kappa; = a 0 ( x ) + &Sigma; i = 1 L &alpha; i a i ( x ) , and h &tau; , &kappa; , 1 ( x ) &CenterDot; d &tau; ( x ) f &tau; - &kappa; = b 0 ( x ) + &Sigma; i = 1 L &beta; i b i ( x )
此处,关于未包含于I(ρ,Γ)中的全部i,αi=0=βi。另外,关于τ=1,...,m以及ι=0,1的全部整数τ,ι,hτ,κ,ι(x):=hτ,κ,ι,0+hτ,κ,ι,1x+···+hτ,κ,ι,μxμ
(S406:配对运算步骤)
解密部340的配对运算部341通过处理装置,计算式177,生成会话密钥Kτ,0、Kτ,1
[式177]
(S407:消息计算步骤)
消息计算部342通过处理装置,计算式178,生成消息msg’(=msg)。
[式178]
msg &prime; : = c d + 1 / ( &Pi; &tau; = 1 m K &tau; , 0 K &tau; , 1 )
另外,通过如式179所示,计算式177,得到gT ζ。因此,通过计算式178,得到消息msg’(=msg)。
[式179]
即,在(S401)至(S407)中,解密装置300执行式180所示的Dec算法,生成消息msg’(=msg)。
[式180]
如以上那样,实施方式4的密码系统10将对多项式dτ(x)κ代入了随机数值γ的要素、和对多项式dτ(x)fτ-κ代入了随机数值γ的要素作为密钥要素,实现函数型密码方式。
另外,在上述说明中,说明了KP-FE方式。但是,还能够通过分别如式181至式184所示地进行KeyGen算法、Enc算法、Dec算法而设为CP-FE方式。另外,Setup算法在KP-FE方式和CP-FE方式中相同。
[式181]
[式182]
[式183]
[式184]
另外,说明了函数型密码方式。但是,还能够通过分别如式185至式187所示地进行KeyGen算法、Dec算法,设为基于属性的密码方式。另外,在基于属性的密码方式的情况下,在Setup算法中,nt是2mfmaxkmax+2。另外,Setup算法与式149所示的Setup算法相同,Enc算法与式152所示的Enc算法相同。
[式185]
[式186]
[式187]
还能够通过进行同样的变更,将式181至式184所示的CP-FE方式变更为基于属性的密码方式。
另外,在上述说明中,对N0设定了n0+u0+w0+z0,对Nt设定了nt+ut+wt+zt。此处,例如,也可以设为u0=n0,w0=n0,z0=2而对N0设为n0+n0+n0+2=3n0+2,设为ut=nt,wt=nt,zt=2而对Nt设为nt+nt+nt+2=3nt+2。
另外,在上述说明中,与实施方式2的函数型密码方式同样地,设为基底的数量变少而不是解密密钥、密文变长的函数型密码方式。但是,根据实施方式3、4的函数型密码方式,能够将实施方式4的函数型密码方式与实施方式3的函数型密码方式同样地,容易地变形为各基底的维数变少而不是基底的数量变多的函数型密码方式。
另外,在以上的实施方式中,说明了KP-FE方式和CP-FE方式。但是,也能够容易地根据KP-FE方式和CP-FE方式构成非专利文献4记载的Unified-Policy FE(UP-FE)方式。
实施方式5.
在以上的实施方式中,说明了在双对向量空间中实现密码处理的方法。在实施方式5中,说明在双对加群中实现密码处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码基元的处理。但是,在使用合成数M如式188那样地表示环R的情况下,即使在将环R作为系数的加群中,也能够应用在上述实施方式中说明的密码处理。
[式188]
此处,
整数
M:合成数。
如果将在以上的实施方式中说明的算法中的Fq变更为R,则能够实现双对加群中的密码基元的处理。
另外,在以上的实施方式中,根据证明安全性的观点,关于i=1,...,L的各整数i的ρ(i)也可以限定为是关于分别不同的识别信息t的肯定形的组(t,v)或者否定形的组¬(t,v)。
换言之,在是ρ(i)=(t,v)或者ρ(i)=¬(t,v)的情况下,将函数ρ设为作为ρ(i)=t的{1,...,L}→{1,...d}的映射。在该情况下,也可以限定为ρ是单射。另外,ρ(i)是上述访问架构S:=(M,ρ(i))的ρ(i)。
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300)的硬件结构。
图13是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一个例子的图。
如图13所示,密钥生成装置100、加密装置200、解密装置300具备执行程序的CPU911(Central·Processing·Unit、还称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。CPU911经由总线912,与ROM913、RAM914、LCD901(LiquidCrystal Display)、键盘902(K/B)、通信板915、磁盘装置920连接,并控制这些硬件设备。也可以使用光盘装置、存储卡读写装置等存储装置来代替磁盘装置920(固定盘装置)。磁盘装置920经由规定的固定盘接口而连接。
ROM913、磁盘装置920是非易失性存储器的一个例子。RAM914是易失性存储器的一个例子。ROM913、RAM914以及磁盘装置920是存储装置(存储器)的一个例子。另外,键盘902、通信板915是输入装置的一个例子。另外,通信板915是通信装置的一个例子。进而,LCD901是显示装置的一个例子。
在磁盘装置920或者ROM913等中,存储了操作系统921(OS)、视窗系统922、程序群923、文件群924。程序群923的程序由CPU911、操作系统921、视窗系统922执行。
在程序群923中存储了执行在上述的说明中说明为“主密钥生成部110”、“主密钥存储部120”、“信息输入部130”、“解密密钥生成部140”、“密钥分发部150”、“公开参数取得部210”、“信息输入部220”、“加密数据生成部230”、“数据发送部240”、“信息取得部310”、“张成方案计算部320”、“补充系数计算部330”、“解密部340”等的功能的软件、程序以及其他程序。程序由CPU911读出并执行。
在文件群924中,上述的说明中的“公开参数pk”、“主秘密密钥sk”、“解密密钥skS,skΓ”、“密文ctΓ,ctS”、“访问架构S”、“属性信息”、“消息msg”等信息、数据、信号值、变量值、参数被存储为“文件”、“数据库”的各项目。“文件”、“数据库”被存储到盘、存储器等记录介质中。通过CPU911,经由读写电路,将存储在盘、存储器等存储介质中的信息、数据、信号值、变量值、参数读出到主存储器、高速缓存存储器,用于抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示等CPU911的动作。在抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示的CPU911的动作的期间,信息、数据、信号值、变量值、参数被临时存储到主存储器、高速缓存存储器、缓冲存储器中。
另外,上述说明中的流程图的箭头的部分主要表示数据、信号的输入输出,数据、信号值被记录到RAM914的存储器、其他光盘等记录介质、IC芯片中。另外,通过总线912、信号线、电缆以及其他传送介质、电波而在线传送数据、信号。
另外,在上述的说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~设备”、“~单元”、“~功能”,并且也可以是“~步骤”、“~阶段”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~设备”、“~单元”、“~功能”,并且也可以是“~步骤”、“~阶段”、“~处理”。进而,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过存储在ROM913中的固件实现。或者,也可以仅通过软件、或者仅通过元件、设备、基板、布线等硬件、或者通过软件和硬件的组合、进而通过与固件的组合来实施。将固件和软件作为程序,存储到ROM913等记录介质中。程序由CPU911读出并由CPU911执行。即,程序使计算机等作为在上述中叙述的“~部”发挥功能。或者,使计算机等执行在上述中叙述的“~部”的阶段、方法。

Claims (11)

1.一种密码系统,具备加密装置和解密装置,其特征在于,
所述加密装置具备密文生成部,该密文生成部生成包括多项式d(x)、多个多项式Di(x)以及谓词信息的第1信息、和包括属性信息的第2信息中的一方来作为密文,
所述解密装置具备:
多项式选择部,将所述第1信息和所述第2信息中的另一方作为解密密钥,根据所述第1信息中包含的谓词信息、和所述第2信息中包含的属性信息,从所述多个多项式Di(x)中选择至少一部分的多项式Di(x);
系数计算部,计算能够用所述多项式d(x)将基于对所述多项式选择部选择出的多项式Di(x)乘以系数Δi而得到的多项式ΔiDi(x)构成的多项式除尽的系数Δi;以及
解密部,根据所述系数计算部计算出的系数Δi,对所述密文进行解密。
2.根据权利要求1所述的密码系统,其特征在于,
所述多个多项式Di(x)是关于i=0,...,L的各整数i的多项式ai(x)以及多项式bi(x),其中,L是1以上的整数,
所述多项式选择部根据所述属性信息和所述谓词信息,选择i=1,...,L中的一部分的整数i的集合I,从而选择多项式a0(x)以及多项式b0(x)、和关于所述集合I中包含的整数i的多项式ai(x)以及多项式bi(x),
所述系数计算部计算能够用所述多项式d(x)将(a0(x)+∑i∈Iαiai(x))·(b0(x)+∑iIβibi(x))除尽的系数αi以及系数βi,来作为所述系数Δi
3.根据权利要求2所述的密码系统,其特征在于,
所述多项式d(x)被因式分解为τ=1,...,m的多项式dτ(x),其中,m是1以上的整数,
所述系数计算部计算能够将(a0(x)+∑i∈Iαiai(x))除尽、并且能够将(b0(x)+∑i∈Iβibi(x))除尽的系数αi以及系数βi、和次数κτ
所述解密部根据所述系数αi以及所述系数βi、和所述次数κτ,对所述密文进行解密。
4.根据权利要求2所述的密码系统,其特征在于,
所述属性信息包括关于t=1,...,d的至少一部分的整数t的属性向量x t,其中,d是1以上的整数,
所述谓词信息包括关于i=1,...,L的各整数i的标识符t和谓词向量v i的组(t,v i),
所述多项式选择部针对关于i=1,...,L的各整数i的所述组(t,v i),根据该组的谓词向量v i和关于该组的识别信息t的属性向量x t的内积是否为0,判定是否将整数i包含于所述集合I中。
5.根据权利要求4所述的密码系统,其特征在于,
所述组(t,v i)与肯定形和否定形中的某一个建立对应,
所述多项式选择部在所述组(t,v i)与肯定形建立有对应的情况下,如果所述内积为0,则将整数i包含于所述集合I中,在所述组(t,v i)与否定形建立有对应的情况下,如果所述内积不为0,则将整数i包含于所述集合I中。
6.根据权利要求1所述的密码系统,其特征在于,
所述多项式d(x)被因式分解为τ=1,...,m的多项式dτ(x),其中,m是1以上的整数,
所述第1信息针对每个多项式dτ(x),包括设定了通过该多项式dτ(x)得到的信息的要素,
所述解密部根据所述系数Δi和所述要素,对所述密文进行解密。
7.根据权利要求6所述的密码系统,其特征在于,
所述第1信息针对每个多项式dτ(x),关于κ=0,...,fτ的各整数κ、和i=0,...,L的各整数i,包括设定了将多项式ai(x)除以多项式dτ(x)κ而得到的余数的要素、和设定了将多项式bi(x)除以多项式dτ(x)fτ-κ而得到的余数的要素。
8.根据权利要求6所述的密码系统,其特征在于,
所述第1信息针对每个多项式dτ(x),包括设定了代入规定的值γ而得到的值的要素。
9.根据权利要求6所述的密码系统,其特征在于,
所述解密部根据所述系数Δi,针对所述要素进行规定的运算,从而使通过所述多项式dτ(x)得到的信息为0,对所述密文进行解密。
10.一种密码方法,其特征在于,具备:
密文生成工序,加密装置生成包括多项式d(x)、谓词信息以及多个多项式Di(x)的第1信息、和包括属性信息的第2信息中的一方来作为密文;
多项式选择工序,解密装置将所述第1信息和所述第2信息中的另一方作为解密密钥,基于所述第1信息中包含的谓词信息和所述第2信息中包含的属性信息,从所述多个多项式Di(x)中选择至少一部分的多项式Di(x);
系数计算工序,所述解密装置计算能够用所述多项式d(x)将基于对在所述多项式选择工序中选择出的多项式Di(x)乘以系数Δi而得到的多项式ΔiDi(x)构成的多项式除尽的系数Δi;以及
解密工序,所述解密装置根据在所述系数计算工序中计算出的系数Δi,对所述密文进行解密。
11.一种解密装置,其特征在于,具备:
信息取得部,取得包括多项式d(x)、谓词信息以及多个多项式Di(x)的第1信息、和包括属性信息的第2信息中的一方来作为密文,取得另一方来作为解密密钥;
多项式选择部,根据所述信息取得部生成的所述第1信息中包含的谓词信息、和所述第2信息中包含的属性信息,从所述多个多项式Di(x)中选择至少一部分的多项式Di(x);
系数计算部,计算能够用所述多项式d(x)将基于对所述多项式选择部选择出的多项式Di(x)乘以系数Δi而得到的多项式ΔiDi(x)构成的多项式除尽的系数Δi;以及
解密部,根据所述系数计算部计算出的系数Δi,用所述解密密钥对所述密文进行解密。
CN201380040471.9A 2012-07-31 2013-07-17 密码系统、密码方法、密码程序以及解密装置 Expired - Fee Related CN104620305B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012170001A JP5814880B2 (ja) 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置
JP2012-170001 2012-07-31
PCT/JP2013/069368 WO2014021102A1 (ja) 2012-07-31 2013-07-17 暗号システム、暗号方法、暗号プログラム及び復号装置

Publications (2)

Publication Number Publication Date
CN104620305A CN104620305A (zh) 2015-05-13
CN104620305B true CN104620305B (zh) 2016-09-28

Family

ID=50027784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380040471.9A Expired - Fee Related CN104620305B (zh) 2012-07-31 2013-07-17 密码系统、密码方法、密码程序以及解密装置

Country Status (7)

Country Link
US (1) US9413531B2 (zh)
EP (1) EP2881930B1 (zh)
JP (1) JP5814880B2 (zh)
KR (1) KR101606317B1 (zh)
CN (1) CN104620305B (zh)
ES (1) ES2645463T3 (zh)
WO (1) WO2014021102A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105210133B (zh) * 2013-05-15 2018-07-17 三菱电机株式会社 加密系统和加密方法
JP6040313B2 (ja) * 2013-08-22 2016-12-07 日本電信電話株式会社 マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CN106031080B (zh) * 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
US10277564B2 (en) 2016-05-04 2019-04-30 Nxp Usa, Inc. Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
JP6974461B2 (ja) * 2016-08-02 2021-12-01 エックス−ロゴス、エルエルシー 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
WO2018047698A1 (ja) * 2016-09-12 2018-03-15 日本電信電話株式会社 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
CN110169010B (zh) * 2017-01-18 2022-09-23 三菱电机株式会社 同态运算装置、加密系统和计算机能读取的存储介质
CN111615809A (zh) * 2018-01-17 2020-09-01 三菱电机株式会社 隐匿分析装置、隐匿分析系统、隐匿分析方法和隐匿分析程序
JP7117964B2 (ja) * 2018-10-04 2022-08-15 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム
US10937339B2 (en) 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613005A (en) * 1994-07-07 1997-03-18 Murata Kikai Kabushiki Kaisha Cipher communication method and device
CN1442978A (zh) * 2002-01-28 2003-09-17 株式会社东芝 数据通信系统、加密装置及解密装置
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101188496A (zh) * 2007-12-10 2008-05-28 中兴通讯股份有限公司 一种短信加密传输方法
JP2011232475A (ja) * 2010-04-27 2011-11-17 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
CN102369687A (zh) * 2009-04-24 2012-03-07 日本电信电话株式会社 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置、程序、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162032B2 (en) * 1999-12-20 2007-01-09 Telenor Asa Encryption of programs represented as polynomial mappings and their computations
WO2004001701A1 (ja) * 2002-06-20 2003-12-31 Hitachi, Ltd. 符号演算装置
AU2003302544A1 (en) * 2002-12-03 2004-06-23 Matsushita Electric Industrial Co., Ltd. Key sharing system, shared key creation device, and shared key restoration device
CN1778066B (zh) * 2003-04-24 2011-10-12 松下电器产业株式会社 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序
EP1766849A1 (en) * 2004-07-08 2007-03-28 Koninklijke Philips Electronics N.V. Method of providing digital certificate functionality
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
JP2010204466A (ja) 2009-03-04 2010-09-16 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping
CN103003857B (zh) * 2010-07-23 2015-03-11 日本电信电话株式会社 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption
CN104011732B (zh) * 2011-12-30 2018-06-15 英特尔公司 双合成域高级加密标准存储器加密引擎

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613005A (en) * 1994-07-07 1997-03-18 Murata Kikai Kabushiki Kaisha Cipher communication method and device
CN1442978A (zh) * 2002-01-28 2003-09-17 株式会社东芝 数据通信系统、加密装置及解密装置
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101188496A (zh) * 2007-12-10 2008-05-28 中兴通讯股份有限公司 一种短信加密传输方法
CN102369687A (zh) * 2009-04-24 2012-03-07 日本电信电话株式会社 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置、程序、存储介质
JP2011232475A (ja) * 2010-04-27 2011-11-17 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置

Also Published As

Publication number Publication date
EP2881930A1 (en) 2015-06-10
CN104620305A (zh) 2015-05-13
KR20150015518A (ko) 2015-02-10
EP2881930A4 (en) 2016-04-06
ES2645463T3 (es) 2017-12-05
JP5814880B2 (ja) 2015-11-17
US20150098566A1 (en) 2015-04-09
WO2014021102A1 (ja) 2014-02-06
EP2881930B1 (en) 2017-09-27
JP2014029415A (ja) 2014-02-13
US9413531B2 (en) 2016-08-09
KR101606317B1 (ko) 2016-03-24

Similar Documents

Publication Publication Date Title
CN104620305B (zh) 密码系统、密码方法、密码程序以及解密装置
KR101386294B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치
CN103348624B (zh) 签名处理系统、密钥生成装置、签名装置、验证装置、签名处理方法以及签名处理程序
CN102415047B (zh) 密码处理系统
CN102598576B (zh) 数据处理装置
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103270719B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法
CN103444126B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置以及密码处理方法
EP2947810B1 (en) Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
CN104160437B (zh) 密码系统以及密码方法
CN103975553B (zh) 数据处理装置以及数据处理方法
CN103946910B (zh) 密码处理系统、密码处理方法以及密钥生成装置
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103004129A (zh) 加密装置、解密装置、加密方法、解密方法、程序及记录介质
CN104718566B (zh) 密码系统
CN101149768A (zh) 一种专用处理器软件的加密和解密方法
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
US20090034716A1 (en) Time apparatus, encryption apparatus, decryption apparatus, and encryption/decryption system
CN103354984B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法
CN105637799B (zh) 加密系统、加密装置、重加密密钥生成装置以及重加密装置
Li et al. Efficient and adaptively secure attribute-based proxy reencryption scheme
JP5651609B2 (ja) 検索可能暗号システム、検索装置、計算装置、及びプログラム
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

Termination date: 20210717