跳转至

密码学期末复习

\(1\) 章 密码学概论

判断选择

01-05 ❎❎✅❎✅

06-10 ✅✅✅❎✅

01-07 AABCDDC

  • 信息安全发展史早于密码学发展史。
  • 《密码法》于 2019 年 10 月 26 日 下午表决通过,于 (2020 年 1 月 1 日)起正式施行。

填空题

  1. 机密性 完整性 认证性 不可否认性
  2. 机密性 完整性 可用性
  3. 中断 截取 篡改 伪造 被动攻击 主动攻击
  4. 《保密系统的通信理论》
  5. 传统密码阶段 现代密码阶段。
  6. 《密码学的新方向》
  7. 密码工作法规

  8. 信息安全三要素:机密性、完整性、可用性。

  9. 攻击有 \(5\) 种形式:中断、截取、篡改、伪造、重放。

术语解释

  1. 《密码法》:2019 年 10 月 26 日,十三届全国人大常委会第十四次会议通过了《中华人民共和国密码法》,简称《密码法》,其自 2020 年 1 月 1 日起正式施行。

简答题

  1. 密码学的主要功能有哪些?这些功能的实现分别与哪种密码技术密切相关?

    1. 机密性:机密性是指保证信息不泄露给非授权的用户或实体,确保存储的信息和被传输的信息仅能被授权的各方得到。加密算法
    2. 完整性是指在数据整个生命周期维持其准确和一致,也就是说,信息未经授权不能进行篡改的特征,或者说信息在生成、传输、存储和使用过程中发生的人为或非人为的非授权篡改(插入、修改、删除、重排序等)均可以被检测到。哈希函数
    3. 认证性是指一个消息的来源或消息本身被正确地标识, 同时确保该标识没有被伪造。数字证书
    4. 不可否认性:不可否认性是指用户无法在事后否认曾经进行的消息的生成、签发、接收等行为。数字签名
  2. 简述密码学和信息安全的关系。

    • 密码学是信息安全多方面有关的数学技术的研究。
    • 密码学是保障信息安全的核心技术,但不是提供信息安全的唯一方式。
    • 信息安全是密码学研究与发展的目的。
    • 信息安全的理论基础是密码学,信息安全的问题根本解决通常依靠密码学理论。
  3. 密码学的发展大致分为几个阶段?各阶段的特点是什么?

    密码学的发展大致经历了两个阶段:传统密码阶段和现代密码阶段。这两个阶段的分界标志是 1949 年香农发表了他的经典论文《保密系统的通信理论》,在此之前称为传统密码学阶段,这个阶段持续的时间长, 大约有几千年的历史,此时的密码体制主要依靠手工或机械操作方式来实现,采用代换和换位技术,通信手段是以人工或电报为主,是一种艺术(富有创造性的方式、方法)。自香农发表了他的经典论文至今称为现代密码学阶段,此时的密码体制主要是依靠计算机来实现,有坚实的数学理论基础,通信手段是无线通信、有线通信、计算机网络等,形成一门科学,是密码学发展的高级阶段。

  4. 现代密码阶段包括两次飞跃及两次里程碑事件,请指出分别是什么以及各自的意义。

    两次飞跃:

    • 1949 年香农发表《保密系统的通信理论》,奠定了密码学的理论基础,密码学成为一门科学。
    • 1976年 Diffel 和 Hellman 发表《密码学的新方向》,标志了公钥密码体制的诞生。

    两次里程碑事件:

    • 1977年,DES算法公开,使得密码技术在商业等多个领域广泛使用,促进了密码学的发展。
    • 1978年,RSA算法的诞生,表明公钥密码体制切实可行。

\(2\) 章 密码学基础

判断选择

01-05 ✅❎❎❎✅

06-10 ✅❎✅✅✅

01-06 DBCBDA

  • 一次一密体制是无条件安全的,即使穷举攻击也不能破译。
  • 根据香农的理论,在加密前压缩明文,会增加攻击者破译的难度。

填空题

  1. 密码编码 密码分析
  2. 保密 认证
  3. 对称密码体制 非对称密码体制
  4. 单钥 分组 序列
  5. 全部破译 全盘推倒 实例推导 信息推导。
  6. 消息认证码 数字签名。

  7. 时间复杂度 空间复杂度

  8. 指数级 亚指数级

  9. 密码编码学主要分为:保密体制、认证体制。

  10. 破解密码算法按照安全性递减:全部破译、全盘推导、实例推导、信息推导。

术语解释

  1. 密码编码学:研究如何对信息编码以实现信息和通信安全的科学称为密码编码学。

  2. 密码分析学:研究如何破译或攻击受保护的信息的科学称为密码分析学。

  3. 柯克霍夫原则:密码体制的安全性取决于密钥的安全性,加密和解密的过程和细节是公开的 ,只要密钥是保密的,攻击者就无法推导出明文。

  4. 唯密文攻击:密码分析者除了拥有截获的密文外,没有其他可以利用的信息。

  5. 已知明文攻击:密码分析者不仅掌握了相当数量的密文,还有一些一致的明-密文对可供利用。

  6. 选择明文攻击:密码分析者通过某种手段暂时控制了加密机,能选择任何明文并得到使用同一未知密钥加密的相应密文。

  7. 选择密文攻击:密码分析者通过某种手段暂时控制了解密机,能从任意密文中得到对应的明文。

  8. 选择文本攻击:选择明文攻击和选择密文攻击的结合。

简答题

  1. 公钥密码体制与对称密码体制相比有哪些优点和不足?

    • 公钥密码体制的优点:

    • 密钥的分发相对容易。

    • 密钥管理简单。
    • 可以有效地实现数字签名。

    • 公钥密码体制的缺点:

    • 与对称密码体制相比,运算速度较慢。

    • 在同等安全强度下,公钥密码体制要求的密钥位数要多一些。
    • 在公钥密码体制中,密文的长度往往与明文的长度不相同。
  2. 简述密码算法公开的意义。

    1. 有利于增强密码算法的安全性;能够接受大众检验,尤其专业密码分析人员的检验。

    2. 有利于密码技术的推广应用和标准化;

      使用相同密码算法的人或集体才能方便有效地实现保密通信,这是密码算法公开的实际需求。

    3. 有利于增加用户使用的信心;

      消除用户疑虑(算法留有后门),因为即使密码算法设计者没有密钥也不能有效解密。

    4. 有利于密码技术的发展。

      公开密码设计思想,密码设计者可取长补相互,设计更好的密码算法。

      注:DES算法的公开使用成为现代密码史上里程碑事件,其主要贡献在于密码算法公开,密码进入了更广泛领域。

  3. 设密文空间共含有 \(5\) 个信息 \(m_i(1 \le i \le 5)\) ,并且 \(p(m_1) = p(m_2) = p(m_3) = \frac{1}{4}\)\(p(m_4) = p(m_5) = \frac{1}{8}\),求 \(H(M)\)

​ 2.25


\(3\) 章 传统密码体制

判断选择

01-05 ❎✅❎❎❎

06-09 ❎✅❎✅

1-5 BDCCB

6-8 CAD

填空题

  1. 置换 代换
  2. 换位密码 列置换密码 周期置换密码
  3. 单表代换密码 多表代换密码
  4. \(312\)
  5. 上下文
  6. 性能好 成本低
  7. \(E\) \(0.127\)

  8. 置换密码:即换位密码,常见的有列置换和周期置换。

  9. 实用的密码设备应必备四要素:安全、性能好、成本低、使用方便。

术语解释

  1. 置换密码:置换密码又称换位密码,其加密方法是根据一定的规则重新排列明文,以便打破明文的结构特性。
  2. 代换密码:代换密码是将明文中的字符替换为其他字符的密码体制。
  3. 多表代换密码:多表代换密码是以一系列代换表依次对明文消息的字母序列进行代换的加密方法,即明文消息中出现的同一个字母在加密时不是完全被同一固定的字母代换,而是根据其出现的位置次序用不同的字母代换。

简答题

  1. 求置换 \(\sigma = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\ 5 & 1 & 7 & 2 & 6 & 8 & 4 & 3 \end{pmatrix}\)的逆置换。

​ 解:\(\sigma^{-1} = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\ 2 & 4 & 8 & 7 & 1 & 5 & 3 & 6 \end{pmatrix}\)

  1. 用 Vigenere 密码加密明文"please keep this message in secret",其中使用的密钥为 "computer",试求其密文。

解:rzqpmxovgdfwclqvugmvybrjgqdtn

  1. 用 Playfair 密码加密明文"hide the gold in the tree stump",密钥为"cryptography", 试求其密文。

  2. 用 Hill 密码加密明文"hill”,使用的密钥是

\[ k = \begin{bmatrix} 8 & 6 & 9 & 5\\ 6 & 9 & 5 & 10\\ 5 & 8 & 4 & 9\\ 10 & 6 & 11 & 4 \end{bmatrix} \]

​ 试求其密文。

​ 解:jiiy

  1. 明文 "friday" 用 \(m=2\) 的 Hill 密码加密后得到密文 "POCFKB",求密钥。

    解:HBIZ


\(4\) 章 分组密码

分组密码 密钥长度 分组长度 加密轮次 查表 加解密结构
DES 56 64 16 需要 相同
3DES 112或168 64 48 需要 相同
AES 128
192
256
128 10
12
14
需要 不同
SM4 128 128 32 需要 相同
IDEA 128 64 8 不需要 相同
RC6 128 128 20 不需要 不同
Skipjack 80 64 32 需要 不同

判断选择

01-05 ❎✅❎✅❎

06-10 ✅❎❎❎❎ 11-15 ❎✅✅✅❎

16-18 ✅❎✅

01-05 CBBBA

06-10 CBAAB

11-15 BCCB(CB)

16-21 BCBADD

  • 多重 DES 并不存在一个单 DES 密钥能够对应多重 DES 密钥的情况。
  • 如果分组长度过短,容易受到选择明文攻击。
  • CTR 模式支持并行处理,即预先处理出密钥,然后随机访问。

填空题

  1. \(n\) \(2^n!\) \(n*2^n\)
  2. 扩散 混乱
  3. 密钥长度过短
  4. 安全性 性能 适应性
  5. 扩展运算E 压缩运算S 置换运算P
  6. 256
  7. 56 互补性
  8. S盒 字节代换
  9. 2001 2002
  10. 128 128 192 256
  11. 4 2
  12. 128 64 128 64 128 128 128 80 32 8 20 32

名词解释

  1. 分组密码:将明文消息编码后表示的二进制序列划分成固定大小的分组,每个分组分别在密钥的控制下变换成等长的二进制序列。
  2. 扩散:每 1 比特明文的变化尽可能多地影响输出密文序列的比特,以便隐藏明文的统计特性。
  3. 混乱:在加密变换过程中明文、密钥以及密文之间的关系尽可能复杂,以防密码是破译者采用统计分析法进行破译攻击。
  4. SP网络:即代换-置换网络,是由 S 代换和 P 置换交替进行多次迭代而形成的变换网路。
  5. 弱密钥:许多密码算法都存在一些“不好”的密钥,这些密钥的安全性比密钥空间中的其他密钥差。产生弱密钥的原因是明文在置换、代换时没有发生变化。(举一个仿射密码的例子)
  6. 差分分析:研究明文中的一个微小变化是如何影响密文的。

简答题

  1. 简述分组密码的设计应满足的安全性要求。

    1. 分组长度足够大。
    2. 密钥长度足够大。
    3. 密码变换足够复杂。
    4. 加解密运算简单。
    5. 无数据扩展或压缩。
    6. 在分组密码算法中,如果分组长度过短,那么攻击者可利用什么攻击方式来进行攻击?简述攻击过程。

    如果分组长度过短,攻击者可以利用选择明文攻击。

  2. DES 算法具有互补性,而这个特性会使 DES 在选择明文攻击下所需的工作量减半。 简要说明原因。

​ 假设在选择明文攻击下,我们拥有明密文对 \((m, c_1)\)\((\overline{m}, c_2)\),则有: $$ c_1 = E_k(m) \ c_2 = E_{k}(\overline{m}) $$ ​ 根据互补性可得: $$ c_1 = E_k(m) \ \overline{c_2} = E_{\overline{k}}(m) $$ ​ 因此我们根据 \(c_1 = E_k(m)\) 搜索密钥 \(k\),如果加密的结果是 \(c_1\) 表示所搜到了 \(k\),如果加密结果是 \(\overline{c_2}\) 表示所搜到了 \(\overline{k}\)

  1. 为什么二重 DES并不像人们相像那样可提高密钥长度到 112 比特,而相当 57 比特? 简要说明原因。

​ 假设在已知明文攻击的条件下,拥有明密文对 \((P, C)\)

​ 加密过程为: $$ C = E_{K_2}(E_{K_1}(P)) $$ ​ 解密过程为: $$ P = D_{K_1}(D_{K_2}(C)) $$ ​ 可得: $$ D_{K_2}(C) = E_{K_1}(P) $$ ​ 首先枚举所有的 \(K_1\) 值,将 \(E_{K_1}(P)\) 的结果存放到哈希表中(键为 \(E_{K_1}(P)\),值为 \(K_1\)),然后枚举所有的 \(K_2\),每一次枚举时在哈希表中查询是否有 \(D_{K_2}(C)\),如果有则说明找到了密钥 \(K_1\)\(K_2\) 这样总的计算量为 \(2^{57}\)

  1. 简述三重 DES 的优点与不足。

    优点:

    • 密钥长度增加到 112 位或 168 位,可以有效抵抗穷举攻击。
    • 相对于 DES,算法更加复杂,提高了安全性。
    • 在已经使用了 DES 的软硬件产品上升级成 3DES 成本更小。
    • 由于 DES 比其它任何加密算法受到的分析时间都长的多,相应地,3DES 抗分析能力更强。

    不足:

    • 加解密速度较慢。
    • 虽然密钥长度增加了,但分组长度没有相对应的增加。
  2. 简述 AES 算法的列混合变换系数比逆混合变换系数小的原因。

  3. 简述 AES 的密钥扩散算法的设计标准。

  4. 简述 DES 与 AES 的相同与不同之处。

    相似之处:

    • 二者的轮函数都是由四层构成,非线性层、移位层、线性混合层、子密钥异或,只是顺序不同。
    • 非线性层:两者都有查表替换的过程,例如 DES 的 S 盒,AES 的字节替换。
    • 移位层:AES 的行移位对应 DES 的置换 P。
    • 线性混合层:AES 的列混淆对应 DES 的 F 函数的输出与左边一半数据相加。
    • 子密钥异或:两者都有子密钥异或,但顺序不同。

    不同之处:

    • 密钥长度、分组长度、加密轮次等。
    • DES是面向比特的运算,AES是面向字节的运算。
    • AES 的加密模块和解密模块运算不一致。而 DES 可以复用,只是解密时子密钥的顺序不同。
  5. 简述 SM4 算法与 AES(或DES)的相似与不同之处。

    ppt

  6. 简述设计分组密码的工作模式时通常要考虑的因素、

    • 考虑加密数据的格式,例如数据的大小。
    • 数据是否支持随机存储,这会影响能否并发的加密。
    • 通信的方式是分组传输还是流传输。
    • 对传输错误的容错。
    • 信道的噪声,同步的性能等。
  7. 请总结 ECB、CBC、CTR 模式的优缺点。

​ ECB 模式操作简单,支持并发处理,但相同的明文分组对应的密文完全一致,容易遭受统计分析攻击、分组重放攻击、代换攻击。通常用来加密较短的随机数或者密钥。

​ CBC 模式相同的明文在不同的分组中的密文通常不相等。缺点是不能并行处理。CBC适合文件加密,即使有少量错误也不会造成同步失败。

​ CTR 模式结合了 ECB 和 CBC 的有点,支持流处理、并行加密、预处理密钥流、随机访问且实现简单。在 ATM 网络和 IPSec 中起到重要的作用。

​ CFB 模式具有 CBC 模式的优点,且消息可看作比特流,可用于自同步序列密码。但对信道错误较敏感且会造成错误传播。

​ OFB 模式是 CFB 模式的一种变形,克服由错误传播带来的问题,但对密文被篡改难于进行检测; OFB 模式不具有自同步能力,要求系统保持严格的同步,否则难于解密。通常用于极易出错的环境,但需要具备高速同步的机制。


\(5\) 章 序列密码

判断选择

01-05 ✅❎✅❎✅

06-10 ❎✅❎❎❎

11-12 ✅✅

01-05 DCCBC

06-10 BBBBC

  • 密钥序列生成器使用非线性组合函数的目的是实现密码学的各种性质,而不是实现更长周期的密钥序列。
  • Geffe 发生器使用了 (\(3\))个 LFSR

填空题

  1. Verman密码算法
  2. 对称密码体制 流密码
  3. 设计一个随机性好的密钥流发生器
  4. 同步序列密码 自同步序列密码
  5. 移位寄存器 反馈函数
  6. 抽头位 初态
  7. \(2^n-1\) \(2n\)

  8. 序列密码的起源:Verman密码算法

  9. 反馈移位寄存器的组成:移位寄存器、反馈函数

名词解释

  1. 序列密码:明文消息按照比特进行简单运算实现加密的算法,运算通常是简单运算,例如异或。
  2. 一次一密:如果密钥序列是随机产生的,且和明文一样长,则称为一次一密。
  3. 种子密钥:种子密钥输入到密钥序列产生器中,用于生成密钥序列。
  4. 线性反馈移位寄存器:
  5. 伪随机序列:在一定长度内保持随机性质的序列,对于计算能力有限的攻击者来说无法获取规律。
  6. m 序列:\(n\) 级线性反馈移位寄存器的周期小于等于 \(2^n-1\),周期达到最大值的序列称为m序列。

简答题

  1. 简述序列密码算法(与分组密码算法相比)的特点。
    • 加解密简单,不依赖复杂电路。
    • 安全强度取决于密钥序列的随机性。
    • 能够及时处理。
  2. 密钥序列生成器是序列密码算法的核心 , 请说出至少 5 点关于密钥序列生成器的基本要求 。

    1. 种子密钥 \(K\) 的长度足够大,一般应在 \(128\) 位以上。
    2. 密钥序列具有极大周期。
    3. 密钥序列具有均匀的 \(n\) 元分布。
    4. 能够抵抗统计攻击。
    5. 混乱性。
    6. 扩散型。
    7. 不可预测。
  3. ZUC 算法的组成,运用了哪些基本技术,简要评价该算法。

    • 上层:LSFR
    • 中层:比特重组
    • 下层:非线性函数 F

    ZUC 算法的 \(m\) 序列周期长,统计特性好,线性结构弱、比特关系符合率低。此外,硬件实现代价低,总的来说兼顾了安全性和效率。

\(6\) 章 Hash 函数和消息认证

判断选择

01-05 ✅✅❎❎✅

06-10 ✅✅✅❎❎

11-15 ✅✅✅✅❎

01-05 ABABB

06-10 CDCDD

11-14 DABB

  • 按照目前的计算能力,MD5 算法是不安全的。
  • 基于 Hash 消息认证码的输出长度与消息的长度无关,而与选用的 Hash 函数有关。
  • SHA256/224(不是 SHA256) 的哈希值长度是 \(224\)
  • SHA256 哈希值长度 \(256\),分组长度 \(512\),输入最大长度是 \(2^{64}-1\)
  • SHA512 的参数相对于 SHA256 翻倍。
  • SM3 的参数同 SHA256。

填空题

  1. 哈希值(消息摘要、散列值)
  2. 抗强碰撞 单向性

  3. \(2^{128}-1\) \(1024\) \(512\)

  4. 哈希碰撞 生日攻击
  5. \(2^\frac{n}{2}\)
  6. 确认消息的来源 确保信息的完整性
  7. \(512\) \(1024\)

\(7\) 章 公钥密码体制

判断选择

01-05 ✅❎❎✅❎

06-10 ✅✅✅✅✅

11-15 ❎❎✅✅✅

16-17 ❎❎

01-05 CCADC

06-10 BBCBC

11-15 CDDD

  • SM9 没有解决公钥真实性问题。
  • 不能利用 RSA 公钥密码算法实现用户私钥分发。
  • RSA 安全密钥长度:2048
  • NTRU 是后量子密码,能够根据公钥识别用户的身份,基于格的困难问题。
  • SM2 的安全性基于。

填空题

  1. 陷门 正向 逆向
  2. 1976《密码学的新方向》
  3. 实用或安全 欧拉定理
  4. 密钥分发 密钥管理 数字签名
  5. B的公钥 A的私钥
  6. ECC 256 双线性映射 256
  7. 大整数分解问题 离散对数问题
  8. 合数模数下求解平方根 4
  9. 二次剩余问题 相同的明文在不同次加密中得到的密文不同 加密后数据扩展 \(log_2n\) 倍 单比特串或很短的比特串
  10. 只适用于小群体 私钥需要安全传播 私钥不具备唯一性

  11. SM2 的安全性是基于椭圆曲线的离散对数问题,密钥长度 \(256\)

  12. SM9 的安全性是基于双线性对映射问题,密钥长度 \(256\)

名词解释

  1. 公钥密码体制:在加密和解密过程中使用不同的密钥的加密体制。
  2. 陷门单向函数:满足下列性质的函数

    1. 正向计算容易。设消息为 \(M\),公钥是 \(K_p\),计算出密文 \(C = f_{K_p}(M)\) 是非常容易的。
    2. 在不知道私钥 \(K_s\) 的情况下,反向计算是不可行的。即找到 \(M = f^{-1}(C)\) 在计算上是不可行的。
    3. 在知道私钥 \(K_s\) 的情况下,反向计算是容易的。即计算出 \(M = f^{-1}_{K_s}(C)\) 是非常容易的。
  3. 欧拉定理:若 \(gcd(a, n) = 1\),则 \(a^{\varphi(n)} \equiv 1 \bmod n\),其中 \(\varphi\) 是欧拉函数,\(\varphi(n)\) 表示小于等于 \(n\) 的正整数中与 \(n\) 互质的数字的个数。

  4. 大整数因子分解问题:给定一个 \(n\),求出满足 \(n = p \times q\)\(p\)\(q\) 的值。
  5. 离散对数问题:已知 \(g\) 是模 \(p\) 下的生成元,给定 \(g\)\(p\)\(y\),求出满足 \(y = g^x \bmod p\)\(x\) 的值。
  6. 背包问题:给定一个整数 \(W\)\(n\) 个正整数 \(a_1, a_2, \cdots, a_n\),求出这个 \(n\) 个数的一个子集使得子集的数字之和恰好等于 \(W\)
  7. 平方剩余问题:给定正整数 \(a\)\(b\),求出满足 \(x^2 \equiv a \bmod b\)\(x\) 的值。

简答题

  1. 公钥密码体制与对称密码体制相比有哪些优点和不足?

    优点:

    1. 密钥分发简单;
    2. 密钥的数量少,易于管理;
    3. 可以实现数字签名。

    缺点:

    1. 加解密速度慢,通常用公钥体制加密密钥,然后用对称密码体制加密;
    2. 密钥长度长;
    3. 部分公钥密码体制存在数据扩展问题。
  2. 学习公钥密码算法时应思考的基本问题有哪些?

    • 私钥和公钥如何生成,两者的关系;
    • 安全的密钥长度;
    • 数学难题;
    • 加解密流程;
    • 解密算法的正确性;
    • 安全性分析。
  3. 在效率和安全方面,公钥密码算法应满足的要求有哪些?

    满足陷门的三个特性。

  4. 利用欧拉定理计算 \(2^{1000000} \bmod 77\) 的值。

    \(23\)

  5. 针对 RSA 公钥密码算法中,设 \(p = 11\)\(q = 17\),取 \(e = 7\) 作为公钥,求私钥。假如明文 \(m = 222\),得到的密文是多少? $$ \begin{matrix} \varphi(n) & = & (p-1)(q-1) & = & 160 \ d & \equiv & e^{-1} & \equiv & 23 \bmod 160 \

    \end{matrix} $$ 明文需要分组,分组方式有很多,例如分为 \(2|22\),分组后加密即可。

  6. 在 RSA 公钥密码算法中,对素数 \(p\)\(q\) 的选取有一些限制,例如:

    1. \(p\)\(q\) 的长度相差不能太大,值相差要比较大。
    2. \(p-1\)\(q-1\) 应有大的素因子。

    请说明原因。

    如果 \(p\)\(q\) 长度相差太大,则可以通过试除法枚举得到其中较小的那个。

    如果 \(p\)\(q\) 相差太小,则设 \(p > q\)\(k = p - q\),则有: $$ \left{\begin{matrix} (p+q)2-(p-q)2 & = & 4pq & = & 4n\
    (p+q)^2 & = & k^2+4n \end{matrix}\right. $$ 于是有: $$ \left{\begin{matrix} (p+q)^2 & = & \sqrt{k^2+4n} \ p-q & = & k \end{matrix}\right. $$ 此时可以通过枚举 \(k\) 来解出 \(p\)\(q\)

    素因子攻击,参考课本 P194-P195

  7. 评价 RSA 算法。

    • 第一个实用、安全的公钥密码算法;
    • 目前使用最多。
    • 解密的正确性基于欧拉定理。
    • 安全性基于大整数分解的困难问题。
    • 既能用于加密也可以用于数字签名。
    • 安全的密钥长度至少需要达到 \(2048\) 位。
  8. 在 ElGamal 密码系统中,Alice 和 Bob 使用 \(p = 17\)\(g = 3\)。Bob 选用 \(x = 6\) 作为他的私钥, 则他的公钥 \(y = 15\)。Alice 发送密文\((7,6)\),请确定明文 \(m\)。 $$ \begin{matrix} (c ^ x)^{-1} & \equiv & 9^{-1} & \equiv & 2 & \bmod 17 \ m & \equiv & 6 \times 2 & \equiv & 12 & \bmod 17 \end{matrix} $$

  9. 简述针对 ElGamal 公钥密码攻击的大步小步算法的基本思想。

    要求出满足 \(h = g^a \bmod p\)\(a\) 的值。

    \(r = \sqrt{p}\),则 \(a\) 可表示为 \(a = a_0 + r a_1\) 的形式,其中 \(0 \le a_0, a_1, \le r\)

    \(hg^{- a_0} = g^{a-a_0} = g^{ra_1}\)

​ 因此首先枚举所有 \(a_0\),将 \(hg^{- a_0}\) 加入哈希表中。然后枚举所有的 \(a_1\),计算 \(g^{ra_1}\) 是否出现在表中,在不考虑幂运算的情况下,时间复杂度为 \(O(\sqrt{p})\)


\(8\) 章 数字签名技术

判断选择

01-05 ❎❎❎✅❎

06-10 ❎❎✅❎✅

11-15 ✅✅✅✅❎

01-05 DACBD

06-10 ADCDB

11-14 BADC

填空题

  1. 完整性 认证性
  2. 密钥生成算法 签名算法 验证算法
  3. ElGamma签名方案 Schnorr签名方案
  4. 有序多重数字签名 广播多重数字签名
  5. 匿名性 不关联性
  6. 匿名性 不可追踪性
  7. 完全委托的代理签名 部分授权的代理签名 带授权书的代理签名
  8. 不可否认算法
  9. 环签名 多重签名
  10. 签名组合算法

简答题

  1. 数字签名与传统的手写签名相比有哪些区别?

  2. 简述数字签名的原理。

  3. 简述消息认证码和数字签名的区别。

    消息认证码 数字签名
    发送者 用对称密钥计算MAC 用私钥生成签名
    接受者 用对称密钥计算MAC 用公钥验证签名
    密钥分发问题 存在 不存在
    效率
    完整性 支持 支持
    认证性 支持(仅限通信双方) 支持(可适用于第三方)
    不可否认性 不支持(双方都能发) 支持

\(9\) 章 密码协议

判断选择

01-05 ❎✅✅❎✅

06-10 ❎✅❎✅✅

11-15 ✅❎✅❎❎

16-20 ❎✅✅❎❎

01-05 CBCDA

06-10 CDDBC

11-12 CB

\(10\) 章 密钥管理

判断选择

01-05 ✅✅✅❎❎

06-10 ✅❎✅✅❎

11-15 ❎✅✅❎❎

16-17 ✅✅

01-05 CACCB

06-10 CBACB

11-14 CDCD

填空题

  1. 主密钥 密钥加密密钥 会话密钥
  2. 密钥分配 密钥协商
  3. 使用前状态 使用状态 使用后状态 过期状态
  4. 密钥存档 密钥销毁
  5. 无密钥密钥分配 有密钥密钥分配
  6. 生成的密钥是由一方生成的还是双方各自生成部分密钥后协商生成密钥
  7. 中间人攻击
  8. CA 的签名
  9. 核实申请证书的用户的信息
  10. 证书到期 因安全原因提前终止证书的使用 证书扩展内容发生重大变化
  11. 用户安全成分 密钥托管成分 数据恢复成分
  12. 拉格朗日插值
  13. 中国剩余

\(11\) 章 网络安全协议

判断选择

01-04 ✅❎❎✅

01-05 CDAD

填空题

  1. 握手协议 记录协议
  2. \(4\) \(2\)
  3. 机密性 完整性 认证性
  4. 匿名SSL连接 对等安全服务 网上交易

最后更新: 2024-01-01
创建日期: 2023-12-21