CN115941189B - 一种用于文档数据的加密方法 - Google Patents
一种用于文档数据的加密方法 Download PDFInfo
- Publication number
- CN115941189B CN115941189B CN202310238577.5A CN202310238577A CN115941189B CN 115941189 B CN115941189 B CN 115941189B CN 202310238577 A CN202310238577 A CN 202310238577A CN 115941189 B CN115941189 B CN 115941189B
- Authority
- CN
- China
- Prior art keywords
- sequence
- data
- test data
- binary number
- rule
- 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
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明涉及数据加密技术领域,具体涉及一种用于文档数据的加密方法,包括:对文档进行编码获得明文数据序列,根据码字获得测试数据资源序列,根据混沌映射的参数设置参数密钥,根据所有种DNA编码解码规则构建规则密钥表;根据参数密钥和混沌映射获得混沌序列,根据混沌序列和测试数据资源序列获得测试数据序列,对明文数据序列进行划分获得二进制数序列,根据二进制数序列和规则密钥表获得规则序列,根据规则序列对测试数据序列中的所有测试数据子序列进行编码和解码获得密文数据序列,实现对文档数据的加密。本发明的文档数据加密方法密钥空间足够大,具有的雪崩效应,安全性高,加密和解密花费时间短、速度快。
Description
技术领域
本发明涉及数据加密技术领域,具体涉及一种用于文档数据的加密方法。
背景技术
企业中为各应用提供数据支持的文档,通常存储在中心机房的服务器中,依托于良好的硬件设施,文档安全性较高;员工个人的日常工作文档,则存储在个人计算机上,安全性相对较低,而员工个人的日常工作文档不乏一些涉及商业信息的重要文档,这些重要文档一旦被非法窃取,将导致企业信息泄露,给企业造成严重损失;因此,需要对员工个人计算机中的日常工作文档进行数据加密。
非对称加密方法基本都是基于数学难题设计,计算过程复杂,因此,加密和解密花费时间长、速度慢,在某些极端情况下,甚至能比对称加密方法慢上1000倍,所有非对称加密算法只适合对少量数据进行加密,不适用与数据量较大的日常工作文档,而对称加密算法虽然速度快,但是随机化特性较差,不具有雪崩效应,攻击者可以通过分析从密文推测出明文,安全性不足。
因此,为了保证文档数据的安全性,本发明提出一种密钥空间大且具有雪崩效应的对称加密算法作为文档数据的加密方法。
发明内容
本发明提供一种用于文档数据的加密方法,以解决现有的问题。
本发明的一种用于文档数据的加密方法采用如下技术方案:
本发明一个实施例提供了一种用于文档数据的加密方法,该方法包括以下步骤:
对文档中的所有文档数据进行编码,获得明文数据序列;
根据码字获得测试数据资源序列,根据混沌映射的参数设置参数密钥,根据所有种DNA编码解码规则构建规则密钥表;
根据参数密钥和混沌映射获得混沌序列,根据混沌序列和测试数据资源序列,获得测试数据序列;
对明文数据序列进行划分获得二进制数序列;根据规则密钥表,获得二进制数序列中每个二进制数对应的DNA编码解码规则,将获得的所有DNA编码解码规则按照顺序组成的序列记为规则序列;
根据规则序列对测试数据序列中的测试数据子序列进行编码和解码,包括:用规则序列中的第j-1个DNA编码解码规则对测试数据序列中的第j个测试数据子序列进行编码,将第j个测试数据子序列中所有测试数据对应的碱基按照顺序组成的序列,记为第j个测试数据子序列的中间数据子序列,用规则序列中的第j个DNA编码解码规则对第j个测试数据子序列的中间数据子序列进行解码,将第j个测试数据子序列的中间数据子序列的码字按照顺序组成的序列,记为第j个测试数据子序列的密文数据子序列;对于测试数据序列中的第1个测试数据子序列,用规则密钥表中的第1个DNA编码解码规则对第1个测试数据子序列进行编码;
根据规则序列对测试数据序列中的所有测试数据子序列进行编码和解码,将获得的所有密文数据子序列按照顺序组成的序列记为密文数据序列,实现对文档数据的加密。
所述根据码字获得测试数据资源序列,包括的具体步骤如下:
将所有3位二进制数记为码字,其中,码字000和码字111互补,码字001和码字110互补,码字010和码字101互补,码字011和码字100互补;
随机选择不互补的4个码字组成测试集合,获得8种不同的测试集合,将测试集合中的所有3位二进制数随机排序获得测试数据子序列,获得192种不同的测试数据子序列;将所有种测试数据子序列随机排序组成的序列记为测试数据资源序列。
所述根据所有种DNA编码解码规则构建规则密钥表,包括的具体步骤如下:
新型DNA编码是将3位二进制数编码为A,T,G,C,B,S,P,Z八种碱基中的一种,碱基之间的配对关系为:A与T互补,C与G互补,B与S互补,P与Z互补,符合沃森-克里克互补规则的DNA编码解码规则有K=384种;
在7位二进制数和8位二进制数的前面加一个标识符,其中,7位二进制数的标识符等于第一数码,8位二进制数的标识符等于第二数码,第一数码为0,第二数码为1;将标识符和7位二进制数组成的8位二进制数记为第一二进制数,将标识符和8位二进制数组成的9位二进制数记为第二二进制数;
将所有种DNA编码解码规则与所有第一二进制数和所有第二二进制数的对应关系记为规则密钥表。
进一步地,所述根据混沌序列和测试数据资源序列,获得测试数据序列,包括的具体步骤如下:
将测试数据资源序列中第个测试数据子序列作为第i个测试数据子序列,表示混沌序列中的第i个混沌值,将所有测试数据子序列构成测试数据序列。
进一步地,所述对明文数据序列进行划分获得二进制数序列,包括的具体步骤如下:
对明文数据序列进行划分获得二进制数,包括:将明文数据序列中的第一个明文数据作为标识符:如果标识符等于第一数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于8,在明文数据序列后面补0,将明文数据序列补充为长度等于8的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第一二进制数,如果明文数据序列的长度大于等于8,则获得明文数据序列中的前8个明文数据组成的二进制数,且该二进制数为第一二进制数;如果标识符等于第二数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于9,通过在明文数据序列后面补0,将明文数据序列补充为长度等于9的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第二二进制数,如果明文数据序列的长度大于等于9,则获得明文数据序列中的前9个明文数据组成的二进制数,且该二进制数为第二二进制数;将获得的二进制数从明文数据序列中去除;
重复对明文数据序列进行划分获得二进制数,直至明文数据序列为空,将获得的所有二进制数按照顺序组成的序列记为二进制数序列。
进一步地,所述编码和解码,包括的具体步骤如下:
根据DNA编码解码规则进行编码,是指将码字编码为碱基,获得的编码结果为碱基;根据DNA编码解码规则进行解码,是指将碱基解码为码字,获得的解码结果为码字。
本发明的技术方案的有益效果是:本发明实施例综合密钥空间较大的测试数据资源序列、参数密钥和规则密钥表作为本发明的文档数据加密方法的密钥,因此,本发明的文档数据加密方法的密钥空间足够大,安全性高;本发明的文档数据加密方法具体是,根据通过对明文数据序列进行划分获得二进制数序列,根据二进制数序列和规则密钥表获得规则序列,结合DNA编码解码规则的特征构建测试数据子序列,参数密钥和所有种测试数据子序列获得测试数据序列,分别根据规则序列中的前一个DNA编码解码规则和当前DNA编码解码规则对测试数据序列中的测试数据子序列进行编码和解码,获得密文数据子序列组成的密文数据序列;通过简单的查找判断操作,即可实现对文档数据的加密,加密和解密花费时间短、速度快,且结合了规则序列中的前一个DNA编码解码规则,获得密文数据子序列,因此,明文数据序列中的任何一个明文数据的细微变化都会引起密文数据序列的不可区分性的改变,本发明的文档数据加密方法具有较好的随机化特性,使得本发明的文档数据加密方法具有的雪崩效应,攻击者无法从密文数据序列推测出明文数据序列,保证了本发明的文档数据加密方法的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种用于文档数据的加密方法的步骤流程图;
图2为本发明提供的规则密钥表。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于文档数据的加密方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种用于文档数据的加密方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种用于文档数据的加密方法的步骤流程图。
S001.对文档进行编码,获得明文数据序列。
将员工个人的日常工作文档记为文档,文档包含汉字、英文字母、阿拉伯数字以及各种符号,可以通过文本编码方式对文档中的所有文档数据进行编码,将文档中所有文档数据的编码结果按照顺序组成的序列,记为明文数据序列。
常见文本编码方式包括:ANSI编码方式、ASCII编码方式、UTF8编码方式、UNICODE编码方式、GB2312编码方式、UCS-2编码方式和UTF16编码方式等,本实施例中使用的文本编码方式为GB2312编码方式;GB2312编码方式将每个数据编码为2个字节(16个比特),因此,明文数据序列的本质是二值序列,明文数据序列中的每个明文数据都是0或1的一种,明文数据序列的长度为16×L,L表示文档中文档数据的数量。
例如,文档中的文档数据为“一,种,用,于,文,档,数,据,的,加,密,方,法”,文档中文档数据的数量为L=13,则文档数据的编码结果为{1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,…,0,1,1,1,1,0,1,0,1,0,0,0},记为明文数据序列,且明文数据序列的长度为16×L=208。
至此,通过对文档进行编码,获得明文数据序列。
S002.根据码字获得测试数据资源序列,设置参数密钥,根据所有种DNA编码解码规则构建规则密钥表。
需要说明的是,DNA编码是将二进制数编码为对应碱基:传统的DNA编码是基于A,T,G,C四种碱基,符合沃森-克里克互补规则的DNA编码解码规则仅有8种;新型DNA编码是基于A,T,G,C,B,S,P,Z八种碱基,符合沃森-克里克互补规则的DNA编码解码规则高达384种;因此,结合新型DNA编码构建的加密方法的安全性和复杂性更高。
1.根据码字获得测试数据资源序列。
需要说明的是,本实施例结合一种新型DNA编码构建文档数据的加密方法,对文档数据(明文数据序列)进行加密,具体加密步骤为:根据明文数据序列获得对应的DNA编码解码规则,根据DNA编码解码规则对测试数据序列进行编码,将测试数据序列的编码结果作为密文数据;因此,对密文数据进行解密时,需要根据测试数据序列和密文数据(测试数据序列的编码结果)获得相应的DNA编码解码规则,进而根据DNA编码解码规则获得明文数据序列;为了保证加密方法的可实施性和可解密性,在构建测试数据序列时,需要保证能够根据测试数据序列和测试数据序列的编码结果,准确地获得相应的DNA编码解码规则。
进一步需要说明的是,考虑到新型DNA编码的所有DNA编码解码规则是根据沃森-克里克互补规则获得的,因此,两个互补碱基对应的两个码字(3位二进制数)也互补;所有只需要确定A,T,G,C,B,S,P,Z八种碱基中,不互补的4种碱基以及4种碱基对应的码字,就能够根据4种碱基以及4种碱基对应的码字,准确地获得相应的DNA编码解码规则;同理,只需要确定八种码字中,不互补的4种码字以及4种码字对应的碱基,就能够根据4种码字以及4种码字对应的碱基,准确地获得相应的DNA编码解码规则。
例如,当已知不互补的4种码字001、000、011、010以及和4种码字对应的碱基A、G、B、P时,根据沃森-克里克互补规则,可以获得剩余4种码字110、111、100、101对应的碱基分别为T、C、S、Z,进而基于如图2所示的DNA编码表,可知对应的规则为DNA编码表中的第1种DNA编码解码规则。因此,在构建测试数据子序列时,要求测试数据子序列包括不互补的4种码字。
在本实施例中,将所有3位二进制数记为码字,其中,码字000和码字111互补,码字001和码字110互补,码字010和码字101互补,码字011和码字100互补。
随机选择不互补的4个码字组成测试集合,共有2×2×2×2=8种不同的测试集合,其中,不互补的4个码字是指,4个码字中任意两个码字均不互补;将测试集合中的所有3位二进制数随机排序获得测试数据子序列,共有N=8×4!=192种不同的测试数据子序列;将所有种测试数据子序列随机排序组成的序列记为测试数据资源序列。
2.设置参数密钥。
需要说明的是,Logistic混沌映射具有伪随机性、对初始条件的敏感性、非周期性和长期不可预测性,适合于对数据量大的数据进行加密,因此,Logistic混沌映射常被用于密钥生成器。
在本实施例中,一维Logistic混沌映射的模型为,当初始值,参数时,系统进入混沌状态,就会产生[0,1]之间的混沌值,因此,在、、的范围内随机产生一组记为参数密钥。
例如,本实施例提供的一种参数密钥为(3.9324,0.45,45)。
3.根据所有种DNA编码解码规则构建规则密钥表。
需要说明的是,本实施例对文档数据(明文数据序列)进行加密的加密方法是根据明文数据序列获得对应的DNA编码解码规则,由于明文数据序列的本质是二值序列,因此,想要根据明文数据序列获得对应的DNA编码解码规则,需要首先构建二进制数与DNA编码解码规则之间的对应关系。
新型DNA编码是将3位二进制数编码为A,T,G,C,B,S,P,Z八种碱基中的一种,碱基之间的配对关系为:A与T互补,C与G互补,B与S互补,P与Z互补,符合沃森-克里克互补规则的DNA编码解码规则有K=384种,想要构建所有DNA编码解码规则与二进制数之间的对应关系,需要满足二进制数的种类数等于DNA编码解码规则的种类数;7位二进制数的种类数==128,8位二进制数的种类数==256,且7位二进制数和8位二进制数的种类数的和=384=K,因此,用所有7位二进制数和8位二进制数就可以表示所有种DNA编码解码规则。
为了对7位二进制数和8位二进制数进行区分,需要在7位二进制数和8位二进制数的前面加一个标识符,要求7位二进制数的标识符等于第一数码,8位二进制数的标识符等于第二数码,其中,第一数码为0,第二数码为1;将标识符和7位二进制数组成的8位二进制数记为第一二进制数,将标识符和8位二进制数组成的9位二进制数记为第二二进制数;反之,根据标识符即可确定二进制数:如果标识符等于第一数码,则二进制数为第一二进制数,如果标识符等于第二数码,则二进制数为第二二进制数。
将所有种DNA编码解码规则与所有第一二进制数和所有第二二进制数的对应关系记为规则密钥表。
例如,本实施例提供的一个规则密钥表示意图如图2所示。
需要说明的是,测试数据资源序列的可能性有N!=192!种,密钥空间的大小为192!,规则密钥表的可能性有K!=384!种,密钥空间的大小为384!,其中!为阶乘符号,同时,根据混沌映射的参数构建了参数密钥,综合测试数据资源序列、参数密钥和规则密钥表作为本实施例的文档数据加密方法的密钥,因此,本实施例的文档数据加密方法的密钥空间足够大,安全性高。
将测试数据资源序列、参数密钥和规则密钥表存储在离线设备上,例如U盘上,当员工开始工作时,将存储密钥的U盘插入个人计算机上,对员工个人的日常工作文档进行加密,将加密后的密文数据序列存储在个人计算机上,存储在U盘中的密钥只能加密程序调用,保证密钥的保密性。
至此,获得测试数据资源序列、参数密钥和规则密钥表。
S003.根据参数密钥和混沌映射获得混沌序列,根据混沌序列和测试数据资源序列,获得测试数据序列。
1.根据参数密钥和混沌映射获得混沌序列。
根据参数密钥,将一维Logistic映射模型迭代2L+s次,将获得的后2L个数值乘以N后进行向上取整的结果记为混沌值,将获得的所有混沌值按照顺序组成的序列记为混沌序列,混沌序列的长度为2L,其中,L表示文档中文档数据的数量,N表示测试数据子序列的种类数。
例如,文档中文档数据的数量L=13,测试数据子序列的种类数N=192,根据参数密钥(3.9324,0.45,45)获得长度为2×L=26的混沌序列为{53,150,…,130,166}。
2. 根据混沌序列和测试数据资源序列,获得测试数据序列。
将测试数据资源序列中第个测试数据子序列作为第i个测试数据子序列,表示混沌序列中的第i个混沌值,将所有测试数据子序列构成测试数据序列,测试数据序列中测试数据子序列的数量为2×L,其中,L表示文档中文档数据的数量。
例如,根据混沌序列{53,150,…,130,166},获得对应的测试数据子序列组成的测试数据序列{{110,010,000,100},{101,011,111,001},…,{111,101,001,011},{100,111,010,001}},测试数据序列测试数据子序列的数量为2×L=26。
S004.对明文数据序列进行划分,获得二进制数序列,根据二进制数序列和规则密钥表获得规则序列,根据规则序列对测试数据序列进行编码和解码,获得密文数据序列。
1.对明文数据序列进行划分,获得二进制数序列,根据二进制数序列和规则密钥表获得规则序列。
需要说明的是,本实施例对文档数据(明文数据序列)进行加密的加密方法是根据明文数据序列获得对应的DNA编码解码规则,由于规则密钥表中记录了所有种DNA编码解码规则与所有第一二进制数和所有第二二进制数的对应关系,因此,想要根据明文数据序列获得对应的DNA编码解码规则,需要将明文数据序列划分为,由第一二进制数和第二二进制数组成的二进制数序列。
获取明文数据序列中的二进制数,包括:将明文数据序列中的第一个明文数据作为标识符:
(1)如果标识符等于第一数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于8,通过在明文数据序列后面补0,将明文数据序列补充为长度等于8的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第一二进制数;如果明文数据序列的长度大于等于8,则获得明文数据序列中的前8个明文数据组成的二进制数,且该二进制数为第一二进制数。
(2)如果标识符等于第二数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于9,通过在明文数据序列后面补0,将明文数据序列补充为长度等于9的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第二二进制数;如果明文数据序列的长度大于等于9,则获得明文数据序列中的前9个明文数据组成的二进制数,且该二进制数为第二二进制数。
(3)将获得的二进制数从明文数据序列中去除。
重复获取明文数据序列中的二进制数,直至明文数据序列为空时停止迭代,将获得的所有二进制数按照顺序组成的序列记为二进制数序列,二进制数序列中二进制数的数量为Q,,其中,16L表示明文数据序列的长度,L表示文档中文档数据的数量,表示向上取整。
根据规则密钥表,获得二进制数序列中每个二进制数对应的DNA编码解码规则,将获得的所有DNA编码解码规则按照顺序组成的序列记为规则序列,规则序列中DNA编码解码规则的数量为Q,其中,Q表示二进制数序列中二进制数的数量。
例如,对明文数据序列{1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,…,0,1,1,1,1,0,1,0,1,0,0,0}进行划分,其中,前24个二进制数分别为110100101,01110111,…,01111010,在获取最后一个(第25个)二进制数时,明文数据序列中的第一个明文数据即标识符等于第二数码,明文数据序列的长度为4,明文数据序列的长度满足大于0且小于9,通过在明文数据序列后面补5个0,获得最后一个二进制数为100000000;最终获得的二进制数序列为{110100101,01110111,…,01111010,100000000},二进制数序列的长度为25;根据如图2所示的规则密钥表,获得二进制数序列对应的规则序列为{规则6,规则384,…,规则2,规则5},规则序列的长度为25。
2.根据规则序列对测试数据序列进行编码和解码,获得密文数据序列。
根据DNA编码解码规则进行编码,是指将码字编码为碱基,获得的编码结果为碱基;根据DNA编码解码规则进行解码,是指将碱基解码为码字,获得的解码结果为码字。
测试数据序列是由多个测试数据子序列组成的,规则序列是由多个DNA编码解码规则组成的;用规则序列中第j-1个DNA编码解码规则对测试数据序列中的第j个测试数据子序列进行编码,将第j个测试数据子序列中所有测试数据对应的碱基(编码结果)按照顺序组成的序列,记为第j个测试数据子序列的中间数据子序列,用规则序列中的第j个DNA编码解码规则对第j个测试数据子序列的中间数据子序列进行解码,将第j个测试数据子序列的中间数据子序列的码字(解码结果)按照顺序组成的序列,记为第j个测试数据子序列的密文数据子序列。需要注意的是,对于测试数据序列中的第1个测试数据子序列,用规则密钥表中的第1个DNA编码解码规则对第1个测试数据子序列进行编码,获得第1个测试数据子序列的中间数据子序列,用规则序列中第1个DNA编码解码规则对于第1个测试数据子序列的中间数据子序列进行解码,获得第1个测试数据子序列的密文数据子序列。
将测试数据序列中前Q个测试数据子序列的密文数据子序列按照顺序组成的序列记为密文数据序列,密文数据序列中密文数据子序列的数量为Q,其中,Q表示二进制数序列中二进制数的数量。
例如,根据长度为25的规则序列{规则6,规则384,…,规则2,规则5}对测试数据序列{{110,010,000,100},{101,011,111,001},…,{111,101,001,011}}进行加密,具体为:分别用{规则1,规则6,…,规则2}对测试数据序列中前25个测试数据子序列进行编码,测试数据序列中前25个测试数据子序列的中间数据子序列分别为{P,T,S,G},{C,A,Z,B},…,{S,T,P,G},分别用{规则6,规则384,…,规则2,规则5}对测试数据序列中前25个测试数据子序列的中间数据子序列进行解码,测试数据序列中前25个测试数据子序列的密文数据子序列分别为{010,110,100,000},{011,101,001,111},…,{011,001,101,111},最终获得的密文数据序列为{{010,110,100,000},{011,101,001,111},…,{011,001,101,111}}。
本实施例通过简单的查找判断操作,即可实现对文档数据的加密,加密和解密花费时间短、速度快,且结合了规则序列中的前一个DNA编码解码规则,获得密文数据子序列,因此,明文数据序列中的任何一个明文数据的细微变化都会引起密文数据序列的不可区分性的改变,本实施例的文档数据加密方法具有较好的随机化特性,使得本实施例的文档数据加密方法具有的雪崩效应,攻击者无法从密文数据序列推测出明文数据序列,保证了本实施例的文档数据加密方法的安全性。
S005.根据测试数据资源序列、参数密钥和规则密钥表对密文数据序列进行解密和解码,获得所有文档数据。
根据参数密钥和混沌映射获得混沌序列,根据混沌序列和测试数据资源序列获得测试数据序列;按照顺序依次对密文数据序列中的每个密文数据子序列进行解密,具体为:
对于密文数据序列中的第j个密文数据子序列,根据第j-1个密文数据子序列的解密结果(DNA编码解码规则)对于测试数据序列中的第j个测试数据子序列进行编码,获得测试数据序列中的第j个测试数据子序列的中间数据子序列,需要注意的是,对于测试数据序列中的第1个测试数据子序列,用规则密钥表中的第1个DNA编码解码规则对第1个测试数据子序列进行编码,获得第1个测试数据子序列的中间数据子序列;由于在加密过程中,根据规则序列中第j个DNA编码解码规则对第j个测试数据子序列的中间数据子序列进行解码,获得第j个测试数据子序列的密文数据子序列,也既是,密文数据序列中的第j个密文数据子序列是测试数据序列中的第j个测试数据子序列的中间数据子序列的解码结果,因此,根据第j个测试数据子序列的中间数据子序列和密文数据序列中的第j个密文数据子序列,在规则密钥表中获得对应的DNA编码解码规则,作为第j个密文数据子序列的解密结果;
由于本实施例是按照顺序依次对密文数据序列中的每个密文数据子序列进行解密,因此,在对密文数据序列中的第j个密文数据子序列进行解密时,已经实现对密文数据序列中的第j-1个密文数据子序列的解密,获得了第j-1个密文数据子序列的解密结果,因此,在对密文数据序列中的第j个密文数据子序列进行解密时,可以根据第j-1个密文数据子序列的解密结果(DNA编码解码规则)对于测试数据序列中的第j个测试数据子序列进行编码,也既是第j个密文数据子序列的解密过程可以实现,进而说明了本实施例的文档数据加密方法具有可实施性和可解密性。
获得密文数据序列中所有密文数据子序列的解密结果(DNA编码解码规则),根据规则密钥表获得所有解密结果(DNA编码解码规则)对应的二进制数,将所有二进制按照顺序组成的序列记为还原数据序列,将还原数据序列中最后个还原数据去除,根据文本编码方式对剩余的还原数据序列进行解码获得所有文档数据组成的文档,其中,W表示还原数据序列的长度,表示除法取余。
例如,对密文数据序列为{{010,110,100,000},{011,101,001,111},…,{011,001,101,111}}进行解密的过程为:根据规则密钥表中的第1个DNA编码解码规则对第1个测试数据子序列{110,010,000,100}进行编码,获得第1个测试数据子序列的中间数据子序列{P,T,S,G},根据第1个测试数据子序列的中间数据子序列{P,T,S,G}和密文数据序列中的第1个密文数据子序列{010,110,100,000},在规则密钥表中获得对应的DNA编码解码规则为规则6,作为第1个密文数据子序列的解密结果,同理,按照顺序依次对密文数据序列中的每个密文数据子序列进行解密,获得的解密结果依次为规则6,规则384,…,规则2,规则5,根据规则密钥表获得所有解密结果(DNA编码解码规则)对应的二进制数,分别为110100101,01110111,…,01111010,100000000,将所有二进制按照顺序组成的序列{1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,…,0,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0}记为还原数据序列,还原序列的长度为W=213,将还原数据序列中最后=5个还原数据去除,根据文本编码方式对剩余的还原数据序列进行编码获得所有文档数据组成的文档为“一种用于文档数据的加密方法”。
本发明实施例综合密钥空间较大的测试数据资源序列、参数密钥和规则密钥表作为本发明的文档数据加密方法的密钥,因此,本发明的文档数据加密方法的密钥空间足够大,安全性高;本发明的文档数据加密方法具体是,根据通过对明文数据序列进行划分获得二进制数序列,根据二进制数序列和规则密钥表获得规则序列,结合DNA编码解码规则的特征构建测试数据子序列,参数密钥和所有种测试数据子序列获得测试数据序列,分别根据规则序列中的前一个DNA编码解码规则和当前DNA编码解码规则对测试数据序列中的测试数据子序列进行编码和解码,获得密文数据子序列组成的密文数据序列;通过简单的查找判断操作,即可实现对文档数据的加密,加密和解密花费时间短、速度快,且结合了规则序列中的前一个DNA编码解码规则,获得密文数据子序列,因此,明文数据序列中的任何一个明文数据的细微变化都会引起密文数据序列的不可区分性的改变,本发明的文档数据加密方法具有较好的随机化特性,使得本发明的文档数据加密方法具有的雪崩效应,攻击者无法从密文数据序列推测出明文数据序列,保证了本发明的文档数据加密方法的安全性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
Claims (4)
1.一种用于文档数据的加密方法,其特征在于,该方法包括以下步骤:
对文档中的所有文档数据进行编码,获得明文数据序列;
根据码字获得测试数据资源序列,根据混沌映射的参数设置参数密钥,根据所有种DNA编码解码规则构建规则密钥表;
根据参数密钥和混沌映射获得混沌序列,根据混沌序列和测试数据资源序列,获得测试数据序列;
对明文数据序列进行划分获得二进制数序列;根据规则密钥表,获得二进制数序列中每个二进制数对应的DNA编码解码规则,将获得的所有DNA编码解码规则按照顺序组成的序列记为规则序列;
根据规则序列对测试数据序列中的测试数据子序列进行编码和解码,包括:用规则序列中的第j-1个DNA编码解码规则对测试数据序列中的第j个测试数据子序列进行编码,将第j个测试数据子序列中所有测试数据对应的碱基按照顺序组成的序列,记为第j个测试数据子序列的中间数据子序列,用规则序列中的第j个DNA编码解码规则对第j个测试数据子序列的中间数据子序列进行解码,将第j个测试数据子序列的中间数据子序列的码字按照顺序组成的序列,记为第j个测试数据子序列的密文数据子序列;对于测试数据序列中的第1个测试数据子序列,用规则密钥表中的第1个DNA编码解码规则对第1个测试数据子序列进行编码;
根据规则序列对测试数据序列中的所有测试数据子序列进行编码和解码,将获得的所有密文数据子序列按照顺序组成的序列记为密文数据序列,实现对文档数据的加密;
所述根据所有种DNA编码解码规则构建规则密钥表,包括的具体步骤如下:
新型DNA编码是将3位二进制数编码为A,T,G,C,B,S,P,Z八种碱基中的一种,碱基之间的配对关系为:A与T互补,C与G互补,B与S互补,P与Z互补,符合沃森-克里克互补规则的DNA编码解码规则有K=384种;
在7位二进制数和8位二进制数的前面加一个标识符,其中,7位二进制数的标识符等于第一数码,8位二进制数的标识符等于第二数码,第一数码为0,第二数码为1;将标识符和7位二进制数组成的8位二进制数记为第一二进制数,将标识符和8位二进制数组成的9位二进制数记为第二二进制数;
将所有种DNA编码解码规则与所有第一二进制数和所有第二二进制数的对应关系记为规则密钥表;
所述根据码字获得测试数据资源序列,包括的具体步骤如下:
将所有3位二进制数记为码字,其中,码字000和码字111互补,码字001和码字110互补,码字010和码字101互补,码字011和码字100互补;
随机选择不互补的4个码字组成测试集合,获得8种不同的测试集合,将测试集合中的所有3位二进制数随机排序获得测试数据子序列,获得192种不同的测试数据子序列;将所有种测试数据子序列随机排序组成的序列记为测试数据资源序列。
2.根据权利要求1所述的一种用于文档数据的加密方法,其特征在于,所述根据混沌序列和测试数据资源序列,获得测试数据序列,包括的具体步骤如下:
将测试数据资源序列中第个测试数据子序列作为第i个测试数据子序列,表示混沌序列中的第i个混沌值,将所有测试数据子序列构成测试数据序列。
3.根据权利要求1所述的一种用于文档数据的加密方法,其特征在于,所述对明文数据序列进行划分获得二进制数序列,包括的具体步骤如下:
对明文数据序列进行划分获得二进制数,包括:将明文数据序列中的第一个明文数据作为标识符:如果标识符等于第一数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于8,在明文数据序列后面补0,将明文数据序列补充为长度等于8的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第一二进制数,如果明文数据序列的长度大于等于8,则获得明文数据序列中的前8个明文数据组成的二进制数,且该二进制数为第一二进制数;如果标识符等于第二数码,判断明文数据序列的长度:如果明文数据序列的长度大于0且小于9,通过在明文数据序列后面补0,将明文数据序列补充为长度等于9的明文数据序列,将补充后的明文数据序列作为二进制数,且该二进制数为第二二进制数,如果明文数据序列的长度大于等于9,则获得明文数据序列中的前9个明文数据组成的二进制数,且该二进制数为第二二进制数;将获得的二进制数从明文数据序列中去除;
重复对明文数据序列进行划分获得二进制数,直至明文数据序列为空,将获得的所有二进制数按照顺序组成的序列记为二进制数序列。
4.根据权利要求1所述的一种用于文档数据的加密方法,其特征在于,所述编码和解码,包括的具体步骤如下:
根据DNA编码解码规则进行编码,是指将码字编码为碱基,获得的编码结果为碱基;根据DNA编码解码规则进行解码,是指将碱基解码为码字,获得的解码结果为码字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310238577.5A CN115941189B (zh) | 2023-03-14 | 2023-03-14 | 一种用于文档数据的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310238577.5A CN115941189B (zh) | 2023-03-14 | 2023-03-14 | 一种用于文档数据的加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115941189A CN115941189A (zh) | 2023-04-07 |
CN115941189B true CN115941189B (zh) | 2023-05-05 |
Family
ID=85835809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310238577.5A Active CN115941189B (zh) | 2023-03-14 | 2023-03-14 | 一种用于文档数据的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115941189B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116346676B (zh) * | 2023-05-30 | 2023-08-04 | 温州华嘉电器有限公司 | 基于数据驱动的互联网断路器健康状态评估方法及系统 |
CN116383860B (zh) * | 2023-06-06 | 2023-08-04 | 北京点聚信息技术有限公司 | 基于云计算的文档数据加密方法 |
CN117318919B (zh) * | 2023-11-24 | 2024-02-06 | 山东交通学院 | 一种用于乘务资源调度的数据管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702240A (zh) * | 2009-11-26 | 2010-05-05 | 大连大学 | 基于dna子序列运算的图像加密方法 |
CN101719908A (zh) * | 2009-11-26 | 2010-06-02 | 大连大学 | 基于混沌理论和dna剪接模型的图像加密方法 |
CN105681622A (zh) * | 2015-12-31 | 2016-06-15 | 复旦大学 | 一种基于细胞神经网络超混沌和dna序列的彩色图像加密方法 |
CN107590842A (zh) * | 2017-09-05 | 2018-01-16 | 山东师范大学 | 基于像素和dna交叉动态混沌密码的图像加密方法和装置 |
CN113938573A (zh) * | 2021-09-16 | 2022-01-14 | 四川大学 | 基于混沌映射和dna编码的计算鬼成像图像加密方法 |
CN114157433A (zh) * | 2021-11-30 | 2022-03-08 | 北京邮电大学 | 一种密钥与明文关联的混沌光通信系统加密方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11716617B2 (en) * | 2019-05-02 | 2023-08-01 | Ares Technologies, Inc. | Systems and methods for cryptographic authorization of wireless communications |
-
2023
- 2023-03-14 CN CN202310238577.5A patent/CN115941189B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702240A (zh) * | 2009-11-26 | 2010-05-05 | 大连大学 | 基于dna子序列运算的图像加密方法 |
CN101719908A (zh) * | 2009-11-26 | 2010-06-02 | 大连大学 | 基于混沌理论和dna剪接模型的图像加密方法 |
CN105681622A (zh) * | 2015-12-31 | 2016-06-15 | 复旦大学 | 一种基于细胞神经网络超混沌和dna序列的彩色图像加密方法 |
CN107590842A (zh) * | 2017-09-05 | 2018-01-16 | 山东师范大学 | 基于像素和dna交叉动态混沌密码的图像加密方法和装置 |
CN113938573A (zh) * | 2021-09-16 | 2022-01-14 | 四川大学 | 基于混沌映射和dna编码的计算鬼成像图像加密方法 |
CN114157433A (zh) * | 2021-11-30 | 2022-03-08 | 北京邮电大学 | 一种密钥与明文关联的混沌光通信系统加密方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于DNA动态编码和VMP-WFRFT的安全通信方法;王西康;《兵工学报》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115941189A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115941189B (zh) | 一种用于文档数据的加密方法 | |
US8284933B2 (en) | Encrypting variable-length passwords to yield fixed-length encrypted passwords | |
CN115865523B (zh) | 一种用于信息分析系统的数据加密传输方法 | |
CN116032474B (zh) | 一种基于大数据计算机网络安全防护系统 | |
Malathi et al. | Highly improved DNA based steganography | |
CN106161006B (zh) | 一种数字加密算法 | |
CN110768785B (zh) | 一种编、解码方法、相关装置及计算机设备 | |
US8600048B1 (en) | Format-translating encryption systems | |
CN115277978B (zh) | 一种基于状态编码表的图像信息安全管理方法 | |
CN115659409B (zh) | 一种金融资产交易数据安全存储方法 | |
CN116796354B (zh) | 一种用于计算机系统的信息安全增强方法 | |
CN116471007A (zh) | 基于云平台的网络信息加密传输方法 | |
CN110543778A (zh) | 一种字符数据线性随机加密和解密算法 | |
CN108418683A (zh) | 一种基于汉字结构特征的无载体文本隐写方法 | |
CN112202729B (zh) | 动态混淆加密、解密方法及装置 | |
CN116781420B (zh) | 一种电子文件安全传输加密方法及系统 | |
Vinodhini et al. | A survey on DNA and image steganography | |
CN116094836A (zh) | 基于对称加密的路由器数据安全存储方法及系统 | |
CN114329536A (zh) | 数据加密方法及装置、数据解密方法及装置、电子设备 | |
Rafat et al. | Secure digital steganography for ASCII text documents | |
CN115333720B (zh) | 一种呼叫中心数据传输方法 | |
CN116484442A (zh) | 基于数据加密的智能售电数据存储方法 | |
CN116032476A (zh) | 基于序列分解的电子合同内容智能加密方法 | |
Manikandasaran et al. | MONcrypt: a technique to ensure the confidentiality of outsourced data in cloud storage | |
Medini et al. | ENCODING AND DECODING OF MESSAGES USING GRAPH LABELING AND COMPLEMENT OF A GRAPH. |
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 |