来福网

代换-置换网络

在密码学中,代换-置换网络(或译作置换排列网络,英语:Substitution-Permutation Network,缩写作SP-network或SPN)是乘积密码和分组加密的一种,美国数学家克劳德·香农在1949年为了找到利用简单的代换-置换方式进行加密的常规加密方式,发明了代换-置换网络。

代换-置换网络是一系列被应用于分组密码中相关的数学运算,高级加密标准(英语:AES)、3-Way(英语:3-Way)、Kuznyechik(英语:Kuznyechik)、PRESENT(英语:PRESENT_(cipher))、SAFER(英语:SAFER)、SHARK、Square都有涉用。这种加密网络使用明文块和密钥块作为输入,并通过交错的若干“轮”(或“层”)代换操作和置换操作产生密文块。代换(Substitution)和置换(Permutation)分别被称作S盒(替换盒,英语:S-boxes)和P盒(排列盒,英语:P-boxes)。由于其实施于硬件的高效性,SPN的应用十分广泛。

一个SPN包括两个长度分别为l, m的映射变换,变换结果为lm分组长度的明文到相同分组长度的密文空间。为对分组进行加密,需要一个同样长度为lm的密钥。而该密钥每一轮加密中均不相同,由初始密钥K按照一定原则产生。加密主要包括三个部分:代换,置换和轮密钥混合(通常为异或(英语:XOR)操作)。 密钥的生成规则称为密钥编排算法。

定义:

π s : { 0 , 1 } l { 0 , 1 } l {displaystyle pi _{s}:lbrace 0,1rbrace ^{l}to lbrace 0,1rbrace ^{l}}

π p : { 1 , 2 , . . , l m } { 1 , 2 , . . , l m } {displaystyle pi _{p}:lbrace 1,2,..,lmrbrace to lbrace 1,2,..,lmrbrace }

为S盒和P盒。加密共N轮。则对

K ( { 0 , 1 } l m ) N {displaystyle Ksubseteq (lbrace 0,1rbrace ^{lm})^{N}}

的密钥编排方案,使用如下算法顺序加密明文x

直至生成密文。

被选作高级加密标准的Rijndael使用的就是8比特映射到8比特的S盒,密钥长度最小为128比特,最小轮数为10,分组长度同样为128比特。该大小的S盒和密钥长度保证了安全性。常用的变种包括使用不止一个S盒,或者在每一轮中增加或替换一个可逆的线性变换,这可以在高级加密标准中看到。

后台-插件-广告管理-内容底部广告位PC端
后台-插件-广告管理-内容底部广告位手机端

评论

全部评论