这里因为之前搞到了师兄给的一百多页的密码学基础,所以就先pick数字签名来讲。(小声哔哔:按我的性格肯定是想all in的,但是看一个密码学能讲的都有很多那就先讲数字签名再加亿点点细节吧)
- 数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
- 数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
- 数字签名是非对称密钥加密技术与数字摘要技术的应用。
数字签名技术是密码学基础的一部分
(a) 基于RSA的数字签名
- 初始化:
m:签名的消息
签名者的私钥:d;公钥:(e,n)- 签名:
计算m的哈希值H(m).
签名值s=(H(m))^d mod n
- 验证:
计算H1=s^e mod n
判断H1=H(m)是否成立
(b) DSS处理
DSS数字签名标准:
- DSS(Digital signature standard)
- NIST提出,1994年12月被正式采用为美国联邦信息处理标准
- 数字签名算法(Digital signature algorithm, DSA )
DSS特点:
- 只能用于签名
- 不能用于加密,也不能用于密钥分配
三种算法的比较
算法 | 加/解密 | 数字签名 | 密钥协商 |
---|---|---|---|
RSA | 是 | 是 | 是 |
Dieffie-Hellman | 否 | 否 | 是 |
DSA | 否 | 是 | 否 |
加亿点点细节(扩展内容,,跑偏了)
非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
A≡B^e2( mod n);B≡A^e1 (mod n)
;(公钥加密体制中,一般用公钥加密,私钥解密)A≡B^e1 (mod n);B≡A^e2( mod n)
;算法能讲的真的太多辽,一口老血
RSA和ESS安全模长的时间比较👇
攻破时间 | RSA/DSA | ECC | RSA/ECC |
---|---|---|---|
MIPS年 | 密钥长度 | 密钥长度 | 密钥长度比 |
10^4 | 512 | 106 | 5:1 |
10^8 | 768 | 132 | 6:1 |
10^11 | 1024 | 160 | 7:1 |
10^20 | 2048 | 210 | 10:1 |
10^78 | 21000 | 600 | 35:1 |
本篇博客讲解了数字签名,扩展的说明了公钥加密、非对称加密等与数字签名技术实现相关内容,其技术应用算法各不相同,感兴趣的可以进行再深入了解。
还有好多想学的东西,下次一定!
生活中,你我一定都看到过这种「xx元爆改出租屋」,「爆改小汽车」之类的文章,...
8条Asp编码优化技巧: 1、声明VBScript变量 在ASP中,对vbscript提供了强劲的支...
1.蚊子都是神,你要不买点蚊香烧烧,它就一直叮你。 2.痛经如此多娇,疼得菇凉...
本文转载自微信公众号「 jinjunzhu」,作者 jinjunzhu 。转载本文请联系 jinjunz...
##Linux常用命令 文件处理命令 文章目录 文件处理命令 1、命令格式与目录处理命...
写在前面 代码写得再好,始终都无法完整的处理所有可能产生异常,特别是生产环境...
最近遇到很多居中的问题,就花点时间总结了一下放在这里,以后找也方便 1.居中文...
思路:将中文编码改成UTF-8编码格式,传到前台,再用JS将其解码. 具体做法:将设置co...
前言 又到了给大家“荐书”的时候了,如果计算机系只开三门课,那么这三门课就一...
以下的是VS2008的替换方式,用 \1 来替换 {.*} 到了VS2012后,要用 $1 来替换 (....