📄 sbox.vhd
字号:
"0111" when "111101" ,--7
"0010" when "111110" ,--2
"1110" when "111111" ,--14
null when others ;
--s-box5
with rs( 23 ) & rs( 18 ) & rs( 22 downto 19 ) select
--s-box5,line 0
so(15 downto 12) <= "0010" when "000000" ,--2
"1100" when "000001" ,--12
"0100" when "000010" ,--4
"0001" when "000011" ,--1
"0111" when "000100" ,--7
"1010" when "000101" ,--10
"1011" when "000110" ,--11
"0110" when "000111" ,--6
"1000" when "001000" ,--8
"0101" when "001001" ,--5
"0011" when "001010" ,--3
"1111" when "001011" ,--15
"1101" when "001100" ,--13
"0000" when "001101" ,--0
"1110" when "001110" ,--14
"1001" when "001111" ,--9
--s-box5,line 1
"1110" when "010000" ,--14
"1011" when "010001" ,--11
"0010" when "010010" ,--2
"1100" when "010011" ,--12
"0100" when "010100" ,--4
"0111" when "010101" ,--7
"1101" when "010110" ,--13
"0001" when "010111" ,--1
"0101" when "011000" ,--5
"0000" when "011001" ,--0
"1111" when "011010" ,--15
"1010" when "011011" ,--10
"0011" when "011100" ,--3
"1001" when "011101" ,--9
"1000" when "011110" ,--8
"0110" when "011111" ,--6
--s-box5,line 2
"0100" when "100000" ,--4
"0010" when "100001" ,--2
"0001" when "100010" ,--1
"1011" when "100011" ,--11
"1010" when "100100" ,--10
"1101" when "100101" ,--13
"0111" when "100110" ,--7
"1000" when "100111" ,--8
"1111" when "101000" ,--15
"1001" when "101001" ,--9
"1100" when "101010" ,--12
"0101" when "101011" ,--5
"0110" when "101100" ,--6
"0011" when "101101" ,--3
"0000" when "101110" ,--0
"1110" when "101111" ,--14
--s-box5,line 3
"1011" when "110000" ,--11
"1000" when "110001" ,--8
"1100" when "110010" ,--12
"0111" when "110011" ,--7
"0001" when "110100" ,--1
"1110" when "110101" ,--14
"0010" when "110110" ,--2
"1101" when "110111" ,--13
"0110" when "111000" ,--6
"1111" when "111001" ,--15
"0000" when "111010" ,--0
"1001" when "111011" ,--9
"1010" when "111100" ,--10
"0100" when "111101" ,--4
"0101" when "111110" ,--5
"0011" when "111111" ,--3
null when others ;
--s-box6
with rs( 17 ) & rs( 12 ) & rs( 16 downto 13 ) select
--s-box6,line 0
so(11 downto 8) <= "1100" when "000000" ,--12
"0001" when "000001" ,--1
"1010" when "000010" ,--10
"1111" when "000011" ,--15
"1001" when "000100" ,--9
"0010" when "000101" ,--2
"0110" when "000110" ,--6
"1000" when "000111" ,--8
"0000" when "001000" ,--0
"1101" when "001001" ,--13
"0011" when "001010" ,--3
"0100" when "001011" ,--4
"1110" when "001100" ,--14
"0111" when "001101" ,--7
"0101" when "001110" ,--5
"1011" when "001111" ,--11
--s-box6,line 1
"1010" when "010000" ,--10
"1111" when "010001" ,--15
"0100" when "010010" ,--4
"0010" when "010011" ,--2
"0111" when "010100" ,--7
"1100" when "010101" ,--12
"1001" when "010110" ,--9
"0101" when "010111" ,--5
"0110" when "011000" ,--6
"0001" when "011001" ,--1
"1101" when "011010" ,--13
"1110" when "011011" ,--14
"0000" when "011100" ,--0
"1011" when "011101" ,--11
"0011" when "011110" ,--3
"1000" when "011111" ,--8
--s-box6,line 2
"1001" when "100000" ,--9
"1110" when "100001" ,--14
"1111" when "100010" ,--15
"0101" when "100011" ,--5
"0010" when "100100" ,--2
"1000" when "100101" ,--8
"1100" when "100110" ,--12
"0011" when "100111" ,--3
"0111" when "101000" ,--7
"0000" when "101001" ,--0
"0100" when "101010" ,--4
"1010" when "101011" ,--10
"0001" when "101100" ,--1
"1101" when "101101" ,--13
"1011" when "101110" ,--11
"0110" when "101111" ,--6
--s-box6,line 3
"0100" when "110000" ,--4
"0011" when "110001" ,--3
"0010" when "110010" ,--2
"1100" when "110011" ,--12
"1001" when "110100" ,--9
"0101" when "110101" ,--5
"1111" when "110110" ,--15
"1010" when "110111" ,--10
"1011" when "111000" ,--11
"1110" when "111001" ,--14
"0001" when "111010" ,--1
"0111" when "111011" ,--7
"0110" when "111100" ,--6
"0000" when "111101" ,--0
"1000" when "111110" ,--8
"1101" when "111111" ,--13
null when others ;
--s-box7
with rs( 11 ) & rs( 6 ) & rs( 10 downto 7 ) select
--s-box7,line 0
so(7 downto 4) <= "0100" when "000000" ,--4
"1011" when "000001" ,--11
"0010" when "000010" ,--2
"1110" when "000011" ,--14
"1111" when "000100" ,--15
"0000" when "000101" ,--0
"1000" when "000110" ,--8
"1101" when "000111" ,--13
"0011" when "001000" ,--3
"1100" when "001001" ,--12
"1001" when "001010" ,--9
"0111" when "001011" ,--7
"0101" when "001100" ,--5
"1010" when "001101" ,--10
"0110" when "001110" ,--6
"0001" when "001111" ,--1
--s-box7,line 1
"1101" when "010000" ,--13
"0000" when "010001" ,--0
"1011" when "010010" ,--11
"0111" when "010011" ,--7
"0100" when "010100" ,--4
"1001" when "010101" ,--9
"0001" when "010110" ,--1
"1010" when "010111" ,--10
"1110" when "011000" ,--14
"0011" when "011001" ,--3
"0101" when "011010" ,--5
"1100" when "011011" ,--12
"0010" when "011100" ,--2
"1111" when "011101" ,--15
"1000" when "011110" ,--8
"0110" when "011111" ,--6
--s-box7,line 2
"0001" when "100000" ,--1
"0100" when "100001" ,--4
"1011" when "100010" ,--11
"1101" when "100011" ,--13
"1100" when "100100" ,--12
"0011" when "100101" ,--3
"0111" when "100110" ,--7
"1110" when "100111" ,--14
"1010" when "101000" ,--10
"1111" when "101001" ,--15
"0110" when "101010" ,--6
"1000" when "101011" ,--8
"0000" when "101100" ,--0
"0101" when "101101" ,--5
"1001" when "101110" ,--9
"0010" when "101111" ,--2
--s-box7,line 3
"0110" when "110000" ,--6
"1011" when "110001" ,--11
"1101" when "110010" ,--13
"1000" when "110011" ,--8
"0001" when "110100" ,--1
"0100" when "110101" ,--4
"1010" when "110110" ,--10
"0111" when "110111" ,--7
"1001" when "111000" ,--9
"0101" when "111001" ,--5
"0000" when "111010" ,--0
"1111" when "111011" ,--15
"1110" when "111100" ,--14
"0010" when "111101" ,--2
"0011" when "111110" ,--3
"1100" when "111111" ,--12
null when others ;
--s-box8
with rs( 5 ) & rs( 0 ) & rs( 4 downto 1 ) select
--s-box8,line 0
so(3 downto 0) <= "1101" when "000000" ,--13
"0010" when "000001" ,--2
"1000" when "000010" ,--8
"0100" when "000011" ,--4
"0110" when "000100" ,--6
"1111" when "000101" ,--15
"1011" when "000110" ,--11
"0001" when "000111" ,--1
"1010" when "001000" ,--10
"1001" when "001001" ,--9
"0011" when "001010" ,--3
"1110" when "001011" ,--14
"0101" when "001100" ,--5
"0000" when "001101" ,--0
"1100" when "001110" ,--12
"0111" when "001111" ,--7
--s-box8,line 1
"0001" when "010000" ,--1
"1111" when "010001" ,--15
"1101" when "010010" ,--13
"1000" when "010011" ,--8
"1010" when "010100" ,--10
"0011" when "010101" ,--3
"0111" when "010110" ,--7
"0100" when "010111" ,--4
"1100" when "011000" ,--12
"0101" when "011001" ,--5
"0110" when "011010" ,--6
"1011" when "011011" ,--11
"0000" when "011100" ,--0
"1110" when "011101" ,--14
"1001" when "011110" ,--9
"0010" when "011111" ,--2
--s-box8,line 2
"0111" when "100000" ,--7
"1011" when "100001" ,--11
"0100" when "100010" ,--4
"0001" when "100011" ,--1
"1001" when "100100" ,--9
"1100" when "100101" ,--12
"1110" when "100110" ,--14
"0010" when "100111" ,--2
"0000" when "101000" ,--0
"0110" when "101001" ,--6
"1010" when "101010" ,--10
"1101" when "101011" ,--13
"1111" when "101100" ,--15
"0011" when "101101" ,--3
"0101" when "101110" ,--5
"1000" when "101111" ,--8
--s-box8,line 3
"0010" when "110000" ,--2
"0001" when "110001" ,--1
"1110" when "110010" ,--14
"0111" when "110011" ,--7
"0100" when "110100" ,--4
"1010" when "110101" ,--10
"1000" when "110110" ,--8
"1101" when "110111" ,--13
"1111" when "111000" ,--15
"1100" when "111001" ,--12
"1001" when "111010" ,--9
"0000" when "111011" ,--0
"0011" when "111100" ,--3
"0101" when "111101" ,--5
"0110" when "111110" ,--6
"1011" when "111111" ,--11
null when others ;
end architecture arch_sbox ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -