对称加密(私钥)
私钥密码体制又称为对称密码体制,指广泛应用的普通密码体制,该体制的特点是加密和解密使用相同的密钥,如图1所示。私钥密码体制可看成保险柜,密钥就是保险柜的号码。持有号码的人能够打开保险柜,放入文件,然后再关闭它。获取到号码的其他人可以打开保险柜,取出文件,而没有号码的人就必须摸索保险柜的打开方法。当用户使用这种体制时,消息的发送者和接收者必须事先通过安全通道交换密钥,以保证发送消息或接收消息时能够有供使用的密钥。
由此可见,私钥密码体制的密钥分配和管理极为重要。为了保证加密消息的安全,密钥分配必须使用安全途径,例如由专门人员负责护送密钥给接收者。同时,消息发送方和接收方都需要安全保管密钥,防止非法用户读取。除了密钥的安全分配和管理外,私钥密码体制的另外一个问题是密钥量的管理,由于加密和解密使用同一个密钥,因此,在不同的接收者分别进行加密通信或信息交换时,则需要有几个不同的密钥。假设网络中有n个使用者,使用者之间共享一个密钥,则共有n (n-1) /2个密钥。如果n很大,密钥将多得无法处理。在私钥密码体制中,使用者Ailce和Bob具有相同的加、解密能力,因此使用者Bob无法证实收到的Ailce发来的消息是否确实来自Alice。私钥密码体制的缺陷可归结为三点:密钥分配问题、密钥管理问题以及无法认证源。虽然私钥密码体制有不足之处,但私钥密码算法处理速度快,人们常常将其用作数据加密处理。目前,私钥密码典型算法有DES、IDEA、AES等,其中DES是美国早期数据加密标准,现在已经被AES取代;国产私钥密码算法的发展的也如火如荼,出现了以SM1、SM4为代表的私钥密码算法。
非对称加密(公钥)
1976年,W.Diffie 和M.E.Hellman发表了《密码学的新方向》一 文,提出了公钥密码体制的思想。公钥密码体制又称为非对称密码体制,其基本原理是在加密和解密的过程中使用不同的密钥处理方式,其中,加密密钥可以公开,而只需要把解密密钥安全存放即可。在安全性方面,密码算法即使公开,由加密密钥推知解密密钥也是计算不可行的。公钥密码体制原理如图所示:
(1) A 要向 B 发送信息,A 和 B 都要产生一对用于加密和解密的公钥和私钥。
(2) A 的私钥保密,A 的公钥告诉 B;B 的私钥保密,B 的公钥告诉 A。
(3) A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。
(4) A 将这个消息发给 B (已经用 B 的公钥加密消息)。
(5) B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。
公钥密码体制可看成邮局的邮筒,任何人都能轻易地把邮件放进邮筒,只要从邮箱口投进去就行了。把邮件放进邮筒是件公开的事情, 但打开邮筒却是很难的。如果持有秘密信息(钥匙),就很容易打开邮筒的锁了。与私钥密码体制相比,公钥密码体制有如下优点:
(1)密码分发简单,能以公开方式分配加密密钥, 比如,Internet上个人安全通信常将网站的公钥发布在网上,方便其他人用它对网站进行加密;
(2)密钥保管量少。网络中的消息发送方可以共用一个公开加密密钥,从而减少密钥数量,只要接收方的解密密钥保密,就能实现消息的安全性。
(3)支持数字签名。
目前,有三种公钥密码体制类型被证明是安全和有效的,即RSA体制、ELCGamal 体制及椭圆曲线密码体制。
混合密码体制
合密码体制利用公钥密码体制分配私钥密码体制的密钥,消息的收发双方共用这个密钥,然后按照私钥密码体制的方式,进行加密和解密运算。混合密码体制的工作原理如3所示:
1、消息发送者Alice用对称密钥把需要发送的消息加密;
2、Alice对要发送的消息用杂凑算法计算后,用自己的私钥对杂凑值进行数字签名;
3、Alice用Bob的公钥加密对称密钥,形成数字信封。然后,把密文、数字签名和数字信封发送给Bob;
4、Bob收到Alice的密文、数字签名和数字信封后,使用自己的私钥解密数字信封,获取加密密文使用的会话对称密钥;
5、Bob用解密数字信封获得的会话密钥解密密文,得到明文;
6、Bob用Alice的公钥对数字签名内容进行解密,获取明文的杂凑值;
7、Bob对5中获得的明文进行同样的杂凑计算,并与6中的值比对。
暂无评论内容