查看“︁代换-置换网络”︁的源代码
←
代换-置换网络
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{multiple issues| {{copyedit|for=文法}} {{expand English|Document-oriented database}} }} {{NoteTA |G1=IT }} [[Image:SubstitutionPermutationNetwork2.png|thumb|360px|right|简略表示的SPN算法变种,其中包括三轮加密,使用多个S盒和P盒,加密16位的明文[[块 (数据存储)|块]]到等长密文[[块 (数据存储)|块]]。S盒由''S<sub>i</sub>''表示,P盒由 ''P''表示,轮密钥为''K<sub>i</sub>''。]] 在[[密码学]]中,'''代换-置换网络'''(或译作'''置换排列网络''',{{lang-en|Substitution-Permutation Network}},[[縮寫]]作{{lang|en|SP-network}}或{{lang|en|SPN}})是[[乘积密码]]和[[分组加密]]的一种。美國數學家[[克劳德·香农]]为了利用简单的代换-置换方式进行常规[[加密]],在1949年发明了代换-置换网络。 ==简介== '''代换-置换网络'''是一系列被应用于[[分组密码]]中相关的数学运算,[[高級加密標準]]({{lang-en|AES)}}、{{link-en|3-Way}}、{{link-en|Kuznyechik}}、{{link-en|PRESENT|PRESENT_(cipher)}}、{{link-en|SAFER}}、[[SHARK]]、[[Square(密碼學)|Square]]都有涉用。这种加密网络使用[[明文]][[块 (数据存储)|塊]]和[[密钥]][[块 (数据存储)|塊]]作为输入,并通过交错的若干“轮”(或“层”)[[替换式密码|代换]]操作和[[置换]]操作產生[[密文]][[块 (数据存储)|塊]]。代换(Substitution)和置换(Permutation)分别被称作S盒(替換盒,{{lang-en|S-boxes}})和P盒(排列盒,{{lang-en|P-boxes}})。由于其实施于[[硬件]]的高效性,SPN的应用十分广泛。<ref>《密码学原理和实践》[加]道格拉斯·R·史丁森 3.2节 置换-代换网络。</ref> ==定义== 一个SPN包括两个长度分别为<code>l, m</code>的映射变换,变换结果为<code>lm</code>分组长度的明文到相同分组长度的[[密文空间]]。为对分组进行加密,需要一个同样长度为<code>lm</code>的[[密钥]]。而该密钥每一轮加密中均不相同,由初始密钥<code>K</code>按照一定原则产生。加密主要包括三个部分:代换,置换和轮密钥混合(通常为异或({{lang-en|XOR}})操作)。<ref>"Principles and Performance of Cryptographic Algorithms" by Bart Preneel, Vincent Rijmen, and Antoon Bosselaers.</ref> 密钥的生成规则称为[[密钥编排算法]]。 定义: <math>\pi_{s}: \lbrace 0,1 \rbrace^l \to \lbrace 0,1 \rbrace^l</math> <math>\pi_{p}: \lbrace 1,2,..,lm \rbrace \to \lbrace 1,2,..,lm \rbrace</math> 为S盒和P盒。加密共<code>N</code>轮。则对 <math>K \subseteq (\lbrace 0,1 \rbrace^{lm})^N</math> 的密钥编排方案,使用如下算法顺序加密明文<code>x</code>: * <math>\pi_{s}: x \longrightarrow w</math> * <math>\pi_{p}: w \longrightarrow u</math> * <math>xor: u, K^N \longrightarrow v</math> 直至生成密文。 ==变种== 被选作[[高级加密标准]]的[[Rijndael]]使用的就是8比特映射到8比特的S盒,密钥长度最小为128比特,最小轮数为10,[[分组密码|分组]]长度同样为128比特。该大小的S盒和密钥长度保证了安全性。常用的变种包括使用不止一个S盒,或者在每一轮中增加或替换一个可逆的[[线性变换]],这可以在高级加密标准中看到。 == 參見 == * [[Feistel架構]] * [[乘积密码]]({{lang-en|Product cipher}}) * 平方密码({{tsl|en|Square (cipher)|Square (cipher)}} * [[國際資料加密演算法]]({{lang-en|IDEA}}) ==参考文献== {{Reflist}} == 延伸閲讀 == *{{cite book |first=Jonathan |last=Katz |first2=Yehuda |last2=Lindell |title=Introduction to Modern Cryptography |url=https://archive.org/details/Introduction_to_Modern_Cryptography |publisher=CRC Press |year=2007 |isbn=9781584885511 }} *{{cite book |first=Douglas R. |last=Stinson |title=Cryptography. Theory and Practice |url=https://archive.org/details/cryptographytheo0000stin_k3r1 |edition=Third |publisher=Chapman & Hall/CRC |year=2006 |isbn=1584885084 }} {{Cryptography navbox | block}} [[Category:密码算法]] [[Category:分组密码]] [[Category:密码]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Cryptography navbox
(
查看源代码
)
Template:Lang
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Multiple issues
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:Tsl
(
查看源代码
)
返回
代换-置换网络
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息