现代加密技术

共享密钥加密算法(对称加密算法)

加密和解密的密钥也一样

 

公钥加密算法(非对称加密算法)

加密和解密的密钥不一样

共享密钥/对称加密算法

数据加密标准(DES

一种分组密码,在加密前,先对整个明文进行分组。每一个分组为64,之后进行16论迭代,产生一组64位密文数据,使用的密钥是56

 

3DES

使用两个密钥,执行三次DES算法,密钥长度是112

 

国际数据加密算法(IDEA

使用128位密钥,把明文分成64位的块,进行8轮迭代IDEA可以使用硬件或软件实现,比DES

 

高级加密标准(AES

AES支持128位、192位、256三种密钥长度,可通过硬件实现

 

流加密算法和RC4

加密速度快,可以达到DES10

 

公钥加密算法/非对称加密算法

每两个实体有两个密钥,公钥公开,私钥自己保存

公钥加密,私钥解密,可实现保密通信

私钥加密,公钥解密,可实现数字签名

典型公钥加密算法:RSADH

 

数字签名

数字签名是用于确认发送者身份和消息完整性的一个加密消息摘要,具体特点如下:

  • 接收者能够核实发送者
  • 发送者事后不能抵赖对报文的签名
  • 接收者不能伪造对报文的签名

 

数字签名和数据加密联合使用的流程如下:

  1. 发送者A 使用 A的私钥 对数据进行加密,进行数字签名
  2. 发送者A 使用 B的公钥 对数据进行加密,进行数据加密
  3. 接收者B 使用 B的私钥 对数据进行解密,进行数据解密
  4. 接收者B 使用 A的公钥 对数据进行解密,进行身份核实

 

报文摘要(哈希/散列)

MD5

对任意长度报文进行运算,先把报文512位分组,最后得到128报文摘要

SHA

512长的数据进行复杂运算,最终产生160散列值,比MD5更安全,计算比MD5

 

将一段数据(任意长度)经过一道计算,转换为一段定长的数据

 

哈希Hash(散列函数)

不可逆性(单向)

几乎无法通过Hash结果推导出原文,即无法通过xHash值推导出x

无碰撞性

几乎没有可能找到一个y,使得yHash值等于xHash

雪崩效应

输入轻微变化,Hash输出值产生巨大变化

 

使用场景

  • 发布文件的完整性验证,如炒股软件+MD5验证软件完整性
  • 下载文件+MD5验证文件完整性
  • 服务器中保存用户的密码
    • 增加一个key做哈希

HMAC = Hash(文件+key

需要双方预先知道这个key

HMAC:消除中间人攻击,源认证+完整性校验(数字签名也能实现)

  • 数字签名

 

数字证书与CA

数字证书可类比为身份证的作用,用于证明身份

CA是电子商务认证授权机构

 

比如:

要证明发送者是否是A

需要得到A的数字证书

要证明得到的数字证书是否真的是A的数字证书

可以得到的A的数字证书是否有CA数字签名(签名用CA的私钥)

 

证书链

 

如果用户数量很多,通常由多个CA。每个CA为一部分用户发行和签署证书

如果有两个CAX1X2,假设用户ACA机构X1获得了证书,用户BX2获得证书。如果两个证书发放机构X1X2彼此间安全交换了公钥,彼此信任,那么他们的证书可以形成证书链

A通过一个证书链来获取B的公钥,证书链表示为:

X1X2X2B

B也能通过相反的证书链来获取A的公开密钥:

X2X1X1A

posted @   让我读个条  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示