簡介
代換-置換網路是一系列被套用於分組密碼中相關的數學運算,高級加密標準(英語:AES)、3-Way、Kuznyechik、PRESENT、SAFER、SHARK、Square都有涉用。這種加密網路使用明文塊和密鑰塊作為輸入,並通過交錯的若干“輪”(或“層”)代換操作和置換操作產生密文塊。代換(Substitution)和置換(Permutation)分別被稱作S盒(替換盒,英語:S-boxes)和P盒(排列盒,英語:P-boxes)。由於其實施於硬體的高效性,SPN的套用十分廣泛。
定義
一個SPN包括兩個長度分別為l, m的映射變換,變換結果為lm分組長度的明文到相同分組長度的密文空間。為對分組進行加密,需要一個同樣長度為lm的密鑰。而該密鑰每一輪加密中均不相同,由初始密鑰K按照一定原則產生。加密主要包括三個部分:代換,置換和輪密鑰混合(通常為異或(英語:XOR)操作)。密鑰的生成規則稱為密鑰編排算法。
定義:
為S盒和P盒。加密共N輪。則對的密鑰編排方案,使用如下算法順序加密明文x:
直至生成密文。
變種
被選作高級加密標準的Rijndael使用的就是8比特映射到8比特的S盒,密鑰長度最小為128比特,最小輪數為10,分組長度同樣為128比特。該大小的S盒和密鑰長度保證了安全性。常用的變種包括使用不止一個S盒,或者在每一輪中增加或替換一個可逆的線性變換,這可在高級加密標準中看到。
參見
•Feistel架構
•乘積密碼(英語:Product cipher)
•Square (cipher)
•國際數據加密算法(英語:IDEA)