【CTF-Crypto】数论基础-01

news2024/11/24 22:45:06

数论基础

【专题说明】本系列文章主要根据B站Up主Alice-Bob学习数论基础知识,通过该系列文章,你可以对一些网安信安考试内容有一定了解,同时对于CTF中密码学方向的赛题在数论部分有更深的理解,如有不当之处,师傅们及时批评指正!
【专题展望】该系列文章会持续更新,同时后面后选择一些相关考点的CTF赛题进行补充讲解记录,毕竟学到的知识用起来才是自己的嘛!

文章目录

  • 数论基础
    • 0导读
    • 1-1 整除*
    • 1-2 素数*
    • 1-3 模运算*
    • 1-4 最大公约数*
    • 1-5 扩展欧几里得算法*
    • 1-6 最小公倍数*
    • 1-7 证明算术基本定理*
    • 1-8 等价关系
    • 1-9 同余*
    • 1-10 乘法逆元
    • 1-11 一次同余方程*
    • 1-12 剩余类*
    • 1-13 中国剩余定理
    • 1-14 欧拉函数*
    • 1-15 欧拉定理、费马小定理*

0导读

0不是自然数

抽象代数 => 主要研究代数结构 就是离散数学中的群、环、域、格

标题带星号* 表示专业课程内容涉及

1-1 整除*

整除性(Divisibility)

image-20240415102129427

性质:

image-20240415102816827

解释:

:happy: 任何整数都是0的因子

:happy: 1是任何整数的因子

:happy: 这个地方存在一个争议 就是b不能为0的问题 注意一下就好

:happy: 如果b是a的因子,那么b也是-a的因子 -b也是a的因子 人话就是因子关系与正负无关

性质:

image-20240415103848058

注意:

消去律中c不能为0

image

比较重要的时线性性:

如果b是a和c的因子,对于所有整数 都存在b是a和c线性组合后的因子

讲解一下如何证明:

对于整除的一些证明,一般都转化为等式 如b | a <=> a = qb

定理:

image-20240415104619283

将b设为1 直接得到第二部分结论

特别符号

image-20240415104727373

课后练习:

image-20240415104851427

证明:

image-20240415105123302

b就是所有ai的和

1-2 素数*

Prime

定义:正整数n >=2 除了1和n以外,没有其他正整数整除n 此时n称为“素数”;否则n称为“合数"

ps: 1既不是素数,也不是合数

ps:若n为合数,则n = ab 1< a <n 1< b <n

引理2-1:任何大于1的整数必有素因子

理解:大于1的整数不是素数就是合数,对于素数,其本身就是自己的素因子,所以必然存在;难点在于合数,即说明合数(必然大于1)一定存在素因子

证明:存在必有,一般考虑反证法

image-20240415110208280

既然上面可知任何合数都一定存在素因子,那么素因子的范围是多少

定理2-1:任何合数n都至少有一个不超过 n \sqrt n n 的素因子

证明:存在至少,浓浓的反证味

image-20240415110959192

应用:

判断n是否是素数:如果所有素数 p < = n p <= \sqrt n p<=n 都不能整除n,则n是素数(缩短穷举的范围 仅对小整数适用 在密码学中 大素数效率非常低

举例:

image-20240415111335893

定理2-2:算术基本定理

image-20240415111406638

ps:

image-20240415111940679

用法:下一个定理

定理2-3:欧几里得定理(Euclid’s Theorem):素数有无穷多个

证明:反证法

image-20240415112259228

1-3 模运算*

密码学中非常重要的一个运算,一定要理解其性质和运算方法

形式:

image-20240415114038424

负数求模:

举个🌰:-13 mod 7 = 1

计算小窍门:-13 不断加7 直到为正数, 正数是几,答案就是几

-13 + 7 = -6 + 7 = 1

归纳一下 2 * 7 -13 = 1

利用数轴法进行巧算:

image-20240415115645451

当模数是4 则将0-3卷成一个钟表

-1 mod 4 = 3

-5 mod 4 = 3

性质:

image-20240415115800535

举例:

image-20240415115848744

应用:

每一步计算都可以模模数以化简中间结果

注意!最后一步一定要模5!

除法没有这样的性质

1-4 最大公约数*

定义:

image-20240415120558427

解释:所有公因子整除d

即为d = q*公因子

ps:

image-20240415120937005

此外gcd(0,0) = 0

举例:直接转化为正数

image-20240415120953304

互素:

image-20240415121104776

image-20240415121458858

证明:

image-20240415121509883

举例:

image-20240416215440932

上面这个q1和q2就是互素的 gcd(q1, q2) = 1


那么已知两个数 如何求最大公约数呢, 欧几里得算法!也称为辗转相除法

欧几里得算法(Euclid’s algorithm)

不失一般性,设a >= b >= 0, 求gcd(a, b)

数学原理:

b = 0时,gcd(a, 0) = a (因为任何整数都是0的公因子)

b > 0时,gcd(a, b) = gcd(b, r) 其中关系为:a = qb + r (因为如果d是b和r的公因子 则一定是a的公因子 可提取)

举例

image-20240416220641665

1-5 扩展欧几里得算法*

定理5-1 最大公约数表示定理:设a, b属于Z, d = gcd(a, b), 则存在s,t 属于Z 使得as + bt = d

翻译成人话就是 整数a和b的因子 和a和b一定存在线性关系

特别的,当a和b互素即gcd(a, b) = 1 则as + bt = 1

人话就是没什么区别 只不过这里d = 1

推论:d | v <=> as + bt = v

解释:去回忆整除 这里d是v的一个因子 右边a和b的最大公因子是v 则d也是其因子


基于上述定理 得到扩展的欧几里得算法 也叫广义欧几里得算法

用途:计算as + bt = gcd(a, b) 中的s和t


既然是扩展欧几里得算法,那么一定跟欧几里得算法有关系啦

image

这里是求gcd(a, b) = rn

在应用欧几里得算法的过程中 其实q是没有用的 但是在扩展欧几里得中 我们需要理由q

求法:先假设image-20240416235656256

然后利用归纳法进行证明推导

image-20240416235729288

进一步

image-20240416235746319

则s和t 就是sn和tn

应用:

image-20240416235845075

计算:

第一步拆:100 / 35 = 2 … 30

image-20240416235913954

第二步 辗转相除 35 / 30 = 1 … 5

image-20240417000041105

第三步 30 / 5 = 6 … 0 余数为0 停止 被除数为结果

image-20240417000144101

最终直接结束

在python中存在该函数库直接调用

g,s,t = gmpy2.gcdext(e1,e2)  

1-6 最小公倍数*

先解释一下什么是公倍数:

a和b都是整数,如果m(整数)分别是a和b的倍数,则m是a和b的公倍数 可以为负哦~

然后是最小公倍数:

image-20240417003039435

推论:

  1. 设m = lcm(a, b) 如果a | c, b | c, 则 m | c
  2. 若gcd(a, b) = 1 => lcm(a, b) = ab 举例 3和5 最小公倍数就是15

计算公式:lcm(a, b) = ab / gcd(a, b)

上面这个用到了一些乘乘除除 但是我们知道在计算机中乘法效率较慢,所以尝试使用加法求解lcm

原理:两数中小的加自己,然后进行比较,直到两边相等

举例:

image-20240417003739218

1-7 证明算术基本定理*

算数基本定理:任何非零整数n,可以表示成下面的乘积形式image-20240417122301990

证明存在性:

image-20240417122605198

证明唯一性:

首先引入一个小定理:

设p是素数,a和b是整数,则p | ab => p | a 或 p | b

翻译成人话,因为p是素数,所以如果p是a乘b的因子 则p是a或b的因子

推论:设p是素数,image-20240417122901414

举例:

image-20240417122932848

唯一性证明:

image-20240417123030116

1-8 等价关系

两个关联点:集合、二元关系

主要涉及三种关系:自反性、对称性、传递性

举例1:

image-20240417152309018

人话:

  • 3=3
  • 3=3 => 3=3
  • 3=3 3=3 => 3=3

举例2:

image-20240417152437464

人话:

  • 三角形与自身全等
  • 三角形A与三角形B全等 则 三角形B也与三角形A全等
  • 三角形A和B全等 B和C全等 则三角形A和C全等

举例3:

image-20240417154534743

反例1:

image-20240417154735971

反例2:

image-20240417154758109

给出正式定义:(集合的表示方法)

image-20240417154250910

抽象表示:(类似二元运算的表示方法)

image-20240417154330194

1-9 同余*

基本概念:

image

注意一下含义:同余之所以叫同余关系,是因为其表示的是一种关系而不是运算

区分:

image

正式定义:

image-20240417161147072

解释说明:

image

因为(a - b)整除n 所以r1-r2必然为0 即r1 = r2 则表示同余

性质:image-20240417161432493

证明:对b的式子进行变形 然后带入到a中

稍微一变形:a - b = qn 你想到了什么, 正是上面的n | (a - b)

一点说明:同余是一种等价关系,如果忘记了等价关系看上一章,那么等价关系具有的一切性质,同余也都具有

运算性质:

因为同余,所以加减乘三种运算和整数中没有任何区别

对自身的操作:

image-20240417162511483

两式之间的操作

image-20240417162534806

注意嗷!必须是同余!! 上面这两个式子就是对mod 6同余

1-10 乘法逆元

乘法逆元 说的就是我们上面同余式中的除法运算,相比于普通整数中的除法还是有一点点区别滴

引入,先来一个普通乘法:

加入同余:

打起精神:这里的操作都是可以的!by the way 这不是最终答案!

因为在模运算下最终的结果一定是一个整数,也就意味着 2 − 1 2^{-1} 21 是一个整数 显然是有点问题的 所以需要转化为一个整数 下面继续看乘法逆元 看一下在mod 5的情况下 2 − 1 2^{-1} 21能转化为哪个整数

在乘法逆元中:

先回顾一下倒数的概念:两个数的乘积为1,就称这两个数互为倒数

那么在同余中 就是两数相乘取余的结果为1 就乘为倒数

那么上面中 2 − 1 2^{-1} 21 表示2在模5下的倒数
2 × 3   m o d   5 = 1 2 \times 3~mod~5 = 1 2×3 mod 5=1
故转化为3

举例:相同的数 在不同的模数下 其乘法逆元也不同

在计算过程中,我们通过第一个例子也可以看出 很多其实仍然继承了幂运算中的性质 只有在-1次方表示倒数的时候用到了mod的数值

定义:

注意点:

  1. 模n下互为乘法逆元,一般只考虑比n小的
  2. 模n内的乘法逆元是唯一的
  3. by the way 有的时候整数会以自身为乘法逆元 比如1 模任何下都是1本身 再比如4 mod 5 4就是4本身的乘法逆元
  4. 乘法逆元的存在条件:!!!!!!image-20240417165934811

​ 举例 在mod 4下 2没有逆元 所以条件为 整数和模数必须互素

​ 证明:在最后d | 1 则表明d=1 但是我们假设d不等1 而是大于1

乘法逆元的求法!蛮重要的,可以设个考点:

既然得知s就是模n下的逆元,所以调用一下扩展欧几里得算法 一计算 返回的s 就是答案

1-11 一次同余方程*

在上面了解了乘法逆元之后,我们就可以在同余的情况下进行解方程啦

原理引入:

没有模数下的为一次方程非常普通,下面给这个方程加点料,加一个模数

到此引出一次同余方程的样子,加减乘都好办,就是除法比较特殊,下面先给出一点小demo

首先看一个典型错误:

可以发现最后3和1在模6下同余,但这个根本是错的,那我们把后面的式子展开一下,找一找问题出在哪

问题就在我们没有对mod 6同时做除法,即为:

这里需要观察,我们上面的那个之所以需要对模数进行除法,因为3和6不互素 即gcd(3,6)=3

如果需要除的数和模数互素,则不需要对模数进行操作,如下:因为此时乘法逆元存在

再来个例子:

首先105和63有最大公因数21 但是不能直接除21 因为gcd(21,6) = 3 需要对模数操作

分两步走,21->3,7 因为gcd(3,6)=3 所以不能直接除3 而应该对模数也操作

对于7 gcd(7,2)=1 互素, 所以模数没有影响

但两步走有些麻烦啊,怎么化简一下嘞:

因为gcd(105,63)=21

所以直接除21 对于模数的操作为除21和6的最大公因数 gcd(21,6)=3

到此引出消去律

image-20240418162858591

到此开头的一次同余方程可解

解释一下最后几步,3/5 相当于3乘5在模2下的逆元 即考虑谁乘5mod2 =1 即答案一定小于模数 故为1

即x与3mod2同余 进一步处理 将答案放到模数下 即x与1mod2同余

最终答案只有1吗 绝对不是!而是一个剩余类 1 + 2k都可以!通式如下:

image-20240418163725077

解后拓展:观察方程

模数缩小了三倍 在解集中0-5 6个数之间 解的个数也为3,这也是规律嗷!

看一个无解的式子

下一步2要除过去了 但是gcd(2,6)= 2 两数不互素 需要对模数处理

即为 x = 3/2 (mod 6/2) 即为 x = 3/2(mod 3)

这个时候处理分数 就是乘2在模3下的逆元 谁乘2 模3 = 1嘞 2本身! ????????我这个存疑 不理解哪错了

解释:不符合消去律 因为3里面没有2的因子

官方推理:因为gcd(2,6)=2 但是不存在2 | 3 故无解

在上面这个中 gcd(5,2)=1 互素 所以1 | 3始终成立 所以有解

有解的条件

1-12 剩余类*

前面的等价关系中 有=> 等价类

现在的同余关系中 有=> 剩余类

来个小栗子:

推广:

对比:

其实对比上面两个定义我们可以发现剩余类就是一种等价类

等价类的性质同样适用于剩余类的定义:

image-20240418171931387

剩余类的记法:

如果该剩余类的余数为0 则即为[0]

代表元:剩余类中的每一个元素都是这个剩余类的代表元

剩余类集合:

注意上面这个剩余类集合,可以定义两种运算加法和乘法:

举例:

既然有乘法,那必然要考虑一下乘法逆元的问题

本质不变,只是形式略微有点变化

把这些存在逆元的剩余类放到一个新集合中

注意啊 若a=0 gcd(0,n)=n 因为0是任何整数的因子 所以最大公因子就是n本身

两者关系:

合数时表示真子集

最后来一个符号简化表示

image-20240418175600081

给个demo

image-20240418175651912

一定注意最后的a和1都是剩余类而不是整数

1-13 中国剩余定理

上一节学会了求解一次同余方程

但是我们小学学完方程学的是什么,正是方程组

所以下面我们通过中国剩余定理CRT(Chinese remainder theorem) 去求解一次同余方程组


先看看一次同余方程组的样子吧:

image-20240418181105180

注意前提条件:模数必须两类互素

在CRT中告诉我们上面这个式子必有解

image-20240418182939931

下面重点介绍如何使用CRT进行计算:

首先对每个n进行操作:

这个很好理解啊,因为n1*中去掉了n1本身 然后其他的都两两互素 所以n1*和n1一定也互素嘞

既然都互素,则存在一定存在乘法逆元,都记为t

image-20240418185056742

把这个式子汇总一下为:

之所以第二个为0 是因为ni*中没有ni 但是有nj 所以模为0

此时就可以得到方程组的一个解了 注意这个解就是x 只不过我们先用a表示 不过那些ai 却是式子中的a1 - am

此时 去思考一个点哈:

那就是a模ni 得到的余数就是ai,原因在于因为e的原因 当模ni的时候,存在ni的都会为0 所以此时只剩下eiai 然后又因为ei与1模ni同余 所以最终只有ai

OK 最后收尾总结:里面的ni*-1 是ni*在模ni下的乘法逆元 也就是上面的ti 一回事 别慌

在模1以内有唯一的解,即a mod n

下面给出应用实例:

解题:a1 = 2 a2 = 3 a3 = 2 n1 = 3 n2 = 5 n3 = 7
n = 3 × 5 × 7 = 105 n 1 ∗ = n / n 1 = 35     逆元: 35 在模 3 的逆元为 2 n 2 ∗ = n / n 2 = 21     逆元: 21 在模 5 的逆元为 1 n 3 ∗ = n / n 3 = 15     逆元: 15 在模 7 的逆元为 1 a = 35 × 2 × 2 + 21 × 3 × 1 + 15 × 2 × 1 = 233 最终答案 a   m o d   n = 233   m o d   105 = 23 n = 3\times5\times7=105 \\ n_1^* = n / n1 = 35~~~~逆元:35在模3的逆元为2 \\ n_2^* = n / n2 = 21~~~~逆元:21在模5的逆元为1 \\ n_3^* = n / n3 = 15~~~~逆元:15在模7的逆元为1 \\ a=35\times2\times2+21\times3\times1+15\times2\times1 =233 \\最终答案a~mod~n = 233~mod~105=23 n=3×5×7=105n1=n/n1=35    逆元:35在模3的逆元为2n2=n/n2=21    逆元:21在模5的逆元为1n3=n/n3=15    逆元:15在模7的逆元为1a=35×2×2+21×3×1+15×2×1=233最终答案a mod n=233 mod 105=23

占个坑吧:双射关系 不理解

image-20240418230614860

1-14 欧拉函数*

首先先回顾一个符号

Zn* 中整数是谁不是我们这节关注的,而是要关注Zn* 中整数的个数,这个个数也就是欧拉函数记作
ϕ ( n ) \phi(n) ϕ(n)
给出定义:

image-20240418235854930

即0到n-1之间与n互素的整数的个数

举个例子:

image-20240418235956232

还是要记得gcd(0,n)=n 这也就是为什么phi(1) = 1 因为gcd(0,1)= 1

小点的数我们还可以这样列出来数一数

但是n一旦比较大,我们就需要借助欧拉函数的运算性质啦

  1. image-20240419004514863
  2. image-20240419004523105
  3. image-20240419004534214

注意啊 这里的p表示素数 只有素数才适用 非素数有其他计算法

这里推导一下2和3

image-20240419011750712

举个例子吧

image-20240419012011613

1-15 欧拉定理、费马小定理*

首先还是先引入一个新的概念

  • 乘法阶:

image-20240419013328669

  • 性质:

image-20240419013716314

证明:

因为a属于Zn* 所以与n互素 所以两边同除不需要改变模数n

所以推导出最终的结果t < k与k是n的阶相矛盾


由此得出性质:

image-20240419013949686

举例:一定要先知道阶为多少 但是这有些麻烦啊

image-20240419014327886

那么像不需要知道阶进行化简,下面引出重点:

  • 欧拉定理:应用前提a和n之间必须互素

image-20240419014437978

化简:

image-20240419014704744

一道非常好的例题,融合前面知识:

image-20240419015010230


下面开始推导费马小定理

首先要说的,费马小定理其实就是欧拉函数的一种特殊情况

把模数n限定到素数p表示

image-20240419015157510

然后两边同时乘a

得到

image-20240419015216944


最后是一个关于乘法阶的计算问题

image-20240419015301921

image-20240419015438349


补充定理:

image-20240419015632857

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

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

相关文章

华为手机无法弹出wifi上网认证页面处理

华为手机无法弹出wifi上网认证页面 连wifi后跳到上图界面卡住&#xff0c;不跳转到单位的上网认证界面。 打开手机的设置应用&#xff0c;点击上面的WLAN选项。 点击上面的更多WLAN设置选项。 关闭WLAN安全检测就可以正常弹出上网认证界面&#xff0c; 正常弹出上网认证界面&a…

web安全学习笔记(12)

记一下第十六节课的内容。 一、jQuery Ajax 我们要先下载jQuery。 首先我们转移到template目录下&#xff0c;准备把jQuery下载到这下面。 直接wget下来就可以了。 这样我们就下载好了jQuery&#xff0c;下面我们学习如何使用。 jQuery 调用 ajax 方法 格式&#xff1a;$.…

量子时代加密安全与区块链应用的未来

量子时代加密安全与区块链应用的未来 现代密码学仍然是一门相对年轻的学科&#xff0c;但其历史却显示了一种重要的模式。大多数的发展都是基于几年甚至几十年前的研究。而这种缓慢的发展速度也是有原因的&#xff0c;就像药物和疫苗在进入市场之前需要经过多年的严格测试一样&…

高通滤波器(理解高通滤波器为什么会把无像素变化区域设置为0)

为什么所有的高通滤波器会把图像的背景色设置为0&#xff1f; 首先根据公式4.9-1&#xff0c;低通滤波器的定义&#xff0c;超过某个频率是百分之百通过的&#xff0c;为1.所以这里的含义是低于某个频率就会百分之百为0&#xff0c;完全不通过&#xff0c;那么可以肯定在H(0,0…

3ds Max2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 3ds Max是一款基于PC系统的强大3D建模、渲染和制作软件&#xff0c;广泛应用于游戏开发、影视后期制作、建筑设计、工业设计等多个领域。其拥有丰富的建模工具&#xff0c;可轻松创建逼真的三维场景和模型&#xff1b;同时&#…

基于SpringBoot的“论坛管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“论坛管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 论坛管理系统结构图 前台首页功能界面图 用户登录…

【GDAL-Python】4-在Python中使用GDAL进行投影转换、影像重采样以及裁剪栅格数据

文章目录 1-介绍1.1 主要内容1.2 EPSG 2-代码实现2.1 数据介绍2.2 代码实现2.3 结果及效果显示 3.参考资料 1-介绍 1.1 主要内容 &#xff08;1&#xff09;在本教程中&#xff0c;将介绍如何在 Python 中使用 gdalwarp 将栅格数据重新投影到不同的坐标参考系&#xff0c;影像…

hexo实现个人博客及涉及的技术学习

一、背景 最近,一直想做一个属于自己的网站.可以从零开始搭建一个网站,顺便可以把日常中学到的技术用于实战,还可以顺便记录自己的所思所感,记录成长的过程. 方案 一开始的方案是从零开始,模仿常见个人博客的设计,基于vueSpringbootMySQL的去实现网站. 新建项目之后,发现vu…

OSPF星型拓扑和MGRE全连改

一&#xff0c;拓扑 二&#xff0c;要求 1&#xff0c;R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2&#xff0c;R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c; 3&#xff0c;R1为中心站点所有私有网段可以互相通讯&#xff0c;私有网段…

STM32之不使用MicroLIB

一、microlib介绍 microlib 是缺省 C 库的备选库,功能上不具备某些 ISO C 特性。 microlib 进行了高度优化以使代码变得很小,功能比缺省 C 库少,用于必须在极少量内存环境下运行的深层嵌入式应用程序。 二、不使用microlib的原因 由于microlib不支持C++开发,因此在使用C…

Hotcoin 热门资产上新速报:以太坊互操作性基础设施Omni Network(OMNI)

Hotcoin持续为全球600万用户发掘优质潜力资产&#xff0c;热门币种交易上热币。一文快速了解今日上新资产:Omni Network&#xff08;OMNI&#xff09; 推荐指数 8.4 交易对 OMNI/USDT 交易时间 4月17日 GMT8 20&#xff1a;30 资产赛道 Layer1 项目简介 Omni 是以太坊…

【canvas】canvas综合运用:心形图案

#简言 利用canvas画出心形图案。 心形 心形图案可以两个椭圆相交组合&#xff0c;也可以直接画路径实现。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conte…

(助力国赛)数学建模可视化!!!含代码1(折线图、地图(点)、地图(线)、地图(多边形)、地图(密度)、环形图、环形柱状图、局部放大图)

众所周知&#xff0c;数学建模的过程中&#xff0c;将复杂的数据和模型结果通过可视化图形呈现出来&#xff0c;不仅能够帮助我们更深入地理解问题&#xff0c;还能够有效地向评委展示我们的研究成果。   今天&#xff0c;作者将与大家分享8种强大的数学建模可视化图形及其在…

虚拟现实(VR)开发框架

虚拟现实&#xff08;VR&#xff09;开发框架为开发者提供了构建VR应用程序所需的基本工具和功能。它们通常包括3D引擎、场景图、输入系统、音频系统和网络功能。下面是一些流行的VR开发框架。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

深入探索:Facebook如何重塑社交互动

在当代社会中&#xff0c;社交互动已成为日常生活的核心组成部分。而在众多的社交媒体平台中&#xff0c;Facebook凭借其卓越的用户基础和创新的功能&#xff0c;已经成为了全球最大的社交媒体平台。本文将深入探讨Facebook如何通过其独特的特性和功能&#xff0c;重塑了人们的…

鸿蒙入门06-常见装饰器( 简单装饰器 )

装饰器是鸿蒙开发中非常重要的一个环节因为在很多地方我们都需要用到装饰器并且如果我们想高度的复用, 那么装饰器就是必不可少的一环接下来我们就来介绍一些常见的装饰器注意 : 所有装饰器首字母大写 Entry 用来装饰 struct 使用表示页面的入口 Component 装饰 struct, …

MySQL中如何随机获取一条记录

点击上方蓝字关注我 随机获取一条记录是在数据库查询中常见的需求&#xff0c;特别在需要展示随机内容或者随机推荐的场景下。在 MySQL 中&#xff0c;有多种方法可以实现随机获取一条记录&#xff0c;每种方法都有其适用的情况和性能特点。在本文中&#xff0c;我们将探讨几种…

实测52.4MB/s!全志T3+FPGA的CSI通信案例分享!

CSI总线介绍与优势 CSI&#xff08;CMOS sensor parallel interfaces&#xff09;总线是一种用于连接图像传感器和处理器的并行通信接口&#xff0c;应用于工业自动化、能源电力、智慧医疗等领域&#xff0c;CSI总线接口示意图如下所示&#xff08;以全志科技T3处理器的CSI0为…

【运输层】TCP 的流量控制和拥塞控制

目录 1、流量控制 2、TCP 的拥塞控制 &#xff08;1&#xff09;拥塞控制的原理 &#xff08;2&#xff09;拥塞控制的具体方法 1、流量控制 一般说来&#xff0c;我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快&#xff0c;接收方就可能来不及接收&#x…

Simba:Mamba 增强了 U-ShiftGCN,用于视频中的骨骼动作识别

Simba&#xff1a;Mamba 增强了 U-ShiftGCN&#xff0c;用于视频中的骨骼动作识别 摘要IntroductionRelated WorksMethodologyDown-sampling ShiftGCN Encoder Experiments & ResultsDatasets Simba: Mamba augmented U-ShiftGCN for Skeletal Action Recognition in Video…