📄 rsa_digital_signature.m
字号:
function [out,sig]=RSA_digital_signature(n,m)
B=5;
[flag,p,q]=factors_resolve(n,B) ;
if flag==0
display('n不能分解成两个素数的乘积');
out=0;sig=0;
else
phi_n=(p-1)*(q-1);
e=2;%求e
while e<phi_n-1
if gcd(e,phi_n)~=1
e=e+1;
else
break;
end
end
d=1;%求d
while(1)
if mod(d*e,phi_n)~=1
d=d+1;
else
break;
end
end
sig=big_mod(m,d,n);%签名变换,获得签名
m1=big_mod(sig,e,n);%签名验证
if m1==m
display('sig为消息m的有效签名签名无效');
out=1;
else
display('sig对消息m的签名无效');
out=0;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -