Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
202 Views

I had coded RSA algorithm but i have some error(near end and end module and error in the if statement),i will attach my code, can you please check the code

module R1(c,m,p,q,i1,i2);

input [4:0]p;

input [5:0]q;input [7:0]m;

input[5:0] i1,i2;

output [19:0]c;

//reg [15:0]on;

wire [15:0]e;wire[15:0]d;wire [9:0]s;

integer k,l;

wire [9:0] j1,j2,j3,j4,j5,j6;

wire a1,a2,on;

always@(i1)

begin

k=i1;

l=i2;

if(i1[0]==1'b0 & i2[0]==1'b0)

begin

$display("not prime");

end

else

if((p%k==0)|(q%l==0))

$display("prime");

else

begin

$display("not prime");

end

end

assign s= p&q;

assign a1= p-1;

assign a2= q-1;

assign on = a1&a2;

 

module R1_enc(j5,j4,e);

input e;

output j5,j4;

always@(i1)

begin

//for (j=0;j<6;j=j+1)

//begin

assign j1=on % e;

assign j2=e % j1;

assign j3=j1 % j2;

assign j4=j2% j3;

assign j5=j3 % j4;

assign j6=j4 % j5;

//end

end

 

if(((j4%j5)==0)&((j3%j4)==1))

begin

//for(i=1;i<=n;i+1)

assign j1=on-(e&1010);

assign j2=e -(j1&1);

assign j3=j1-(j2&110);

assign j4=j2 -(j3&1);

end

else

begin

R1_enc(j5,j4,e);

end

 

//if((j3 -(j4&1))==1)&&((j4 -(j4&1))==0))

//if((j4 -(j4&1))==0)

begin

always@(e)

begin

if((j3-(j4&1))==1)

assign j4= j2-(j3&1);

if((j3-(j2&1))==1)

if((-1&j2)|(j3&10)==1)

assign j3= j1-(j2&110);

if(((-1&j2)|(j3&10))==1)

if((10&j1)|(-j2&1101)==1)

assign j2= e-(j1&1);

if((10&j1)|(-j2&1101)==1)

if((-1101&e)|(j1&1111)==1)

assign j1= on-(e&1010);

end

if(((-1101&e)|(j1&1111))==1)

if(((1111 & on)|(e & -10100011)|(e & on)|(-e & on))==1)

if(((1111 -e)& on)|(e & (on-10100011))==1)

if(((110011101 & e)|(on & -100110)) ==1)

end

always@ (e)

begin

if(((110011101 & e) % on )== 1)

begin

$display("110011101 is d");

$display("private key is (e,n)");

$display("public key is (d,n)");

end

endmodule

0 Kudos
1 Reply
Highlighted
1 View

Not familiar with the RSA algorithm. Though, I saw there is a lot of 'if' statement stack together near the end of code, shouldn't we use 'else if' statement if there is more than one statement within an IF block. Correct me if I am wrong.

0 Kudos