有关区块链的一些数学知识储备

1.集合

集合是由不同对象组成的整体(collections of objects)的数学模型,这些对象被称为集合的元素(elements)。整数(Integers)、有理数(Rational numbers)、实数(Real numbers)、复数(Complex numbers)、矩阵(Matrices)、多项式(Polynomials)、多边形(Polygons)以及其他的很多概念实质上都是集合。

常用集合缩写: 𝑁N 表示全体自然数集合(Natural numbers), 𝑍Z 表示全体整数集合("Zahl" is Integer in German), 𝑄Q 表示全体有理数集合(Rational numbers), 𝑅R 表示全体实数集合(Real numbers), 𝐶C 表示全体复数集合(Complex numbers)
 

集合的特点:无序性 ,互异性,确定性

有序对​

集合的元素是无序的,有序对(order pairs)是从集合中产生的一种新的数据结构。在编程世界中,程序员更愿意称其为元组(tuple)。

那么如何在无序的集合中生成有序对呢?具体实现方式是将元组 (𝑎,𝑏)(a,b) 表示为集合形式 {𝑎,{𝑏}}{a,{b}} 。注意到,这样的集合的元素要么是字母,要么是基数为1的集合。于是,我们说 (𝑎,𝑏)≠(𝑏,𝑎)(a,b)=(b,a) ,因为 {𝑎,{𝑏}}≠{𝑏,{𝑎}}{a,{b}}={b,{a}} 。

注意有序对(元组)的元素数目可以是任意个。

定义两个集合 A 和 B,我们可以定义另一个集合 C ,其中 C 的元素是第一个元素来自于 A ,第二个元素来自于 B 的有序对。这样的集合我们称之为笛卡尔积(Cartesian product)。

笛卡尔积不遵循交换律。

借助笛卡尔积这个运算,我们就可以从数学角度上定义函数(function)。比如我们需要定义函数 f,满足 𝑓(1)=𝑥,𝑓(2)=𝑦,𝑓(3)=𝑧f(1)=x,f(2)=y,f(3)=z ,那么只需要定义两个集合 {1,2,3},{𝑥,𝑦,𝑧}{1,2,3},{x,y,z} ,二者进行笛卡尔积,并取结果的子集即可得到目标映射关系 (1,𝑥),(2,𝑦),(3,𝑧)(1,x),(2,y),(3,z)。

因此,在集合论中,函数就是域集(domain set)和共域集(codomain set)的笛卡尔积的子集。换句话说,

 2. 欧几里得除法

我们平常使用的除法是实数除法,两个整数相除的结果不一定是整数,比如 7÷5=1.47÷5=1.4 不是整数。因此,我们引入整数除法,也叫欧几里得除法(Euclidean Division)。它的结果由两部分组成:商(quotient)和余数(remainder)。欧几里得除法的定义:

对于整数 𝑎a 和 𝑏b(其中 𝑏≠0b=0),存在唯一的整数对 (𝑞,𝑟)(q,r),使得 𝑎=𝑏𝑞+𝑟a=bq+r,其中 𝑞q 是商, 𝑟r 是余数,且 0≤𝑟<∣𝑏∣0≤r<∣b∣。

如果 𝑎a 除以 𝑏b 的余数为零,则我们称 𝑎a 可以被 𝑏b 整除( 𝑏b 整除 𝑎a),记为 𝑏∣𝑎b∣a,我们可以称 𝑏b 为 𝑎a 的因数;若余数不为零,则记为 𝑏∤𝑎b∤a。

3.质数

质数(prime numbers)也称素数,定义如下:对于一个大于1的自然数,如果它不能被除了 11 和它本身之外的自然数整除,那么它就是质数。 

我们可以把自然数分为质数和合数。合数与质数相对:对于一个大于1的自然数,除了1和它本身之外,还有其他正因数,那么它就是合数。例如,4、6、8、9都是合数。 

寻找质数的确定性算法
1)埃拉托斯特尼筛法(Sieve of Eratosthenes)。它的逻辑非常简单:先确定一个要搜寻的范围,然后把从 00 到 𝑛n​ 之间的所有质数的倍数剔除掉,剩下的就是范围内的所有素数。

寻找质数的随机性算法

  • 费马素性检验
    • 利用费马小定理来测试。
  • 米勒-拉宾检验

质数在密码学中的应用​

质数在密码学领域扮演着重要的角色,特别是在公钥密码学中。举个例子,RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用了大质数的乘积作为公钥和私钥的一部分:计算质数的乘积很简单,但是将大合数分解为质因数非常困难,这保证了RSA加密算法的安全性。

 

4. 欧几里得算法

欧几里得算法(也称辗转相除法)是我们用于计算两个整数的最大公约数的常用算法

算法步骤​

  1. 令 r 为 a 除以 b 的余数,即 𝑟=𝑎mod  𝑏
  2. 如果 r 不为零,则用 b 替换 a, r 替换 b,并返回第一步。
  3. 如果 r 为零,则 b 即为最大公约数。

例子​

下面我们计算 a=30 和 b=24 的最大公约数:

  1. 第一步:运用欧几里得除法,得到 30=1⋅24+6

  2. 第二步:余数 r=6 不为零,用 𝑏 替换 a, 𝑟 替换 𝑏,继续运用运用欧几里得除法,得到 24=4⋅6+0

  3. 第三步:上一步余数 r=0 为零,停止迭代,得到最大公约数 gcd⁡(30,24)=6

拓展欧几里得算法

贝祖等式。对于两个整数 a 和 b,存在整数 x 和 y 使得它们满足如下等式:

𝑎𝑥+𝑏𝑦=gcd⁡(𝑎,𝑏)

这个等式称为贝祖等式,其中 gcd(a,b) 是 a 和 b 的最大公约数。拓展欧几里得算法的目标就是找到这样的整数 x 和 y。

 

例子​

下面我们计算使得 a=30 和 b=24 满足贝祖等式的整数 x 和 y:

𝑎𝑥+𝑏𝑦=gcd⁡(𝑎,𝑏)

  1. 第一步:初始化 (𝑥−2,𝑥−1,𝑦−2,𝑦−1)=(1,0,0,1)

  2. 第二步:运用欧几里得除法,得到

30=1⋅24+6

这里 (𝑞0,𝑟0)=(1,6),代入 (𝑥𝑖,𝑦𝑖)(xi​,yi​) 迭代等式,有:

𝑥0=1−1×0=1

𝑦0=0−1×1=−1

此时 𝑥𝑖𝑎+𝑦𝑖𝑏=𝑟𝑖xi​a+yi​b=ri​,等式左边为 30−24,右边 6,等式成立。

  1. 第三步:余数 𝑟=6r=6 不为零,用 b 替换 a, r 替换 b,继续运用欧几里得除法,得到

    24=4⋅6+0

    这里 (𝑞1,𝑟1)=(4,0)(q1​,r1​)=(4,0), 此时余数为0,停止迭代。得到最大公约数 gcd⁡(30,24)=6gcd(30,24)=6, 而 (𝑥,𝑦)=(𝑥0,𝑦0)=(1,−1)(x,y)=(x0​,y0​)=(1,−1).

  2. 第四步:得到满足贝祖等式的系数 (𝑥,𝑦)=(1,−1)(x,y)=(1,−1),贝祖等式为:

    𝑎−𝑏=6a−b=6

5.费马小定理

模幂​

模幂指对模进行的幂运算,在密码学中很常用:

𝑏=𝑎𝑐mod  𝑛b=acmodn

其中 0≤𝑏<𝑛0≤b<n。

举个例子,给定 (𝑎,𝑐,𝑛)=(7,5,13)(a,c,n)=(7,5,13),我们可以计算得到 75=1680775=16807,除以 1313 余 1111,因此 𝑏=11b=11。

当然,模幂也可以写为同余的形式:

𝑏≡𝑎𝑐(mod𝑛)b≡ac(modn)

同余​

同余是一种关系,在密码学中有广泛应用。在给定模数 𝑛n 的情况下,如果两个整数 𝑎a 和 𝑏b 取模后的结果相等,我们就称它们在模 𝑛n 下是同余的。记为:

𝑎≡𝑏(mod𝑛)a≡b(modn)

比如在模数 33 下,4 和 7 的余数均为 1,因此它们在模 3 下是同余的,写为 4≡7(mod3)4≡7(mod3)。但是在另一个模数 55 下,它们就不同余了,因此确认同余关系时必须给出模数。

费马小定理是数论中的一个重要定理,为解决模幂问题提供了有力的工具。

费马小定理指出,如果 𝑝p 是一个质数,则对于任意整数 𝑎a 是,有

𝑎𝑝≡𝑎(mod𝑝)ap≡a(modp)

也就是说 𝑎𝑝−𝑎ap−a 可以被 𝑝p 整除。举个例子, 𝑎=3a=3 , 𝑝=5p=5 ,有 35−3=240=48⋅535−3=240=48⋅5。

费马小定理还可以写成另一个形式。当 𝑎a 与 𝑝p 互质时,我们可以在等式左右两端同除以 𝑎a ,得到下面这个形式:

𝑎𝑝−1≡1(mod𝑝)ap−1≡1(modp)

也就是说 𝑎𝑝−1−1ap−1−1 可以被 𝑝p 整除。举个例子, 𝑎=3a=3 , 𝑝=5p=5 ,有 34−1=80=16⋅534−1=80=16⋅5。

6.中国剩余定理

中国剩余定理给出了一元线性同余方程组的解存在的条件和求解方法。

同余方程组​

同余方程组是由多个同余方程组成的一组方程,每个方程都涉及模运算。

我们先看一个仅包含2个方程的例子:

𝑥≡2(mod3)x≡2(mod3)

𝑥≡3(mod5)x≡3(mod5)

通过观察,我们知道如果 𝑦y 是方程的解,那么 𝑦+15y+15 也是。通过穷举法,我们容易得到 𝑦=8y=8 是一个解,因此方程组的通解为 [8]15[8]15​,也就是:

𝑥=8+15𝑘x=8+15k

其中 𝑘∈𝑍k∈Z。

 示例​

让我们用中国剩余定理来解 3.23.2 中的示例:

𝑥≡2(mod3)x≡2(mod3)

𝑥≡3(mod5)x≡3(mod5)

有 𝑝𝑞=15pq=15, 𝑝1=3−1=2(mod5)p1​=3−1=2(mod5), 𝑞1=5−1=2(mod3)q1​=5−1=2(mod3)。所以:

𝑥≡2×5×2+3×3×2≡38≡8(mod15)x≡2×5×2+3×3×2≡38≡8(mod15)

与我们之前用穷举法得到的答案一样。

7.欧拉函数

 欧拉函数​

欧拉函数为 𝜙(𝑛)=∣𝑍𝑛∗∣ϕ(n)=∣Zn∗​∣,为单元集 𝑍𝑛∗Zn∗​ 中元素的个数。也就是 [1,...,𝑛−1][1,...,n−1] 中与 𝑛n 互质的整数的个数。另外,我们特别定义 𝜙(1)=1ϕ(1)=1。

举个几个例子: 𝜙(2)=1ϕ(2)=1, 𝜙(3)=2ϕ(3)=2, 𝜙(5)=4ϕ(5)=4, 𝜙(8)=4ϕ(8)=4, 𝜙(9)=6ϕ(9)=6, 𝜙(15)=8ϕ(15)=8。

8.欧拉定理

 

欧拉定理将欧拉函数和幂运算的循环性质联系起来。

定理: 如果整数 𝑎a 和正整数 𝑛n 互质(即 gcd⁡(𝑎,𝑛)=1gcd(a,n)=1),那么 𝑎𝜙(𝑛)≡1(mod𝑛)aϕ(n)≡1(modn)。

其中 𝜙(𝑛)ϕ(n) 是欧拉函数,也就是 [1,...,𝑛−1][1,...,n−1] 中与 𝑛n 互质的整数的个数。

继续使用上面的例子, 𝑎=2,𝑛=5a=2,n=5,首先计算 𝜙(5)=5−1=4ϕ(5)=5−1=4,有 24≡16≡1(mod5)24≡16≡1(mod5), 符合欧拉定理。

再举个例子, 𝑎=3,𝑛=7a=3,n=7,首先计算 𝜙(7)=7−1=6ϕ(7)=7−1=6,然后应用欧拉定理得到 36≡1(mod7)36≡1(mod7)。检查一下 36=72936=729,除 77 的余数为 11,欧拉定理正确。

03. 欧几里得算法 | WTF Academy 

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

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

相关文章

openssh9.8p1更新 修复漏洞(CVE-2024-6387)

2024 年 7 月&#xff0c;互联网公开披露了一个 OpenSSH 的远程代码执行漏洞&#xff08;CVE-2024-6387&#xff09;。鉴于该漏洞虽然利用较为困难但危害较大&#xff0c;建议所有使用受影响的企业尽快修复该漏洞。 centos7 为例 yum -y install gcc make openssl-devel zlib…

【区块链+跨境服务】基于区块链的离岸贸易综合服务平台 | FISCO BCOS应用案例

离岸贸易是一种新型的国际贸易模式&#xff0c;指在一个国家或地区的境内&#xff0c;通过一定的方式&#xff0c;将两个或多个国家或地区 之间的贸易活动&#xff0c;从货物流、资金流和信息流三个方面分离开来&#xff0c;实现货物不经过境内&#xff0c;直接从一个国家或地区…

三相感应电机的建模仿真(3)基于ABC相坐标系Level2 S-Fun以及定子串不对称电抗起动过程仿真分析

1. 概述 2. 三相感应电动机状态方程式 3. 基于Level2 S-Function的仿真模型建立 4. 动态分析实例 5. 总结 6. 参考文献 1. 概述 三相感应电机自然坐标系下的数学模型是一组周期性变系数微分方程(其电感矩阵是转子位置角的函数,转子位置角随时间按正弦规律变化),将其用…

[hudsonL@cock.li].mkp勒索病毒的最新威胁:如何恢复您的数据?

引言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒成为网络安全领域的一个严重挑战。最近出现的.[hudsonLcock.li].mkp、[hendersoncock.li].mkp、[myersairmail.cc].mkp勒索病毒&#xff0c;以其具有破坏力的加密技术和极具威胁性的赎金要求&#xff0c;给个人用户和组…

解决idea中无法通过“download source”下载源码的问题

如果jar包不是自己的 在项目pom.xml同级目录下使用命令控制行输入指令 mvn dependency:resolve -Dclassifiersources缺点: 会下pom中所有jar包的源码&#xff0c;如果jar包本身不含源码的话&#xff0c;执行指令也没有效果 如果自己能拿到源码 在开发环境中的pom中&#xf…

量子保密通信协议原理:量子保密通信实验

纸上得来终觉浅&#xff0c;绝知此事要躬行。 在之前的文章中&#xff0c;我们对量子密钥分发协议原理、分发过程进行了详细的描述&#xff0c;今天我们实操一波。博主向大家隆重介绍一下华中师范大学量子保密通信虚拟仿真试验平台&#xff1a;量子保密通信是将量子密钥分发和一…

Java常见注解及其使用汇总

目录 一. springboot项目注解 1. 启动注解SpringBootApplication 1.1 SpringBootConfiguration 注解 1.2 EnableAutoConfiguration 注解 1.3 ComponentScan注解 2. 配置文件相关注解 2.1 Configuration 2.2 ComponentScan 3. controller层相关注解 3.1 RestControlle…

C#(读作 “C sharp“)是一种面向对象的编程语言,由微软公司开发并作为.NET框架的一部分推出

C#&#xff08;读作 "C sharp"&#xff09;是一种面向对象的编程语言&#xff0c;由微软公司开发并作为.NET框架的一部分推出。C# 语言的设计受到了 C 和 Java 的影响&#xff0c;旨在提供强大的编程能力同时保持代码的简洁性和可读性。以下是 C# 语言的一些关键特性…

AR增强现实汽车装配仿真培训系统开发降低投入费用

随着互联网的无处不在&#xff0c;AR增强现实技术正逐步融入我们生活的每一个角落。深圳华锐视点作为一家引领行业潮流的AR内容开发的技术型公司&#xff0c;正以其卓越的技术实力和专业的服务团队&#xff0c;推动着国内AR技术向更加成熟和多元化的方向迈进。 深圳华锐视点提供…

[ TOOLS ] JFLASH 使用说明

一、使用everything查找JFLASH everything是指这个软件&#xff0c;使用这个方便查找想要的文件 二、创建一个工程并配置 创建完后进行配置&#xff1a; Target devic: 板子的芯片型号&#xff0c;比如R7FA6M4Target interface: 一般是SWDSpeed: 一般是4000kHz, 不能下载则将Sp…

从“+AI”到“AI+”,时代进入“Next Level”

“创新的速度比创新本身更重要。”埃隆马斯克曾这样说到。 近日&#xff0c;由马斯克所掌舵的特斯拉&#xff0c;在2024年世界人工智能大会上正式推出了第二代Optimus&#xff08;擎天柱&#xff09;人形机器人&#xff0c;距离第一代面世&#xff0c;仅过去9个月。 加速升级…

AI古风插画视频:成都亚恒丰创教育科技有限公司

AI古风插画视频&#xff1a;科技与传统美学的诗意交融 在数字技术的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;以其惊人的学习能力与创造力&#xff0c;正逐步渗透并重塑着艺术的边界。成都亚恒丰创教育科技有限公司其中&#xff0c;AI古风插画视频作为一股清流&a…

ArcGIS:探索地理信息系统的强大功能与实际应用

ArcGIS是一款功能强大的地理信息系统&#xff08;GIS&#xff09;软件&#xff0c;由Esri公司开发。它广泛应用于各个领域&#xff0c;包括城市规划、环境保护、资源管理、交通运输等。作为一名长期使用ArcGIS的用户&#xff0c;我深感这款软件在数据分析、地图制作和空间信息管…

Mac电脑上有什么好玩的肉鸽游戏推荐 苹果电脑怎么玩以撒的结合

Mac电脑尽管在游戏兼容性上可能不及Windows。但是&#xff0c;对于喜欢在Mac上游玩的玩家来说&#xff0c;依然有不少优秀的游戏可以选择&#xff0c;尤其是那些富有挑战性和策略性的肉鸽游戏。此外&#xff0c;对于经典游戏《以撒的结合》&#xff0c;Mac平台也提供了良好的游…

移动公厕有无人显示屏为何多采用RS485、IO信号通讯方式

在户外活动、临时集会或是应急情况下&#xff0c;移动公厕作为解决人们生理需求的重要设施&#xff0c;发挥着不可替代的作用。然而&#xff0c;随着人口密度的增加和对公共卫生要求的提高&#xff0c;如何确保移动公厕的高效利用和良好维护&#xff0c;成为了组织者和管理者面…

牛客周赛 Round 50 解题报告 | 珂学家

前言 题解 数学场&#xff0c;对数学头痛, T_T. A. 小红的最小最大 题型: 签到 a, b, x list(map(int, input().split()))if min(a, b) x > max(a, b):print ("YES") else:print ("NO")B. 小红的四则运算&#xff08;easy&#xff09; 思路: 贪心…

嵌入式通信协议全解析:SPI、I²C、UART详解(附带面试题)

目录 一、什么是通信 二、 通信的分类 同步通信&#xff08;Synchronous Communication&#xff09; 异步通信&#xff08;Asynchronous Communication&#xff09; 不同协议标准区分图&#xff1a; UART UART的特点&#xff1a; UART的通信过程&#xff1a; UART的配置…

文件防止拷贝如何实现?这些攻略给你了

在信息爆炸的时代&#xff0c;数据安全成为企业和个人不可忽视的重要环节。文件的非法拷贝不仅可能侵犯知识产权&#xff0c;还可能导致敏感信息的泄露&#xff0c;进而引发严重的后果。 因此&#xff0c;了解并掌握文件防止拷贝的方法和技术至关重要。本文将详细介绍几种常见…

C# .Net Core Zip压缩包中文名乱码的解决方法

项目中使用ICSharpCode.SharpZipLib.Zip库进行解压&#xff0c;之前自动更新程序是.NET 4.5的&#xff0c;升级到.NET 8后&#xff0c;发现解压升级包里面的中文文件名是乱码了&#xff0c;经过一番摸索&#xff0c;增加一句代码可以解决乱码问题&#xff1a; Encoding.Regist…

探索Conda世界:使用conda list命令的全面指南

探索Conda世界&#xff1a;使用conda list命令的全面指南 引言 Conda是一个流行的包管理器和环境管理器&#xff0c;广泛用于Python和其他科学计算语言的依赖管理。conda list命令是Conda工具集中的一个关键命令&#xff0c;它允许用户列出当前环境中安装的所有包及其版本。本…