网络空间安全数学基础·同余式

6.1 剩余系(掌握)
6.2 同余式概念与一次同余式(熟练)
6.3 中国剩余定理(熟练)

6.1 剩余系

设m是正整数,模m同余的全体整数是一个模m剩余类,即可表示为a = qm+r, 0≤r<m,q=0,±1,±2,…,  的整数是一个模m剩余类。
剩余类中的每个数都称为该类的代表
r称为该类的最小非负剩余
模m剩余类共有m个

例:全部模8的剩余类为

{0,±8,±2×8,±3×8,…},
{1,1±8,1±2×8,1±3×8,…},

{2,2±8,2±2×8,2±3×8,…},

{7,7±8,7±2×8,7±3×8,…}.

在数轴上,一个剩余类做任意整数间隔的平移仍然是一个剩余类,或是另一个剩余类,或是它自己。

定义:从模m剩余类中各取一个代表,则称这些代表的集合为模m的一个完全剩余系。
显然一个完全剩余系在数轴上的任意整数间隔的平移都是一个完全剩余系:

定理:设a是一个整数且(a,m) =1,b是任意整数.如果x遍历模m的一个完全剩余系,则ax+b也遍历模m的完全剩余系。
即如果是模m的一个完全剩余系,则也是模m的完全剩余系。

定理:如果x1,x2分别遍历模m1和模m2的完全剩余系,且(m1,m2) = 1,则m2x1+m1x2遍历模m1m2的完全剩余系。

定义:如果一个模m的剩余类里面的数与m互素,则称它为与模m互素的剩余类。从与模m互素的每个剩余类中各取一个数构成的集合称为模m的一个简化剩余系。
推论:如果m1,m2是两个正整数,且(m1,m2)=1,则φ(m1m2)=φ(m1)φ(m2)。

定理:设正整数m的标准分解式为

定理:模m剩余类环中与m互素的剩余类构成乘法群。

推论:设m是正整数,如果(r,m) =1,则存在s使sr=1 (mod m),反之也成立。 换句话说,就是如果r,m互素,则r在模m下必存在逆元s。

推论(欧拉定理):设m是正整数,如果(r,m) =1,则r^φ( m)≡1(mod m)

推论(费马定理):如果p是素数,则r^p≡r (mod p)

6.2 同余式概念与一次同余式

定义:设f(x)为多项式:其中n是正整数,ai (0≤i≤n)是整数,则称为模m的同余式.如果an≠0 (mod m),则n称为同余式的次数。如果x0满足则x≡x0 (mod m)称为同余式的解.不同的解指互不同余的解.

例:求下列同余式的解.

1)

解 x≡1,5,6 (mod 7)

2)

解 x≡1,3,5,7,9,11,13,15 (mod 16)

3)

解 无解.

 一次同余式
定理:一次同余式ax ≡ b (mod m),a≠0 (mod m),有解的充分必要条件为(a,m)|b.

例:求980x ≡ 1500 (mod 1600)的解.

解 此题中,a = 980,m = 1600,b = 1500,(a,m) = 20,a’ = 49,m’= 80。

1)首先采用欧几里得算法求a’^(-1)(mod m’)。 由于(a’,m’) = 1,所以存在r,s,使a’r+ m’s = 1

于是我们有 31 = 80 – 49= m’ -a’,18 = a’ – 31 = 2a’ – m’,13 = 31 – 18 = 2m’ – 3a’ ,5 = 18 – 13 = 5a’ – 3m’ ,3 = 13 – 2×5 = 8m’ – 13a’ ,2 = 5 – 3 = 18a’ – 11m’ , 1 = 3 – 2 = 19m’ – 31a’ 。

所以19m’ – 31a’ = 1,

则– 31a’ ≡ 49a’ ≡ 1 (mod 80)

故a’^(-1) = 49.

2)求x0

3)同余式的解共有20个,它们为

x ≡ 75+80k (mod 1600),k = 0,1,…,19.

6.3 中国剩余定理

定理(中国剩余定理):设m1,m2,…,mk两两互素,则右边的同余式组有解,且有唯一解:,其中,i =1,2,…,k。

例:解同余式组:

x ≡ 1 (mod 5)

x ≡ 5 (mod 6)

x ≡ 4 (mod 7)

x ≡ 10 (mod 11)

按中国剩余定理求解如下: m = 5×6×7×11 = 2310,

x ≡ 3×462 + 385×5 + 330×4 + 210×10 ≡ 6731 ≡ 2111 (mod 2310).

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

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

相关文章

idea使用和了解

官网&#xff1a;IntelliJ IDEA – the Leading Java and Kotlin IDE

【MyBatisPlus条件构造器】

文章目录 什么是条件构造器&#xff1f;使用步骤1. 引入 MyBatisPlus 依赖2. 创建实体类3. 使用条件构造器查询4. 执行查询 示例代码 什么是条件构造器&#xff1f; 条件构造器是 MyBatisPlus 提供的一种灵活的查询条件设置方式&#xff0c;它可以帮助开发者构建复杂的查询条件…

持续总结中!2024年面试必问 20 道分布式、微服务面试题(二)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道分布式、微服务面试题&#xff08;一&#xff09;-CSDN博客 三、CAP定理是什么&#xff1f; CAP定理是分布式系统理论中的一个基本概念&#xff0c;由计算机科学家Eric Brewer在2000年提出&#xff0c;并由…

常见的api:Runtime Object

一.Runtiem的成员方法 1.getRuntime() 当前系统的运行环境 2.exit 停止虚拟机 3.avaliableProcessors 获取Cpu线程的参数 4.maxMemory JVM能从系统中获取总内存大小(单位byte) 5.totalMemory JVM已经从系统中获取总内大小(单位byte) 6.freeMemory JVM剩余内存大小(…

数组对象数据修改后页面没有更新,无法进行编辑,校验失效问题

在 Vue 中&#xff0c;当你通过 Object.assign 或其他方式修改了对象中的某个属性时&#xff0c;Vue 并不会触发组件重新渲染&#xff0c;因此表单中的 input 框无法及时更新。这可能导致在修改表单数据后&#xff0c;页面没有更新&#xff0c;而且表单校验也失效的情况。这是因…

【MATLAB高级编程】入门篇 | 向量化编程

【入门篇】向量化编程 1. 什么是向量?2. 向量的创建2.1 行向量2.2 列向量2.3 使用冒号运算符2.4 使用`linspace`和`logspace`3. 向量的基本操作3.1 向量元素访问3.2 向量的长度3.3 向量的加法和减法3.4 向量的点乘和叉乘3.5 向量的元素乘法和除法4. 向量的高级操作4.1 逻辑索引…

牛客练习赛126(O(n)求取任意大小区间最值)

牛客练习赛126(O(n)求取任意大小区间最值) 牛客练习赛126 A.雾粉与签到题 题意&#xff1a;给出长度为n的数组, 顺序选出任意三个元素&#xff0c;最小化第二个元素 思路&#xff1a; 遍历除了第一个和最后一个元素取最小值即可 AC code&#xff1a; void solve() {int…

深度学习模型中的 `.clone` 作用分析----针对CUDA可能出现的BUG

深度学习模型中的 .clone 作用分析 问题描述与解决 在训练自定义网络结构时出现了两个错误&#xff1a; RuntimeError: CUDA error: device-side assert triggeredRuntimeError: one of the variables needed for gradient computation has been modified by an inplace ope…

使用 tc (Traffic Control)控制网络延时

设置网络延时 1500ms 800ms tc qdisc add dev eth0 root netem delay 1500ms 800msping 测试 ping www.baidu.com取消设置网络延时 sudo tc qdisc del dev eth0 root

解决splice改变原数组的BUG

项目场景&#xff1a; 项目中难免遇到需要删除改变数组的方法&#xff0c;去重&#xff0c;删除不要的数据等 问题描述&#xff1a; 但是splice方法会删除掉数据改变原数组&#xff0c;返回的是改变之后的数组&#xff0c;即使你是赋值的还是会影响到原数组的数据 GoodsInfo…

leetcode刷题记录31-50. Pow(x, n)

问题描述 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;x^n &#xff09;。 示例 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000示例 2&#xff1a; 输入&#xff1a;x 2.10000, n 3 输出&#xff…

inflight 守恒和带宽资源守恒的有效性

接着昨天的问题&#xff0c;inflight 守恒的模型一定存在稳定点吗&#xff1f;并不是。如果相互抑制强度大于自我抑制强度&#xff0c;系统也会跑飞&#xff1a; 模拟结果如下&#xff1a; 所以一定要记得 a < b。 比对前两个图和后两个图的 a&#xff0c;b 参数关系&am…

【ARM64 常见汇编指令学习 19.2 -- ARM64 地址加载指令 ADR 详细介绍】

文章目录 地址加载指令 ADRADR 指令使用场景例子注意事项 地址加载指令 ADR ARMv8 架构引入了一系列的改进和扩展&#xff0c;包括对汇编指令集的更新。在这之中&#xff0c;ADR 指令是一个重要的组成部分&#xff0c;它用于计算并加载一个地址到寄存器。 ADR 指令 ADR 指令…

PS初级|写在纸上的字怎么抠成透明背景?

前言 上一次咱们讲了很多很多很多的抠图教程&#xff0c;这次继续。。。最近有小伙伴问我&#xff1a;如果是写在纸上的字&#xff0c;要怎么把它抠成透明背景。 这个其实很简单&#xff0c;直接来说就是选择通道来抠。但有一点要注意的是&#xff0c;写在纸上的字&#xff0…

鸿蒙开发的南向开发和北向开发

鸿蒙开发主要分为设备开发和应用开发两个方向&#xff0c;也叫南向开发和北向开发&#xff1a; 鸿蒙设备开发(南向开发&#xff09;&#xff0c;要侧重于硬件层面的开发&#xff0c;涉及硬件接口控制、设备驱动开发、鸿蒙系统内核开发等&#xff0c;目的是使硬件设备能够兼容并…

android antirollback verno 获取方法

ReadRollbackIndex.exe 获取 调查avbVBMeta结构体 typedef struct AvbVBMetaImageHeader { /* 0: Four bytes equal to "AVB0" (AVB_MAGIC). */ uint8_t magic[AVB_MAGIC_LEN]; /* 4: The major version of libavb required for this header. */ uint32_t…

MySQL创建表的时候建立联合索引

1.MySQL创建表建立联合索引的步骤 在MySQL中&#xff0c;联合索引&#xff08;也称为复合索引或多列索引&#xff09;是基于表中的多个列创建的索引。这种索引可以提高多列查询的性能&#xff0c;特别是当查询条件涉及这些列时。下面是一个详细的步骤和示例&#xff0c;说明如…

mac前端com+f与com+shift+f查找文章内容

title: mac前端comf与comshiftf查找文章内容 date: 2024-06-02 16:28:28 tags: vue3 在vscode中我们常常都需要查找相关的制定&#xff0c;在mac本中操作如下 commandf查找本页相关内容 commandshiftf全局查找相关的内容

美团面试:百亿级分片,如何设计基因算法?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的架构类/设计类的场景题&#xff1a; 1.说说分库分表的基因算法&#xff1f…

react native中内容占位效果

react native中内容占位效果 效果实例图实例代码skeleton.jsx 效果实例图 实例代码skeleton.jsx import React, { useEffect, useRef } from "react"; import { Animated, StyleSheet, View } from "react-native"; import { pxToPd } from "../../.…