【密码学】第五章、哈希函数

条件

  • 目的
    • 需要认证的数据产生一个指纹
  • 满足条件
    • 输入任意长
    • 输出固定长
    • 易于软硬件实现

安全条件

  • 单向性
    • 已知x,易求H(x);
    • 已知H(x),求x计算上不可行的。
  • 抗弱碰撞性重要
    • 已知x,找出y(y!=x)使得H(x)=H(y)计算上不可行
  • 抗强碰撞性重要
    • 找出任意两个不同的输入xy,使得H(x)=H(y)计算上不可行

迭代型哈希函数

  • 结构

CV称为链接变量

SHA-1

算法概述

  • 输入
    • 小于2^64比特长的任意消息,划分为512比特长的分组
  • 输出
    • 160比特长的消息摘要
  • 框图

压缩函数

  • 包含4处理过程

  • 每轮处理过程20迭代运算组成;

  • 迭代运算
    A , B , C , D , E ← ( E + f t ( B , C , D ) + C L S 5 ( A ) + W t + K t ) , A , C L S 30 ( B ) , C , D t : N u m b e r   o f   i t e r a t i o n s f t ( B , C , D ) : T h e   b a s i c   l o g i c   f u n c t i o n   u s e d   i n   s t e p − t   i t e r a t i o n C L S s : C i r c u l a t e s   s   b i t   t o   t h e   l e f t W t : A   32   b i t   e x t r a   l o n g   w o r d   e x p o r t e d   f r o m   t h e   c u r r e n t   g r o u p K t : A d d i t i v e   c o n s t a n t + : + % 2 32 A,B,C,D,E\leftarrow (E+f_t(B,C,D)+CLS_5(A)+W_t+K_t),A,CLS_{30}(B),C,D\\ t:Number\ of\ iterations\\ f_t(B,C,D):The\ basic\ logic\ function\ used\ in\ step-t\ iteration\\ CLS_s:Circulates\ s\ bit\ to\ the\ left\\ W_t:A\ 32\ bit\ extra\ long\ word\ exported\ from\ the\ current\ group\\ K_t:Additive\ constant\\ +:+\%2^{32} A,B,C,D,E(E+ft(B,C,D)+CLS5(A)+Wt+Kt),A,CLS30(B),C,DtNumber of iterationsft(B,C,D)The basic logic function used in stept iterationCLSsCirculates s bit to the leftWtA 32 bit extra long word exported from the current groupKtAdditive constant++%232

  • 基本逻辑

    • 输入为332比特的字
    • 输出为132比特的字

SM3

算法描述

  • 输入
    • 数据长度为ll<2^64)。
  • 输出
    • 哈希值长度为256比特。

算法对数据先填充,再进行迭代压缩生成哈希值。

  • 填充
    • 使填充后的数据长度为512的整数倍。
    • 中间补零
    • 最后64位为总长度的二进制表示。

CBC构造认证码

M e s s a g e : m = ( m 1 , m 2 , . . . , m n ) C h e c k   c o d e : r = m n + 1 = m 1 ⊕ . . . ⊕ m n A u t h e n t i c a t i o n   c o d e : C n + 1   b e l o w Message:m=(m_1,m_2,...,m_n)\\ Check\ code:r=m_{n+1}=m_1\oplus ...\oplus m_n\\ Authentication\ code:C_{n+1}\ below Messagem=(m1,m2,...,mn)Check coder=mn+1=m1...mnAuthentication codeCn+1 below

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值