如何解决秘钥配送问题?
- 1.事先共享密钥:比如事先约定好密钥
- 2.密钥分配中心:把密钥交给密钥分配中心,从密钥分配中心获取密钥
- 3.Diffie-Hellman 密钥交换:例如openSHH登录就是使用了这个技术
- 4.公钥密码
公钥密码(Public-key Cryptography)
- 1.公钥密码中,密钥分为加密密钥、解密密钥2种,它们并不是同一个密钥
- 2.公钥密码也被称为非对称密码(Asymmetric Cryptography)
在公钥密码中
- 1.加密密钥,一般是公开的,因此该密钥称为公钥(public key)
- 2.解密密钥,由消息接收者自己保管的,不能公开,因此也称为私钥(private key)
- 3.公钥和私钥是一 一对应的,是不能单独生成的,一对公钥和密钥统称为密钥对(key pair)
- 4.由公钥加密的密文,必须使用与该公钥对应的私钥才能解密
- 5.由私钥加密的密文,必须使用与该私钥对应的公钥才能解密
解决密钥配送问题
-
1.由消息的接收者,生成一对公钥、私钥
-
2.将公钥发给消息的发送者
-
3.消息的发送者使用公钥加密消息
目前使用最广泛的公钥密码算法是RSA
RSA的名字,由它的3位开发者,即Ron Rivest、Adi Shamir、Leonard Adleman的姓氏首字母组成