CN102859571B - 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 - Google Patents

密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 Download PDF

Info

Publication number
CN102859571B
CN102859571B CN201180020997.1A CN201180020997A CN102859571B CN 102859571 B CN102859571 B CN 102859571B CN 201180020997 A CN201180020997 A CN 201180020997A CN 102859571 B CN102859571 B CN 102859571B
Authority
CN
China
Prior art keywords
integer
key
key element
group
vector
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
Application number
CN201180020997.1A
Other languages
English (en)
Other versions
CN102859571A (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 CN102859571A publication Critical patent/CN102859571A/zh
Application granted granted Critical
Publication of CN102859571B publication Critical patent/CN102859571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

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

Abstract

本发明的目的在于提供一种具有大量的密码功能的安全性的函数型密码方式。通过在取值范围程序中应用属性矢量的内积,构成了访问架构。该访问架构在取值范围程序的设计、和属性矢量的设计上具有自由度,在访问控制的设计中具有很高的自由度。另外,通过对该访问架构使用秘密分散的概念,实现了具有大量的密码功能的安全性的函数型密码处理。

Description

密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置
技术领域
本发明涉及函数型密码(Functional Encryption,FE)方式。
背景技术
在非专利文献3-6、10、12、13、15、18中,记载了作为函数型密码方式的一个类型的基于ID的密码(Identity-Based Encryption,IBE)方式。另外,在非专利文献2、7、9、16、19、23-26、28中,记载了作为函数型密码方式的一个类型的基于属性的密码(Attribute-Based Encryption,ABE)方式。
非专利文献1:Beimel,A.,Secure schemes for secret sharingand key distribution.PhD Thesis,Israel Institute of Technology,Technion,Haifa,Israel,1996
非专利文献2:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertextpolicy attribute-based encryption.In:2007 IEEESymposium on Security and Privacy,pp.321·34.IEEE Press(2007)
非专利文献3:Boneh,D.,Boyen,X.:Efficient selective-IDsecure identity based encryption without random oracles.In:Cachin,C.,Camenisch,J.(eds.)EUROCRYPT 2004.LNCS,vol.3027,pp.223·38.Springer Heidelberg(2004)
非专利文献4:Boneh,D.,Boyen,X.:Secure identity basedencryption without random oracles.In:Franklin,M.K.(ed.)CRYPTO 2004.LNCS,vol.3152,pp.443·59.Springer Heidelberg(2004)
非专利文献5:Boneh,D.,Boyen,X.,Goh,E.:Hierarchicalidentity based encryption with constant size ciphertext.In:Cramer,R.(ed.)EUROCRYPT 2005.LNCS,vol.3494,pp.440·56.Springer Heidelberg(2005)
非专利文献6:Boneh,D.,Franklin,M.:Identity-basedencryption from the Weil pairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213·29.Springer Heidelberg(2001)
非专利文献7:Boneh,D.,Hamburg,M.:Generalized identitybased and broadcast encryption scheme.In:Pieprzyk,J.(ed.)ASIACRYPT 2008.LNCS,vol.5350,pp.455·70.SpringerHeidelberg(2008)
非专利文献8:Boneh,D.,Katz,J.,Improved efficiencyfor CCA-secure cryptosystems built using identity based encryption.RSA-CT 2005,LNCS,Springer Verlag(2005)
非专利文献9:Boneh,D.,Waters,B.:Conjunctive,subset,and range queries on encrypted data.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535·54.Springer Heidelberg(2007)
非专利文献10:Boyen,X.,Waters,B.:Anonymoushierarchical identity-based encryption(without random oracles).In:Dwork,C.(ed.)CRYPTO 2006.LNCS,vol.4117,pp.290·07.Springer Heidelberg(2006)
非专利文献11:Canetti,R.,Halevi S.,Katz J.,Chosen-ciphertext security from identity-based encryption.EUROCRYPT2004,LNCS,Springer-Verlag(2004)
非专利文献12:Cocks,C.:An identity based encryption schemebased on quadratic residues.In:Honary,B.(ed.)IMAInt.Conf.LNCS,vol.2260,pp.360·63.Springer Heidelberg(2001)
非专利文献13:Gentry,C.:Practical identity-based encryptionwithout random oracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445·64.Springer Heidelberg(2006)
非专利文献14:Gentry,C.,Halevi,S.:Hierarchicalidentity-based encryption with polynomially many levels.In:Reingold,O.(ed.)TCC 2009.LNCS,vol.5444,pp.437·56.SpringerHeidelberg(2009)
非专利文献15:Gentry,C.,Silverberg,A.:HierarchicalID-based cryptography.In:Zheng,Y.(ed.)ASIACRYPT2002.LNCS,vol.2501,pp.548·66.Springer Heidelberg(2002)
非专利文献16:Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-based encryption for fine-grained access controlofencrypted data.In:ACM Conference on Computer andCommunication Security 2006,pp.89·8,ACM(2006)
非专利文献17:Groth,J.,Sahai,A.:Efficient non-interactiveproof systems for bilinear groups.In:Smart,N.P.(ed.)EUROCRYPT 2008.LNCS,vol.4965,pp.415·32.SpringerHeidelberg(2008)
非专利文献18:Horwitz,J.,Lynn,B.:Towards hierarchicalidentity-based encryption.In:Knudsen,L.R.(ed.)EUROCRYPT2002.LNCS,vol.2332,pp.466·81.Springer Heidelberg  (2002)
非专利文献19:Katz,J.,Sahai,A.,Waters,B.:Predicateencryption supporting disjunctions,polynomial equations,andinnerproducts.In:Smart,N.P.(ed.)EUROCRYPT 2008.LNCS,vol.4965,pp.146·62.Springer Heidelberg(2008)
非专利文献20:Lewko,A.B.,Waters,B.:Fully secure HIBEwith short ciphertexts.ePrint,IACR,http://eprint.iacr.org/2009/482
非专利文献21: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·4.Springer Heidelberg(2008)
非专利文献22:Okamoto,T.,Takashima,K.:Hierarchicalpredicate encryption for Inner-Products,In:ASIACRYPT 2009,Springer Heidelberg(2009)
非专利文献23:Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-based encryption with non-monotonic access structures.In:ACM Conference on Computer and Communication Security 2007,pp.195·03,ACM(2007)
非专利文献24:Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secure attribute-based systems.In:ACM ConferenceonComputer and Communication Security 2006,pp.99·12,ACM,(2006)
非专利文献25:Sahai,A.,Waters,B.:Fuzzy identity-basedencryption.In:Cramer,R.(ed.)EUROCRYPT 2005.LNCS,vol.3494,pp.457·73.Springer Heidelberg(2005)
非专利文献26:Shi,E.,Waters,B.:Delegating capabilityin predicate encryption systems.In:Aceto,L.,Damgard,I.,Goldberg,L.A.,Halldosson,M.M.,Ingofsdotir,A.,Walukiewicz,I.(eds.)ICALP(2)2008.LNCS,vol.5126,pp.560·78.Springer Heidelberg(2008)
非专利文献27:Waters,B.:Efficient identity based encryptionwithout random oracles.Eurocrypt 2005,LNCS No.3152,pp.443·59.Springer Verlag,2005.
非专利文献28:Waters,B.:Ciphertext-policy attribute-basedencryption:an expressive,efficient,and provably securerealization.ePrint,IACR,http://eprint.iacr.org/2008/290
非专利文献29:Waters,B.:Dual system encryption:Realizingfully secure IBE and HIBE under simple assumptions.In:Halevi,S.(ed.)CRYPTO 2009.LNCS,vol.5677,pp.619·36.SpringerHeidelberg(2009)
发明内容
本发明的目的在于提供一种具有多功能的密码功能的安全的函数型密码方式。
本发明提供一种密码处理系统,具备密钥生成装置、加密装置、以及解密装置,使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理,其特征在于,
所述密钥生成装置具备:
第1信息输入部,输入作为关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i)、并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组中的某一个的变量ρ(i)、以及L行r列(r是1以上的整数)的规定的矩阵M;以及
解密密钥生成部,根据依据具有r个要素的矢量f以及w、和所述第1信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sLT:=M·f→T、值s0:=w·f→T、以及规定的值θi(i=1,...,L),生成要素k 0、和关于i=1,...,L的各整数i的要素k i,并且
作为基底B 0的基底矢量b 0,p(p是规定的值)的系数而设定值-s0,作为基底矢量b 0,q(q是与所述p不同的规定的值)的系数而设定规定的值κ,而生成要素k 0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底B t的基底矢量b t,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定θivi,i’并生成要素k i,在变量ρ(i)是否定形的组的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定sivi,i’,并生成要素k i
所述加密装置具备:
第2信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;以及
加密数据生成部,根据所述第2信息输入部输入的属性集合Γ,生成要素c0、和关于所述属性集合Γ中包含的各识别信息t的要素ct,并且
生成作为基底B0的基底矢量b0,p(p是所述p)的系数而设定而随机数值δ、作为基底矢量b0,q(q是所述q)的系数而设定了规定的值ζ的要素c0
针对所述属性集合Γ中包含的各识别信息t,生成作为基底Bt的基底矢量bt,i’(i’=1,...,nt)的系数而设定了所述随机数值δ倍后的xt,i’的要素ct
所述解密装置具备:
数据取得部,取得包括所述加密数据生成部生成的要素c0以及要素ct、和所述属性集合Γ的加密数据c;
解密密钥取得部,取得包括所述解密密钥生成部生成的要素k 0以及要素k i、和所述变量ρ(i)的解密密钥skS
补充系数计算部,根据所述数据取得部取得的加密数据c中包含的属性集合Γ、和所述解密密钥取得部取得的解密密钥skS中包含的变量ρ(i),确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积为0的i、和变量ρ(i)是否定形的组并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不为0的i的集合I,并且针对所确定的集合I中包含的i计算在合计了αisi的情况下成为s0的补充系数αi;以及
配对运算部,针对所述加密数据c中包含的要素c0、要素ct、和所述解密密钥skS中包含的要素k 0、要素k i,根据所述补充系数计算部确定的集合I、和所述补充系数计算部计算出的补充系数αi,进行式(1)所示的配对运算,计算值K=gT ζκ
【式1】
本发明的密码处理系统使用取值范围程序(Span Program)和内积谓词来实现函数型密码,实现了多功能的密码功能。另外,相比于以往的函数型密码方式,安全性更高。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s→T的说明图。
图5是执行Key-Policy函数型密码方式的密码处理系统10的结构图。
图6是示出执行Key-Policy函数型密码方式的密码处理系统10的功能的功能框图。
图7是示出Setup算法的处理的流程图。
图8是示出KeyGen算法的处理的流程图。
图9是示出Enc算法的处理的流程图。
图10是示出Dec算法的处理的流程图。
图11是执行Ciphertext-Policy函数型密码方式的算法的密码处理系统10的结构图。
图12是示出执行Ciphertext-Policy函数型密码方式的密码处理系统10的功能的功能框图。
图13是示出KeyGen算法的处理的流程图。
图14是示出Enc算法的处理的流程图。
图15是示出Dec算法的处理的流程图。
图16是签名处理系统20的结构图。
图17是示出签名处理系统20的功能的功能框图。
图18是示出Setup算法的处理的流程图。
图19是示出KeyGen算法的处理的流程图。
图20是示出Sig算法的处理的流程图。
图21是示出Ver算法的处理的流程图。
图22是示出密钥生成装置100、加密装置200、解密装置300、签名装置400以及验证装置500的硬件结构的一个例子的图。
(符号说明)
10:密码处理系统;20:签名处理系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;141:f矢量生成部;142:s矢量生成部;143:随机数生成部;144:密钥要素生成部;145:隐匿要素生成部;150:密钥分发部;160:签名密钥生成部;161:随机数生成部;162:密钥要素生成部;200:加密装置;210:公开参数取得部;220:信息输入部;230:加密数据生成部;231:随机数生成部;232:密码要素生成部;233:f矢量生成部;234:s矢量生成部;240:数据发送部;300:解密装置;310:解密密钥取得部;320:数据接收部;330:取值范围程序计算部;340:补充系数计算部;350:配对运算部;360:明文信息计算部;400:签名装置;410:签名密钥取得部;420:信息输入部;430:补充系数计算部;440:矩阵生成部;450:签名生成部;451:随机数生成部;452:签名要素生成部;460:数据发送部;500:验证装置;510:公开参数取得部;520:数据接收部;530:加密数据生成部;540:配对运算部;531:随机数生成部;532:密码要素生成部;533:f矢量生成部;534:s矢量生成部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述CPU911等。存储装置是后述ROM913、RAM914、磁盘920等。通信装置是后述通信板915等。输入装置是后述键盘902、通信板915等。即,处理装置、存储装置、通信装置、输入装置是硬件。
说明以下的说明中的记载方法。
在A是随机的变量或者分布时,式101表示依照A的分布从A随机地选择y。即,在式101中,y是随机数。
【式101】
y ← R A
在A是集合时,式102表示从A均匀地选择y。即,在式102中,y是均匀随机数(uniform random number)。
【式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
矢量标记表示有限域Fq中的矢量显示。即,是式106。
【式106】
表示
( x 1 , . . . , x n ) ∈ F q n
式107表示式108所示的2个矢量x与v的式109所示的内积。
【式107】
x → · v →
【式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】
bi∈V(i=1,...,n)
【式111】
span < b 1 , . . . , b n > &SubsetEqual; V ( resp . span < x &RightArrow; 1 , . . . , x &RightArrow; n > )
【式112】
b 1 , . . . , b n ( resp . x &RightArrow; 1 , . . . , x &RightArrow; n )
相对式113所示的基底B和基底B,是式114。
【式113】
B:=(b1,...,bN),
B * : = ( b 1 * , . . . , b N * )
【式114】
( x 1 , . . . , x N ) B : = &Sigma; i = 1 N x i b i ,
( y 1 , . . . , y N ) B * : = &Sigma; i = 1 N x i b i *
另外,在以下的说明中,在以下脚标或者上脚标中表示“nt”的情况下,该nt表示nt。同样地,在以下脚标或者上脚标中表示“Vt”的情况下,该Vt表示Vt。同样地,在以上脚标中表示“δi,j”的情况下,该δi,j表示δi,j
另外,表示矢量的“→”附加于下脚标文字或者上脚标文字的情况下,该“→”表示以上脚标附加于下脚标文字或者上脚标文字。
另外,在以下脚标示出表示基底的B0,Bd+1的情况下,该B0,Bd+1分别表示B0,Bd+1。同样地,在以下脚标示出表示基底的B0,Bd+1的情况下,该B0,Bd+1分别表示B 0,B d+1
另外,在以下的说明中,密码处理包括密钥生成处理、加密处理、解密处理,签名处理包括密钥生成处理、签名处理以及验证处理。
实施方式1.
在该实施方式中,说明成为实现之后的实施方式中说明的“函数型密码(Functional Encryption)方式”的基础的概念、和函数型密码的1个结构。
第1,简单说明函数型密码。
第2,说明具有作为用于实现函数型密码的空间的“对偶矢量空间(Dual Pairing Vector Spaces,DPVS)”这样的丰富的数学性的构造的空间。
第3,说明用于实现函数型密码的概念。此处,说明“取值范围程序(Span Program)”、“属性矢量的内积和访问架构”、“秘密分散方式(秘密共享方式)”。
第4,说明该实施方式的“函数型密码方式”。在该实施方式中,说明“Key-Policy函数型密码(Key-Policy Functional Encryption,KP-FE)方式”。因此,首先,说明“Key-Policy函数型密码方式”的基本结构。接下来,说明实现该“Key-Policy函数型密码方式”的“密码处理系统10”的基本结构。然后,详细说明该实施方式的“Key-Policy函数型密码方式”以及“密码处理系统10”。
<第1.函数型密码方式>
函数型密码方式是使加密密钥(encryption-key,ek)、与解密密钥(decryption-key,dk)之间的关系成为更高度化更灵活的密码方式。
在函数型密码方式中,加密密钥和解密密钥分别设定了属性x和属性v。于是,仅限于相对关系R而R(x,v)成立的情况,解密密钥dkv:=(dk,v)能够对用加密密钥ekx:=(ek,x)加密了的密文进行解密。
在函数型密码方式中,存在数据库的访问控制、邮件服务、内容分发等各种应用程序(参照非专利文献2,7,9,16,19,23-26,28)。
在仅限于在R是等号关系的情况、即x=v的情况而R(x,v)成立的情况下,函数型密码方式是基于ID的密码方式。
作为比基于ID的密码方式更一般化的函数型密码方式,有基于属性的密码方式。
在基于属性的密码方式中,对加密密钥和解密密钥设定的属性是属性的组。例如,对加密密钥和解密密钥设定的属性分别是X:=(x1,...,xd)、和V:=(v1,...,vd)。
另外,对于属性的组件,对访问架构S输入每个组件的等号关系(例如,{xt=vt}t∈{1,...,d})。于是,仅在访问架构S受理了输入的情况下,R(X,V)成立。即,能够通过解密密钥对用加密密钥加密了的密文进行解密。
在解密密钥dkV中嵌入有访问架构S的情况下,基于属性的密码(ABE)方式被称为Key-Policy ABE(KP-ABE)。另一方面,在密文中嵌入有访问架构S的情况下,基于属性的密码(ABE)方式被称为Ciphertext-Policy ABE(CP-ABE)。
非专利文献19记载的内积谓词密码(Inner-Product Encryption,IPE)也是函数型密码的1个类型。此处,对加密密钥和解密密钥设定的属性分别是体或者环上的矢量。例如,对加密密钥和解密密钥分别设定x:=(x1,...,xn)∈Fq n和v:=(v1,...,vn)∈Fq n。于是,仅限于x·v=0的情况,R(x,v)成立。
<第2.对偶矢量空间>
首先,说明对称双线性配对组(Symmetric Bilinear PairingGroups)。
对称双线性配对组(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。
在以下的说明中,式115是以1λ为输入,输出以保密参数为λ的双线性配对组的参数paramG:=(q,G,GT,g,e)的值的算法。
【式115】
Gbpg
接下来,说明对偶矢量空间。
对偶矢量空间(q,V,GT,A,e)能够通过对称双线性配对组(paramG:=(q,G,GT,g,e))的直积构成。对偶矢量空间(q,V,GT,A,e)是素数q、式116所示的Fq上的N维矢量空间V、阶数q的循环群GT、空间V的标准基底A:=(a1,...,aN)的组,具有以下的运算(1)(2)。此处,ai如式117所示。
【式116】
【式117】
运算(1):非退化双线性配对
空间V中的配对通过式118定义。
【式118】
e ( x , y ) : = &Pi; i = 1 N e ( G i , H i ) &Element; G T
此处,
(G1,...,GN):=x∈V,
(H1,...,HN):=y∈V
这是非退化双线性。即,在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):畸变映射
式119所示的空间V中的线性变换能够进行式120。
【式119】
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0。
【式120】
此处,
(g1,...gN):=x
此处,将线性变换称为畸变映射。
在以下的说明中,式121是以1λ(λ∈自然数)、N∈自然数、双线性配对组的参数paramG:=(q,G,GT,g,e)的值为输入,而输出保密参数为λ、且设为N维的空间V的对偶矢量空间的参数paramV:=(q,V,GT,A,e)的值的算法。
【式121】
Gdpvs
另外,此处,说明通过上述的对称双线性配对组构成了对偶矢量空间的情况。另外,还能够通过非对称双线性配对组构成对偶矢量空间。易于将以下的说明应用于通过非对称双线性配对组构成了对偶矢量空间的情况。
<第3.用于实现函数型密码的概念>
<第3-1.取值范围程序>
图1是矩阵M^的说明图。
设{p1,...,pn}为变量的集合。M^:=(M,ρ)是带标签的矩阵。此处,矩阵M是Fq上的(L行×r列)的矩阵。另外,ρ是对矩阵M的各行附加的标签,与中的某一个文字常数(literal)对应起来。另外,对M的所有行附加的标签ρi(i=1,...,L)与某一个文字常数对应起来。即,
针对所有输入列δ∈{0,1}n,定义矩阵M的部分矩阵Mδ。矩阵Mδ是由通过输入列δ向标签ρ对应了值“1”的矩阵M的行构成的部分矩阵。即,矩阵Mδ是由与δi=1那样的pi对应起来的矩阵M的行、和与δi=0那样的对应起来的矩阵M的行构成的部分矩阵。
图2是矩阵Mδ的说明图。另外,在图2中,设为n=7,L=6,r=5。即,变量的集合是{p1,...,p7},矩阵M是(6行×5列)的矩阵。另外,在图2中,对于标签ρ,设为ρ1对应于ρ2对应于p1,ρ3对应于p4,ρ4对应于ρ5对应于ρ6对应于p5
此处,设为输入列δ∈{0,1}7是δ1=1,δ2=0,δ3=1,δ4=0,δ5=0,δ6=1,δ7=1。在该情况下,由与虚线包围的文字常数(p1,p3,p6,p7)对应起来的矩阵M的行构成的部分矩阵是矩阵Mδ。即,由矩阵M的第1行(M1)、第2行(M2)、第4行(M4)构成的部分矩阵是矩阵Mδ
换言之,在映射γ:{1,...,L}→{0,1}是[ρ(j)=pi]∧[δi=1]或者的情况下,设为γ(j)=1,在其他情况下,设为γ(j)=0。在该情况下,Mδ:=(Mjγ(j)=1。此处,Mj是矩阵M的第j行。
即,在图2中,是映射γ(j)=1(j=1,2,4),映射γ(j)=0(j=3,5,6)。因此,(Mjγ(j)=1是M1,M2,M4,是矩阵Mδ
即,根据映射γ(j)的值是“0”还是“1”,决定矩阵M的第j行是否包含于矩阵Mδ中。
仅限于1∈span<Mδ>的情况下,取值范围程序M^受理输入列δ,在其他情况下拒绝输入列δ。即,仅限于对通过输入列δ从矩阵M^得到的矩阵Mδ的行进行线性结合而得到1的情况,取值范围程序M^受理输入列δ。另外,1是指,各要素是值“1”的行矢量。
例如,如果是图2的例子,则仅限于对由矩阵M的第1、2、4行构成的矩阵Mδ的各行进行线性结合而得到1的情况,取值范围程序M^受理输入列δ。即,在存在成为α1(M1)+α2(M2)+α4(M4)=1的α1,α2,α4的情况下,取值范围程序M^受理输入列δ。
此处,在标签ρ仅与正的文字常数{p1,...,pn}对应起来了的情况下,取值范围程序被称为单调。另一方面,在标签ρ与文字常数{p1,...,pn}对应起来了的情况下,取值范围程序被称为非单调。此处,取值范围程序设为非单调。然后,使用非单调取值范围程序,来构成访问架构(非单调访问架构)。访问架构简单而言是指进行向密码的访问控制。即,进行可否对密文进行解密的控制。
虽然详细情况后述,但取值范围程序并非单调而是非单调,从而利用取值范围程序构成的函数型密码方式的利用范围扩大。
<第3-2.属性矢量的内积和访问架构>
此处,使用属性矢量的内积来计算上述映射γ(j)。即,使用属性矢量的内积,来决定将矩阵M的哪个行包含于矩阵Mδ
Ut(t=1,...,d且)是部分全集合(sub-universe),是属性的集合。另外,Ut分别包括部分全集合的识别信息(t)、和nt维矢量(v)。即,Ut是(t,v)。此处,t∈{1,...,d},且v∈Fq nt
将Ut:=(t,v)设为取值范围程序M^:=(M,ρ)中的变量p。即,p:=(t,v)。另外,将设为变量(p:=(t,v)、(t’,v’),...)的取值范围程序M^:=(M,ρ)作为访问架构S。
即,访问架构S:=(M,ρ),且 &rho; : { 1 , . . . , L } &RightArrow; { ( t , v &RightArrow; ) , ( t , , v , &RightArrow; ) , . . . , ( t , v &RightArrow; ) &Not; , ( t , , v , &RightArrow; ) , . . . } . &Not;
接下来,将Γ设为属性的集合。即,Γ:={(t,x t)|x t∈Fqnt,1≦t≦d}。
在对访问架构S提供了Γ的情况下,如以下那样地定义针对取值范围程序M^:=(M,ρ)的映射γ:{1,...,L}→{0,1}。关于i=1,...,L的各整数i,在[ρ(i)=(t,v i)]∧[(t,x t)∈Γ]∧[v i·x t=0]、或者、的情况下,设为γ(j)=1,在其他情况下,设为γ(j)=0。
即,根据属性矢量v与x的内积,计算映射γ。然后,如上所述,通过映射γ,决定将矩阵M的哪个行包含于矩阵Mδ。即,通过属性矢量v与x的内积,决定将矩阵M的哪个行包含于矩阵Mδ,仅限于1∈span<(Miγ(i)=1>的情况,访问架构S:=(M,ρ)受理Γ。
<第3-3.秘密分散方式>
说明针对访问架构S:=(M,ρ)的秘密分散方式。
另外,秘密分散方式是指,使秘密信息分散,而设为无意义的分散信息。例如,使秘密信息s分散为10个,生成10个分散信息。此处,10个分散信息的每一个不具有秘密信息s的信息。因此,即使得到某1个分散信息,关于秘密信息s也得不到任何信息。另一方面,如果得到所有的10个分散信息,则能够复原秘密信息s。
另外,还有即使没有得到全部的10个分散信息,只要仅得到一部分(例如,8个)就能够复原秘密信息s的秘密分散方式。将这样地能够通过10个分散信息中的8个复原秘密信息s的情况称为8-out-of-10。即,将能够通过n个分散信息中的t个来复原秘密信息s的情况称为t-out-of-n。将该t称为阈值。
另外,还有在生成了d1,...,d10这10个分散信息的情况下,如果是d1,...,d8为止的8个分散信息则能够复原秘密信息s,但如果是d3,...,d10位置的8个分散信息则无法复原秘密信息s这样的秘密分散方式。即,还有不仅根据得到的分散信息的数量,而且还根据分散信息的组合来控制可否复原秘密信息s的秘密分散方式。
图3是s0的说明图。图4是s→T的说明图。
将矩阵M设为(L行×r列)的矩阵。将f→T设为式122所示的列矢量。
【式122】
f &RightArrow; T : = ( f 1 , . . . f r ) T &LeftArrow; U F q r
将式123所示的s0设为共享的秘密信息。
【式123】
s 0 : = 1 &RightArrow; &CenterDot; f &RightArrow; T : = &Sigma; k = 1 r f k
另外,将式124所示的s→T设为s0的L个分散信息的矢量。
【式124】
s &RightArrow; T : = ( s 1 , . . . , s L ) T : = M &CenterDot; f &RightArrow; T
然后,将分散信息si设为属于ρ(i)。
在访问架构S:=(M,ρ)受理Γ的情况、即针对γ:{1,...,L}→{0,1}而1∈span<(Miγ(i)=1>的情况下,存在 的常数{αi∈Fq|i∈I}。
这也可以根据图2的例子中,在存在成为α1(M1)+α2(M2)+α4(M4)=1的α1,α2,α4的情况下,取值范围程序M^受理输入列δ这样的说明而得知。即,在存在成为α1(M1)+α2(M2)+α4(M4)=1的α1,α2,α4的情况下,如果取值范围程序M^受理输入列δ,则存在成为α1(M1)+α2(M2)+α4(M4)=1的α1,α2,α4
于是,成为式125。
【式125】
i∈Iαisi:=s0
另外,常数{αi}能够通过矩阵M的尺寸的多项式时间来计算。
该实施方式以及以下的实施方式的函数型密码方式如上所述,在取值范围程序中应用内积谓词和秘密分散方式来构成访问架构。因此,通过设计取值范围程序中的矩阵M、内积谓词中的属性信息x以及属性信息v(谓词信息),能够自由地设计访问控制。即,能够以非常高的自由度进行访问控制的设计。另外,矩阵M的设计相当于秘密分散方式的阈值等的条件设计。
例如,上述基于属性的密码方式相当于在该实施方式以及以下的实施方式的函数型密码方式中的访问架构中,将内积谓词的设计限定为某条件的情况。即,相比于该实施方式以及以下的实施方式的函数型密码方式中的访问架构,在基于属性的密码方式中的访问架构中,没有设计内积谓词中的属性信息x以及属性信息v(谓词信息)的自由度,与此对应地,访问控制的设计的自由度低。另外,具体而言,基于属性的密码方式相当于将属性信息{x t}t∈{1,...,d}和{v t}t∈{1,...,d}限定于针对等号关系的2维矢量、例如x t:=(1,xt)和v t:=(vt,-1)的情况。
另外,上述内积谓词密码方式相当于在该实施方式以及以下的实施方式的函数型密码方式中的访问架构中,将取值范围程序中的矩阵M的设计限定为某条件的情况。即,相比于该实施方式以及以下的实施方式的函数型密码方式中的访问架构,在内积谓词密码方式中的访问架构中,与无取值范围程序中的矩阵M的设计的自由度的量对应地,访问控制的设计的自由度低。另外,具体而言,内积谓词密码方式是将秘密分散方式限定为1-out-of-1(或者、d-out-of-d)的情况。
特别地,该实施方式以及以下的实施方式的函数型密码方式中的访问架构构成使用了非单调取值范围程序的非单调访问架构。因此,访问控制的设计的自由度更高。
具体而言,在非单调取值范围程序中,包括否定形的文字常数 所以能够设定否定形的条件。例如,设在第1公司中有A部、B部、C部以及D部这4个部门。此处,设为希望进行仅第1公司的B部以外的部门的用户可访问(可解密)这样的访问控制。在该情况下,如果无法进行否定形的条件设定,则需要设定“属于第1公司的A部、C部以及D部中的某一个”这样的条件。另一方面,如果能够进行否定形的条件设定,则能够设定“第1公司的职员、且属于B部以外”这样的条件。即,能够设定否定形的条件,从而能够进行自然的条件设定。另外,此处,部门的数量少,但在部门的数量多的情况等时,非常有效。
<第4.函数型密码方式的基本结构>
<第4-1.Key-Policy函数型密码方式的基本结构>
简单说明Key-Policy函数型密码方式的结构。另外,Key-Policy是指,在解密密钥中嵌入Policy、即嵌入访问架构。
Key-Policy函数型密码方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ和属性的格式μ:=(d;n1,...,nd),并输出公开参数pk和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是以访问架构S:=(M,ρ)、公开参数pk以及主密钥sk为输入,并输出解密密钥skS的概率性的算法。
(Enc)
Enc算法是以消息m、作为属性的集合的Γ:={(t,x t)|x t∈Fq nt,1≦t≦d}、以及公开参数pk为输入,并输出加密数据c的概率性的算法。
(Dec)
Dec算法是以在作为属性的集合的Γ下加密了的加密数据c、针对访问架构S的解密密钥skS、以及公开参数pk为输入,并输出消息m、或者识别信息⊥的算法。
在Key-Policy函数型密码方式中,针对所有的访问架构S和属性的集合Γ、正确地生成的公开参数pk、主密钥sk以及式126所示的密文c,在访问架构S受理属性的集合Γ的情况下为m=Dec(pk,skS,c)、在访问架构S拒绝属性的集合Γ的情况下为m=Dec(pk,skS,c)的概率是可忽略的程度。
【式126】
c &LeftArrow; R Enc ( pk , m , &Gamma; )
<第4-2.密码处理系统10>
说明执行上述Key-Policy函数型密码方式的算法的密码处理系统10。
图5是执行Key-Policy函数型密码方式的密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100以保密参数λ、和属性的格式μ:=(d;n1,...,nd)为输入而执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100以访问架构S为输入而执行KeyGen算法,生成解密密钥skS并秘密地分发给解密装置300。
加密装置200以消息m、属性的集合Γ以及公开参数pk为输入而执行Enc算法,生成加密数据c。加密装置200将所生成的加密数据c发送给解密装置300。
解密装置300以公开参数pk、解密密钥skS以及加密数据c为输入而执行Dec算法,并输出消息m或者识别信息⊥。
<第4-3.Key-Policy函数型密码方式以及密码处理系统10的详细内容>
根据图6至图10,说明Key-Policy函数型密码方式、以及执行Key-Policy函数型密码方式的密码处理系统10的功能和动作。
图6是示出执行Key-Policy函数型密码方式的密码处理系统10的功能的功能框图。密码处理系统10如上所述,具备密钥生成装置100、加密装置200、解密装置300。
图7和图8是示出密钥生成装置100的动作的流程图。另外,图7是示出Setup算法的处理的流程图,图8是示出KeyGen算法的处理的流程图。图9是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图10是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
另外,在以下的说明中,设为xt,1:=1。
说明密钥生成装置100的功能和动作。密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130(第1信息输入部)、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备f矢量生成部141、s矢量生成部142、随机数生成部143、密钥要素生成部144。
首先,根据图7,说明Setup算法的处理。
(S101:标准正交基底生成步骤)
主密钥生成部110通过处理装置来计算式127,生成paramμ→,针对t=0,...,d的各整数t,生成基底Bt以及基底B t
【式127】
(1)
input 1 &lambda; , &mu; &RightArrow; : = ( d ; n 1 . . . , n d )
(2)
param G : = ( q , G , G T , g , e ) &LeftArrow; R G bpg ( 1 &lambda; )
(3)
&psi; &LeftArrow; U F q &times; , N 0 : = 5 , N t : = 4 n t for t = 1 , . . . , d
针对t=0,...,d的各t,执行(4)至(8)的处理。
(4)
param V t : = ( q , V t , G T , A t , e ) : = G dpvs ( 1 &lambda; , N t , param G )
(5)
X t : = ( &chi; t , i , j ) i , j &LeftArrow; U GL ( N t , F q )
(6)
( &nu; t , i , j ) i , j : = &psi; &CenterDot; ( X t T ) - 1
(7)
B t : = ( b t , 1 , . . . , b t , N t )
(8)
B t * : = ( b t , 1 * , . . . , b t , N t * )
(9)
gT:=e(g,g)ψ,
param &mu; &RightArrow; : = ( { param V t } t = 0 , . . . , d , g T )
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110通过输入装置而输入保密参数λ(1λ)、和属性的格式此处,d是1以上的整数,针对t=1,...,d为止的各整数t,nt是1以上的整数。
(2)主密钥生成部110以在(1)中输入的保密参数λ(1λ)为输入,通过处理装置执行算法Gbpg,生成双线性配对组的参数paramG:=(q,G,GT,g,e)的值。
(3)主密钥生成部110通过处理装置生成随机数ψ,并且对N0设定5,针对t=1,...,d的各整数t对Nt设定4nt
接下来,主密钥生成部110针对t=0,...,d的各整数t执行以下的(4)至(8)的处理。
(4)主密钥生成部110以在(1)中输入的保密参数λ(1λ)、在(3)中设定的Nt、以及在(2)中生成的paramG:=(q,G,GT,g,e)的值为输入,通过处理装置执行算法Gdpvs,生成对偶矢量空间的参数paramVt:=(q,VT,GT,At,e)的值。
(5)主密钥生成部110以在(3)中设定的Nt、和Fq为输入,通过处理装置随机地生成线性变换Xt:=(χt,i,ji,j。另外,GL是GeneralLinear的缩写。即,GL是一般线性组,是行列式不为0的方阵的集合,关于乘法为组。另外,(χt,i,ji,j是与矩阵χt,i,j的下标i,j相关的矩阵的意思,此处,i,j=1,...,nt
(6)主密钥生成部110通过处理装置,根据随机数ψ和线性变换Xt而生成(νt,i,ji,j:=ψ·(Xt T-1。另外,(νt,i,ji,j也与(χt, i,ji,j同样地,是与矩阵νt,i,j的下标i,j相关的矩阵的意思,此处,i,j=1,...,nt
(7)主密钥生成部110通过处理装置,根据在(5)中生成的线性变换Xt,依据在(4)中生成的标准基底At生成基底Bt
(8)主密钥生成部110通过处理装置,根据在(6)中生成的(νt, i,ji,j,依据在(4)中生成的标准基底At生成基底B t
(9)主密钥生成部110通过处理装置,对gT设定e(g,g)ψ。另外,主密钥生成部110对paramμ→设定在(4)中生成的{paramVt}t=0,..., d、和gT。另外,针对t=0,...,d和i=1,...,Nt的各整数t,i,gT=e(bt,i,b t,i)。
即,在(S101)中,主密钥生成部110执行式128所示的算法Gob,生成paramμ→,针对t=0,...,d的各整数t,生成基底Bt以及基底B t
【式128】
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如式129所示,生成在(S101)中生成的基底B0的部分基底B^0,针对t=1,...,d的各整数t生成部分基底B^t
【式129】
主密钥生成部110将所生成的部分基底B^0以及部分基底B^t、在(S101)中输入的保密参数λ(1λ)、和在(S101)中生成的paramμ→合起来,设为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如式130所示,生成在(S101)中生成的基底B 0的部分基底B^ 0,针对t=1,...,d的各整数t生成部分基底B^ t
【式130】
主密钥生成部110将所生成的部分基底B^ 0和部分基底B^ t设为主密钥sk。
(S104:主密钥存储步骤)
主密钥存储部120将包括在(S102)中针对t=0,...,d的各整数t生成的部分基底B^t的公开参数pk存储到存储装置。另外,主密钥存储部120将包括在(S103)中针对t=0,...,d的各整数t生成的部分基底B^ t的主密钥sk存储到存储装置。
即,在(S101)至(S103)中,主密钥生成部110执行式131所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S104)中,主密钥存储部120将所生成的公开参数pk和主密钥sk存储到存储装置。
另外,公开参数例如经由网络而被公开,成为加密装置200、解密装置300可取得的状态。
【式131】
接下来,根据图8,说明KeyGen算法的处理。
(S201:信息输入步骤)
信息输入部130通过输入装置,输入上述访问架构S:=(M,ρ)。另外,对于访问架构S的矩阵M的设定,根据希望实现的系统的条件来设定。另外,对于访问架构S的ρ,例如,设定解密密钥skS的使用者的属性信息。
(S202:f矢量生成步骤)
f矢量生成部141通过处理装置,如式132所示,随机地生成具有r个要素的矢量f
【式132】
f &RightArrow; &LeftArrow; U F q r
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,根据在(S201)中输入的访问架构S中包含的(L行×r列)的矩阵M、和在(S202)中生成的矢量f,如式133所示,生成矢量s→T:=(s1,...,sLT
【式133】
s &RightArrow; T : = ( s 1 , . . . , s L ) T : = M &CenterDot; f &RightArrow; T
另外,s矢量生成部142通过处理装置,根据在(S202)中生成的矢量f,如式134所示,生成值s0
【式134】
s 0 : = 1 &RightArrow; &CenterDot; f &RightArrow; T
(S204:随机数生成步骤)
随机数生成部143通过处理装置,如式135所示,生成随机数η0,并针对i=1,...,L的各整数i生成随机数θi
【式135】
&eta; 0 , &theta; i &LeftArrow; U F q ( i = 1 , . . . , L )
(S205:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式136所示,生成解密密钥skS的要素k 0
【式136】
k 0 * : = ( - s 0 , 0,1 , &eta; 0 , 0 ) B 0 *
另外,如上所述,在式113中,针对基底B和基底B,是式114。因此,式136表示,作为基底B 0的基底矢量b 0,1的系数设定-s0,作为基底矢量b 0,2的系数设定0,作为基底矢量b 0,3的系数设定1,作为基底矢量b 0,4的系数设定η0,作为基底矢量b 0,5的系数设定0。
另外,密钥要素生成部144通过处理装置,针对i=1,...,L的各整数i,如式137所示,生成解密密钥skS的要素k i
【式137】
即,式137与式136同样地,表示在ρ(i)是肯定形的组(t,v i)的情况下,作为基底B t的基底矢量b t,1的系数设定siivi,1,作为基底矢量b t,2,...,b t,nt的系数设定θivi,2,...,θivi,nt,作为基底矢量b t,nt+1,...,b t,2nt的系数设定0,作为基底矢量b t,2nt+1,...,b t, 3nt的系数设定ηi,1,...,ηi,nt,作为基底矢量b t,3nt+1,...,b t,4nt的系数设定0。
另一方面,表示在ρ(i)是否定形的组的情况下,作为基底B t的基底矢量b t,1,...,b t,nt的系数设定sivi,1,...,sivi, nt,作为基底矢量b t,nt+1,...,b t,2nt的系数设定0,作为基底矢量b t, 2nt+1,...,b t,3nt的系数设定ηi,1,...,ηi,nt,作为基底矢量b t,3nt+1,...,b t,4nt的系数设定0。
(S206:密钥分发步骤)
密钥分发部150将以在(S201)中输入的访问架构S、和在(S205)中生成的k 0,k 1,...,k L为要素的解密密钥skS例如通过通信装置经由网络秘密地分发给解密装置300。当然,解密密钥skS也可以通过其他方法分发给解密装置300。
即,在(S201)至(S205)中,信息输入部130和解密密钥生成部140执行式138所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥分发部150将所生成的解密密钥skS分发到解密装置300。
【式138】
说明加密装置200的功能和动作。加密装置200具备公开参数取得部210、信息输入部220(第2信息输入部)、加密数据生成部230、数据发送部240(数据输出部)。另外,加密数据生成部230具备随机数生成部231、密码要素生成部232。
根据图9,说明Enc算法的处理。
(S301:公开参数取得步骤)
公开参数取得部210例如通过通信装置经由网络,取得密钥生成装置100生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置,输入向解密装置300发送的消息m。另外,信息输入部220通过输入装置,输入属性的集合Γ:={(t,x t:=(xt,1,...,xt,nt∈Fqnt))|1≦t≦d}。另外,t也可以不是1以上d以下的所有整数,而是1以上d以下的至少一部分的整数。另外,对于属性的集合Γ,例如,设定了可解密的用户的属性信息。
(S303:随机数生成步骤)
随机数生成部231通过处理装置,如式139所示,生成随机数δ、随机数ζ。
【式139】
&delta; , &phi; 0 , &phi; t , 1 , . . . , &phi; t , n t , &zeta; &LeftArrow; U F q such that ( t , x &RightArrow; t ) &Element; &Gamma;
(S304:密码要素生成步骤)
密码要素生成部232通过处理装置,如式140所示,生成加密数据c的要素c0
【式140】
c 0 : = ( &delta; , 0 , &zeta; , 0 , &phi; 0 ) B 0
另外,密码要素生成部232通过处理装置,针对Γ中包含的(t,x t)的各整数t,如式141所示,生成加密数据c的要素ct
【式141】
另外,密码要素生成部232通过处理装置,如式142所示,生成加密数据c的要素cd+1
【式142】
c d + 1 : = g T &zeta; m
(S305:数据发送步骤)
数据发送部240将以在(S302)中输入的属性的集合Γ、和在(S304)中生成的c0,ct,cd+1为要素的加密数据c例如通过通信装置经由网络发送给解密装置300。当然,加密数据c也可以通过其他方法发送给解密装置300。
即,在(S301)至(S304)中,公开参数取得部210、信息输入部220、加密数据生成部230执行式143所示的Enc算法,生成加密数据c。然后,在(S305)中,数据发送部240将所生成的加密数据c发送给解密装置300。
【式143】
说明解密装置300的功能和动作。解密装置300具备解密密钥取得部310、数据接收部320(数据取得部)、取值范围程序计算部330、补充系数计算部340、配对运算部350、明文信息计算部360。
根据图10,说明Dec算法的处理。
(S401:解密密钥取得步骤)
解密密钥取得部310例如通过通信装置经由网络,取得从密钥生成装置100分发的解密密钥skS:=(S,k 0,k 1,...,k L)。另外,解密密钥取得部310取得密钥生成装置100生成的公开参数pk。
(S402:数据接收步骤)
数据接收部320例如通过通信装置经由网络,接收加密装置200发送的加密数据c。
(S403:取值范围程序计算步骤)
取值范围程序计算部330通过处理装置,判定在(S401)中取得的解密密钥skS中包含的访问架构S是否受理在(S402)中接收到的加密数据c中包含的Γ。访问架构S是否受理Γ的判定方法如“第3.用于实现函数型密码的概念”中的说明的那样。
取值范围程序计算部330在访问架构S受理Γ的情况(在S403中受理)下,使处理进入(S404)。另一方面,在访问架构S拒绝Γ的情况(在S403中拒绝)下,设为无法用解密密钥skS对加密数据c进行解密而结束处理。
(S404:补充系数计算步骤)
补充系数计算部340通过处理装置,计算成为式144的I、和常数(补充系数){αi}i∈I
【式144】
(S405:配对运算步骤)
配对运算部350通过处理装置,计算式145,生成会话密钥K=gT ζ
【式145】
另外,如式146所示,通过计算式145而得到密钥K=gT ζ
【式146】
(S406:明文信息计算步骤)
明文信息计算部360通过处理装置,计算m’=cd+1/K,生成消息m’(=m)。另外,cd+1如式142所示,是gT ζm,K是gT ζ,所以如果计算m’=cd+1/K,则得到消息m。
即,在(S401)至(S406)中,解密装置300执行式147所示的Dec算法,来生成消息m’(=m)。
【式147】
如上所述,密码处理系统10利用使用取值范围程序、内积谓词以及秘密分散构成的访问架构S,来实现密码方式(函数型密码方式)。因此,密码处理系统10实现能够以非常高的自由度进行访问控制的设计的密码方式。
另外,密码处理系统10实现的密码方式的安全性非常高。如上所述,在函数型密码方式的1个类型(最限定的类型)中有基于ID的密码。相比于既存的实用的基于ID的密码,密码处理系统10实现的密码方式在某种意义上安全性也更高。
另外,在上述说明中,在(S101)的(3)中将N0设定为5,将Nt设定为4nt(=nt+nt+nt+nt)。因此,基底At、基底Bt、基底B t都是4nt+5维。
但是,也可以设nt+nt+nt+nt为nt+ut+wt+zt。即,也可以将第1个nt原样地设为nt,将第2个nt设为ut,将第3个nt设为wt,将第4个nt设为zt。即,也可以将Nt设定为nt+ut+wt+zt。此处,nt,ut,wt,zt也可以是分别不同的值,如上所述nt是1以上的整数,ut,wt,zt都是0以上的整数。
在该情况下,如式148那样地改写式131所示的Setup算法。即,基底B^t和基底B^ t的基底矢量的下标被变更。
【式148】
另外,如式149那样地改写式138所示的KeyGen算法。
【式149】
另外,如式150那样地改写式143所示的Enc算法。
【式150】
另外,在式147所示的Dec算法中没有变更。
另外,N0也可以不是5而是2以上的整数。如果N0是2,则基底B0和基底B 0成为2维。在该情况下,在KeyGen算法中,设为k 0:=(-s0,1)B*0,在Enc算法中,设为c0:=(δ,ζ)B0即可。
另外,在上述说明中,在KeyGen算法中,设为k 0:=(-s0,0,1,η0,0)B*0。但是,也可以使用规定的值κ,而设为k 0:=(-s0,0,κ,η0,0B*0。在该情况下,成为通过Dec算法计算的K:=gζκ T,所以在Enc算法中,设为cd+1:=gζκ Tm即可。
另外,在上述说明中,对于vi,nt的值没有特别限定。但是,也可以根据安全性的证明的观点,限定为vi,nt:=1。
另外,根据安全性的证明的观点,关于i=1,...,L的各整数i的ρ(i)也可以限定为关于分别不同的识别信息t的肯定形的组(t,v)或者否定形的组
换言之,在ρ(i)=(t,v)或者的情况下,将函数ρ~设为是ρ~(i)=t的{1,...,L}→{1,...d}的映射。在该情况下,也可以限定为ρ~是单映射。另外,ρ(i)是上述访问架构S:=(M,ρ(i))的ρ(i)。
实施方式2.
在该实施方式中,说明“Ciphertext-Policy函数型密码(Ciphertext-Policy Functional Encryption,CP-FE)方式”。另外,在该实施方式中说明的“Ciphertext-Policy函数型密码方式”也根据在实施方式1中说明的概念而构成。
在该实施方式中,首先,说明“Ciphertext-Policy函数型密码方式”的基本结构。接下来,说明实现该“Ciphertext-Policy函数型密码方式”的“密码处理系统10”的基本结构。然后,详细说明该实施方式的“Ciphertext-Policy函数型密码方式”以及“密码处理系统10”。
<Ciphertext-Policy函数型密码方式的基本结构>
简单说明Ciphertext-Policy函数型密码方式的结构。另外,Ciphertext-Policy是指,在密文中嵌入Policy、即嵌入访问架构。
Ciphertext-Policy函数型密码方式与Key-Policy函数型密码方式同样地,具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ和属性的格式μ:=(d;n1,...,nd),并输出公开参数pk和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是以作为属性的集合的Γ:={(t,x t)|x t∈Fq nt,1≦t≦d}、公开参数pk以及主密钥sk为输入,并输出解密密钥skΓ的概率性的算法。
(Enc)
Enc算法是以消息m、访问架构S:=(M,ρ)以及公开参数pk为输入,并输出加密数据c的概率性的算法。
(Dec)
Dec算法是以在访问架构S下加密的加密数据c、针对作为属性的集合的Γ的解密密钥skΓ、以及公开参数pk为输入,并输出消息m或者识别信息⊥的算法。
在Ciphertext-Policy函数型密码方式中,针对所有访问架构S和属性的集合Γ、正确地生成的公开参数pk、主密钥sk以及式151所示的密文c,在访问架构S受理属性的集合Γ的情况下为m=Dec(pk,skΓ,c)、在访问架构S拒绝属性的集合Γ的情况下成为m=Dec(pk,skΓ,c)的概率是可忽略的程度。
【式151】
c &LeftArrow; R Enc ( pk , m , S )
<密码处理系统10>
说明执行上述Ciphertext-Policy函数型密码方式的算法的密码处理系统10。
图11是密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100以保密参数λ、属性的格式μ:=(d;n1,...,nd)为输入而执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100以属性的集合Γ为输入而执行KeyGen算法,生成解密密钥skΓ并秘密地分发给解密装置300。
加密装置200以消息m、访问架构S以及公开参数pk为输入而执行Enc算法,生成加密数据c。加密装置200将所生成的加密数据c发送给解密装置300。
解密装置300以公开参数pk、解密密钥skΓ以及加密数据c为输入而执行Dec算法,输出消息m或者识别信息⊥。
<Ciphertext-Policy函数型密码方式以及密码处理系统10的详细内容>
根据图12至图15,说明Ciphertext-Policy函数型密码方式、以及执行Ciphertext-Policy函数型密码方式的密码处理系统10的功能和动作。
图12是示出执行Ciphertext-Policy函数型密码方式的密码处理系统10的功能的功能框图。如上所述,密码处理系统10具备密钥生成装置100、加密装置200以及解密装置300。
图13是示出密钥生成装置100的动作的流程图,是示出KeyGen算法的处理的流程图。另外,Setup算法与Key-Policy函数型密码方式的情况相同,所以此处省略说明。图14是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图15是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
另外,在以下的说明中,设为xt,1:=1。
说明密钥生成装置100的功能和动作。密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130(第1信息输入部)、解密密钥生成部140以及密钥分发部150。另外,解密密钥生成部140具备随机数生成部143、密钥要素生成部144。
如上所述,Setup算法与Key-Policy函数型密码方式的情况相同,如式131所示。
根据图13,说明KeyGen算法的处理。
(S501:信息输入步骤)
信息输入部130通过输入装置,输入属性的集合Γ:={(t,x t:=(xt,1,...,xt,nt∈Fq nt))|1≦t≦d}。另外,对于属性的集合Γ,例如,设定了解密密钥skΓ的使用者的属性信息。
(S502:随机数生成步骤)
随机数生成部143通过处理装置,如式152所示,生成随机数δ、随机数
【式152】
&delta; , &phi; 0 , &phi; t , 1 , . . . , &phi; t , n t , &zeta; &LeftArrow; U F q such that ( t , x &RightArrow; t ) &Element; &Gamma;
(S503:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式153所示,生成解密密钥skΓ的要素k 0
【式153】
k 0 * : = ( &delta; , 0,1 , &phi; 0 , 0 ) B 0 *
另外,密钥要素生成部144通过处理装置,针对Γ中包含的(t,x t)的各整数t,如式154所示,生成解密密钥skΓ的要素k t
【式154】
(S504:密钥分发步骤)
密钥分发部150将以在(S501)中输入的属性的集合Γ、和在(S503)中生成的k 0,k t为要素的解密密钥skΓ例如通过通信装置经由网络秘密地分发给解密装置300。当然,解密密钥skΓ也可以通过其他方法分发到解密装置300。
即,在(S501)至(S503)中,信息输入部130和解密密钥生成部140执行式155所示的KeyGen算法,生成解密密钥skΓ。然后,在(S504)中,密钥分发部150将所生成的解密密钥skΓ分发给解密装置300。
【式155】
说明加密装置200的功能和动作。加密装置200具备公开参数取得部210、信息输入部220(第2信息输入部)、加密数据生成部230、数据发送部240(数据输出部)。另外,加密数据生成部230具备随机数生成部231、密码要素生成部232、f矢量生成部233、s矢量生成部234。
根据图14,说明Enc算法的处理。
(S601:公开参数取得步骤)
公开参数取得部210例如通过通信装置经由网络,取得密钥生成装置100生成的公开参数pk。
(S602:信息输入步骤)
信息输入部220通过输入装置,输入访问架构S:=(M,ρ)。另外,对于访问架构S的设定,根据希望实现的系统的条件来设定。另外,对于访问架构S的ρ,例如,设定了可解密的用户的属性信息。
另外,信息输入部220通过输入装置,输入向解密装置300发送的消息m。
(S603:f矢量生成步骤)
f矢量生成部233通过处理装置,如式156所示,随机地生成具有r个要素的矢量f
【式156】
f &RightArrow; &LeftArrow; U F q r
(S604:s矢量生成步骤)
s矢量生成部234通过处理装置,根据在(S602)中输入的访问架构S中包含的(L行×r列)的矩阵M、和在(S603)中生成的矢量f,如式157所示,生成矢量s→T:=(s1,...,sL)T
【式157】
s &RightArrow; T : = ( s 1 , . . . , s L ) T : = M &CenterDot; f &RightArrow; T
另外,s矢量生成部234通过处理装置,根据在(S603)中生成的矢量f,如式158所示,生成值s0
【式158】
s 0 : = 1 &RightArrow; &CenterDot; f &RightArrow; T
(S605:随机数生成步骤)
随机数生成部231通过处理装置,如式159所示,生成随机数η0、关于i=l,...,L的各整数i生成随机数θi以及随机数ζ。
【式159】
&eta; 0 , &theta; i , &zeta; &LeftArrow; U F q ( i = 1 , . . . , L )
(S606:密码要素生成步骤)
密码要素生成部232通过处理装置,如式160所示,生成加密数据c的要素c0
【式160】
c 0 : = ( - s 0 , 0 , &zeta; , 0 , &eta; 0 ) B 0
另外,密码要素生成部232通过处理装置,针对i=1,...,L的各整数i,如式161所示,生成加密数据c的要素ci
【式161】
另外,密码要素生成部232通过处理装置,如式162所示,生成加密数据c的要素cd+1
【式162】
c d + 1 : = g T &zeta; m
(S607:数据发送步骤)
数据发送部240将以在(S602)中输入的访问架构S、和在(S606)中生成的c0,c1,...,cL,cd+1为要素的加密数据c例如通过通信装置经由网络发送给解密装置300。当然,加密数据c也可以通过其他方法发送到解密装置300。
即,在(S601)至(S606)中,公开参数取得部210、信息输入部220、加密数据生成部230执行式163所示的Enc算法,生成加密数据c。然后,在(S607)中,数据发送部240将所生成的加密数据c发送给解密装置300。
【式163】
说明解密装置300的功能和动作。解密装置300具备解密密钥取得部310、数据接收部320(数据取得部)、取值范围程序计算部330、补充系数计算部340、配对运算部350、明文信息计算部360。
根据图15,说明Dec算法的处理。
(S701:解密密钥取得步骤)
解密密钥取得部310例如通过通信装置经由网络,取得从密钥生成装置100分发的解密密钥skΓ。另外,解密密钥取得部310取得密钥生成装置100生成的公开参数pk。
(S702:数据接收步骤)
数据接收部320例如通过通信装置经由网络,接收加密装置200发送的加密数据c。
(S703:取值范围程序计算步骤)
取值范围程序计算部330通过处理装置,判定在(S702)中取得的加密数据c中包含的访问架构S是否受理在(S701)中接收到的解密密钥skΓ中包含的Γ。访问架构S是否受理Γ的判定方法如“第3.用于实现函数型密码的概念”中说明的那样。
取值范围程序计算部330在访问架构S受理Γ的情况(在S703中受理)下,使处理进入(S704)。另一方面,在访问架构S拒绝Γ的情况(在S703中拒绝)下,设为无法通过解密密钥skΓ对加密数据c进行解密而结束处理。
(S704)至(S706)与实施方式1中的图9所示的(S404)和(S406)相同。
即,在(S701)至(S706)中,解密密钥取得部310、数据接收部320、取值范围程序计算部330、补充系数计算部340、配对运算部350执行式164所示的Dec算法,生成消息m’(=m)。
【式164】
实施方式2的密码处理系统10与实施方式1的密码处理系统10同样地,实现能够以非常高的自由度进行访问控制的设计的密码方式。另外,实施方式2的密码处理系统10与实施方式1的密码处理系统10同样地,其安全性高。
另外,也可以与实施方式1同样地,设Nt=nt+nt+nt+nt为nt+ut+wt+zt。即,也可以将第1个nt原样地设为nt,将第2个nt设为ut,将第3个nt设为wt,将第4个nt设为zt。即,也可以将Nt设定为nt+ut+wt+zt。此处,nt,ut,wt,zt也可以是分别不同的值,如上所述,nt是1以上的整数,ut,wt,zt都是0以上的整数。
在该情况下,与实施方式1同样地如式148那样地改写Setup算法。
另外,如式165那样地改写式155所示的KeyGen算法。
【式165】
另外,如式166那样地改写式163所示的Enc算法。
【式166】
另外,在式164所示的Dec算法中无变更。
另外,N0也可以不是5而是2以上的整数即可。如果N0是2,则基底B0和基底B 0成为2维。在该情况下,在KeyGen算法中,设为k 0:=(δ,1)B*0,在Enc算法中,设为c0:=(-s0,ζ)B0即可。
另外,在上述说明中,在KeyGen算法中,设为 但是,也可以使用规定的值κ,设为 在该情况下,成为通过Dec算法计算的K:=gζκ T,所以在Enc算法中,设为cd+1:=gζκ Tm即可。
另外,在上述说明中,对于vi,nt的值,没有特别限定。但是,也可以根据安全性的证明的观点,限定为vi,nt:=1。
另外,根据安全性的证明的观点,关于i=1,...,L的各整数i的ρ(i)也可以限定为关于分别不同的识别信息t的肯定形的组(t,v)或者否定形的组
换言之,将函数ρ设为在ρ(i)=(t,v)或者 的情况下是ρ~(i)=t的{1,...,L}→{1,...d}的映射。在该情况下,也可以限定于ρ~是单映射。另外,ρ(i)是上述访问架构S:=(M,ρ(i))的ρ(i)。
另外,在实施方式1中,说明了使解密密钥skS具有访问架构S,使加密数据c具有属性集合Γ的Key-Policy函数型密码。另外,在实施方式2中,说明了使加密数据c具有访问架构S,使解密密钥skΓ具有属性集合Γ的Ciphertext-Policy函数型密码。
但是,也可以准备2个访问架构S1和S2,使解密密钥具有一方的访问架构S1,使加密数据c具有另一方的访问架构S2,并且使解密密钥具有与访问架构S2对应的属性集合Γ2,使加密数据c具有与访问架构S1对应的属性集合Γ1。另外,也可以设为仅在访问架构S1受理了属性集合Γ1、并且访问架构S2受理了属性集合Γ2的情况下,能够用解密密钥对加密数据c进行解密。
即,也可以设为组合了Key-Policy函数型密码和Ciphertext-Policy函数型密码的组合的密码方式。
实施方式3.
在该实施方式中,说明应用了在实施方式2中说明的“Ciphertext-Policy函数型密码方式”的签名方式。
在该实施方式中,首先,说明“基于Ciphertext-Policy函数型密码方式的签名方式”的基本结构。接下来,说明实现该“签名方式”的“签名处理系统20”的基本结构。然后,详细说明该实施方式的“签名方式”以及“签名处理系统20”。
<基于Ciphertext-Policy函数型密码方式的签名方式的基本结构>
基于Ciphertext-Policy函数型密码方式的签名方式具备Setup、KeyGen、Sig、Ver这4个算法。
(Setup)
Setup算法是输入保密参数λ、和属性的格式μ:=(d;n1,...,nd),并输出公开参数pk和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是以作为属性的集合的Γ:={(t,x t)|x t∈Fq nt,1≦t≦d}、公开参数pk以及主密钥sk为输入,并输出签名密钥skΓ的概率性的算法。
(Sig)
Sig算法是以消息m、签名密钥skΓ、访问架构S:=(M,ρ)、以及公开参数pk为输入,并输出签名数据sig的概率性的算法。
Ver算法是以消息m、访问架构S:=(M,ρ)、签名数据sig、以及公开参数pk为输入,并输出表示签名的验证成功了的值“1”、或者输出表示签名的验证失败了的值“0”的算法。
<签名处理系统20>
说明执行上述签名处理的算法的签名处理系统20。
图16是签名处理系统20的结构图。
签名处理系统20具备密钥生成装置100、签名装置400、验证装置500。
密钥生成装置100以保密参数λ、和属性的格式μ:=(d;n1,...,nd)为输入而执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100以属性的集合Γ为输入而执行KeyGen算法,生成签名密钥skΓ并秘密地分发给签名装置400。
签名装置400以消息m、访问架构S、公开参数pk以及签名密钥skΓ为输入而执行Sig算法,来生成签名矢量s→*。签名装置400将所生成的签名矢量s→*、消息m以及访问架构S发送给验证装置500。
验证装置500以签名矢量s→*、消息m、访问架构S以及公开参数pk为输入而执行Ver算法,输出值“1”或者值“0”。
<签名方式以及签名处理系统20的详细内容>
根据图17至图21,说明签名方式以及签名处理系统20的功能和动作。
图17是示出签名处理系统20的功能的功能框图。如上所述,签名处理系统20具备密钥生成装置100、签名装置400、验证装置500。
图18和图19是示出密钥生成装置100的动作的流程图。图18是示出Setup算法的处理的流程图,图19是示出KeyGen算法的处理的流程图。图20是示出签名装置400的动作的流程图,是示出Sig算法的处理的流程图。图21是示出验证装置500的动作的流程图,是示出Ver算法的处理的流程图。
另外,在以下的说明中,设为xt,1:=1。
说明密钥生成装置100的功能和动作。密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130(第1信息输入部)、签名密钥生成部160、密钥分发部150。另外,签名密钥生成部160具备随机数生成部161、密钥要素生成部162、隐匿要素生成部163。
首先,根据图18,说明Setup算法的处理。
(S801:标准正交基底生成步骤)
主密钥生成部110通过处理装置,计算式167,生成paramμ→,针对针对t=0,...,d+2的各整数t,生成基底Bt以及基底B t
【式167】
(1)
input 1 &lambda; , &mu; &RightArrow; : = ( d ; n 1 . . . , n d )
(2)
param G : = ( q , G , G T , g , e ) &LeftArrow; R G bpg ( 1 &lambda; )
(3)
&psi; &LeftArrow; U F q &times; , n 0 : = n d + 1 : = 1 , n d + 2 : = 2 , N t : = 4 n t for t = 0 , . . . , d + 2
针对t=0,...,d+2的各t,执行(4)至(8)的处理。
(4)
param V t : = ( q , V t , G T , A t , e ) : = G dpvs ( 1 &lambda; , N t , param G )
(5)
X t : = ( &chi; t , i , j ) i , j &LeftArrow; U GL ( N t , F q )
(6)
( &nu; t , i , j ) i , j : = &psi; &CenterDot; ( X t T ) - 1
(7)
B t : = ( b t , 1 , . . . , b t , N t )
(8)
B t * : = ( b t , 1 * , . . . , b t , N t * )
(9)
gT:=e(g,g)ψ,
param &mu; &RightArrow; : = ( { param V t } t = 0 , . . . , d + 2 , g T )
对于式167,仅说明与实施方式1中的(S101)所示的式127不同的部分。首先,在式167中,在(3)中对n0,nd+1设定1,对nd+2设定2。然后,针对t=0,...,d+2的各整数t,对Nt设定4nt。然后,针对t=0,...,d+2的各整数t重复进行(4)至(8)的处理。
即,在(S801)中,主密钥生成部110执行式168所示的算法Gob,生成paramμ→,针对t=0,...,d+2的各整数t,生成基底Bt以及基底B t
【式168】
(S802:部分基底B^t生成步骤)
主密钥生成部110通过处理装置,针对t=1,...,d+2的各整数t,如式169所示,生成部分基底B^t
【式169】
(S803:部分基底B^ t生成步骤)
主密钥生成部110通过处理装置,针对t=1,...,d+2的各整数t,如式170所示,生成部分基底B^ t
【式170】
B ^ t * : = ( b t , 1 * , . . . , b t , n t * , b t , 2 n t + 1 * , . . . , b t , 3 n t * )
(S804:主密钥存储步骤)
主密钥生成部110将关于t=0,...,d+2的各整数t的部分基底B^t、关于t=1,...,d+2的各整数t的部分基底B^ 0、基底矢量b 0,3、在(S101)中输入的保密参数λ(1λ)、以及在(S101)中生成的paramμ→合起来,设为公开参数pk。
另外,主密钥生成部110将基底矢量b 0,1作为主密钥sk。
然后,主密钥存储部120将公开参数pk和主密钥sk存储到存储装置。
即,在(S801)至(S803)中,主密钥生成部110执行式171所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S804)中,主密钥存储部120将所生成的公开参数pk和主密钥sk存储到存储装置。
另外,公开参数例如经由网络而被公开,成为签名装置400、验证装置500可取得的状态。
【式171】
接下来,根据图19,说明KeyGen算法的处理。
(S901:信息输入步骤)
信息输入部130通过输入装置,输入属性的集合Γ:={(t,x t:=(xt,1,...,xt,nt∈Fq nt))|1≦t≦d}。另外,对于属性的集合Γ,例如,设定了签名密钥skΓ的使用者的属性信息。
(S902:随机数生成步骤)
随机数生成部161通过处理装置,针对t=1,...,d、ι=1,...,nt的各整数t和ι,如式172所示,生成随机数δ、随机数
【式172】
&delta; , &phi; 0 , &phi; t , i , &phi; d + 2 , i , &phi; d + 3 , i &LeftArrow; U F q
for t=1,.,d,ι=1,.,nt
(S903:密钥要素生成步骤)
密钥要素生成部162通过处理装置,如式173所示,生成签名密钥skΓ的要素k 0
【式173】
k 0 * : = ( &delta; , 0 , &phi; 0 , 0 ) B 0 *
另外,密钥要素生成部162通过处理装置,针对Γ中包含的(t,x t)的各整数t,如式174所示,生成签名密钥skΓ的要素k t
【式174】
另外,密钥要素生成部162通过处理装置,如式175所示,生成签名密钥skΓ的要素k d+2和要素k d+3
【式175】
k d + 2 * : = ( &delta; ( 1,0 ) , 0,0 , &phi; d + 2,1 , &phi; d + 2,2 , 0,0 ) B d + 2 * ,
k d + 3 * : = ( &delta; ( 0,1 ) , 0,0 , &phi; d + 3,1 , &phi; d + 3,2 , 0,0 ) B d + 2 *
(S904:密钥分发步骤)
密钥分发部150将以在(S901)中输入的属性的集合Γ、和在(S903)中生成的k 0,k t,k d+2,k d+3为要素的签名密钥skΓ例如通过通信装置经由网络秘密地分发给签名装置400。当然,签名密钥skΓ也可以通过其他方法分发给签名装置400。
即,在(S901)至(S903)中,信息输入部130和签名密钥生成部160执行式176所示的KeyGen算法,生成签名密钥skΓ。然后,在(S904)中,密钥分发部150将所生成的签名密钥skΓ分发给签名装置400。
【式176】
说明签名装置400的功能和动作。签名装置400具备签名密钥取得部410、信息输入部420(第2信息输入部)、补充系数计算部430、矩阵生成部440、签名生成部450、数据发送部460(数据输出部)。另外,签名生成部450具备随机数生成部451、签名要素生成部452。
根据图20,说明Sig算法的处理。
(S1001:签名密钥取得步骤)
签名密钥取得部410例如通过通信装置经由网络,取得从密钥生成装置100分发的签名密钥skΓ:=(Γ,k 0,k t,k d+2,k d+3)。另外,签名密钥取得部410取得密钥生成装置100生成的公开参数pk。
(S1002:信息输入步骤)
信息输入部420通过输入装置,输入访问架构S:=(M,ρ)。另外,设为此处输入的访问架构S受理在(S1001)中输入的签名密钥skΓ中包含的属性的集合Γ。
另外,信息输入部420通过输入装置,输入附加签名的消息m。
(S1003:补充系数计算步骤)
补充系数计算部430通过处理装置,计算成为式177的I、和常数(补充系数){αi}i∈I
【式177】
另外,Mi是指矩阵M的第i行。
(S1004:行追加步骤)
矩阵生成部440通过处理装置,如式178所示,生成对矩阵M追加的矢量ML+1及其标签ρ(L+1)。
【式178】
M L + 1 : = 1 &RightArrow; &Element; F q r ,
&rho; ( L + 1 ) : = &Not; ( d + 1 , v &RightArrow; L + 1 )
此处,设为v L+1:=(1)。
(S1005:随机数生成步骤)
随机数生成部451通过处理装置,如式179所示,生成随机数ξ。
【式179】
&xi; &LeftArrow; U F q
(S1006:签名要素生成步骤)
签名要素生成部452通过处理装置,如式180所示,生成作为签名矢量s 的要素的s 0
【式180】
s 0 * : = &xi; k 0 * + r 0 *
此处,
r 0 * &LeftArrow; U span < b 0,3 * >
另外,签名要素生成部452通过处理装置,针对i=1,...,L+1的各整数i,如式181所示,生成作为签名矢量s→*的要素的s i
【式181】
s i * : = &gamma; i &CenterDot; &xi; k t * + &beta; i &CenterDot; ( &Sigma; &iota; = 1 n t y i , &iota; &CenterDot; b t , &iota; * ) + r i *
此处,如以下那样地定义
r i * &LeftArrow; U span < b t , 2 n t + 1 * , . . . , b t , 3 n t * >
另外,如以下那样地定义γi
另外,如以下那样的定义βi
{ &beta; i } &LeftArrow; U { { &beta; i } | &Sigma; i = 1 L + 1 &beta; i M i = 0 &RightArrow; }
另外,签名要素生成部452通过处理装置,如式182所示,生成作为签名矢量s→*的要素的s L+2
【式182】
s L + 2 * : = &xi; ( k d + 2 * + m &CenterDot; k d + 3 * ) + r L + 2 *
此处,
r L + 2 * &LeftArrow; U span < b d + 2,5 * , b d + 2,6 * >
(S1007:数据发送步骤)
数据发送部460将包括在(S1002)中输入的消息m、访问架构S:=(M,ρ)、以及在(S1006)中生成的s*→的签名数据sig例如通过通信装置经由网络发送给验证装置500。当然,签名数据sig也可以通过其他方法发送给验证装置500。
即,在(S1001)至(S1006)中,签名密钥取得部410、信息输入部420、补充系数计算部430、矩阵生成部440、签名生成部450执行式183所示的Sig算法,生成签名数据sig。然后,在(S1007)中,数据发送部460将所生成的签名数据发送给验证装置500。
【式183】
说明验证装置500的功能和动作。验证装置500具备公开参数取得部510、数据接收部520(数据取得部)、加密数据生成部530、配对运算部540。加密数据生成部530具备随机数生成部531、密码要素生成部532、f矢量生成部533、s矢量生成部534。
根据图21,说明Ver算法的处理。
(S1101:公开参数取得步骤)
公开参数取得部510例如通过通信装置经由网络,取得密钥生成装置100生成的公开参数pk。
(S1102:数据接收步骤)
数据接收部520例如通过通信装置经由网络,接收签名装置400发送的签名数据sig。
(S1103:f矢量生成步骤)
f矢量生成部533通过处理装置,如式184所示,随机地生成具有r个要素的矢量f
【式184】
f &RightArrow; &LeftArrow; R F q r
(S1104:s矢量生成步骤)
s矢量生成部534通过处理装置,根据在(S1102)中接收到的访问架构S中包含的(L行×r列)的矩阵M、和在(S1103)中生成的矢量f,如式185所示,生成矢量s→T:=(s1,...,sLT
【式185】
s &RightArrow; T : = ( s 1 , . . . , s L ) T : = M &CenterDot; f &RightArrow; T
另外,s矢量生成部534通过处理装置,根据在(S1103)中生成的矢量f,如式186所示,生成值s0和值sL+1
【式186】
s 0 : = s L + 1 : = 1 &RightArrow; &CenterDot; f &RightArrow; T
(S1105:随机数生成步骤)
随机数生成部531通过处理装置,针对i=1,...,L+2的各整数i,如式187所示,生成随机数η0,ηL+2、1,ηL+2、2,θi,sL+2
【式187】
&eta; 0 , &eta; L + 2,1 , &eta; L + 2,2 , &theta; i , s L + 2 &LeftArrow; U F q
(S1106:密码要素生成步骤)
密码要素生成部532通过处理装置,如式188所示,生成加密数据c的要素c0
【式188】
c0:=(-s0-sL+2,0,0,η0)B0
另外,密码要素生成部532通过处理装置,针对i=1,...,L+1的各整数i,如式189所示,生成加密数据c的要素ci
【式189】
另外,密码要素生成部532通过处理装置,如式190所示,生成加密数据c的要素cL+2
【式190】
cL+2:=(sL+2L+2m,θL+2,0,0,0,0,ηL+2,1,ηL+2,2)Bd+2
(S1107:配对运算步骤)
配对运算部540通过处理装置,计算式191。
【式191】
&Sigma; i = 0 L + 2 e ( c i , s i * )
另外,此处,设为 &rho; ( L + 1 ) : = ( d + 1 , v &RightArrow; L + 1 : = ( 1 ) ) &Not; .
在配对运算部540中,如果计算式191而得到的结果是值“1”则输出值“1”,如果是其他值则输出值“0”。此处,如果计算式191而得到的结果是值“1”则表示签名能够验证,如果是其他值,则表示签名无法验证。
另外,如式192所示,如果签名数据sig是正确的数据,则通过计算式191而得到值“1”。
【式192】
&Pi; i = 0 L + 2 e ( c i , s i * ) = e ( c 0 , s 0 * ) &CenterDot; &Pi; i &Element; I e ( c i , k i * ) &xi;&gamma; i &CenterDot; &Pi; i = 1 L + 1 e ( c i , &Pi; &iota; = 1 n t ( b t , &iota; * ) y i , &iota; ) &beta; i &CenterDot; e ( c L + 2 , s L + 2 * )
= g T &xi;&delta; ( - s 0 - s L + 2 ) &CenterDot; &Pi; i &Element; I g T &xi;&delta; &alpha; i s i &CenterDot; &Pi; i = 1 L + 1 g T &beta; i s i &CenterDot; g T &xi;&delta;s L + 2
= g T &xi;&delta; ( - s 0 - s L + 2 ) &CenterDot; g T &xi;&delta;s 0 &CenterDot; g T &xi;&delta;s L + 2 = 1
即,在(S1101)至(S1107)中,公开参数取得部510、数据接收部520、加密数据生成部530、配对运算部540执行式193所示的Ver算法,验证签名数据sig。
【式193】
如上所述,签名处理系统20利用使用取值范围程序、内积谓词、以及秘密分散而构成的访问架构S,实现签名方式。
另外,在Sig算法中,使用随机数ξ、随机数r来生成签名矢量s→*的要素的原因是为了使作为签名矢量s→*的要素的生成源的信息的签名密钥skΓ的要素k的变量δ、变量随机化。通过使签名密钥skΓ的要素k的变量δ、变量随机化,能够防止从作为签名数据的要素的s→*读取这些变量。即,能够防止读取签名数据是根据哪个签名密钥skΓ生成的。即,能够提高链路能力。
另外,在上述说明中,将(S801)的Nt设定为4nt(=nt+nt+nt+nt)。
但是,也可以使nt+nt+nt+nt成为nt+ut+wt+zt。即,也可以将第1个nt原样地设为nt,将第2个nt设为ut,将第3个nt设为wt,将第4个nt设为zt。即,也可以将Nt设定为nt+ut+wt+zt。此处,nt,ut,wt,zt也可以是分别不同的值,如上所述,nt是1以上的整数,ut,wt,zt都是0以上的整数。
在该情况下,如式194那样的改写式171所示的Setup算法。即,基底B^t和基底B^ t的基底矢量的下标被变更。
【式194】
另外,如式195那样的改写式176所示的KeyGen算法。
【式195】
另外,如式196那样地改写式183所示的Sig算法。
【式196】
另外,如式197那样地改写式193所示的Ver算法。
【式197】
另外,N0、Nd+1也可以不是4而是1以上的整数即可。如果N0是1,则基底B0和基底B 0成为1维。在该情况下,在KeyGen算法中,设为k 0,j:=(δ)B*0,在Ver算法中,设为c0:=(-s0-sL+2B0即可。
另外,Nd+2也可以不是8而是2以上的整数即可。如果Nd+2是2,则基底Bd+2和基底B d+2成为2维。在该情况下,在KeyGen算法中,设为k d+2:=(δj(1,0))B*d+2、k d+3:=(δj(0,1))B*d+2,在Ver算法中,设为c0:=(sL+2L+2m,θL+2Bd+2即可。
另外,在上述说明中,对于vi,nt的值,没有特别限定。但是,也可以根据安全性的证明的观点,限定为vi,nt:=1。
另外,也可以根据安全性的证明的观点,将关于i=1,...,L的各整数i的ρ(i)分别设为关于不同的识别信息t的肯定形的组(t,v)或者否定形的组
换言之,将函数ρ设为在ρ(i)=(t,v)或者 的情况下是ρ~(i)=t的{1,...,L}→{1,...d}的映射。在该情况下,ρ~也可以是单映射。另外,ρ(i)是上述访问架构S:=(M,ρ(i))的ρ(i)。
另外,在上述说明中,在Sig算法中,在行追加步骤(S1004)中,对矩阵M,作为第L+1行而追加了矢量ML+1的1行。但是,对于对矩阵M追加的行,只要是1行以上,则也可以是任意行。另外,设为追加了的ML+1:=1。但是,所追加的行不限于1而也可以是其他矢量。
另外,在上述说明中,设为追加了的第L+1行的标签 但是,所追加的行的标签的设定不限于此,只要使处理成立即可。
即,在Ver算法的配对运算步骤(S1107)中进行了配对运算的情况下,以使所追加的行的信息为0的方式来设定所追加的行、所追加的行的标签即可。
另外,在所追加的行是2行以上的情况下,有时需要根据所追加的行数来变更Sig算法、Ver算法中的处理的重复次数。
另外,也可以为了提高签名处理的安全性,也可以如式198那样地变更式171所示的Setup算法,如式199那样地变更式183所示的Sig算法。
【式198】
【式199】
即,在Setup算法中生成设定了随机数值的隐匿矢量p t,ι,在Sig算法中使用该隐匿矢量p t,ι来生成签名矢量s→*的要素s i的点被变更了。另外,在Setup算法中,不是将基底B^ t包含于公开参数pk而是包含于主密钥sk而设为秘密的点被变更了。由此,签名处理的安全性变高。
另外,即使在这样变更了Setup算法和Sig算法的情况下,如式200所示,只要签名数据sig是正确的数据,则在算法中,通过计算配对运算就能得到值“1”。
【式200】
&Pi; i = 0 L + 2 e ( c i , s i * ) = e ( c 0 , s 0 * ) &CenterDot; &Pi; i &Element; I e ( c i , k i * ) &xi;&gamma; i &CenterDot; &Pi; i = 1 L + 1 e ( c i , &Pi; &iota; = 1 n t ( b t , &iota; * ) y i , &iota; ) &beta; i &CenterDot; e ( c L + 2 , s L + 2 * )
= g T &xi;&delta; ( - s 0 - s L + 2 ) &CenterDot; &Pi; i &Element; I g T &xi;&delta; &alpha; i s i &CenterDot; &Pi; i = 1 L + 1 g T &beta; i s i &CenterDot; g T &xi;&delta;s L + 2
= g T &xi;&delta; ( - s 0 - s L + 2 ) &CenterDot; g T &xi;&delta;s 0 &CenterDot; g T &xi;&delta;s L + 2 = 1
另外,在Ver算法中,在密码要素生成步骤(S1106)中,也可以不生成c0而设为cL+2:=(s0L+2m,θL+2,0,0,0,0,ηL+2,1,ηL+2, 2)。另外,也可以在配对运算步骤(S1107)中计算Πi=1 L+2e(ci,s i)。
即,在上述说明中,在用随机数sL+2来结合c0和cL+2并进行了配对运算的情况下,在c0与cL+2之间,sL+2被消除了。但是,也可以预先不使用sL+2,而简化处理。
在该情况下,无需在KeyGen算法中生成k 0。同样地,无需在Sig算法中生成s 0
实施方式4.
在实施方式1中,说明了也可以根据安全性的证明的观点而将关于i=1,...,L的各整数i的ρ(i)设为关于分别不同的识别信息t的肯定形的组(t,v)或者否定形的组即,说明了ρ~也可以是单映射。但是,ρ~也可以并非单映射。
在该情况下,也可以根据安全性的证明的观点,如以下那样地变更在实施方式1中说明过的Key-Policy函数型密码的Setup算法、KeyGen算法、Enc算法。此处,仅说明关于实施方式1中说明的Key-Policy函数型密码的各算法的变更部分。
在该实施方式中,将设为式201所示的值。
【式201】
对于Setup算法,在输入了(1λ,μ:=(d;n1,...,nd))的情况下,执行Setup(1λ,μ’:=(d;n1’,...,nd’))。此处,对于t=1,...,d的各整数t,
对于KeyGen算法,设k i的生成方法如式202所示。
【式202】
对于Enc算法,设ct的生成方法如式203所示。
【式203】
此处,仅针对实施方式1中说明的Key-Policy函数型密码,说明了ρ~并非单映射时的处理的变更方法。但是,也可以根据同样的考虑方法,变更在其他实施方式中说明的密码处理、签名处理。
实施方式5.
在以上的实施方式中,说明了在双重矢量空间中实现密码处理以及签名处理的方法。在该实施方式中,说明在对偶模(dual module)中实现密码处理以及签名处理的方法。
即,在以上的实施方式中,在素数阶数q的循环群中实现了密码处理。但是,在使用复合数M如式204那样表示了环R的情况下,即使在以环R为系数的模块(module)中,也能够应用在上述实施方式中说明的密码处理。
【式204】
R:=Z/MZ
此处,
Z:整数
M:复合数
例如,如果在以环R为系数的模块中实现在实施方式1中说明的Key-Policy函数型密码,则如式205至式208所示。
【式205】
此处,
【式206】
【式207】
【式208】
此处,示出了在以环R为系数的模块中仅实现在实施方式1中说明的Key-Policy函数型密码的方法。但是,作为原则,通过将在以上的实施方式中说明为体Fq的处理置换为环R,对于在以上的实施方式中说明的其他密码处理、签名处理,也能够在以环R为系数的模块中实现。
另外,对于以上的实施方式中的Setup算法,在密码处理系统10或者签名处理系统20的安装(set up)时执行一次即可,而无需每次生成解密密钥都执行。另外,在上述说明中,设为由密钥生成装置100执行Setup算法和KeyGen算法,但也可以由分别不同的装置执行Setup算法和KeyGen算法。
另外,在以上的实施方式中,对于取值范围程序M^,设为仅限于对通过输入列δ从矩阵M^得到的矩阵Mδ的行进行线性结合而得到1的情况,受理输入列δ。但是,对于取值范围程序M^,也可以设为仅限于得到其他矢量v而非1的情况下,受理输入列δ。
在该情况下,在KeyGen算法中设为s0:=v·f→T而非s0:=1·f→T即可。同样地,在Sig算法中计算αi时,计算成为Σi∈IαiMi=v的αi即可。
另外,在上述说明中的密码处理中,还能够进行权限的转让。权限的转让是指,具有解密密钥的人生成权限比该解密密钥弱的下位的解密密钥。此处,权限弱是指可解密的加密数据受限定的意思。
例如,在第1层次(最上位)中,使用t=1的基底Bt和基底B t,在第2层次中,使用t=1,2的基底Bt和基底B t,…,在第k层次中,使用t=1,...,k的基底Bt和基底B t。伴随所使用的基底Bt和基底B t的增加,相应地设定更多的属性信息。因此,进一步限定了解密密钥的权限。
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300)、和签名处理系统20(密钥生成装置100、签名装置400、验证装置500)的硬件结构。
图22是示出密钥生成装置100、加密装置200、解密装置300、签名装置400、验证装置500的硬件结构的一个例子的图。
如图22所示,密钥生成装置100、加密装置200、解密装置300、签名装置400、验证装置500具备执行程序的CPU911(Central·Processing·Unit、还称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。CPU911经由总线912而与ROM913、RAM914、LCD901(Liquid Crystal 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。由CPU911、操作系统921、视窗系统922执行程序组923的程序。
在程序组923中,存储有执行在上述的说明中说明为“主密钥生成部110”、“主密钥存储部120”、“信息输入部130”、“解密密钥生成部140”、“密钥分发部150”、“公开参数取得部210”、“信息输入部220”、“加密数据生成部230”、“数据发送部240”、“解密密钥取得部310”、“数据接收部320”、“取值范围程序计算部330”、“补充系数计算部340”、“配对运算部350”、“明文信息计算部360”、“签名密钥取得部410”、“信息输入部420”、“补充系数计算部430”、“签名生成部450”、“数据发送部460”、“公开参数取得部510”、“数据接收部520”、“加密数据生成部530”、“配对运算部540”等的功能的软件、程序以及其他程序。程序由CPU911读出并执行。
在文件组924中,作为“文件”、“数据库”的各项目而存储在上述的说明中说明为“公开参数pk”、“主密钥sk”、“加密数据c”、“解密密钥skS”、“解密密钥skΓ”、“访问架构S”、“属性的集合Γ”、“消息m”、“签名数据sig”等的信息、数据、信号值、变量值、参数。“文件”、“数据库”存储于盘、存储器等记录介质。由CPU911经由读写电路将盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数读出到主存储器、闪存存储器,用于提取、检索、参照、比较、运算、计算、处理、输出、印刷、显示等CPU911的动作。在提取、检索、参照、比较、运算、计算、处理、输出、印刷、显示的CPU911的动作的期间,将信息、数据、信号值、变量值、参数临时存储到主存储器、闪存存储器、缓冲存储器。
另外,上述说明的流程图的箭头的部分主要表示数据、信号的输入输出,将数据、信号值记录到RAM914的存储器、其他光盘等记录介质、IC芯片。另外,通过总线912、信号线、电缆以及其他传送介质、电波,在线传送数据、信号。
另外,在上述说明中说明为“~部”的部分可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,也可以是“~步骤”、“~阶段”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~仪器”、“~单元”、“~功能”,并且也可以是“~步骤”、“~阶段”、“~处理”。进而,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM913中存储的固件实现。或者,也可以仅通过软件、或者仅通过元件·器件·基板·布线等硬件、或者通过软件和硬件的组合、进而通过与固件的组合来实施。将固件和软件作为程序存储到ROM913等记录介质。程序由CPU911读出并由CPU911执行。即,程序用于使计算机等作为在上述中叙述的“~部”发挥功能。或者,使计算机等执行在上述中叙述的“~部”的步骤、方法。

Claims (15)

1.一种密码处理系统,其特征在于,具备密钥生成装置、加密装置以及解密装置,使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理,
所述密钥生成装置具备:
第1信息输入部,输入变量ρ(i)以及L行r列(r是1以上的整数)的规定的矩阵M,上述变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;以及
解密密钥生成部,根据依据具有r个要素的矢量f以及w和所述第1信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T、以及规定的值θi(i=1,...,L),生成要素k* 0和关于i=1,...,L的各整数i的要素k* i,即
作为基底B 0的基底矢量b 0,p(p是规定的值)的系数而设定值-s0,作为基底矢量b 0,q(q是与所述p不同的规定的值)的系数而设定规定的值κ,从而生成要素k 0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底B t的基底矢量b t,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定θivi,i’,从而生成要素k* i,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定sivi, i’,从而生成要素k i
所述加密装置具备:
第2信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;以及
加密数据生成部,根据所述第2信息输入部输入的属性集合Γ,生成要素c0、和关于所述属性集合Γ中包含的各识别信息t的要素ct,即
生成作为基底B0的基底矢量b0,p(p是所述p)的系数设定了随机数值δ,并且作为基底矢量b0,q(q是所述q)的系数设定了规定的值ζ的要素c0
针对所述属性集合Γ中包含的各识别信息t,生成作为基底Bt的基底矢量bt,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素ct
所述解密装置具备:
数据取得部,取得包括所述加密数据生成部生成的要素c0以及要素ct、和所述属性集合Γ的加密数据c;
解密密钥取得部,取得包括所述解密密钥生成部生成的要素k 0以及要素k i、和所述变量ρ(i)的解密密钥skS
补充系数计算部,根据所述数据取得部取得的加密数据c中包含的属性集合Γ、和所述解密密钥取得部取得的解密密钥skS中包含的变量ρ(i),确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i计算在合计了αisi的情况下成为s0的补充系数αi;以及
配对运算部,针对所述加密数据c中包含的要素c0、要素ct、和所述解密密钥skS中包含的要素k 0、要素k i,根据所述补充系数计算部确定的集合I、和所述补充系数计算部计算出的补充系数αi,计算式(1)所示的配对运算,计算值K=gT ζκ
【式1】
2.根据权利要求1所述的密码处理系统,其特征在于,
所述密码处理系统使用至少具有基底矢量b0,i(i=1,...,5)的基底B0、至少具有基底矢量bt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,zt是1以上的整数)的基底Bt(t=1,...,d)、至少具有基底矢量b 0,i(i=1,...,5)的基底B 0、以及至少具有基底矢量b t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底B t(t=1,...,d),执行密码处理,
所述密钥生成装置的所述解密密钥生成部根据随机数值η0和规定的值κ生成式(2)所示的要素k 0,并且在变量ρ(i)是肯定形的组(t,v i)的情况下,根据随机数值θi,ηi,i’(i=1,...,L,i’=1,...,wt),生成式(3)所示的要素k i,在变量ρ(i)是否定形的组(t,v i)的情况下,根据随机数值ηi,i’(i=1,...,L,i’=1,...,wt),生成式(4)所示的要素k i
所述加密装置的所述加密数据生成部根据随机数值δ,和规定的值ζ生成式(5)所示的要素c0,并且根据所述随机数值δ,(i=1,...,zt),生成式(6)所示的要素ct
【式2】
【式3】
【式4】
【式5】
【式6】
3.一种密钥生成装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,生成解密密钥skS,该密钥生成装置具备:
第1信息输入部,输入变量ρ(i)以及L行r列(r是1以上的整数)的规定的矩阵M,该变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;
解密密钥生成部,根据依据具有r个要素的矢量f以及w、和所述第1信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T、以及规定的值θi(i=1,...,L),生成要素k 0、和关于i=1,...,L的各整数i的要素k i,即
作为基底B 0的基底矢量b 0,p(p是规定的值)的系数而设定值-s0,作为基底矢量b 0,q(q是与所述p不同的规定的值)的系数而设定规定的值κ,从而生成要素k 0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底B t的基底矢量b t,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定θivi,i’,从而生成要素k i,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量b t,i’的系数而设定sivi, i’,从而生成要素k i;以及
密钥分发部,将包括所述第1信息输入部输入的变量ρ(i)、和所述解密密钥生成部生成的要素k 0以及要素k i的数据作为解密密钥skS分发。
4.一种加密装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,生成加密数据c,该加密装置具备:
第2信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;
加密数据生成部,根据所述第2信息输入部输入的属性集合Γ,生成要素c0、和关于所述属性集合Γ中包含的各识别信息t的要素ct,即
生成作为基底B0的基底矢量b0,p(p是规定的值)的系数设定了随机数值δ,且作为基底矢量b0,q(q是与所述p不同的规定的值)的系数设定了规定的值ζ的要素c0
针对所述属性集合Γ中包含的各识别信息t,生成作为基底Bt的基底矢量bt,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素ct;以及
数据输出部,将所述第2信息输入部输入的属性集合Γ、和所述加密数据生成部生成的要素c0以及要素ct作为加密数据c输出。
5.一种解密装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,用解密密钥skS对加密数据c进行解密,该解密装置具备:
数据取得部,作为加密数据c,与属性集合Γ一起取得针对t=1,...,d的至少1个以上的整数t而根据具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的所述属性集合Γ生成的要素c0、和要素ct(所述属性集合Γ中包含的各整数)、即
作为基底B0的基底矢量b0,p(p是规定的值)的系数设定了随机数值δ、且作为基底矢量b0,q(q是与所述p不同的规定的值)的系数设定了规定的值ζ的要素c0、和
针对所述属性集合Γ中包含的各识别信息t,作为基底Bt的基底矢量bt,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素ct
解密密钥取得部,作为解密密钥skS,与变量ρ(i)一起取得根据依据具有r个(r是1以上的整数)要素的矢量f以及w和L行r列的规定的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T及值s0:=w·f→T、规定的值θi(i=1,...,L)、以及是关于i=1,...,L(L是1以上的整数)的各整数i的所述变量ρ(i)且是识别信息t(t=1,...,d中的某一个整数)以及属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个的变量ρ(i)生成的要素k 0、和要素k i(i=1,...,L的各整数)、即
作为基底B 0的基底矢量b 0,p(p是所述p)的系数设定了值-s0、作为基底矢量b 0,q(q是所述q)的系数设定了规定的值κ的要素k 0
是针对i=1,...,L的各整数i而在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底B t的基底矢量b t, 1的系数设定了siivi,1、且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量b t,i’的系数设定了θivi,i’的要素k i,且是在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量b t,i’的系数设定了sivi,i’的要素k i
补充系数计算部,根据所述数据取得部取得的加密数据c中包含的属性集合Γ、和所述解密密钥取得部取得的解密密钥skS中包含的变量ρ(i),确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i计算在合计了αisi的情况下成为s0的补充系数αi;以及
配对运算部,针对所述加密数据c中包含的要素c0以及要素ct、和所述解密密钥skS中包含的要素k 0以及要素k i,根据所述补充系数计算部确定的集合I、和所述补充系数计算部计算出的补充系数αi,进行式(7)所示的配对运算而计算值K=gT ζκ
【式7】
6.一种密码处理系统,其特征在于,具备密钥生成装置、加密装置以及解密装置,使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理,
所述密钥生成装置具备:
第1信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;以及
解密密钥生成部,根据所述第1信息输入部输入的属性集合Γ,生成要素k 0、和关于所述属性集合Γ中包含的各识别信息t的要素k t,即
生成作为基底B 0的基底矢量b 0,p(p是规定的值)的系数设定了随机数值δ,且作为基底矢量b 0,q(q是与所述p不同的规定的值)的系数设定了规定的值κ的要素k 0
针对所述属性集合Γ中包含的各识别信息t,生成作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素k t
所述加密装置具备:
第2信息输入部,输入变量ρ(i)、以及L行r列(r是1以上的整数)的规定的矩阵M,该变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;以及
加密数据生成部,根据依据具有r个要素的矢量f以及w、和所述第2信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T、以及规定的值θi(i=1,...,L),生成要素c0和关于i=1,...,L的各整数i的要素ci,即
作为基底B0的基底矢量b0,p(p是所述p)的系数,设定值-s0,作为基底矢量b0,q(q是所述q)的系数设定规定的值ζ,从而生成要素c0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底Bt的基底矢量bt,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定θivi,i’,从而生成要素ci,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定sivi,i’,从而生成要素ci
所述解密装置具备:
数据取得部,取得包括所述加密数据生成部生成的要素c0以及要素ct、和所述变量ρ(i)的加密数据c;
解密密钥取得部,取得包括所述解密密钥生成部生成的要素k 0以及要素k i、和所述属性集合Γ的解密密钥skΓ
补充系数计算部,根据关于所述数据取得部取得的加密数据c中包含的i=1,...,L的各整数i的变量ρ(i)、和所述解密密钥取得部取得的解密密钥skΓ中包含的属性集合Γ,确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i计算在合计了αisi的情况下成为s0的补充系数αi;以及
配对运算部,针对所述加密数据c中包含的要素c0以及要素ct、和所述解密密钥skΓ中包含的要素k 0以及要素k i,根据所述补充系数计算部确定的集合I、和所述补充系数计算部计算出的补充系数αi,进行式(8)所示的配对运算而计算值K=gT ζκ
【式8】
7.根据权利要求6所述的密码处理系统,其特征在于,
所述密码处理系统使用至少具有基底矢量b0,i(i=1,...,5)的基底B0、至少具有基底矢量bt,i(i=1,...,nt,...,nt+u,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,zt是1以上的整数)的基底Bt(t=1,...,d)、至少具有基底矢量b 0,i(i=1,...,5)的基底B 0、以及至少具有基底矢量b t,i(i=1,...,nt,...,nt+ut,...,Bt+ut+wt,...,nt+ut+wt+zt)的基底B t(t=1,...,d)来执行密码处理,
所述密钥生成装置的所述解密密钥生成部根据随机数值δ、和规定的值κ生成式(9)所示的要素k 0,并且根据所述随机数值δ、 (i=1,...,wt)生成式(10)所示的要素k t
所述加密装置的所述加密数据生成部根据随机数值η0和规定的值ζ生成式(11)所示的要素c0,并且在变量ρ(i)是肯定形的组(t,v i)的情况下,根据随机数值θi、ηi,i’(i=1,...,L,i’=1,...,zt),生成式(12)所示的要素ci,在变量ρ(i)是否定形的组(t,v i)的情况下,根据随机数值ηi,i’(i=1,...,L,i’=1,...,zt),生成式(13)所示的要素ci
【式9】
【式10】
【式11】
【式12】
【式13】
8.一种密钥生成装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,生成解密密钥skΓ,具备:
第1信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;
解密密钥生成部,根据所述第1信息输入部输入的属性集合Γ,生成要素k 0、和关于所述属性集合Γ中包含的各识别信息t的要素k t,即
生成作为基底B 0的基底矢量b 0,p(p是规定的值)的系数设定了随机数值δ,并且作为基底矢量b 0,q(q是与所述p不同的规定的值)的系数设定了规定的值κ的要素k 0
针对所述属性集合Γ中包含的各识别信息t,生成作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素k t;以及
密钥分发部,将包括所述第1信息输入部输入的属性集合Γ、和所述解密密钥生成部生成的要素k 0以及要素k i的数据作为解密密钥skΓ分发。
9.一种加密装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,生成加密数据c,该加密装置具备:
第2信息输入部,输入变量ρ(i)以及L行r列(r是1以上的整数)的规定的矩阵M,该变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;
加密数据生成部,根据依据具有r个要素的矢量f以及w、和所述第2信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T、以及规定的值θi(i=1,...,L),生成要素c0和关于i=1,...,L的各整数i的要素ci,即
作为基底B0的基底矢量b0,p(p是所述p)的系数而设定值-s0,作为基底矢量b0,q(q是所述q)的系数而设定规定的值ζ,从而生成要素c0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底Bt的基底矢量bt,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定θivi,i’,从而生成要素ci,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定sivi,i’,从而生成要素ci;以及
数据输出部,将所述第2信息输入部输入的变量ρ(i)、和所述加密数据生成部生成的要素c0以及要素ct作为加密数据c输出。
10.一种解密装置,其特征在于,在使用关于t=0,...,d(d是1以上的整数)的各整数t的基底Bt和基底B t来执行密码处理的密码处理系统中,用解密密钥skΓ对加密数据c进行解密,该解密装置具备:
数据取得部,作为加密数据c,与变量ρ(i)一起取得根据依据具有r个(r是1以上的整数)要素的矢量f以及w和L行r列的规定的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T及值s0:=w·f→T、规定的值θi(i=1,...,L)、以及是关于i=1,...,L(L是1以上的整数)的各整数i的所述变量ρ(i)且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个的变量ρ(i)生成的要素c0和要素ci(i=1,...,L的各整数),即
作为基底B0的基底矢量b0,p(p是规定的值)的系数设定了值-s0、作为基底矢量b0,q(q是与所述p不同的规定的值)的系数设定了规定的值ζ的要素c0
针对i=1,...,L的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下作为该组的识别信息t表示的基底Bt的基底矢量bt,1的系数设定了siivi,1、并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量bt,i’的系数设定了θivi,i’的要素ci、在变量ρ(i)是否定形的组(t,v i)的情况下作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量bt,i’的系数设定了sivi,i’的要素ci
解密密钥取得部,作为解密密钥skΓ,与属性集合Γ一起取得针对t=1,...,d的至少1个以上的整数t而根据具有识别信息t和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的所述属性集合Γ生成的要素k 0和要素k t(t是所述属性集合Γ中包含的各整数),即
作为基底B 0的基底矢量b 0,p(p是所述p)的系数设定了随机数值δ、并且作为基底矢量b 0,q(q是所述q)的系数设定了规定的值κ的要素k 0
针对所述属性集合Γ中包含的各识别信息t,作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数设定了所述随机数值δ倍了的xt,i’的要素k t
补充系数计算部,根据所述数据取得部取得的加密数据c中包含的变量ρ(i)、和所述解密密钥取得部取得的解密密钥skS中包含的属性集合Γ,确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i计算在合计了αisi的情况下成为s0的补充系数αi;以及
配对运算部,针对所述加密数据c中包含的要素c0以及要素ct、和所述解密密钥skS中包含的要素k 0以及要素k i,根据所述补充系数计算部确定的集合I、和所述补充系数计算部计算出的补充系数αi,进行式(14)所示的配对运算而计算值K=gT ζκ
【式14】
11.一种签名处理系统,其特征在于,具备密钥生成装置、签名装置以及验证装置,使用关于t=1,...,d,d+2(d是1以上的整数)的各整数t的基底Bt和基底B t来执行签名处理,
所述密钥生成装置具备:
第1信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;以及
签名密钥生成部,根据所述第1信息输入部输入的属性集合Γ,生成关于所述属性集合Γ中包含的各识别信息t的要素k t、要素k d+2以及要素k d+3,即
针对所述属性集合Γ中包含的各识别信息t,生成作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数设定了随机数值δ倍了的xt,i’的要素k t
生成作为基底B d+2的基底矢量b d+2,p’(p’是规定的值)的系数设定了所述随机数值δ的要素k d+2
生成作为基底B d+2的基底矢量b d+2,q’(q’是与所述p’不同的规定的值)的系数设定了所述随机数值δ的要素k d+3
所述签名装置具备:
第2信息输入部,输入变量ρ(i)、L行r列(r是1以上的整数)的规定的矩阵M、以及消息m,该变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;
签名密钥取得部,作为签名密钥skΓ而取得所述签名密钥生成部生成的要素k t、要素k d+2、要素k d+3、以及所述属性集合Γ;
补充系数计算部,根据关于i=1,...,L的各整数i的变量ρ(i)、和所述签名密钥取得部取得的签名密钥skΓ中包含的属性集合Γ,确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i,根据所述第2信息输入部输入的矩阵M的第i行的要素即Mi,计算在合计了αiMi的情况下成为规定的矢量w的补充系数αi
签名生成部,根据所述变量ρ(i)、所述属性集合Γ、所述补充系数计算部确定的集合I以及所述补充系数计算部计算出的补充系数αi,生成关于i=1,...,L的各整数i的s i、和s X,即
将βi设为在针对表示矩阵M的各行编号的各整数i而合计了βiMi的情况下所有要素成为0的值,
针对表示矩阵M的各行编号的各整数i,
在i∈I、变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=αi,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0、并且yi,1=1的矢量,
在i∈I、变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=αi/(v i·x t),将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
在并非i∈I、而变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=0,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0、且yi,1=1的矢量,
在并非i∈I、而变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=0,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
如式(15)所示,生成关于表示矩阵M的各行编号的各整数i的s i、和s X
所述验证装置具备:
数据取得部,取得包括所述签名生成部生成的s i以及s X、消息m、变量ρ(i)以及矩阵M的签名数据sig;
加密数据生成部,根据依据具有r个要素的矢量f、所述矢量w以及所述数据取得部取得的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T、以及规定的值θi(i是矩阵M的各行编号和X),生成关于表示矩阵M的各行编号的各整数i的要素ci和要素cX,即
针对表示所述矩阵M的各行编号的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底Bt的基底矢量bt,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定θivi,i’,从而生成要素ci,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定sivi,i’,从而生成要素ci
对基底Bd+2的基底矢量bd+2,p’(p’是所述p’)设定s0Xm,并且对基底矢量bd+2,q’(q’是所述q’)设定θX,从而生成要素cX;以及
配对运算部,针对表示矩阵M的各行编号和X的各整数i,进行式(16)所示的配对运算,验证所述签名数据sig的合法性,
【式15】
s i * : = &gamma; i &CenterDot; &xi; k t * + &beta; i &CenterDot; ( &Sigma; &iota; = 1 n t y i , &iota; &CenterDot; b t , &iota; * ) + r i * ,
s X * : = &xi; ( k d + 2 * + m &CenterDot; k d + 3 * ) + r X *
此处,
ξ,是规定的值
【式16】
&Pi;e ( c i , s i * ) .
12.根据权利要求11所述的签名处理系统,其特征在于,
所述签名处理系统使用至少具有基底矢量b0,i(i=1,...,4)的基底B0、至少具有基底矢量bt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,zt是1以上的整数)的基底Bt(t=1,...,d)、至少具有基底矢量bd+1,i(i=1,...,4)的基底Bd+1、至少具有基底矢量bd+2,i(i=1,...,8)的基底Bd+2、至少具有基底矢量b 0,i(i=1,...,4)的基底B 0、至少具有基底矢量b t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底B t(t=1,...,d)、至少具有基底矢量b d+1,i(i=1,...,4)的基底B d+1、以及至少具有基底矢量b d+2, i(i=1,...,8)的基底B d+2来执行签名处理,
所述密钥生成装置的所述签名密钥生成部针对所述属性集合Γ中包含的各识别信息t、和ι=1,...,wt的各整数ι,根据随机数值δ,如式(17)所示,生成要素k 0、要素k t、要素k d+2以及要素k d+3
所述签名装置还具备对所述矩阵M的第L+1行追加规定的行矢量ML+1的矩阵生成部,
所述签名装置的所述签名生成部根据要素k 0、要素k t、要素k d+2、要素k d+3以及随机数值ξ,如式(18)所示,作为关于i=1,...,L+1的各整数i的s i和s X而生成s 0以及s L+2
所述验证装置的所述加密数据生成部针对i=1,...,L+1的各整数i、和i‘=1,...,zt的各整数i’,根据随机数值θi,ηi,i’,ηL+2,1,ηL+2, 2,如式(19)所示,作为要素ci和要素cX而生成要素c0以及要素cL+2
所述配对运算部针对i=0,...,L+2的各整数i,进行所述配对运算,
【式17】
【式18】
s 0 * : = &xi; k 0 * + r 0 * ,
s i * : = &gamma; i &CenterDot; &xi; k t * + &beta; i &CenterDot; ( &Sigma; &iota; = 1 n t y i , &iota; &CenterDot; b t , &iota; * ) + r i * ,
s L + 2 * : = &xi; ( k d + 2 * + m &CenterDot; k d + 3 * ) + r L + 2 *
此处,
ξ,是规定的值,
【式19】
13.一种密钥生成装置,其特征在于,在使用关于t=1,...,d,d+2(d是1以上的整数)的各整数t的基底Bt和基底B t来执行签名处理的签名处理系统中,生成签名密钥skΓ,该密钥生成装置具备:
第1信息输入部,针对t=1,...,d的至少1个以上的整数t,输入具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ;
签名密钥生成部,根据所述第1信息输入部输入的属性集合Γ,生成关于所述属性集合Γ中包含的各识别信息t的要素k t、要素k d+2以及要素k d+3,即
针对所述属性集合Γ中包含的各识别信息t,生成作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数设定了随机数值δ倍了的xt,i’的要素k t
生成作为基底B d+2的基底矢量b d+2,p’(p’是规定的值)的系数设定了所述随机数值δ的要素k d+2
生成作为基底B d+2的基底矢量b d+2,q’(q’是与所述p’不同的规定的值)的系数设定了所述随机数值δ的要素k d+3;以及
密钥分发部,将包括所述第1信息输入部输入的属性集合Γ、所述签名密钥生成部生成的要素k t、要素k d+2以及要素k d+3的数据作为签名密钥skΓ分发。
14.一种签名装置,其特征在于,在使用关于t=1,...,d,d+2(d是1以上的整数)的各整数t的基底Bt和基底B t来执行签名处理的签名处理系统中,生成签名数据sig,该签名装置具备:
第2信息输入部,输入变量ρ(i)、L行r列(r是1以上的整数)的规定的矩阵M、以及消息m,该变量ρ(i)是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i),并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个;
签名密钥取得部,作为签名密钥skΓ,与属性集合Γ一起取得针对t=1,...,d的至少1个以上的整数t而根据具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的所述属性集合Γ生成的要素k t(t是所述属性集合Γ中包含的各识别信息)、要素k d+2以及要素k d+3,即
针对所述属性集合Γ中包含的各识别信息t,作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数而设定了所述随机数值δ倍了的xt,i’的要素k t
作为基底B d+2的基底矢量b d+2,p’(p’是规定的值)的系数而设定了所述随机数值δ的要素k d+2,以及
作为基底B d+2的基底矢量b d+2,q’(q’是与所述p’不同的规定的值)的系数而设定了所述随机数值δ的要素k d+3
补充系数计算部,根据关于i=1,...,L的各整数i的变量ρ(i)、和所述签名密钥取得部取得的签名密钥skΓ中包含的属性集合Γ,确定i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,并且针对所确定的集合I中包含的i,根据所述第2信息输入部输入的矩阵M的第i行的要素即Mi,计算在合计了αiMi的情况下成为规定的矢量w的补充系数αi
签名生成部,根据所述变量ρ(i)、所述属性集合Γ、所述补充系数计算部确定的集合I、以及所述补充系数计算部计算出的补充系数αi,生成关于表示矩阵M的各行编号的各整数i的s i和s X,即
将βi设为在针对表示矩阵M的各行编号的各整数i合计了βiMi的情况下所有要素成为0的值,
针对表示矩阵M的各行编号的各整数i,
在i∈I、变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=αi,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0、且yi,1=1的矢量,
在i∈I、变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=αi/(v i·x t),将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
在并非i∈I、而变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=0,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0、且yi,1=1的矢量,
在并非i∈I、而变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=0,将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
如式(20)所示,生成关于表示矩阵M的各行编号的各整数i的s i和s X;以及
数据输出部,将包括所述第2信息输入部输入的变量ρ(i)、矩阵M、消息m、所述签名生成部生成的s 0、s i以及s X的数据作为签名数据sig输出,
【式20】
s i * : = &gamma; i &CenterDot; &xi; k t * + &beta; i &CenterDot; ( &Sigma; &iota; = 1 n t y i , &iota; &CenterDot; b t , &iota; * ) + r i * ,
s X * : = &xi; ( k d + 2 * + m &CenterDot; k d + 3 * ) + r X *
此处,
ξ,是规定的值。
15.一种验证装置,其特征在于,在使用关于t=1,...,d,d+2(d是1以上的整数)的各整数t的基底Bt和基底B t来执行签名处理的签名处理系统中,验证签名数据sig,该验证装置具备:
数据取得部,取得包括下列数据中的s i、s X和消息m、变量ρ(i)以及矩阵M的签名数据sig:
针对t=1,...,d的至少1个以上的整数t根据具有识别信息t、和属性矢量x t:=(xt,i’)(i’=1,...,nt,nt是1以上的整数)的属性集合Γ生成的要素k t(t是所述属性集合Γ中包含的各识别信息)、要素k d+2以及要素k d+3,即
针对所述属性集合Γ中包含的各识别信息t,作为基底B t的基底矢量b t,i’(i’=1,...,nt)的系数而设定了随机数值δ倍了的xt,i’的要素k t
作为基底B d+2的基底矢量b d+2,p’(p’是规定的值)的系数设定了所述随机数值δ的要素k d+2
作为基底B d+2的基底矢量b d+2,q’(q’是与所述p’不同的规定的值)的系数设定了所述随机数值δ的要素k d+3
根据是关于i=1,...,L(L是1以上的整数)的各整数i的变量ρ(i)、并且是识别信息t(t=1,...,d中的某一个整数)和属性矢量v i:=(vi,i’)(i’=1,...,nt,nt是1以上的整数)的肯定形的组(t,v i)或者否定形的组(t,v i)中的某一个的变量ρ(i)、以及所述属性集合Γ计算出的集合I和补充系数αi,即
i=1,...,L的各整数i中的、变量ρ(i)是肯定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积成为0的i、和变量ρ(i)是否定形的组(t,v i)并且该组的v i与该组的识别信息t表示的Γ中包含的x t的内积不成为0的i的集合I,
针对集合I中包含的i,根据输入的矩阵M的第i行的要素即Mi,在合计了αiMi的情况下成为规定的矢量w的补充系数αi
根据所述变量ρ(i)、所述属性集合Γ、所述集合I以及所述补充系数αi生成的s i(i=1,...,L的各整数)和s X,即
将βi设为在针对表示矩阵M的各行编号的各整数i合计了βiMi的情况下所有要素成为0的值,
针对表示矩阵M的各行编号的各整数i,
在i∈I、变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=αi,并将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0且yi,1=1的矢量,
在i∈I、变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=αi/(v i·x t),并将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
在并非i∈I、而变量ρ(i)是肯定形的组(t,v i)的情况下,设为值γi:=0,并将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是0且yi,1=1的矢量,
在并非i∈I、而变量ρ(i)是否定形的组(t,v i)的情况下,设为值γi:=0,并将矢量y i:=(yi,ι)(ι:=1,...,nt)设为y i与v i的内积是1的矢量,
从而如式(21)所示生成的s i和s X
加密数据生成部,根据依据具有r个(r是1以上的整数)要素的矢量f、所述矢量w、以及第2信息输入部输入的矩阵M生成的列矢量s→T:=(s1,...,sL)T:=M·f→T、值s0:=w·f→T以及规定的值θi(i是矩阵M的各行编号和X),生成关于i=1,...,L的各整数i的要素ci和要素cX,即
针对表示矩阵M的各行编号的各整数i,在变量ρ(i)是肯定形的组(t,v i)的情况下,作为该组的识别信息t表示的基底Bt的基底矢量bt,1的系数而设定siivi,1,并且作为所述识别信息t和i’=2,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定θivi,i’,从而生成要素ci,在变量ρ(i)是否定形的组(t,v i)的情况下,作为该组的识别信息t和i’=1,...,nt的各整数i’表示的基底矢量bt,i’的系数而设定sivi,i’,从而生成要素ci
对基底Bd+2的基底矢量bd+2,p’(p’是所述p’)设定s0Xm,并且对基底矢量bd+2,q’(q’是所述q’)设定θX,从而生成要素cX;以及
配对运算部,针对表示矩阵M的各行编号和X的各整数i,进行式(22)所示的配对运算,验证所述签名数据sig的合法性,
【式21】
s i * : = &gamma; i &CenterDot; &xi; k t * + &beta; i &CenterDot; ( &Sigma; &iota; = 1 n t y i , &iota; &CenterDot; b t , &iota; * ) + r i * ,
s X * : = &xi; ( k d + 2 * + m &CenterDot; k d + 3 * ) + r X *
此处,
ξ,是规定的值,
【式22】
&Pi;e ( c i , s i * ) .
CN201180020997.1A 2010-04-27 2011-02-15 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 Active CN102859571B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010101657A JP5424974B2 (ja) 2010-04-27 2010-04-27 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP2010-101657 2010-04-27
PCT/JP2011/053174 WO2011135895A1 (ja) 2010-04-27 2011-02-15 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置

Publications (2)

Publication Number Publication Date
CN102859571A CN102859571A (zh) 2013-01-02
CN102859571B true CN102859571B (zh) 2015-06-10

Family

ID=44861216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180020997.1A Active CN102859571B (zh) 2010-04-27 2011-02-15 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置

Country Status (7)

Country Link
US (1) US8913742B2 (zh)
EP (1) EP2565862B1 (zh)
JP (1) JP5424974B2 (zh)
KR (1) KR101386294B1 (zh)
CN (1) CN102859571B (zh)
ES (1) ES2693146T3 (zh)
WO (1) WO2011135895A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5492007B2 (ja) * 2010-08-04 2014-05-14 日本放送協会 コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
JP5693206B2 (ja) * 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5618881B2 (ja) * 2011-03-25 2014-11-05 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP5650630B2 (ja) * 2011-11-22 2015-01-07 日本電信電話株式会社 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム
JP2013150026A (ja) * 2012-01-17 2013-08-01 Mitsubishi Electric Corp データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム
JP5680007B2 (ja) 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5921410B2 (ja) * 2012-10-19 2016-05-24 三菱電機株式会社 暗号システム
KR101493212B1 (ko) * 2012-10-31 2015-02-23 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
EP2945313B1 (en) 2013-01-12 2017-09-06 Mitsubishi Electric Corporation Key generation device, key generation program, concealed data search system, and key distribution method
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
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
WO2015083210A1 (ja) * 2013-12-02 2015-06-11 三菱電機株式会社 データ処理システム及び暗号装置及び復号装置及びプログラム
CN106031080B (zh) 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
JP6104469B2 (ja) * 2014-07-02 2017-03-29 三菱電機株式会社 行列生成装置及び行列生成方法及び行列生成プログラム
DE112014007235T5 (de) 2014-12-05 2017-09-28 Mitsubishi Electric Corporation Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm
WO2016088250A1 (ja) 2014-12-05 2016-06-09 三菱電機株式会社 復号条件追加装置、暗号システム及び復号条件追加プログラム
CN107251480B (zh) * 2015-02-20 2018-07-10 三菱电机株式会社 数据保管装置、数据更新系统和数据处理方法
US10592682B2 (en) 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
WO2016162941A1 (ja) 2015-04-07 2016-10-13 三菱電機株式会社 暗号システム及び鍵生成装置
US9209974B1 (en) * 2015-05-03 2015-12-08 Zeutro, Llc Functional encryption key management
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
US10691815B2 (en) 2016-04-27 2020-06-23 Mitsubishi Electric Corporation Attribute linkage apparatus, transfer system, attribute linkage method and computer readable medium
WO2018026944A1 (en) * 2016-08-02 2018-02-08 X-Logos, LLC Methods and systems for enhanced data-centric encryption systems using geometric algebra
US10972251B2 (en) 2017-01-20 2021-04-06 Enveil, Inc. Secure web browsing via homomorphic encryption
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
US10728018B2 (en) 2017-01-20 2020-07-28 Enveil, Inc. Secure probabilistic analytics using homomorphic encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
SG10201701044SA (en) * 2017-02-09 2018-09-27 Huawei Int Pte Ltd System and method for computing private keys for self certified identity based signature schemes
EP3648395A4 (en) * 2017-07-20 2020-05-20 Mitsubishi Electric Corporation ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION PROCEDURE, ENCRYPTION PROGRAM, DECRYPTION PROCEDURE AND DECRYPTION PROGRAM
JP6362811B1 (ja) 2017-09-12 2018-07-25 三菱電機株式会社 登録端末、鍵サーバ、検索システム、登録プログラム
JP6456451B1 (ja) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム
US10193690B1 (en) * 2017-09-29 2019-01-29 U.S. Bancorp, National Association Systems and methods to secure data using computer system attributes
JP7024666B2 (ja) * 2018-08-28 2022-02-24 日本電信電話株式会社 Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム
JP7117964B2 (ja) * 2018-10-04 2022-08-15 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
US11469903B2 (en) * 2019-02-28 2022-10-11 Microsoft Technology Licensing, Llc Autonomous signing management operations for a key distribution service
WO2021001990A1 (ja) * 2019-07-04 2021-01-07 三菱電機株式会社 データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム
WO2021112877A1 (en) * 2019-12-06 2021-06-10 Hewlett-Packard Development Company, L.P. Key distribution
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
CN112733111B (zh) * 2020-12-31 2023-05-23 暨南大学 一种基于片段分割的阈值谓词加密生物特征认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758178A (zh) * 2004-10-07 2006-04-12 松下电器产业株式会社 非法分析/伪造预防系统
CN101401141A (zh) * 2006-03-14 2009-04-01 日本电气株式会社 信息处理系统、信息处理方法以及信息处理程序

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1425874B1 (en) * 2001-08-13 2010-04-21 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
JP2007235659A (ja) 2006-03-02 2007-09-13 Mebius Corp 鍵管理方法、暗号処理方法、電子署名方法、アクセス管理方法
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
CN101617351B (zh) * 2007-01-19 2011-06-22 三菱电机株式会社 密文生成装置、密码通信系统以及群参数生成装置
JP5349261B2 (ja) 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
US8549290B2 (en) 2009-04-24 2013-10-01 Nippon Telegraph And Telephone Corporation Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods thereof, secret sharing method, program, and recording medium
KR101351789B1 (ko) 2009-04-24 2014-01-15 니뽄 덴신 덴와 가부시키가이샤 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758178A (zh) * 2004-10-07 2006-04-12 松下电器产业株式会社 非法分析/伪造预防系统
CN101401141A (zh) * 2006-03-14 2009-04-01 日本电气株式会社 信息处理系统、信息处理方法以及信息处理程序

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Dual System Encryption:》;Brent Waters.etc;《Cryptology ePrint Archive:Report 2009/385》;20090806;1-38 *
《Fully Secure Functional Encryption: Attribute-Based》;Allison Lewko.etc;《cryptology ePrint Archive:Report 2010/110》;20100309;1-56 *

Also Published As

Publication number Publication date
CN102859571A (zh) 2013-01-02
ES2693146T3 (es) 2018-12-07
JP2011232475A (ja) 2011-11-17
KR20120139753A (ko) 2012-12-27
US8913742B2 (en) 2014-12-16
WO2011135895A1 (ja) 2011-11-03
EP2565862A1 (en) 2013-03-06
EP2565862B1 (en) 2018-08-01
KR101386294B1 (ko) 2014-04-17
JP5424974B2 (ja) 2014-02-26
US20130028415A1 (en) 2013-01-31
EP2565862A4 (en) 2017-07-19

Similar Documents

Publication Publication Date Title
CN102859571B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置
CN103270719B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103444126B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置以及密码处理方法
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN104160437A (zh) 密码系统、密码方法以及密码程序
CN103348624B (zh) 签名处理系统、密钥生成装置、签名装置、验证装置、签名处理方法以及签名处理程序
CN104620305B (zh) 密码系统、密码方法、密码程序以及解密装置
CN104718566B (zh) 密码系统
JP5606351B2 (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