CN112235319B - 数据加密、解密方法、装置和加解密电路 - Google Patents
数据加密、解密方法、装置和加解密电路 Download PDFInfo
- Publication number
- CN112235319B CN112235319B CN202011428776.5A CN202011428776A CN112235319B CN 112235319 B CN112235319 B CN 112235319B CN 202011428776 A CN202011428776 A CN 202011428776A CN 112235319 B CN112235319 B CN 112235319B
- Authority
- CN
- China
- Prior art keywords
- data
- string
- fibonacci
- bit
- target
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据加密、解密方法、装置和加解密电路。一种数据加密方法,包括以下步骤:获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。本申请可分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,并通过拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
Description
技术领域
本发明涉及加密技术领域,特别是涉及一种数据加密、解密方法、装置和加解密电路。
背景技术
随着加密技术的发展,出现了数据加密。数据加密以密码学作为核心,在加密时采用加密算法和加密密钥将明文转换为密文,在解密时采用解密算法和解密密钥将密文转换为明文。目前,传统技术多采用DES(Data Encryption Standard,数据加密标准)进行数据加解密。
然而,发明人发现传统技术中至少存在如下问题:传统技术中存在安全性低的问题。
发明内容
基于此,有必要针对传统技术中安全性低的问题,提供一种能够提高数据传输安全性的数据加密、解密方法、装置和加解密电路。
一种数据加密方法,包括以下步骤:
获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;
随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
在其中一个实施例中,根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据的步骤,包括:
依次拼接各斐波那契进制数,直至各斐波那契进制数的最低位在加密数据中的位置,与预设数值在初始截位串中的位置对应。
在其中一个实施例中,还包括步骤:
对初始截位串进行高位补零,直至初始截位串的长度与加密数据的长度相同,得到目标截位串;目标截位串用于指示加密数据的分割位置。
在其中一个实施例中,预设数值为1。
上述数据加密方法中,获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。本申请可分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,并通过拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
一种数据解密方法,包括以下步骤:
获取加密数据,并生成目标截位串;
根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
在其中一个实施例中,根据目标截位串对加密数据进行分割,得到各斐波那契进制数的步骤,包括:
遍历目标截位串,在出现预设数值的情况下,确认预设数值在目标截位串中的目标位置,按照目标位置分割加密数据。
在其中一个实施例中,生成目标截位串的步骤,包括:
根据密钥种子和截位串生成算法,得到目标截位串;密钥种子和截位串生成算法均为与加密端预先约定得到。
在其中一个实施例中,明文数据为二进制数;
将各斐波那契进制数转换为明文数据的步骤,包括:
分别将各斐波那契进制数译码成对应的二进制数;各二进制数的长度相同。
上述数据解密方法中,通过生成用于指示加密数据分割位置的目标截位串,并按照目标截位串对加密数据进行分割,从而可得到各斐波那契进制数,并根据各斐波那契进制数得到明文数据,进而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
一种数据加密装置,包括:
随机编码模块,用于获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;
初始截位串生成模块,用于随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
加密数据生成模块,用于根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
上述数据加密装置中,通过随机编码模块分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,通过初始截位串生成模块随机生成初始截位串,以及通过加密数据生成模块拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
一种数据解密装置,包括:
截位串生成模块,用于获取加密数据,并生成目标截位串;
分割模块,用于根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
上述数据解密方法中,通过截位串生成模块,用于获取加密数据,并生成目标截位串,并通过分割模块,用于根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置,从而可得到各斐波那契进制数,并根据各斐波那契进制数得到明文数据,进而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
一种加解密电路,包括加密电路和解密电路:加密电路包括:
编码器,将获取到的各明文数据随机编码成斐波那契进制数;
随机生成电路,随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
填充电路,根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据;
解密电路,获取加密数据,并生成目标截位串,以及根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
在其中一个实施例中,加密电路还包括:
存储装置,存储有斐波那契数;各斐波那契数用于指示编码器将各各明文数据转换为斐波那契进制数。
上述加解密电路中,通过分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,并通过拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中方法的步骤。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据加密方法的流程示意图;
图2为一个实施例中数据解密方法的流程示意图;
图3为一个实施例中加解密电路的RTL电路;
图4为一个实施例中数据加密装置的结构框图;
图5位一个实施例中数据解密装置的结构框图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,“多”可以为两个以上的情况,例如两个、三个或五个等。本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一电阻称为第二电阻,且类似地,可将第二电阻称为第一电阻。第一电阻和第二电阻两者都是电阻,但其不是同一电阻。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
在一个实施例中,如图1所示,提供了一种数据加密方法,可应用于加密端,如发送方。该方法可包括以下步骤:
步骤110,获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数。
其中,明文数据可以为将要进行数据传输的数据。
具体地,明文数据的数量可以为一个或者多个,当明文数据的数量为一个时,可将明文数据随机编码成斐波那契进制数,并将斐波那契进制数进行发送。当明文数据的数量为多个时,可执行步骤120和步骤130。其中,明文数据可以为常用进制数,例如可以为二进制、八进制、十进制或十六进制等进制表示的数值。
在进行斐波那契进制编码时,同一数值可以对应有多个斐波那契进制数,也即对于同一数值而言,其斐波那契进制表示不唯一。以十进制13为例,其可编码为斐波那契进制数110000、101100或者101011。在对明文数据进行随机编码时,可随机选用该明文数据所对应的任一斐波那契进制数,斐波那契进制数的长度、编码方式(例如是否为斐波那契进制标准式)等并无具体限定,选用的斐波那契进制数可以为任意长度、任意编码方式。例如,在上述示例中,对十进制13进行随机编码后,其对应的斐波那契进制数可以为1000000、110000、101100或者101011中的任意一个。
需要说明的是,在对多个明文数据进行随机编码后,在得到的多个斐波那契进制数中,任意两个斐波那契进制数的长度可以相等或者不等,例如任一两个斐波那契进制数的长度可以为24位,另一斐波那契进制数的长度可以为21位或者24位。
由于斐波那契进制表达具有不唯一性和自带混淆特性,本申请通过采用斐波那契进制表述来实现数据加密传输,可提高信息传输的安全性。
步骤120,随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应。
其中,截位串可以是包括一个或多个预设数值的数据串,用于指示各斐波那契进制数的拼接,包括指示各斐波那契进制数的拼接顺序和/或数据长度等。在数据加解密中,截位串可作为密钥。
具体地,初始截位串包括一个或多个预设数值,且初始截位串中预设数值的个数对应于明文数据的总数量。进一步地,预设数值的个数与明文数据的总数量可以相同,或者预设数值的个数可以为明文数据总数量减1之差。例如,当获取到的明文数据总数量为3个时,初始截位串中预设数值的数量可以为3个或者2个。
需要说明的是,本申请中还可采用其他方式确定初始截位串中预设数值的个数,并不局限于上述示例所列出的方式,只需预设数值的个数能够用于指示各斐波那契进制数的拼接即可。
同时,预设数值在初始截位串中出现的位置也可为随机生成,换言之,初始截位串中第几位出现预设数值可以是随机的。当预设数值的数量1时,预设数值可以出现在第22位(最低位为第1位,下述实施例均为最低位为第1位),或者出现在第8位。
预设数值可以根据实际情况以及设计需求进行确定,例如预设数值可以为0、1或者其他数值。在一个示例中,初始截位串可以为0和1组成的比特串,预设数值可以为1,此时初始截位串中1的个数与明文数据的总数量对应,其他位为0。
步骤130,根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
具体地,预设数值在初始截位串中的位置,如预设数值在初始截位串中为第几位,可用于指示各斐波那契进制数的拼接,各斐波那契进制数拼接后可得到一数据串,该数据串为加密数据。在进行数据传输时,加密端可向解密端发送加密数据,以实现安全传输。
加密数据中各斐波那契进制数的拼接位置,与预设数值在初始截位串中的位置对应,换言之,根据预设数值在初始截位串中出现的位置,可获知各斐波那契进制数的拼接位置。
具体而言,可根据预设数值在初始截位串中的位置,对各斐波那契进制数的长度进行匹配,得到各斐波那契进制数的排列次序,并按照该排列次序依次拼接各斐波那契进制数,从而得到加密数据。例如,存在一24位的斐波那契进制数和一21位的斐波那契进制数,预设数值在初始截位串中的位置为第24位,则加密数据从高位到地位可以依次为21位斐波那契进制数和24位斐波那契进制数。若预设数值在初始截位串中的位置为第21位,则加密数据从高位到地位可以依次为24位斐波那契进制数和21位斐波那契进制数。
需要说明的是,在上述示例中,预设数值在初始截位串中出现的位置还可以为第23位或第25位等,本申请只需加密数据中各斐波那契进制数的拼接位置,与预设数值在初始截位串中的位置对应即可,并不只局限于拼接位置和预设数值出现的位置相同这一种情况。
此外,还可根据预设数值在初始截位串中的位置,调整各斐波那契进制数的长度,以使各斐波那契进制数的拼接位置与预设数值在初始截位串中的位置对应。例如,存在一24位的斐波那契进制数和一21位的斐波那契进制数,若预设数值在初始截位串中出现的位置为第23位,则可将21位的斐波那契进制数进行高位补零,使其长度达到23位,并将24位的斐波那契进制数与补零后的23位的斐波那契进制数从高位到低位进行拼接,得到加密数据。
而对于DES加密而言,其破解的难度取决于密钥的确定难度。假设密钥长度是,则密钥会存在个可能性,破解者可以经过1、2……次尝试后确定密钥,平均值为,即经一次尝试后找到正确密钥的概率为。综上,DES加密的破解难度取决于密钥的长度,但是密钥的长度一般是固定为64位,也即就暴力破解而言,DES的破解难度是固定的。
但是,本申请的方案中,利用斐波那契进制表达具有不唯一性和自带混淆特性,采用截位信息作为密钥进行安全信息传输,通过采用级联混淆传输,其破解难度取决与明文的长度和字符数量,当明文长度越长时,字符数量越小,破解难度越大。本申请的方案破解难度具有灵活性,串长度越长则越难破解,如此可提高数据加密传输中数据的安全性。上述数据加密方法中,获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。本申请可分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,并通过拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
在一个实施例中,根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据的步骤,包括:
依次拼接各斐波那契进制数,直至各斐波那契进制数的最低位在加密数据中的位置,与预设数值在初始截位串中的位置对应。
具体地,每一斐波那契进制数均包括最高位和最低位,当初始截位串生成后,预设数值在初始截位串中的位置已经确定,根据预设数值在初始截位串中的位置,拼接各斐波那契进制数,令拼接后的加密数据中,各个斐波那契进制数的最低位的出现位置,与预设数值在初始截位串中的位置对应。
需要说明的是,初始截位串的长度与各斐波那契进制数的总长度(即加密数据的长度)可以相等或者不等,初始截位串的长度可以大于、等于或者小于各斐波那契进制数的总长度。
在一个实施例中,还包括步骤:
对初始截位串进行高位补零,直至初始截位串的长度与加密数据的长度相同,得到目标截位串;目标截位串用于指示加密数据的分割位置。
具体地,在初始截位串的长度可以小于加密数据的长度的情况下,可对初始截位串进行高位补零,直到高位补零后的截位串的长度与加密数据的长度相等,得到目标截位串。
上述数据加密方法中,通过长度、表达形式不唯一的斐波那契进制数,可打破数据的规律分布,提高加密性能,在传输数值较大的数据时,随着数值的增大,破解难度也增大,进而可提高加密数据的破解难度并提高数据安全性。
为便于理解本申请的方案,下面通过一个具体的示例进行说明。DS18B20是常用的数字温度传感器,用于输出数字信号。DS18B20默认配置温度数据为12位(补码),最高位为符号位,最低四位为小数位。低11位的二进制数转化为十进制数后再乘以0.0625得到实际温度值。DS18B20每次传输2个字节的数据,前5位同时变化,同时为1时温度为负值。
当DS18B20采集两次温度数据后,采集得到的二进制温度数据分别为0000 00001010 0010,0000 0000 1001 0001。可忽略二进制表示中的符号位和小数位,将12位的温度数据整体视为一普通二进制,将其随机编码成斐波那契进制数。例如,温度传感器采集得到的温度数据为0000,0000,0000,1001(十进制0.585),则将12位二进制整体视作普通二进制,按照十进制9进行随机编码。
随机编码成斐波那契进制数后,可得到1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,1, 1, 0, 1, 0, 1, 1, 0, 1(21位)和1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,0, 1, 1, 1, 0, 0, 1, 0, 0(24位)。
则待发送的信息(即加密数据)可为:1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,1, 0, 1, 0, 1, 1, 0, 1,1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,1, 0, 0, 1, 0, 0(共45位)。
目标截位串可为:0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0,0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0。
在本申请的数据传输中,截位串就是双方通信的密钥K。密钥K可采用一次一密,每次由发送方私钥加密Sk(K),接收方以发送方的公钥解密得到Pk(Sk(K))=K;也可以收发双方事先约定一个固定的截位串K,编码过程中以高位补零的方式使截位串与不同字符编码的分隔信息相对应。
在一个实施例中,如图2所示,提供了一种数据解密方法,可应用于解密端,如接收方。该方法可包括以下步骤:
步骤210,获取加密数据,并生成目标截位串;
步骤220,根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
具体地,在接收到通过上述数据加密方法加密后的加密数据,并需要从中恢复明文数据时,可先生成目标截位串。其中目标截位串可包括预设数值,且预设数值在目标截位串中的位置可指示加密数据的分割位置。根据预设数值在目标截位串中出现的位置对加密数据进行分割,从而可得到多个斐波那契进制数,并可通过斐波那契进制数获取明文数据,实现数据传输。
上述解密方法中,通过生成用于指示加密数据分割位置的目标截位串,并按照目标截位串对加密数据进行分割,从而可得到各斐波那契进制数,并根据各斐波那契进制数得到明文数据,进而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
在一个实施例中,根据目标截位串对加密数据进行分割,得到各斐波那契进制数的步骤,包括:
遍历目标截位串,在出现预设数值的情况下,确认预设数值在目标截位串中的目标位置,按照目标位置分割加密数据。
具体地,可对目标截位串进行遍历,当目标截位串中包括预设数值时,确认预设数值在目标截位串中出现的位置,将其作为目标位置,并按照目标位置对加密数据进行分割,得到每个字符的斐波那契进制。具体而言,可对加密数据中的目标位置进行分割,也可对加密数据中目标位置的前N位/后N位进行分割。
例如,接收到一11位长度的加密数据,且预设数值在目标截位串中出现的位置为第5位,则可在加密数据的第5位处进行分割,得到一5位长度的斐波那契进制数和一6位长度的斐波那契进制数,并根据上述两个斐波那契进制数得到明文数据。或者,可在加密数据的第4位或第6位处进行分割,得到对应的两个斐波那契进制数,并根据斐波那契进制数得到明文数据。
在一个实施例中,生成目标截位串的步骤,包括:
根据密钥种子和截位串生成算法,得到目标截位串;密钥种子和截位串生成算法均为与加密端预先约定得到。
具体地,解密端可采用和加密端实现约定的密钥种子和截位串生成算法来生成目标截位串,且解密端生成的目标截位串和加密端生成的目标截位串相同。进一步地,密钥种子和截位串生成算法可以是固定的。
在一个实施例中,明文数据为二进制数;
将各斐波那契进制数转换为明文数据的步骤,包括:
分别将各斐波那契进制数译码成对应的二进制数;各二进制数的长度相同。
具体地,在对加密数据进行分割得到多个斐波那契进制数后,可分别将各斐波那契进制数译码成对应的二进制,并令各个二进制数的长度相同,从而可得到原始明文数据。进一步地,各二进制的长度可以预先设定。
应该理解的是,虽然图1-图2流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图2的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种加解密电路,包括加密电路和解密电路:加密电路包括:
编码器,将获取到的各明文数据随机编码成斐波那契进制数;
随机生成电路,随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
填充电路,根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据;
解密电路,获取加密数据,并生成目标截位串,以及根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
具体地,解密电路的电路装置可与加密电路的电路装置相同,区别可在于解密电路采用解密模块,加密电路采用加密模块。在加密电路中可包括编码器、随机生成电路和填充电路,编码器可连接随机生成电路,随机生成电路连接填充电路。
在一个实施例中,加密电路还包括:
存储装置,存储有斐波那契数;各斐波那契数用于指示编码器将各各明文数据转换为斐波那契进制数。
具体地,存储装置可存储有前N位的斐波那契数,例如前32位的斐波那契数,编码器可调用存储装置内存储的斐波那契数来对明文数据进行随机编码。存储装置可分别连接编码器和随机生成电路。
具体而言,请参阅图3,图3示出了加解密电路的RTL(Register Transfer Level,寄存器转换级)电路。存储装置可以为RAM(Random Access Memory,随机存取存储器)装置。
为便于说明本申请的方案,下面通过一个具体的示例进行说明。一种加解密电路,其RTL级电路可如图3所示。
本申请的加解密电路和DES加解密传输方式的资源占用对比可如表1所示,由表1可见,斐波那契截位串加解密方法(即本申请的加解密方法)占用的逻辑门(Total logicelements)资源基本和DES相当;但是寄存器和引脚占用略多于DES。两种均为占用虚拟引脚、RAM和锁相环。总体来说,二者硬件资源的占用在同一级别。
表1 斐波那契截位串加解密电路和DES加解密电路的FPGA资源占用对比
斐波那契截位串加解密电路 | DES | |
逻辑门总数 | 2138 | 2116 |
寄存器总数 | 623 | 588 |
管脚总数 | 53 | 38 |
虚拟管脚总数 | 0 | 0 |
存储比特数 | 0 | 0 |
嵌入式乘法器 | 0 | 0 |
锁相环总数 | 0 | 0 |
在时间消耗的对比上,当晶振为50MHz(兆赫兹)时,一次根据斐波那契截位串方法传输运行时间为9700ps(皮秒),DES加解密运行时间为2450ps,DES加解密方法的速率是斐波那契截位串方法的3倍多。
上述加解密电路中,通过分别将各明文数据编码成长度不定、编码方式不定的斐波那契进制数,并通过拼接各斐波那契进制数得到加密数据,从而可提高数据的加密性和破解难度,进而提高数据传输的安全性。
在一个实施例中,如图4所示,提供了一种数据加密装置,包括:
随机编码模块,用于获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;
初始截位串生成模块,用于随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
加密数据生成模块,用于根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
在一个实施例中,加密数据生成模块还用于依次拼接各斐波那契进制数,直至各斐波那契进制数的最低位在加密数据中的位置,与预设数值在初始截位串中的位置对应。
在一个实施例中,还包括:
目标截位串获取模块,用于对初始截位串进行高位补零,直至初始截位串的长度与加密数据的长度相同,得到目标截位串;目标截位串用于指示加密数据的分割位置。
在一个实施例中,预设数值为1。
关于数据加密装置的具体限定可以参见上文中对于数据加密方法的限定,在此不再赘述。上述数据加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个实施例中,如图5所示,提供了一种数据加密装置,包括:
截位串生成模块,用于获取加密数据,并生成目标截位串;
分割模块,用于根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
在一个实施例中,分割模块,还用于遍历目标截位串,在出现预设数值的情况下,确认预设数值在目标截位串中的目标位置,按照目标位置分割加密数据。
在一个实施例中,截位串生成模块,还用于根据密钥种子和截位串生成算法,得到目标截位串;密钥种子和截位串生成算法均为与加密端预先约定得到。
在一个实施例中,明文数据为二进制数;分割模块,还用于分别将各斐波那契进制数译码成对应的二进制数;各二进制数的长度相同。
关于数据解密装置的具体限定可以参见上文中对于数据解密方法的限定,在此不再赘述。上述数据解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;
随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
依次拼接各斐波那契进制数,直至各斐波那契进制数的最低位在加密数据中的位置,与预设数值在初始截位串中的位置对应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对初始截位串进行高位补零,直至初始截位串的长度与加密数据的长度相同,得到目标截位串;目标截位串用于指示加密数据的分割位置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取加密数据,并生成目标截位串;
根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
遍历目标截位串,在出现预设数值的情况下,确认预设数值在目标截位串中的目标位置,按照目标位置分割加密数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据密钥种子和截位串生成算法,得到目标截位串;密钥种子和截位串生成算法均为与加密端预先约定得到。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:明文数据为二进制数;将各斐波那契进制数转换为明文数据的步骤,包括:分别将各斐波那契进制数译码成对应的二进制数;各二进制数的长度相同。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取各明文数据,并分别将各明文数据随机编码成斐波那契进制数;
随机生成初始截位串;初始截位串中预设数值的个数与明文数据的数量对应;
根据预设数值在初始截位串中的位置,对各斐波那契进制数进行拼接,得到加密数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
依次拼接各斐波那契进制数,直至各斐波那契进制数的最低位在加密数据中的位置,与预设数值在初始截位串中的位置对应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对初始截位串进行高位补零,直至初始截位串的长度与加密数据的长度相同,得到目标截位串;目标截位串用于指示加密数据的分割位置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取加密数据,并生成目标截位串;
根据目标截位串对加密数据进行分割,得到各斐波那契进制数,并将各斐波那契进制数转换为明文数据;目标截位串用于指示加密数据的分割位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
遍历目标截位串,在出现预设数值的情况下,确认预设数值在目标截位串中的目标位置,按照目标位置分割加密数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据密钥种子和截位串生成算法,得到目标截位串;密钥种子和截位串生成算法均为与加密端预先约定得到。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:明文数据为二进制数;将各斐波那契进制数转换为明文数据的步骤,包括:分别将各斐波那契进制数译码成对应的二进制数;各二进制数的长度相同。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种数据加密方法,其特征在于,包括以下步骤:
获取各明文数据,并分别将各所述明文数据随机编码成斐波那契进制数;
随机生成初始截位串;所述初始截位串中预设数值的个数与所述明文数据的数量对应;
根据所述预设数值在所述初始截位串中的位置,对各所述斐波那契进制数进行拼接,得到加密数据。
2.根据权利要求1所述的数据加密方法,其特征在于,根据所述预设数值在所述初始截位串中的位置,对各所述斐波那契进制数进行拼接,得到加密数据的步骤,包括:
依次拼接各所述斐波那契进制数,直至各所述斐波那契进制数的最低位在所述加密数据中的位置,与所述预设数值在所述初始截位串中的位置对应。
3.根据权利要求1所述的数据加密方法,其特征在于,还包括步骤:
对所述初始截位串进行高位补零,直至所述初始截位串的长度与所述加密数据的长度相同,得到目标截位串;所述目标截位串用于指示所述加密数据的分割位置。
4.根据权利要求1至3任一项所述的数据加密方法,其特征在于,所述预设数值为1。
5.一种数据解密方法,其特征在于,包括以下步骤:
获取加密数据,并生成目标截位串;所述加密数据为明文数据经权利要求1至4任一项所述数据加密方法进行加密后得到的数据;
根据所述目标截位串对所述加密数据进行分割,得到各斐波那契进制数,并将各所述斐波那契进制数转换为明文数据;所述目标截位串用于指示所述加密数据的分割位置。
6.根据权利要求5所述的数据解密方法,其特征在于,根据所述目标截位串对所述加密数据进行分割,得到各斐波那契进制数的步骤,包括:
遍历所述目标截位串,在出现预设数值的情况下,确认所述预设数值在所述目标截位串中的目标位置,按照所述目标位置分割所述加密数据。
7.根据权利要求5所述的数据解密方法,其特征在于,生成目标截位串的步骤,包括:
根据密钥种子和截位串生成算法,得到所述目标截位串;所述密钥种子和所述截位串生成算法均为与加密端预先约定得到。
8.根据权利要求5至7任一项所述的数据解密方法,其特征在于,所述明文数据为二进制数;
将各所述斐波那契进制数转换为明文数据的步骤,包括:
分别将各所述斐波那契进制数译码成对应的二进制数;各所述二进制数的长度相同。
9.一种数据加密装置,其特征在于,包括:
随机编码模块,用于获取各明文数据,并分别将各所述明文数据随机编码成斐波那契进制数;
初始截位串生成模块,用于随机生成初始截位串;所述初始截位串中预设数值的个数与所述明文数据的数量对应;
加密数据生成模块,用于根据所述预设数值在所述初始截位串中的位置,对各所述斐波那契进制数进行拼接,得到加密数据。
10.一种数据解密装置,其特征在于,包括:
截位串生成模块,用于获取加密数据,并生成目标截位串;所述加密数据为明文数据经权利要求1至4任一项所述数据加密方法进行加密后得到的数据;
分割模块,用于根据所述目标截位串对所述加密数据进行分割,得到各斐波那契进制数,并将各所述斐波那契进制数转换为明文数据;所述目标截位串用于指示所述加密数据的分割位置。
11.一种加解密电路,其特征在于,包括加密电路和解密电路:所述加密电路包括:
编码器,将获取到的各明文数据随机编码成斐波那契进制数;
随机生成电路,随机生成初始截位串;所述初始截位串中预设数值的个数与所述明文数据的数量对应;
填充电路,根据所述预设数值在所述初始截位串中的位置,对各所述斐波那契进制数进行拼接,得到加密数据;
所述解密电路,获取加密数据,并生成目标截位串,以及根据所述目标截位串对所述加密数据进行分割,得到各斐波那契进制数,并将各所述斐波那契进制数转换为明文数据;所述目标截位串用于指示所述加密数据的分割位置。
12.根据权利要求11所述的加解密电路,其特征在于,所述加密电路还包括:
存储装置,存储有斐波那契数;各所述斐波那契数用于指示所述编码器将各所述各明文数据转换为斐波那契进制数。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011428776.5A CN112235319B (zh) | 2020-12-09 | 2020-12-09 | 数据加密、解密方法、装置和加解密电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011428776.5A CN112235319B (zh) | 2020-12-09 | 2020-12-09 | 数据加密、解密方法、装置和加解密电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235319A CN112235319A (zh) | 2021-01-15 |
CN112235319B true CN112235319B (zh) | 2021-03-16 |
Family
ID=74124701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011428776.5A Active CN112235319B (zh) | 2020-12-09 | 2020-12-09 | 数据加密、解密方法、装置和加解密电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235319B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422800B (zh) * | 2021-12-14 | 2023-06-06 | 统信软件技术有限公司 | 一种数据加密方法、装置与计算设备 |
CN115296879B (zh) * | 2022-07-27 | 2023-04-18 | 杭州跃马森创信息科技有限公司 | 一种用于微服务的加密认证方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2233007C1 (ru) * | 2003-06-02 | 2004-07-20 | Федеральное государственное унитарное предприятие "Воронежский научно-исследовательский институт связи" | Способ передачи информации р-кодами фибоначчи по многолучевым каналам с рассеянием |
CN106130717B (zh) * | 2016-06-23 | 2019-05-28 | 浪潮(北京)电子信息产业有限公司 | 一种文件存储解密方法及装置 |
CN105956492B (zh) * | 2016-06-23 | 2019-01-25 | 浪潮(北京)电子信息产业有限公司 | 一种文件存储加密方法及装置 |
US10680810B2 (en) * | 2016-10-26 | 2020-06-09 | Nxp B.V. | Method of generating an elliptic curve cryptographic key pair |
CN107342865B (zh) * | 2017-06-20 | 2020-07-10 | 贵州安融科技发展有限公司 | 一种基于sm4的认证加密算法 |
CN110958255B (zh) * | 2019-12-06 | 2022-07-29 | 杭州安恒信息技术股份有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN111464296B (zh) * | 2020-03-30 | 2020-12-25 | 卓尔智联(武汉)研究院有限公司 | 序列密码生成方法、数据加密方法和数据解密方法 |
CN111431716B (zh) * | 2020-03-30 | 2021-03-16 | 卓尔智联(武汉)研究院有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-09 CN CN202011428776.5A patent/CN112235319B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112235319A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108377183B (zh) | Xdr数据信息加密方法、装置、设备及介质 | |
US8254570B2 (en) | Method and system for encryption of data | |
US8284933B2 (en) | Encrypting variable-length passwords to yield fixed-length encrypted passwords | |
KR101267109B1 (ko) | 준군을 이용한 암호화 프리미티브, 에러 코딩, 및 의사난수 향상 방법 | |
JP3339688B2 (ja) | 非決定論的ミクスチャー発生器ストリーム暗号化システム | |
CN112235319B (zh) | 数据加密、解密方法、装置和加解密电路 | |
US20120134490A1 (en) | Selective Data Encryption and Decryption Method and Apparatus | |
CN116032474B (zh) | 一种基于大数据计算机网络安全防护系统 | |
US7864087B2 (en) | Methods and systems for modifying the statistical distribution of symbols in a coded message | |
CN115333777B (zh) | 数据加密方法、系统、装置及存储介质 | |
WO2002054664A2 (en) | R-conversion encryption method and system | |
JP2003535362A (ja) | 暗号多項式の解読 | |
CN115834163B (zh) | 加密数据的秘钥生成方法、装置、设备及存储介质 | |
CN115333720B (zh) | 一种呼叫中心数据传输方法 | |
US10917232B1 (en) | Data enciphering or deciphering using a hierarchical assignment system | |
Ryabko et al. | Asymptotically optimal perfect steganographic systems | |
CN111756540A (zh) | 一种传送密文的方法、终端、服务器及系统 | |
AU630090B2 (en) | Encoding and decoding methods | |
CN114362964A (zh) | 一种大数据加密传输方法及系统 | |
CN114943205A (zh) | 一种身份识别编码uuid生成方法、系统、存储介质及电子设备 | |
CN112202548A (zh) | 流加密密钥流生成方法、装置、电路和加密方法 | |
CN116405293B (zh) | 安全运维系统的数据加密存储方法 | |
RU2595953C1 (ru) | Способ арифметического кодирования с шифрованием | |
CN116484407B (zh) | 一种数据安全保护方法、装置、电子设备及存储介质 | |
CN117744128B (zh) | 基于区块链的电商交易数据安全管理方法 |
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 |