利索能及
我要发布
收藏
专利号: 2017112657925
申请人: 南京师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种可撤销的身份公钥加密方法,其特征在于,包括以下步骤:(1)系统主密钥生成:身份公钥系统从计算机编程语言库JPBC库或者PBC库中选取一套参数,所述参数包括三个阶为大素数q的循环群 和 选取双线性映射的生成元P1, 的生成元P2,选取两个不同的哈希函数H0和H1,选取系统主私钥ke,根据ke计算系统主公钥Ppub=[ke]P1,将参数 公开,系统主私钥ke保密,并且选取一个密钥导出函数KDF和消息认证码函数MAC;

(2)用户私钥生成:身份公钥系统将用户的身份ID作为用户的公钥,并根据ID和系统主私钥ke,生成用户的私钥SKID;

(3)时间密钥生成:根据时间参数t、用户的身份ID和系统主私钥ke,生成用户的时间密钥TKID,t;

(4)加密传输:消息发送者利用消息接收者的身份ID、时间参数t和系统公共参数Params计算出一个临时会话密钥K,再利用该临时会话密钥K加密消息M,得到密文C,将密文C发送给接收者;

(5)解密步骤:接收者利用双线性映射、自己的私钥SKID和时间密钥TKID,t计算出临时会话密钥K,再用该会话密钥K解密出明文消息M。

2.根据权利要求1所述的一种可撤销的身份公钥加密方法,其特征在于,步骤(1)所选取的两个不同的哈希函数 和 其中, 表示有限域Zq去掉零元素后的乘法群。

3.根据权利要求1所述的一种可撤销的身份公钥加密方法,其特征在于,步骤(2)所述的用户私钥SKID生成,包括以下步骤:(2.1)身份公钥系统的私钥生成中心PKG计算用户身份ID的哈希函数值H0(ID);

(2.2)PKG计算用户的私钥,其计算公式为:

SKID=[(H0(ID)+ke)-1ke]P2,其中,[]表示点乘运算。

4.根据权利要求1所述的一种可撤销的身份公钥加密方法,其特征在于,步骤(3)所述的用户的时间密钥TKID,t生成,包括以下步骤:(3.1)计算用户身份ID和时间参数t的哈希函数值H1(ID||t);

(3.2)再计算时间密钥,计算公式如下:

TKID,t=[(H1(ID||t)+ke)-1ke]P2其中,[]表示点乘运算,||表示比特顺序级联。

5.根据权利要求1所述的一种可撤销的身份公钥加密方法,其特征在于,步骤(4)所述加密消息M包括如下步骤:(4.1)发送者利用hash函数H0和H1分别计算QID=[H0(ID)]P1+Ppub和QID,t=[H1(ID||t)]P1+Ppub;

(4.2)从 中随机选择两个数r0和r1,计算出部分密文C0=[r0]QID和C1=[r1]QID,t;

(4.3)利用双线性映射计算

(4.4)利用密钥导出函数KDF,计算用于加密的临时会话密钥K=KDF(C0,C1,W,ID,Klen)=K1||K2,其中,Klen表示密钥长度;

(4.5)利用密钥K1加密消息M,计算部分密文 符号 表示异或;

(4.6)利用密钥K2计算部分密文C3=MAC(K2,C2),该部分密文用于密文的完整性验证;

(4.7)输出密文C=(C0,C1,C2,C3),并把它发送给消息接收者。

6.根据权利要求1所述的一种可撤销的身份公钥加密方法,其特征在于,步骤(5)所述的接收者利用双线性映射、自己的私钥SKID和时间密钥TKID,t解密密文,其具体步骤如下:(5.1)利用双线性映射e、用户的私钥SKID和时间密钥TKID,t,计算W=e(C0,SKID)e(C1,TKID,t);

(5.2)根据上一步计算得到的W,计算用于解密密文的临时会话密钥K=KDF(C0,C1,W,ID,Klen)=K1||K2;

(5.3)验证密文的完整性:计算C3′=MAC(K2,C2),验证C3′是否与部分密文C3相等,如果是,则说明密文没有被修改过,可进一步解密出消息 否则,输出“密文无效”。