带素数算法模块算术的主动问题-数学堆栈交换 来自math.stackexchange.com的最新30条 2024-07-01T12:06:01Z https://math.stackexchange.com/feeds/tag?标记名=prime-数字+算法+模块算法&amp;sort=最新 https://creativecommons.org/licenses/by-sa/4.0/rdf https://math.stackexchange.com/q/3897624 2 有没有一种更简单的方法来求2^n MOD素数(>2)的(群大小)?[副本] 大卫·布朗 https://math.stackexchange.com/users/846715 2020-11-07T11:28:00Z 2020-11-07T11:28:00Z <p>我不确定我正在查看的功能的正确数学名称。我已经很久没有在学校学习数学了<a href=“https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n“rel=”nofollow noreferrer“>https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n</a>似乎与这类事情有关,但让我无法确定自己是否理解所写的内容</p>(第页)<p>下面我用“%”作为MOD,用“^”作为“提升到”的幂。我很罗嗦</p>(第页)<p>对于所有素数&gt;对于所有整数n,有一个序列{2^n%素数,0到无穷}。即{2^0%prime=1,2^1%prime=2,..2^(prime-1)%prime=1,2^prime%prime=2,..}对于所有整数m,2^((素数-1)*m)%prime=1和2^</p><p>然而,如果素数是7,则序列由较短序列的两个实例组成,因此:2^0%7 = 1, 2^1%7 = 2, 2^2%7 = 4, 2^3%7 = 1, 2^4%7 = 2, 2^5%7 = 4, 2^6%7 = 1然后2^(6*n)%7仍然是1;但这些是额外的值,也是at(2^(3+6*n)%7)的另一组</p><p>所以循环长度(质数)就是我所说的第一个n&gt;0,其中2^n模素数为1</p><p>我插入了一些代码,通过反复试验来计算。。有一些琐碎的用途</p><pre><code>长周期长度(长素数){长余数=1;长=0;做{长度++;//#定义FAST_MODULO#如果定义为FAST_MODULO余数=(余数+余数)%质数;#其他余数+=余数;如果(余数&gt;素数)余数-=素数;#结尾if(余数==1)返回长度;}while(长度&lt;质数/2);返回素数-1;}size_t pow_of2(无符号n){size_t结果=1;size_t功率=2;而(n){如果(n&amp;1)结果*=pow;pow*=功率;n/=2;}返回结果;}#包括&lt;iostream&gt;使用std::cout;int main(int ac,char**av){长素数=17;不能&lt&它&quot;周期长度(17)=&quot&它&书信电报;循环长度(17)&lt&“lt;”\n’;不能&lt&lt&quot;2^16=&quot&它&书信电报;功率of2(16)&lt&“lt;”\n’;不能&lt&它&quot;2^33=&quot&它&书信电报;功率of2(33)&lt&“lt;”\n’;不能&lt&它&quot;33%CL(17)=&它&书信电报;33%循环长度(17)&它&它&quot;,2^(33%CL(17))%17=&quot&它&书信电报;pow_of_2(33%循环长度(17))%17&lt&“lt;”\n’;不能&lt&它&quot;2^33%17=&quot&它&书信电报;功率of2(33)%17&lt&“lt;”\n’;不能&lt&书信电报;标准::endl;}</code></pre><p>我已经观察到,循环要么是长度(素数-1),要么是除数(素数-1)</p>(第页)<p>因此,通过在(n==prime/2)处停止并返回(prime-1)来减少运行时间,因为这是唯一剩下的情况;因此,代码的速度大约快了25%</p>(第页)<p>该算法目前的时间复杂度为O(N)。我希望能找到线索或洞察力来减少这种情况</p>(第页)<p>感谢您阅读本文</p>(第页) https://math.stackexchange.com/q/3324111网址 2 找到一种在素向量上进行CRT的新方法 门迪·巴雷尔 https://math.stackexchange.com/users/474149 2019-08-15T14:15:32Z 2019-08-15T18:20:24Z <p>我发现了一种在素向量上进行CRT的新方法</p>(第页)<p>给定素数列表p和一些残差R=mod(n,p),例如:</p><pre><code>P=[2 3 5 7 11]R=[1 0 3 1 9]</code></pre><p>此matlab函数将重建原始数字:</p><pre><code>函数[crt]=crt_mendi_clean(R,P)%2019年,Mendi Barel版权所有。%例如:n=434,P=素数(13),R=mod(n,P),[crt]=crt_mendi_clean(R,P)crt=0;%初始crt首次出现滞后=1;%具有滞后的init primorials。[1 2 6 30 210...]对于i=1:长度(R)p=p(i);r=r(i);u=mod(crt,p);对于j=0:p-1,如果mod(primorilag*j,p)==u,ju=j;中断、结束、结束对于j=0:p-1,如果mod(primorilag*j,p)==r,jr=j;中断、结束、结束v=mod(jr-ju,p);crt=crt+primorilag*v;primorilag=primorirag*p;结束结束</code></pre><p>对于我们的示例:crt_mendi_clean([1 0 3 1 9],[2 3 5 7 11])</p><p>唯一的限制是重建所需的明显限制:<code>n&lt;primarial(P(end))</code></p>(第页)<p>这是一种新算法吗?还是已经知道了</p>(第页) https://math.stackexchange.com/q/3230278 1 伪随机生成器开始重复自身的时间 零冷却 https://math.stackexchange.com/users/346318 2019年5月18日下午6:01:34Z 2019-05-18T14:55:35Z <p>正如你所知,伪随机发生器的一般公式是</p><pre><代码>U(n)=a*U(n−1)+b[mod z]</code></pre><p>其中,我们可以控制<code>U(n-1)</code>和<code>a</p><p>我想知道是否有一个公式可以告诉你在开始重复这些数字之前生成多少数字</p>(第页)<p><strong>例如</strong></p><p>如果我们有</p><ul><li>a=2</li><li>b=5</li><li>U(n-1)=6</li><li>z=26</li></ul><p>我们在序列开始重复之前生成了12个数字</p> https://math.stackexchange.com/q/3186736网址 -1 如何求解指数模算术方程的基?[已关闭] Salum Nbarak公司 https://math.stackexchange.com/users/663871 2019-04-13T21:04:23Z 2019-04-15T18:56:08Z <p>问题是:</p><p><span class=“math-container”>$10\equiv M^5\mod{35}$$</p><p>如何隔离和求解$M$</span></p>(第页) https://math.stackexchange.com/q/2234411 试图更好地理解Miller-Rabin算法 用户436854 https://math.stackexchange.com/users/436854 2017年4月14日T19:28:42Z 2017年4月14日T23:07:48Z <p><strong>我目前所了解的</p><p><em>简单案例</em>:我知道我们只关心奇$n$,因为偶数$n$永远都不是质数,除非$n=2$</p>(第页)<p><em>基本设置</em>:如果$n$是奇数,那么$n-1$是偶数,因此我们可以写$n-1=2^r d$来表示正$r,d$(其中$d$是奇数)</p>(第页)<p>费马小定理:我知道对于某些不能被$p$整除的整数$a$,如果$p$是素数,那么$a^{p-1}\equiv1\pmodp$必须为真</p>(第页)<p>欧几里德引理和模平方;2$,这将重新排列为$(x-1)(x+1)\equiv 0\pmod p$,表示$x\equiv1\pmod p$=true或$x\equiv-1\pmodp$为true(但不是同时为true)</p>(第页)<p><strong>我不明白的地方</strong></p><p>剩下的。假设我们有个奇怪的候选人$n&gt;2$,我们还假设它恰好是质数,$n=p$</p>(第页)<p>然后$a^{p-1}\equiv 1\pmod p$可以通过替换基本设置方程重写为$a^{2^rd}\equiv 1\pmod p$</p>(第页)<p>如果我设置$x^2\equiva^{p-1}\pmodp$,那么$x\equiv\sqrt{a^{p1}}\equiv a^{frac{p-1{2}}\Equiva|{frac}{2^rd}{2}{}}\ equivA^{2^{r-1}天}\pmod p$只要$r&gt;0$. </p>(第页)<p>一旦$r=0$,我认为我们不能再往前走了,因为$d$是奇数,但我不知道是否仍有可能继续下去,即我可以做$x\equiv\sqrt{a^{2k+1}}\pmodp$吗</p>(第页)<p>无论如何,我从欧几里得/模平方步中知道这意味着$a^{2^{r-1}天}\equiv 1\pmod p$或$a^{2^{r-1}天}\equiv-1\pmodp$(但我不知道这是否也需要应用于原始的$a^{2^rd}$)</p>(第页)<p><strong>我的问题:</strong></p><ol><li><p>到目前为止,我在这方面有没有犯过任何错误</p>(第页)</li><li><p>我们该何去何从?是从$a^{2开始的想法吗^{r-1}天}\bmod p$并确保每次降低$r$的指数时,它总是等于$1$或$-1$模$p$?如果它与其他值相等,$n$不是质数</p>(第页)</li><li><p>如果我们达到$1,我们该怎么办?既然我们不再有$x^2\equiv 1\pmod p$先决条件,那么我们可以从那里走下去</p>(第页)</li><li><p>即使我们随机选择$a&lt;如果p$通过了所有测试,我们会继续选择$a$条款直到出现问题吗?我们必须彻底测试所有1美元吗;a&lt;p$</p>(第页)</li><li><p>$a=0$怎么样?我知道这违反了费马小定理的假设,但如果其他一切都失败了,我们是否有可能必须尝试它来确保输入是质数或不是质数</p>(第页)</li></ol> https://math.stackexchange.com/q/2084162 1 RSA算法的解密 米什利什·乌帕迪耶 https://math.stackexchange.com/users/234055网址 2017-01-05T01:49:25Z 2017年1月5日T01:58:09Z <p>使用$e=3、d=7$和$n=33$使用$\text(RSA)$算法加密的纯文本消息$\text(BAHI)$,并且使用字母$A$到$Z$的值$00$到$25$对消息的字符进行编码。假设实现了逐字符加密。然后,密码文本消息是</p><ol><li>$\text(ABHI)$</li><li>$\text(HAQC)$</li><li>$\text(IHBA)$</li><li>$\text(BHQC)$</li></ol><小时><p>我的尝试:</p><p>使用RSA解密</p><p>使用他的私钥$(n,d)$计算$m=c^d\mod n$</p>(第页)<p>从消息代表$m$中提取明文</p>(第页)<p>我假设:$A-1、B-2、C-3、D-4、E-5….$etc(消息编码使用$01-26)$。然后</p><p>$B=2→2^7\mod 33=29-26=3→C$</p><p>$A=1→1^7\mod 33=1→A$</p><p>$H=8→8^7\mod 33=2→B$</p><p>$I=9→9^7\mod 33=15→O$</p><p>密码文本消息:$CABO$</p>(第页)<小时><p>此外,如果我假设$A-0、B-1、C-2、D-3、E-4….$等(根据问题使用$00-25$编码的消息)</p>(第页)<p>然后我会得到解密的消息:$BACC$</p>(第页)<p>但是,没有匹配的选项。官方ke被赋予期权$(2)$</p><小时><p>在某些地方,它解释为:</p><区块报价><p>对于BAHI A-1、B-2、C-3、D-4、E-5,。。。。etc(消息编码使用01-26)</p><p>B=>2=>27 mod 33=8=>H A=>1=>17 mod 33=1=>A H=>8=>87 mod 33=17=>Q I=>9=>97 mod 33=3=>C密码文本消息:HAQC</p><p>A-0、B-1、C-2、D-3、E-4,。。。。等(消息编码使用00-25,根据问题)</p><p>B=>1=>17 mod 33=0=>B A=>0=>07 mod 33=1=>A H=>7=>77 mod 33=13=>N I=>8=>87 mod 33=17=>R密码文本消息:BANR</p></blockquote><p>但是,我没有得到他的mod操作</p>(第页)<区块报价><p>你能解释一下吗</p>(第页)</blockquote> https://math.stackexchange.com/q/1750603 0 模幂运算在素数模上不起作用? 圣人 https://math.stackexchange.com/users/190190 2016年4月20日03:28:42Z 2016年4月20日3:37:00Z <p>对于使用模幂运算的83627264^275372 mod 277,当我在Wolfram上检查时,我注意到事情没有排成一行。到目前为止,我有这个:</p><p>83627264^1模块277=13383627264^2模块277=23883627264^4修改277=238^2修改7=0</p><p>但根据Wolfram,83627264^4 mod 277实际上等于136</p>(第页)<p>我是把事情搞砸了,还是完全错过了一步</p>(第页) https://math.stackexchange.com/q/887046 1 计算非常非常大的正整数幂函数的数字模 转基因怪物 https://math.stackexchange.com/users/167890网址 2014年8月4日T11:37:55Z 2014年8月4日T18:27:50Z <p>我正在编写一个代码来计算$p^Q$,其中$p$、$Q$是正整数,位数可达$100000$</p>(第页)<p>我希望结果是$r=p^Q\pmod{10^9+7}$,其中$10^9+7$是质数</p>(第页)<p>示例:</p><p>$$\开始{align}P&amp;=34534985349875439875439875349875\\问题=93475349759384754395743975349573495\\\四线组\\r&amp;=735851262\结束{对齐}$$</p><p>我试着使用这个技巧:</p><p>$$\开始{align}P^Q\pmod{10^9+7}&amp;=\下大括号{P\times P\times\ldots\times P}_{Q\text{times}}\pmod{10^9+7}=\\&amp;=\大(大括号{P\pmod{10^9+7}\times\ldots\times P\pmod{10^9+7}}_{Q\text{times}}\Big)\pmod\结束{align}$$</p><p>由于$p$和$Q$都非常大,我应该将它们存储在数组中,并逐位进行模运算</p>(第页)<p>有没有有效的方法来实现这一点,或者我缺少的一些数论算法</p>(第页)<p>提前谢谢</p> https://math.stackexchange.com/q/850543 0 素数的AP项倍数 用户157452 https://math.stackexchange.com/users/157452 2014年6月28日T16:32:41Z 2014年6月28日T16:39:04Z <p>我有这个方程式:</p><pre><代码>(a+(n-1)d)%p=0</code></pre><p>这里a和d可以达到10^18,p是10^9的素数</p>(第页)<p>如何在这里找到n的最小值</p>(第页)<p>示例:如果a=4,d=9,p=11,那么这里的答案是3</p><p>作为(4+18)%11=0</p> https://math.stackexchange.com/q/680286 1 使用mod查找唯一整数 尤塞雷什 https://math.stackexchange.com/users/30575 2014年2月18日T01:47:16Z 2014年2月18日T03:35:09Z <p>考虑两个不同的质数$x$和$y$。证明以下是正确的:对于每对数字$m$和$n$,使$0\le-m&lt;x$和$0\le n&lt;y$,有一个唯一的整数$q$,其中$0\le q&lt;xy$,因此:$$q\equiv m\mod x \\q\equav n \mod y$$</p><p>为了解决这个问题,我想我们必须找出$q$的数量,范围为$[0,xy)$,它可以有相同的结果模$x$和模$y$,并计算有多少$q$</p> https://math.stackexchange.com/q/635168 0 求二次同余解的概率时间算法(p为素数的情况) 查理·帕克 https://math.stackexchange.com/users/118359 2014年1月11日T22:37:38Z 2014-01-12T02:07:22Z <p>我试图解出以下方程式:</p><p>$$y=x^2\bmod p$$</p><p>其中$p$是prime</p>(第页)<p>我试图在BPP中找到一种解决这个和那个问题的算法(我认为在p中没有)。我知道它的存在,所以对算法的解释或对它所在位置的链接都很好</p>(第页)<p>如果有人知道这些算法的名称,那就太棒了!(在谷歌上搜索或查找它们更容易)</p> https://math.stackexchange.com/q/556976 1 如何找到构成$x^{15}\equiv-1\mod p$的所有自然$x$,其中$p$是质数,x<p 用户2435678 https://math.stackexchange.com/users/96127 2013年11月8日T15:36:37Z 2013年11月8日T17:07:02Z <p>对于给定的素数$p$,我如何找到构成$x^{15}\equiv-1\mod p$的所有自然$x$,其中$p$是素数,x&lt;对吗?问题是要彻底尝试每一个$x&lt;p$的效率太低了。我知道像Tonelli-Shanks这样的算法可以给出平方的结果,但我如何将其推广到其他幂</p>(第页)<p>抱歉涉及到一些CS</p>(第页) https://math.stackexchange.com/q/184933 1 模乘逆与模指数方程 用户1613396 https://math.stackexchange.com/users/38370 2012年8月21日07:42:54Z 2012年8月21日17:05:52Z <p>我正在解一个包含那个等式的问题</p>(第页)<p><a href=“https://i.sstatic.net/sHYnH.gif“rel=”nofollow noreferrer“>$$键=(\sum_{K=0}^n\frac{1}{a^K})\mod m$$</a></p><小时><h3>给定:</h3><ul><li>2000000000美元$</li><li>20000000000美元$</li><li>2000000000美元$</li><li>$a$和$m$是互质</li></ul><小时><h3>我的方法:</h3><p><img src=“https://i.sstatic.net/xNw7Q.gif网站“alt=”我的方法“></p><p>求解第二部分</p><ul><li>使用几何序列和,我将方程转换为这种形式</li><li>我用欧几里德的扩展算法得到“$a$”的模乘逆</li><li>然后我用模幂计算它的模为“$m$”</li></ul><小时><h3>问题:</h3><ul><li>第一部分怎么样?考虑到问题的极限,我该如何计算</li></ul>