RSA 非对称加密 数字签名 数字证书

开发
随着计算机网络通信技术的发展,对信息安全的要求也越来越高,信息加密技术也需进一步的提高。

[[175970]]

什么是RSA加密算法

RSA加密算法是一种非对称加密算法,算法的数学基础是极大数分解难题。

RSA加密算法的强度也就是极大数分解的难度,目前700多位(二进制)的数字已经可以破解,1024位认为是比较安全的,2048则是非常安全的。

在RSA加密算法中,密钥由两部分组成,称之为公钥和私钥,私有由发送方自己保存,不能泄漏。公钥由发送方公布出去。发送方发送消息时,会用公钥对消息进行加码,接收方必须要使用对应的私钥才能将加密后的信息解开。因此,只要私钥不泄漏,通信内容就不会被破解。

如何保证消息不会被篡改

虽然使用RSA加密之后,只有持有密钥才可以解密,但是这并不能组织或者发现消息被篡改了。为了防止消息在传输过程中被篡改,引入类数字签名的概念。

数字签名

发送方在发送消息之前,会使用消息摘要算法对发送内容进行摘要,然后用私钥对摘要进行加密,加密后的内容作为数字签名随消息一起发送。接收方收到消息之后,会对消息进行解密,解密之后进行摘要计算,得到摘要。接着对数字签名进行解密,得到另一分摘要,将两份摘要进行对比,如果相同,则说明消息没有被篡改过。

数字证书

虽然RSA算法能保证消息不被破解,数字签名也能保证消息不被篡改,但是RSA算法中使用的公钥却很难有效的分发,因为公钥无法证明自己就是由发送方发出的,它也有可能是恶意的人冒名顶替分发出来的。

为了解决这种问题,需要引入第三方权威机构,发送方和接收方都应该要信任该机构,然后由该机构来给他们办法一个证书,证书包含有颁发机构信息,证书持有人信息,以及证书持有人的公钥,这些信息会使用私钥进行数字签名,这样就能够保证证书的安全。接收方收到这个证书,只要使用第三方权威机构的公钥对证书解密,即可知道证书的真伪。

责任编辑:赵宁宁 来源: Linux社区
相关推荐

2010-09-02 21:10:13

2011-08-30 14:29:31

数字签名数字证书

2021-09-26 05:59:16

数字签名数字证书HTTPS

2021-12-28 13:54:52

加密密钥Java

2022-10-21 07:33:12

2013-06-28 10:24:31

2020-03-12 10:41:35

数字签名加密证书劫持

2009-03-02 16:42:33

2011-08-29 10:27:38

IT技术数字签名数字证书

2018-04-08 16:03:16

2009-08-14 13:40:17

数字签名电子签名安全体系结构

2019-10-10 08:11:08

Linux公钥私钥

2010-10-08 21:14:08

2021-01-29 08:19:50

HTTPS安全传输

2019-04-18 15:00:36

2010-06-04 09:21:51

身份认证数字签名

2010-09-17 20:20:14

2020-05-27 10:10:56

对称加密Hash算法数字签名

2013-04-15 17:55:12

Windows认证安全认证

2020-09-24 10:50:53

加密解密语言hmac
点赞
收藏

51CTO技术栈公众号