【CTF-Crypto】数论基础-02

【CTF-Crypto】数论基础-02

1-16 二次剩余

是什么?

在这里插入图片描述

定义:

image-2024065714483

判断是否有解的一个方法:把小于模数的全代入一遍,看看有没有解

如:在这里插入图片描述

把x从1到6分别代入x,会发现方程都不成立

所以3不是模7下的二次剩余

image-20240617223838937

当a=4时, x从1到6尝试 可以发现2或5可以满足式子,所以4是模7下的二次剩余

下面进行正向推测,x从1到6 计算右边

image-20240617224102445

所得结果有1、2、4 表明模7下二次剩余的是a = 1 2 4

问题一般化:模n下,什么样的整数a才是二次剩余(有平方根)?

首先明确一个二次剩余的集合

image-20240618105423778

这个集合里面的元素就是模n下余数的平方 再模n的结果

故有 该集合里的任意整数a 必然存在整数b 使得b的平方和a模n下同余

image-20240618105550758

从而得到二次剩余的判断方法

在这里插入图片描述

性质

二次剩余的性质和模数有非常密切的关系:

  • 模p下的二次剩余

p是奇素数(p是素数,且p不等于2)

回顾:

image-20240618112529966

这个例子刚讲过,模7下的二次剩余的a是1 2 4 一共三个 二次非剩余也是3个

同时关于平方根,也可以发现,1对应的平方根是1和6 4对应的平方根是2和5 2对应的平方根是3和4 每个对应的都是两个

以1为例,看他的两个平方根分别是1和6 因为是模7 所以6可以写成-1 因为-1+7 = 6

基于上面这个正负1的情况,在普通运算下没有任何问题,但是在模运算下需要推导证明

image-20240618122847050

证明:

image-20240618124032406

进而证明下面那个b和c的结论

image-20240618124950987

这个结论告诉我们,如果a=b^2 则a恰有两个根 正负b

进一步推导,Zp星里的每个整数都可以做平方 其个数就是二次剩余的个数

image-20240618125327842

这个上面也提到过,每个整数对应正负两个 其中负的那个可以转化一下

所以真正的个数是我们每次遍历的一半 也就是p-1的一半

image-20240618125423370

小重点:欧拉准则(二次剩余的判定定理)

image-20240618145237386

第一条证明: 注意下面的式子 都是在模p下 才有等于1的这个结论

image-20240618145304251

具体等于1还是-1 取决于第2条还是第3条 如果是二次剩余 就是1 如果是二次非剩余 就是-1

原因:

image-20240618145604086

讨论两个整数在模p下相乘 所得积的情况

  • 两个都相同类型的情况下 相乘结果一定是二次剩余image-20240618150142176

  • 如果只有一个整数是二次非剩余 则结果是二次非剩余

计算方法:

image-20240618150342227

拆开 分别计算 套用欧拉准则

陷阱:如果告诉你两个数乘积是二次剩余 那么这两个数也是二次剩余 是错误的 因为有可能都是二次非剩余

常见性质 补充版

image-20240618181202637

1-20 模p下-1的平方根*

  • 引言:

下面的性质和余数是1的p有关,p是奇素数

image-20240618212218349

  • 如何判断-1是不是模p下的二次剩余

常规思路:对-1使用欧拉准则 看看结果是否等于1

利用性质的简单方法:

  1. image-20240619010010175

    举例:image-20240619010047192

    p % 13 = 14 % 13 = 1 所以根据性质1 得到-1是集合的自己,即-1是模13下的二次

    使用欧拉准则证明一下

    image-20240619101937426

    证明:

    image-20240619102051369

    上面可以看出来 对-1使用欧拉准则所得结果必然是1,此时-1就是二次剩余

  1. image-20240619102701008

​ 如果是这中情况 模4下和1同余,那么此时-1是二次非剩余

1-21 Legendre符号*

对于奇素数p,在模p下判断a是否是二次剩余

最直接的方法:

image-20240619103514218

便捷方法:

只要发现p模4和1同余,那么-1就一定是模p下的二次剩余,而不需要对-1使用欧拉准则

但是可以发现上面的这个便捷判断只能针对-1进行判断,那么对于其他任意整数呢,如何判断呢,所以引出了Legendre符号

image-20240619104854548

其中结果为1 表示a是模p的二次剩余

结果为-1 表示a是模p的二次非剩余

但是目前直接看这个好像没发现什么便捷性,其实利用该符号的一些性质,可以使得运算从指数级运算降低

性质1:欧拉准则和Legendre符号的等价转换关系

image-20240619110843365

性质2:

image-20240619111311287

证明:利用欧拉准则的形式

image-20240619111411916

应用举例:

image-20240619111618753

性质3:

image-20240619111724581

因为a和b同余,那么这俩就必然同为二次剩余或同为二次非剩余,必然同时等于1或-1

性质4:

image-20240619111858351

性质5:二次互反律(law of quadratic reciprocity)

image-20240619112017434

特点:

image-20240619112350837

反之为负的

当p等于q时 整除 根据Legendre符号 式子两边均为0 等式一定成立

使用方法:

例1:入门:

image-20240619112557851

如果使用欧拉准则

image-20240619114753289

非常麻烦,不好计算

既然7和31都是奇素数,可以应用Legendre符号+二次互反律

首先因为7和31模4都不等于1 所以根据二次互反律符号为负

image-20240619120007350

然后31可以模7化简一下

image-20240619120328724

剩下的可以试一试 或者 欧拉准则

例2:补充一下上面的应用事项

image-20240619120611130
   因为 17 和 31 均为奇素数,所以可以使用二次互反定律 此外因为 17 和 31 模 4 均不为一,所以根据 L e g e n d r e 符号,结果为 1 ( 17 31 ) = ( 31 17 ) 此时可以发现模数变小了,所以可以优化一下分子,令分子模 17 ( 14 17 )   此时继续使用二次互反定律!发现是不行的,因为 14 不是奇素数 所以此时使用 L e g e n d r e 的性质,对其进行拆分 ( 14 17 ) = ( 2 17 ) ( 7 17 ) 看到 2 在分子上使用性质 4 ,得到结果为 1 所以最后只剩下 7 17 可以发现均是奇素数,所以可以使用二次互反定律缩小模数 7 17 = 17 7 = 3 7 继续,二次互换先判断是否有模 4 余 1 的奇素数,均没有则领金加符号 17 7 = 3 7 = − 7 3 = − 1 3 = − 1 \\~~~因为17和31均为奇素数,所以可以使用二次互反定律\\ 此外因为17和31模4均不为一,所以根据Legendre符号,结果为1\\ (\frac {17}{31}) =(\frac {31}{17}) \\ 此时可以发现模数变小了,所以可以优化一下分子,令分子模17\\ (\frac {14} {17})~~此时继续使用二次互反定律!发现是不行的,因为14不是奇素数\\ 所以此时使用Legendre的性质,对其进行拆分(\frac {14} {17})=(\frac{2}{17})(\frac{7}{17})\\ 看到2在分子上 使用性质4,得到结果为1 所以最后只剩下\frac {7}{17}\\ 可以发现均是奇素数,所以可以使用二次互反定律 缩小模数\\ \frac {7}{17} = \frac {17}{7} = \frac{3}{7} \\ 继续,二次互换 先判断是否有模4余1的奇素数,均没有 则领金 加符号 \frac {17}{7} = \frac{3}{7} =-\frac{7}{3}= -\frac{1}{3} = -1    因为1731均为奇素数,所以可以使用二次互反定律此外因为17314均不为一,所以根据Legendre符号,结果为1(3117)=(1731)此时可以发现模数变小了,所以可以优化一下分子,令分子模17(1714)  此时继续使用二次互反定律!发现是不行的,因为14不是奇素数所以此时使用Legendre的性质,对其进行拆分(1714)=(172)(177)看到2在分子上使用性质4,得到结果为1所以最后只剩下177可以发现均是奇素数,所以可以使用二次互反定律缩小模数177=717=73继续,二次互换先判断是否有模41的奇素数,均没有则领金加符号717=73=37=31=1

1-22 Jacobi符号*

其实不要把这个符号想的太陌生,其实就是Legendre符号的推广演化而来

image-20240620003255043

可以发现对分子分母的条件减少了一些限定

注意奇素数p可以彼此相同,这样右边的式子就是Legendre符号

image-20240620003658214

当a和n不互素时 结果为0

一些性质 非常类似:

image-20240620003814459

性质5:如果模数是合数,则可以把合数拆分 然后分别计算

​ 作用:可以直接把一些大模数化成一些小模数,而且不用关心负号问题

二次互反律的推广

image-20240620003833685

image-20240620003840782

雅可比符号判断二次剩余性

image-20240620193621226

image-20240620193631356

image-20240620193636040

第三个表示 如果a是模n下的二次剩余,则雅可比符号为1

推导:

image-20240620193656454

2-1 群*

体系:

image-20240622110444650

代数结构

image-20240621111127273

  • 封闭性

集合里任意两个元素的二元运算的结果,是跑不出这个集合的

反例

image-20240621113254353

这样就不能说自己是代数结构

关于群(group)需要满足下面四个性质:

image-20240621114921400

在一个群中,因为逆元的存在,出现了逆运算

image-20240621115037761

判断是不是群,就看是否满足上面四个性质

举例:

  1. image-20240621115150700

  2. 不是群,image-20240621115233790

因为有0的存在 修正

image-20240621115325026

  1. 模运算的例子

image-20240621121139327

小tip:

image-20240621121207579

2-2 群的性质

  • 分类:

    • 有限群:

    image-20240621121453686

    • 无限群:

    image-20240621121513530

  • 定理1 : 群里的单位元是唯一的

image-20240621122159801

计算过程根据单位元的性质,和单位元的运算还等于本身

  • 定理2 : 每个元素只有唯一的逆元

image-20240621122451574

注意啊 可能有些元素以自身为逆元

  • 平凡群

image-20240621122316741

  • 群的性质:
  1. 消去律

image-20240621122606515

  1. 方程解

image-20240621122737033

image-20240621122751371

注意:群里的运算不一定满足交换律 所以左右位置还是有区别的

  1. image-20240621122844789

image-20240621122914439

  1. image-20240621123013508

    image-20240621123020433

因为a的逆元和a相乘是单位元e 所以a的逆元 和a 互为逆元

2-3 阿贝尔群*

在群的基础上,多出来一个性质,当运算满足交换律时,则称为阿贝尔群,也称交换群

image-20240621154345748

从群到阿贝尔群,如何快速证明

image-20240621154837205

定理证明:

image-20240621154912241

image-20240621154935248

利用消去律

简记方法:

image-20240621155143246

注意这里的次方运算,表示多少个元素做相同运算,符号由群定义,不是单独的乘方运算

推广

image-20240621164851063

image-20240621165324320

上面这个的证明:证明是逆元关系

image-20240621165225471

来个定理

image-20240621165450969

2-4 子群

定义:

image-20240621170628644

G的子群分类:

  • 平凡子群:

    image-20240621170730460

  • 非平凡子群:

    image-20240621171109401

定理:

  1. 群的单位元也是其子群的单位元

image-20240621172341134

  1. 元素在子群中,其逆元也必在该子群中

    image-20240621172952381

有人问,有没有可能image-20240621173031305

image-20240621172944608

如何判断子群

方法一:

image-20240621175808366

先证明单位元:式子里a和b可以相等

image-20240621182255002

证明逆元:令a = 单位元e b = a 套用式子

image-20240621182515113

证明封闭性:

image-20240621182930738

红框里面在利用式子,b的逆作为式子里的b,得出a和b进行二元运算是属于H的 结果封闭

结合律:因为G是群 对于其元素 必然满足结合律

方法2:

image-20240621183057617

2-11 群同态

基本定义

image-20240622092448709

图示:

image-20240622092734904

两个特殊子集:

  • 同态像

image-20240622092907062

  • 同态核:

image-20240622092929131

符号表示:

image-20240622092939869

  • 嵌入映射

image-20240622093750109

其中H是G的子集,这就相当于是子群到群的映射,并且原像到像之间是一一对应的,所以这是一个单射,也可以叫作单一同态

  • 自然映射

N是G的正规子群

image-20240622094518990

每个元素a会通过函数映射到相应的陪集

image-20240622094728708

  • m次方映射

  • 雅可比映射


几个性质:利用一个群的知识去分析另一个群

  • 单位元穿越后仍然是单位元

image-20240622102319384

理论证明:

image-20240622102508102

  • 逆元穿越后仍然互为逆元

image-20240622102356934

理论证明:

image-20240622102613224

  • 子群

image-20240622102418806

理论证明:

image-20240622103022551

image-20240622105023432

2-18 原根

image-20240620213908561

“原根”存在的条件:(因为模n下并不一定有原根)

image-20240620215025642

只有当n满足上面这五种情况之一 才会存在原根

举个反例:RSA算法,其模数n是两个大素数的乘积,所以不存在原根

一些性质:

image-20240620215506488

Zn*中的元素为phin个 所以其阶也就是phin

这样原根的阶和Zn*的阶相同,这样原根就可以生成Zn* 的所有元素

image-20240620215535562

image-20240620215630926

image-20240621092457014

image-20240621092518607

image-20240621092541599

image-20240621092608269

image-20240621092627903image-20240621092638508

image-20240621092645118

image-20240621092712926

image-20240621092725224

image-20240621092737835

image-20240621092752172

如何找原根:

方法:

image-20240621102039869

image-20240621102055517

举个例子:

image-20240621102134697

这样可以得知 2是模19下的原根

2-21 什么是环

代数结构:

image-20240622105156613

和群不同的是,这里有两个二元运算符号,注意这里的加法和乘法都是抽象概念,不是真正的加减

环的定义:

image-20240622105533013

image-20240622110317856

分类:

  • 有限环:环的元素数量是有限的
  • 无限环:环的元素数量是无限的

举例:

image-20240622110056530

image-20240622110119956

image-20240622110216703

一些符号表示

image-20240622110922977

尤其关注一下加法逆元的表示为负数

运算性质:

image-20240622111045296

image-20240622111051376

image-20240622111142246

2-23 什么是域

继承环,引出一下域

image-20240622185823728

域的定义

image-20240622184443553

整环和域的对比

image-20240622184941555

解释一下域的非平凡原因:

因为域有加法和乘法两个群,作为环的一种,域必然有零元

而非零元素要形成乘法阿贝尔群,那非零元素这部分就不能是空集

也就是说除了零元以外,域必然有其他元素,故域是非平凡的

image-20240622185650983

image-20240622185719822

image-20240622185902876

image-20240622190003777

2-25 子环

子环的定义:(类似群和子群的定义

image-20240701161009862

特殊性质:

image-20240701164222633

举例:

image-20240701174807550

image-20240701175008102

mZ和Z在相同的运算下构成环,mZ里的整数都是Z的倍数,是Z的非空子集

特殊点:

image-20240701174819937

Zn的元素其实都是剩余类,而不是整数,和Z里的并不是同一种东西;其中的运算也不同,Zn的是剩余类之间的运算,而Z则是普通的乘法和加法

如何判断是不是子环?

核心原则:只要非空子集在环的运算下构成阿贝尔群和半群即可

image-20240701175215829

注意:

  1. 分配律不需要考虑,因为环满足分配律,它的非空子集必然也满足

  2. 乘法结合律也不用考虑,既然环满足,其非空子集必然也满足

  3. 加法的结合律也不用考虑

综上,可以得到一种简化版本的判断方法,如下:

image-20240701183644838

其实关于零元也可以再简化,因为其他条件中已经暗含

image-20240701184227436

即为:

image-20240701184254257

但是利用子群的判断可以进一步简化,最简方法

image-20240701184346514

image-20240701184409127

image-20240701184427018

image-20240701184547351

扩充:

image-20240701184837264

举例:

image-20240701184852528

注意事项:

image-20240701184926573

image-20240701184945208

非平凡的例子:

image-20240701185002526

2-26 理想

介绍一下理想的本质:是一种特殊类型的子环

image-20240701221440497

定义:

image-20240701221548361

如何判断是不是理想:

image-20240701221743263

简化逆元

image-20240701221918555

关于定理:

为什么理想是子环

image-20240701222127962

举例:

image-20240701222212850

image-20240701222332905

image-20240701222404923

不断碰撞服务社会,占领了整个姐的底盘。

注意点:

image-20240701222225011

image-20240701222532912

都有单位元,都是矩阵,但是单位元不同

补充简单概念:

image-20240701222608916

2-32 多项式环

类比学习:初中学的多项式建立在实数的基础上,几个单项式的和叫做多项式

在任意环上都可以建立多项式,这也是环比群强大的一个具体表现,因为多项式需要两种运算,而群只有一种

image-20240701234104193

这里面a是多项式的系数,k是非负整数,叫多项式的度;变量x称为环上的不定元,也就是变量

当系数为零元时,相应的单项式可以省略不写;当系数为单位元e时,相应的单项式可以不写系数了

  • 多项式环 定义:

image-20240701234915503

基础加法和乘法运算和初中实数多项式类似

但是需要注意:

因为环不一定满足乘法交换律

image-20240701235031735

  • 常数多项式

image-20240701235059404

关于度的性质:

image-20240701235232188

  • 其他性质

image-20240701235325143

证明:

image-20240701235410320

证明不是域 反证法

image-20240701235442412

大学的思维对待

image-20240701235558180

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值