From ef905e42e625f54ed5b9d9042387d9a8e2510fa0 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Tue, 26 Mar 2019 15:20:53 +0100 Subject: [implem-vhdl] Déplacement dans SOUMISSION_NIST MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd (limited to 'src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd') diff --git a/src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd b/src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd new file mode 100644 index 0000000..46f757e --- /dev/null +++ b/src/add_vhdltbc/encryptdecrypt/inner_sbox_b.vhd @@ -0,0 +1,41 @@ +library IEEE; +library work; +use IEEE.std_logic_1164.all; + +entity inner_sbox_b is + port( + sbox_i : in std_logic_vector(3 downto 0); + sbox_o : out std_logic_vector(3 downto 0) + ); +end inner_sbox_b; + + +architecture inner_sbox_b_arch of inner_sbox_b is + +signal a,b,c,d,x,y,z,t :std_logic; +signal c1,d1 :std_logic; + +begin + +a <= sbox_i(3); +b <= sbox_i(2); +c <= sbox_i(1); +d <= sbox_i(0); + + +c1 <= c xor (a and d); +d1 <= b xor (d and c); + + +x <= d xor (a and d1); +y <= d1; +z <= a xor (c1 and d1); +t <= c1; + +sbox_o(3) <= x; +sbox_o(2) <= y; +sbox_o(1) <= z; +sbox_o(0) <= t; + +end; + -- cgit v1.2.3