【现代密码学原理】——数字签名(学习笔记)

news2024/10/7 16:26:20

📖 前言:数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。

在这里插入图片描述


目录

  • 🕒 0. 思维导图
  • 🕒 1. 消息认证 VS 数字签名
  • 🕒 2. 数字签名的过程
  • 🕒 3. 对数字签名的攻击
    • 🕘 3.1 唯密钥攻击
    • 🕘 3.2 已知消息攻击
    • 🕘 3.3 一般选择消息攻击
    • 🕘 3.4 定向选择消息攻击
  • 🕒 4. 攻击的后果
    • 🕘 4.1 完全破译
    • 🕘 4.2 通用伪造
    • 🕘 4.3 选择性伪造
    • 🕘 4.4 存在性伪造
  • 🕒 5. 数字签名的需求
  • 🕒 6. EIGamal 数字签名
  • 🕒 7. 数字签名标准
    • 🕘 7.1 数字签名标准 DSS
      • 🕤 7.1.1 基于RSA的数字签名
      • 🕤 7.1.2 数字签名算法 DSA
    • 🕘 7.2 数字签名的应用

🕒 0. 思维导图

在这里插入图片描述

🕒 1. 消息认证 VS 数字签名

在这里插入图片描述
【情况一】

  • Alice 和Bob 使用对称加密来保护通信数据,第三方无法获取、伪造该信息,密钥K只有通信双方才已知

【问题】

  • 假设双方在进行资金转账,Alice使用密钥K 给Bob 发送转账金额10元。
  • Bob 现在伪造转账金额为100元,并使用他们共享的密钥K来加密消息,他声称这就是Alice发给他的转账金额

【情况二】

  • 既然Bob 可以使用共享密钥K 伪造信息,Alice 也可以否认她曾经发出过某条信息
  • 如Alice 给Bob 发送集资申请,Bob投入了大量资金。但后来生意失败,Alice声称集资申请的消息并不是由她本人发出的,而是Bob伪造的
  • 消息认证只能防止第三方攻击,却无法防止通信双方之间的攻击。若通信双方不能完全信任,就需要数字签名
  • 对 签名者身份、签名日期、签名时间、签名的消息内容 进行验证,且支持第三方仲裁来解决争执

🕒 2. 数字签名的过程

在这里插入图片描述

🕒 3. 对数字签名的攻击

🕘 3.1 唯密钥攻击

  • Bob 对 消息M 生成数字签名S,并将S 附在M后一起发送
  • 攻击者Darth 将其截获,但他仅知道Bob 的公钥PU-B
  • 若要攻击成功,意味着获取了完整的签名方案

练习题
若针对数字签名的唯密钥攻击成功,以下操作步骤顺序正确的是:
① 得到消息M的Hash值
② 猜出哪些部分是数字签名S
③ 对数字签名S使用公钥PU解密
答案:231

  • Darth 猜出签名S的长度n,对这n位使用公钥PU-B 解密,得到消息M的Hash值
  • 根据消息M与其Hash值,判断出使用的Hash算法
  • 比较明文Hash 与 使用私钥PR-B 加密后的密文S,逐一推断出加密算法以及Bob的私钥

多选题
针对数字签名的唯密钥攻击,说法正确的是:
A. 唯密钥指的是只知道发送方的私钥
B. 唯密钥指的是只知道发送方的公钥
C. 唯密钥攻击若要成功,一般都要做到完全破译
D. 唯密钥攻击若成功,对发送方的影响是最大的
答:选BCD

🕘 3.2 已知消息攻击

  • Darth已知Bob 的公钥PU-B,一些消息M 与对应的数字签名S
  • 获取到Bob的签名方案或部分

🕘 3.3 一般选择消息攻击

  • Darth 选择一些消息M,使得Bob 为它们分别生成对应的数字签名S
  • 无需知道Bob的公钥

🕘 3.4 定向选择消息攻击

  • Darth 已知Bob的公钥
  • 然后他选择一些消息M,使得Bob 为它们分别生成对应的数字签名S

🕒 4. 攻击的后果

🕘 4.1 完全破译

  • Darth 通过上述某种攻击方法,成功获取到:
  • Hash算法、加密算法、Bob的私钥PR-B

🕘 4.2 通用伪造

  • Darth 通过上述某种攻击方法,掌握了一个有效的签名算法
  • 使得对于任意消息都能等价地构造出合法签名

🕘 4.3 选择性伪造

  • Darth 掌握了某种签名算法
  • 对于所选择的特定消息能够构造出合法签名

🕘 4.4 存在性伪造

  • Darth 通过上述某种攻击方法,至少可以成功伪造出一个消息的合法签名
  • 但他不能控制是哪一个消息,这种伪造对于Bob的伤害最低

练习题
关于数字签名的攻击后果,按照其影响程度从高到低排序正确的是:
① 存在性伪造
② 通用伪造
③ 完全破译
④ 选择性伪造
答:3241

🕒 5. 数字签名的需求

  • 签名 必须是与消息M 相关的二进制位串
  • 签名必须使用发送方独有的信息,以防伪造和否认
  • 产生数字签名比较容易,识别和验证签名比较容易
  • 伪造签名在计算上不可行,无论是从给定的数字签名伪造信息,还是从给定的消息伪造签名
  • 保存数字签名的副本是可行的

🕒 6. EIGamal 数字签名

在这里插入图片描述

  • Alice和Bob要进行数字签名的生成与验证,首先他们共享一个素数 𝒒 𝒒 q 以及整数 a a a
  • a < 𝒒 a<𝒒 a<q a a a是素数 𝒒 𝒒 q的原根,满足
    a   𝒎 𝒐 𝒅   𝒒 , a 𝟐   𝒎 𝒐 𝒅   𝒒 , a 𝟑   𝒎 𝒐 𝒅   𝒒 , . . . a 𝒒 − 𝟏   𝒎 𝒐 𝒅   𝒒 a \ 𝒎𝒐𝒅 \ 𝒒,a^𝟐 \ 𝒎𝒐𝒅 \ 𝒒,a^𝟑 \ 𝒎𝒐𝒅 \ 𝒒,... a^{𝒒−𝟏} \ 𝒎𝒐𝒅 \ 𝒒 a mod qa2 mod qa3 mod q...aq1 mod q它们的值各不相同
  • a < 𝒒 a<𝒒 a<q a a a是素数 𝒒 𝒒 q的原根,还满足
  • a 𝒎   𝒎 𝒐 𝒅   𝒒 = 𝟏 a^𝒎 \ 𝒎𝒐𝒅 \ 𝒒=𝟏 am mod q=1 当且仅当 𝒎 = 𝟎   𝒎 𝒐 𝒅 ( 𝒒 − 𝟏 ) 𝒎=𝟎 \ 𝒎𝒐𝒅(𝒒−𝟏) m=0 mod(q1)
  • a 𝒊 = a 𝒋   𝒎 𝒐 𝒅   𝒒 a^𝒊=a^𝒋 \ 𝒎𝒐𝒅 \ 𝒒 ai=aj mod q 当且仅当 𝒊 = 𝒋   𝒎 𝒐 𝒅   ( 𝒒 − 𝟏 ) 𝒊=𝒋 \ 𝒎𝒐𝒅 \ (𝒒−𝟏) i=j mod (q1)
  • Alice 选择了素数 𝒒 = 19 𝒒 =19 q=19,它的原根 a = 10 a =10 a=10
  • Alice 选择随机整数 𝟏 < 𝑿 𝑨 < 𝒒 − 𝟏 , 𝑿 𝑨 𝟏<𝑿_𝑨<𝒒−𝟏,𝑿_𝑨 1<XA<q1XA是私有的,只有Alice自己知道,即Alice的私钥
  • Alice 选择 𝑿 𝑨 = 𝟏 𝟔 𝑿_𝑨=𝟏𝟔 XA=16
  • Alice 计算 𝒀 𝑨 = a 𝑿 𝑨   𝒎 𝒐 𝒅   𝒒 = 𝟏 𝟎 𝟏 𝟔   𝒎 𝒐 𝒅   𝟏 𝟗 = 𝟒 𝒀_𝑨=a^{𝑿_𝑨} \ 𝒎𝒐𝒅 \ 𝒒=𝟏𝟎^{𝟏𝟔} \ 𝒎𝒐𝒅 \ 𝟏𝟗=𝟒 YA=aXA mod q=1016 mod 19=4,计算得到的 𝒀 𝑨 𝒀_𝑨 YA是公开可访问的
  • Alice 的公钥为{𝟏𝟗,𝟏𝟎,𝟒},将其发送给Bob
  • Alice 要发送的消息为M,为了对消息进行签名,首先计算Hash值: 𝒉 = 𝑯 ( 𝑴 ) , 𝟎 ≤ 𝒎 ≤ 𝒒 − 𝟏 𝒉=𝑯(𝑴),𝟎≤𝒎≤𝒒−𝟏 h=H(M),0mq1
  • 现在计算出Hash值 𝒉 = 𝟏 𝟒 𝒉=𝟏𝟒 h=14
  • Alice 选择随机整数K,使得 𝟏 ≤ 𝑲 ≤ 𝒒 − 𝟏 𝟏≤𝑲≤𝒒−𝟏 1Kq1
    𝒈 𝒄 𝒅 ( 𝑲 , 𝒒 − 𝟏 ) = 𝟏 𝒈𝒄𝒅(𝑲,𝒒−𝟏)=𝟏 gcd(K,q1)=1
  • Alice 选择 𝑲 = 𝟓 𝑲=𝟓 K=5
  • 计算 𝑺 𝟏 = a 𝑲   𝒎 𝒐 𝒅   𝒒 = 𝟏 𝟎 𝟓   𝒎 𝒐 𝒅   𝟏 𝟗 = 𝟑 𝑺_𝟏=a^𝑲 \ 𝒎𝒐𝒅 \ 𝒒=𝟏𝟎^𝟓 \ 𝒎𝒐𝒅 \ 𝟏𝟗=𝟑 S1=aK mod q=105 mod 19=3
  • 计算 𝑲 − 𝟏   𝒎 𝒐 𝒅   ( 𝒒 − 𝟏 ) 𝑲^{−𝟏} \ 𝒎𝒐𝒅 \ (𝒒−𝟏) K1 mod (q1)
    = 𝟓 − 𝟏   𝒎 𝒐 𝒅   ( 𝟏 𝟗 − 𝟏 ) =𝟓^{−𝟏} \ 𝒎𝒐𝒅 \ (𝟏𝟗−𝟏) =51 mod (191)
    = 𝟓 − 𝟏   𝒎 𝒐 𝒅   𝟏 𝟖 = 𝟏 𝟏 =𝟓^{−𝟏} \ 𝒎𝒐𝒅 \ 𝟏𝟖 =𝟏𝟏 =51 mod 18=11
  • 计算 𝑺 𝟐 = 𝑲 − 𝟏 ( 𝒉 − 𝑿 𝑨 𝑺 𝟏 )   𝒎 𝒐 𝒅   ( 𝒒 − 𝟏 ) 𝑺_𝟐=𝑲^{−𝟏} (𝒉−𝑿_𝑨 𝑺_𝟏 ) \ 𝒎𝒐𝒅 \ (𝒒−𝟏) S2=K1(hXAS1) mod (q1)
    = 𝟏 𝟏 ( 𝟏 𝟒 − 𝟏 𝟔 × 𝟑 )   𝒎 𝒐 𝒅   𝟏 𝟖 =𝟏𝟏(𝟏𝟒−𝟏𝟔×𝟑) \ 𝒎𝒐𝒅 \ 𝟏𝟖 =11(1416×3) mod 18
    = ( − 𝟑 𝟕 𝟒 )   𝒎 𝒐 𝒅   𝟏 𝟖 = 𝟒 =(−𝟑𝟕𝟒) \ 𝒎𝒐𝒅 \ 𝟏𝟖=𝟒 =(374) mod 18=4
  • Alice 将 𝒉 、 𝑺 𝟏 、 𝑺 𝟐 𝒉、𝑺_𝟏、𝑺_𝟐 hS1S2发送给Bob
  • Bob计算 𝑽 𝟏 = a 𝒉   𝒎 𝒐 𝒅   𝒒 = 𝟏 𝟔 𝑽_𝟏=a^𝒉 \ 𝒎𝒐𝒅 \ 𝒒=𝟏𝟔 V1=ah mod q=16
    𝑽 𝟐 = ( 𝒀 𝑨 ) 𝑺 𝟏 ( 𝑺 𝟏 ) 𝑺 𝟐   𝒎 𝒐 𝒅   𝒒 𝑽_𝟐=(𝒀_𝑨)^{𝑺_𝟏} (𝑺_𝟏)^{𝑺_𝟐} \ 𝒎𝒐𝒅 \ 𝒒 V2=(YA)S1(S1)S2 mod q
    = 𝟒 𝟑 𝟑 𝟒   𝒎 𝒐 𝒅   𝟏 𝟗 = 𝟏 𝟔 =𝟒^𝟑 𝟑^𝟒 \ 𝒎𝒐𝒅 \ 𝟏𝟗=𝟏𝟔 =4334 mod 19=16
  • 若计算出的 𝑽 𝟏 、 𝑽 𝟐 𝑽_𝟏、𝑽_𝟐 V1V2相同,数字签名就是合法的

练习题
已知Alice要为一个Hash值为2的消息制作数字签名,使用ElGamal数字签名方案,她选取q=11,a=2,私钥为4,K=3。
请给出S1、S2;
答: m = 2 , q = 11 , a = 2 , X A = 4 , K = 3 m=2,q=11,a=2,X_A=4,K=3 m=2q=11a=2XA=4K=3
S 1 = a K   m o d   q = 2 3   m o d   11 = 8 S1=a^K \ mod \ q = 2^3 \ mod \ 11=8 S1=aK mod q=23 mod 11=8
q − 1 = 11 − 1 = 10 q-1=11-1=10 q1=111=10
q − 1 K q ′ d ′ x y 10 3 3 1 1 − 3 3 1 3 1 0 1 1 0 1 1 0 \begin{array}{|c|c|c|c|c|c|} \hline q-1 & K & q^{\prime} & d^{\prime} & x & y \\ \hline 10 & 3 & 3 & 1 & 1 & -3 \\ \hline 3 & 1 & 3 & 1 & 0 & 1 \\ \hline 1 & 0 & & 1 & 1 & 0 \\ \hline \end{array} q11031K310q33d111x101y310
K − 1 = − 3   m o d   10 = 7 K^{-1}=-3 \ mod \ 10=7 K1=3 mod 10=7
S 2 = K − 1 ( m − X A S 1 )   m o d   ( q − 1 ) S2=K^{-1}(m-X_AS1) \ mod \ (q-1) S2=K1(mXAS1) mod (q1)
= 7 × ( 2 − 4 × 8 )   m o d   10 = 0 =7×(2-4×8) \ mod \ 10 = 0 =7×24×8 mod 10=0

🕒 7. 数字签名标准

🕘 7.1 数字签名标准 DSS

  • 数字签名标准DSS 由美国标准与技术研究所NIST于1991年提出,最新版本于2013年发布
  • 包含:①数字签名算法DSA、②基于RSA的数字签名、③椭圆曲线数字签名

🕤 7.1.1 基于RSA的数字签名

在这里插入图片描述
【发送方】

  • 消息M 输入到Hash函数中,输出定长的Hash值
  • 用发送方的私钥PRa为该Hash值加密,形成数字签名
  • 将数字签名附在消息M后一起发送

【接收方】

  • 将数字签名取下,使用发送方的公钥解密,得到Hash
  • 对消息M 计算Hash值,并与得到的进行比较,相同则说明签名有效

🕤 7.1.2 数字签名算法 DSA

在这里插入图片描述
【发送方】

  • 为本次签名产生一个随机数k
  • 将随机数k、Hash值、全局公钥PU-g、发送方的私钥PR-a 一起输入到签名函数中
    【接收方】
  • 对消息M 计算Hash值
  • 将Hash值、签名s、签名r、全局公钥PU-g、发送方的公钥PU-a 一起输入到验证函数中,若输出r正确

在这里插入图片描述
【全局公钥PU-g 】

  • 选择一个N位的素数q
  • 选择一个长度在512-1024之间且满足q能整除(p-1)的素数p
    选择 g = 𝒉 ( 𝒑 − 𝟏 ) / 𝒒   𝒎 𝒐 𝒅   𝒑 g=𝒉^{(𝒑−𝟏)/𝒒} \ 𝒎𝒐𝒅 \ 𝒑 g=h(p1)/q mod p

【用户私钥】

  • 用户私钥x是随机或伪随机整数 𝟎 < 𝒙 < 𝒒 𝟎<𝒙<𝒒 0<x<q

【密码值】

  • 用户私钥k是随机或伪随机整数 𝟎 < 𝒌 < 𝒒 𝟎<𝒌<𝒒 0<k<q

【用户公钥】

  • 用户公钥y是全局公钥g、p,私钥x的函数 𝒚 = 𝒈 𝒙 𝒎 𝒐 𝒅 𝒑 𝒚=𝒈^𝒙 𝒎𝒐𝒅 𝒑 y=gxmodp

【签名】

  • 要进行签名,用户需计算两个量r和s
  • r r r s s s是全局公钥PU-g,用户私钥 x x x,密码值 k k k,消息的hash值的函数
    在这里插入图片描述
    【验证】
  • M ’ r ’ s ’ M’r’s’ Mrs为接收方收到的 M , r , s M,r,s M,r,s,接收方计算值 v v v
  • v v v是全局公钥PU-g,发送方公钥 𝐲 = 𝒈 𝒙   𝒎 𝒐 𝒅   𝒑 𝐲=𝒈^𝒙 \ 𝒎𝒐𝒅 \ 𝒑 y=gx mod p,接收信息的hash码的函数

🕘 7.2 数字签名的应用

在这里插入图片描述

  • IPsec是一种安全的网络协议套件,可对数据包进行身份验证和加密,常用于VPN的搭建。
  • IPsec使用RSA签名完成对用户的身份验证

🔎 什么是IPSec?


OK,以上就是本期知识点“数字签名”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

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

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

相关文章

解读JVM级别本地缓存Caffeine青出于蓝的要诀3

Caffeine的异步淘汰清理机制 在惰性删除实现机制这边&#xff0c;Caffeine做了一些改进优化以提升在并发场景下的性能表现。我们可以和Guava Cache的基于容量大小的淘汰处理做个对比。 当限制了Guava Cache最大容量之后&#xff0c;有新的记录写入超过了总大小&#xff0c;会…

HTML---表单详解

目录 一、表单介绍 二、表单元素 1&#xff1a;input输入表单元素 &#xff08;1&#xff09; text和password &#xff08;2&#xff09;radio和checkbox &#xff08;3&#xff09;button 2&#xff1a;label标签 3&#xff1a;select下拉表单元素 4&#xff1a;textar…

喜报 | 强强联手,这件大事终于有着落了

近日&#xff0c;擎创科技与国产数据库领先品牌——达梦数据库达成战略合作伙伴关系&#xff0c;双方将在品牌、产品、技术、渠道等方面进行全方位合作&#xff0c;共同完成产品整合、资源共享、联合方案等事宜&#xff1b;共同赋能于金融、能源、交通等行业的数字化转型&#…

2019年1+X 证书 Web 前端开发中级理论考试题目原题+答案——第一套

&#x1f4da;文章目录 &#x1f3af;关于1X标准 &#x1f3af;关于中级考点 ⏩&#x1f4bb;答案速查 一、单选题&#xff08;每小题2分&#xff0c;共30小题&#xff0c;共60分&#xff09; 二、多选题&#xff08;每小题2分&#xff0c;共15小题&#xff0c;共30分&…

Java入门-Java语言概述

1、Java语言基本概述 1.1、什么是计算机编程语言 人与人之间是如何沟通的呢&#xff1f;从小父母就教会我们说话&#xff0c;在长期的熏陶和自我学习中&#xff0c;我们就学会了普通话&#xff0c;学会了表达自己的需求&#xff0c;父母收到我们的信号或者听到我们的要求也会尽…

C# 自定义控件

一 自定义控件 1 自定义控件的三种方式&#xff1a; 1&#xff09;复合控件&#xff1a;将标准控件组合起来 class YourControl:UserControl{}2) 扩展控件&#xff1a;继承于标准控件 class YourControl:Button{}3) 自定义控件&#xff1a;完全地自定义一个控件 class You…

CSSStyleSheet 对象(css 样式表)- 你不知道的有趣功能

1.概念 CSSStyleSheet 对象 代表着&#xff0c;css文件被浏览器解析后生成的css样式表。 CSS 样式表由 CSS 规则组成&#xff0c;可以通过 CSSRule 对象操作每条规则。CSSStyleSheet 对象允许您查询、插入和删除样式表规则。 例如&#xff1a;好玩儿的尝试&#xff08;改变页…

基于经验论述:实现k-NN算法

以兰普威尔小镇为例,那里的人们为他们的两支球队——兰普威尔红队和兰普威尔蓝队——而疯狂。红队已经存在很长时间了,人们很喜欢这支队伍。 但是后来,一些外地来的富翁买下了红队的最佳射手,成立了一支新的球队——蓝队。令多数红队球迷不满的是,这位最佳射手将继续带领蓝…

数据结构与算法_BST树_BST树的定义及删除操作

先写BST树的定义及特点&#xff0c;然后记录BST数的删除操作。 1 BST定义及特点 BST数是一棵特殊的二叉树&#xff0c;如何能得到一颗二叉搜索树呢&#xff1f;下面一个有序序列&#xff0c;经过二分搜索&#xff0c;得到的就是一颗BST树。根节点就是当前一轮要搜索的中间节点…

Cell子刊:器官再生,这种病可以让受损的肝脏再生

麻风病是由麻风杆菌引起的一种慢性传染病&#xff0c;主要病变在皮肤和周围神经。它是世界上最古老和最顽固的疾病之一&#xff0c;但引起它的细菌也可能具有令人惊讶的生长和再生重要器官的能力。器官再生是治疗疾病、损伤或衰老功能障碍的理想策略&#xff0c;尽管体外模型、…

linux-adnroid 键值枚举与注释

一、概述 没有找到直接的linux 键值枚举的注释。在android 官网linux-android健码网页里找到了这个映射关系。因为android列的比较多。去掉冗余摘取主要对比和注释进表格。 二、术语摘抄解释 HID 用法、Linux 键码和 Android 键码 系统根据抽象层使用几个不同的标识符来引用…

【服务器数据恢复】5节点Lustre分布式文件系统RAID5数据恢复案例

服务器数据恢复环境&#xff1a; 5台服务器节点&#xff0c;每台服务器节点配置一组RAID5&#xff0c;每组6块硬盘&#xff0c;其中1块设置为热备盘。 系统环境为Lustre分布式文件系统&#xff0c;5台服务器共同存储全部的数据文件。 服务器故障&检测&#xff1a; 机房漏水…

你被裁了需要知道的一些细节

前言 就在上周&#xff0c;得知自己要被裁了&#xff0c;理由是公司在疫情下的经济性裁员&#xff0c;在这里总结一下关于裁员过程中需要注意的一些细节。 关于工作交接 要在收到书面通知之后&#xff0c;再进行工作交接&#xff0c;否则可能面临的风险是公司卸磨杀驴。 关…

C++初阶 List的模拟实现

作者&#xff1a;小萌新 专栏&#xff1a;C初阶 作者介绍&#xff1a;大二学生 希望能和大家一起进步 本篇博客简介&#xff1a;模拟STL中List的实现 List的模拟实现本篇博客目标节点类的实现构造函数迭代器类的实现迭代器类模拟实现的意义迭代器类的三个参数说明构造函数运算…

zabbix自定义模板,邮件报警,代理服务器,自动发现与自动添加及snmp

内容预知 1.自定义监控内容 监控案例1&#xff1a;登录人数检测 具体步骤 步骤一&#xff1a;在客户端创建自定义 key 步骤二&#xff1a;在 Web 页面创建自定义监控项模板 &#xff08;1&#xff09;创建模板 &#xff08;2&#xff09;创建应用集&#xff08;用于管理…

《数据结构》顺序表ArrayList

《数据结构》顺序表ArrayList 文章目录《数据结构》顺序表ArrayList什么是顺序表:模拟实现顺序表(以int类型为例)详解ArrayList:ArrayList实现的接口:ArrayList的构造方法:对源码的解析:ArrayList的方法ArrayList的扩容机制ArrayList的缺陷什么是顺序表: 顺序表是用一段物理地…

【Hack The Box】windows练习-- acute

HTB 学习笔记 【Hack The Box】windows练习-- acute &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月17日&#x1f334; &#x1f…

并发入门组件AQS源码解析(未完善)

必要掌握技术 阻塞&#xff0c;唤醒与中断 阻塞与唤醒 LockSupport的park使用的是Parker->park() synchronized的wait&#xff0c;synchronized的monitorenter使用的是ParkEvent->park()&#xff0c; 而LockSupport的unpark&#xff0c;Parker->unpark() synchroni…

员工离职后,账号权限怎么自动化回收?

最近一则离职员工报复前东家的新闻引人注目。起因是该员工被公司辞退后怀恨在心&#xff0c;于是用自己的笔记本电脑入侵了前公司的服务器&#xff0c;进入了该公司的法国站、英国站、德国站三个亚马逊店铺&#xff0c;进行了大幅调低商品价格、主动向客户发起退款、调高广告预…

1525_AURIX TC275 BootROM上

全部学习汇总&#xff1a; GitHub - GreyZhang/g_TC275: happy hacking for TC275! 这一次看一个全新的章节&#xff0c;BootROM&#xff0c;这是我之前只听过但是没有接触过的一个功能。 1. BootROM包含的三个主要的功能&#xff1a;启动软件、引导加载程序、测试固件。 2. 启…