代換-置換網絡

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
簡略表示的SPN算法變種,其中包括三輪加密,使用多個S盒和P盒,加密16位的明文到等長密文。S盒由Si表示,P盒由 P表示,輪密鑰為Ki

密碼學中,代換-置換網絡(或譯作置換排列網絡,英語:Substitution-Permutation Network縮寫SP-networkSPN)是乘積密碼分組加密的一種。美國數學家克勞德·香農為了利用簡單的代換-置換方式進行常規加密,在1949年發明了代換-置換網絡。

簡介

代換-置換網絡是一系列被應用於分組密碼中相關的數學運算,高級加密標準(英語:AES)3-Way英語3-WayKuznyechik英語KuznyechikPRESENT英語PRESENT_(cipher)SAFER英語SAFERSHARKSquare都有涉用。這種加密網絡使用明文密鑰作為輸入,並通過交錯的若干「輪」(或「層」)代換操作和置換操作產生密文。代換(Substitution)和置換(Permutation)分別被稱作S盒(替換盒,英語:S-boxes)和P盒(排列盒,英語:P-boxes)。由於其實施於硬件的高效性,SPN的應用十分廣泛。[1]

定義

一個SPN包括兩個長度分別為l, m的映射變換,變換結果為lm分組長度的明文到相同分組長度的密文空間。為對分組進行加密,需要一個同樣長度為lm密鑰。而該密鑰每一輪加密中均不相同,由初始密鑰K按照一定原則產生。加密主要包括三個部分:代換,置換和輪密鑰混合(通常為異或(英語:XOR)操作)。[2] 密鑰的生成規則稱為密鑰編排算法

定義:

為S盒和P盒。加密共N輪。則對

的密鑰編排方案,使用如下算法順序加密明文x

直至生成密文。

變種

被選作高級加密標準Rijndael使用的就是8比特映射到8比特的S盒,密鑰長度最小為128比特,最小輪數為10,分組長度同樣為128比特。該大小的S盒和密鑰長度保證了安全性。常用的變種包括使用不止一個S盒,或者在每一輪中增加或替換一個可逆的線性變換,這可以在高級加密標準中看到。

參見

參考文獻

  1. ^ 《密碼學原理和實踐》[加]道格拉斯·R·史丁森 3.2節 置換-代換網絡。
  2. ^ "Principles and Performance of Cryptographic Algorithms" by Bart Preneel, Vincent Rijmen, and Antoon Bosselaers.

延伸閲讀