CN117134914A - 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 - Google Patents
一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 Download PDFInfo
- Publication number
- CN117134914A CN117134914A CN202311395113.1A CN202311395113A CN117134914A CN 117134914 A CN117134914 A CN 117134914A CN 202311395113 A CN202311395113 A CN 202311395113A CN 117134914 A CN117134914 A CN 117134914A
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- random
- index
- ciphertext
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 88
- 150000003839 salts Chemical class 0.000 claims abstract description 40
- 230000009466 transformation Effects 0.000 claims abstract description 24
- 230000006835 compression Effects 0.000 claims abstract description 9
- 238000007906 compression Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 52
- 238000005336 cracking Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 6
- 241001391944 Commicarpus scandens Species 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0457—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- 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
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于计算机软件加密算法应用领域,具体提供一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统,配置秘钥索引空间,基于索引秘钥变换,生成随机秘钥;基于秘钥索引压缩,生成秘钥索引特征值;采用随机算法,生成18位base64格式的随机混淆字串;选择加密用的秘钥生成函数g(x),对秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使用key进行异或运算生成密文;将秘钥特征值子串和RND18放在密文中发送给解密终端;解密终端对密文进行解密,得到明文。整个算法真正对内容加密解密的是异或算法,性能较高,加密后的密文与明文长度相当,同时对加密秘钥实行随机混淆保护,提高算法安全性。
Description
技术领域
本发明属于计算机软件加密算法应用领域,具体涉及一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统。
背景技术
目前对称密钥加密算法,主要采用两种加密解密方式实现,基于软件算法的软加密和基于硬件加密机的硬加密模式,两种方式各自有自己的不足。
软件加密的本质就是算法加密钥,软加密密钥一般存储在程序代码或配置文件中,采用固定的密钥进行加密,加密算法一般都采用开源算法,在较长时间内都采用相同的密钥进行加密,攻击者如果经过暴力破解或其他攻击方式获取密钥,则整个加密机制就被攻破,而要更换密钥代价很大,需要停止业务,将所有密文解密再重新加密,有一定的风险。
基于硬件的加密机通常可以保证较高的安全性,作为一个安全的黑盒,加密解密和密钥都在加密芯片内部,离开加密机,数据无法加解密,只要保证加密机的安全,就能保证系统安全。但是加密机加解密效率不高,作为外部网络设备,加密解密有网络延迟,同时成本较高需采购硬件设备并部署运维,可能造成性能瓶颈以及故障隐患,如需要提高加解密效率,需要多台硬件加密机进行负载均衡。
流加密技术具有较高的性能,但是单一秘钥的流加密算法容易被攻破,如果同时比对明文和密文,很容易推算出加密秘钥,导致容易被破解,使得密钥不安全。
发明内容
本发明提供一种基于硬件特征的一次一密的随机秘钥流式加密算法,方法解决算法单一,密钥更换繁琐,密钥保存不安全、容易被破解的缺点。
基于硬件特征的一次一密的随机秘钥流式加密算法包括:
S101:配置秘钥索引空间;
S102:基于索引秘钥变换,生成随机秘钥;
S103:基于秘钥索引压缩,生成秘钥索引特征值;
S104:采用随机算法,生成18位base64格式的随机混淆字串,定义为RND18;
S105:选择加密用的秘钥生成函数g(x),对秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使加密秘钥key=SM3(z+salt+RND18);
S106:使用key进行异或运算生成密文;
S107:将秘钥特征值子串和RND18放在密文中发送给解密终端;
S108:解密终端解密时通过已知的硬件特征值、秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引、秘钥生成函数、硬件特征值、18位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文。
进一步需要说明的是,S101中,选择从1顺序递增的自然数作为秘钥索引z。
进一步需要说明的是,S102中基于单调增函数作为秘钥索引函数,对秘钥索引进行变换。
进一步需要说明的是,S102中选取秘钥索引变换函数f(x),并使用硬件特征值作为加密盐值salt,将秘钥索引变换函数f(x)与加密盐值salt进行拼接,得到随机秘钥y,即为y=f(x)+salt。
进一步需要说明的是,S103中,秘钥索引特征值为将索引值基于2进制转为64进制得到压缩后的秘钥特征值。
进一步需要说明的是,方法中,选择加密解密双方约定好的加密秘钥变换函数,对秘钥索引进行加密秘钥函数变换;
秘钥索引经过加密秘钥函数变换后,生成加密秘钥。
进一步需要说明的是,S106中,key=SM3(z+salt+RND18)。
进一步需要说明的是,S107中,对使用的加密秘钥,增加18位随机base64字串,再进行加密秘钥的混淆,将混淆字串、秘钥特征值子串和RND18放在密文中发送给解密终端。
进一步需要说明的是,S107中,将混淆字串和索引特征子串共24位base64字符配置在密文头部。
本发明还提供一种基于硬件特征的一次一密的随机秘钥流式加密系统,系统包括:加密终端以及解密终端;加密终端与解密终端通信连接;
加密终端配置有秘钥索引空间{|1<=x<=16777216};
加密终端向解密终端发送密文时,执行加密进程;其中,基于索引秘钥变换,生成随机秘钥;基于秘钥索引压缩,生成秘钥索引特征值;采用随机算法,生成18位base64格式的随机混淆字串,定义为RND18;选择加密用的秘钥生成函数g(x),对秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使加密秘钥key=SM3(z+salt+RND18);使用key进行异或运算生成密文;将秘钥特征值子串和RND18放在密文中发送给解密终端;
解密终端接收加密终端发送的密文,并对密文解密时通过已知的硬件特征值、秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引、秘钥生成函数、硬件特征值、18位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文。
从以上技术方案可以看出,本发明具有以下优点:
本发明涉及的基于硬件特征的一次一密的随机秘钥流式加密算法及系统中,对单一密钥的流加密算法进行改进,克服算法单一,密钥更换繁琐,密钥保存不安全、容易被破解的缺点,发挥软件加密算法升级方便,与程序结合紧密、高效的优势,参考硬件加密机使用硬件要素参与加密解密运算的原理,采用USB-KEY安全存储的硬件特征值结合加密服务器本身硬件特征如服务器的CPU序号对加密秘钥进行保护,并且进行通过秘钥索引变换函数和秘钥变换函数进行两次变换,并随机加扰,保证秘钥序号无法反推,提高安全性。采用224共16,777,216大小的秘钥空间,防止暴力破解,并且通过特征值压缩的算法,对秘钥特征值进行压缩,减少对秘钥序号检索占用的内存空间,提高检索效率。
而且本发明引入USB-KEY安全存储的硬件特征值和加密服务器本身的硬件特征参与加密解密运算后,可以防止加密后的数据被窃取后,在不受信任的服务器上解密,而在授权的硬件环境下,已知USB-KEY中存储的硬件特征值和加密服务器的硬件特征,可以解密硬件特征值对应的密文。
本发明是通过秘钥特征子串和硬件特征值,对应出秘钥索引,使用秘钥索引和随机加扰串,还原加密秘钥,使用加密秘钥对密文进行异或操作,还原明文,整个算法真正对内容加密解密的是异或算法,性能较高,同时对加密秘钥实行随机混淆保护,提高算法安全性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于硬件特征的一次一密的随机秘钥流式加密算法流程图;
图2为本发明涉及的随机秘钥流式加密算法实施例流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明涉及的基于硬件特征的一次一密的随机秘钥流式加密算法及系统中,系统包括:加密终端以及解密终端;加密终端与解密终端通信连接。
加密终端与解密终端可以为各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。
加密终端与解密终端通信连接包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(VirtualPrivateNetwork,VPN)等。
本发明涉及的基于硬件特征的一次一密的随机秘钥流式加密算法及系统中,为了解决单一秘钥的流加密算法容易被攻破,如果同时比对明文和密文,很容易推算出加密秘钥,导致容易被破解,使得密钥不安全的问题。本发明的方法中,通过获取硬件特征作为盐值、生成随机秘钥索引、经秘钥索引函数变换后加盐生成秘钥特征子串、选择秘钥生成函数、随机混淆字串生成,利用秘钥生成函数和秘钥索引加随机混淆字串加盐后用SM3算法生成随机秘钥,利用随机秘钥进行数据加密,利用秘钥索引特征子串对应还原秘钥索引,利用秘钥索引使用秘钥生成算法还原加密秘钥,利用秘钥进行解密。
在一个示例性实施例中,可以对加盐秘钥特征串进行压缩以减少特征值位数,通过算法验证求得短子串使得子串最短且子串和秘钥索引一一对应,生成秘钥特征子串->秘钥索引的对应表并采用Map存储。其中,秘钥特征压缩算法,可以实现16,777,216个随机秘钥索引,通过6个字符的特征子串即可实现一一对应,需要1.8GB左右的内存空间来存储秘钥索引对照表,实现快速的秘钥索引查找。
根据本申请的实施例,生成18位随机base64子串,将18位随机串与秘钥生成函数生成的秘钥合并,再用硬件特征值加盐后生成的SM3校验值作为流加密分组秘钥,对明文进行异或加密,与6位字符的特征子串合并放在密文之前。引入18位随机子串的目的是进一步对密文进行混淆,防止明文-密文比对进行暴力破解,虽然224个随机秘钥已经相对比较难以遍历,但是目前计算机硬件运算速度以指数型提高,引入18位base64的随机干扰项,可以真正实现一次一密,随机秘钥,实现近似无穷的秘钥空间,另外224个随机秘钥索引,需要占用近2GB的内存空间,初始化对应表需要10-20秒时间,时间和内存空间的代价都比较大,引入随机加扰串后,可以增加少量资源代价,大幅提高算法的防破解能力,可以考虑将秘钥范围大小减少到65536,也就是16Kbit的检索表,也可以实现强度较高的防破解能力,同时便于硬件实现。
本实施例中,在解密时,通过已知的硬件特征值和秘钥生成函数,以及秘钥特征值子串,生成完整秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串,根据秘钥索引,秘钥生成函数,硬件特征值加上18位随机加扰串,采用加密时相同的加密秘钥生成算法,计算加密所用的秘钥,对密文部分再进行一次异或,获得明文。
可以看出本发明的算法是通过秘钥特征子串和硬件特征值,对应出秘钥索引,使用秘钥索引和随机加扰串,还原加密秘钥,使用加密秘钥对密文进行异或操作,还原明文,整个算法真正对内容加密解密的是异或算法,性能较高,加密后的密文与明文长度相当,同时对加密秘钥实行随机混淆保护,提高算法安全性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,请参阅图1至2所示,提供的基于硬件特征的一次一密的随机秘钥流式加密算法包括:
S101:配置秘钥索引空间{|1<=x<=16777216};
具体来讲,选择从1顺序递增的自然数作为秘钥索引z。而为了便于秘钥定位和函数计算,先确定秘钥空间的秘钥数量,如果需要快速计算且对内存占用比较敏感,可以采用216=65536为秘钥数量,此时只需要16KB内存空间,如果对安全性要求高可以采用224=16,777,216大小的秘钥空间,此时解密是一次性生成秘钥对照表占用资源较多,需要1.8GB左右,需要系统初始化时生成,加密速度不受影响,解密内存需求较大,解密速度与加密相当,下面的实施方式采用224=16,777,216大小的秘钥空间。
S102:基于索引秘钥变换,生成随机秘钥;
本实施例中,基于单调增函数作为秘钥索引函数,对秘钥索引进行变换。这里,可以选择加密解密双方协商好的单调增函数作为秘钥索引函数,对秘钥索引进行索引秘钥变换,增加破解难度和加密算法灵活度。
可见,选取秘钥索引变换函数f(x),并使用秘钥串作为加密盐值salt,将秘钥索引变换函数f(x)与加密盐值salt进行拼接,得到随机秘钥y,即为y=f(x)+salt。
示例性的讲,索引函数可以直接取y=x,或者y=2x+1,y=3x+2等一次函数,经过实验,使用一次函数,可以使得秘钥映射均匀,使得y在整个函数空间中均匀递增,特征值选择性最好。
对于本发明的方法来讲,引入硬件信息作为盐值,这样可以在算法被窃取时,能基于保护数据的机制,在计算秘钥特征值的过程中增加盐值,本实施例读取USB-KEY,使用存储在USB-KEY中的秘钥串作为盐值,通过读取usb-key中的信息,与y拼接,无论加密还是解密,离开USB-KEY,都无法进行,为保证安全,硬件特征值采用大于64位的16进制随机字符。
S103:基于秘钥索引压缩,生成秘钥索引特征值;
其中,秘钥索引特征值为将索引值基于2进制转为64进制得到压缩后的秘钥特征值。
示例性的讲,用将函数变换并加盐后的索引值转为64进制,对特征值进行压缩,得到压缩后的秘钥特征值,压缩后的64进制特征值,每一个字符包含了更多的特征信息,可以用尽可能短的索引特征值代表一个索引序号。
本发明的实施例中,压缩后的秘钥特征值已经比原值极大的压缩了长度,但是实际应用中,只取压缩秘钥特征值的子串,即可唯一定位原始秘钥空间中的索引,这样可以大大减少解密时的内存占用并提高解密速度,子串的长度与秘钥空间大小有关,经验证,秘钥空间为65536时,只需4位子串即可代替完整的秘钥特征唯一定位秘钥索引,16,777,216大小的秘钥空间需要6位子串,子串位数的选取是很容易验证的,只需将所有秘钥索引的特征值子串作为key秘钥索引为value放入Map,如果子串不重复,即可确定子串的选取是适当的,这个子串和索引的Map,也是在解密第一步获取秘钥索引的检索表,一套秘钥体系所需的秘钥索引位数是可以验证的,经多次验证,如果秘钥索引函数和硬件特征值选择得当,65536个随机秘钥,使用4位秘钥特征值即可唯一映射,16,777,216大小的秘钥空间需要6位子串,6个64进制字符,相当于236,去定位224个索引中的一个,只要特征算法足够均匀,是可以做到,因为这个定位是指数型收敛的,每次定位的范围都上一次的64分之一。
根据本申请的实施例,选择加密解密双方约定好的加密秘钥变换函数,对秘钥索引进行变换,增加破解难度和加密算法灵活度。索引函数选择单调函数,可以选择z=lgx,z=log2x,z=lnx,z=2x+1等等,秘钥索引经过加密秘钥函数变换后,用于生成加密秘钥。
S104:采用随机算法,生成18位base64格式的随机混淆字串,定义为RND18;
示例性的讲,为防止明文-密文对照攻击,对每一次的加密秘钥增加18位的随机base64字串,对加密秘钥进行混淆,将混淆字串和秘钥索引特征子串与密文一同发给解密终端。
S105:选择加密用的秘钥生成函数g(x),对变换后的秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使加密秘钥key=SM3(z+salt+RND18);
这里是将加密秘钥变换函数变换后的秘钥索引z加入硬件信息和随机混淆串作为盐值,进行国密SM3算法杂凑运算,将得到的二进制值作为本次加密的异或秘钥。
S106:使用key进行异或运算生成密文;
可见,将明文数据与本次加密的异或秘钥进行异或运算,可以将结果转换为base64编码。
S107:将秘钥特征值子串和RND18放在密文中发送给解密终端;
将混淆字串和索引特征子串共24位base64字符配置在密文头部,作为完整的密文分组发送给解密方。
S108:解密终端解密时通过已知的硬件特征值、秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引、秘钥生成函数、硬件特征值、18位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文。
根据本申请的实施例,解密终端已知秘钥特征盐值和秘钥索引函数,遍历秘钥空间,按照秘钥索引函数+硬件特征值盐值,计算秘钥特征值,将秘钥空间所有秘钥特征值和秘钥索引的对应关系放入Map,key值为秘钥特征的6位子串,取子串的规则可以任意选择,value为秘钥索引。这个Map作为秘钥索引检索表。由于采用64位编码,秘钥索引是指数型收敛的,经过6次收敛,6位特征子串已经足够唯一定位一个完整的秘钥特征串。
解密终端还获取解密秘钥。截取密文的秘钥索引部分和随机混淆字串,从秘钥序号检索表中检索出秘钥索引,根据秘钥索引,索引秘钥变换函数,加上硬件特征值和随机混淆字串,取SM3杂凑值,采用加密时相同的算法还原解密秘钥。
本实施例中,将密文分组前24位以后的真正的密文部分转换为二进制格式,与解密秘钥异或,获得明文。
本算法采用流式加密方式,相对基于矩阵变换的一般对称加密算法,具有三个优势,首先基于异或算法的加密方式,性能较高,对视频或文件流进行加密时比对称秘钥算法效率更高,其次由于是异或算法,明文加密后大小与明文相同,提高传输效率,同时本算法也支持对一般的文本类型进行加密,最后该算法每一次加密都采用不同秘钥,秘钥空间为16777216,并且每次加入了18位base64的随机混淆字串,使得暴力破解的难度加大,同时引入硬件特征盐值与秘钥空间索引变换函数和秘钥生成函数,使得算法与硬件特征值绑定,安全性更高,加密秘钥窃取的难度更大,并有具有可定制性,支持多种变体。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
基于上述方式,本发明的有益效果在于:
1、存储在USB-KEY中的安全存储的硬件信息参与加密解密算法,解密必须通过读取USB-KEY中的信息,为进一步提高安全性可以和绑定加密服务器CPU序号,解密时必须提供存储在USB-KEY中的安全存储的硬件信息和加密服务器CPU序号。
2、算法每一次加密都采用不同秘钥,秘钥空间为16777216,并且每次加入了18位base64的随机混淆字串,使得暴力破解的难度加大。
3、算法的解密算法不是加密算法的逆运算,不能从加密算法直接得出解密算法。
4、加密过程中通过两次函数变换,秘钥索引变换和秘钥生成变换,两次变换函数都可以定制,加密算法可以生成多种变体,增加了算法实现的灵活性和可定制性,也增加了破解的难度。
这样,加解密算法核心运算是基于异或算法的加密方式,性能较高,对视频或文件流这种较大的二进制文件进行加密时比基于矩阵运算的对称秘钥算法速度更快更高,硬件资源占用更低。同时本算法对字符类型数据的加密也有较高的运算速度和较低的硬件占用。
本发明提供的基于硬件特征的一次一密的随机秘钥流式加密算法中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
自解密随机秘钥流式加密方法的流程图和框图,图示了按照本公开各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。
在本发明的实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,方法包括:
S101:配置秘钥索引空间;
S102:基于索引秘钥变换,生成随机秘钥;
S103:基于秘钥索引压缩,生成秘钥索引特征值;
S104:采用随机算法,生成18位base64格式的随机混淆字串,定义为RND18;
S105:选择加密用的秘钥生成函数g(x),对秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使加密秘钥key=SM3(z+salt+RND18);
S106:使用key进行异或运算生成密文;
S107:将秘钥特征值子串和RND18放在密文中发送给解密终端;
S108:解密终端解密时通过已知的硬件特征值、秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引、秘钥生成函数、硬件特征值、18位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文。
2.根据权利要求1所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S101中,选择从1顺序递增的自然数作为秘钥索引z。
3.根据权利要求1所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S102中基于单调增函数作为秘钥索引函数,对秘钥索引进行变换。
4.根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S102中选取秘钥索引变换函数f(x),并使用硬件特征值作为加密盐值salt,将秘钥索引变换函数f(x)与加密盐值salt进行拼接,得到随机秘钥y,即为y=f(x)+salt。
5.根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S103中,秘钥索引特征值为将索引值基于2进制转为64进制得到压缩后的秘钥特征值。
6.根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,方法中,选择加密解密双方约定好的加密秘钥变换函数,对秘钥索引进行加密秘钥函数变换;
秘钥索引经过加密秘钥函数变换后,生成加密秘钥。
7.根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S106中,key=SM3(z+salt+RND18)。
8.根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S107中,对使用的加密秘钥,增加18位随机base64字串,再进行加密秘钥的混淆,将混淆字串、秘钥特征值子串和RND18放在密文中发送给解密终端。
9.根据权利要求1所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,S107中,将混淆字串和索引特征子串共24位base64字符配置在密文头部。
10.一种基于硬件特征的一次一密的随机秘钥流式加密系统,其特征在于,系统采用如权利要求1至9任意一项所述的基于硬件特征的一次一密的随机秘钥流式加密算法;
系统包括:加密终端以及解密终端;加密终端与解密终端通信连接;
加密终端配置有秘钥索引空间{|1<=x<=16777216};
加密终端向解密终端发送密文时,执行加密进程;其中,基于索引秘钥变换,生成随机秘钥;基于秘钥索引压缩,生成秘钥索引特征值;采用随机算法,生成18位base64格式的随机混淆字串,定义为RND18;选择加密用的秘钥生成函数g(x),对秘钥索引z+加密盐值salt+RND18做SM3杂凑运算,使加密秘钥key=SM3(z+salt+RND18);使用key进行异或运算生成密文;将秘钥特征值子串和RND18放在密文中发送给解密终端;
解密终端接收加密终端发送的密文,并对密文解密时通过已知的硬件特征值、秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引、秘钥生成函数、硬件特征值、18位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395113.1A CN117134914B (zh) | 2023-10-26 | 2023-10-26 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395113.1A CN117134914B (zh) | 2023-10-26 | 2023-10-26 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117134914A true CN117134914A (zh) | 2023-11-28 |
CN117134914B CN117134914B (zh) | 2024-01-30 |
Family
ID=88860397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311395113.1A Active CN117134914B (zh) | 2023-10-26 | 2023-10-26 | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117134914B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892701A (zh) * | 2024-03-18 | 2024-04-16 | 工业云制造(四川)创新中心有限公司 | 一种云制造业务协同系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102484581A (zh) * | 2009-06-19 | 2012-05-30 | 耶德托公司 | 使用中间数据更改的具有可配置密钥的白盒密码系统 |
CN104486756A (zh) * | 2014-12-05 | 2015-04-01 | 深圳职业技术学院 | 一种密笺短信的加解密方法及系统 |
CN105743645A (zh) * | 2016-01-25 | 2016-07-06 | 清华大学 | 基于puf的流秘钥生成装置、方法及数据加密、解密方法 |
CN105959118A (zh) * | 2016-04-28 | 2016-09-21 | 吉林大学 | 基于流密码的双位单向循环链表加密解密方法 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
CN109861819A (zh) * | 2019-03-19 | 2019-06-07 | 天津中德应用技术大学 | 基于混淆加密块算法的数据加密方法及解密方法 |
CN111555859A (zh) * | 2020-03-31 | 2020-08-18 | 杭州熠芯科技有限公司 | Sm4-gcm算法及在网络安全协议中的应用 |
CN111586076A (zh) * | 2020-05-26 | 2020-08-25 | 清华大学 | 基于混合密码的遥控遥测信息防篡改加解密方法和系统 |
CN111639348A (zh) * | 2020-05-14 | 2020-09-08 | 瀚高基础软件股份有限公司 | 数据库秘钥的管理方法及装置 |
CN113259722A (zh) * | 2021-06-28 | 2021-08-13 | 杭州海康威视数字技术股份有限公司 | 一种安全视频物联网密钥管理方法、装置和系统 |
CN113591089A (zh) * | 2021-08-12 | 2021-11-02 | 上海观安信息技术股份有限公司 | 一种数据混淆加密方法 |
CN115022000A (zh) * | 2022-05-27 | 2022-09-06 | 北京交大微联科技有限公司 | 铁路信号系统的通信方法、装置及电子设备 |
US20220417000A1 (en) * | 2021-06-23 | 2022-12-29 | Panagiotis Andreadakis | Random position cipher encryption using scrambled ascii strings |
CN116305080A (zh) * | 2023-05-15 | 2023-06-23 | 豪符密码检测技术(成都)有限责任公司 | 一种密码通用检测方法 |
US20230318813A1 (en) * | 2022-03-30 | 2023-10-05 | Ntt Research, Inc. | Adaptive Multiparty Non-Interactive Key Exchange |
-
2023
- 2023-10-26 CN CN202311395113.1A patent/CN117134914B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102484581A (zh) * | 2009-06-19 | 2012-05-30 | 耶德托公司 | 使用中间数据更改的具有可配置密钥的白盒密码系统 |
CN104486756A (zh) * | 2014-12-05 | 2015-04-01 | 深圳职业技术学院 | 一种密笺短信的加解密方法及系统 |
CN105743645A (zh) * | 2016-01-25 | 2016-07-06 | 清华大学 | 基于puf的流秘钥生成装置、方法及数据加密、解密方法 |
CN105959118A (zh) * | 2016-04-28 | 2016-09-21 | 吉林大学 | 基于流密码的双位单向循环链表加密解密方法 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
CN109861819A (zh) * | 2019-03-19 | 2019-06-07 | 天津中德应用技术大学 | 基于混淆加密块算法的数据加密方法及解密方法 |
CN111555859A (zh) * | 2020-03-31 | 2020-08-18 | 杭州熠芯科技有限公司 | Sm4-gcm算法及在网络安全协议中的应用 |
CN111639348A (zh) * | 2020-05-14 | 2020-09-08 | 瀚高基础软件股份有限公司 | 数据库秘钥的管理方法及装置 |
CN111586076A (zh) * | 2020-05-26 | 2020-08-25 | 清华大学 | 基于混合密码的遥控遥测信息防篡改加解密方法和系统 |
US20220417000A1 (en) * | 2021-06-23 | 2022-12-29 | Panagiotis Andreadakis | Random position cipher encryption using scrambled ascii strings |
CN113259722A (zh) * | 2021-06-28 | 2021-08-13 | 杭州海康威视数字技术股份有限公司 | 一种安全视频物联网密钥管理方法、装置和系统 |
CN113591089A (zh) * | 2021-08-12 | 2021-11-02 | 上海观安信息技术股份有限公司 | 一种数据混淆加密方法 |
US20230318813A1 (en) * | 2022-03-30 | 2023-10-05 | Ntt Research, Inc. | Adaptive Multiparty Non-Interactive Key Exchange |
CN115022000A (zh) * | 2022-05-27 | 2022-09-06 | 北京交大微联科技有限公司 | 铁路信号系统的通信方法、装置及电子设备 |
CN116305080A (zh) * | 2023-05-15 | 2023-06-23 | 豪符密码检测技术(成都)有限责任公司 | 一种密码通用检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892701A (zh) * | 2024-03-18 | 2024-04-16 | 工业云制造(四川)创新中心有限公司 | 一种云制造业务协同系统 |
CN117892701B (zh) * | 2024-03-18 | 2024-05-17 | 工业云制造(四川)创新中心有限公司 | 一种云制造业务协同系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117134914B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694467B2 (en) | Random number based data integrity verification method and system for distributed cloud storage | |
US10853497B2 (en) | Method and system for providing an update of code on a memory-constrained device | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN114036565A (zh) | 隐私信息检索系统及隐私信息检索方法 | |
CN117134914B (zh) | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 | |
US20220417000A1 (en) | Random position cipher encryption using scrambled ascii strings | |
CN112199696B (zh) | 基于白盒分组密码的加解密方法 | |
CN112019323A (zh) | 数据加密、解密方法及装置、存储介质及电子设备 | |
CN114444140A (zh) | 存储器中的不可复制函数应用 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
CN116796345A (zh) | 加解密方法、装置、设备及存储介质 | |
CN116248316A (zh) | 文件加密方法、文件解密方法、装置及存储介质 | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 | |
Vennela et al. | Performance analysis of cryptographic algorithms for cloud security | |
CN115277064A (zh) | 数据加密、数据解密方法、装置、电子设备和介质 | |
CN103634113B (zh) | 一种带用户/设备身份认证的加解密方法及装置 | |
Pamungkas et al. | Implementation Of The Base64 Algorithm For Text Encryption And Decryption Using The Python Programming Language | |
CN114726516B (zh) | 一种卡号和密码融合的加密方法、终端设备及存储介质 | |
CN118018204B (zh) | 一种基于椭圆曲线的消息处理系统以及消息处理方法 | |
US20220393853A1 (en) | Method and devices for creating redundancy and encryption using mojette transform | |
CN117955636A (zh) | 一种高安全性的敏感数据存取方法和系统 | |
CN117240439A (zh) | 一种基于量子网络云主机的数据处理方法 | |
KR20150049422A (ko) | 제한된 자원의 모바일 장비에서의 안전한 암호화 방법 |
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 |