LRC - 256:高效安全的基于LFSR的流密码
1. 密钥流生成器
密钥流生成器是LRC - 256的核心部分,它由8个不同大小的线性反馈移位寄存器(LFSR)组成,这些LFSR的大小分别为239位、163位、223位、181位、199位、173位、193位和229位,且它们的长度互质。
1.1 S盒选择过程
LFSR采用不规则时钟机制。为了选择初始向量生成器中使用的64位S盒,具体操作如下:
1. 将第1、3、5、7个LFSR的输出位进行异或操作,然后将结果左移。
2. 将第2、4、6、8个LFSR的输出位进行异或操作,然后将结果右移。
3. 这样会得到一个2位的序列,其值为0到3之间的二进制数,用于从4个S盒中选择一个。
1.2 LFSR时钟控制
被选中的S盒的输入是第8个LFSR的输出位,S盒的8位输出决定了下一步哪些LFSR需要被时钟驱动。S盒输出的最低有效位对应第8个LFSR,最高有效位对应第1个LFSR。通过多数函数,LRC - 256确定需要时钟驱动的LFSR。例如,如果S盒的输出是10111001,那么第1、3、4、5和8个LFSR将被时钟驱动并生成新的位,而输出为0的LFSR则保持其先前的值。需要注意的是,由于LFSR的数量是偶数,在输出为0000和1111的情况下,所有LFSR都会被时钟驱动。
1.3 非线性布尔函数处理
将这些LFSR不同阶段的8位作为8个非线性布尔函数的输入,这些布尔函数的非线性度为6,相关免疫阶为2。每个函数有9个输入变量,其中第9个变量的值来自S盒输出的8位中的1位。输出的最低有效位输入到函数F1,最高有效位输入
LRC-256流密码设计与安全性分析
超级会员免费看
订阅专栏 解锁全文
15

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



