CN103414552B - 一种利用二叉树遍历方式进行加密、解密方法及装置 - Google Patents

一种利用二叉树遍历方式进行加密、解密方法及装置 Download PDF

Info

Publication number
CN103414552B
CN103414552B CN201310329129.2A CN201310329129A CN103414552B CN 103414552 B CN103414552 B CN 103414552B CN 201310329129 A CN201310329129 A CN 201310329129A CN 103414552 B CN103414552 B CN 103414552B
Authority
CN
China
Prior art keywords
traversal mode
traversal
sequence
mode
travel
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
CN201310329129.2A
Other languages
English (en)
Other versions
CN103414552A (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.)
Shenzhen Institute of Information Technology
Original Assignee
Shenzhen Institute of Information Technology
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 Shenzhen Institute of Information Technology filed Critical Shenzhen Institute of Information Technology
Priority to CN201310329129.2A priority Critical patent/CN103414552B/zh
Publication of CN103414552A publication Critical patent/CN103414552A/zh
Application granted granted Critical
Publication of CN103414552B publication Critical patent/CN103414552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明适用于数据加密技术领域,提供了一种利用二叉树遍历方式进行加密、解密方法及装置,包括:获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密。在本发明实施例中,根据密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密,简化了加密过程繁琐,增强了安全性,提高了数据的加密效率。

Description

一种利用二叉树遍历方式进行加密、解密方法及装置
技术领域
本发明属于数据加密技术领域,尤其涉及一种利用二叉树遍历方式进行加密、解密方法及装置。
背景技术
公共网络上的通信容易被未经授权的第三方读取。数据在网络传输过程中的保密性是网络安全中重点要考虑的问题之一,数据加密与解密是解决这一问题较好的办法。
在公共网络传输数据时使用加密算法对数据进行加密,在加密状态下传输数据,然后由预定的接收方对数据进行解密。即便第三方截获了加密的数据,也无法还原真实的数据,所以数据加密可以保护数据,防止监听攻击。
加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。
私钥加密算法使用单个私钥来加密和解密数据。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密,私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。
然而,现有私钥加密算法加密过程繁琐且安全性不够高,降低了数据的加密效率,为便于说明,以现有私钥加密算法中高级加密标准(AdvancedEncryption Standard,AES)为例,AES算法在加密过程中要要经过AddRoundKey(异或)、SubBytes(查表替换)、ShiftRows(按字节循环左移)、MixColumns(矩阵乘法)等过程,因此加密的加密过程繁琐,且密钥只有1035数量级,因此安全性不够高。
发明内容
本发明实施例的目的在于提供一种利用二叉树遍历方式进行利用二叉树遍历方式进行加密方法,旨在现有私钥加密算法加密过程繁琐且安全性不够高,降低了数据的加密效率的问题。
本发明实施例是这样实现的,一种利用二叉树遍历方式进行加密加密方法,包括:
获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密。
本发明实施例的另一目的在于提供一种利用二叉树遍历方式进行解密方法,包括:
获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
根据预设的明文遍历方式,遍历所述序列二叉树,生成未加密的数据序列,以还原明文。
本发明实施例的另一目的在于提供一种利用二叉树遍历方式进行加密装置,包括:
第一获取单元,获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
第二获取单元,用于根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
第一装载单元,用于根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
采用单元,用于采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
加密单元,用于根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密。
本发明实施例的另一目的在于提供一种利用二叉树遍历方式进行解密装置,包括:
第三获取单元,用于获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
第四获取单元,用于获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
第二装载单元,用于根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
还原单元,用于采用根据预设的明文遍历方式,遍历所述序列二叉树,生成未加密的数据序列,以还原明文。
在本发明实施例中,采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;根据所述密文遍历方式遍历所述用于加密的序列二叉树,生成加密数据序列,以完成明文的加密,以简化了加密过程繁琐,增强了安全性,提高了数据的加密效率。
附图说明
图1是本发明实施例提供的数据加密方法的实现流程图;
图2是本发明实施例提供的序列二叉树数量较佳的样例图;
图3是本发明实施例提供的生成的二叉树较佳的样例图;
图4是本发明实施例提供的数据解密方法的实现流程图;
图5是本发明实施例提供的数据加密装置的结构框图;
图6是本发明实施例提供的数据解密装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;根据所述密文遍历方式遍历所述用于加密的序列二叉树,生成加密数据序列,以完成明文的加密,以简化了加密过程繁琐,增强了安全性,提高了数据的加密效率。
实施例一
图1示出了本发明实施例提供的一种利用二叉树遍历方式进行加密方法的实现流程,详述如下:
在步骤S101中,获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
在本实施例中,获取明文的数据序列,可先以二进制方式存储将需要加密的明文,以将明文转换成数据序列,从而在本地中,可获取到明文的数据序列中的N个元素,其中,N为大于等于1的整数。
在本实施例中,获取明文的数据序列记录存储在本地预设的文件中,便于后续调用。
在步骤S102中,根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
在本实施例中,根据所述数据序列中元素的个数N,随机获取一棵具有N个节点的序列二叉树作为密钥。
在本实施例中,序列二叉树为遍历结果为一个数据序列的二叉树。
为便于说明,图2示出了遍历结果为ABCD的以及有4个结点的二叉树。该二叉树的前序遍历是ABCD,所以称该序列二叉树为序列ABCD的前序二叉树。序列ABCD还存在中序二叉树、后序二叉树等。
在本实施例中,序列二叉树由根、左子树、右子树组成。无论是前序遍历、中序遍历还是后序遍历,遍历序列都由根、左子树、右子树组成。
在本实施例中,为便于说明,以n个元素的数据序列为例,任意指定一棵有n个结点的二叉树,其中,n为大于等于1的整数,B(n)为序列二叉树数量。此外,无论是前序遍历、中序遍历还是后序遍历,遍历序列都由根、左子树、右子树组成,只是它们的顺序有区别而已,序列二叉树数量B(n)并不会改变,如图2所示。
进一步地,为便于说明,以n个元素的数据序列,前序列二叉树为例,生成前序二叉树的过程应该是先生成根,再生成左子树,再生成右子树。具体方法是:
①生成二叉树的根
从流中读到的第一个结点作为根。
②生成二叉树的左子树
从剩下的n-1个结点中读取k(0<=k<=n-1)个结点,按照前序序列作为该二叉树的左子树。
③生成二叉树的右子树
把余下的n-k-1个结点按照前序序列作为该二叉树的右子树。
按照以上步骤,当左子树有0个结点时候存在B(0)个二叉树;此时右子树有n-1个结点,可以有B(n-1)个二叉树。按照剩法原理,存在B(0)B(n-1)棵二叉树。
当左子树有1个结点时候存在B(1)个二叉树;此时右子树有n-2个结点,可以有B(n-2)个二叉树。按照剩法原理,存在B(1)B(n-2)棵二叉树。… …
当左子树有k(0<=k<=n-1)个结点时候存在B(k)个二叉树;此时右子树有n-k-1个结点,可以有B(n-k-1)个二叉树。按照剩法原理,存在B(k)B(n-k-1)棵二叉树。
再由加法原理,求得B(n):
B ( n ) = &Sigma; k = 0 n - 1 B ( k ) B ( n - k - 1 )
例如当n=3时,B(3)=B(0)B(2)+B(1)B(1)+B(2)B(0)=1×2+1×1+2×1=5
其生成的5棵二叉树,如图3所示。
当n=4时,B(4)=B(0)B(3)+B(1)B(2)+B(2)B(1)+B(3)B(0)=1×5+1×2+2×1+5×1=14
当n=5时,B(5)=B(0)B(4)+B(1)B(3)+B(2)B(2)+B(3)B(1)+B(4)B(0)=1×14+1×5+2×2+5×1+14×1=42
下面代码段用数组方式计算求n和B(n)的关系:
double sum=0;
double b[]=new double[129];./字节双精度
b[0]=1;b[1]=1;b[2]=2;
for(int n=3;n<=128;n++){/n的取值从3开始,当n不大于128时,执行循环。
当n=64时,B64=3.684791698758167E35
当n=128时,B128=128:4.4718285453094634E73=4.4718285453094634×1073种密钥。
在本实施例中,对比AES算法,当密钥长度为128时,AES算法有3.4×1038个密钥,而序列二叉树,当位数n=128时候,存在B(n)=4.4718285453094634×1073种密钥,密钥的数量远远高于AES密钥1038数量级,因此,增加了密钥的数量,使得明文的加密更具有安全性,从而解决了现有私钥加密算法加密安全性不够高的问题。
在步骤S103中,根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
在本实施例中,预先在遍历方式中,选取一个遍历方式作为预设的明文遍历方式。
在步骤S104中,采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
在本实施例中,采用与所述明文遍历方式不同的遍历方式作为密文遍历方式,具体地,可向每一种遍历方式分配唯一的遍历标识,在遍历方式中,根据遍历标识剔除明文遍历方式,在剩下的遍历方式中,选择一个遍历方式作为密文遍历方式。
在步骤S105中,根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密。
在本实施例中,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
在本实施例中,根据密文遍历方式遍历序列二叉树,生成加密数据序列,以完成明文的加密,由于序列二叉树的数量多,随机选取一个序列二叉树作为密钥,将所述数据序列中的N个元素分别装载至序列二叉树的N个节点中,就具有多种可能,且采用密文遍历方式的方式,改变了原数据序列中各元素的排列顺序,因此,在后续的解密中,需要获取用于加密的序列二叉树,将该各元素的排列顺序调整为原数据序列,才能完成解密。
在本实施例中,序列二叉树进行加密/解密实质上就是对序列二叉树的遍历过程,所以相比一些私钥加密算法而言序列二叉树进行加密/解密算法简单,且对比AES算法,当密钥长度为128时,有3.4×1038个密钥,而序列二叉树,当位数n=128时候,存在B(n)=4.4718285453094634×1073种密钥,密钥的数量远远高于AES密钥1038数量级。在实际应用中,即使采用密钥穷尽搜索的方法进行获取密钥,也会由于组合个数过多,而增加破解密钥的难度,使得明文的加密更具有安全性。
作为本发明的一个优选实施例,可对获取到的明文的数据序列进行分段,分成各个数据序列,并每个数据序列随机选取一个序列二叉树,通过该序列二叉树对序列进行加密,以进一步提高加密的安全性。
实施例二
图4示出了本发明实施例提供的一种利用二叉树遍历方式进行加密方法的实现流程,详述如下:
在步骤S401中,获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
在本实施例中,获取加密数据序列,具体地,可通过现有的任一种网络,接收到加密数据序列。
在本实施例中,获取明文的加密数据序列记录存储在本地预设的文件中,便于后续调用。
在步骤S402中,获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
在本实施例中,获取密钥,密钥为一棵具有N个节点的序列二叉树,获取的方式可通过现有技术的任一种方式获取,在此不做限制,如通过网盘下载,通过分布式存储系统认证下载的方式获取。
在本实施例中,获取到用于加密的序列二叉树后,将用于加密的序列二叉树记录存储在本地的预设位置中。
在本实施例中,可选地,可将密钥存储在本地的预设位置中,便于后续直接获取。
在本实施例中,需要进行说明的是,实施例一与实施例二中采用的是对称加密,用于解密的序列二叉树与实施例一中的用于加密的序列二叉树相同,该用于加密的序列二叉树既用于加密又用于解密,由于加密和解密的速度快,因此特别适用于对较大的数据流执行加密转换。
在步骤S403中,根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
在本实施例中,调用预先存储的用于加密的序列二叉树,根据密文遍历方式,将加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中。
在本实施例中,需要进行说明的是,本实施例中的密文遍历方式与实施例一中的密文遍历方式相同,该密文遍历方式既用于加密又用于解密。
在步骤S404中,按明文遍历方式遍历用于加密的序列二叉树,生成未加密的数据序列,以还原明文。
在本实施例中,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
在本实施例中,需要进行说明的是,本实施例中的明文遍历方式与实施例一中的明文遍历方式相同,该明文遍历方式既用于加密又用于解密。
在本实施例中,按明文遍历方式遍历用于加密的序列二叉树,提取出数据序列中的各个元素,生成未加密的数据序列,以还原明文。由于采用与实施例一中相同的明文遍历方式,还原数据序列中各元素的排列顺序,从而可生成未加密的数据序列,可以完成对明文的解密。
实施例三
图5示出了本发明实施例提供的一种利用二叉树遍历方式进行加密装置的结构框图,该装置可以运行于各种终端,包括但不限于移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、MP4、MP3等。为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该利用二叉树遍历方式进行加密装置,包括:
第一获取单元51,用于第一获取单元,获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
第二获取单元52,用于根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
第一装载单元53,用于根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
采用单元54,用于采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
加密单元55,用于根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密。
进一步地,在该利用二叉树遍历方式进行加密装置中,所述第二获取单元还用于随机获取一棵具有N个节点的序列二叉树作为密钥。
进一步地,在该数据加密装置中,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
图6示出了本发明实施例提供的一种利用二叉树遍历方式进行解密装置的结构框图,该装置可以运行于各种终端,包括但不限于移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、MP4、MP3等。为了便于说明,仅示出了与本实施例相关的部分。
参照图6,该利用二叉树遍历方式进行解密装置,包括:
第三获取单元61,用于获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
第四获取单元62,用于获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
第二装载单元63,用于根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
还原单元64,用于采用根据预设的明文遍历方式,遍历所述序列二叉树,生成未加密的数据序列,以还原明文。
具体地,在该利用二叉树遍历方式进行解密装置中,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
在本发明实施例中,采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;根据所述密文遍历方式遍历所述用于加密的序列二叉树,生成加密数据序列,以完成明文的加密,以简化了加密过程繁琐,增强了安全性,提高了数据的加密效率。
本发明实施例提供的装置可以应用在前述对应的方法实施例一、二中,详情参见上述实施例一、二的描述,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种利用二叉树遍历方式进行加密方法,其特征在于,包括:
获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密;
其中,预先在遍历方式中,选取一个遍历方式作为预设的明文遍历方式。
2.如权利要求1所述的方法,其特征在于,所述获取一棵具有N个节点的序列二叉树作为密钥,包括:
随机获取一棵具有N个节点的序列二叉树作为密钥。
3.如权利要求1所述的方法,其特征在于,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
4.一种利用二叉树遍历方式进行解密的方法,其特征在于,包括:
获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
根据预设的明文遍历方式,遍历所述序列二叉树,生成未加密的数据序列,以还原明文;
其中,预先在遍历方式中,选取一个遍历方式作为预设的明文遍历方式;
采用与所述明文遍历方式不同的遍历方式作为密文遍历方式。
5.如权利要求4所述的方法,其特征在于,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
6.一种利用二叉树遍历方式进行加密装置,其特征在于,包括:
第一获取单元,获取明文的数据序列以及数据序列中的N个元素,所述N为大于等于1的整数;
第二获取单元,用于根据所述数据序列中元素的个数N,获取一棵具有N个节点的序列二叉树作为密钥;
第一装载单元,用于根据预设的明文遍历方式,将所述数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
采用单元,用于采用与所述明文遍历方式不同的遍历方式作为密文遍历方式;
加密单元,用于根据所述密文遍历方式遍历所述序列二叉树,生成加密数据序列,以完成明文的加密;
其中,预先在遍历方式中,选取一个遍历方式作为预设的明文遍历方式。
7.如权利要求6所述的装置,其特征在于,所述第二获取单元还用于随机获取一棵具有N个节点的序列二叉树作为密钥。
8.如权利要求6所述的装置,其特征在于,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
9.一种利用二叉树遍历方式进行解密装置,其特征在于,包括:
第三获取单元,用于获取加密数据序列以及所述加密数据序列中的N个元素,所述N为大于等于1的整数;
第四获取单元,用于获取密钥,所述密钥为一棵具有N个节点的序列二叉树;
第二装载单元,用于根据密文遍历方式,将所述加密数据序列中的N个元素分别装载至所述序列二叉树的N个节点中;
还原单元,用于采用根据预设的明文遍历方式,遍历所述序列二叉树,生成未加密的数据序列,以还原明文;
其中,预先在遍历方式中,选取一个遍历方式作为预设的明文遍历方式;
采用与所述明文遍历方式不同的遍历方式作为密文遍历方式。
10.如权利要求9所述的装置,其特征在于,所述明文遍历方式\密文遍历方式,包括先访问根结点,再遍历左子树,最后遍历右子树的遍历方式、先遍历左子树,再访问根结点,最后遍历右子树的遍历方式、先遍历左子树,再遍历右子树,最后访问根结点的遍历方式、先访问根结点,再遍历右子树,最后遍历左子树的遍历方式、先遍历右子树,再访问根结点,最后遍历左子树的遍历方式、先遍历右子树,再遍历左子树,最后访问根结点的遍历方式中的至少一种遍历方式。
CN201310329129.2A 2013-07-31 2013-07-31 一种利用二叉树遍历方式进行加密、解密方法及装置 Active CN103414552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310329129.2A CN103414552B (zh) 2013-07-31 2013-07-31 一种利用二叉树遍历方式进行加密、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310329129.2A CN103414552B (zh) 2013-07-31 2013-07-31 一种利用二叉树遍历方式进行加密、解密方法及装置

Publications (2)

Publication Number Publication Date
CN103414552A CN103414552A (zh) 2013-11-27
CN103414552B true CN103414552B (zh) 2016-09-28

Family

ID=49607538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310329129.2A Active CN103414552B (zh) 2013-07-31 2013-07-31 一种利用二叉树遍历方式进行加密、解密方法及装置

Country Status (1)

Country Link
CN (1) CN103414552B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800558B2 (en) * 2015-10-01 2017-10-24 Sap Se Frequency-hiding order-preserving encryption
CN107786326A (zh) * 2016-08-25 2018-03-09 大连楼兰科技股份有限公司 应用在车联网动态密码校验中的共享方法
CN107786338B (zh) * 2016-08-25 2021-04-27 大连楼兰科技股份有限公司 动态密码校验中的共享平台
CN108075879B (zh) * 2016-11-10 2021-03-09 中国移动通信集团安徽有限公司 一种数据加密和解密的方法、装置及系统
CN107527621A (zh) * 2017-08-29 2017-12-29 中国民航大学 动态码本基于完全二叉树分组的语音信息隐藏算法
CN109787755B (zh) * 2018-12-14 2021-11-12 魏勇 一种密钥生成方法、密钥生成装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582760A (zh) * 2008-05-16 2009-11-18 中国科学院研究生院 一种基于树结构的密钥加密存储方法
CN102843372A (zh) * 2012-08-28 2012-12-26 西安交通大学 一种基于随机区间划分的保序加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582760A (zh) * 2008-05-16 2009-11-18 中国科学院研究生院 一种基于树结构的密钥加密存储方法
CN102843372A (zh) * 2012-08-28 2012-12-26 西安交通大学 一种基于随机区间划分的保序加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于关系数据库表树的数据结构研究;魏勇;《深圳信息职业技术学院学报》;20060930;第4卷(第3期);第6页-第9页 *
数据结构的实例教学——二叉树在信息加密中的应用;张晓玲等;《电脑知识与技术》;20070708;第295页-第296页 *

Also Published As

Publication number Publication date
CN103414552A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
CN103414552B (zh) 一种利用二叉树遍历方式进行加密、解密方法及装置
Abood et al. Investigation of cryptography algorithms used for security and privacy protection in smart grid
CN101447870A (zh) 一种基于分布式口令技术的私钥安全存储方法
CN107257279A (zh) 一种明文数据加密方法及设备
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
Ariffi et al. SMS encryption using 3D-AES block cipher on android message application
Chaitra et al. A survey on various lightweight cryptographic algorithms on FPGA
Joshy et al. Text to image encryption technique using RGB substitution and AES
CN110784304A (zh) 一种通过fpga实现国密算法的方法
Yang [Retracted] Application of Hybrid Encryption Algorithm in Hardware Encryption Interface Card
Jasim et al. Analysis the Structures of Some Symmetric Cipher Algorithms Suitable for the Security of IoT Devices
CN107493287A (zh) 工控网络数据安全系统
Wang et al. Research and Implementation of Hybrid Encryption System Based on SM2 and SM4 Algorithm
Kasiran et al. Time performance analysis of advanced encryption standard and data encryption standard in data security transaction
Sehrawat et al. Ultra BRIGHT: a tiny and fast ultra lightweight block cipher for IoT
Kumar et al. Multiple Encryption using ECC and its Time Complexity Analysis‖
CN108134799A (zh) 新型加解密方法及其装置
CN103634313A (zh) 一种通讯录的处理方法、装置及移动终端
Asare et al. Using RC4 and whirlpool for the encryption and validation of data in IoT
Mahajan et al. Hybrid Methods for Increasing Security of IoT and Cloud Data
Sharma et al. Cryptanalysis of image encryption algorithms based on pixels shuffling and bits shuffling
Qin et al. On the cryptanalysis of two cryptographic algorithms that utilize chaotic neural networks
Selvakumar et al. Fundamental circuits and cut-sets used in cryptography
Krishna et al. Comparison of Encryption Techniques In Internet Of Things
Kao et al. Comment on: supervisory asymmetric deterministic secure quantum communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant