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

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

课程内容

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


相关推荐

  • dos下debug的使用「建议收藏」

    dos下debug的使用「建议收藏」起因:最近学习汇编需要对程序进行调试故作此笔记用法:一、用debug把程序运行起来:1.在dos下进入自己的程序所在目录xxx2.xxx>debugproc.exe把程序执行起来二、常用命令1.-u–查看当前的汇编代码(00FF:00000055)后面可以跟参数查看某段代码2.-t–单步执行

    2022年10月15日
    5
  • WINHTTP的API接口说明。

    WINHTTP的API接口说明。

    2021年12月4日
    127
  • 模型选择–网格搜索

    模型选择–网格搜索首先使用训练数据训练模型,然后使用交叉验证数据挑选最佳模型,最后使用测试数据测试模型是否完好。下面举一个训练逻辑回归模型的例子。假设有四个模型,第一个是一次模型,然后二次,三次,四次模型。我们使用训练数据训练,并算出多项式的斜率和系数等等。然后使用交叉验证数据计算所有这些模型的F1分数,然后选择F1得分最高的模型,最后使用测试数据确保模型效果完好。算法的参数就是多项式的系数,但是多…

    2022年8月30日
    5
  • 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)我没想到他会这么问

    2022年6月26日
    26
  • JavaScript专题(二)数组去重,会就要会的理直气壮

    JavaScript专题(二)数组去重,会就要会的理直气壮相信当部分开发同学都会遇到这个问题,它的答案有很多种,但是想要真的的回答好这个问题却比较难,我们今天来看看应该怎么回答这个问题。本文篇幅较长,不妨收藏下来慢慢阅读~

    2022年6月16日
    30
  • Android手机的像素密度(dpi)计算

    Android手机的像素密度(dpi)计算(1)分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800、720×1280、1080×1920等。720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。(2)屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机”,就是指对角线的尺寸,5寸×2.54厘米/寸=12.7厘米。…

    2022年5月29日
    49

发表回复

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

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