改变世界的九种算法
2016-06-27 21:18
225 查看
密钥算法:
对于网上银行的交易信息,其实一直有点纳闷,互联网上我把银行卡信息交给他。其他人应该也可以获取,从而得到我的信息。
原来这种网站里是采用了密钥算法,所谓密钥算法。举个简单的例子,有三个人在一间屋子里,一个是pap,是你的朋友,一个是Nima,是你的敌人,还有一个是你。你需要做的是,在完全透明的情况下,将消息传给pap而Nima不能知道。
我们假设传递的是一种颜色,这样会比较好理解。首先,你和pap需要选一种私人颜色,即只有你们两个人才知道的颜色,假设你选了蓝色,pap选了黄色。这个时候你向外界宣布一种公共颜色,即Nima也知道的颜色,比如你告诉外界是红色,然后你将红色和蓝色混合,生成一种新的颜色公共-私人颜色("蓝-红")。同样的方法,pap也生成他自己的公共-私人颜色(“黄-红”)。然后拿到公共区域给pap和Nima看,他们只知道混合色,却不知道这种颜色是由哪两种颜色混合而来的。这个时候pap和Nima都可以拿回这种公共-私人颜色回去研究,重点来了,pap将你的公共-私人颜色(“蓝-红”)混合他的私人颜色(“黄”)混合,得出最终颜色(“蓝-黄-红”),你将pap的公共-私人颜色(“黄-红”)混合你的私人颜色(“蓝”),得出最终颜色(“蓝-黄-红”)。你会发现一个很神奇的现象,你和pap拥有了一种完全相同的颜色。与此同时,你的敌人Nima却不能够获得这种颜色,即便是他把你们两个人的公共-私人颜色,拿来混合,也只能得到“蓝-黄-红红”,红色过多,并不是你们的颜色。所以也得不到你们的最终结果,而你们却能够得到所需要的信息。
在这里,我们可以通过类比得到,敌人Nima就是现实中的无线路由器以及其他可能窃取用户信息的方式后端,最终颜色就是现实社会中的用户信息,而调配出最终颜色的方法就是密钥算法的核心。
当然,在实际运用中,密钥算法的操作会比列举的要复杂得多,为了防止不法人员的穷举达到信息窃取,通常会将混合的方式选择达到亿级以上,这样即便是计算机那么擅长计算也要穷举计算上几十年以上。
对于网上银行的交易信息,其实一直有点纳闷,互联网上我把银行卡信息交给他。其他人应该也可以获取,从而得到我的信息。
原来这种网站里是采用了密钥算法,所谓密钥算法。举个简单的例子,有三个人在一间屋子里,一个是pap,是你的朋友,一个是Nima,是你的敌人,还有一个是你。你需要做的是,在完全透明的情况下,将消息传给pap而Nima不能知道。
我们假设传递的是一种颜色,这样会比较好理解。首先,你和pap需要选一种私人颜色,即只有你们两个人才知道的颜色,假设你选了蓝色,pap选了黄色。这个时候你向外界宣布一种公共颜色,即Nima也知道的颜色,比如你告诉外界是红色,然后你将红色和蓝色混合,生成一种新的颜色公共-私人颜色("蓝-红")。同样的方法,pap也生成他自己的公共-私人颜色(“黄-红”)。然后拿到公共区域给pap和Nima看,他们只知道混合色,却不知道这种颜色是由哪两种颜色混合而来的。这个时候pap和Nima都可以拿回这种公共-私人颜色回去研究,重点来了,pap将你的公共-私人颜色(“蓝-红”)混合他的私人颜色(“黄”)混合,得出最终颜色(“蓝-黄-红”),你将pap的公共-私人颜色(“黄-红”)混合你的私人颜色(“蓝”),得出最终颜色(“蓝-黄-红”)。你会发现一个很神奇的现象,你和pap拥有了一种完全相同的颜色。与此同时,你的敌人Nima却不能够获得这种颜色,即便是他把你们两个人的公共-私人颜色,拿来混合,也只能得到“蓝-黄-红红”,红色过多,并不是你们的颜色。所以也得不到你们的最终结果,而你们却能够得到所需要的信息。
在这里,我们可以通过类比得到,敌人Nima就是现实中的无线路由器以及其他可能窃取用户信息的方式后端,最终颜色就是现实社会中的用户信息,而调配出最终颜色的方法就是密钥算法的核心。
当然,在实际运用中,密钥算法的操作会比列举的要复杂得多,为了防止不法人员的穷举达到信息窃取,通常会将混合的方式选择达到亿级以上,这样即便是计算机那么擅长计算也要穷举计算上几十年以上。
相关文章推荐
- textarea文字换行保存到数据后读出来没有换行 解决方案
- Spring常用注解
- AR技术之--基于opencv的人脸识别(三)
- 2016,前端在关注什么?
- 自定义view — Toggle开关
- java分页数据导出excel
- log4cplus使用(三)-日志重定向
- Android大图轮播效果的实现-代码逻辑
- android studio Error:Unable to start the daemon process
- fork()函数解析
- Java学习笔记之二
- log4cplus使用(二)-自定义日志等级
- log4cplus使用
- ThinkPHP Http工具类(用于远程采集 远程下载) phpSimpleHtmlDom采集类库_Jquery筛选方式 使用phpQuery轻松采集网页内容http://www.thinkphp.cn/extend/541.html
- Building a Dynamic UI with Fragments ---- Communicating with Other Fragme (三)
- C#设计模式-单例模式
- 图片尺寸的验证宽高
- java单例 生成唯一的标识
- Cocos2d-x开发系列 HYBrid模式四 C++和Lua的数据交互
- Android中<uses-sdk>属性和target属性分析