ssh可以用于加密解密信息,保护信息安全
A有公钥
E
a
E_{a}
Ea, 私钥
D
a
D_a
Da
B有公钥
E
b
E_{b}
Eb, 私钥
D
b
D_b
Db
公钥都公开,
A如果要发消息给B,同时不希望消息泄密,那就需要给消息加密,一种思路是,叫B给一个加密方法,加密方法别人不知道,加密信息,然后B获得密文后解密。如果说有人中途窃取了信息,那也看不懂密文什么意思。但不方便的地方在于:
- 一旦B修改了加密方法,就要告诉A
- 一旦有其他人也要给B发消息,B就要把加密方法说出去
- 知道加密方法的人越多,被泄露的可能性就越大
ssh协议就是为了解决这三个问题诞生的
当A要发消息给B时,就可以用B公布的公钥 E b E_{b} Eb加密信息,然后密文发送给B,B再用私钥 D b D_b Db解密信息。
其中:
- 有定理可以保证用公钥 E b E_{b} Eb加密信息后,用私钥 D b D_b Db解密出来的结果和原结果相同,保证A想传输的信息能够正确到B
- 公钥 E b E_{b} Eb、私钥 D b D_b Db是成对存在,成对产生的,一旦B想要修改自己的私钥,那么公钥也要修改。
- 因为公钥 E b E_{b} Eb是公开的,所有人都知道,所以不存在说B修改了公钥私钥,就要额外去告诉自己的相关朋友,解决上述问题1
- 因为是公开的,每个人都可以利用公开的公钥 E b E_{b} Eb加密信息发给B,B不需要先允许。解决上述问题2
- 公钥加密,私钥解密,其中原理设计到数学中“分解大数”问题,这个问题属于世纪难题,300年来没有得到过解答,保证信息的安全性,解决上述问题3
参考链接:
https://www.bilibili.com/video/BV1YQ4y1a7n1?from=search&seid=3879662369444697563&spm_id_from=333.337.0.0
https://zhuanlan.zhihu.com/p/134349361