From 4a43b7c66d3f5e0e7933391921c2dba2eec84426 Mon Sep 17 00:00:00 2001 From: Gaetan Leplus Date: Tue, 26 Mar 2019 14:36:07 +0100 Subject: [implem-vhdl] Ajout des sources VHDL --- .../lilliputtbcii256v1/tb/top_tb.vhd | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 implementations/vhdl/Encrypt_Decypt/lilliputtbcii256v1/tb/top_tb.vhd (limited to 'implementations/vhdl/Encrypt_Decypt/lilliputtbcii256v1/tb') diff --git a/implementations/vhdl/Encrypt_Decypt/lilliputtbcii256v1/tb/top_tb.vhd b/implementations/vhdl/Encrypt_Decypt/lilliputtbcii256v1/tb/top_tb.vhd new file mode 100644 index 0000000..b3e7640 --- /dev/null +++ b/implementations/vhdl/Encrypt_Decypt/lilliputtbcii256v1/tb/top_tb.vhd @@ -0,0 +1,145 @@ +library IEEE; +library work; +use IEEE.numeric_std.all; +use IEEE.std_logic_1164.all; +use work.crypt_pack.all; + + +entity top_tb is +end top_tb; + +architecture top_tb_arch of top_tb is + +component top is port ( + start_i : in std_logic; + clock_i : in std_logic; + reset_i : in std_logic; + data_i : in bit128; + key_i : in bit_key; + data_o : out bit128; + tweak_i : in bit_tweak; + decrypt_i : in std_logic; + liliput_on_out : out std_logic + ); +end component; + +signal start_i_s, clock_i_s, reset_i_s : std_logic := '0'; +signal data_i_s : bit128; +signal key_i_s : bit_key; +signal tweak_i_s : bit_tweak; +signal data_o_s : bit128; +signal liliput_on_o_s: std_logic; +signal decrypt_s : std_logic; +begin +DUT : top +port map( + start_i => start_i_s, + clock_i => clock_i_s, + reset_i => reset_i_s, + data_i => data_i_s, + key_i => key_i_s, + tweak_i => tweak_i_s, + data_o => data_o_s, + decrypt_i => decrypt_s, + liliput_on_out=> liliput_on_o_s +); + +clock_i_s <= not(clock_i_s) after 100 ns; +start_i_s <= '1'; +reset_i_s <= '0' , '1' after 100 ns; +--------- ENCRYPT-------------------- +-----------KEY128 TWEAK128---------- +--decrypt_s <= '0'; +--data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--key_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +-----RESULT X"ddb2ef63ab68a803679590e8c85888ca"; + +-----------KEY128 TWEAK192---------- +--decrypt_s <= '0'; +--data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--key_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"e5ce0026af060b52c2ceb2e610a2958d"; + +-----------KEY192 TWEAK128---------- +--decrypt_s <= '0'; +--data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--key_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +----RESULT X"31a0db08b76a1f7c646cbe506860b103"; + +-----------KEY192 TWEAK192---------- +--decrypt_s <= '0'; +--data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--key_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"75f7fe11677769882102d57daac1464d"; + +-----------KEY256 TWEAK128---------- +decrypt_s <= '0'; +data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +key_i_s <= X"1f1e1d1c1b1a191817161514131211100F0E0D0C0B0A09080706050403020100"; +tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +----RESULT X"4ecbf0236fbf05cefff41d9900efab8a"; + +-----------KEY256 TWEAK192---------- +--decrypt_s <= '0'; +--data_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--key_i_s <= X"1f1e1d1c1b1a191817161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"3084f49f1927b4c090f9612718ff35d3"; + +-----------DECRYPT--------------- +-----------KEY128 TWEAK128---------- +--decrypt_s <= '1'; +--data_i_s <= X"ddb2ef63ab68a803679590e8c85888ca"; +--key_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + +-------------KEY128 TWEAK192---------- +--decrypt_s <= '1'; +--data_i_s <= X"e5ce0026af060b52c2ceb2e610a2958d"; +--key_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + +-----------KEY192 TWEAK128---------- +--decrypt_s <= '1'; +--data_i_s <= X"31a0db08b76a1f7c646cbe506860b103"; +--key_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + +-----------KEY192 TWEAK192---------- +--decrypt_s <= '1'; +--data_i_s <= X"75f7fe11677769882102d57daac1464d"; +--key_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + +-----------KEY256 TWEAK128---------- +--decrypt_s <= '1'; +--data_i_s <= X"4ecbf0236fbf05cefff41d9900efab8a"; +--key_i_s <= X"1f1e1d1c1b1a191817161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"0F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + +-----------KEY256 TWEAK192---------- +--decrypt_s <= '1'; +--data_i_s <= X"3084f49f1927b4c090f9612718ff35d3"; +--key_i_s <= X"1f1e1d1c1b1a191817161514131211100F0E0D0C0B0A09080706050403020100"; +--tweak_i_s <= X"17161514131211100F0E0D0C0B0A09080706050403020100"; +----RESULT X"0F0E0D0C0B0A09080706050403020100"; + + +end top_tb_arch; + +configuration top_tb_conf of top_tb is + for top_tb_arch + for DUT : top + use entity work.top(top_arch); + end for; + end for; +end configuration top_tb_conf; -- cgit v1.2.3