CN105850071B - 加密***、重加密密钥生成装置以及重加密装置 - Google Patents
加密***、重加密密钥生成装置以及重加密装置 Download PDFInfo
- Publication number
- CN105850071B CN105850071B CN201480071416.0A CN201480071416A CN105850071B CN 105850071 B CN105850071 B CN 105850071B CN 201480071416 A CN201480071416 A CN 201480071416A CN 105850071 B CN105850071 B CN 105850071B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- encryption
- key
- equation
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 83
- 239000013598 vector Substances 0.000 claims description 79
- 239000011159 matrix material Substances 0.000 claims description 61
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 239000006185 dispersion Substances 0.000 claims description 6
- 239000013589 supplement Substances 0.000 claims 4
- 239000000047 product Substances 0.000 claims 1
- 239000002994 raw material Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 117
- 238000004364 calculation method Methods 0.000 description 47
- 230000014509 gene expression Effects 0.000 description 46
- 230000006870 function Effects 0.000 description 39
- 238000004891 communication Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 22
- 101150047356 dec-1 gene Proteins 0.000 description 18
- 230000000295 complement effect Effects 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 9
- 230000003121 nonmonotonic effect Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 101150104157 YES1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- UREZNYTWGJKWBI-UHFFFAOYSA-M benzethonium chloride Chemical compound [Cl-].C1=CC(C(C)(C)CC(C)(C)C)=CC=C1OCCOCC[N+](C)(C)CC1=CC=CC=C1 UREZNYTWGJKWBI-UHFFFAOYSA-M 0.000 description 1
- 229960001948 caffeine Drugs 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- RYYVLZVUVIJVGH-UHFFFAOYSA-N trimethylxanthine Natural products CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0464—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
加密装置(200)输出被设定了相互对应的属性信息x0、v0中的一方的密文ct0。解密装置(300)接收被设定了属性信息x0、v0中的另一方的解密密钥k*,输出包含解密密钥k*rk 0和密文ct’1的重加密密钥rk1,其中,解密密钥k*rk 0是利用转换信息r1对接收到的解密密钥k*进行转换而得到的,密文ct’1是被设定了相互对应的属性信息x1、v1中的一方且对转换信息r1进行加密而得到的。重加密装置(400)输出包含利用解密密钥k*rk 0对密文ct0进行解密而得到的会话密钥K’0和密文ct’1的重密文ct1。
Description
技术领域
本发明涉及函数型加密中的代理重加密(Functional Proxy Re-Encryption:FPRE) 方式。
背景技术
代理重加密(Proxy Re-Encryption:PRE)是不对密文进行解密而将密文的解密权限委托给他人的***。在非专利文献1中具有与基于ID的加密中的PRE (Identity-BasedPRE:IBPRE)方式有关的记载。在非专利文献2中具有与基于属性的加密中的PRE(Attribute-Based PRE:ABPRE)方式有关的记载。在非专利文献2 所述的PRE方式中,能够对密文仅指定由逻辑“与”和“非”构成的属性。
在专利文献1中,具有与函数型加密(Functional Encryption:FE)方式有关的记载。在非专利文献3中,具有与FPRE方式有关的记载。
现有技术文献
专利文献
专利文献1:日本特开2012-133214号公报
非专利文献
非专利文献1:M.Green,and G.Ateniese,Identity-Based Proxy Re-encryption.In Applied Cryptography and Network Security.volume 4521of LNCS,pp288-306,2007.
非专利文献2:Xiaohui Liang,Zhenfu Cao,Huang Lin,Jun Shao.Attributebased proxy re-encryption with delegating capabilities.ASIACCS 2009pp.276-286.
非专利文献3:Yutaka kawai and Katuyuki Takashima,Fully-AnonymousFunctional Proxy-Re-Encryption.Cryptology ePrint Archive:Report 2013/318
非专利文献4:R.Canetti and S.Hohenberger.Chosen-Ciphertext SecureProxy Re-encryption.In ACMCCS 2007.
非专利文献5:Okamoto,T Takashima,K.:Decentralized Attribute-BasedSignatures.ePrint http://eprint.iacr.org/2011/701
非专利文献6:Okamoto,T Takashima,K.:Fully Secure Unbounded Inner-Product and Attribute-Based Encryption.ePrint http://eprint.iacr.org/2012/671
非专利文献7:Okamoto,T.,Takashima,K.:Achieving Short Ciphertexts orShort Secret-Keys for Adaptively Secure General Inner-Product Encryption.CANS2011,LNCS, vol.7092,pp.138-159Springer Heidelberg(2011).
发明内容
发明要解决的课题
在非专利文献3所述的FPRE方式中,当对通过加密算法生成的原始密文进行重加密时,密文尺寸成为3倍。当进一步对重密文进行重加密时,密文尺寸进一步成为 3倍。即,当执行n次重加密时,与原始密文相比,密文尺寸成为3n倍,相对于重加密次数,密文尺寸以指数函数的方式增加。
本发明的目的在于,实现抑制了伴随重加密的密文尺寸的增加量的FPRE方式。
用于解决课题的手段
本发明的加密***实现在2个信息相互对应的情况下,能够利用被设定了一个信息的解密密钥对被设定了另一个信息的密文进行解密的加密方式下的代理重加密功能,其特征在于,所述加密***具有:加密装置,其输出被设定了相互对应的属性信息x0、v0中的一方的密文ct0;重加密密钥生成装置,其取得被设定了所述属性信息 x0、v0中的另一方的解密密钥k*,输出包含解密密钥k*rk 0和密文ct’1的重加密密钥rk1,其中,所述解密密钥k*rk 0是利用转换信息r1对所取得的解密密钥k*进行转换而得到的,所述密文ct’1是被设定了相互对应的属性信息x1、v1中的一方且对所述转换信息 r1进行加密而得到的;以及重加密装置,其输出包含利用所述解密密钥k*rk 0对所述密文ct0进行解密而得到的会话密钥K’0和所述密文ct’1的重密文ct1。
发明效果
在本发明的加密***中,将利用由转换信息转换后的解密密钥对密文进行解密而得到的会话密钥和以传送目的地的利用者能够解密的方式对转换信息进行加密后的密文作为重加密密钥rk。由此,能够抑制伴随重加密的密文尺寸的增加量。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s→T的说明图。
图5是执行CP-FPRE方式的加密***10的结构图。
图6是示出密钥生成装置100的功能的功能框图。
图7是示出加密装置200的功能的功能框图。
图8是示出解密装置300的功能的功能框图。
图9是示出重加密装置400的功能的功能框图。
图10是示出重密文解密装置500的功能的功能框图。
图11是示出Setup算法的处理的流程图。
图12是示出KG算法的处理的流程图。
图13是示出Enc算法的处理的流程图。
图14是示出RKG算法的处理的流程图。
图15是示出REnc算法的处理的流程图。
图16是示出Dec1算法的处理的流程图。
图17是示出Dec2算法的处理的流程图。
图18是示出Setup算法的处理的流程图。
图19是执行KP-FPRE方式的加密***10的结构图。
图20是示出密钥生成装置100的功能的功能框图。
图21是示出加密装置200的功能的功能框图。
图22是示出解密装置300的功能的功能框图。
图23是示出重加密装置400的功能的功能框图。
图24是示出重密文解密装置500的功能的功能框图。
图25是示出KG算法的处理的流程图。
图26是示出Enc算法的处理的流程图。
图27是示出RKG算法的处理的流程图。
图28是示出REnc算法的处理的流程图。
图29是示出Dec1算法的处理的流程图。
图30是示出Dec2算法的处理的流程图。
图31是示出实施方式1~4所示的加密***10的各装置的硬件结构的例子的图。
具体实施方式
对以下说明中的记法进行说明。
在A是随机的变量或分布时,数式101表示根据A的分布而从A中随机选择y。即,在数式101中,y是随机数。
【数式101】
在A是集合时,数式102表示从A中均匀选择y。即,在数式102中,y是均匀随机数。
【数式102】
数式103表示在y中设定z,通过z定义y,或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】
【数式109】
XT表示矩阵X的转置矩阵。
相对于数式110所示的基B和基B*,是数式111。
【数式110】
【数式111】
e→ j表示数式112所示的标准基矢量。
【数式112】
并且,在以下的说明中,在利用下标或上标表示Vt、nt、wt、zt、nu、wu、zu 的情况下,该Vt、nt、wt、zt、nu、wu、zu意味着Vt、nt、wt、zt、nu、wu、zu。同样,在利用上标表示δi、j的情况下,该δi、j意味着δi、j。同样,在利用上标表示的情况下,该意味着
并且,在对下标文字或上标文字标注意味着矢量的→的情况下,该→意味着利用上标标注在下标文字或上标文字上。
实施方式1
在该实施方式中,对实现FPRE方式的基础概念进行说明后,对该实施方式的FPRE方式的结构进行说明。
第1,对FPRE进行简单说明。
第2,对用于实现FPRE方式的空间即对偶配对矢量空间(Dual Pairing VectorSpaces:DPVS)这样的具有丰富数学构造的空间进行说明。
第3,对用于实现FPRE方式的概念进行说明。这里,对张成方案、属性矢量的内积和访问构造、秘密分散方式(秘密共享方式)进行说明。
第4,对该实施方式的FPRE方式进行说明。在该实施方式中,对密文策略的FPRE 方式(Ciphertext-Policy FPRE:CP-FPRE)方式进行说明。因此,首先,对CP-FPRE 方式的基本结构进行说明。接着,对实现该CP-FPRE方式的加密***10的基本结构进行说明。然后,对该实施方式的CP-FPRE方式和加密***10进行详细说明。
<第1.FPRE>
FPRE是使加密密钥(ek)、解密密钥(dk)、重加密密钥(rk)的关系更加高度化并且变得灵活的代理重加密方式。
FPRE具有以下的2个特征。
第一,加密密钥和解密密钥分别设定属性信息x和属性信息v。而且,针对关系 R,仅在R(x、v)成立的情况下,解密密钥dkv能够对由加密密钥ekx加密后的密文进行解密。
第二,除了分别对加密密钥和解密密钥设定属性信息x和属性信息v以外,重加密密钥设定2个属性信息(x’、v)。而且,仅在R(x、v)成立的情况下,重加密密钥rk(x’、v)能够将由加密密钥ekx加密后的密文,变更成能够利用R(x’、v’)成立的解密密钥dkv’进行解密的密文即由加密密钥ekx’加密后的密文。
仅在关系R为等号关系的情况下即x=v的情况下,在R(x、v)成立的情况下, PRE方式是IDPRE。
作为比IDPRE更加一般化的PRE,具有ABPRE。在ABPRE中,加密密钥和解密密钥中设定的属性信息是属性信息的组。例如,加密密钥和解密密钥中设定的属性信息分别是X:=(x1、...、xd)和V:=(v1、...、vd)。
关于属性信息的成分,每个成分的等号关系(例如{xt=vt}t∈{1、...、d})被输入到访问结构S。然后,仅在访问结构S受理了输入的情况下,R(X,V)成立。即,能够利用解密密钥对由加密密钥加密后的密文进行解密。在非专利文献2中提出了访问结构S被嵌入密文中的密文策略的PRE方式。此时的访问结构是仅由逻辑“与”和“非”构成的构造。
具有不存在密文的传送功能即不存在重加密密钥的通常的FE。在FE中,不存在重加密密钥、重加密处理,加密密钥和解密密钥分别设定有属性信息x和属性信息v。而且,针对关系R,仅在R(x、v)成立的情况下,解密密钥dkv:=(dk、v)能够对由加密密钥ekx:=(ek、x)加密后的密文进行解密。
<第2.对偶配对矢量空间>
首先,对对称双线性配对组进行说明。
对称双线性配对组(q、G、GT、g、e)是质数q、位数q的循环加法组G、位数 q的循环乘法组GT、g≠0∈G、能够利用多项式时间计算的非退化双线性配对 (NondegenerateBilinear 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))的直积构成。对偶配对矢量空间(q、V、GT、A、e)是质数q、数式113所示的Fq上的N维矢量空间V、位数q的循环组GT、空间V的标准基A:=(a1、...、aN)的组,具有以下的运算(1)(2)。这里,ai如数式114所示。
【数式113】
【数式114】
运算(1):非退化双线性配对
空间V中的配对由数式115定义。
【数式115】
其中,
这是非退化双线性。即,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):失真映射
数式116所示的空间V中的线性变换能够进行数式117。
【数式116】
φi,j(aj)=ai,
如果k≠j,则φi,j(ak)=0。
【数式117】
其中,
(g1,...gN):=x
这里,将线性变换称作失真映射。
在以下的说明中,设Gdpvs为如下算法:将1λ(λ∈自然数)、N∈自然数、双线性配对组的参数paramG:=(q、G、GT、g、e)的值作为输入,输出安全参数为λ、设为N维空间V的对偶配对矢量空间的参数paramV:=(q、V、GT、A、e)的值。
另外,这里,对通过上述对称双线性配对组构成对偶配对矢量空间的情况进行说明。另外,也可以通过非对称双线性配对组构成对偶配对矢量空间。在通过非对称双线性配对组构成对偶配对矢量空间的情况下,容易应用以下的说明。
<第3.用于实现FPRE方式的概念>
<第3-1.张成方案>
图1是矩阵M^的说明图。
设{p1、...、pn}为变量的集合。M^:=(M、ρ)是带标签的矩阵。这里,矩阵M 是Fq上的(L行×r列)的矩阵。并且,ρ是对矩阵M的各行附加的标签,与 中的任意一个常量对应。另外,对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}对应的情况下,张成方案被称作单调。另一方面,在标签ρ与常量对应的情况下,张成方案被称作非单调。这里,设张成方案为非单调。而且,使用非单调张成方案构成访问结构(非单调访问结构)。简单地讲,访问结构是指进行对加密的访问控制。即,是指进行是否能够对密文进行解密的控制。
在后面详细叙述,由于张成方案不是单调而是非单调,由此,利用张成方案构成的FPRE方式的利用范围较广。
<第3-2.属性信息的内积和访问结构>
这里,使用属性信息的内积计算上述映射γ(j)。即,使用属性信息的内积决定将矩阵M的哪个行包含在矩阵Mδ中。
是部分全集合(sub-universe),是属性的集合。而且,Ut分别包含部分全集合的识别信息(t)和n维矢量(v→)。即,Ut是(t、v→)。这里,t∈{1、...、d},v→∈Fq n。
设Ut:=(t、v→)为张成方案M^:=(M、ρ)中的变量p。即,p:=(t、v→)。而且,设变量(p:=(t、v→)、(t、v’→)、...)的张成方案M^:=(M、ρ)为访问结构S。
即,访问结构
接着,设Γ为属性的集合。即,Γ:={(t、x→ t)|x→ t∈Fqn、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为数式118所示的列矢量。
【数式118】
设数式119所示的s0为共享的秘密信息。
【数式119】
并且,设数式120所示的s→T为s0的L个分散信息的矢量。
【数式120】
而且,设分散信息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。
然后,是数式121。
【数式121】
∑i∈Iαisi:=s0
另外,常数{αi}能够利用矩阵M的尺寸下的多项式时间进行计算。
如上所述,以下的实施方式的FPRE方式在张成方案中应用内积谓语和秘密分散方式构成访问结构。因此,通过设计张成方案中的矩阵M、内积谓语中的属性信息x 和属性信息v(谓语信息),能够自由设计访问控制。即,能够以非常高的自由度进行访问控制的设计。另外,矩阵M的设计相当于秘密分散方式的阈值等的条件设计。
例如,上述基于属性的加密方式相当于在以下的实施方式的FPRE方式下的访问结构中将内积谓语的设计限定成某个条件的情况。即,与以下的实施方式的FPRE方式下的访问结构相比,在基于属性的加密方式下的访问结构中,没有内积谓语中的属性信息x和属性信息v(谓语信息)的设计的自由度,相应地,访问控制的设计自由度较低。另外,具体而言,基于属性的加密方式相当于将属性信息{x→ t}t∈{1、...、d}和{v → t}t∈{1、...、d}限定成针对等号关系的二维矢量例如x→ t:=(1、xt)和v→ t:=(vt、-1) 的情况。
并且,内积谓语加密方式下的PRE相当于在以下的实施方式的FPRE方式下的访问结构中将张成方案中的矩阵M的设计限定成某个条件的情况。即,与以下的实施方式的FPRE方式中的访问结构相比,在内积谓语加密方式下的访问结构中,没有张成方案中的矩阵M的设计的自由度,相应地,访问控制的设计自由度较低。另外,具体而言,内积谓语加密方式是将秘密分散方式限定成1-out-of-1(或d-out-of-d)的情况。
特别地,以下的实施方式的FPRE方式下的访问结构构成使用非单调张成方案的非单调访问结构。因此,访问控制的设计自由度更高。
具体而言,由于在非单调张成方案中包含否定形的常量因此,能够设定否定形的条件。例如,假设在第1公司中存在A部、B部、C部、D部这4个部门。这里,假设希望进行仅属于第1公司的B部以外的部门的用户能够访问(能够解密) 这样的访问控制。该情况下,如果无法进行否定形的条件设定,则需要设定“属于第 1公司的A部、C部、D部中的任意部”这样的条件。另一方面,如果能够进行否定形的条件设定,则能够设定“是第1公司的职员且属于B部以外的部”这样的条件。即,由于能够设定否定形的条件,因而能够进行自然的条件设定。另外,这里,部门的数量较少,但是,可知在部门的数量较多的情况下等非常有效。
<第4.FPRE方式的基本结构>
<第4-1.CP-FPRE方式的基本结构>
对CP-FPRE方式的结构进行简单说明。另外,CP(密文策略)意味着在密文中嵌入Policy,即嵌入访问结构。
CP-FPRE方式具有Setup、KG、Enc、RKG、REnc、Dec1、Dec2这7个算法。
(Setup)
Setup算法是将安全参数λ、属性的格式n→:=(d;n1、...、nd;u1、...、ud;z1、...、zd)、表示重加密次数的上限值的值Q作为输入而输出公开参数pk和主密钥sk的概率算法。
(KG)
KG算法是将属性集合Γ:={(t、x→ t)|x→ t∈Fq nt、1≦t≦d}、公开参数pk、主密钥sk作为输入而输出解密密钥skΓ的概率算法。
(Enc)
Enc算法是将消息m、访问结构S=(M、ρ)、公开参数pk作为输入而输出密文 ctn S的概率算法。
(RKG)
RKG算法是将解密密钥skΓ、访问结构S’:=(M’、ρ’)、公开参数pk、表示对要进行重加密的密文ctn S进行重加密的次数的值n作为输入而输出重加密密钥rkn Γ.S’的概率算法。
(REnc)
REnc算法是将密文ctn S、重加密密钥rkn Γ.S’、公开参数pk作为输入而输出重密文ctn+1 S’的概率算法。
(Dec1)
Dec1算法是将重密文ctn S’、解密密钥skΓ’、公开参数pk作为输入而输出消息m 或识别信息⊥的算法。
(Dec2)
Dec2算法是将密文ctn S(ct0 S)、解密密钥skΓ、公开参数pk作为输入而输出消息 m或识别信息⊥的算法。
<第4-2.加密***10>
对执行CP-FPRE方式的算法的加密***10进行说明。
图5是执行CP-FPRE方式的加密***10的结构图。
加密***10具有密钥生成装置100、加密装置200、解密装置300(重加密密钥生成装置)、重加密装置400、重密文解密装置500(重加密密钥生成装置)。
密钥生成装置100将安全参数λ、属性的格式n→:=(d;n1、...、nd;u1、...、ud;z1、...、 zd)、值Q作为输入来执行Setup算法,生成公开参数pk和主密钥sk。
然后,密钥生成装置100对公开参数pk进行公开。并且,密钥生成装置100将属性集合Γ作为输入来执行KG算法,生成解密密钥skΓ,秘密地向解密装置300发送。并且,密钥生成装置100将属性集合Γ’作为输入来执行KG算法,生成解密密钥 skΓ’,秘密地向重密文解密装置500发送。
加密装置200将消息m、访问结构S、公开参数pk作为输入来执行Enc算法,生成密文ctn S。加密装置200向重加密装置400发送密文ctn S。
解密装置300将公开参数pk、解密密钥skΓ、访问结构S’、值n作为输入来执行 RKG算法,生成重加密密钥rkn Γ.S’。解密装置300秘密地向重加密装置发送重加密密钥rkn Γ.S’。
并且,解密装置300将公开参数pk、解密密钥skΓ、密文ctn S(ct0 S)作为输入来执行Dec2算法,输出消息m或识别信息⊥。
重加密装置400将公开参数pk、重加密密钥rkn Γ.S’、密文ctn S作为输入来执行REnc算法,生成重密文ctn+1 S’。重加密装置400向重密文解密装置500发送重密文ctn+1 S’。
重密文解密装置500将公开参数pk、解密密钥skΓ’、重密文ctn+1 S’作为输入来执行Dec1算法,输出消息m或识别信息⊥。
<第4-4.CP-FPRE方式和加密***10的详细>
根据图6~图17对执行CP-FPRE方式和CP-FPRE方式的加密***10的功能和动作进行说明。
图6是示出密钥生成装置100的功能的功能框图。图7是示出加密装置200的功能的功能框图。图8是示出解密装置300的功能的功能框图。图9是示出重加密装置 400的功能的功能框图。图10是示出重密文解密装置500的功能的功能框图。
图11和图12是示出密钥生成装置100的动作的流程图。另外,图11是示出Setup 算法的处理的流程图,图12是示出KG算法的处理的流程图。图13是示出加密装置 200的动作的流程图,是示出Enc算法的处理的流程图。图14是示出解密装置300 的动作的流程图,是示出RKG算法的处理的流程图。图15是示出重加密装置400 的动作的流程图,是示出REnc算法的处理的流程图。图16是示出重密文解密装置 500的动作的流程图,是示出Dec1算法的处理的流程图。图17是示出解密装置300 的动作的流程图,是示出Dec2算法的处理的流程图。
对密钥生成装置100的功能和动作进行说明。
如图6所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150(密钥输出部)。并且,解密密钥生成部140具有随机数生成部141、解密密钥k*生成部142。
首先,根据图11对Setup算法的处理进行说明。
(S101:初始设定步骤)
主密钥生成部110执行初始设定。
具体而言,主密钥生成部110执行以下的(1)~(3)的处理。
(1)主密钥生成部110通过输入装置输入安全参数λ(1λ)、属性的格式n→:= (d;n1、...、nd;w1、...、wd;z1、...、zd)。这里,d是1以上的整数,关于t=1、...、d 的各整数t,nt是1以上的整数,wt、zt是0以上的整数。
(2)主密钥生成部110通过处理装置将(1)中输入的安全参数λ作为输入来执行算法Gbpg,生成双线性配对组的参数paramG:=(q、G、GT、g、e)的值。
(3)主密钥生成部110在N0中设定5,关于t=1、...、d的各整数t,在Nt中设定nt+wt+zt+1。
(S102:重加密次数输入步骤)
主密钥生成部110通过输入装置输入表示重加密次数的上限的值Q。值Q是1 以上的整数。
主密钥生成部110反复执行j=0、...、Q次以下的S103~S105的处理。
(S103:标准正交基生成步骤)
主密钥生成部110通过处理装置,针对t=0、...、d的各整数t计算数式122,生成参数paramn→、基B0.j和基B* 0.j、基Bt.j和基B* t.j。
【数式122】
(1)
关于t=0、...、d的各整数t,执行(2)~(4)的处理
(2)
(3)
(4)
(5)
(6)
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110生成随机数ψj。并且,主密钥生成部110在gT.j中设定e (G、G)ψj。
关于t=0、...、d的各整数t,执行(2)~(5)的处理。
(2)主密钥生成部110将安全参数λ、Nt、paramG:=(q、G、GT、g、e)的值作为输入来执行算法Gdpvs,生成对偶配对矢量空间的参数paramVt:=(q、Vt、GT、 At、e)的值。
(3)主密钥生成部110将Nt、Fq作为输入,随机生成线性变换Xt:=(χt、i、j’) i、j’。另外,GL是General Linear的缩写。即,GL是一般线性组,是矩阵式不为0的正方矩阵的集合,是与乘法有关的组。并且,(χt、i、j’)i、j’意味着与矩阵χt、i、j’的小标i、 j’有关的矩阵。这里,在(χt、i、j’)i、j’中,i、j’=1、...、Nt。
(4)主密钥生成部110根据随机数ψ和线性变换Xt生成(νt、i、j’)i、j’:=ψ·(Xt T) -1。另外,(νt、i、j’)i、j’也与(χt、i、j’)i、j’同样,意味着与矩阵νt、i、j’的小标i、j’有关的矩阵。这里,在(νt、i、j’)i、j’中,i、j’=1、...、Nt。
(5)主密钥生成部110根据(3)中生成的线性变换Xt,根据(2)中生成的标准基At生成基Bt.j。主密钥生成部110根据(4)中生成的(νt、i、j’)i、j’,根据(2) 中生成的标准基At生成基B* t.j。
(6)主密钥生成部110在paramn→.j中设定(1)中生成的gT.j和(2)中生成的{paramVt}t=0、...、d。
(S104:公开参数生成步骤)
主密钥生成部110通过处理装置,如数式123所示生成基B0.j的部分基B^0.j、基 Bt.j的部分基B^t.j、基B* 0.j的部分基B^* 0.j、基B* t.j的部分基B^* t.j。
【数式123】
主密钥生成部110将安全参数λ、paramn→.j、部分基B^0.j、B^t.j、B^* 0.j、B^* t.j作为公开参数pk。
(S105:主密钥生成步骤)
主密钥生成部110将基矢量b* 0.j.1作为主密钥sk。
(S106:主密钥存储步骤)
主密钥存储部120将(S104)中生成的公开参数pk存储在存储装置中。并且,主密钥存储部120将(S105)中生成的主密钥sk存储在存储装置中。
即,在(S101)~(S105)中,密钥生成装置100执行数式124所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S106)中,密钥生成装置100将生成的公开参数pk和主密钥sk存储在存储装置中。
另外,公开参数例如经由网络公开,成为加密装置200、解密装置300、重加密装置400、重密文解密装置500能够取得的状态。
【数式124】
N0:=5,Nt:=nt+wt+zt+1for t=1,...,d,
for j=0,...,Q,
for t=0,...,d
接着,根据图12对KG算法的处理进行说明。
(S201:信息输入步骤)
信息输入部130通过输入装置输入属性集合Γ:={(t、x→ t:=(xt、1、...、xt、nt∈Fq nt\{0 →}))|1≦t≦d}。另外,t也可以不是1以上d以下的全部整数而是1以上d以下的至少一部分整数。并且,属性集合Γ例如设定解密密钥skΓ的使用者的属性信息。
(S202:随机数生成步骤)
随机数生成部141通过处理装置,如数式125所示生成随机数。
【数式125】
(S203:解密密钥k*生成步骤)
解密密钥k*生成部142通过处理装置,关于j=0、...、Q的各整数j,如数式126 所示生成解密密钥k* 0、j。
【数式126】
另外,相对于数式110所示的基B和基B*,是数式111。因此,数式126意味着设定1作为基B* 0的基矢量b* 0.j.1的系数,设定δj作为基矢量b* 0.j.2的系数,设定0作为基矢量b* 0.j.3的系数,设定作为基矢量b* 0.j.4的系数,设定0作为基矢量b* 0.j.5的系数。
并且,解密密钥k*生成部142通过处理装置,关于属性集合Γ中包含的各整数t 和j=0、...、Q的各整数j,如数式127所示生成解密密钥k* t.j。
【数式127】
另外,数式127意味着设定δjxt.1、...、δjxt.nt作为基B* t的基矢量b* t.j.1、...、b* t.j.nt的系数,设定0作为基矢量b* t.j.nt+1、...、b* t.j.nt+wt的系数,设定作为基矢量b* t.j.nt+wt+1、...、b* t.j.nt+wt+zt的系数,设定0作为基矢量b* t.j.nt+wt+zt+1的系数。
(S204:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将属性集合Γ、解密密钥k* 0.j、k* t.j作为要素的解密密钥skΓ。当然,也可以通过其它方法向解密装置300发送解密密钥skΓ。
即,在(S201)~(S203)中,密钥生成装置100执行数式128所示的KG算法,生成解密密钥skΓ。然后,在(S204)中,密钥生成装置100向解密装置300发送解密密钥skΓ。
【数式128】
for j=0,...,Q
另外,密钥生成装置100在(S201)中输入设定了解密密钥skΓ’的使用者的属性信息的属性集合Γ’:={(t、x’→ t:=(x’t、1、...、x’t、nt∈Fq nt\{0→}))|1≦t≦d},执行 KG算法,生成解密密钥skΓ’。然后,密钥生成装置100向重密文解密装置500发送解密密钥skΓ’:=(Γ’、{k’* 0.j、{k’* t.j}(t、x→t)∈Γ’}j=0、...、Q)。
对加密装置200的功能和动作进行说明。
如图7所示,加密装置200具有公开参数接收部210、信息输入部220、加密部 230、密文发送部240(密文输出部)。并且,加密部230具有f矢量生成部231、s 矢量生成部232、随机数生成部233、密文c生成部234。
根据图13对Enc算法的处理进行说明。
(S301:公开参数接收步骤)
公开参数接收部210例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置输入访问结构S:=(M、ρ)。另外,访问结构S 是根据希望实现的***的条件进行设定的。并且,访问结构S的ρ例如设定有能够对密文ct0 S进行解密的用户的属性信息。这里,ρ(i)=(t、v→ i:=(vi、1、...、vi、nt) ∈Fq nt\{0→})(vi、nt≠0)。另外,M是L行r列的矩阵。
并且,信息输入部220通过输入装置输入向解密装置300发送的消息m。
并且,信息输入部220通过输入装置输入重加密次数n。这里输入的重加密次数 n通常为0,在后述RKG算法中调出Enc算法的情况下,成为由RKG算法指定的值。
(S303:f矢量生成步骤)
f矢量生成部231通过处理装置,如数式129所示生成矢量f→。
【数式129】
(S304:s矢量生成步骤)
s矢量生成部232通过处理装置,如数式130所示生成矢量s→T。
【数式130】
并且,s矢量生成部232通过处理装置,如数式131所示生成值s0。
【数式131】
(S305:随机数生成步骤)
随机数生成部233通过处理装置,如数式132所示生成随机数。
【数式132】
(S306:密文c生成步骤)
密文c生成部234通过处理装置,如数式133所示生成密文c0.n。
【数式133】
并且,密文c生成部234通过处理装置,关于i=1、...、L的各整数i,如数式134 所示生成密文ci.n。
【数式134】
for i=1,...,L,
并且,密文c生成部234通过处理装置,如数式135所示生成密文cT.n。
【数式135】
(S307:密文发送步骤)
密文发送部240例如通过通信装置,经由网络向解密装置300发送将访问结构S、密文c0.n、c1.n、...、cL.n、cT.n、重加密次数n作为要素的密文ctn S。当然,也可以通过其它方法向解密装置300发送密文ctn S。
即,在(S301)~(S306)中,加密装置200执行数式136所示的Enc算法,生成密文ctn S。然后,在(S307)中,加密装置200向解密装置300发送已生成的密文ctn S。
【数式136】
for i=1,...,L,
对解密装置300的功能和动作进行说明。
如图8所示,解密装置300具有解密密钥接收部310(解密密钥取得部)、信息输入部320、重加密密钥生成部330、重加密密钥发送部340(重加密密钥输出部)、密文接收部350、张成方案计算部360、补充系数计算部370、配对运算部380、消息计算部390。并且,重加密密钥生成部330具有随机数生成部331、加密部332、解密密钥k*rk生成部333。
这里,根据图14对RKG算法的处理进行说明。在后面叙述Dec2算法。
(S401:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skΓ。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S402:信息输入步骤)
信息输入部320通过输入装置输入访问结构S’:=(M’、ρ’)。另外,访问结构S’是根据希望实现的***的条件进行设定的。并且,访问结构S’的ρ’例如设定有能够对重密文ctn +1 S’进行解密的用户的属性信息。这里,ρ’(i)=(t、v→’ i:=(v’i、1、...、 v’i、nt)∈Fq nt\{0→})(v’i、nt≠0)。
并且,信息输入部320通过输入装置输入重加密次数n。这里输入的重加密次数 n表示生成用于对几次重加密后的密文进行重加密的重加密密钥。即,在生成用于对一次也没重加密的密文ct0 S进行重加密的重加密密钥的情况下,输入0作为重加密次数n。并且,在生成用于对一次重加密后的密文ct1 S进行重加密的重加密密钥的情况下,输入1作为重加密次数n。
(S403:随机数生成步骤)
随机数生成部331通过处理装置,如数式137所示生成随机数。
【数式137】
(S404:随机数加密步骤)
加密部332通过处理装置,如数式138所示对随机数rn+1(转换信息)进行加密,生成密文ct’n+1 S’。这里,函数En+1是从Fq到GT.n+1的编码函数。
【数式138】
(S405:解密密钥k*rk生成步骤)
解密密钥k*rk生成部333通过处理装置,如数式139所示生成解密密钥k*rk 0.n。
【数式139】
并且,解密密钥k*rk生成部333通过处理装置,关于属性集合Γ中包含的各整数 t,如数式140所示生成解密密钥k*rk t.n。
【数式140】
(S406:密钥发送步骤)
重加密密钥发送部340例如通过通信装置,经由网络秘密地向重加密装置400 发送将属性集合Γ、访问结构S’、解密密钥k*rk 0.n、k*rk t.n、密文ct’n+1 S’、重加密次数 n(这里是(S402)中输入的值)作为要素的重加密密钥rkn Γ、S’。当然,也可以通过其它方法向重加密装置400发送重加密密钥rkn Γ、S’。
即,在(S401)~(S405)中,解密装置300执行数式141所示的RKG算法,生成重加密密钥rkn Γ、S’。然后,在(S406)中,解密装置300向重加密装置400发送已生成的重加密密钥rkn Γ、S’。
【数式141】
对重加密装置400的功能和动作进行说明。
如图9所示,重加密装置400具有公开参数接收部410、密文接收部420(密文取得部)、重加密密钥接收部430(重加密密钥取得部)、张成方案计算部440、补充系数计算部450、配对运算部460、重密文发送部470(重密文输出部)。
根据图15对REnc算法的处理进行说明。
(S501:公开参数接收步骤)
公开参数接收部410例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S502:密文接收步骤)
密文接收部420例如通过通信装置,经由网络接收加密装置200发送的密文ctn S。
(S503:重加密密钥接收步骤)
重加密密钥接收部430例如通过通信装置,经由网络接收从解密装置300发送的重加密密钥rkn Γ、S’。
(S504:张成方案计算步骤)
张成方案计算部440通过处理装置判定密文ctn S中包含的访问结构S是否受理重加密密钥rkn Γ、S’中包含的Γ。访问结构S是否受理Γ的判定方法如实施方式1中的“第 3.用于实现FPRE的概念”中说明的那样。
张成方案计算部440在访问结构S受理Γ的情况下(S504:受理),使处理进入(S505)。另一方面,在访问结构S拒绝Γ的情况下(S504:拒绝),结束处理。
(S505:补充系数计算步骤)
补充系数计算部450通过处理装置计算成为数式142的I和常数(补充系数){αi}i∈I。
【数式142】
where Mi is the i-th row of M,
(S506:配对运算步骤)
配对运算部460通过处理装置计算数式143,生成会话密钥K’n。
【数式143】
(S507:重密文发送步骤)
重密文发送部470例如通过通信装置,经由网络秘密地向重密文解密装置500 发送将会话密钥K’n、密文cT.n、访问结构S’、密文ct’n+1 S’、重加密次数n+1(这里是(S502)中接收到的密文ctn S中包含的重加密次数n或(S503)中接收到的重加密密钥rkn Γ、S’中包含的重加密次数n加1而得到的值)作为要素的重密文ctn+1 S’。当然,也可以通过其它方法向重密文解密装置500发送重密文ctn+1 S’。
另外,这里,假设对加密装置200输出的密文ctn S(ct0 S)进行重加密的情况进行了说明。但是,也可以进一步对重加密装置400输出的重密文ctn+1 S’进行重加密。
该情况下,在(S502)中,密文接收部420代替加密装置200输出的密文ctn S而取得重加密装置400输出的重密文ctn+1 S’作为密文ctn S。另外,在密文ctn+1 S’中作为要素包含访问结构S’,但是,为了简便而将该访问结构S’改写成访问结构S。并且,在密文ctn+1 S’中,重加密次数成为n+1,但是,为了简便而将该重加密次数改写成n。
然后,在(S507)中,重密文发送部470向重密文解密装置500发送除了上述要素以外还将(S502)中取得的密文ctn S中包含的要素(会话密钥{K’j}j=1、...、n和密文{cT.j}j=0、...、n-1)作为要素的重密文ctn+1 S’。
其它处理如上所述。
即,在(S501)~(S506)中,重加密装置400执行数式144所示的REnc算法,生成重密文ctn+1 S’。然后,在(S507)中,重加密装置400向重密文解密装置500 发送已生成的重密文ctn+1 S’。
【数式144】
then compute I and{αi}i∈I such that
where Mi is the i-th row of M,
另外,在(S502)中接收到的密文ctn S中包含的重加密次数n和(S503)中接收到的重加密密钥rkn Γ、S’中包含的重加密次数n不一致的情况下,无法进行重加密。
对重密文解密装置500的功能和动作进行说明。
如图10所示,重密文解密装置500具有解密密钥接收部510、密文接收部520、张成方案计算部530、补充系数计算部540、配对运算部550、随机数计算部560、消息计算部570。
根据图16对Dec1算法的处理进行说明。
(S601:解密密钥接收步骤)
解密密钥接收部510例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skΓ’。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S602:密文接收步骤)
密文接收部520例如通过通信装置,经由网络接收重加密装置400发送的重密文ctn S’。
另外,在REnc算法中是输出重密文ctn+1 S’,但是,这里,将表记变更成重密文 ctn S’。即,在利用重加密密钥rkn Γ、S’(rk0 Γ、S’)对重加密次数0(n=0)的密文ctn S’ (ct0 S’)进行重加密而生成重密文ctn+1 S’(ct0+1 S’)的情况下,这里,将该重密文ctn+1 S’ (ct0+1 S’)表记成重密文ctn S’(ct1 S’)。
(S603:张成方案计算步骤)
张成方案计算部530通过处理装置判定重密文ctn S’中包含的访问结构S’是否受理解密密钥skΓ’中包含的Γ’。访问结构S’是否受理Γ’的判定方法如实施方式1中的“第3.用于实现FPRE的概念”中说明的那样。
张成方案计算部530在访问结构S’受理Γ’的情况下(S603:受理),使处理进入(S604)。另一方面,在访问结构S’拒绝Γ’的情况下(S603:拒绝),结束处理。
(S604:补充系数计算步骤)
补充系数计算部540通过处理装置计算成为数式145的I和常数(补充系数){αi}i∈I。
【数式145】
where M′i is the i-th row of M',
(S605:配对运算步骤)
配对运算部550通过处理装置计算数式146,生成会话密钥K’n。
【数式146】
(S606:随机数计算步骤)
随机数计算部560通过处理装置计算数式147,生成随机数rn。
【数式147】
En(rn):=cT.n/K'n,
rn:=decode(En(rn))
进而,在n为2以上的情况下,随机数计算部560通过处理装置,关于j=n-1、...、 1的各整数j,依次计算数式148,生成随机数r1。
【数式148】
rj:=decode(Ej(rj))
(S607:消息计算步骤)
消息计算部570通过处理装置计算m=cT.0/(K’0)r1,生成消息m。这里,r1意味着随机数r1。
即,在(S601)~(S607)中,重密文解密装置500执行数式149所示的Dec1 算法,生成消息m。
【数式149】
then compute I and{αi}i∈I such that
where M′i is the i-th row of M',
En(rn):=cT.n/K'n,rn:=decode(En(rn)),
for j=n-1,...,1,
m:=cT.0/(K'0)r1,
return m.
根据图17对Dec2算法的处理进行说明。
(S701:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skΓ。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S702:密文接收步骤)
密文接收部350例如通过通信装置,经由网络接收加密装置200发送的密文ctn S(ct0 S)。
(S703:张成方案计算步骤)
张成方案计算部360通过处理装置判定密文ctS中包含的访问结构S是否受理解密密钥skΓ中包含的Γ。访问结构S是否受理Γ的判定方法如实施方式1中的“第3. 用于实现FPRE的概念”中说明的那样。
张成方案计算部360在访问结构S受理Γ的情况下(S703:受理),使处理进入(S704)。另一方面,在访问结构S拒绝Γ的情况下(S703:拒绝),结束处理。
(S704:补充系数计算步骤)
补充系数计算部370通过处理装置计算成为数式150的I和常数(补充系数){αi}i∈I。
【数式150】
where Mi is the i-th row of M,
(S705:配对运算步骤)
配对运算部380通过处理装置计算数式151,生成会话密钥K0。
【数式151】
(S706:消息计算步骤)
消息计算部390通过处理装置计算m=cT.0/K0,生成消息m。
即,在(S701)~(S706)中,解密装置300执行数式152所示的Dec2算法,生成消息m。
【数式152】
then compute I and{αi}i∈I such that
where Mi is the i-th row of M,
m:=cT.0/K0,
return m.
如上所述,实施方式1的加密***10实现CP-FPRE方式。因此,能够利用1个重加密密钥向多种用户的集合传送密文。
特别地,在实施方式1的加密***10中,通过一次重加密,密文尺寸增加常数尺寸的要素量。因此,即使执行n次重加密,关于密文尺寸,相对于重加密的执行次数n,仅仅是多项式倍的要素增加。与现有FPRE方式相比,这是非常高效的,能够更加广泛地使用FPRE方式。
另外,在上述说明中,解密装置300兼作重加密密钥生成装置,解密装置300 不仅执行Dec2算法,还执行RKG算法。但是,重密文解密装置500作为重加密密钥生成装置,执行RKG算法,生成进一步对重密文ctn S’进行重加密的情况下的重加密密钥。因此,该情况下,重密文解密装置500还具有解密装置300具有的功能结构中的执行RKG算法所需要的功能结构。
并且,解密装置300(或重密文解密装置500)和重加密密钥生成装置也可以是不同的装置。该情况下,解密装置300执行Dec2算法,重加密密钥生成装置执行RKG 算法。因此,该情况下,解密装置300具有执行Dec2算法所需要的功能结构,重加密密钥生成装置具有执行RKG算法所需要的功能结构。
并且,在上述说明中是在Nt中设定nt+wt+zt+1。但是,也可以在Nt中设定nt+wt+zt+βt。这里,βt是0以上的整数。
并且,在上述说明中是在N0中设定5。但是,也可以在N0中设定1+1+w0+z0+β0。这里,w0、z0、β0是0以上的整数。
实施方式2
在实施方式1中说明的FPRE方式中,在Setup算法中,输入表示重加密次数的上限值的值Q,关于j=1、...、Q的各整数j,分别生成不同的基Bt.j和基B* t.j。因此,重加密次数的上限值越大,则公开参数的尺寸越大,加密处理的效率越差。
在实施方式2中,对如下的FPRE方式进行说明:通过使用带索引的方法,消除重加密次数的上限值,并且,与重加密次数的上限值无关地使公开参数的尺寸固定。
在实施方式2中,省略与实施方式1相同的部分的说明,对与实施方式1不同的部分进行说明。
加密***10的结构与图5所示的实施方式1的加密***10的结构相同。但是,在Setup算法中不需要输入值Q。并且,构成加密***10的各装置的结构与图6~图10所示的实施方式1的各装置的结构相同。
图18是示出Setup算法的处理的流程图。其它算法的处理流程与图12~图17 所示的各算法的处理流程相同。REnc算法和Dec2算法的处理内容也与实施方式1 相同。
根据图18对Setup算法的处理进行说明。
(S801:标准正交基生成步骤)
主密钥生成部110通过处理装置计算数式153,生成参数paramn→、基B0和基 B* 0、基Bt和基B* t。
【数式153】
N0:=5,Nt:=2+nt+wt+zt+1for t=1,...,d,
for t=0,...,d,
(S802:公开参数生成步骤)
主密钥生成部110通过处理装置,如数式154所示生成基B0的部分基B^0、基 Bt的部分基B^t、基B* 0的部分基B^* 0、基B* t的部分基B^* t。
【数式154】
主密钥生成部110对安全参数λ、paramn→、部分基B^0、B^t、B^* 0、B^* t进行合并,设为公开参数pk。
(S803:主密钥生成步骤)
主密钥生成部110将基矢量b* 0.1作为主密钥sk。
(S804:主密钥存储步骤)
主密钥存储部120将(S802)中生成的公开参数pk存储在存储装置中。并且,主密钥存储部120将(S803)中生成的主密钥sk存储在存储装置中。
即,在(S801)~(S803)中,密钥生成装置100执行数式155所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S804)中,密钥生成装置100将生成的公开参数pk和主密钥sk存储在存储装置中。
【数式155】
N0:=5,Nt:=2+nt+wt+zt+1for t=1,...,d,
for t=0,...,d,
根据图12对KG算法的处理进行说明。
(S201)的处理与实施方式1相同。
(S202:随机数生成步骤)
随机数生成部141通过处理装置,如数式156所示生成随机数。
【数式156】
(S203:解密密钥k*生成步骤)
解密密钥k*生成部142通过处理装置,如数式157所示生成解密密钥k* 0。
【数式157】
并且,解密密钥k*生成部142通过处理装置,关于属性集合Γ中包含的各整数t,如数式158所示生成解密密钥k* t。
【数式158】
(S204:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将属性集合Γ、解密密钥k* 0、k* t作为要素的解密密钥skΓ。
即,在(S201)~(S203)中,密钥生成装置100执行数式159所示的KG算法,生成解密密钥skΓ。然后,在(S204)中,密钥生成装置100向解密装置300发送解密密钥skΓ。
【数式159】
根据图13对Enc算法的处理进行说明。
(S301)~(S304)和(S307)的处理与实施方式1相同。
(S305:随机数生成步骤)
随机数生成部233通过处理装置,如数式160所示生成随机数。
【数式160】
(S306:密文c生成步骤)
密文c生成部234通过处理装置,如数式161所示生成密文c0.n。
【数式161】
并且,密文c生成部234关于i=1、...、L的各整数i,如数式162所示生成密文 ci.n。
【数式162】
for i=1,...,L,
并且,密文c生成部234通过处理装置,如数式163所示生成密文cT.n。
【数式163】
即,在(S301)~(S306)中,加密装置200执行数式164所示的Enc算法,生成密文ctn S。然后,在(S307)中,加密装置200向解密装置300发送已生成的密文ctn S。
【数式164】
for i=1,...,L,
根据图14对RKG算法的处理进行说明。
(S401)~(S402)、(S404)、(S406)的处理与实施方式1相同。
(S403:随机数生成步骤)
随机数生成部331通过处理装置,如数式165所示生成随机数。
【数式165】
(S405:解密密钥k*rk生成步骤)
解密密钥k*rk生成部333通过处理装置,如数式166所示生成解密密钥k*rk 0.n。【数式166】
并且,解密密钥k*rk生成部333关于属性集合Γ中包含的各整数t,如数式167 所示生成解密密钥k*rk t.n。
【数式167】
即,在(S401)~(S405)中,解密装置300执行数式168所示的RKG算法,生成重加密密钥rkn Γ、S’。然后,在(S406)中,解密装置300向重加密装置400发送已生成的重加密密钥rkn Γ、S’。
【数式168】
根据图16对Dec1算法的处理进行说明。
(S601)~(S604)、(S606)~(S607)的处理与实施方式1相同。
(S605:配对运算步骤)
配对运算部550通过处理装置计算数式169,生成会话密钥Kn。
【数式169】
即,在(S601)~(S607)中,重密文解密装置500执行数式170所示的Dec1 算法,生成消息m。
【数式170】
then compute I and{αi}i∈I such that
where M′i is the i-th row of M',
En(rn):=cT.n/K'n,rn:=decode(En(rn)),
for j=n-1,...,1,
m:=cT.0/(K'0)r1,
return m.
如上所述,实施方式2的加密***10在密文ci.0的开头2个基矢量中设定索引μn(n、-1),在解密密钥k*rk t.n的开头2个基矢量中嵌入索引σn(1、n)。由此,每当进行重加密时,不用使用不同的基,能够使用相同的基进行重加密。
其结果是,不需要设定重加密次数的上限值。并且,能够与重加密次数的上限值无关地使公开参数的尺寸固定。
另外,关于设定了索引的部分,内积的结果为0即可。因此,在上述说明中,在开头2个基矢量的二维中设定了索引,但是不限于此,也可以在三维以上设定索引。并且,作为索引设定的值也不限于上述说明的值,也可以是其它值。
实施方式3
在实施方式1中,对CP-FPRE方式进行了说明。在实施方式3中,对密钥策略的FPRE方式(Key-Policy FPRE:KP-FPRE)方式进行说明。
在实施方式3中,省略与实施方式1相同的部分的说明,对与实施方式1不同的部分进行说明。
首先,对KP-FPRE方式的基本结构进行说明。接着,对实现该KP-FPRE方式的加密***10的基本结构进行说明。然后,对该实施方式的KP-FPRE方式和加密*** 10进行详细说明。
对KP-FPRE方式的结构进行简单说明。另外,KP(密钥策略)意味着在密钥中嵌入Policy,即嵌入访问结构。
<第1-1.KP-FPRE方式的基本结构>
KP-FPRE方式具有Setup、KG、Enc、RKG、REnc、Dec1、Dec2这7个算法。
(Setup)
Setup算法是将安全参数λ、属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)、表示重加密次数的上限值的值Q作为输入而输出公开参数pk和主密钥sk的概率算法。
(KG)
KG算法是将访问结构S=(M、ρ)、公开参数pk、主密钥sk作为输入而输出解密密钥skS的概率算法。
(Enc)
Enc算法是将消息m、属性集合Γ:={(t、x→ t)|x→ t∈Fq nt、1≦t≦d}、公开参数 pk作为输入而输出密文ctn Γ的概率算法。
(RKG)
RKG算法是将解密密钥skS、属性集合Γ’:={(t、x’→ t)|x’→ t∈Fq nt、1≦t≦d}、公开参数pk作为输入而输出重加密密钥rkn S、Γ’的概率算法。
(REnc)
REnc算法是将密文ctn Γ、重加密密钥rkn S.Γ’、公开参数pk作为输入而输出重密文ctn+1 Γ’的概率算法。
(Dec1)
Dec1算法是将重密文ctn Γ’、解密密钥skS’、公开参数pk作为输入而输出消息m 或识别信息⊥的算法。
(Dec2)
Dec2算法是将密文ctn Γ(ct0 Γ)、解密密钥skS、公开参数pk作为输入而输出消息m或识别信息⊥的算法。
<第1-2.加密***10>
对执行KP-FPRE方式的算法的加密***10进行说明。
图19是执行KP-FPRE方式的加密***10的结构图。
与图5所示的加密***10同样,加密***10具有密钥生成装置100、加密装置 200、解密装置300(重加密密钥生成装置)、重加密装置400、重密文解密装置500 (重加密密钥生成装置)。
密钥生成装置100将安全参数λ、属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、 zd)、值Q作为输入来执行Setup算法,生成公开参数pk和主密钥sk。
然后,密钥生成装置100对公开参数pk进行公开。并且,密钥生成装置100将访问结构S作为输入来执行KG算法,生成解密密钥skS,秘密地向解密装置300发送。并且,密钥生成装置100将访问结构S’作为输入来执行KG算法,生成解密密钥 skS’,秘密地向重密文解密装置500发送。
加密装置200将消息m、属性集合Γ、公开参数pk作为输入来执行Enc算法,生成密文ctn Γ。加密装置200向重加密装置400发送密文ctn Γ。
解密装置300将公开参数pk、解密密钥skS、属性集合Γ’、值n作为输入来执行 RKG算法,生成重加密密钥rkn S、Γ’。解密装置300秘密地向重加密装置400发送重加密密钥rkn S、Γ’。
并且,解密装置300将公开参数pk、解密密钥skS、密文ctn Γ(ct0 Γ)作为输入来执行Dec2算法,输出消息m或识别信息⊥。
重加密装置400将公开参数pk、重加密密钥rkn S、Γ’、密文ctn Γ作为输入来执行 REnc算法,生成重密文ctn+1 Γ’。重加密装置400向重密文解密装置500发送重密文 ctn+1 Γ’。
重密文解密装置500将公开参数pk、解密密钥skS’、重密文ctn+1 Γ’作为输入来执行Dec1算法,输出消息m或识别信息⊥。
<第1-4.KP-FPRE方式和加密***10的详细>
根据图20~图30对KP-FPRE方式和执行KP-FPRE方式的加密***10的功能和动作进行说明。
图20是示出密钥生成装置100的功能的功能框图。图21是示出加密装置200 的功能的功能框图。图22是示出解密装置300的功能的功能框图。图23是示出重加密装置400的功能的功能框图。图24是示出重密文解密装置500的功能的功能框图。
图25是示出密钥生成装置100的动作的流程图,是示出KG算法的处理的流程图。图26是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图27是示出解密装置300的动作的流程图,是示出RKG算法的处理的流程图。图 28是示出重加密装置400的动作的流程图,是示出REnc算法的处理的流程图。图 29是示出重密文解密装置500的动作的流程图,是示出Dec1算法的处理的流程图。图30是示出解密装置300的动作的流程图,是示出Dec2算法的处理的流程图。
对密钥生成装置100的功能和动作进行说明。
如图20所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150(密钥输出部)。并且,解密密钥生成部140具有随机数生成部141、解密密钥k*生成部142、f矢量生成部143、s 矢量生成部144。
Setup算法的处理基本上与实施方式1中说明的Setup算法的处理相同,因此省略说明。但是,基B^0、基B^t、基B*^0、基B*^t中包含的基矢量与实施方式1不同。
密钥生成装置100执行数式171所示的Setup算法,生成公开参数pk和主密钥 sk。
【数式171】
N0:=5,Nt:=nt+wt+zt+1for t=1,...,d,
for j=0,...,Q,
for t=0,...,d,
根据图25对KG算法的处理进行说明。
(S901:信息输入步骤)
信息输入部130通过输入装置输入访问结构S:=(M、ρ)。另外,访问结构S 的矩阵M是根据希望实现的***的条件进行设定的。并且,访问结构S的ρ例如设定有解密密钥skS的使用者的属性信息。这里,ρ(i)=(t、v→ i:=(vi.1、...、vi.nt) ∈Fq nt\{0→})(vi、nt≠0)。
(S902:f矢量生成步骤)
f矢量生成部143通过处理装置,如数式172所示生成矢量f→。
【数式172】
(S903:s矢量生成步骤)
s矢量生成部144通过处理装置,如数式173所示生成矢量s→T:=(s1、...、sL) T。
【数式173】
并且,s矢量生成部144通过处理装置,如数式174所示生成值s0。
【数式174】
(S904:随机数生成步骤)
随机数生成部141通过处理装置,如数式175所示生成随机数。
【数式175】
(S905:解密密钥k*生成步骤)
解密密钥k*生成部142通过处理装置,关于j=0、...、Q的各整数j,如数式176 所示生成解密密钥k* 0.j。
【数式176】
并且,解密密钥k*生成部142通过处理装置,关于i=1、...、L的各整数i和j=0、...、 Q的各整数j,如数式177所示生成解密密钥k* i.j。
【数式177】
for i=1,...,L;j=0,...,Q,
(S906:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将访问结构S、解密密钥k* 0.j、k* i.j作为要素的解密密钥skS。当然,也可以通过其它方法向解密装置300发送解密密钥skS。
即,在(S901)~(S905)中,密钥生成装置100执行数式178所示的KG算法,生成解密密钥skS。然后,在(S906)中,密钥生成装置100向解密装置300发送已生成的解密密钥skS。
【数式178】
for j=0,...,Q
for i=1,...,L,
另外,密钥生成装置100在(S901)中输入设定有解密密钥skS’的使用者的属性信息的访问结构S’:=(M’、ρ’),执行KG算法,生成解密密钥skS’。然后,向重密文解密装置500发送解密密钥skS’:=(S’、k’* 0、k’* i)。这里,ρ’(i)=(t、v→’ i:= (v’i.1、...、v’i.nt)∈Fq nt\{0→})(v’i、nt≠0)。
对加密装置200的功能和动作进行说明。
如图21所示,加密装置200具有公开参数接收部210、信息输入部220、加密部 230、密文发送部240(密文输出部)。并且,加密部230具有随机数生成部233、密文c生成部234。
根据图26对Enc算法的处理进行说明。
(S1001:公开参数接收步骤)
公开参数接收部210例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S1002:信息输入步骤)
信息输入部220通过输入装置输入属性集合Γ:={(t、x→ t:=(xt.1、...、xt.nt∈Fqnt)) |1≦t≦d}。另外,t也可以不是1以上d以下的全部整数而是1以上d以下的至少一部分整数。并且,属性集合Γ例如设定有能够解密的用户的属性信息。
并且,信息输入部220通过输入装置输入向解密装置300发送的消息m。
并且,信息输入部220通过输入装置输入重加密次数n。这里输入的重加密次数 n通常为0,在后述RKG算法中调出Enc算法的情况下,成为由RKG算法指定的值。
(S1003:随机数生成步骤)
随机数生成部233通过处理装置,如数式139所示生成随机数。
【数式179】
(S1004:密文c生成步骤)
密文c生成部234通过处理装置,如数式180所示生成密文c0.n。
【数式180】
并且,密文c生成部234通过处理装置,关于属性信息Γ中包含的各整数t,如数式181所示生成密文ct.n。
【数式181】
并且,密文c生成部234通过处理装置,如数式182所示生成密文cT.n。
【数式182】
(S1005:密文发送步骤)
密文发送部240例如通过通信装置,经由网络向解密装置300发送将属性集合Γ、密文c0.n、ct.n、cT.n作为要素的密文ctn Γ。当然,也可以通过其它方法向解密装置300 发送密文ctn Γ。
即,在(S1001)~(S1004)中,加密装置200执行数式183所示的Enc算法,生成密文ctn Γ。然后,在(S1005)中,加密装置200向解密装置300发送已生成的密文ctn Γ。
【数式183】
对解密装置300的功能和动作进行说明。
如图22所示,解密装置300具有解密密钥接收部310、信息输入部320、重加密密钥生成部330、重加密密钥发送部340(重加密密钥输出部)、密文接收部350、张成方案计算部360、补充系数计算部370、配对运算部380、消息计算部390。并且,重加密密钥生成部330具有随机数生成部331、加密部332、解密密钥k*rk生成部333。
这里,根据图27对RKG算法的处理进行说明。在后面叙述Dec2算法。
(S1101:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skS。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S1102:信息输入步骤)
信息输入部320通过输入装置输入属性集合Γ’:={(t、x’→ t:=(x’t.1、...、x’t.nt∈Fq nt\{0 →}))|1≦t≦d}。另外,t也可以不是1以上d以下的全部整数而是1以上d以下的至少一部分整数。并且,属性集合Γ’例如设定有能够对重密文ctn+1 Γ’进行解密的用户的属性信息。
并且,信息输入部320通过输入装置输入重加密次数n。这里输入的重加密次数 n表示生成用于对重加密几次的密文进行重加密的重加密密钥。
(S1103:随机数生成步骤)
随机数生成部331通过处理装置,如数式184所示生成随机数。
【数式184】
(S1104:随机数加密步骤)
加密部332通过处理装置,如数式185所示对随机数rn+1(转换信息)进行加密,生成密文ct’n+1 Γ’。这里,函数En+1是从Fq到GT.n+1的编码函数。
【数式185】
(S1105:解密密钥k*rk生成步骤)
解密密钥k*rk生成部333通过处理装置,如数式186所示生成解密密钥k*rk 0.n。
【数式186】
并且,解密密钥k*rk生成部333通过处理装置,关于i=1、...、L的各整数i,如数式187所示生成解密密钥k*rk i.n。
【数式187】
(S1106:密钥发送步骤)
重加密密钥发送部340例如通过通信装置,经由网络秘密地向重加密装置400 发送将访问结构S、属性集合Γ’、解密密钥k*rk 0.n、k*rk i.n、密文ct’n+1 Γ’、重加密次数 n(这里是(S1102)中输入的值)作为要素的重加密密钥rkn S、Γ’。当然,也可以通过其它方法向重加密装置400发送重加密密钥rkn S、Γ’。
即,在(S1101)~(S1105)中,解密装置300执行数式188所示的RKG算法,生成重加密密钥rkn S、Γ’。然后,在(S1106)中,解密装置300向重加密装置400发送已生成的重加密密钥rkn S、Γ’。
【数式188】
对重加密装置400的功能和动作进行说明。
如图23所示,重加密装置400具有公开参数接收部410、密文接收部420、重加密密钥接收部430、张成方案计算部440、补充系数计算部450、配对运算部460、重密文发送部470(重密文输出部)。
根据图28对REnc算法的处理进行说明。
(S1201:公开参数接收步骤)
公开参数接收部410例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S1202:密文接收步骤)
密文接收部420例如通过通信装置,经由网络接收加密装置200发送的密文ctn Γ(ct0 Γ)。
(S1203:重加密密钥接收步骤)
重加密密钥接收部430例如通过通信装置,经由网络接收从解密装置300发送的重加密密钥rkn S、Γ’。
(S1204:张成方案计算步骤)
张成方案计算部440通过处理装置判定重加密密钥rkn S、Γ’中包含的访问结构S是否受理密文ctn Γ中包含的Γ。访问结构S是否受理Γ的判定方法如实施方式1中的“第 3.用于实现FPRE的概念”中说明的那样。
张成方案计算部440在访问结构S受理Γ的情况下(S1204:受理),使处理进入(S1205)。另一方面,在访问结构S拒绝Γ的情况下(S1204:拒绝),结束处理。
(S1205:补充系数计算步骤)
补充系数计算部450通过处理装置计算成为数式189的I和常数(补充系数){αi}i∈I。
【数式189】
where Mi is the i-th row of M,
(S1206:配对运算步骤)
配对运算部460通过处理装置计算数式190,生成会话密钥K’n。
【数式190】
(S1207:重密文发送步骤)
重密文发送部470例如通过通信装置,经由网络秘密地向重密文解密装置500 发送将会话密钥K’n、密文cT.n、属性集合Γ’、密文ct’n+1 Γ’、重加密次数n+1(这里是(S1202)中接收到的密文ctn Γ中包含的重加密次数n或(S1203)中接收到的重加密密钥rkn S、Γ’中包含的重加密次数n加1而得到的值)作为要素的重密文ctn+1 Γ’。当然,也可以通过其它方法向重密文解密装置500发送重密文ctn+1 Γ’。
另外,这里,假设对加密装置200输出的密文ctn Γ进行重加密的情况进行了说明。但是,也可以进一步对重加密装置400输出的重密文ctn+1 Γ’进行重加密。
该情况下,在(S1202)中,密文接收部420代替加密装置200输出的密文ct0 Γ而取得重加密装置400输出的重密文ctn+1 Γ’作为密文ctn Γ。另外,在密文ctn+1 Γ’中作为要素包含属性集合Γ’,但是,为了简便而将该属性集合Γ’改写成属性集合Γ。并且,在密文ctn+1 Γ’中,重加密次数成为n+1,但是,为了简便而将该重加密次数改写成n。
然后,在(S1207)中,重密文发送部470向重密文解密装置500发送除了上述要素以外还将(S1202)中取得的密文ctn Γ中包含的要素(会话密钥{K’j}j=1、...、n和密文{cT.j}j=0、...、n-1)作为要素的重密文ctn+1 Γ’。
其它处理如上所述。
即,在(S1201)~(S1206)中,重加密装置400执行数式191所示的REnc算法,生成重密文ctn+1 Γ’。然后,在(S1207)中,重加密装置400向重密文解密装置 500发送已生成的重密文ctn+1 Γ’。
【数式191】
then compute I and{αi}i∈I such that
where Mi is the i-th row of M,
另外,在(S1202)中接收到的密文ctn Γ中包含的重加密次数n和(S1203)中接收到的重加密密钥rkn S、Γ’中包含的重加密次数n不一致的情况下,无法进行重加密。
对重密文解密装置500的功能和动作进行说明。
如图24所示,重密文解密装置500具有解密密钥接收部510、密文接收部520、张成方案计算部530、补充系数计算部540、配对运算部550、随机数计算部560、消息计算部570。
根据图29对Dec1算法的处理进行说明。
(S1301:解密密钥接收步骤)
解密密钥接收部510例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skS’。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S1302:密文接收步骤)
密文接收部520例如通过通信装置,经由网络接收重加密装置400发送的重密文ctn Γ’。
另外,在REnc算法中,输出重密文ctn+1 Γ’,但是,这里,将表记变更成重密文 ctn Γ’。
(S1303:张成方案计算步骤)
张成方案计算部530通过处理装置判定解密密钥skS’中包含的访问结构S’是否受理重密文ctn Γ’中包含的Γ’。访问结构S’是否受理Γ’的判定方法如实施方式1中的“第 3.用于实现FPRE的概念”中说明的那样。
张成方案计算部530在访问结构S’受理Γ’的情况下(S1303:受理),使处理进入(S1304)。另一方面,在访问结构S’拒绝Γ’的情况下(S1303:拒绝),结束处理。
(S1304:补充系数计算步骤)
补充系数计算部540通过处理装置计算成为数式192的I和常数(补充系数){αi}i∈I。
【数式192】
where M′i is the i-th row of M',
(S1305:配对运算步骤)
配对运算部550通过处理装置计算数式193,生成会话密钥K’n。
【数式193】
(S1306)~(S1307)的处理与图16所示的实施方式1的(S606)~(S607) 的处理相同。
即,在(S1301)~(S1307)中,重密文解密装置500执行数式194所示的Dec1 算法,生成消息m。
【数式194】
then compute I and{αi}i∈I such that
where M′i is the i-th row of M',
En(rn):=cT.n/K'n,rn:=decode(En(rn)),
for j=n-1,...,1,
m:=cT.0/(K'0)r1,
return m.
根据图30对Dec2算法的处理进行说明。
(S1401:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skS。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数 pk。
(S1402:密文接收步骤)
密文接收部350例如通过通信装置,经由网络接收重加密装置400发送的密文ct0 Γ。
(S1403:张成方案计算步骤)
张成方案计算部360通过处理装置判定解密密钥skS中包含的访问结构S是否受理密文ctΓ中包含的Γ。访问结构S是否受理Γ的判定方法如实施方式1中的“第3. 用于实现FPRE的概念”中说明的那样。
张成方案计算部360在访问结构S受理Γ的情况下(S1403:受理),使处理进入(S1404)。另一方面,在访问结构S拒绝Γ的情况下(S1403:拒绝),结束处理。
(S1404:补充系数计算步骤)
补充系数计算部370通过处理装置计算成为数式195的I和常数(补充系数){αi}i∈I。
【数式195】
where Mi is the i-th row of M,
(S1405:配对运算步骤)
配对运算部380通过处理装置计算数式196,生成会话密钥K0。
【数式196】
(S1406:消息计算步骤)
消息计算部390通过处理装置计算m=cT.0/K0,生成消息m。
即,在(S1401)~(S1406)中,解密装置300执行数式197所示的Dec2算法,生成消息m。
【数式197】
then compute I and{αi}i∈I such that
where Mi is the i-th row of M,
m:=cT.0/K0,
return m.
如上所述,实施方式3的加密***10实现KP-FPRE方式。因此,能够利用1 个重加密密钥向多种用户的集合传送密文。
另外,在实施方式2中,对针对实施方式1中说明的CP-FPRE方式应用带索引的方法的方式进行了说明。而且,在实施方式2中,实现了消除重加密次数的上限值并且与重加密次数的上限值无关地使公开参数的尺寸固定的CP-FPRE方式。
同样,针对实施方式3中说明的KP-FPRE方式,如数式198~数式201所示,也可以应用带索引的方法。另外,RKG算法、REnc算法、Dec2算法的处理内容也与上述KP-FPRE方式相同。
由此,能够实现消除重加密次数的上限值并且与重加密次数的上限值无关地使公开参数的尺寸固定的KP-FPRE方式。
【数式198】
N0:=5,Nt:=2+nt+wt+zt+1for t=1,...,d,
for t=0,...,d,
【数式199】
for j=0,...,Q
for i=1,...,L,
【数式200】
【数式201】
then compute I and{αi}i∈I such that
where M′i is the i-th row of M',
En(rn):=cT.n/K'n,rn:=decode(En(rn)),
for j=n-1,...,1,
m:=cT.0/(K'0)r1,
return m.
实施方式4
在以上的实施方式中,对在对偶矢量空间中实现加密处理的方法进行了说明。在实施方式4中,对在对偶模块中实现加密处理的方法进行说明。
即,在以上的实施方式中,在质数位数q的循环组内实现了加密处理。但是,在使用合成数M如数式202那样表示环R的情况下,在将环R作为系数的模块中,也能够应用上述实施方式中说明的加密处理。
【数式202】
其中,
Z:整数
M合成数
如果将在以上的实施方式中说明的算法中的Fq变更成R,则能够实现对偶模块中的加密处理。
另外,在以上的实施方式中,假设通过FE对消息进行加密并向目的地发送的情况,说明了重加密装置400对密文进行重加密并变更密文的目的地。
FE不仅能够实现对消息进行加密并向目的地发送的功能,还能够实现不对密文进行解密就能够进行检索的可检索加密。在通过FE实现了可检索加密的情况下,能够通过在以上的实施方式中说明的算法来变更所设定的检索关键字。
在以上的实施方式中,指定了能够对密文中设定的属性信息进行解密的用户。而且,通过变更属性信息,对密文的目的地进行变更。在通过FE实现可检索加密的情况下,密文中设定的属性信息的一部分指定能够进行检索的用户,属性信息的其余一部分指定检索关键字。因此,通过利用在以上的实施方式中说明的算法来变更属性信息中的指定了检索关键字的部分,能够对所设定的检索关键字进行变更。
并且,在以上的实施方式中,设一台密钥生成装置100生成解密密钥。但是,也可以将以上的实施方式的算法与非专利文献5所述的分散多管理者的方式进行组合,通过多个密钥生成装置100生成一个解密密钥。
并且,在以上的实施方式中,在追加属性的范畴的情况下(增加属性的格式n→中的d值的情况下),需要再次发行公开参数。但是,也可以将以上的实施方式的算法与非专利文献6所述的Unbounded的方式进行组合,不用再次发行公开参数,也能够追加属性的范畴。
并且,在以上的实施方式中,当设内积加密中使用的矢量的长度为N时,公开参数和主秘密密钥的尺寸与N2成比例,赋予用户的解密密钥的生成和加密处理需要花费与N2成比例的时间。但是,也可以将以上的实施方式的算法与非专利文献7所述的方式进行组合,能够减小公开参数和主秘密密钥的尺寸,并且,能够缩短赋予用户的解密密钥的生成处理和加密处理所需要花费的时间。
并且,在以上的实施方式中,设为向发送目的地的装置发送密钥和密文。但是,取而代之,也可以将密钥和密文输出到CD或DVD等存储介质,发送目的地的装置读入存储介质。因此,可以将发送改写成输出,将接收改写成取得。
另外,在以上的实施方式中,根据安全性证明的观点,与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)。
图31是示出实施方式1~4所示的加密***10的各装置(密钥生成装置100、加密装置200、解密装置300、重加密装置400、重密文解密装置500)的硬件结构的例子的图。
加密***10的各装置是计算机,能够通过程序来实现加密***10的各装置的各要素。
作为加密***10的各装置的硬件结构,在总线上连接有运算装置901、外部存储装置902、主存储装置903、通信装置904、输入输出装置905。
运算装置901是执行程序的CPU(Central Processing Unit)等。外部存储装置902例如是ROM(Read Only Memory)、闪存、硬盘装置等。主存储装置903例如是RAM (RandomAccess Memory)等。通信装置904例如是通信板等。输入输出装置905 例如是鼠标、键盘、显示装置等。
程序通常存储在外部存储装置902中,在下载到主存储装置903的状态下,依次被运算装置901读入并执行。
程序是实现作为主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150、公开参数接收部210、信息输入部220、加密部 230、密文发送部240、解密密钥接收部310、信息输入部320、重加密密钥生成部330、重加密密钥发送部340、密文接收部350、张成方案计算部360、补充系数计算部370、配对运算部380、消息计算部390、公开参数接收部410、密文接收部420、重加密密钥接收部430、张成方案计算部440、补充系数计算部450、配对运算部460、重密文发送部470、解密密钥接收部510、密文接收部520、张成方案计算部530、补充系数计算部540、配对运算部550、随机数计算部560、消息计算部570说明的功能的程序。
进而,在外部存储装置902中还存储有操作***(OS),OS的至少一部分被下载到主存储装置903中,运算装置901执行OS并执行上述程序。
并且,在实施方式1~4的说明中,在主存储装置903中作为文件存储有作为“公开参数pk”、“主秘密密钥sk”、“解密密钥skS、skΓ”、“密文ctn Γ、ctn S”、“重加密密钥rkn Γ、S’、rkn S、Γ’”、“重密文ctn S’、ctn Γ’”、“访问结构S、S’”、“属性集合Γ、Γ’”、“消息m”等说明的信息、数据、信号值、变量值。
另外,图31的结构只不过示出加密***10的各装置的硬件结构的一例,加密***10的各装置的硬件结构不限于图31所述的结构,也可以是其它结构。
标号说明
10:加密***;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部; 130:信息输入部;140:解密密钥生成部;141:随机数生成部;142:解密密钥k*生成部;143:f矢量生成部;144:s矢量生成部;150:密钥发送部;200:加密装置;210:公开参数接收部;220:信息输入部;230:加密部;231:f矢量生成部; 232:s矢量生成部;233:随机数生成部;234:密文c生成部;240:密文发送部; 300:解密装置;310:解密密钥接收部;320:信息输入部;330:重加密密钥生成部; 331:随机数生成部;332:加密部;333:解密密钥k*rk生成部;340:重加密密钥发送部;350:密文接收部;360:张成方案计算部;370:补充系数计算部;380:配对运算部;390:消息计算部;400:重加密装置;410:公开参数接收部;420:密文接收部;430:重加密密钥接收部;440:张成方案计算部;450:补充系数计算部;460:配对运算部;470:重密文发送部;500:重密文解密装置;510:解密密钥接收部; 520:密文接收部;530:张成方案计算部;540:补充系数计算部;550:配对运算部;560:随机数计算部;570:消息计算部。
Claims (9)
1.一种加密***,其实现在2个信息相互对应的情况下,能够利用被设定了一个信息的解密密钥对被设定了另一个信息的密文进行解密的加密方式下的代理重加密功能,其特征在于,所述加密***具有:
加密装置,其输出被设定了相互对应的属性信息x0、v0中的一方的密文ct0;
重加密密钥生成装置,其取得被设定了所述属性信息x0、v0中的另一方的解密密钥k*,输出包含解密密钥k*rk 0和密文ct’1的重加密密钥rk1,其中,所述解密密钥k*rk 0是对所取得的解密密钥k*乘以转换信息r1而得到的,所述密文ct’1是被设定了相互对应的属性信息x1、v1中的一方且对所述转换信息r1进行加密而得到的;以及
重加密装置,其输出包含计算所述密文ct0与所述解密密钥k*rk 0之间的配对运算而生成的会话密钥K’0和所述密文ct’1的重密文ct1。
2.根据权利要求1所述的加密***,其特征在于,
所述加密***还具有重密文解密装置,该重密文解密装置取得被设定了所述属性信息x1、v1中的另一方的解密密钥k*’,计算所取得的解密密钥k*’与所述密文ct’1之间的配对运算而生成所述转换信息r1,根据所生成的转换信息r1和所述会话密钥K’0生成消息m。
3.根据权利要求2所述的加密***,其特征在于,
所述重密文解密装置输出包含解密密钥k*rk 1和密文ct’2的重加密密钥rk2,其中,所述解密密钥k*rk 1是利用转换信息r2对所述解密密钥k*’进行转换而得到的,所述密文ct’2是被设定了相互对应的属性信息x2、v2中的一方且对所述转换信息r2进行加密而得到的,
所述重加密装置输出包含计算所述重密文ct1与所述解密密钥k*rk 1之间的配对运算而生成的会话密钥K’1和所述密文ct’2的重密文ct2。
4.根据权利要求1所述的加密***,其特征在于,
所述加密装置输出数式1所示的密文ct0,
所述重加密密钥生成装置取得数式2所示的解密密钥k*,输出包含数式3所示的解密密钥k*rk 0和数式4所示的密文ct’1的重加密密钥rk1,
所述重加密装置输出包含数式5所示的会话密钥K’0的重密文ct1,
【数式1】
c0.0:=(ζ,-s0)B0.0,
for i=1,...,L,
ct0:=(c0.0,{ci.0}i=1,...,L,cT.0)
其中,
表示从Fq中随机选择具有r个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ,θi.0,
M是L行r列的矩阵,
nt是1以上的整数,
s0为共享的秘密信息,
是各要素为值“1”的行矢量,
B0.0和Bt.0为标准正交基,
si为分散信息,
ρ(i)为对矩阵M的各行附加的标签,
为s0的L个分散信息的矢量,
为标准基矢量,
m为消息,
gT.0为双线性配对组的参数,
t∈{1、...、d},d是1以上的整数,
【数式2】
其中,
表示在位数q的有限体Fq中均匀选择随机数δ0,
和为标准正交基,
【数式3】
其中,
表示在位数q的有限体Fq中均匀选择随机数
【数式4】
c0.1:=(ζ′,-s′0)B0.1,
for i=1,...,L′,
ct′1:=(c0.1,{ci.1}i=1,...,L′,cT.1)
其中,
表示从Fq中随机选择具有r′个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ′,θ′i.1,
E1是编码函数,
【数式5】
其中,
其中Mi是M的第i行,
且
αi为补充系数,
e(x,y)为非退化双线性函数。
5.根据权利要求1所述的加密***,其特征在于,
所述加密装置输出数式6所示的密文ct0,
所述重加密密钥生成装置取得数式7所示的解密密钥k*,输出包含数式8所示的解密密钥k*rk 0和数式9所示的密文ct’1的重加密密钥rk1,
所述重加密装置输出包含数式10所示的会话密钥K’0的重密文ct1,
【数式6】
c0.0:=(ζ,-s0)B0.0,
for i=1,...,L,
ct0:=(c0.0,{ci.0}i=1,...,L,cT.0)
其中,
表示从Fq中随机选择具有r个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ,θi.0,μ0,
M是L行r列的矩阵,
nt是1以上的整数,
s0为共享的秘密信息,
是各要素为值“1”的行矢量,
B0.0和Bt.0为标准正交基,
si为分散信息,
ρ(i)为对矩阵M的各行附加的标签,
为s0的L个分散信息的矢量,
为标准基矢量,
m为消息,
gT.0为双线性配对组的参数,
t∈{1、...、d},d是1以上的整数,
【数式7】
其中,
表示在位数q的有限体Fq中均匀选择随机数δ0,
和为标准正交基,
0为基矢量系数,
【数式8】
其中,
表示在位数q的有限体Fq中均匀选择随机数
【数式9】
c0.1:=(ζ′,-s′0)B0.1,
for i=1,...,L′,
ct′1:=(c0.1,{ci.1}i=1,...,L′,cT.1)
其中,
表示从Fq中随机选择具有r′个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ′,θ′i.1,μ1,
E1是编码函数,
【数式10】
其中,
其中Mi是M的第i行,
且
αi为补充系数,
e(x,y)为非退化双线性函数。
6.根据权利要求1所述的加密***,其特征在于,
所述加密装置输出数式11所示的密文ct0,
所述重加密密钥生成装置取得数式12所示的解密密钥k*,输出包含数式13所示的解密密钥k*rk 0和数式14所示的密文ct’1的重加密密钥rk1,
所述重加密装置输出包含数式15所示的会话密钥K’0的重密文ct1,
【数式11】
c0.0:=(ζ,δ0)B0.0,
其中,
表示在位数q的有限体Fq中均匀选择随机数ζ,δ0,
nt是1以上的整数,
B0.0和Bt.0为标准正交基,
m为消息,
gT.0为双线性配对组的参数,
t∈{1、...、d},d是1以上的整数,
【数式12】
for i=1,...,L,
其中,
表示从Fq中随机选择具有r个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ,θi.0,
M是L行r列的矩阵,
s0为共享的秘密信息,
是各要素为值“1”的行矢量,
和为标准正交基,
si为分散信息,
ρ(i)为对矩阵M的各行附加的标签,
为s0的L个分散信息的矢量,
为标准基矢量,
m为消息,
t∈{1、...、d},d是1以上的整数,
【数式13】
【数式14】
c0.1:=(ζ′,δ1)B0.1,
其中,
表示在位数q的有限体Fq中均匀选择随机数ζ′,δ1,
【数式15】
其中,
其中Mi是M的第i行,
且
αi为补充系数,
e(x,y)为非退化双线性函数。
7.根据权利要求1所述的加密***,其特征在于,
所述加密装置输出数式16所示的密文ct0,
所述重加密密钥生成装置取得数式17所示的解密密钥k*,输出包含数式18所示的解密密钥k*rk 0和数式19所示的密文ct’1的重加密密钥rk1,
所述重加密装置输出包含数式20所示的会话密钥K’0的重密文ct1,
【数式16】
c0.0:=(ζ,δ0)B0.0,
其中,
表示在位数q的有限体Fq中均匀选择随机数ζ,δ0,σ0,
nt是1以上的整数,
B0.0和Bt.0为标准正交基,
m为消息,
gT.0为双线性配对组的参数,
t∈{1、...、d},d是1以上的整数,
【数式17】
for i=1,...,L,
其中,
表示从Fq中随机选择具有r个要素的向量,
表示在位数q的有限体Fq中均匀选择随机数ζ,θi.0,μ0,
M是L行r列的矩阵,
s0为共享的秘密信息,
是各要素为值“1”的行矢量,
和为标准正交基,
si为分散信息,
ρ(i)为对矩阵M的各行附加的标签,
为s0的L个分散信息的矢量,
为标准基矢量,
【数式18】
【数式19】
c0.1:=(ζ′,δ1)B0.1,
其中,
表示在位数q的有限体Fq中均匀选择随机数ζ′,δ1,σ1,
【数式20】
其中,
其中Mi是M的第i行,
且
αi为补充系数,
e(x,y)为非退化双线性函数。
8.一种加密***中的重加密密钥生成装置,该加密***实现在2个信息相互对应的情况下,能够利用被设定了一个信息的解密密钥对被设定了另一个信息的密文进行解密的加密方式下的代理重加密功能,其特征在于,所述重加密密钥生成装置具有:
解密密钥取得部,其取得被设定了相互对应的属性信息x0、v0中的另一方的解密密钥k*;以及
重加密密钥输出部,其输出包含解密密钥k*rk 0和密文ct’1的重加密密钥rk1,其中,所述解密密钥k*rk 0是对所述解密密钥k*乘以转换信息r1而得到的,所述密文ct’1是被设定了相互对应的属性信息x1、v1中的一方且对所述转换信息r1进行加密而得到的。
9.一种加密***中的重加密装置,该加密***实现在2个信息相互对应的情况下,能够利用被设定了一个信息的解密密钥对被设定了另一个信息的密文进行解密的加密方式下的代理重加密功能,其特征在于,所述重加密装置具有:
密文取得部,其取得被设定了相互对应的属性信息x0、v0中的一方的密文ct0;
重加密密钥取得部,其取得包含解密密钥k*rk 0和密文ct’1的重加密密钥rk1,其中,所述解密密钥k*rk 0是对被设定了所述属性信息x0、v0中的另一方的解密密钥k*乘以转换信息r1而得到的,所述密文ct’1是被设定了相互对应的属性信息x1、v1中的一方且对所述转换信息r1进行加密而得到的;以及
重密文输出部,其输出包含计算所述密文ct0与所述解密密钥k*rk 0之间的配对运算而生成的会话密钥K’0和所述密文ct’1的重密文ct1。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/050445 WO2015107620A1 (ja) | 2014-01-14 | 2014-01-14 | 暗号システム、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105850071A CN105850071A (zh) | 2016-08-10 |
CN105850071B true CN105850071B (zh) | 2019-06-25 |
Family
ID=53542545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480071416.0A Active CN105850071B (zh) | 2014-01-14 | 2014-01-14 | 加密***、重加密密钥生成装置以及重加密装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160344708A1 (zh) |
EP (1) | EP3096487B1 (zh) |
JP (1) | JP6053966B2 (zh) |
CN (1) | CN105850071B (zh) |
WO (1) | WO2015107620A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6273951B2 (ja) * | 2014-03-24 | 2018-02-07 | 富士通株式会社 | 暗号化装置、暗号化方法、情報処理装置および暗号化システム |
US9264370B1 (en) | 2015-02-10 | 2016-02-16 | Centripetal Networks, Inc. | Correlating packets in communications networks |
US9866576B2 (en) | 2015-04-17 | 2018-01-09 | Centripetal Networks, Inc. | Rule-based network-threat detection |
CN105897709B (zh) * | 2016-04-01 | 2019-02-22 | 西安电子科技大学 | 分布式网络中非单调访问结构的用户属性加解密方法 |
CN106612175A (zh) * | 2016-08-25 | 2017-05-03 | 四川用联信息技术有限公司 | 移动云中多要素访问控制的代理重加密算法 |
EP3618345B1 (en) * | 2017-06-09 | 2020-12-30 | Mitsubishi Electric Corporation | Re-encrypted key generation device, re-encryption device, re-encrypted cipher text decryption device and cryptosystem |
US11233777B2 (en) | 2017-07-24 | 2022-01-25 | Centripetal Networks, Inc. | Efficient SSL/TLS proxy |
KR102515606B1 (ko) * | 2017-10-31 | 2023-03-28 | 삼성에스디아이 주식회사 | 배터리 충전량 표시 방법 및 이를 수행하는 배터리 팩 및 전자 기기 |
US10084600B1 (en) * | 2018-04-16 | 2018-09-25 | Xage Security, Inc. | Decentralized information protection for confidentiality and tamper-proofing on distributed database |
DE112019007236B4 (de) * | 2019-05-24 | 2023-02-16 | Mitsubishi Electric Corporation | Neuverschlüsselungsvorrichtung, neuverschlüsselungsverfahren, neuverschlüsselungsprogramm und kryptographisches system |
JP7126635B2 (ja) | 2020-06-17 | 2022-08-26 | 三菱電機株式会社 | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム |
WO2022187369A1 (en) * | 2021-03-02 | 2022-09-09 | Sri International | Attribute based encryption with bounded collusion resistance |
CN114142996B (zh) * | 2021-11-18 | 2023-09-05 | 贵州大学 | 一种基于sm9密码算法的可搜索加密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101617351A (zh) * | 2007-01-19 | 2009-12-30 | 三菱电机株式会社 | 密文生成装置、密码通信***以及群参数生成装置 |
CN101911582A (zh) * | 2008-01-18 | 2010-12-08 | 三菱电机株式会社 | 密码参数设定装置、密钥生成装置、密码***、程序、密码参数设定方法和密钥生成方法 |
WO2011045723A1 (en) * | 2009-10-15 | 2011-04-21 | Koninklijke Philips Electronics N.V. | Ciphertext-policy attribute-based encryption and re-encryption |
CN102415047A (zh) * | 2009-04-23 | 2012-04-11 | 三菱电机株式会社 | 密码处理*** |
CN102546600A (zh) * | 2011-12-20 | 2012-07-04 | 华为技术有限公司 | 基于代理的加密、解密方法,网络设备、网络装置及*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094810B2 (en) * | 2006-02-03 | 2012-01-10 | Massachusetts Institute Of Technology | Unidirectional proxy re-encryption |
US20090210697A1 (en) * | 2008-01-17 | 2009-08-20 | Songqing Chen | Digital Rights Protection in BitTorrent-like P2P Systems |
DE102008001855A1 (de) * | 2008-05-19 | 2009-11-26 | Evonik Degussa Gmbh | Zweikomponenten-Zusammensetzung zur Herstellung von flexiblen Polyurethan-Gelcoats |
EP2228942B1 (en) * | 2009-03-13 | 2012-06-06 | Sap Ag | Securing communications sent by a first user to a second user |
JP5693206B2 (ja) | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
US8769705B2 (en) * | 2011-06-10 | 2014-07-01 | Futurewei Technologies, Inc. | Method for flexible data protection with dynamically authorized data receivers in a content network or in cloud storage and content delivery services |
JP5367039B2 (ja) * | 2011-09-30 | 2013-12-11 | 株式会社東芝 | サーバ装置及びプログラム |
JP2013105065A (ja) * | 2011-11-15 | 2013-05-30 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティシステム、暗号化装置、復号装置、再暗号化装置、難読化装置、それらの方法、及びプログラム |
US8873754B2 (en) * | 2011-12-20 | 2014-10-28 | Huawei Technologies Co., Ltd. | Proxy-based encryption method, proxy-based decryption method, network equipment, network device and system |
US20130212388A1 (en) * | 2012-02-13 | 2013-08-15 | Alephcloud Systems, Inc. | Providing trustworthy workflow across trust boundaries |
-
2014
- 2014-01-14 EP EP14878594.2A patent/EP3096487B1/en active Active
- 2014-01-14 JP JP2015557608A patent/JP6053966B2/ja active Active
- 2014-01-14 WO PCT/JP2014/050445 patent/WO2015107620A1/ja active Application Filing
- 2014-01-14 US US15/111,227 patent/US20160344708A1/en not_active Abandoned
- 2014-01-14 CN CN201480071416.0A patent/CN105850071B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101617351A (zh) * | 2007-01-19 | 2009-12-30 | 三菱电机株式会社 | 密文生成装置、密码通信***以及群参数生成装置 |
CN101911582A (zh) * | 2008-01-18 | 2010-12-08 | 三菱电机株式会社 | 密码参数设定装置、密钥生成装置、密码***、程序、密码参数设定方法和密钥生成方法 |
CN102415047A (zh) * | 2009-04-23 | 2012-04-11 | 三菱电机株式会社 | 密码处理*** |
WO2011045723A1 (en) * | 2009-10-15 | 2011-04-21 | Koninklijke Philips Electronics N.V. | Ciphertext-policy attribute-based encryption and re-encryption |
CN102546600A (zh) * | 2011-12-20 | 2012-07-04 | 华为技术有限公司 | 基于代理的加密、解密方法,网络设备、网络装置及*** |
Non-Patent Citations (3)
Title |
---|
Attribute Based Proxy Re-encryption with Delegation Capabilities;Xiaohui Liang,et al.;《ASIACCS ’09,Sydney,NSW,Australia》;20090312;全文 |
Ciphertext Policy Attribute-Based Proxy Re-encryption;Song Luo,et al.;《Information And Communications Security,Springer Berlin Heidelberg》;20101215;全文 |
Fully-Anonymous Functional Proxy-Re-Encryption;Kawai,Yutaka,et al.;《Cryptology ePrint Archive》;20131011;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105850071A (zh) | 2016-08-10 |
JP6053966B2 (ja) | 2016-12-27 |
EP3096487A4 (en) | 2017-09-06 |
US20160344708A1 (en) | 2016-11-24 |
WO2015107620A1 (ja) | 2015-07-23 |
EP3096487B1 (en) | 2020-04-29 |
EP3096487A1 (en) | 2016-11-23 |
JPWO2015107620A1 (ja) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105850071B (zh) | 加密***、重加密密钥生成装置以及重加密装置 | |
CN104871477B (zh) | 加密***、重加密密钥生成装置、重加密装置、加密方法 | |
KR101351787B1 (ko) | 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체 | |
CN105210133B (zh) | 加密***和加密方法 | |
KR101246241B1 (ko) | 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체 | |
JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5337238B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 | |
WO2012132136A1 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
KR102520502B1 (ko) | 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템 | |
KR20130024931A (ko) | 암호화 장치, 복호 장치, 암호화 방법, 복호 방법, 프로그램, 및 기록 매체 | |
CN104718566B (zh) | 密码*** | |
JP6022073B2 (ja) | 暗号システム、再暗号化鍵生成装置及び再暗号化装置 | |
CN106031080B (zh) | 加密*** | |
CN110720194A (zh) | 重加密密钥生成装置、重加密装置、重加密密文解密装置以及密码*** | |
CN107005406B (zh) | 函数型加密***、主密钥更新装置和存储介质 | |
Navlani | Improvised Version: Fully Homomorphic Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |