小编shr*_*ree的帖子

matlab中的RSA代码

我想加密诸如'HELO1234之类的消息然后解密以获得原始消息.我在matlab中编写了RSA代码,但该代码无法正常工作.

参数计算

temp=1;
range=1:10;
k=isprime(range)
prime_mat=range(find(k))
p=randsample(prime_mat,1);
q=randsample(prime_mat,1);
if(p~=q)
n=p*q;
phi_n=(p-1)*(q-1);
u=1:phi_n -1;
end
while temp
 enckey=randsample(u,1);
  deckey=randsample(u,1);
  if(enckey~=deckey)
  if(gcd(enckey,phi_n)~=1 ...
     && gcd(deckey,phi_n)~=1 ...
   &&gcd(enckey*deckey,phi_n)~=1)
    temp=1;
 else 
 temp=0;
  end
  end
end
Run Code Online (Sandbox Code Playgroud)

加密过程

 char t= 'hello123';
      t=uint8(t);
        len=length(t)
         pow=[];
         cipher_text=[];
           for i=1:len                                   
               pow=[pow;t(i).^(enckey)];  %each element of the pt matrix(plain text) is raised    to the power of encryption key(enc_key) and stored in pow matrix(power matrix)

    cipher_text=[cipher_text;mod(pow(i),n)];% cipher text is calculate
Run Code Online (Sandbox Code Playgroud)

d

输出加密过程

k =

 0     1     1     0     1     0 …
Run Code Online (Sandbox Code Playgroud)

encryption matlab rsa public-key-encryption

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

encryption ×1

matlab ×1

public-key-encryption ×1

rsa ×1