Dec 10, 2010

凯撒的加密术

原文地址: http://songshuhui.net/archives/46557

送上开场诗一首:我用相思作玉杯,真情当酒意相随,爱心已醉何时醒,你似蝴蝶梦里飞。

你可以把这首诗发给你女友,聪明的她一定能看出这是首藏头诗,从而明白你的心意。其实,藏头诗就是一种加密术,它通过坐标变换的方式隐藏了秘密,这个例子虽然很简单,但它反映出了加密术的本质–变换坐标系。

加密术最早应用于古代战争,当时是靠士兵随身携带的信件来传递情报,但总是免不了被敌方俘虏,从而使情报落入敌手,这对作战部队而言可是生死悠关的 大事。传说当时的凯撒大帝有一个能加密的办法,就在写命令前做一个对应表,明码:A B C D E F….W X Y Z,密码:D E F G H I….Z A B C,如果他想写BABY,就用EDEB来表示。

当大将收到了EDEB这个密码后,向前推3个字母,就得到了明文。这个对应表的移位数是3,当然别的数也可以,作战前由凯撒定好移位数后通知大将 们,战时就可以进行保密通信了。这种加密方式其实就是把坐标系横移了3格。但是,这种简单的加密方法也很容易被敌方猜到,敌人从1到25推25次,得到 25组新编码,必有一种编码是真实的情报内容,把这组编码区别出来非常容易,因为其它24组都是毫无意义的字母组合,只有这一组是有意义的句子,找个识字 的人就可以看得出来。
既然这种加密手段并不安全,那凯撒该怎么办呢?有个聪明人给他出了个主意,对应表不按字母顺序写,搞个乱序的。例如A对Q,B对F,随意配对,只要 保证26个明密码一一对应没有重复就行了。每次出征前,凯撒就会搞个非常杂乱的明密码对应表,然后发给大将。这招很不错,敌人即使截获了密文,由于不知道 明密码对应表,也很难搞明白,这其实也是坐标系统的一种变换,这种方法被后人称为“单表系统”。

这种乱序的加密术比顺序的安全多了,但它还是有一个明显的漏洞。以英文为例,一篇文档里每个字母的出现次数是不同的,例如E出现的次数最多,甚至可 以搞出个频次表来,如果一份密文中R出现的次数最多,那这个R会不会就是E呢?这个猜想很合理,即使代表的不是E,那它代表的也应是明文中出现次数较多的 字母。按照这种思路试试吧,卖糕的,密码解开了。

现在又轮到加密方纠结了,他们想,破解方是在拿明密文中字母出现的频次做文章,如果我们能把频次的区别消除掉,他们不就没办法了吗?道理虽然很好,但怎样才能消除这种频次的差别呢,毕竟明文中字母的频次就是不一样,这本身没法改变啊。

功夫不负有心人,有一天加密方终于找到了解决问题的关键,这个关键就是“多表”,每个明文都对应多个密文,例如图上的A分别对应着XGV,这三个密 文的选择取决于明文的位置,A在第一位时选X,第二位时选G,第三位时选V。将整个一段明话按三位一段进行分组后就可以加密了。这个例子是三维的,维数还 可以更多,那就更难破译了。这种多表系统非常有效,但其实还是有统计规律可循的,只是短短一段密文是不足以找到规律的。

这种对应规律相对固定的多表系统,还是给破解带来了突破口。随着技术的发展,人们开始尝试用机械改良这种多表系统,通过引入更多的变化来增大破解的难度。二战期间德军有一种 加密转轮机,四个轮子负责把输入的明码置乱成密码,其对应规律是动态变化的,使破译难度大大增加。有一个负责管理加密转轮机的德军军官汉斯.施密特,为了 钱与盟军情报人员勾搭上了,他提供了该机的技术资料,得到了相当于现在1千万法郎的报酬,后来他害怕了想退出,但已经由不得他了,他先后与盟军情报人员接 头34次,波兰顶级数学家里杰斯基等人在这些绝密情报的帮助下终于将该转轮机完全破解。

还是回到凯撒吧,他当然知道自己的加密术并不很安全,送情报的士兵被抓后受刑不过就会把密信交出来,如果防止传令兵被俘后泄露情报呢?有人又给他出 了一招:把一批士兵的头发剃光,并用火烙铁在脑顶上烙上不同的印迹,并对哪个兵烙上什么样的疤做好记录,被烙的士兵一头雾水,不明白这是为什么。大战之 前,凯撒召集大将,并要求他们牢记一组对应关系,梅花疤代表“马上率部向我驰援”,三角疤代表“固守阵地”等等。

战斗中凯撒被围困了,情况很危机,他拿来了记录本,把烙梅花疤的几个人都点了出来,命令他们沿不同的路线到大将处报到,“不用我们传个口信或带个情 报吗?”这些人很不解,“不用,你们到大将处报个到就算完成了任务”凯撒说到。这些人出发了,有的人成功地找到了大将报到,大将二话不说,立即给他剃头查 疤。也有的人被俘,严刑拷打也问不出情报,因为他的确不知道情报。距离剃头烙疤的时间已经很久了,士兵新长出的头发已经遮盖了烙疤,敌人也轻易察觉不到这 个蹊跷。
加密后的密文即使摆在敌人面前,他们也搞不清楚其真实内容,但让他们知道了这是件隐藏着重要情报的密文,就会拼命破解,这总归不是好事。如果密文摆 在他们面前,他们竟然毫无察觉,那当然更好了,这就是隐写术。凯撒给传令兵头上烙疤就是隐写术的鼻祖。谍报小说里经常会介绍到这样的场景,潜伏者用淀粉水 写情报,晾干后再在上面写一封信作为掩护,收信者并不关注信的内容,而是在信纸上涂上一层碘,淀粉水情报就会变成蓝色显示出来了。这样的一封信,即使让特 务机关拆开审查,只要不知道这个门道,那什么也查不出来。

很多加密术看起来非常巧妙,但随着计算机的诞生,这些被称为古典密码术的方法全部失效,因为它们根本抵挡不住计算机的穷举分析。现代密码学的思路跟 古典密码术非常不同,它是先找出一个数学难题,然后把加密方法归结到这个难题,若解不出这个数学难题就破解不了他的密码。隐写术也逐渐脱离了物理和化学反 应,而是与加密术结合了起来,把秘密隐藏在数据中,现代密码学更加引人入胜,且等以后慢慢道来。

Dec 9, 2010

IIDX高手《灼熱Beach Side Bunny》AAA过关录像

说实话,虽然自己以前玩儿VOS在本地还是小有名气,但是看到这个还是傻了⋯⋯

Ten more science stunts for Christmas

能解释几个,有些还是不明白。求真相~

Dec 8, 2010

使用网页代理翻墙的优点和风险

网页代理简 单易用,你无需安装任何软件,如果 在未过滤地区没有可靠的联系人,你甚至 可以使用公开的网页代理。私人网页代理可以定制,从而满足使用者的不同需要,并且更不易被审查机构发现和屏蔽。但是网页代理也有潜在的风险 。它们一般只允许网页浏览(HTTP),所以无法用于电子邮件和即时通讯服务。很多网页代理都不支持多媒体(如YouTube),或者无法加密(SSL, 安全套接协议层)。有些需要认证 的网络服务(如网络电子邮件)通过网页代理无法使用全部功能,你的密码和其它信息可能被监视或被盗。

网页代理还可能 被屏蔽或拦截。公开网页代理的网址通常广为人知,可能被屏蔽。私人网页代理需要使用者在未屏蔽地区有联系人。网络运行商可以拦截未经加密的网页代理通讯内容,所以关键词过滤对未加密网页代理可能依然有效。

网页代理使用者需要记住,网页代理提供者可以读取自己的通讯内容,记录使用网页代理的IP地址。如果这些信息会给你带来危险,你应该谨慎选择网页代理。

什么是网页代理(WEB PROXY)?

有的被屏蔽网站在本地 无法直接访问,你可以通过网页代理访问。通常,网页代理都有一个表单,你可以在表单里提交想要访问的网址。然后网页代理就会显示你要的页面,但是不会让你和被请求网站之间建立直接联系。

在使用网页代理时,你不需要安全 软件或改变计算机设置。相反,你首先找到网页代理的网址 ,然后输入你想要访问的网址,接着点击"提交"按钮(或类似按钮)。任何计算机都可以使用网页代理,包括网吧里的计算机。

免费网页代理包括 CGIProxy, PHProxy以及Zelune等。所有网页代理都提供相同的基本功能,但有些代理的特定功能(比如访问视频)更强。

你可以从 http://www.peacefire.org/circumventor/ 加入邮件列表 ,或在任何一个搜索引擎里搜索"免费网页代理",然后就可以找到类似 http://www.proxy.org/ 这样的网页代理。 Proxy.org逐一列出了数千个免费的网页代理。

(如果你所在的国家不限制网络访问,并且你愿意帮助其他人绕开审查,你可以在自己的网站或家庭计算机上安装一个网页代理脚本。)

使用网页代理的风险

你应该意识到使用网页代理存在着一些风险,尤其当你使用网页代理是由那些你不甚了解的组织和人员所维护时,这种风险会很大,如果你使用代理来浏览美国国 家公共电台 npr.org这样的公共站点时,你面临的唯一风险只是有人可能会知道你正在使用代理浏览这个站点上的新闻。但是如果你使用代理来进行私人通信或者登录网 页邮箱,网上银行,和网上购物这类应用时,别人可能会盗取并滥用你的个人信息,其中包括个人密码。尤其当你使用的这些服务本身未对信息加密,或者你使用的 代理阻不准你对信息的加密,这种可能性会更大。

缺乏隐私

规避过滤和封锁的系统并不一定具备匿名性(尽管这些系统的名称中可能会包含"匿名"这类的字样!)。如果你与网页代理之间链接并没有加密(很多免费 网页代理就是这样的),代理的运营者或者像互联网服务提供商(ISP)的中间人都可截取并分析通信的内容。在这种情况下,虽然你成功的绕过了封锁,但是网 络运营商还是可以知道你正在使用网页代理,而且还可以知道你所访问的网站以及内容。

那些对链接并不加密的网页带有时候也会使用其他的方式来规避网络过滤。比如,它们使用的一个简单技术就是ROT-13,这类代理会把当前网址链接中 的字母用标准字母表中的字母按照一定规则替换掉。(你可以访问 http://www.rot13.com/ 自己尝试一下),当用ROT-13规则转换后, http://ice.citizenlab.org 网址就变成了uggc://vpr.pvgvmrayno.bet,它可以让关键词过滤器无法识别。这可以帮助你访问目标站点,不过它的弱点也很明显:会 话(session)的内容仍然可以起被侦测到,而且使用这种方法加密的网址很容易就会被反向破解出来。


广告,病毒以及恶意软件

一些人架设网页代理是为了赚钱。他们可以网页上出售广告,而然一些不良的代理运营者会使用恶意软件来感染用户的计算机。这类恶意软会劫持你的计算机来发送垃圾邮件和商业广告,甚至用于其他非法目的。

而确保你计算机免受病毒侵害的一个重要方法就是保持软件的更新(其中包括操作系统的更新),以及使用最新的杀毒软件。你也可以使用火狐浏览器的 广告屏蔽插件 AdBlockPlus来屏蔽广告。 ( http://www.adblockplus.org/ ).要想了解更多避免此类风险的信息,用户可以访问StopBadware ( http://www.stopbadware.org/ )网站。ATunnel.com网站的运营者就是通过出售广告来提供免费服务的。它是一个典型的依靠广告支撑的代理服务器。

Cookie和脚本

Cookie和脚本的使用也有风险。用户可以禁止掉许多站点的Cookie和脚本,但是其他许多站点(比如像MySpace这类的社交站点)也需要使用 Cookie和脚本。在开启这些此类选项时要小心,因为即便你重启后,Cookie也会保存在计算机中,所以别人可以通过cookie知道你访问了哪些站 点。应对此问题的一个办法就是有选择的使用Cookie。在火狐3.0版本的浏览器中,你可以告诉浏览器在浏览器关闭之后自动清除Cookie,(同样 的,你也可以告诉浏览器在关闭之后自动清除你的浏览记录)

一些站点和广告商甚至使用这一机制来追踪你使用代理的时段。如果你想保持网络访问的匿名性,这个问题可是一个不小的麻烦,因为这会给你留下一些把柄。比如,别人可以知道公开访问某个站点的人与匿名访问其他站点的人是同一个人。

最后要提醒读者牢记:代理运营者可以看到一切内容

尽管你与这些网页代理之间链接是安全的(加过密的),但是代理的所有者在信息解密之后还是可以看到你的内容的。另一个安全方面的顾虑就越是代理提供者可能会保留的日志文件。当局可能会获得这些日志文件,但是具体如何,这要取决于代理提供者和代理服务器所处的地区。

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger