在使用github、ssh等工具时,需要生成密钥对,只知道这个密钥对是用来做认证用的,但对为何要生成密钥对,密钥对是怎么生成的,密钥对如何使用等一些问题理解的比较模糊,密钥对的背后其实就是非对称加密算法,因此只要搞清楚非对称加密算法的基本概念就能解答以上问题。
1 什么是非对称加密算法?
加密是指把明文转换成密文的过程,密钥是加密过程中的可变参数,加密算法可以分为对称加密算法和非对称加密算法两大类,加密和解密使用同一个密钥的算法为对称加密算法,加密和解密的过程使用不同的密钥称为非对称加密算法。非对称加密算法用来加密的密钥称为公钥,用来解密的密钥称为私钥,公钥是公开的,传输信息的一方可以用来对明文进行加密,密文只能由私钥进行解密,非对称加密主要基于运算的不可逆原理。
2 非对称加密算法的应用,公钥和私钥的作用?
非对称加密算法除了在加密上的用途,还可以用于数字签名,数字签名的过程是信息的发送方用私钥对信息进行加密,信息的接收方对收到的信息进行校验,因为私钥只有信息发送方拥有,所以如果用发送方的公钥校验通过就能够证明信息没有被篡改。
3 非对称加密算法的优势和劣势?
非对称加密算法的优势是不需要信息传递双方交换密钥,能够减少密钥在传输过程被盗取的风险,但非对称加密算法相比较对称加密算法速度上要慢很多倍。
4 常见的非对称加密算法
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
通过以上对非对称加密算法基本概念的整理,就能够理解为什么github、ssh需要用户生成密钥对并上传公钥到服务器,这样在客户端与服务器进行数据传输的过程中,服务器就可以通过用户上传的公钥对用户的信息进行校验,避免非法用户的存在,因此保管好自己的私钥很重要。
非对称加密算法基本概念
最新推荐文章于 2024-07-19 15:32:22 发布