·身份认证:私钥拥有者用自己的私钥加密的数据,只要用其公钥能解密,即可认证其身份;私钥加密的这个过程为数字签名。
·密钥交换:发送方用对方的公钥加密后发送给对方;
·数据加密:适合加密较小数据
★ 缺点:
密钥长,加密解密效率低下
★ 算法:
RSA(加密,数字签名),DSA(数字签名),ELGamal
★ 基于一对公钥/私钥对
用密钥对中的一个加密,另一个解密
★ 实现加密过程:
·接收者
生成公钥P和私钥S
公开公钥P,保密私钥S
·发送者
使用接收者的公钥P来加密消息M
将P(M)发送给接收者
·接收者
使用私钥S来解密:M=S(P(M))
★ 实现数字签名:
·发送者
生成公钥/私钥对:P和S
公开公钥P,保密密钥S
使用私钥S来加密消息M
发送给接收者S(M)
·接收者
使用发送者的公钥来解密M=P(S(M))
结合签名和加密
分离签名
3)单向加密★ 只能加密,不能解密,因为解密过程是一个二次加密的过程;主要是提取数据的特征码,即“数据指纹”
★ 特性:
·任意长度输入
·固定长度输出
·若修改数据,指纹也会改变(“不会产生冲突”)
·无法从指纹中重新生成数据(“单向”)
★ 功能:
数据完整性(完整性校验)
系统账号密码校验
★ 算法:
md5:Message Digest 5(消息摘要),128bits;
sha1:Secure Hash Algorithm 1(安全哈希算法) ,160bits
sha224,sha256,sha384,sha512
4)密钥交换
★ 密钥交换(IKE):双方通过交换密钥来实现数据加密解密;密钥交换有两种
公钥交换:将公钥加密后通过网络传输到对方进行解密,这种方式很有可能别截获破解,不常用;