现代密码学复习——第一章

简介: 现代密码学复习——第一章

第一讲:保密学基础

1:保密学的基本概念

什么是保密学?

定义:保密学是研究信息系统安全保密的科学,它包括两个分支,一是密码学,对信息进行编码实现隐蔽信息的科学,二是密码分析学,研究分析破译密码的科学。二者相互对立,而又互相促进地向前发展。

其他相关概念

image.png

从上图我们可以看出,加密器和解密器分别对应一个密钥,主动攻击是从信道进行介入的,被动攻击也是从信道进行窃听的。

保密系统相关参数解读

1:明文消息空间M

2:密文消息空间C

3:密钥空间K1和K2、在单钥体制下,K=K1=K2,此时密钥k∈K,需经安全的密钥信道由发方传给收方。

4:加密变换与解密变换

保密系统应当满足的要求

image.png

认证与认证系统

  • 认证系统

为了防止消息被篡改、删除、重放和伪造的一种有效方法,使发送的消息具有被验证的能力,使接收者或第三者能够识别和确认消息的真伪,实现这类功能的密码系统被称作为认证系统。

  • 保密性

保密性是使截获者在不知密钥条件下不能解读密文的内容。

  • 认证性

让任何不知密钥的人不能构造一个密报,让合法接收者明白哪些是合法的消息。认证理论和技术是保密学研究的一个重要领域。如传统的手写签字正在被更迅速、更经济和更安全的数字签字替代。

安全认证系统应当满足下面四个条件

序号 条件
1 合法接收者能够检验消息的合法性和真实性
2 消息的发送者对所发送的消息不能依赖
3 除了合法的消息发送者之外,其他人不能伪造合法的消息,而且在已经明文和密文的情况下不能推断出密钥和伪造密文
4 必要时可由第三方做出仲裁

完整性

在有自然和人为干扰条件下,系统保持检测错误和恢复消息和发送消息一致性的能力。实际中常常借助与纠检错技术和杂凑技术来保证消息的完整性。

2:密码体制分类

密码体制分类

  • 单钥体制:加密密钥和解密密钥相同。
  • 双钥体制:加密密钥和解密密钥不同。

单钥体制的两个主要方面

  • 密钥产生
  • 密钥管理

单钥保密体制流程图

image.png

单钥体制的分类

  • 流密码
  • 分组密码
    单钥体制不仅可以用于数据加密,也可用于消息的认证。

什么是公钥体制(也叫双钥体制)?

Diffie和Hellman1976年首次提出,每个用户都有一对选定的密钥(公钥K1和私钥K2),公开的密钥K1可以像电话号码一样进行公布。

  • 双钥体制是如何进行加解密的?

公钥体制的主要特点:加密和解密的能力分开

  • 公钥加密私钥解密:多个用户加密的消息,只能由一个用户进行解读,可用于公共网络中实现保密通信。
  • 私钥加密公钥解密 :只能由一个用户加密消息,而使多个用户可以解读,可用于认证系统中对消息进行数字签名。
  • 无需事先分配密钥。

双钥保密体制

  • 安全保障:从公开密钥Kb1和密文c不能推出B的私钥Kb2和明文。
  • 由于任何人都可以使用B的公钥进行加密,所以密文c不具有认证性。

双钥认证体制

双钥保密和认证体制

所谓的双钥保密和认证体制就是说,假如A想发送消息给B,先用A的私钥对明文m进行加密,然后再使用B的公钥进行加密,这样就进行了两次加密过程,在解密的时候同样也是需要两次,先是使用B的私钥进行一次解密,然后使用A的公钥进行一次解密,这样B就可以获得需要的明文。


相关文章
|
Dubbo 网络协议 安全
【Dubbo 解析】Dubbo 支持哪些协议,它们的优缺点有哪些?
【1月更文挑战第11天】【Dubbo 解析】Dubbo 支持哪些协议,它们的优缺点有哪些?
|
11月前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。
|
消息中间件 安全 Java
Java“NoInitialContextException”问题解决
Java中“NoInitialContextException”异常通常发生在JNDI(Java命名和目录接口)查找时缺少初始上下文配置。解决方法包括:确保JNDI提供者URL正确、添加必要的库文件、配置jndi.properties文件或在代码中显式指定InitialContext环境属性。
321 1
|
缓存 关系型数据库 MySQL
Django操作MySQL数据库的优化方法
Django操作MySQL数据库的优化方法
388 0
|
开发框架 JavaScript 前端开发
微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
507 1
|
编解码 人工智能 自然语言处理
扩散模型的多元化应用:药物发现、文本生成、时间序列预测等
AlphaFold3是DeepMind的蛋白质结构预测软件,它引入扩散模型以提升预测准确性。扩散模型通过逐步添加和去除噪声来理解和生成数据,应用广泛,包括图像、音频、文本和时间序列数据的处理。在图像领域,它们擅长合成、编辑和超分辨率;在文本处理中,扩散模型在代码合成和问答任务中表现出色;在音频和视频生成方面也有重要应用;同时,它们在时间序列预测和增强模型鲁棒性方面也展现出潜力。随着技术发展,扩散模型将在更多领域发挥作用。
782 0
|
弹性计算 运维 负载均衡
阿里云无影云电脑免费使用_免费申请教程
阿里云无影云电脑免费使用_免费申请教程
6154 1
阿里云无影云电脑免费使用_免费申请教程
|
数据采集 数据挖掘 程序员
Python-Excel 模块哪家强?
本文将从运行环境、文档操作、基本功能和性能等方面对以上模块进行一次粗浅的比较,供大家参考。
|
机器学习/深度学习
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出,其好处是当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过池化某一片区域的像素点来得到总体统计特征会显得很有用。由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。
1118 1
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
|
机器学习/深度学习 自然语言处理 算法
图解CNN十大算法架构
图解CNN十大算法架构
577 0