混合加密算法之Huffman和S―DES_安企神电脑终端安全管理监控软件
安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能对比
下载中心
购买咨询
客户列表
关于安企神

混合加密算法之Huffman和S―DES

更新时间:2022-10-28 15:46:12


本文简介:在对比现有的加密软件和古典密码学常见的加密算法后,我们结合文本加密的现状及发展趋势,将基于动态Huffman编码和S-DES算法相结合,弥补两者的缺点,达到对文本信息的最佳加密及解密效果。一、Huffman和S-DES混合加密算法与现有及传统加密算法的比较文本加密技术是保障信息安全最基本、最核心的技术措施,主要通过对数据的加密和数字签名来实现。其中对数据的加密处理主要是为了防止数据不会被窃听。数据

混合加密算法之Huffman和S―DES

在对比现有的加密软件和古典密码学常见的加密算法后,我们结合文本加密的现状及发展趋势,将基于动态Huffman编码和S-DES算法相结合,弥补两者的缺点,达到对文本信息的最佳加密及解密效果。

一、Huffman和S-DES混合加密算法与现有及传统加密算法的比较

文本加密技术是保障信息安全最基本、最核心的技术措施,主要通过对数据的加密和数字签名来实现。其中对数据的加密处理主要是为了防止数据不会被窃听。数据的加密方式有两种,一种是传统的对称密钥加密,就是加密方用一把密钥对数据进行加密,而解密方用同样一把密钥对数据进行解密。第二种是非对称密钥加密,如果使用这种算法,可以保证对发送方和接收方身份的确认。而数字签名实际上是由生成摘要和生成数字签名两部分构成。其中摘要可以防止文件被篡改,保证信息的完整性;而数字签名则是为了保障在商务活动中数据的不可否认性,从而使数据具有法律意义。

目前在文档安全管理市场上,加密可分为:文档格式转换加解密、核心层加解密、应用层加解密。常见的加密软件有:1)记事本加密器Ncrypt TX,它预设了多种加密算法,包括DES、3DES、Rijndael、Polyalphabetic、ROT13、Vigenrre、Playfair等。当然不同的加密算法支持不同的数据编码格式,如Hex、Base64、Text、Word等。在工具栏中也可以相应地设置所需的密码。2)超级密码本Super Code有两个特色:第一是多重加密功能;第二是密码自动生成,通过创建密钥文件,摆脱记忆密码的烦恼。Super Code内置了TripleDES、DES、Rijndael、RC2等加密算法。Super Code的特点是允许你以上述加密算法为依据,自由组合,创建自己独有的加密算法序列,例如可以选择两种TripleDES算法,一种DES算法,三种RC2算法,五种Rijndael算法,而且可以灵活排列其先后顺序。

对称密钥密码系统,历史悠久,加/解密速度快是其优点,但因加密密钥与解密密钥为同一把密钥,信息的传送方如何在加密之后,将密钥以安全的方式传送给接收方,如何使双方能共享该密钥,是此密码系统的一大问题,因此,对称密钥密码系统不适合多人使用的应用。

非对称式加密就是加密和解密使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们必须配对使用,否则不能打开加密文件。“公钥”是指可以对外公布的“私钥”则只能由持有人知道。它的优越性在于,对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别人窃听到,而非对称式加密方法有两个密钥,“公钥”可以公开,收件人解密时只要用自己的私钥即可,这样就很好地避免了密钥的传输安全性问题。

非对称式密码系统也称为“公开密钥密码系统”,它弥补了对称密钥密码系统的缺点,但运算速度较慢是公开密钥密码系统的缺点。

DES算法运算速度较慢,但在此基础上改进的S-DES算法,是一个对称分组加密的简化模型,有利于研究和实现,再结合Huffman编码对文本信息进行压缩编码,即Huffman编码和S-DES算法相结合的混和加密算法就应运而生了。

二、Huffman和S-DES加密算法原理分析

1、Huffman编码原理分析

哈夫曼编码是一种变长编码,是哈夫曼树的一个应用。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。

哈夫曼编码根据字符出现的概率来构造平均长度最短的编码。在编码中,若各码字长度严格按照码字所对应符号出现概率的大小的逆序排序,则编码的平均长度是最小的。其中,码字是明文字符,是通过哈夫曼编码后得到的编码,其长度由明文中字符出现的概率决定,出现概率大的编码长度短,出现概率小的编码长度长。哈夫曼编码对需要编码的数据进行两遍扫描:第一遍统计原数据中各字符出现的频率,利用得到的频率值创建哈夫曼树,并把树的信息保存起来,以便解压时创建同样的哈夫曼树进行解压;第二遍则根据第一遍扫描得到的哈夫曼树进行编码,并把编码后得到的码字存储起来。

哈夫曼编码的缺点:一、对于过短的文件进行编码的意义不大,因为存储哈夫曼树的信息就需要较大的存储空间;二、存储编码信息时,编码速度慢,效率低下。

2、S-DES算法分析

S-DES加密算法是以8位明文和10位密钥作为输出。其解密算法用同一密钥对8位密文分组产生原来的明文分组,如图1所示,它描述了S-DES的算法流程。

解密算法的数学表示:明文=IP-I (fkl (SW (fk2 (IP(密文)))))

S-DES加密算法涉及五个函数

1)初始置换IP (initial permutation),IP=<d:\2013年学术和海外\飞翔导入图片目录17\郑静Huffman和S-DES混合加密算法的研究14Yo-FBOO\image2. png>,将8bit数按照IP函数进行移位;

2)复杂函数fkl,它是依赖于子密钥,包含置换和替换的运算;

3)置换函数sw,将8bit数的左4bit和右4bit交换位置;

4)复杂函数fk2,它是依赖于子密钥K2,包含置换和替换的运算;

5)初始置换IP的逆置换IP-I,IP-I=<d:\2013年学术和海外\飞翔导入图片目录17\郑静Huffman和S-DES混合加密算法的研究14Yo-FBOO\image3. png>,将8bit数按照IP-I函数进行移位。

三、Huffman和S-DES算法混合加/解密过程

1、混合加密过程

用数据流方式读入将要加密的文本文件信息,输入密钥并保存,经过一次哈夫曼编码加密后转化为0/1字符串,在进行第二次加密之前要将0/1字符串分组,每8位一组,将其作为第二次加密S-DES算法的明文输入,经过S-DES算法得到最终的密文,将其保存到另一个TXT文本文件中。混合算法的加密过程如图2所示。

2、混合解密过程

解密过程首先要进行身份认证,输入密钥,身份认证成功后将进行解密,否则将不会解密。首先将最终的密文进行分组,每8位一组,经过S-DES算法进行第一次解密,得到O/1字符串,将其作为Huffman算法的编码进行第二次解密,即可得到最终的明文。其混合算法的解密过程如图3所示。

四、Huffman和S-DES混合算法的实现

1、Huffman编码的实现

Huffman算法主要涉及到5个核心函数,分别为获取权值数组GetWeightArray,构建哈夫曼树Creat eHuffmanTree、创建哈夫曼编码字典CreateHuffmanDict、哈夫曼编码StringToHuffmanCode以及哈夫曼编码的解码ToHuffmanCode。

1)获取权值数组GetWeightArray(string str)

将文本信息中的每种字符出现的次数进行统计,并将其作为哈夫曼树的权值。

2)构建哈夫曼树CreateHuffmanTree (Node[] sources)

按“左走0,右走1”的原则创建哈夫曼树。

3)创建哈夫曼编码字典CreateHuffmanDict (Node hTree)

创建哈夫曼编码字典,在数组中实现“左走0,右走1”。

4)哈夫曼编码StringToHuffmanCode (out Dictionary<char, string> key, stringstr)

由创建的哈夫曼树,得到哈夫曼编码。

5)哈夫曼编码的解码ToHuffmanCode(string source, Dictionary<char, string>hfdict)

将哈夫曼编码还原成哈且血L 0每个字符出现的次数,将其还原成原文本信息。

2、S-DES算法的实现

S-DES算法中涉及的核心算法为P10置换;P8置换;IP函数;FK函数;sw函数;IP-I函数。

1) P10置换 pl0(( string miyao)

numbers = miyao. ToCharArray ();

miyao = “.. ;

miyao = miyao + numbers[2] + numbers [4] + numbers[l] + numbers [6] ++ numbers [9] + numbers[0] + numbers [8] + numbers [7] + numbers [5];

2) P8置换p8 (string lsl, string ls2)

miyao = miyao + numbersl[2] + numbersl[3] + numbersl[4] + ls2

miyao = miyao + numbers[3] + numbers[0] + numbers [4] + numbers[l] +numbers [3]numbers [5]+ numbers [2] + numbers[7] + numbers [6] ;

3) IP函数 IP (string mingwen)

mingwen = mingwen + numbers [1] + numbers [5] + numbers [2] + numbers [0] + numbers [3]+ numbers [7] + numbers [4] + numbers [6] ;

4) FK函数 fk (string mingwen, tringkey)

int[, ]s0=new int[, ]({1, 0, 3, 2), {3, 2, 1, 0), {0, 2, 1, 3), {3, 1, 3, 2) };

int[, ]s1=new int[, ]({0, 1, 2, 3), {2, 0, 1, 3), {3, O, 1,O), {2, 1, 0, 3)};

varstr = Convert. ToString(Convert. ToInt32(lstr, 2) - Convert. ToInt32(varstr,2), 2) + rstr;

while (varstr. Length < 8) varstr = '0' + varstr;

5) SW函数 sw (string mingwen)

mingwen = mingwen + numbers [4] + numbers [5] + numbers [6] + numbers [7] + numbers [0]+ numbers [1] + numbers [2] + numbers [3] ;

6) IP-I函数NIP (string mingwen)

mingwen = mingwen + numbers [3] + numbers [0] + numbers [2] + numbers [4] + numbers [6]+ numbers [1] + numbers [7] + numbers [5] ;

小知识之Huffman

哈夫曼编码(Huffman Coding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。

立即下载试用

如何加密电脑文档,电脑加密软件哪个最好用

如何加密电脑文档,电脑加密软件哪个最好用

不久前,一家知名科技公司的核心研发文件被非法泄露,给公司造成了巨大的经济损失。据调查发现,这是由一名离职员工在离职前通过非法手段获取文件,并将其出售给外部人员所致。这起事件不仅给公司带来巨大的经济损失,更暴露了公司在内部文件保护方面的漏洞。那么、企业在文件保护方面应该怎么做呢?

如何加密电脑文档,电脑加密软件哪个最好用

一、解决方案:

在如今信息高度流通、竞争激烈的商业环境中,保护企业核心数据的重要性不言而喻。我们可以使用专业数据数据加密软件对企业数据进行加密保护,通过加密软件,企业可以对重要的文件和数据进行加密,确保只有授权的人员可以访问和使用这些信息。这样可以有效减少泄露风险,保护企业核心数据的安全。

如何加密电脑文档,电脑加密软件哪个最好用

二、电脑加密软件哪个最好用?

安企神软件以其高效的加密功能和简洁的操作界面受到用户的喜爱。它支持多种加密算法,并提供了灵活的加密设置选项,能够满足不同用户的需求。

安企神软件作为一款国内知名的电脑加密软件,该具有强大的文件加密功能,可以对文件夹、文件进行全盘加密,有效防止数据泄露。

软件采用了先进的透明加密模式,日常使用无感知,但当被非法外发到企业外部电脑后,会自动变成乱码无法使用状态。

如何加密电脑文档,电脑加密软件哪个最好用

三、软件是如何加密电脑文档的

安企神软件通过以下方式加密电脑文档,从而保障数据的安全性:

1、透明无感知加密: 软件采用透明无感知加密技术,即在打开或编辑指定文件时,系统会自动对未加密的文件进行加密,对已加密的文件自动解密。用户在操作过程中无需额外操作,加密过程对用户是透明的,不会改变用户的正常工作习惯和文件使用方式。

2、精细的权限管理: 管理员可以为不同用户或用户组设置不同的文件访问权限,确保只有授权人员能够访问和使用加密文件。这有助于防止未经授权的访问和数据泄露。

3、批量加密与一键操作: 一旦加密策略配置完成,管理员可以通过安企神软件的管理端一键触发批量加密操作。软件将自动扫描企业局域网中所有电脑上的文件,并按照预设的策略进行加密。这大大提高了加密操作的效率和便捷性。

如何加密电脑文档,电脑加密软件哪个最好用

4、审计与追踪功能: 安企神软件能够实时记录文件的加密操作、访问历史以及修改、删除等操作,为管理员提供全面的审计和追踪功能。这有助于管理员及时发现异常行为并采取相应措施,确保数据的安全性。

5、防拷贝与防截图功能: 为防止文件内容被非法复制或截图,安企神软件提供防拷贝和防截图功能。这确保了即使文件被非法获取,其内容也不会被轻易泄露。

6、自动备份与恢复: 软件支持定期备份加密文件,以防数据丢失或损坏。同时,它也提供快速恢复功能,确保在紧急情况下能够迅速恢复文件,减少因数据丢失带来的损失。

如何加密电脑文档,电脑加密软件哪个最好用

四、总结

总的来说,加密电脑文档是保护数据安全的重要措施之一,安企神软件通过其强大的加密功能和丰富的安全管理特性,为用户提供了一个全面、高效的电脑文档加密解决方案。这有助于保护用户的数据安全,防止未经授权的访问和数据泄露。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。/cjwt/16459.html

~article_body_code~