一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于SM9的在线离线加解密方法、系统、设备及介质与流程

2023-02-01 20:57:26 来源:中国专利 TAG:

技术特征:
1.一种基于sm9的在线离线加解密方法,其特征在于,应用于数据发送端,包括:获取数据接收端确认的待加密的目标数据;获取基于sm9算法确定的素数、私钥生成函数识别符、第一密码函数、第二密码函数;获取预先生成的第一随机数及第二随机数;获取预先生成的第一中间密文、密文参数、中间参数;所述第一中间密文基于所述第一随机数、所述第二随机数、所述sm9算法确定的加密主公钥、所述sm9算法中第一加法循环群的生成元生成;所述密文参数基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别标识、所述sm9算法确定的第三密码函数生成;所述中间参数基于所述第二随机数、所述加密主公钥、所述sm9算法中第二加法循环群的生成元、所述sm9算法中的双线性对映射生成;基于所述第一随机数、所述第二随机数、所述素数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述第一密码函数生成第二中间密文;基于所述目标数据、所述密文参数生成第三中间密文;基于所述第二随机数、所述第二密码函数、所述目标数据、所述中间参数、所述第一中间密文、所述第二中间密文、所述素数生成第四中间密文;将所述第一中间密文、所述第二中间密文、所述第三中间密文及所述第四中间密文作为所述目标数据的目标密文。2.根据权利要求1所述的方法,其特征在于,所述获取数据接收端确认的待加密的目标数据之前,还包括:在离线阶段,生成所述第一随机数及所述第二随机数;在所述离线阶段,基于所述第一随机数、所述第二随机数、所述sm9算法确定的所述加密主公钥、所述sm9算法中所述第一加法循环群的生成元生成所述第一中间密文;在所述离线阶段,基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别标识、所述sm9算法确定的所述第三密码函数生成所述密文参数;在所述离线阶段,基于所述第二随机数、所述加密主公钥、所述sm9算法中所述第二加法循环群的生成元、所述sm9算法中的所述双线性对映射生成所述中间参数。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一随机数、所述第二随机数、所述sm9算法确定的所述加密主公钥、所述sm9算法中所述第一加法循环群的生成元生成所述第一中间密文,包括:通过第一运算公式,基于所述第一随机数、所述第二随机数、所述sm9算法确定的所述加密主公钥、所述sm9算法中所述第一加法循环群的生成元生成所述第一中间密文;所述第一运算公式包括:c1=[r](p
pub
[s]p1);其中,c1表示所述第一中间密文;r表示所述第二随机数;p
pub
表示所述加密主公钥,p
pub
=[ke]p1,ke表示所述sm9算法确定的加密主私钥;s表示所述第一随机数;p1表示所述第一加法循环群g1的生成元;所述基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别标识生成所述密文参数,包括:通过第二运算公式,基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别
标识、所述sm9算法确定的所述第三密码函数生成所述密文参数;所述第二运算公式包括:t=h3(c1||w||id
b
);其中,t表示所述密文参数;h3表示所述第三密码函数;w表示所述中间参数;id
b
表示所述数据接收端的可辨别标识;||表示拼接;所述基于所述第二随机数、所述加密主公钥、所述sm9算法中所述第二加法循环群的生成元、所述sm9算法中的所述双线性对映射生成所述中间参数,包括:通过第三运算公式,基于所述第二随机数、所述加密主公钥、所述sm9算法中所述第二加法循环群的生成元、所述sm9算法中的所述双线性对映射生成所述中间参数;所述第三运算公式包括:w=g
r
;g=e(p
pub
,p2);其中,e表示所述双线性对映射;p2表示所述第二加法循环群g2的生成元。4.根据权利要求3所述的方法,其特征在于,所述基于所述第一随机数、所述第二随机数、所述素数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述第一密码函数生成第二中间密文,包括:通过第四运算公式,基于所述第一随机数、所述第二随机数、所述素数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述第一密码函数生成第二中间密文;所述第四运算公式包括:c2=r
·
(h1(id
a
||hid,q)-s)mod q;其中,c2表示所述第二中间密文;h1表示所述第一密码函数;id
a
表示所述数据发送端的可辨别标识;hid表示所述私钥生成函数识别符;q表示所述素数;所述基于所述目标数据、所述密文参数生成第三中间密文,包括:通过第五运算公式,基于所述目标数据、所述密文参数生成所述第三中间密文;所述第五运算公式包括:其中,c3表示所述第三中间密文;m表示所述目标数据;

表示异或运算;所述基于所述第二随机数、所述第二密码函数、所述目标数据、所述中间参数、所述第一中间密文、所述第二中间密文、所述素数生成第四中间密文,包括:通过第六运算公式,基于所述第二随机数、所述第二密码函数、所述目标数据、所述中间参数、所述第一中间密文、所述第二中间密文、所述素数生成所述第四中间密文;所述第六运算公式包括:c4=(r h2(m||w||c1||c2))mod q;其中,c4表示所述第四中间密文;h2表示所述第二密码函数。5.根据权利要求1所述的方法,其特征在于,所述将所述第一中间密文、所述第二中间密文、所述第三中间密文及所述第四中间密文作为所述目标数据的目标密文之后,还包括:发送所述目标密文至所述数据接收端。6.一种基于sm9的在线离线加解密方法,其特征在于,应用于数据接收端,包括:获取基于sm9算法确定的双线性对映射、第一加法循环群的生成元、第一密码函数、第二密码函数、素数、私钥生成函数识别符、第二加法循环群的生成元、加密主公钥;
接收数据发送端传输的目标密文,所述目标密文包括第一中间密文、第二中间密文、第三中间密文及第四中间密文;基于所述双线性对映射、所述第一中间密文、所述第二中间密文、所述第一加法循环群的生成元、所述数据接收端的私钥生成校验中间参数;基于所述校验中间参数及所述第三中间参数生成校验数据;基于所述第四中间密文、所述第二密码函数、所述校验数据、所述校验中间参数、所述第一中间密文、所述第二中间密文、所述素数生成校验第二随机数;基于所述第一密码函数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述素数、所述校验第二随机数、所述第二中间密文生成校验第一随机数;基于所述校验第一随机数、所述加密主公钥、所述校验第二随机数、所述第二加法循环群的生成元验证所述第一中间密文是否正确,若正确,则将所述校验数据作为所述数据发送端传输的目标数据;其中,所述第一中间密文基于第一随机数、第二随机数、所述加密主公钥、所述第一加法循环群的生成元生成;所述第二中间密文基于所述第一随机数、所述第二随机数、所述素数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述第一密码函数生成;所述第三中间密文基于所述目标数据、所述密文参数生成;所述第四中间密文基于所述第二随机数、所述第二密码函数、所述目标数据、中间参数、所述第一中间密文、所述第二中间密文、所述素数生成;所述密文参数基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别标识、所述sm9算法确定的第三密码函数生成;所述中间参数基于所述第二随机数、所述加密主公钥、所述第二加法循环群的生成元、所述双线性对映射生成。7.根据权利要求6所述的方法,其特征在于,所述基于所述双线性对映射、所述第一中间密文、所述第二中间密文、所述第一加法循环群的生成元、所述数据接收端的私钥生成校验中间参数,包括:通过第一生成公式,基于所述双线性对映射、所述第一中间密文、所述第二中间密文、所述第一加法循环群的生成元、所述数据接收端的私钥生成所述校验中间参数;所述第一生成公式包括:w'=e((c1 [c2]p1),de
b
);其中,w'表示所述校验中间参数;e表示所述双线性对映射;c1表示所述第一中间密文;c2表示所述第二中间密文;p1表示所述第一加法循环群g1的生成元;de
b
表示所述数据接收端的私钥,de
b
=[ke
·
(h1(id
b
) ke)-1
mod q]p2,ke表示所述sm9算法确定的加密主私钥,h1表示所述第一密码函数,id
b
表示所述数据接收端的可辨别标识,p2表示所述第二加法循环群g2的生成元;所述基于所述校验中间参数及所述第三中间参数生成校验数据,包括:通过第二生成公式,基于所述校验中间参数及所述第三中间参数生成所述校验数据;所述第二生成公式包括:其中,m'表示所述校验数据;c3表示所述第三中间密文;

表示异或运算;所述,基于所述第四中间密文、所述第二密码函数、所述校验数据、所述校验中间参数、所述第一中间密文、所述第二中间密文、所述素数生成校验第二随机数,包括:
通过第三生成公式,基于所述第四中间密文、所述第二密码函数、所述校验数据、所述校验中间参数、所述第一中间密文、所述第二中间密文、所述素数生成所述校验第二随机数;所述第三生成公式包括;r'=(c
4-h2(m'||w'||c1||c2))mod q;其中,r'表示所述校验第二随机数;c4表示所述第四中间密文;所述基于所述第一密码函数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述素数、所述校验第二随机数、所述第二中间密文生成校验第一随机数,包括:通过第四生成公式,基于所述第一密码函数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述素数、所述校验第二随机数、所述第二中间密文生成所述校验第一随机数;所述第四生成公式包括:s

=(h1(id
a
||hid,q)-r'-1
·
c2);其中,s

表示所述校验第一随机数;id
a
表示所述数据发送端的可辨别标识;所述基于所述校验第一随机数、所述加密主公钥、所述校验第二随机数、所述第二加法循环群的生成元验证所述第一中间密文是否正确,包括:验证第一等式是否成立,若第一等式成立,则确定基于所述校验第一随机数、所述加密主公钥、所述校验第二随机数、所述第二加法循环群的生成元判定所述第一中间密文正确;若第一等式不成立,则确定基于所述校验第一随机数、所述加密主公钥、所述校验第二随机数、所述第二加法循环群的生成元判定所述第一中间密文不正确;所述第一等式包括:c1=[r'](p
pub
[s']p2);其中,p
pub
表示所述加密主公钥,p
pub
=[ke]p1。8.一种基于sm9的在线离线加解密系统,其特征在于,应用于数据发送端,包括:第一获取模块,用于获取数据接收端确认的待加密的目标数据;第二获取模块,用于获取基于sm9算法确定的素数、私钥生成函数识别符、第一密码函数、第二密码函数;第三获取模块,用于获取预先生成的第一随机数及第二随机数;第四获取模块,用于获取预先生成的第一中间密文、密文参数、中间参数;所述第一中间密文基于所述第一随机数、所述第二随机数、所述sm9算法确定的加密主公钥、所述sm9算法中第一加法循环群的生成元生成;所述密文参数基于所述第一中间密文、所述中间参数、所述数据接收端的可辨别标识、所述sm9算法确定的第三密码函数生成;所述中间参数基于所述第二随机数、所述加密主公钥、所述sm9算法中第二加法循环群的生成元、所述sm9算法中的双线性对映射生成;第一生成模块,用于基于所述第一随机数、所述第二随机数、所述素数、所述数据发送端的可辨别标识、所述私钥生成函数识别符、所述第一密码函数生成第二中间密文;第二生成模块,用于基于所述目标数据、所述密文参数生成第三中间密文;第三生成模块,用于基于所述第二随机数、所述第二密码函数、所述目标数据、所述中间参数、所述第一中间密文、所述第二中间密文、所述素数生成第四中间密文;
第一处理模块,用于将所述第一中间密文、所述第二中间密文、所述第三中间密文及所述第四中间密文作为所述目标数据的目标密文。9.一种基于sm9的在线离线加解密系统,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于sm9的在线离线加解密方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于sm9的在线离线加解密方法的步骤。

技术总结
本申请公开了基于SM9的在线离线加解密方法、系统、设备及介质,应用于数据发送端,获取数据接收端确认的待加密的目标数据;获取预先生成的第一随机数及第二随机数;获取预先生成的第一中间密文、密文参数、中间参数;基于第一随机数、第二随机数、素数、数据发送端的可辨别标识、私钥生成函数识别符、第一密码函数生成第二中间密文;基于目标数据、密文参数生成第三中间密文;基于第二随机数、第二密码函数、目标数据、中间参数、第一中间密文、第二中间密文、素数生成第四中间密文;将第一中间密文、第二中间密文、第三中间密文及第四中间密文作为目标数据的目标密文,实现了SM9算法在线/离线加密。加密。加密。


技术研发人员:陈邦道 雷虹 王庆豪 张永欣
受保护的技术使用者:牛津(海南)区块链研究院有限公司
技术研发日:2022.10.20
技术公布日:2023/1/31
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献