APP下载

网络加密浅析

2016-07-04吴玉东

电脑知识与技术 2016年15期

吴玉东

摘要:从现实背景出发,网络信息安全问题是信息社会所面临的巨大挑战,加密可以有效地保护通过开放网络传输的各种消息,用户在缺少特殊信息(密钥)的情况下,信息是不可理解的。介绍了密码体制的相关概念,密码体制的分类即单钥密码体制和公钥密码体制,著名的加密算法,以及对RSA算法的若干类攻击。利用java语言实现DES加密算法,输入需要加密的明文,给定DES加密的工作模式,即可得到相应的密文信息。

关键词:信息化社会;网络加密;DES算法;单钥密码体制

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)15-0056-02

1 引言

人类已进入信息化社会时代,信息技术的发展对经济社会发展造成了巨大的影响,伴随而来的是信息污染,信息犯罪等问题,人类社会正在遭受着来自信息网络的巨大挑战。信息安全难以保证,信息真假难以辨识,网络攻击的实例比比皆是。提高信息安全保障水平,internet的安全已收到普遍的重视。对信息进行加密可以防止攻击者窃取网络机密信息,可以使系统信息不被无关者识别,也可以检测出非法用户对数据的插入,删除,修改及滥用有效数据的各种行为,基于数据加密的数字签名和鉴别技术除具有保密功能外,还可以进行用户的身份验证和数据源以及内容的鉴别。加密在网络上的作用就是防止有价值的信息在网上被窃取并识别。

2 密码体制

密码体制分为共享密钥体制(对称密码体制)和公开密钥体制(非对称密码体制)。图1给出了加密体制的图示。在对称密码体制中,加密和解密采用同一密钥,而在非对称密码体制中,加密和解密采用两个不同的密钥。系统的保密性不依赖于对加密体质或算法的保密,而依赖于密钥,这是著名的Kerchoffs原则。

2.1 单钥密码体制

在单钥密码体制中,解密和加密使用的密钥相同,要求密钥能够安全地分配给通信双方,在巨大的网络环境中,每一对收发双方都要求具备完全相同的密钥,导致维护的密钥量会非常庞大,单钥体制中主要研究的问题是密钥分配,密钥管理。现在的一些应用密钥的产生由公证第三方KDC(密钥分配中心)完成,收发双发需要通信时向KDC申请密钥,kDC完成密钥生成后分发给通信双方。单钥体制不仅可用于数据加密也可用于消息认证。

2.1.1 分组密码

明文流经编码表示后的二进制序列分割成等长串,各串用相同的加密算法和相同的密钥进行加密。加密密钥和解密密钥相等,是固定长度为的比特串 图2所示。

分组密码实质上是字长为的数字序列的代换密码。代换的目的实现扩散和混淆。

实现代换的网络称作代换网络,双射条件保证在给定的下可从密文唯一地恢复出原明文。

在密码设计中,可选。其中和都为正整数。将设计个变量的代换网络化为设计个较小的子代换网络。而每个子代换网络只有个输入变量。每个子代换网络也就是代换盒(S盒)[2]。

2.1.2 DES算法

DES算法是比较典型的对称密码体制。虽然已经有替代的数据加密算法,但是它依然是迄今为止得到最广泛应用的一种算法。分组长度为64bit,密文分组也是64bit,密钥长度为64bit,有8bits奇偶校验,有效密钥长度为56bits。DES结构是典型的密码结构,64bit的明文通过DES加密算法生成64bit的明文。输入初始种子密钥为64bit,其中,第8,16,24,32,40,48,56,64为奇偶校验位。

算法主要包括:初始置换,16轮迭代的乘积变换(算法核心),逆初始置换以及16个子密钥产生器。

初始置换:将64bit明文的各位进行置换,得到一个乱序的64bit明文组,而后分成左右两段,每段为32bit,以和表示,中各列元素位置号数相差8,相当于将原明文各字节按列写出,各列比特经过偶采样和奇采样置换后,再对各行进行逆序。将阵中元素按行独处构成置换输出。主要是对64比特的明文M中各位进行换位,打乱明文中各位的排列次序。

64bit的明文经过初始置换后分成左,右两部分,记为和,各32bit,经过16轮迭代后再输出。每轮迭代的结构和加密结构一样,。式中是第轮的轮函数,每轮实现混乱和扩散的关键模块,表示两个比特串的异或,表示第轮的左右两部分;表示第轮的左右两半;是第轮的子密钥。将第轮的密钥分为和两部分,各28bit,循环左移后,经过置换选择,形成第i轮的子密钥(48bit)。

逆初始置换 将16轮迭代后给出的64bit组进行置换,得出输出的密文组。输出为阵中元素按行读得的结果。

和在密码意义上作用不大,它们的作用在于打乱原来输入的码字划分的关系,并将原来明文的校验位变为输出的一个字节[1]。2.1.3 DES算法实现

加密:Cipher cipher=Cipher.getInstance(CipherMode);

SecureRandom random=new SecureRandom();

cipher.init(Cipher.ENCRYPT_MODE,deskey,random);

byte[] results=cipher.doFinal(data.getBytes());

Return Base64.encodeBase64String(results);

加密后的结果通常用Base64编码进行传输。传入的加密模式为DES/ECB/PKC55Padding,运行结果见图3。

2.2 公钥密码体制

每个用户都有一对选定的密钥公钥,私钥,公钥公开,私钥保密。加密和解密能力分开,相比较单钥密码体制而言,通信双方不需要经安全渠道传递密钥,大大简化了密钥管理。

2.2.1公钥体制加密

以公开钥和密文要推出明文或解密钥是不可行的。

由于任一用户都可用用户的公开钥向他发送机密消息,因而密文不具有认证性

2.2.2公钥密码认证体制

用户以自己的私密钥对消息进行的专用变换,A计算密文送给用户B,B验证C。

安全性:由于是保密的,其他人都不可能伪造密文,可用的公开钥解密时得到有意义的消息。因此可以验证消息m来自A而不是其他人,而实现了对A所发消息的认证。

2.2.3公钥保密和认证体制

为了要同时实现保密性和确证性,要采用双重加解密。图4给出了公钥保密和认证体制。

2.2.4 RSA算法

RSA算法是目前使用最普遍的公钥密码算法,既可用于加密,又可用来数字签字,RSA算法的安全性基于数论中大整数因式分解的困难性。

算法描述(密钥产生):

2.2.5对RSA的攻击

1)共模攻击

每一用户有相同的模数n,设用户的公开密钥分别为,且互素,明文消息为,密文为

因为=1用欧几里德算法可求。假定为负数,从而得知由算法可计算

2)低指数攻击

网络中三用户的加密钥e均选3,而有不同的模,,互素,某用户将消息x传给三个用户的密文分别是[3] 。利用中国剩余定理可从求出由,可得,故有 。

3 结语

在实际应用中,单钥密码体制和公钥密码体制相辅相成,总是结合在一起使用。如今为了实现因特网的安全通信,各种各样的密码技术除了在应用层提供保护,还需要在低层提供保护。网络数据加密可以防止非授权用户的搭线窃听和入网,避免对数据进行的各种不合理操作。

参考文献:

[1] Wenbo Mao.现代密码学理论和实践[M].北京:电子工业出版社,2004.

[2] BehrouzA.Forouzan.密码学和网络安全[M].北京:清华大学出版社,2009.

[3] William Stallings.网络安全基础应用与标准[M].北京:清华大学出版社,2007.

[4] 刘浪,周新卫. 基于DES对称加密体制的探讨[J]. 科技广场, 2012(10).

[5] 王柯柯. 基于PKI的认证中心的研究与实践[D].重庆大学, 2004.

[6] 邹又姣. Rijndael算法的研究[D].西安理工大学,2002.

[7] 廖小平. 基于多重加密技术的一个三重加密方案[J].电子设计工程, 2013(2).