📄 des56.vhd
字号:
x"6" when "100001", x"4" when "100010", x"9" when "100011", x"8" when "100100", x"f" when "100101", x"3" when "100110", x"0" when "100111", x"b" when "101000", x"1" when "101001", x"2" when "101010", x"c" when "101011", x"5" when "101100", x"a" when "101101", x"e" when "101110", x"7" when "101111", x"1" when "110000", x"a" when "110001", x"d" when "110010", x"0" when "110011", x"6" when "110100", x"9" when "110101", x"8" when "110110", x"7" when "110111", x"4" when "111000", x"f" when "111001", x"e" when "111010", x"3" when "111011", x"b" when "111100", x"5" when "111101", x"2" when "111110", x"c" when "111111", "XXXX" when others; with b4 select s4 <= x"7" when "000000", x"d" when "000001", x"e" when "000010", x"3" when "000011", x"0" when "000100", x"6" when "000101", x"9" when "000110", x"a" when "000111", x"1" when "001000", x"2" when "001001", x"8" when "001010", x"5" when "001011", x"b" when "001100", x"c" when "001101", x"4" when "001110", x"f" when "001111", x"d" when "010000", x"8" when "010001", x"b" when "010010", x"5" when "010011", x"6" when "010100", x"f" when "010101", x"0" when "010110", x"3" when "010111", x"4" when "011000", x"7" when "011001", x"2" when "011010", x"c" when "011011", x"1" when "011100", x"a" when "011101", x"e" when "011110", x"9" when "011111", x"a" when "100000", x"6" when "100001", x"9" when "100010", x"0" when "100011", x"c" when "100100", x"b" when "100101", x"7" when "100110", x"d" when "100111", x"f" when "101000", x"1" when "101001", x"3" when "101010", x"e" when "101011", x"5" when "101100", x"2" when "101101", x"8" when "101110", x"4" when "101111", x"3" when "110000", x"f" when "110001", x"0" when "110010", x"6" when "110011", x"a" when "110100", x"1" when "110101", x"d" when "110110", x"8" when "110111", x"9" when "111000", x"4" when "111001", x"5" when "111010", x"b" when "111011", x"c" when "111100", x"7" when "111101", x"2" when "111110", x"e" when "111111", "XXXX" when others; with b5 select s5 <= x"2" when "000000", x"c" when "000001", x"4" when "000010", x"1" when "000011", x"7" when "000100", x"a" when "000101", x"b" when "000110", x"6" when "000111", x"8" when "001000", x"5" when "001001", x"3" when "001010", x"f" when "001011", x"d" when "001100", x"0" when "001101", x"e" when "001110", x"9" when "001111", x"e" when "010000", x"b" when "010001", x"2" when "010010", x"c" when "010011", x"4" when "010100", x"7" when "010101", x"d" when "010110", x"1" when "010111", x"5" when "011000", x"0" when "011001", x"f" when "011010", x"a" when "011011", x"3" when "011100", x"9" when "011101", x"8" when "011110", x"6" when "011111", x"4" when "100000", x"2" when "100001", x"1" when "100010", x"b" when "100011", x"a" when "100100", x"d" when "100101", x"7" when "100110", x"8" when "100111", x"f" when "101000", x"9" when "101001", x"c" when "101010", x"5" when "101011", x"6" when "101100", x"3" when "101101", x"0" when "101110", x"e" when "101111", x"b" when "110000", x"8" when "110001", x"c" when "110010", x"7" when "110011", x"1" when "110100", x"e" when "110101", x"2" when "110110", x"d" when "110111", x"6" when "111000", x"f" when "111001", x"0" when "111010", x"9" when "111011", x"a" when "111100", x"4" when "111101", x"5" when "111110", x"3" when "111111", "XXXX" when others; with b6 select s6 <= x"c" when "000000", x"1" when "000001", x"a" when "000010", x"f" when "000011", x"9" when "000100", x"2" when "000101", x"6" when "000110", x"8" when "000111", x"0" when "001000", x"d" when "001001", x"3" when "001010", x"4" when "001011", x"e" when "001100", x"7" when "001101", x"5" when "001110", x"b" when "001111", x"a" when "010000", x"f" when "010001", x"4" when "010010", x"2" when "010011", x"7" when "010100", x"c" when "010101", x"9" when "010110", x"5" when "010111", x"6" when "011000", x"1" when "011001", x"d" when "011010", x"e" when "011011", x"0" when "011100", x"b" when "011101", x"3" when "011110", x"8" when "011111", x"9" when "100000", x"e" when "100001", x"f" when "100010", x"5" when "100011", x"2" when "100100", x"8" when "100101", x"c" when "100110", x"3" when "100111", x"7" when "101000", x"0" when "101001", x"4" when "101010", x"a" when "101011", x"1" when "101100", x"d" when "101101", x"b" when "101110", x"6" when "101111", x"4" when "110000", x"3" when "110001", x"2" when "110010", x"c" when "110011", x"9" when "110100", x"5" when "110101", x"f" when "110110", x"a" when "110111", x"b" when "111000", x"e" when "111001", x"1" when "111010", x"7" when "111011", x"6" when "111100", x"0" when "111101", x"8" when "111110", x"d" when "111111", "XXXX" when others; with b7 select s7 <= x"4" when "000000", x"b" when "000001", x"2" when "000010", x"e" when "000011", x"f" when "000100", x"0" when "000101", x"8" when "000110", x"d" when "000111", x"3" when "001000", x"c" when "001001", x"9" when "001010", x"7" when "001011", x"5" when "001100", x"a" when "001101", x"6" when "001110", x"1" when "001111", x"d" when "010000", x"0" when "010001", x"b" when "010010", x"7" when "010011", x"4" when "010100", x"9" when "010101", x"1" when "010110", x"a" when "010111", x"e" when "011000", x"3" when "011001", x"5" when "011010", x"c" when "011011", x"2" when "011100", x"f" when "011101", x"8" when "011110", x"6" when "011111", x"1" when "100000", x"4" when "100001", x"b" when "100010", x"d" when "100011", x"c" when "100100", x"3" when "100101", x"7" when "100110", x"e" when "100111", x"a" when "101000", x"f" when "101001", x"6" when "101010", x"8" when "101011", x"0" when "101100", x"5" when "101101", x"9" when "101110", x"2" when "101111", x"6" when "110000", x"b" when "110001", x"d" when "110010", x"8" when "110011", x"1" when "110100", x"4" when "110101", x"a" when "110110", x"7" when "110111", x"9" when "111000", x"5" when "111001", x"0" when "111010", x"f" when "111011", x"e" when "111100", x"2" when "111101", x"3" when "111110", x"c" when "111111", "XXXX" when others; with b8 select s8 <= x"d" when "000000", x"2" when "000001", x"8" when "000010", x"4" when "000011", x"6" when "000100", x"f" when "000101", x"b" when "000110", x"1" when "000111", x"a" when "001000", x"9" when "001001", x"3" when "001010", x"e" when "001011", x"5" when "001100", x"0" when "001101", x"c" when "001110", x"7" when "001111", x"1" when "010000", x"f" when "010001", x"d" when "010010", x"8" when "010011", x"a" when "010100", x"3" when "010101", x"7" when "010110", x"4" when "010111", x"c" when "011000", x"5" when "011001", x"6" when "011010", x"b" when "011011", x"0" when "011100", x"e" when "011101", x"9" when "011110", x"2" when "011111", x"7" when "100000", x"b" when "100001", x"4" when "100010", x"1" when "100011", x"9" when "100100", x"c" when "100101", x"e" when "100110", x"2" when "100111", x"0" when "101000", x"6" when "101001", x"a" when "101010", x"d" when "101011", x"f" when "101100", x"3" when "101101", x"5" when "101110", x"8" when "101111", x"2" when "110000", x"1" when "110001", x"e" when "110010", x"7" when "110011", x"4" when "110100", x"a" when "110101", x"8" when "110110", x"d" when "110111", x"f" when "111000", x"c" when "111001", x"9" when "111010", x"0" when "111011", x"3" when "111100", x"5" when "111101", x"6" when "111110", x"b" when "111111", "XXXX" when others;-- Munge the S Boxes, then mix with the other 32 bits of the message word outmsg(32 to 63) <= (s4(3) & s2(2) & s5(3) & s6(0) & s8(0) & s3(3) & s7(3) & s5(0) & s1(0) & s4(2) & s6(2) & s7(1) & s2(0) & s5(1) & s8(2) & s3(1) & s1(1) & s2(3) & s6(3) & s4(1) & s8(3) & s7(2) & s1(2) & s3(0) & s5(2) & s4(0) & s8(1) & s2(1) & s6(1) & s3(2) & s1(3) & s7(0)) xor inmsg(0 to 31);-- the first 32 bits of the round output are the last 32 bits of the round input. outmsg(0 to 31) <= inmsg(32 to 63);end des;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -