⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsa.m

📁 能够用matlab实现RSA算法中加密解密的功能
💻 M
字号:
function [p,q,n,e,d] = rsa()

p=[];
q=[];
n=[];
e=[];
d=[];
format long g


bit = 1024;
e_bit = 64;

X = bit/2;
X = num2str(X);
maple('x:=',X);%x = 512
maple('y:=2^x');%y = 2^512
maple('z:=y*2');%z = 2^513
maple('pp:=rand(y..z)');%产生y和z之间的随机数

maple('pp()');%在没有计算pp之前,pp是一组命令集合(?)
maple('p:=nextprime(pp())');%这两句是利用maple集成的函数计算大素数
maple('q:=nextprime(pp())');
maple('n:=p*q');

maple('temp:=(p-1)*(q-1)');%欧拉函数
TEMP = 0;
while TEMP ~= '1'
    XX = num2str(e_bit);
    maple('xx:=',XX);
    maple('xx:=2^xx');
    maple('zz:=rand(xx..(10*xx))');
    maple('e:=nextprime(zz())');
    TEMP = maple('gcd(e,temp)');
end                      %求e,方法似乎有些费时间,是一个一个素数进行验证

maple('d:=e&^(-1) mod temp');%求私钥d

p = maple('p');
q = maple('q');
n = maple('n');
e = maple('e');
d = maple('d');%这一组语句是将maple内核中的数返回MATLAB

























⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -