图解密码技术笔记(一)

对称加密:加密和解密的密钥相同

非对称加密:分为公钥和私钥

 

DES

DES的秘钥长度 64比特=56比特+8比特;没7比特设置一个用于错误检测的比特,实质上秘钥长度是56比特。DES是以64比特明文为一个单位分组进行加密的,这样的密码算法成为分组密码;

Feistel网络

加密的各个步骤成为轮,整个加密过程就是进行多次轮的循环,比如DES就是一种16轮循环的Feistel网络;

轮函数的作用:根据“右侧”和子秘钥对“左侧”进行xor运算,得到加密后的左侧;

也就是说,Feistel网络的解密操作只要按照相反的顺序来使用子密钥就可以完成了

 

分组密码和流密码

流密码是对数据流进行连续处理的一类密码算法,一般以1比特。8比特或者32比特进行加密解密;

DES和AES都属于分组密码,只能加密固定长度的明文,如果需要加密任意长度的明文,就需要对分组密码进行迭代,而迭代的方法称为分组密码的"模式"。

分组密码的主要模式:ECB、CBC、CFB、OFB、CTB。

ECB分组,直接将明文分组之后加密,这种模式简单容易破译,存在一定风险

 

CBC模式首先将明文分组与前一个密文分组进行XOR运算,在进行加密

公钥通信流程

有小A和小B通信:

1.小A先生成一对公钥密钥---- A有公钥和密钥

2.小A将公钥发送给小B-----小A有私钥,小B有公钥

3.小B可以使用公钥对要发送的信息加密,可以将加密后的信息发送给小A

4.小A收到信息可以使用私钥去解密

本着公钥加密原则,私钥解密原则,这个时候公钥的保密行就并不重要了

RSA加密

RSA加密公式: 密文 = 明文 ^E mod N

RSA的密文是用代表明文的数字的E次方求mod N的结果,这里的E和N就是RSA加密的密钥,也就是说E和N这个组合{E,N}是公钥

RSA解密

解密公式:明文 = 密文^D mod N

N和加密时相同,{D,N}就是RSA的私钥,这边RSA的D,N还是E使用数字是需要一定条件的

RSA生成密钥私钥

1.    N = p *  q   (先生成两个大质数p,q,因为想要通过大质数的乘积分解出p,q是非常困难的)

2.    求L,L是 (p-1)和(q-1)的最小公倍数

3.    求E   1<E<L 且 E和L的最大公约数为1

4.     求D   1<D<L 且  E*D mod L =1 

一组测试数据:p=17  q=19   N =323  L=144  E =5 D=29 

但是上述过程并不能阻止中间人攻击!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值