CN115622795B - 基于混沌加密算法的文件加密方法、电子设备及存储介质 - Google Patents

基于混沌加密算法的文件加密方法、电子设备及存储介质 Download PDF

Info

Publication number
CN115622795B
CN115622795B CN202211420678.6A CN202211420678A CN115622795B CN 115622795 B CN115622795 B CN 115622795B CN 202211420678 A CN202211420678 A CN 202211420678A CN 115622795 B CN115622795 B CN 115622795B
Authority
CN
China
Prior art keywords
encryption
chaotic
array
encrypted
sequence
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
Application number
CN202211420678.6A
Other languages
English (en)
Other versions
CN115622795A (zh
Inventor
蒋凤虎
李凡平
石柱国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Yisa Data Technology Co Ltd
Original Assignee
Qingdao Yisa Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Yisa Data Technology Co Ltd filed Critical Qingdao Yisa Data Technology Co Ltd
Priority to CN202211420678.6A priority Critical patent/CN115622795B/zh
Publication of CN115622795A publication Critical patent/CN115622795A/zh
Application granted granted Critical
Publication of CN115622795B publication Critical patent/CN115622795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0464Network 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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

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

本发明提供了基于混沌加密算法的文件加密方法、电子设备及存储介质,涉及加密算法领域,该方法包括:获取待加密数组;确定目标混沌序列;得到初始加密数组和初始混沌序列;获取初始加密数组集E和初始混沌序列集Q;将Ei和Qi分配到第i个线程中;若Ei的长度大于H;则得到子加密数组和子混沌序列;得到每组子混沌序列对应的索引数组;根据索引数组得到第一加密数组;对Qi进行类型转换处理,得到字节混沌序列;根据字节混沌序列与第一加密数组,得到第二加密数组;将每组第二加密数组进行合并并输出。本发明通过加密初始值对待加密文件进行加密,加密初始值不唯一,且得到的目标混沌序列也不唯一,提高了加密算法的安全性和可靠性。

Description

基于混沌加密算法的文件加密方法、电子设备及存储介质
技术领域
本发明涉及加密算法领域,特别是涉及基于混沌加密算法的文件加密方法、电子设备及存储介质。
背景技术
目前,在加密算法领域,常用的对称加密算法有DES和AES加密算法,两者都是采用轮加密方式,在原加密算法的基础上根据固定的算法生成轮加密算法,在每轮加密中根据当前生成的轮加密算法的初始值进行加密,所以在原加密算法的初始值固定的情况下,由于算法的固定性,轮加密算法的初始值也是固定的,这就导致只能通过增加加密步骤和算法的复杂度才能提高加密算法的可靠性,且DES和AES加密算法的算法步骤的复杂程度也较高。所以,现有的DES和AES加密算法存在可靠性低且步骤复杂度高的缺点。
发明内容
针对上述技术问题,本发明提供基于混沌加密算法的文件加密方法、电子设备及存储介质,至少部分解决现有技术中存在的技术问题,本发明采用的技术方案为:
根据本申请的一个方面,提供基于混沌加密算法的文件加密方法,所述方法包括如下步骤:
S100、获取用户输入的待加密文件、加密初始值和迭代次数;
S200、获取待加密文件的字节数组,并将其确定为待加密数组;
S300、将加密初始值和迭代次数输入预设的混沌系统中,确定目标混沌序列;目标混沌序列的字节数量和待加密数组的字节数量相同;
S400、将待加密数组中的数组元素分成n组,得到n组初始加密数组E1,E2,...,Ei,...,En;其中,i=1,2,...,n;n为中央处理器的线程数量;Ei为第i个初始加密数组;
S500、将目标混沌序列中的序列值分成n组,得到n组初始混沌序列Q1,Q2,...,Qi,...,Qn;其中,Qi为第i个初始混沌序列,且Qi的字节数量与Ei的字节数量相同;
S600、将Ei和Qi分配到第i个线程中;
S700、若Ei的长度大于H;则将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;以及将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,r=1,2,...,m;m为分组数值;H为预设的长度阈值;Fir为Ei对应的第r个子加密数组;Pir为Qi对应的第r个子混沌序列;
S800、对m组子混沌序列进行二分排序处理,得到索引数组Zi
S900、根据Zi对m组子加密数组进行排序合并处理,得到第i个线程对应的第一加密数组Yi
S910、对Qi进行类型转换处理,得到Qi对应的字节混沌序列Si
S920、将Si与Yi进行异或处理,得到第i个线程对应的第二加密数组Wi
S930、将W1,W2,...,Wi,...,Wn依次进行合并,得到目标加密数组,并进行输出。
在本申请的一种示例性实施例中,步骤S300,包括:
S310、预设的混沌系统以加密初始值作为系统初值,以迭代次数作为预设的混沌系统需迭代的次数,进行迭代处理,得到目标混沌系统;目标混沌系统中包括若干目标混沌序列。
在本申请的一种示例性实施例中,步骤S400,包括:
S410、获取待加密数组的数组长度L1
S420、获取中央处理器的线程数量n;
S430、根据中央处理器的线程数量n,将所述待加密数组分成n组初始加密数组E1,E2,...,Ei,...,En;E1,E2,...,En-1的长度均为L3=L1/n,En的长度为L4=L1/n+L1%n。
在本申请的一种示例性实施例中,步骤S500,包括:
S510、获取目标混沌序列的长度为L2
S520、获取中央处理器的线程数量n;
S530、根据中央处理器的线程数量n,将所述目标混沌序列分成n组初始混沌序列Q1,Q2,...,Qi,...,Qn;Q1,Q2,...,Qn-1的长度均为L5=L2/n,Qn的长度为L6=L2/n+L2%n。
在本申请的一种示例性实施例中,步骤S700,包括:
S710、判断L3是否大于H;若L3>H,则执行步骤S720;若L3≤H,则执行步骤S730;
S720、将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;其中,m=L3%1024+1;
S730、将E1,E2,...,Ei,...,En分别确定为子加密数组。
在本申请的一种示例性实施例中,步骤S700,还包括:
S740、判断L5是否大于H;若L5>H,则执行步骤S750;若L5≤H,则执行步骤S760;
S750、将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,m=L5%1024+1;
S760、将Q1,Q2,...,Qi,...,Qn分别确定为子混沌序列。
在本申请的一种示例性实施例中,步骤S900,包括:
S901、根据Zi对Fi1,Fi2,...,Fir,...,Fim进行排序,得到排序后加密数组Ui1,Ui2,...,Uir,...,Uim
S902、将Ui1,Ui2,...,Uir,...,Uim依次进行合并,得到第i个线程对应的第一加密数组Yi
在本申请的一种示例性实施例中,步骤S910,包括:
S911、将Qi的第g位至第g+a位的浮点类型字符转换为字节字符,并将转换的字节字符依次进行合并以确定为字节混沌序列Si;其中,g为预设的取位值;a为预设的取位数。
根据本申请的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现所述基于混沌加密算法的加密方法。
根据本申请的一个方面,提供一种电子设备,包括处理器和所述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明通过用户输入的加密初始值和迭代次数,使混沌系统产生目标混沌序列,再根据中央处理器的线程数量,对目标混沌序列和用户输入的待加密数组进行分组并分配到每个线程中,进行多线程加密处理,缩短了加密处理时间,再根据每个线程中的索引数组对子加密数组进行排序合并,得到第一加密数组,对初始混沌序列进行类型转换,转换为和第一加密数组的数据类型相同的字节混沌序列,通过字节混沌序列和第一加密数组得到第二加密数组,再将每个线程中的第二加密数组进行合并得到目标加密数组并输出。本发明通过用户输入的加密初始值对明文的待加密文件进行加密,加密初始值不是固定唯一的,且混沌系统根据用户输入的迭代次数得到的目标混沌序列也不是唯一的,提高了加密算法的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于混沌加密算法的加密方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在加密算法领域,常用的对称加密算法有DES和AES加密算法,两者都是采用轮加密方式,在原加密算法的基础上根据固定的算法生成轮加密算法,在每轮加密中根据当前生成的轮加密算法的初始值进行加密,所以在原加密算法的初始值固定的情况下,由于算法的固定性,轮加密算法的初始值也是固定的,这就导致只能通过增加加密步骤和算法的复杂度才能提高加密算法的可靠性,且DES和AES加密算法的算法步骤的复杂程度也较高。所以,现有的DES和AES加密算法存在可靠性低且步骤复杂度高的缺点。
所以,为了弥补现有常用的DES和AES加密算法中存在的缺陷,提出一种通过混沌加密算法来进行数据加密的加密方法。混沌加密算法是利用混沌系统产生混沌序列作为加密初始值,利用该混沌序列对明文进行加密的算法,与一般的加密技术相比,混沌加密算法利用混沌系统对初始条件的高度敏感性和难以预测性,具有运算速度快、保真度高、安全性好以及足够的带宽和较强的实时功能,分布上不符合概率统计学原理,是一种拟随机的序列,其结构复杂,可以提供具有良好的随机性、相关性和复杂性的拟随机序列,使混沌系统难以重构、分析和预测。
所述的基于混沌加密算法的加密方法采用的技术方案为:
如图1所示,包括如下步骤:
S100、获取用户输入的待加密文件、加密初始值和迭代次数;
待加密文件为将要加密的数据文件,即明文,其由若干字节数组组成,加密初始值是混沌系统的预设初始值,取值范围为(0,1),迭代次数表示为混沌系统将要迭代的次数。
S200、获取待加密文件的字节数组,并将其确定为待加密数组;待加密数组即为将要进行加密的数据;
S300、将加密初始值和迭代次数输入预设的混沌系统中,确定目标混沌序列;目标混沌序列的字节数量和待加密数组的字节数量相同;
进一步,步骤S300,包括:
S310、预设的混沌系统以加密初始值作为系统初值,以迭代次数作为预设的混沌系统需迭代的次数,进行迭代处理,得到目标混沌系统;目标混沌系统中包括若干目标混沌序列;
预设的混沌系统可以为logistic混沌系统,混沌系统需要迭代一定次数后才能达到混沌态,为了保证在进行加密操作前混沌系统已经达到混沌态,所以,logistic混沌系统在初始时已经预先迭代了500次,所以,在迭代了500次的混沌系统的基础上,再根据用户输入的迭代次数进行迭代,如用户输入的迭代次数为200次,则混沌系统实际上迭代的次数为700,不过前500次是进行预先迭代的,混沌系统以加密初始值为系统的初始值,以迭代次数为需迭代的次数,进行迭代后,产生若干序列值,若干序列值组成目标混沌序列。
logistic混沌系统的计算公式为:Xj+1=4Xj(1-Xj),Xj为第j次迭代的序列值,Xj 取值为[0,1]。
S400、将待加密数组中的数组元素分成n组,得到n组初始加密数组E1,E2,...,Ei,...,En;其中,i=1,2,...,n;n为中央处理器的线程数量;Ei为第i个初始加密数组;
进一步,步骤S400,包括:
S410、获取待加密数组的数组长度L1;L1为整数型字符;
S420、获取中央处理器的线程数量n;
S430、根据中央处理器的线程数量n,将所述待加密数组分成n组初始加密数组E1,E2,...,Ei,...,En;E1,E2,...,En-1的长度均为L3=L1/n,En的长度为L4=L1/n+L1%n;
将待加密数组中的数组元素根据CPU(中央处理器)的线程数量进行均分,若待加密数组的数组长度为500,CPU的线程为10个,则将此500个待加密数组的数组元素平均分成10组初始加密数组,每组初始加密数组的长度为50,若待加密数组的长度不能被CPU的线程数整除,则保证前n-1个线程中的数组元素数量相同,如待加密数组的长度为500,CPU的线程为8个,则取500/8为前7个线程中初始加密数组的长度,500/8在计算机系统中表示取500除以8的商,即62,将500/8+500%8设定为第8个线程中的初始加密数组的长度,500%8在计算机系统中表示500除以8的余数,即4,所以,前7个线程中初始加密数组的长度为62,第8个线程中的初始加密数组的长度为66,以确保待加密数组中的所有数组元素都分配到每个线程中。
将待加密数组的数组元素分成n组,便于后续的多线程执行加密操作。
S500、将目标混沌序列中的序列值分成n组,得到n组初始混沌序列Q1,Q2,...,Qi,...,Qn;其中,Qi为第i个初始混沌序列,且Qi的字节数量与Ei的字节数量相同;
进一步,步骤S500,包括:
S510、获取目标混沌序列的长度为L2;L2为整数型字符;
S520、获取中央处理器的线程数量n;
S530、根据中央处理器的线程数量n,将所述目标混沌序列分成n组初始混沌序列Q1,Q2,...,Qi,...,Qn;Q1,Q2,...,Qn-1的长度均为L5=L2/n,Qn的长度为L6=L2/n+L2%n;
目标混沌序列的分组规则与待加密数组的分组规则相同,以保证前n-1组初始混沌序列的长度与前n-1组初始加密数组的长度相同,第n组初始混沌序列的长度与第n组初始加密数组的长度相同,以便后续进行数组分配。
E1至En-1的数组长度(数组元素的数量)和Q1至Qn-1的序列值数量相同,En的数组元素的数量与Qn的序列值数量相同。
S600、将Ei和Qi分配到第i个线程中;
将每一初始加密数组和与其对应的初始混沌序列分配到相同的线程中,如CPU线程为10个,则第1组初始加密数组和第1组初始混沌序列分配到第1个线程中,第2组初始加密数组和第2组初始混沌序列分配到第2个线程中,以此类推,一直至第10组初始加密数组和第10组初始混沌序列分配到第10个线程中,保证每个线程中的初始加密数组和初始混沌序列的长度相同,且将分配的初始加密数组和初始混沌序列按照划分顺序依次分配到对应的线程中,为之后的数组重新合并做基础处理。
S700、若Ei的长度大于H;则将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;以及将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,r=1,2,...,m;m为分组数值;H为预设的长度阈值;Fir为Ei对应的第r个子加密数组;Pir为Qi对应的第r个子混沌序列;
进一步,步骤S700,包括:
S710、判断L3是否大于H;若L3>H,则执行步骤S720;若L3≤H,则执行步骤S730;
S720、将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;其中,m=L3%1024+1;
S730、将E1,E2,...,Ei,...,En分别确定为子加密数组。
S740、判断L5是否大于H;若L5>H,则执行步骤S750;若L5≤H,则执行步骤S760;
S750、将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,m=L5%1024+1;
S760、将Q1,Q2,...,Qi,...,Qn分别确定为子混沌序列;
子加密数组和子混沌序列的确定方法相同,都是比较前n-1个的长度是否大于H,由于前n-1个初始加密数组和初始混沌序列的长度相同,所以,只需要对比一个长度,即可对另一组进行处理,如前n-1个初始加密数组的长度大于H,则表示前n-1个初始混沌序列的长度也大于H,若其大于H,则表示初始加密数组为长数组,将每组初始加密数组和每组初始混沌序列再进行划分,各自划分为m组,以便于后续进行排序打散处理,m取值为L5%1024+1或L3%1024+1,因为L5和L3相等,所以,初始加密数组和初始混沌序列的分组m是相同的,即将L3除以1024取余再加1,并确定为子加密数组和子混沌序列;若前n-1个初始加密数组或初始混沌序列的长度不大于H,则表示初始加密数组为短数组,则不进行再划分,直接将初始加密数组确定为子加密数组,将初始混沌序列确定为子混沌序列。
S800、对m组子混沌序列进行二分排序处理,得到索引数组Zi
二分排序处理为现有的数据处理方法,是在插入第k个元素时,对前面的0~k-1个元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left>right,然后再把第k个元素前1位与目标位置之间的所有元素后移,再把第k个元素放在目标位置上,得到每组子混沌序列对应的索引数组。
S900、根据Zi对m组子加密数组进行排序合并处理,得到第i个线程对应的第一加密数组Yi
进一步,步骤S900,包括:
S901、根据Zi对Fi1,Fi2,...,Fir,...,Fim进行排序,得到排序后加密数组Ui1,Ui2,...,Uir,...,Uim
同一个线程中有若干个子加密数组,根据索引数组对对应的子加密数组进行排序,排序后的数组为排序后加密数组。
S902、将Ui1,Ui2,...,Uir,...,Uim依次进行合并,得到第i个线程对应的第一加密数组Yi
S910、对Qi进行类型转换处理,得到Qi对应的字节混沌序列Si
进一步,步骤S910,包括:
S911、将Qi的第g位至第g+a位的浮点类型字符转换为字节字符,并将转换的字节字符依次进行合并以确定为字节混沌序列Si;其中,g为预设的取位值;a为预设的取位数;
如g取13,a取7,则将每组初始混沌序列的第13位至第20位的浮点型字符转换为字节字符,并将转换后的字节字符依次进行合并,组成8位字节混沌序列,每个线程中都有一个8位字节混沌序列。
S920、将Si与Yi进行异或处理,得到第i个中央处理器的线程对应的第二加密数组Wi
S930、将W1,W2,...,Wi,...,Wn依次进行合并,得到目标加密数组,并进行输出。
每个线程中有一个字节混沌序列和一个第一加密数组,对同一线程中的字节混沌序列和第一加密数组做异或处理,得到每个线程中的第二加密数组,再将所有线程中的第二加密数组进行合并,得到目标加密数组,目标加密数组即为加密后的密文。
上述为本发明的数据加密方法,除此之外,还可根据本发明进行解密,解密方法为本发明的加密方法的逆过程,即将密文的目标加密数组倒推至明文的待加密数组,由于,解密方法是加密方法的逆推方法,所以,在此不再赘述。
本发明以待加密文件的文件名作为输入,以目标加密数组的文件名作为输出,可以实现对任意类型的文件进行加密处理。通过用户输入的加密初始值和迭代次数,使混沌系统产生目标混沌序列,再根据中央处理器的线程数量,对目标混沌序列和用户输入的待加密数组进行分组并分配到每个线程中,进行多线程加密处理,缩短了加密处理时间,再根据每个线程中的索引数组对子加密数组进行排序合并,得到第一加密数组,对初始混沌序列进行类型转换,转换为和第一加密数组的数据类型相同的字节混沌序列,通过字节混沌序列和第一加密数组得到第二加密数组,再将每个线程中的第二加密数组进行合并得到目标加密数组并输出。本发明通过用户输入的加密初始值对明文的待加密文件进行加密,加密初始值不是固定唯一的,且混沌系统根据用户输入的迭代次数得到的目标混沌序列也不是唯一的,即使解密的数据和加密的数据存在微小差异也会使混沌系统产生完全不同的混沌序列,提高了加密算法的安全性和可靠性。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。

Claims (10)

1.基于混沌加密算法的文件加密方法,其特征在于,所述方法包括如下步骤:
S100、获取用户输入的待加密文件、加密初始值和迭代次数;
S200、获取所述待加密文件的字节数组,并将其确定为待加密数组;
S300、将所述加密初始值和迭代次数输入预设的混沌系统中,确定目标混沌序列;所述目标混沌序列的字节数量和所述待加密数组的字节数量相同;
S400、将所述待加密数组中的数组元素分成n组,得到n组初始加密数组E1,E2,...,Ei,...,En;其中,i=1,2,...,n;n为中央处理器的线程数量;Ei为第i个初始加密数组;
S500、将所述目标混沌序列中的序列值分成n组,得到n组初始混沌序列Q1,Q2,...,Qi,...,Qn;其中,Qi为第i个初始混沌序列,且Qi的字节数量与Ei的字节数量相同;
S600、将Ei和Qi分配到第i个线程中;
S700、若Ei的长度大于H;则将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;以及将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,r=1,2,...,m;m为分组数值;H为预设的长度阈值;Fir为Ei对应的第r个子加密数组;Pir为Qi对应的第r个子混沌序列;
S800、对m组子混沌序列进行二分排序处理,得到索引数组Zi
S900、根据Zi对m组子加密数组进行排序合并处理,得到第i个线程对应的第一加密数组Yi
S910、对Qi进行类型转换处理,得到Qi对应的字节混沌序列Si
S920、将Si与Yi进行异或处理,得到第i个线程对应的第二加密数组Wi
S930、将W1,W2,...,Wi,...,Wn依次进行合并,得到目标加密数组,并进行输出。
2.根据权利要求1所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S300,包括:
S310、所述预设的混沌系统以所述加密初始值作为系统初值,以所述迭代次数作为预设的混沌系统需迭代的次数,进行迭代处理,得到目标混沌系统;所述目标混沌系统中包括若干目标混沌序列。
3.根据权利要求1所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S400,包括:
S410、获取所述待加密数组的数组长度L1
S420、获取中央处理器的线程数量n;
S430、根据中央处理器的线程数量n,将所述待加密数组分成n组初始加密数组E1,E2,...,Ei,...,En;E1,E2,...,En-1的长度均为L3=L1/n,En的长度为L4=L1/n+L1%n。
4.根据权利要求3所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S500,包括:
S510、获取所述目标混沌序列的长度为L2
S520、获取中央处理器的线程数量n;
S530、根据中央处理器的线程数量n,将所述目标混沌序列分成n组初始混沌序列Q1,Q2,...,Qi,...,Qn;Q1,Q2,...,Qn-1的长度均为L5=L2/n,Qn的长度为L6=L2/n+L2%n。
5.根据权利要求3所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S700,包括:
S710、判断L3是否大于H;若L3>H,则执行步骤S720;若L3≤H,则执行步骤S730;
S720、将Ei中的数组元素分成m组,得到m组子加密数组Fi1,Fi2,...,Fir,...,Fim;其中,m=L3%1024+1;
S730、将E1,E2,...,Ei,...,En分别确定为子加密数组。
6.根据权利要求4所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S700,还包括:
S740、判断L5是否大于H;若L5>H,则执行步骤S750;若L5≤H,则执行步骤S760;
S750、将Qi中的序列值分成m组,得到m组子混沌序列Pi1,Pi2,...,Pir,...,Pim;其中,m=L5%1024+1;
S760、将Q1,Q2,...,Qi,...,Qn分别确定为子混沌序列。
7.根据权利要求1所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S900,包括:
S901、根据Zi对Fi1,Fi2,...,Fir,...,Fim进行排序,得到排序后加密数组Ui1,Ui2,...,Uir,...,Uim
S902、将Ui1,Ui2,...,Uir,...,Uim依次进行合并,得到第i个线程对应的第一加密数组Yi
8.根据权利要求1所述的基于混沌加密算法的文件加密方法,其特征在于,所述步骤S910,包括:
S911、将Qi的第g位至第g+a位的浮点类型字符转换为字节字符,并将转换的字节字符依次进行合并以确定为字节混沌序列Si;其中,g为预设的取位值;a为预设的取位数。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项所述的基于混沌加密算法的文件加密方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。
CN202211420678.6A 2022-11-15 2022-11-15 基于混沌加密算法的文件加密方法、电子设备及存储介质 Active CN115622795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211420678.6A CN115622795B (zh) 2022-11-15 2022-11-15 基于混沌加密算法的文件加密方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211420678.6A CN115622795B (zh) 2022-11-15 2022-11-15 基于混沌加密算法的文件加密方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115622795A CN115622795A (zh) 2023-01-17
CN115622795B true CN115622795B (zh) 2023-02-28

Family

ID=84878035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211420678.6A Active CN115622795B (zh) 2022-11-15 2022-11-15 基于混沌加密算法的文件加密方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115622795B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117955736B (zh) * 2024-03-26 2024-06-04 山东星凯信息技术有限公司 一种网络大规模数据安全存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427979A (zh) * 2013-06-09 2013-12-04 浙江工业大学 一种基于混沌加密的互联网图片透明安全传输方法
CN104751065A (zh) * 2015-03-09 2015-07-01 哈尔滨工程大学 一种基于地理信息产品文件的加密方法
CN111093098A (zh) * 2019-12-30 2020-05-01 北京电子科技学院 一种基于Logistic映射的混沌加密方法
CN115001654A (zh) * 2022-06-09 2022-09-02 桂林电子科技大学 一种基于混沌的线程池与gpu组合优化批量图像加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050271207A1 (en) * 2004-06-05 2005-12-08 Helmut Frey Method and system for chaotic digital signature, encryption, and authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427979A (zh) * 2013-06-09 2013-12-04 浙江工业大学 一种基于混沌加密的互联网图片透明安全传输方法
CN104751065A (zh) * 2015-03-09 2015-07-01 哈尔滨工程大学 一种基于地理信息产品文件的加密方法
CN111093098A (zh) * 2019-12-30 2020-05-01 北京电子科技学院 一种基于Logistic映射的混沌加密方法
CN115001654A (zh) * 2022-06-09 2022-09-02 桂林电子科技大学 一种基于混沌的线程池与gpu组合优化批量图像加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王亚伟;王行愚;.一种结合Cat和Logistic映射的混沌加密算法.2005,(第S2期),全文. *
邓绍江,肖迪,涂凤华.基于Logistic映射混沌加密算法的设计与实现.2004,(第04期),全文. *

Also Published As

Publication number Publication date
CN115622795A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US8363830B2 (en) Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
CN112422266B (zh) 一种基于约瑟夫遍历和位平面重构的超混沌加密方法
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN108139889B (zh) 通过多个辅助伪随机数生成器的非线性混合生成伪随机数序列
CN110086600B (zh) 一种基于超混沌系统和变步长约瑟夫问题的图像加密方法
KR102154164B1 (ko) 의사 랜덤 시퀀스 생성 방법 및 데이터 스트림의 코딩 또는 디코딩 방법
CN115622795B (zh) 基于混沌加密算法的文件加密方法、电子设备及存储介质
AU2021200063B2 (en) Systems and computer-implemented methods for generating pseudo random numbers
Syafalni et al. Efficient homomorphic encryption accelerator with integrated PRNG using low-cost FPGA
Briët et al. Multipartite entanglement in XOR games.
Li et al. Fully homomorphic encryption with table lookup for privacy-preserving smart grid
Feng et al. Exploiting robust quadratic polynomial hyperchaotic map and pixel fusion strategy for efficient image encryption
Yan et al. High-speed privacy amplification scheme using GMP in quantum key distribution
Augustine et al. An audio encryption technique through compressive sensing and Arnold transform
CN114465728A (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
EP3206201A1 (en) Non-decreasing sequence determining device, non-decreasing sequence determining method, and program
Shpilrain et al. Compositions of linear functions and applications to hashing
Xiong et al. A bit-plane encryption algorithm for RGB image based on modulo negabinary code and chaotic system
Al-Mhadawi et al. Hybrid method as pseudo-random bits generator
Oravec et al. Image encryption technique with key diffused by coupled map lattice
Alamari et al. Parallel Message Authentication Algorithm Implemented Over Multicore CPU.
Wang et al. High‐sensitivity synchronous image encryption based on improved one‐dimensional compound sine map
Algazy et al. Evaluation of the strength and performance of a new hashing algorithm based on a block cipher
CN112202548A (zh) 流加密密钥流生成方法、装置、电路和加密方法
Ivanova et al. Secure text encryption based on clifford attractors

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