summaryrefslogtreecommitdiff
path: root/implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd
diff options
context:
space:
mode:
authorGaetan Leplus <gaetan.leplus@airbus.com>2019-03-26 14:36:07 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-03-26 15:44:53 +0100
commit4a43b7c66d3f5e0e7933391921c2dba2eec84426 (patch)
treeaf7291cfaf074f2f2adc1fca40c895b48998a039 /implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd
parent94cd233460e4b52521702f4431eab4f68a4f410c (diff)
downloadlilliput-ae-implem-4a43b7c66d3f5e0e7933391921c2dba2eec84426.tar.xz
[implem-vhdl] Ajout des sources VHDL
Diffstat (limited to 'implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd')
-rw-r--r--implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd145
1 files changed, 145 insertions, 0 deletions
diff --git a/implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd b/implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/tb/top_tb.vhd
new file mode 100644
index 0000000..bcc1ee4
--- /dev/null
+++ b/implementations/vhdl/Encrypt_Decypt/lilliputtbci192v1/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;