CN112953705B - 密钥选择方法及装置、计算机可存储介质 - Google Patents

密钥选择方法及装置、计算机可存储介质 Download PDF

Info

Publication number
CN112953705B
CN112953705B CN201911256316.6A CN201911256316A CN112953705B CN 112953705 B CN112953705 B CN 112953705B CN 201911256316 A CN201911256316 A CN 201911256316A CN 112953705 B CN112953705 B CN 112953705B
Authority
CN
China
Prior art keywords
physical
motion
encrypted
data
key
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
CN201911256316.6A
Other languages
English (en)
Other versions
CN112953705A (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 Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201911256316.6A priority Critical patent/CN112953705B/zh
Publication of CN112953705A publication Critical patent/CN112953705A/zh
Application granted granted Critical
Publication of CN112953705B publication Critical patent/CN112953705B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本公开涉及密钥选择方法及装置、计算机可存储介质,涉及网络安全领域。密钥选择方法包括:根据待加密数据的内容特征,确定至少一种物理运动的运动条件;根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值;根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥。根据本公开,提高了加密的安全性。

Description

密钥选择方法及装置、计算机可存储介质
技术领域
本公开涉及网络安全领域,特别涉及密钥选择方法及装置、计算机可存储介质。
背景技术
随着计算机和通信技术的迅速发展,数字信息已经成为网络信息的主要载体,得到广泛应用和传播,手机号等信息总是涉及到个人敏感信息,如何确保在公共网络上传输和存储这些敏感信息的安全性,引起了密码学和信息安全领域前所未有的关注。现在加密技术日趋成熟,密钥又是重中之重的一个环节,在如何选取密钥这一领域仍有非常大的探索空间。
相关技术中,采用单一密钥对不同的待加密数据进行加密。
发明内容
发明人认为:相关技术中,密钥固定单一,安全性差。
针对上述技术问题,本公开提出了一种解决方案提高了加密的安全性。
根据本公开的第一方面,提供了一种密钥选择方法,包括:根据待加密数据的内容特征,确定至少一种物理运动的运动条件;根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值;根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥。
在一些实施例中,所述待加密数据包括至少一个字符,所述内容特征包括字符总个数和每个字符的种类,所述种类包括数字和非数字。
在一些实施例中,根据所述待加密数据的内容特征,确定所述至少一种物理运动的运动条件包括:将所述待加密数据中属于非数字的字符,转换为数字;根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件。
在一些实施例中,根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件包括:对所述待加密数据中第一指定字符对应的数字进行数学运算,确定所述每种物理运动的运动条件。
在一些实施例中,所述物理运动为多种,根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值包括:根据每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值;根据多种物理运动的第一中间物理值,计算与多种物理运动对应的目标物理值。
在一些实施例中,根据每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值包括:根据每种物理运动的物理规律,利用所述每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值。
在一些实施例中,多种物理运动包括第一物理运动,与所述待加密数据的第二指定字符对应的数字属于特定集合,根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值还包括:根据所述第一物理运动的物理规律,利用除所述第一物理运动以外的其他物理运动中的某一种物理运动的运动条件,计算与所述第一物理运动对应的第二中间物理值;根据第一中间物理值和第二中间物理值,确定与所述第一物理运动对应的第三中间物理值;根据第一物理运动的第三中间物理值、和除所述第一物理运动以外的其他物理运动的第一中间值,计算与多种物理运动对应的目标物理值。
在一些实施例中,所述多个密钥为随机生成,每个密钥具有唯一的密钥编号,根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥包括:根据所述目标物理值,确定与所述待加密数据对应的密钥编号;根据所述密钥编号,从多个密钥中,选择与所述待加密数据对应的密钥。
在一些实施例中,根据所述目标物理值,确定与所述待加密数据对应的密钥编号包括:根据所述目标物理值的数字特征,计算与所述待加密数据对应的密钥编号。
在一些实施例中,根据所述目标物理值的数字特征,计算与所述待加密数据对应的密钥编号包括:根据所述目标物理值的数字特征,对所述目标物理值进行数学运算,计算与所述待加密数据对应的密钥编号。
在一些实施例中,所述多个密钥采用二维数组的数据结构存储。
根据本公开第二方面,提供了一种密钥选择装置,包括:确定模块,被配置为根据待加密数据的内容特征,确定至少一种物理运动的运动条件;计算模块,被配置为根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值;选择模块,被配置为根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥。
根据本公开第三方面,提供了一种密钥选择装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的密钥选择方法。
根据本公开的第四方面,一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的密钥选择方法。
在上述实施例中,提高了加密的安全性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出根据本公开一些实施例的密钥选择方法的流程图;
图2示出根据本公开一些实施例的密钥选择装置的框图;
图3示出根据本公开另一些实施例的密钥选择装置的框图;
图4示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出根据本公开一些实施例的密钥选择方法的流程图。
如图1所示,密钥选择方法包括步骤S110-步骤S130。例如,利用Java Web技术实现密钥选择方法。
在步骤S110中,根据待加密数据的内容特征,确定至少一种物理运动的运动条件。在一些实施例中,待加密数据包括至少一个字符。内容特征包括字符总个数和每个字符的种类。种类包括数字和非数字。例如,非数字包括字母。在另一些实施例中,待加密数据还包括字母的大小写或数字的奇偶数等。
例如,通过如下方式实现根据待加密数据的内容特征,确定至少一种物理运动的运动条件。
首先,将待加密数据中属于非数字的字符,转换为数字。
然后,根据与待加密数据的每个字符对应的数字,确定至少一种物理运动的运动条件。
根据与待加密数据的每个字符对应的数字,确定至少一种物理运动的运动条件包括如下步骤:对待加密数据中第一指定字符对应的数字进行数学运算,确定每种物理运动的运动条件。
在一些实施例中,至少一种物理运动包括平抛运动、圆周运动和匀变速直线运动。平抛运动的运动条件包括初始速度和运动时间。圆周运动的运动条件包括物体质量、角速度和圆周半径。匀变速直线运动的运动条件包括初始速度、加速度和运动时间。
在一些实施例中,对于平抛运动,对待加密数据中第一指定字符对应的数字进行数学运算,确定每种物理运动的运动条件包括如下步骤:
首先,将待加密数据的第一位字符对应的数字与第三位字符对应的数字的ASCII码的十进制的乘积,确定为平抛运动的初始速度。例如,如果没有第三位字符,则用第一位字符对应的数字与第二位字符对应的数字的乘积作为平抛运动的初始速度。如果没有第二位字符,则用第一位字符对应的数字与第一位字符对应的数字的ASCII码的十进制的乘积作为平抛运动的初始速度。在一些实施例中,平抛运动的初始速度表示为v0
然后,将待加密数据的第二位字符对应的数字与第五位字符对应的数字的和,确定为平抛运动的运动时间。例如,如果没有第二位字符,依次向待加密数据的高位选取,直到存在字符的位置为止。如果没有第五位也是如此。最后将两个字符分别对应的数字之和作为平抛运动的运动时间。在一些实施例中,平抛运动的运动时间表示为t0
在一些实施例中,对于圆周运动,对待加密数据中第一指定字符对应的数字进行数学运算,确定每种物理运动的运动条件包括如下步骤:
首先,将待加密数据的最后一位字符对应的数字,确定为圆周运动的物体质量。例如,圆周运动的物体质量表示为m。
然后,将待加密数据的倒数第三位字符对应的数字的二进制数的各位数的和与待加密数据的倒数第四位字符对应的数字的和,确定为圆周运动的角速度。例如,圆周运动的角速度表示为w。
最后,将待加密数据的倒数第一位字符对应的数字的ASCII码的十进制数与第一位字符对应的数字的ASCII码的十进制数的乘积,确定为圆周运动的圆周半径。例如,圆周运动的圆周半径表示为r。
同平抛运动一样,如果没有相应的第一指定字符,则向高位依次取字符,直到有相应的第一执行字符为止。
在一些实施例中,对于匀变速直线运动,对待加密数据中第一指定字符对应的数字进行数学运算,确定每种物理运动的运动条件包括如下步骤:
首先,将待加密数据的中间位置的字符对应的数字和第一位字符对应的数字拼接起来得到的数值的八进制数的各位数的和,确定为匀变速直线运动的初始速度。例如,匀变速直线运动的初始速度表示为v1
然后,将待加密数据的中间位置后第二位的字符对应的数字和中间位置前一位的字符对应的数字的和的个位数,确定为匀变速直线运动的运动时间。例如,匀变速直线运动的运动时间表示为t1。在一些实施例中,对于偶数位的待加密数据,中间位置为总位数除以2的商。
最后,将待加密数据的倒数第一位字符对应的数字的倒数的小数点后任意一位数,确定为所述匀变速直线运动的加速度。例如,匀变速直线运动的加速度表示为a。
在步骤S120中,根据每种物理运动的运动条件,计算与至少一种物理运动对应的目标物理值。
在一些实施例中,物理运动为多种,根据每种物理运动的运动条件,计算与至少一种物理运动对应的目标物理值包括如下步骤:
首先,根据每种物理运动的运动条件,计算与每种物理运动对应的第一中间物理值。在一些实施例中,根据每种物理运动的运动条件,计算与每种物理运动对应的第一中间物理值包括步骤:根据每种物理运动的物理规律,利用每种物理运动的运动条件,计算与每种物理运动对应的第一中间物理值。
在一些实施例中,根据每种物理运动的物理规律,利用每种物理运动的运动条件,计算与每种物理运动对应的第一中间物理值包括如下步骤:
对于平抛运动,根据平抛运动的运动条件中的初始速度v0和运动时间t0,利用平抛运动的物理规律,确定平抛运动的第一位移为
Figure BDA0002310355920000071
Figure BDA0002310355920000072
其中g为重力加速度。
对于圆周运动,根据圆周运动的运动条件中的物体质量m、角速度w和圆周半径r,利用圆周运动的物理规律,确定圆周运动的向心力为F=m×r×w2
对于匀变速直线运动,根据匀变速直线运动的运动条件中的初始速度v1、运动时间t1和加速度a,利用匀变速直线运动的物理规律,确定匀变速直线运功的第一位移为
Figure BDA0002310355920000073
然后,根据多种物理运动的第一中间物理值,计算与多种物理运动对应的目标物理值。
在一些实施例中,多种物理运动包括第一物理运动,与待加密数据的第二指定字符对应的数字属于特定集合,根据每种物理运动的运动条件,计算与至少一种物理运动对应的目标物理值还包括如下步骤:
首先,根据第一物理运动的物理规律,利用除第一物理运动以外的其他物理运动中的某一种物理运动的运动条件,计算与第一物理运动对应的第二中间物理值。
不同的特定集合对应于不同的第一物理运动。
例如,待加密数据的最后一个字符对应的数字为5,属于特定集合{4,5,6},第一物理运动为平抛运动,除第一物理运动以外的其他物理运动中的某一种物理运动为匀变速直线运动。
根据平抛运动的物理规律,利用匀变速直线运动的运动条件,计算平抛运动的第二中间物理值。例如,平抛运动的第二中间物理值为第二位移
Figure BDA0002310355920000081
例如,待加密数据的最后一个字符对应的数字为8,属于特定集合{7,8,9},第一物理运动为匀变速直线运动,除第一物理运动以外的其他物理运动中的某一种物理运动为平抛运动。
根据匀变速直线运动的物理规律,利用平抛运动的运动条件,计算匀变速直线运动的第二中间物理值。例如,匀变速直线运动的第二中间物理值为第二位移
Figure BDA0002310355920000082
在待加密数据的第二指定字符对应的数字不属于特定集合的情况下,只需计算多种物理运动的第一中间物理值,即只对每种物理运动模拟一次。例如,待加密数据的最后一位字符对应的数字属于非特定集合{0,1,2,3},只需计算平抛运动、圆周运动和匀变速直线运动的第一中间物理值。
然后,根据第一中间物理值和第二中间物理值,确定与第一物理运动对应的第三中间物理。在一些实施例中,将第一中间物理值与第二中间物理值的和,确定为第一物理运动对应的第三中间物理值。例如,待加密数据的最后一个字符对应的数字为5,平抛运动的第三中间物理值为第三位移s0+s0′。
最后,根据第一物理运动的第三中间物理值、和除第一物理运动以外的其他物理运动的第一中间值,计算与多种物理运动对应的目标物理值。
例如,待加密数据的最后一个字符对应的数字为5,平抛运动的第三中间物理值为第三位移s0+s0′,圆周运动的第一中间物理值为向心力F,匀变速直线运动的第一中间物理值为第一位移s1
根据第一物理运动的第三中间物理值、和除第一物理运动以外的其他物理运动的第一中间值,计算与多种物理运动对应的目标物理值包括:将平抛运动的第三位移与匀变速直线运动的第一位移的和,取指定比例,确定为圆周运动的位移。将圆周运动的向心力与圆周运动的位移的乘积,确定为向心力所做的功,即为目标物理值。例如,指定比例为
Figure BDA0002310355920000091
大约为0.618。
在步骤S130中,根据目标物理值,从多个密钥中,选择与待加密数据对应的密钥。
在一些实施例中,多个密钥为随机生成。例如,采用Java接口方法中提供的random方法,从数字、大小写字母、不同字符中随机选取16位组成密钥。每个密钥具有唯一的密钥编号,根据目标物理值,从多个密钥中,选择与待加密数据对应的密钥包括如下步骤:
首先,根据目标物理值,确定与待加密数据对应的密钥编号。在一些实施例中,根据目标物理值,确定与待加密数据对应的密钥编号包括步骤:根据目标物理值的数字特征,计算与待加密数据对应的密钥编号。
在一些实施例中,根据目标物理值的数字特征,计算与待加密数据对应的密钥编号包括如下步骤:根据目标物理值的数字特征,对目标物理值进行数学运算,计算与待加密数据对应的密钥编号。
例如,密钥编号由两位数组成,十位数和个位数分别为0-9的任意整数。十位数为密钥编号的组号,个位数为密钥编号的个体号。
在一些实施例中,在向心力所做的功是一位数的偶数的情况下,将功确定为密钥编号的十位数,并将功的ASCII码的十进制数的个位数确定为密钥编号的个位数。
在向心力所做的功是一位数的奇数的情况下,将功确定为密钥编号的十位数,并将功的二进制数的各位数之和确定为密钥编号的个位数。
在向心力所做的功是两位数以上的整数、且功的各位数之和为质数的情况下,将功的第一位数的ASCII码的十进制数的个位数确定为密钥编号的十位数,并将功的最后一位数与第一位数的乘积的最后一位,确定为密钥编号的个位数。
在向心力所做的功是两位数以上的整数、且功的各位数之和为合数的情况下,将功的最后一位数的ASCII码的十进制与最后一位数的差值的个位数,确定为密钥编号的十位数,并将功的最后一位数与第一位数的乘积的第一位,确定为密钥编号的个位数。
在向心力所做的功是小数,将功的整数部分的各位数的和减去小数部分的第一位数的ASCII码的十进制数,确定为密钥编号的十位数,并将功的小数部分的各位数的称之的第一位数与整数部分的最后一位数的和的、ASCII码的十进制的个位数,确定为密钥编号的个位数。
然后,根据密钥编号,从多个密钥中,选择与待加密数据对应的密钥。
在一些实施例中,多个密钥采用二维数组的数据结构存储。相对于一般的线性存储,二维数组结构的密钥很难被外界全量获取和破解,即使被外界获取到部分也不会有问题,进一步提高了加密的安全性。
下面将结合一个具体的实施例,详细说明本公开的一些实施例的密钥选择方法。
在一些实施例中,待加密数据为待加密手机号16714352333。
根据待加密数据的内容特征,确定平抛运动、圆周运动和匀变速直线运动的运动条件。
对于平抛运动,选取待加密手机号的第一位数字和第三位数字的乘积作为平抛运动的初始速度,记为v0。v0=1×7=7。选取第二位数字和第五位数字的和作为平抛运动所需要的运动时间,记为t0,t0=6×4=24。
对于圆周运动,选取最后一位数字作为圆周运动的物体质量,记为m。m=3。选取倒数第三位数字的二进制各位数相加之和与倒数第四位的和作为角速度,记为w。3的二进制是11,w=2+2=4。选取倒数第一位数字的ASCII码的十进制与第一位数字的ASCII码的十进制的乘积作为圆周运动的圆周半径,记为r。3的ASCII码的十进制是51,1的ASCII码的十进制是49,r=51×49=2499。
对于匀变速直线运动,选取中间位置的数字和第一位数字拼接起来的八进制的各位数相加的和作为匀变速直线运动初速度,记为v1。81的八进制是121,v1=121。选取中间位置后的第二位数字和中间位置的前一位数字之和的个位数作为运动时间,记为t1,t1=2+4=6。选取倒数第一位数字的倒数的小数点后的第一位数字作为匀变速直线运动的加速度,记为a。1/3=0.3333,则a=3
根据公式
Figure BDA0002310355920000111
计算平抛运动的位移是2827.5016。
根据公式
Figure BDA0002310355920000112
计算匀变速直线运动的位移是780。
根据公式F=m×r×w2计算圆周运动的向心力是119952。
待加密手机号的最后一位数字为3,不属于特定集合,将平抛运动的位移与匀变速直线运动的位移相加后,取黄金比例得出最终位移(2827.5016+780)×0.618=2229.435988。
最后,向心力所做的功为119952×2229.435988=267425305.7285。
向心力所做的功为小数,如果除不清则保留小数点后4位小数,选取小数部分所有数的乘积的第一位数与整数部分最后一位相加的和的ASCII码的十进制的个位数作为个体号。选取整数部分所有数的和减去小数部分的首位数字的ASCII码的十进制的个位数作为组号。
即,小数部分所有数的乘积为7×2×8×5=560,乘积的第一位数与整数部分最后一位的和为0+5=5,5的ASCII码的十进制等于53,所以个体号是3。整数部分所有数的和为2+6+7+4+2+5+3+0+5=34,小数部分的首位数字7的ASCII码的十进制等于55,两者的差值为34-55=-21,因此组号是1。综上,密钥编号是13。
根据计算得到的待加密数据的密钥编号13,从多个密钥组成的密钥池中,查找与13对应的密钥作为待加密数据的密钥。
根据本公开的密钥选择方法,根据待加密数据的内容特征模拟物理运动,进而从多个密钥中选择一个密钥作为待加密数据的密钥,密钥选择的复杂性高,提高了加密的安全性,增强了抗攻击能力。另外,密钥的二维存储结构和密钥选择的离散度比较均衡。
根据不同待加密数据的内容特征,选取不同的密钥,与只有固定单一密钥的方式相比,本公开提供的密钥选择方法解决了单一密钥不安全的问题。并且待加密数据能够以本公开提供的密钥选择方法作为条件进行密钥查询,与随机选择密钥的方式相比,不但保证了安全性,还解决了随机选择密钥的方式导致加密结果不一致,难以进行查询的问题。
另外,本公开采用密钥编号的选择和密钥的存储分离的思想,进一步提高了密钥选择方法的安全性。本公开为任何使用密钥的加密场景提供了密钥选择方法,用途广泛,且使得加密过程的安全性、加密效果和密钥敏感性更高,抗攻击能力更强。例如可以将本公开的密钥选择方法应用在电信的智能客服云平台上,供第三方调用,经实践检测,这种实现简单、高效,具有较为宽广的适应性。
本公开的密钥选择方法是一种多重的动态离散选择方法。多重体现在选择密钥时模拟物理运动的多样性和密钥内容的多样性。动态体现在模拟物理运动时根据不同待加密数据的内容特征模拟不同种类、不同个数的物理运动。离散体现在根据模拟物理运动后得到的目标物理值选择密钥的分散性。
图2示出根据本公开一些实施例的密钥选择装置的框图。
如图2所示,密钥选择装置2包括确定模块21、计算模块22和选择模块23。
确定模块21被配置为根据待加密数据的内容特征,确定至少一种物理运动的运动条件,例如执行如图1所示的步骤S110。
计算模块22被配置为根据每种物理运动的运动条件,计算与至少一种物理运动对应的目标物理值,例如执行如图1所示的步骤S120。
选择模块23被配置为根据所述目标物理值,从多个密钥中,选择与待加密数据对应的密钥,例如执行如图1所示的步骤S130。
图3示出根据本公开另一些实施例的密钥选择装置的框图。
如图3所示,密钥选择装置3包括存储器31;以及耦接至该存储器31的处理器32,存储器31用于存储执行密钥选择方法对应实施例的指令。处理器32被配置为基于存储在存储器31中的指令,执行本公开中任意一些实施例中的密钥选择方法。
图4示出用于实现本公开一些实施例的计算机系统的框图。
如图4所示,计算机系统40可以通用计算设备的形式表现。计算机系统40包括存储器410、处理器420和连接不同系统组件的总线400。
存储器410例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行密钥选择方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器420可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线400可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统40还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430、440、450以及存储器410和处理器420之间可以通过总线400连接。输入输出接口430可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的密钥选择方法及装置、计算机可存储介质,提高了密钥选择的复杂性,提高了加密的安全性。
至此,已经详细描述了根据本公开的密钥选择方法及装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

Claims (10)

1.一种密钥选择方法,包括:
根据待加密数据的内容特征,确定至少一种物理运动的运动条件,每种物理运动的运动条件存在多个,每种物理运动的不同运动条件基于不同的内容特征确定;
根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值;
根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥,其中,所述待加密数据包括至少一个字符,所述内容特征包括字符总个数和每个字符的种类,所述种类包括数字和非数字;
根据所述待加密数据的内容特征,确定所述至少一种物理运动的运动条件包括:
将所述待加密数据中属于非数字的字符,转换为数字;
根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件;
根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件包括:
对所述待加密数据中第一指定字符对应的数字进行数学运算,确定所述每种物理运动的运动条件;
所述物理运动为多种,根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值包括:
根据每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值;
根据多种物理运动的第一中间物理值,计算与多种物理运动对应的目标物理值。
2.根据权利要求1所述的密钥选择方法,其中,根据每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值包括:
根据每种物理运动的物理规律,利用所述每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值。
3.根据权利要求1所述的密钥选择方法,其中,多种物理运动包括第一物理运动,与所述待加密数据的第二指定字符对应的数字属于特定集合,根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值还包括:
根据所述第一物理运动的物理规律,利用除所述第一物理运动以外的其他物理运动中的某一种物理运动的运动条件,计算与所述第一物理运动对应的第二中间物理值;
根据第一中间物理值和第二中间物理值,确定与所述第一物理运动对应的第三中间物理值;
根据第一物理运动的第三中间物理值、和除所述第一物理运动以外的其他物理运动的第一中间值,计算与多种物理运动对应的目标物理值。
4.根据权利要求1所述的密钥选择方法,其中,所述多个密钥为随机生成,每个密钥具有唯一的密钥编号,根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥包括:
根据所述目标物理值,确定与所述待加密数据对应的密钥编号;
根据所述密钥编号,从多个密钥中,选择与所述待加密数据对应的密钥。
5.根据权利要求4所述的密钥选择方法,其中,根据所述目标物理值,确定与所述待加密数据对应的密钥编号包括:
根据所述目标物理值的数字特征,计算与所述待加密数据对应的密钥编号。
6.根据权利要求5所述的密钥选择方法,其中,根据所述目标物理值的数字特征,计算与所述待加密数据对应的密钥编号包括:
根据所述目标物理值的数字特征,对所述目标物理值进行数学运算,计算与所述待加密数据对应的密钥编号。
7.根据权利要求1所述的密钥选择方法,其中,所述多个密钥采用二维数组的数据结构存储。
8.一种密钥选择装置,包括:
确定模块,被配置为根据待加密数据的内容特征,确定至少一种物理运动的运动条件,每种物理运动的运动条件存在多个,每种物理运动的不同运动条件基于不同的内容特征确定;
计算模块,被配置为根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值;
选择模块,被配置为根据所述目标物理值,从多个密钥中,选择与所述待加密数据对应的密钥,其中,所述待加密数据包括至少一个字符,所述内容特征包括字符总个数和每个字符的种类,所述种类包括数字和非数字;
根据所述待加密数据的内容特征,确定所述至少一种物理运动的运动条件包括:
将所述待加密数据中属于非数字的字符,转换为数字;
根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件;
根据与所述待加密数据的每个字符对应的数字,确定所述至少一种物理运动的运动条件包括:
对所述待加密数据中第一指定字符对应的数字进行数学运算,确定所述每种物理运动的运动条件;
所述物理运动为多种,根据每种物理运动的运动条件,计算与所述至少一种物理运动对应的目标物理值包括:
根据每种物理运动的运动条件,计算与所述每种物理运动对应的第一中间物理值;
根据多种物理运动的第一中间物理值,计算与多种物理运动对应的目标物理值。
9.一种密钥选择装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至7任一项所述的密钥选择方法。
10.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至7任一项所述的密钥选择方法。
CN201911256316.6A 2019-12-10 2019-12-10 密钥选择方法及装置、计算机可存储介质 Active CN112953705B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911256316.6A CN112953705B (zh) 2019-12-10 2019-12-10 密钥选择方法及装置、计算机可存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911256316.6A CN112953705B (zh) 2019-12-10 2019-12-10 密钥选择方法及装置、计算机可存储介质

Publications (2)

Publication Number Publication Date
CN112953705A CN112953705A (zh) 2021-06-11
CN112953705B true CN112953705B (zh) 2022-12-30

Family

ID=76225550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911256316.6A Active CN112953705B (zh) 2019-12-10 2019-12-10 密钥选择方法及装置、计算机可存储介质

Country Status (1)

Country Link
CN (1) CN112953705B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113706925B (zh) * 2021-09-05 2022-07-12 绿城科技产业服务集团有限公司 一种面向停车场运营管理的车位锁系统及其管理方法
CN114285561A (zh) * 2021-12-27 2022-04-05 中国电信股份有限公司 请求消息的处理方法和装置、存储介质及电子装置
CN115208570A (zh) * 2022-09-16 2022-10-18 广州万协通信息技术有限公司 基于对密钥进行动态更换的加密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744706A (zh) * 2004-09-01 2006-03-08 华为技术有限公司 一种保护宽带视音频广播内容的方法
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
WO2017142563A1 (en) * 2016-02-19 2017-08-24 Entit Software Llc Encryption methods
CN109391607A (zh) * 2017-08-14 2019-02-26 北京京东尚科信息技术有限公司 数据加解密方法和装置、系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744706A (zh) * 2004-09-01 2006-03-08 华为技术有限公司 一种保护宽带视音频广播内容的方法
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
WO2017142563A1 (en) * 2016-02-19 2017-08-24 Entit Software Llc Encryption methods
CN109391607A (zh) * 2017-08-14 2019-02-26 北京京东尚科信息技术有限公司 数据加解密方法和装置、系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
加密技术;张师超;《广西师范大学学报(自然科学版)》;19900402;第8卷(第01期);16-20 *

Also Published As

Publication number Publication date
CN112953705A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN112953705B (zh) 密钥选择方法及装置、计算机可存储介质
Enayatifar et al. Image encryption using a synchronous permutation-diffusion technique
Riazi et al. Chameleon: A hybrid secure computation framework for machine learning applications
Huang et al. An image encryption algorithm based on hyper-chaos and DNA sequence
Ahmad et al. An image encryption algorithm based on new generalized fusion fractal structure
CN112148437B (zh) 用于联邦学习的计算任务加速处理方法、装置及设备
US8443205B2 (en) Secure function evaluation techniques for circuits containing XOR gates with applications to universal circuits
CN100527072C (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN108366181A (zh) 一种基于超混沌系统和多级置乱的图像加密方法
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN108269062A (zh) 基于h5的电子合同制作方法、装置、设备及介质
Chen et al. Scalable and systolic dual basis multiplier over GF (2m)
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
CN105991289B (zh) Sm3密码算法的侧信道能量分析方法及装置
CN116388954B (zh) 通用密态数据安全计算方法
CN104407838A (zh) 一种生成随机数及随机数组的方法和设备
CN104767622B (zh) 加密方法及装置
CN109150494B (zh) 移动端中构造加解密算法的方法、存储介质、设备及系统
CN108021815A (zh) 图像加密方法、装置及电子设备
Zefreh et al. Image security system using recursive cellular automata substitution and its parallelization
CN114063981A (zh) 高质量伪随机数的获取方法
Lada et al. Implementation of a method for synthesizing groups of symmetric double-operand operations of cryptographic information coding for block encryption systems
US20230325251A1 (en) Partition a Tensor with Varying Granularity Levels in Shuffled Secure Multiparty Computation
CN106330443B (zh) 一种基于sm3算法的密码模块的防攻击方法及装置
Hu et al. Image encryption using cellular neural network and matrix transformation

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