非对称加密的两种应用场景

如题所述

用一个数学上的小游戏作例子,老师让学生任意想一个三位数的数字A,然后把A*91的乘积的末尾三位数告诉老师,老师把末尾三位数*11得到一个乘积,乘积的末尾三位数就是数字A。
比如,数字A为234,234*91=21294,学生把294告诉老师,294*11=3234,末尾三位数就是数字A。

这个游戏的原理在于(不理解也没关系,不影响后面的学习):
91*11=1001,一个三位数*1001,相当于左移三位,然后再加上自己,因此一个三位数*1001的乘积的末尾三位数,一定等于该数

这个例子中,91就是公钥,谁都可以用公钥来加密,11是私钥,只有一个人有,所以只有一个人可以解密。
本例中,公钥私钥的创建,是利用了1001=91*11,其安全性在于,把1001拆成91和11很容易,但只凭91猜出1001和11很难。

我们还可以用更大的数字来做公钥私钥,比如400000001=19801*20201, 4000000000000000000000000000001=1199481995446957*3334772856269093,这样就更加安全。不过,真正的非对称加密算法(比如RSA)原理远比这复杂。

上面的例子,其实只是介绍了非对称加密的第一种应用场景:
消息发送方用公钥加密消息,接收方用私钥解密。

实际上,非对称加密还有第二种应用场景:
消息发送方用私钥加密消息,接收方用公钥解密,如果能解密成功,说明消息的来源可以信任。



备注
以上参考自 知乎

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网