密码学¶
课程介绍¶
注意
此为 2024-2025 春夏学期课程安排,仅供参考
bhh老师
课程内容¶
- 密码学涉及到的数学基础
- 古典密码
- Hash 函数 MD5 SHA-1
- 分组密码工作模式与流密码 RC4
- DES 算法和 AES 算法
- RSA 算法
- 椭圆曲线算法 ECC
考核方式¶
期末总评 = 50 % 卷面 + 50 % 平时作业
平时作业只有 5 次,但是作业难度还是有的,需要动脑筋
期末考试¶
考试形式¶
闭卷考试
考试题型¶
- 理论部分(50 分钟):单选题共 60 分,包含选择程序填空(从算法源代码中选取片段)
- 实验部分(80 分钟):函数题 + 程序填空题,共 4 题,共 40 分
笔记¶
个人感受¶
选课的时候,我看了一下教务网上的课程介绍,发现有什么 rsa 算法之类的东西,刚好之前学习 git,配置 SSH key 的时候用到了 rsa,我就想着选上这门课来了解一下。不过现在看来,我个人对密码学不是很感兴趣,但是也不排斥学习这么一个新知识
这门课用的编辑器是 VC6 或者 Dev C++(包括期末考试的时候),比较老了
碎碎念
现在比较主流的 C 语言编辑器是 VS Code 或者 CLion,我看周围的同学包括我自己,用 VS Code 比较多,这门课用上 VC6 会比较不习惯
那老师平时可能用 VC6 比较多,接触 VS Code 会不习惯,可能也不会深入了解 VS Code 的功能。但是我还是挺希望这门课(包括别的涉及编程的课)能与时俱进一下,使用目前比较主流的编辑器
VC6 这个编辑器是 20 多年前的产品了,对现代操作系统兼容性较差,这门课用的 VC6 是“特供版”的。而且旧版编译器支持的功能有限,且可能存在漏洞。未来学生就业或是学习怎么可能还会接触 VC6 呢
老师之前上课说,VS Code 功能没有 VC6 多,但老师可能不是很了解 VS Code。VS Code 本身只是一个文本编辑器,不下载扩展甚至运行不了代码文件,只要下载了对应的扩展,支持的功能肯定是比 VC6 要多得多的
老师曾花时间去修 Dev C++ 的调试 bug。但我个人认为,与其花费时间和精力去维护这么一个旧东西,倒不如直接去用功能完善的新东西
老师讲课讲的很详细、很细致的,认真听了以后再去看源代码就很容易理解了。但是讲得细通常会讲得慢,这会导致很容易忘掉各个部分之前的联系,需要课后整理巩固一下
比如我听 DES 的时候,每个部分都听明白了,但是怎么组合起来很迷惑。期末复习整理的时候,发现原来挺简单的
个人感觉某些知识点老师把它给讲复杂了
其实也可以去看看课本,解释得也挺清楚的,有些地方也有画流程图
以及复习各个算法的源代码时,总感觉某些地方明明有简单的写法,不知道为什么要写这么复杂,可能这样写性能更好?
期末考试难度中下吧,没有想象中那么难,把老师给的 doc 文件认真过一遍,各种算法的流程什么的搞清楚就行