标题: Verilog DEs AES加密与解密代码 Quartus II可执行 [打印本页]

作者: flyingboy    时间: 2017-11-6 16:37
标题: Verilog DEs AES加密与解密代码 Quartus II可执行
Quartus II可执行的Verilog代码 实现DEs AES加密和解密


全部资料51hei下载地址:
aes_top.zip (7.4 MB, 下载次数: 87)

部分代码:
  1. //`timescale 1 ns/ 1 ps
  2. module aes_top
  3. (
  4.   input clock,
  5.   output reg  over
  6.   //input rst,
  7.   //input flag,
  8.   //input [32:1] indata,
  9.   //output [32:1] outdata
  10. );
  11. reg rst;
  12. reg flag;
  13. //reg [32:1] indata;
  14. wire [32:1] outdata;
  15. wire overkey;
  16. wire overdecrp;
  17. wire overcrp;
  18. wire enkey,encrp,endecrp;
  19. wire [128:1] crp_out;
  20. wire [128:1] crp_in;
  21. wire [128:1] keyin;
  22. wire [128:1] key_out;
  23. wire [4:1] rn_key;  
  24. reg [4:1] state=4'h0;
  25. integer i=0;
  26. integer j=0;
  27. parameter s0=4'h0,s1=4'h1,s2=4'h2,s3=4'h3,s4=4'h4,s5=4'h5,s6=4'h6;
  28. //assign over=clock;
  29. always @(posedge clock)
  30. begin
  31.         case(state)
  32.         s0:
  33.           begin
  34.             rst=0;
  35.                  flag=1;
  36.                  state=s1;
  37.                  over=0;
  38.           end
  39.         s1:
  40.           begin
  41.             rst=1;
  42.                  state=s2;
  43.           end
  44.         s2:
  45.           begin
  46.             if(overcrp==1||overdecrp==1)
  47.                   begin
  48.                           if(i==100)
  49.                           begin
  50.                       over=1;
  51.                                 i=0;
  52.                            state=s3;
  53.                           end
  54.                           else if(i<100)
  55.                           begin
  56.                            i=i+1;
  57.                                 state=s0;
  58.                           end  
  59.                   end
  60.                  else
  61.                    state=s2;
  62.           end
  63.          s3:
  64.           begin
  65.             over=1;
  66.                  state=s4;
  67.           end
  68.          s4:
  69.           begin
  70.             over=1;
  71.                  if(j==10)
  72.                   begin
  73.                      j=0;
  74.                           state=s0;
  75.                   end
  76.                  else if(j<10)
  77.                   begin
  78.                     j=j+1;
  79.                    state=s3;
  80.                   end
  81.           end
  82.    endcase
  83. end

  84. regist regist
  85. (
  86.         //.indata(indata),
  87.    .clock(clock),
  88.         .rst(rst),
  89.         .overkey(overkey),
  90.         .flag(flag),
  91.         .overcrpc(overcrp),
  92.         .overcrpm(overdecrp),
  93.         .outcrp(crp_out),
  94.         .outdata(outdata),
  95.         .data(crp_in),
  96.         .key(keyin),
  97.         .enkey(enkey),
  98.         .encrpc(encrp),
  99.         .encrpm(endecrp)
  100. );

  101. key_sub key_sub
  102. (
  103.         .keyin(keyin),
  104.         .enkey(enkey),
  105.         .rn(rn_key),
  106.         .clock(clock),
  107.         .overkey(overkey),
  108.         .keyout(key_out)
  109. );

  110. crp_cl crp_cl
  111. (
  112.    .clock(clock),
  113.         .encrp(encrp),
  114.         .endecrp(endecrp),
  115.         .datain(crp_in),
  116.         .keyin(key_out),
  117.         .rn_key(rn_key),
  118.         .overcrp(overcrp),
  119.         .overdecrp(overdecrp),
  120.         .crp_out(crp_out)
  121. );

  122. endmodule
复制代码




作者: flyingboy    时间: 2017-11-6 18:41
DES代码
作者: aestest    时间: 2018-4-28 16:23
学习下
作者: ssz    时间: 2018-8-30 17:37
请问一下里面的各个文件都是做什么的

作者: caesar.xu    时间: 2018-8-31 10:07
做FPGA 反编译么 ?
作者: wc411421    时间: 2018-10-30 16:38
楼主可以解释一下aes_top.v中的四个状态吗,下面是状态s2的代码
s2:
          begin
            if(overcrp==1||overdecrp==1)       // 100次加密或解密?
                  begin
                          if(i==100)
                          begin
                      over=1;
                                i=0;
                           state=s3;
                          end
                          else if(i<100)
                          begin
                           i=i+1;
                                state=s0;
                          end  
                  end
                 else
                   state=s2;
          end
这个是重复加密100次吗?
其实没太理解变量 i 和变量 j 的作用
作者: Young粥    时间: 2018-11-29 13:20
非常感谢!
作者: 吉阆尤人    时间: 2019-9-19 13:57
aes128算法在ISE开发环境中工程源码:http://www.51hei.com/bbs/dpj-170082-1.html
作者: 吉阆尤人    时间: 2019-9-19 14:00
请问支持哪个系列FPGA?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1