防御保护15

混合密码体系**---数字信封
逻辑 --- 先用快速的对称密钥来对消息进行加密,保证数据的机密性。然后只需要保证对称密钥的机密性即可,使用公钥密钥体系来对对称秘钥消息进行加密。


身份认证和数据认证技术
**Hash
**散列**
指纹 ---> 单向散列函数
Hash ---> 散列函数、散列算法、哈希算法;---> 将任意长度的输入数据,输出为相对较小的数据的方法,目标数据长度是不固定的,输出为固定的长度,且过程不可逆。
散列并不是加密,加密是可逆的,而散列是不可逆的
不可逆
明文可以很长,而散列值固定长度
相同的明文,产生的散列值相同;不同的明文,产生的散列值一定不同。
雪崩效应
用途

  1. 网络传输的校验和
  2. 确保传递信息的真实性和完整性
    MAC --- 消息认证码 --- 类似于散列,将明文转换为MAC值
    对消息进行认证并确定其完整性的技术。通过使用发送者和接收者之间的共享密钥,就可以识别是否存在伪装和篡改行为。--->散列值确保的是消息的完整性,而MAC是在完整性的基础上,进一步确保消息未被篡改**(发出者是A而不是C)**。
    散列的输入只有明文,而MAC会多出一个密钥。
    HMAC --- 基于哈希的消息认证码 --- 使用了某个密码学散列函数的MAC算法
  3. 电子签名
    网络中的"身份证",由数字签名算法实现。
    数字签名算法 ---> 需要散列函数进行计算。
  4. 保存敏感资料,如密码信息
  5. 散列表 --- 快速查找 --- HashTable
    利用key的散列值来映射到内存地址中,从而实现快速读写value
    散列算法一般分为两种 密码学哈希 和 非密码学哈希
    密码学哈希 ,指的是用于保证密码学安全性的散列算法;指的是很难发生 哈希碰撞 ,或者很难被找出哈希前的明文数据,即哈希值表现出很强的随机性。 密码学哈希 关键指标就在于抗碰撞性。
    非密码学哈希 ,只是尽量避免非恶意输入带来的哈希碰撞 ---> CRC,又或者HashTable
    如果一个密码学哈希算法被证实在当下计算机的计算能力内出现碰撞的可能性较高,或出现过碰撞,则该算法会成为不安全的密码学哈希算法。
    消息认证码的局限性 ---> 无法解决"对第三方证明"和"防止否认"两个问题
    生成消息签名的行为
    由消息发送者来完成,被称为"对消息签名"。
    验证消息签名的行为
    由消息接收者来完成,也可以由第三方来完成。
    验证该消息是否真正的属于某一个发送者。
    数字签名过程中,生成签名和验证签名的两个行为需要使用各自专用的密钥来完成 --- 即验证签名的****密钥无法生成签名。--->类似于公钥密码体系。

    数字证书
    所谓证书,将公钥当做是一条消息,由一个可信任的第三方对其签名后所得到的公钥
    证书
    公钥证书(PKC),与驾照很相似,里面存在姓名、组织、邮箱地址...个人信息和公钥。并由认证机构**(CA)来实施数字签名**。

    认证机构对公钥对应证书的申请者会进行身份验证
    1、通过邮箱发送邮件来确认本人身份
    2、通过第三方数据库来确认本人身份
    3、通过当面认证和身份证明来确认本人身份
    认证机构CA
    生成密钥对 --- 可以由用户完成,也可以由CA机构完成。
    在注册公钥时,对本人身份进行认证 --- RA完成
    生成并颁发证书
    作废证书 --- 用户私钥丢失,被盗。
    要作废证书 --- 就需要认证机构制作一张证书作废清单 --- CRL
    PKI用户需要从认证机构获取最新的CRL,并查询自己要用于验证签名(或者用于加密)的公钥证
    书是否已经作废。--->不是用户完成的,而是由处理证书的软件来完成的。
相关推荐
LHminer 凡40 分钟前
阿瓦隆A16 282T:SHA-256算法矿机,282T算力与13.8J/T能效比
区块链·哈希算法·gpu算力
前端炒粉8 小时前
18.矩阵置零(原地算法)
javascript·线性代数·算法·矩阵
暴风鱼划水9 小时前
三维重建【0-D】3D Gaussian Splatting:相机标定原理与步骤
算法·3d
mount_myj11 小时前
敏感信息屏蔽(一)【java】
java·算法·极课堂
先做个垃圾出来………12 小时前
偏移量解释
数据结构·算法
FanXing_zl12 小时前
基于整数MCU的FOC控制定标策略深度解析
单片机·嵌入式硬件·mcu·算法·定点运算·q15
立志成为大牛的小牛12 小时前
数据结构——三十三、Dijkstra算法(王道408)
数据结构·笔记·学习·考研·算法·图论
地平线开发者13 小时前
mul 与 reduce_sum 的优化实例
算法·自动驾驶
坚持编程的菜鸟13 小时前
LeetCode每日一题——Pow(x, n)
c语言·算法·leetcode