MD5暴力碰撞&&对王玉斌讲解PPT的总结

        王玉斌者,蓝杰1020组成员也。征战ACM亚洲赛,获金奖,享誉中南信息院。余听其讲PPT两次,由浅入深,通俗易懂,颇有感触,遂总结一下,发到博客中来,与诸君共勉。

        最近的一次PPT讲解是对MD5暴力碰撞的分析,因为需要处理大量的数据,蓝杰组建Hadoop集群对简单的密码进行蛮力破解试验。他的讲解是基于这样的一个背景下而来的。

       
   
 
       首先玉斌对我们经常遇到的一个现象,在QQ中传送文件时这一现象进行了互动,为什么我们在传一个大的文件,瞬间就传上去了。讨论的大概结果是在腾讯的服务器中存了这么一个文件,在传输的过程中服务器会进行检测,服务器中是否有这么一个文件存在,而且在互动中,我中枪了。当玉斌问到是否与文件名有关时,就回答了一个有关,于是他改了个文件名,然后也是很快就传过去了(这里附一个:传输的文件是JDK,这东东腾讯服务器中肯定存在了)。于是问题抛出,腾讯是如何做的呢?

 
   
 
        而后,使用了现实中的两个Boy争抢一个Girl的例子,对网络传输中的安全性问题又抛出了疑问?那这两个问题我们可以采用什么样的方式解决呢?于是有了数字摘要这一概念的出炉,这张PPT中将数字摘要类比为一个函数的功能。MD5就是这样一套算法,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sha碰撞,MD5碰撞实现,#!/usr/local/bin/perl # It was noted that Intel IA-32 C compiler generates code which # performs ~30% *faster* on P4 CPU than original *hand-coded* # SHA1 assembler implementation. To address this problem (and # prove that humans are still better than machines:-), the # original code was overhauled, which resulted in following # performance changes: # # compared with original compared with Intel cc # assembler impl. generated code # Pentium -25% +37% # PIII/AMD +8% +16% # P4 +85%(!) +45% # # As you can see Pentium came out as looser:-( Yet I reckoned that # improvement on P4 outweights the loss and incorporate this # re-tuned code to 0.9.7 and later. # ---------------------------------------------------------------- # Those who for any particular reason absolutely must score on # Pentium can replace this module with one from 0.9.6 distribution. # This "offer" shall be revoked the moment programming interface to # this module is changed, in which case this paragraph should be # removed. # ---------------------------------------------------------------- # $normal=0; push(@INC,"perlasm","../../perlasm"); require "x86asm.pl"; &asm_init($ARGV[0],"sha1-586.pl",$ARGV[$#ARGV] eq "386"); $A="eax"; $B="ecx"; $C="ebx"; $D="edx"; $E="edi"; $T="esi"; $tmp1="ebp"; $off=9*4; @K=(0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6); &sha1_block_data("sha1_block_asm_data_order"); &asm_finish(); sub Nn { local($p)=@_; local(%n)=($A,$T,$B,$A,$C,$B,$D,$C,$E,$D,$T,$E); return($n{$p}); } sub Np { local($p)=@_; local(%n)=($A,$T,$B,$A,$C,$B,$D,$C,$E,$D,$T,$E); local(%n)=($A,$B,$B,$C,$C,$D,$D,$E,$E,$T,$T,$A); return($n{$p}); } sub Na { local($n)=@_; return( (($n )&0x0f), (($n+ 2)&0x0f), (($n+ 8)&0x0f), (($n+13)&0x0f), (($n+ 1)&0x0f)); } sub X_expand { local($in)=@_; &comment("First, load the words onto the stack in network byte order"); for ($i=0; $i<16; $i+=2) { &mov($A,&DWP(($i+0)*4,$in,"",0));# unless $i == 0; &mov($B,&DWP(($i+1)*4,$in,"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值