数据加密技术及其相关算法
发布网友
发布时间:2022-04-20 04:08
我来回答
共1个回答
热心网友
时间:2022-03-29 09:23
数据加密技术 所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。
数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。
专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。
对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而目前仍广泛被采用。
DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。
公开密钥,又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥,如RSA算法。
非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。
在这种编码过程中,一个密码用来加密消息,而另一个密码用来解密消息。在两个密钥中有一种关系,通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数(是另一个大数字的因数)。有一个密钥不足以翻译出消息,因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥,一个是公开的,另一个是保密的。公共密钥保存在公共区域,可在用户中传递,甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥,但是只有你一个人能有你的私钥。它的工作过程是:“你要我听你的吗?除非你用我的公钥加密该消息,我就可以听你的,因为我知道没有别人在偷听。只有我的私钥(其他人没有)才能解密该消息,所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥,因为它不能用来解密该消息。”
公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。
数字签名一般采用非对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子贸易等。
数字签名不同于手写签字:数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。
值得注意的是,能否切实有效地发挥加密机制的作用,关键的问题在于密钥的管理,包括密钥的生存、分发、安装、保管、使用以及作废全过程。