few updates from RMerlin sources
[tomato.git] / release / src-rt-6.x.4708 / include / bcmcrypto / rijndael-alg-fst.h
blobcf2629a7c94f74497abbd6d1a200e104adb97ea4
1 /* $Id: rijndael-alg-fst.h 241182 2011-02-17 21:50:03Z $ */
3 /**
4 * rijndael-alg-fst.h
6 * @version 3.0 (December 2000)
8 * Optimised ANSI C code for the Rijndael cipher (now AES)
10 * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
11 * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
12 * @author Paulo Barreto <paulo.barreto@terra.com.br>
14 * This code is hereby placed in the public domain.
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
17 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 * Copyright (C) 2014, Broadcom Corporation. All Rights Reserved.
30 * Permission to use, copy, modify, and/or distribute this software for any
31 * purpose with or without fee is hereby granted, provided that the above
32 * copyright notice and this permission notice appear in all copies.
34 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
35 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
36 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
37 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
38 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
39 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
40 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
42 * $Id: rijndael-alg-fst.h 241182 2011-02-17 21:50:03Z $
45 #ifndef __RIJNDAEL_ALG_FST_H
47 #define __RIJNDAEL_ALG_FST_H
50 #define MAXKC (256/32)
52 #define MAXKB (256/8)
54 #define MAXNR 14
57 #include <typedefs.h>
60 int BCMROMFN(rijndaelKeySetupEnc)(uint32 rk[], const uint8 cipherKey[], int keyBits);
62 int BCMROMFN(rijndaelKeySetupDec)(uint32 rk[], const uint8 cipherKey[], int keyBits);
64 void BCMROMFN(rijndaelEncrypt)(const uint32 rk[], int Nr, const uint8 pt[16], uint8 ct[16]);
66 void BCMROMFN(rijndaelDecrypt)(const uint32 rk[], int Nr, const uint8 ct[16], uint8 pt[16]);
69 #ifdef INTERMEDIATE_VALUE_KAT
71 void rijndaelEncryptRound(const uint32 rk[], int Nr, uint8 block[16], int rounds);
73 void rijndaelDecryptRound(const uint32 rk[], int Nr, uint8 block[16], int rounds);
75 #endif /* INTERMEDIATE_VALUE_KAT */
77 #endif /* __RIJNDAEL_ALG_FST_H */