文章目录
TLS/SSL 协议-非对称加密(RSA)原理
前面文章学习过 对称加密
的原理,在通信双方发送完加密的密文之后,需要发送密钥给对方才能解密,这就要求发送密钥的信息通道安全可靠,才能保证数据的安全性,而非对称加密算法
是一种密钥
的保密方法,需要有 公钥(公开密钥)
和私钥(私有密钥)
,这篇文章主要介绍公钥
和私钥
生成原理,然后围绕公钥
和私钥
研究和分析加密和解密原理。
1.非对称加密工作原理
- (1)
Bob
要向Alice
发送信息,Alice
需要先要产生一对用于加密和解密的公钥
和私钥
。 - (2)
Alice
的私钥
保密,Alice
的公钥告诉Bob
。 - (3)
Bob
把要发送的信息用Alice
的公钥加密生成密文发送给Alice
。 - (4)
Alice
收到这个消息后,用自己的私钥解密Bob
的消息。其他所有收到这个报文的人都无法解密,只有Alice
私钥才能解密此信息。
Tips:
Alice
向Bob
发送信息时也是同理,Bob
也需要生成一对公钥
和私钥
。
2.非对称加密和解密过程示意图
3.RSA 算法介绍
1977
年由罗纳德·李维斯特(Ron Rivest
)、阿迪·萨莫尔(Adi Shamir
)、伦纳德·阿德曼(Leonard Adleman
)一起提出,因此命名为 RSA
算法:
3.1 RSA 算法生成公钥和私钥原理
- (1)随机选择两个不相等的质数
p
和q
。 - (2)计算
p
和q
的乘积n
(明文小于n
)。 - (3&#