密码学中的数学基础(一)

        学习了一门课《信息安全数学基础》,这门课主要讲述的是关于密码学的数学基础,这门课本质就是“初等数论 + 抽象代数”。我更愿意概括为“质数 + 代数系统”。本文的目的在于将这一门课用“质数 + 代数系统”两个部分以及“素数在基本代数系统的应用”一共三个部分总结起来,希望能够加深自己的印象。

第一部分:素数(亦称质数)

素数的来源

         个人感觉是现在的基础数学系统还有很多不完备的地方,例如素数相关的理论,到现在都还没有定论,例如“黎曼猜想”,2018.9.24 日英国阿迪亚爵士宣称自己证明了“黎曼猜想”,但是他的报告,就像网友评论的“让物理学家尴尬,让数学家沉默”。素数现阶段还是让人们为之着迷的一个领域,就像杨老师曾说过,素数是数学皇冠上的明珠,是信息安全的“保护神”,大概就是如此吧。

概念

         素数的概念并不陌生,小学时还曾经背诵过1~100以内的所有素数,事实表明这还是有用的,其中素数的定义就不在赘述。

素数的相关定理

         素数看起来并不是像其他普通数字理论那样多么有连续性,素数似乎是以一种“离散”的方式,散落在整个数轴上,所以和它相关的理论似乎以也是挺独立的,并且在初等数论中,素数相关理论讨论的更是一些比较具体的场景。

从素数的数量上看:以下定理基本描述了素数的个数的基本问题。

    定理1-1 素数有无穷多个。

    定理1-2 素数在不超过x 的范围的个数。

    定理1-3 欧拉定理

    定理1-4 费马定理。

    定理1-5 Wilson定理。

第二部分:代数系统(模运算)

        在第二部分,我们只讨论一种运算----模运算,它广泛的存在于我们平时的数学运算中,其中10进制下的加减乘除运算,个人其实觉得也可以当作是一种“模10的运算”。

一个整数有几种表示方式:

第一种,欧几里得除法。          

     使用欧几里得除法,我们可以将任何一个整数表示成这种形式,其中我们最为感兴趣的就是余数,所以就有了同余的内容。

第二种,算术基本定理。

      任意一个整数n>1都可以表示成素数的乘积,且在不考虑乘积顺序的情况下,该表达式是唯一的,推广的来说,可以表示成一些素数次方的乘积,并且不考虑素数的情况下也是唯一的。

数的表示方法还有很多,例如哥德尔数,多进制等在此不再继续讨论。

基本的运算工具:

        最大公因数,最小公倍数这两个运算在模运算种非常重要,最大公因数描述了模运算的最大下界运算界限,当(a,b)=1时,自然不存在最大公因数了,换个角度来说对于这两个对象的有效模运算也进行到头了。同时最小公倍数描述了模运算的最小上界,倍数一定是最小公倍数的倍数。其中这里有一个最为重要的运算就是“辗转相除求最大公因数”,具体算法这里不再赘述(信息安全p22)。

定理2-1 整数a,b 互素的充分必要条件是存在整数s,t使得:

           Sa + tb = 1 (这也是一个求逆元的方法)

同余

        同余顾名思义,就是有相同的余数的意思。

        同余的定义:    a 模m同余b等同于m|a-b。

        同于式的定义:  f(x)模m 同余b。只不过是换成了多项式。

        二次同余的定义:x2模m 同余b。只不过换成了平方项。

模同余具有的性质:

      1.首先这是一种等价关系,具有自反,对称,传递性。

      2.满足加法和乘法。(在同余式运算种可以直接加,乘)

      3.两个同余使用加法和乘法的组合也是同余的。(可计算性)

      4.(d,m)= 1 模同余两边才可以约数。

      5.模同余两边,包括模数可以同时乘一个数。

      6.模同余两边,包括模数可以同时除一个数,d|(a,b,m)。

      7.模数同余,则模模数的因子也同余。

      8.模多个数同余,则模多个数的最小公倍数同余。

 

剩余,剩余类,完全剩余系:

        我们可以发现,同余关系广泛存在于整数集合中,所以我们可以借助这个关系将整数划分成多个集合。任意一个整数一定在这其中的一个集合中。

        例如,可以使用模3将所有的整数分为三类,分别是模3的0,1,2 的剩余类,其中每一个类的元素就叫做剩余。其中0,1,2就叫做模3 的一个完全剩余系。

完全剩余系,简化剩余系:

      一个完全剩余系存在的两个条件:

  1. 有m个整数。
  2. 其中两两不同余。

剩余系的遍历问题:

  1. 单个模的完全剩余系遍历问题

                 a*k + b,k = i

  1. 两个模的完全剩余系遍历问题

                m2*k1 + m1*k2 , k = i

  1. 多个模的完全剩余系遍历问题

简化剩余系余欧拉函数:

       欧拉函数:小于m 的与m互素的数的个数。

       简化剩余:一个模m的剩余类叫做简化剩余类,如果该类中存在一个与m 互素的剩余。

       简化剩余系:在所有的简化剩余类中,从每个类中任取一个数组成的整数集合叫之。

       简化剩余系中同样存在遍历问题。

       欧拉函数的性质:欧拉函数是“乘性函数”。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值