数字

时间:2015-08-26 05:29:49

标签: matlab cryptography primes public-key-encryption

我试图实现here中描述的算法来查找素数的原始根。

它适用于小素数,但是当我尝试大数字时,它不再返回正确的答案。

然后我注意到a^(p-1)/pi往往是一个很大的数字,它在MATLAB中返回inf,所以我认为分解(p-1)会有所帮助,但我没有看到如何。< / p>

我在MATLAB中写了一小段代码,现在是。

clear all
clc

%works with prime =23,31,37,etc.

prime=761; %doesn't work for this value

F=factor(prime-1); % the factors of prime-1
 for i = 2: prime-1
        a=i;
        tag =1;
        for j= 1 :prime-1
            if (isprime(j))
                 p_i = j;
                 if(mod(a^((prime-1)/p_i),prime)== 1)
                     tag=0;
                     break 
                else
                    tag = tag +1;
                 end
            end
        end
        if (tag > 1 )
            a %it should only print the primitive root
            break
        end
end

欢迎任何输入。 感谢

0 个答案:

没有答案