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

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

课程内容

  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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Qt之msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set[通俗易懂]

    Qt之msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set[通俗易懂]最近用Qt5.10.0VS2015新建一个工程,构建时报如下错误:msvc-version.confloadedbutQMAKE_MSC_VERisn’tset解决方法:打开文件D:\Qt\Qt5.10.0\5.10.0\msvc2015\mkspecs\common\msvc-version.conf在其中添加版本QMAKE_MSC_VER=1900,如下图所

    2022年5月19日
    70
  • Vue父子组件传值的Demo「建议收藏」

    Vue父子组件传值的Demo「建议收藏」话不多说,直接上代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title>Vue父子组件传值</title><scripttype="text/javascr

    2022年5月13日
    42
  • shell编程和shell脚本_shell脚本语言入门pdf

    shell编程和shell脚本_shell脚本语言入门pdf看了一遍,小有问题,但是可以览个大概了。 Shell编程基础http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80

    2022年10月3日
    3
  • 身份证的校验规则_身份证号有效

    身份证的校验规则_身份证号有效/**身份证15位编码规则:ddddddyymmddxxp*dddddd:6位地区编码*yymmdd:出生年(两位年)月日,如:910215*xx:顺序编码,系统产生,无法确

    2022年8月3日
    7
  • 此工作站和主域间的信任失败原因_电脑域改为工作组后无法登录

    此工作站和主域间的信任失败原因_电脑域改为工作组后无法登录Thedirectoryserverfailedtoautomaticallyupdateserviceaccount,dnsnameand/orportinformation.这个错误通常是由于访问的主机不能再确保可以和当前加入的活动目录域进行安全通信造成的。当前主机的私有安全凭据和域控制器中的值不匹配。当然简单的可以把安全凭据理解为密码,实际上你知道域环境通过非常严格Kerberos验证,因此实际是Kerberos的Keytable的加密存储在本地安全授权子系统中;

    2022年10月19日
    3
  • qt tabwidget切换_标签怎么在新窗口打开

    qt tabwidget切换_标签怎么在新窗口打开QTabWidget用来分页显示重要函数:1.voidsetTabText(int,QString);//设置页面的名字.2.voidsetTabToolTip(QString);//设置页面的提示信息.3.voidsetTabEnabled(bool);//设置页面是否被激活.4.voidsetTabPosition(QTabPosition::South);//设置页面名字的位置.5.voidsetTabsClosable(bool);//设置页面关闭按钮。6.

    2025年11月12日
    5

发表回复

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

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