相关知识点文章和代码已归档至【Github仓库:cryptography-codebase】
考察的重要知识点包括
- 香农定理
- 完美加密(完美加密的定义与证明)
- 一次一密
- 对称加密与非对称加密的基本思想
- 哈希函数的基本知识
- Vigenere 加密
- Elgamal实现过程
- 序列化与反序列化
试题回顾:
一、证明题(25分)
1)请简述一次一密加密模式。(6分)
2)一次一密是完美加密吗?请给出结论并证明。(19分)
二、简答题(25分)
1)请简述香农定理(Shannon’s Theorem)。(5分)
2)简述强加密算法基于的两种本原操作:混淆(Confusion)和扩散(Diffusion)。(10分)
3)对称加密和非对称加密最主要的区别是什么。(5分)
4)请给出哈希函数的三种安全级别。(5分)
三、计算题(25分)
允许使用计算器。回答题目时,需要以文字形式写出计算过程。
1)使用Vigenere 算法(字节版本)对以下十六进制字符串表示的字节数组进行加密,将加密结果以十六进制字符串表示:
明文:DEADBEEF
密钥:A1B2C3D4
四、问答题(25分)
1)为何网站存储用户的密码时,不能存储密码的明文,而是存储密码的加盐哈希结果?(5分)
2)将login一词翻译为简体中文。(5分)
3)以下是进行ElGamal加密的Python 3代码,计算 r t-a"(modp)和t -m·(8*)(modp)。这两行代码存在一个共同问题,写出这个问题以及修改后的代码。(7分)
r= alpha**k % p
t =m * (beta ** k % p)% p
4)以 Python 3代码的形式举出一个反序列化、序列化的例子,和一个文字编码、解码的例子。代码中涉及到的每个变量都需要添加类型提示。(8分)