xref: /netbsd-src/crypto/external/bsd/openssh/dist/rijndael.h (revision a03ec00c12395ed074b9ed551943c1b2d7b6c4a5)
1 /*	$NetBSD: rijndael.h,v 1.3 2022/02/23 19:07:20 christos Exp $	*/
2 /*	$OpenBSD: rijndael.h,v 1.15 2021/09/28 11:14:50 dtucker 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 u8 [16], u8 [16]);
43 
44 #endif /* _PRIVATE_RIJNDAEL_H */
45