新型密码分析技术:CAST与Camellia的线性及差分攻击
在密码学领域,对加密算法的安全性分析至关重要。本文将深入探讨CAST - 128、CAST - 256和Camellia三种加密算法的线性和不可能差分密码分析技术,揭示这些算法在面对特定攻击时的安全性。
CAST - 128和CAST - 256的线性密码分析
CAST - 256算法概述
CAST - 256是基于CAST - 128设计的加密算法,块大小为128位,密钥大小可选128位、192位或256位,所有密钥大小的轮数均为48轮,采用广义Feistel网络结构。其加密过程包含6个“前向四轮”和6个“反向四轮”,解密过程与加密过程相同,只是四轮密钥的使用顺序相反。
前向四轮的定义如下:
C = C ⊕ F1(D, Kr1(i), Km1(i))
B = B ⊕ F2(C, Kr2(i), Km2(i))
A = A ⊕ F3(B, Kr3(i), Km3(i))
D = D ⊕ F1(A, Kr4(i), Km4(i))
反向四轮的定义如下:
D = D ⊕ F1(A, Kr4(i), Km4(i))
A = A ⊕ F3(B, Kr3(i), Km3(i))
B = B ⊕ F2(C, Kr2(i), Km2(i))
C = C ⊕ F1(D, Kr1(i), Km1(i))
其中,$Kr(i) = {Kr1(i), Kr2(i), Kr