当前位置: 首页 > news >正文

网安笔记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、密码体制

密码系统 —— 密码体制

  1. 明文空间 M M M 全体明文
  2. 密文空间 C C C 全体密文
  3. 密钥空间 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>
  4. 加密算法 E E E,它是一组由 M M M C C C的加密变换
  5. 解密算法 D D D,它是一组由 C C C M M M的解密变换
if Kd = Ke || 根据其中一个K容易推出另一个K:
then 为 单密钥密码体制 || 对称密码体制 || 传统密码体制
else 双密钥体制if Kd不可由Ke推出
then 为 公开密钥密码体制根据明文、密文处理方式,可分为 分组密码体制 和 序列密码体制

• 1.3、密码分析

主动攻击:干扰系统,并删除、更改、增添、重放、伪造

被动攻击:截取并分析保密系统

密码分析:属于被动攻击

  • 非授权接收者通过各种办法 他们通过各种办法来窃取信息。
    • 搭线窃听
    • 电磁窃听
    • 声音窃听等
  • 不知密钥,但分析密文可能推出明文

攻击密码系统方法

  1. 穷举攻击
  • 依次试遍所有可能的密钥
  • 或者用一个确定的密钥对所有可能的明文进行加密,得到所获得密文
  1. 统计分析攻击
  • 分析密文和明文的统计规律
  1. 数学分析攻击
  • 数学基础和某些密码学特性

破译密码的类型

  1. 唯密文攻击(Ciphertext-only attack
  • 只知道密文,推出明文算法,一般用穷举攻击

  1. 已知明文攻击(Know-plaintext attack plaintext attack)
  • 知道部分的明文和密文对,推出密钥和加密算法

  1. 选择明文攻击(Chosen-plaintext attack plaintext attack)
  • 知道明文和对应的密文(并且知道了加密算法),目标为推出密钥

  1. 自适应选择明文攻击 (Adaptive Adaptive-chosen-plaintext attack)
  • 选择明文的特殊情况 – 基于之前的加密选择修正加密报文的选择

  1. 选择密文攻击(Chosen-ciphertext attack)
  2. 选择密钥攻击(Chosen-key attack)
  3. 软磨硬泡攻击

• 1.4、密码体制的安全性

性质

  1. 即使知道明文空间, 很难从密文恢复明文应该
  2. 很难从密文计算出明文部分信息
  3. 很难从密文探测出简单有效的事实 —— 如 相同信息被发送了两次

攻破效果

  1. 完全攻破 —— 密钥
  2. 部分攻破 —— 对给定密文获取明文特定信息
  3. 密文识别 —— 两个给定的不同明文及其中一个明文的密文。 能够识别出该密文对应于哪个明文,或者能够识别 给定明文的密文和随机字符串

安全性

  1. 无条件安全性 —— 无限的计算能力,密码体制也不能被攻破
  2. 计算安全性 —— 算法用现在或将来可得到的资源都不能在足够长的时间内破译
  3. 可证明安全性 —— 安全与问题相关

相关文章:

网安笔记02 密码学基础

密码学概述 • 1.1、密码学的基本概念 密码编码学 : 密码编制 密码分析学 : 密码破译 密码学 &#xff1a; 研究密码保护 通信手段的科学&#xff0c; 密码编码学密码分析学 密码技术&#xff1a; 把可理解的消息伪装为不可理解的消息&#xff0c;再复原成原消息的科学 概…...

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(图文解说详细版)

文章目录 前言第一步&#xff0c;下载安装包第二步&#xff0c;上传安装包到/opt下&#xff08;老规矩了&#xff0c;安装包在opt下&#xff09;第三步&#xff0c;解压安装包第四步&#xff0c;编译第五步&#xff0c;安装第六步&#xff0c;配置redis第七步&#xff0c;设置开…...

setTimeout不准时,CSS精准实现计时器功能

实际开发过程中&#xff0c;我们会经常遇到&#xff0c;首次进入页面进行相应提示&#xff0c;然后指定时间后自动消失或者前端时钟展示等需求。 按照传统方案&#xff0c;我们可以使用 setTimeout 实现。但其存在&#xff1a;实际延时比设定值更久的情况。 setTimeout 不准时…...

单细胞跨模态分析综述

单细胞技术的最新进展使跨模态和组织位置的细胞高通量分子分析成为可能。单细胞转录组数据现在可以通过染色质可及性、表面蛋白表达、适应性免疫受体库分析和空间信息进行补充。跨模态单细胞数据的可用性越来越高&#xff0c;推动出新的计算方法&#xff0c;以帮助科学家获得生…...

【零基础学机器学习 1】什么是机器学习?

机器学习的社会应用 1. 金融风控 机器学习在金融风控方面的应用非常广泛&#xff0c;可以用于预测借款人的信用风险、欺诈行为等。通过收集大量的历史数据&#xff0c;构建机器学习模型&#xff0c;可以对借款人的信用风险进行预测&#xff0c;从而帮助金融机构降低风险。 2…...

ARM处理器与中断——嵌入式(驱动)软开基础(一)

1 CPU的内部结构? CPU的内部结构大致可以分为: (1)控制单元(指令寄存器、指令译码器、操作控制器)。 (2)运算单元(算术逻辑单元)。 (3)存储单元(专用寄存器和通用寄存器) (4)时钟。 2 CPU跟内存、虚拟内存、硬盘的关系? (1)CPU要调用的程序和数据来自…...

WX小程序 - 2

条件渲染&#xff1a; wx:if "{{ newlist.length 0 }}" wx:else 跳路由&#xff1a;绑定点击事件&#xff0c;执行跳转页面 bindtap data-id"{{ item.id }}" 添加id wx.navigateTo 跳路由并传参&#xff0c; 下一个路由 onLoad生命周期可以获得参数…...

开源之夏2023 | 欢迎申请openEuler Embedded SIG开发任务

关于开源之夏 开源之夏是开源软件供应链点亮计划下的暑期活动&#xff0c;由中科院软件研究所与openEuler社区联合主办&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。 活动联合各大开源社区&#xff0c;针对重要开源软件…...

【异常解决】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”&#xff0c;如…...

「企业应用架构」应用架构概述

在信息系统中&#xff0c;应用架构或应用架构是构成企业架构&#xff08;EA&#xff09;支柱的几个架构域之一 应用架构描述了业务中使用的应用程序的行为&#xff0c;重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据&#xff0c;而不是它们的内…...

ePWM模块(3)

比较模块 CMPA:比较寄存器A,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPB:比较寄存器B,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPCTL:控制寄存器(重要) SHDWAFULL(或SHDWBFULL):CMPA(或B)阴影寄存器满标志位 0:未满 1:满了 SHDWAMODE(或…...

【笔试强训选择题】Day11.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录…...

JVM知识

垃圾收集器就是内存回收的具体实现 Serial Serial收集器是最基本的&#xff0c;发展历史最悠久的收集器。在JDK1.3之前是虚拟机新生代收集的唯一选择。是一种单线程收集器&#xff0c;只会使用一个CPU或者一条收集线程去完成垃圾收集工作&#xff0c;在进行垃圾收集的时候需要…...

操作系统第二章——进程与线程(中)

和光同尘&#xff0c;与时舒卷 文章目录 2.2.1 调度的概念&#xff0c;层次知识总览调度的基本概念高级调度低级调度中级调度三层调度的联系&#xff0c;对比进程的挂起态和七状态模型知识回顾 2.2.2 进程调度的时机&#xff0c;切换与过程&#xff0c;方式知识总览进程调度的时…...

AlphaFold的极限:高中生揭示人工智能在生物信息学挑战中的缺陷

人工智能程序AlphaFold (AlphaFold2开源了&#xff0c;不是土豪也不会编程的你怎么蹭一波&#xff1f;)&#xff0c;通过预测蛋白质结构解决了结构生物信息学的核心问题。部分AlphaFold迷们声称“该程序已经掌握了终极蛋白质物理学&#xff0c;其工作能力已超越了最初的设计”。…...

RocketMQ双主双从环境搭建

环境要求 64位操作系统&#xff0c;推荐 Linux/Unix/macOS 64位 JDK 1.8 服务器准备 准备4台服务器两台master两台slave&#xff0c;如果服务器紧凑&#xff0c;则至少需要两台服务器相互master-slave IP HOSTS 172.*******.120 rocketmq-nameserver1 rocketmq-master1 …...

next.js博客搭建_初始化next项目(第一步)

文章目录 ⭐前言⭐next初始化TypeScript 开发项目安装react的ui框架&#xff08;tDesign&#xff09;设计布局 ⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本期给大家分享next项目搭建博客的开始。 背景 因为我的博客网站https://yongma16.xyz是基于vue2搭建的&am…...

ACM - 其他算法 - 基础(前缀和 + 差分)

ACM- 其他算法 一、前缀和模板例题1、区间余数求K倍区间个数&#xff1a;AcWing 1230. K倍区间例题2、前缀和哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字 二、差分1、一维差分2、二维差分 一、前缀和 模板 //一维前缀和 S[i] a[1] a[2] ... a[i] a[l] ... …...

No.056<软考>《(高项)备考大全》【冲刺10】《软考高项常见工具口语化解释》

《软考高项常见工具口语化解释》 序号工具名称口语化属于哪个过程1模板、表格和标准就是用之前的项目的模版、表格、标准&#xff0c;结合本项目进行了修改&#xff0c;在编制一些计划、方案的时候就可以采用这个工具和技术。可以拿来就用的&#xff0c;节约时间、提高质量的。…...

MySQL原理(九):表分区和分库分表

前言 上一篇介绍了 MySQL 的存储过程和触发器&#xff0c;这一篇将介绍表分区和分库分表相关的内容。 表分区 原本的表文件都是以完整的形式存储在磁盘中&#xff0c;而表分区则是指将一张表的数据拆分成多个磁盘文件&#xff0c;然后放到磁盘中存储。 做了表分区之后&…...

【Ehcache技术专题】「入门到精通」带你一起从零基础进行分析和开发Ehcache框架的实战指南(缓存查询-配置篇)

缓存查询 Ehcache中为我们提供了可以对Cache中缓存的元素进行查找的方式。其逻辑类似于SQL中的查找。通过给定各种限制条件&#xff0c;我们可以构造各种复杂的查询&#xff0c;然后返回结果集&#xff0c;也可以对查询进行分组和排序等。 使Cache可查询 Ehcache中的查询是针…...

MySQL基础(七)单行函数

1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终&#xff0c;函数的作用是什么呢&#xff1f;它可以把我们经常使用的代码封装起来&#xff0c;需要的时候直接调用即可。这样既提高了代码效率&#xff0c;又提高了可维护性。在 SQL 中我们也可以使用函数对检…...

Cy5.5-PEG-FA结构式 荧光Cy5.5标记聚乙二醇叶酸;PEG分子量2000,叶酸(-FA)基团可应用于靶向传递

Cy5.5-PEG-FA&#xff0c;Cy5.5-聚乙二醇-叶酸 中文名称&#xff1a;Cy5.5-聚乙二醇-叶酸 英文名称&#xff1a;Cy5.5-PEG-FA 溶剂&#xff1a;溶于水、氯仿&#xff0c;DMSO等常规性有机溶剂 性状&#xff1a;固体或粉末&#xff0c;取决于分子量 分子量&#xff1a;1k、…...

【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程

这篇文章&#xff0c;主要介绍如何使用Spring Cloud微服务组件从0到1搭建一个微服务工程。 目录 一、从0到1搭建微服务工程 1.1、基础环境说明 &#xff08;1&#xff09;使用组件 &#xff08;2&#xff09;微服务依赖 1.2、搭建注册中心 &#xff08;1&#xff09;引入…...

舞台特效-第14届蓝桥杯省赛Scratch初级组真题第2题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第131讲。 舞台特效&#xff0c;本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第2题&#xf…...

mysql 5.7.32安装及主从安装信息

最方便的 就是 直接使用docker容器 搭建一个比较方便 或者 直接使用yum源安装&#xff0c;说白了就是少踩坑。 或者 是直接使用 宝塔等工具帮忙&#xff0c;直接脚本跑 宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 以下是内网两台机器安装的方法 1&#xff1a; 下…...

leecode111——二叉树最短路径

递归三部曲&#xff1a; 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 &#xff08;1&#xff09;确定参数和返回值&#xff0c; 参数为传入根节点&#xff0c;再根据此遍历左右左右树的节点。返回最短路径&#xff0c;即int类型。 &#xff08;2&#xff09;确…...

Swift学习教程大纲

以下是Swift学习教程的大纲&#xff1a; 第一部分&#xff1a;基础知识 Swift简介 什么是Swift&#xff1f; Swift的历史和发展 Swift的特点和优势 开发环境的搭建 安装Swift编译器 配置开发环境 第一个Swift程序 Hello World程序 程序的结构 编译和运行程序 数据…...

HTML 基础知识

HTML基础知识 1. VSCode的安装与配置 下载地址 https://code.visualstudio.com/ 安装插件 Live Server Auto Rename Tag 自动格式化 点击 settings&#xff0c;然后输入format&#xff0c;然后勾选上 Format On Save。 2. HTML 基础标签 2.1 文件结构 快捷键&#xff1…...