76
安全技术
一、哈夫曼树的基本概念
在数据结构中,哈夫曼(Huffman)树是一种带权路径长度(WPL)最小的二叉树,也称最优二叉树。通过构造哈夫曼树,可以获得很多在信息处理技术中的应用成果并且常常是最优解决方案。比如:依据哈夫曼树所形成的数据信息分类的判定树,可以优化处理程序的结构,对所采集数据信息进行高效地处理;通过哈夫曼编码可以使通信内容的编码总长度最短,从而达到占用通讯资源最小化的目的等等。本文主要从哈夫曼编码在信息安全方面的应用提出了一些思考。
二、哈夫曼编码的基本过程
在通信领域,通信内容的数字化编码是一项很重要的技术,如何使得编码既要准确表达通信内容又要使得所生成的编码总长
度最短,一直以来始终是人们所最求的目标之一。通过哈夫曼编码是有效解决此类问题的方案之一。
哈夫曼编码的过程分为以下几步:1、 统计所传输文本中各种字符或单词出现的频率;2、 以所统计的频
率为权值构造哈夫曼树;3、 依据所构造的哈夫曼树对每种字符(单词)进行编码,编码的规则是:从哈夫曼树的根结点出发搜索每一个叶子结点(对应一种字符或单词),在搜索路径上“逢左编为0,逢右编为1”。
下面举例说明。例:待传输的文本中所出现的各种单词的使用频率统计如表1所示。
表1  文本中各种字符或单词频率统计
哈夫曼编码在信息安全方面的应用思考
◆熊卫民
单词the of be are his for on at Is he that in and to a 频率
1192
677
123
124
138
157
174
181
190
195
242
哈夫曼编码树的带权路径长度
450
462
518
541
然后以所统计的频率为权值,构造哈夫曼树(过程略)。最后进行编码,具体如下表2所示.
表2  哈夫曼编码
单词哈夫曼编码码长(位)单词哈夫曼编码码长(位)the 012is 110005of 1013he 110015be 1111106that 111105are 1111116in 11014his 100005and 11104for 100015to 0003on 100105a
001
3
at
10011
5
这样,把文本中的实际内容按照表2所对应的编码进行译码、传输,而解码(即表2中的编码)另行发送,完成传输过程。由于每一段文本所对应的编码是唯一的,且文本编码与解码分别传输,所以,即使获得了文本编码,也无法破解文本内容;如果单是获得解码,也是没有任何作用的,从而有效地保障了文本信息传输的安全性。
三、哈夫曼编码在信息安全方面应用的几点思考
1、哈夫曼编码是一种不等长的编码方式,为了区分每个字
符的编码,就需要在将文本译为传输数码时,只需要在每一个字符或单词之间另行加入特定的间隔符号。或者,在每个字符或单词的译码前加上哈夫曼编码前缀,这样才能准确的传输文本信息,不会产生二义性。
2、据研究来看,哈夫曼编码目前仍是一种总码长最短的编码方式之一,且方法简单,容易实现。假设一段待传输的文本中共有n 种不同的字符或单词,每种字符或单词在文本中出现的频度为wi,且该种字符或单词的哈夫曼编码长度为mi。则文本译码后的总长度是
若文本中总的字符或单词个数为S,则平均编码长度
=,可以看出,当平均编码长度最短时,文本的总编
码长度也最短,进而提高传输效率。
3、利用哈夫曼编码还可以解决数据压缩的问题。数据信息在存储时要占用一定的存储空间,如果在存储时先按照哈夫曼编码对数据信息进行译码处理,由于哈夫曼编码是最短的编码方式之一,所以,存储哈夫曼编码也是占用存储空间最少的方法,从而达到压缩数据信息存储空间的目的。
参考文献
[1]李强,刘晓英  数据结构,北京:北师范大学出版社,2014
[2]陈承欢  数据结构分析与应用实用教程,北京:清华大学出版社,2015
[3]李学刚等 数据结构(C 语言描述),北京:高等教育出版社,2013作者简介:
熊卫民,男,(1961.6-),汉族,河北张家口,本科,副教授,研究方向:计算机应用技术。
(无锡商业职业技术学院  江苏无锡  214153)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。