Sosemanuk:面向软件的快速流密码
1. 引言
Sosemanuk是一种新的同步面向软件的流密码。它结合了流密码SNOW 2.0的基本设计原则和分组密码SERPENT的变换。其名称既与SERPENT和SNOW相关,同时“Sosemanuk”也是加拿大东部部落的一项流行运动,意为“雪蛇”。
Sosemanuk的密钥长度可变,范围在128到256位之间,支持128位的初始值(IV),且任何密钥长度都声称能实现128位的安全性。它旨在从安全性和效率两方面改进SNOW 2.0,例如采用更快的IV设置过程,减少静态数据量,从而在多种架构上获得更好的性能。
2. 规格说明
2.1 SERPENT及其派生算法
- SERPENT :作为AES候选分组密码,SERPENT对128位的块进行操作,将其拆分为四个32位的字,并以“位片”模式组合。输入和输出的四元组编号从0到3,按(Y3, Y2, Y1, Y0)的顺序排列,输出时遵循小端字节序。
- Serpent1 :是SERPENT的一轮,去掉了密钥加法和线性变换,仅应用S2 S盒(位片模式),输入和输出均为四个32位的字。
- Serpent24 :是SERPENT的简化版本,减少到24轮。它使用SERPENT密钥调度生成的前25个128位子密钥,在Sosemanuk中仅用于加密模式的初始化步骤。
2.2 线性反馈移位寄存器(LFSR)
- 底层
超级会员免费看
订阅专栏 解锁全文
61

被折叠的 条评论
为什么被折叠?



