当前位置:首页 >资讯 >简述网络安全中的DES加密算法




随着科学技术的快速发展,计算机已经渗透到社会生活的各个方面。各种信息系统的建立和使用导致了我们对计算机的实际依赖,特别是数据库和网络。由于数据库中存储的数据是有价值的信息,非法访问这些信息。盗窃、篡改等行为不可避免地会导致计算机安全问题。目前,确保数据安全的方法很多,其中加密方法就是其中之一。

在网络通信中,加密是组织传输中窃取数据的最佳方式。同时,数据的加密和脱密也可以及时发现数据的篡改。加密仍然是防止假冒和抵制的主要方法。

加密算法通常分为两类。如果密码系统的加密钥等于解密钥,或者其中一个很容易推出另一个,它将成为传统的密码系统。否则,它将被称为非对称密码系统。

DES使用一个56位的密钥和一个附加的8位奇偶验证位,产生最大64位的分组大小。这是一个迭代的分组密码,使用称为Feistel的技术,将加密的文本块分成两半。使用子密钥将循环功能应用于其中一半,然后将输出与另一半不同或;然后交换这两半。这个过程将继续,但最后一个循环不会交换。DES使用16个循环。

DES的常见变体是一种使用168位密钥对数据进行三次加密的三重DES机制,通常提供极其强大的安全性。如果三个56位的子元素相同,则三重DES将与DES兼容。由于DES是64位明(密)加密(解)密,即8个字节(8*8=64),因此可以初步判断为分组加密。在加密过程中,将有16个循环和密钥更换过程。因此,可以判断可能使用DES密码算法。更准确的判断还必须了解DES的加密过程。

RSA加密算法是一种非对称加密算法。依赖的数学问题是大素数乘积的分解。

1.生成公钥和私钥

假设A想通过不可靠的媒体接收B的私人信息。她可以用以下方法生成一个公钥和一个密钥:



其中,e是公钥,d是私钥,d是秘密,n是众所周知的。A把她的公钥传给B,把她的私钥藏起来。

2.加密信息

假设B想给A发一条消息m,他知道A产生的N和e。他首先用与A约定的格式将m转换为小于n的整数n。例如,他可以将每个单词转换为单词的Unicode代码,然后将这些单词连接在一起形成一个数字。如果他的信息很长,他可以将信息分为几段,然后将每段转换为n。他可以用以下公式加密n:

c:n^e\equivc(\mathrm{mod}\N)

计算c并不复杂,B计算c后可将其传递给A。

3.解密信息

A得到B的消息c后,可以用她的密钥d解码。c可以用以下公式转换为n:

(\mathrm{mod}\N)

获得n后,可重新恢复原始信息m,解码原理如下:

(\mathrm{mod}\N)

4.签名信息

RSA也可以用来签新闻签名。如果阿红想给阿绿发一条签名信息,她可以为她的消息计算一个散列值,然后用她的密钥加密散列值,并在消息后面添加签名。这个消息只能用她的公钥解密。阿绿得到这个消息后,可以用阿黄的公钥解密这个散列值,然后将这个数据与他自己为这个消息计算的散列值进行比较。如果两者一致,他可以知道发信人持有阿黄的密钥,消息在传播路径上没有被篡改。

5.安全

假设偷听者阿紫得到了阿红的公钥n和e和阿绿的加密信息c,但她不能直接得到阿黄的密钥d。得到d的最简单方法是从c计算n,然后将n分解为p和q,这样她就可以计算(p-1)(q-1),从而从e计算d。到目前为止,还没有人找到多项式时间计算方法来分解大整数因子。