并行化Camellia和SMS4分组密码
1. Camellia密码简介
Camellia是一种分组密码,对于128位密钥采用18轮Feistel结构,对于192位和256位密钥采用24轮Feistel结构。每6轮会插入额外的输入/输出白化处理以及逻辑函数(FL - 函数和FL⁻¹ - 函数)。其F - 函数采用SPN(替换 - 置换网络)结构,非线性层由8个并行的S盒组成,线性层仅通过按字节异或来表示,并且F - 函数是双射的。
为了抵御差分和线性密码分析,线性层的分支数应为最优值,即分支数 = 5。S盒采用与GF(2⁸)中的求逆函数仿射等价的函数,能达到已知的最大差分和线性概率2⁻⁶。
Camellia的密钥调度在128位密钥版本和192位/256位密钥版本略有不同,但总体相对简单,主要包括两个步骤:
1. 通过Feistel网络从秘密密钥中导出一个(或两个)128位子密钥材料。
2. 通过对秘密密钥本身和导出的子密钥进行不同位数的旋转来生成轮密钥。
2. 并行化Camellia:p - Camellia
提出了p - Camellia(可并行化的Camellia),在加密过程中,用2 - 单元GF - NLFSR分组密码结构替代了Camellia的Feistel网络结构,其他组件(如轮数、S函数、P函数和密钥调度等)保持不变。同样,p - Camellia也有输入/输出白化处理。
3. p - Camellia的差分和线性密码分析
按照特定方法,设p - Camellia缩减到16轮的最大差分和线性特征概率分别为p和q。由于p - Camellia和Camellia使
并行化Camellia与SMS4密码分析
超级会员免费看
订阅专栏 解锁全文
238

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



