法律状态公告日
法律状态信息
法律状态
2017-09-05
著录事项变更 IPC(主分类):H04L9/32 变更前: 变更后: 申请日:20130409
著录事项变更
2017-08-22
专利权的转移 IPC(主分类):H04L9/32 登记生效日:20170803 变更前: 变更后: 申请日:20130409
专利申请权、专利权的转移
2016-09-28
授权
授权
2013-07-24
实质审查的生效 IPC(主分类):H04L9/32 申请日:20130409
实质审查的生效
2013-06-26
公开
公开
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种基于哈夫曼压缩 的数据传输门限方案的加密方法。
背景技术
哈夫曼编码是以D.A.Huffman在1952年发表的《最小冗余代码的构造 方法》为基本理论依据的编码,是一种基于概率模型的无损压缩编码。其基 本原理是频繁使用的数据用较短的代码代替,很少使用的数据用较长的代 码代替,每个数据的代码各不相同,保证了对编码译码时的唯一性。。
哈夫曼编码的一般算法如下:
(1)首先统计信源中各个符号出现的概率,按符号出现的概率从人到 小排序;
(2)取两个概率最小的符号赋以1和0(大概率赋1,小概率赋0,或 相反),将这两个概率相加合并成新的概率,然后与剩余的概率组成新的概 率集合;
(3)对新的概率集合重新排序,重复步骤(2),直到最后两个概率之和 为;
(4)从下到上构造一棵编码树,由树的结构可得到信源符号相应的码 字。
由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速 度都较慢,但简单有效,因而得到广泛的应用。Huffman编码作为一种通 用、高效的数据编码方法在文本、图像、音频、网络加速等方面有着广泛 的应用,但难以保证数据的安全性传输。
门限方案(t,n)是一种密码学方案,一个数据项分成n个部分,n中的 任何t项足以确定原始数据项。
大部分加密算法经过对明文数据的加密处理后,密文的长度和存储空 间要远大于明文,存在严重的数据膨胀问题。
因此,对于现有技术所存在的问题,迫切需要本领域技术人员解决的技 术问题是提供一种简洁、高效、安全的数据传输措施,已解决现有技术存在 的问题。
发明内容
本发明所要解决的技术问题是提供一种基于哈夫曼压缩的数据传输门 限方案的加密方法,有效增强数据传输的安全性。
为了解决上述问题,本发明公开了一种基于哈夫曼压缩的数据传输门 限方案的加密方法,包括:
用户通过客户端将明文数据发送至服务器端;
哈夫曼压缩算法根据明文中字符出现的概率进行编码,从而构建哈夫曼 树;
将哈夫曼树的每个字节作为共享的密钥s,门限方案为(t,n),计算 得到n个影子,客户端将其中的m份影子发送到可信第三方CA;
客户端将其t-m份影子和密文通过网络发送给服务器端;
服务器端根据在收到t-m影子和密文之后,向可信第三方CA发起获取 m份数据项影子的请求;
可信第三方CA通过对服务器端的身份认证后,对服务器端的请求进行 响应,发送m份数据项影子给服务器端;
服务器端根据门限方案,利用插值多项式恢复出哈夫曼树;
服务器端根据哈夫曼树和密文,利用哈夫曼进行解压缩,得到明文。
进一步地,所述方法在构建哈夫曼树时还包括:
对哈夫曼树进行填充,具体:定义每两个字节代表huffman树中一个节 点,前一字节为节点标识,后一字节为节点类型。
进一步地,所述节点类型包括中间节点、叶子节点和文本结束符。
进一步地,所述叶子节点的标识即为其ASCII值。
进一步地,所述插值多项式为基于拉格朗日插值多项式。
进一步地,所述哈夫曼树的遍历规则为先父节点,后左右子节点,再左 树的左右节点,最后是右树的左右子节点。
进一步地,所述编码的规则为左1右0。
进一步地,所述文本结束符在同一附件里只出现一次。
综上,本方案应用于明文数据传输接收中,可以利用其简洁高效的编 码解码效率,大大降低了密文的长度及存储空间,增强信道的传输速率, 从而减少数据的传输延迟;同时,利用门限方案和可信第三方增加了传输数 据的安全性。
附图说明
图1是本发明的本发明的一种基于哈夫曼压缩的数据传输门限方案的 加密方法的流程示意图;
图2是本发明具体实施方式中所构建的哈夫曼树的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附 图与实例对本发明作进一步详细说明。但所举实例不作为对本发明的限 定。
参见图1所示,本发明的一种基于哈夫曼压缩的数据传输门限方案的 加密方法的流程示意图,具体包括以下主要步骤:
步骤S101,用户通过客户端将明文数据发送至服务器端;
步骤S102,哈夫曼压缩算法根据明文中字符出现的概率进行编码,从 而构建哈夫曼树;
步骤S103,将哈夫曼树的每个字节作为共享的密钥s,门限方案为(t, n),计算得到n个影子,客户端将其中的m份影子发送到可信第三方CA;
步骤S104,客户端将其t-m份影子和密文通过网络发送给服务器端;
步骤S105,服务器端根据在收到t-m影子和密文之后,向可信第三方 CA发起获取m份数据项影子的请求;
步骤S106,可信第三方CA通过对服务器端的身份认证后,对服务器 端的请求进行响应,发送m份数据项影子给服务器端;
步骤S107,服务器端根据门限方案,利用插值多项式恢复出哈夫曼树;
步骤S108,服务器端根据哈夫曼树和密文,利用哈夫曼进行解压缩, 得到明文。
以下是,实际应用中的更为具体的工作流程:
1、在客户端,用户需要将明文数据发送到服务器端,
明文:aabbccddaabbccddaabbccddabcdabcaba
哈夫曼压缩算法根据明文中字符出现的概率,进行编码,构建哈夫曼 树,参见图2。Huffman树遍历规则:ff->fd->fe->c->NUL->d->b->a;即先父 节点,后左右子节点;接着左树的左右子节点,一直深度遍历下去;然后 才是右树的左右子节点,深度遍历下去,编码规则为左1右0。
得到编码规则a->00,b->01,c->10,d->110,NUL->111;NUL代表文 本结束符,由此得到密文:05ad816b605a d86c309c;
为在数据传输过程中正确表示哈夫曼树,对哈夫曼树进行填充,定 义:每两个字节代表huffman树中一个节点,前一字节为节点标识,后一字 节为节点类型。其中,节点类型共有三种数值,ff中间节点00叶子节 点,01为文本结束符(只出现1次,是为了在同一附件里区分空字符与文本 结束符,0000为空字符,0001为文本结束符)。中间节点ff的标识从ff 开始往下自动排序,叶子节点00的标识即为其ASCII值,例中a的ASCII 值为61,b的ASCII值为62,c的ASCII值为63,d的ASCII值为64。因 此哈夫曼树表示为ff ff fd ff fe ff 63 00 00 01 64 00 62 00 61 00。
2、得到哈夫曼树为:ff ff fd ff fe ff 63 00 00 01 64 00 62 00 61 00
密文为:05 ad 81 6b 60 5a d8 6c 30 9c
3、根据基于拉格朗日插值多项式的门限方案机密共享算法,
由t-1次拉格朗日插值多项式,令
P(x)=(at-1xt-1+at-2xt-2+...+a1x+a0)modp
其中,常量a0为共享的机密S,a0=S,P(0)=S。选择p>S,且p>n, 任意选择a1,a2,···,at-2,at-1,将P(1),P(2),...P(n)作为n个影子,形成门限方案 (t,n)。
将哈夫曼树的每个字节作为共享的密钥s,门限方案为(t,n),计算 得到n个影子,客户端将其中的m份影子发送到可信第三方CA。
4、客户端将其t-m份影子和密文通过网络发送给服务器端。
5、服务器端根据在收到t-m影子和密文之后,向可信第三方CA发起 获取m份数据项影子的请求。
6、可信第三方CA通过对服务器端的身份认证后,对服务器端的请求 进行响应,发送m份数据项影子给服务器端。
7、服务器端根据门限方案,利用插值多项式,
令kr=P(xr),
恢复出哈夫曼树。
8、服务器端根据哈夫曼树和密文,利用哈夫曼进行解压缩,得到明 文。
以上对本发明所提供的基于哈夫曼压缩的数据传输门限方案的加密方 法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式 进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核 心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本发明的限制。
机译: 快速多媒体哈夫曼解码方法和装置,以适应哈夫曼桌的多重性
机译: 哈夫曼解码装置和哈夫曼解码方法
机译: 哈夫曼树生成电路和哈夫曼表生成系统