summaryrefslogtreecommitdiff
path: root/implementations/vhdl/Encrypt_Decypt/lilliputtbcii192v1/tb/top_tb.vhd
blob: 460eb6eeb95125e55c7a6a904b693e2c0362fb00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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;