奇怪的jane's profileJane的空间PhotosBlogListsMore Tools Help

Blog


    September 19

    关于小i机器人

    其实一般在电脑上,由于机器人不够智能,人宁可自己查需要的信息

    最需要一个机器人代理查询的情况是在使用移动设备,直接查询不方便的情况下,所以,小i机器人对于地图等信息的查询结果应该直接返回文本形式的结果,这样,就可以使用手机上可以聊天的客户端或者wap去问小i了

    怎么会有这么神奇的事情发生呢?

    昨天晚上梦见有人把我的嘴唇给打肿了,结果现在嘴唇果然有点肿了,晕!

    September 14

    [转载]数学之美系列二十二 由电视剧“暗算”所想到的 — 谈谈密码学的数学原理

    Google (谷歌)中国的博客网志,走近我们的产品、技术和文化

    数学之美系列二十二 由电视剧“暗算”所想到的 — 谈谈密码学的数学原理

    2007年9月13日 下午 09:00:00

    发表者:Google(谷歌)研究员 吴军
    前一阵子看了电视剧“暗算”,蛮喜欢它的构思和里面的表演。其中有一个故事提到了密码学,故事本身不错,但是有点故弄玄虚。不过有一点是对的,就是当今的密码学是以数学为基础的。(没有看过暗算的读者可以看一下介绍,http://ent.sina.com.cn/v/2005-10-17/ba866985.shtml
    因为我们后面要多次提到这部电视剧。)
    密码学的历史大致可以推早到两千年前,相传名将凯撒为了防止敌方截获情报,用密码传送情报。凯撒的做法很简单,就是对二十几个罗马字母建立一张对应表,比如说


    这样,如果不知道密码本,即使截获一段信息也看不懂,比如收到一个的消息是 EBKTBP,那么在敌人看来是毫无意义的字,通过密码本解破出来就是 CAESAR 一词,即凯撒的名字。这种编码方法史称凯撒大帝。当然,学过信息论的人都知道,只要多截获一些情报,统计一下字母的频率,就可以解破出这种密码。柯蓝道尔在他的“福尔摩斯探案集”中“跳舞的小人”的故事里已经介绍了这种小技巧。在很长时间里,人们试图找到一些好的编码方法使得解密者无法从密码中统计出明码的统计信息,但是,基本上靠经验。
    香农提出信息论后,为密码学的发展带来了新气象。根据信息论,密码的最高境界是使得敌人在截获密码后,对我方的所知没有任何增加,用信息论的专业术语讲,就是信息量没有增加。一般来讲,当密码之间分布均匀并且统计独立时,提供的信息最少。均匀分布使得敌人无从统计,而统计独立能保证敌人即使看到一段密码和明码后,不能破译另一段密码。在“暗算”里传统的破译员老陈破译的一份密报后,但无法推广的原因,而数学家黄依依预见到了这个结果,因为她知道敌人新的密码系统编出的密文是统计独立的。有了信息论后,密码的设计就有了理论基础,现在通用的公开密钥的方法,包括“暗算”里的“光复一号”密码,就是基于这个理论。
    公开密钥的原理其实很简单,我们以给上面的单词 Caesar 加解密来说明它的原理。我们先把它变成一组数,比如它的 Ascii 代码 X=099097101115097114(每三位代表一个字母)做明码。现在我们来设计一个密码系统,对这个明码加密。
    1,找两个很大的素数(质数)P 和 Q,越大越好,比如 100 位长的, 然后计算它们的乘积 N=P×Q,M=(P-1)×(Q-1)。
    2,找一个和 M 互素的整数 E,也就是说 M 和 E 除了 1 以外没有公约数。
    3,找一个整数 D,使得 E×D 除以 M 余 1,即 E×D mod M = 1。
    现在,世界上先进的、最常用的密码系统就设计好了,其中 E 是公钥谁都可以用来加密,D 是私钥用于解密,一定要自己保存好。乘积 N 是公开的,即使敌人知道了也没关系。
    现在,我们用下面的公式对 X 加密,得到密码 Y。


    好了,现在没有密钥 D,神仙也无法从 Y 中恢复 X。如果知道 D,根据费尔马小定理,则只要按下面的公式就可以轻而易举地从 Y 中得到 X。


    这个过程大致可以概况如下:


    公开密钥的好处有:
    1.简单。
    2.可靠。公开密钥方法保证产生的密文是统计独立而分布均匀的。也就是说,不论给出多少份明文和对应的密文,也无法根据已知的明文和密文的对应来破译下一份密文。更重要的是 N,E 可以公开给任何人加密用,但是只有掌握密钥 D 的人才可以解密, 即使加密者自己也是无法解密的。这样,即使加密者被抓住叛变了,整套密码系统仍然是安全的。(而凯撒大帝的加密方法有一个知道密码本的人泄密,整个密码系统就公开了。)
    3.灵活,可以产生很多的公开密钥E和私钥D的组合给不同的加密者。
    最后让我们看看破解这种密码的难度。首先,要声明,世界上没有永远破不了的密码,关键是它能有多长时间的有效期。要破公开密钥的加密方式,至今的研究结果表明最好的办法还是对大字 N 进行因数分解,即通过 N 反过来找到 P 和 Q,这样密码就被破了。而找 P 和 Q 目前只有用计算机把所有的数字试一遍这种笨办法。这实际上是在拼计算机的速度,这也就是为什么 P 和 Q 都需要非常大。一种加密方法只有保证 50 年计算机破不了也就可以满意了。前几年破解的 RSA-158 密码是这样因数分解的
    39505874583265144526419767800614481996020776460304936454139376051579355626529450683609727842468219535093544305870490251995655335710209799226484977949442955603
    = 3388495837466721394368393204672181522815830368604993048084925840555281177 ×11658823406671259903148376558383270818131012258146392600439520994131344334162924536139
    现在,让我们回到“暗算”中,黄依依第一次找的结果经过一系列计算发现无法归零,也就是说除不尽,我猜她可能试图将一个大数 N 做分解,没成功。第二次计算的结果是归零了,说明她找到的 N=P×Q 的分解方法。当然,这件事能不能用算盘完成,我就不知道了,但我觉得比较夸张。另外我对该电视剧还有一个搞不懂的问题就是里面提到的“光复一号”密码的误差问题。一个密码是不能有误差的,否则就是有的密钥也无法解码了。我想可能是指在构造密码时,P 和 Q 之一没找对,其中一个(甚至两个都)不小心找成了合数,这时密码的保密性就差了很多。如果谁知道电视剧里面讲的“误差”是指什么请告诉我。另外,电视剧里提到冯∙诺依曼,说他是现代密码学的祖宗,我想是弄错了,应该是香农。冯∙诺依曼的贡献在发明计算机和提出博弈论(game theory)。
    不管怎么样,我们今天用的所谓最可靠的加密方法的数学原理其实就这么简单,一点也不神秘,无非是找几个大素数做一些乘除和乘方运算就可以了。

    September 13

    [转载]房奴

    2006-04-18 http://yuezh.blogbus.com/logs/2294563.html 溃堤之蚁的巢穴

    最近看到有报道说30%多的贷款买房者不敢换工作,不敢离开所在的城市。被称之为“房奴”。

    这种现象在北京非常普遍。很多人在远郊买房(较便宜),比如天通苑或者大兴什么的。每天差不多两个半小时花费在路上。坐车 - 十三号线城铁 - 环线地铁 - 坐车,很多人每天都要经历这样一个过程。

    对我来说,每天把两个多小时的时间花费在路上是不可想象的。试想,除却睡觉8小时,吃喝拉撒1小时,每天只有15个小时可以支配。两个多小时,真的非常的宝贵。就消耗在公车上了?

    有时候想,为什么要买房子呢?在北京远郊4K买房子应该算便宜的,100平米的需要40万。而用1500元租房子的话,可以在市区内租到很不错的房子,这样算下来可以租大约22年。而这里面还没有计算住在远处产生的交通费用。为什么要买房子呢。

    如果说是为了给孩子留遗产,我觉得没有必要,我希望我的孩子不论是有钱还是没钱,都应该是一个独立的人,像我不会指望父母的遗产一样,我也希望我的孩子能够自己独立的生活。除了独立的人格和谋生的手段,我应该什么都不会留给我的孩子。

    重要的是,我觉得把自己的生活和自由帮在100平米的一个盒子上是一件不划算的事情。人能到世界上走一遭,不容易,如果有机会,我希望能够尽可能多的体验不同的世界,不同的文化和不同的风景。而不是为了一个房间而活。

    还有一点,这样的房价是不合理的,既然不合理,我们为什么还要上当,如果大家都不上当,房价应该会有调整把。

    最后说一点感想,很多人都认为买房买车都是生活的必然,和他们交谈的过程中,我一次又一次的想起那个老套的故事:

    问放羊娃:放羊干什么?

    答:放羊挣钱,…………

    September 12

    梦见妖魔鬼怪

    妖魔鬼怪,有好有坏

    老妖怪(道行高的),都去上电视节目,访谈类的吧,他们是好的,只不过是因为他们不吃人,他们不吃人,只不过是因为他们道行高,不屑于吃人而已。在现场发现了了一个道行低的小妖怪(蛇),就打他咯,呵呵

    September 06

    界面设计的新问题——自然界面

        随着iphone将multi-touch技术带入实际的应用,“自然界面”(定义就不解释了)的交互设计将会成为一个新的方向,他会与现有的基于“窗口(Windows)、图标(Icons)、菜单(Menus)、指针选取(Pointing)”的WIMP界面的交互方式完全不同,比如iphone给我们看到的图片缩放旋转的方式。但是,一个基础的东西产生了,他带来的只是让交互方式更接近自然的可能性,并不是交互方式本身,由multi-touch或者其他新技术带来的新技术很快就会需要运用到设计中来了,但是怎么样去运用这些可以说是推翻现有wimp交互方式的新方式,是一个需要探讨的问题。


    btw:我这里下载有一个multi-touch的开源的小软件,有摄像头的同学可以试一下。我还没有试过,^_^