Siphash算法

简介

Siphash是一类针对短消息设计的伪随机函数族,可用于消息认证,即作为MAC算法使用,它由Jean-Philippe Aumasson等人于2012年设计(Jean-Philippe Aumasson是SHA3竞赛中第三轮候选算法BLAKE的设计者)。

Siphash从整体结构上看属于ARX算法,设计时参考并结合了BLAKE、Skein、JH三个SHA3候选算法的特点。

密钥和MAC长度

密钥长度128比特;MAC长度64比特。

算法描述

通常具体的Siphash算法表示为:Siphash-c-d,其中整数参数c和d分别表示压缩轮数和终结轮数。压缩轮与终结轮的轮函数相同,称为SipRound。给定128位密钥k和(可能为空)字节字符串m,SipHash-c-d返回64位值SipHash-c-d(k, m)。

初始化阶段

4个64位的内部状态字v_1,v_2,v_3,v_4初始化为:
在这里插入图片描述
其中k_0和k_1是密钥k小端编码的64位字,初始状态的常数对应于大端编码的ASCII字符串“Somepseudorandomlygeneratedbytes”。

压缩轮

SipHash-c-d通过将b字节的字符串m解析为w=⌈(b+1)/8⌉>0个64位的小端编码字m_0,m_1,⋯,m_(w-1),来处理b字节字符串m。
注意:m_(w-1)包括m的一些比特、“0”字符串,以及一个用来表示b mod 256的字节。
1.压缩轮的SipRound运算之前,计算:
在这里插入图片描述
2. 进行c轮SipRound运算;
3. 然后计算:
在这里插入图片描述

终结轮

  1. 终结轮的SipRound运算之前,计算:
    在这里插入图片描述
  2. 进行d轮SipRound运算。

SipHash-2-4算法步骤图示:
在这里插入图片描述

SipRound

SipRound是ARX结构。图示为:
在这里插入图片描述
即:
在这里插入图片描述

算法优点

  1. 安全。(SipHash-2-4达到密码学上强PRF的定义)
  2. 快速。
  3. 密钥简洁。(不需扩展)
  4. 简单。
  5. 自给自足。(不需调用其他基础算法,如AES)
  6. 小状态。
  7. 开销小。(认证消息仅比原始信息长8个字节)

安全性分析

截至目前,对Siphash算法的分析文章有:

  1. Dobraunig, C., Mendel, F., Schl¨affer, M.: Differential cryptanalysis of SipHash. In: Joux, A., Youssef, A. (eds.) SAC 2014. LNCS, vol. 8781, pp. 165–182. Springer, Cham (2014).
  2. Siddappa, S.K., Kaminsky, A.: SAT based attacks on SipHash. Rochester Institute of Technology (2014).
  3. 邹明. 自动化搜索ARX型密码差分-线性特征的模型及应用[D]. 山东大学, 2017.
  4. Xin W , Liu Y , Sun B , et al. Improved Cryptanalysis on SipHash. CANS 2019, LNCS 11829, pp. 61–79, 2019.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值