1*64253a29Sdtucker /* $OpenBSD: rijndael.h,v 1.15 2021/09/28 11:14:50 dtucker Exp $ */ 250ee004fSmarkus 350ee004fSmarkus /** 450ee004fSmarkus * rijndael-alg-fst.h 550ee004fSmarkus * 650ee004fSmarkus * @version 3.0 (December 2000) 750ee004fSmarkus * 850ee004fSmarkus * Optimised ANSI C code for the Rijndael cipher (now AES) 950ee004fSmarkus * 1050ee004fSmarkus * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be> 1150ee004fSmarkus * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be> 1250ee004fSmarkus * @author Paulo Barreto <paulo.barreto@terra.com.br> 1350ee004fSmarkus * 1450ee004fSmarkus * This code is hereby placed in the public domain. 1550ee004fSmarkus * 1650ee004fSmarkus * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS 1750ee004fSmarkus * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1850ee004fSmarkus * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1950ee004fSmarkus * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE 2050ee004fSmarkus * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2150ee004fSmarkus * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2250ee004fSmarkus * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 2350ee004fSmarkus * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2450ee004fSmarkus * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 2550ee004fSmarkus * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 2650ee004fSmarkus * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2750ee004fSmarkus */ 2850ee004fSmarkus #ifndef _PRIVATE_RIJNDAEL_H 2950ee004fSmarkus #define _PRIVATE_RIJNDAEL_H 3050ee004fSmarkus 3150ee004fSmarkus #define AES_MAXKEYBITS (256) 3250ee004fSmarkus #define AES_MAXKEYBYTES (AES_MAXKEYBITS/8) 3350ee004fSmarkus /* for 256-bit keys, fewer for less */ 3450ee004fSmarkus #define AES_MAXROUNDS 14 3550ee004fSmarkus 3650ee004fSmarkus typedef unsigned char u8; 3750ee004fSmarkus typedef unsigned short u16; 3850ee004fSmarkus typedef unsigned int u32; 3950ee004fSmarkus 4050ee004fSmarkus int rijndaelKeySetupEnc(unsigned int [], const unsigned char [], int); 41*64253a29Sdtucker void rijndaelEncrypt(const unsigned int [], int, const u8 [16], u8 [16]); 4250ee004fSmarkus 4350ee004fSmarkus #endif /* _PRIVATE_RIJNDAEL_H */ 44