当前位置: 首页 > news >正文

信息安全数学基础-第一章学习笔记

1、如何判定整数为素数

应用定理1.1.7和欧几里得除法

举例:

2、a和b的最大公因数(a,b)

设p是一个素数,a为整数.如果pXa,则p与a互素.

a,b的最大公因数等于b,c的最大公因数

3、广义欧几里得除法

最大公因数为最后一个非0余数

举例:

4、贝祖等式s a+t b=(a,b)

构造公私钥对时使用

举例

RSA密码中,n=p q , p=q取2的1024次方或者2的2048次方

公钥 e (e,(p-1)(q-1))=1

私钥d e d=1 mod(p-1)(q-1)

e d+t(p-1)(q-1)=1

将e看成a,d看成s,(p-1)(q-1)看成b

欧几里得除法用矩阵表达

数学好难呀~~~~~

5、最大公因数进一步的性质

总结

1. 最大公因数的运算性质有哪些?

设 a,b,c 为整数,且 a,b 不全为 0,记 gcd(a,b) 为 a,b 的最大公因数,其核心运算性质如下:

  1. 基本性质

    • gcd(a,b)=gcd(b,a)(交换律)
    • gcd(a,b)=gcd(∣a∣,∣b∣)
    • gcd(a,0)=∣a∣
    • gcd(a,1)=1
  2. 线性组合性质(贝祖定理)gcd(a,b) 是 a,b 的线性组合中最小的正整数,即存在整数 s,t,使得: s⋅a+t⋅b=gcd(a,b)

  3. 整除传递性

    • 若 d∣a 且 d∣b,则 d∣gcd(a,b)
    • 若 d∣gcd(a,b),则 d∣a 且 d∣b
  4. 带余除法性质(欧几里得算法基础)若 a=bq+r,则 gcd(a,b)=gcd(b,r)

  5. 与倍数的关系

    • gcd(ka,kb)=∣k∣⋅gcd(a,b)(k 为非零整数)
    • gcd(a,b)=gcd(a,a+b)=gcd(a,a−b)
  6. 互素相关性质

    • 若 gcd(a,b)=1,则称 a,b 互素
    • 若 gcd(a,b)=1 且 a∣bc,则 a∣c
    • 若 gcd(a,b)=1,则 gcd(a,bc)=gcd(a,c)

2. 多个整数的最大公因数的计算

设整数 a1​,a2​,…,an​ 不全为 0,其最大公因数 gcd(a1​,a2​,…,an​) 的计算方法为迭代法: gcd(a1​,a2​,…,an​)=gcd(gcd(a1​,a2​),a3​,…,an​) 即:先算前两个数的最大公因数,再将结果与第三个数求最大公因数,依次迭代,直到所有数都参与计算。

例子:计算 gcd(12,18,30) gcd(12,18)gcd(6,30)​=6=6​ 所以 gcd(12,18,30)=6。


3. 多个整数的最大公因数的数学表述

  1. 定义表述设 a1​,a2​,…,an​ 是不全为 0 的整数,称整数 d 是它们的最大公因数,如果:

    • d∣ai​ 对所有 i=1,2,…,n 成立(即 d 是所有数的公因数)
    • 若 d′ 是 a1​,a2​,…,an​ 的任意一个公因数,则 d′∣d(即 d 是公因数中最大的)
  2. 贝祖定理推广存在整数 k1​,k2​,…,kn​,使得: k1​a1​+k2​a2​+⋯+kn​an​=gcd(a1​,a2​,…,an​)


4. 设 a,b,c=0 是三个整数,若 c∣a⋅b,则一定有 c∣a 或 c∣b 吗?

不一定。

反例:取 a=2,b=3,c=6

  • a⋅b=6,显然 6∣6,即 c∣a⋅b
  • 但 6∤2 且 6∤3,即 c 既不整除 a 也不整除 b

原因:c 可以分解为两个分别整除 a 和 b 的因子的乘积,这些因子的公共部分导致 c 本身不整除其中任何一个。


5. 设 p 是素数,若 p∣a⋅b,则一定有 p∣a 或 p∣b 吗?

一定成立。

这是素数的基本性质(欧几里得引理),证明如下: 设 p 是素数,p∣ab。 若 p∤a,则 gcd(p,a)=1(因为素数的正因数只有 1 和它本身)。 根据互素性质:若 gcd(p,a)=1 且 p∣ab,则 p∣b。 因此 p∣a 或 p∣b 必有一个成立。


6. 设 a,b,c 是三个非零整数,若 a∣c 且 b∣c,则一定有 a⋅b∣c 吗?

不一定。

反例:取 a=2,b=4,c=8

  • 2∣8,4∣8,即 a∣c 且 b∣c
  • 但 a⋅b=8,8∣8 成立,我们换一个更典型的反例: 取 a=2,b=4,c=4
    • 2∣4,4∣4
    • 但 a⋅b=8,8∤4

本质原因:a,b 可能不互素,它们的乘积会重复包含公共因子,导致乘积大于 c,或 c 只包含了公共因子的一次幂,无法被乘积整除。 正确的结论是:lcm(a,b)∣c(a,b 的最小公倍数整除 c),而 ab=gcd(a,b)⋅lcm(a,b),只有当 gcd(a,b)=1 时,ab=lcm(a,b),此时才有 ab∣c。

7. 如何编程计算整数 a,b 的最小公倍数 [a,b]?

最小公倍数(LCM)的核心公式是: lcm(a,b)=gcd(a,b)∣a⋅b∣​ 因此编程的关键是先求最大公因数(GCD),再用公式计算 LCM。

示例(Python 代码)

python运行

def gcd(a, b): # 欧几里得算法求最大公因数 while b != 0: a, b = b, a % b return abs(a) def lcm(a, b): if a == 0 or b == 0: return 0 # 0没有最小公倍数,按需求处理 return abs(a * b) // gcd(a, b) # 测试 print(lcm(12, 18)) # 输出:36

8. 能够运用算术基本定理计算最大公因数 (a,b) 及最小公倍数 [a,b] 吗?

可以,方法如下:

设 a,b 的素因数分解为: a=∏i=1k​piei​​,b=∏i=1k​pifi​​ (若某个素数 pi​ 不在 a 或 b 中出现,则对应的指数为 0)

  • 最大公因数:取每个素数的最小指数相乘: gcd(a,b)=∏i=1k​pimin(ei​,fi​)​
  • 最小公倍数:取每个素数的最大指数相乘: lcm(a,b)=∏i=1k​pimax(ei​,fi​)​

举例:计算 a=12=22×31,b=18=21×32

  • gcd(12,18)=2min(2,1)×3min(1,2)=21×31=6
  • lcm(12,18)=2max(2,1)×3max(1,2)=22×32=36
http://www.gsyq.cn/news/1335768.html

相关文章:

  • 负载外泌体(Exosome)的可注射水凝胶
  • brpc异步请求封装
  • 【2026 新版】Open Claw v 2.7.5 电脑端极速部署实操指南
  • 恍如宋朝的回门宴
  • Transformer 核心模块详解:多头注意力、前馈网络与词嵌入
  • Delphi二进制迷宫破解:IDR交互式重构器的逆向工程革命
  • 你的闹钟为何总在熄屏后“哑火”?——AlarmManager 精准唤醒与 Doze 破解全指南
  • 2026年知名的镇江防腐网格桥架优质厂家推荐榜 - 行业平台推荐
  • Attractor Models 深度拆解:当循环 Transformer 遇见不动点,AI 学会了自己迭代到答案
  • 【从零学Vibe Coding】第一章:Vibe Coding 到底是什么?
  • O2OA(翱途)开发平台V10 财务管理|中小企业费用业务一体化
  • LLM结构化输出工程:让模型输出你真正需要的格式
  • MobileNetV2肺癌病理图像分类|全网独家实战,MSA注意力改进篇 引入MSA多尺度注意力,强化病理特征提取、助力微小病灶识别、病理切片分类、临床辅助诊断有效涨点
  • CAPEv2 沙箱安装部署
  • 一多 OS 的技术闭环彻底打通
  • 鸿蒙动态信息流与健康档案模块:声明式列表与网格的深度融合
  • AI产品经理入门实战:如何理解数字人驱动?
  • 百万级 MySQL 大表导入前,别让这两个默认参数拖垮性能_2026-05-20
  • COMSOL电磁超声仿真避坑指南:从‘域不适用’报错到结果收敛的完整调试流程
  • 无人机算法之第四章 ArduPilot 主要配置参数及效果
  • GNSS模块教程:大夏龙雀 DX-GP21,从硬件接线到 NMEA 数据解析
  • [具身智能-824]:人的大脑,如何实现高实时、多模态联合、发现表象背后的各种规律和层层叠叠的不同层次的语义的?
  • 【C++】类和对象( 类的定义、实例化、 this指针、 C++和C语言实现Stack对比)
  • 电脑截图工具深度测评:PixPin、Snipaste、兔灵截图(Utools插件)
  • ⚡ 淘汰你的不是 AI,而是会用 AI 的同行
  • 8 张 RTX 5090 跑 Qwen3.6-27B:从装 vLLM 到压测调优的真实数据(含完整脚本)
  • 全面详解 bgfx
  • 别再乱改Rime配置了!先搞懂程序文件夹和用户文件夹的区别(Windows/Ubuntu路径详解)
  • Cursor试用限制终极解决方案:3分钟快速重置设备标识实战指南
  • 无磁钻具:市场发展现状与未来前景趋势