【CTF-Crypto】数论基础-02

news2024/9/25 1:24:08

【CTF-Crypto】数论基础-02

文章目录

  • 【CTF-Crypto】数论基础-02
    • 1-16 二次剩余
    • 1-20 模p下-1的平方根*
    • 1-21 Legendre符号*
    • 1-22 Jacobi符号*
    • 2-1 群*
    • 2-2 群的性质
    • 2-3 阿贝尔群*
    • 2-4 子群
    • 2-11 群同态
    • 2-18 原根
    • 2-21 什么是环
    • 2-23 什么是域
    • 2-25 子环
    • 2-26 理想
    • 2-32 多项式环

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1924223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言的神髓

从应用的角度出发,聊一聊C语言最精妙的部分。 ​​​​​​​ ​​​​​​​

unity 2020版本packManager没有AssetBundles

1.Packages->manifest.json打开manifest.json文件 2.添加"com.unity.assetbundlebrowser": "1.7.0", 保存即可

Readiris PDF Corporate / Business v23 解锁版安装教程 (PDF管理软件)

前言 Readiris PDF Corporate / Business 是一款高性能的 OCR(光学字符识别)软件,能够帮助用户将纸质文档、PDF 文件或图像文件转换为可编辑和可搜索的电子文本。该软件提供专业级的功能和特性,非常适合企业和商业使用。使用 Rea…

win10 docker-compose搭建ELK日志收集

elk的威名大家都知道,以前前司有专门的人维护,现在换了环境,实在不想上服务器看,所以就摸索下自己搭建,由于现场服务器是需要类似向日葵那样连接,我还是把日志弄回来,自己本地filebeat上传到es中…

【软件测试】LoadRunner | 基本概念 | VUG录制脚本 | 脚本加强 | Controller设计测试场景 | Analysis产生测试报告

文章目录 LoadRunner一、LoadRunner的基本概念功能:原理:组成: 二、开发测试脚本1.VUG录制脚本1.WebTours系统WebTours的配置:成功访问后进行注册 2.脚本录制3.运行(回放) 2.脚本加强1.插入事务插入函数:注意事项 2.插…

如何计算摄像头一个像素对应的实际面积(热成像仪选型1)

1. 前言 热成像仪广泛应用于缺陷检测,那么如何选择热成像仪,以满足缺陷检测需求?关键问题是:如何知道热成像仪能不能拍摄清楚我的缺陷呢?,要回答这个问题,就需要计算出热成像仪在最佳拍摄距离下…

2.5 OJ 网站的使用与作业全解

目录 1 OJ 网站如何使用 1.1 注册账户 1.2 登录账户 1.3 做题步骤 2 本节课的 OJ 作业说明 3 章节综合判断题 4 课时2作业1 5 课时2作业2 6 课时2作业3 1 OJ 网站如何使用 〇J 是英文 Online Judge 的缩写,中文翻译过来是在线判题。当用户将自己编写的代码…

浪潮天启防火墙TQ2000远程配置方法SSL-V偏、L2xx 配置方法

前言 本次设置只针对配置V偏,其他防火墙配置不涉及。建议把防火墙内外网都调通后再进行V偏配置。 其他配置可参考:浪潮天启防火墙配置手册 配置SSLVxx 在外网端口开启SSLVxx信息 开启SSLVxx功能 1、勾选 “启用SSL-Vxx” 2、设置登录端口号&#xff0…

ROS1 DWB 与 ROS2 DWA 比较

“DWA算法(dynamic window approach)是移动机器人在运动模型下推算(v,w)对应的轨迹,确定速度采样空间或者说是动态窗口(三种限制);在速度空间(v,w)中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,通过一个评价函数对这些轨迹打分,选取最优的轨迹来驱动机器人运动”。ROS…

如何利用桌面工作计划软件制定自己的to do清单?

在我们的日常生活和工作中,经常会遇到各种各样的任务需要完成。如果没有一个明确的计划和安排,我们可能会感到混乱和压力,而桌面工作计划软件可以帮助我们更好地管理和规划我们的时间和任务。今天,我们就来聊聊如何利用这些工具&a…

职升网:二级建造师考试科目分析!

二级建造师考试包含三个主要科目,它们分别是《建设工程施工管理》、《建设工程法规及相关知识》以及《专业工程管理与实务》。以下是这三个科目的详细考试内容: 建设工程施工管理: 此科目作为建造师考试的基础科目,其核心内容是…

走进linux

1、为什么要使用linux 稳定性和可靠性: Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务 安全性: Linux系统…

酷克数据亮相第13届PostgreSQL中国技术大会,获数据库杰出贡献奖

7 月 12 日,第 13 届 PostgreSQL 中国技术大会在杭州盛大开幕。本次大会以“聚焦云端创新,汇聚智慧共享”为主题,邀请了国内外 PG 领域众多行业大咖、学术精英及技术专家,共同探讨数据库领域的发展趋势、技术创新和实践经验。酷克…

本地部署,使用ColorizeArtistic_gen.pth大模型进行图像上色

目录 引言 技术背景 模型架构 本地部署 运行结果 实验结果与分析 应用实例 结论 参考文献 引言 图像上色(Image Colorization)是指将黑白图像转换为彩色图像的技术。在数字化时代,这种技术可以用于修复旧照片、增强艺术作品以及在各…

FDL与Kettle功能对比分析之定时任务DDL

开发者在进行数据处理任务时, 一旦源数据库的表结构发生变化,而目标数据库没有及时进行同步,就会导致任务执行失败。DDL同步就是用来解决这一问题,它会自动识别源表结构变化,并及时更新到目标数据库中,保障…

1. 变量、运算符、表达式、输入与输出习题

第一节题单 1. A B import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int a,b;a sc.nextInt();b sc.nextInt();System.out.println(ab);} }608.差 604. 圆的面积 注意不能用float,float的精度不够…

智能硬件——0-1开发流程

文章目录 流程图1. 市场分析具体分析 2. 团队组建2. 团队组建早期团队配置建议配置一:基础型团队 (4人)配置二:扩展型团队 (6人)配置三:全面型团队 (7人) 3. 产品需求分析4. ID设计(Industrial Design, 工业设计)5. 结…

展望未来:在【PyCharm】中结合【机器学习】实现高效的图形化处理

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言一、PyCharm简介与配置1.1 PyCharm基础1.2 图形化库配置 二、机器学习项目中的数据可视化2.1 数据加载与预处理2.2 数据探索性可视化2.3 模型训练与结果可视化 三、PyCharm中的图形化调试四、高级…

如何追踪ping连接中的所有路由器的数量和IP

如何快速判断ping连接经过的路由器个数和IP? 方法一: ping命令会返回一个TTL,TTL(Time To Live)存活时间,一般初始值为64,每经过一个路由器就减一,当TTL为0时丢弃网络包&#xff0…

设置sudo权限

1.使用root账号登录 2.使用visudo打开sudo的配置文件 3.CtrlF翻页到#All root to run any commands anywhere 4.敲击键盘i键切到插入模式 5.在root配置信息一行下方加入一行,以用户test为例: test ALL(ALL) NOPASSWD: ALL