非对称加密的两种应用场景
以一个数学游戏为例。老师让学生随意想出一个三位数A,然后告诉老师A*91的乘积的后三位数。老师从后三位数*11得到一个乘积,乘积的后三位数就是数a。
比如数字A是234,234 * 91 = 21294,学生告诉老师294,后三位是数字A。
这个游戏的原理是(不懂也没关系,不会影响后面的学习):
91 * 11 = 1001,一个三位数*1001,相当于左移三位数,然后加上自己,所以一个三位数*10065438。
在这个例子中,91是公钥,任何人都可以用它来加密,11是私钥,只有一个人拥有,所以只有一个人可以解密。
在此示例中,1001 = 91 * 11用于创建公钥和私钥。其安全性在于1001被拆分为91和165438。
我们也可以使用更大的数作为公钥和私钥,比如4000000001 = 1 * 20201,40000000000000000000000000000001 = 65438+然而真正的非对称加密算法(比如RSA)的原理远比
上面的例子实际上只是介绍了非对称加密的第一个应用场景:
发送方用公钥加密消息,接收方用私钥解密。
事实上,非对称加密还有第二个应用场景:
消息的发送方用私钥加密消息,接收方用公钥解密消息。如果解密成功,则意味着消息的来源可以信任。
评论
以上参考来自知乎。