⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbox.bak

📁 用Verilog实现国内第一个商用密码算法SMS4的加密和解密。
💻 BAK
字号:
//FILE NAME: SBOX_1

//PURPOSE:   SMS4

// synopsys translate_off
`include "timescale.v"
// synopsys translate_on

module sbox_1(sout,sin);

output [7:0] sout;
input  [7:0] sin;
reg    [7:0] sout;

always @(sin)
  begin
    case({sin[7:4],sin[3:0]})
    8'h00:  sout= 8'hd6;
    8'h10:  sout= 8'h90;
    8'h20:  sout= 8'he9;
    8'h30:  sout= 8'hfe;
    8'h40:  sout= 8'hcc;
    8'h50:  sout= 8'he1;
    8'h60:  sout= 8'h3d;
    8'h70:  sout= 8'hb7;
    8'h80:  sout= 8'h16;
    8'h90:  sout= 8'hb6;
    8'ha0:  sout= 8'h14;
    8'hb0:  sout= 8'hc2;
    8'hc0:  sout= 8'h28;
    8'hd0:  sout= 8'hfd;
    8'he0:  sout= 8'h2c;
    8'hf0:  sout= 8'h05;
    
    8'h01:  sout= 8'h2b;
    8'h11:  sout= 8'h67;
    8'h21:  sout= 8'h9a;
    8'h31:  sout= 8'h76;
    8'h41:  sout= 8'h2a;
    8'h51:  sout= 8'hbe;
    8'h61:  sout= 8'h04;
    8'h71:  sout= 8'hc3;
    8'h81:  sout= 8'haa;
    8'h91:  sout= 8'h44;
    8'ha1:  sout= 8'h13;
    8'hb1:  sout= 8'h26;
    8'hc1:  sout= 8'h49;
    8'hd1:  sout= 8'h86;
    8'he1:  sout= 8'h06;
    8'hf1:  sout= 8'h99;
    
    8'h02:  sout= 8'h9c;
    8'h12:  sout= 8'h42;
    8'h22:  sout= 8'h50;
    8'h32:  sout= 8'hf4;
    8'h42:  sout= 8'h91;
    8'h52:  sout= 8'hef;
    8'h62:  sout= 8'h98;
    8'h72:  sout= 8'h7a;
    8'h82:  sout= 8'h33;
    8'h92:  sout= 8'h54;
    8'ha2:  sout= 8'h0b;
    8'hb2:  sout= 8'h43;
    8'hc2:  sout= 8'hed;
    8'hd2:  sout= 8'hcf;
    8'he2:  sout= 8'hac;
    8'hf2:  sout= 8'h62;
    
    8'h03:  sout= 8'he4;
    8'h13:  sout= 8'hb3;
    8'h23:  sout= 8'h1c;
    8'h33:  sout= 8'ha9;
    8'h43:  sout= 8'hc9;
    8'h53:  sout= 8'h08;
    8'h63:  sout= 8'he8;
    8'h73:  sout= 8'h95;
    8'h83:  sout= 8'h80;
    8'h93:  sout= 8'hdf;
    8'ha3:  sout= 8'h94;
    8'hb3:  sout= 8'hfa;
    8'hc3:  sout= 8'h75;
    8'hd3:  sout= 8'h8f;
    8'he3:  sout= 8'h3f;
    8'hf3:  sout= 8'ha6;
    
    8'h04:  sout= 8'h47;
    8'h14:  sout= 8'h07;
    8'h24:  sout= 8'ha7;
    8'h34:  sout= 8'hfc;
    8'h44:  sout= 8'hf3;
    8'h54:  sout= 8'h73;
    8'h64:  sout= 8'h17;
    8'h74:  sout= 8'hba;
    8'h84:  sout= 8'h83;
    8'h94:  sout= 8'h59;
    8'ha4:  sout= 8'h3c;
    8'hb4:  sout= 8'h19;
    8'hc4:  sout= 8'he6;
    8'hd4:  sout= 8'h85;
    8'he4:  sout= 8'h4f;
    8'hf4:  sout= 8'ha8;
    
    8'h05:  sout= 8'h68;
    8'h15:  sout= 8'h6b;
    8'h25:  sout= 8'h81;
    8'h35:  sout= 8'hb2;
    8'h45:  sout= 8'h71;
    8'h55:  sout= 8'h64;
    8'h65:  sout= 8'hda;
    8'h75:  sout= 8'h8b;
    8'h85:  sout= 8'hf8;
    8'h95:  sout= 8'heb;
    8'ha5:  sout= 8'h0f;
    8'hb5:  sout= 8'h4b;
    8'hc5:  sout= 8'h70;
    8'hd5:  sout= 8'h56;
    8'he5:  sout= 8'h9d;
    8'hf5:  sout= 8'h35;
    
    8'h06:  sout= 8'h1e;
    8'h16:  sout= 8'h24;
    8'h26:  sout= 8'h0e;
    8'h36:  sout= 8'h5e;
    8'h46:  sout= 8'h63;
    8'h56:  sout= 8'h58;
    8'h66:  sout= 8'hd1;
    8'h76:  sout= 8'ha2;
    8'h86:  sout= 8'h25;
    8'h96:  sout= 8'h22;
    8'ha6:  sout= 8'h7c;
    8'hb6:  sout= 8'h3b;
    8'hc6:  sout= 8'h01;
    8'hd6:  sout= 8'h21;
    8'he6:  sout= 8'h78;
    8'hf6:  sout= 8'h87;
    
    8'h07:  sout= 8'hd4;
    8'h17:  sout= 8'h00;
    8'h27:  sout= 8'h46;
    8'h37:  sout= 8'h57;
    8'h47:  sout= 8'h9f;
    8'h57:  sout= 8'hd3;
    8'h67:  sout= 8'h27;
    8'h77:  sout= 8'h52;
    8'h87:  sout= 8'h4c;
    8'h97:  sout= 8'h36;
    8'ha7:  sout= 8'h02;
    8'hb7:  sout= 8'he7;
    8'hc7:  sout= 8'ha0;
    8'hd7:  sout= 8'hc4;
    8'he7:  sout= 8'hc8;
    8'hf7:  sout= 8'h9e;
    
    
    
    
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -