数据加密

图

将数据编成密码的技术,是计算机通信或数据存储中对数据采取的一项安全措施。在数据存储或传输前加工成密码数据或密码文件称为加密。在使用这些数据和文件之前再将其还原成原来样子,称为解密。密码数据被第三者截获,探知其真实内容,称为破译。图中是密码数据传递过程。数据加密有三个目的:

(1)保证通信安全,使传输中的数据只有指定的接受者才能够了解其真意。

(2)接受者可以验证数据的真实性,防止别人伪造密码数据。

(3)电子签名,发送者用加密的方法建立一个签名,别人可以鉴定该签名的真实性,但没有办法伪造这个签名,这在电子资金汇兑系统中有重要的用途。

数据加密的方法通常是用一个通用的算法再加上一个密钥。算法可以是公开的知识,但密钥是保密的,或者至少有一部分是保密的。加密过程就是把该算法施行于要加密的数据,密钥作为控制参数控制加密过程。常用的加密方法有三种:移位法、代替法和代数法。移位法是将原来数据中的字符顺序重新排列。代替法是用替代字符取代信息中的字符,或用替代字符组来取代信息中的字符组。这两种方法简单,但不可靠,容易被破译。代数法是先把信息转换成等效的数字序列,然后用代数方法对数字序列施行变换,得到密码。例如把数字序列和密钥的二进制码作异或运算得到密码。解密过程也很容易,用同一密钥再作一次异或运算就可得到原文。美国最广泛使用的加密算法是美国标准数据加密算法,英文简称为DES。它由IBM公司设计,1976年美国国家标准局通过,成为美国国家标准。DES是对64位数据在56位密钥的控制下产生64位的密码数据,加密过程由16步迭代过程组成。

一般加密和解密都用同一密钥。1976年有人提出一种公开密钥系统,每个用户拥有两个密钥,一个用于加密,一个用于解密,不能用简单的计算从其中一个导出另一个。其中一个公开,另一个保密。双密钥的实现使得加密系统更加有效和灵活。