信息安全密码学:DES算法的核心 E盒、S盒、P盒

2023-11-08

加密密钥等于脱密密钥,或者由一个可以轻易的计算出另一个的密码体制,称为单密钥密码体制,亦或称为对称密码体制或传统密码体制。其最具代表意义的当然属于DES密码体制了。

1、DES的设计背景

  • 1973年5月 NBS(美国国家标准局)发布通告,征集一种加密算法
  • 1974年8月 收到了IBM公司提交的算法
  • 1976年11月 被推荐为联邦标准
  • 1977年1月 发布
  • 服役了20年

2、DES加密算法

迭 代 型 分 组 算 法    分 组 长 度 / 密 钥 长 度 : 64 b i t 有 效 密 钥 长 度 : 56 b i t ( 8 b i t 奇 偶 校 验 位 ) 迭 代 圈 数 : 16 圈 圈 密 钥 长 度 : 48 b i t ( 即 16 圈 中 每 一 圈 所 要 用 到 的 密 钥 位 数 ( b i t ) ) \color{red}迭代型分组算法\\\;\\\color{brown}分组长度/密钥长度:\color{red}64bit\\ \color{brown}有效密钥长度:\color{red}56bit(8bit奇偶校验位)\\ \color{brown}迭代圈数:\color{red}16圈\\ \color{brown}圈密钥长度:\color{red}48bit(即16圈中每一圈所要用到的密钥位数(bit)) /64bit56bit(8bit)1648bit(16(bit))

形式化表达为: D E S ( M ) = I P − 1 ∘ T ( 16 ) ∘ T ( 15 ) ∘ . . . ∘ T ( 1 ) ∘ I P ( m ) ( 由 后 向 前 运 算 ) DES(M)=IP^{-1}\circ T(16)\circ T(15)\circ...\circ T(1)\circ IP(m)(由后向前运算) DES(M)=IP1T(16)T(15)...T(1)IP(m)
IP是初始置换,IP-1是初始逆置换,T表示16组迭代圈函数。

图形化表达:

64bit
64bit
64bit
64bit
明文m
初始置换<IP>
圈1
圈2
圈3
....
圈16
初始逆置换
密文c

前 15 圈 的 算 法 结 构 相 同 , 16 圈 中 每 一 圈 都 有 不 同 的 密 钥 值 \color{gray}前15圈的算法结构相同,16圈中每一圈都有不同的密钥值 1516

在这里插入图片描述
由 上 图 可 知 , 前 15 圈 模 2 加 ( 亦 或 ) 后 , 左 右 进 行 了 互 换 , 而 在 第 16 圈 则 没 有 。 初 始 置 换 后 , 将 64 b i t 数 据 等 分 为 2 份 32 b i t 分 别 给 予 了 L 0 ( L e f t ) 和 R 0 ( R i g h t ) 由上图可知,前15圈模2加(亦或)后,左右进行了互换,而在第16圈则没有。\\ 初始置换后,将64bit数据等分为2份32bit 分别给予了L_0(Left) 和 R_0(Right) 1521664bit232bitL0LeftR0Right

2.1    初 始 置 换 I P 与 逆 初 始 置 换 I P − 1 2.1\;初始置换IP与逆初始置换IP^{-1} 2.1IPIP1

若某一位经过初始置换又经过了逆初始置换,则其位置并没有发生改变。即,IP和IP-1互逆
在这里插入图片描述
如IP转换表中,第8位对应了数字2,即表示对应着第2位;
而在IP-1转换表中,第二位对应了数字8,即表示对应着第8位;
此时正好又将位置转换了回去。 之 前 有 提 到 过 置 换 是 一 种 古 典 密 码 \color{gray}之前有提到过置换是一种古典密码 置换密码.
所以在设计置换表时可以参照此原则。

2.2    圈 函 数 2.2\;圈函数 2.2

前15圈

在这里插入图片描述
右上角的 L i − 1 L_{i-1} Li1应该是 R i − 1 R_{i-1} Ri1

  • 本一圈的右部 R i − 1 R_{i-1} Ri1 直接作为下一圈的左部 L i L_{i} Li 进行后续的运算
  • 本一圈的(左部 L i − 1 L_{i-1} Li1) 要与(经过 f 函 数 f函数 f R i − 1 R_{i-1} Ri1 和本圈密钥 k i k_{i} ki 所得到的结果, f ( R i − 1 , k i ) f(R_{i-1},k_{i}) f(Ri1,ki))进行模二加(亦或)运算之后作为下一圈的右部 R i R_{i} Ri 进行后续的运算

  表 达 式 为 : ( 左 部 , 右 部 ) = ( L i , R i ) = ( R i , L i − 1 ⨁ f ( R i − 1 , k i ) )    ⨁ 模 2 加 : 0 + 0 = 0 ; 0 + 1 = 1 + 0 = 1 ; 1 + 1 = 0 f ( R i − 1 , k i ) : 表 示 在 密 钥 k i 的 影 响 下 R i − 1 的 值 。 \:\\\color {red}表达式为:(左部,右部)=(L_{i},R_{i})=(R_{i},L_{i-1} \bigoplus f(R_{i-1},k_{i}))\\\;\\\color{blue}\bigoplus 模2加:0+0=0;0+1=1+0=1;1+1=0\\f(R_{i-1},k_{i}):表示在密钥k_i的影响下R_{i-1}的值。 ()=(Li,Ri)=(Ri,Li1f(Ri1,ki))20+0=00+1=1+0=11+1=0f(Ri1,ki):kiRi1

第16圈

在这里插入图片描述
( 左 部 , 右 部 ) = ( L 16 , R 16 ) = ( L 15 − 1 ⨁ f ( k 16 , R 15 − 1 ) , R 15 ) \color{red}(左部,右部)=(L_{16},R_{16})=(L_{15-1} \bigoplus f(k_{16},R_{15-1}),R_{15}) ()=(L16,R16)=(L151f(k16,R151),R15)
   \;
同前15圈相比,其左右部,一定意义上讲,没有发生交换。

  • 这 里 的 k i 是 由 64 b i t 密 钥 产 生 的 子 密 钥 , k i 是 48 b i t 。 D E S 的 核 心 在 于 f ( R i − 1 , k i ) 函 数 的 功 能 。 f 函 数 是 将 32 b i t 的 输 入 转 化 为 32 b i t 的 输 出 。 其 中 涉 及 到 了 扩 展 和 压 缩 。 扩 展 是 为 了 能 和 k i 进 行 模 2 加 , 压 缩 是 为 了 最 后 要 输 出 32 b i t \color{gray}这里的k_i是由64bit密钥产生的子密钥,k_i是48bit。\\ {\color{red}DES的核心在于f(R_{i-1},k_{i})函数的功能。}f函数是将32bit的输入转化为32bit的输出。\\ 其中涉及到了扩展和压缩。扩展是为了能和k_i进行模2加,压缩是为了最后要输出32bit ki64bitki48bitDESf(Ri1,ki)f32bit32bitki232bit

2.3   f 函 数 的 构 造 2.3\:f函数的构造 2.3f

f 函 数 的 内 部 构 造 :    E 盒 扩 展 ; E 盒 扩 展 后 的 值 与 圈 密 钥 k 进 行 模 2 加 ; ( 亦 或 运 算 )    S 盒 转 换 ; ( 分 为 8 个 部 分 )    P 盒 变 换 ; \color{gray}f函数的内部构造:\\\color{blue}\;E盒扩展;\\E盒扩展后的值与圈密钥k进行模2加;(亦或运算)\\\;S盒转换;(分为8个部分)\\\;P盒变换; f:EEk2S8P
图 形 化 表 示 : 图形化表示:

32bit
48bit
48bit
6bit
6bit
6bit
6bit
6bit
6bit
6bit
6bit
4bit
4bit
4bit
4bit
4bit
4bit
4bit
4bit
R<32bit>
E
+
圈密钥k
S1
S2
S3
S4
S5
S6
S7
S8
P
最后得到的32bit数据

E 盒 扩 展 : \color{blue}E盒扩展: E

将32bit扩展到48bit,先将32bit的字符分为8组,每一组的前后,分别添加上一个字符和下一个字符:
将 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 . . . . . . 29 30 31 32    ⟹    32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 . . . . . . . . . . . . 28 29 30 31 32 1 将 \begin{matrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 &11 & 12 \\ 13 & 14 &15 & 16 \\ &...... \\ 29 & 30 &31 & 32 \\ \end{matrix} \implies \begin{matrix} {\color{red}32} & 1 & 2 & 3 & 4 & {\color{red}5}\\ {\color{red}4} & 5 & 6 & 7 & 8 & {\color{red}9} \\ {\color{red}8} & 9 & 10 &11 & 12 & {\color{red}13} \\ {\color{red}12} & 13 & 14 &15 & 16 & {\color{red}17} \\ {\color{red}...} & &...... & &&{\color{red}...}\\ {\color{red}28} & 29 & 30 &31 & 32 & {\color{red}1} \\ \end{matrix} 1591329261014......303711153148121632324812...281591329261014......303711153148121632591317...1
如 , 在 下 标 为 1 的 字 符 前 插 入 上 一 个 字 符 。 即 , 下 标 为 32 的 字 符 ; 在 下 标 为 4 的 字 符 后 插 入 下 一 个 字 符 。 即 , 下 标 为 5 的 字 符 ; 在 下 标 为 32 的 字 符 后 插 入 下 一 个 字 符 。 即 , 下 标 为 1 的 字 符 ; 按 照 此 规 律 扩 展 16 b i t 。 如,\\\color{blue}在下标为1的字符前插入上一个字符。即,下标为32的字符;\\在下标为4的字符后插入下一个字符。即,下标为5的字符;\\在下标为32的字符后插入下一个字符。即,下标为1的字符;\\按照此规律扩展16bit。 1324532116bit

模 2 加 \color{blue}模2加 2

就令经过E盒扩展后的48个2进制位逐一与密钥的48bit进行亦或运算。

S 盒 代 替 \color{blue}S盒代替 S

将48bit转换为32bit

S 盒 是 唯 一 的 非 线 性 变 换 ( 非 数 学 变 换 ) , 其 是 D E S 中 f 函 数 的 核 心 , S 盒 的 好 坏 决 定 了 该 算 法 。 S盒是唯一的非线性变换(非数学变换),其是DES中f函数的核心,S盒的好坏决定了该算法。 S线DESfS

该 S 盒 分 为 了 8 个 子 盒 , 对 应 着 8 张 表 ( S i ) , 每 个 表 是 4 行 16 列 , 每 个 子 盒 的 输 入 为 6 b i t , 输 出 为 4 b i t 该S盒分为了8个子盒,对应着8张表(S_i),每个表是4行16列,每个子盒的输入为6bit,输出为4bit S88(Si)4166bit4bit

先将输入的48bit分为8组6bit的数据对应于8个子盒,
假 定 输 入 S i 盒 的 6 个 b i t 为 b 1 b 2 b 3 b 4 b 5 b 6 ( 这 里 每 一 个 b 都 是 一 个 二 进 制 位 ) 另 b 1 b 6 为 十 进 制 的 n , 令 b 2 b 3 b 4 b 5 为 十 进 制 的 m , 在 设 计 的 表 中 找 出 对 应 的 n 行 m 列 对 应 的 数 字 , 并 转 换 为 2 进 制 作 为 本 s i 盒 的 输 出 下 面 有 栗 子 : 假定输入S_i盒的6个bit为b_1b_2b_3b_4b_5b_6(这里每一个b都是一个二进制位)\\另b_1b_6为十进制的n,令b_2b_3b_4b_5为十进制的m,\\在设计的表中找出对应的n行m列对应的数字,并转换为2进制作为本s_i盒的输出\\{\color{red}下面有栗子:} Si6bitb1b2b3b4b5b6bb1b6nb2b3b4b5mnm2si
在这里插入图片描述
栗 子 : 如 , 向 s 1 盒 中 输 入 的 6 b i t 数 为 : 101101 b 1 b 6 为 11 , 即 十 进 制 的 3 b 2 b 3 b 4 b 5 为 0110 , 即 十 进 制 的 6 在 s 1 中 , 第 3 行 6 列 对 应 着 数 字 1 所 以 最 后 的 输 出 为 0001 8 组 中 每 一 个 都 会 得 到 4 b i t 的 数 据 , 最 终 会 得 到 32 b i t 的 数 据 {\color{red}栗子:}如,向s_1盒中输入的6bit数为:101101\\b_1b_6为11,即十进制的3\\b_2b_3b_4b_5为0110,即十进制的6\\在s_1中,第3行6列对应着数字1\\所以最后的输出为0001\\{\color{gray}8组中每一个都会得到4bit的数据,最终会得到32bit的数据} s16bit101101b1b6113b2b3b4b501106s1361000184bit32bit
S 盒 作 为 D E S 的 心 脏 , D E S 靠 它 实 现 非 线 性 变 换 \color{red}S盒作为DES的心脏,DES靠它实现非线性变换 SDESDES线

P 盒 转 换 : \color{blue}P盒转换: P:

其本质是一种置换
   \; 在这里插入图片描述
如原来的第1个bit被置换到第16个bit
该表格满足分组扩散与混乱原则。

3、密钥生成算法

加密的基本流程已经介绍完毕,那么如何将64bit的初始密钥生成16组48bit的圈密钥(子密钥)供每一圈使用呢?

图 形 化 表 达 为 : 图形化表达为:

在这里插入图片描述
P C − 1 为 , 置 换 选 择 算 法 1 ( 由 64 位 筛 选 出 56 位 ) ; \color{blue}{\color{red}PC-1}为,置换选择算法1(由64位筛选出56位); PC116456
C 和 D 是 两 个 寄 存 器 ; \color{blue}{\color{red}C和D}是两个寄存器; CD
L S 为 移 位 运 算 ( 循 环 左 移 ) \color{blue}{\color{red}LS}为移位运算(循环左移) LS
P C − 2 为 , 置 换 选 择 算 法 2 ( 由 58 位 选 出 48 位 的 圈 密 钥 ) \color{blue}{\color{red}PC-2}为,置换选择算法2(由58位选出48位的圈密钥) PC225848

置 换 选 择 1 ( P C − 1 ) \color{blue}置换选择1(PC-1) 1PC1

  1. 抛去每个字节的最高位,即,第8,16,24,32,40,48,56,64位,只选择剩余的56位,被抛去的字节本来就是奇偶校验位。(用于验证完整性)
  2. 将剩余的比特数,按照一定的规则,进行相应的置换。
  3. 置换后,分别放在两个寄存器C和D中

置换规则:
在这里插入图片描述
如,将原来的第57bit换到第1位。置换后的前28bit放在C寄存器中,其余的放在D寄存器中。

移 位 ( L S ) 【 两 个 28 位 密 钥 的 寄 存 器 循 环 左 移 】 \color{blue}移位(LS)【两个28位密钥的寄存器循环左移】 LS28

规 则 : 第 1 , 2 , 9 , 16 圈 左 移 1 位 ; 其 余 都 左 移 2 位 。 {\color{red}规则:}\\第1,2,9,16圈左移1位;\\其余都左移2位。 1291612

L S 1 、 L S 2 、 L S 9 、 L S 16 左 移 1 位 , 其 余 L S i 左 移 2 位 LS_1、LS_2、LS_9、LS_{16} 左移1位,其余LS_i左移2位 LS1LS2LS9LS161LSi2

最 后 16 圈 左 移 结 束 后 , 移 位 数 正 好 等 于 28 \color{gray}最后16圈左移结束后,移位数正好等于28 1628

置 换 选 择 ( P C − 2 ) 【 由 56 位 得 到 48 位 】 \color{blue}置换选择(PC-2)【由56位得到48位】 PC25648

在这里插入图片描述
按照此规则进行置换,同时去除了8位

在这里插入图片描述

4、脱密算法

DES的解密过程和DES加密完全类似,只不过将16圈的子密钥序列颠倒了一下,即,第一圈用 k 16 k_{16} k16 最后一圈用 k 1 k_{1} k1
形 式 化 表 达 为 : D E S − 1 = I P − 1 ∘ T ( 1 ) ∘ T ( 2 ) ∘ . . . ∘ T ( 16 ) ∘ I P ( c ) ( 由 后 向 前 运 算 ) 形式化表达为:\\\color{red}DES^{-1}=IP^{-1}\circ T(1)\circ T(2)\circ...\circ T(16)\circ IP(c) (由后向前运算) DES1=IP1T(1)T(2)...T(16)IP(c)

所以脱密的算法就在于圈密钥如何进行计算的

圈 函 数 的 分 解 : \color{blue}圈函数的分解:

一般地,圈函数可以表达为: ( 左 , 右 ) = ( x , y ) = ( y , x ⨁ f ( y , k ) ) (左,右)=(x,y)=(y,x\bigoplus f(y,k)) ()=(x,y)=(y,xf(y,k)),第16圈显然不能用这个表示。
可将其看作两部分,

  1. ( x , y ) → ( x ⨁ f ( y , k ) , y ) (x,y)\to(x\bigoplus f(y,k),y) (x,y)(xf(y,k)y),称为对合交换1。(Fesihel函数)
  2. ( x ⨁ f ( y , k ) , y ) → ( y , x ⨁ f ( y , k ) ) (x\bigoplus f(y,k),y)\to(y,x\bigoplus f(y,k)) (xf(y,k)y)(y,xf(y,k)),称为对合变换2。(左右块交换)【显然,第16圈并没有进行这一步骤】

步 骤 一 样 , 为 了 方 便 表 示 , 我 们 将 圈 迭 代 看 成 3 圈 , 最 后 一 圈 同 第 16 圈 一 样 , 仅 有 对 合 变 换 1 \color{gray}步骤一样,为了方便表示,我们将圈迭代看成3圈,最后一圈同第16圈一样,仅有对合变换1 便316,1

明文
对合变换1
对合变换2
对合变换1
对合变换2
对合变换1
密文
密文
对合变换1
对合变换2
对合变换1
对合变换2
对合变换1
明文

可 知 , 将 C 解 密 为 M 的 过 程 为 M 加 密 为 C 的 逆 过 程 \color{gray}可知,将C解密为M的过程为M加密为C的逆过程 CMMC

将 此 3 圈 扩 展 为 16 圈 即 为 D E S 的 脱 密 过 程 \color{blue}将此3圈扩展为16圈即为DES的脱密过程 316DES

总结

最 后 附 带 一 张 手 绘 总 结 图 \color{red}最后附带一张手绘总结图
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信息安全密码学:DES算法的核心 E盒、S盒、P盒 的相关文章

  • 以太坊的MPT树,以及编码,leveldb存储

    声明 此为使用网上多处资料整理而成 由于很多地方内容相同 已经分不清哪里是原创 一 MPT树 1 Trie树 Trie 又称为字典树或者前缀树 prefix tree 属于查找树的一种 它与平衡二叉树的主要不同点包括 每个节点数据所携带的
  • 密码学原语如何应用?解析单向哈希的妙用|第9论

    作者 廖飞强 来源 微众银行区块链 隐私数据如何验明真伪 区块链数据何以可信 如何快速检验海量数据是否被篡改 单向哈希在其中起到了什么作用 隐私数据的价值很大程度上源自其真实性 如何防止数据被恶意篡改 是隐私保护方案设计中不可忽视的关键目标
  • 五个实施环节

    定级 定级流程 在 信息系统安全等级保护定级指南 中 说明了定级的一般流程 1 确定作为定级对象的信息系统 2 确定业务信息安全受到破坏时所侵害的客体 3 根据不同的受侵害客体 从多个方面综合评定业务信息安全被破坏对客体的侵害程度 4 根据
  • 密码学研究重点

    密码学涵盖了认证 数字签名以及更多基本的安全功能 密码学涉及领域及其宽广 包括计算机安全 高等数学 经济学 量子物理学 民法和刑法 统计学 芯片设计 软件优化 政治 用户界面设计等 0x01 密码学重要性 密码学本身没有价值 必须作为一个系
  • SM2公钥加密

    文章目录 简介 推荐参数 1 前置条件 1 1 点到字符串的转换 压缩 未压缩 混合形式 1 2 密钥派生函数 6 加解密 加密流程 解密流程 实现 参考资料 简介 国密SM2算法并不仅仅是提供了新的曲线参数 而是在算法上对ECC进行了修改
  • 网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

    目录 简介 原理 举例 漏洞发现 链接及请求伪造 CSRF攻击 不同浏览器 未登录状态 登录状态 代码查看 工具 防御 用户 程序员 简介 跨站请求伪造 Cross site request forgery 也被称为 one click a
  • 【Python】cryptography和pycryptodome库使用

    题目 1 使用cryptography模块 编写完整的AES CBC加解密函数 函数接口为 def encrypt CBC key plaintext iv def decrypt CBC key ciphertext iv 2 使用pyc
  • 密码学概述

    一 密码学的起源与发展 密码学英文名称为Cryptography 密码学最为一门学科 是最近几十年开始迅速被人们重视和发展起来的 密码学往往与信息安全四个字精密的联系着 最早的密码学的 始祖 可以说是早在公元前几百年就已经出现了 当然 当时
  • 现代密码学-密码学概论与基本知识

    目录 简介 密码学发展简史 创建 发展阶段 古典密码时期 近代密码时期 现代密码时期 密码主要功能 机密性 完整性 认证性 不可否认性 密码系统的组成 密码分析学 定义 密码攻击类型 针对对称密码体制 针对对称密码体制 常用方法 密码体制的
  • 彩虹表(rainbow table)

    1 彩虹表引入 在看微众银行开源的WeIdentity规范中的可验证凭证Credential数据结构时 看到有关于防止彩虹表方式反向破解哈希的问题 如下图所示 在执行选择性披露用户的信息时 是将claim中的其他字段内容进行hash 只披露
  • MD5学习总结

    1 MD5简介 MD5 即消息摘要算法第五版 是一种被广泛使用的密码散列函数 散列算法的基本原理是 进行数据 如一段文字 运算 将原始数据变为另一段固定长度的值 MD5 可以产生出一个 128位 16字节 的散列值 hash value 用
  • 合肥工业大学密码学课设-RSA

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 课设 密码学课设 RSA 新人博主 欢迎点赞收藏关注 会回访 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别人成功 没有人会关
  • 记录一次 JS 解密去混淆的经历 -- 如何破解加密的 JS 代码(一)

    写在前头 昨天发了一个 某JS最牛加密脱壳解密破解去混淆工具 有朋友说上代码不如讲一下思路 于是今天准备捋一下这个思路 顺便当整理复习了 需要直接解密代码的请看上一篇文章 这里只有思路与过程 阅读此文默认你有一定的 JavaScript 基
  • 【密码学】古代、古典密码

    古代密码 数据的保密基于加密算法的保密 Scytale密码 使用一条纸袋作为载体 环绕在一根固定半径的圆柱上 加密 在绕好的纸带上写上明文 解开缠绕后 就是加密好的 无序的密文 圆柱的半径就是密钥 解密 找到相同大小的圆柱 将纸带缠绕在援助
  • 为了响应工信部要求,我们整理了这些网络账户注销指南

    福利 网络安全重磅福利 入门 进阶全套282G学习资源包免费分享 今年 1 月份 工信部在 回应网民问手机 App 销户的问题 时 明确表示用户有权删除在平台服务商注册的账户服务 根据 中华人民共和国网络安全法 第四十三条规定 个人发现网络
  • 《Python 黑帽子》学习笔记 - 准备 - Day 1

    信息安全是一个有意思的方向 也是自己的爱好 从零开始 想在工作之余把这个爱好培养为自己的技术能力 而 web 安全相对来说容易入门些 于是选择 web 渗透测试作为学习的起点 并选择同样是容易入门的 Python 作为编程工具 潜心学习 持
  • Unity手游资源修改流程

    最近接到一个Android手游汉化需求 研究了一下 特此记录 开发环境 AssetStudioGUI 该软件可解析 定位压缩后的Unity 资源 下载 https github com Perfare AssetStudio AssetBu
  • 【密码学】破解维吉尼亚密码(C++代码实现)

    问题简述 维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法 属于多表密码的一种简单形式 在一个凯撒密码中 字母表中的每一字母都会作一定的偏移 例如偏移量为3时 A就转换为了D B转换为了E 而维吉尼亚密码则是由一些偏移量不同的凯撒密
  • 信息安全期末题库

    大多数应用程序 操作系统和实用程序都用高级程序语言或汇编语言编写 所编写的程序称为源程序 源程序需经过编译 链接 装入三个阶段才能装入主存运行 逻辑地址转换为物理地址的过程称为地址重定位 包括 静态地址重定位 地址转换在进程执行前一次完成
  • 命令注入漏洞(1)

    命令注入漏洞原理 其实命令注入漏洞也叫命令行注入漏洞 此漏洞是指web应用程序中调用了系统可执行命令的函数 而且输入的参数是可控的 如果黑客拼接了注入命令 就可以进行非法操作了 靶机搭建 链接 https pan baidu com s 1

随机推荐

  • Linux中的线程(一)-- 线程的创建

    什么是线程 Linux 中的线程被称为 轻量级进程 Lightweight Process LWP 它是在进程内部运行的一种 子进程 与传统的进程不同 线程共享相同的虚拟地址空间和其他资源 例如打开的文件 信号处理程序和用户 ID 等 线程
  • hello world C C++ Python Java Go

    碎碎念念 hello world是程序设计语言必打 入门小白都会在学习之初来这么一手 C include
  • 项目介绍star原理_简历中、面试中,怎么描述你的工作/项目经历?

    简历中一般会包括工作经历和项目经历这两个模块 面试官也会注重针对这两个模块进行提问 对于这两部分 我们都会面临一个如何描述与表达的问题 一 如何写好简历中的工作 项目经历 1 工作 项目经历描述法则 STAR法则 STAR法则的四个关键词的
  • 云监控系统 HertzBeat v1.1.0 发布,一条命令开启监控之旅!

    官网 hertzbeat com tancloud cn 大家早上好 HertzBeat v1 1 0 发布啦 这个版本我们支持了SNMP协议 并使用SNMP协议监控支持了windwos操作系统的应用监控 SNMP协议支持自定义监控 欢迎贡
  • java的imageicon用法详解_javaimageicon用法

    import java awt BorderLayout import java awt GridLayout import java awt event ActionEvent import javax swing ImageIcon i
  • Media Player播放视频只有声音没有图像

    今天在播放学生信息管理系统的时候发现视频播放后只有声音 却没有图像 这是什么原因呢 一 什么是media player播放器 Windows Media Player 是微软公司出品的一款播放器 通常简称 WMP 通常在Windows操作系
  • 系统架构设计专业技能 · 软件工程之软件测试与维护

    系列文章目录 系统架构设计专业技能 网络规划与设计 三 系统架构设计师 系统架构设计专业技能 系统安全分析与设计 四 系统架构设计师 系统架构设计高级技能 软件架构设计 一 系统架构设计师 系统架构设计高级技能 系统质量属性与架构评估 二
  • PostGreSQL数据库有的为啥找不到数据类型(比如Double)

    今天用NavCate建立PostGreSql建标 使用Double发现居然没有这个类型 百度各种博客都表示有Double类型 但是我测试就没了 后来发现 这里面居然有别名 名字 别名 描述 bigint int8 有符号 8 字节整数 bi
  • 蓝牙PHY6222添加OTA升级功能

    主要步骤 1 代码添加 ota app service 2 keil软件添加ota app代码 3 烧录软件添加ota设置 4 手机ota app升级 准备 奉加微电子官网下载6222的代码SDK V3 0以上 下载官网的PhyPlusKi
  • 谷歌浏览器打开时为桔梗网

    右击 gt 打开文件所在位置 然后将桌面的快捷方式删除 重新创建快捷方式
  • MySQL Server最佳实践

    备份 backups 监控 moitoring 配置 configuration 模式和查询 schema and queries 系统 system 其他 other Backups 备份 做数据库备份 在系统改变时做数据库备份例如升级前
  • 跨域问题详解及解决方案

    文章目录 一 前言 二 什么是跨域问题 三 为什么会出现跨域问题 四 什么情况下会出现跨域 五 如何解决跨域问题 5 1 使用 CrossOrigin注解 5 2 使用WebMvcConfigurer 5 3 使用Filter 六 代码示例
  • Java连接Oracle数据库开发银行管理系统【三、实现篇】

    说明 里面的主要代码都加的有注释部分 所以代码显得很长 如果有错误的地方 谢谢指出 注意需要导入数据库jar包 1 com ll test包下面类 1 1 test类 package com ll test import com ll se
  • pygame的动图实现方法

    最近在完善一个飞机大战的小游戏 一比一按照书上做出来的有些简陋 所以自己往里面加了不少元素 其中一项便是子弹的动态效果 但是pygame不支持gif的动图 可以导入 但不会动 那么该怎么办呢 我们知道 动图的原理其实就是把一组图片快速播放
  • 【测试开发】阿里十年总结之软件测试的价值

    阿里十年总结之软件测试的价值 1 前言 2 质量是什么 2 1 质量是一种奢侈品 2 2 质量是产品的特性 2 3 质量的重要性取决于业务 3 测试能给业务带来什么 3 1 为什么需要测试 3 2 从质量保障到研发效能 4 测试团队如何去突
  • ElementUI2.0组件库el-table表格组件如何自定义表头?

    问题概述 鼠标移动到el table表格组件的表头显示提示信息 也算是自定义表头的一种吧 效果图 宝宝不会做动图 宝宝心里苦 1 ElementUI2 0组件库el table表格组件常规用法 先贴上ElementUI2 0组件库的官网地址
  • 计算机组成原理——期末复习题

    113 计算机系统如何进行多级划分 这种分级观点对计算机设计会产生什么影响 答案 计算机系统通常由五个以上不用的级组成 具体如下 第1级是微程序设计级或逻辑电路级 该级由硬件直接执行 第2级是一般机器级 也称为机器语言级 它由微程序解释机器
  • ACE编程遇到的问题

    1 配置 在项目的属性页里 添加附加包含目录 附加目录库和附加依赖项 不然容易报缺失头文件的错误 1 2 3 2 项目 error PRJ0002 错误的结果 31 从 C Program Files MicrosoftSDKs Windo
  • 雷电模拟器桥接模式不显示网卡,4版本不能设置代理

    版本3 121 0 点击安装驱动之后 提示成功 但是这时候 桥接网卡 还是不能选中任何东西的 如果这时候直接点保存设置 再运行模拟器 会出现崩溃 点击一键修复 修复完成 提示重启电脑 然而并无卵用 开启模拟器时仍然会崩溃 再提示修复 再提示
  • 信息安全密码学:DES算法的核心 E盒、S盒、P盒

    加密密钥等于脱密密钥 或者由一个可以轻易的计算出另一个的密码体制 称为单密钥密码体制 亦或称为对称密码体制或传统密码体制 其最具代表意义的当然属于DES密码体制了 1 DES的设计背景 1973年5月 NBS 美国国家标准局 发布通告 征集