现代密码学-认证、消息认证码

什么是单向散列函数

单向散列函数(one way hash function):一个输入:消息(message),一个固定长度的输出(散列值,hash value),根据散列值检查消息完整性(integrity)

单向散列函数也称为消息摘要函数(message digest function)\哈希函数、杂凑函数

输入成为原向pre-image

输出成为消息摘要(message digest)或指纹(fingerprint)


单向散列函数的实际应用

        检测软件是否被篡改

        基于口令的加密

        消息认证码:将发送者和接收者之间共享的密钥和消息混合后计算散列值。SSL/TLS

        数字签名

        伪随机数生成器

        一次性口令 


什么是消息认证码

消息认证码(message authentication code,MAC)确认完整性并进行认证。输入:任意长度的消息和收发之间的共享密钥,输出:固定长度数据

要计算MAC必须持有共享密钥,可以理解为:消息认证码是一种和密钥相关联的单向散列函数

密钥配送问题

可采用公钥密码、Diffie-Hellman密钥 交换,密钥分配中心 技术发送密钥

应用实例

SWIFT

IPsec

SSL/TLS

消息认证码实现方法

        使用单向散列函数

        使用分组密码

认证加密

将对称密码和消息认证码结合,同时满足机密性、完整性和认证。

Encrypt-then-MAC、Encrypt-and-MAC、MAC-then-encrypt

对消息认证码的攻击

重放攻击-防御措施:消息编号(序号)、时间戳、随机数

密钥推测攻击

消息认证码无法解决的问题

对第三方的证明:无法实现对第三方的证明。只有AB两个人通信时,可以断定是对方计算出的MAC(共享密钥双方),但对第三放C来说,A,B无法证明是对方计算了MAC而不是自己。

防止否认

相关推荐

  1. 现代密码-认证消息认证

    2024-06-10 13:46:02       10 阅读
  2. 鸿蒙认证什么?

    2024-06-10 13:46:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 13:46:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-10 13:46:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-10 13:46:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-10 13:46:02       18 阅读

热门阅读

  1. Sass详解

    2024-06-10 13:46:02       9 阅读
  2. LeetCode 算法:轮转数组c++

    2024-06-10 13:46:02       16 阅读
  3. 代码随想录算法训练营第27天|回溯

    2024-06-10 13:46:02       9 阅读
  4. AI学习指南机器学习篇-决策树的模型评估

    2024-06-10 13:46:02       8 阅读
  5. 爬山算法详细介绍

    2024-06-10 13:46:02       9 阅读
  6. 爬山算法的详细介绍

    2024-06-10 13:46:02       9 阅读
  7. 检测数据类型的方法有哪些

    2024-06-10 13:46:02       6 阅读
  8. 详细说说机器学习在交通领域的应用

    2024-06-10 13:46:02       7 阅读
  9. web前端微服务设计:深入剖析与实践

    2024-06-10 13:46:02       7 阅读
  10. spring和Mybatis的各种查询

    2024-06-10 13:46:02       12 阅读
  11. linux 触屏, 旋转后配置pen

    2024-06-10 13:46:02       9 阅读
  12. github的个人readme文件

    2024-06-10 13:46:02       8 阅读