CN116527400B - 一种多方向置乱的数据加密方法及系统 - Google Patents
一种多方向置乱的数据加密方法及系统 Download PDFInfo
- Publication number
- CN116527400B CN116527400B CN202310778458.9A CN202310778458A CN116527400B CN 116527400 B CN116527400 B CN 116527400B CN 202310778458 A CN202310778458 A CN 202310778458A CN 116527400 B CN116527400 B CN 116527400B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- sequence
- sequence data
- code
- 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 43
- 238000000926 separation method Methods 0.000 claims abstract description 113
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000008521 reorganization Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- 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
-
- 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/40—Network security protocols
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
本发明公开了一种多方向置乱的数据加密方法及系统,涉及数据安全技术领域,包括:获取数据序列长度数据;生成初始序列数据的分隔码;将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据;分别第一方向网格和第二方向网格;生成置乱码、填充码和初始方向位;生成每一个子序列数据对应的置乱加密序列;将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列。本发明的优点在于:通过对初始序列数据的随机分隔成若干个设定序列长度的子序列数据,保障总置乱加密序列无法被暴力分隔成正确的置乱加密序列,在降低加密算力的基础上,保证数据的安全性。
Description
技术领域
本发明涉及数据安全技术领域,具体是涉及一种多方向置乱的数据加密方法及系统。
背景技术
随着互联网的快速发展,网络活动越来越频繁,越来越多的音频数据、图像数据、视频数据需要通过网络来传输,而无论是音频数据、图像数据、视频数据还是文本数据等都需要经过序列化转换成二进制数据进行存储或传输。为确保数据安全性,需对序列化数据进行加密存储或传输。
多方向置乱加密方式是一种对序列化数据进行置乱加密的方式,由于其加密结果不具有唯一性,因此,在应对统计分析攻击时具有优秀的安全性能,多方向置乱加密方式是通过将初始序列数据分隔成若干个短的子序列数据,并基于预设的置乱逻辑将子序列数据填充至方向网格中,生成每一个子序列数据的置乱加密序列,再将所有的置乱加密序列进行重组成总置乱加密序列。
多方向置乱加密方式的加密等级由分隔的子序列数据的长度决定,子序列数据的长度越长,其置乱后的置乱加密序列越复杂,数据的防破解能力越强,然而,子序列数据的长度越长其置乱逻辑越复杂,导致对其进行置乱加密的所需的算力越高,因此如何在有限的设备算力的基础上,对序列化数据进行高安全性的多方向置乱加密是本领域亟需解决的技术问题。
发明内容
为解决上述技术问题,提供一种多方向置乱的数据加密方法及系统,本技术方案可有效地实现在有限的设备算力的基础上,对序列化数据进行高安全性的多方向置乱加密,保证的序列化数据在存储和传输的安全性,降低数据泄露的风险。
为达到以上目的,本发明采用的技术方案为:
一种多方向置乱的数据加密方法,包括:
确定初始序列数据,确定初始序列数据的数据位长度,获取数据序列长度数据,所述序列数据为二进制数据;
确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码;
按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,其中,第一预设长度小于第二预设长度;
分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格,记第一预设长度的二进制序列对应的方向网格为第一方向网格,记第二预设长度的二进制序列对应的方向网格为第二方向网格;
基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位;
基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包;
建立总置乱加密序列与解密密钥包之间的一一对应关系,并将解密密钥包分享给解密方,解密方通过解密密钥包对总置乱加密序列进行解密,获取初始序列数据;
其中,所述确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码具体包括:
分别确定第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力;
基于初始序列数据的加密等级获取加密方设备分配给初始序列的加密总算力;
基于加密方设备分配给初始序列的加密总算力、第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力和数据序列长度数据,通过加密算力判定条件,确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量,获取子序列数据数量数据;
基于子序列数据数量数据,随机生成分隔码,所述分隔码为二进制序列码,所述分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,所述分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
其中,所述加密算力判定条件的判别式为:
式中,为第二预设长度的子序列数据的置乱加密所需算力,/>为第一预设长度的子序列数据的置乱加密所需算力,/>为加密方设备分配给初始序列的加密总算力,/>为第一预设长度,/>为第二预设长度,/>为初始序列数据的数据位长度,/>分别为第二预设长度的子序列数据的数量为n和n+1时的第一预设长度的子序列数据的数量;
当且仅当同时满足上述加密算力判定条件的判别式时,n为确定的由初始序列数据分隔成的第二预设长度的子序列数据的数量,为确定的由初始序列数据分隔成的第一预设长度的子序列数据的数量;
所述置乱码的生成方法为:
基于子序列数据的长度减一,即为子序列数据对应的置乱码的长度;
基于子序列数据对应的置乱码的长度,随机生成子序列数据对应的置乱码的长度的二进制数据码,即为子序列数据对应的置乱码。
所述填充码的生成方法为:
基于子序列数据的长度获取子序列数据的对应的方向网格;
确定子序列数据的对应的方向网格的数据位数量;
基于子序列数据的对应的方向网格的数据位数量和子序列数据的长度做差,获取子序列数据对应的填充码的长度;
基于子序列数据对应的填充码的长度,随机生成子序列数据对应的填充码的长度的二进制数据码,即为子序列数据对应的填充码。
所述初始方向位的生成方法为:
确定子序列数据的长度;
基于子序列数据的长度,按照随机数算法在[0,]范围内生成一个随机数,所述随机数即为子序列数据对应的初始方位数,其中,/>为子序列数据的长度。
优选的,所述按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据具体包括:
按照顺序依次读取分隔码每一位的数据位,若分隔码的数据位为“0”,从初始序列数据中分隔出第一预设长度的子序列数据,若分隔码的数据位为“1”,从初始序列数据中分隔出第二预设长度的子序列数据,并记录子序列数据的分隔顺序;
判定最后分隔出的子序列数据长度是否等于第一预设长度或第二预设长度,若是,则不做响应,若否,则在最后分隔出的子序列数据末端加入若干个“0”位,使其序列长度等于第一预设长度或第二预设长度。
优选的,所述基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列具体包括:
确定方向网格的数据位和填充位,所述数据位用于填充子序列数据,所述填充位填充填充码;
将填充码填充进填充位;
基于顺时针方向为每一个数据位进行编号;
基于初始方位数确定子序列数据首位填充的数据位编号;
基于置乱码依次确定子序列数据每一位填充的数据位位置,并将子序列数据填充进数据为,其中,若置乱码数据为“0”,则对应的子序列数据当前位填充的数据位为按照顺时针离上一位填充的数据位最近的空白数据位,若置乱码数据为“1”,则对应的子序列数据当前位填充的数据位为按照逆时针离上一位填充的数据位最近的空白数据位,所述空白数据位为未填充子序列数据的填充位;
基于方向网格的填充数据生成子序列数据对应的置乱加密序列。
进一步的,提出一种多方向置乱的数据加密系统,用于实现如上述的多方向置乱的数据加密方法,包括:
数据分隔模块,所述数据分隔模块用于生成初始序列数据的分隔码并按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据;
数据置乱加密模块,数据置乱加密模块与所述数据分隔模块电性连接,所述数据置乱加密模块用于分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格、将基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位并基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
数据重组模块,数据重组模块与所述数据分隔模块和数据置乱加密模块电性连接,所述数据重组模块用于将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
解密封包模块,解密封包模块与所述数据分隔模块和数据置乱加密模块电性连接,所述解密封包模块用于将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包。
可选的,所述数据分隔模块包括:
计算单元,所述计算单元用于进行计算确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量;
分隔码生成单元,所述分隔码生成单元用于基于子序列数据数量数据,随机生成分隔码,所述分隔码为二进制序列码,所述分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,所述分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
分隔读取单元,所述分隔读取单元用于读取分隔码,并基于分隔码将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据。
可选的,所述数据置乱加密模块包括:
置乱码生成单元,所述置乱码生成单元用于生成每个子序列数据对应的置乱码;
填充码生成单元,所述填充码生成单元用于生成每个子序列数据对应的填充码;
初始方向位生成单元,所述初始方向位生成单元用于生成每个子序列数据对应的初始方向位;
数据填充单元,所述数据填充单元用于基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列。
与现有技术相比,本发明的有益效果在于:
本发明提出一种多方向置乱的数据加密方案,通过内置两种以上的不同长度的子序列数据的置乱逻辑方法,在进行数据加密时,基于初始数据加密的算力需求进行计算确定不同长度的子序列数据的分隔数量,之后基于不同长度的子序列数据的分隔数量生成对应的分隔码,按照分隔码将初始数据进行分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,之后通过内置的置乱逻辑方法分别对子序列数据进行多方向置乱加密,通过此方式,保证初始数据分隔出的子序列数据的长度是随机的,因此即使子序列数据的置乱逻辑被破解,同样无法进行正确的将总置乱加密序列分隔成正确的置乱加密序列,进而无法实现反方向破解,在降低加密算力的基础上,有效地保证了数据的加密等级,可有效的增加加密数据抵抗暴力破解攻击的能力,保证数据的安全性。
附图说明
图1为本发明提出的多方向置乱的数据加密方法流程图;
图2为本发明中的分隔码的生成方法流程图;
图3为本发明中的对初始序列数据进行分隔的方法流程图;
图4为本发明中的置乱码的生成方法流程图;
图5为本发明中的填充码的生成方法流程图;
图6为本发明中的初始方向位的生成方法流程图;
图7为本发明中的置乱加密序列的生成方法流程图;
图8为本发明实施例中序列长度为16的子序列数据的多方向置乱加密示意图;
图9为本发明实施例中序列长度为8的子序列数据的多方向置乱加密示意图;
图10为本发明提出的多方向置乱的数据加密系统框图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。
参照图1所示,一种多方向置乱的数据加密方法,包括:
确定初始序列数据,确定初始序列数据的数据位长度,获取数据序列长度数据,序列数据为二进制数据;
确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码;
按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,其中,第一预设长度小于第二预设长度;
分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格,记第一预设长度的二进制序列对应的方向网格为第一方向网格,记第二预设长度的二进制序列对应的方向网格为第二方向网格;
基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位;
基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包;
建立总置乱加密序列与解密密钥包之间的一一对应关系,并将解密密钥包分享给解密方,解密方通过解密密钥包对总置乱加密序列进行解密,获取初始序列数据。
本方案通过内置两种以上的不同长度的子序列数据的置乱逻辑方法,在进行数据加密时,基于初始数据加密的算力需求进行生成不同长度的子序列数据的分隔数量,之后基于不同长度的子序列数据的分隔数量生成对应的分隔码,按照分隔码将初始数据进行分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,之后通过内置的置乱逻辑方法分别对子序列数据进行多方向置乱加密,通过此方式,初始数据分隔时的序列长度是随机的,因此即使子序列数据的置乱逻辑被破解,同样无法进行正确的将总置乱加密序列分隔成正确的置乱加密序列,进而无法实现反方向暴力破解。
请参阅图2所示,确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码具体包括:
分别确定第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力;
基于初始序列数据的加密等级获取加密方设备分配给初始序列的加密总算力;
基于加密方设备分配给初始序列的加密总算力、第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力和数据序列长度数据,通过加密算力判定条件,确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量,获取子序列数据数量数据;
基于子序列数据数量数据,随机生成分隔码,分隔码为二进制序列码,分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
其中,加密算力判定条件的判别式为:
式中,为第二预设长度的子序列数据的置乱加密所需算力,/>为第一预设长度的子序列数据的置乱加密所需算力,/>为加密方设备分配给初始序列的加密总算力,/>为第一预设长度,/>为第二预设长度,/>为初始序列数据的数据位长度,/>分别为第二预设长度的子序列数据的数量为n和n+1时的第一预设长度的子序列数据的数量;
当且仅当同时满足上述加密算力判定条件的判别式时,n为确定由初始序列数据分隔成的第二预设长度的子序列数据的数量,为确定的由初始序列数据分隔成的第一预设长度的子序列数据的数量。
可以理解的是,对不同序列长度的子序列数据进行加密时所需的算力不相同,对于长度较长的子序列数据,由于其方向网格更加复杂,子序列数据的置乱码、填充码的生成算力和数据往方向网格填充时所需的算力均需要相应提高,同时相应的,对长度较长的子序列数据生成的置乱加密序列进行暴力破解时所需要的算力也相应增加,进而提高数据的安全性。
因此,在进行初始序列的加密计算时,需要同时考虑加密方设备的可用来进行初始序列的加密的算力,保证长度较长的子序列数据数量维持在算力允许下的最大值,进而保证在当前设备算力下的初始序列的最大化的加密安全性。
请参阅图3所示,按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据具体包括:
按照顺序依次读取分隔码每一位的数据位,若分隔码的数据位为“0”,从初始序列数据中分隔出第一预设长度的子序列数据,若分隔码的数据位为“1”,从初始序列数据中分隔出第二预设长度的子序列数据,并记录子序列数据的分隔顺序;
判定最后分隔出的子序列数据长度是否等于第一预设长度或第二预设长度,若是,则不做响应,若否,则在最后分隔出的子序列数据末端加入若干个“0”位,使其序列长度等于第一预设长度或第二预设长度。
在进行初始序列分隔时,由于分隔码中“0”位和“1”位的顺序是随机的,因此分隔出的第一预设长度或第二预设长度的子序列数据的顺序也是随机的,通过此方式,保持子序列数据的无序性,即使子序列数据的置乱逻辑被破解,由于无法获取正确的置乱加密序列,同样无法破解数据,进而增加数据被暴力破解攻击的难度,保证数据的安全性。
请参阅图4所示,置乱码的生成方法为:
基于子序列数据的长度减一,即为子序列数据对应的置乱码的长度;
基于子序列数据对应的置乱码的长度,随机生成子序列数据对应的置乱码的长度的二进制数据码,即为子序列数据对应的置乱码。
请参阅图5所示,填充码的生成方法为:
基于子序列数据的长度获取子序列数据的对应的方向网格;
确定子序列数据的对应的方向网格的数据位数量;
基于子序列数据的对应的方向网格的数据位数量和子序列数据的长度做差,获取子序列数据对应的填充码的长度;
基于子序列数据对应的填充码的长度,随机生成子序列数据对应的填充码的长度的二进制数据码,即为子序列数据对应的填充码。
请参阅图6所示,初始方向位的生成方法为:
确定子序列数据的长度;
基于子序列数据的长度,按照随机数算法在[0,]范围内生成一个随机数,随机数即为子序列数据对应的初始方位数,其中,/>为子序列数据的长度。
请参阅图7所示,基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列具体包括:
确定方向网格的数据位和填充位,数据位用于填充子序列数据,填充位填充填充码;
将填充码填充进填充位;
基于顺时针方向为每一个数据位进行编号;
基于初始方位数确定子序列数据首位填充的数据位编号;
基于置乱码依次确定子序列数据每一位填充的数据位位置,并将子序列数据填充进数据为,其中,若置乱码数据为“0”,则对应的子序列数据当前位填充的数据位为按照顺时针离上一位填充的数据位最近的空白数据位,若置乱码数据为“1”,则对应的子序列数据当前位填充的数据位为按照逆时针离上一位填充的数据位最近的空白数据位,空白数据位为未填充子序列数据的填充位;
基于方向网格的填充数据生成子序列数据对应的置乱加密序列。
为进一步的说明本方案,以下结合一序列数据的详细加密过程进行详细说明本方案的发明构思:
初始序列:010110000000111111111100;
第一序列长度:8;第二序列长度:16;
在本实施例中,加密方设备分配给初始序列的加密总算力可满足一个第一序列长度的子序列数据和一个第二序列长度的子序列数据的加密需求;
基于上述需求,生成的分隔码为:10;
基于分隔码分隔出的子序列数据为:
0101100000001111;
11111100;
请参阅8所示,
0101100000001111的加密过程为:
生成置乱码:
基于0101100000001111的长度减一得15,即为0101100000001111对应的置乱码的长度;
随机生成长度为15的二进制数据码,得010001101000011,置乱码为:010001101000011;
生成填充码:
如图8所示,0101100000001111对应的方向网格共有25个数据位,则0101100000001111对应的填充码的长度为9;
随机生成长度为9的二进制数据码,得011011010,填充码为:011011010;
生成初始方向位:
在[0,]的范围内随机生成一随机数,得5,初始方向位为:5;
确定方向网格的数据位,本实施例中,以每一个边缘网格方向距方向网格中心最近的网格点作为数据位,其余网格点为填充位;
参照图8所示,0101100000001111最终的填充得到的置乱加密序列为:0011100110001010110001110;
请参阅9所示,
11111100的加密过程为:
生成置乱码:
基于11111100的长度减一得7,即为11111100对应的置乱码的长度;
随机生成长度为7的二进制数据码,得1001101,置乱码为:1001101;
生成填充码:
如图9所示,11111100对应的方向网格共有9个数据位,则11111100对应的填充码的长度为1;
随机生成长度为9的二进制数据码,得0,填充码为:0;
生成初始方向位:
在[0,]的范围内随机生成一随机数,得3,初始方向位为:3;
确定方向网格的数据位,本实施例中,以每一个边缘网格方向距方向网格中心最近的网格点作为数据位,其余网格点为填充位;
参照图9所示,11111100最终的填充得到的置乱加密序列为:111100110;
010110000000111111111100的总置乱加密序列为:0011100110001010110001110111100110。
需要理解的是,上述具体实施例仅为确保本领域的技术人员了解本发明构思,其具体数据并不构成对于本方案的实施限制,对于其他数据采用本发明构思所实现的数据置乱加密均应看成是本方案的不同实施例。
进一步的请参阅图10所示,基于与上述多方向置乱的数据加密方法相同的发明构思,本方案还提出一种多方向置乱的数据加密系统,包括:
数据分隔模块,数据分隔模块用于生成初始序列数据的分隔码并按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据;
数据置乱加密模块,数据置乱加密模块与数据分隔模块电性连接,数据置乱加密模块用于分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格、将基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位并基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
数据重组模块,数据重组模块与数据分隔模块和数据置乱加密模块电性连接,数据重组模块用于将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
解密封包模块,解密封包模块与数据分隔模块和数据置乱加密模块电性连接,解密封包模块用于将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包。
其中,数据分隔模块包括:
计算单元,计算单元用于进行计算确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量;
分隔码生成单元,分隔码生成单元用于基于子序列数据数量数据,随机生成分隔码,分隔码为二进制序列码,分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
分隔读取单元,分隔读取单元用于读取分隔码,并基于分隔码将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据。
数据置乱加密模块包括:
置乱码生成单元,置乱码生成单元用于生成每个子序列数据对应的置乱码;
填充码生成单元,填充码生成单元用于生成每个子序列数据对应的填充码;
初始方向位生成单元,初始方向位生成单元用于生成每个子序列数据对应的初始方向位;
数据填充单元,数据填充单元用于基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列。
上述多方向置乱的数据加密系统的工作过程为:
步骤一:计算单元计算确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量;
步骤二:分隔码生成单元基于子序列数据数量数据,随机生成分隔码,分隔码为二进制序列码,分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
步骤三:分隔读取单元用于读取分隔码,并基于分隔码将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,若分隔码的数据位为“0”,从初始序列数据中分隔出第一预设长度的子序列数据,若分隔码的数据位为“1”,从初始序列数据中分隔出第二预设长度的子序列数据;
步骤四:置乱码生成单元、填充码生成单元和初始方向位生成单元分别生成每一个子序列数据的置乱码、填充码和初始方向位;
步骤五:数据填充单元基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列,填充过程具体包括:确定方向网格的数据位和填充位;将填充码填充进填充位;基于顺时针方向为每一个数据位进行编号;基于初始方位数确定子序列数据首位填充的数据位编号;基于置乱码依次确定子序列数据每一位填充的数据位位置,并将子序列数据填充进数据为,其中,若置乱码数据为“0”,则对应的子序列数据当前位填充的数据位为按照顺时针离上一位填充的数据位最近的空白数据位,若置乱码数据为“1”,则对应的子序列数据当前位填充的数据位为按照逆时针离上一位填充的数据位最近的空白数据位,空白数据位为未填充子序列数据的填充位;基于方向网格的填充数据生成子序列数据对应的置乱加密序列。
步骤六:数据重组模块将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
步骤七:解密封包模块将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包。
综上所述,本发明的优点在于:通过对初始序列数据的随机分隔成若干个设定序列长度的子序列数据,保障总置乱加密序列无法被暴力分隔成正确的置乱加密序列,在降低加密算力的基础上,保证数据的安全性。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (6)
1.一种多方向置乱的数据加密方法,其特征在于,包括:
确定初始序列数据,确定初始序列数据的数据位长度,获取数据序列长度数据,所述序列数据为二进制数据;
确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码;
按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据,其中,第一预设长度小于第二预设长度;
分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格,记第一预设长度的二进制序列对应的方向网格为第一方向网格,记第二预设长度的二进制序列对应的方向网格为第二方向网格;
基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位;
基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包;
建立总置乱加密序列与解密密钥包之间的一一对应关系,并将解密密钥包分享给解密方,解密方通过解密密钥包对总置乱加密序列进行解密,获取初始序列数据;
其中,所述确定初始序列数据的加密等级,基于初始序列数据的加密等级生成初始序列数据的分隔码具体包括:
分别确定第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力;
基于初始序列数据的加密等级获取加密方设备分配给初始序列的加密总算力;
基于加密方设备分配给初始序列的加密总算力、第一预设长度的子序列数据和第二预设长度的子序列数据的置乱加密所需算力和数据序列长度数据,通过加密算力判定条件,确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量,获取子序列数据数量数据;
基于子序列数据数量数据,随机生成分隔码,所述分隔码为二进制序列码,所述分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,所述分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
其中,所述加密算力判定条件的判别式为:
式中,为第二预设长度的子序列数据的置乱加密所需算力,/>为第一预设长度的子序列数据的置乱加密所需算力,/>为加密方设备分配给初始序列的加密总算力,/>为第一预设长度,/>为第二预设长度,/>为初始序列数据的数据位长度,/>分别为第二预设长度的子序列数据的数量为n和n+1时的第一预设长度的子序列数据的数量;当且仅当同时满足上述加密算力判定条件的判别式时,n为确定的由初始序列数据分隔成的第二预设长度的子序列数据的数量,/>为确定的由初始序列数据分隔成的第一预设长度的子序列数据的数量;
所述置乱码的生成方法为:
基于子序列数据的长度减一,即为子序列数据对应的置乱码的长度;
基于子序列数据对应的置乱码的长度,随机生成子序列数据对应的置乱码的长度的二进制数据码,即为子序列数据对应的置乱码;
所述填充码的生成方法为:
基于子序列数据的长度获取子序列数据的对应的方向网格;
确定子序列数据的对应的方向网格的数据位数量;
基于子序列数据的对应的方向网格的数据位数量和子序列数据的长度做差,获取子序列数据对应的填充码的长度;
基于子序列数据对应的填充码的长度,随机生成子序列数据对应的填充码的长度的二进制数据码,即为子序列数据对应的填充码;
所述初始方向位的生成方法为:
确定子序列数据的长度;
基于子序列数据的长度,按照随机数算法在[0,]范围内生成一个随机数,所述随机数即为子序列数据对应的初始方位数,其中,/>为子序列数据的长度。
2.根据权利要求1所述的一种多方向置乱的数据加密方法,其特征在于,所述按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据具体包括:
按照顺序依次读取分隔码每一位的数据位,若分隔码的数据位为“0”,从初始序列数据中分隔出第一预设长度的子序列数据,若分隔码的数据位为“1”,从初始序列数据中分隔出第二预设长度的子序列数据,并记录子序列数据的分隔顺序;
判定最后分隔出的子序列数据长度是否等于第一预设长度或第二预设长度,若是,则不做响应,若否,则在最后分隔出的子序列数据末端加入若干个“0”位,使其序列长度等于第一预设长度或第二预设长度。
3.根据权利要求2所述的一种多方向置乱的数据加密方法,其特征在于,所述基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列具体包括:
确定方向网格的数据位和填充位,所述数据位用于填充子序列数据,所述填充位填充填充码;
将填充码填充进填充位;
基于顺时针方向为每一个数据位进行编号;
基于初始方位数确定子序列数据首位填充的数据位编号;
基于置乱码依次确定子序列数据每一位填充的数据位位置,并将子序列数据填充进数据为,其中,若置乱码数据为“0”,则对应的子序列数据当前位填充的数据位为按照顺时针离上一位填充的数据位最近的空白数据位,若置乱码数据为“1”,则对应的子序列数据当前位填充的数据位为按照逆时针离上一位填充的数据位最近的空白数据位,所述空白数据位为未填充子序列数据的填充位;
基于方向网格的填充数据生成子序列数据对应的置乱加密序列。
4.一种多方向置乱的数据加密系统,用于实现如权利要求1-3任一项所述的多方向置乱的数据加密方法,其特征在于,包括:
数据分隔模块,所述数据分隔模块用于生成初始序列数据的分隔码并按照初始序列数据的分隔码,将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据;
数据置乱加密模块,数据置乱加密模块与所述数据分隔模块电性连接,所述数据置乱加密模块用于分别生成第一预设长度的二进制序列对应的方向网格和第二预设长度的二进制序列对应的方向网格、将基于子序列数据的长度,生成每一个子序列数据的置乱码、填充码和初始方向位并基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列;
数据重组模块,数据重组模块与所述数据分隔模块和数据置乱加密模块电性连接,所述数据重组模块用于将所有子序列数据对应的置乱加密序列按照子序列数据在初始序列数据中的顺序进行排序组合成总置乱加密序列;
解密封包模块,解密封包模块与所述数据分隔模块和数据置乱加密模块电性连接,所述解密封包模块用于将分隔码、每一个子序列数据的置乱码、填充码和初始方向位封装成解密密钥包。
5.根据权利要求4所述的一种多方向置乱的数据加密系统,其特征在于,所述数据分隔模块包括:
计算单元,所述计算单元用于进行计算确定由初始序列数据分隔成的第一预设长度的子序列数据的数量和第二预设长度的子序列数据的数量;
分隔码生成单元,所述分隔码生成单元用于基于子序列数据数量数据,随机生成分隔码,所述分隔码为二进制序列码,所述分隔码中“0”位的数量等于第一预设长度的子序列数据的数量,所述分隔码中“1”位的数量等于第二预设长度的子序列数据的数量;
分隔读取单元,所述分隔读取单元用于读取分隔码,并基于分隔码将初始序列数据分隔成若干个第一预设长度的子序列数据和若干个第二预设长度的子序列数据。
6.根据权利要求5所述的一种多方向置乱的数据加密系统,其特征在于,所述数据置乱加密模块包括:
置乱码生成单元,所述置乱码生成单元用于生成每个子序列数据对应的置乱码;
填充码生成单元,所述填充码生成单元用于生成每个子序列数据对应的填充码;
初始方向位生成单元,所述初始方向位生成单元用于生成每个子序列数据对应的初始方向位;
数据填充单元,所述数据填充单元用于基于每一个子序列数据的置乱码、填充码和初始方向位,将每个子序列数据填入对应预设长度的方向网格中,生成每一个子序列数据对应的置乱加密序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778458.9A CN116527400B (zh) | 2023-06-29 | 2023-06-29 | 一种多方向置乱的数据加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310778458.9A CN116527400B (zh) | 2023-06-29 | 2023-06-29 | 一种多方向置乱的数据加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116527400A CN116527400A (zh) | 2023-08-01 |
CN116527400B true CN116527400B (zh) | 2023-09-12 |
Family
ID=87406637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310778458.9A Active CN116527400B (zh) | 2023-06-29 | 2023-06-29 | 一种多方向置乱的数据加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527400B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052805A (zh) * | 2017-11-20 | 2018-05-18 | 北京旋极信息技术股份有限公司 | 一种数据加解密方法和装置 |
CN112714235A (zh) * | 2020-12-22 | 2021-04-27 | 郑州轻工业大学 | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 |
CN115276989A (zh) * | 2022-09-28 | 2022-11-01 | 南通德辰智能科技有限公司 | 基于方向置乱的序列化数据加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210013121A (ko) * | 2018-05-25 | 2021-02-03 | 젠무테크 가부시키가이샤 | 데이터 처리 장치, 방법 및 컴퓨터 프로그램 |
-
2023
- 2023-06-29 CN CN202310778458.9A patent/CN116527400B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052805A (zh) * | 2017-11-20 | 2018-05-18 | 北京旋极信息技术股份有限公司 | 一种数据加解密方法和装置 |
CN112714235A (zh) * | 2020-12-22 | 2021-04-27 | 郑州轻工业大学 | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 |
CN115276989A (zh) * | 2022-09-28 | 2022-11-01 | 南通德辰智能科技有限公司 | 基于方向置乱的序列化数据加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116527400A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption | |
CN108898025B (zh) | 基于双重置乱和dna编码的混沌图像加密方法 | |
CN112714235B (zh) | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 | |
CN112202984B (zh) | 一种基于纠错冗余的密文域可逆信息隐藏方法 | |
CN107094072B (zh) | 一种基于广义Henon映射的混合混沌加密方法 | |
CN115664858B (zh) | 一种用于网络安全的认证数据加密、解密系统 | |
CN107392970B (zh) | 一种基于位平面和高维混沌系统的数字图像加密方法 | |
CN111314050B (zh) | 一种加解密方法及装置 | |
CN115270165B (zh) | 一种工程勘测的信息管理方法 | |
CN115659409B (zh) | 一种金融资产交易数据安全存储方法 | |
CN104881838B (zh) | 一种基于gf(23)的(k,n)有意义无扩张图像分存和重构方法 | |
CN110149200A (zh) | 一种基于动态dna和4d混沌的彩色图像加密方法 | |
CN112134688A (zh) | 一种基于量子混沌映射与sha-3的非对称图像加密方法 | |
CN110543778A (zh) | 一种字符数据线性随机加密和解密算法 | |
CN115311118A (zh) | 一种基于二维离散忆阻超混沌映射的遥感图像加密方法 | |
CN111163108A (zh) | 一种电力物联网安全终端芯片复合加密系统和方法 | |
CN113312654B (zh) | 一种基于csp问题的同态密文编码与计算方法 | |
CN113300827B (zh) | 一种基于拉丁方的混沌图像加密方法 | |
CN112769545B (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
CN116527400B (zh) | 一种多方向置乱的数据加密方法及系统 | |
CN111368317B (zh) | 一种计算机数据加密系统及方法 | |
CN211296744U (zh) | 一种电力物联网安全终端复合加密模块 | |
Wei et al. | Image encryption algorithm based on fractional order chaotic system | |
CN111931194A (zh) | 基于云计算的安防监控大数据处理方法及装置 | |
CN116094716A (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 |