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

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

课程内容

  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)
上一篇 2025年8月28日 下午4:01
下一篇 2025年8月28日 下午4:22


相关推荐

  • blender2.9教程_赖世雄入门篇

    blender2.9教程_赖世雄入门篇Blender2.8基础(一)基础操作与常用快捷键▶Ctrl+N:创建新工程一、视图操作1、放大视图▶视图最大化显示:Ctrl+空格(左键点击视图任意地方可以选择视图,然后按Ctrl+空格可以最大化显示视图。)▶切换全屏模式:Ctrl+Alt+空格2、切换视图▶切换视图:Alt(按住不放)+按住中键上下或左右移动鼠标(每切换一次视图就必须重新按一下中键并移动鼠标)▶……

    2022年8月10日
    10
  • SqlSessionTemplate是如何保证MyBatis中SqlSession的线程安全的?「建议收藏」

    SqlSessionTemplate是如何保证MyBatis中SqlSession的线程安全的?「建议收藏」一、DefaultSqlSession的线程不安全性在MyBatis架构中SqlSession是提供给外层调用的顶层接口,实现类有:DefaultSqlSession、SqlSessionManager以及mybatis-spring提供的实现SqlSessionTemplate。默认的实现类为DefaultSqlSession如。类图结构如下所示:对于MyBatis提供的原生实现类来…

    2022年5月31日
    38
  • PyCharm如何安装torch

    PyCharm如何安装torch运行Pycharm中的代码时候提示ModuleNotFoundError:Nomodulenamed‘torch’。试了很多种方法都不行,然后进入官网查了下具体的安装方法,附上网址添加链接描述。摘取一段放在这里供大家参考。#CUDA10.0pipinstalltorch===1.2.0torchvision===0.4.0-fhttps://download.pytorch.org/whl/torch_stable.html#CUDA9.2pipinstalltor

    2025年7月2日
    8
  • 保姆级教程:Python调用DeepSeek-v3 API实现多轮对话上下文管理

    保姆级教程:Python调用DeepSeek-v3 API实现多轮对话上下文管理

    2026年3月16日
    2
  • route add命令实例_cmd route

    route add命令实例_cmd route命令作用routeadd添加路由delete删除路由change更改现有路由print打印路由删除静态路由地址routedelete130.0.0.0mask255.0.0.0添加静态路由地址routeadd130.0.0.0MASK255.0.0.0134.32.80.1METRIC10意思是:所有需要发往130.0.0.0地址段的IP数据包,全部由路径134.32.80.1转发其中,路由跳数是可以省略的参数当通往…

    2022年8月12日
    10
  • yuv420格式(微信图片存储路径)

    网上大多数关于YUV420的资料都是关于YUV420P的,很少有YUV420SP的,因为YUV420SP的UV是交错存放的,处理起来相对麻烦点,但是YUV420SP也是一种常见格式,因此,在这里,我将关于YUV420SP格式数据的处理总结下,方便有需要的同志。一、YUV420格式数据介绍YUV,分为三个分量,“Y”表示明亮度,也就是灰度值;“U”和”V”表示的则是色度,作用是描述影

    2022年4月12日
    112

发表回复

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

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