优化实战 第 47 期 - 密码学知识要点

4,748 阅读2分钟

密码学是各种安全应用程序所必须的,现代密码学旨在创建通过应用数学原理和计算机科学来保护信息的机制。但相比之下,密码分析旨在解密此类机制,以便获得对信息的非法访问

cryptography.jpeg

密码学的关键属性

  • 机密性 防泄密

    防止未经授权的访问者访问信息,也就是说确保只有经过授权的访问者才能访问受限制的数据

    例如:个人医疗数据需要保密,这就意味着只有医生或医护人员才能访问相关数据

  • 完整性 防篡改

    保护信息不被随意修改

    例如:必须要保护医疗数据的完整性,因为篡改数据可能导致错误的诊断或治疗,并给患者带来健康风险

  • 真实性 防假冒

    与识别信息的所有者有关

    例如:患者数据应与已识别的个人联系起来,且患者需要知道操作的医生是谁

加密类型

  • 对称加密

    sym_encryption.jpg

    加密和解密共享同一个密钥,只有那些有权访问数据的人才能拥有单个共享密钥

  • 非对称加密

    asym_encryption.jpg

    使用 公用密钥 进行加密,使用 私有密钥 进行解密,且私有密钥对外必须要保密

哈希算法

  • 算法定义

    哈希算法(Hash)又称为摘要算法(Digest),其作用是 对任意的输入数据进行计算,输出一个固定长度的字符串摘要

  • 算法特点

    相同的输入一定得到相同的输出,不同的输入大概率得到不同的输出(有可能会出现哈希碰撞)

  • 算法目的

    既可以 验证原始数据是否被篡改过,又可以 标识数据的唯一性

  • 哈希碰撞

    哈希碰撞是指两个不同的输入得到了相同的输出,这个概率是非常低的

    碰撞概率取决于哈希算法的输出长度,长度越长,就越难产生碰撞,也就越安全

  • 常用哈希算法

    hash.jpg

关联技术

第25期 - 基于Token前端实现SSO单点登录

第04期 - 多线程专用Worker计算文件哈希值

一起学习,加群交流看 沸点