1 | /* $NetBSD: rijndael.h,v 1.2 2018/04/06 18:59:00 christos Exp $ */ |
2 | /* $OpenBSD: rijndael.h,v 1.14 2014/04/29 15:42:07 markus Exp $ */ |
3 | |
4 | /** |
5 | * rijndael-alg-fst.h |
6 | * |
7 | * @version 3.0 (December 2000) |
8 | * |
9 | * Optimised ANSI C code for the Rijndael cipher (now AES) |
10 | * |
11 | * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be> |
12 | * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be> |
13 | * @author Paulo Barreto <paulo.barreto@terra.com.br> |
14 | * |
15 | * This code is hereby placed in the public domain. |
16 | * |
17 | * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS |
18 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE |
21 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR |
24 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
25 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
26 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
27 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 | */ |
29 | #ifndef _PRIVATE_RIJNDAEL_H |
30 | #define _PRIVATE_RIJNDAEL_H |
31 | |
32 | #define AES_MAXKEYBITS (256) |
33 | #define AES_MAXKEYBYTES (AES_MAXKEYBITS/8) |
34 | /* for 256-bit keys, fewer for less */ |
35 | #define AES_MAXROUNDS 14 |
36 | |
37 | typedef unsigned char u8; |
38 | typedef unsigned short u16; |
39 | typedef unsigned int u32; |
40 | |
41 | int rijndaelKeySetupEnc(unsigned int [], const unsigned char [], int); |
42 | void rijndaelEncrypt(const unsigned int [], int, const unsigned char [], |
43 | unsigned char []); |
44 | |
45 | #endif /* _PRIVATE_RIJNDAEL_H */ |
46 | |