ComSec作业6

11.1、安全Hash函数需要具有哪些特性?

①输入长度可变:H可应用于任意大小的数据块
②输出长度固定:H产生定长的输出
③效率:对于任意给定的x,计算H(x)比较容易,用硬件和软件均可实现
④抗原向攻击(单向性):对于任意给定的Hash码h,找到满足H(y)=h的y在计算上是不可行的
⑤抗第二原向攻击(抗弱碰撞性):对于任意给定的分块x,找到满足y ≠ \neq =x且H(x)=H(y)的y在计算上是不可行的
⑥抗碰撞攻击(抗强碰撞性):找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的
⑦伪随机性:H的输出满足伪随机性测试标准

11.2、抗弱碰撞和抗强碰撞之间的区别是什么?

对于抗弱碰撞 ,攻击者对给定的Hash值h,试图找到满足H(y)=h的y,穷举攻击方法是随机选择y,尝试计算其Hash值直到碰撞出现,对于m位Hash值,穷举规模大约是 2 m 2^m 2m,平均尝试 2 m − 1 2^{m-1} 2m1才能找到。
对于抗强碰撞,攻击者试图找到两个消息或数据块x和y,满足H(x)=H(y),对于m位Hash值,预计在 2 m / 2 2^{m/2} 2m/2次尝试就可找到。
一个函数如果是抗强碰撞的那么也同时是抗弱碰撞的

11.3、Hash函数中的压缩函数的作用是什么?

压缩函数将一个较长的、固定长度的输入处理后返回一个较短的、固定长度的输出。

11.7、给出海绵结构的定义

海绵结构与其他迭代Hash函数的结构相似,且允许输入长度和输出长度都可变,在海绵函数中,输入消息被分块为固定长度的分组。每个分组逐次作为每轮迭代的输入,同时上轮迭代的输出也反馈至下轮的迭代中,最终产生一组输出块。
海绵函数由三组参数定义:
f = 内部函数,用于处理每轮的输入分组
r = 输入分组的位长度,称其为位速率(bitrate)
pad = 填充算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值