加密和数字签名算法

RSA数字签名算法

RSA是密码学中最经典算法,使用最广泛的数字签名算法,RSA数字签名算法的密钥实现与RSA的加密算法一样,算法的名称都叫RSA。目前SSL数字证书、代码签名证书、文档签名以及邮件签名大多都采用RSA算法进行加密。RSA数字签名算法主要包括MD和SHA两种算法。如MD5和SHA-256。

MD5

MD5即Message-Digest Algorithm 5,是信息摘要算法 5。MD5的前身有MD2、MD3和MD4,MD5算法法是输入任意长度字符,输出固定长度128位的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128位Hash值,通过求余、取余、调整长度、与链接变量进行循环运算。
在这里插入图片描述

SHA-1算法

National Institute of Standards and Technology 美国国家标准与技术研究院 和 National Security Agency 美国国家安全局共同设计,与MD4设计原理相同,曾被视为MD5的后继者。应用于TLS和SSL、PGP、SSH、S/MIME和IPsec等多种协议,目前不具备安全性。

2017年2月23日,Google宣布实现了对SHA-1算法的碰撞破解,所以SHA-1算法已经正式被宣布为不安全的算法,主流厂商对自身产品及安全要求都提升至了SHA-2算法。

SHA-2算法

SHA-224、SHA-256、SHA-384和SHA-512并称为SHA-2,发布于2001年,目前比较广泛应用的SSL数字证书和代码签名证书签名算法均采用SHA-256算法,SHA-1算法被破解,但SHA-2算法还未被破解。SHA-2延用了SHA-1算法,目前顶级CA和Google、苹果等公司都采用基于SHA-256算法作为SSL证书和代码签名证书的主流签名算法。

SHA-3算法

SHA-3算法正式发布于2015年,SHA-3并不是要取代SHA-2,因为SHA-2目前并没有出现明显的弱点。由于对MD5、SHA-0和SHA-1出现成功的破解,NIST感觉需要一个与之前算法不同的,可替换的加密Hash算法,也就是现在的 SHA-3。

DSA数字签名算法

DSA全称Digital Signature Algorithm,DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,所以它比RSA要快很多,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚,RSA算法却做不到。
在这里插入图片描述
DSA的整个签名算法流程如下:
a. 发送方使用SHA-1和SHA-2编码将发送内容加密产生的数字摘要;
b. 发送方用自己的专用密钥对摘要进行再次加密得到数字签名;
c. 发送方将原文和加密后的摘要传给接收方;
d. 接收方使用发送方提供的密钥对进行解密 ,同时对收到的内容用SHA-1/SHA-2编码加密产生同样的摘要;
e. 接收方再将解密后的摘要和d步骤中加密产生的摘要进行比对,如果两者一至,则说明传输过程的信息没有被破坏和篡改,否则传输

ECDSA

ECC,即elliptic curves cryptography 一种椭圆曲线密码编码学。ECDSA是用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。

X.509

密碼學裡公匙證書的格式標準,在TLS/SSL的眾多網絡協議中被使用,同時在線下應用場景裡,電子簽名裡使用。X.509證書裡包括公匙、身份信息、簽名信息。附帶證書吊銷列表和證書合法性驗證算法,X.509是ITU-T標準化部門基於ASN.1定義的一套證書標準。
X.509和X.500一起發佈於1988年7月3日,CA(層次化的證書頒發機構)和PKI(公鑰基礎設施),包括如下信息:
在这里插入图片描述

TLS

Transport Layer Security

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值