改变世界的九种算法

密钥算法:

对于网上银行的交易信息,其实一直有点纳闷,互联网上我把银行卡信息交给他。其他人应该也可以获取,从而得到我的信息。

原来这种网站里是采用了密钥算法,所谓密钥算法。举个简单的例子,有三个人在一间屋子里,一个是pap,是你的朋友,一个是Nima,是你的敌人,还有一个是你。你需要做的是,在完全透明的情况下,将消息传给pap而Nima不能知道。

我们假设传递的是一种颜色,这样会比较好理解。首先,你和pap需要选一种私人颜色,即只有你们两个人才知道的颜色,假设你选了蓝色,pap选了黄色。这个时候你向外界宣布一种公共颜色,即Nima也知道的颜色,比如你告诉外界是红色,然后你将红色和蓝色混合,生成一种新的颜色公共-私人颜色("蓝-红")。同样的方法,pap也生成他自己的公共-私人颜色(“黄-红”)。然后拿到公共区域给pap和Nima看,他们只知道混合色,却不知道这种颜色是由哪两种颜色混合而来的。这个时候pap和Nima都可以拿回这种公共-私人颜色回去研究,重点来了,pap将你的公共-私人颜色(“蓝-红”)混合他的私人颜色(“黄”)混合,得出最终颜色(“蓝-黄-红”),你将pap的公共-私人颜色(“黄-红”)混合你的私人颜色(“蓝”),得出最终颜色(“蓝-黄-红”)。你会发现一个很神奇的现象,你和pap拥有了一种完全相同的颜色。与此同时,你的敌人Nima却不能够获得这种颜色,即便是他把你们两个人的公共-私人颜色,拿来混合,也只能得到“蓝-黄-红红”,红色过多,并不是你们的颜色。所以也得不到你们的最终结果,而你们却能够得到所需要的信息。

在这里,我们可以通过类比得到,敌人Nima就是现实中的无线路由器以及其他可能窃取用户信息的方式后端,最终颜色就是现实社会中的用户信息,而调配出最终颜色的方法就是密钥算法的核心。

当然,在实际运用中,密钥算法的操作会比列举的要复杂得多,为了防止不法人员的穷举达到信息窃取,通常会将混合的方式选择达到亿级以上,这样即便是计算机那么擅长计算也要穷举计算上几十年以上。

你可能感兴趣的:(----1.2.3蓝桥杯)