密码学总结(一) 数学常识

最近非代码相关的事情太多,一直在跑这样的事情,感觉自己越来越能说话了,敲的代码却越来越少了,以致于6月到现在只写过一篇博客,赶紧补一篇。
密码学原理是学过的相关课程,老师教的好,自己感觉也可以,就总结一下,以备后用。

几个数学定义

首先要讲的,是关于群、环、域的概念,这是离散数学当中的概念,比较难懂,而其实密码学中对这些概念并没有多少涉及,都是为了引出“有限域”这个概念,所以,我们先说有限域,在说“群、环、域”,如果不想理解“群、环、域”的概念,亦可。

  1. 有限域:顾名思义,即范围是有限个的“域”(域的概念稍后解释),它有一个特点,有限域的大小是一个素数的若干次方。举例来说,比如10以内的非负整数,就是一个有限域。一般描述有限域,通过对整数取模(mod)的余数来表示,比如所有整数模5的结果,就是一个有限域(只包含0~4),这是5这个素数的1次方。
  2. 幺元:如果对于一个二元运算+(注意+并不是指一般意义的加法,它可以指代任何二元运算),在有若干个数的集合中,有一个数,对于其他任何数,通过这个二元运算之后,结果都是其他任何数本身,则称这个数是这个集合对于运算+的幺元。以加法为例,0就是在整数这个集合中,关于加法的幺元。
  3. 零元:和幺元类似,不同处在于 是 有一个数,对于其他任何数,通过这个二元运算之后,结果都是这个数本身,则这个数是这个集合对于这个二元运算的零元。以乘法为例,0就是零元。
  4. 逆元:有一个二元运算+(注意+并不是指一般意义的加法,它可以指代任何二元运算),如果a+a’=这个运算的幺元,那么,a与a’互为逆元。以加法为例,整数这个集合中,一个数和它的相反数互为逆元。
  5. 群:群表示一种关系,定义一个集合s和一个操作+,注意+并不是指一般意义的加法,它可以指代任何二元运算,如果这个集合中的元素,关于这个运算,满足结合律,每一个元素有逆元,整个集合有关于这个运算的幺元,则称,这个关系s,+是一个群。以加法为例,加法在整数这个集合上是一个群。
  6. 环:如果有两个二元运算+,*(注意+,*并不是指一般意义的加法,乘法,它可以指代任何二元运算),在一个集合上,一个二元运算满足可结合、可交换、有幺元,元素都有逆元,另一个二元运算满足可结合,则这个关系s,+,*是一个环
  7. 整环:在环的定义中,只需满足了可结合的那个运算*(不一定是真正意义的惩罚),如果还满足了可交换、有幺元,对于a*b=0一定能推出a=0或b=0,则这个环是整环。
  8. 域:如果一个整环,集合中有至少两个元素,且都有逆元,则是域
  9. 伽罗华域:首先,这是一个有限域,其次,这个有限域是2的若干次方。密码学里常用的是2^8

再看有限域,以模5为例,0~4的计算结果也要模5,对于普通加法和乘法,可以证明(我其实不会证),这个关系<0~4,+,*>是一个域,且元素个数有限,所以是有限域。

你可能感兴趣的:(密码学)