| 以文本方式查看主题 - Sci论坛 (http://cqsiam.cn/slxy/scibbs/index.asp) -- 信息与计算科学系 (http://cqsiam.cn/slxy/scibbs/list.asp?boardid=7) ---- [转帖]世界震惊 美国担心 王小云破解全球两大密码算法! (http://cqsiam.cn/slxy/scibbs/dispbbs.asp?boardid=7&id=5561) |
| -- 作者:夜莺 -- 发布时间:2005/4/17 23:17:09 -- [转帖]世界震惊 美国担心 王小云破解全球两大密码算法! 默默无闻的王小云一鸣惊人,山东大学信息安全实验室一夜之间成为让世界注目的科研机构。 这几位研究人员太疯狂了 |
| -- 作者:雨飖 -- 发布时间:2005/4/17 23:59:12 -- 关于王小云破解MD5之我见(转载)
CSDN一篇报道说中国数学家王小云等在Crypto 2004上提出一种能成功攻破MD5的算法,GIGIX和王兄都在BLOG里引用了相关的报道。 MD5是一种摘要算法,所以理论上是不可能从签名取得原文(见下面说明)。认为要从MD5的结果中取得原文才算破解,本身就是对摘要算法的误解。它通常应用于数字签名中,用于标识原文的原始性--即在签名后未作任何的修改。如果可以用不同的原文可以产生相同的签名,这也就意味着签名可能失效,就已经可以证明这种摘要算法的不安全。 RL提供的王小云的报告我看了一下,因为我不是做这方面的,所以对MD5算法本身的实现,以及文中所引用的之前别人的理论都并不了解,所以不是很明白。在这份报告中,介绍MD5破解的部分只有一页半,并未细说具体的算法,但在末尾附了两对1024位原文的碰撞例子,较之96年别人提出的512位碰撞有了很大的进步,并且计算量据说在一个小时左右。 这些都是进步,如果把这说成是吹嘘就未免有点妄自菲薄了。 王小云的发现证明了有方法可以产生碰撞,但正如GIGIX那边一位匿名兄所说,这只是非特定碰撞,而要伪造签名则必须能产生特定碰撞。所以说MD5并未被完全攻破,但也已经是一个重大的突破了。 因为我手头没有像《应用密码学》这样的介绍具体密码算法的书,只有一本卢开澄的《计算机密码学》,主要是从数学的角度介绍了几类密码算法的原理及其适用领域。不过因为密码学是基于较为高深的数学理论,比如数论、群论、有限域等,但俺的数学不行,所以具体理论也说不出个一二三四来,只能泛泛地说个五六七八。^O^ 首先要说的是为什么需要使用密码?因为我们通常的通信环境是不安全的。 那什么是不安全的通信环境呢?不安全至少表现在两个方面:一是通信的内容可能被窃取;二是通信的内容可能被篡改。 通常的密码使用就是为这解决这两方面的问题。 而如果有方法使某种密码的作用失效,就可以说这种密码被破解了。 当然不安全还有一些其它的方面,那些问题通常除了需要密码以外,还需要用一些特别的协议,很少碰到,这里就不提了。 常用的密码有很多种类,其中最常用的是这三种: 对称密码的特点是:加密与解密用相同的密钥,甚至可能用相同的算法。比如从最简单的异或,到常用的DES、BLOWFISH、IDEA等。它们通常的用途是这样的: 发送方将源文(M)用密钥(K)加密:E=ENC(M,K) 只要算法足够好,并且保管好密钥(K),就可以保证这种通信是安全的,因为别人即使知道了密文(E)和算法ENC/DEC,也无法知道明文(M)。 对于这种密码来说,如果有方法可以从密文(E)和算法ENC/DEC中导到密钥(K)或明文(M),则意味这种密码被破解。比如简单异或算法就可以用统计分析法简单地破解掉。但即使是现在被认为不够安全的DES算法(已经有近三十年历史了),也需要有大量的明文/密文对(2的数十次方对),并需要大量的计算时间才能求得其密钥(K)。 非对称密码是因为这样的原因:因为在对称密码中,通信双方需要约定一个共同的密钥(K),如果这个约定过程也不安全,就可能出现密钥的泄露,而对于对称算法来说,密钥一旦泄露,之后的通信过程也就不攻自破了。 通常的非对称密码就是所谓的公钥密码算法,比如现在最常用的RSA(由R. L. Rivest和A. Shamir等人基于大数的因数分解极为困难的原理而创建),或是最近更为时髦的“椭圆曲线”,因为我的数学水平太差,具体算法也说不清楚,只知道大致是这样的: 顾名思义,它所用的算法特点在于加密与解密用的密钥是不一样的。做法大致如下: 发送方自己生成一对密钥:私钥(KA)和公钥(KPA) 当然,如果有方法可以从公钥导出私钥来,则这种算法即告被破解。但至少目前RSA还是安全的,因为从现在的数学理论上可以证明RSA的算法是一类NPC(NP完备)类问题,只要密钥足够长(RSA要求至少是10的100次方以上,实际使用时更要大得多),以现在最先进的计算机来算,其时间成本也是不可能达到的。 摘要算法则与上面两种完全不同,前面两种密码是用于防止信息被窃取,而摘要算法的目标是用于证明原文的完整性,也就是说用于防止信息被篡改。通常也被称为:HASH算法、杂凑算法、签名算法。它的特点是:从不定长的原文中产生一个固定长度(如MD5是128位)的结果,称为“签名”(S),这个签名必须对原文非常敏感,即原文即使是有少量的变化,也会导致这个签名面目全非。比如传统的CRC或是现在要说的MD5、SHA等都是这类算法。 摘要算法的用途通常是这样的: 比如用户密码验证:如Linux或一些论坛用的方法,用户设置密码时,服务端只记录这个密码的MD5,而不记录密码本身,以后验证用户身份时,只需要将用户输入的密码再次做一下MD5后,与记录的MD5作一个比较即可验证其密码的合法性。 比如发布文件的完整性验证:比如发布一个程序,为了防止别人在你的程序里插入病毒或木马,你可以在发布这个程序的同时,公开这个程序文件的MD5码,这样别人只需要在任何地方下载这个程序后做一次MD5,然后跟公开的这个MD5作一个比较就知道这个程序是否被第三方修改过。 一个安全的摘要算法在设计时必须满足两个要求:其一是寻找两个输入得到相同的输出值在计算上是不可行的,这就是我们通常所说的抗碰撞的;其二是找一个输出,能得到给定的输入在计算上是不可行的,即不可从结果推导出它的初始状态。 反之,如果某种摘要算法不能同时满足上面两个条件,则它就是不安全的。其实主要还是前一个条件,因为从理论上很容易证明后面一个条件基本上都是可以满足的: 摘要算法对任意长的原文产生定长的签名,按照香农的信息论,当原文的长度超过一定的程度的时候,签名中就无法记录原文中的所有信息,这意味着存在着信息的丢失,所以我说理论上不可能从签名中恢复原文。 为什么说理论上呢?就是说当这种摘要算法被完全攻破时,也就是说可以从签名恢复出任意原文,注意:是任意原文,因为所有的摘要算法的特点就是存在着一个无穷大的碰撞原文的集合。而真正的原文只是其中一份。对应这个无穷大的集合来说,这就是一个无穷小,便是我曾经说过的: 反过来,如果现在这种摘要算法被攻破了,可以从 i 反推回去,但因为 i\' 信息已经丢失,意味着 i + I\' (其中 I\' 为任意信息)都可能是 I (碰撞)。但 I\' 是一个无穷集合,并且 i\' 属于 I\'。这说明:理论上可以从 I\' 中找到 i\' 从而恢复出原文 I ,但是可能性为零(1/∞=0)。 但要做到前面一点就不容易了。因为绝对无碰撞的算法不可能是一个摘要算法,而只能是一个无损压缩算法。它必须包含原文的所有信息,也就意味着它一但被攻破,可以唯一地恢复出原文。并且它的结果肯定是不定长的,因为它需要包含原文的所有信息,当然会根据原文的长度而变。仅这两点就决定了,它不可能是一个好的签名算法。 最主要的一点是:摘要算法的用途决定了,它只要能找到碰撞就足以让它失效,并不需要找到原文。 以前面的两个例子来说: 比如Linux的用户安全机制,只要得到用户密码文件(其中记录了密码的MD5),然后随便生成一个碰撞的原文(不一定要跟原密码相同),就可以用这个密码登录了。 但后面的程序发布的例子就要难得多,因为它必须能生成特定的碰撞,即在程序中插入病毒或木马后再填充一些数据使之生成与原来相同的MD5。 不过我昨天仔细想了一下,以MD5为例,要产生特定的碰撞应该还是不太可能的,因为MD5的128位信息量已经有点大了,如果要产生特定碰撞,需要填充的数据可能非常之大,导致伪造的原文比真实的原文大得多,可能达到若干个数量级的差别,这样的伪造就已经失去意义了。 王小云的成果已经完全使Linux用的那种基于MD5的身份验证技术失效了,虽然从技术上说它被完全攻破,还为时尚早,但从法律角度上说,已经“动摇了差不多整个数字签名界的根基”(令狐语,全文如下)。 我所谓的“动摇根基”云云,是从法律失效的角度说的,而不是从纯技术角度说的。 |
| -- 作者:cheel -- 发布时间:2005/4/18 0:18:38 -- 也来凑热闹,下面这篇文章也挺深刻的哦!!!!!!!!!!!! 王小云教授成功了。而且,不是一般的成功,她的成果震惊了国际密码界。就连现代密码学的奠基者 Shamir 教授都称赞她是一颗新星,“a new star”! 在无论如何都为她高兴的同时,我一直在想:在藏龙卧虎的山大,甚或在精英辈出的中国,为什么成功的是王小云,而不是那些比她更有名更有资历的人,为什么不是那些我耳熟能详的“杰出学者”,为什么不是我?
我估计来自官方的报道,一定不脱这样的套路:领导师长的引导培养,同行同事的支持帮助,个人的执着努力,等等。
这些,我都认为是真的,而且是一定需要的。但是这些我也有呀!不光如此,我还比原来的王小云有名呀,那为什么不是我呢?
我看了一下小云教授的资料,比较一下,我的疑惑就更多了:小云教授在获得这样的成就之前,一直是默默无闻的,甚至在我们山大。 我不知道在她所从事的领域的情况,但是至少在青年“精英”的圈子里,是这样的。她没有当过“杰出青年”,好象也从来不是任何一个青年精英组织的成员,什么青联,青科协,一概都不是其中一员;也没见她在哪一个企业兼职做总经理或独立董事。甚至咱山大的展校长也走了眼,没有早发现这样的人才,没有给她早戴上几顶花环!
但也许就是因为上天和组织的疏忽,才成就了小云教授的今天:就因为默默无闻,才能一鸣惊人!
就象我吧,可以说少年得志,也就是说在我刚刚有了一点点什么的时候,我想要的和没敢要的全来了,在一瞬间。我成名了,成功了,我有了无数的社会兼职,学术的和非学术的,全国的省市的甚至区的甚至外省的,本领域的跨行业的,青年的老中青的。有一次出访,组织者希望我们把社会兼职印在名片上,我发现我们团里绝大部分团员的头衔是多得在名片上印不下的。
这么多年来,我一直把这些当作是荣誉,并乐在其中,当然还经常有一些为社会服务的神圣。但今天,我算了一下,从去年此刻到现在,我一共参加了全国性的青年组织的理事会三个,分别在河南,广西和我们山东;参加了两个青年论坛,在河南和河北;参加了青年专家服务黑龙江活动;还有在本地各级青年组织和其他组织搞的各种研讨会,讲座,交流和各种名义的聚餐!看看,我在和我的专业无关的但有意义的活动上花了多少时间呀!!!这个计算结果太让我恐惧了!而且,我还请了假,没有参加去江西,宁夏和湖北等地的活动呢!要是我都去了呢,天哪。我可是上个世纪就“杰出”了!这些年来,我在这样的一些活动上面,花了多少时间啊!
也难怪,这么多年,我一直没有更大的进步!
从这种意义上讲,让我当这个委员做那个理事,哪里是组织对我的关心和鼓励呀,这分明是组织对我的考验嘛!考验我的意志,耐力,体力,定力!
我不完全是为自己辩解,也不是不懂事地不知好歹,但是,我确实是个凡人,我相信小云教授也是。我很难做到在习惯了鲜花簇拥之后,再一个人孤独地留在办公室里,象现在这样思考;我也很难想象小云教授会在一个又一个的主席台上,一边听讲话一边完成她的研究。
所以,小云教授成功的原因之一,也许是重要原因,是她什么都不是。在此之前,什么都不是。
我不知道小云教授是否曾经对此有过抱怨,也不知道和小云教授有过相似经历的人是否有过抱怨,我理解这些抱怨都再合理不过了。但了解了我的想法,是不是能让你们有一点点改变呢? 能不能让你们觉得曾经被遗忘才是幸运呢,特别是在浮躁异常的今天?
还有几句话给展校长:小云教授之前的“未被重用”,也许正是山大造就人才,特别是大才的高明之处。小云教授年轻有为,前程远大,她的成就将给她带来很多的奖励和荣誉,但是,能不能在她领完了奖,介绍完经验,拥有了各种荣誉之后,还继续帮她营造一个“默默无闻”的环境呢?
[此贴子已经被sciadmin于2005-5-5 12:20:39编辑过]
|
| -- 作者:曾理 -- 发布时间:2005/4/19 11:41:55 -- 深有同感。 (1)我们系将密码学作为一个方向,看来是对的,虽然起步有些晚。 (2)一个人的精力有限,特别是人到中年。很想静下心来作些研究,但行政事务太多,连备课都要等周末。 |
| -- 作者:mathman -- 发布时间:2005/5/2 15:49:58 -- 前不久(杨虎院长去美国访问讲学前),我向杨院长请示研究生课程设置的问题,他曾提到上述消息。杨院长认为,我们学院也是有能力在密码学方面有所作为的。随后,我与曾理教授谈到这个问题,他也十分赞同杨院长的看法。为此,我们在研究生课程设置中特别增加了一门新的课程——“现代密码学理论与方法”,并计划邀请乔进博士(重庆市一家信息安全公司的老总,我们学院数学专业的毕业生)来担任该课程的教学。 我们希望我院数学学科的导师(特别是有计算机、自动化等学科博士学位的导师)选择部分研究生从事这方面的研究,也希望将来入学的研究生积极选择这个方向为研究课题。 [此贴子已经被sciadmin于2005-5-5 12:19:26编辑过]
|
| -- 作者:曾理 -- 发布时间:2005/5/5 20:48:58 -- 说“学院理论太强”可能是,说“实践一点都没有”有点片面。至少我对我指导的研究生是这样要求:(1)掌握数学理论知识,多发表文章。(2)掌握计算机编程技能,能解决实际问题。这样以后不论是到高校还是到公司就业,都有竞争力。至于说“大学靠自学”,对本科生主要是针对学习计算机语言等实际编程技能。以上看法,供讨论。 |
| -- 作者:lolla -- 发布时间:2005/5/21 22:13:28 -- 学密码血需要什么基础吗?只要数学底子好吗? |