跳至主要內容

数据加密与数字签名

知识库运维技巧证书认证加密技术大约 5 分钟

一、数据加密

1.对称加密

  • 采用单密钥的加密算法,我们称为**对称加密**。
  • 整个系统由如下几部分构成:需要加密的明文、加密算法、密钥。
  • 在加密和解密中,使用的密钥只有一个。
  • 常见的单密钥加密算法有**DESAESRC4**等。

2.非对称加密

  • 采用双密钥的加密算法,我们称为**非对称加密**。
  • 整个系统由如下几个部分构成:需要加密的明文、加密算法、私钥和公钥。
  • 在该系统中,私钥和公钥都可以被用作加密或者解密,但是用私钥加密的明文,必须要用对应的公钥解密,用公钥加密的明文,必须用对应的私钥解密。
  • 常见的双密钥加密算法有**RSA**等。

3.区别与联系

  1. 在**对称加密**中,密钥不能暴露,否则在算法公开的情况下,数据等同于明文,
  2. 而在**非对称加密**中,公钥是公开的,私钥是保密的。这样任何人都可以把自己的信息通过公钥和算法加密,然后发送给公钥的发布方,只有公钥发布方才能解开密文。

我们看到,在对称加密和非对称加密中,它们有一个共同的特点,即数据可以加密,也可以解密。实际上,我们还有一种加密需求,只需要加密,形成一个密文,而不需要解密,甚至极端地说,要求不可解密。这时候,可以使用**哈希算法**等。

4.哈希算法

哈希算法是一种从任意数据中创建固定长度摘要信息的办法。一般我们要求,对于不同的数据,要求产生的摘要信息也是唯一的。

  • 常见的哈希算法包括**MD5SHA-1**等。

二、数字签名

数字签名 是指用于标记数字文件拥有者、创造者、分发者身份的字符串。

数字签名拥有标记文件身份、分发的不可抵赖性等作用

目前,常用的数字签名采用了非对称加密。例如,A 公司发布了一个可执行文件,称为Hello.exe,A 在Hello.exe中加入了 A 公司的数字签名。A 公司的数字签名是用 A 公司的私钥加密了Hello.exe文件的哈希值,我们得到打过数字签名的Hello.exe后,可以查看数字签名。

这个过程实际上是用 A 公司的公钥解密了文件哈希值,从而可以验证两个问题:Hello.exe是否由 A 公司发布,Hello.exe是否被篡改。

三、数字证书

假设,我们登录某银行的网站,这时候网站会提示我们下载数字证书,否则将无法正常使用网银等功能。

在我们首次使用 U 盾的时候,初始化过程即是向 U 盾中下载数字证书。那么,数字证书中包含什么呢?

数字证书中包含了银行的公钥,有了公钥之后,网银就可以用公钥加密我们提供给银行的信息,这样只有银行才能用对应的私钥得到我们的信息,确保安全。

四、PKI 体系

PKI(Public Key Infrastructure),全称公钥基础设施,是使用_非对称加密理论,提供数字签名、加密、数字证书等服务的体系_,

一般包括权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等。

围绕PKI体系,建立了一些权威的、公益的机构。它们提供数字证书库、密钥备份及恢复系统、证书作废系统、应用接口等具体的服务。比如,企业的数字证书,需要向认证机构申请,以确保数字证书的安全。

五、国密算法

1.密码分类

密码学中应用最为广泛的的三类算法:

  1. 对称算法【分组密码算法】 代表分组密码算法(DESSM4);
  2. 非对称算法【公钥密码算法】 代表公钥密码算法(RSASM2);
  3. 杂凑算法【摘要算法】 代表摘要算法(HAS-256系列SM3);

2.国密算法

  • 国密算法是由国家密码局发布,是现今最通用的商用算法
  • 包含 **SM1SM2SM3SM4SSF33**算法。
    算法区别与比较 详见参考链接!

p1 和 p7 签名的区别

  • P1签名: 即裸签名,签名值中只有签名信息.
  • p7签名: 即签名中可以带有其他的附加信息,例如签名证书信息,签名原文信息,时间戳信息等.

参考地址

国密文档

国密局open in new window
商用密码认证业务网open in new window

文档下载方式:

  1. 国密地址: 国家标准全文公开系统open in new window
  2. 标准标号查询: 工标网open in new window

eg:《SM2 密码算法加密签名消息语法规范》

在全文公开系统查询到是:

img
img

在工标网上查到是:

img
img