5分钟掌握密码学基础知识 加密机 安当加密

密码学的目标:
机密性、完整性、身份认证和不可否认性。

  1. 机密性:确保数据在存储或传输中保持秘密状态
  2. 完整性:保证数据在传输中不被篡改
  3. 身份认证:对声明的系统用户进行身份验证
  4. 不可否认性:为接收者提供了担保,保证消息确实来自发送者而不是来自伪装者。

现代密码学基础知识:

1. 对称密钥算法

加密和解密使用相同的密钥,密钥需要事先分发给所有参与通信的成员。当密钥长度足够长时,破解比较困难。缺点如下:

  • 需要解决密钥分发问题。需要事先采用安全的方式共享加密密钥。
  • 未解决不可否认性。任意拥有密钥的人都可以加密,无法分辨加密消息来自于谁。
  • 密钥需要经常更新。每当有成员离开用户组时,所有涉及这个成员的密钥都需要更新。

DES算法:美国政府1977年公布,DES是一个64位的分组密码,实际使用的密钥长度为56位。

3DES算法:由于现代密码分析技术和超级计算能力提升,DES算法已经不在安全。DES的修改版本三重数据加密算法3DES能够使用相同的算法实现更安全的加密。

AES算法:2000年10月,美国国家标准和技术协会NIST宣布Rijndael分组密码替换DES成为新的加密算法标准。AES密码准许使用三种密钥长度:128位,192位,256位。

常见的对称密码算法

算法

分组大小(位)

密钥大小(位)

DES

64

56

3DES

64

112或168

AES

128

128、192、256

Rijndael

可变

128、192、256

Twofish

128

1-256

Blowfish(通常在SSH中使用)

64

32-448

IDEA

64

128

2. 非对称密钥算法

非对称密钥算法也叫公钥算法,有效的解决了对称密钥算法的很多痛点。在这个系统中,每个用户都有两个密钥,一个在所有用户间共享的公钥,一个是只有用户自己知道的私钥。

三种非对称密码算法的密钥长度

密码算法

密钥长度

RSA

1088

DSA

1024

ECC

160

3. 散列函数

散列函数具有一个非常简单的用途,就是它们接收一个可能很长的消息,然后根据消息内容生成唯一的输出值,以此来确保消息是否被篡改。

散列算法记忆表

算法名称

哈希值的长度(位)

HAVAL一种MD5变种

128、160、192、224、256

HMAC

可变

MD2

128

MD4

128

MD5

128

SHA-1

160

SHA-224

224

SHA-256

256

SHA-384

384

SHA-512

512

4. 数字签名

数字签名的应用有两个明显的作用:

  • 向接收方保证:消息确实来自声明的发送者,并且实施了不可否认性
  • 向接收方保证:消息在发送方和接收方之间进行传输过程中不会被改变。

签名过程

验签过程

5. 公钥基础设施(PKI)

公钥基础设施PKI使得原本互不相识的双方间通信变得更加容易。由可信证书颁发机构CA签发证书来对用户的公钥做身份证明。

数字证书为通信双方提供了保证,保证正在通信的人确实具有他们所宣称的身份。数字证书本质上是个人公钥的认可副本。当用户验证证书确实是由可信证书颁发机构(CA)发布时,他们就相信这个公钥是合法的。数字证书X.509国际标准包含以下数据:

  • 序列号(来自证书建立者)
  • 签名算法标识符
  • 发布者姓名(发布证书的证书授权机构的身份标识)
  • 有效期
  • 主体的名字
  • 主体的公钥

猜你喜欢

转载自blog.csdn.net/weixin_51174449/article/details/124289231
今日推荐