【现代密码学】笔记2 -- 完善保密性《introduction to modern cryphtography》现代密码学原理与协议

【现代密码学】笔记2--完善保密性《introduction to modern cryphtography》

  • 写在最前面
  • 2 完善保密性的介绍
    • 2.1 定义和基本属性
      • 加密方案的组成
      • 密钥产生算法 (Gen)
      • 加密算法 (Enc)
      • 解密算法 (Dec)
      • 概率分布
      • 独立性
  • 完美保密加密
    • 3. 回顾加密词法
    • 4. 完美保密(**Perfect Secrecy**)定义
      • 例子 一比特上的完美保密
    • 7. 完美不可区分性(**Perfect Indistinguishability**)
      • 补充理解:
        • 理论和实际应用
    • 8. 一次一密(**One-Time Pad (Vernam’s Cipher)**)
    • 10. 二次加密:真实世界案例
    • 11. 香农定理(**Shannon’s Theorem**)
    • 13. 窃听不可区分实验(**Eavesdropping Indistinguishability Experiment**)
      • 14. 敌手不可区分(**Adversarial Indistinguishability**)
    • 15. 总结

写在最前面

参考:骆婷老师的PPT
《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(现代密码学——原理与协议)中相关章节
密码学复习笔记 这个博主好有意思
哈工大密码学课程 张宇老师的课件
B站视频 密码学原理《Introduction to modern Cryptography》

初步笔记,如有错误请指正

快速补充一些密码相关的背景知识

请添加图片描述

2 完善保密性的介绍

2.1 定义和基本属性

在本节中,我们将详细讨论现代密码学中加密方案的完善保密性定义和基本属性。

加密方案的组成

  1. 算法组成:一个加密方案由三个算法组成:Gen (密钥产生算法)、Enc (加密算法) 和 Dec (解密算法)。
  2. 明文空间 ∣ M |\mathcal{M} M|:加密方案还包括对明文空间 ∣ M ∣ > 1 |\mathcal{M}|>1 M>1 的定义。如果 ∣ M ∣ = 1 |\mathcal{M}| = 1 M=1,则只有一个消息,这使得通信变得无意义,更不用说加密了。

密钥产生算法 (Gen)

  • 功能:Gen 是一种概率算法,输出密钥 k k k,基于特定的概率分布。
  • 密钥空间 K \mathcal{K} K:由 Gen 输出的所有可能的密钥的集合,记为 K \mathcal{K} K,并且 K \mathcal{K} K 是有限的。

加密算法 (Enc)

  • 输入和输出:加密算法 Enc 输入一个密钥 k ∈ K k \in \mathcal{K} kK 和一个明文 m ∈ M m \in \mathcal{M} mM,然后输出一个密文 c c c。我们定义加密过程为 E n c k ( m ) = c Enc_k(m) = c Enck(m)=c
  • 概率性:加密算法可能是概率性的,意味着对于同一个明文 m m m E n c k ( m ) Enc_k(m) Enck(m) 在多次运行时可能输出不同的密文 c c c

解密算法 (Dec)

  • 功能:解密算法 Dec 输入一个密钥 k k k 和密文 c c c,输出明文 m m m。用 m : = D e c k ( c ) m := Dec_k(c) m:=Deck(c) 表示解密过程。
  • 正确性:对于所有的 k ∈ K k \in \mathcal{K} kK m ∈ M m \in \mathcal{M} mM 和任何由 E n c k ( m ) Enc_k(m) Enck(m) 输出的密文 c c c D e c k ( c ) = m Dec_k(c) = m Deck(c)=m 的概率为 1。这意味着 Dec 通常是确定性的。

概率分布

  • 密钥分布:密钥 k k k 的分布由运行 Gen 并取输出而得。通常,Gen 从 K \mathcal{K} K 中均匀随机选择一个密钥输出。
  • 明文分布:明文 m m m 是根据某种分布选择的,意味着不同的消息有不同的发送概率。
  • 密文分布:对于给定的加密算法 Enc,密文 c c c 上的分布完全取决于 K \mathcal{K} K M \mathcal{M} M 上的分布。

独立性

  • 密钥和明文的独立性 K \mathcal{K} K M \mathcal{M} M 的分布是独立的,意味着密钥和明文是独立选择的。

完美保密加密

哈工大密码学课程 张宇老师的课件

在本节课程中,我们学习信息论意义上的安全——完美保密。完美保密的安全在信息论上是无需前提假设的,但其存在实践上的局限性,是完美中的不完美。本节将学习若干“等价”的完美保密定义,从中体会看似不同的定义却存在相同的本质,并且体会理解对同一个概念,从不同的角度去定义,对理解和应用这个概念是至关重要的。

3. 回顾加密词法

  • 以小写字母表示一个具体值,用花体字母表示一个集合,用大写字母表示随机变量

  • 密钥,明文,密文分别为 k ∈ K , m ∈ M , c ∈ C k \in \mathcal{K}, m \in \mathcal{M}, c \in \mathcal{C} kK,mM,cC.

  • 密钥生成,加密算法,解密算法分别为 k ← G e n , c : = E n c k ( m ) , m : = D e c k ( c ) k \gets \mathsf{Gen}, c:= \mathsf{Enc}_k(m), m:= \mathsf{Dec}_k(c) kGen,c:=Enck(m),m:=Deck(c).

  • 加密方案: Π = ( G e n , E n c , D e c ) \Pi = (\mathsf{Gen}, \mathsf{Enc}, \mathsf{Dec}) Π=(Gen,Enc,Dec).

  • 随机变量: K , M , C K, M, C K,M,C 对应密钥,明文,密文.

  • 概率: Pr ⁡ [ K = k ] , Pr ⁡ [ M = m ] , Pr ⁡ [ C = c ] \Pr[K=k], \Pr[M=m], \Pr[C=c] Pr[K=k],Pr[M=m],Pr[C=c],随机变量为某一个具体值的概率

4. 完美保密(Perfect Secrecy)定义

  • 直觉:一个加密方案是安全的,那么敌手在获得密文后,密文应该对敌手猜测明文没有任何帮助。 敌手是知道明文本来的概率分布,例如,敌手知道明文是一个真或假问题的答案:真、假,并且知道两种答案的概率。敌手也知道加密方案。敌手要根据密文确定明文中的答案。如果加密方案是安全的,则密文应该对敌手猜测答案没有任何效果。

  • 换句话说,根据密文来猜测答案和不知道密文猜测答案对敌手来说是一样的。从概率的角度看,在获得密文后的某个明文后验似然(posteriori likehood)应该与该明文被发送的先验概率(priori probability)没有差别。

  • 定义:在 M \mathcal{M} M Π \Pi Π是完美保密的,若对于 M \mathcal{M} M上的任意概率分布, ∀ m ∈ M \forall m \in \mathcal{M} mM ∀ c ∈ C \forall c \in \mathcal{C} cC , 且 Pr ⁡ [ C = c ] > 0 \Pr[C = c] > 0 Pr[C=c]>0:

    Pr ⁡ [ M = m ∣ C = c ] = Pr ⁡ [ M = m ] . \Pr[M=m | C=c] = \Pr[M=m]. Pr[M=mC=c]=Pr[M=m].

  • 上面的公式表示,给定密文的条件下,明文的概率分布与预先知道的相同,即知道密文对猜测明文没有帮助。

例子 一比特上的完美保密

  • 下面看一个例子,这个方案是完美保密的吗?For M = K = { 0 , 1 } , E n c k ( m ) = m ⊕ k \mathcal{M}=\mathcal{K} = \{ 0,1 \} , \mathsf{Enc}_k(m)= m \oplus k M=K={0,1},Enck(m)=mk. 这里的 ⊕ \oplus 是异或。

  • 尽管这个方案看起来很简单(可能是最简单的),但答案是肯定的,是完美保密。下面我们来证明。

  1. 一比特上的完美保密

    • 这里假设 M \mathcal{M} M上的概率分布是 Pr ⁡ [ M = 1 ] = p \Pr[M=1] = p Pr[M=1]=p Pr ⁡ [ M = 0 ] = 1 − p \Pr[M=0]= 1-p Pr[M=0]=1p,计算 Pr ⁡ [ M = 1 ∣ C = 0 ] \Pr[M=1 | C=0] Pr[M=1∣C=0]

      • 这里的例子个与课件不同的,课件上是计算 Pr ⁡ [ M = 1 ∣ C = 1 ] \Pr[M=1 | C=1] Pr[M=1∣C=1]
      • 注意:加密事件逻辑是从明文和密钥得到密文,而不是相反的。
    • 根据贝叶斯定理:

    Pr ⁡ [ M = 1 ∣ C = 0 ] = Pr ⁡ [ C = 0 ∣ M = 1 ] ⋅ Pr ⁡ [ M = 1 ] / Pr ⁡ [ C = 0 ] \Pr[M=1 | C=0] = \Pr[C=0 | M=1] \cdot \Pr[M=1] / \Pr[C=0] Pr[M=1∣C=0]=Pr[C=0∣M=1]Pr[M=1]/Pr[C=0]

    = Pr ⁡ [ M ⊕ K = 0 ∣ M = 1 ] ⋅ p / ( Pr ⁡ [ C = 0 ∣ M = 1 ] ⋅ Pr ⁡ [ M = 1 ] + Pr ⁡ [ C = 0 ∣ M = 0 ] ⋅ Pr ⁡ [ M = 0 ] ) = \Pr[M \oplus K =0 | M=1] \cdot p / (\Pr[C=0 | M=1] \cdot \Pr[M=1]+\Pr[C=0 | M=0] \cdot \Pr[M=0]) =Pr[MK=0∣M=1]p/(Pr[C=0∣M=1]Pr[M=1]+Pr[C=0∣M=0]Pr[M=0])

    = Pr ⁡ [ 1 ⊕ K = 0 ] ⋅ p / ( Pr ⁡ [ 1 ⊕ K = 0 ] ⋅ p + Pr ⁡ [ 0 ⊕ K = 0 ] ⋅ ( 1 − p ) ) = \Pr[1 \oplus K = 0] \cdot p / (\Pr[1 \oplus K = 0] \cdot p +\Pr[0 \oplus K = 0] \cdot (1-p)) =Pr[1K=0]p/(Pr[1K=0]p+Pr[0K=0](1p))

    = 1 2 p / ( 1 2 p + 1 2 ( 1 − p ) ) = p = Pr ⁡ [ M = 1 ] = \frac{1}{2} p / (\frac{1}{2}p + \frac{1}{2}(1-p)) = p = \Pr[M=1] =21p/(21p+21(1p))=p=Pr[M=1]

    • 注意: Pr ⁡ [ 1 ⊕ K = 0 ] = 1 2 ≠ Pr ⁡ [ M = 1 , C = 0 ] = p ⋅ 1 2 \Pr[1 \oplus K = 0] = \frac{1}{2} \neq \Pr[M=1, C=0] = p \cdot \frac{1}{2} Pr[1K=0]=21=Pr[M=1,C=0]=p21

    • 这里需要理解到,只要密钥是均匀随机的,密文的概率分布不受明文的概率分布的影响(注意密文不独立于明文,而是由明文和密钥一起决定的),密文不会携带明文的统计模式,从而安全。

  2. 完美保密定义的等价公式

    • 在完美保密加密方案中,密文的先验概率等于其后验概率,即 Pr ⁡ [ C = c ∣ M = m ] = Pr ⁡ [ C = c ] \Pr[C=c | M=m] = \Pr[C=c] Pr[C=cM=m]=Pr[C=c]
    • 这个从之前例子中可以体会到,无论是什么明文被加密,密文出现的概率不变。
    • 从右到左证明:
      • 两边同时乘以 Pr ⁡ [ M = m ] / Pr ⁡ [ C = c ] \Pr[M=m]/\Pr[C=c] Pr[M=m]/Pr[C=c],得到
      • Pr ⁡ [ C = c ∣ M = m ] ⋅ Pr ⁡ [ M = m ] / Pr ⁡ [ C = c ] = Pr ⁡ [ M = m ] \Pr[C=c | M=m] \cdot \Pr[M=m] / \Pr[C=c] = \Pr[M=m] Pr[C=cM=m]Pr[M=m]/Pr[C=c]=Pr[M=m]
      • 应用贝叶斯定理,左边等于 Pr ⁡ [ M = m ∣ C = c ] ⋅ Pr ⁡ [ C = c ] / Pr ⁡ [ C = c ] = Pr ⁡ [ M = m ∣ C = c ] \Pr[M=m | C=c] \cdot \Pr[C=c] / \Pr[C=c] = \Pr[M=m | C=c] Pr[M=mC=c]Pr[C=c]/Pr[C=c]=Pr[M=mC=c]
      • 得到完美保密定义: Pr ⁡ [ M = m ∥ C = c ] = Pr ⁡ [ M = m ] \Pr[M=m \| C=c] = \Pr[M=m] Pr[M=mC=c]=Pr[M=m]
    • 从左到右证明略。
    • 从另一个方向思考,在完美保密中,密文出现概率根据明文概率分布和密钥概率分布以及加密算法可以预先计算。给定任意明文,对加密结果的预期与预先计算结果是一样。

7. 完美不可区分性(Perfect Indistinguishability

  • 数学表达 Pr ⁡ [ C = c ∣ M = m 0 ] = Pr ⁡ [ C = c ∣ M = m 1 ] \Pr[C=c | M=m_0] = \Pr[C=c | M=m_1] Pr[C=cM=m0]=Pr[C=cM=m1]。这个公式表明,对于两个不同的明文 m 0 m_0 m0 m 1 m_1 m1,产生同一密文 c c c 的概率是相等的。
  • 含义:在完美保密加密方案中,任意两个明文加密后为相同密文的概率是相同的。换句话说,无论用什么明文,加密后得到相同密文的概率是相同的。证明见幻灯片。
  • 不可区分是什么意思?任意明文加密成某个密文的概率都相同,攻击者无法区分出密文是由哪个明文加密得到的,具体见后面的窃听者不可区分实验。

补充理解:

  • 不可区分性:这个属性意味着对于外部的攻击者来说,他们无法通过观察密文来推测出原始明文是什么。换句话说,攻击者无法区分出密文是由哪个明文加密得到的。
  • 安全性:这种不可区分性提供了强大的安全保障。即使敌手知道可能的明文集合,他们也不能确定加密的密文对应于哪个具体的明文。
  • 举例:假设有两个可能的明文:“attack at dawn” 和 “retreat at dusk”。在完美保密的加密方案中,这两个明文被加密成同一个密文的概率应该是一样的。因此,即使敌手捕获了密文,他们也无法确定实际的指令是进攻还是撤退。
理论和实际应用
  • 理论意义:完美不可区分性是一个理论上的理想标准,它要求加密算法达到极高的安全水平。
  • 实际应用:在实际中,完全达到这种理想状态可能很困难,特别是在有限资源和实际约束的情况下。因此,实际的加密方案通常寻求达到“计算上的不可区分性”(computational indistinguishability),这是一个相对较弱但在实践中更可行的安全标准。

完美不可区分性作为一个理想化的概念,在加密理论中起着基础和指导作用,帮助设计者理解和追求更高水平的安全性。然而,在实际应用中,通常会根据可用资源和具体需求,对这一标准进行适当的调整和权衡。

8. 一次一密(One-Time Pad (Vernam’s Cipher)

  • 将明文以比特串的形式与相同长度的密钥按位异或得到密文。解密时将密文与密钥按比特异或得到明文。这种加密方案称为“一次一密”。
  • 是一种完美保密的加密方案,道理和前面给出的一个比特异或加密的例子一样。证明见幻灯片。
  • 问题:除了一次一密,还有没有其它实现完美保密的方案?
  1. 完美保密的局限性

    • 很容易观察到一次一密加密方案中密钥需要和明文一样长,难以存储和分享。把比特串长度换一个表达方式,换成比特串数量——比特串所构成空间的规模,意味着密钥数量需要和明文数量一样多。
    • 那如果密钥长度比明文短,或者说密钥数量比明文少,能否实现完美保密?答案是否定的。要实现完美保密一定需要密钥空间大于等于明文空间,即 ∣ K ∣ ≥ ∣ M ∣ |\mathcal{K}| \ge |\mathcal{M}| KM
      • 采用反证法证明,假设密钥数量比明文数量少 ∣ K ∣ < ∣ M ∣ |\mathcal{K}| < |\mathcal{M}| K<M,则不可能实现完美保密。
      • 将从一个密文 c c c解密得到的所有明文集合,表示为 M ( c ) = def { m ^ ∣ m ^ = D e c k ( c ) for some  k ^ ∈ K } \mathcal{M}(c) \overset{\text{def}}{=} \{ \hat{m} | \hat{m} = \mathsf{Dec}_k(c)\ \text{for some}\ \hat{k} \in \mathcal{K} \} M(c)=def{m^m^=Deck(c) for some k^K}
      • 对于一个密钥 k k k,最多有个一个明文 m m m使得 m = D e c k ( c ) m = \mathsf{Dec}_k(c) m=Deck(c)。这是因为如果有多个明文的话,就根本不是一个加密方案。
      • 因此,从一个密文解密出来的明文数量不会超过密钥数量,也就不超过明文总数: ∣ M ( c ) ∣ ≤ ∣ K ∣ < ∣ M ∣ |\mathcal{M}(c)|\le |\mathcal{K}| < |\mathcal{M}| M(c)K<M.
      • 那么,一定存在一个明文 m ′ m' m是无法由 c c c解密出来的,即 Pr ⁡ [ M = m ′ ∣ C = c ] = 0 ≠ Pr ⁡ [ M = m ′ ] \Pr[M=m'|C=c] = 0 \neq \Pr[M = m'] Pr[M=mC=c]=0=Pr[M=m]。因此,不是完美保密。
    • 尽管有这个局限性,但一次一密也可以用在实践中,例如美国和苏联之间的“Red line”。

10. 二次加密:真实世界案例

  • 二次加密:真实世界案例
    • c ⊕ c ′ = ( m ⊕ k ) ⊕ ( m ′ ⊕ k ) = m ⊕ m ′ . c\oplus c'=(m\oplus k)\oplus (m'\oplus k)=m\oplus m'. cc=(mk)(mk)=mm.
    • 如果一个密钥用了两次,那么敌手会得到两次明文的异或值,这显然不是完美保密了,而且根据异或值结合之前学习的自然语言统计模式分析可以破解出明文。
    • 一个例子真实世界例子是,在MS-PPTP协议中,通信双方采用同一个密钥来加密双向相互发送的两个消息。
    • 改进方法是双方各两个方向(分别作为源和目的)的通信使用不同的密钥。

11. 香农定理(Shannon’s Theorem

  • 香农定理(Shannon’s Theorem
    • 前面的完美保密相关定义的可操作性不高,原因是不容易直接获得明文概率分布。香农定理使得完美保密的可操作性得到了很大提高。
    • 当明文空间、密钥空间和密文空间规模相同时,加密方案是完美保密的,当且仅当满足两个条件:
      • (1)每个密钥是从密钥空间中均匀随机生成的;
      • (2)对于任意明文和密文对,存在唯一的密钥使得该明文加密成该密文。
      • 证明见幻灯片。
  1. 香农定理的例题

    • 请根据香农定理来分析。这里从更通用的形式来了解一次一密。
    • 讲义中通常不给出例题答案

13. 窃听不可区分实验(Eavesdropping Indistinguishability Experiment

  • 窃听不可区分实验(Eavesdropping Indistinguishability Experiment
    这里引入密码学中最重要的思想实验:存在一个挑战者,挑战敌手不能破解加密方案,并配合敌手做一个实验。

    1. 敌手根据自己的策略选择两个不同的长度相同的明文,并发送给挑战者;

    2. 挑战者随机挑选其中一个明文,并新生成一个密钥,用加密方案来加密选中的明文,得到密文(称为一个挑战),并将密文发送给敌手;

    3. 敌手根据收到的密文,猜测哪一个明文被加密了。如果猜对了,则敌手在这次实验中成功。

    实验中的一个重点在于实验可重复足够多次。每次实验中挑战者都是生成新的密钥。

14. 敌手不可区分(Adversarial Indistinguishability

  • 敌手不可区分(Adversarial Indistinguishability
    • 下面给出一个新的完美保密的定义:对于完美保密的加密方案,在窃听不可区分实验中,任意敌手成功的概率等于1/2。
    • 1/2是敌手采用瞎猜策略时成功的概率。因此,完美保密也意味着任意敌手在实验中不会获得比瞎猜更好的结果,或者说敌手获得密文后也不会比瞎猜策略获得更大的优势。后面还会反复学习这一概念。
    • 直觉理解为什么是敌手不可区分是一个完美保密的等价定义:
      • 无论明文如何分布,也无论敌手如何挑选两个明文,在实验中由挑战者随机二选一,明文空间缩减为二,每个明文被选中的概率为1/2。
      • 如果加密方案是完美保密的,则敌手获得密文后猜测明文的后验似然也是1/2。
      • 如果加密方案不是完美保密的,则意味着敌手可以利用某个明文和密文获得比瞎猜更大的优势,则敌手成功的概率不等于1/2。
    • 例题:其中 ∥ \| 表示比特串连接,LSB表示最低有效位(the least significant bit)。如果你觉得是完美保密,请指出其和一次一密的关系;否则,请说明在不可区分实验中敌手如何成功。

15. 总结

  • 总结

    • 完美保密 = 完美不可区分 = 敌手不可区分
      • 知道密文对猜测明文没有帮助
      • 给定明文对推测密文没有帮助
      • 任意明文加密成某个密文的概率是相同的
    • 完美保密是可获得的。一次一密。
    • 香农定理(可操作的完美保密)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker打包介绍

最近在做一个开源项目&#xff0c;遇到开发者问各种问题&#xff0c;发现都是系统和软件版本的差异引起的。于是了解了一下docker的使用&#xff0c;发现docker真是个好东东&#xff0c;基本解决了各种版本差异的问题&#xff0c;真正做到了一键部署使用。 先熟悉一下docker里…

阿里云2核4G服务器ecs.e-c1m2.large价格和性能测评

2024年阿里云2核4G服务器优惠价格30元3个月&#xff0c;活动 https://t.aliyun.com/U/bLynLC 配置为云服务器ECS经济型e实例ecs.e-c1m2.large&#xff0c;3M固定带宽&#xff0c;系统盘为40GB ESSD Entry&#xff0c;活动打开如下图&#xff1a; 阿里云2核4G服务器优惠价格30元…

Python武器库开发-武器库篇之C段扫描器开发(四十三)

Python武器库开发-武器库篇之C段扫描器开发(四十三) 在我们进行渗透过程中的信息收集的步骤时&#xff0c;收集资产目标的C段也是非常重要的一部分。 C段是指互联网中的一类IP地址。IP地址是互联网上每台设备的唯一标识符。IP地址由一系列数字组成&#xff0c;通常以点分十进…

【AI视野·今日Sound 声学论文速览 第四十一期】Thu, 4 Jan 2024

AI视野今日CS.Sound 声学论文速览 Thu, 4 Jan 2024 Totally 8 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Multichannel blind speech source separation with a disjoint constraint source model Authors Jianyu Wang, Shanzheng Guan多通道卷积…

2023 CSIG青年科学家会议丨多模态大模型时代下的文档图像处理

近日&#xff0c;由中国图象图形学学会青年工作委员会发起的“第十九届中国图象图形学学会青年科学家会议”在广州召开。 会议面向国际学术前沿与国家战略需求&#xff0c;聚焦最新前沿技术和热点领域&#xff0c;邀请各界专家与青年学者进行总计超200场的高水平学术深度交流&…

漏洞复现--金蝶云星空反序列化远程代码执行

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

无旋转目标检测labelme的json格式转YOLO

# trans_labelme_to_yolo.pyimport cv2 import os import json import shutil import numpy as np from pathlib import Path from glob import globid2cls =

静态网页设计——千姿百色旅游网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1oe411m7kH/?vd_source5f425e0074a7f92921f53ab87712357b 源码&#xff1a;https://space.bilibili.co…

啊哈c语言——5.9逻辑挑战11(猜数游戏)

计算机会随机地给出0&#xff5e;99之间的一个整数&#xff0c;你能否猜出这个数呢&#xff1f;每猜一次&#xff0c;计算机都会告诉你猜的数是大了还是小了&#xff0c;直到你猜出这个数为止。 首先我们需要解决的第一个问题就是如何让计算机随机地产生一个整数&#xff0c;这…

vue-springboot基于java的实验室安全考试系统

本系统为用户而设计制作实验室安全考试系统&#xff0c;旨在实现实验室安全考试智能化、现代化管理。本实验室安全考试管理自动化系统的开发和研制的最终目的是将实验室安全考试的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代管理人员的使用提供更多的…

1- forecasting at scale论文阅读

目录 1. 什么是时间序列2. 什么是时间序列预测3. 时间序列预测的范式4. 时间序列的专有名词介绍5. 时间序列评估 1. 什么是时间序列 按时间先后顺序出现的有序序列 2. 什么是时间序列预测 点预测&#xff1a;预测未来的某一个时间点&#xff0c;它的值到底是多少&#xff0c…

搭建宠物寄养小程序流程

近日&#xff0c;一地宠物寄养需求旺盛&#xff0c;元旦满房&#xff0c;春节几近饱和&#xff0c;一窝难求。随着市场需求的增长&#xff0c;对于很多宠物行业的商家&#xff0c;可以考虑开展宠物寄养服务&#xff0c;尤其是节假日的宠物寄养需求会更高。因此&#xff0c;商家…

我是内网灵活的狗之stack靶场1

首先我们还是老样子 我们先启动这个在win7上面的php工具&#xff0c;也就是启动php服务 然后我们启动kali攻击机 然后打开webshell工具 然后我们先打开MSF工具进行监听 启动msf工具进行监听 12345端口 然后在文件中打开虚拟终端&#xff0c;连接到目标机器内部 start 620.exe…

加密世界危机四伏,普通用户该如何应对钓鱼陷阱

据区块链安全公司 Scam Sniffer 称&#xff0c;加密货币网络钓鱼活动在 2023 年有所增加&#xff0c;诈骗者利用钱包盗取恶意软件从受害者那里窃取了近 3 亿美元。金额很惊人是不是&#xff1f;只是没想到素以小心谨慎为口号冲浪的我也栽了一回。还原一下事情经过&#xff1a; …

Grounding 模型 + SAM 报错

引入 Grounding 目标检测模型串联 SAM 从而实现实例分割任务&#xff0c;目前支持 Grounding DINO 和 GLIP 参考教程 MMDetection-SAM 如果是 Grounding DINO 则安装如下依赖即可 cd playground pip install githttps://github.com/facebookresearch/segment-anything.git pip…

55、Flink之用于外部数据访问的异步 I/O介绍及示例

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

深入了解网络流量清洗--WAF的流量清洗

随着网络攻击日益复杂&#xff0c;企业面临的网络安全挑战也在不断增加。在这个背景下&#xff0c;网络流量清洗成为了确保企业网络安全的关键技术。本文将探讨雷池社区版如何通过网络流量清洗技术&#xff0c;帮助企业有效应对网络威胁。 网络流量清洗的重要性&#xff1a; …

结队编程 - 华为OD统一考试

OD统一考试 题解: Java / Python / C++ 题目描述 某部门计划通过结队编程来进行项目开发,已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下: 从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分别为 level[…

JumpServer3.0版本-资产管理

资产列表 资产列表可展示资产树和类型树,可以查看添加的所有资产 新增资产也是在此页面 在资产树上面右键可以创建新的子节点 比如这里我新建了个“腾讯云”节点 选中腾讯云节点,点击中间的“创建”按钮,新增资产 选择你的主机类型,我这是Linux 填写你资产的名称、IP必…

网工我劝你,这11种协议报文格式要烂熟于心!

你们好&#xff0c;我的网工朋友。 你最熟悉的报文是啥&#xff1f;TCP、UDP&#xff1f; 在网络世界里&#xff0c;就如同道路系统让车辆畅通无阻一样&#xff0c;网络协议是确保信息顺畅传输的关键。 作为网络工程师&#xff0c;理解网络协议的种类与结构至关重要。 今天…