SP-nätverk ( Substitution-permutation network , substitution-permutation network ) är en typ av blockchiffer som föreslogs 1971 av Horst Feistel . I den enklaste versionen är det en "smörgås" av två typer av lager som används upprepade gånger i tur och ordning. Den första typen av skikt är P-skiktet, bestående av ett P-block med stor kapacitet, följt av den andra typen av skikt - S-skiktet, som är ett stort antal S-block med liten kapacitet, sedan igen P-skikt, etc. Den första kryptografiska algoritmen baserad på SP-nätet var "Lucifer" ( 1971 ). För närvarande används AES (Rijndael) flitigt bland algoritmer baserade på SP-nätverk. Ett alternativ till SP-nätverk är Feistel-nätverk .
I moderna algoritmer, istället för S- och P-boxar, används olika matematiska eller logiska funktioner. Vilken binär funktion som helst kan reduceras till en S-box, vissa funktioner till en P-box. Till exempel reduceras ett cykliskt skift till en P-box , själva P-boxen är ett specialfall av S-boxen. Sådana funktioner är vanligtvis lätta att implementera i hårdvara, samtidigt som de ger god kryptografisk styrka .
Ett chiffer baserat på SP-nätet får ett block och en nyckel som indata och utför flera alternerande omgångar, bestående av alternerande substitutionssteg och permutationssteg [ 1 ] .
En S-box räcker för att uppnå säkerhet, men ett sådant block kommer att kräva en stor mängd minne. Därför används små S-boxar blandade med P-boxar [2] .
Det icke-linjära substitutionssteget blandar nyckelbitarna med klartextbitarna , vilket skapar en Shannon- förlägenhet . Det linjära permutationssteget fördelar redundansen genom datastrukturen, vilket ger upphov till diffusion [3] [4] .
S - boxen ersätter ett litet block av ingångsbitar med ett annat block av utgångsbitar. Denna substitution måste vara en-till-en för att garantera reversibilitet. Syftet med S-boxen är för en icke-linjär transformation, vilket förhindrar att linjär kryptoanalys utförs . En av egenskaperna hos S-boxen är lavineffekten , det vill säga en förändring av en bit vid ingången leder till en förändring av alla bitar vid utgången [5] .
P-box ( eng. permutationsbox eller P-box ) - permutation av alla bitar: blocket tar emot utdata från S-boxen som indata, byter alla bitar och matar resultatet till S-boxen i nästa omgång. En viktig egenskap hos en P-box är möjligheten att fördela uteffekten från en S-box till ingångarna på så stora S-boxar som möjligt.
För varje runda används en annan nyckel, erhållen från den ursprungliga. En sådan nyckel kallas en rund nyckel. Den kan erhållas antingen genom att dela upp originalnyckeln i lika delar, eller genom någon form av transformation av hela nyckeln.
Följande algoritmer använder SP-nätverket:
Symmetriska kryptosystem | |
---|---|
Streama chiffer | |
Feistel nätverk | |
SP nätverk | |
Övrig |