网安笔记02 密码学基础
密码学概述
• 1.1、密码学的基本概念
-
密码编码学 : 密码编制
-
密码分析学 : 密码破译
-
密码学 : 研究密码保护
通信手段的科学, 密码编码学+密码分析学 -
密码技术: 把可理解的消息伪装为不可理解的消息,再复原成原消息的科学
概念
-
明文 P / M P/M P/M :伪装前的原始数据
-
密文 C C C:伪装后的数据
-
加密 E E E:伪装的过程
-
密钥 K K K:参与密码变换的参数
-
加密算法:用于对数据加密的一组数学变换
-
解密 D D D:将密文恢复为明文
-
解密算法:用于解密的一组数学变换
一般有
E ( P ) = C D ( C ) = P E(P)=C\quad D(C)=P E(P)=CD(C)=P
附带参数K, K可以是任意值, K可能值范围为 密钥空间
E K ( P ) = C D K ( C ) = P EK(P) = C\quad DK(C)=P EK(P)=CDK(C)=P
非对称加密密钥可能使用不同的加密密钥和解密密钥
E K 1 ( M ) = C D K 2 ( C ) = M EK1(M) = C\quad DK2(C)=M EK1(M)=CDK2(C)=M
• 1.2、密码体制
密码系统 —— 密码体制
- 明文空间 M M M 全体明文
- 密文空间 C C C 全体密文
- 密钥空间 K K K 全体密钥, K K K由加密密钥 K e Ke Ke与解密密钥 K d Kd Kd组成 K = < K e , K d > K = <Ke, Kd> K=<Ke,Kd>
- 加密算法 E E E,它是一组由 M M M到 C C C的加密变换
- 解密算法 D D D,它是一组由 C C C到 M M M的解密变换
if Kd = Ke || 根据其中一个K容易推出另一个K:
then 为 单密钥密码体制 || 对称密码体制 || 传统密码体制
else 双密钥体制if Kd不可由Ke推出
then 为 公开密钥密码体制根据明文、密文处理方式,可分为 分组密码体制 和 序列密码体制
• 1.3、密码分析
主动攻击:干扰系统,并删除、更改、增添、重放、伪造
被动攻击:截取并分析保密系统
密码分析:属于被动攻击
- 非授权接收者通过各种办法 他们通过各种办法来窃取信息。
- 搭线窃听
- 电磁窃听
- 声音窃听等
- 不知密钥,但分析密文可能推出明文
攻击密码系统方法
- 穷举攻击
- 依次试遍所有可能的密钥
- 或者用一个确定的密钥对所有可能的明文进行加密,得到所获得密文
- 统计分析攻击
- 分析密文和明文的统计规律
- 数学分析攻击
- 数学基础和某些密码学特性
破译密码的类型
- 唯密文攻击(Ciphertext-only attack
- 只知道密文,推出明文或算法,一般用穷举攻击
- 已知明文攻击(Know-plaintext attack plaintext attack)
- 知道部分的明文和密文对,推出密钥和加密算法
- 选择明文攻击(Chosen-plaintext attack plaintext attack)
- 知道明文和对应的密文(并且知道了加密算法),目标为推出密钥
- 自适应选择明文攻击 (Adaptive Adaptive-chosen-plaintext attack)
- 选择明文的特殊情况 – 基于之前的加密选择修正加密报文的选择
- 选择密文攻击(Chosen-ciphertext attack)
- 选择密钥攻击(Chosen-key attack)
- 软磨硬泡攻击
• 1.4、密码体制的安全性
性质
- 即使知道明文空间, 很难从密文恢复明文应该
- 很难从密文计算出明文部分信息
- 很难从密文探测出简单有效的事实 —— 如 相同信息被发送了两次
攻破效果
- 完全攻破 —— 密钥
- 部分攻破 —— 对给定密文获取明文特定信息
- 密文识别 —— 两个给定的不同明文及其中一个明文的密文。 能够识别出该密文对应于哪个明文,或者能够识别 给定明文的密文和随机字符串
安全性
- 无条件安全性 —— 无限的计算能力,密码体制也不能被攻破
- 计算安全性 —— 算法用现在或将来可得到的资源都不能在足够长的时间内破译
- 可证明安全性 —— 安全与问题相关
相关文章:
网安笔记02 密码学基础
密码学概述 • 1.1、密码学的基本概念 密码编码学 : 密码编制 密码分析学 : 密码破译 密码学 : 研究密码保护 通信手段的科学, 密码编码学密码分析学 密码技术: 把可理解的消息伪装为不可理解的消息,再复原成原消息的科学 概…...
open3d io操作
目录 1. read_image, write_image 2. read_point_cloud, write_point_cloud 3. 深度相机IO操作 4. Mesh文件读取 1. read_image, write_image 读取jpg. png. bmp等文件 image_io.py import open3d as o3dif __name__ "__main__":img_data o3d.data.JuneauIma…...
【Linux】Linux安装Redis(图文解说详细版)
文章目录 前言第一步,下载安装包第二步,上传安装包到/opt下(老规矩了,安装包在opt下)第三步,解压安装包第四步,编译第五步,安装第六步,配置redis第七步,设置开…...
setTimeout不准时,CSS精准实现计时器功能
实际开发过程中,我们会经常遇到,首次进入页面进行相应提示,然后指定时间后自动消失或者前端时钟展示等需求。 按照传统方案,我们可以使用 setTimeout 实现。但其存在:实际延时比设定值更久的情况。 setTimeout 不准时…...
单细胞跨模态分析综述
单细胞技术的最新进展使跨模态和组织位置的细胞高通量分子分析成为可能。单细胞转录组数据现在可以通过染色质可及性、表面蛋白表达、适应性免疫受体库分析和空间信息进行补充。跨模态单细胞数据的可用性越来越高,推动出新的计算方法,以帮助科学家获得生…...
【零基础学机器学习 1】什么是机器学习?
机器学习的社会应用 1. 金融风控 机器学习在金融风控方面的应用非常广泛,可以用于预测借款人的信用风险、欺诈行为等。通过收集大量的历史数据,构建机器学习模型,可以对借款人的信用风险进行预测,从而帮助金融机构降低风险。 2…...
ARM处理器与中断——嵌入式(驱动)软开基础(一)
1 CPU的内部结构? CPU的内部结构大致可以分为: (1)控制单元(指令寄存器、指令译码器、操作控制器)。 (2)运算单元(算术逻辑单元)。 (3)存储单元(专用寄存器和通用寄存器) (4)时钟。 2 CPU跟内存、虚拟内存、硬盘的关系? (1)CPU要调用的程序和数据来自…...
WX小程序 - 2
条件渲染: wx:if "{{ newlist.length 0 }}" wx:else 跳路由:绑定点击事件,执行跳转页面 bindtap data-id"{{ item.id }}" 添加id wx.navigateTo 跳路由并传参, 下一个路由 onLoad生命周期可以获得参数…...
开源之夏2023 | 欢迎申请openEuler Embedded SIG开发任务
关于开源之夏 开源之夏是开源软件供应链点亮计划下的暑期活动,由中科院软件研究所与openEuler社区联合主办,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。 活动联合各大开源社区,针对重要开源软件…...
【异常解决】vim编辑文件时提示 Found a swap file by the name “.start.sh.swp“的解决方案
vim编辑文件时提示 Found a swap file by the name ".start.sh.swp"的解决方案 一、问题描述二、原因说明三、解决方案3.1 方案1 删除即可3.2 方案2 禁止生成swp文件 一、问题描述 vim编辑文件时提示 Found a swap file by the name “.start.sh.swp”,如…...
「企业应用架构」应用架构概述
在信息系统中,应用架构或应用架构是构成企业架构(EA)支柱的几个架构域之一 应用架构描述了业务中使用的应用程序的行为,重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据,而不是它们的内…...
ePWM模块(3)
比较模块 CMPA:比较寄存器A,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPB:比较寄存器B,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPCTL:控制寄存器(重要) SHDWAFULL(或SHDWBFULL):CMPA(或B)阴影寄存器满标志位 0:未满 1:满了 SHDWAMODE(或…...
【笔试强训选择题】Day11.习题(错题)解析
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…...
JVM知识
垃圾收集器就是内存回收的具体实现 Serial Serial收集器是最基本的,发展历史最悠久的收集器。在JDK1.3之前是虚拟机新生代收集的唯一选择。是一种单线程收集器,只会使用一个CPU或者一条收集线程去完成垃圾收集工作,在进行垃圾收集的时候需要…...
操作系统第二章——进程与线程(中)
和光同尘,与时舒卷 文章目录 2.2.1 调度的概念,层次知识总览调度的基本概念高级调度低级调度中级调度三层调度的联系,对比进程的挂起态和七状态模型知识回顾 2.2.2 进程调度的时机,切换与过程,方式知识总览进程调度的时…...
AlphaFold的极限:高中生揭示人工智能在生物信息学挑战中的缺陷
人工智能程序AlphaFold (AlphaFold2开源了,不是土豪也不会编程的你怎么蹭一波?),通过预测蛋白质结构解决了结构生物信息学的核心问题。部分AlphaFold迷们声称“该程序已经掌握了终极蛋白质物理学,其工作能力已超越了最初的设计”。…...
RocketMQ双主双从环境搭建
环境要求 64位操作系统,推荐 Linux/Unix/macOS 64位 JDK 1.8 服务器准备 准备4台服务器两台master两台slave,如果服务器紧凑,则至少需要两台服务器相互master-slave IP HOSTS 172.*******.120 rocketmq-nameserver1 rocketmq-master1 …...
next.js博客搭建_初始化next项目(第一步)
文章目录 ⭐前言⭐next初始化TypeScript 开发项目安装react的ui框架(tDesign)设计布局 ⭐结束 ⭐前言 大家好,我是yma16,本期给大家分享next项目搭建博客的开始。 背景 因为我的博客网站https://yongma16.xyz是基于vue2搭建的&am…...
ACM - 其他算法 - 基础(前缀和 + 差分)
ACM- 其他算法 一、前缀和模板例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间例题2、前缀和哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字 二、差分1、一维差分2、二维差分 一、前缀和 模板 //一维前缀和 S[i] a[1] a[2] ... a[i] a[l] ... …...
No.056<软考>《(高项)备考大全》【冲刺10】《软考高项常见工具口语化解释》
《软考高项常见工具口语化解释》 序号工具名称口语化属于哪个过程1模板、表格和标准就是用之前的项目的模版、表格、标准,结合本项目进行了修改,在编制一些计划、方案的时候就可以采用这个工具和技术。可以拿来就用的,节约时间、提高质量的。…...
避坑指南:CATIA通过Excel导入材料库时遇到的5个典型错误及解决方法
CATIA与Excel材料库导入实战:从数据规范到自动化避坑全指南 引言:为什么材料库导入总出问题? 在工业设计领域,CATIA作为主流三维建模软件,其材料库管理直接影响产品仿真精度与设计效率。许多工程师习惯用Excel整理材料…...
Unity-URP-Outlines完全指南:7个实用技巧让你轻松实现专业级描边效果
Unity-URP-Outlines完全指南:7个实用技巧让你轻松实现专业级描边效果 【免费下载链接】Unity-URP-Outlines A custom renderer feature for screen space outlines 项目地址: https://gitcode.com/gh_mirrors/un/Unity-URP-Outlines 核心价值:为什…...
PostCSS-CSSNext终极指南:10个关键检查点确保CSS代码质量与兼容性
PostCSS-CSSNext终极指南:10个关键检查点确保CSS代码质量与兼容性 【免费下载链接】postcss-cssnext postcss-cssnext has been deprecated in favor of postcss-preset-env. 项目地址: https://gitcode.com/gh_mirrors/po/postcss-cssnext PostCSS-CSSNext是…...
PlayCover:重新定义Apple Silicon Mac的iOS应用运行体验
PlayCover:重新定义Apple Silicon Mac的iOS应用运行体验 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 价值定位:突破生态壁垒的三大核心创新 如何打破苹果生态系统的应用边界…...
配置Claude Code遇到Unable to connect to Anthropic services Failed to connect to api.anthropic.cOm: ERR_B
在PowerShell里输入[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:xxxxx", "User")[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:xxxxx", "User")[Enviro…...
Cursor/AI 助手用自然语言操作监控与告警
主要用途告警管理:查询活跃告警和历史告警,查看告警规则和订阅目标监控:浏览和搜索被监控的主机,分析目标状态事件响应:创建和管理告警屏蔽规则、通知规则和事件流水线团队协作:查询用户、团队和业务组快速…...
【单片机】STM32晶振引脚不连晶振时的做法
STM32不使用外部晶振时,OSC_IN和 OSC_OUT接法:1、对于100脚或者144脚的产品,OSC_IN应接地,OSC_OUT应悬空;2、对于少于100脚的产品,有两种接法:OSC_IN和OSC_OUT分别通过10K电阻接地,此方法可提高…...
2025届最火的十大降重复率助手解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网在近期对AIGC检测功能进行了升级,能够精准地识别出通过人工智能生成的文本内…...
Scientific Reports论文返修后,从接受到正式上线的完整时间线与关键节点(附校样避坑指南)
Scientific Reports论文从接受到正式上线的全流程解析与实战指南 当你收到那封梦寐以求的"Accept"邮件时,兴奋之余是否也对后续流程感到迷茫?从论文接受到正式上线,Springer Nature的生产流程看似标准却暗藏诸多细节。本文将为你拆…...
前端开发中的加载指示器(Loading Spinners)一种动态旋转的图形元素(如圆圈、齿轮状动画)
在 Android 中,Spinner 是一个下拉选择控件,用于从预定义列表中选择一项。以下是标准、稳定、兼容性好的实现方式(基于 ViewBinding ArrayAdapter,适配 AndroidX 和 API 21):✅ 一、绑定数据(以…...
