logo好方法网

一种高效的基于SM9公钥加密算法的线上线下加密方法


技术摘要:
本申请提供一种高效的基于SM9公钥加密算法的线上线下加密方法,在不改变SM9公钥加密算法整体架构的基础上,对数据加密过程中密文生成算法进行优化,分解成两个子算法:线下和线上加密算法。在不需要知道加密数据和接收者标识的情况下,发送者可以通过线下加密算法提前  全部
背景技术:
数据加密是保护数据机密性的一种有效方法,通过技术手段对明文数据进行隐 藏,使得存储或者传输的数据是一种无法识别其有效内容的乱码,也称为密文。即使攻击者 获取了密文也无法对其进行正确解密,只有授权用户通过使用解密密钥才能恢复出明文内 容。加密确保数据在网络传输过程中不会泄露数据内容,保护了传输数据的机密性。数据加 密是公钥密码体系中非常重要的一部分,被广泛应用于军事、商业等领域用于保护数据的 机密性。 在数据加密系统中,为有效保护数据的机密性,加密过程通常需要执行一系列的 运算,既包括双线性对、点乘等复杂运算,也包括模、加等轻量级运算。双线性对和点乘运算 被称为重量级运算,因为它们需要花费较多的计算资源。然而,在很多应用场景中,比如物 联网中的传感器,终端设备(用户)的计算资源是非常有限的,大开销的运算对于它们来说 代价太高。 为了解决这一问题,线上线下技术应运而生,在数字签名、属性基加密等多个密码 学领域得到广泛研究和应用。针对这种情况,本发明设计了一种高效的基于SM9公钥加密算 法的线上线下加密方案。
技术实现要素:
本申请提供了一种高效的基于SM9公钥加密算法的线上线下加密方法,以解决SM9 公钥加密算法中对发送者的计算资源要求较高的问题。 本申请实施例示出一种高效的基于SM9公钥加密算法的线上线下加密方法,一种 高效的基于SM9公钥加密算法的线上线下加密方法,其特征在于,包括: 一种高效的基于SM9公钥加密算法的线上线下加密方法,其特征在于,包括: 密钥分发中心生成密钥分发中心主公私钥对,将密钥分发中心的主公钥发送给发 送者和接收者,秘密保存主私钥; 密钥分发中心利用主公私钥对生成接收者解密密钥,将接收者解密密钥通过安全 信道发送给接收者; 发送者基于密钥分发中心的主公钥,生成线下密文,并保存; 发送者知道接收者标识和需要加密的数据后,基于线下密文和密钥分发中心的主 公钥加密数据,快速生成SM9密文,并将SM9密文通过公共信道发送给接收者; 接收者利用解密密钥对SM9密文进行解密,获取数据内容。 可选地,所述密钥分发中心生成密钥分发中心主公私钥对,将密钥分发中心的主 公钥发送给发送者和接收者,秘密保存主私钥,具体包括: 4 CN 111585759 A 说 明 书 2/6 页 首先选取双线性群BP=(G1 ,G2,GT,e,N),群G1和群G2的生成元分别为P1和P2,选取 取一个随机数ke∈[1,N-1]作为主私钥,计算G1中的元素Ppub-e=keP1作为主公钥,则主公私 钥对为(ke,Ppub-e),密钥分发中心秘密保存ke,公开(BP,P1,P2,Ppub-e),密钥分发中心选择并 公开用一个字节表示的接收者解密密钥生成函数识别符hid; 其中, BP为双线性群; N为循环群G1,G2,GT的阶,且N>2191的素数; G1为阶为素数N的加法循环群; G2为阶为素数N的加法循环群; GT为阶为素数N的乘法循环群; e为从G1×G2到GT的双线性映射; ke为主私钥; [1,N-1]为不小于1且不大于N-1的整数的集合; P1为群G1的生成元; P2为群G2的生成元; Ppub-e为主公钥; hid为用一个字节表示的加密私钥生成函数识别符,由密钥分发中心选择并公开。 可选地,所述密钥分发中心利用主公私钥对生成接收者解密密钥,具体包括: 接收者R的标识为IDR,为产生接收端R的解密密钥deR,首先在有限域FN上计算t1= H1(IDR||hid,N) ke,若t1=0,则需重新产生主公私钥对,计算和公开主公钥,并更新已有接 收者的解密密钥;否则计算t2=ke·t -11 ,然后计算deR=t2·P2; 其中,R为接收者; IDR为接收者R的标识,可以唯一确定接收者R的公钥; deR为接收者R的解密密钥,属于群G2中的元素; FN为有限域; t1为临时变量,属于有限域FN中的元素; t2为临时变量,属于有限域FN中的元素; H1(IDR||hid,N)为{0,1}*到 的由密码杂凑函数派生的密码函数。 可选地,所述发送者基于密钥分发中心的主公钥,生成线下密文,具体包括: 产生随机数r,s∈[1,N-1],计算C0=r·Ppub-e,C1=r·s·P1,w=e(Ppub-e,P2)r,并 输出线下加密密文Coff=(s,C0,C1,w); 其中,r为[1,N-1]中的随机数; s为[1,N-1]中的随机数; C0为临时变量,属于群G1中的元素; C1为临时变量,属于群G1中的元素; w为临时变量,属于群GT中的元素; Coff为线下加密密文。 可选地,所述发送者知道接收者标识和需要加密的数据后,基于线下密文和密钥 分发中心的主公钥加密数据,快速生成SM9密文,具体包括: 5 CN 111585759 A 说 明 书 3/6 页 假设封装密钥的比特长度为klen,接收者R的标识为IDR,计算h=H1(IDR||hid,N), C=C0 s-1·h·C1,K=KDF(C||w||IDR,klen),并输出(K,C),其中K是被封装的密钥,C是封装 密文; 其中,klen为封装密钥的比特长度; C是封装密文,属于群GT中的元素; h为临时变量,属于 中的元素; K为被封装的密钥; KDF(C||w||IDR,klen)为密钥派生函数。 可选地,所述接收者利用解密密钥对SM9密文进行解密,具体包括: 计算w'=e(C,deR),K'=KDF(C||w'||IDR,klen)并输出密钥K'; 其中,w'为临时变量,属于群GT中的元素; K'为解密得到的密钥。 本发明的有益效果在于:目前现有的国标SM9公钥加密算法具有强安全性和高效 率性,常用于我国商业数据的加密。但在数据加密过程中,发送者需要完成若干配对运算和 点乘运算。而这两种运算被认为是重量级运算,需要消耗较大的计算资源,对于计算能力有 限的发送者来说,可能是沉重的负担。 本发明在不改变SM9公钥加密算法整体架构的基础上,对数据加密过程中密文生 成算法进行优化,分解成两个子算法:线下加密算法和线上加密算法。线下加密算法在不需 要发送数据和接收者标识作为输入的情况下,完成大部分重量级运算。线上加密算法在知 道加密数据和接收者后,只计算少量的运算,实现快速数据加密,有效提高加密效率。 附图说明 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还 可以根据这些附图获得其他的附图。 图1为基于SM9公钥加密算法的线上线下加密方法的流程图; 图2为基于SM9线上线下加密方法的加密流程示意图。
下载此资料需消耗2积分,
分享到:
收藏