非对称加密算法基本概念
2015-05-03 11:42
218 查看
在使用github、ssh等工具时,需要生成密钥对,只知道这个密钥对是用来做认证用的,但对为何要生成密钥对,密钥对是怎么生成的,密钥对如何使用等一些问题理解的比较模糊,密钥对的背后其实就是非对称加密算法,因此只要搞清楚非对称加密算法的基本概念就能解答以上问题。
1 什么是非对称加密算法?
加密是指把明文转换成密文的过程,密钥是加密过程中的可变参数,加密算法可以分为对称加密算法和非对称加密算法两大类,加密和解密使用同一个密钥的算法为对称加密算法,加密和解密的过程使用不同的密钥称为非对称加密算法。非对称加密算法用来加密的密钥称为公钥,用来解密的密钥称为私钥,公钥是公开的,传输信息的一方可以用来对明文进行加密,密文只能由私钥进行解密,非对称加密主要基于运算的不可逆原理。
2 非对称加密算法的应用,公钥和私钥的作用?
非对称加密算法除了在加密上的用途,还可以用于数字签名,数字签名的过程是信息的发送方用私钥对信息进行加密,信息的接收方对收到的信息进行校验,因为私钥只有信息发送方拥有,所以如果用发送方的公钥校验通过就能够证明信息没有被篡改。
3 非对称加密算法的优势和劣势?
非对称加密算法的优势是不需要信息传递双方交换密钥,能够减少密钥在传输过程被盗取的风险,但非对称加密算法相比较对称加密算法速度上要慢很多倍。
4 常见的非对称加密算法
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
通过以上对非对称加密算法基本概念的整理,就能够理解为什么github、ssh需要用户生成密钥对并上传公钥到服务器,这样在客户端与服务器进行数据传输的过程中,服务器就可以通过用户上传的公钥对用户的信息进行校验,避免非法用户的存在,因此保管好自己的私钥很重要。
1 什么是非对称加密算法?
加密是指把明文转换成密文的过程,密钥是加密过程中的可变参数,加密算法可以分为对称加密算法和非对称加密算法两大类,加密和解密使用同一个密钥的算法为对称加密算法,加密和解密的过程使用不同的密钥称为非对称加密算法。非对称加密算法用来加密的密钥称为公钥,用来解密的密钥称为私钥,公钥是公开的,传输信息的一方可以用来对明文进行加密,密文只能由私钥进行解密,非对称加密主要基于运算的不可逆原理。
2 非对称加密算法的应用,公钥和私钥的作用?
非对称加密算法除了在加密上的用途,还可以用于数字签名,数字签名的过程是信息的发送方用私钥对信息进行加密,信息的接收方对收到的信息进行校验,因为私钥只有信息发送方拥有,所以如果用发送方的公钥校验通过就能够证明信息没有被篡改。
3 非对称加密算法的优势和劣势?
非对称加密算法的优势是不需要信息传递双方交换密钥,能够减少密钥在传输过程被盗取的风险,但非对称加密算法相比较对称加密算法速度上要慢很多倍。
4 常见的非对称加密算法
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
通过以上对非对称加密算法基本概念的整理,就能够理解为什么github、ssh需要用户生成密钥对并上传公钥到服务器,这样在客户端与服务器进行数据传输的过程中,服务器就可以通过用户上传的公钥对用户的信息进行校验,避免非法用户的存在,因此保管好自己的私钥很重要。
相关文章推荐
- Java入门需掌握的30个基本概念
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 【数据结构】-基本概念和术语
- 类基本概念5—类静态成员
- OC6_代理的基本概念
- 第三章 基本概念(上) --《Javascript高级程序设计》
- C和指针----->第二章(基本概念)->C执行文件的产生和代码规范
- [置顶] JavaScript高级程序设计--基本概念
- 学习统计学基本概念
- MongoDB一些基本概念
- Activity中UI框架基本概念
- Java-面向对象(高级篇)--继承的基本概念
- 第一天,第一个C#程序,学习C#基本语法。掌握命名空间、类、变量、方法等基本概念。
- Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项
- Orchard基本概念快速理解
- OOA/OOD基本概念
- 版本控制(一)--svn基本概念、过程
- 走进AngularJs(一)angular基本概念的认识与实战
- Android学习笔记1-Android基本概念
- HTML学习-基本概念