重加密密钥生成装置、重加密装置、重加密密文解密装置以及密码系统

文档序号:1559814 发布日期:2020-01-21 浏览:5次 >En<

阅读说明:本技术 重加密密钥生成装置、重加密装置、重加密密文解密装置以及密码系统 (Re-encryption key generation device, re-encryption device, re-encrypted ciphertext decryption device and encryption system ) 是由 小关义博 川合丰 于 2017-06-09 设计创作,主要内容包括:密钥生成装置(10)生成解密密钥(dk&lt;Sub&gt;x&lt;/Sub&gt;),该解密密钥(dk&lt;Sub&gt;x&lt;/Sub&gt;)具有:带标签解密密钥和设定了密钥属性(x)的解密密钥(adk&lt;Sub&gt;x&lt;/Sub&gt;),其中,所述带标签解密密钥包含设定了密钥属性(x)的解密密钥(tdk&lt;Sub&gt;x&lt;/Sub&gt;)以及为了利用解密密钥(tdk&lt;Sub&gt;x&lt;/Sub&gt;)对密文进行解密所需的标签(tg&lt;Sub&gt;φ&lt;/Sub&gt;)。加密装置(20)生成设定有与密钥属性(x)对应的密文属性(y)并能够利用带标签解密密钥进行解密的原始密文(oct&lt;Sub&gt;y&lt;/Sub&gt;)。重加密密钥生成装置(40)通过基于属性的加密方式使用密文属性(y’)对解密密钥(tdk&lt;Sub&gt;x&lt;/Sub&gt;)进行加密,生成作为用于生成重加密密文(rct&lt;Sub&gt;y’&lt;/Sub&gt;)的密钥的重加密密钥(rk&lt;Sub&gt;x,y’&lt;/Sub&gt;),所述重加密密文(rct&lt;Sub&gt;y’&lt;/Sub&gt;)能够利用设定了与密文属性(y’)对应的密钥属性(x’)的解密密钥(adk&lt;Sub&gt;x’&lt;/Sub&gt;)来进行解密。(A key generation device (10) generates a decryption key (dk) x ) The decryption key (dk) x ) Comprising: a labeled decryption key and a decryption key (adk) with a key attribute (x) set x ) Wherein the tagged decryption key comprises a decryption key (tdk) with a key attribute (x) set thereto x ) And in order to use the decryption key (tdk) x ) The label (tg) required to decrypt the ciphertext φ ). The encryption device (20) generates an original ciphertext (oct) that has a ciphertext attribute (y) corresponding to the key attribute (x) set therein and that can be decrypted using the tagged decryption key y ). A re-encryption key generation device (40) uses the ciphertext attribute (y&#39;) to encrypt the decryption key (tdk) by an attribute-based encryption method x ) Is encrypted and generated as a key for generating a re-encrypted ciphertext (rc)t y’ ) Re-encryption key (rk) of the key of (2) x,y’ ) The re-encrypted ciphertext (rct) y’ ) The decryption key (adk) in which the key attribute (x &#39;) corresponding to the ciphertext attribute (y&#39;) is set can be used x&#39; ) To perform decryption.)

重加密密钥生成装置、重加密装置、重加密密文解密装置以及 密码系统

技术领域

本发明涉及代理重加密(proxy-re-encryption)。

背景技术

基于属性的代理重加密方式是一种无需对密文进行解密就能够变更密文的解密权限的方式。在基于属性的加密方式中,对解密密钥设定密钥属性x,对密文设定密文属性y。在基于属性的加密方式中,仅在密钥属性x和密文属性y满足关系R(x,y)=1的情况下,才能够对密文进行解密。在基于属性的代理重加密方式中,通过使用重加密密钥,由此无需对密文进行解密,就能够将对密文设定的密文属性y变更为另一密文属性y'。

在专利文献1以及非专利文献1中,存在与基于属性的代理重加密方式有关的记载。

现有技术文献

专利文献

专利文献1:国际公开第2014/112048号

非专利文献

非专利文献1:Yutaka Kawai and Katsuyuki Takashima,Fully-AnonymousFunctional Proxy-Re-Encryption.Cryptology ePrint Archive:Report 2013/318

发明内容

发明要解决的课题

在专利文献1以及非专利文献1中记载的基于属性的代理重加密方式中,由于重加密密文中包含随机矩阵,因此重加密密文的大小变大。

本发明的目的在于,能够实现抑制了伴随重加密的密文大小增加量的、基于属性的代理重加密方式。

用于解决课题的手段

本发明的重加密密钥生成装置具备:随机化部,其对设定了密钥属性x的解密密钥tdkx和为了利用所述解密密钥tdkx对密文进行解密而使用的标签tgφ设定随机数,生成解密密钥tdkx^和标签tgφ^;加密密钥生成部,其通过基于属性的加密方式使用密文属性y’对由所述随机化部生成的所述解密密钥tdkx^进行加密,生成加密密钥acty’;以及重加密密钥输出部,其输出包含由所述加密密钥生成部生成的所述加密密钥acty’和由所述随机化部生成的所述标签tgφ^的重加密密钥rkx,y’

发明效果

在本发明中,使用基于属性的加密方式对带标签的基于属性加密的解密密钥进行加密,作为重加密密钥。由此,重加密密文中不再需要包含随机矩阵,能够抑制伴随重加密的密文大小的增加量。

附图说明

图1是实施方式1的密码系统1的结构图。

图2是实施方式1的密钥生成装置10的结构图。

图3是实施方式1的加密装置20的结构图。

图4是实施方式1的原始密文解密装置30的结构图。

图5是实施方式1的重加密密钥生成装置40的结构图。

图6是实施方式1的重加密装置50的结构图。

图7是实施方式1的重加密密文解密装置60的结构图。

图8是实施方式1的Setup算法的流程图。

图9是实施方式1的KG算法的流程图。

图10是实施方式1的Enc算法的流程图。

图11是实施方式1的ODec算法的流程图。

图12是实施方式1的RKG算法的流程图。

图13是实施方式1的REnc算法的流程图。

图14是实施方式1的RDec算法的流程图。

图15是变形例1的密钥生成装置10的结构图。

图16是变形例1的加密装置20的结构图。

图17是变形例1的原始密文解密装置30的结构图。

图18是变形例1的重加密密钥生成装置40的结构图。

图19是变形例1的重加密装置50的结构图。

图20是变形例1的重加密密文解密装置60的结构图。

具体实施方式

实施方式1.

***记法的说明***

对以下说明中的记法进行说明。

当A是随机的变量或分布时,式101表示根据A的分布从A中随机地选择y。即,在式101中,y是随机数。

[式101]

Figure BDA0002300688690000031

当A是集合时,式102表示从A中均匀地选择y。即,在式102中,y是均匀随机数。

[式102]

Figure BDA0002300688690000032

式103表示y是利用z进行定义的集合或者y是代入了z的集合。

[式103]

y:=z

当a是常数时,式104表示机器(算法)A对于输入x而输出a。

[式104]

A(x)→a

例如

A(x)→1

式105即Fq表示阶数q的有限体。

[式105]

Figure BDA0002300688690000041

向量标记表示有限体Fq的向量标识。即,是式106。

[式106]

Figure BDA0002300688690000042

表示

Figure BDA0002300688690000043

式107表示式108所示的两个向量x→与v→的式109所示的内积。

[式107]

Figure BDA0002300688690000044

[式108]

[式109]

Figure BDA0002300688690000047

XT表示矩阵X的转置矩阵。

对于式110所示的基B和基B*,为式111。

[式110]

Figure BDA0002300688690000048

Figure BDA0002300688690000049

[式111]

e→j表示式112所示的标准基向量(normal basis vector)。

[式112]

对于j=1,...,n,

***空间的说明***

对在以下说明中使用的空间进行说明。

对于对称双线性配对组进行说明。

对称双线性配对组(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)的值的算法。

对于对偶配对向量空间(dual pairing vector space)进行说明。

对偶配对向量空间(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]

Figure BDA0002300688690000052

运算(1):非退化双线性配对

空间V中的配对由式115定义。

[式115]

Figure BDA0002300688690000053

其中,

Figure BDA0002300688690000055

这是非退化双线性的。即,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中的线性变换φi、j能够执行式117。

[式116]

φi,j(aj)=ai

如果k≠j,则φi,j(ak)=0。

[式117]

其中,

(g1,...gN):=x。

这里,将线性变换φi,j称为失真映射。

在以下说明中,设Gdpvs为如下算法:将1λ和空间V的维数Nt作为输入,输出将安全参数设为λ的对偶配对空间的参数paramV:=(q,V,GT,A,e)的值。

***结构的说明***

参照图1,对实施方式1的密码系统1的结构进行说明。

密码系统1具备密钥生成装置10、加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50以及重加密密文解密装置60。

密钥生成装置10、加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50以及重加密密文解密装置60经由传输线路连接起来。

参照图2,对实施方式1的密钥生成装置10的结构进行说明。

密钥生成装置10是计算机。

密钥生成装置10具备处理器11、内存12、存储器13以及通信接口14这些硬件。处理器11经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,密钥生成装置10具备信息受理部111、主密钥生成部112、解密密钥生成部113以及密钥输出部114。密钥生成装置10的各功能结构要素的功能通过软件来实现。

在存储器13中存储有实现密钥生成装置10的各功能结构要素的功能的程序。该程序由处理器11读入内存12,并由处理器11执行。由此实现密钥生成装置10的各功能结构要素的功能。

参照图3,对实施方式1的加密装置20的结构进行说明。

加密装置20是计算机。

加密装置20具备处理器21、内存22、存储器23以及通信接口24这些硬件。处理器21经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,加密装置20具备公开参数取得部211、信息受理部212、加密部213以及密文输出部214。加密装置20的各功能结构要素的功能通过软件来实现。

在存储器23中存储有实现加密装置20的各功能结构要素的功能的程序。该程序由处理器21读入内存22,并由处理器21来执行。由此实现加密装置20的各功能结构要素的功能。

参照图4,对实施方式1的原始密文解密装置30的结构进行说明。

原始密文解密装置30是计算机。

原始密文解密装置30具备处理器31、内存32、存储器33以及通信接口34这些硬件。处理器31经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,原始密文解密装置30具备解密密钥取得部311、密文取得部312以及解密部313。原始密文解密装置30的各功能结构要素的功能通过软件来实现。

在存储器33中存储有实现原始密文解密装置30的各功能结构要素的功能的程序。该程序由处理器31读入内存32,并由处理器31执行。由此实现原始密文解密装置30的各功能结构要素的功能。

参照图5,对实施方式1的重加密密钥生成装置40的结构进行说明。

重加密密钥生成装置40是计算机。

重加密密钥生成装置40具备处理器41、内存42、存储器43以及通信接口44这些硬件。处理器41经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,重加密密钥生成装置40具备解密密钥取得部411、信息受理部412、随机化部413、加密密钥生成部414以及重加密密钥输出部415。重加密密钥生成装置40的各功能结构要素的功能通过软件来实现。

在存储器43中存储有实现重加密密钥生成装置40的各功能结构要素的功能的程序。该程序由处理器41读入内存42,并由处理器41执行。由此实现重加密密钥生成装置40的各功能结构要素的功能。

参照图6,对实施方式1的重加密装置50的结构进行说明。

重加密装置50是计算机。

重加密装置50具备处理器51、内存52、存储器53和通信接口54这些硬件。处理器51经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,重加密装置50具备公开参数取得部511、密文取得部512、重加密密钥取得部513、验证部514、解密标签生成部515、重加密部516以及重加密密文输出部517。重加密装置50的各功能结构要素的功能通过软件来实现。

在存储器53中存储有实现重加密装置50的各功能结构要素的功能的程序。该程序由处理器51读入内存52,并由处理器51来执行。由此实现重加密装置50的各功能结构要素的功能。

参照图7,对实施方式1的重加密密文解密装置60的结构进行说明。

重加密密文解密装置60是计算机。

重加密密文解密装置60具备处理器61、内存62、存储器63和通信接口64这些硬件。处理器61经由信号线与其它硬件连接,并控制这些其它硬件。

作为功能结构要素,重加密密文解密装置60具备解密密钥取得部611、重加密密文取得部612、第1解密部613、第2解密部614以及第3解密部615。重加密密文解密装置60的各功能结构要素的功能通过软件来实现。

在存储器63中存储有实现重加密密文解密装置60的各功能结构要素的功能的程序。该程序由处理器61读入内存62,并由处理器61执行。由此实现重加密密文解密装置60的各功能结构要素的功能。

在上述说明中,加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50、重加密密文解密装置60分别为不同的装置。

但是,密码系统1也可以具备一个装置,其具有加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50、重加密密文解密装置60中的两个以上的功能。例如,密码系统1也可以具有多个具备加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密密文解密装置60的功能的装置。

***动作的说明***

参照图8至图14,对实施方式1的密码系统1的动作进行说明。

实施方式1的密码系统1的动作相当于实施方式1的密码方法。此外,实施方式1的密码系统1的动作相当于实施方式1的密码程序的处理。

实施方式1的密码系统1实现基于属性的代理重加密方式。通过实施方式1的密码系统1实现的基于属性的代理重加密方式具备Setup、KG、Enc、ODec、RKG、REnc、RDec这7个算法。

参照图8,对实施方式1的Setup算法进行说明。

Setup算法由密钥生成装置10执行。Setup算法是以安全参数λ和属性的格式Λ作为输入、输出公开参数pp和主密钥mk的概率性算法。

(步骤S11:信息受理处理)

信息受理部111受理安全参数λ和属性的格式Λ的输入。具体而言,信息受理部111受理由密钥生成装置10的管理人员操作输入装置而输入的安全参数λ和属性的格式Λ。

(步骤S12:带标签主密钥生成处理)

主密钥生成部112将在步骤S11中受理的安全参数λ和属性的格式Λ作为输入,执行式118所示的TSetup算法,生成参数tpp和密钥tmk。

[式118]

TSetup(1λ,Λ):

Figure BDA0002300688690000101

Figure BDA0002300688690000102

Figure BDA0002300688690000103

Figure BDA0002300688690000106

Figure BDA0002300688690000107

其中,算法Gob如式119所示。

[式119]

Figure BDA00023006886900001010

Figure BDA00023006886900001011

gT=e(g,g)ψ

Figure BDA00023006886900001012

Figure BDA00023006886900001013

Figure BDA00023006886900001014

Figure BDA00023006886900001016

Figure BDA00023006886900001017

Figure BDA00023006886900001018

Figure BDA00023006886900001019

(步骤S13:无标签主密钥生成处理)

主密钥生成部112将在步骤S11中受理的安全参数λ和属性的格式Λ作为输入,执行式120所示的ASetup算法,生成参数app和密钥amk。

[式120]

ASetup(1λ,Λ):

Figure BDA0002300688690000111

Figure BDA0002300688690000112

Figure BDA0002300688690000113

Figure BDA0002300688690000114

(步骤S14:主密钥输出处理)

密钥输出部114通过将在步骤S11中输入的安全参数λ、在步骤S12中生成的参数tpp以及在步骤S13中生成的参数app作为公开参数pp,经由通信接口14发送给其它装置等方式进行公开。此外,密钥输出部114将公开参数pp写入存储器13。此外,密钥输出部114将在步骤S12中生成的密钥tmk和在步骤S13中生成的密钥amk作为主密钥mk写入存储器13。

参照图9,对实施方式1的KG算法进行说明。

KG算法由密钥生成装置10执行。KG算法是以公开参数pp、主密钥mk和密钥属性x作为输入、输出解密密钥dkx的概率性算法。

(步骤S21:信息受理处理)

信息受理部111从存储器13读出公开参数pp和主密钥mk。

信息受理部111受理密钥属性x的输入。具体而言,信息受理部111受理由密钥生成装置10的管理人员操作输入装置输入的密钥属性x。

密钥属性x是使用后述的解密密钥dkx的用户的属性。作为具体例,密钥属性x是使用解密密钥dkx的用户所属的部门和用户的职务等信息。这里,设密钥属性x是原始密文解密装置30的使用者的属性。此外,设密钥属性x是n维向量。

(步骤S22:带标签解密密钥生成处理)

解密密钥生成部113以参数tpp、密钥tmk和密钥属性x作为输入,执行式121所示的TKG算法,生成包含解密密钥tdkx和标签tgφ的带标签解密密钥。标签tgφ是为了利用解密密钥tdkx对密文进行解密而使用的信息。

[式121]

TKG(tpp,tmk,x)

Figure BDA0002300688690000121

s0=s1+s2,

Figure BDA0002300688690000123

Figure BDA0002300688690000124

Figure BDA0002300688690000125

(步骤S23:无标签解密密钥生成处理)

解密密钥生成部113以参数app、密钥amk和密钥属性x作为输入,执行式122所示的AKG算法,生成解密密钥adkx

[式122]

AKG(app,amk,x):

Figure BDA0002300688690000128

Figure BDA0002300688690000129

(步骤S24:解密密钥输出处理)

密钥输出部114将密钥属性x、包含有在步骤S22中生成的解密密钥tdkx和标签tgφ的带标签解密密钥以及在步骤S23中生成的解密密钥adkx,作为解密密钥dkx,经由通信接口14秘密地输出至原始密文解密装置30和重加密密钥生成装置40。

秘密地输出的含义是指在通过现有的加密方式加密并对他人隐藏的基础上发送。

此外,密钥生成装置10根据作为重加密密文解密装置60的使用者的属性的密钥属性x’,生成解密密钥dkx’。这里,设密钥属性x’是n维向量。

具体而言,在步骤S21中,信息受理部111受理密钥属性x’的输入。在步骤S22中,解密密钥生成部113以参数tpp、密钥tmk和密钥属性x’作为输入,生成包含解密密钥tdkx’和标签tgφ’的带标签解密密钥。在步骤S23中,解密密钥生成部113以参数app、密钥amk和密钥属性x’作为输入,生成解密密钥adkx’。在步骤S24中,解密密钥生成部113将密钥属性x'、包含有解密密钥tdkx’和标签tgφ’的带标签解密密钥以及解密密钥adkx’作为解密密钥dkx’,秘密地输出至重加密密文解密装置60。

参照图10,对实施方式1的Enc算法进行说明。

Enc算法由加密装置20执行。Enc算法是以公开参数pp、密文属性y和消息m作为输入、输出原始密文octy的概率性算法。

(步骤S31:公开参数取得处理)

公开参数取得部211经由通信接口24取得由密钥生成装置10公开的公开参数pp。

(步骤S32:信息受理处理)

信息受理部212受理密文属性y和消息m的输入。具体而言,信息受理部212受理由加密装置20的使用者操作输入装置输入的密文属性y和消息m。

密文属性y表示能够对原始密文octy进行解密的属性。这里,设密文属性y与密钥属性x对应。即,设能够利用设定了密钥属性x的解密密钥dkx对根据密文属性y生成的原始密文octy进行解密。这里,设密文属性y是n维向量。

消息m是向收件方发送的数据。

(步骤S33:签名密钥生成处理)

加密部213以安全参数λ作为输入,执行一次性签名的密钥生成算法,生成一次性签名的签名密钥sk和验证密钥vk。一次性签名的密钥生成算法可以使用现有的算法。

(步骤S34:密文要素生成处理)

加密部213以参数tpp、密文属性y、验证密钥vk以及消息m作为输入,执行式123所示的TEnc算法,生成要素tcty,vk

[式123]

TEnc(tpp,y,vk,m):

Figure BDA0002300688690000131

Figure BDA0002300688690000132

Figure BDA0002300688690000134

Figure BDA0002300688690000135

return tcty,vk=(y,c0,c1,c2,cT).

即,加密部213通过带标签的基于属性的加密方式,对消息m进行加密,生成要素tcty,vk。这时,加密部213对要素tcty,vk的一部分设定验证密钥vk。

(步骤S35:签名生成处理)

加密部213将签名密钥sk、密文属性y以及要素tcty,vk作为输入,执行一次性签名的签名算法,生成签名σ。一次性签名的签名算法可以使用现有的算法。

(步骤S36:密文输出处理)

密文输出部214将密文属性y、在步骤S33中生成的验证密钥vk、在步骤S34中生成的要素tcty,vk以及在步骤S35中生成的签名σ作为原始密文octy输出至原始密文解密装置30。

参照图11,对实施方式1的ODec算法进行说明。

ODec算法由原始密文解密装置30执行。ODec算法是以公开参数pp、解密密钥dkx和原始密文octy作为输入并输出消息m的算法。

(步骤S41:解密密钥取得处理)

解密密钥取得部311经由通信接口34取得由密钥生成装置10生成的解密密钥dkx和公开参数pp。

(步骤S42:密文取得处理)

密文取得部312经由通信接口34取得由加密装置20生成的原始密文octy

(步骤S43:解密标签生成处理)

解密部313对包含在解密密钥dkx中的标签tgφ进行变形,生成解密标签tgvk

具体而言,解密部313将参数tpp、包含在解密密钥dkx中的标签tgφ以及包含在原始密文octy中的验证密钥vk作为输入,执行式124所示的TTag算法,生成解密标签tgvk

[式124]

TTag(tpp,tgφ,vk):

Figure BDA0002300688690000141

Figure BDA0002300688690000142

Figure BDA0002300688690000143

return tgvk.

(步骤S44:解密处理)

解密部313对原始密文octy进行解密,得到消息m。

具体而言,解密部313将参数tpp、包含在解密密钥dkx中的解密密钥tdkx、解密标签tgvk以及包含在原始密文octy中的要素tcty,vk作为输入,执行式125所示的TDec算法,生成消息m。

[式125]

TDec(tpp,tdkx,tgvk,tcty,vk):

Figure BDA0002300688690000151

tcty,vk=(y,c0,c1,c2,cT),

Figure BDA0002300688690000152

return m=cT/K.

参照图12,对实施方式1的RKG算法进行说明。

RKG算法由重加密密钥生成装置40执行。RKG算法是以公开参数pp、解密密钥dkx和密文属性y’作为输入并输出重加密密钥rkx,y’的概率性算法。

(步骤S51:解密密钥取得处理)

解密密钥取得部411经由通信接口44取得由密钥生成装置10生成的解密密钥dkx和公开参数pp。

(步骤S52:信息受理处理)

信息受理部412受理密文属性y’的输入。具体而言,信息受理部412受理由加密装置20的使用者操作输入装置而输入的密文属性y’。

密文属性y’表示能够对重加密密文rcty’进行解密的属性。这里,设密文属性y’与密钥属性x’对应。即,设能够利用设定了密钥属性x’的解密密钥dkx’对根据密文属性y’生成的重加密密文rcty’进行解密。这里,设密文属性y’是n维向量。

(步骤S53:随机化处理)

随机化部413对包含在解密密钥dkx中的解密密钥tdkx以及标签tgφ设定随机数,生成解密密钥tdkx^和标签tgφ^。

具体而言,随机化部413以参数tpp、解密密钥tdkx以及标签tgφ作为输入,执行式126所示的TRand算法,生成解密密钥tdkx^和标签tgφ^。

[式126]

TRand(tpp,tdkx,tgφ):

Figure BDA0002300688690000161

Figure BDA0002300688690000163

Figure BDA0002300688690000164

Figure BDA0002300688690000165

Figure BDA0002300688690000166

Figure BDA0002300688690000167

Figure BDA0002300688690000168

(步骤S54:加密密钥生成处理)

加密密钥生成部414使用密文属性y’通过基于属性的加密方式对解密密钥tdkx^进行加密,生成加密密钥acty’

具体而言,加密密钥生成部414将参数app、密文属性y’以及解密密钥tdkx^作为输入,执行式127所示的AEnc算法,生成加密密钥acty’

[式127]

Figure BDA00023006886900001612

Figure BDA0002300688690000169

Figure BDA00023006886900001610

Figure BDA00023006886900001611

returnacty′=(y′,c3,cT).

(步骤S55:重加密密钥输出处理)

重加密密钥输出部415将密钥属性x、密文属性y’、在步骤S53中生成的标签tgφ^以及在步骤S54中生成的加密密钥acty’作为重加密密钥rkx,y’,秘密地输出至重加密装置50。

参照图13,对实施方式1的REnc算法进行说明。

REnc算法由重加密装置50执行。REnc算法是将公开参数pp、重加密密钥rkx,y’和原始密文octy作为输入并输出重加密密文rcty’的概率性算法。

(步骤S61:公开参数取得处理)

公开参数取得部511经由通信接口54取得由密钥生成装置10公开的公开参数pp。

(步骤S62:密文取得处理)

密文取得部512经由通信接口54取得由加密装置20生成的原始密文octy

(步骤S63:重加密密钥取得处理)

重加密密钥取得部513经由通信接口54取得由重加密密钥生成装置40生成的重加密密钥rkx,y’

(步骤S64:关系验证处理)

验证部514判定包含在重加密密钥rkx,y'中的密钥属性x和包含在原始密文octy中的密文属性y是否满足关系R(x,y)=1。由此,验证部514判定原始密文octy是否能够由成为重加密密钥rkx,y'的基础的解密密钥dkx进行解密。

在R(x,y)=1成立的情况下,验证部514使处理进入步骤S65。另一方面,在R(x,y)=1不成立的情况下,验证部514结束处理。

(步骤S65:签名验证处理)

验证部514根据一次性签名的验证算法,利用包含在原始密文octy中的验证密钥vk验证包含在原始密文octy中的签名σ。一次性签名的验证算法可以使用现有的算法。

验证部514在验证成功的情况下,使处理进入步骤S66。另一方面,验证部514在验证失败的情况下,结束处理。

(步骤S66:解密标签生成处理)

解密标签生成部515对包含在重加密密钥rkx,y’中的标签tgφ^进行变形,生成解密标签tgvk

具体而言,解密标签生成部515将参数tpp、标签tgφ^、包含在原始密文octy中的验证密钥vk作为输入,执行式128所示的TTag算法,生成解密标签tgvk

[式128]

Figure BDA0002300688690000182

Figure BDA0002300688690000183

Figure BDA0002300688690000184

return tgvk.

(步骤S67:重加密处理)

重加密部516使用包含在重加密密钥rkx,y’中的密文属性y’,通过基于属性的加密方式对原始密文octy、包含在重加密密钥rkx,y’中的加密密钥acty’以及解密标签tgvk进行加密,生成重加密密文rcty’

具体而言,重加密部516将连结了参数app、密文属性y’、原始密文octy、加密密钥acty’以及解密标签tgvk的数据octy||acty’||tgvk作为输入,执行式129所示的AEnc算法,生成重加密密文rcty’

[式129]

AEnc(app,y′,octy||acty′||tgvk):

Figure BDA0002300688690000185

Figure BDA0002300688690000186

return rcty′=(y′,c3,cT).

(步骤S68:重加密密文输出处理)

重加密密文输出部517将在步骤S67中生成的重加密密文rcty’输出至重加密密文解密装置60。

参照图14,对实施方式1的RDec算法进行说明。

RDec算法由重加密密文解密装置60执行。RDec算法是将公开参数pp、解密密钥dkx’和重加密密文rcty’作为输入并输出消息m的算法。

(步骤S71:解密密钥取得处理)

解密密钥取得部611经由通信接口64取得由密钥生成装置10生成的解密密钥dkx’和公开参数pp。

(步骤S72:重加密密文取得处理)

重加密密文取得部612经由通信接口64取得由重加密装置50生成的重加密密文rcty’

(步骤S73:第1解密处理)

第1解密部613利用设定了与密文属性y'对应的密钥属性x'的解密密钥adkx'对重加密密文rcty’进行解密,得到原始密文octy、加密密钥acty’和解密标签tgvk^。

具体而言,第1解密部613将参数app、包含在解密密钥dkx’中的解密密钥adkx’以及重加密密文rcty'作为输入,执行式130所示的ADec算法,生成原始密文octy、加密密钥acty’以及解密标签tgvk

[式130]

ADec(app,adkx′,rcty′):

Figure BDA0002300688690000191

Figure BDA0002300688690000192

return octy||acty′||tgvk=cT/K.

(步骤S74:第2解密处理)

第2解密部614利用解密密钥adkx'对加密密钥acty'进行解密,得到设定了随机数的解密密钥tdkx^。

具体而言,第2解密部614将参数app、包含在解密密钥dkx’中的解密密钥adkx’以及加密密钥acty'作为输入,执行式130所示的ADec算法,生成解密密钥tdkx^。

[式131]

ADec(app,adkx′,acty′):

Figure BDA0002300688690000193

Figure BDA0002300688690000194

Figure BDA0002300688690000195

(步骤S75:第3解密处理)

第3解密部615对原始密文octy进行解密,得到消息m。

具体而言,第3解密部615将参数tpp、解密密钥tdkx^、解密标签tgvk以及包含在原始密文octy中的要素tcty,vk作为输入,执行式132所示的TDec算法,生成消息m。

[式132]

Figure BDA0002300688690000202

tcty,vk=(y,c0,e1,c2,cT),

Figure BDA0002300688690000203

return m=cT/K.

***实施方式1的效果***

如上所述,实施方式1的密码系统1使用带标签的基于属性的加密和无标签的基于属性的加密来实现基于属性的代理重加密方式。实施方式1的密码系统1使用基于属性的加密对带标签的基于属性的加密的解密密钥进行加密,作为重加密密钥。由此,重加密密文中不再需要包含随机的矩阵,能够抑制与重加密相伴随的密文大小的增加量。

在实施方式1的密码系统1中,重加密密钥生成装置40在生成重加密密钥rkx,y'时,使用密文属性y'对解密密钥tdkx^进行加密。因此,重加密装置50无法利用重加密密钥rkx,y'对原始密文octy进行解密。

在实施方式1的密码系统1中,重加密密钥生成装置40在生成重加密密钥rkx,y'时,没有对标签tgφ^进行加密。因此,重加密装置50能够对标签tgφ^设定验证密钥vk来生成解密标签tgvk。通过在重加密密文rcty'中包含设定了验证密钥vk的解密标签tgvk而不是标签tgφ^,重加密密文解密装置60只能对设定了验证密钥vk的密文进行解密。

另外,在实施方式1中,对原始密文octy和解密标签tgvk设定了验证密钥vk。但是,即使对原始密文octy和解密标签tgvk设定其它数据vk来代替验证密钥vk,重加密密文解密装置60也能够获得只能对设定了数据vk的密文进行解密的效果。

***其它结构***

<变形例1>

在实施方式1中,通过软件实现了密钥生成装置10、加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50以及重加密密文解密装置60这些功能结构要素。但是,作为变形例1,也可以通过硬件来实现功能结构要素。关于该变形例1,对与实施方式1的不同点进行说明。

参照图15,对变形例1的密钥生成装置10的结构进行说明。

在通过硬件来实现功能的情况下,密钥生成装置10具备电路15来代替处理器11、内存12以及存储器13。电路15是实现密钥生成装置10的功能结构要素以及内存12和存储器13的功能的专用电路。

参照图16,对变形例1的加密装置20的结构进行说明。

在通过硬件来实现功能的情况下,加密装置20具备电路25来代替处理器21、内存22以及存储器23。电路25是实现加密装置20的功能结构要素以及内存22和存储器23的功能的专用电路。

参照图17,对变形例1的原始密文解密装置30的结构进行说明。

在通过硬件来实现功能的情况下,原始密文解密装置30具备电路35来代替处理器31、内存32以及存储器33。电路35是实现原始密文解密装置30的功能结构要素以及内存32和存储器33的功能的专用电路。

参照图18,对变形例1的重加密密钥生成装置40的结构进行说明。

在通过硬件来实现功能的情况下,重加密密钥生成装置40具备电路45来代替处理器41、内存42以及存储器43。电路45是实现重加密密钥生成装置40的功能结构要素以及内存42和存储器43的功能的专用电路。

参照图19,对变形例1的重加密装置50的结构进行说明。

在通过硬件来实现功能的情况下,重加密装置50具备电路55来代替处理器51、内存52以及存储器53。电路55是实现重加密装置50的功能结构要素以及内存52和存储器53的功能的专用电路。

参照图20,对变形例1的重加密密文解密装置60的结构进行说明。

在通过硬件来实现功能的情况下,重加密密文解密装置60具备电路65来代替处理器61、内存62以及存储器63。电路65是实现重加密密文解密装置60的功能结构要素以及内存62和存储器63的功能的专用电路。

对于电路15、25、35、45、55、65,假定有单一电路、复合电路、编程处理器、并行编程处理器、逻辑IC、GA(Gate Array:门阵列)、ASIC(Application Specific IntegratedCircuit:专用集成电路)以及FPGA(Field-Programmable Gate Array:现场可编程门阵列)。

可以通过一个电路15来实现密钥生成装置10的功能结构要素的功能,也可以通过将功能结构要素的功能分散在多个电路15中来实现。同样,对于加密装置20、原始密文解密装置30、重加密密钥生成装置40、重加密装置50以及重加密密文解密装置60这些各个装置,可以通过一个电路25、35、45、55、65来实现功能结构要素的功能,也可以通过将功能结构要素的功能分散在多个电路25、35、45、55、65中来实现。

<变形例2>

作为变形例2,可以通过硬件实现一部分功能,并通过软件实现其它的功能。即,可以通过硬件实现各功能结构要素中的一部分功能,通过软件实现其它的功能。

处理器11、21、31、41、51、61、内存12、22、32、42、52、62以及电路15、25、35、45、55、65被称为处理电路。即,各功能结构要素的功能通过处理电路来实现。

标号说明

1:密码系统;10:密钥生成装置;11:处理器;12:内存;13:存储器;14:通信接口;15:电路;111:信息受理部;112:主密钥生成部;113:解密密钥生成部;114:密钥输出部;20:加密装置;21:处理器;22:内存;23:存储器;24:通信接口;25:电路;211:公开参数取得部;212:信息受理部;213:加密部;214:密文输出部;30:原始密文解密装置;31:处理器;32:内存;33:存储器;34:通信接口;35:电路;311:解密密钥取得部;312:密文取得部;313:解密部;40:重加密密钥生成装置;41:处理器;42:内存;43:存储器;44:通信接口;45:电路;411:解密密钥取得部;412:信息受理部;413:随机化部;414:加密密钥生成部;415:重加密密钥输出部;50:重加密装置;51:处理器;52:内存;53:存储器;54:通信接口;55:电路;511:公开参数取得部;512:密文取得部;513:重加密密钥取得部;514:验证部;515:解密标签生成部;516:重加密部;517:重加密密文输出部;60:重加密密文解密装置;61:处理器;62:内存;63:存储器;64:通信接口;65:电路;611:解密密钥取得部;612:重加密密文取得部;613:第1解密部;614:第2解密部;615:第3解密部。

41页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于生成链路IPV6地址的计算设备和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!