RSA算法已经很普遍了,随便一搜,要多详细就有多详细。可是对“加密”与“签名”这两个词汇做重点解析的不多,导致刚接触的人很容易搞混淆。个人尝试在此做一个通俗的解析。
为啥私钥加密不叫“加密”,而叫“签名”?因为RSA设计的初衷,就是只保存私钥,而不是公钥。换句话说就是公钥是公开的,人人都可以获得。所以,你觉得用私钥去做“加密”会不会特别别扭呢?没错,私钥也是可以加密的,但是这个“加密”从语法上说,是扭曲了原意的,强扭的瓜不甜。所以要改口为“签名”。好了,我要私钥加密就叫做“签名”,在现实中,就很正道了,读起来气也顺了很多。签名就是可以给大家看的,不然签名有啥意义...
总结一下,公钥加密就是叫“加密”,私钥加密就要改口叫“签名”,私钥加密叫“加密”是违背正统文化的,当然,如果你把RSA的私钥和公钥都不公开,是可以都叫加密的,但是,如果你这样做了,你就是非要把三角形当圆形轮子用了。