1 | /* $NetBSD: rijndael.h,v 1.10 2005/12/11 12:20:52 christos Exp $ */ |
2 | /* $KAME: rijndael.h,v 1.3 2003/07/15 10:47:16 itojun 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 | |
30 | #ifndef __RIJNDAEL_H |
31 | #define __RIJNDAEL_H |
32 | |
33 | #include <crypto/rijndael/rijndael-alg-fst.h> |
34 | |
35 | typedef struct { |
36 | int decrypt; |
37 | int Nr; /* key-length-dependent number of rounds */ |
38 | uint32_t ek[4 * (RIJNDAEL_MAXNR + 1)]; /* encrypt key schedule */ |
39 | uint32_t dk[4 * (RIJNDAEL_MAXNR + 1)]; /* decrypt key schedule */ |
40 | } rijndael_ctx; |
41 | |
42 | void rijndael_set_key(rijndael_ctx *, const u_char *, int); |
43 | void rijndael_decrypt(const rijndael_ctx *, const u_char *, u_char *); |
44 | void rijndael_encrypt(const rijndael_ctx *, const u_char *, u_char *); |
45 | |
46 | #endif /* __RIJNDAEL_H */ |
47 | |