第五百三十九章 椭圆曲线算法
广永元的办公室内,静悄悄地,只能听到偶尔有手指敲击键盘的声音。
广永元站在林鸿的身后,一脸地惊诧和激动。
林鸿的表现,让他非常震惊的同时也升起了一种期待。
这种期待,并不是因为如果林鸿将其破解出来,他们公司这次就不用遭受损失,而是能够亲眼目睹一个破解大师全称破解一个游戏的荣誉感。
要是林鸿真的能够将其破解出来,则说明,他的水平很有可能达到大师级别。
广永元此刻就好像是一位骨灰级的追星族,怀着激动的心情正在听一个歌手在唱歌,如果林鸿能将这首歌唱出来,则说明他是世界级的天皇巨星!
想象一下那些歌迷的疯狂就能了解到广永元此刻的情绪。
前面一路的破解都非常的顺利,这也可以理解,毕竟林鸿之前已经对这个流程研究了一番。
现在,他来到了整个破解的关键之处,速度也渐渐暂缓了下来。
林鸿一步一步地按着调试键,显示器中的一个窗口将当前程序在内存中的变量名和对应的数值显示出来,随着他的动作,不断地变化着。
原本是十六进制的机器码,被反编译软件直接翻译成了汇编代码。
林鸿持续地按了几十次,最终发现又回到了原来的地方,他的眉头皱了皱。
一直没有吭声的广永元这个时候轻声问道:“怎么了?”
林鸿道:“没事,碰到反破解陷阱了。”
反编译软件毕竟是死的,只能根据特定的规则进行翻译,而一些有经验的程序员,则会专门进行反破解设置,他们会故意设置一些无效的变量用于干扰视线,甚至可以直接让你的跟踪软件死掉,让跟踪无法进行下去。
像现在遇到的这种反破解陷阱,却是其中非常高级的技术,非常具有迷惑姓,一般很难发现,就算是发现了,也得花大量的时间去一一分析。
不过,这却难不倒林鸿。
他将这段代码直接通过眼睛“复制”到了超脑系统中,然后进行推演模拟,几秒钟就将其中的真正入口找了出来。
然后,他通过调试软件,修改了其中的两个地址,重新反编译,代码又完全不同了。
广永元惊讶地张了张口,最终还是没有问出来。
他完全看不懂,林鸿这一步到底是如何做到的。在他眼里,这段代码完全没有问题,要想找出其中的入口,肯定是需要每一步都下断点跟踪的,可是他看到林鸿却只是盯着显示器看了一会儿,然后便准确地将其找了出来。
这到底是什么情况?
广永元告诉自己,这肯定是巧合。
可是,一次可以认为是巧合,接下来却接二连三地出现了这种情况。
不得不说,《英雄无敌》的确在这方面投入了极大的精力,反破解陷阱竟然随处可见。
广永元终于确定,林鸿之前并不是运气,而是真的拥有能够仅仅凭借心算,就能准确地找出反破解陷阱入口的能力。
“这就是大师?”广永元自问道。
在之前,他一直不能理解,为什么大家说要成为大师,除了时间、毅力和勤奋,还需要天赋,在这一刻,他总算有了深切的体会。
这个时候,林鸿再次来到了一个重要关口。
他回头看了广永元一眼,说道:“难怪这么难破解,原来是使用了ECC加密算法。”
ECC加密算法,即椭圆曲线加密算法。
其实,加密算法最终可以归结为数学问题,很多加密算法,就是根据至今未能解决的数学问题而发明的。加密算法安不安全,直接跟这个数学问题有没有解决直接挂钩。
而椭圆加密算法的原理也是这样,问题为:给定素数P和椭圆曲线E,对Q=kP,在已知P,Q的情况下求出小于p的正整数k。
可以证明,已知k和P计算Q比较容易,而由Q和P计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。
椭圆曲线公钥系统是代替RSA的强有力的竞争者,与RSA相比,这个算法还拥有安全姓更高、计算量小以及存储空间占用小的优点,故而有着非常广泛的应用。
广永元身为业内人士,对一些知名的算法自然非常了解。虽然他早有心理准备,但是听到林鸿的话之后,还是被震了一下,毕竟ECC加密算法实在是太出名,太复杂。
广永元原本升起的希望顿时又破灭了。
难怪这么多人搞不定这个游戏的破解,原来关键在于这个ECC算法。
他几乎已经对林鸿的这次破解不抱什么希望。
刚想说什么安慰一下林鸿,说就算破解不出来也可以理解,可是还没等他说出口,林鸿又说话了。
“咦?有点意思!没想到里面还藏了一个Rijndael加密算法。”
这次广永元彻底懵了。
Ri什么算法?
这是什么算法?在他的脑海中,从来没有这个算法的任何信息。
而这个时候,他才反应过来,不由愣愣地问道:“你……这么快就看到第二个算法了?”
林鸿笑笑,道:“椭圆加密算法虽然复杂,但是他们并没有很好的发挥出它的作用。”
在林鸿看来,他们只要将椭圆加密算法充分发挥一下,别人要想破解,难度肯定可以再次翻倍,根本不用再到后面加上这个Rijndael算法,简直有点画蛇添足的感觉。
广永元问道:“你刚刚说的什么算法?”
“R-I……”
林鸿将这个算法的名字重新拼了一遍,广永元连忙用笔在纸上记了下来。
最终他确认自己之前从来没有接触过,非常的陌生。
林鸿解释道:“这个算法是AES标准的一个实现,他们所使用的是其中一个比较小的版本,只有52位,属于对称算法……”
Rijndael最早由比利时计算机科学家开发,后来被美国国家标准技术研究所选择作为美国政斧加密标准的加密算法,取代早期的数据加密标准DES。
正当广永元在心中惊叹于林鸿对这些加密算法了若指掌,其中典故顺手拈来的时候,却听到林鸿突然说道:
“搞定了。居然用了三十三分钟,不好意思,不小心说了大话,原本以为半个小时就能搞定。”
广永元:“……”
(未完待续)