OpenCores
URL https://opencores.org/ocsvn/camellia-vhdl/camellia-vhdl/trunk

Subversion Repositories camellia-vhdl

[/] [camellia-vhdl/] [trunk/] [looping/] [sbox1.vhd] - Blame information for rev 11

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 pfulgoni
 
2
--------------------------------------------------------------------------------
3
-- Designer:      Paolo Fulgoni <pfulgoni@opencores.org>
4
--
5
-- Create Date:   01/22/2008
6
-- Last Update:   01/22/2008
7
-- Project Name:  camellia-vhdl
8
-- Description:   Asynchronous SBOX1
9
--
10
-- Copyright (C) 2008  Paolo Fulgoni
11
-- This file is part of camellia-vhdl.
12
-- camellia-vhdl is free software; you can redistribute it and/or modify
13
-- it under the terms of the GNU General Public License as published by
14
-- the Free Software Foundation; either version 3 of the License, or
15
-- (at your option) any later version.
16
-- camellia-vhdl is distributed in the hope that it will be useful,
17
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
-- GNU General Public License for more details.
20
-- You should have received a copy of the GNU General Public License
21
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
--
23
-- The Camellia cipher algorithm is 128 bit cipher developed by NTT and
24
-- Mitsubishi Electric researchers.
25
-- http://info.isl.ntt.co.jp/crypt/eng/camellia/
26
--------------------------------------------------------------------------------
27
library IEEE;
28
use IEEE.STD_LOGIC_1164.all;
29
 
30
 
31
entity SBOX1 is
32
    port  (
33
            data_in  : IN STD_LOGIC_VECTOR(0 to 7);
34
            data_out : OUT STD_LOGIC_VECTOR(0 to 7)
35
            );
36
end SBOX1;
37
 
38
architecture RTL of SBOX1 is
39
begin
40
 
41
    with data_in select
42
        data_out <= X"70" when X"00",
43
                    X"82" when X"01",
44
                    X"2C" when X"02",
45
                    X"EC" when X"03",
46
                    X"B3" when X"04",
47
                    X"27" when X"05",
48
                    X"C0" when X"06",
49
                    X"E5" when X"07",
50
                    X"E4" when X"08",
51
                    X"85" when X"09",
52
                    X"57" when X"0A",
53
                    X"35" when X"0B",
54
                    X"EA" when X"0C",
55
                    X"0C" when X"0D",
56
                    X"AE" when X"0E",
57
                    X"41" when X"0F",
58
                    X"23" when X"10",
59
                    X"EF" when X"11",
60
                    X"6B" when X"12",
61
                    X"93" when X"13",
62
                    X"45" when X"14",
63
                    X"19" when X"15",
64
                    X"A5" when X"16",
65
                    X"21" when X"17",
66
                    X"ED" when X"18",
67
                    X"0E" when X"19",
68
                    X"4F" when X"1A",
69
                    X"4E" when X"1B",
70
                    X"1D" when X"1C",
71
                    X"65" when X"1D",
72
                    X"92" when X"1E",
73
                    X"BD" when X"1F",
74
                    X"86" when X"20",
75
                    X"B8" when X"21",
76
                    X"AF" when X"22",
77
                    X"8F" when X"23",
78
                    X"7C" when X"24",
79
                    X"EB" when X"25",
80
                    X"1F" when X"26",
81
                    X"CE" when X"27",
82
                    X"3E" when X"28",
83
                    X"30" when X"29",
84
                    X"DC" when X"2A",
85
                    X"5F" when X"2B",
86
                    X"5E" when X"2C",
87
                    X"C5" when X"2D",
88
                    X"0B" when X"2E",
89
                    X"1A" when X"2F",
90
                    X"A6" when X"30",
91
                    X"E1" when X"31",
92
                    X"39" when X"32",
93
                    X"CA" when X"33",
94
                    X"D5" when X"34",
95
                    X"47" when X"35",
96
                    X"5D" when X"36",
97
                    X"3D" when X"37",
98
                    X"D9" when X"38",
99
                    X"01" when X"39",
100
                    X"5A" when X"3A",
101
                    X"D6" when X"3B",
102
                    X"51" when X"3C",
103
                    X"56" when X"3D",
104
                    X"6C" when X"3E",
105
                    X"4D" when X"3F",
106
                    X"8B" when X"40",
107
                    X"0D" when X"41",
108
                    X"9A" when X"42",
109
                    X"66" when X"43",
110
                    X"FB" when X"44",
111
                    X"CC" when X"45",
112
                    X"B0" when X"46",
113
                    X"2D" when X"47",
114
                    X"74" when X"48",
115
                    X"12" when X"49",
116
                    X"2B" when X"4A",
117
                    X"20" when X"4B",
118
                    X"F0" when X"4C",
119
                    X"B1" when X"4D",
120
                    X"84" when X"4E",
121
                    X"99" when X"4F",
122
                    X"DF" when X"50",
123
                    X"4C" when X"51",
124
                    X"CB" when X"52",
125
                    X"C2" when X"53",
126
                    X"34" when X"54",
127
                    X"7E" when X"55",
128
                    X"76" when X"56",
129
                    X"05" when X"57",
130
                    X"6D" when X"58",
131
                    X"B7" when X"59",
132
                    X"A9" when X"5A",
133
                    X"31" when X"5B",
134
                    X"D1" when X"5C",
135
                    X"17" when X"5D",
136
                    X"04" when X"5E",
137
                    X"D7" when X"5F",
138
                    X"14" when X"60",
139
                    X"58" when X"61",
140
                    X"3A" when X"62",
141
                    X"61" when X"63",
142
                    X"DE" when X"64",
143
                    X"1B" when X"65",
144
                    X"11" when X"66",
145
                    X"1C" when X"67",
146
                    X"32" when X"68",
147
                    X"0F" when X"69",
148
                    X"9C" when X"6A",
149
                    X"16" when X"6B",
150
                    X"53" when X"6C",
151
                    X"18" when X"6D",
152
                    X"F2" when X"6E",
153
                    X"22" when X"6F",
154
                    X"FE" when X"70",
155
                    X"44" when X"71",
156
                    X"CF" when X"72",
157
                    X"B2" when X"73",
158
                    X"C3" when X"74",
159
                    X"B5" when X"75",
160
                    X"7A" when X"76",
161
                    X"91" when X"77",
162
                    X"24" when X"78",
163
                    X"08" when X"79",
164
                    X"E8" when X"7A",
165
                    X"A8" when X"7B",
166
                    X"60" when X"7C",
167
                    X"FC" when X"7D",
168
                    X"69" when X"7E",
169
                    X"50" when X"7F",
170
                    X"AA" when X"80",
171
                    X"D0" when X"81",
172
                    X"A0" when X"82",
173
                    X"7D" when X"83",
174
                    X"A1" when X"84",
175
                    X"89" when X"85",
176
                    X"62" when X"86",
177
                    X"97" when X"87",
178
                    X"54" when X"88",
179
                    X"5B" when X"89",
180
                    X"1E" when X"8A",
181
                    X"95" when X"8B",
182
                    X"E0" when X"8C",
183
                    X"FF" when X"8D",
184
                    X"64" when X"8E",
185
                    X"D2" when X"8F",
186
                    X"10" when X"90",
187
                    X"C4" when X"91",
188
                    X"00" when X"92",
189
                    X"48" when X"93",
190
                    X"A3" when X"94",
191
                    X"F7" when X"95",
192
                    X"75" when X"96",
193
                    X"DB" when X"97",
194
                    X"8A" when X"98",
195
                    X"03" when X"99",
196
                    X"E6" when X"9A",
197
                    X"DA" when X"9B",
198
                    X"09" when X"9C",
199
                    X"3F" when X"9D",
200
                    X"DD" when X"9E",
201
                    X"94" when X"9F",
202
                    X"87" when X"A0",
203
                    X"5C" when X"A1",
204
                    X"83" when X"A2",
205
                    X"02" when X"A3",
206
                    X"CD" when X"A4",
207
                    X"4A" when X"A5",
208
                    X"90" when X"A6",
209
                    X"33" when X"A7",
210
                    X"73" when X"A8",
211
                    X"67" when X"A9",
212
                    X"F6" when X"AA",
213
                    X"F3" when X"AB",
214
                    X"9D" when X"AC",
215
                    X"7F" when X"AD",
216
                    X"BF" when X"AE",
217
                    X"E2" when X"AF",
218
                    X"52" when X"B0",
219
                    X"9B" when X"B1",
220
                    X"D8" when X"B2",
221
                    X"26" when X"B3",
222
                    X"C8" when X"B4",
223
                    X"37" when X"B5",
224
                    X"C6" when X"B6",
225
                    X"3B" when X"B7",
226
                    X"81" when X"B8",
227
                    X"96" when X"B9",
228
                    X"6F" when X"BA",
229
                    X"4B" when X"BB",
230
                    X"13" when X"BC",
231
                    X"BE" when X"BD",
232
                    X"63" when X"BE",
233
                    X"2E" when X"BF",
234
                    X"E9" when X"C0",
235
                    X"79" when X"C1",
236
                    X"A7" when X"C2",
237
                    X"8C" when X"C3",
238
                    X"9F" when X"C4",
239
                    X"6E" when X"C5",
240
                    X"BC" when X"C6",
241
                    X"8E" when X"C7",
242
                    X"29" when X"C8",
243
                    X"F5" when X"C9",
244
                    X"F9" when X"CA",
245
                    X"B6" when X"CB",
246
                    X"2F" when X"CC",
247
                    X"FD" when X"CD",
248
                    X"B4" when X"CE",
249
                    X"59" when X"CF",
250
                    X"78" when X"D0",
251
                    X"98" when X"D1",
252
                    X"06" when X"D2",
253
                    X"6A" when X"D3",
254
                    X"E7" when X"D4",
255
                    X"46" when X"D5",
256
                    X"71" when X"D6",
257
                    X"BA" when X"D7",
258
                    X"D4" when X"D8",
259
                    X"25" when X"D9",
260
                    X"AB" when X"DA",
261
                    X"42" when X"DB",
262
                    X"88" when X"DC",
263
                    X"A2" when X"DD",
264
                    X"8D" when X"DE",
265
                    X"FA" when X"DF",
266
                    X"72" when X"E0",
267
                    X"07" when X"E1",
268
                    X"B9" when X"E2",
269
                    X"55" when X"E3",
270
                    X"F8" when X"E4",
271
                    X"EE" when X"E5",
272
                    X"AC" when X"E6",
273
                    X"0A" when X"E7",
274
                    X"36" when X"E8",
275
                    X"49" when X"E9",
276
                    X"2A" when X"EA",
277
                    X"68" when X"EB",
278
                    X"3C" when X"EC",
279
                    X"38" when X"ED",
280
                    X"F1" when X"EE",
281
                    X"A4" when X"EF",
282
                    X"40" when X"F0",
283
                    X"28" when X"F1",
284
                    X"D3" when X"F2",
285
                    X"7B" when X"F3",
286
                    X"BB" when X"F4",
287
                    X"C9" when X"F5",
288
                    X"43" when X"F6",
289
                    X"C1" when X"F7",
290
                    X"15" when X"F8",
291
                    X"E3" when X"F9",
292
                    X"AD" when X"FA",
293
                    X"F4" when X"FB",
294
                    X"77" when X"FC",
295
                    X"C7" when X"FD",
296
                    X"80" when X"FE",
297
                    X"9E" when X"FF",
298
                    "--------" when others;
299
 
300
end RTL;

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.