PKCS#1规范阅读笔记1--------基本概念
2015-09-23 21:25
155 查看
规范中有很多数学相关的推演和计算,并不打算在这里介绍,主要介绍一下相关的计算流程及最终的签名结果。
算法可以分为:对称算法和非对称算法两大类。对称算法加密和解密都用的是同一个密钥;而非对称算法却是有一对密钥对(公钥和私钥),但是这对公钥加密的东西,能用私钥解开;反之亦然。
RSA就是属于非对称算法,RSA也有一对密钥对用来参与运算。公钥,顾名思义就是可以公开的密钥,其实就是可以拿给大家看的密钥。私钥,当然就是只有自己才能知道的密钥,不可以给人看的,也就是说只有你自己才能知道的。
一开始的时候,总是会分不清楚RSA加解密与签名验签的关系是什么?
应用场景:
加解密,肯定是有什么东西是不想给别人知道的,好比有个宝贝得锁在箱子里,钥匙当然要在自己这里才安全。而RSA里面的私钥呢只有自己可以看见,相当于钥匙了。一把钥匙对应一把锁,这个锁自然就是公钥了。
签名验签呢,就好比目前有一份合同,甲乙双方都按了手印,以示达成协议,不再反悔,所以签名的内容需要是公示给大家看的。但是只有自己亲手按的才能认对吧,那肯定是要用私钥做签名了,因为私钥只有自己才有啊;公钥当然就用来验签了。
计算流程:
加解密:公钥(锁)对明文(宝贝)加密(锁在箱子里);私钥(钥匙)对密文(锁上的箱子)进行解密(打开箱子),就可以得到明文(宝贝)了。
签名验签:私钥(指纹)对明文(合同)进行签名(按手印);公钥(公安局里你的指纹记录)对签名值(按了手印的合同)进行验签(核验手印是否匹配),如果匹配,就是验签通过,就没有办法抵赖了。
计算方法:
从计算流程上可以看出,如果抛开应用场景,而只关注数学运算的话:
加密:公钥 + 明文 ---> 密文
验签:公钥 + 签名 ---> 验签结果
解密:私钥 + 密文 ---> 明文
签名:私钥 + 明文 ---> 签名
所以全部过程,只涉及:公钥运算和私钥运算而已。如果调用openssl的接口,就会发现只有RSA_decrypt和RSA_encrypt两个函数就够了。
算法可以分为:对称算法和非对称算法两大类。对称算法加密和解密都用的是同一个密钥;而非对称算法却是有一对密钥对(公钥和私钥),但是这对公钥加密的东西,能用私钥解开;反之亦然。
RSA就是属于非对称算法,RSA也有一对密钥对用来参与运算。公钥,顾名思义就是可以公开的密钥,其实就是可以拿给大家看的密钥。私钥,当然就是只有自己才能知道的密钥,不可以给人看的,也就是说只有你自己才能知道的。
一开始的时候,总是会分不清楚RSA加解密与签名验签的关系是什么?
应用场景:
加解密,肯定是有什么东西是不想给别人知道的,好比有个宝贝得锁在箱子里,钥匙当然要在自己这里才安全。而RSA里面的私钥呢只有自己可以看见,相当于钥匙了。一把钥匙对应一把锁,这个锁自然就是公钥了。
签名验签呢,就好比目前有一份合同,甲乙双方都按了手印,以示达成协议,不再反悔,所以签名的内容需要是公示给大家看的。但是只有自己亲手按的才能认对吧,那肯定是要用私钥做签名了,因为私钥只有自己才有啊;公钥当然就用来验签了。
计算流程:
加解密:公钥(锁)对明文(宝贝)加密(锁在箱子里);私钥(钥匙)对密文(锁上的箱子)进行解密(打开箱子),就可以得到明文(宝贝)了。
签名验签:私钥(指纹)对明文(合同)进行签名(按手印);公钥(公安局里你的指纹记录)对签名值(按了手印的合同)进行验签(核验手印是否匹配),如果匹配,就是验签通过,就没有办法抵赖了。
计算方法:
从计算流程上可以看出,如果抛开应用场景,而只关注数学运算的话:
加密:公钥 + 明文 ---> 密文
验签:公钥 + 签名 ---> 验签结果
解密:私钥 + 密文 ---> 明文
签名:私钥 + 明文 ---> 签名
所以全部过程,只涉及:公钥运算和私钥运算而已。如果调用openssl的接口,就会发现只有RSA_decrypt和RSA_encrypt两个函数就够了。
相关文章推荐
- MySQL安装图解
- wow 各职业体验(pvp)
- 简单的seo方法分享
- Android之PullToRefresh(ListView 、GridView 、WebView)使用详解和总结
- 黑马程序员----C 语言学习笔记之位运算符
- 十、行为型模式之观察者、命令、状态-----《大话设计模式》
- 类与对象
- noip2009 hankson的趣味题 (扩展欧几里得求最大公约数,最小公倍数与最大公约数)
- iOS大典之点击旋转, 点击停止
- Android 4.4以上(改变状态栏的背景颜色)开源工程推荐
- 输入十个数,输出其中最大的一个数
- HDU 5221 Occupation(树链剖分)
- Python抓取新闻标题和链接
- atitit.无线上网卡 无法搜索WiFi 解决无线路由器信号不能被连接
- 1.网络工具:ifconfig,ping,netstate,Redhat命令和图形化设置ip,finger,nslookup
- collectionView布局原理及瀑布流布局方式
- 2015 9月23日 工作计划与执行
- java08 Set
- Tutorial #Facebook Relay文档翻译#
- TesterHome android app 编写历程(一)