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

2024-06-08 00:36

本文主要是介绍网络空间安全数学基础·同余式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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.chinasem.cn/article/1040754

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言