CN114726527B - 基于公钥私钥的对称密钥生成方法和系统 - Google Patents
基于公钥私钥的对称密钥生成方法和系统 Download PDFInfo
- Publication number
- CN114726527B CN114726527B CN202210348136.6A CN202210348136A CN114726527B CN 114726527 B CN114726527 B CN 114726527B CN 202210348136 A CN202210348136 A CN 202210348136A CN 114726527 B CN114726527 B CN 114726527B
- Authority
- CN
- China
- Prior art keywords
- random numbers
- information
- symmetric key
- encrypted
- string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000001172 regenerating effect Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 230000008929 regeneration Effects 0.000 claims description 2
- 238000011069 regeneration method Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了基于公钥私钥的对称密钥生成方法和系统,其生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
Description
技术领域
本发明涉及密钥生成管理的技术领域,特别涉及基于公钥私钥的对称密钥生成方法和系统。
背景技术
目前,对称密钥的传递非常复杂,其首先需要生成随机数作为对称密钥VEK,同时匹配一个对应的版本号VKEK_version,并将该对称密钥VEK加密得到私钥VKEK,再将私钥VKEK和版本号VKEK_version共同进行传递。上述对称密钥的生成与传递方式需要加密端和解密端进行多次交互才能完成对称密钥的完整生成与传递,这不仅耗费大量的时间和人力成本,并且还降低对称密钥的生成效率。
发明内容
针对现有技术存在的缺陷,本发明提供基于公钥私钥的对称密钥生成方法和系统,其生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
本发明提供基于公钥私钥的对称密钥生成方法,其包括如下步骤:
步骤S1,生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链;
步骤S2,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息;
步骤S3,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对所述私钥VKEK验证后,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果。
进一步,在所述步骤S1中,生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链具体包括:
步骤S101,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值;若所述字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
步骤S102,指示所述加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中所述加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
步骤S103,按照所述对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
进一步,在所述步骤S101中,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值,其中确定上述两串随机数之间的字符相似度值具体包括:
S1011,利用下面公式(1),根据两串随机数各自的数据位数判断是否直接将当前生成的一串随机数传递至加密端,
在上述公式(1)中,R表示直接将当前生成的一串随机数传递至加密端的控制值;(G)16表示将当前生成的一串随机数从ASCII形式转换为16进制数;(P)16表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数;len[]表示求取括号内16进制数的位数;[(P)16(i)]10表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;n表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后总位数的一半;μ表示预设相似度阈值;%表示取余符号;||表示求取绝对值运算;
若R=1,则表示直接将当前生成的一串随机数传递至加密端,不需要求取字符相似度;
若R=0,则表示需要继续求取字符相似度以及进行下面步骤S1012;
步骤S1012,当R=0,则利用下面公式(2),根据两串随机数各自的字符ASCII值得到对应的字符相似度值
在上述公式(2)中,I表示当前生成的一串随机数与最近上一次生成的一串被采用的随机数之间的字符相似度值;[(G)16(i)]10表示将当前生成的一串随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;
根据字符相似度值,若所述字符相似度值小于预设相似度阈值μ,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值μ,则重新生成另一串随机数;
步骤S1013,若在上述步骤S1012中重新生成另一串随机数,则利用下面公式(3),根据当前重复重新生成随机数的次数控制生成随机数的低概率区间,进而使得再次重新生成随机数时可以提高重新生成的随机数的确认使用率,
在上述公式(3)中,中[Amin,Amax]表示再次重新生成另一串随机数时的小概率区间,其中小概率区间为筛选随机数时选中区间内数的概率值分布区间;k表示当前已重复重新生成被舍弃的随机数个数;ASCII()表示将括号内的数值转换为ASCII值;B表示公式的取代符号。
进一步,在所述步骤S2中,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息具体包括:
步骤S201,根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据所述数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
步骤S202,将选择的对称密钥VEK加载至所述待加密信息的信息帧头部分中,并对所述待加密信息进行打包封装,从而得到加密信息。
进一步,在所述步骤S3中,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对所述私钥VKEK验证后,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果具体包括:
步骤S301,从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据所述私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则所述私钥VKEK的验证通过,若否,则所述私钥VKEK的验证不通过;
步骤S302,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;若两者配对成功,则将所述加密信息解密还原后得到的信息解密结果反馈回所述用户终端;若两者配对不成功,则不向所述用户终端反馈任何结果。
本发明还提供基于公钥私钥的对称密钥生成系统,其包括对称密钥生成模块、信息加密模块、私钥验证模块和信息解密模块;其中,
所述对称密钥生成模块用于生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链;
所述信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息;
所述私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对所述私钥VKEK验证;
所述信息解密模块用于将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果。
进一步,所述对称密钥生成模块用于生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链具体包括:
生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值;若所述字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
指示所述加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中所述加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
按照所述对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
进一步,所述信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息具体包括:
根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据所述数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
将选择的对称密钥VEK加载至所述待加密信息的信息帧头部分中,并对所述待加密信息进行打包封装,从而得到加密信息。
进一步,所述私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对所述私钥VKEK验证具体包括:
从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据所述私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则所述私钥VKEK的验证通过,若否,则所述私钥VKEK的验证不通过;
以及,
所述信息解密模块用于将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果具体包括:
将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;若两者配对成功,则将所述加密信息解密还原后得到的信息解密结果反馈回所述用户终端;若两者配对不成功,则不向所述用户终端反馈任何结果。
相比于现有技术,该基于公钥私钥的对称密钥生成方法和系统生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于公钥私钥的对称密钥生成方法的流程示意图。
图2为本发明提供的基于公钥私钥的对称密钥生成系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的基于公钥私钥的对称密钥生成方法的流程示意图。该基于公钥私钥的对称密钥生成方法包括如下步骤:
步骤S1,生成一串随机数,将该随机数直接传递至加密端;指示该加密端对该随机数进行多次加密,从而得到相应的对称密钥VEK;并将该对称密钥VEK保存至区块链;
步骤S2,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至该待加密信息,从而得到加密信息;
步骤S3,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对该私钥VKEK验证后,将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;再根据该配对的结果,向该用户终端反馈相应的信息解密结果。
上述技术方案的有益效果为:该基于公钥私钥的对称密钥生成方法生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
优选地,在该步骤S1中,生成一串随机数,将该随机数直接传递至加密端;指示该加密端对该随机数进行多次加密,从而得到相应的对称密钥VEK;并将该对称密钥VEK保存至区块链具体包括:
步骤S101,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值;若该字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若该字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
步骤S102,指示该加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中该加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
步骤S103,按照该对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
上述技术方案的有益效果为:利用伪随机数生成器生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定两者之间在字符内容以及字符排列上的字符相似度值,并对该字符相似度值进行阈值比对,判断当前生成的一串随机数是否与上一次生成的一串随机数高度重合;其中该字符相似度值可通过预设字符串识别算法计算得到,这里不做详细的叙述。此外将验证通过的随机数进行多次加密,生成相应的对称密钥VEK,生成的随机数自身具有一定时间长短的生命周期,当随机数的生命周期越长,可对随机数进行较多次数的加密,当随机数的生命周期越短,可对随机数进行较少次数的加密,从而提高生成的对称密钥VEK的效率。最后按照该对称密钥VEK的数据长度由长至短的顺序依次保存至区块链,可便于后续快速寻找定位所需的对称密钥VEK。
优选地,在该步骤S101中,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值,其中确定上述两串随机数之间的字符相似度值具体包括:
S1011,利用下面公式(1),根据两串随机数各自的数据位数判断是否直接将当前生成的一串随机数传递至加密端,
在上述公式(1)中,R表示直接将当前生成的一串随机数传递至加密端的控制值;(G)16表示将当前生成的一串随机数从ASCII形式转换为16进制数;(P)16表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数;len[]表示求取括号内16进制数的位数;[(P)16(i)]10表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;n表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后总位数的一半;μ表示预设相似度阈值;%表示取余符号;||表示求取绝对值运算;
若R=1,则表示直接将当前生成的一串随机数传递至加密端,不需要求取字符相似度;
若R=0,则表示需要继续求取字符相似度以及进行下面步骤S1012;
步骤S1012,当R=0,则利用下面公式(2),根据两串随机数各自的字符ASCII值得到对应的字符相似度值
在上述公式(2)中,I表示当前生成的一串随机数与最近上一次生成的一串被采用的随机数之间的字符相似度值;[(G)16(i)]10表示将当前生成的一串随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;
根据字符相似度值,若该字符相似度值小于预设相似度阈值μ,则将当前生成的一串随机数直接传递至加密端;若该字符相似度值大于或等于预设相似度阈值μ,则重新生成另一串随机数;
步骤S1013,若在上述步骤S1012中重新生成另一串随机数,则利用下面公式(3),根据当前重复重新生成随机数的次数控制生成随机数的低概率区间,进而使得再次重新生成随机数时可以提高重新生成的随机数的确认使用率,
在上述公式(3)中,中[Amin,Amax]表示再次重新生成另一串随机数时的小概率区间,其中小概率区间为筛选随机数时选中区间内数的概率值分布区间;k表示当前已重复重新生成被舍弃的随机数个数;ASCII()表示将括号内的数值转换为ASCII值;B表示公式的取代符号。
上述技术方案的有益效果为:利用上述公式(1)根据两串随机数各自的数据位数判断是否直接将当前生成的一串随机数传递至加密端,进而避免无用计算,提高工作效率;然后利用上述公式(2)根据两串随机数各自的字符ASCII值得到对应的字符相似度值,进而利用十进制的数值来量化字符之间的字符相似度;最后利用上述公式(3)根据当前重复重新生成随机数的次数控制生成随机数的低概率区间,进而使得再次重新生成随机数时可以提高重新生成的随机数的确认使用率。
优选地,在该步骤S2中,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至该待加密信息,从而得到加密信息具体包括:
步骤S201,根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据该数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
步骤S202,将选择的对称密钥VEK加载至该待加密信息的信息帧头部分中,并对该待加密信息进行打包封装,从而得到加密信息。
上述技术方案的有益效果为:当待加密信息包含的数据字符种类数量越多以及不同数据字符的排列顺序交错越多,表明待加密信息的数据复杂程度越高。在实际操作中,通过相应的算法对待加密信息包含的数据字符种类数量和不同数据字符的排列结构进行综合分析,确定待加密信息的数据复杂程度值。当数据复杂程度值越大,可从区块链中选择数据长度较长的对称密钥VEK;当数据复杂程度值越小,可从区块链中选择数据长度较短的对称密钥VEK,这样能够保证后续准确选择合适的对称密钥VEK进行加密。再将选择的对称密钥VEK加载至该待加密信息的信息帧头部分中,并对该待加密信息进行打包封装,这样能够对待加密信息进行准确的加密。
优选地,在该步骤S3中,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对该私钥VKEK验证后,将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;再根据该配对的结果,向该用户终端反馈相应的信息解密结果具体包括:
步骤S301,从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据该私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则该私钥VKEK的验证通过,若否,则该私钥VKEK的验证不通过;
步骤S302,将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;若两者配对成功,则将该加密信息解密还原后得到的信息解密结果反馈回该用户终端;若两者配对不成功,则不向该用户终端反馈任何结果。
上述技术方案的有益效果为:当用户终端发送数据获取请求提取相应的私钥VKEK,从该私钥VKEK中提取用户终端的身份信息,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则表明当前用户终端为安全认可终端,此时该私钥VKEK的验证通过,若否,则表明当前用户终端不为安全认可终端,此时该私钥VKEK的验证不通过。随后将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对,从而确定该用户终端是否具备获得加密信息的权限,这样能够保证加密信息的传递安全性。
参阅图2,为本发明实施例提供的基于公钥私钥的对称密钥生成系统的结构示意图。该基于公钥私钥的对称密钥生成系统包括对称密钥生成模块、信息加密模块、私钥验证模块和信息解密模块;其中,
该对称密钥生成模块用于生成一串随机数,将该随机数直接传递至加密端;指示该加密端对该随机数进行多次加密,从而得到相应的对称密钥VEK;并将该对称密钥VEK保存至区块链;
该信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至该待加密信息,从而得到加密信息;
该私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对该私钥VKEK验证;
该信息解密模块用于将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;再根据该配对的结果,向该用户终端反馈相应的信息解密结果。
上述技术方案的有益效果为:该基于公钥私钥的对称密钥生成系统生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
优选地,该对称密钥生成模块用于生成一串随机数,将该随机数直接传递至加密端;指示该加密端对该随机数进行多次加密,从而得到相应的对称密钥VEK;并将该对称密钥VEK保存至区块链具体包括:
生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定上述两串随机数之间的字符相似度值;若该字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若该字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
指示该加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中该加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
按照该对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
上述技术方案的有益效果为:利用伪随机数生成器生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定两者之间在字符内容以及字符排列上的字符相似度值,并对该字符相似度值进行阈值比对,判断当前生成的一串随机数是否与上一次生成的一串随机数高度重合;其中该字符相似度值可通过预设字符串识别算法计算得到,这里不做详细的叙述。此外将验证通过的随机数进行多次加密,生成相应的对称密钥VEK,生成的随机数自身具有一定时间长短的生命周期,当随机数的生命周期越长,可对随机数进行较多次数的加密,当随机数的生命周期越短,可对随机数进行较少次数的加密,从而提高生成的对称密钥VEK的效率。最后按照该对称密钥VEK的数据长度由长至短的顺序依次保存至区块链,可便于后续快速寻找定位所需的对称密钥VEK。
优选地,该信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至该待加密信息,从而得到加密信息具体包括:
根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据该数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
将选择的对称密钥VEK加载至该待加密信息的信息帧头部分中,并对该待加密信息进行打包封装,从而得到加密信息。
上述技术方案的有益效果为:当待加密信息包含的数据字符种类数量越多以及不同数据字符的排列顺序交错越多,表明待加密信息的数据复杂程度越高。在实际操作中,通过相应的算法对待加密信息包含的数据字符种类数量和不同数据字符的排列结构进行综合分析,确定待加密信息的数据复杂程度值。当数据复杂程度值越大,可从区块链中选择数据长度较长的对称密钥VEK;当数据复杂程度值越小,可从区块链中选择数据长度较短的对称密钥VEK,这样能够保证后续准确选择合适的对称密钥VEK进行加密。再将选择的对称密钥VEK加载至该待加密信息的信息帧头部分中,并对该待加密信息进行打包封装,这样能够对待加密信息进行准确的加密。
优选地,该私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对该私钥VKEK验证具体包括:
从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据该私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则该私钥VKEK的验证通过,若否,则该私钥VKEK的验证不通过;
以及,
该信息解密模块用于将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;再根据该配对的结果,向该用户终端反馈相应的信息解密结果具体包括:
将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对;若两者配对成功,则将该加密信息解密还原后得到的信息解密结果反馈回该用户终端;若两者配对不成功,则不向该用户终端反馈任何结果。
上述技术方案的有益效果为:当用户终端发送数据获取请求提取相应的私钥VKEK,从该私钥VKEK中提取用户终端的身份信息,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则表明当前用户终端为安全认可终端,此时该私钥VKEK的验证通过,若否,则表明当前用户终端不为安全认可终端,此时该私钥VKEK的验证不通过。随后将通过验证的私钥VKEK与该加密信息的对称密钥VEK进行配对,从而确定该用户终端是否具备获得加密信息的权限,这样能够保证加密信息的传递安全性。
从上述实施例的内容可知,该基于公钥私钥的对称密钥生成方法和系统生成一串随机数后,直接利用加密端对随机数进行多次加密而得到对称密钥以及将对称密钥区分保存至区块链;再根据待加密信息的数据类型和数据结构,选择合适的对称密钥将待加密信息转换为加密信息;最后对来自用户终端的私钥进行验证后,将通过验证的私钥与加密信息的对称密钥进行配对后,根据配对结果向用户终端反馈相应的信息解密结果,其只需要将随机数多次加密后生成对称密钥作为公钥,再与用户终端的私钥进行配对,确定用户终端对加密信息的获取权限,这样能够省去加密端与解密端之间多次交互,降低密钥传递的繁复性以及提高对信息加密的效率与可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.基于公钥私钥的对称密钥生成方法,其特征在于,其包括如下步骤:
步骤S1,生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链;
步骤S2,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息;
步骤S3,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对所述私钥VKEK验证后,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果;
其中,在所述步骤S1中,生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链具体包括:
步骤S101,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定两串随机数之间的字符相似度值;若所述字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
步骤S102,指示所述加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中所述加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
步骤S103,按照所述对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
2.如权利要求1所述的基于公钥私钥的对称密钥生成方法,其特征在于:在所述步骤S101中,生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定两串随机数之间的字符相似度值,其中确定上述两串随机数之间的字符相似度值具体包括:
S1011,利用下面公式(1),根据两串随机数各自的数据位数判断是否直接将当前生成的一串随机数传递至加密端,
在上述公式(1)中,R表示直接将当前生成的一串随机数传递至加密端的控制值;(G)16表示将当前生成的一串随机数从ASCII形式转换为16进制数;(P)16表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数;len[]表示求取括号内16进制数的位数;[(P)16(i)]10表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;n表示将最近上一次生成的一串被采用的随机数从ASCII形式转换为16进制数后总位数的一半;μ表示预设相似度阈值;%表示取余符号;||表示求取绝对值运算;
若R=1,则表示直接将当前生成的一串随机数传递至加密端,不需要求取字符相似度;
若R=0,则表示需要继续求取字符相似度以及进行下面步骤S1012;
步骤S1012,当R=0,则利用下面公式(2),根据两串随机数各自的字符ASCII值得到对应的字符相似度值
在上述公式(2)中,I表示当前生成的一串随机数与最近上一次生成的一串被采用的随机数之间的字符相似度值;[(G)16(i)]10表示将当前生成的一串随机数从ASCII形式转换为16进制数后第i个双位16进制数再转换为十进制数;
根据字符相似度值,若所述字符相似度值小于预设相似度阈值μ,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值μ,则重新生成另一串随机数;
步骤S1013,若在上述步骤S1012中重新生成另一串随机数,则利用下面公式(3),根据当前重复重新生成随机数的次数控制生成随机数的低概率区间,进而使得再次重新生成随机数时可以提高重新生成的随机数的确认使用率,
3.如权利要求1所述的基于公钥私钥的对称密钥生成方法,其特征在于:在所述步骤S2中,根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息具体包括:
步骤S201,根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据所述数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
步骤S202,将选择的对称密钥VEK加载至所述待加密信息的信息帧头部分中,并对所述待加密信息进行打包封装,从而得到加密信息。
4.如权利要求3所述的基于公钥私钥的对称密钥生成方法,其特征在于:在所述步骤S3中,从来自用户终端的数据获取请求中提取得到相应的私钥VKEK;对所述私钥VKEK验证后,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果具体包括:
步骤S301,从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据所述私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则所述私钥VKEK的验证通过,若否,则所述私钥VKEK的验证不通过;
步骤S302,将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;若两者配对成功,则将所述加密信息解密还原后得到的信息解密结果反馈回所述用户终端;若两者配对不成功,则不向所述用户终端反馈任何结果。
5.基于公钥私钥的对称密钥生成系统,其特征在于,其包括对称密钥生成模块、信息加密模块、私钥验证模块和信息解密模块;其中,
所述对称密钥生成模块用于生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链;
所述信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息;
所述私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对所述私钥VKEK验证;
所述信息解密模块用于将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果;
其中,所述对称密钥生成模块用于生成一串随机数,将所述随机数直接传递至加密端;指示所述加密端对所述随机数进行多次加密,从而得到相应的对称密钥VEK;并将所述对称密钥VEK保存至区块链具体包括:
生成一串随机数后,将当前生成的一串随机数与最近上一次生成的一串随机数进行比对,确定两串随机数之间的字符相似度值;若所述字符相似度值小于预设相似度阈值,则将当前生成的一串随机数直接传递至加密端;若所述字符相似度值大于或等于预设相似度阈值,则重新生成另一串随机数;
指示所述加密端对接收到的随机数进行多次加密,从而得到相应的对称密钥VEK;其中所述加密端对随机数的加密次数与随机数自身的生命周期的时间长度呈正相关关系;
按照所述对称密钥VEK的数据长度由长至短的顺序依次保存至区块链。
6.如权利要求5所述的基于公钥私钥的对称密钥生成系统,其特征在于:所述信息加密模块用于根据待加密信息的数据类型和数据结构,从区块链中选择相匹配的对称密钥VEK;将选择的对称密钥VEK加载至所述待加密信息,从而得到加密信息具体包括:
根据待加密信息包含的数据字符种类数量和不同数据字符的排列结构,确定待加密信息的数据复杂程度值;再根据所述数据复杂程度值,从区块链中选择具有相应数据长度的对称密钥VEK;
将选择的对称密钥VEK加载至所述待加密信息的信息帧头部分中,并对所述待加密信息进行打包封装,从而得到加密信息。
7.如权利要求6所述的基于公钥私钥的对称密钥生成系统,其特征在于:所述私钥验证模块用于从来自用户终端的数据获取请求中提取得到相应的私钥VKEK,以及对所述私钥VKEK验证具体包括:
从来自用户终端的数据获取请求中提取得到用户终端自身的私钥VKEK;根据所述私钥VKEK,确定当前用户终端与最近上一次请求的用户终端是否为同一用户终端,若是,则所述私钥VKEK的验证通过,若否,则所述私钥VKEK的验证不通过;
以及,
所述信息解密模块用于将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;再根据所述配对的结果,向所述用户终端反馈相应的信息解密结果具体包括:
将通过验证的私钥VKEK与所述加密信息的对称密钥VEK进行配对;若两者配对成功,则将所述加密信息解密还原后得到的信息解密结果反馈回所述用户终端;若两者配对不成功,则不向所述用户终端反馈任何结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348136.6A CN114726527B (zh) | 2022-03-30 | 2022-03-30 | 基于公钥私钥的对称密钥生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348136.6A CN114726527B (zh) | 2022-03-30 | 2022-03-30 | 基于公钥私钥的对称密钥生成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726527A CN114726527A (zh) | 2022-07-08 |
CN114726527B true CN114726527B (zh) | 2022-10-28 |
Family
ID=82241830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210348136.6A Active CN114726527B (zh) | 2022-03-30 | 2022-03-30 | 基于公钥私钥的对称密钥生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726527B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147111A (zh) * | 2022-09-02 | 2022-10-04 | 杭州弦冰科技有限公司 | 密钥生成方法以及装置、电子设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464268A (zh) * | 2020-12-08 | 2021-03-09 | 清远职业技术学院 | 一种计算机数据加密系统及方法 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749409B (zh) * | 2021-01-06 | 2024-03-08 | 上海零数众合信息科技有限公司 | 一种区块链中基于随机数的加密方法 |
CN113326326A (zh) * | 2021-06-11 | 2021-08-31 | 广州以大坊区块链科技有限公司 | 一种基于区块链发送数据加密保护的方法 |
-
2022
- 2022-03-30 CN CN202210348136.6A patent/CN114726527B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464268A (zh) * | 2020-12-08 | 2021-03-09 | 清远职业技术学院 | 一种计算机数据加密系统及方法 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114726527A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795534B (zh) | 基于口令的认证方法及用于执行该方法的装置 | |
CN102571357B (zh) | 一种签名的实现方法和装置 | |
CN102377566A (zh) | 一种电表数据的安全处理装置及系统 | |
CN114726527B (zh) | 基于公钥私钥的对称密钥生成方法和系统 | |
CN111310222A (zh) | 文件加密方法 | |
CN100440775C (zh) | 一种加密通讯方法和装置 | |
CN116599766B (zh) | 智能电表的检测方法、装置、设备及存储介质 | |
CN111177763A (zh) | 一种文件多重加密的二维码电子加密解密管理系统及方法 | |
CN117955096A (zh) | 基于数据安全技术的电网自动化调度方法 | |
CN110190952A (zh) | 一种基于量子随机数对物联网安全的加密传输方法 | |
CN115694815A (zh) | 一种配电终端的通信加密方法和装置 | |
CN111698222A (zh) | 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 | |
CN111698252B (zh) | 云平台数据加密传输方法及系统 | |
CN117997639A (zh) | 一种轻量级区块链加密认证系统及标签生成和加密方法 | |
CN108377191A (zh) | 电池识别方法、无人机及电池 | |
CN115114613B (zh) | 采用asic和gpu异构类型资源进行口令破解的系统 | |
AU2021102898A4 (en) | Transmission Encryption Method, System, Device And Readable Storage Medium Of Function Parameter Data | |
CN113963468B (zh) | 开锁码的生成方法及装置 | |
CN115834163A (zh) | 加密数据的秘钥生成方法、装置、设备及存储介质 | |
CN114900365A (zh) | 一种创新服务资源数据处理及安全交互方法 | |
CN114357474A (zh) | 一种防止数据伪造的方法 | |
CN111859339A (zh) | 一种基于计算机网络的身份验证系统 | |
CN118157991B (zh) | 一种通信网络的数据安全加密方法 | |
CN113489698B (zh) | 基于区块链的物联网数据保密读取方法与系统 | |
CN111601288B (zh) | 一种安全高效的农业环境数据通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |