加密装置、解密装置、加密方法、加密程序、解密方法和解密程序与流程

文档序号:20167680发布日期:2020-03-24 22:01阅读:634来源:国知局
加密装置、解密装置、加密方法、加密程序、解密方法和解密程序与流程

本发明涉及具有高安全性的基于id的加密(identitybasedencryption,以下ibe)方式、具有高安全性的基于属性的加密(attributebasedencryption,以下abe)方式中的至少任意一方。



背景技术:

在全世界正在进行量子计算机的开发。作为针对量子计算机也能够维持安全性的加密方式,提出了使用同种映射的加密。在非专利文献1中记载有根据isog-dbdh假设示出预挑战(pre-challenge)量子安全性的部分地具有耐量子性的基于属性的加密方式。

现有技术文献

非专利文献

非专利文献1:koshiba,t.,takashima,k.:pairingcryptographymeetsisogeny:anewframeworkofisogenouspairinggroups.iacrcryptologyeprintarchive2016,1138(2016)



技术实现要素:

发明要解决的课题

但是,在非专利文献1记载的方式中,不清楚是否能够根据此前广泛使用的dbdh假设这种配对系统的问题困难性来证明安全性。一般而言,同种映射问题示出耐量子性等,与配对系统的问题相比被识别为困难,另一方面,还未充分进行困难性的验证,因此,可能发现未知的攻击。

本发明的目的在于,能够构成可根据多个问题困难性示出安全性的加密方式。

用于解决课题的手段

本发明的加密装置是使用了组g0、与所述组g0对应的组gt、组g^0、与所述组g^0对应的组g^t以及组gt的加密系统中的加密装置,所述组gt通过配对运算e0而与所述组g0和所述组g^0对应,并且通过配对运算et而与所述组gt和所述组g^t对应,其中,所述加密装置具有密文生成部,该密文生成部使用所述组gt的元素x和所述组g^t的元素y^的生成元素生成密文ct’,所述元素x是利用密钥生成随机数对所述组gt的生成源进行转换而生成的,或者所述元素y^是利用密钥生成随机数对所述组g^t的生成源进行转换而生成的,所述密文生成部具有:第1加密元素生成部,其针对转换信息z设定消息m,生成所述密文ct’的元素即加密元素ct,所述转换信息z是针对所述元素x设定加密随机数ζ而成的;以及第2加密元素生成部,其针对所述元素y^设定所述加密随机数ζ,生成所述密文ct’的元素即加密元素c。

发明效果

在本发明中,通过使用进行了对应的多个组,能够根据某个问题困难性示出安全性。此外,在本发明中,使用利用密钥生成随机数转换而生成的生成元素生成密文ctid’,由此,能够根据其他问题困难性示出安全性。

附图说明

图1是实施方式1的ibe方式中使用的同种配对群组的说明图。

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

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

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

图5是实施方式1的解密装置30的结构图。

图6是实施方式1的setup算法的流程图。

图7是实施方式1的ipg的说明图。

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

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

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

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

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

图13是变形例1的解密装置30的结构图。

图14是实施方式2的id组的性质的说明图。

图15是实施方式2的setup算法中的id组的说明图。

图16是实施方式2的keygen算法中的id组的说明图。

图17是实施方式2的enc算法中的id组的说明图。

图18是实施方式2的dec算法中的id组的说明图。

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

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

图21是实施方式2的setup算法的流程图。

图22是实施方式2的keygen算法的流程图。

图23是实施方式2的enc算法的流程图。

图24是实施方式3的加密系统1的结构图。

图25是实施方式5的加密系统1的结构图。

图26是实施方式5的密钥转让装置40的结构图。

图27是实施方式5的delegate算法的流程图。

具体实施方式

实施方式1

在实施方式1中,对高安全高效率的ibe方式进行说明。

***表记的说明***

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

另外,在以下的说明中,数学式中记载于变量上方的记号等在文中示出在变量的右上方。具体而言,记号“^”和记号“→”在数学式中记载于变量上方,但是,在文中示出在变量的右上方。例如,数学式101在文中记载为b^。

【数学式101】

此外,在对上标字符标注表示向量的记号“→”的情况下,记号“→”用针对上标字符的上标字符表示。即,gy→意味着将y表示为g的上标字符。

在a是随机变量或分布时,数学式102表示按照a的分布从a中随机选择y。即,在数学式102中,y是随机数。

【数学式102】

在a是集合时,数学式103表示从a中均匀地选择y。即,在数学式103中,y是均匀随机数。

【数学式103】

数学式104即fq表示位数q的有限体。

【数学式104】

针对大于0的整数n,数学式105成立。

【数学式105】

[n]:={1,...,n},

[0,n]:={0,...,n}

数学式106表示数学式107所示的2个向量y与v的数学式108所示的内积。

【数学式106】

【数学式107】

【数学式108】

针对数学式109所示的直积组k的元素g(resp.直积组k^的元素g^)和数学式110所示的向量y,gy→表示数学式111所示的组元素。

【数学式109】

【数学式110】

【数学式111】

针对标量ζ∈fq,gζ表示数学式112所示的标量累乘。

【数学式112】

针对上述直积组k和直积组k^的元素g:=(gi)和元素g^:=(g^i),如果在数学式113所示的空间中定义配对ei,则如数学式114那样定义配对ek。

【数学式113】

【数学式114】

***概念的说明***

参照图1对实施方式1的ibe方式中使用的同种配对群组(以下为ipg)进行说明。

ipg具有通过同种映射和配对运算而对应起来的多个组。

具体而言,ipg具有组g0、通过同种映射而与组g0对应的t=1,...,d的各组gt、通过同种映射而与组g^0对应的t=1,...,d的各组g^t、通过配对运算et而与t=0,...,d的各组gt和组g^t对应的组gt。而且,在ipg中,在元素从组g0×组g^0通过配对运算e0转换的情况下、以及通过与t=1,...,d的任意整数t有关的同种映射从组g0×组g^0转换成组gt×组g^t后通过配对运算et转换的情况下,结果相等。

例如,与t=0,...,d的各整数t有关的组gt和组g^t是不同椭圆曲线中的组。

更准确地讲,ipg如以下那样定义。

在ipg生成算法genipg(1λ,n)中,随机生成数学式115所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式115】

其中,(gt,g^t,et,gt)是具有配对运算et:gt×g^t→gt和陷门同态型映射的素数位数q的非对称配对组。陷门同态型映射是通过不同椭圆曲线之间的同种映射给出的自然的同一性g=g×1g^和g^=1g×g^下的即g0×g^0到gt×g^t的映射。

ipg具有数学式116所示的兼容性。

【数学式116】

其中,gt=e0(g0,g^0)≠1。此外,gt≠g^t。

***结构的说明***

对实施方式1的ibe方式的结构进行说明。

ibe方式具有setup算法、keygen算法、enc算法和dec算法。

setup算法将安全性参数1λ作为输入,输出公开参数pk和主秘密密钥msk。

keygen算法将公开参数pk、主秘密密钥msk和标识符id作为输入,输出与标识符id对应的解密密钥skid。

enc算法将公开参数pk、消息空间msg中的消息m和标识符id’作为输入,输出密文ctid’。

dec算法将公开参数pk、与标识符id对应的解密密钥skid和在标识符id’下加密的密文ctid’作为输入,输出消息m’∈msg或表示解密失败的识别信息⊥。

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

加密系统1具有密钥生成装置10、加密装置20和解密装置30。密钥生成装置10、加密装置20和解密装置30经由传输路径连接。作为具体例,传输路径是lan(localareanetwork:局域网)或互联网。密钥生成装置10、加密装置20和解密装置30能够经由传输路径进行通信。

密钥生成装置10将安全性参数1λ作为输入,执行setup算法,生成公开参数pk和主秘密密钥msk。此外,密钥生成装置10将公开参数pk、主秘密密钥msk和标识符id作为输入,执行keygen算法,生成解密密钥skid。

密钥生成装置10对公开参数pk进行公开,将解密密钥skid输出到与标识符id对应的解密装置30。密钥生成装置10保管主秘密密钥msk。

另外,在加密系统10的设置时等,仅执行1次setup算法即可。

加密装置20将公开参数pk、消息m和标识符id’作为输入,执行enc算法,生成密文ctid’。加密装置20将密文ctid’输出到解密装置30。

解密装置30将公开参数pk、解密密钥skid和密文ctid’作为输入,执行dec算法,生成消息m’或表示解密失败的识别信息⊥。

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

密钥生成装置10具有处理器11、存储装置12和输入输出接口13这样的硬件。处理器11经由信号线而与其它硬件连接,对这些其他硬件进行控制。

作为功能结构元素,密钥生成装置10具有主密钥生成部14、解密密钥生成部15和密钥输出部16。主密钥生成部14、解密密钥生成部15和密钥输出部16的各部的功能通过软件实现。

在存储装置12中存储有实现密钥生成装置10的各部的功能的程序。该程序被处理器11读入,由处理器11执行。由此,实现密钥生成装置10的各部的功能。

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

加密装置20具有处理器21、存储装置22、输入输出接口23这样的硬件。处理器21经由信号线而与其它硬件连接,对这些其他硬件进行控制。

作为功能结构元素,加密装置20具有取得部24、密文生成部25和密文输出部26。密文生成部25具有转换信息生成部251、第1加密元素生成部252和第2加密元素生成部253。取得部24、密文生成部25、转换信息生成部251、第1加密元素生成部252、第2加密元素生成部253和密文输出部26的各部的功能通过软件实现。

在存储装置22中存储有实现加密装置20的各部的功能的程序。该程序被处理器21读入,由处理器21执行。由此,实现加密装置20的各部的功能。

参照图5对实施方式1的解密装置30的结构进行说明。

解密装置30具有处理器31、存储装置32和输入输出接口33这样的硬件。处理器31经由信号线而与其它硬件连接,对这些其他硬件进行控制。

作为功能结构元素,解密装置30具有取得部34、解密部35和消息输出部36。取得部34具有解密密钥取得部341和密文取得部342。解密部35具有转换信息生成部351和消息生成部352。取得部34、解密密钥取得部341、密文取得部342、解密部35、转换信息生成部351、消息生成部352和消息输出部36的各部的功能通过软件实现。

在存储装置32中存储有实现解密装置30的各部的功能的程序。该程序被处理器31读入,由处理器31执行。由此,实现解密装置30的各部的功能。

处理器11、21、31是进行处理的ic(integratedcircuit:集成电路)。作为具体例,处理器11、21、31是cpu(centralprocessingunit:中央处理单元)、dsp(digitalsignalprocessor:数字信号处理器)、gpu(graphicsprocessingunit:图形处理单元)。

作为具体例,存储装置12、22、32是ram(randomaccessmemory:随机存取存储器)、hdd(harddiskdrive:硬盘驱动器)。此外,存储装置12、22、32は、也可以是sd(securedigital:安全数字)存储卡、cf(compactflash)、nand闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、dvd这样的移动存储介质。

输入输出接口13、23、33是用于从外部受理数据输入并向外部输出数据的接口。作为具体例,输入输出接口13、23、33是连接键盘这样的输入装置和显示器这样的输出装置的usb(universalserialbus:通用串行总线)、ps/2、hdmi(注册商标,high-definitionmultimediainterface:高清多媒体接口)这样的连接器。此外,作为具体例,输入输出接口13、23、33也可以是从外部经由网络发送接收数据的nic(networkinterfacecard:网络接口卡)。

表示由处理器11实现的各部的功能的处理结果的信息、数据、信号值和变量值存储在存储装置12或处理器11内的寄存器或高速缓冲存储器中。同样,表示由处理器21实现的各部的功能的处理结果的信息、数据、信号值和变量值存储在存储装置22或处理器21内的寄存器或高速缓冲存储器中。同样,表示由处理器31实现的各部的功能的处理结果的信息、数据、信号值和变量值存储在存储装置32或处理器31内的寄存器或高速缓冲存储器中。

设实现由处理器11实现的各功能的程序存储在存储装置12中。同样,设实现由处理器21实现的各功能的程序存储在存储装置22中。同样,设实现由处理器31实现的各功能的程序存储在存储装置32中。但是,该程序也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、dvd这样的移动存储介质中。

在图3中,仅示出一个处理器11。但是,密钥生成装置10也可以具有代替处理器11的多个处理器。这些多个处理器分担执行实现密钥生成装置10的各部的功能的程序。与处理器11同样,各个处理器是进行处理的ic。同样,加密装置20也可以具有代替处理器21的多个处理器。此外,解密装置30也可以具有代替处理器31的多个处理器。

***动作的说明***

参照图3~图10对实施方式1的加密系统1的动作进行说明。

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

实施方式1的密钥生成装置10的动作相当于实施方式1的密钥生成方法。此外,实施方式1的密钥生成装置10的动作相当于实施方式1的密钥生成程序的处理。

实施方式1的加密装置20的动作相当于实施方式1的加密方法。此外,实施方式1的加密装置20的动作相当于实施方式1的加密程序的处理。

实施方式1的解密装置30的动作相当于实施方式1的解密方法。此外,实施方式1的解密装置30的动作相当于实施方式1的解密程序的处理。

参照图3和图6对实施方式1的setup算法进行说明。

setup算法由密钥生成装置10执行。

(步骤s11:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ的输入。主密钥生成部14将受理的安全性参数1λ和d=1作为输入,执行ipg生成算法genipg(1λ,d),生成数学式117所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式117】

即,如图7所示,在实施方式1中,生成与t=0、1有关的组gt和组g^t、配对运算et、组gt和同种映射

另外,如图7所示,从g0到g1的转换大致对应于“解密密钥生成(keygen)”,从g0×g^0到gt的转换大致对应于“加密(enc)”,从g1×g^1到gt的转换大致对应于“解密(dec)”。

(步骤s12:哈希函数生成处理)

主密钥生成部14生成将标识符的空间即体fq的元素转换成组g0的元素的随机的哈希函数h。

(步骤s13:密钥生成随机数生成处理)

主密钥生成部14生成作为均匀随机数的密钥生成随机数γ。

(步骤s14:主密钥生成处理)

主密钥生成部14使用在步骤s11中生成的公开参数pkipg和在步骤s12中生成的哈希函数h生成公开参数pk:=((gt,g^t,et)t=0、1,g^0’:=g^0γ、g^1、gt、h)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s11中生成的主秘密密钥mskipg和在步骤s13中生成的密钥生成随机数γ生成主秘密密钥主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式118所示的setup算法,生成主密钥对。

【数学式118】

setup(1λ):

参照图3和图8对实施方式1的keygen算法进行说明。

keygen算法由密钥生成装置10执行。

(步骤s21:id受理处理)

解密密钥生成部15经由输入输出接口13受理使用解密密钥skid的用户的标识符id的输入。例如,由密钥生成装置10的使用者经由输入装置输入标识符id。

(步骤s22:密钥元素生成处理)

解密密钥生成部15将在步骤s21中受理的标识符id作为输入,计算公开参数pk中包含的哈希函数h,生成组g0的元素即元素h0。

解密密钥生成部15通过主秘密密钥msk中包含的同种映射和密钥生成随机数γ对元素h0进行转换,生成元素h1。具体而言,如数学式119所示,解密密钥生成部15通过同种映射和密钥生成随机数γ对元素h0进行转换,生成密钥元素k即元素h1。

【数学式119】

即,元素h1是利用密钥生成随机数γ转换后的组gt(=组g1)的元素。

(步骤s23:密钥输出处理)

密钥输出部16将包含在步骤s21中受理的标识符id和在步骤s22中生成的元素h1的解密密钥skid经由输入输出接口13输出到解密装置30。此时,密钥输出部16通过以任意的加密方式进行加密这样的方法,不会向第三方泄露解密密钥skid。

即,解密密钥生成部15执行数学式120所示的keygen算法,生成解密密钥skid。

【数学式120】

keygen(pk,sk,id):

returnskid:=(id,h1).

参照图4和图9对实施方式1的enc算法进行说明。

enc算法由加密装置20执行。

(步骤s31:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的标识符id’的输入。例如,由加密装置20的使用者经由输入装置输入消息m和标识符id’。

(步骤s32:密文生成处理)

密文生成部25使用在步骤s31中取得的公开参数pk和标识符id’生成密文ctid’的元素。密文生成部25使用组gt的元素x和组g^t的元素y^的生成元素生成密文ctid’的元素。这里,元素x是指后述的e0(h0、g^0’),元素y^是指公开参数pk中包含的g^1。

密文生成处理包含步骤s321~步骤s323的处理。

(步骤s321:转换信息生成处理)

转换信息生成部251将在步骤s31中受理的标识符id’作为输入,计算公开参数pk中包含的哈希函数h,生成组g0的元素即元素h0。此外,转换信息生成部251生成作为均匀随机数的加密随机数ζ。

转换信息生成部251使用元素h0和加密随机数ζ,如数学式121所示生成转换信息z。

【数学式121】

即,转换信息生成部251使用加密随机数ζ对组gt的元素x即e0(h0,g^0’)进行转换,生成转换信息z。此外,元素x即e0(h0,g^0’)包含g^0’:=g^0γ,因此,是利用密钥生成随机数γ对组gt的生成源(g^0)进行转换而生成的。

(步骤s322:第1加密元素生成处理)

如数学式122所示,第1加密元素生成部252针对在步骤s321中生成的转换信息z设定消息m,生成密文ctid’的元素即加密元素ct。

【数学式122】

ct:=z·m

(步骤s323:第2加密元素生成处理)

如数学式123所示,第2加密元素生成部253针对元素y^即g^1设定加密随机数ζ,生成密文ctid’的元素即加密元素c。

【数学式123】

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

密文输出部26将以在步骤s31中受理的标识符id’和在步骤s32中生成的加密元素ct、c为加密元素的密文ctid’经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式124所示的enc算法,生成密文ctid’。

【数学式124】

enc(pk,m,id'):

returnctid':=(id',c,ct).

参照图5和图10对实施方式1的dec算法进行说明。

dec算法由解密装置30执行。

(步骤s41:取得处理)

取得部34经由输入输出接口33取得由密钥生成装置10生成的公开参数pk和解密密钥skid以及由加密装置20生成的密文ctid’。

取得处理包含步骤s411和步骤s412的处理。

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

解密密钥取得部341经由输入输出接口33取得由密钥生成装置10生成的公开参数pk和解密密钥skid。这里,解密密钥skid包含利用密钥生成随机数γ转换后的组gt(=组g1)的元素即元素h1作为密钥元素k。

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

密文取得部342取得由加密装置20生成的密文ctid’。这里,密文ctid’包含加密元素ct和加密元素c。加密元素ct针对转换信息z设定消息m,转换信息z是针对利用密钥生成随机数γ对组gt的生成源(e0(h0,g^0))进行转换而生成的元素x设定加密随机数ζ而成的。加密元素c针对元素y^即g^1设定加密随机数ζ。

(步骤s42:解密判定处理)

解密部35判定在步骤s41中受理的解密密钥skid中包含的标识符id和密文ctid’中包含的标识符id’是否相等。由此,判定是否能够通过解密密钥skid对密文ctid’进行解密。

解密部35在判定为标识符id和标识符id’相等的情况下,即判定为能够解密的情况下,使处理进入步骤s43,在不是这样的情况下,使处理进入步骤s45。

(步骤s43:解密处理)

解密部35通过在步骤s41中受理的解密密钥skid对密文ctid’进行解密,生成消息m’。

解密处理包含步骤s431和步骤s432的处理。

(步骤s431:转换信息生成处理)

转换信息生成部351使用在步骤s411中取得的解密密钥skid中包含的元素h1和在步骤s412中取得的密文ctid’中包含的加密元素c,如数学式125所示,生成转换信息z’。

【数学式125】

z':=e1(h1,c)

这里,由于是数学式126,因此,如果能够通过解密密钥skid对密文ctid’进行解密,则转换信息z’和转换信息z相同。

【数学式126】

(步骤s432:消息生成处理)

消息生成部352使用在步骤s431中生成的转换信息z’和在步骤s412中取得的密文ctid’中包含的加密元素ct,如数学式127所示,生成消息m’。

【数学式127】

m':=ct·(z')-1

(步骤s44:消息输出处理)

消息输出部36经由输入输出接口33输出在步骤s43中计算出的消息m’。

(步骤s45:识别信息输出处理)

消息输出部36经由输入输出接口33输出表示解密失败的识别信息⊥。

即,解密装置30执行数学式128所示的dec算法,通过解密密钥skid对密文ctid’进行解密。

【数学式128】

dec(pk,skid,ctid'):

ifid=id',

z':=e1(h1,c),m':=ct·(z')-1,

returnm',

otherwise,return⊥.

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

如上所述,实施方式1的加密系统1使用ipg实现ibe方式。ipg由进行了对应的多个组构成。因此,能够根据基于在多个组的对应中使用的映射的问题困难性示出安全性。具体而言,在ipg中,组g0与t=1,...,d的各组gt之间以及组g^0与t=1,...,d的各组g^t之间通过同种映射对应起来。由此,能够根据同种映射问题困难性示出安全性。

此外,实施方式1的加密系统1使用利用密钥生成随机数γ转换后的生成元素即元素x生成密文ctid’。具体而言,加密系统1使用元素x即e0(h0,g^0’)生成密文ctid’的元素即加密元素ct。元素x即e0(h0,g^0’)是利用密钥生成随机数γ对组gt的生成源(g^0)进行转换而生成的。由此,能够根据配对问题困难性示出安全性。

***其他结构***

<变形例1>

在实施方式1中,密钥生成装置10、加密装置20和解密装置30的各部的功能通过软件实现。作为变形例1,密钥生成装置10、加密装置20和解密装置30的各部的功能也可以通过硬件实现。在该变形例1中,对与实施方式1不同之处进行说明。

参照图11~图13对变形例1的密钥生成装置10、加密装置20和解密装置30的结构进行说明。

在各部的功能通过硬件实现的情况下,密钥生成装置10、加密装置20和解密装置30代替处理器11、21、31和存储装置12、22、32而具有电子电路18、28、38。电子电路18、28、38是实现密钥生成装置10、加密装置20和解密装置30的各部的功能和存储装置12、22、32的功能的专用电路。

电子电路18、28、38假设是单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑ic、ga(gatearray:门阵列)、asic(applicationspecificintegratedcircuit:面向特定用途的集成电路)、fpga(field-programmablegatearray:现场可编程门阵列)。

密钥生成装置10、加密装置20和解密装置30也可以具有代替电子电路18、28、38的多个电子电路。这些多个电子电路整体实现各部的功能。与电子电路18、28、38同样,各个电子电路是专用电路。

<变形例2>

作为变形例2,也可以是一部分功能通过硬件实现,另一部分功能通过软件实现。即,也可以是密钥生成装置10、加密装置20和解密装置30的各部中的一部分功能通过硬件实现,另一部分功能通过软件实现。

将处理器11、21、31、存储装置12、22、32和电子电路18、28、38称作处理电路。即,各部的功能通过处理电路实现。

实施方式2

在实施方式2中,对高安全的基本ibe方式进行说明。

在实施方式2中,省略与实施方式1相同之处的说明,对不同之处进行说明。

***关键技术***

对在实施方式2的ibe方式中使用的关键技术进行说明。

使用现有配对实现的ibe在仅一对的配对组g、g^上对秘密密钥和密文进行编码。与此相对,实施方式2的ibe使按照每个id而不同的组gid、g^id与该id对应起来。将这些组gid、g^id称作id组。

由此,图14所示的关系成立。在图14中,箭头意味着“ifandonlyif”。即,在id≠id’的情况下且仅在该情况下,gid≠gid’。此外,在gid≠gid’的情况下且仅在该情况下,g^id≠g^id’。

参照图15~图18进行具体说明。另外,在以下的说明中,在以下标示出idj的情况下,该idj意味着idj,在以下标示出id’j的情况下,该id’j意味着id’j。

如图15所示,在setup算法中,作为组gt,生成与j=1,...,n的各整数j和ι=0、1的各整数ι有关的组gj、ι和组g^j、ι。即,生成2n个组gj、ι和2n个组g^j、ι。

如图16所示,在keygen算法中,被输入与j=1,...,n的各整数j有关的idj的集合即id。这里,idj是0或1。而且,关于j=1,...,n的各整数j,对idj分配组gj、idj。关于j=1,...,n的各整数j,被分配给idj的组gj、idj的直积是id组gid。即,在id=01...10的情况下,id组gid:=g1、0×g2、1×…×gn-1、1×gn、0。

如图17所示,在enc算法中,被输入与j=1,...,n的各整数j有关的id’j的集合即id’。这里,id’j是0或1。而且,关于j=1,...,n的各整数j,对id’j分配组g^j、id’j。关于j=1,...,n的各整数j,被分配给id’j的组g^j、id’j的直积是id组g^id’。即,在id’=01...10的情况下,id组g^id’:=g^1、0×g^2、1×…×g^n-1、1×g^n、0。

如图18所示,在dec算法中,关于j=1,...,n的各整数j,计算被分配给idj的组gj、idj的元素和被分配给id’j的组g^j、id’j的元素的配对运算的直积。此时,如果id=id’,则与j=1,...,n的各整数j有关的组gj、idj和组g^j、id’j对应。因此,关于j=1,...,n的各整数j计算配对运算的结果成为组gt的元素。但是,在id≠id’的情况下,与j=1,...,n中的至少一部分整数j有关的组gj、idj和组g^j、id’j不对应。因此,关于j=1,...,n中的至少一部分整数j,计算配对运算的结果不是组gt的元素。关于一部分整数j,如果计算配对运算的结果不是组gt的元素,则无法正确进行解密。

***结构的说明***

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

密钥生成装置10与图3所示的密钥生成装置10的不同之处在于,作为功能结构元素具有id组分配部17。与其他功能结构元素的功能同样,id组分配部17通过软件或硬件实现。

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

加密装置20与图4所示的加密装置20的不同之处在于,作为功能结构元素具有id组分配部27。与其他功能结构元素的功能同样,id组分配部27通过软件或硬件实现。

***动作的说明***

参照图5、图10、图19~图23对实施方式2的加密系统1的动作进行说明。实施方式2也与实施方式1同样,各动作相当于各方法和各程序的处理。

参照图19和图21对实施方式2的setup算法进行说明。

(步骤s51:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ和id的比特数即值n的输入。主密钥生成部14将受理的安全性参数1λ和d=2n作为输入,执行ipg生成算法genipg(1λ,d),生成数学式129所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式129】

(步骤s52:秘密信息生成处理)

主密钥生成部14生成作为均匀随机数的秘密信息s0。

如数学式130所示,主密钥生成部14对组gt的元素gt设定秘密信息s0,生成元素ht。

【数学式130】

(步骤s53:密钥生成随机数生成处理)

主密钥生成部14针对j=1,...,n的各整数j和ι=0、1的各整数ι,生成作为均匀随机数的密钥生成随机数τj、ι。

主密钥生成部14针对j=1,...,n的各整数j和ι=0、1的各整数ι,如数学式131所示,对组g^j、ι的元素g^j、ι设定密钥生成随机数τj、ι,生成元素h^j、ι。

【数学式131】

此外,主密钥生成部14针对j=1,...,n的各整数j和ι=0、1的各整数ι,如数学式132所示,对组gj、ι的元素gj、ι设定密钥生成随机数τj、ι的倒数1/τj、ι,生成元素hj、ι。

【数学式132】

(步骤s54:主密钥生成处理)

主密钥生成部14使用在步骤s51中生成的公开参数pkipg、在步骤s52中生成的元素ht和在步骤s53中生成的元素h^j、ι生成公开参数pk:=((gj、ι,g^j、ι,h^j、ι,ej、ι)j∈[n]、ι∈[0、1],gt,ht)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s52中生成的秘密信息s0和在步骤s53中生成的元素hj、ι生成主秘密密钥msk:=(s0,(hj、ι)j∈[n]、ι∈[0、1])。主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式133所示的setup算法,生成主密钥对。

【数学式133】

setup(1λ,n):

msk:=(s0,(hj,ι)j∈[n],ι∈[0,1]).

参照图19和图22对实施方式2的keygen算法进行说明。

(步骤s61:id受理处理)

解密密钥生成部15经由输入输出接口13受理使用解密密钥skid的用户的标识符id的输入。例如,由密钥生成装置10的使用者经由输入装置输入标识符id。

如上所述,标识符id:=(idj)j=1,...,n。此外,各idj是0或1。

(步骤s62:id组分配处理)

id组分配部17将与j=1,...,n的各整数j有关的idj分配给组gt即组gj、ι中的不同组。具体而言,id组分配部17将与j=1,...,n的各整数j有关的idj分配给组gj、idj。而且,id组分配部17设与j=1,...,n的各整数j有关的组gj、idj的直积为id组gid。即,如数学式134所示,id组分配部17生成id组gid。

【数学式134】

id组分配部17生成主秘密密钥msk中包含的元素hj、ι中的、id组gid中包含的元素hj、ι的集合作为元素hid。具体而言,如数学式135所示,id组分配部17生成元素hid。

【数学式135】

(步骤s63:分散信息生成处理)

如数学式136所示,解密密钥生成部15随机地生成分散信息s。分散信息s是使秘密信息s0分散的信息。

【数学式136】

(步骤s64:密钥元素生成处理)

如数学式137所示,解密密钥生成部15对在步骤s62中生成的元素hid设定在步骤s63中生对分散信息s,生成密钥元素k。

【数学式137】

(步骤s65:密钥输出处理)

密钥输出部16将包含在步骤s61中受理的标识符id和在步骤s64中生成的密钥元素k的解密密钥skid经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式138所示的keygen算法,生成解密密钥skid。

【数学式138】

keygen(pk,sk,id:=(idj)):

/*id-groupsetup*/

/*groupelementencoding*/

returnskid:=(id,k).

参照图20和图23对实施方式2的enc算法进行说明。

(步骤s71:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的标识符id’的输入。例如,由加密装置20的使用者经由输入装置输入消息m和标识符id’。

如上所述,标识符id’:=(id’j)j=1,...,n。此外,各id’j是0或1。

(步骤s72:id组分配处理)

id组分配部27将与j=1,...,n的各整数j有关的id’j分配给组g^t即组g^j、ι中的不同组。具体而言,id组分配部17将与j=1,...,n的各整数j有关的id’j分配给组g^j、id’j。然后,id组分配部17设与j=1,...,n的各整数j有关的组g^j、id’j的直积为id组g^id。即,如数学式139所示,id组分配部17生成id组g^id。

【数学式139】

id组分配部17生成公开参数pk中包含的元素h^j、ι中的、id组g^id中包含的元素h^j、ι的集合作为元素h^id。具体而言,如数学式140所示,id组分配部17生成元素h^id。

【数学式140】

(步骤s73:密文生成处理)

密文生成部25使用在步骤s71中取得的公开参数pk和在步骤s72中生成的元素h^id生成密文ctid’的元素。密文生成部25使用组gt的元素x和组g^t的元素y^的生成元素生成密文ctid’的元素。这里,元素x是指公开参数pk中包含的元素ht,元素y^是指在步骤s72中生成的元素h^id。

密文生成处理包含步骤s731~步骤s733的处理。

(步骤s731:转换信息生成处理)

转换信息生成部251生成作为均匀随机数的加密随机数ζ。

转换信息生成部251使用元素ht和加密随机数ζ,如数学式141所示,生成转换信息z。

【数学式141】

(步骤s732:第1加密元素生成处理)

如数学式142所示,第1加密元素生成部252针对在步骤s731中生成的转换信息z设定消息m,生成密文ctid’的元素即加密元素ct。

【数学式142】

ct:=z·m

(步骤s733:第2加密元素生成处理)

如数学式143所示,第2加密元素生成部253针对元素y^即元素h^id设定加密随机数ζ,生成密文ctid’的元素即加密元素c。

【数学式143】

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

密文输出部26将以在步骤s71中受理的标识符id’和在步骤s73中生成的加密元素ct、c为加密元素的密文ctid’经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式144所示的enc算法,生成密文ctid’。

【数学式144】

enc(pk,m,id':=(id'j)):

/*id-groupsetup*/

/*groupelementencoding*/

returnctid:=(id',c,ct).

参照图5和图10对实施方式2的dec算法进行说明。

步骤s41和步骤s42的处理以及步骤s44和步骤s45的处理与实施方式1相同。

但是,解密密钥skid包含对元素hid设定分散信息s而成的密钥元素k。这里,使用元素hj、ι生成元素hid。元素hj、ι是针对组gj、ι的元素gj、ι设定密钥生成随机数τj、ι的倒数1/τj、ι而成的。因此,解密密钥skid包含利用密钥生成随机数τj、ι转换后的组gt(=组gj、ι)的元素即密钥元素k。

此外,密文ctid’包含加密元素ct和加密元素c。加密元素ct针对转换信息z设定消息m,转换信息z是针对组gt的生成源ht即元素x设定加密随机数ζ而成的。加密元素c是针对利用密钥生成随机数τj、ι对组g^t的生成源g^j、ι进行转换而成的元素y^即元素h^id设定加密随机数ζ而成的。

(步骤s43:解密处理)

解密部35通过在步骤s41中受理的解密密钥skid对密文ctid’进行解密,生成消息m’。

解密处理包含步骤s431和步骤s432的处理。

(步骤s431:转换信息生成处理)

转换信息生成部351使用解密密钥skid中包含的元素k和密文ctid’中包含的加密元素c,如数学式145所示,生成转换信息z’。

【数学式145】

z':=e1(k,c)

这里,由于是数学式146,因此,如果解密密钥skid能够对密文ctid’进行解密,则转换信息z’和转换信息z相同。

【数学式146】

(步骤s432:消息生成处理)

消息生成部352使用在步骤s431中生成的转换信息z’和密文ctid’中包含的加密元素ct,如数学式147所示,生成消息m’。

【数学式147】

m':=ct·(z')-1

即,解密装置30执行数学式148所示的dec算法,通过解密密钥skid对密文ctid’进行解密。

【数学式148】

dec(pk,skid,ctid'):

ifid=id',

z':=e1(k,c),m':=ct·(z')-1,

returnm',

otherwise,return⊥.

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

如上所述,与实施方式1的加密系统1同样,实施方式2的加密系统1使用ipg实现ibe方式。因此,能够根据同种映射问题困难性示出安全性。

此外,实施方式2的加密系统1使用利用密钥生成随机数τj、ι转换后的生成元素即元素y^生成密文ctid’。由此,能够根据配对问题困难性示出安全性。

实施方式2的加密系统1使用id组gid、g^id。由此,在标识符id和标识符id’不一致的情况下,组gid和组g^id不一致。因此,能够成为无法解密的状态。

在实施方式2的加密系统1中,在keygen算法、enc算法和dec算法中,不使用同种映射其结果是,不需要使用哈希函数h。

另外,在keygen算法、enc算法和dec算法中,不使用同种映射因此,在图21的步骤s51中,genipg算法也可以不输出同种映射

实施方式3

在实施方式3中,对小属性集合的abe方式进行说明。

在实施方式3中,省略与实施方式2相同之处的说明,对不同之处进行说明。

在实施方式3中,说明对解密密钥设定作为解密条件的策略的密钥策略型的abe(以下为kp-abe)方式。另外,还能够通过naor转换这样的方法将kp-abe方式转换成对密文设定策略的密文策略型的abe(以下为cp-abe)方式。

***结构的说明***

kp-abe方式具有setup算法、keygen算法、enc算法和dec算法。

setup算法将安全性参数1λ作为输入,输出公开参数pk和主秘密密钥msk。

keygen算法将公开参数pk、主秘密密钥msk和访问构造s:=(m,ρ)作为输入,输出输入标签tag和与访问构造s对应的解密密钥sks。

enc算法将公开参数pk、消息空间msg中的消息m和属性集合γ作为输入,输出密文ctγ。

dec算法将公开参数pk、与访问构造s对应的解密密钥sks、在属性集合γ下加密后的密文ctγ作为输入,输出消息m’∈msg或表示解密失败的识别信息⊥。

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

加密系统1具有密钥生成装置10、加密装置20和解密装置30。密钥生成装置10、加密装置20和解密装置30经由传输路径连接。作为具体例,传输路径是lan(localareanetwork:局域网)或互联网。密钥生成装置10、加密装置20和解密装置30能够经由传输路径进行通信。

密钥生成装置10将安全性参数1λ作为输入,执行setup算法,生成公开参数pk和主秘密密钥msk。此外,密钥生成装置10将公开参数pk、主秘密密钥msk和访问构造s:=(m、ρ)作为输入,执行keygen算法,生成解密密钥sks。

密钥生成装置10对公开参数pk进行公开,将解密密钥sks输出到与访问构造s对应的解密装置30。密钥生成装置10保管主秘密密钥msk。

加密装置20将公开参数pk、消息m和属性集合γ作为输入,执行enc算法,生成密文ctγ。加密装置20将密文ctγ输出到解密装置30。

解密装置30将公开参数pk、解密密钥sks和密文ctγ作为输入,执行dec算法,生成消息m’或表示解密失败的识别信息⊥。

***概念的说明***

对在实施方式2的abe方式中使用的概念进行说明。

对张成方案进行说明。张成方案是现有的概念,因此,这里,在以下的说明中仅在必要范围内进行简单说明。

体fq上的张成方案是被赋予了标签的矩阵s:=(m、ρ)。这里,矩阵m是体fq上的(l行×r列)的矩阵。标签ρ是根据属性从{(t,v)、(t’,v’)、...}对矩阵m的行赋予的标签。另外,各行对一个属性赋予标签。即,ρ:{1,...,l}→{(t,v)、(t’,v’)、...}。

张成方案按照以下的基准受理或拒绝输入。设γ为属性集合。即,γ:={(tj,xj)}1≦j≦d’(xj∈utj)。仅在1∈span<(mi)ρ(i)∈γ>的情况下,张成方案s受理属性集合γ。将张成方案s受理属性集合γ的情况表示成r(s,γ)=1。即,仅在通过矩阵m的行(mi)ρ(i)∈γ的线性耦合得到全部元素为1的向量的情况下,张成方案s受理属性集合γ。将张成方案s称作访问构造。

***动作的说明***

参照图5、图10、图19~图23对实施方式3的加密系统1的动作进行说明。实施方式3也与实施方式2同样,各动作相当于各方法和各程序的处理。

参照图19和图21对实施方式3的setup算法进行说明。

(步骤s51:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ和属性的最大数即值d的输入。主密钥生成部14将受理的安全性参数1λ和d作为输入,执行ipg生成算法genipg(1λ、d),生成数学式149所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式149】

(步骤s52:秘密信息生成处理)

主密钥生成部14生成作为均匀随机数的秘密信息s0。

如数学式150所示,主密钥生成部14对组gt的元素gt设定秘密信息s0,生成元素ht。

【数学式150】

(步骤s53:密钥生成随机数生成处理)

主密钥生成部14关于t∈[d]的各整数t,生成作为均匀随机数的密钥生成随机数τt。

主密钥生成部14关于t∈[d]的各整数t,如数学式151所示,对组g^t的元素g^t设定密钥生成随机数τt,生成元素h^t。

【数学式151】

此外,主密钥生成部14关于t∈[d]的各整数t,如数学式152所示,对组gt的元素gt设定密钥生成随机数τt的倒数1/τt,生成元素ht。

【数学式152】

(步骤s54:主密钥生成处理)

主密钥生成部14使用在步骤s51中生成的公开参数pkipg、在步骤s52中生成的元素ht和在步骤s53中生成的元素h^t生成公开参数pk:=((gt,g^t,h^t,et)t∈[d],gt,ht)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s52中生成的秘密信息s0和在步骤s53中生成的元素ht生成主秘密密钥msk:=(s0,(ht)t∈[d])。主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式153所示的setup算法,生成主密钥对。

【数学式153】

setup(1λ,d):

msk:=(s0,(ht)t∈[d]).

参照图19和图22对实施方式3的keygen算法进行说明。

(步骤s61:id受理处理)

解密密钥生成部15经由输入输出接口13受理使用解密密钥sks的用户的访问构造s:=(m、ρ)的输入。访问构造s是表示能够通过解密密钥sks进行解密的范围的信息。

(步骤s62:id组分配处理)

id组分配部17关于i∈[l]的各整数i,设t=ρ(i)的组gt的直积为id组gid。id组分配部17生成主秘密密钥msk中包含的元素ht中的、id组gid中包含的元素ht的集合作为元素hid。具体而言,如数学式154所示,id组分配部17生成元素hid。

【数学式154】

(步骤s63:分散信息生成处理)

如数学式155所示,解密密钥生成部15生成分散信息s

【数学式155】

(步骤s64:密钥元素生成处理)

如数学式156所示,解密密钥生成部15对在步骤s62中生成的元素hid设定在步骤s63中生成的分散信息s,生成密钥元素k:={ki}。

【数学式156】

fori∈[l]

t:=ρ(i),

(步骤s65:密钥输出处理)

密钥输出部16将包含在步骤s61中受理的访问构造s和在步骤s64中生成的密钥元素k:={ki}的解密密钥sks经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式157所示的keygen算法,生成解密密钥sks。

【数学式157】

/*id-groupsetup*/

/*groupelementencoding*/

fori∈[l]

参照图20和图23对实施方式3的enc算法进行说明。

步骤s73的处理与实施方式2相同。

(步骤s71:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的属性集合γ的输入。

(步骤s72:id组分配处理)

id组分配部27关于t∈γ的各整数t,设组g^t的直积为id组g^id。id组分配部17生成公开参数pk中包含的元素h^t中的、id组g^id中包含的元素h^t的集合作为元素h^id。具体而言,如数学式158所示,id组分配部17生成元素h^id。

【数学式158】

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

密文输出部26将以在步骤s71中受理的属性集合γ和在步骤s73中生成的加密元素ct、c:={ct:=h^tζ}为加密元素的密文ctγ经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式159所示的enc算法,生成密文ctγ。

【数学式159】

enc(pk,m,γ):

/*id-groupsetup*/

/*groupelementencoding*/

returnctγ:=(γ,c,ct).

参照图5和图10对实施方式3的dec算法进行说明。

步骤s44和步骤s45的处理与实施方式2相同。

(步骤s41:取得处理)

取得部34经由输入输出接口33取得由密钥生成装置10生成的公开参数pk和解密密钥sks以及由加密装置20生成的密文ctγ。

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

解密密钥取得部341经由输入输出接口33取得由密钥生成装置10生成的公开参数pk和解密密钥sks。这里,解密密钥sks包含对元素hid设定分散信息s而成的密钥元素k:={ki}。即,与实施方式2同样,解密密钥sks包含利用密钥生成随机数τt转换后的组gt的元素即密钥元素k。

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

密文取得部342取得由加密装置20生成的密文ctγ。这里,密文ctγ包含加密元素ct和加密元素c:={ct}。加密元素ct是针对转换信息z设定消息m而成的,转换信息z是针对组gt的生成源ht即元素x设定加密随机数ζ而成的。加密元素c是针对利用密钥生成随机数τt对组g^t的生成源g^t进行转换而成的元素y^即元素h^id设定加密随机数ζ而成的。

(步骤s42:解密判定处理)

解密部35判定在步骤s41中受理的解密密钥sks中包含的访问构造s是否受理密文ctγ中包含的属性集合γ。由此,判定是否能够通过解密密钥sks对密文ctγ进行解密。

解密部35在判定为受理的情况下即判定为能够解密的情况下,使处理进入步骤s43,在不是这样的情况下,使处理进入步骤s45。

(步骤s43:解密处理)

解密部35通过在步骤s41中受理的解密密钥sks对密文ctγ进行解密,生成消息m’。

解密处理包含步骤s431和步骤s432的处理。

(步骤s431:转换信息生成处理)

转换信息生成部351计算数学式160所示的补充系数σi。

【数学式160】

wheremiisthei-throwofm

转换信息生成部351使用补充系数σi、解密密钥sks中包含的元素k和密文ctγ中包含的加密元素c,如数学式161所示,生成转换信息z’。

【数学式161】

这里,由于是数学式162,因此,如果解密密钥sks能够对密文ctγ进行解密,则转换信息z’和转换信息z相同。

【数学式162】

(步骤s432:消息生成处理)

消息生成部352使用在步骤s431中生成的转换信息z’和密文ctγ中包含的加密元素ct,如数学式163所示,生成消息m’。

【数学式163】

m':=ct·(z')-1

即,解密装置30执行数学式164所示的dec算法,通过解密密钥skid对密文ctid’进行解密。

【数学式164】

wheremiisthei-throwofm

returnm',

otherwise,return⊥.

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

如上所述,实施方式3的加密系统1使用ipg实现abe方式。因此,能够根据同种映射问题困难性示出安全性。

此外,实施方式3的加密系统1使用利用密钥生成随机数τt转换后的生成元素即元素y^生成密文ctγ。由此,能够根据配对问题困难性示出安全性。

实施方式4

在实施方式4中,对大属性集合的abe方式进行说明。

在实施方式4中,省略与实施方式3相同之处的说明,对不同之处进行说明。

在实施方式3中,属性集合γ包含属性t。在实施方式4中,属性集合γ包含属性的范畴t和与范畴t有关的属性xt:=(xt、j)∈{0,1}n

另外,在以下的说明中,在以下标示出xt的情况下,该xt意味着xt,在以下标示出vi的情况下,该vi意味着vi。

***动作的说明***

参照图5、图10、图19~图23对实施方式4的加密系统1的动作进行说明。实施方式4也与实施方式3同样,各动作相当于各方法和各程序的处理。

参照图19和图21对实施方式4的setup算法进行说明。

(步骤s51:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ、属性的最大数即值d和表示与各范畴t有关的比特数的值n的输入。主密钥生成部14将受理的安全性参数1λ、d和n作为输入,执行ipg生成算法genipg(1λ、d、n),生成数学式165所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式165】

(步骤s52:秘密信息生成处理)

主密钥生成部14生成作为均匀随机数的秘密信息s0。

如数学式166所示,主密钥生成部14对组gt的元素gt设定秘密信息s0,生成元素ht。

【数学式166】

(步骤s53:密钥生成随机数生成处理)

主密钥生成部14关于t∈[d]、j∈[n]和ι∈[0、1]的各整数t、j、ι,生成作为均匀随机数的密钥生成随机数τt、j、ι。

主密钥生成部14关于t∈[d]、j∈[n]和ι∈[0、1]的各整数t、j、ι,如数学式167所示,对组g^t、j、ι的元素g^t、j、ι设定密钥生成随机数τt、j、ι,生成元素h^t、j、ι。

【数学式167】

此外,主密钥生成部14关于t∈[d]、j∈[n]和ι∈[0、1]的各整数t、j、ι,如数学式168所示,对组gt、j、ι的元素gt、j、ι设定密钥生成随机数τt、j、ι的倒数1/τt、j、ι,生成元素ht、j、ι。

【数学式168】

(步骤s54:主密钥生成处理)

主密钥生成部14使用在步骤s51中生成的公开参数pkipg、在步骤s52中生成的元素ht和在步骤s53中生成的元素h^t、j、ι生成公开参数pk:=((gt、j、ι,g^t、j、ι,h^t、j、ι,et、j、ι)t∈[d]、j∈[n]、ι∈[0、1],gt,ht)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s52中生成的秘密信息s0和在步骤s53中生成的元素ht、j、ι生成主秘密密钥msk:=(s0,(ht、j、ι)t∈[d]、j∈[n]、ι∈[0、1])。主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式169所示的setup算法,生成主密钥对。

【数学式169】

setup(1λ,d,n):

msk:=(s0,(ht,j,ι)t∈[d],j∈[n],ι∈[0,1]).

参照图19和图22对实施方式4的keygen算法进行说明。

步骤s61的处理与实施方式3相同。

(步骤s62:id组分配处理)

id组分配部17关于i∈[l]的各整数i,在ρ(i)=(t、vi:=(vi、j)∈{0,1}n)的情况下,设与j=1,...,n的各整数j有关的组gt、j、vi的直积为id组gt、vi。另外,id组gt、vi是第t个基底组。即,如数学式170所示,id组分配部17生成id组gt、vi。

【数学式170】

fori∈[l]

ifρ(i)=(t,vi:=(vi,j)∈{0,1}n

id组分配部17生成主秘密密钥msk中包含的元素ht、j、ι中的、id组gt、vi中包含的元素ht、j、ι的集合作为元素ht、vi。具体而言,如数学式171所示,id组分配部17生成元素ht、vi。

【数学式171】

(步骤s63:分散信息生成处理)

解密密钥生成部15关于i∈[l]的各整数i,如数学式172所示,生成分散信息si。

【数学式172】

(步骤s64:密钥元素生成处理)

如数学式173所示,解密密钥生成部15对在步骤s62中生成的元素ht、vi设定在步骤s63中生成的分散信息si,生成密钥元素ki。

【数学式173】

fori∈[l]

ifρ(i)=(t,vi:=(vi,j)∈{0,1}n

(步骤s65:密钥输出处理)

密钥输出部16将包含在步骤s61中受理的访问构造s和在步骤s64中生成的密钥元素k:={ki}的解密密钥sks经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式174所示的keygen算法,生成解密密钥sks。

【数学式174】

/*id-groupsetup*/

fori∈[l]

ifρ(i)=(t,vi:=(vi,j)∈{0,1}n

/*groupelementencoding*/

fori∈[l]

ifρ(i)=(t,vi:=(vi,j)∈{0,1}n

参照图20和图23对实施方式4的enc算法进行说明。

步骤s73和步骤s74的处理与实施方式2相同。

(步骤s71:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的属性集合γ的输入。

(步骤s72:id组分配处理)

id组分配部27关于(t、xt:=(xt、j)∈{0、1}n)∈γ的各整数t,设j=1,...,n的各整数j的组g^t、j、xt的直积为id组g^t、xt。即,如数学式175所示,id组分配部27生成id组g^t、xt。

【数学式175】

for(t,xt:=(xt,j)∈{0,1}n)∈γ

id组分配部17生成公开参数pk中包含的元素h^t、j、xt中的、id组g^t、xt中包含的元素h^t、j、xt的集合作为元素h^t、xt。具体而言,如数学式176所示,id组分配部17生成元素h^t、xt。

【数学式176】

(步骤s73:密文生成处理)

密文生成部25使用在步骤s71中取得的公开参数pk和在步骤s72中生成的元素h^t、xt生成密文ctγ的元素。密文生成部25使用组gt的元素x和组g^t、xt的元素y^的生成元素生成密文ctγ的元素。这里,元素x是指公开参数pk中包含的元素ht,元素y^是指步骤s72中生成的元素h^t、xt。

密文生成处理包含步骤s731~步骤s733的处理。

(步骤s731:转换信息生成处理)

转换信息生成部251生成作为均匀随机数的加密随机数ζ。

转换信息生成部251使用元素ht和加密随机数ζ,如数学式177所示,生成转换信息z。

【数学式177】

(步骤s732:第1加密元素生成处理)

如数学式178所示,第1加密元素生成部252对在步骤s731中生成的转换信息z设定消息m,生成密文ctγ的元素即加密元素ct。

【数学式178】

ct:=z·m

(步骤s733:第2加密元素生成处理)

如数学式179所示,第2加密元素生成部253关于(t、xt:=(xt、j)∈{0,1}n)∈γ的各整数t,对元素y^即元素h^t、xt设定加密随机数ζ,生成密文ctγ的元素即加密元素ct。

【数学式179】

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

密文输出部26将以在步骤s71中受理的属性集合γ和在步骤s73中生成的加密元素ct、c:={ct}t∈γ为加密元素的密文ctγ经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式180所示的enc算法,生成密文ctγ。

【数学式180】

enc(pk,m,γ):

/*id-groupsetup*/

for(t,xt:=(xt,j)∈{0,1}n)∈γ

/*groupelementencoding*/

returnctγ:=(γ,c,ct).

参照图5和图10对实施方式4的dec算法进行说明。

步骤s41和步骤s42的处理以及步骤s44和步骤s45的处理与实施方式3相同。

但是,解密密钥sks包含对元素ht、vi设定分散信息s而成的密钥元素k。即,与实施方式3同样,解密密钥sks包含利用密钥生成随机数τt、j、ι转换后的组gt、vi的元素即密钥元素k:={ki}。

此外,密文ctγ包含加密元素ct和加密元素c。加密元素ct是针对转换信息z设定消息m而成的,转换信息z是针对组gt的生成源ht即元素x设定加密随机数ζ而成的。加密元素c是针对利用密钥生成随机数τt、j、ι对组g^t、xt的生成源g^t、j、ι进行转换而成的元素y^即元素h^t、xt设定加密随机数ζ而成的。

(步骤s43:解密处理)

解密部35通过在步骤s41中受理的解密密钥sks对密文ctγ进行解密,生成消息m’。

解密处理包含步骤s431和步骤s432的处理。

(步骤s431:转换信息生成处理)

转换信息生成部351计算数学式181所示的补充系数σi。

【数学式181】

wheremiisthei-throwofm

转换信息生成部351使用补充系数σi、解密密钥sks中包含的元素k:={ki}和密文ctγ中包含的加密元素c:={ct},如数学式182所示,生成转换信息z’。

【数学式182】

这里,由于是数学式183,因此,如果解密密钥sks能够对密文ctγ进行解密,则转换信息z’和转换信息z相同。

【数学式183】

(步骤s432:消息生成处理)

消息生成部352使用在步骤s431中生成的转换信息z’和密文ctγ中包含的加密元素ct,如数学式184所示,生成消息m’。

【数学式184】

m':=ct·(z')-1

即,解密装置30执行数学式185所示的dec算法,通过解密密钥skid对密文ctid’进行解密。

【数学式185】

wheremiisthei-throwofm

returnm',

otherwise,return⊥.

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

如上所述,实施方式4的加密系统1使用ipg实现abe方式。因此,能够根据同种映射问题困难性示出安全性。

此外,实施方式4的加密系统1使用利用密钥生成随机数τt、j、ι转换后的生成元素即元素y^生成密文ctγ。由此,能够根据配对问题困难性示出安全性。

实施方式5

在实施方式5中,对基于在实施方式2中说明的ibe方式的分层ibe(hierarchicalibe、以下hibe)进行说明。

在实施方式5中,省略与实施方式2相同之处的说明,对不同之处进行说明。

在实施方式5中,首先对1比特hibe进行说明,接着对应用1比特hibe的n(n≧1)比特hibe进行说明。

***结构的说明***

hibe方式具有setup算法、keygen算法、enc算法、dec算法和delegate算法。

setup算法将安全性参数1λ作为输入,输出公开参数pk和主秘密密钥msk。

keygen算法将公开参数pk、主秘密密钥msk和标识符id作为输入,输出与标识符id对应的解密密钥skid。

enc算法将公开参数pk、消息空间msg中的消息m和标识符id’作为输入,输出密文ctid’。

dec算法将公开参数pk、与标识符id对应的解密密钥skid和在标识符id’下加密后的密文ctid’作为输入,输出消息m’∈msg或表示解密失败的识别信息⊥。

delegate算法将公开参数pk、与长度l的分层标识符id对应的秘密密钥skid和第l+1个idl+1作为输入,输出与长度l+1的分层标识符id’:=(id、idl+1)对应的秘密密钥skid’或表示密钥生成失败的识别信息⊥。

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

加密系统1具有密钥生成装置10、加密装置20、解密装置30和密钥转让装置40。密钥生成装置10、加密装置20、解密装置30和密钥转让装置40经由传输路径连接。

密钥转让装置40将公开参数pk、与长度l的分层标识符id对应的秘密密钥skid和第l+1个idl+1作为输入,执行delegate算法,生成与长度l+1的分层标识符id’:=(id、idl+1)对应的秘密密钥skid’或表示密钥生成失败的识别信息⊥。

参照图26对实施方式5的密钥转让装置40的结构进行说明。

密钥转让装置40具有处理器41、存储装置42和输入输出接口43这样的硬件。处理器41经由信号线而与其它硬件连接,对这些其他硬件进行控制。

作为功能结构元素,密钥转让装置40具有取得部44、id组分配部45、下位密钥生成部46和下位密钥输出部47。取得部44、id组分配部45、下位密钥生成部46和下位密钥输出部47的各部的功能通过软件实现。

在存储装置42中存储有实现密钥转让装置40的各部的功能的程序。该程序被处理器41读入,由处理器41执行。由此,实现密钥转让装置40的各部的功能。

***动作的说明***

参照图19~图23、图26和图27对实施方式5的加密系统1的动作进行说明。实施方式5也与实施方式2同样,各动作相当于各方法和各程序的处理。此外,实施方式5的密钥转让装置40的动作对应于实施方式5的密钥转让方法和实施方式5的密钥转让程序的处理。

另外,dec算法与实施方式2相同,因此省略说明。

首先,对1比特hibe进行说明。

另外,在以下的说明中,在以下标示出idt的情况下,该idt意味着idt,在以下标示出id’t的情况下,该id’t意味着id’t。

参照图19和图21对实施方式5的setup算法进行说明。

(步骤s51:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ和分层数即值d≧2的输入。主密钥生成部14将受理的安全性参数1λ和2d作为输入,执行ipg生成算法genipg(1λ、2d),生成数学式186所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式186】

(步骤s52:秘密信息生成处理)

主密钥生成部14生成作为均匀随机数的秘密信息s0。

如数学式187所示,主密钥生成部14对组gt的元素gt设定秘密信息s0,生成元素ht。

【数学式187】

(步骤s53:密钥生成随机数生成处理)

主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,生成作为均匀随机数的密钥生成随机数τt、ι。

主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,如数学式188所示,对组g^t、ι的元素g^t、ι设定密钥生成随机数τt、ι,生成元素h^t、ι。

【数学式188】

此外,主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,如数学式189所示,对组gt、ι的元素gt、ι设定密钥生成随机数τt、ι,生成元素ht、ι。

【数学式189】

(步骤s54:主密钥生成处理)

主密钥生成部14使用在步骤s51中生成的公开参数pkipg、在步骤s52中生成的元素ht、在步骤s53中生成的元素h^t、ι和元素ht、ι生成公开参数pk:=((gt、ι,g^t、ι,ht、ι,h^t、ι,et、ι)t∈[d]、ι∈[0、1],gt,ht)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s52中生成的秘密信息s0生成主秘密密钥msk:=s0。主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式190所示的setup算法,生成主密钥对。

【数学式190】

setup(1λ):

msk:=s0.

参照图19和图22对实施方式5的keygen算法进行说明。

(步骤s61:id受理处理)

解密密钥生成部15经由输入输出接口13受理使用解密密钥skid的用户的标识符id的输入。例如,由密钥生成装置10的使用者经由输入装置输入标识符id。

这里,设标识符id:=(idt)t∈[l]。l<d。此外,各idt是0或1。

(步骤s62:id组分配处理)

id组分配部17将与t∈[l]的各整数t有关的idt分配给组gt、idt。然后,id组分配部17设与t∈[l]的各整数t有关的组gt、idt的直积为id组gid。即,如数学式191所示,id组分配部17生成id组gid。

【数学式191】

如数学式192所示,id组分配部17生成元素hid。

【数学式192】

(步骤s63:分散信息生成处理)

如数学式193所示,解密密钥生成部15生成分散信息s。分散信息s是使秘密信息s0分散的信息。

【数学式193】

(步骤s64:密钥元素生成处理)

如数学式194所示,解密密钥生成部15对在步骤s62中生成的元素hid设定在步骤s63中生成的分散信息s,生成密钥元素k。

【数学式194】

(步骤s65:密钥输出处理)

密钥输出部16将包含在步骤s61中受理的标识符id和在步骤s64中生成的密钥元素k的解密密钥skid经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式195所示的keygen算法,生成解密密钥skid。

【数学式195】

keygen(pk,sk,id:=(idt)t∈[l]):

/*id-groupsetup*/

/*groupelementencoding*/

returnskid:=(id,k).

参照图20和图23对实施方式5的enc算法进行说明。

(步骤s71:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理加密对象的消息m和作为解密条件的标识符id’的输入。例如,由加密装置20的使用者经由输入装置输入消息m和标识符id’。

这里,设标识符id’:=(id’t)t∈[l]。l<d。此外,各idt是0或1。

(步骤s72:id组分配处理)

id组分配部27将与t∈[l]的各整数t有关的id’t分配给组g^t、idt。然后,id组分配部27设与t∈[l]的各整数t有关的组g^t、id’t的直积为id组g^id。即,如数学式196所示,id组分配部27生成id组g^id。

【数学式196】

如数学式197所示,id组分配部27生成元素h^id。

【数学式197】

(步骤s73:密文生成处理)

密文生成部25使用在步骤s71中取得的公开参数pk和在步骤s72中生成的元素h^id生成密文ctid’的元素。密文生成部25使用组gt的元素x和组g^t的元素y^的生成元素生成密文ctid’的元素。这里,元素x是指公开参数pk中包含的元素ht,元素y^是指在步骤s72中生成的元素h^id。

密文生成处理包含步骤s731~步骤s733的处理。

(步骤s731:转换信息生成处理)

转换信息生成部251生成作为均匀随机数的加密随机数ζ。

转换信息生成部251使用元素ht和加密随机数ζ,如数学式198所示,生成转换信息z。

【数学式198】

(步骤s732:第1加密元素生成处理)

如数学式199所示,第1加密元素生成部252对在步骤s731中生成的转换信息z设定消息m,生成密文ctid’的元素即加密元素ct。

【数学式199】

ct:=z·m

(步骤s733:第2加密元素生成处理)

如数学式200所示,第2加密元素生成部253对元素y^即元素h^id设定加密随机数ζ,生成密文ctid’的元素即加密元素c。

【数学式200】

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

密文输出部26将以在步骤s71中受理的标识符id’和在步骤s73中生成的加密元素ct、c为加密元素的密文ctid’经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式201所示的enc算法,生成密文ctid’。

【数学式201】

enc(pk,m,id':=(id't)t∈[l]):

/*id-groupsetup*/

/*groupelementencoding*/

returnctid:=(id',c,ct).

参照图26和图27对实施方式5的delegate算法进行说明。

delegate算法由密钥转让装置40执行。

(步骤s81:取得处理)

取得部44经由输入输出接口43取得由密钥生成装置10生成的公开参数pk和下位的密钥生成对象即解密密钥skid:=k。此外,取得部44经由输入输出接口43受理使用解密密钥skid下位的解密密钥skid*的用户的标识符idl+1∈{0、1}的输入。

(步骤s82:id组分配处理)

id组分配部45设id*:=(id,idl+1)。此外,如数学式202所示,id组分配部45生成id组gid*。

【数学式202】

如数学式203所示,id组分配部45生成元素k+和元素hid*。

【数学式203】

(步骤s83:分散信息生成处理)

如数学式204所示,下位密钥生成部46生成分散信息τ’。

【数学式204】

(步骤s84:密钥元素生成处理)

如数学式205所示,下位密钥生成部46对在步骤s82中生成的元素hid*设定在步骤s83中生成的分散信息τ’,生成密钥元素kid*。

【数学式205】

(步骤s85:密钥输出处理)

下位密钥输出部47将包含标识符id*和在步骤s64中生成的密钥元素kid*下位的解密密钥skid*经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式206所示的delegate算法,生成下位的解密密钥skid*。

【数学式206】

delegate(pk,skid,idl+1∈{0,1}):

/*id-groupsetup*/

/*groupelementencoding*/

returnskid*:=(id*,kid*).

接着,对应用上述1比特hibe的n(n≧1)比特hibe进行说明。

n比特hibe方式使用1比特hibe的setup算法、keygen算法、enc算法、dec算法和delegate算法构成。

在n比特hibe方式的说明中,将上述1比特hibe方式的setup算法称作obhibe_setup。此外,将1比特hibe方式的keygen算法称作obhibe_keygen。将1比特hibe方式的enc算法称作obhibe_enc。将1比特hibe方式的dec算法称作obhibe_dec。将1比特hibe方式的delegate算法称作obhibe_delegate。

与此相对,将n比特hibe方式的setup算法称作nbhibe_setup。此外,将n比特hibe方式的keygen算法称作nbhibe_keygen。将n比特hibe方式的enc算法称作nbhibe_enc。将n比特hibe方式的dec算法称作nbhibe_dec。将n比特hibe方式的delegate算法称作nbhibe_delegate。

对nbhibe_setup进行说明。

主密钥生成部14受理安全性参数1λ、分层数即值d和比特数即值n的输入。

主密钥生成部14将安全性参数1λ和值d×n作为输入,执行obhibe_setup,生成公开参数pkob和主秘密密钥mskob。主密钥生成部14设公开参数pkob为n比特hibe方式的公开参数pk,设主秘密密钥mskob为n比特hibe方式的主秘密密钥msk。

即,主密钥生成部14执行数学式207所示的nbhibe_setup,生成主密钥对。

【数学式207】

nbhibe_setup(1λ,d,n):

returnpk:=pkob,msk:=mskob.

对nbhibe_keygen进行说明。

解密密钥生成部15经由输入输出接口13受理使用解密密钥skid的用户的标识符id的输入。这里,设标识符id:=(idt:=(idt、j))t∈[l]、j∈[n]。l<d。此外,各idt、j是0或1。

id^:=(idt、j)t∈[l]、j∈[n]作为分层数ln的分层1比特的标识符进行处理。解密密钥生成部15将在nbhibe_setup中生成的公开参数pk和主秘密密钥msk以及标识符id^作为输入,执行obhibe_keygen,生成解密密钥skid。

即,解密密钥生成部15执行数学式208所示的nbhibe_keygen,生成解密密钥skid。

【数学式208】

nbhibe_keygen(pk,sk,id:=(idt:=(idt,j)t∈[l],j∈[n])):

id^:=(idt,j)t∈[l],j∈[n]

ishierarchicalone-bitidentitiesofdepthln,

对nbhibe_enc进行说明。

取得部24经由输入输出接口23取得公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的标识符id’的输入。这里,设标识符id’:=(id’t:=(id’t、j))t∈[l]、j∈[n]。

id’*:=(id’t、j)t∈[l]、j∈[n]作为分层数ln的分层1比特的标识符进行处理。密文生成部25和id组分配部27将公开参数pk、消息m和标识符id’*作为输入,执行obhibe_enc,生成密文ctid’。

即,加密装置20执行数学式209所示的nbhibe_enc,生成密文ctid’。

【数学式209】

对nbhibe_dec进行说明。

取得部34经由输入输出接口33取得公开参数pk、解密密钥skid和密文ctid’。

解密部35将公开参数pk、设解密密钥skid的id为id*的解密密钥skid*和设密文ctid’的id’为id’*的密文ctid’*作为输入,执行obhibe_dec,生成消息m’。

即,解密装置30执行数学式210所示的nbhibe_dec,通过解密密钥skid对密文ctid’进行解密。

【数学式210】

nbhibe_dec(pk,skid,ctid):

returnobhibe_dec(pk,skid^,ctid^).

对nbhibe_delegate进行说明。

取得部44经由输入输出接口43取得公开参数pk和解密密钥skid。此外,取得部44经由输入输出接口43受理标识符idl+1∈{0、1}n的输入。

id组分配部45和下位密钥生成部46设标识符idl+1为(idl+1、j)j∈[n],设解密密钥skid为解密密钥sk0。然后,id组分配部45和下位密钥生成部46关于j∈[n]的各整数j,将公开参数pk、解密密钥skj-1和标识符idl+1、j作为输入,执行obhibe_delegate,生成解密密钥skj。然后,下位密钥输出部47输出解密密钥skn作为下位的解密密钥skid’。

即,解密密钥生成部15执行数学式211所示的nbhibe_delegate,生成下位的解密密钥skid’。

【数学式211】

nbhibe_delegate(pk,skid,idl+1∈{0,1}n):

praseidl+1as(idl+1,j)j∈[n],

iterateobhibe_delegaten-timesas:

sk0:=skid,

id':=(id,idl+1):depthl+1hierarchicalidentities,

returnskid*:=skn.

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

如上所述,实施方式5的加密系统1使用ipg实现hibe方式。因此,能够根据同种映射问题困难性示出安全性。

此外,实施方式5的加密系统1使用利用密钥生成随机数τj、ι转换后的生成元素即元素y^生成密文ctγ。由此,能够根据配对问题困难性示出安全性。

实施方式6

在实施方式6中,对高安全的boneh-boyen型的1比特hibe进行说明。

在实施方式6中,省略与实施方式5相同之处的说明,对不同之处进行说明。

***动作的说明***

参照图5、图10、图19~图23、图26和图27对实施方式6的加密系统1的动作进行说明。实施方式6也与实施方式5同样,各动作相当于各方法和各程序的处理。

参照图19和图21对实施方式6的setup算法进行说明。

(步骤s51:ipg生成处理)

主密钥生成部14经由输入输出接口13受理安全性参数1λ和分层数即值d≧2的输入。主密钥生成部14将受理的安全性参数1λ和4d作为输入,执行ipg生成算法genipg(1λ、4d),生成数学式212所示的公开参数pkipg和主秘密密钥mskipg的主密钥对。

【数学式212】

(步骤s52:秘密信息生成处理)

主密钥生成部14生成作为均匀随机数的秘密信息π、τ。

如数学式213所示,主密钥生成部14对组gt的元素gt设定秘密信息π、τ,生成元素ht。

【数学式213】

此外,主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,如数学式214所示,使用秘密信息π、τ生成元素flt、ι、元素f^rt、ι和元素ulι。

【数学式214】

(步骤s53:密钥生成随机数生成处理)

主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,生成作为均匀随机数的密钥生成随机数σt、ι。

主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,如数学式215所示,对组g^rt、ι的元素g^rt、ι设定密钥生成随机数σt、ι,生成元素h^rt、ι。

【数学式215】

此外,主密钥生成部14关于t∈[d]和ι∈[0、1]的各整数t、ι,如数学式216所示,对组glt、ι的元素glt、ι设定密钥生成随机数σt、ι,生成元素hlt、ι。

【数学式216】

(步骤s54:主密钥生成处理)

主密钥生成部14使用在步骤s51中生成的公开参数pkipg、在步骤s52中生成的元素ht、元素flt、ι、元素f^rt、ι、元素ulι和在步骤s53中生成的元素h^rt、ι、元素hlt、ι生成公开参数pk:=(((glt、ι,g^lt、ι,flt、ι,hlt、ι,g^lt、ι,elt、ι),(grt、ι,g^rt、ι,grt,f^rt、ι,h^rt、ι、ι,ert、ι))t∈[d]、ι∈[0、1],gt,ht)。密钥输出部16将公开参数pk经由输入输出接口13输出到外部的公开用服务器等,由此将公开参数pk输出到加密装置20和解密装置30。

此外,主密钥生成部14使用在步骤s52中生成的元素ulι生成主秘密密钥msk:=(元素ulι)ι∈[0、1]。主密钥生成部14将生成的主秘密密钥msk写入存储装置12中。

即,主密钥生成部14执行数学式217所示的setup算法,生成主密钥对。

【数学式217】

setup(1λ,d):

fort∈[d],ι∈[0,1]

参照图19和图22对实施方式6的keygen算法进行说明。

(步骤s61:id受理处理)

解密密钥生成部15经由输入输出接口13受理使用解密密钥skid的用户的标识符id的输入。例如,由密钥生成装置10的使用者经由输入装置输入标识符id。

这里,设标识符id:=(idt)t∈[l]。l<d。此外,各idt是0或1。

(步骤s62:id组分配处理)

id组分配部17将与t∈[l]的各整数t有关的idt分配给组glt、idt和组grt、idt。然后,id组分配部17设与t∈[l]的各整数t有关的组glt、idt的直积为id组glid,设与t∈[l]的各整数t有关的组grt、idt的直积为id组grid。即,如数学式218所示,id组分配部17生成id组glid和id组grid。

【数学式218】

如数学式219所示,id组分配部17生成元素glid、元素flid、元素hlid和元素grid。

【数学式219】

(步骤s63:分散信息生成处理)

如数学式220所示,解密密钥生成部15生成分散信息τ

【数学式220】

(步骤s64:密钥元素生成处理)

如数学式221所示,解密密钥生成部15对在步骤s62中生成的元素glid、元素flid、元素hlid、元素grid使用在步骤s63中生成的分散信息τ和均匀随机数r:=(rt)t∈[l],生成密钥元素k:={vlid·fl(id)r→,(grid)}。

【数学式221】

(步骤s65:密钥输出处理)

密钥输出部16将包含在步骤s61中受理的标识符id和在步骤s64中生成的密钥元素k的解密密钥skid经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式222所示的keygen算法,生成解密密钥skid。

【数学式222】

keygen(pk,sk,id:=(idt)t∈[l]):

/*id-groupsetup*/

/*groupelementencoding*/

returnskid:=(id,k).

参照图20和图23对实施方式6的enc算法进行说明。

(步骤s71:取得处理)

取得部24经由输入输出接口23取得由密钥生成装置10生成的公开参数pk。此外,取得部24受理作为加密对象的消息m和作为解密条件的标识符id’的输入。例如,由加密装置20的使用者经由输入装置输入消息m和标识符id’。

这里,设标识符id’:=(id’t)t∈[l]。l<d。此外,各id’t是0或1。

(步骤s72:id组分配处理)

id组分配部27将与t∈[l]的各整数t有关的id’t分配给组g^lt、idt和组g^rt、idt。然后,id组分配部27设与t∈[l]的各整数t有关的组g^lt、id’t的直积为id组g^lid,设与t∈[l]的各整数t有关的组g^rt、id’t的直积为id组g^rid。即,如数学式223所示,id组分配部27生成id组g^lid和id组g^rid。

【数学式223】

如数学式224所示,id组分配部27生成元素g^lid、元素f^rid和元素h^rid。

【数学式224】

(步骤s73:密文生成处理)

密文生成部25使用在步骤s71中取得的公开参数pk和在步骤s72中生成的元素g^lid、元素f^rid、元素h^rid生成密文ctid’的元素。密文生成部25使用组gt的元素x和组g^t的元素y^的生成元素生成密文ctid’的元素。这里,元素x是指公开参数pk中包含的元素ht,元素y^是指在步骤s72中生成的元素g^lid、元素f^rid和元素h^rid。

密文生成处理包含步骤s731~步骤s733的处理。

(步骤s731:转换信息生成处理)

转换信息生成部251生成作为均匀随机数的加密随机数ζ。

转换信息生成部251使用元素ht和加密随机数ζ,如数学式225所示,生成转换信息z。

【数学式225】

(步骤s732:第1加密元素生成处理)

如数学式226所示,第1加密元素生成部252对在步骤s731中生成的转换信息z设定消息m,生成密文ctid’的元素即加密元素ct。

【数学式226】

ct:=z·m

(步骤s733:第2加密元素生成处理)

如数学式227所示,第2加密元素生成部253对元素y^即元素g^lid、元素f^rid和元素h^rid设定加密随机数ζ,生成密文ctid’的元素即加密元素c:={(g^lid)ζ,f^r(id)ζ}。

【数学式227】

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

密文输出部26将以在步骤s71中受理的标识符id’和在步骤s73中生成的加密元素ct、c为加密元素的密文ctid’经由输入输出接口23输出到解密装置30。

即,加密装置20执行数学式228所示的enc算法,生成密文ctid’。

【数学式228】

enc(pk,m,id':=(id't)t∈[l]):

/*id-groupsetup*/

/*groupelementencoding*/

returnctid:=(id',c,ct).

参照图5和图10对实施方式6的dec算法进行说明。

步骤s41和步骤s42的处理以及步骤s44和步骤s45的处理与实施方式5相同。

(步骤s43:解密处理)

解密部35通过在步骤s41中受理的解密密钥skid对密文ctid’进行解密,生成消息m’。

解密处理包含步骤s431和步骤s432的处理。

(步骤s431:转换信息生成处理)

转换信息生成部351使用解密密钥skid中包含的密钥元素k:={vlid·fl(id)r→,(grid)}和密文ctid’中包含的加密元素c:={(g^lid)ζ,f^r(id)ζ},如数学式229所示,生成转换信息z’。这里,kl:=lid·fl(id)r→,kr:=(grid)。此外,cl:=(g^lid)ζ,cr:=f^r(id)ζ

【数学式229】

这里,由于是数学式230,因此,如果解密密钥skid能够对密文ctid’进行解密,则转换信息z’和转换信息z相同。

【数学式230】

(步骤s432:消息生成处理)

消息生成部352使用在步骤s431中生成的转换信息z’和密文ctid’中包含的加密元素ct,如数学式231所示,生成消息m’。

【数学式231】

m':=ct·(z')-1

即,解密装置30执行数学式232所示的dec算法,通过解密密钥skid对密文ctid’进行解密。

【数学式232】

dec(pk,skid,ctid):

ifid=id'

returnm',

otherwise,return⊥.

参照图26和图27对实施方式6的delegate算法进行说明。

delegate算法由密钥转让装置40执行。

(步骤s81:取得处理)

取得部44经由输入输出接口43取得由密钥生成装置10生成的公开参数pk和下位的密钥生成对象即解密密钥skid:=(id、kl、kr)。这里,kl:=lid·fl(id)r→,kr:=(grid)。此外,取得部44经由输入输出接口43受理使用解密密钥skid下位的解密密钥skid’的用户的标识符idl+1∈{0、1}的输入。

(步骤s82:id组分配处理)

id组分配部45设id’:=(id、idl+1)。此外,如数学式233所示,id组分配部45生成id组glid’和id组grid’。

【数学式233】

如数学式234所示,id组分配部45生成元素k+l、元素glid’、元素k+r和元素grid’。

【数学式234】

(步骤s83:分散信息生成处理)

如数学式235所示,下位密钥生成部46生成分散信息τ’。

【数学式235】

(步骤s84:密钥元素生成处理)

如数学式236所示,下位密钥生成部46对在步骤s82中生成的元素k+l、元素glid’、元素k+r和元素grid’设定在步骤s83中生成的分散信息τ’和均匀随机数r’:=(r’t)t∈[l+1],生成密钥元素k:={kl、kr}。

【数学式236】

(步骤s85:密钥输出处理)

下位密钥输出部47将包含标识符id’和在步骤s84中生成的密钥元素k的下位的解密密钥skid’经由输入输出接口13输出到解密装置30。

即,解密密钥生成部15执行数学式237所示的delegate算法,生成下位的解密密钥skid’。

【数学式237】

delegate(pk,skid,idl+1∈{0,1}):

/*id-groupsetup*/

id*:=(id,idl+1),

/*groupelementencoding*/

kid*:=(k'l,k'r)

returnskid*:=(id*,kid*).

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

如上所述,实施方式6的加密系统1使用ipg实现hibe方式。因此,能够根据同种映射问题困难性示出安全性。

此外,实施方式6的加密系统1使用利用密钥生成随机数σj、ι转换后的生成元素即元素y^生成密文ctγ。由此,能够根据配对问题困难性示出安全性。

标号说明

1:加密系统;10:密钥生成装置;11:处理器;12:存储装置;13:输入输出接口;14:主密钥生成部;15:解密密钥生成部;16:密钥输出部16;17:id组分配部;18:电子电路;20:加密装置;21:处理器;22:存储装置;23:输入输出接口;24:取得部;25:密文生成部;26:密文输出部;27:id组分配部;28:电子电路;30:解密装置;31:处理器;32:存储装置;33:输入输出接口;34:取得部;35:解密部;36:消息输出部;38:电子电路;40:密钥转让装置;41:处理器;42:存储装置;43:输入输出接口;44:取得部;45:id组分配部;46:下位密钥生成部;47:下位密钥输出部;48:电子电路。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1