首页 >> 大全

信息安全三要素CIA

2023-06-22 大全 61 作者:考证青年

文章目录 第二章 加密基础 明文(消息)密文(密报)加密解密加密员或密码员加密算法接收者解密算法密钥截收者密码分析密码分析员被动攻击主动攻击 密码体系 经典加密 加密技术的分类 按照明文和密文处理方式分类 按照加密算法是否变化分类 第三章 对称密钥加密 流密码 分组密码加密 DES 三重DES 第四章 公开密钥 RSA DH算法和RSA算法的比较 第五章 哈希函数 生日攻击Tiger Hash 哈希函数应用

第一章 引言 信息安全三要素CIA 软件层面的信息安全机制(访问控制) 什么样的软件缺陷是安全问题,它们又是如何被攻击者利用的? 真实世界的安全可以归纳为 本书四部分

访问控制

协议

软件安全

第二章 加密基础 基本概念 密码学?

关于加密和解密变换的一门科学,是保护数据和信息的有力武器。

密码是什么?

密码就是变换。(信息代码变换、数据电平变换)

变换是什么?

变换是一种算法实现过程。

谁来做变换?

变换可以由硬件和软件实现。(人、器件部件、计算机)

密码学

研究信息系统安全保密的科学。包括两个分支:

密码编码学

对信息进行编码实现隐蔽信息的一门学问

密码分析学

研究分析破译密码的学问

明文(消息)

被屏蔽消息

密文(密报)

明文经密码变换成的一种隐蔽形式

加密

将明文变换为密文的过程

解密

加密的逆过程,即由密文恢复出原明文的过程

加密员或密码员

对明文进行加密操作的人员

加密算法

密码元对明文进行加密时所采用的一组规则

接收者

传送信息的预定对象

解密算法

接收者对密文进行解密时所采用的一组规则

密钥

控制加密和解密算法操作的数据除了,分别称为加密密钥和解密密钥

截收者

在信息传输和处理系统中的非授权者,通过大仙窃听、电磁窃听、声音窃听等来窃取机密信息

密码分析

截收者试图通过分析从截获的密文推断出猿来的明文或密钥

密码分析员

从事密码分析的人

被动攻击

对一个保密系统采取截获密文进行分析的攻击

主动攻击

非法入侵者、攻击者、黑客主动向系统窜扰,采用删除、增添、重放、伪造等篡改手段向系统注入假消息,达到利己害人的目的

密码体系

一个密码系统,通常简称为密码体制,由5部分组成

信息加密传输过程

加密

加密是指对数据进行编码使其看起来毫无意义,同时仍保持可恢复的形式

分类

技术上的实现

作用分类

网络中

注:

数据安全基于密钥而不是算法,但是对于某些军事上,国家安全上的算法也是保密的。

经典加密

经典密码(古典密码)运用两种基本方法

凯撒密码()

加密,字母表中后移3位,A–>D

​ 穷举便可破解25种

单表代换密码

自制表,用表中字母替换明文

​ 破解按照频率统计

​ E字母频率在字母表中最高

多表代换加密体系——

摩尔斯密码(摩尔密码)

*表示滴,-表示哒

一次一密 置换技术 轮转机

慢速转子,中速转子,快速转子

类似于时钟,26进制

隐蔽通道和隐写术 齐默尔曼电报 加密技术的分类 密钥使用方式: 对称密钥

在对数据加密的过程中,使用同样的密匙进行加密和解密,或者二者之间存在着某种明确的数学关系。

常见密钥算法:DES、IDEA

加密:EK(M)=C 解密:DK©=M

公开密钥/私有密钥

与对称密匙不同,公开密匙/私有密匙使用相互关联的一对算法对数据进行加密和解密,从加密的密钥无法推导出解密的密钥。

常见密钥算法:RSA

用公钥KP对明文加密可表示为:EKP(M)=C

用相应的私钥KS对密文解密可表示为:DKS©=M

按照明文和密文处理方式分类 分组密码体系 序列密码体系

按照加密算法是否变化分类

固定算法密码体系

变化算法密码体系

第三章 对称密钥加密 分类 流密码加密:

也称序列密码,它是每次加密(或者解密)一位或者一个字节

加密/解密运算只是简单的模二加运算

密码的强度主要靠密钥流的随机性

伪随机数,在计算伪随机数时,假如使用的开始值不变的话,那么伪随机数的数序也不变

分组密码加密:

也称为块密码,它是将信息分成一块(组),每次操作(如加密和解密)是针对一组而言

流密码

流密码又称为序列密码( )

原理:明文流与密钥流按顺序逐比特进行异或运算,从而产生密文流。

A5/1算法

GSM蜂窝电话网络

硬件实现

密钥流的生成

64位密钥填充到其中

新的一位密钥流=x18 ⊕ y21 ⊕ z22

m=多数(x8, y10 ,z10 ),x移位寄存器进行移位

m=x8 , temp=x18⊕x17⊕x16⊕x13

for(int i=18; i>0; i--)
{x(i)=x(i-1);
}
x[0]=temp;

同理,y和z

。。。直至密钥流长度和明文长度相同

RC4算法

支持可变的密钥长度

软件实现

初始化

/*伪代码
For  i=0  to  255S[i]=iK[i]=key[i mod N]
Next  i
j=0
For  i=0  to  255j=(j+s[i]+k[i])mod 256Swap(s[i],s[j])
Next  i
i=j=0
*/

密钥字节流

/*伪代码
i=(i+1)mod 256
j=(j+s[i])mod 256
Swap (s[i],s[j])
t= (s[i]+s[j])mod 256
Keystreambyte=s[t]
*/

分组密码加密 函数

令 F 为轮函数;

令K1,K2,……,Kn 分别为第1,2,……,n 轮的子密钥。

加密过程:

将明文信息均分位两块 P=(L0 ,R0)

每一轮,进行如下运算

Li = Ri-1 ,Ri =Li-1 ⊕ F(Ri-1 , Ki)

第i轮得到的结果即为(Li, Ri )

解密过程:

Ri-1 =Li , Li-1 =Ri ⊕F(Li ,Ki)

影响结构的因素有: 块的大小:64/128密钥的大小:65/128循环次数(轮次数):16子密钥的生成算法:复杂轮函数的复杂度:复杂 DES

大佬写得不错——>

56位密钥加密64位明文,最后输出64位密文

包括两大部分:加密,子密钥的产生

F产生的32位输出和L 进行异或得到新一轮的R

如此反复进行16轮即可

还有点小瑕疵,每一轮的K不一样呢

子密钥的产生

子密钥是由它的初始密钥产生的,从前,密钥接收时还是64位,除去(8*8)最后一列8位用来奇偶校验,还剩56位,按照下表顺序重新排列

PC-1表为:

57,49,41,33,25,17,09

01,58,50,42,34,26,18

10,02,59,51,43,35,27

19,11,03,60,52,44,36

63,55,47,39,31,23,15

07,62,54,46,38,30,22

14,06,61,53,45,37,29

21,13,05,28,20,12,04

提取其中的6列48位作为子密钥K0

继续寻找K1前四行位C0,后四行位D0

每轮移动移动位数表如下:

轮数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

根据上表,得到

49,41,33,25,17,09,01

58,50,42,34,26,18,10

02,59,51,43,35,27,19

11,03,60,52,44,36,57

55,47,39,31,23,15,07

62,54,46,38,30,22,14

06,61,53,45,37,29,21

13,05,28,20,12,04,63

选择6列作为K1

16轮迭代完成,在进行逆初始置换,一切ok

40,08,48,16,56,24,64,32,

39,07,47,15,55,23,63,31,

38,06,46,14,54,22,62,30,

37,05,45,13,53,21,61,29,

36,04,44,12,52,20,60,28,

35,03,43,11,51,19,59,27,

34,02,42,10,50,18,58 26,

33,01,41,09,49,17,57,25,

解密

DES解密过程与加密过程本质上一致

加密和解密使用同一个算法,使用相同的步骤和相同的密钥

主要不同点是将密文作为算法的输入,逆序使用子密钥ki,即第1轮使用子密钥k16,第2轮使用子密钥k15,最后一轮使用子密钥k1

三重DES

密钥长度168位

第四章 公开密钥

存在即合理,公钥密码技术的出现就是为了解决以下两个问题:

它安全吗?

公钥密码系统依赖三种数学难题:

大整数因子分解问题离散对数问题椭圆曲线上的离散对数问题

公钥密码的优点:加密密钥可以公开传播;

公钥密码的缺点:运算速度较慢,不适合大量数据加密

RSA公钥密码体制的安全性基于大整数的素分解问题的安全性;

公钥密码体制的安全性基于有限域上的离散对数问题的困难性;

Rabin公钥加密方案是第一个被证明了的安全公钥加密方案。

加密用公钥加密,私钥解密

签名用私钥签名,用公钥验证

超递增背包问题

一般背包问题求解困难,不考。如果是超递增背包问题就能求解了

超递增序列

如果一个序列{a},ai >=ai-1 +ai-2 + … + a1 , i>=2,则这个序列是超递增序列

超递增序列的解是容易找到的。将总质量与序列中最大的数比较,如果总质量小于这个数,则它不在背包中;如果总质量大于这个数,则它在背包中,用背包质量减去这个数,转向考查序列下一个最大的数,重复这个过程直到结束。

【例】考查总质量为70kg的一个背包,质量序列为2,3,6,13,27,52。

可以看出(2,3,6,13,27,52)是超递增序列,按照超递增序列解法:

an=-52kg=18kg,an-1=27kg>18kg

所以27kg不在背包。重复步骤得出解为: 加密实现

选一组正整数a1,a2,…,an作为公钥予以公布,m= m1m2…mn是n位0,1明文符号串。利用公钥加密如下 :

c=a1m1+a2m2+…anmn

从已知密文c求解明文m=m1m2…mn等价于解背包问题。

【例】 已知 a1=12,a2=20,a3=25,a4=28,a5=31,a6=38,a7=55,a8=77

明文是 m1=,m2=

分别加密得密文

c1=12+20+25+31+55+77=220

c2=20+28+31+38+55+77=249

由密文和已知的密钥a1,a2,…,an可以用求解背包问题的方法获得明文。

公钥选取

背包公钥系统选的背包序列a1,a2,…,an是由超递增序列进行变换得到的。设b1,b2,…,bn是超递增序列,即

bi >∑bi-1 ,i=2,3,…,n

选取模数m>2bn和乘数w,w和m互素,w-1满足ww-1≡1(mod m)

需要注意的几个条件:

(1)模数m需要比序列中所有数的和还要大

(2)乘数w应与序列中的任何一个数没有公因子

作-变换:

ak ≡ wbk(mod m),k=1,2,…,n

于是从超递增序列b1b2…,bn得到序列a1a2…,an。

结论:超递增背包序列{b}就是私钥,而得到的背包序列{a}就是公钥。

解密过程

RSA 密钥的产生 随机选择两个大素数 p, q计算 n=p×q计算秘密的欧拉函数 f(n)=(p-1)(q-1)选择 e使得1解下列方程求出 d

e*d ≡1 mod f(n), 且 0≤d≤n公开公钥: PU={e, n}保存私钥:PR={d, n} 加密

加密时明文以分组为单位进行加密,每个分组m的二进制值均小于n,对明文分组m作加密运算:

c=me mod n, 且0≤m 解密

密文解密m=cd mod n

例子

d咋来的呢?

一步一步试出来

d=7,

加密密钥(公钥)为:KU =(e, n)=(3,33),

解密密钥(私钥)为:KR =(d, n)=(7,33)

假设明文是15,

则发送方对明文加密,得密文C = Me mod n = 153 mod 33 = 9

接收方对密文解密,得明文 M = Md mod n = 97 mod 33 = 15

DH算法,PPT上面没有详解,估计不考

DH算法和RSA算法的比较

共同点:

两个算法都是公钥密码学算法

都可以在不安全的信道下传递密钥

都不适合加密大段信息

不同点 应用场景 数学难题

DH算法 密钥交换 离散对数的难解性

RSA算法 数据加密和数字签名 大整数的因子分解

巴拉巴拉巴拉。。。

直接来例子吧

例1 椭圆曲线Y2= x3+2x+3(mod 5)上各个点(x,y)

已知p = 5,0≤ x,y≤ p-1= 4

y2

0

1

4

9

16

y2 mod 5

0

1

4

4

1

分别取整数值x=0,1,2,3,4求对应的y值

X=0 y2=3mod5=3 无解

X=1 y2=6mod5=1 y=1,4

X=2 y2==0 y=0

X=3 y2==1 y=1,4

X=4 y2==0 y=0

则找到的点为(1,1),(1,4),(2,0),(3,1),(3,4),(4,0)

例2 椭圆曲线Y2=x3+x+1(mod 5)上各个点(x,y)

已知p = 5,0≤ x,y ≤ p-1

分别取整数值x=0,1,2,3,4求对应的y值

X=0 y2=1 y=1,4

X=1 y2=3 无解

X=2 y2=11 y=1,4

X=3 y2=31 y=1,4

X=4 y2=69 y=2,3

则找到的点为(0,1),(0,4),(2,1),(2,4),(3,1),(3,4),(4,2),(4,3)

第五章 哈希函数 Hash函数 主要功能

提供有效的数据完整性检验

定义

一个将任意长度的消息序列映射为较短的、固定长度的一个值的函数

也称消息摘要( )、哈希函数

其输入为一个可变长x,返回一固定长度串,该串h称为输入x的HASH值(消息摘要),记作h=H(x)。

分类

实际应用中的Hash函数:

简单的Hash函数

带密钥的Hash函数

一个带密钥的Hash函数通常用来作为

消息认证码MAC( code)

特点

Hash函数的目的是确定消息是否被修改

对Hash函数攻击的目标是

生成这样的修改后消息:其Hash函数值与原始消息的Hash函数值相等。

生日攻击

生日悖论:只要有23个人左右,就可以大概估计有50%左右的概率有人生日是相同的(第二原像漏洞),如果再多一点,概率会大幅度提升。

N=253,才会使得“有某个人与你生日相同”的概率大于1/2

统计结果表明:当hash值的长度为128比特时,则任意两个报文M1和M2具有相同hash值的概率接近于零

安全Hash标准的输出长度选为160比特

Tiger Hash MD5

MD指的是消息摘要( )

128位输出

MD5以512位的分组长度来处理消息,每一个分组又被划分为16个32位的子分组。

算法的输出由4个32位的分组组成,它们串联成一个128位的消息摘要。

MD5将任意长度的“字节串”变换成一个的大整数,并且是一个不可逆的字符串变换算法。

SHA-1

SHA表示安全哈希算法( Hash )

160位输出

雪崩效应

输入差之毫厘,输出谬以千里

雪崩效应,是所有加密哈希函数都会追求的一个理想特性。

其目标是:在输入值中任何小的变化,都应该级联传递并导致输出结果较大的变化——就像雪崩一样。

理想情况下,任何输入值的变化引发的输出值变化都是不相关的,这样,攻击者将不得不实施穷举式检索来寻找碰撞。

哈希函数应用

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了