欧几里得算法--(密码学基础)

根基:gcd(a,b)=gcd(b,a mod b)

先举个例子吧,gcd(16,6)=gcd(6,4)=gcd(4,2)=gcd(2,0)=2

学习这个定理的时候我想了几个问题.

第一个问题:为什么求出的就一定是他们两个数的公约数?

这个问题很简单我们只需要通过几何来计较即可,从横向来看两个2可以组成一个4,而从纵向来看一个4和一个2可以组成一个6(2可以组成纵向长度),而4又可以由2组成,所以2可以组成6,而16由2个6和1个4组成,所以2可以组成横向长度.

第二个问题:问什么求出来的就一定是最大的公约数呢?

gcd(a,b)=gcd(b,a mod b),这个公式是欧几里得算法的根基,只要证明了这个公式,我们就可以证明一定是最大公约数,还是上面的例子gcd(6,16)=gcd(6,16 mod 6)=gcd(6,4),我们可以通过下图即可证明.

我个人认为寻找最大公约数是一个动态的过程,首先16和6中有可能最大的公约数为6,则进行比较,但是16 mod 6 =4 显然不是,之后我们会将6除以2的得数3进行验证(除6之外最有可能的最大公约数),之后16 mod 3 =1,也不是之后便是6除以3=2了,16 mod 2 =0,得出最终结果.

而我们要证明的是gcd(6,16)=gcd(6,16 mod 6)=gcd(6,4) 也就是证明,gcd(a,b)=gcd(b,a mod b),由上图我们可知无论最有可能的最大公约数如何变化(上图为6,3,2),最终解释权始终在4的手上,因为无论最有可能的最大公约数如何变化他都是6个公约数,6和16中的6始终可以mod尽,关键在于4能不能和那个公约数mod尽,所以以此类推可以证明:gcd(a,b)=gcd(b,a mod b),以及一定是最大公约数.

相关推荐
如君愿16 天前
考研复习 Day 52 | 密码学--第九章 密钥管理(下)
密码学·课后习题
下午写HelloWorld18 天前
可信执行环境(Trusted Execution Environment, TEE)技术解析与应用2026
密码学·数据安全·可信计算技术·tee·隐私保护·可信执行环境
终端域名18 天前
密码学哈希函数:区块链 “不可篡改” 的核心数字指纹技术
区块链·密码学·哈希算法
国际学术会议-杨老师19 天前
2026年量子算法、密码学与数据分析国际会议(QACDA 2026)
数据分析·密码学·量子计算
如君愿20 天前
考研复习 Day 51 | 密码学--第九章 密钥管理(上)
密码学
黄金龙PLUS21 天前
基于ARX结构的新型序列密码算法FlashLight
算法·网络安全·密码学·哈希算法·同态加密
下午写HelloWorld22 天前
【概念与应用】轻量级加密算法LEA、动态脱敏算法DDA、零知识证明ZKP和优化协同交互协议OCIP
算法·区块链·密码学·安全架构·零知识证明
如君愿22 天前
考研复习 Day 50 | 密码学--第八章 数字签名与身份认证(下)
密码学·课后习题
下午写HelloWorld22 天前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
夏语灬22 天前
cryptography:Python 密码学标准库的终极选择
开发语言·python·密码学