密钥对,私钥,公钥
基本概念
密钥的分类
具体过程
基本概念
首先明确几个基本概念:
1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可颁布,公钥是密钥对持有者颁布给别人的。
2、公钥,公钥用来给数据加密,用公钥加密的数据只能应用私钥解密。
3、私钥,如上,用来解密公钥加密的数据。
4、摘要,对须要传输的文本,做一个 HASH 计算,个别采纳 SHA1,SHA2 来取得。
5、数字签名,应用私钥对须要传输的文本的摘要进行加密,失去的密文即被称为该次传输过程的签名。
6、签名验证,数据接收端,拿到传输文本,然而须要确认该文本是否就是发送收回的内容,中途是否已经被篡改。因而拿本人持有的公钥对签名进行解密,失去了文本的摘要,而后应用与发送方同样的 HASH 算法计算摘要值,再与解密失去的摘要做比照,发现二者完全一致,则阐明文本没有被篡改过。
应用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比方用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会胜利。
密钥的分类
对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接管方应用同一个密钥去加密和解密数据。它的最大劣势是加 / 解密速度快,适宜于对大数据量进行加密,但密钥治理艰难。
非对称密钥加密,又称公钥密钥加密。它须要应用不同的密钥来别离实现加密和解密操作,一个公开公布,即公开密钥,另一个由用户本人机密保留,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵便,但加密和解密速度却比对称密钥加密慢得多。
具体过程
那么这里一共有两组四个密钥:A 的公钥(PUB_A),A 的私钥(PRI_A);B 的公钥(PUB_B),B 的私钥(PRI_B)。
公钥个别用来加密,私钥用来签名。
公钥和私钥惟一对应,用某个公钥签名过得内容只能用对应的私钥能力解签验证;同样用某个私钥加密的内容只能用对应的公钥能力解密。
这时 A 向 B 发送信息的整个签名和加密的过程如下:
1、A 先用本人的私钥(PRI_A)对信息(个别是信息的摘要)进行签名。
2、A 接着应用 B 的公钥(PUB_B)对信息内容和签名信息进行加密。
这样当 B 接管到 A 的信息后,获取信息内容的步骤如下:
1、用本人的私钥(PRI_B)解密 A 用 B 的公钥(PUB_B)加密的内容;
2、失去解密后的明文后用 A 的公钥(PUB_A)解签 A 用 A 本人的私钥(PRI_A)的签名。
从而整个过程就保障了开始说的端到端的惟一确认。A 的签名只有 A 的公钥能力解签,这样 B 就能确认这个信息是 A 发来的;A 的加密只有 B 的私钥能力解密,这样 A 就能确认这份信息只能被 B 读取。
上面的例子很好了解释了这个问题。
how to get public key from private key
create rsa dsa key with openssl
Fix ssl key values mistch issue
setup ssh key to login Linux
which ssh key is secure