现代密码学复习笔记(一)

现代密码学复习笔记(一)文章目录课程内容密码学发展史对称密钥加密算法由三个算法组成密码系统模型对称密钥加密模型密码学攻击场景从古典密码算法看密码算法设计无条件安全现代密码学基本准则课程内容从古典密码学到现代密码学对称密码学非对称密码学密钥分配与密码管理哈希函数 数字签名密码协议密码学发展史古典密码近代密码现代密码凯撒密码明文需要采用采用某种方法对其进行变换来隐

课程内容

  1. 从古典密码学到现代密码学
  2. 对称密码学
  3. 非对称密码学
  4. 密钥分配与密码管理
  5. 哈希函数、数字签名
  6. 密码协议

密码学发展史

古典密码 近代密码 现代密码

凯撒密码

  • 明文
    • 需要采用采用某种方法对其进行变换来隐蔽它所载荷的信息或字符串
  • 加密过程
    • 将明文变换成另一种不能被非授权者所理解的隐蔽信息的消息或字符串
  • 密文
    • 明文经过加密过程的变换所得的消息或字串
  • 解密变换
    • 将密文变为明文的过程
  • 密钥
    • 加、解密变换所使用的参数

对称密钥加密算法由三个算法组成

(1)密钥产生算法Gen:概率算法,根据输入参数生成密钥;

(2)加密算法Enc:输入密钥k和明文m,输出密文c;

(3)解密算法Dec:输入密钥k和密文c,输出密文m。

  • 密钥空间、明文空间、密文空间
  • 一个加密方案可以通过明确三个算法(Gen,Enc,Dec)以及明文空间来完全定义。
    基本要求:加解密可逆。

密码系统模型

在这里插入图片描述

对称密钥加密模型

在这里插入图片描述

密码学攻击场景

在这里插入图片描述

从古典密码算法看密码算法设计

  1. 充分密钥空间原则
  2. 设计安全的加密算法是一个困难任务

无条件安全

  1. Shannon指出:仅当密钥至少和明文一样长时,才能达到无条件安全。即无论 截获多少密文、花费多少时间,都无法解密密文。
  2. 加密算法只要满足计算上安全即可:
    (1)破译密文的代价超过被加密信息的代价
    (2)破译密文所花时间超过信息的有用期

现代密码学基本准则

  • 准确的定义
  • 精确的假设
  • 严格的安全性证明

主动攻击

  1. 中断。对系统可用性进行攻击,如破环计算机硬件,网络或文件管理系统
  2. 篡改。对系统完整性进行攻击。如修改数据报文,替换程序。修改数据文件中的数据
  3. 伪造。对系统真实性攻击。如网络战插入伪造消息,文件中插入伪造的记录

安全业务

  1. 保密业务
  2. 认证业务。用于保证通信的真实性。不能被第三方介入一冒充某一方。
  3. 完整性业务。保证消息未经复制、插入、篡改、重排或重放。还能对已损坏数据进行恢复。
  4. 不可否认业务。通信双方可证明消息的确是由对方发出的。
  5. 访问控制。防止岁网络资源的非授权访问。

几种古典密码

是将明文中的字符替换为字幕版中的另一字母,根据代换是对每个字母逐个进行还是多个字母同时进行,古典密码又分为单表代换密码多表代换密码

单表代换密码

  • 凯撒密码
  • 仿射密码

多表代换密码

  • Hill2密码等
  • 本系列图源教科书拍摄和公开的ppt截图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232958.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicate 15 激活码【注册码】

    navicate 15 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    57
  • AArch64 是什么

    AArch64 是什么AArch64是ARMv8架构的一种执行状态。

    2022年10月17日
    3
  • pycharm2021 激活码_通用破解码[通俗易懂]

    pycharm2021 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    87
  • android onresume方法,非静态方法’onResume’Android Studio

    android onresume方法,非静态方法’onResume’Android Studio我想使用WebView作为Youtube。当我尝试编译它时,出现此错误“非静态方法onResume&无法从静态上下文”引用。非静态方法’onResume’AndroidStudio我曾尝试使用rootView,但它没有工作='(publicclassvodextendsFragment{publicstaticfinalStringTAG=”vod”;@Null…

    2022年5月5日
    180
  • G6流程图绘制

    G6流程图绘制为了能在线编辑流程 支持流程节点编辑等功能 支持人员等选择功能 支持流程图数据保存 利用阿里 G6 进行设计开发 整体效果图如下 支持放大缩小 节点移动 添加节点及边等 同时支持节点及边删除操作 流程图数据保存等工作 支持节点编辑 包括人员选择 图形选择 宽高编辑 背景色 边框色等信息编辑 支持边的编辑 边描述等 各种交互功能就不赘述了 页面代码如下 DOCTYPE YPE html head head html

    2025年7月25日
    1
  • qmake 教程

    qmake 教程qmake的介绍qmake的介绍qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具。手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makefile。使用qmake,开发者创建一个简单的“项目”文件并且运行qmake生成适当的Makefile。qmake会注意所有的编译器和平台的依赖性,可以把开发者解放出来

    2022年5月12日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号