目录

网安自学之路-信息安全数学基础一-群

网安自学之路-信息安全数学基础(一)-群

前言

本人跨专业考研上岸网络空间安全专业,本科期间除了C语言外完全0基础,为了研究生期间跟得上学校进度,开启自学之路。在知乎上找了找经验,买了本《深入浅出密码学》开始入门密码学。看了不到两章,就被用到的整数环、mod运算给难住了,遂又开始补习密码学所需要的数学基础。为了保持自己的学习动力和加强记忆,开始随学习进度更新学习笔记和个人理解。

Tip:

课程为哈尔滨工业大学韩琦老师所讲的信息安全数学基础课程,笔记也是本人所做该课程的随堂笔记。文章中包含个人为方便记忆所做的个人理解,因本人水平有限,疏漏或理解错误在所难免,欢迎批评指正!

绪论

信息安全数学基础学习了信息安全领域中常见数学概念的定义与计算方法。包含近世代数、数论、数理逻辑部分。近世代数部分侧重于定义需要用到的概念和判别条件、数论部分侧重于各概念所引出的奇特性质和一些密码学算法、数理逻辑部分侧重思维模式的培养。“工欲善其事,必先利其器”,学好这一数学基础课程,才可以在未来密码学的学习中更加得心应手。

一、群

从定义“集合”开始,并且定义出“集合上的二元运算”:

https://i-blog.csdnimg.cn/blog_migrate/57526cf560aacbb2a7e4effe2b39c9d9.png

设G是一个集合,·为集合上的运算,1是集合中的一个元,进一步引出三元组(G,·,1)。

https://i-blog.csdnimg.cn/blog_migrate/86fdd00e0c38cf6d7efa4fa7fda50157.png

实际上,满足不同判别条件时的三元组有着不同的名字:

https://i-blog.csdnimg.cn/blog_migrate/775621adb38473c4e0eaa38d28222b82.png

群里定义的集合G,不仅可以是数的集合、也可以是方阵的集合。为了进一步理解群的概念,有如下例子:

https://i-blog.csdnimg.cn/blog_migrate/dace6f44a265cd265de0858bb2362ee7.png

但需要注意,因为G3的限制,GLn®中的实方阵需要是可逆的,即行列式≠0。

希尔密码就用到了可逆行列式:

https://i-blog.csdnimg.cn/blog_migrate/ed3e2cdc8f15db5254c554d0da766610.png

正是由于密钥M的可逆,才能存在上述的解密过程。

之后学习了一系列定义,子群、循环群、置换、对称群的概念:

https://i-blog.csdnimg.cn/blog_migrate/479b2f4aed1e1ca3871191479b44dba7.png

基于置换操作,学习了两种密码:

https://i-blog.csdnimg.cn/blog_migrate/92fabc38d60c168009d3db3599857542.png

为了引出群上的离散对数问题,需要预先定义模n乘:

https://i-blog.csdnimg.cn/blog_migrate/dad7b2a5e50bcb620482013f90c5a240.png

(这个合数和素数条件我是通过检查了几个素数和合数发现满足该条件,具体证明不会。)

可以得到群上离散对数问题:

https://i-blog.csdnimg.cn/blog_migrate/2163a4a1b43d52e9a254f793330023dd.png