首页 / 传输数据的加密及解密方法、装置、设备、介质和产品

传输数据的加密及解密方法、装置、设备、介质和产品实质审查 发明

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种传输数据的加密及解密方法、装置、设备、介质和产品。

相关背景技术

[0002] 随着互联网技术的快速发展,存在越来越多数据传输需求的业务,其数据传输方式由纸质传输方式演变成电子传输方式,这无疑大大提升了数据传输的便利性。但伴随着电子传输方式的兴起,针对传输数据的恶意攻击行为也逐渐泛滥,因此需要对传输数据进行加密传输。
[0003] 在传统的数据加密方法中,密钥通常依赖单一用户端来生成,这就导致当该用户端遭受恶意攻击时密钥容易泄露,影响数据加密传输的安全性。

具体实施方式

[0036] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0037] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“候选”、“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0038] 在传统的数据加密方法中,密钥通常依赖单一用户端来生成,这就导致当该用户端遭受恶意攻击时密钥容易泄露,影响数据加密传输的安全性。例如,假设加密密钥依赖数据发送端生成,那么当数据发送端遭受恶意攻击时加密密钥容易泄露,导致攻击者可以轻易篡改加密传输数据的内容;又例如,假设解密密钥依赖数据接收端生成,那么当数据接收端遭受恶意攻击时解密密钥容易泄露,导致攻击者可以轻易破解加密传输数据的内容。可见,传统的数据加密方法无法保证密钥的安全性,进一步导致数据加密传输的安全性较差。
[0039] 实施例一
[0040] 图1为本发明实施例一提供的一种传输数据的加密方法的流程图,本实施例可适用于数据发送端利用加密密钥生成加密传输数据,并发送给数据接收端的情况,该方法可以由传输数据的加密装置来执行,该传输数据的加密装置配置于数据发送端中,可以采用硬件和/或软件的形式实现,数据发送端可以是任意具有数据发送需求的终端,如智能手机、计算机或者服务器等等,本实施例并不对数据发送端的具体类型进行任何限定。如图1所示,该方法包括:
[0041] S101、从候选安全整数中选取第一目标安全整数作为第一主密钥值,并根据第一主密钥值生成第一密钥共享值。
[0042] 其中,安全整数指的是由目标安全参数唯一确定的数字集。本实施例预先选取预设长度的安全整数作为候选安全整数,例如可以是根据目标安全参数的大小,选取与之安全等级适配的安全整数作为候选安全整数等。
[0043] 在一种实施方式中,数据发送端获取候选安全整数,并随机选取一个候选安全整数作为第一目标安全整数,且将随机选取的第一目标安全整数作为第一主密钥值。例如,假31 31
设数据发送端从候选安全整数中随机选取的第一目标安全整数为“2 ”,则将“2 ”作为第一主密钥值。
[0044] 数据发送端获取预设的密钥共享值运算函数,并将第一主密钥值作为该密钥共享值运算函数的自变量进行函数运算,并根据运算结果生成第一密钥共享值。其中,密钥共享值计算函数可以根据实际业务需求进行设置。
[0045] S102、根据数据接收端发送的第二密钥共享值以及第一密钥共享值,确定加密密钥值,并采用加密密钥值对原始传输数据进行加密,生成加密传输数据。
[0046] 其中,第二密钥共享值根据数据接收端从候选安全整数中选取的第二目标安全整数生成。加密密钥值指的是用于对原始传输数据进行数据加密的密钥,原始传输数据指的未经任何加密处理的原文数据,也即数据发送端与数据接收端之间期望传输的原文数据。
[0047] 在一种实施方式中,数据接收端获取候选安全整数,并随机选取一个候选安全整数作为第二目标安全整数,且将随机选取的第二目标安全整数作为第二主密钥值。数据接收端获取预设的密钥共享值运算函数,并将第二主密钥值作为该密钥共享值运算函数的自变量进行函数运算,并根据运算结果生成第二密钥共享值。数据接收端利用与数据发送端之间的通信通道,将第二密钥共享值发生给数据发送端。
[0048] 数据发送端获取数据接收端发送的第二密钥共享值,并根据在数据发送端生成的第一密钥共享值,以及,在数据接收端生成的第二密钥共享值,进行加密密钥值的计算以确定加密密钥值。
[0049] 可选的,数据发送端根据第一密钥共享值和第二密钥共享值进行代数计算,并根据代数计算结果确定加密密钥值。其中,代数计算可以为乘法运算等。
[0050] 例如,假设第一密钥共享值为Key1,第二密钥共享值为Key2,数据发送端对“Key1”和“Key2”进行乘法运算,将乘法运算结果“Key1*Key2”作为加密密钥值。
[0051] 又例如,假设第一密钥共享值 第二密钥共享值其中,KeyA和KeyB分别为第一主密钥值和第二主密钥值。数据
发送 端对 Sym _k ey A和S ym _k ey B进行 乘法 运算 ,计算 加密 密钥 值
[0052] 数据发送端计算完成加密密钥值后,利用加密密钥值根据预设的加密算法对原始传输数据进行数据加密,生成加密传输数据。
[0053] 可选的,数据发送端利用加密密钥值采用对称加密算法对原始传输数据进行数据加密,生成加密传输数据。例如,采用如下方式计算加密传输数据C:
[0054] C=SymEnc(m,Key);
[0055] 其中,m表示原始传输数据,Key表示加密密钥值,SymEnc()表示对称加密算法对应的函数表达。
[0056] S103、将加密传输数据和第一密钥共享值发送给数据接收端,供数据接收端根据第一密钥共享值对加密传输数据进行解密,用于获取原始传输数据。
[0057] 在一种实施方式中,数据发送端利用与数据接收端之间的通信通道,将加密传输数据和第一密钥共享值共同发送给数据接收端。数据接收端获取到加密传输数据和第一密钥共享值后,利用第一密钥共享值和第二密钥共享值,确定解密密钥值,并根据解密密钥值对加密传输数据进行数据解密,获取原始传输数据。
[0058] 本发明通过从候选安全整数中选取第一目标安全整数作为第一主密钥值,并根据第一主密钥值生成第一密钥共享值;根据数据接收端发送的第二密钥共享值以及第一密钥共享值,确定加密密钥值,并采用加密密钥值对原始传输数据进行加密,生成加密传输数据;其中,第二密钥共享值根据数据接收端从候选安全整数中选取的第二目标安全整数生成,由于加密密钥是利用数据发送端和数据接收端各自产生的密钥共享值来生成,因此即使数据发送端遭受恶意攻击,攻击者也无法直接利用数据发送端的第一密钥共享值来破解加密密钥值,起到了风险分摊的效果,保证了加密密钥值的安全性,进一步保证了加密传输数据的安全性,例如,攻击者无法篡改加密传输数据的内容等。
[0059] 实施例二
[0060] 图2为本发明实施例二提供的一种传输数据的加密方法的流程图,本实施例对上述实施例一进行进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图2所示,该方法包括:
[0061] S201、从候选安全整数中选取第一目标安全整数作为第一主密钥值。
[0062] S202、获取目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,从候选公共参数中确定目标公共参数。
[0063] 其中,安全参数是衡量系统安全性的量化指标,安全参数决定了攻击者利用特定方法攻破系统的难度,从而间接反映了系统的安全性,可以理解的是,安全参数越大,对应的攻破系统的难度也就越大。目标安全参数则是衡量本方法中密钥(加密密钥和/或解密密钥)被破解难度的量化指标。
[0064] 公共参数是用于加密和解密过程中,确保数据发送端和数据接收端能够正确地进行加密和解密操作的一组参数,公共参数通常包括一些固定的数学常数或值。目标公共参数则是根据目标安全参数相应的从候选公共参数中选取得到的公共参数。
[0065] 在一种实施方式中,采用安全参数计算算法计算目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,将与目标安全参数之间具有关联关系的候选公共参数,作为符合目标安全参数的目标公共参数。
[0066] 例如,假设目标安全参数为λ1,而与目标安全参数λ1之间具有关联关系的候选公共参数为pp1,则将pp1作为符合目标安全参数λ1的目标公共参数。
[0067] S203、从目标公共参数中获取目标有限域的生成元,作为第一公共参数,且从目标公共参数中获取候选安全整数对应的最大安全整数,作为第二公共参数。
[0068] 其中,目标有限域指的是包含有限个元素的域,而目标有限域的生成元指的是目标有限域中某一个元素g,对于目标有限域中的任意一个非零元素b满足:b等于g的某次方,那么这个元素g就叫做目标有限域的生成元。最大安全整数则指的是候选安全整数中的最大整数,也即候选安全整数的上界。
[0069] 在一种实施方式中,对目标公共参数进行参数提取,获取目标有限域的生成元,作为第一公共参数,且获取最大安全整数,作为第二公共参数。
[0070] S204、根据第一公共参数、第二公共参数和第一主密钥值,生成第一密钥共享值。
[0071] 在一种实施方式中,采用预设的密钥值计算函数,根据第一公共参数、第二公共参数和第一主密钥值进行密钥共享值的计算,确定第一密钥共享值。
[0072] 通过获取目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,从候选公共参数中确定目标公共参数,从目标公共参数中获取目标有限域的生成元,作为第一公共参数,且从目标公共参数中获取候选安全整数对应的最大安全整数,作为第二公共参数;根据第一公共参数、第二公共参数和第一主密钥值,生成第一密钥共享值,从保证目标公共参数符合目标安全参数的安全性,进一步保证生成的第一密钥共享值的安全性。
[0073] 可选的,根据第一公共参数、第二公共参数和第一主密钥值,确定第一密钥共享值,包括:
[0074] 采用如下公式确定第一密钥共享值:
[0075] Sym_keyA=gKeyAmodn;
[0076] 其中,Sym_keyA表示第一密钥共享值,g表示第一公共参数,也即目标有限域的生成元,n表示第二公共参数,也即候选安全整数对应的最大安全整数,mod表示取模运算,KeyA表示第一主密钥值。
[0077] 通过采用如下公式确定第一密钥共享值:Sym_keyA=gKeyAmodn,由于利用第一公共参数、第二公共参数和第一主密钥值,三种参数共同计算第一密钥共享值,提高了第一密钥共享值的计算复杂度,从而降低了第一密钥共享值被破解的可能性,间接提高了加密密钥值的安全性。
[0078] S205、根据数据接收端发送的第二密钥共享值以及第一密钥共享值,确定加密密钥值,并采用加密密钥值对原始传输数据进行加密,生成加密传输数据。
[0079] S206、将加密传输数据和第一密钥共享值发送给数据接收端,供数据接收端根据第一密钥共享值对加密传输数据进行解密,用于获取原始传输数据。
[0080] 可选的,将加密传输数据和第一密钥共享值发送给数据接收端之后,还包括:
[0081] 1)响应于数据接收端发送的数据解密成功信号,从候选安全整数中选取第三目标安全整数,并根据第一主密钥值和第三目标安全整数之间的差值,确定第一主密钥值分片。
[0082] 在一种实施方式中,当数据接收端成功解密出原始传输数据后,会向数据发送端发送数据解密成功信号。数据发送端响应于数据解密成功信号,再次随机选取一个候选安全整数作为第三目标安全整数,并根据第一主密钥值和第三目标安全整数执行差值运算,确定第一主密钥值分片。
[0083] 可选的,假设随机选取的第三目标安全整数为KeyA1,第一主密钥值为KeyA,则第一主密钥值分片KeyA2=(KeyA‑KeyA1)modn,n为第二公共参数。
[0084] 2)获取数据接收端发送的第四目标安全整数,并根据第一主密钥值分片和第四目标安全整数之间的和值,对第一主密钥值进行更新,生成更新后的第一主密钥值。
[0085] 其中,第四目标安全整数根据数据接收端从候选安全整数中选取得到。
[0086] 在一种实施方式中,数据接收端再次随机选取一个候选安全整数作为第四目标安全整数,并将第四目标安全整数发送给数据发送端。数据发送端获取数据接收端发送的第四目标安全整数,根据第一主密钥值分片和第四目标安全整数执行和值运算,并根据和值运算结果确定更新后的第一主密钥值。
[0087] 可选的,假设数据接收端随机选取的第四目标安全整数为KeyB1,第一主密钥值分片为KeyA2,则更新后的第一主密钥值key′A=(KeyA2+KeyB1)modn,n为第二公共参数。
[0088] 3)根据更新后的第一主密钥值生成更新后的第一密钥共享值。
[0089] 可选的,假设更新后的第一主密钥值为keyA′,则更新后的第一密钥共享值Sym_keyAkeyA′=g ′modn,n为第二公共参数。
[0090] 通过响应于数据接收端发送的数据解密成功信号,从候选安全整数中选取第三目标安全整数,并根据第一主密钥值和第三目标安全整数之间的差值,确定第一主密钥值分片;获取数据接收端发送的第四目标安全整数,并根据第一主密钥值分片和第四目标安全整数之间的和值,对第一主密钥值进行更新,生成更新后的第一主密钥值;其中,第四目标安全整数根据数据接收端从候选安全整数中选取得到;根据更新后的第一主密钥值生成更新后的第一密钥共享值,实现了每当数据接收端成功解密数据后,及时对数据发送端的第一主密钥值及第一密钥共享值进行更新的效果,间接实现了及时对加密密钥值进行更新的效果,增加了加密密钥值的安全性,避免持续使用固定不变的加密密钥值进行数据加密,存在被破解的风险,提高了数据加密传输的安全性。
[0091] 可选的,方法还包括:
[0092] 将当前时刻与数据传输的截止时刻进行比对;在当前时刻与截止时刻相同的情况下,将第一主密钥值和第一密钥共享值进行删除。
[0093] 其中,数据传输的截止时刻指的是一个数据传输周期的结束时刻。
[0094] 在一种实施方式中,数据发送端将当前时刻与截止时刻进行时刻比对,确定当前时刻是否已到达截止时刻。在当前时刻未到达截止时刻,也即当前时刻与截止时刻不同的情况下,则继续进行比对;在当前时刻已到达截止时刻,也即当前时刻与截止时刻相同的情况下,表示一个数据传输周期已结束,则将第一主密钥值和第一密钥共享值进行删除。
[0095] 通过将当前时刻与数据传输的截止时刻进行比对;在当前时刻与截止时刻相同的情况下,将第一主密钥值和第一密钥共享值进行删除,实现了当一个数据传输周期结束时,及时将与加密密钥生成相关的第一主密钥值和第一密钥共享值进行删除的效果,避免第一主密钥值和或第一密钥共享值泄露,可能导致加密密钥值被破解的风险,增加了加密密钥值的安全性。
[0096] 实施例三
[0097] 图3为本发明实施例三提供的一种传输数据的解密方法的流程图,本实施例可适用于数据接收端利用解密密钥提取原始传输数据的情况,该方法可以由传输数据的解密装置来执行,该传输数据的解密装置配置于数据接收端中,可以采用硬件和/或软件的形式实现,数据接收端可以是任意具有数据接收需求的终端,如智能手机、计算机或者服务器等等,本实施例并不对数据接收端的具体类型进行任何限定。如图3所示,该方法包括:
[0098] S301、从候选安全整数中选取第二目标安全整数作为第二主密钥值,并根据第二主密钥值值生成第二密钥共享值。
[0099] 在一种实施方式中,数据接收端获取候选安全整数,并随机选取一个候选安全整数作为第二目标安全整数,且将随机选取的第二目标安全整数作为第二主密钥值。例如,假30 30
设数据接收端从候选安全整数中随机选取的第二目标安全整数为“2 ”,则将“2 ”作为第二主密钥值。
[0100] 数据接收端获取预设的密钥共享值运算函数,并将第二主密钥值作为该密钥共享值运算函数的自变量进行函数运算,并根据运算结果生成第二密钥共享值。其中,密钥共享值计算函数可以根据实际业务需求进行设置。
[0101] 可选的,根据第二主密钥值值生成第二密钥共享值,包括:
[0102] 获取目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,从候选公共参数中确定目标公共参数;从目标公共参数中获取目标有限域的生成元,作为第一公共参数,且从目标公共参数中获取候选安全整数对应的最大安全整数,作为第二公共参数;根据第一公共参数、第二公共参数和第二主密钥值,确定第二密钥共享值。
[0103] 在一种实施方式中,数据接收端采用安全参数计算算法计算目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,将与目标安全参数之间具有关联关系的候选公共参数,作为符合目标安全参数的目标公共参数。对目标公共参数进行参数提取,获取目标有限域的生成元,作为第一公共参数,且获取最大安全整数,作为第二公共参数。采用预设的密钥值计算函数,根据第一公共参数、第二公共参数和第二主密钥值进行密钥共享值的计算,确定第二密钥共享值。
[0104] 通过获取目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,从候选公共参数中确定目标公共参数;从目标公共参数中获取目标有限域的生成元,作为第一公共参数,且从目标公共参数中获取候选安全整数对应的最大安全整数,作为第二公共参数;根据第一公共参数、第二公共参数和第二主密钥值,确定第二密钥共享值,从保证目标公共参数符合目标安全参数的安全性,进一步保证生成的第二密钥共享值的安全性。
[0105] 可选的,根据第一公共参数、第二公共参数和第二主密钥值,确定第二密钥共享值,包括:
[0106] 采用如下公式确定第二密钥共享值:
[0107] Sym_keyB=gKeyBmodn;
[0108] 其中,Sym_keyB表示第二密钥共享值,g表示第一公共参数,也即目标有限域的生成元,n表示第二公共参数,也即候选安全整数对应的最大安全整数,mod表示取模运算,KeyB表示第二主密钥值。
[0109] 通过采用如下公式确定第一密钥共享值:Sym_keyB=gKeyBmodn,由于利用第一公共参数、第二公共参数和第二主密钥值,三种参数共同计算第二密钥共享值,提高了第二密钥共享值的计算复杂度,从而降低了第二密钥共享值被破解的可能性,间接提高了解密密钥值的安全性。
[0110] S302、获取数据发送端发送的加密传输数据和第一密钥共享值,并根据第一密钥共享值和第二密钥共享值,确定解密密钥值。
[0111] 其中,第一密钥共享值根据数据发送端从候选安全整数中选取的第一目标安全整数生成,加密传输数据采用本发明任意实施例提供的传输数据的加密方法生成。
[0112] 在一种实施方式中,数据发送端利用与数据接收端之间的通信通道,将第一密钥共享值发生给数据接收端。数据接收端获取数据发送端发送的第一密钥共享值,并根据在数据发送端生成的第一密钥共享值,以及,在数据接收端生成的第二密钥共享值,进行解密密钥值的计算以确定解密密钥值。
[0113] 可选的,数据接收端根据第一密钥共享值和第二密钥共享值进行几何计算,并根据几何计算结果确定解密密钥值。其中,几何计算可以为乘法运算等。
[0114] 例如,假设第一密钥共享值为Key1,第二密钥共享值为Key2,数据接收端对“Key1”和“Key2”进行乘法运算,将乘法运算结果“Key1*Key2”作为解密密钥值。
[0115] 又例如,假设第一密钥共享值 第二密钥共享值其中,KeyA和KeyB分别为第一主密钥值和第二主密钥值。数据
接收 端对 Sym _k ey A和S ym _k ey B进行 乘法 运算 ,计算 解密 密钥 值
[0116] S303、采用解密密钥值对加密传输数据进行解密,获取原始传输数据。
[0117] 在一种实施方式中,数据接收端计算完成解密密钥值后,利用解密密钥值根据预设的解密算法对加密传输数据进行数据解密,获取原始传输数据。
[0118] 可选的,数据发送端利用解密密钥值采用对称解密算法对加密传输数据进行数据解密,获取原始传输数据。例如,采用如下方式获取原始传输数据m:
[0119] m=SymDec(C,Key′);
[0120] 其中,C表示加密传输数据,Key′表示解密密钥值,SymDec()表示对称解密算法对应的函数表达。
[0121] 本发明通过从候选安全整数中选取第二目标安全整数作为第二主密钥值,并根据第二主密钥值值生成第二密钥共享值;获取数据发送端发送的加密传输数据和第一密钥共享值,并根据第一密钥共享值和第二密钥共享值,确定解密密钥值;其中,第一密钥共享值根据数据发送端从候选安全整数中选取的第一目标安全整数生成,采用解密密钥值对加密传输数据进行解密,获取原始传输数据,由于解密密钥是利用数据发送端和数据接收端各自产生的密钥共享值来生成,因此即使数据接收端遭受恶意攻击,攻击者也无法直接利用数据接收端的第二密钥共享值来破解解密密钥值,起到了风险分摊的效果,保证了解密密钥值的安全性,进一步保证了加密传输数据的安全性,例如,攻击者无法破解加密传输数据来获取原始传输数据等。
[0122] 可选的,获取原始传输数据之后,还包括:
[0123] 1)从候选安全整数中选取第四目标安全整数,并根据第二主密钥值和第四目标安全整数之间的差值,确定第二主密钥值分片。
[0124] 在一种实施方式中,数据接收端再次随机选取一个候选安全整数作为第四目标安全整数,并根据第二主密钥值和第四目标安全整数执行差值运算,确定第二主密钥值分片。
[0125] 可选的,假设随机选取的第四目标安全整数为KeyB1,第二主密钥值为KeyB,则第二主密钥值分片KeyB2=(KeyB‑KeyB1)modn,n为第二公共参数。
[0126] 2)获取数据发送端发送的第三目标安全整数,并根据第二主密钥值分片和第三目标安全整数之间的和值,对第二主密钥值进行更新,生成更新后的第二主密钥值。
[0127] 其中,第三目标安全整数根据数据发送端从候选安全整数中选取得到。
[0128] 在一种实施方式中,数据发送端再次随机选取一个候选安全整数作为第三目标安全整数,并将第三目标安全整数发送给数据接收端。数据接收端获取数据发送端发送的第三目标安全整数,根据第二主密钥值分片和第三目标安全整数执行和值运算,并根据和值运算结果确定更新后的第二主密钥值。
[0129] 可选的,假设数据发送端随机选取的第三目标安全整数为KeyA1,第二主密钥值分片为KeyB2,则更新后的第二主密钥值key′B=(KeyB2+KeyA1)modn,n为第二公共参数。
[0130] 3)根据更新后的第二主密钥值生成更新后的第二密钥共享值。
[0131] 可选的,假设更新后的第二主密钥值为keyB′,则更新后的第二密钥共享值Sym_keyBkeyB′=g ′modn,n为第二公共参数。
[0132] 通过从候选安全整数中选取第四目标安全整数,并根据第二主密钥值和第四目标安全整数之间的差值,确定第二主密钥值分片;获取数据发送端发送的第三目标安全整数,并根据第二主密钥值分片和第三目标安全整数之间的和值,对第二主密钥值进行更新,生成更新后的第二主密钥值;其中,第三目标安全整数根据数据发送端从候选安全整数中选取得到;根据更新后的第二主密钥值生成更新后的第二密钥共享值,实现了每当数据接收端成功解密数据后,及时对数据接收端的第二主密钥值及第二密钥共享值进行更新的效果,间接实现了及时对解密密钥值进行更新的效果,增加了解密密钥值的安全性,避免持续使用固定不变的解密密钥值进行数据解密,存在被破解的风险,提高了数据加密传输的安全性。
[0133] 可选的,方法还包括:
[0134] 将当前时刻与数据传输的截止时刻进行比对;在当前时刻与截止时刻相同的情况下,将第二主密钥值和第二密钥共享值进行删除。
[0135] 在一种实施方式中,数据接收端将当前时刻与截止时刻进行时刻比对,确定当前时刻是否已到达截止时刻。在当前时刻未到达截止时刻,也即当前时刻与截止时刻不同的情况下,则继续进行比对;在当前时刻已到达截止时刻,也即当前时刻与截止时刻相同的情况下,表示一个数据传输周期已结束,则将第二主密钥值和第二密钥共享值进行删除。
[0136] 通过将当前时刻与数据传输的截止时刻进行比对;在当前时刻与截止时刻相同的情况下,将第二主密钥值和第二密钥共享值进行删除,实现了当一个数据传输周期结束时,及时将与解密密钥生成相关的第二主密钥值和第二密钥共享值进行删除的效果,避免第二主密钥值和或第二密钥共享值泄露,可能导致解密密钥值被破解的风险,增加了解密密钥值的安全性。
[0137] 实施例四
[0138] 图4为本发明实施例四提供的一种传输数据的加密装置的结构示意图,该装置配置于数据发送端中。如图4所示,该装置包括:
[0139] 第一密钥共享值生成模块41,用于从候选安全整数中选取第一目标安全整数作为第一主密钥值,并根据所述第一主密钥值生成第一密钥共享值;
[0140] 加密传输数据生成模块42,用于根据数据接收端发送的第二密钥共享值以及所述第一密钥共享值,确定加密密钥值,并采用所述加密密钥值对原始传输数据进行加密,生成加密传输数据;其中,所述第二密钥共享值根据所述数据接收端从所述候选安全整数中选取的第二目标安全整数生成;
[0141] 加密传输数据发送模块43,用于将所述加密传输数据和所述第一密钥共享值发送给所述数据接收端,供所述数据接收端根据所述第一密钥共享值对所述加密传输数据进行解密,用于获取所述原始传输数据。
[0142] 可选的,第一密钥共享值生成模块41,具体用于:
[0143] 获取目标安全参数,并根据目标安全参数与候选公共参数之间的关联关系,从所述候选公共参数中确定目标公共参数;
[0144] 从所述目标公共参数中获取目标有限域的生成元,作为第一公共参数,且从所述目标公共参数中获取所述候选安全整数对应的最大安全整数,作为第二公共参数;
[0145] 根据所述第一公共参数、所述第二公共参数和所述第一主密钥值,确定所述第一密钥共享值。
[0146] 可选的,第一密钥共享值生成模块41,具体还用于:
[0147] 采用如下公式确定所述第一密钥共享值:
[0148] Sym_keyA=gKeyAmodn;
[0149] 其中,所述Sym_keyA表示所述第一密钥共享值,所述g表示所述第一公共参数,所述n表示所述第二公共参数,所述KeyA表示所述第一主密钥值。
[0150] 可选的,所述装置还包括第一密钥共享值更新模块,具体用于:
[0151] 响应于所述数据接收端发送的数据解密成功信号,从所述候选安全整数中选取第三目标安全整数,并根据所述第一主密钥值和所述第三目标安全整数之间的差值,确定第一主密钥值分片;
[0152] 获取所述数据接收端发送的第四目标安全整数,并根据所述第一主密钥值分片和所述第四目标安全整数之间的和值,对所述第一主密钥值进行更新,生成更新后的所述第一主密钥值;其中,所述第四目标安全整数根据所述数据接收端从所述候选安全整数中选取得到;
[0153] 根据更新后的所述第一主密钥值生成更新后的所述第一密钥共享值。
[0154] 可选的,所述装置还包括第一数据删除模块,具体用于:
[0155] 将当前时刻与数据传输的截止时刻进行比对;
[0156] 在所述当前时刻与所述截止时刻相同的情况下,将所述第一主密钥值和所述第一密钥共享值进行删除。
[0157] 本发明实施例四所提供的传输数据的加密装置可执行本发明实施例一和二所提供的传输数据的加密方法,具备执行方法相应的功能模块和有益效果。
[0158] 实施例五
[0159] 图5为本发明实施例五提供的一种传输数据的解密装置的结构示意图,该装置配置于数据接收端中。如图5所示,该装置包括:
[0160] 第二密钥共享值生成模块51,用于从候选安全整数中选取第二目标安全整数作为第二主密钥值,并根据所述第二主密钥值值生成第二密钥共享值;
[0161] 解密密钥值确定模块52,用于获取数据发送端发送的加密传输数据和第一密钥共享值,并根据所述第一密钥共享值和所述第二密钥共享值,确定解密密钥值;其中,所述第一密钥共享值根据所述数据发送端从所述候选安全整数中选取的第一目标安全整数生成,所述加密传输数据采用如前所述的传输数据的加密方法生成;
[0162] 数据解密模块53,用于采用所述解密密钥值对所述加密传输数据进行解密,获取原始传输数据。
[0163] 可选的,所述装置还包括第二密钥共享值更新模块,具体用于:
[0164] 从所述候选安全整数中选取第四目标安全整数,并根据所述第二主密钥值和所述第四目标安全整数之间的差值,确定第二主密钥值分片;
[0165] 获取所述数据发送端发送的第三目标安全整数,并根据所述第二主密钥值分片和所述第三目标安全整数之间的和值,对所述第二主密钥值进行更新,生成更新后的所述第二主密钥值;其中,所述第三目标安全整数根据所述数据发送端从所述候选安全整数中选取得到;
[0166] 根据更新后的所述第二主密钥值生成更新后的所述第二密钥共享值。
[0167] 可选的,所述装置还包括第二数据删除模块,具体用于:
[0168] 将当前时刻与数据传输的截止时刻进行比对;
[0169] 在所述当前时刻与所述截止时刻相同的情况下,将所述第二主密钥值和所述第二密钥共享值进行删除。
[0170] 本发明实施例五所提供的传输数据的解密装置可执行本发明实施例三所提供的传输数据的解密方法,具备执行方法相应的功能模块和有益效果。
[0171] 实施例六
[0172] 图6示出了可以用来实施本发明的实施例的电子设备60的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0173] 如图6所示,电子设备60包括至少一个处理器61,以及与至少一个处理器61通信连接的存储器,如只读存储器(ROM)62、随机访问存储器(RAM)63等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器61可以根据存储在只读存储器(ROM)62中的计算机程序或者从存储单元68加载到随机访问存储器(RAM)63中的计算机程序,来执行各种适当的动作和处理。在RAM 63中,还可存储电子设备60操作所需的各种程序和数据。处理器61、ROM 62以及RAM 63通过总线64彼此相连。输入/输出(I/O)接口65也连接至总线64。
[0174] 电子设备60中的多个部件连接至I/O接口65,包括:输入单元66,例如键盘、鼠标等;输出单元67,例如各种类型的显示器、扬声器等;存储单元68,例如磁盘、光盘等;以及通信单元69,例如网卡、调制解调器、无线通信收发机等。通信单元69允许电子设备60通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0175] 处理器61可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器61的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器61执行上文所描述的各个方法和处理,例如传输数据的加密方法和/或传输数据的解密方法。
[0176] 在一些实施例中,信息推送的处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元68。在一些实施例中,计算机程序的部分或者全部可以经由ROM 62和/或通信单元69而被载入和/或安装到电子设备60上。当计算机程序加载到RAM 63并由处理器61执行时,可以执行上文描述的传输数据的加密方法和/或传输数据的解密方法的一个或多个步骤。备选地,在其他实施例中,处理器61可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行传输数据的加密方法和/或传输数据的解密方法。
[0177] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0178] 用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0179] 在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0180] 为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0181] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
[0182] 计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0183] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0184] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页 第1页 第2页 第3页