des56.vhd

来自「基本的des加算法」· VHDL 代码 · 共 1,142 行 · 第 1/3 页

VHD
1,142
字号
				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 + =
减小字号Ctrl + -
显示快捷键?