一种基于无证书加密的细粒度授权等值测试方法

文档序号:1965849 发布日期:2021-12-14 浏览:15次 >En<

阅读说明:本技术 一种基于无证书加密的细粒度授权等值测试方法 (Fine-grained authorization equivalence testing method based on certificateless encryption ) 是由 陈阳 杨贺昆 肖欢 高秀东 刘晓杰 于 2021-07-30 设计创作,主要内容包括:本发明公开了一种基于无证书加密的细粒度授权等值测试方法,涉及无证书加密的细粒度授权等值测试技术领域,具体包括以下步骤:首先由密钥生成中心初始化系统参数,并根据用户ID生成其部分私钥,然后用户选择一个秘密值结合其部分私钥生成自己的公私钥对;接着用户可以使用公钥加密数据并上传到云中,数据所有者可以下载并解密密文;最后用户可以根据需要生成不同的授权,有了不同用户的授权,云服务器就可以在不解密密文的情况下,完成密文的等值测试。该基于无证书加密的细粒度授权等值测试方法支持四种不同类型的授权,以解决现有的无证书加密等值测试方法中的测试权限问题和现有的基于公钥加密等值测试方法中存在的证书管理或密钥托管问题。(The invention discloses a fine-grained authorization equivalence test method based on certificateless encryption, which relates to the technical field of the fine-grained authorization equivalence test of certificateless encryption and specifically comprises the following steps of: firstly, initializing system parameters by a key generation center, generating a partial private key according to a user ID, and then selecting a secret value by a user to combine with the partial private key to generate a private and public key pair of the user; then, the user can encrypt data by using the public key and upload the data to the cloud, and a data owner can download and decrypt a ciphertext; and finally, the user can generate different authorizations as required, and the cloud server can finish the equivalent test of the ciphertext under the condition of not decrypting the ciphertext with the authorizations of different users. The fine-grained authorization equivalence test method based on certificateless encryption supports four different types of authorization, so that the problem of test permission in the existing certificateless encryption equivalence test method and the problem of certificate management or key escrow in the existing certificateless encryption equivalence test method are solved.)

一种基于无证书加密的细粒度授权等值测试方法

技术领域

本发明涉及无证书加密的细粒度授权等值测试技术领域,具体为一种基于无证书加密的细粒度授权等值测试方法。

背景技术

细粒度授权,通俗的讲就是将业务模型中的授权加以细分,从而得到适用更多不同场景的授权方案。

对称可搜索加密和公钥可搜索加密只能进行单密钥的密文搜素,不能满足不同密钥加密的密文搜索;支持授权的公钥加密等值测试存在由于复杂的证书管理导致的大量资源消耗问题;基于身份加密的授权等值测试存在密钥托管的问题;基于无证书加密的等值测试方案没有考虑测试权限问题。

发明内容

针对现有技术的不足,本发明提供了一种基于无证书加密的细粒度授权等值测试方法,解决了上述背景技术中提出的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种基于无证书加密的细粒度授权等值测试方法,包括以下步骤:

S1、密钥生成中心初始化系统参数,同时根据用户ID生成用户的部分私钥并发送给用户;

S2、用户选择一个秘密值并结合部分私钥生成自己的完整私钥,随后生成自己的公钥;

S3、用户使用相应的公钥加密数据,并将密文上传到云中,数据所有者可以下载并解密密文;

S4、用户可以根据需要使用自己的私钥生成不同类型的授权陷门,并发送给云服务器进行授权;

S5、有了不同用户的授权陷门,云服务器就可以在不解密的情况下,通过算法完成不同用户密文的等值测试。

可选的,所述步骤S4中,四种不同的授权策略方式为Type-I型授权、Type-II型授权、Type-III型授权和Type-IV型授权。

可选的,所述Type-I型授权为用户级别,拥有Type-I陷门,云服务器可以对用户的所有密文和其它任意用户的所有密文进行等值测试;

Type-II型授权为密文级别,拥有Type-II陷门,云服务器可以对用户的某个密文和其它任意用户的某个密文进行等值测试;

Type-III型授权为特定用户的密文级别,拥有Type-III陷门,云服务器可以对用户的某个密文和一个特定用户的特定密文进行等值测试;

Type-IV型授权为密文用户级别,Type-IV型授权是Type-I型授权和Type-II型授权的一个结合,拥有Type-IV陷门,云服务器可以对用户的某个密文和其它任意用户的所有密文进行等值测试。

可选的,所述基于无证书加密的细粒度授权等值测试方法包含如下的算法:

步骤一、初始化:由密钥生成中心运行此算法,输入安全参数k,输出系统公共参数params和系统主密钥msk;

步骤二、提取部分私钥:由密钥生成中心运行此算法,输入一个用户的公开身份信息ID∈{0,1}*和参数params,msk,输出此用户的部分私钥dID

步骤三、设定秘密值:由用户运行此算法,输入参数params,ID,输出用户的秘密值xID

步骤四、私有密钥生成:由用户运行此算法,输入参数params,dID,xID,输出用户的完整私钥SKID

步骤五、公开密钥生成:由用户运行此算法,输入参数params,xID,输出用户的公钥PKID

步骤六、加密:由用户运行此算法,输入信息M,参数params,ID和用户的公钥PKID,输出密文C;

步骤七、解密:由用户运行此算法,输入密文C,参数params,ID和用户的私钥SKID,输出明文M或终止符号⊥;

假设有两个用户UA和UB,定义UA的公私钥对为(PKA,SKA),密文为CA;定义UB的公私钥对为(PKB,SKB),密文为CB

可选的,所述Type-I型授权的算法包括以下步骤:

Aut1:两个用户分别运行此算法,输入私钥SKA(SKB),输出用户的Type-I陷门T1,A(T1,B);

Test1:云服务器运行此算法,输入密文(CA,CB)和陷门(T1,A,T1,B),如果两个密文包含相同的内容输出1,否则输出0。

可选的,所述Type-II型授权的算法包括以下步骤:

Aut2:两个用户分别运行此算法,输入私钥SKA(SKB)和CA(CB),输出用户的Type-II陷门T2,A(T2,B);

Test2:云服务器运行此算法,输入密文(CA,CB)和陷门(T2,A,T2,B),如果两个密文包含相同的内容输出1,否则输出0。

可选的,所述Type-III型授权的算法包括以下步骤:

Aut3:两个用户分别运行此算法,输入私钥SKA(SKB)和密文CA,CB,输出用户的Type-III陷门T3,A(T3,B);

Test3:云服务器运行此算法,输入密文(CA,CB)和陷门(T3,A,T3,B),如果两个密文包含相同的内容输出1,否则输出0。

可选的,所述Type-IV型授权的算法包括以下步骤:

Aut4,A:UA运行此算法,输入其私钥SKA,CA,输出UA的Type-IV陷门T4,A=T2,A

Aut4,B:UB运行此算法,输入其私钥SKB,输出UB的Type-IV陷门T4,B=T1,B

Test4:云服务器运行此算法,输入密文(CA,CB)和陷门(T4,A,T4,B),如果两个密文包含相同的内容输出1,否则输出0。

本发明提供了一种基于无证书加密的细粒度授权等值测试方法,具备以下有益效果:

1、该基于无证书加密的细粒度授权等值测试方法中,设计了一种新的基于无证书加密的等值测试方法并支持四种不同类型的授权,以解决现有的无证书加密等值测试方法中的测试权限问题和现有的公钥加密等值测试方法中存在的证书管理或密钥托管问题。

2、该基于无证书加密的细粒度授权等值测试方法综合了无证书加密和授权控制的优点,提供四种不同的授权方式以满足不同的场景需求;可以在不需要解密的条件下测试两个密文是否包含相同的内容。

附图说明

图1为本发明的流程结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种基于无证书加密的细粒度授权等值测试方法,包括以下步骤:

S1、密钥生成中心初始化系统参数,同时根据用户ID生成用户的部分私钥并发送给用户;

S2、用户选择一个秘密值并结合部分私钥生成自己的完整私钥,随后生成自己的公钥;

S3、用户使用相应的公钥加密数据,并将密文上传到云中,数据所有者可以下载并解密密文;

S4、用户可以根据需要使用自己的私钥生成不同类型的授权陷门,并发送给云服务器进行授权;

S5、有了不同用户的授权陷门,云服务器就可以在不解密的情况下,通过算法完成不同用户密文的等值测试。

本发明中,步骤S4中,四种不同的授权策略方式为Type-I型授权、Type-II型授权、Type-III型授权和Type-IV型授权。

本发明中,Type-I型授权为用户级别,拥有Type-I陷门,云服务器可以对用户的所有密文和其它任意用户的所有密文进行等值测试;

Type-II型授权为密文级别,拥有Type-II陷门,云服务器可以对用户的某个密文和其它任意用户的某个密文进行等值测试;

Type-III型授权为特定用户的密文级别,拥有Type-III陷门,云服务器可以对用户的某个密文和一个特定用户的特定密文进行等值测试;

Type-IV型授权为密文用户级别,Type-IV型授权是Type-I型授权和Type-II型授权的一个结合,拥有Type-IV陷门,云服务器可以对用户的某个密文和其它任意用户的所有密文进行等值测试。

本发明中,一种基于无证书加密的细粒度授权等值测试方法包含如下的算法:

步骤一、初始化:由密钥生成中心运行此算法,输入安全参数k,输出系统公共参数params和系统主密钥msk;

步骤二、提取部分私钥:由密钥生成中心运行此算法,输入一个用户的公开身份信息ID∈{0,1}*和参数params,msk,输出此用户的部分私钥dID

步骤三、设定秘密值:由用户运行此算法,输入参数params,ID,输出用户的秘密值xID

步骤四、私有密钥生成:由用户运行此算法,输入参数params,dID,xID,输出用户的完整私钥SKID

步骤五、公开密钥生成:由用户运行此算法,输入参数params,xID,输出用户的公钥PKID

步骤六、加密:由用户运行此算法,输入信息M,参数params,ID和用户的公钥PKID,输出密文C;

步骤七、解密:由用户运行此算法,输入密文C,参数params,ID和用户的私钥SKID,输出明文M或终止符号⊥;

假设有两个用户UA和UB,定义UA的公私钥对为(PKA,SKA),密文为CA;定义UB的公私钥对为(PKB,SKB),密文为CB

本发明中,Type-I型授权的算法包括以下步骤:

Aut1:两个用户分别运行此算法,输入私钥SKA(SKB),输出用户的Type-I陷门T1,A(T1,B);

Test1:云服务器运行此算法,输入密文(CA,CB)和陷门(T1,A,T1,B),如果两个密文包含相同的内容输出1,否则输出0。

本发明中,Type-II型授权的算法包括以下步骤:

Aut2:两个用户分别运行此算法,输入私钥SKA(SKB)和CA(CB),输出用户的Type-II陷门T2,A(T2,B);

Test2:云服务器运行此算法,输入密文(CA,CB)和陷门(T2,A,T2,B),如果两个密文包含相同的内容输出1,否则输出0。

本发明中,Type-III型授权的算法包括以下步骤:

Aut3:两个用户分别运行此算法,输入私钥SKA(SKB)和密文CA,CB,输出用户的Type-III陷门T3,A(T3,B);

Test3:云服务器运行此算法,输入密文(CA,CB)和陷门(T3,A,T3,B),如果两个密文包含相同的内容输出1,否则输出0。

本发明中,Type-IV型授权的算法包括以下步骤:

Aut4,A:UA运行此算法,输入其私钥SKA,CA,输出UA的Type-IV陷门T4,A=T2,A

Aut4,B:UB运行此算法,输入其私钥SKB,输出UB的Type-IV陷门T4,B=T1,B

Test4:云服务器运行此算法,输入密文(CA,CB)和陷门(T4,A,T4,B),如果两个密文包含相同的内容输出1,否则输出0。

综上,一种基于无证书加密的细粒度授权等值测试方法,具体包括以下步骤:

初始化:输入安全参数k,算法执行以下进程:

生成双线性对参数:

选取五个抗碰撞的哈希函数:H1:{0,1}*→G1,H2:{0,1}*→G1,H3:GT→{0,1}2l,H4:GT×G1 3→{0,1}l+n其中l和n分别是元素G1的长度;

随机选择作为msk,并计算

输出公共系统参数

提取部分私钥:输入ID∈{0,1}*,算法返回用户的部分私钥dID=(d1,d2),其中

设定秘密值:算法返回用户的密码值xID=x,随机选取。

私有密钥生成:算法返回用户的完整私钥SKID=(SK1,SK2),其中

公开密钥生成:算法返回用户的公钥PKID=(PK1,PK2),其中PK1=g1 x,PK2=g2 x

加密:输入信息M和公钥PKID,算法首先计算每个用户的一次。然后,随机选择并计算密文C=(C1,C2,C3,C4),其中

解密:输入私钥SKID和密文C=(C1,C2,C3,C4),算法进行如下计算:

如果均成立,算法输出明文M;否则输出⊥。

用UA和UB表示两个用户,分别定义他们的密文为CA=(CA,1,CA,2,CA,3,CA,4)和CB=(CB,1,CB,2,CB,3,CB,4)。

其中,四种不同类型授权的工作方式如下:

Type-I授权具体包括以下步骤:

Aut1:两个用户分别运行此算法生成他们的Type-I陷门T1,A=SKA,1和T1,B=SKB,1

Test1:算法进行如下计算

并判断

等式是否成立?

因为

如果等式(1)成立,则MA=MB,此时算法返回1;否则返回0。

Type-II授权具体包括以下步骤:

Aut2:两个用户分别运行此算法生成他们的Type-II陷门

Test2:算法进行如下计算

并判断等式(1)是否相等。如果相等,则MA=MB,此时算法返回1;否则返回0。

Type-III授权具体包括以下步骤:

Aut3:首先,两个用户分别计算

然后运行此算法生成他们的Type-III陷门

Test3:算法判断等式

是否成立?

因为如果等式(2)成立,则MA=MB

此时算法返回1;否则返回0。

Type-IV授权具体包括以下步骤:

Aut4,A:UA生成Type-IV陷门

Aut4,B:UB生成Type-IV陷门T4,B=T1,B=SKB,1

Test4:算法计算

并判断等式(1)是否成立。如果等式成立,则MA=MB,此时算法返回1;否则返回0。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种硅基集成的量子诱骗态强度调制模块和方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!