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

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

相关文章

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操