RSA解密Matlab,RSA加密算法--matlab

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

clc

clear

ss=input(*输入两质数---1*);

bb=input(*输入两质数---2*);

%x=input(*随机输入两个数--第一个*);

%y=input(*随机输入两个数--第二个*);

%a=primes(p(1));%小于10000的素数

%b=primes(p(2));%小于20000的素数

%c=setxor(a,b);%10000到20000之间的素数

%m=round(1+(numel(c)-1)*rand());%素数的随机序号

%ss=c(x)

%bb=c(y)

n=ss*bb;

fain=(ss-1)*(bb-1);

e=floor(unifrnd(0,fain,1,1));

while (gcd(e,fain)~=1)|(e<2)

e=floor(unifrnd(0,fain,1,1));

end

n1=fain;

n2=e;

b1=0;

b2=1;

for i=1:1000

q1=floor(n1/n2);

r=n1-q1*n2;

if r~=0

n1=n2;

n2=r;

t=b2;

b2=b1-q1*b2;

b1=t;

else

break

end

end

if n2~=1

warning(*bucunzai*);

end

if n2==1

d=mod(b2,fain)

fid=input(*明文是*,*s*);

f=abs(fid);

for i=1:length(f)

a=f(i);

b=e;

c=1;

for j=1:1000

if b==0

dashuchenmi=c;

end

if mod(b,2)~=0

b=b-1;

c=mod(c*a,n);

else

b=b/2;

a=mod(a*a,n);

end

end

dashuchenmi=c;

miwen(i)=setstr(dashuchenmi);

end

for i=1:length(f)

a2=miwen(i);

b2=d;

c2=1;

for j=1:1000

if b2==0

dashuchenmi2=c2;

end

if mod(b2,2)~=0

b2=b2-1;

c2=mod(c2*a2,n);

else

b2=b2/2;

a2=mod(a2*a2,n);

end

end

dashuchenmi2=c2;

mingwen(i)=setstr(dashuchenmi2);

end

end

disp(*miwen*)

miwen

disp(*mingwen*)

mingwen

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值