xref: /netbsd-src/crypto/external/bsd/openssh/dist/rijndael.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
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