diff options
| author | Gaetan Leplus <gaetan.leplus@airbus.com> | 2019-07-04 14:01:34 +0200 |
|---|---|---|
| committer | Gaetan Leplus <gaetan.leplus@airbus.com> | 2019-07-04 14:09:13 +0200 |
| commit | 7b4050583d09e3d0ecfd7e7c51b9c77792d4b098 (patch) | |
| tree | 91417728bad80e945029cd946949bd745af19e77 /src/add_vhdltbc/ii/ii-128/tb | |
| parent | 6589f3ef20f8f93168be49135764764cd0c02a23 (diff) | |
| download | lilliput-ae-implem-7b4050583d09e3d0ecfd7e7c51b9c77792d4b098.tar.xz | |
Remplacement de la version vhdltbc par la version optimisée et corrigée
Diffstat (limited to 'src/add_vhdltbc/ii/ii-128/tb')
| -rw-r--r-- | src/add_vhdltbc/ii/ii-128/tb/top_tb.vhd | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/add_vhdltbc/ii/ii-128/tb/top_tb.vhd b/src/add_vhdltbc/ii/ii-128/tb/top_tb.vhd new file mode 100644 index 0000000..05c1173 --- /dev/null +++ b/src/add_vhdltbc/ii/ii-128/tb/top_tb.vhd @@ -0,0 +1,80 @@ +-- Implementation of the Lilliput-TBC tweakable block cipher by the +-- Lilliput-AE team, hereby denoted as "the implementer". +-- +-- For more information, feedback or questions, refer to our website: +-- https://paclido.fr/lilliput-ae +-- +-- To the extent possible under law, the implementer has waived all copyright +-- and related or neighboring rights to the source code in this file. +-- http://creativecommons.org/publicdomain/zero/1.0/ + +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 bit_data; + key_i : in bit_key; + data_o : out bit_data; + tweak_i : in bit_tweak; + decrypt_i : in std_logic; + liliput_on_out : out std_logic; + valid_o : out std_logic + ); + end component; + + signal start_i_s, clock_i_s, reset_i_s : std_logic := '0'; + signal data_i_s : bit_data; + signal key_i_s : bit_key; + signal tweak_i_s : bit_tweak; + signal data_o_s : bit_data; + signal liliput_on_o_s : std_logic; + signal decrypt_s : std_logic; + signal valid_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, + valid_o => valid_s + ); + + clock_i_s <= not(clock_i_s) after 100 ns; + reset_i_s <= '0' , '1' after 50 ns; + + -----------------KEY128 TWEAK128 IN32---------- + decrypt_s <= '0'; + start_i_s <= '0','1' after 50 ns, '0' after 800 ns; --mettre start_i a 0 des lors que le chiffrement commence + data_i_s <= X"000102030405060708090A0B0C0D0E0F"; + key_i_s <= X"000102030405060708090A0B0C0D0E0F"; + tweak_i_s <= X"000102030405060708090A0B0C0D0E0F"; + ----------RESULT X"0E00DD58BA4110FCA88DA6EDCA38D95D"; + +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); + --use configuration lib_sources.roundexe_arch; + end for; + end for; +end configuration top_tb_conf; |
