0x01 概述

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

0x02 定义

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

第一个为代换,第二个为置换,第三个为轮密钥混合

代换-置换网络(SP网络)相关推荐

  1. SPN实现——限时1000ms的代换-置换网络加解密的时间优化思路

    SPN实现--限时1000ms的代换-置换网络加解密的时间优化思路 题目简介 SPN密码体系 课本样例 问题分析 AC代码 优化方法 最后 2021.9 HUSTOJ 密码学课程设计第一题--时间优化 ...

  2. 网络工程师计算机类吗,机房网络工程师 | 网络工程专业的你知道吗?

    原标题:机房网络工程师 | 网络工程专业的你知道吗? 网络工程专业介绍 专业背景:网络工程专业的出现的另一背景是从上一世纪九十年代,计算机网络技术及其应用得到迅猛发展的背景下提出的,从专 业定名.培养 ...

  3. 数据中心网络架构 — 云网一体化数据中心网络 — 算力网络 — SDN 架构

    目录 文章目录 目录 算力网络 算力网络控制面技术 集中式算力网络控制面方案 分布式算力网络控制面方案 混合式架构方案 算力网络转发面及路由策略技术 算力网络 在 5G 及后 5G 时代,为了更迅捷高 ...

  4. 网络的网络——当今的互联网

     由于因特网是由数以亿计的用户构成的,因此接入ISP本身必须互联,创建"网络的网络". 上图大概是2012年的网络.由十多个第一层ISP和数十万个较低层ISP组成.较低层的ISP ...

  5. 谈谈“无线网络”与“网络监控”那些小事儿

    "无线网络"和"网络监控"初看起来好像是两个不相关的事物,但是仔细想想还是有着关系的.今天咱们就谈谈它们的关系,以及无线网络在监控领域的应用. 将"无 ...

  6. 区块链学堂(6):以太坊生产网络/测试网络/私有网络

    区块链学堂(6):以太坊生产网络/测试网络/私有网络 要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络 目前以太坊官方提供了两种网络 生产环境网络 测试网络 TestNet 下 ...

  7. Linux网络基本网络配置

    网络信息查看 查看网路接口信息 1.了解linux中的网络接口设备 $/sbin/ifconfig 查看所有活动网络接口信息,其中包括一个lo环回端口. 2.查看指定网络接口的信息 $/sbin/if ...

  8. 开源创新、软件定义网络和网络功能虚拟化特性

    图示为开源创新.软件定义网络和网络功能虚拟化的关系图,其中开源创新是由协办商所建立的创新应用并且在共赢上具有其竞争性:软件定义网络的目的是简历网络抽象层,启动快速创新:网络功能虚拟化的目的是降低资本性 ...

  9. 网络编程—网络基础概览、socket,TCP/UDP协议

    网络基础概览 socket概览 socket模块-TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...

最新文章

  1. hung-yi lee_p5-7_Gradient Descent(梯度下降)
  2. 解决redhat安装centos yum源的问题
  3. HttpClient 4 API –获取状态代码-getStatusLine()。getStatusCode()示例
  4. 计算机学情分析,中职学生的学情分析 《计算机专业》.doc
  5. deepin Linux vscode 配置C++环境
  6. Android全面解析Handler
  7. 在vue项目中导入element-ui
  8. springmvc重定向到另一个项目_SpringMVC结合Ajax、请求转发重定向、视图解析器
  9. 为什么要从 Microsoft Store 下载 Visual Studio/VS Code?
  10. linux指纹识别,基于Linux的指纹识别系统的设计
  11. 11.4-11.10PS自学第6课——套索与魔棒工具
  12. 部署nodejs报No package nodejs available
  13. 利用电脑学象棋的一点想法
  14. 这是我见过最好的唐诗,而且通俗易懂
  15. linux怎么保存7天内文件,Linux七天系列(第七天)—文件系统管理
  16. optimizer.zero_grad()
  17. Error 3090003: provided keys, permissions, and delays do not satisfy declared authorizations...
  18. Zookeeper--客户端操作
  19. SAP ABAP——SAP简介(一)【SAP发展历程】
  20. weiphp mysql5.1_weiphp微信公众平台 v4.0 beta

热门文章

  1. word-break属性和css换行显示
  2. 判断js中数据类型 的最短代码
  3. flask总结之session,websocket,上下文管理
  4. 创建一个学生信息表,与页面分离
  5. laravel中的自定义函数的加载和第三方扩展库加载
  6. 左侧固定,右侧自适应的布局方式(新增评论区大佬教的方法)
  7. 模拟聊天室显示语句保持最新显示
  8. java架构师之路:JAVA程序员必看的15本书的电子版下载地址
  9. POJ 2421 Constructing Roads MST kruskal
  10. usb3.0 linux无法识别,USB3.0接口不能识别U盘的解决方法