安全模块理论知识——MAC,SHA ,hash算法,安全证书相关

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: MAC,SHA ,hash算法,安全证书相关

MAC,SHA ,hash算法,安全证书相关

由于对于加密算法和密码学的知识有些模棱两可,所以这几天专门学习了一些基础知识与大家分享

1.密码学基础

1.1密码学解决的四个问题

1.机密性:明文不具有安全性,所有我们必须根据密钥来生成“不可被理解”的密文,根据密钥才能破解密文使其变成能够理解的明文

2.完整性:发送方发出数据,接收方接收数据,接收的数据与发送的数据一致,则说明数据具有完整性,主要使用MAC算法来保证完整性

3.身份验证:发送方和接收方的身份验证。一般通过数字签名技术来验证身份

4.不可抵赖性:信息的发布协约的签订的人不可抵赖其做过的事情

1.2随机数生成算法

在这里插入图片描述

1.3hash算法

这里指密码学中的hash算法,而不是数据结构中的hash算法

  • 输入信息
  • 输出固定长度的摘要
  • 不可逆性:无法通过生成的摘要推到计算出原始消息内容
  • 两个不同的消息不可能生成一致的摘要

常见的hash算法:MD5 SHA

在鸿蒙安全模块中使用的就是SHA相关的hash算法

2.对称加密算法

通过一个算法和密钥(secret key)对明文(plaintext)进行加密得到的不规则字符就是密文(ciphertext)

而对称算法又分为流密码算法和块密码算法

鸿蒙使用的就是快密码算法中的AES算法

1.AES算法使用的密钥通过口令和salt生成,同样的口令和salt会生成同样的密钥

2.salt的主要作用使为了保证同样的口令可以生成不同的密钥

3.非对称加密算法与安全证书

3.1非对称加密算法

非对称加密算法又称公开密钥算法——指的是一组算法

**与对称加密算法相比:
1.对称加密算法一般用于数据加密,而非对称加密算法不仅仅用于数据加密还可以进行数字签名等
2.非对称加密算法有一对密钥:公钥和私钥**

使用的最多的是RSA

3.2安全证书

1.权威的第三方中立机构CA为服务器的证书请求并进行信息核验后,将持有者的名称、公钥和CA私钥生成的数字签名等信息写入证书颁布给申请者

2.当用户与服务器通信时,服务器收到请求后将证书给浏览器进行检查并向第三方询问证书,确认后方可进行通信

4.MAC相关介绍

**0.为什么需要MAC?
——hash算法只能验证数据的完整性而无法保证数据防篡改,当攻击者对消息进行篡改,但是仅通过hash算法计算摘要值,无法知道消息被改动过**

1.兼容了MD和SHA的算法特性

2.主要通过异或运算和其他算法配合实现MAC值的运算

3.双方以相同的方式生成MAC并继续比较,相同则验证成功否则失败

MAC一般分为CBC-MAC和HMAC

相关文章
|
1月前
|
算法 安全 JavaScript
安全哈希算法:SHA算法
安全哈希算法:SHA算法
29 1
安全哈希算法:SHA算法
|
24天前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
97 1
|
28天前
|
安全 算法 Java
java系列之~~网络通信安全 非对称加密算法的介绍说明
这篇文章介绍了非对称加密算法,包括其定义、加密解密过程、数字签名功能,以及与对称加密算法的比较,并解释了非对称加密在网络安全中的应用,特别是在公钥基础设施和信任网络中的重要性。
|
1月前
|
安全 数据库 数据安全/隐私保护
|
1月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
88 1
|
2月前
|
算法 安全 网络安全
信息安全: MAC(消息认证码)算法,保护数据完整性和真实性的利器
MAC 算法在保证数据完整性和真实性方面扮演着重要角色。HMAC 和 CMAC 作为两种主要的 MAC 算法,因其高安全性和广泛应用,已经成为现代通信和数据保护中不可或缺的一部分。通过本文的介绍,希望读者能够更好地理解和使用 MAC 算法,保障信息的安全性。
|
2月前
|
算法 Python
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
|
2月前
|
算法
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
|
2月前
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
1月前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
37 3