CN112231740B - 数据加密方法、数据解密方法、装置、计算机设备和介质 - Google Patents
数据加密方法、数据解密方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN112231740B CN112231740B CN202011433357.0A CN202011433357A CN112231740B CN 112231740 B CN112231740 B CN 112231740B CN 202011433357 A CN202011433357 A CN 202011433357A CN 112231740 B CN112231740 B CN 112231740B
- Authority
- CN
- China
- Prior art keywords
- data
- fibonacci
- plaintext
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据加密/解密方法、装置、计算机设备和存储介质。所述数据加密方法包括:获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息;基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;基于随机数对初始斐波那契进制表示数据进行处理,获得对应的斐波那契进制转换数据;基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,获取目标明文数据等于预设值时对应的斐波那契进制转换数据,得到明文数据对应的斐波那契进制表示数据;基于斐波那契进制表示数据以及密钥数据,得到密文数据。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据加密方法、装置、计算机设备和存储介质,以及数据解密方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,人们可以通过互联网浏览传输各种信息,极大地方便了人们的生活和工作。在这过程中,涉及到数据的传输安全,确保数据传输的安全性具有重要意义。
当前在获取到数据发送方的数据时,一般会对数据进行加密处理,再传输给数据接收方,然后对接收到的数据进行解密。而窃听者可以截获传输的数据,通过统计分析,和某个场景真实数据分布情况或者基于已有知识进行对比,反推出加密数据。即现有的数据传输存在容易被破解、安全性低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据传输安全性的数据加密方法、装置、计算机设备和存储介质、以及数据解密方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种数据加密方法,所述方法包括:
获取明文数据、密钥数据、斐波那契数列、所述斐波那契数列中首个大于所述明文数据的目标斐波那契数以及所述目标斐波那契数的序列信息;
基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
获取所述明文数据的初始斐波那契进制表示数据,基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据;
基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,获取所述目标明文数据等于预设值时对应的斐波那契进制转换数据,得到所述明文数据对应的斐波那契进制表示数据;
基于所述明文数据对应的斐波那契进制表示数据以及所述密钥数据,得到密文数据。
在一个实施例中,所述方法还包括:
当所述目标明文数据不等于所述预设值时,返回所述基于所述目标斐波那契数的序列信息确定一个随机数的步骤;
以所述目标明文数据对所述明文数据进行更新,直至所述目标明文数据等于所述预设值。
在一个实施例中,所述基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据,包括:
当所述斐波那契数小于所述明文数据,且所述随机数在所述初始斐波那契进制表示数据对应的比特位数据不为预设有效值时,将所述比特位数据置为所述预设有效值;
当所述斐波那契数小于所述明文数据,且所述随机数在所述初始斐波那契进制表示数据对应的比特位数据为预设有效值时,基于预设规则进行数据转换处理,获得满足预设条件的斐波那契进制转换数据。
在一个实施例中,所述方法还包括:
当所述斐波那契数不小于所述明文数据时,返回所述基于所述目标斐波那契数的序列信息确定一个随机数的步骤。
在一个实施例中,所述基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,包括:
将所述明文数据减去所述选定序列对应的斐波那契数,得到目标明文数据。
第二方面,本申请提供一种数据解密方法,所述方法包括:
获取密文数据和密钥数据;
基于所述密文数据以及所述密钥数据,获得所述密文数据对应的斐波那契进制表示数据;
获取预先存储的斐波那契数列、所述斐波那契数列中的目标斐波那契数以及所述目标斐波那契数的序列信息;
基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
基于所述选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及所述密文数据对应的斐波那契进制表示数据,得到明文数据。
第三方面,本申请提供一种数据加密装置,所述装置包括:
加密数据获取模块,用于获取明文数据、密钥数据、斐波那契数列、所述斐波那契数列中首个大于所述明文数据的目标斐波那契数以及所述目标斐波那契数的序列信息;
随机数处理模块,用于基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
转换处理模块,用于获取所述明文数据的初始斐波那契进制表示数据,基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据;
进制数据生成模块,用于基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,获取所述目标明文数据等于预设值时对应的斐波那契进制转换数据,得到所述明文数据对应的斐波那契进制表示数据;
密文数据生成模块,用于基于所述明文数据对应的斐波那契进制表示数据以及所述密钥数据,得到密文数据。
第四方面,本申请提供一种数据解密装置,所述装置包括:
解密数据获取模块,用于获取密文数据和密钥数据;
解密处理模块,用于基于所述密文数据以及所述密钥数据,获得所述密文数据对应的斐波那契进制表示数据;
信息获取模块,用于获取预先存储的斐波那契数列、所述斐波那契数列中的目标斐波那契数以及所述目标斐波那契数的序列信息;
随机数处理模块,用于基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
明文数据生成模块,用于基于所述选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及所述密文数据对应的斐波那契进制表示数据,得到明文数据。
第五方面,本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据加密方法/数据解密方法的步骤。
第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据加密方法/数据解密方法的步骤。
上述数据加密方法、装置、计算机设备和存储介质,通过获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息;基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;获取明文数据的初始斐波那契进制表示数据,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据;基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,获取目标明文数据等于预设值时对应的斐波那契进制转换数据,得到明文数据对应的斐波那契进制表示数据,由此实现了基于斐波那契进制表示的不唯一性,对明文数据随机编码;然后基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据,上述加密过程,基于斐波那契进制表示的不唯一性,对明文数据随机编码,使得随机编码后的斐波那契进制表示数据具有混淆性,再通过密钥数据对随机编码后的斐波那契进制表示数据加密,由此密文数据不易破解,从而提高数据传输的安全性。
上述数据解密方法、装置、计算机设备和存储介质,通过获取密文数据和密钥数据,基于密文数据以及密钥数据,获得密文数据对应的斐波那契进制表示数据;获取预先存储的斐波那契数列、斐波那契数列中的目标斐波那契数以及目标斐波那契数的序列信息;基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;基于选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及密文数据对应的斐波那契进制表示数据,得到明文数据,上述解密过程与加密过程互逆,对具有混淆性的随机编码后的斐波那契进制表示数据,通过密钥数据进行解密,由此密文数据不易破解,从而提高数据传输的安全性。
附图说明
图1为一个实施例中数据加密方法的流程示意图;
图2为另一个实施例中数据加密方法的流程示意图;
图3为一个实施例中数据解密方法的流程示意图;
图4为一个实施例中数据加密装置的结构框图;
图5为一个实施例中数据解密装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种数据加密方法,该方法包括以下步骤:
步骤102,获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息。
明文数据是指没有加密的文字或者字符串,密钥数据是指在明文转换为密文或将密文转换为明文的算法中输入的参数。斐波那契数列中,从第3项开始,每一项都等于前两项之和, F0=0,F1=1,F2=1, Fn+2=Fn + 1+Fn ,n ≥ 0,斐波那契数列具体可以表示为:{0,1,1,2,3,5,8,13,21,34,55,89…}。以17作为明文数据为例,斐波那契数列中首个大于明文数据的斐波那契数21,此时,目标斐波那契数为21,21对应的序列r=8。
步骤104,基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数。
承上所述,仍以17作为明文数据,目标斐波那契数为21对应的序列r=8,在(0,8)的区间范围内确定一个随机数e,比如e=4。以该随机数作为斐波那契数列的选定序列,得到选定序列对应的斐波那契数F4=3。
步骤106,获取明文数据的初始斐波那契进制表示数据,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据。
如果将数据N的斐波拉契表示中所有斐波拉契数按位置映射到0,1组成的比特串
(Binary Sequence)中,即将比特串第 , ,…, 位置1,其余位置0,这种数字表达
方式称之为“斐波拉契进制”。例如,自然数17()和20( )的斐波那契进制可以表示为
对于斐波那契进制表示而言,比特串中任意位置的1等价于前方连续两个位置的1,即“100”(右边为低位)等价于“011”。例如:,所以 1 0 0 1 0 0 1 0和0 1 1 0 11 1 0均表示17。此外,(1)斐波那契进制是从开始的,最低位始终为,因为,所以最低位可以取0也可以取1。(2)因为,所以如果表示加上1,那么数字1可以产生在第1位,也可以产生在第2位。由于以上特性,一个自然数的斐波那契进制表达是不唯一的,例如,当表示17时,以下12种斐波那契进制表达均正确,其中,右边为低位,左边为高位,[1, 0, 0, 1, 0, 1, 0, 0],[1, 0, 0, 1, 0, 0, 1, 0],[1, 0, 0, 1, 0, 1, 0,1],[1, 0, 0, 1, 0, 0, 1, 1],[0, 1, 1, 1, 0, 1, 0, 0],[1, 0, 0, 0, 1, 1, 1,0],[0, 1, 1, 1, 0, 0, 1, 0],[0, 1, 1, 1, 0, 1, 0, 1],[1, 0, 0, 0, 1, 1, 1,1],[0, 1, 1, 1, 0, 0, 1, 1],[0, 1, 1, 0, 1, 1, 1, 0],[0, 1, 1, 0, 1, 1, 1,1]。目标斐波那契数的序列即为明文数据的斐波那契进制表示数据对应的长度,明文数据首次的斐波那契进制表示数据可以所有位全部置为0。
步骤108,基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,获取目标明文数据等于预设值时对应的斐波那契进制转换数据,得到明文数据对应的斐波那契进制表示数据。
基于斐波那契进制对明文数据进行随机编码,由于明文数据首次的斐波那契进制表示数据中所有比特位全部为0,基于斐波那契表示数据的转换规则以及明文数据更新规则,获得明文数据的斐波那契进制表示数据。
在一个实施例中,斐波那契表示数据的转换规则是指通过由目标斐波那契数的序列信息确定的随机数,获得明文数据的斐波那契进制转换数据。具体地,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据,包括:当斐波那契数小于明文数据,且随机数在初始斐波那契进制表示数据对应的比特位数据不为预设有效值时,将比特位数据置为预设有效值;当斐波那契数小于明文数据,且随机数在初始斐波那契进制表示数据对应的比特位数据为预设有效值时,基于预设规则进行数据转换处理,获得满足预设条件的斐波那契进制转换数据。具体来说,预设有效值为1,当斐波那契数小于明文数据,且随机数在初始斐波那契进制表示数据对应的比特位数据为1时,将比特位数据减2,将比特位数据的高一比特位数据以及低二比特位数据加1,获得满足预设条件的斐波那契进制转换数据。非必要的,当斐波那契数不小于明文数据时,返回基于目标斐波那契数的序列信息确定一个随机数的步骤。明文数据更新规则是指明文数据的替换依据,基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,包括:将明文数据减去选定序列对应的斐波那契数,得到目标明文数据。
其中,步骤102-步骤108可以通过随机编码模块来实现,随机编码模块可以实现将任意二进制数据转化为斐波那契进制输出,随机编码模块包括RAM(Random AccessMemory,随机存取存储器)模块和随机编码子模块,其中,RAM模块用于缓存斐波那契数列,以物联网场景为例,通过传感器采集的数据的范围是可估计的,因此,在对数据N进行编码时,最大的斐波那契数字Fr(即第一个大于N的斐波那契数)是预先可知的,将F1~Fr全部缓存在RAM模块中,F1~Fr中每一个值Fi用32位寄存器存储。
步骤110,基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据。
通过对称加密算法,基于明文数据对应的斐波那契进制表示数据以及密钥数据进行加密处理,得到密文数据。具体而言,基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据,可以通过DES(Data Encryption Standard,数据加密标准)加密模块来实现,DES加密模块包括f函数、圈子秘钥生成、迭代控制程序等子模块。DES加密模块地入口参数包括key、data和mode,其中,key为加密/解密使用的密钥,data为加密/解密的数据,mode为工作模式。当工作模式设定为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当工作模式为解密模式时,key用于对数据解密。DES算法将64位的明文输入块变为64位的密文输出块,所使用的密钥也是64位。
上述数据加密方法,通过获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息;基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;获取明文数据的初始斐波那契进制表示数据,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据;基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,获取目标明文数据等于预设值时对应的斐波那契进制转换数据,得到明文数据对应的斐波那契进制表示数据,由此实现了基于斐波那契进制表示的不唯一性,对明文数据随机编码;然后基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据,上述加密过程,基于斐波那契进制表示的不唯一性,对明文数据随机编码,使得随机编码后的斐波那契进制表示数据具有混淆性,再通过密钥数据对随机编码后的斐波那契进制表示数据加密,由此密文数据不易破解,从而提高数据传输的安全性。
在一个实施例中,如图2所示,本申请数据加密方法包括步骤202,获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息;步骤204,基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;步骤206,获取明文数据的初始斐波那契进制表示数据,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据;以及步骤208,基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据之外,还包括步骤210,当目标明文数据不等于预设值时,返回基于目标斐波那契数的序列信息确定一个随机数的步骤;以目标明文数据对明文数据进行更新,直至目标明文数据等于预设值。其中,预设值具体可以是0,在目标明文数据等于预设值(0)的条件下,进入步骤212,此时获得的明文数据的斐波那契进制转换数据,才是明文数据的斐波那契进制表示数据,最终进入步骤214,基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据。
本申请还提供了一种数据解密方法,如图3所示,该方法包括以下步骤:
步骤302,获取密文数据和密钥数据;
步骤304,基于密文数据以及密钥数据,获得密文数据对应的斐波那契进制表示数据;
步骤306,获取预先存储的斐波那契数列、斐波那契数列中的目标斐波那契数以及目标斐波那契数的序列信息;
步骤308,基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;
步骤310,基于选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及密文数据对应的斐波那契进制表示数据,得到明文数据。
上述数据解密方法,通过获取密文数据和密钥数据,基于密文数据以及密钥数据,获得密文数据对应的斐波那契进制表示数据;获取预先存储的斐波那契数列、斐波那契数列中的目标斐波那契数以及目标斐波那契数的序列信息;基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;基于选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及密文数据对应的斐波那契进制表示数据,得到明文数据,上述解密过程与加密过程互逆,对具有混淆性的随机编码后的斐波那契进制表示数据,通过密钥数据进行解密,由此密文数据不易破解,从而提高数据传输的安全性。
在一个实施例中,可以基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)搭建加密混淆电路,加密混淆电路包括随机编码模块和DES加密模块,随机编码模块的输入为待加密数据对应的二进制数据,随机编码模块的输出为斐波那契进制数据,DES加密模块的输入为密钥数据以及随机编码模块输出的斐波那契进制数据,DES加密模块的输出为待加密数据对应的密文数据。基于FPGA搭建解密混淆电路,解密混淆电路包括DES解密模块和译码模块,DES解密模块的结构与DES加密模块相同,只需将工作模式设定为解密模式,即将mode设为0,DES解密模块将输入的密文数据解密成斐波那契进制数据。译码模块的作用是将解密后的斐波那契进制数据转化为二进制数据,译码模块包括RAM模块和译码子模块,RAM模块用于缓存斐波那契数列,以物联网场景为例,通过传感器采集的数据的范围是可估计的,因此,在对数据N进行编码时,第一个大于N的斐波那契数Fr是预先可知的,将F1~Fr全部缓存在RAM模块中,每一个Fi用32位寄存器存储。例如,斐波那契进制序列100101010转化为二进制的过程为:0f100101010=F1+F3+F5+F8=29=0b11101 。由于斐波那契进制的不唯一性,同一个数据可以有不同的斐波那契进制表达形式,那么在采用对称加密后,加密数据必然是不相同的。相较于直接采用对称加密对二进制数据进行加密,将其编码成随机的斐波那契进制数据后再加密具有混淆性,相同数据经过编码-加密后,密文不同;此外,对于相同的破解难度来说,加密混淆传输只需要相对较短的密钥就能达到,而纯粹加密传输则需要更长的密钥来达到这一效果,即加密混淆更加简便;而且,编码成斐波那契进制后,可以直接进行加减乘除,而不用译码成二进制再进行二进制运算,在进行计算时更便捷。
为便于理解本申请提供的数据加密和数据解密方法,下面将以一个完整的数据加密流程进行说明。获取输入数据N,将数据N分别与斐波那契数列中的斐波那契数进行比较,获得首个大于数据N的目标斐波那契数以及目标斐波那契数在斐波那契数列中的序列位置。基于目标斐波那契数在斐波那契数列中的序列位置确定一个随机数,以该随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数以及初始化数据N的斐波那契进制表示数据,判断该斐波那契数是否小于数据N。当该斐波那契数小于数据N时,判断斐波那契进制表示数据中该随机数对应的比特位是否为1,当该随机数对应的比特位不为1时,将其置为1。当该随机数对应的比特位为1时,将该位的数据加1,得到更新的斐波那契表示数据,然后再将更新的斐波那契表示数据中该位对应的数据减2,将该位的高一位数据加1,将该位的低二位数据加1,直至获得的斐波那契进制表示数据中只包括0和1。通过数据N减去以随机数作为斐波那契数列的选定序列时对应的斐波那契数,对数据N更新,当更新后的数据N不等于0时,进入基于目标斐波那契数在斐波那契数列中的序列位置确定一个随机数的步骤,直至更新后的数据N等于0,此时获得的斐波那契表示数据即为输出数据N对应的斐波那契进制表示数据。
具体地,以17作为输入数据N,斐波那契数列{0,1,1,2,3,5,8,13,21,34,55,89…},其中,F0=0,F1=1,F2=1, F3=2…将17分别与斐波那契数列中的斐波那契数进行比较,获得首个大于17的斐波那契数为21,21在斐波那契数列中的位置是第9位F8。由此,初始化斐波那契进制表示数据S为0 0 0 0 0 0 0 0,从右往左依次为S[0]、S[1] 、S[2]…,并在(0,8)区间内确定一个随机数e,比如e=4,以该随机数作为斐波那契数列的序列号,得到对应的斐波那契数F4,3<17,斐波那契进制表示数据S中S[4]为0,将S[4] 置为1,得到S为0 00 1 0 0 0 0。通过17减去随机数在斐波那契数列中对应的斐波那契数F4,得到14,然后返回在(0,8)区间内确定一个随机数e的步骤,比如确定随机数为6,得到对应的斐波那契数F6,8<14,斐波那契进制表示数据S中S[6]为0,将S[6] 置为1,得到S为0 1 0 1 0 0 0 0。通过14减去随机数在斐波那契数列中对应的斐波那契数F6,得到6,然后返回在(0,8)区间内确定一个随机数e的步骤,比如确定随机数为3,得到对应的斐波那契数F3,2<6,斐波那契进制表示数据S中S[3]为0,将S[3] 置为1,得到S为0 1 0 1 1 0 0 0。通过6减去随机数3在斐波那契数列中对应的斐波那契数F3,得到4,然后返回在(0,8)区间内确定一个随机数e的步骤,比如确定随机数为3,得到对应的斐波那契数F3,2<4,此时,斐波那契进制表示数据S中S[3]为1,将S[3]加1,得到S为0 1 0 1 2 0 0 0,然后再将S中的S[3]减2,S[4]加1,S[1]加1,得到S为0 1 0 2 0 0 1 0。此时,S中除了0和1外还有2,因此,将S中的S[4]减2,S[5]加1,S[2]加1,得到S为0 1 1 0 0 1 1 0。通过4减去随机数3在斐波那契数列中对应的斐波那契数F3,得到2,然后返回在(0,8)区间内确定一个随机数e的步骤,比如确定随机数为2,得到对应的斐波那契数F2,1<2,此时,斐波那契进制表示数据S中S[2]为1,将S[2]加1,得到S为0 1 1 0 0 2 1 0,然后再将S中的S[2]减2,S[3]加1,S[0]加1,得到S为0 1 1 01 0 1 1。通过2减去随机数2在斐波那契数列中对应的斐波那契数F2,得到1,然后返回在(0,8)区间内确定一个随机数e的步骤,比如确定随机数为2,得到对应的斐波那契数F2,此时,斐波那契进制表示数据S中S[2]为0,将S[2]置为1,S为0 1 1 0 1 1 1 1。通过1减去随机数2在斐波那契数列中对应的斐波那契数F2,得到0,此时终止,输出数据17对应的斐波那契进制表示数据S为0 1 1 0 1 1 1 1。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种数据加密装置,包括:加密数据获取模块402、随机数处理模块404、转换处理模块406、进制数据生成模块408和密文数据生成模块410,其中:加密数据获取模块402,用于获取明文数据、密钥数据、斐波那契数列、斐波那契数列中首个大于明文数据的目标斐波那契数以及目标斐波那契数的序列信息。随机数处理模块404,用于基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数。转换处理模块406,用于获取明文数据的初始斐波那契进制表示数据,基于随机数对初始斐波那契进制表示数据进行处理,获得明文数据对应的斐波那契进制转换数据。进制数据生成模块408,用于基于明文数据以及选定序列对应的斐波那契数,确定目标明文数据,获取目标明文数据等于预设值时对应的斐波那契进制转换数据,得到明文数据的斐波那契进制表示数据。密文数据生成模块410,用于基于明文数据对应的斐波那契进制表示数据以及密钥数据,得到密文数据。
在一个实施例中,数据加密装置还包括返回模块,用于当目标明文数据不等于预设值时,返回基于目标斐波那契数的序列信息确定一个随机数的步骤;以目标明文数据对明文数据进行更新,直至目标明文数据等于预设值。
在一个实施例中,转换处理模块还用于当斐波那契数小于明文数据,且随机数在初始斐波那契进制表示数据对应的比特位数据不为预设有效值时,将比特位数据置为预设有效值;当斐波那契数小于明文数据,且随机数在初始斐波那契进制表示数据对应的比特位数据为预设有效值时,基于预设规则进行数据转换处理,获得满足预设条件的斐波那契进制转换数据。
在一个实施例中,转换处理模块还用于当斐波那契数不小于明文数据时,返回基于目标斐波那契数的序列信息确定一个随机数的步骤。
在一个实施例中,进制数据生成模块还用于将明文数据减去选定序列对应的斐波那契数,得到目标明文数据。
在一个实施例中,如图5所示,提供了一种数据解密装置,数据解密装置包括:解密数据获取模块502,用于获取密文数据和密钥数据;解密处理模块504,用于基于密文数据以及密钥数据,获得密文数据对应的斐波那契进制表示数据;信息获取模块506,用于获取预先存储的斐波那契数列、斐波那契数列中的目标斐波那契数以及目标斐波那契数的序列信息;随机数处理模块508,用于基于目标斐波那契数的序列信息确定一个随机数,以随机数作为斐波那契数列的选定序列,获取选定序列对应的斐波那契数;明文数据生成模块510,用于基于选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及密文数据对应的斐波那契进制表示数据,得到明文数据。
关于数据加密装置/数据解密装置的具体限定可以参见上文中对于数据加密方法/数据解密方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据加密方法/数据解密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时可实现上述数据加密方法或数据解密方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可实现上述数据加密方法或数据解密方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种数据加密方法,其特征在于,所述方法包括:
获取明文数据、密钥数据、斐波那契数列、所述斐波那契数列中首个大于所述明文数据的目标斐波那契数以及所述目标斐波那契数的序列信息,所述明文数据的初始斐波那契进制表示数据所有位全部置0;
基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
获取所述明文数据的初始斐波那契进制表示数据,基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据,以所述明文数据对应的斐波那契进制转换数据作为所述明文数据对应的初始斐波那契进制表示数据;
基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,当所述目标明文数据不等于预设值时,以所述目标明文数据对所述明文数据进行更新,返回所述基于所述目标斐波那契数的序列信息确定一个随机数的步骤,获取当所述目标明文数据等于预设值时对应的斐波那契进制转换数据,得到所述明文数据对应的斐波那契进制表示数据,所述预设值为0;
基于所述明文数据对应的斐波那契进制表示数据以及所述密钥数据,得到密文数据。
2.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据,包括:
当所述选定序列对应的斐波那契数小于所述明文数据,且所述随机数在所述初始斐波那契进制表示数据对应的比特位数据不为预设有效值时,将所述比特位数据置为所述预设有效值;
当所述选定序列对应的斐波那契数小于所述明文数据,且所述随机数在所述初始斐波那契进制表示数据对应的比特位数据为预设有效值时,基于预设规则进行数据转换处理,获得满足预设条件的斐波那契进制转换数据。
3.根据权利要求2所述的数据加密方法,其特征在于,所述方法还包括:
当所述选定序列对应的斐波那契数不小于所述明文数据时,返回所述基于所述目标斐波那契数的序列信息确定一个随机数的步骤。
4.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,包括:
将所述明文数据减去所述选定序列对应的斐波那契数,得到目标明文数据。
5.一种数据解密方法,其特征在于,所述方法包括:
获取密文数据和密钥数据,所述密文数据采用如权利要求1-4任意一项所述数据加密方法加密得到;
基于所述密文数据以及所述密钥数据,获得所述密文数据对应的斐波那契进制表示数据;
获取预先存储的斐波那契数列、所述斐波那契数列中的目标斐波那契数以及所述目标斐波那契数的序列信息;
基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
基于所述选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及所述密文数据对应的斐波那契进制表示数据,得到明文数据。
6.一种数据加密装置,其特征在于,所述装置包括:
加密数据获取模块,用于获取明文数据、密钥数据、斐波那契数列、所述斐波那契数列中首个大于所述明文数据的目标斐波那契数以及所述目标斐波那契数的序列信息,所述明文数据的初始斐波那契进制表示数据所有位全部置0;
随机数处理模块,用于基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
转换处理模块,用于获取所述明文数据的初始斐波那契进制表示数据,基于所述随机数对所述初始斐波那契进制表示数据进行处理,获得所述明文数据对应的斐波那契进制转换数据,以所述明文数据对应的斐波那契进制转换数据作为所述明文数据对应的初始斐波那契进制表示数据;
进制数据生成模块,用于基于所述明文数据以及所述选定序列对应的斐波那契数,确定目标明文数据,获取当所述目标明文数据等于预设值时对应的斐波那契进制转换数据,得到所述明文数据对应的斐波那契进制表示数据,当所述目标明文数据不等于所述预设值时,以所述目标明文数据对所述明文数据进行更新,返回所述随机数处理模块基于所述目标斐波那契数的序列信息确定一个随机数的步骤,以所述目标明文数据对所述明文数据进行更新,直至所述目标明文数据等于所述预设值,所述预设值为0;
密文数据生成模块,用于基于所述明文数据对应的斐波那契进制表示数据以及所述密钥数据,得到密文数据。
7.一种数据解密装置,其特征在于,所述装置包括:
解密数据获取模块,用于获取密文数据和密钥数据,所述密文数据采用如权利要求6所述的数据加密装置加密得到;
解密处理模块,用于基于所述密文数据以及所述密钥数据,获得所述密文数据对应的斐波那契进制表示数据;
信息获取模块,用于获取预先存储的斐波那契数列、所述斐波那契数列中的目标斐波那契数以及所述目标斐波那契数的序列信息;
随机数处理模块,用于基于所述目标斐波那契数的序列信息确定一个随机数,以所述随机数作为所述斐波那契数列的选定序列,获取所述选定序列对应的斐波那契数;
明文数据生成模块,用于基于所述选定序列对应的斐波那契数、预设的明文数据更新规则和斐波那契进制表示数据的转换规则以及所述密文数据对应的斐波那契进制表示数据,得到明文数据。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011433357.0A CN112231740B (zh) | 2020-12-10 | 2020-12-10 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011433357.0A CN112231740B (zh) | 2020-12-10 | 2020-12-10 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231740A CN112231740A (zh) | 2021-01-15 |
CN112231740B true CN112231740B (zh) | 2021-03-16 |
Family
ID=74123959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011433357.0A Active CN112231740B (zh) | 2020-12-10 | 2020-12-10 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231740B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113987535B (zh) * | 2021-10-27 | 2024-09-20 | 清华大学深圳国际研究生院 | 数据加密方法、解密方法、装置、电子设备与存储介质 |
CN114422800B (zh) * | 2021-12-14 | 2023-06-06 | 统信软件技术有限公司 | 一种数据加密方法、装置与计算设备 |
CN114168993B (zh) * | 2022-02-15 | 2022-06-03 | 佛山市达衍数据科技有限公司 | 企业数据处理方法、系统、计算机装置及存储介质 |
CN115859327B (zh) * | 2022-12-16 | 2024-06-25 | 北京仁光科技有限公司 | 用于数据进行加密的方法和对软件使用端进行授权的方法 |
CN118245765B (zh) * | 2024-05-23 | 2024-08-16 | 深圳前海中电慧安科技有限公司 | 一种时空轨迹的关联方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040113820A1 (en) * | 2000-06-26 | 2004-06-17 | Elena Leanza | Method for numeric compression and decompression of binary data |
US20190108695A1 (en) * | 2016-02-08 | 2019-04-11 | Allstate Insurance Company | Telematics Authentication |
EP3605849A1 (en) * | 2017-08-11 | 2020-02-05 | Huawei Technologies Co., Ltd. | Polar code encoding method and device |
CN110958255A (zh) * | 2019-12-06 | 2020-04-03 | 杭州安恒信息技术股份有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN111431716A (zh) * | 2020-03-30 | 2020-07-17 | 卓尔智联(武汉)研究院有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN111464267A (zh) * | 2020-04-29 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 通信数据校验方法、装置、计算机设备和存储介质 |
CN111464296A (zh) * | 2020-03-30 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 序列密码生成方法、数据加密方法和数据解密方法 |
CN111464189A (zh) * | 2020-03-31 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 一种斐波那契进制译码装置、方法 |
-
2020
- 2020-12-10 CN CN202011433357.0A patent/CN112231740B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040113820A1 (en) * | 2000-06-26 | 2004-06-17 | Elena Leanza | Method for numeric compression and decompression of binary data |
US20190108695A1 (en) * | 2016-02-08 | 2019-04-11 | Allstate Insurance Company | Telematics Authentication |
EP3605849A1 (en) * | 2017-08-11 | 2020-02-05 | Huawei Technologies Co., Ltd. | Polar code encoding method and device |
CN110958255A (zh) * | 2019-12-06 | 2020-04-03 | 杭州安恒信息技术股份有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN111431716A (zh) * | 2020-03-30 | 2020-07-17 | 卓尔智联(武汉)研究院有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN111464296A (zh) * | 2020-03-30 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 序列密码生成方法、数据加密方法和数据解密方法 |
CN111464189A (zh) * | 2020-03-31 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 一种斐波那契进制译码装置、方法 |
CN111464267A (zh) * | 2020-04-29 | 2020-07-28 | 卓尔智联(武汉)研究院有限公司 | 通信数据校验方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112231740A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231740B (zh) | 数据加密方法、数据解密方法、装置、计算机设备和介质 | |
US20210194688A1 (en) | Single node multi-party encryption | |
JP5911654B2 (ja) | 乱数生成器及びストリーム暗号 | |
KR101143041B1 (ko) | 리볼빙 버퍼들을 이용한 스트림 암호 설계 방법 | |
CN111464296B (zh) | 序列密码生成方法、数据加密方法和数据解密方法 | |
Moon et al. | IoT application protection against power analysis attack | |
JP6135804B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111368336B (zh) | 基于秘密共享的训练方法、装置、电子设备及存储介质 | |
CN111866018B (zh) | 数据信息加密发送方法、装置、计算机设备及存储介质 | |
WO2014132552A1 (ja) | 順序保存暗号化システム、装置、方法およびプログラム | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
Zhdanov et al. | Block symmetric cryptographic algorithm based on principles of variable block length and many-valued logic | |
JP2021507310A (ja) | キー付きメッセージ認証コードのホワイトボックス計算 | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
EP0996250A2 (en) | Efficient block cipher method | |
JP6890589B2 (ja) | 計算デバイス及び方法 | |
JP7383985B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2022137447A1 (ja) | 秘匿情報処理システムおよび秘匿情報処理方法 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
JP2012049765A (ja) | 秘匿性増強処理演算装置およびこれを備えた量子暗号通信端末 | |
WO2021131667A1 (ja) | 秘匿計算装置、秘匿計算方法及びプログラム | |
KR20150051567A (ko) | 암호화 장치 및 방법 | |
TW201528754A (zh) | 時間擾動混沌映射加密解密系統與方法 | |
Barnawi et al. | A HIVE STREAM ENCRYPTION (HSE): A NEW STREAM ENCRYPTION ALGORITHM. | |
Gabar et al. | Improvement the International Data Encryption Algorithm (IDEA) based on Chaos Theory |
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 |