信息安全—密码学信息熵信息理论基础—熵的概念(熵、联合熵、条件熵、平均互信息)

2023-11-02

数学基础:概率论乘法法则
两个事件相互独立:P(A∩B) = P(A)×P(B)
· 意思是事件A和事件B同时发生的概率 = 事件A发生的概率 × 事件B发生的概率
· · 举个栗子:掷两枚硬币硬币同时立着的概率 = 掷一枚硬币立着的概率 × 再掷一枚
· · 硬币立着的概率。
两个事件非独立:P(A∩B) = P(A)×P(B|A) = P(B)×P(A|B)
· 意思是事件A和事件B同时发生的概率 = 事件A发生的概率 × 在事件A发生的概率下事
· 件B发生的概率 = 事件B发生的概率 × 在事件B发生的概率下事件A发生的概率。

熵的概念

熵的非形式化概念

随机事件的不确定性,在密码学中将不确定性予以量化,并用熵来表示其不确定性的程度,值越大,不确定性越高,值为0时,为确定性事件。
熵是所包含的未知信息量。(某个事件的未知信息量越大,其不确定性就越大,对应的其熵值就越大)

熵的形式化概念

设事件X有x1、x2、x3、… 、xn共n中可能的结果,称为“自信息量”,记为I(xi)
I ( x i ) = − log ⁡ 2 P ( x i ) ( 发 生 的 概 率 P 越 大 信 息 量 I 就 会 越 小 ) I(x_i)=-\log_2P(x_i)(发生的概率 P 越大信息量 I 就会越小) I(xi)=log2P(xi)PI
自信息量的 数学期望1就是事件X的熵,记作 H ( X ) H(X) H(X)公式为:
H ( X ) = ∑ i = 1 n [ P ( x i ) × I ( x i ) ] = − ∑ i = 1 n [ P ( x i ) × log ⁡ 2 P ( x i ) ] H(X) = \sum_{i=1}^n[P(x_i)×I(x_i)]= -\sum_{i=1}^n[P(x_i)×\log_2P(x_i)] H(X)=i=1n[P(xi)×I(xi)]=i=1n[P(xi)×log2P(xi)]
如果结果x1 ··· xn的发生概率相等,则 I ( x i ) I(x_i) I(xi)的 数学期望1也就是H(X)的关系为
H ( X ) = I ( x i ) H(X) = I(x_i) H(X)=I(xi)
因此熵就是各个事件信息量的平均值。

熵 联合熵 条件熵

0 ≤ H ( X ) = − ∑ i = 1 n [ P ( x i ) log ⁡ 2 P ( x i ) ] ≤ log ⁡ 2 n 0\leq H(X)=-\sum_{i=1}^n[P(x_i)\log_2P(x_i)]\leq \log_2n 0H(X)=i=1n[P(xi)log2P(xi)]log2n

联合熵
假设X和Y是 相互独立 的两个事件,X和Y同时出现的事件xiyj有 i×j 种结果,则XY同时出现的熵值为:
H ( X , Y ) = − ∑ i = 1 n ∑ j = 1 m P ( x i , y j ) log ⁡ 2 P ( x i , y i ) H(X,Y)=-\sum_{i=1}^n \sum_{j=1}^mP(x_i,y_j)\log_2P(x_i,y_i) H(X,Y)=i=1nj=1mP(xi,yj)log2P(xi,yi)

条件熵
事件Y发生的条件下,事件X的熵值
H ( X ∣ Y ) − ∑ i = 1 n ∑ j = 1 m P ( x i , y j ) log ⁡ 2 P ( x i ∣ y i ) H(X|Y)-\sum_{i=1}^n \sum_{j=1}^mP(x_i,y_j)\log_2P(x_i|y_i) H(XY)i=1nj=1mP(xi,yj)log2P(xiyi)

p ( x i , y j ) p(x_i,y_j) p(xi,yj)表示 xi,yj 结果同时发生的概率
p ( x i ∣ y j ) p(x_i | y_j) p(xiyj)表示 xi 在 yj 发生的情况下发生的概率

假设X和Y是 不独立 的两个事件,X和Y同时出现的事件xiyj也会有 i×j 种结果,则XY同时出现的熵值为,
定理 H ( X , Y ) = H ( X ) + H ( Y ∣ X ) H(X,Y)=H(X)+H(Y|X) H(X,Y)=H(X)+H(YX) (X,Y)不独立
推论

  • H ( X , Y ) ≤ H ( Y ) + H ( X ∣ Y ) H(X,Y)\leq H(Y)+H(X|Y) H(X,Y)H(Y)+H(XY) (当X,Y独立时等号成立)
  • H ( X ∣ Y ) ≤ H ( X ) H(X|Y)\leq H(X) H(XY)H(X) (当X,Y独立时等号成立)

平均互信息

度量两个事件之间的相关性,用 I ( X ; Y ) I(X;Y) I(X;Y)表示

在这里插入图片描述

由图可知其有以下几条性质:

  • I ( X ; Y ) = I ( Y ; X )
  • I ( X ; Y ) ≥ \geq 0 (当X,Y相互独立时为0)
  • I ( X ; Y ) ≤ \leq H(X)或者 ≤ \leq H(Y) (仅当X与Y相同时等号成立)
  • I(X;Y)=H(X)-H(X|Y)
  • I(X;Y)=H(Y)-H(Y|X)
  • I(X;Y)=H(X)+H(Y)-H(Y∪X)

本篇仅说明了,熵的概念,以及熵的一些性质,和平均互信息的性质。之后会介绍熵这个概念应用于密码学的信息理论之中,在信息论中,命名为信息熵。用于抽象出密码学的本质,并以形式化的方式予以描述。


  1. 数学期望:实验中每个可能出现的结果的概率乘以其结果的信息量。结果发生的概率越大,其信息量则越小。
    · 举个栗子:如果一个事件出现的所有结果都是等概率的,所以每个结果的信息量都相同,所以
    · 此事件的数学期望就等于其任意一个结果的信息量。(这里不明白没关系,记住公式就行) ↩︎ ↩︎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信息安全—密码学信息熵信息理论基础—熵的概念(熵、联合熵、条件熵、平均互信息) 的相关文章

  • 密码学概述

    一 密码学的起源与发展 密码学英文名称为Cryptography 密码学最为一门学科 是最近几十年开始迅速被人们重视和发展起来的 密码学往往与信息安全四个字精密的联系着 最早的密码学的 始祖 可以说是早在公元前几百年就已经出现了 当然 当时
  • 基础密码学知识和python pycrypto库的介绍使用

    一 密码学基础概念 1 密码 对文本进行编码 使偷窥者无法识别的算法 是一套编码方案 一种特殊的报文编码和相应的解码方式的结合体 加密之前的原始报文称为明文 使用密码之后的报文叫密文 一个简单的例子 这个例子是著名的三字符循环移位密码rot
  • 渗透测试常见漏洞说明资料

    一 文件上传漏洞 1 意义 用户上传的可执行脚本文件 木马 病毒 恶意脚本 webshell等 并通过此脚本获得执行服务器的能力 2 原因 前端和服务器端过滤不严格 黑白名单设置不完善导致 一些文件上传功能实现代码没有严格限制用户上传的文件
  • Shamir门限方案的秘钥分享(包括逆元求解)

    Shamir门限方案的秘钥分享 不要求支持大数 题目描述 实验目的 通过基于Shamir门限方案的密钥分割及恢复的演示 理解密钥分割的重要性 理解密钥分割的基本原理和作用 掌握基于Shamir门限方案的密钥分割软件的使用 实验原理 秘密共享
  • 现代密码学-密码学概论与基本知识

    目录 简介 密码学发展简史 创建 发展阶段 古典密码时期 近代密码时期 现代密码时期 密码主要功能 机密性 完整性 认证性 不可否认性 密码系统的组成 密码分析学 定义 密码攻击类型 针对对称密码体制 针对对称密码体制 常用方法 密码体制的
  • 【概率论】非连续型随机变量及概率分布

    非离散型随机变量 非离散型分布函数 设是一个随机变量 是任意实数 随机变量的分布函数 如果已知X的分布函数F x 就可以求出X落在任一区间 x1 x2 内的概率 分布函数的性质 1 2 是单调不减的 3 一维连续型随机变量概率密度 非负函数
  • 一.用matlab生成想要的分布数据——均匀分布

    给大家讲讲怎么用matlab生成想要分布的随机数吧 1 均匀分布 2 正态分布 3 对数正态分布 4 gumbel分布 5 weibull分布 6 指数分布 7 Raili分布 1 均匀分布 matlab的rand指令可以帮助我们生成0 1
  • 合肥工业大学密码学课设-RSA

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 课设 密码学课设 RSA 新人博主 欢迎点赞收藏关注 会回访 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别人成功 没有人会关
  • 舒尔补-边际概率-条件概率

    margin求边际概率的时候喜欢通过舒尔补的形式去操作信息矩阵 如p b c 求积分p a b c da 从上图可知 边缘概率直接看协方差矩阵比较方便 边际概率的方差就是取对应联合分布中相应的协方差块 信息矩阵是由舒尔补的形式计算 此形式也
  • [工具使用]黑暗引擎FOFA

    黑暗引擎FOFA FOFA 点我进入 逻辑运算符 搜索子域名domain 搜索指定内容的host全部域名 body cert 搜索选定应用的网站 搜索指定开放端口的IP 搜索指定协议的IP 搜索IP或者网段的信息 搜索指定CSS JS网站
  • 宋浩概率论笔记(七)参数估计

    数一概率论大题的核心内容 关键是公式的背诵 需要特别重视
  • SPSS知识点复习

    一 T检验 对连续变量使用的方法 T检验 方差检验 1 均值 Means 过程 完成数据分组输出描述统计量 2 T检验 用t分布理论来推论差异发生的概率 从而比较两个平均数的差异是否显著 前提 总体服从正态分布 样本量不超过30 3 单样本
  • 区块链密码学(一):密码学基础及概念

    一 概念 主要介绍非对称加密的一些概念 公钥 私钥 均可加密或解密 配对即可 一般来讲 私钥用来进行解密和签名 是给自己用的 公钥由本人公开 用于加密和验证签名 是给别人用的 签名 内容 gt hash gt digest gt 私钥加密
  • 《Python 黑帽子》学习笔记 - 准备 - Day 1

    信息安全是一个有意思的方向 也是自己的爱好 从零开始 想在工作之余把这个爱好培养为自己的技术能力 而 web 安全相对来说容易入门些 于是选择 web 渗透测试作为学习的起点 并选择同样是容易入门的 Python 作为编程工具 潜心学习 持
  • 多维随机变量及其分布(四):

    一 二维随机变量及其分布函数 1 二维随机变量 设随机变量 Z X Y 则有 Z X Y 一个随机变量是有两个随机变量决定的 2 联合分布函数的基本性质 单调性 F x y 分别对x 或y是单调不减的 即 对任意固定的y 当 x1 lt x
  • 源码方式向openssl中添加新算法完整详细步骤(示例:摘要算法SM3)【非engine方式】

    openssl简介 openssl是一个功能丰富且自包含的开源安全工具箱 它提供的主要功能有 SSL协议实现 包括SSLv2 SSLv3和TLSv1 大量软算法 对称 非对称 摘要 大数运算 非对称算法密钥生成 ASN 1编解码库 证书请求
  • 【密码学】破解维吉尼亚密码(C++代码实现)

    问题简述 维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法 属于多表密码的一种简单形式 在一个凯撒密码中 字母表中的每一字母都会作一定的偏移 例如偏移量为3时 A就转换为了D B转换为了E 而维吉尼亚密码则是由一些偏移量不同的凯撒密
  • 离散数学模拟微信红包算法升级版

    可以自定义红包总金额 总包数 每包最小金额
  • 什么是跨站脚本攻击

    跨站脚本攻击 1 定义 2 跨站脚本攻击如何工作 3 跨站脚本攻击类型 4 如何防止跨站脚本攻击 1 定义 跨站脚本攻击 Cross site Scripting 通常称为XSS 是一种典型的Web程序漏洞利用攻击 在线论坛 博客 留言板等
  • 条件概率密度

    设二维随机变量 的概率密度为 关于 的边缘概率密度为 若对于固定的 有 则称 为在 条件下的 的条件概率密度 记为

随机推荐

  • 时域OCT与频域OCT的区别

    时域OCT TD OCT 与频域OCT FD OCT 的最大区别在于信号采集单元 也就是检测器部分 时域 用光电探测器进行点探测 频域 用光谱仪进行光谱的采集 一般多用光栅和线阵CCD阵列为核心的小型光谱仪 按照分光原件不同分的 1 1 g
  • 类文件具有错误的版本 55.0, 应为 52.0

    文章目录 背景 原因 解决方案 方案一 条件 使用idea本身maven的编译命令的话 使用命令编译的话 mac怎么查看安装的jdk目录 mac怎么修改默认是jdk11 1 evanyang Evans MacBook Pro vim ba
  • 在ubuntu中安装Jenkins

    安装前的准备 一台 ubuntu 主机 本篇文章使用的是Ubuntu 16 04 5 LTS 切换到root用户 安装 Jenkins 第一次安装的可以稍微看下jenkins 的安装文档 总之 如果没有安装 Java 需要安装一下 下面是目
  • pickle库的使用

    pickle 作用 把一个列表 迭代类型变量 存储为序列化对象 不以字符串存 而是以序列存 存好后下次取出依旧是列表 迭代类型变量 意义 即把迭代变量保存到硬盘中 而不只是存在内存里 可以方便直接提供给他人一个变量而不用给比人一整段代码 存
  • SpringCloud学习笔记(二)

    续 一 负载均衡的第二种实现方式Feign 前面在使用Ribbon RestTemplate时 利用RestTemplate对Http请求的封装处理 形成了一套模板化的调用方法 但是使用 RestTemplate 还是不方便 这样每次都调用
  • 87-信号和槽-基于Qt Designer 的信号与槽

    基于Qt Designer 的信号与槽 可以使用 Qt Designer 创建信号与槽 这种方式的好处是可以可视化创建页面视图 少写很多代码 只需要关注逻辑部分就可以 本节案例要实现的功能如下 通过一个模拟打印的界面来详细说明信号的使用 在
  • Flutter的手势识别功能实现GestureDetector

    GestureDetector简介 GestureDetector 是 Flutter 中一个非常常用的小部件 它提供了许多手势识别的功能 包括点击 双击 长按 拖动 缩放等等 使用方法 GestureDetector 可以包裹其他部件 当
  • jenkins pipeline中获取shell命令的标准输出或者状态

    获取标准输出 第一种 result sh returnStdout true script
  • args在python中什么意思_Python中*args、**args到底是什么、有啥区别、怎么用

    调用函数时使用 和 假设有函数 def test a b c test args 的作用其实就是把序列 args 中的每个元素 当作位置参数传进去 比如上面这个代码 如果 args 等于 1 2 3 那么这个代码就等价于 test 1 2
  • BUUCTF-[Misc杂项]---二维码

    目录 BUUCTF Misc杂项 二维码 题目 题解 BUUCTF Misc杂项 二维码 题目 题解 下载附加压缩包并打开 打开后发现是一张png图片 解压下来 解压后是一张二维码图片 我们直接放到二维码查看器工具当中 得到此条信息 我们继
  • c# global::

    Global 表示所有命名空间的根部 Global asa 文件的作用主要是用于站点或虚拟目录下程序的数据共享和多线程 在 global asa 中 可以声明 Application 事件和 Session 事件 并可以声明一些 Sessi
  • Windows安装pip方法

    pip是一款非常方便的python包管理工具 本文主要介绍在windows 10下安装pip方法 1 下载pip 地址 https pypi python org pypi pip downloads 注意选择tar gz压缩包 目前最新版
  • 服务器系统版本选择,云服务器选择系统版本

    云服务器选择系统版本 内容精选 换一换 使用弹性云服务器或者外部镜像文件创建私有镜像时 必须确保操作系统中已安装PV driver 使新发放的云服务器支持XEN虚拟化 同时也可以提升云服务器的I O处理性能 实现对云服务器硬件的监控和其他高
  • MobileNet ShuffleNet & yolov5替换backbone

    以下内容参考参考 MobileNet V1 亮点 1 使用可分离卷积核大幅减少参数量 2 增加了超参数a b a 卷积核个数的倍率 b 分辨率高低 MobileNet V2 亮点 1 使用倒结构残差 残差结构 两边粗 中间细 倒残差结构 两
  • uniapp为page设置背景色不生效 & lang=“scss“ scoped的page样式失效,uniapp重复打开页面

    一 lang scss scoped中的page选择器的样式失效 在用uniapp生成网页和H5时有效 但生成小程序或者app时无效 这是因为page选择器在小程序和app编译中是页面的父节点 所以加上scoped限定后 会导致无法选中 详
  • 《Centos6.5——图形化安装虚拟机》

    目录 安装虚拟机以及虚拟机的配置 1 先下载镜像 2 安装VMware Workstation 3 打开vm 点击创建新的虚拟机 1 一路下一步 直到选择镜像 2 继续下一步 直到如下图 选择CD 选择镜像后点击确定 然后点击开启虚拟机 3
  • 阿里云-云存储OSS

    1 简述OSS 数据的可靠性较强 三重备份 系统的安全性较强 对称加密 签名权限控制以及防盗链功能 文件存储的容量无限 无需人工运维 部署扩容 无需规则 按需扩容 提供丰富的API接口 SDK包 客户端工具台 控制台 方便应用程序调用 安全
  • 基于Python和mysql开发的今天吃什么微信小程序(源码+数据库+程序配置说明书+程序使用说明书)

    一 项目简介 本项目是一套基于Python和mysql开发的今天吃什么微信小程序 主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者 包含 项目源码 项目文档 数据库脚本等 该项目附带全部源码可作为毕设使用 项目
  • 【深度学习】池化 (pooling)

    深度学习中 有两种实现非线性的算子 一个是激活函数 另一个就是池化 pooling 在知乎上面看到一个关于池化的神解释 摘来 池化 涨水 卷积的目的是为了得到物体的边缘形状 可以想象水要了解山立体的形状 水位低时得出山脚的形状 水位中等时得
  • 信息安全—密码学信息熵信息理论基础—熵的概念(熵、联合熵、条件熵、平均互信息)

    数学基础 概率论乘法法则 两个事件相互独立 P A B P A P B 意思是事件A和事件B同时发生的概率 事件A发生的概率 事件B发生的概率 举个栗子 掷两枚硬币硬币同时立着的概率 掷一枚硬币立着的概率 再掷一枚 硬币立着的概率 两个事件