CN114257402A - 加密算法确定方法、装置、计算机设备和存储介质 - Google Patents

加密算法确定方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114257402A
CN114257402A CN202111342980.XA CN202111342980A CN114257402A CN 114257402 A CN114257402 A CN 114257402A CN 202111342980 A CN202111342980 A CN 202111342980A CN 114257402 A CN114257402 A CN 114257402A
Authority
CN
China
Prior art keywords
key
encryption
encryption algorithm
round
determining
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
Application number
CN202111342980.XA
Other languages
English (en)
Other versions
CN114257402B (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.)
China Southern Power Grid Co Ltd
Original Assignee
China Southern Power Grid 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 China Southern Power Grid Co Ltd filed Critical China Southern Power Grid Co Ltd
Priority to CN202111342980.XA priority Critical patent/CN114257402B/zh
Publication of CN114257402A publication Critical patent/CN114257402A/zh
Application granted granted Critical
Publication of CN114257402B publication Critical patent/CN114257402B/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

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

加密算法确定方法、装置、计算机设备和存储介质
技术领域
本申请涉及网络与信息安全技术领域,特别是涉及一种加密算法确定方法、装置、计算机设备和存储介质。
背景技术
随着社会的不断发展,用户之间信息的传递与分享变得日益频繁,然而信息安全事故频发,如何保证信息数据传输的安全成为用户关注的热点。进而,与信息安全密切相关的密码学领域越来越得到重视。
现有技术在进行对信息数据进行加密时,一般采用默认的加密算法直接对信息数据进行加密。在实际应用过程中,虽然密码学领域中包括有对称加密算法和非对称加密算法等多种加密算法,但是基本都采用默认的加密算法直接对信息数据进行加密,难以满足用户需求。
发明内容
基于此,有必要针对上述技术问题,提供一种能够满足用户加密需求的加密算法确定方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种加密算法确定方法,该方法包括:
根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;
利用对称加密算法对待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;
将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;
获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。
在其中一个实施例中,根据加解密测试结果确定目标加密算法,包括:
判断加解密测试结果是否满足预设的测试条件;
若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法;
若加解密测试结果不满足预设的测试条件,则重新构建初始混合加密算法。
在其中一个实施例中,安全性测试结果包括:混淆扩散性测试结果、加解密速率测试结果;判断加解密测试结果是否满足预设的测试条件,包括:
判断混淆扩散结果是否达到预设的混淆扩散设定阈值;
若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法,包括:
若混淆扩散性结果达到预设的混淆扩散设定阈值,则判断加解密速率测试结果是否达到预设的速率阈值;
若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
在其中一个实施例中,对称加密算法包括改进AES对称加密算法,利用对称加密算法对待传输的数据明文进行加密,生成数据密文,包括:
将初始密钥和待传输的数据明文传输至改进AES对称加密算法中确定改进AES对称加密算法的每一轮子密钥;每一轮子密钥包括多个元素,且元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关;
确定每一轮子密钥的S盒变换顺序,并对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。
在其中一个实施例中,确定改进AES对称加密算法的每一轮子密钥,包括:
执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数;
将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,直至到达预设的迭代次数,得到每一轮子密钥。
在其中一个实施例中,确定改进AES对称加密算法的每一轮子密钥,包括:
执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数;
将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,得到第二轮子密钥;
根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据第M轮子密钥中的第K个元素和M-1中的第K+1个元素确定第M轮子密钥中的第K+1个元素,得到第M轮子密钥;M为大于等于3的奇数,且K为正整数;
根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据第H-2轮子密钥中的第L个元素和H-1密钥中的第L个元素确定第一轮子密钥中的第N+1个元素,得到第H轮子密钥;H为大于等于4的偶数,且L为正整数,直至到达预设的迭代次数,得到每一轮子密钥。
在其中一个实施例中,确定每一轮子密钥的S盒变换顺序,包括:
每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序;
将其他轮子密钥和S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图;
将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。
第二方面,本申请提供一种加密算法确定装置,该装置包括:
构建模块,用于根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;
加密模块,用于利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;
发送模块,用于将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;
确定模块,用于获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。
第三方面,本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一项实施例中方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一项实施例中方法的步骤。
上述加密算法确定方法、装置、计算机设备和存储介质,通过根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。能够根据用户的需求构建加密算法,以满足不同的用户需求,并且对构建的算法进行验证进一步确保满足不同的客户需求。
附图说明
图1为一个实施例中加密算法确定方法的应用环境图;
图2为一个实施例中加密算法确定方法的流程示意图;
图3为另一个实施例中加密算法确定方法的流程示意图;
图4为另一个实施例中加密算法确定方法的流程示意图;
图5为另一个实施例中加密算法确定方法的流程示意图;
图5-a为一个实施例中加密算法的示意图;
图6为另一个实施例中加密算法确定方法的流程示意图;
图7为另一个实施例中加密算法确定方法的流程示意图;
图8为另一个实施例中加密算法确定方法的流程示意图;
图9为一个实施例中加密算法确定装置的结构框图;
图10为另一个实施例中加密算法确定装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
加密算法包括对称加密算法和非对称加密算法,对称加密算法在加解密时使用相同的密钥,非对称加密算法在加解密时使用不同的密钥。
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。甲方只能用其私钥解密由其公钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
为了进一步提高加密算法的安全性,可以通过将对称加密算法和非对称加密算法组合应用构成混合加密体制。然而在实际应用过程中,因不同用户的需求不同,比如有的用户对其所拥有的数据进行分级,不同等级的数据所需的安全性不同,低级别的数据需要减少加密时间,高级别的数据对加密时间不做限制,但是要求加密安全性高,对混合加密体系的要求不同,所以需要一种能够判断混合加密体系是否符合用户需求的方法。
基于此,本申请提供的加密算法确定方法,可以应用于如图1所示的应用环境中。其中,发送方终端102通过网络与接收方终端104通过网络进行通信。发送方终端可以通过根据用户的加密需求选择加密算法对待发送的数据明文进行加密,并将加密后的密文发送至接收方终端进行解密,发送方终端根据加解密测试结果确定能够满足用户需求的目标加密算法。其中,发送方终端102和接收方终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种加密算法确定方法,以该方法应用于图1中的发送方终端为例进行说明,包括以下步骤:
S202,根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法。
具体地,用户的加密需求可以包括加密时长需求、安全性需求。比如有的用户对其所拥有的数据进行分级,不同等级的数据所需的安全性不同,低级别的数据需要减少加密时间,高级别的数据对加密时间不做限制,但是要求加密安全性高。其中,安全性需求可以包括:平衡性需求、信息熵需求、字符统计需求及混淆与扩散性需求等等,在此不加以限制。
终端设备中可以包括用于存储加密算法的数据库,数据库中存储有多个不同的对称加密算法和多个不同的非对称加密算法。其中,对称加密算法,可以包括DES算法、3DES算法、AES算法、改进AES算法等。非对称加密算法,可以包括RSA算法、ECC算法等等,在此不加以限制。
当获取到用户的加密需求后,可以任意选择一个对称加密算法和非对称加密算法构建初始混合加密算法。由于用于存储加密算法的数据库中,还可以包括用于对各个加密算法进行统计的表格,如表1所示,可以对不同加密算法的改进原理、数据块大小、加密时间、解密时间、安全评价因素说明;其中,安全评价因素可以包括平衡性、信息熵、字符统计及混淆与扩散性等等。根据用户的需求可以选择符合用户需求的对称加密算法和非对称加密算法构初始混合加密算法。例如,用户的需求为加密时间为200ms,AES加密算法和ECC加密算法的加密时间相加为197ms,那根据对应的加密时间,可以选择AES算法+ECC加密算法构建初始混合加密算法。
表1
Figure BDA0003352747830000071
S204,利用对称加密算法对待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥。
具体地,当构建好初始混合加密算法后,需要对该初始混合加密算法进行验证,是否能够满足用户的加密需求。可以利用对称加密算法对待传输的数据明文进行加密,生成数据密文。并利用选择的非对称加密算法,对对称算法进行加密,生成密钥。
可选地,非对称加密算法包括:ECC加密算法。ECC加密算法的密钥产生具体包括以下步骤:
确定椭圆曲线域参数T=(m,a,b,G,n,h),确定T需要满足的条件,根据确定的E(a,b)范围选择一个点G(x1,y1),阶数n为一个大素数,随机选择一个整数Ks,计算Kp=(x1,y1)=KsG,得到密钥对(Ks,Kp),Kp为公钥,Ks为私钥。
S206,将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密。
具体地,当对数据明文进行加密后的数据密文和密钥传输至接收方设备,接收方设备可以根据接收到的密钥对数据密文进行解密。
S208,获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。
其中,加解密测试结果包括加密时长、解密时长、安全性测试结果。安全性测试结果包括:平衡性测试结果、信息熵测试结果、字符统计测试结果及混淆与扩散性测试结果等。平衡性测试指的是密文文本中0和1的个数,计算01差值占01总数的比例,越接近0,表示密文的平衡性越好。信息熵是测试密文文本信息的混乱程度,根据不同的文本长度来计算信息熵,文本长度越大,信息熵越高。字符统计是测试密文文本中字符所占的频率,频率越均匀表示密文的字符统计性越低,不具有统计规律,安全性更高。混淆扩散性是指明文或密钥改变1比特对密文比特位的影响,主要包括安全性、雪崩效应和严格雪崩效应。
具体地,在加密的过程中,统计对数据明文加密的加密时长,以及生成数据密文后,对数据密文进行的平衡性测试结果、信息熵测试结果、字符统计测试结果及混淆与扩散性测试结果等。同时,接收方设备进行解密时,也会统计进行解密的时长,并将统计的时长发送至发送方设备。即发送方设备即可获取加解密测试结果。当得到加解密测试结果后,可以通过将加解密测试结果与预设的测试阈值比较大小;或者将加解密测试结果与预设的测试阈值进行作差,根据差值是否大于0;或者将加解密测试结果与预设的测试阈值进行做商,将做商值和1进行比较,确定目标加密算法。也可以是通过判断加解密测试结果是否满足预设的测试条件,在满足条件的情况下,确定目标加密算法。
上述加密算法确定方法中,通过根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。能够根据用户的需求构建加密算法,以满足不同的用户需求,并且对构建的算法进行验证进一步确保满足不同的客户需求。
上述实施例对加密算法确定方法进行了说明,在加密算法确定方法中,需要确定选中的加密算法能否通过加解密测试,以满足用户的需求,现以一个实施例对如何根据加解密测试结果确定目标加密算法进行说明,在一个实施例中,如图3所示,根据加解密测试结果确定目标加密算法,包括:
S302,判断加解密测试结果是否满足预设的测试条件。
其中,预设的测试条件可以包括单独一种测试条件,也可以包括多种测试条件。在此不加以限制。预设的测试条件可以包括安全性测试结果、加密时长、解密时长等。
具体地,判断加解密测试结果是否满足预设的测试条件,若预设的测试条件为预设的数值范围,则可以判断加解密测试结果是否超出预设的数值范围;若预设的测试条件为预设的数阈值,则可以判断加解密测试结果和预设的阈值的大小结果。可以通过用户的加密需求,选择对应的预设的测试条件,例如,用户的加密需求为加密时长,则预设的测试条件则为加密时长阈值。也可以是预设的测试条件为加密时长和安全性测试结果的组合,在此不加以限制。
进一步地,在一个实施例中,如图4所示,安全性测试结果包括:混淆扩散性测试结果、加解密速率测试结果;判断加解密测试结果是否满足预设的测试条件,包括:
S402,判断混淆扩散结果是否达到预设的混淆扩散设定阈值;
S404,若混淆扩散性结果达到预设的混淆扩散设定阈值,则判断加解密速率测试结果是否达到预设的速率阈值;
S406,若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
具体地,首先判断混淆扩散结果是否达到预设的混淆扩散设定阈值,在混淆扩散性结果达到预设的混淆扩散设定阈值的情况下,判断加解密速率测试结果是否达到预设的速率阈值,若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
S304,若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法。
具体地,若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法。
S306,若加解密测试结果不满足预设的测试条件,则重新构建初始混合加密算法。
具体地,若加解密测试结果不满足预设的测试条件,则重新构建初始混合加密算法。选择能够满足用户的加密需求的其他对称加密算法和非对称加密算法的组合。
本实施例中,通过判断加解密测试结果是否满足预设的测试条件,若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法,若加解密测试结果不满足预设的测试条件,则重新构建初始混合加密算法。能够达对构建的初始混合加密算法进行验证,确保满足用户需求。
上述实施例对如何根据加解密测试结果确定目标加密算法进行了说明,在此之前,需要利用构建的初始混合加密算法对数据明文进行加密,以得到加密的安全测试结果,现以一个实施例对如何利用对称加密算法对待传输的数据明文进行加密进行说明,在一个实施例中,如图5所示,对称加密算法包括改进AES对称加密算法,利用对称加密算法对待传输的数据明文进行加密,生成数据密文,包括:
S502,将初始密钥和待传输的数据明文传输至改进AES对称加密算法中确定改进AES对称加密算法的每一轮子密钥;每一轮子密钥包括多个元素,且元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关。
具体地,参照图5-a,获取AES算法的预设的初始密钥,将初始密钥和数据明文传输至改进AES对称算法中。以128位的初始密钥为例,将128位初始密钥看成4行4列矩阵,矩阵的每个元素为8位,一行的四个元素可抽象地看作一个字w,将初始密钥记为w(w0,w1,w2,w3),轮密钥的结构与初始密钥相同,可以进行十轮迭代。其中,改进AES对称加密算法具体指的是对AES密钥扩展算法进行改进,使得AES的每一轮子密钥至少与前两轮子密钥相关的对称加密算法。
由于要进行多轮的迭代,以实现对数据明文的多次加密,在每一轮子密钥的确定时,可以将初始密钥和数据明文传输至改进AES对称算法中,可以进行轮密钥加确定第一轮子密钥的元素,再根据第一轮子密钥的元素,确定第二轮子密钥的元素直至,到达迭代次数,每一轮子密钥的元素均已确定。每一轮子密钥可以包括多个元素,且元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关。
可选地,如图6所示,确定改进AES对称加密算法的每一轮子密钥,包括:
S602,执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数。
具体地,初始密钥记为w(w0,w1,w2,w3),将第一轮子密钥定义为w(w4,w5,w6,w7),根据初始密钥中的第一个元素和第四个元素将其带入公式
Figure BDA0003352747830000111
Rcon(1)指的是与一个轮常数Rcon异或,确定第一轮子密钥中的第一个元素w4。根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥,可以通过公式
Figure BDA0003352747830000112
确定第一轮子密钥中元素w5、w6、w7。其中,初始密钥和每一轮子密钥的元素为4个。
S604,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,直至到达预设的迭代次数,得到每一轮子密钥。
具体地,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,直至到达预设的迭代次数,得到每一轮子密钥。示例地,第二到十轮子密钥为
Figure BDA0003352747830000113
可选地,如图7所示,确定改进AES对称加密算法的每一轮子密钥,包括:
S702,执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数。
具体地,初始密钥记为w(w0,w1,w2,w3),将第一轮子密钥定义为w(w4,w5,w6,w7),根据初始密钥中的第一个元素和第四个元素将其带入公式w4=w0⊕SubWord(RotByte(w3))⊕Rcon(1);Rcon(1)指的是与一个轮常数Rcon异或,确定第一轮子密钥中的第一个元素w4。根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥,可以通过公式w5=w1⊕w4,w6=w2⊕w5,w7=w3⊕w6,确定第一轮子密钥中元素w5、w6、w7。其中,初始密钥和每一轮子密钥的元素为4个。
S704,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,得到第二轮子密钥。
具体地,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,得到第二轮子密钥。第二轮子密钥为
Figure BDA0003352747830000121
i=8,9,10,11。
S706,根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据第M轮子密钥中的第K个元素和M-1中的第K+1个元素确定第M轮子密钥中的第K+1个元素,得到第M轮子密钥;M为大于等于3的奇数,且K为正整数。
具体地,第三轮子密钥为w12=w8⊕SubWord(RotByte(w11))⊕Rcon(1),w13=w9⊕w12,w14=w10⊕w13,w15=w11⊕w14。以此类推,奇数轮子密钥从第三轮子密钥开始,根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据第M轮子密钥中的第K个元素和M-1中的第K+1个元素确定第M轮子密钥中的第K+1个元素,得到第M轮子密钥;M为大于等于3的奇数,且K为正整数。
S708,根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据第H-2轮子密钥中的第L个元素和H-1密钥中的第L个元素确定第一轮子密钥中的第N+1个元素,得到第H轮子密钥;H为大于等于4的偶数,且L为正整数,直至到达预设的迭代次数,得到每一轮子密钥。
具体地,从第四轮子密钥往后的偶数轮子密钥可以通过公式为
Figure BDA0003352747830000131
i=16,17,18,19,确定偶数轮的子密钥,即根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据第H-2轮子密钥中的第L个元素和H-1密钥中的第L个元素确定第一轮子密钥中的第N+1个元素,得到第H轮子密钥;H为大于等于4的偶数,且L为正整数,直至到达预设的迭代次数,得到每一轮子密钥。
S504,确定每一轮子密钥的S盒变换顺序,并对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。
具体地,由于需要对轮密钥进行多次的迭代,使密钥尽可能的复杂,由于轮迭代过程中需要进行S盒变换,每一轮会通过多个S盒变换,因此,还可以对AES加密算法中每一轮的S盒变换进行一定的改进;通过每一轮子密钥确定进行S盒变换的顺序,多种顺序变化,则可以产生不同的加密顺序,得到更为复杂的密文。确定每一轮子密钥的S盒变换顺序可以通过默认的S盒变换顺序,对每一轮子密钥进行S盒变换,在进行列移位和列混淆,直至达到预设迭代次数,输出数据密文。也可以通过,选择多个S盒后,通过二维谢尔宾斯基地毯模型确定每一轮子密钥的S盒变换顺序。并对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。其中,S盒变换变换过程分为两步:把每个字节的值用其乘法逆来代替,‘00’的逆是其本身把上一步得出的字节值进行仿射变换如下:
Figure BDA0003352747830000141
进一步地,如图8所示,确定每一轮子密钥的S盒变换顺序,包括:
S802,每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序;
S804,将其他轮子密钥和S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图;
S806,将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。
具体地,将首轮子密钥和末轮子密钥采用预设的S盒变换顺序,即对多个S和已经进行了排序,按照既定的顺序进行S盒变换,确定其他轮子密钥S盒变换顺序时,可以通过将其他轮子密钥和多个S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图,将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。示例地,在加密过程中,首轮和末轮采用设定的S盒,选择某一轮子密钥,将该子密钥和8个S盒编号转换为二进制,采用二维谢尔宾斯基地毯模型,利用00/01/10/11代表旋转次数,将其填入模型中,得到密钥控制图;将S盒编号填入到模型中,得到编号位置图,将模型中子图形按照密钥控制的规则进行旋转,使用通过旋转得到的序列来决定S盒的顺序。
在本实施例中,通过将初始密钥和待传输的数据明文传输至改进AES对称加密算法中确定改进AES对称加密算法的每一轮子密钥;每一轮子密钥包括多个元素,且元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关,确定每一轮子密钥的S盒变换顺序,并对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。其中,由于对AES加密算法进行了改进扩展,运用不同的轮密钥相加的方法,将每一轮子密钥关联,且更为复杂化,以实现加密的安全性更高。并且通过确定的每一轮子密钥选择对应的S盒变换顺序,跟进一步提高了加密算法的安全强度。
上述实施例对加密算法确定方法进行了说明,现以一个实施例对加密算法确定方法进行说明,在一个实施例中,加密算法确定方法,包括:
S901,根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法。
S902,将初始密钥和待传输的数据明文传输至改进AES对称加密算法中,执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数。
S903,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,直至到达预设的迭代次数,得到每一轮子密钥。
S904,每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序。
S905,将其他轮子密钥和S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图。
S906,将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。
S907,对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。
S908,并利用非对称算法对对称算法进行加密,生成密钥。
S909,将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密。
S910,获取加解密测试结果,判断混淆扩散结果是否达到预设的混淆扩散设定阈值。
S911,若混淆扩散性结果达到预设的混淆扩散设定阈值,则判断加解密速率测试结果是否达到预设的速率阈值。
S912,若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
在本实施例中,通过根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。能够根据用户的需求构建加密算法,以实现提供满足不同的用户需求,并且对构建的算法进行验证确保满足不同的客户需求。
上述实施例对加密算法确定方法进行了说明,现以一个实施例对加密算法确定方法进行说明,在一个实施例中,加密算法确定方法,包括:
S101,根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法。
S102,将初始密钥和待传输的数据明文传输至改进AES对称加密算法中,执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数。
S103,将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,得到第二轮子密钥。
S104,根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据第M轮子密钥中的第K个元素和M-1中的第K+1个元素确定第M轮子密钥中的第K+1个元素,得到第M轮子密钥;M为大于等于3的奇数,且K为正整数。
S105,根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据第H-2轮子密钥中的第L个元素和H-1密钥中的第L个元素确定第一轮子密钥中的第N+1个元素,得到第H轮子密钥;H为大于等于4的偶数,且L为正整数,直至到达预设的迭代次数,得到每一轮子密钥。
S106,每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序。
S107,将其他轮子密钥和S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图。
S108,将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。
S109,对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。
S110,并利用非对称算法对对称算法进行加密,生成密钥。
S111,将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密。
S112,获取加解密测试结果,判断混淆扩散结果是否达到预设的混淆扩散设定阈值。
S113,若混淆扩散性结果达到预设的混淆扩散设定阈值,则判断加解密速率测试结果是否达到预设的速率阈值。
S114,若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
在本实施例中,通过根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。能够根据用户的需求构建加密算法,以满足不同的用户需求,并且对构建的算法进行验证进一步确保满足不同的客户需求。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
上述实施例对加密算法确定方法进行了说明,现以一个实施例对与其对应的加密算法确定装置进行说明,在一个实施例中,如图9所示,提供了一种加密算法确定装置,包括:
构建模块901,用于根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;
加密模块902,用于利用对称加密算法对待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;
发送模块903,用于将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;
确定模块904,用于获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。
在本实施例中,通过构建模块根据用户的加密需求构建初始混合加密算法;混合加密算法包括对称加密算法和非对称加密算法;加密模块利用对称加密算法待传输的数据明文进行加密,生成数据密文,并利用非对称算法对对称算法进行加密,生成密钥;发送模块将数据密文和密钥发送至接收方设备,以使接收方设备根据密钥对数据密文进行解密;确定模块获取加解密测试结果,并根据加解密测试结果确定目标加密算法;加解密测试结果包括利用初始混合加密算法进行加密的安全测试结果和接收方设备发送的解密时的安全性测试结果。能够根据用户的需求构建加密算法,以满足不同的用户需求,并且对构建的算法进行验证确保满足不同的客户需求。
在一个实施例中,如图10所示,确定模块904,包括:
判断单元9041,用于判断加解密测试结果是否满足预设的测试条件;
第一确定单元9042,用于若加解密测试结果满足预设的测试条件,则将初始混合加密算法确定为目标加密算法;
重构单元9043,用于若加解密测试结果不满足预设的测试条件,则重新构建初始混合加密算法。
在一个实施例中,判断单元具体用于判断混淆扩散结果是否达到预设的混淆扩散设定阈值;若混淆扩散性结果达到预设的混淆扩散设定阈值,则判断加解密速率测试结果是否达到预设的速率阈值;若加解密速率测试结果达到预设的速率阈值,则加解密测试结果满足预设的测试条件。
在一个实施例中,参照图10所示,加密模块903,包括:
传输单元9031,用于将初始密钥和待传输的数据明文传输至改进AES对称加密算法中,确定改进AES对称加密算法的每一轮子密钥;每一轮子密钥包括多个元素,且元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关;
第二确定单元9032,用于确定每一轮子密钥的S盒变换顺序,并对每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出数据密文。
在一个实施例中,第二确定单元,具体用于执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数;将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,直至到达预设的迭代次数,得到每一轮子密钥。
在一个实施例中,第二确定单元,具体用于执行密钥获取操作;密钥获取操作包括:根据初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据第一轮子密钥中的第N个元素和初始密钥中的第N+1个元素确定第一轮子密钥中的第N+1个元素,得到第一轮子密钥;N为正整数;将第一轮子密钥作为新的初始密钥,并返回执行密钥获取操作,得到第二轮子密钥;根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据第M轮子密钥中的第K个元素和M-1中的第K+1个元素确定第M轮子密钥中的第K+1个元素,得到第M轮子密钥;M为大于等于3的奇数,且K为正整数;根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据第H-2轮子密钥中的第L个元素和H-1密钥中的第L个元素确定第一轮子密钥中的第N+1个元素,得到第H轮子密钥;H为大于等于4的偶数,且L为正整数,直至到达预设的迭代次数,得到每一轮子密钥。
在一个实施例中,第二确定单元,具体用于每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序;将其他轮子密钥和S盒编号转换为二进制数据,并将二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图;将密钥控制图以及编号位置图按照预设的密钥控制规则进行旋转,确定其他轮子密钥的S盒变换顺序。
关于加密算法确定装置的具体限定可以参见上文中对于加密算法确定方法的限定,在此不再赘述。上述加密算法确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种加密算法确定方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种加密算法确定方法,其特征在于,所述方法包括:
根据用户的加密需求构建初始混合加密算法;所述混合加密算法包括对称加密算法和非对称加密算法;
利用所述对称加密算法对待传输的数据明文进行加密,生成数据密文,并利用所述非对称算法对所述对称算法进行加密,生成密钥;
将所述数据密文和所述密钥发送至接收方设备,以使所述接收方设备根据所述密钥对所述数据密文进行解密;
获取加解密测试结果,并根据所述加解密测试结果确定目标加密算法;所述加解密测试结果包括利用所述初始混合加密算法进行加密的安全测试结果和所述接收方设备发送的解密时的安全性测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述加解密测试结果确定目标加密算法,包括:
判断所述加解密测试结果是否满足预设的测试条件;
若所述加解密测试结果满足所述预设的测试条件,则将所述初始混合加密算法确定为目标加密算法;
若所述加解密测试结果不满足所述预设的测试条件,则重新构建所述初始混合加密算法。
3.根据权利要求2所述的方法,其特征在于,所述安全性测试结果包括:混淆扩散性测试结果、加解密速率测试结果;所述判断所述加解密测试结果是否满足预设的测试条件,包括:
判断所述混淆扩散结果是否达到预设的混淆扩散设定阈值;
若所述混淆扩散性结果达到所述预设的混淆扩散设定阈值,则判断所述加解密速率测试结果是否达到预设的速率阈值;
若所述加解密速率测试结果达到预设的速率阈值,则所述加解密测试结果满足所述预设的测试条件。
4.根据权利要求1所述的方法,其特征在于,所述对称加密算法包括改进AES对称加密算法,所述利用所述对称加密算法对待传输的数据明文进行加密,生成数据密文,包括:
将初始密钥和所述待传输的数据明文传输至改进AES对称加密算法中,确定所述改进AES对称加密算法的每一轮子密钥;所述每一轮子密钥包括多个元素,且所述元素与前一轮子密钥和/或所在轮子密钥中的至少两位元素相关;
确定所述每一轮子密钥的S盒变换顺序,并对所述每一轮子密钥进行S盒变换、行移位和列混淆,直至达到预设迭代次数,输出所述数据密文。
5.根据权利要求4所述的方法,其特征在于,所述确定所述改进AES对称加密算法的每一轮子密钥,包括:
执行密钥获取操作;所述密钥获取操作包括:根据所述初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据所述第一轮子密钥中的第N个元素和所述初始密钥中的第N+1个元素确定所述第一轮子密钥中的第N+1个元素,得到所述第一轮子密钥;N为正整数;
将所述第一轮子密钥作为新的初始密钥,并返回执行所述密钥获取操作,直至到达所述预设的迭代次数,得到所述每一轮子密钥。
6.根据权利要求4所述的方法,其特征在于,所述确定所述改进AES对称加密算法的每一轮子密钥,包括:
执行密钥获取操作;所述密钥获取操作包括:根据所述初始密钥中的第一个元素和第四个元素确定第一轮子密钥中的第一个元素;根据所述第一轮子密钥中的第N个元素和所述初始密钥中的第N+1个元素确定所述第一轮子密钥中的第N+1个元素,得到所述第一轮子密钥;N为正整数;
将所述第一轮子密钥作为新的初始密钥,并返回执行所述密钥获取操作,得到第二轮子密钥;
根据第M-1轮子密钥中的第一个元素和第四个元素确定第M轮子密钥中的第一个元素;根据所述第M轮子密钥中的第K个元素和所述M-1中的第K+1个元素确定所述第M轮子密钥中的第K+1个元素,得到所述第M轮子密钥;M为大于等于3的奇数,且K为正整数;
根据第H-2轮子密钥中的第一个元素和第H-1中的第一个元素确定第H轮子密钥中的第一个元素;根据所述第H-2轮子密钥中的第L个元素和所述H-1密钥中的第L个元素确定所述第一轮子密钥中的第N+1个元素,得到所述第H轮子密钥;所述H为大于等于4的偶数,且L为正整数,直至到达所述预设的迭代次数,得到所述每一轮子密钥。
7.根据权利要求5所述的方法,其特征在于,所述确定所述每一轮子密钥的S盒变换顺序,包括:
所述每一轮子密钥中的首轮子密钥和末轮子密钥采用预设的S盒变换顺序;
将其他轮子密钥和S盒编号转换为二进制数据,并将所述二进制数据输入二维谢尔宾斯基地毯模型中,得到密钥控制图以及编号位置图;
将所述密钥控制图以及所述编号位置图按照预设的密钥控制规则进行旋转,确定所述其他轮子密钥的S盒变换顺序。
8.一种加密算法确定装置,其特征在于,所述装置包括:
构建模块,用于根据用户的加密需求构建初始混合加密算法;所述混合加密算法包括对称加密算法和非对称加密算法;
加密模块,用于利用所述对称加密算法对待传输的数据明文进行加密,生成数据密文,并利用所述非对称算法对所述对称算法进行加密,生成密钥;
发送模块,用于将所述数据密文和所述密钥发送至接收方设备,以使所述接收方设备根据所述密钥对所述数据密文进行解密;
确定模块,用于获取加解密测试结果,并根据所述加解密测试结果确定目标加密算法;所述加解密测试结果包括利用所述初始混合加密算法进行加密的安全测试结果和所述接收方设备发送的解密时的安全性测试结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111342980.XA 2021-11-12 2021-11-12 加密算法确定方法、装置、计算机设备和存储介质 Active CN114257402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111342980.XA CN114257402B (zh) 2021-11-12 2021-11-12 加密算法确定方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111342980.XA CN114257402B (zh) 2021-11-12 2021-11-12 加密算法确定方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114257402A true CN114257402A (zh) 2022-03-29
CN114257402B CN114257402B (zh) 2024-04-09

Family

ID=80790853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111342980.XA Active CN114257402B (zh) 2021-11-12 2021-11-12 加密算法确定方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114257402B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545776A (zh) * 2023-07-06 2023-08-04 中航金网(北京)电子商务有限公司 数据传输方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007327A1 (en) * 1998-07-29 2000-02-10 Jong Uk Choi Method of evaluating encryption algorithms using chaos analysis
CN110113203A (zh) * 2019-04-30 2019-08-09 阿里巴巴集团控股有限公司 一种用于加密模型的安全性评估的方法和设备
CN110535868A (zh) * 2019-09-05 2019-12-03 山东浪潮商用系统有限公司 基于混合加密算法的数据传输方法及系统
WO2020238537A1 (zh) * 2019-05-24 2020-12-03 魏文科 利用非对称式加密算法建立、验证输入值的方法及其应用
CN112039730A (zh) * 2020-08-31 2020-12-04 海南大学 一种加密算法的性能评估方法及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007327A1 (en) * 1998-07-29 2000-02-10 Jong Uk Choi Method of evaluating encryption algorithms using chaos analysis
CN110113203A (zh) * 2019-04-30 2019-08-09 阿里巴巴集团控股有限公司 一种用于加密模型的安全性评估的方法和设备
WO2020238537A1 (zh) * 2019-05-24 2020-12-03 魏文科 利用非对称式加密算法建立、验证输入值的方法及其应用
CN110535868A (zh) * 2019-09-05 2019-12-03 山东浪潮商用系统有限公司 基于混合加密算法的数据传输方法及系统
CN112039730A (zh) * 2020-08-31 2020-12-04 海南大学 一种加密算法的性能评估方法及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈晓宇: "高级加密标准AES算法的分析与优化改进", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 12, pages 5 *
马先珍: "一种新型组合加密算法的研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 7, pages 4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116545776A (zh) * 2023-07-06 2023-08-04 中航金网(北京)电子商务有限公司 数据传输方法、装置、计算机设备及存储介质
CN116545776B (zh) * 2023-07-06 2023-10-03 中航金网(北京)电子商务有限公司 数据传输方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114257402B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
CN107181590B (zh) 策略隐藏和外包解密下的抗泄露cp-abe方法
EP2742644B1 (en) Encryption and decryption method
Koko et al. Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication
CN104519071A (zh) 一种具有选择和排除功能的群组加解密方法及系统
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Reyad et al. Key-based enhancement of data encryption standard for text security
Sarkar et al. Role of cryptography in network security
CN114257402B (zh) 加密算法确定方法、装置、计算机设备和存储介质
Kuppuswamy et al. A hybrid encryption system for communication and financial transactions using RSA and a novel symmetric key algorithm
Saeed et al. Improved cloud storage security of using three layers cryptography algorithms
Azaim et al. Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES
CN106973061B (zh) 一种基于可逆逻辑电路的aes的外发文件加密方法
Mahmoud Development of Matrix Cipher Modifications and Key Exchange Protocol
Prasanthi et al. Hybrid approach for securing the IoT devices
WO2001091368A2 (en) Encryption system based on crossed inverse quasigroups
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
JP2017527225A (ja) 暗号システムの再現可能なランダムシーケンス
RU2277759C2 (ru) Способ формирования ключа шифрования-дешифрования
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Bajaj et al. Enhancement of RC5 for image encryption
CN116781243B (zh) 一种基于同态加密的不经意传输方法、介质及电子设备
Ekka et al. Enrichment of security using hybrid algorithm

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