感染计算与虚拟轮次在分组密码中的应用
1. 冗余Feistel密码算法
1.1 算法定义
为Feistel密码设计了一种冗余算法,即算法4:带有虚拟轮次的冗余Feistel密码。
算法4:带有虚拟轮次的冗余Feistel密码
Input: P, ki for i ∈{1, ... , n} (n subkeys from key K), (β, α, k0).
Output: C = BlockCipher(P, K)
1 State R0 ←Pr ;
Redundant State R1 ←Pr ;
Dummy state R2 ←β ;
2 State T0 ←Pl ;
Redundant State T1 ←Pl ;
Dummy state T2 ←α ;
3 C0 ←0 ;
C1 ←0 ;
C2 ←β ;
i ←1 ;
4 while i ≤2 n do
5
λ ←RandomBit();
// λ = 0 implies a dummy round
6
κ ←(i ∧λ) ⊕2 (¬λ) ;
7
ζ ←⌈i/2⌉λ ;
// ζ is actual round counter, 0 for dummy
8
Rκ ←RoundFunction(Rκ, kζ) ⊕Tκ ;
9
Cκ ←Rκ ⊕C2 ; // infect Cκ to propagate a fault
10
ϵ ←λ(¬(i ∧1)) · SNLF(C0 ⊕C1) ; // check if
超级会员免费看
订阅专栏 解锁全文
12

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



