加密算法测评方法、介质、设备及装置与流程

文档序号:19535540发布日期:2019-12-27 15:50阅读:176来源:国知局
加密算法测评方法、介质、设备及装置与流程

本发明涉及网络安全加密技术领域,特别涉及一种加密算法测评方法、一种计算机可读存储介质、一种计算机设备和一种加密算法测评装置。



背景技术:

随着互联网技术的不断发展,各种网络安全事件频发,凸显出了网络安全的严峻形势。加密算法作为网络安全的核心技术与基础支撑,是网络安全的第一道防线;因此,对加密算法进行测评,以验证其安全性、健壮性和合理性,是保证网络安全的重要手段之一。

相关技术中,在对加密算法进行测评时,多采用黑盒式测试,缺乏有效的白盒测试方法,并且,对于加密算法的测评多采用人工测试,测评效率低下,且因为人为的不确定性导致最终测评结果的精准度较低。



技术实现要素:

本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种加密算法测评方法,能够实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

本发明的第二个目的在于提出一种计算机可读存储介质。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种加密算法测评装置。

为达到上述目的,本发明第一方面实施例提出了一种加密算法测评方法,包括以下步骤:获取待测评加密算法和对应的密钥;判断所述密钥是否满足预设的条件;如果是,则获取所述待测评加密算法对应的测评算法、第一明文数据和所述第一明文数据对应的第一密文数据;根据所述测评算法和所述密钥对所述第一明文数据进行计算,以生成第二密文数据;判断所述第一密文数据与所述第二密文数据是否一致;如果是,则确认所述待测评加密算法为安全加密算法。

根据本发明实施例的加密算法测评方法,首先,获取待测评的加密算法及其对应的密钥,接着,判断该密钥是否满足预设的条件,以判断该待测评加密算法对应密钥的设置合理性;然后,如果该密钥满足预设的条件,则进一步获取待测评加密算法所对应的测评算法、第一明文数据以及根据待测评加密算法对第一明文数据进行计算所得到的对应该第一明文数据的第一密文数据;接着,根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据,然后,判断第一密文数据和第二密文数据是否一致,如果一致,则确认该待测评加密算法为安全加密算法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

另外,根据本发明上述实施例提出的加密算法测评方法还可以具有如下附加的技术特征:

可选地,判断所述密钥是否满足预设的条件,包括:判断所述密钥的长度是否大于预设长度;如果是,则判断所述密钥的组合方式是否满足预设的组合条件;如果是,则判断所述密钥的存储占用空间是否小于预设的空间阈值;如果是,则确认所述密钥为安全密钥。

可选地,在判断所述第一密文数据与所述第二密文数据一致之后,还包括:获取第二明文数据和所述第二明文数据对应的第三密文数据;根据所述测评算法和所述密钥对所述第三密文数据进行计算,以生成第三明文数据;判断所述第二明文数据和所述第三明文数据是否一致,以便在判断结果为是时将所述待测评加密算法确认为安全加密算法。

可选地,在判断所述密钥满足预设的条件之后,还包括:判断所述待测评加密算法在计算过程中是否引入随机数;如果是,则获取测评明文数据和多个随机数;根据所述测评算法、所述密钥和每个随机数对所述测评明文数据进行计算,以生成多个测评密文数据;判断所述多个测评密文数据是否一致;如果不一致,则确认该待测评加密算法为不安全加密算法。

为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有加密算法测评程序,该加密算法测评程序被处理器执行时实现如上述的加密算法测评方法。

根据本发明实施例的计算机可读存储介质,通过存储加密算法测评程序,以使得处理器在执行该加密算法测评程序时,实现如上述的加密算法测评方法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述的加密算法测评方法。

根据本发明实施例的计算机设备,通过存储器对计算机程序进行存储,以使得处理器在执行该计算机程序时,实现如上述的加密算法测评方法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为达到上述目的,本发明第四方面实施例提出了一种加密算法测评装置,包括:获取模块,所述获取模块用于获取待测评加密算法和对应的密钥;判断模块,所述判断模块用于判断所述密钥是否满足预设的条件;所述获取模块还用于在所述密钥满足预设的条件时,获取所述待测评加密算法对应的测评算法、第一明文数据和所述第一明文数据对应的第一密文数据;计算模块,所述计算模块用于根据所述测评算法和所述密钥对所述第一明文数据进行计算,以生成第二密文数据;所述判断模块还用于判断所述第一密文数据与所述第二密文数据是否一致,并在判断结果为是时确认所述待测评加密算法为安全加密算法。

根据本发明实施例的加密算法测评装置,通过获取模块对待测评加密算法和对应的密钥进行获取,通过判断模块对获取到的密钥进行验证,以判断其是否满足预设的条件,从而对密钥设置的合理性进行判断;获取模块还用于在密钥满足预设的条件时,对待测评加密算法对应的测评算法、第一明文数据以及根据待测评加密算法对第一明文数据进行计算得出的第一密文数据进行获取;设置计算模块根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据,判断模块还用于对第一密文数据和第二密文数据进行比较,以判断两者是否一致,如果两者一致,则确认该待测评加密算法为安全加密算法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

另外,根据本发明上述实施例提出的加密算法测评装置还可以具有如下附加的技术特征:

可选地,判断所述密钥是否满足预设的条件,包括:判断所述密钥的长度是否大于预设长度;如果是,则判断所述密钥的组合方式是否满足预设的组合条件;如果是,则判断所述密钥的存储占用空间是否小于预设的空间阈值;如果是,则确认所述密钥为安全密钥。

可选地,在判断所述第一密文数据与所述第二密文数据一致之后,还包括:获取第二明文数据和所述第二明文数据对应的第三密文数据;根据所述测评算法和所述密钥对所述第三密文数据进行计算,以生成第三明文数据;判断所述第二明文数据和所述第三明文数据是否一致,以便在判断结果为是时将所述待测评加密算法确认为安全加密算法。

可选地,在判断所述密钥满足预设的条件之后,还包括:判断所述待测评加密算法在计算过程中是否引入随机数;如果是,则获取测评明文数据和多个随机数;根据所述加密算法、所述密钥和每个随机数对所述测评明文数据进行计算,以生成多个测评密文数据;判断所述多个测评密文数据是否一致;如果不一致,则确认该待测评加密算法为不安全加密算法。

附图说明

图1为根据本发明实施例的加密算法测评方法的流程示意图;

图2为根据本发明另一实施例的加密算法测评方法的流程示意图;

图3为根据本发明实施例的加密算法随机数合理性验证流程示意图;

图4为根据本发明实施例的加密算法测评装置的方框示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

相关技术中,对于加密算法的检测多通过人工进行,检测效率低下,并且检测结果精准性低;根据本发明实施例的加密算法测评方法,首先,获取待测评的加密算法及其对应的密钥,接着,判断该密钥是否满足预设的条件,以判断该待测评加密算法对应密钥的设置合理性;然后,如果该密钥满足预设的条件,则进一步获取待测评加密算法所对应的测评算法、第一明文数据以及根据待测评加密算法对第一明文数据进行计算所得到的对应该第一明文数据的第一密文数据;接着,根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据,然后,判断第一密文数据和第二密文数据是否一致,如果一致,则确认该待测评加密算法为安全加密算法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

请参阅图1,图1为根据本发明实施例的加密算法测评方法的流程示意图,如图1所示,该加密算法测评方法包括以下步骤:

s101,获取待测评加密算法和对应的密钥。

也就是说,对需要进行测评的加密算法及其对应的密钥进行获取。

s102,判断密钥是否满足预设的条件。

即言,判断待测评加密算法的密钥是否满足预设的条件,以对密钥设置的合理性进行验证。

其中,判断密钥是否满足预设的条件的方式可以有多种。

在一些实施例中,判断密钥是否满足预设的条件包括:判断密钥的长度是否大于预设长度;如果是,则判断密钥的组合方式是否满足预设的组合条件;如果是,则判断密钥的存储占用空间是否小于预设的空间阈值;如果是,则确认密钥为安全密钥。

作为一种示例,在获取到待测评加密算法对应的密钥之后,首先,判断该密钥的长度是否低于1024位,如果是,则认为该密钥不安全,如果否,则进一步判断密钥的组合方式是否满足预设的组合条件,具体地,可以判断该密钥中,数字的长度与密钥总长度之间的比值是否小于预设的阈值;或者,判断字母或特殊符号的长度与密钥总长度之间的比值是否大于预设的阈值,或者,对数字的长度与密钥总长度之间的比值、字母的长度与密钥总长度之间的比值、特殊符号的长度与密钥总长度之间的比值进行分别计算,以判断各比值是否处于对应的预设区间内,以此完成密钥的组合方式的判断,在此不对组合方式的具体判断方式进行限定;接着,判断密钥的存储占用空间是否小于预设的空间阈值,如果是,则认为该密钥为安全密钥,其设置具有安全性和合理性。

s103,如果是,则获取待测评加密算法对应的测评算法、第一明文数据和第一明文数据对应的第一密文数据。

也就是说,如果密钥满足预设的条件,则进一步获取待测评加密算法所对应的测评算法、第一明文数据和根据该待测评加密算法对第一明文数据进行计算所得出的第一密文数据。

作为一种示例,通过用户的输入指令或者选择指令来获取待测评加密算法的算法类型(例如,公开算法、自研算法、rsa加密算法等),从而可以根据待测评加密算法的算法类型获取与其对应的测评算法,其中,获取第一明文数据和根据该待测评加密算法对第一明文数据进行计算所得出的第一密文数据的方式可以有多种,例如,用户通过待测评加密算法对随机的1000条明文数据进行计算,以生成对应的1000条密文数据,并将这1000对明文数据和密文数据进行上传,或者,随机生成1000条明文数据,然后,直接根据用户提供的待测评加密算法和密钥对该1000条明文数据进行计算,以生成对应的1000条密文数据,从而完成第一明文数据和对应的第一密文数据的获取。

s104,根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据。

s105,判断第一密文数据与第二密文数据是否一致。

s106,如果是,则确认待测评加密算法为安全加密算法。

也就是说,根据与待测评加密算法所对应的测评算法和密钥对第一明文数据进行计算,以计算出第一明文数据所对应的第二密文数据,然后,将第一密文数据与第二密文数据进行比较,以判断两者是否一致,如果一致,则确认待测评加密算法为安全加密算法。

作为一种示例,在获取到用户输入的1000对第一明文数据和第一密文数据之后,根据用户的选择指令或者输入指令获取到待测评算法的类型为rsa算法,进而获取在系统中对应的内置rsa算法,并通过该rsa算法、待测评算法所对应的密钥对1000条第一明文数据进行计算,以生成每条第一明文数据对应的第二密文数据,然后,对每条第一明文数据所对应的第一密文数据和第二密文数据进行比较,以判断两者是否一致,如果判断结果为1000条第一密文数据与第二密文数据均一致,则认为待测评加密算法为安全加密算法,如果判断过程中出现第一密文数据与第二密文数据不一致的情况,则认为待测评加密算法为不安全加密算法。

在一些实施例中,为了提高本发明实施例提出的加密算法测评方法对于待测评加密算法的测评准确性,如图2所示,在判断第一密文数据与第二密文数据一致之后,还包括:

s201,获取第二明文数据和第二明文数据对应的第三密文数据。

s202,根据测评算法和密钥对第三密文数据进行计算,以生成第三明文数据。

s203,判断第二明文数据和第三明文数据是否一致,以便在判断结果为是时将待测评加密算法确认为安全加密算法。

也就是说,对第二明文数据进行获取,同时根据待测评加密算法对第二明文数据进行计算,以生成对应第二明文数据的第三密文数据,然后,根据测评算法和密钥对第三密文数据进行计算,以生成第三明文数据,接着,对第二明文数据和第三明文数据进行比较,以判断两者是否一致,如果一致,则确认该待测评加密算法为安全加密算法,从而,在密文相同、密钥相同的条件下,对待测评加密算法的加密结果进行进一步地验证,以保证加密算法测评方法对于待测评加密算法的测评准确性。

需要说明的是,在根据测评算法和密钥对第三密文数据进行计算的过程中,还可以加入随机数变化,以判断在不同随机数加入的情况下,加密算法的运算结果是否一致,从而,提高加密算法测评方法的测评全面性。

在一些实施例中,为了提高本发明实施例提出的加密算法测评方法对于待测评加密算法的测评全面性,如图3所示,在判断密钥满足预设的条件之后,该加密算法测评方法还包括:

s301,判断待测评加密算法在计算过程中是否引入随机数;

s302,如果是,则获取测评明文数据和多个随机数;

即言,判断待测评加密算法在计算过程中是否引入了随机数,如果没有,则认为该待测评加密算法为不安全加密算法,如果有,则进一步地获取测评明文数据和多个随机数。

s303,根据测评算法、密钥和每个随机数对测评明文数据进行计算,以生成多个测评密文数据;

s304,判断多个测评密文数据是否一致;

s305,如果不一致,则确认该待测评加密算法为不安全加密算法。

即言,根据测评算法、待测评加密算法所对应的密钥和每个随机数对测评明文数据进行计算,以生成多个测评密文数据,并对生成的多个测评密文数据进行比较,以判断多个测评密文数据之间是否一致,如果不一致,则确认待测评加密算法为不安全加密算法;从而,可以判断待测评加密算法在随机数任意变化的情况下是否能生成同样的密文数据,以进一步确认待测评算法的安全性和健壮性。

综上所述,根据本发明实施例的加密算法测评方法,首先,获取待测评的加密算法及其对应的密钥,接着,判断该密钥是否满足预设的条件,以判断该待测评加密算法对应密钥的设置合理性;然后,如果该密钥满足预设的条件,则进一步获取待测评加密算法所对应的测评算法、第一明文数据以及根据待测评加密算法对第一明文数据进行计算所得到的对应该第一明文数据的第一密文数据;接着,根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据,然后,判断第一密文数据和第二密文数据是否一致,如果一致,则确认该待测评加密算法为安全加密算法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为了实现上述实施例,本发明实施例还提出了一种计算机可读存储介质,其上存储有加密算法测评程序,该加密算法测评程序被处理器执行时实现如上述的加密算法测评方法。

根据本发明实施例的计算机可读存储介质,通过存储加密算法测评程序,以使得处理器在执行该加密算法测评程序时,实现如上述的加密算法测评方法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为了实现上述实施例,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述的加密算法测评方法。

根据本发明实施例的计算机设备,通过存储器对计算机程序进行存储,以使得处理器在执行该计算机程序时,实现如上述的加密算法测评方法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

为了实现上述实施例,本发明实施例还提出了一种加密算法测评装置,如图4所示,该加密算法测评装置包括:获取模块10、判断模块20和计算模块30。

其中,获取模块10用于获取待测评加密算法和对应的密钥;

判断模块20用于判断密钥是否满足预设的条件;

获取模块10还用于在密钥满足预设的条件时,获取待测评加密算法对应的测评算法、第一明文数据和第一明文数据对应的第一密文数据;

计算模块30用于根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据;

判断模块20还用于判断第一密文数据与第二密文数据是否一致,并在判断结果为是时确认待测评加密算法为安全加密算法。

在一些实施例中,判断密钥是否满足预设的条件,包括:判断密钥的长度是否大于预设长度;如果是,则判断密钥的组合方式是否满足预设的组合条件;如果是,则判断密钥的存储占用空间是否小于预设的空间阈值;如果是,则确认密钥为安全密钥。

在一些实施例中,为了提高本发明实施例提出的加密算法测评装置对于待测评加密算法的测评结果准确性,在判断第一密文数据与第二密文数据一致之后,还包括:获取第二明文数据和第二明文数据对应的第三密文数据;根据测评算法和密钥对第三密文数据进行计算,以生成第三明文数据;判断第二明文数据和第三明文数据是否一致,以便在判断结果为是时将待测评加密算法确认为安全加密算法。

在一些实施例中,为了提高本发明实施例提出的加密算法测评装置对于待测评加密算法的测评全面性,在判断密钥满足预设的条件之后,还包括:判断待测评加密算法在计算过程中是否引入随机数;如果是,则获取测评明文数据和多个随机数;根据加密算法、密钥和每个随机数对测评明文数据进行计算,以生成多个测评密文数据;判断多个测评密文数据是否一致;如果不一致,则确认该待测评加密算法为不安全加密算法。

需要说明的是,上述关于图1中加密算法测评方法的描述同样适用于该加密算法测评装置,在此不做赘述。

综上所述,根据本发明实施例的加密算法测评装置,通过获取模块对待测评加密算法和对应的密钥进行获取,通过判断模块对获取到的密钥进行验证,以判断其是否满足预设的条件,从而对密钥设置的合理性进行判断;获取模块还用于在密钥满足预设的条件时,对待测评加密算法对应的测评算法、第一明文数据以及根据待测评加密算法对第一明文数据进行计算得出的第一密文数据进行获取;设置计算模块根据测评算法和密钥对第一明文数据进行计算,以生成第二密文数据,判断模块还用于对第一密文数据和第二密文数据进行比较,以判断两者是否一致,如果两者一致,则确认该待测评加密算法为安全加密算法,从而实现对加密算法进行自动测评,提高加密算法测评效率,保证加密算法测评结果的准确性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1