CN111199047A - 数据加密方法、解密方法、装置、设备及存储介质 - Google Patents
数据加密方法、解密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111199047A CN111199047A CN201911418988.2A CN201911418988A CN111199047A CN 111199047 A CN111199047 A CN 111199047A CN 201911418988 A CN201911418988 A CN 201911418988A CN 111199047 A CN111199047 A CN 111199047A
- Authority
- CN
- China
- Prior art keywords
- data
- random
- encryption
- encrypted
- key
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施方式涉及信息安全技术领域,公开了一种数据加密方法,该方法包括:根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;采用标准加密算法对所述临时密钥和所述随机数据进行加密,得到第二加密数据;根据所述第一加密数据和所述第二加密数据形成最终加密数据。本发明实施方式还提供了一种数据解密方法、装置、设备及存储介质。本发明实施方式提供的数据加密方法、解密方法、装置、设备及存储介质,可以提高数据的安全性,保证用户信息的安全。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种数据加密方法、解密方法、装置、设备及存储介质。
背景技术
随着智能家居行业的迅速发展,家庭摄像头、智能音箱等智能家居产品的市场规模不断扩大,人们可以享受这些智能家居产品带来的便捷服务。
然而,发明人发现现有技术至少存在以下问题:由于智能家居产品一般选用低端的处理器和小容量存储,计算能力较弱,无法采用较安全的加密算法对智能家居产品中的大量数据(如摄像头拍摄的录像数据)进行加密,只能加密关键数据,例如视频数据头或视频关键帧,安全性不足,导致由智能家居产品引起的隐私泄漏事件频发,严重影响用户信息的安全。
发明内容
本发明实施方式的目的在于提供一种数据加密方法、解密方法、装置、设备及存储介质,使得数据的安全性提高,保证用户信息的安全。
为解决上述技术问题,本发明的实施方式提供了一种数据加密方法,包括:根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;根据第一加密数据和第二加密数据形成最终加密数据。
本发明的实施方式还提供了一种数据加密装置,包括:第一加密模块,用于根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;第二加密模块,用于采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;数据拼接模块,用于根据第一加密数据和第二加密数据形成最终加密数据。
本发明的实施方式还提供了一种数据解密方法,包括:接收加密数据,加密数据包括第一加密数据和第二加密数据;采用标准加密算法的密钥对第二加密数据进行解密,得到临时密钥和随机数据;根据临时密钥和随机数据对第一加密数据进行位运算,得到明文数据。
本发明的实施方式还提供了一种数据解密装置,包括:数据接收模块,用于接收加密数据,加密数据包括第一加密数据和第二加密数据;第一解密模块,用于采用标准加密算法的密钥对第二加密数据进行解密,得到临时密钥和随机数据;第二解密模块,用于根据临时密钥和随机数据对第一加密数据进行位运算,得到明文数据。
本发明的实施方式还提供了一种网络设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的数据加密方法或上述的数据解密方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的数据加密方法或上述的数据解密方法。
本发明实施方式相对于现有技术而言,根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;根据第一加密数据和第二加密数据形成最终加密数据。由于采用位运算来加密明文数据,对执行加密的设备的处理器性能要求较低,即使明文数据的数据量较大也能实现对明文数据全量数据的加密,避免“因处理器性能受限而仅仅部分加密”导致的加密强度不高;同时,由于采用标准加密算法将加密明文数据所使用的临时密钥和随机数据进行加密,防止加密密钥和随机数据被非法获取而影响已加密明文数据的安全性,因此该种数据加密方法的加密强度与“采用标准加密算法进行全量数据加密”相当,提高了数据的安全性,保证明文数据对应的用户信息安全。
另外,随机数据包括随机位移向量;根据临时密钥和随机数据对明文数据进行位运算,包括:采用填充算法对明文数据进行填充,使填充后的数据的长度为临时密钥的长度的M倍,M为正整数;将填充后的数据分成M组第一分组数据;根据临时密钥对每一组第一分组数据进行位运算,其中,当完成对一组第一分组数据的位运算后,根据随机位移向量对临时密钥进行循环位移转换,根据转换后的临时密钥对下一组第一分组数据进行位运算。通过填充算法将明文数据的长度填充至临时密钥的长度的倍数,可以根据临时密钥的长度实现对填充后的数据进行分组,再根据临时密钥对分组后的数据进行位运算加密;而通过随机位移向量对临时密钥进行循环位移转换,则可以使加密每一分组数据实际使用的密钥均不相同,可以防止加密后的数据受到选择明文攻击,提高了加密后的数据的安全性。
另外,随机数据还包括随机数;根据临时密钥对每一组第一分组数据进行位运算,包括:根据随机数将第一分组数据分为N组第二分组数据,根据随机数将临时密钥或转换后的临时密钥分为N组加密密钥,N为正整数;采用随机数和加密密钥分别对每一组第二分组数据进行位运算,其中,当完成对一组第二分组数据的位运算后,根据随机位移向量对随机数进行循环位移转换,根据转换后的随机数对下一组第二分组数据进行位运算。通过将第一分组数据进一步细分为第二分组数据,可以将数据的长度进一步缩短,方便进行位运算;同时,在使用随机数对第二分组数据进行位运算时,使用随机位移向量对随机数进行循环位移转换,可以使每组第二分组数据实际使用的随机数都不相同,可以进一步加大随机数的随机性,防止加密后的数据受到选择明文攻击,提高数据的安全性。
另外,在根据临时密钥和随机数据对明文数据进行位运算之前,还包括:生成临时密钥和随机数据,随机数据还包括随机数跳变标量;采用随机数和加密密钥分别对每一组第二分组数据进行位运算,包括:采用随机数跳变标量、随机数和加密密钥分别对每一组第二分组数据进行位运算。通过在每次加密时生成临时密钥和随机数据,可以使每次加密使用的临时密钥均不相同,可以防止加密后的数据受到穷举攻击,提高加密后数据的安全性;而而通过在位运算时增加随机数跳变标量,可以进一步加大随机性,提高加密后数据的安全性。
另外,随机数据还包括分组变换量;将填充后的数据分成M组第一分组数据,包括:根据分组变换量将填充后的数据分为K组第三分组数据,K为正整数;将K组第三分组数据进行反转,根据K组反转后的第三分组数据得到反转数据;将反转数据分成M组第一分组数据。通过在将填充后的数据分成M组第一分组数据前,先进行分组反转操作,可以使明文数据原来的顺序被打乱,进一步提高加密的强度,保证数据的安全性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式提供的数据加密方法的流程示意图;
图2是本发明第一实施方式提供的数据加密方法中S102细化步骤的流程示意图;
图3是本发明第一实施方式提供的数据加密方法中S1023细化步骤的流程示意图;
图4是本发明第一实施方式提供的数据加密方法中S1022细化步骤的流程示意图;
图5是本发明第二实施方式提供的数据加密装置的模块结构示意图;
图6是本发明第三实施方式提供的数据解密方法的流程示意图;
图7是本发明第四实施方式提供的数据解密装置的模块结构示意图;
图8是本发明第五实施方式提供的网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种数据加密方法,根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;根据第一加密数据和第二加密数据形成最终加密数据。由于采用位运算来加密明文数据,对执行加密的设备性能要求较低,即使明文数据的数据量较大也能实现对明文数据全量数据的加密;而由于采用标准加密算法将加密明文数据所使用的临时密钥和随机数据进行加密,因此此加密强度与采用的标准加密算法相当,强度较高,从而可以提高了数据的安全性,保证明文数据对应的用户信息安全。
应当说明的是,本发明实施方式的数据加密方法的执行主体可以为设备中的处理器,例如智能家居产品中的处理器,也可以为计算机设备或服务器,这里不做具体限制,以下以处理器作为执行主体为例进行说明。
本发明实施方式提供的数据加密方法的具体流程如图1所示,具体包括以下步骤:
S101:根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据。
其中,明文数据例如是摄像头拍摄的录像数据,也可以为其它数据,这里不做具体限制。
临时密钥和随机数据可以由处理器临时生成或从存储装置临时获取,其中,随机数据可以包括随机数、随机跳变标量和随机位移向量等,具体可以根据实际需要进行设置,这里不做具体限制。
在一个具体的例子中,在根据临时密钥和随机数据对明文数据进行位运算之前,还包括:生成临时密钥和随机数据。即处理器每次对明文数据进行加密时,生成临时密钥和随机数据,使每次加密使用的临时密钥和随机数据均不相同,可以防止加密后的数据受到穷举攻击,提高加密后的数据的安全性。
可选地,处理器根据临时密钥和随机数据对明文数据进行位运算时,所采用的临时密钥的长度、随机数据包括的条目、如何使用临时密钥和随机数据对明文数据进行位运算及位运算的顺序和次数,本发明实施方式均不做具体限制,只要能在处理器的计算能力的范围内实现对明文数据进行位运算后达到加密的作用即可。
S102:采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据。
其中,标准加密算法可以包括对称加密算法和非对称加密算法,例如是AES、RSA、SM2或SM4等,具体可以根据实际需要选用,这里不做具体限制。
作为一种实施方式,可以分别采用标准加密算法对临时密钥和随机数据进行加密,将两部分加密的内容拼接形成第二加密数据。可选地,当分别对临时密钥和随机数据进行加密时,两部分加密采用的标准加密算法可以不同,例如,采用AES对临时密钥进行加密,采用RSA对随机数据进行加密。
S103:根据第一加密数据和第二加密数据形成最终加密数据。
可选地,可以将第二加密数据作为加密数据头,与第一加密数据进行拼接得到最终加密数据。可选地,在计算能力允许的情况下,在根据第一加密数据和第二加密数据形成最终加密数据时,可以对第一加密数据和第二加密数据作进一步处理得到最终加密数据,这里不做具体限制。
与现有技术相比,本发明实施方式提供的数据加密方法,根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;根据第一加密数据和第二加密数据形成最终加密数据。由于采用位运算来加密明文数据,对执行加密的设备的处理器性能要求较低,即使明文数据的数据量较大也能实现对明文数据全量数据的加密,加密的性能较强;同时,由于采用标准加密算法将加密明文数据所使用的临时密钥和随机数据进行加密,因此加密强度与采用的标准加密算法相当,强度较高,从而在既能实现对明文数据进行全量数据加密的同时保证加密的强度,提高了数据的安全性,保证明文数据对应的用户信息安全。
在一个具体的例子中,随机数据包括随机位移向量,在S102中,根据临时密钥和随机数据对明文数据进行位运算,如图2所示,具体可以包括以下步骤:
S1021:采用填充算法对明文数据进行填充,使填充后的数据的长度为临时密钥的长度的M倍,M为正整数。
其中,填充算法例如可以采用PKSC5或PKSC7等填充算法,填充算法可以根据实际需要进行选用,只要能将填充后的数据的长度填充至临时密钥的长度的M倍即可,这里不做具体限制。以采用PKSC5填充算法为例,填充数据长度为(ODL/RTEKL+1)*RTEKL–ODL,填充字节内容为(ODL/RTEKL+1)*RTEKL–ODL,其中,ODL为明文数据的长度,RTEKL为临时密钥的长度。
临时密钥的长度可以根据实际需要进行设置,例如可以为4字节、8字节、16字节等,这里不做具体限制。可以理解的是,临时密钥的长度越长,加密后的数据的安全性越好,但相应地加密性能越低;临时密钥的长度越短,加密后的数据的安全性越低,但相应地加密性能越高,因此,临时密钥的长度应综合考虑数据的安全性和加密性能。
S1022:将填充后的数据分成M组第一分组数据。
由于填充后的数据的长度为临时密钥的长度的M倍,因此,可以根据填充后的数据的长度与临时密钥的长度的比值得到分组数量,即M组。
S1023:根据临时密钥对每一组第一分组数据进行位运算,其中,当完成对一组第一分组数据的位运算后,根据随机位移向量对临时密钥进行循环位移转换,根据转换后的临时密钥对下一组第一分组数据进行位运算。
其中,当处理器根据临时密钥对每一组第一分组数据进行位运算时,可以与除随机位移向量外的其它随机数据一起对每一组第一分组数据进行位运算,这里对随机数据包括的随机数据条目(例如随机数或随机跳变标量等)、如何进行位运算及位运算的顺序及次数均不做具体限制,只要能在处理器计算能力范围内实现对第一分组数据的加密即可。
随机位移向量可以为负数也可以为正数。可选地,当随机位移向量为负数时,处理器对临时密钥左循环位移转换,左循环位移的位为随机位移向量的绝对值;当随机位移向量为正数时,处理器对临时密钥进行右循环位移转换,右循环位移的位为随机位移向量的绝对值。
通过填充算法将明文数据的长度填充至临时密钥的长度的倍数,可以根据临时密钥的长度实现对填充后的数据进行分组,再根据临时密钥对分组后的数据进行位运算加密;通过随机位移向量对临时密钥进行循环位移转换,可以使加密每一分组数据实际使用的密钥均不相同,可以防止加密后的数据受到选择明文攻击,提高了加密后的数据的安全性。
在一个例子中,随机数据包括随机数,在S1023中,根据临时密钥对每一组第一分组数据进行位运算,如图3所示,具体可以包括以下步骤:
S10231:根据随机数将第一分组数据分为N组第二分组数据,根据随机数将临时密钥或转换后的临时密钥分为N组加密密钥,N为正整数。
可选地,可以将随机数的长度设置为临时密钥的长度的N分之一,这样就可以根据临时密钥的长度与随机数的长度的比值将第一分组数据分为N组第二分组数据,和将临时密钥或转换后的临时密钥分N组加密密钥。应当理解的是,将临时密钥或转换后的临时密钥分成N组加密密钥,是指将临时密钥或转换后的临时密钥分成N段,将每一段数据作为一组加密密钥。
可以理解的是,第一分组数据为M组,将第一分组数据分成N组第二分组数据,则第二分组数据为M*N组。
S10232:采用随机数和加密密钥分别对每一组第二分组数据进行位运算,其中,当完成对一组第二分组数据的位运算后,根据随机位移向量对随机数进行循环位移转换,根据转换后的随机数对下一组第二分组数据进行位运算。
可选地,当随机位移向量为负数时,处理器对随机数进行左循环位移转换,左循环位移的位为随机位移向量的绝对值;当随机位移向量为正数时,处理器对随机数进行右循环位移转换,右循环位移的位为随机位移向量的绝对值。
应当说明的是,采用随机数和加密密钥对每一组第二分组数据进行位运算时,采用的随机数的长度、临时密钥的长度(对应加密密钥的长度)、如何进行位运算及位运算的顺序和次数,这里均不做具体限制,只要能实现在处理器的计算能力范围对第二分组数据进行位运算加密即可。
可选地,随机数据还包括随机跳变标量,可以理解的是,随机跳变标量可以进一步加大随机数的随机性。可选地,采用随机数和加密密钥分别对每一组第二分组数据进行位运算,具体可以为:采用随机数跳变标量、随机数和加密密钥分别对每一组第二分组数据进行位运算。
例如,对于其中一个第二分组数据,若其所在的第一分组数据在填充后的数据的索引位置为a,在第一分组数据中的索引位置为b,则第二分组数据实际的索引位置c=a*M+b,采用随机数跳变标量、随机数和加密密钥分别对该组第二分组数据进行位运算加密为:SDG[c]^RTEKG[b]^(RN+RNS*c+c);其中,SDG[c]为该组第二分组数据,RTEKG[b]为该组第二分组数据使用的加密密钥,RN为随机数,RNS为随机跳变标量。
通过将第一分组数据进一步细分为第二分组数据,可以将数据的长度进一步缩短,方便进行位运算;同时,在使用随机数对第二分组数据进行位运算时,使用随机位移向量对随机数进行循环位移转换,可以使每组第二分组数据实际使用的随机数都不相同,可以进一步加大随机数的随机性,防止加密后的数据受到选择明文攻击,提高数据的安全性。
在一个具体的例子中,随机数据还包括分组变换量,在S1022中,将填充后的数据分成M组第一分组数据,如图4所示,具体包括以下步骤:
S10221:根据分组变换量将填充后的数据分为K组第三分组数据,K为正整数。
其中,分组变换量是指每组包括的字节数。可选地,填充后的数据的长度为分组变换量的K倍,处理器可根据分组变换量将填充后的数据分为K组第三分组数据。
S10222:将K组第三分组数据进行反转,根据K组反转后的第三分组数据得到反转数据。
其中,反转是指将数据进行反转比特位操作。
具体地,处理器将K组第三分组数据的每一组数据进行反转比特位操作,再将反转比特位后的第三分组数据拼接为完整的反转数据。
S10223:将反转数据分成M组第一分组数据。
由于反转数据的长度与原来填充后的数据的长度一致,因此,处理器可根据填充后的数据的长度与临时密钥的长度的比值将反转数据分成M组第一分组数据。
通过在将填充后的数据分成M组第一分组数据前,先采用分组变换量将填充后的数据分成K组第三分组数据,并对第三分组数据进行反转操作,再将反转之后的数据分成M组第一分组数据,可以使明文数据原来的顺序被打乱,进一步提高加密的强度,保证数据的安全性。
以下为采用本发明实施方式提供的数据加密方法与采用标准加密算法的算法性能的比较示例表:
表中,标准加密算法采用AES-128,而本发明实施方式提供的数据加密方法的临时密钥(RTEK)的长度选用16字节(128位),从表中可以看出,采用本发明实施方式提供的数据加密方法的算法性能比标准加密算法约优化了7倍,优化效果明显。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第二实施方式涉及一种数据加密装置,如图5所示,包括:第一加密模块201、第二加密模块202和数据拼接模块203。
第一加密模块201,用于根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;
第二加密模块202,用于采用标准加密算法对临时密钥和随机数据进行加密,得到第二加密数据;
数据拼接模块203,用于根据第一加密数据和第二加密数据形成最终加密数据。
进一步地,随机数据包括随机位移向量,第二加密模块202还用于:
采用填充算法对明文数据进行填充,使填充后的数据的长度为临时密钥的长度的M倍,M为正整数;
将填充后的数据分成M组第一分组数据;
根据临时密钥对每一组第一分组数据进行位运算,其中,当完成对一组第一分组数据的位运算后,根据随机位移向量对临时密钥进行循环位移转换,根据转换后的临时密钥对下一组第一分组数据进行位运算。
进一步地,随机数据还包括随机数,第二加密模块202还用于:
根据随机数将第一分组数据分为N组第二分组数据,根据随机数将临时密钥或转换后的临时密钥分为N组加密密钥,N为正整数;
采用随机数和加密密钥分别对每一组第二分组数据进行位运算,其中,当完成对一组第二分组数据的位运算后,根据随机位移向量对随机数进行循环位移转换,根据转换后的随机数对下一组第二分组数据进行位运算。
进一步地,本发明实施方式提供的数据加密装置还包括数据生成模块,其中,数据生成模块用于生成临时密钥和随机数据,随机数据还包括随机数跳变标量,第二加密模块202还用于:采用随机数跳变标量、随机数和加密密钥分别对每一组第二分组数据进行位运算。
进一步地,随机数据还包括分组变换量,第二加密模块202还用于:
根据分组变换量将填充后的数据分为K组第三分组数据,K为正整数;
将K组第三分组数据进行反转,根据K组反转后的第三分组数据得到反转数据;
将反转数据分成M组第一分组数据。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第三实施方式涉及一种数据解密方法,可以理解的是,本实施方式提供的数据解密方法与第一实施方式中的数据加密方法相对应。
应当说明的是,本实施方式提供的数据解密方法的执行主体为接收加密数据的设备中的处理器,例如是电脑或手机等中的处理器。
本实施方式提供的数据解密方法的流程如图6所示,具体包括以下步骤:
S301:接收加密数据,加密数据包括第一加密数据和第二加密数据。
S302:采用标准加密算法的密钥对第二加密数据进行解密,得到临时密钥和随机数据。
S303:根据临时密钥和随机数据对第一加密数据进行位运算,得到明文数据。
具体地,处理器接收由第一实施方式提供的数据加密方法加密的加密数据,其中,加密数据包括第一加密数据和第二加密数据;处理器首先对第二加密数据进行解密,解密使用的密钥为加密采用的标准加密算法的密钥,解密后得到临时密钥和随机数据;然后根据临时密钥和随机数据对第一加密数据进行位运算,当进行位运算时,处理器根据第一实施方式提供的数据加密方法采用的位运算进行相同的逻辑转换,最终可以得到明文数据。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种数据解密装置,如图7所示,包括:数据接收模块401、第一解密模块402和第二解密模块403。
数据接收模块401,用于接收加密数据,加密数据包括第一加密数据和第二加密数据;
第一解密模块402,用于采用标准加密算法的密钥对第二加密数据进行解密,得到临时密钥和随机数据;
第二解密模块403,用于根据临时密钥和随机数据对第一加密数据进行位运算,得到明文数据。
不难发现,本实施方式为与第三实施方式相对应的装置实施例,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种网络设备,如图8所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的数据加密方法或数据解密方法。
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种数据加密方法,其特征在于,包括:
根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;
采用标准加密算法对所述临时密钥和所述随机数据进行加密,得到第二加密数据;
根据所述第一加密数据和所述第二加密数据形成最终加密数据。
2.根据权利要求1所述的数据加密方法,其特征在于,所述随机数据包括随机位移向量;
所述根据临时密钥和随机数据对明文数据进行位运算,包括:
采用填充算法对明文数据进行填充,使填充后的数据的长度为所述临时密钥的长度的M倍,所述M为正整数;
将所述填充后的数据分成M组第一分组数据;
根据所述临时密钥对每一组所述第一分组数据进行位运算,其中,当完成对一组所述第一分组数据的位运算后,根据所述随机位移向量对所述临时密钥进行循环位移转换,根据转换后的临时密钥对下一组所述第一分组数据进行位运算。
3.根据权利要求2所述的数据加密方法,其特征在于,所述随机数据还包括随机数;
所述根据所述临时密钥对每一组所述第一分组数据进行位运算,包括:
根据所述随机数将所述第一分组数据分为N组第二分组数据,根据所述随机数将所述临时密钥或转换后的临时密钥分为N组加密密钥,所述N为正整数;
采用所述随机数和所述加密密钥分别对每一组所述第二分组数据进行位运算,其中,当完成对一组所述第二分组数据的位运算后,根据所述随机位移向量对所述随机数进行循环位移转换,根据所述转换后的随机数对下一组所述第二分组数据进行位运算。
4.根据权利要求3所述的数据加密方法,其特征在于,在所述根据临时密钥和随机数据对明文数据进行位运算之前,还包括:
生成临时密钥和随机数据,所述随机数据还包括随机数跳变标量;
所述采用所述随机数和所述加密密钥分别对每一组所述第二分组数据进行位运算,包括:
采用所述随机数跳变标量、所述随机数和所述加密密钥分别对每一组所述第二分组数据进行位运算。
5.根据权利要求2-4任一项所述的数据加密方法,其特征在于,所述随机数据还包括分组变换量;
所述将所述填充后的数据分成M组第一分组数据,包括:
根据所述分组变换量将所述填充后的数据分为K组第三分组数据,所述K为正整数;
将所述K组第三分组数据进行反转,根据K组反转后的第三分组数据得到反转数据;
将所述反转数据分成M组第一分组数据。
6.一种数据加密装置,其特征在于,包括:
第一加密模块,用于根据临时密钥和随机数据对明文数据进行位运算,得到第一加密数据;
第二加密模块,用于采用标准加密算法对所述临时密钥和所述随机数据进行加密,得到第二加密数据;
数据拼接模块,用于根据所述第一加密数据和所述第二加密数据形成最终加密数据。
7.一种数据解密方法,其特征在于,包括:
接收加密数据,所述加密数据包括第一加密数据和第二加密数据;
采用标准加密算法的密钥对所述第二加密数据进行解密,得到临时密钥和随机数据;
根据所述临时密钥和所述随机数据对所述第一加密数据进行位运算,得到明文数据。
8.一种数据解密装置,其特征在于,包括:
数据接收模块,用于接收加密数据,所述加密数据包括第一加密数据和第二加密数据;
第一解密模块,用于采用标准加密算法的密钥对所述第二加密数据进行解密,得到临时密钥和随机数据;
第二解密模块,用于根据所述临时密钥和所述随机数据对所述第一加密数据进行位运算,得到明文数据。
9.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5任一项所述的数据加密方法或如权利要求6所述的数据解密方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的数据加密方法或如权利要求6所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418988.2A CN111199047B (zh) | 2019-12-31 | 2019-12-31 | 数据加密方法、解密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418988.2A CN111199047B (zh) | 2019-12-31 | 2019-12-31 | 数据加密方法、解密方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111199047A true CN111199047A (zh) | 2020-05-26 |
CN111199047B CN111199047B (zh) | 2022-08-05 |
Family
ID=70747171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911418988.2A Active CN111199047B (zh) | 2019-12-31 | 2019-12-31 | 数据加密方法、解密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111199047B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182624A (zh) * | 2020-10-13 | 2021-01-05 | Oppo广东移动通信有限公司 | 加密方法、加密装置、存储介质与电子设备 |
CN112528349A (zh) * | 2020-12-02 | 2021-03-19 | 合肥宏晶微电子科技股份有限公司 | 一种数据处理方法、装置、电子设备及可读存储介质 |
CN113282949A (zh) * | 2021-07-26 | 2021-08-20 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN117527409A (zh) * | 2023-12-04 | 2024-02-06 | 北京弗莱特智能软件开发有限公司 | 数据加密的方法、个人网关设备端及数据加密系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1133297C (zh) * | 1995-09-26 | 2003-12-31 | 林仙坎 | 一种文件加密处理方法 |
US20100002868A1 (en) * | 2007-06-15 | 2010-01-07 | International Business Machines Corporation | Method and system for encryption of blocks of data |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
CN105871550A (zh) * | 2016-06-13 | 2016-08-17 | 四川特伦特科技股份有限公司 | 一种实现数字信号加密传输的系统 |
CN106301759A (zh) * | 2015-06-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种数据加密的方法、解密的方法及装置 |
CN106789971A (zh) * | 2016-12-06 | 2017-05-31 | 广州市科恩电脑有限公司 | 一种电力载波数据的加密传输方法 |
CN107222501A (zh) * | 2017-07-06 | 2017-09-29 | 中国电子科技集团公司第二十九研究所 | 一种基于信息识别码非电磁信号的信息交互安全传输方法及系统 |
-
2019
- 2019-12-31 CN CN201911418988.2A patent/CN111199047B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1133297C (zh) * | 1995-09-26 | 2003-12-31 | 林仙坎 | 一种文件加密处理方法 |
US20100002868A1 (en) * | 2007-06-15 | 2010-01-07 | International Business Machines Corporation | Method and system for encryption of blocks of data |
CN106301759A (zh) * | 2015-06-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种数据加密的方法、解密的方法及装置 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
CN105871550A (zh) * | 2016-06-13 | 2016-08-17 | 四川特伦特科技股份有限公司 | 一种实现数字信号加密传输的系统 |
CN106789971A (zh) * | 2016-12-06 | 2017-05-31 | 广州市科恩电脑有限公司 | 一种电力载波数据的加密传输方法 |
CN107222501A (zh) * | 2017-07-06 | 2017-09-29 | 中国电子科技集团公司第二十九研究所 | 一种基于信息识别码非电磁信号的信息交互安全传输方法及系统 |
Non-Patent Citations (1)
Title |
---|
余成波等: "基于AES与RSA的BLE门禁管理系统的数据加密", 《微型机与应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182624A (zh) * | 2020-10-13 | 2021-01-05 | Oppo广东移动通信有限公司 | 加密方法、加密装置、存储介质与电子设备 |
CN112528349A (zh) * | 2020-12-02 | 2021-03-19 | 合肥宏晶微电子科技股份有限公司 | 一种数据处理方法、装置、电子设备及可读存储介质 |
CN113282949A (zh) * | 2021-07-26 | 2021-08-20 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN113282949B (zh) * | 2021-07-26 | 2021-11-02 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN117527409A (zh) * | 2023-12-04 | 2024-02-06 | 北京弗莱特智能软件开发有限公司 | 数据加密的方法、个人网关设备端及数据加密系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111199047B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111199047B (zh) | 数据加密方法、解密方法、装置、设备及存储介质 | |
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
US9641331B2 (en) | Method for converting a conditional access content and receiver for the implementation for said method | |
RU2752697C1 (ru) | Криптографическое устройство с изменяемой конфигурацией | |
US8204215B2 (en) | Method and apparatus for encrypting data | |
CN108965302A (zh) | 媒体数据传输系统、方法、装置及存储介质 | |
CN106487503B (zh) | 基于剪裁的霍普菲尔德神经网络的多元公钥密码系统和方法 | |
CN103888637B (zh) | 多路图像数字信息混沌加密的方法 | |
EP1975779B1 (en) | Encryption device using a pseudorandom number generator | |
US20170353299A1 (en) | Information processing apparatus, method for processing information, and medium | |
US9264222B2 (en) | Precomputing internal AES states in counter mode to protect keys used in AES computations | |
US20080192924A1 (en) | Data encryption without padding | |
CN116846542A (zh) | 一种数据加密和解密方法、装置及电子设备 | |
WO2021176242A1 (en) | Scrambler apparatus and method in particular for cryptographic applications, and descrambler apparatus and method therefor | |
CN110213050A (zh) | 密钥生成方法、装置及存储介质 | |
KR20160136060A (ko) | 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치 | |
EP3131230A1 (en) | Encryption method, program, and system | |
CN115277064B (zh) | 数据加密、数据解密方法、装置、电子设备和介质 | |
US11165758B2 (en) | Keystream generation using media data | |
CN115632782A (zh) | 基于sm4计数器模式的随机数生成方法、系统及设备 | |
JP2017044757A (ja) | 情報処理装置及び情報処理方法 | |
Zhang et al. | A new combined chaotic system for image encryption | |
CN115632765A (zh) | 加密方法、解密方法、装置、电子设备及存储介质 | |
CN113645022A (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 |