当前位置: 首页 > news >正文

建设岗位考试网站重庆建设厂招聘信息网站

建设岗位考试网站,重庆建设厂招聘信息网站,最好的免费建站网站,亚洲网站正在建设中一、哈希函数 1.安全性质 1)抗第一原像攻击(Preimage Resistance) 给定哈希后的值,很难找到哈希前的原消息。这很好理解,需要哈希函数具有单向性。 一个简单的例子就是密码存储系统,用户登录服务器需要…

一、哈希函数

1.安全性质

1)抗第一原像攻击(Preimage Resistance

给定哈希后的值,很难找到哈希前的原消息。这很好理解,需要哈希函数具有单向性。

一个简单的例子就是密码存储系统,用户登录服务器需要密码匹配,服务器出于安全考虑不会存储用户密码,会存储用户密码的哈希值,这样,每次用户发来密码,进行哈希来看是否一致。这样的话,即使黑客获得了用户密码的哈希值,也没办法登录系统。

2)抗第二原像攻击(Second Preimage Resistance

给定消息m和哈希后的值,很难找到另一个消息n,使得n哈希后的值和m哈希后的值一样。

一个简单的例子是软件下载时使用哈希来校验文件的integrity,用户下载软件后,使用哈希函数得到值,来和开发者提供的哈希值对比,如果一致就认为下载的文件没有被篡改。这里如果黑客可以通过开发者提供的哈希值和文件,找到一个哈希值一样的文件,那么他就可以替换掉这个文件。

3)碰撞避免(Collision Resistance

对于一个哈希函数,对于找到两个具有相同哈希值的消息m,n是计算上不可能的。尽管哈希是理论上无限的域向固定域的映射,总会碰撞,但是要保证计算上找不到这个碰撞。

一个简单的例子是,发送信息的人本来就是黑客。例如b找到了两个相同哈希值的文件,他让a签署,文件1只需要a付出很小的代价,而文件2需要a付出很大的代价。那么b就将文件1发给a签,签完之后说a签的是文件2。

2.SHA-1

任意长比特串-->160bits哈希值

1)padding

先在后面补1,然后补0直到长度L%512=(512-64),因为sha-1每次对512bit做处理,所以整体长度一定是512的倍数,那么为什么要512-64呢,因为最后64位要留着指示消息的长度,注意这里消息的长度指的是padding前的初始长度。

2)然后就是计算了,取第一个512bit和初始值做计算,计算结果160bit作为初始值和下一512bit做计算,这样一直下去最后产生160bit的哈希值。

看看每512bit这个计算具体是如何做的。

首先512bit下来了将他扩展成80个w,每个w是32bit。前16个w直接照抄原来的512bit,之后每个wt都通过以下式子计算得出,s几就是循环左移几位。

得到80个w之后开始计算,先拿初始值填充abcde,然后每个w进行一轮计算。

这是前20个w进行的前20轮计算的例子,总共的80轮只有f和w不一样,f是每20轮有一个f,而80轮的w对应先前生成的80个w。

这个计算就是把先前的abcde分别做一些移位、置换之类的操作,生成新的abcde。

80轮之后,把最后生成的abcde和一开始的初始值分别相加,生成这一阶段的最终的160bit值,如果还有下一阶段,那么这160bit值就是下一阶段的初始值。

注意这里所有的+都是模(2的32次方)加。

3.SHA们

不同版本的sha的参数的对比

4.生日攻击

根据生日悖论,一个群体中有两个人生日是同一天的概率比直觉要大。

对于一个大小为2的n次方的哈希输出空间,找到两个同样哈希值的输入,在尝试2的n/2次方次时,概率为50%。

那么这里有一个攻击的例子,a产生消息给b签字。

a产生2的n/2次方种同一正常消息的变种(就类似于我是老师/老师是我)这样的变种,就对应2的n/2次方个哈希值。然后再产生2的n/2次方种个诈骗q消息。这样,正常消息和诈骗消息中有很大概率有相同哈希值的,这样他就找到了一组相同哈希值的消息,只用了2的(n/2+1)次方次尝试,这比正常的暴力破解平均2的n-1次方要快了不少。

二、消息摘要(Message Digest

很多时候消息并不在意confidentiality,比如一些广播包,亦或者刚才提到的软件下载。只需要保证消息的integrity就好了,那么如果还是对消息加密的话,尽管可以保证integrity(因为加密之后别人没法篡改,篡改了解密出来就是乱码了),但会有很大的不必要的开销,相当于做了额外的工作,那么这个时候可以采用一种简单的模式,那就是把消息哈希之后,把哈希值附在消息后面传。收包的收到之后对消息哈希,然后比对自己哈希出来的和对方传来的,一致就认为没问题。

但是如果有人在途中同时改了消息和消息摘要,就不行了。

三、MAC(Message Authentication Code)消息认证码

双方共享一个秘密(一串数,一个密钥),发送方将这个秘密和消息m链接,然后哈希,将哈希附在消息后面一起发送,接收方收到之后,将秘密和消息m链接,然后哈希,发现得到的值和发送方发来的一致,那么就认为消息未被篡改。

这里就是通过双方共享密钥来做了认证。

但是这里还有一个问题,他不能抗否认,就是这个key是双方都有的,他会耍赖说这个消息不是我发的,是你发的。要做抗否认(Non-repudiation),就需要下面讲的数字签名技术。

这里再介绍一个MAC算法,HMAC。这个的设计理念就很OCP,他想直接套现有的哈希函数,并且让以后的哈希函数亦可以直接套进来。

首先把密钥用0padding成哈希的分组长度,然后在和ipad做异或,作为进入哈希的第一个块,然后进哈希函数,出来哈希函数对应的n比特哈希值。

然后还要走第二轮,第一个块还是密钥用0padding成哈希的分组长度异或上另一个op,第二块就是刚才生成的n比特哈希,这里注意sha是有自己的padding机制的,所以这里不用padding。这两个块再过一遍哈希,得到的就是消息认证码。

四、数字签名

要做抗否认(Non-repudiation),那就不能使用双方的共同秘密,就要用到只有一个人有的,且别人都不知道的,那就是公钥技术。

所以这样就可以先把消息哈希,然后用自己的私钥签名,然后再把这个结果附在消息后面传输。对面收到后,对消息哈希得到哈希值,然后再拿你的公钥解你附在后面的签名后的哈希值,这样匹配了,就达到了(integrity),且这是拿你的私钥签名的,没法抵赖(Non-repudiation)。

http://www.yayakq.cn/news/584083/

相关文章:

  • 郴州做网站的公司论坛网站怎么建设
  • 网站5g空间在网站做推广属于广告费吗
  • 新乡建设公司网站云服务器怎么样做网站
  • 什么网站做英语翻译练习wordpress建淘宝客网站
  • 展台设计搭建公司排名南京网站优化多少钱
  • ( )是网站可以提供给用户的价值江苏建设工程集团
  • 个人免费网站建设模板php网站开发培训学校
  • 龙元建设集团股份有限公司网站地址石家庄做网站的公司
  • 公司网站建设存在问题百度竞价推广怎么收费
  • 学校网站建设市场合肥高新城建设计院网站
  • 西安做网站的网络公司公司官方网站建设申请
  • react做的网站有哪些畅言wordpress
  • 佛山市网站建设分站企业济宁网站建设哪家好
  • 网站建设方案书模版重庆荣昌网站建设价格
  • 网站后台用esayui做网络设计公司排名
  • 灯具的网站建设免费ppt模板下载医院
  • python做网站多少钱百度一下你就知道移动首页
  • 网站开发接单wordpress 海淘主题下载
  • 徐州建设局网站安全证韶关市网站建设招标
  • 开鲁seo网站网站建设与网页设计总结
  • 做视频网站广告收费网站开发及技术路线
  • asp做的网站怎么发布wordpress dragon
  • 网页设计教程基础合肥网站seo优化排名
  • Delphi 网站开发框架中国域名备案查询系统
  • 深圳集智邦是网站建设公司电子商务公司管理制度
  • 龙潭湖网站建设设计师共享平台
  • 红酒网站页面设计总结利用qq 群做网站推广
  • 网站首页模块做网站定制开发的公司
  • 做网站的主要收入广州公司注册虚拟虚拟地址
  • 中国建设银行积分商城网站wordpress固定链接无法访问