第三章 信息安全技术基础(1)

Chapter 3 信息安全技术基础

3.1 密码学概论

3.1.1 密码学历史

  1. 古代加密方法(手工加密):略
  2. 古典密码(机械阶段):一般采用文字置换,使用手工或机械变换的方式实现。如:德国的Enigma机
  3. 近代密码(计算机阶段):1977年,美国国家标准局颁布了数据加密标准DES;1978年,美国麻省理工学院的里维斯特,沙米尔和阿德曼提出了RSA公钥密码体制。

3.1.2 密码系统的概念

在这里插入图片描述 一个密码系统由算法 以及所有可能的明文密文密钥组成。

    M, 明文
    C,密文:明文变换的结果
    K, 密钥
    E,加密算法:一组含有参数的变换
	D,解密算法:加密的逆变换

密钥体制的设计要求应符合造在1883年 有科克霍夫斯提出的一个重要原则:密码系统中的算法即使为密码分析者已知,也无助于用来推导出明文和密文。

3.1.3 密码的分类

  1. 按应用技术或历史发展阶段划分
    手工密码
    机械密码
    电子机内乱密码
    计算机密码

  2. 按保密程度划分
    理论上保密的密码
    实际上保密的密码
    不保密的密码

  3. 按密钥方式划分
    对称式密钥:收发双方使用相同密钥的密码
    非对称式密钥:收发双方使用不同密钥的密码

  4. 按明文形态划分
    模拟型密码:用于加密模拟信号
    数字型密码:用于加密数字信号

3.2 常用加密技术

3.2.1 对称加密算法

在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES 
1.DES算法
 DES (数据加密标准) 是IBM研制的对称密码体制加密算法
 明文按64位进行分组,密钥长64位;
 事实上,密钥是56位参与DES运算(第8,16,24,32,40,48,56,64 位是校验位,使得每个密钥都有奇数个1)
 分组后的明文组和56位的密钥按位替代或交换的方法形参密文组的加密方法。

DES 的工作流程: 初始置换–迭代过程–逆置换。迭代过程涉及置换表、函数f、S盒以及子密钥的生成
在这里插入图片描述工作原理
入口参数:key:密钥64位; data :加密解密的数据 ;mode : 工作模式
当mode 为加密模式时,明文按64位分组,形成明文组;key用于对数据加密
当mode 为解密模式时,key用于对数据解密。

DES整体流程

首先:一个64位的明文组,进行初始置换(也表述为IP置换)。 即将明文按IP置换表的位置标记,将数据进行替换,从而得到一个新的明文顺序。
在这里插入图片描述注:IP置换表里的数字代表 明文中的位置。

初始置换后的结果分两组,L0代表左32位,R0代表右32位
然后,进入迭代过程:
在这里插入图片描述

迭代过程:

Li=Ri-1
Ri=L(i-1)⊕f(R(i-1),Ki)

从16轮迭代的过程发现,有函数f和密钥K,它们怎么产生的呢?
来看看函数F 的处理流程:
在这里插入图片描述

  1. E置换:将32位的Ri-1输入按E置换表 拓展成48位
    在这里插入图片描述

  2. 子秘钥的生成:假设密钥为K,长度64位。其中8,16,24,32,40,48,56,64作为奇偶校验位。

在这里插入图片描述

首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果为56位,前28位为C0,后28位为D0;
第一轮,对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位得到K1。
–其后如上–
注:左移的原理是所有的二进制位向左移动,原来最右边的比特位移动到最左边。

  1. S盒
    在函数f 中,对48位中间结果和48位子秘钥进行异或后的结果的处理

在这里插入图片描述S盒是6位输入,4位输出;中间差为2,2*8=16 正正好是48位输入,32位输出

S盒的对照表:
在这里插入图片描述处理流程:假设S1进入6位的输入110100, 将首尾提出10(2位表示0-3 作为行),中间1010(4位表示0-15 作为列),则110100表示第2 行,第10列的数字,即 9其二进制表示为1001,输出此结果。
详细:S盒以6位作为输入,4位作为输出,用S1说明。假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数在0~15之间的一个数,记k=a2a3a4a5, 由a1a6所代表的数是0-3间的一个数,记h=a1a6,在S1的h行,k列找到一个数B,B 在0-15之间,它可以用4位二进制表示,B为b1b2b3b4,这就是S1的输出。

4.P变换
P变换的算法是从S盒的输出作为P变换的输入,P的功能是对输入进行置换。
也是按置换表进行替换。


以上是f函数+S盒内容


IP逆置换和IP置换的原理是一致的。


DES算法回顾:
64位明文进行IP置换,后分左32位,右32位输入,进入16轮迭代。在迭代过程中需要f函数和密钥K,其中f函数将32位的Ri-1进行E变换拓展至48位中间结果,64位密钥通过PC1变换为56位,分左28位,右28位,LS左移后,进行PC2(压缩置换)得到子秘钥Ki(48位)。子秘钥Ki和48位的中间结果进行异或,其结果进入S盒,S盒的48位输入32输出,得到32位的结果,并通过P置换完成f函数的所有流程。迭代完成,通过IP逆置换,得到密文。

DES解密过程?

加密和解密可以使用相同的算法。加密和解密唯一不同的是秘钥的次序是相反的。就是说如果每一轮的加密秘钥分别是K1、K2、K3…K16,那么解密秘钥就是K16、K15、K14…K1。为每一轮产生秘钥的算法也是循环的。加密是秘钥循环左移,解密是秘钥循环右移。

其解密过程:

  1. 加解密算法可以一致
  2. 加解密密钥顺序相反
  3. 解密的密钥是循环右移
注重点:
  1. 最后第16轮迭代结束后,左边和右边交换,因此逆置换的输入是R16L16。
    在这里插入图片描述
DES特点

1、分组加密算法:

以64位为分组。64位明文输入,64位密文输出。

2、对称算法:

加密和解密使用同一秘钥

3、有效秘钥长度为56位

秘钥通常表示为64位数,但每个第8位用作奇偶校验,可以忽略。


DES解密过程+注重点+DES特点----------参考了DES算法原理完整版

如有思路错误,还望指正,感谢!

2.三重DES(3DES)

3DES解决了DES 密钥长度较短的问题。
通过两个独立密钥K1、K2,对明文进行三次加密,得到112位有效密钥强度。
算法流程:

  1. 用K1对明文进行加密
  2. 用K2对步骤一的结果进行解密
  3. 用K1对步骤二的结果进行加密
    这个过程称为EDE,(Encrypt Decrypt Encrypt).

3DES 特点:
缺点:时间开销比较大,是DES的3倍
优点:112位有效密钥长度。

3. IDEA加密:略

3.3 非对称加密算法

非对称密码系统的解密密钥和加密秘钥是不同的,一个称为公开密钥,另一个称为私人密钥。这种密码体系也被称为 公钥密码体系,其代表有RSA算法椭圆曲线、背包密码、McEliece密码、Diff-Hellan、Rabin和ElGamal 算法。

1. RSA算法

RSA 算法,参考: RSA 非对称加密原理(小白也能看懂哦~)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值