1. 加解密体系的一些基本概念:
明文:未被加密的信息
密文:被加密后的信息
加密:使用某种方法伪装消息以隐藏其内容的过程,把明文转变为密文
解密:把密文转变为明文的过程
加密算法:对明文进行加密操作时采取的一组规则
解密算法:对密文进行解密操作时采取的一组规则
加密密钥:加密过程中使用的密钥
解密密钥:解密过程中使用的密钥
公钥:也称为公开密钥,这个密钥是可以向其他用户公开的
私钥:也称为私有密钥,这个密钥是用户自己拥有的,不能公开
对称式加密:加密和解密使用同一把密钥
非对称式加密:加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必须配对使用,否则不能打开加密文件
数字签名:指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据
数字证书:一段包含用户身份信息,用户公钥信息以及身份验证机构数字签名的数据
2. 加解密原理
安全的网络信息必须满足三个最基本的特征:
ü 安全性
ü 完整性
ü 不可否认性
下面,我们通过对各种加密技术原理的分析来阐释这些特性
1) 对称加解密技术(单密钥加解密技术)
解密算法 Internet/Intranet 加密算法算法
对称加密技术
在对称加密方法中,对信息的加密和解密都使用相同的密钥,也就是说,一把钥匙开一把锁。使用对称加密方法将简化加密的处理,通信双方不必研究和交换专用的加密算法,而是采用相同的加密算法并只交换双方共享的专用密钥即可。但是,如果通信双方不能够确保在密钥交换过程中不被泄露或破译,安全性和报文的完整性就无法保证了;并且,用户要想与n人进行通信就必须保管好n个专用密钥;对称加密方式还存在一个问题就是无法鉴别通信的发起方和最终方。
数据加密标准(DES)由美国国家标准局提出,是目前广泛采用的对称加密方式之一,主要应用于银行业中的电子资金转帐(EFT)领域。DES的密钥长度为56位。三重DES是DES的一种变形。这种方法使用两个独立的56位密钥对交换的信息(如EDI数据)进行3次加密,从而使其有效密钥长度达到112位。RC2和RC4方法是RSA数据安全公司的对称加密专利算法。RC2和RC4不同于DES,它们采用可变密钥长度的算法。通过规定不同的密钥长度,RC2和RC4能够提高或降低安全的程度。一些电子邮件产品(如Lotus Notes和Apple的Opn Collaboration Environment)已采用了这些算法。
2) 非对称加解密技术(公钥加解密技术)
解密算法 Internet/Intranet 加密算法算法
非对称加密技术
在非对称加密体系中,米药被分为一对(即一把公开密钥和一把私有密钥)。这对密钥中的任何一把都可作为公开密钥向他人公开,而另一把则作为私有密钥加以保存。公钥是用于对文件的加密,而私钥是用于对文件的解密。
如图2:接受方生成一对密钥并将其中的一把作为公开密钥向其他人公开;得到该公开密钥的发送方使用接受方的这个公钥通过加密算法对文件进行加密,并将密文通过网络传送给接收方;接受方用自己生成的密钥对中的私钥(只有自己知道)通过解密算法对收到的密文进行解密,得到明文。
RSA(即Rivest, Shamir Adleman)算法是非对称加密领域内最为著名的算法,虽然,这种非对称加密技术很难被破解,保证了信息的安全性,但是它存在的主要问题是算法的运算速度较慢。因此,在实际的应用中通常不采用这一算法对信息量大的信息(如大的EDI交易)进行加密。
3) 加密技术中的摘要函数
摘要是一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有影响。摘要的生成是不可逆转的,无法通过摘要得到文件的原始信息。
总之,摘要可以保证网络通信中数据的完整性。我们将在介绍数据签名的地方做综合图例。
4) 数字签名
摘要算法从给定的文本块中产生一个数字签名(fingerprint或message digest),数字签名可以用于防止有人从一个签名上获取文本信息或改变文本信息内容和进行身份认证。
数字签名是公钥加密技术的另一类应用。它的主要方式是:报文的发送方从报文文本中生成一个128位的散列值,即报文摘要。发送方再用自己的私钥对这个摘要进行加密形成发送方的数字签名。这个数字签名将作为报文的附件,和报文一起发送给接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(摘要),然后,用发送方的公钥将附件中的数字签名进行解密。如果,两个摘要完全相同,则说明报文的信息是完整的,没有被篡改过的,而且,可以确认该报文是由发送方发来的。
通过数字签名能够实现对原始报文的鉴别和不可抵赖性。
下面是一个数字签名的图例:
原 始数 据摘 要加密算法密文原始数据加密算法签名摘要① 摘要②
上图就是一个对报文数据签名并且加密的综合实例。我在这里简单讲解一下:
发送方A将原始数据通过MD5摘要算法生成报文的摘要并将其用A自己的私钥进行加密作为一个数据签名,并把它作为附件与经过用B的公钥加密过的密文一同发送给接收方B;
接收方B,将收到的密文用B自己的私钥进行解密得到明文,并且将其也用MD5算法生成该明文的摘要(图中的摘要②);同时,B将收到的附件中的签名用A的公钥解密得到原始数据的摘要(图中的摘要①);
最后,将摘要①和摘要②进行对比,如果收到明文的摘要和发出的明文的摘要是完全相同的,就说明报文在网络通信中没有被篡改过,是完整的。并且,可以确信是由A方发过来的。
5) 生成随机数加密技术
这个加密方法是通过Rand()函数产生一个随机数,以它来作为一次性的对称密钥。发送方先将产生的随机数用接收方的公钥进行加密传送给接收方,接受方用自己的私钥进行解密,得到双方进行私密通信的对称密钥(专用密钥)。然后,双方在用对称加密的方法进行通信就可以了。
这种方法是对称加解密技术和非对称加解密技术的结合,既保证了密钥的再传过程中的安全性,又保证了大信息量报文的传输速度,一举双得了。并且,由于随机密钥是一次性的,即便该随机密钥在通信过程中被破解,也不会影响到双方通信的其它报文被盗去。
人没有牺牲的话就什么都得不到,为了得到什么东西,就必须付出同等的代价,这就是人的真理「等价交换」原则!我坚信那就是世界的真实!
发表评论: