密码技术学习

技术

  • 对称密码
  • 非对称密码
  • 单向散列函数
  • 消息认证码
  • 数字签名
  • 伪随机数生成器

在这里插入图片描述

对称密码

  • 对称密码存在密钥配送的问题,如何将密钥安全的发送给接收者
  • XOR可以作为一个对称密码算法 A x o r B x o r B = A Axor B xor B = A AxorBxorB=A,其中 A 是明文,B是密钥
  • 一次性密码本是无条件安全的,在理论上是无法破译的

DES

  • 已经不再使用
  • DES(Data Encryption Standard) 是一种将64bit的明文加密成64bit的密文的对称密码算法,它的密钥长度是56bit。
  • DES是以64bit的明文为一个单位进行加密的,这个64bit的单位成为分组。一般来说,以分组为单位进行处理的密码算法成为分组密码

DES的结构 (Fiestel 网络)

在这里插入图片描述
在这里插入图片描述

3重 DES

  • 3重DES由于兼容DES,可能还是使用一段时间,但是会被AES取代
    在这里插入图片描述

AES(Advanced Encryption Standard)

  • AES 是取代 DES成为新标准的一种对称加密算法。
  • AES(Rijndeal) 也是分组密码算法,分组长度为128bit,密钥长度可以32bit为单位在128bit和256bit的范围进行选择,但是AES规格中,密码长度只有128、192、256bit三种。
分组密码的模式
模式
ECB模式
CBC模式
CFB模式
OFB模式
CTR模式

在这里插入图片描述

非对称密码

  • 用公钥(public-key cryptography)加密,用私钥解密
  • 使用公钥密码,解决了密钥配送的问题
  • 公钥和私钥是一一对应的,成为密钥对(key pair)
  • RSA 是公钥密码的事实标准

特性

  • 发送者使用加密密钥
  • 接收者使用解密密钥
  • 加密密钥可以公开
  • 解密密钥一定要保密

流程

  • 接收者生成公私钥对,发送公钥给发送者
  • 发送者使用公钥加密明文
  • 接收者使用私钥解密密文

需要解决的问题

  • 处理速度只有对称密码的几百分之一
  • 公钥认证问题(为了应对中间人攻击)

RSA是一种公钥密码算法,可以用于公钥密码和数字签名

  • RSA利用质因分解的困难度
  • 在RSA中,密文、明文、公钥都是数字,加密过程如下,对代表明文的数字的E次方求模N,(E,D,N都是很大的数字,512比特以上)

    密 文 = 明 文 E m o d N 密文 = 明文^E mod N =EmodN (E,N的组合就是公钥)

  • 解密过程

    明 文 = 密 文 D m o d e N 明文 = 密文^D mode N =DmodeN (D,N的组合就是私钥)
    在这里插入图片描述

ElGamal

  • 利用mod N 求离散对数的困难度

Rabin

  • 利用mod N 求平方根的困难度

椭圆曲线密码 ECC

  • 将椭圆曲线上的特定点进行特殊的乘法运算,利用了这种乘法运算的逆运算困难度

单向散列函数(一致性或者完整性验证)

  • 用于获取信息的摘要

  • 输入消息,输出散列值,散列值用于检查消息的完整性

  • 散列值的长度和消息的长度没有关系

  • MD4、MD5 是单向散列函数,已经不安全了。(MD是message digest的缩写)

  • SHA、SHA-1(已经被攻破)、SHA-256、SHA-384、SHA-512(统称为SHA-2,还未被攻破)

数字签名

  • 数字签名 由单向散列函数和公钥密码组成
  • 先通过单向散列函数计算出消息的散列值,再对散列值施加数字签名。

证书

  • 证书由公钥和数字签名组成

消息认证码(message authentication code MAC)

  • MAC是一种确认完整性并进行认证的技术
  • 消息认证码是由单向散列函数和密钥组合而成,也可以通过对称密码来生成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值