34 lines
803 B
C
34 lines
803 B
C
/* File: aeslibc.h
|
|
* Copyright (c) 2001, IOI
|
|
* Header file for aeslibc.c
|
|
* GNU C/C++ library for task DOUBLE at IOI2001 Competition
|
|
*/
|
|
|
|
#ifndef __AESLIBC_H
|
|
#define __AESLIBC_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define HEXSTRLEN ( 32 )
|
|
#define BLOCKLEN ( 16 )
|
|
|
|
typedef char HexStr [ HEXSTRLEN+1 ]; /* '0'..'9', 'A'..'F', '\0'-terminated */
|
|
typedef unsigned char Block [ BLOCKLEN ]; /* 128 bits */
|
|
|
|
void hexstr2block ( const HexStr hs, /* out-param */ Block b );
|
|
void block2hexstr ( const Block b, /* out-param */ HexStr hs );
|
|
void encrypt ( const Block p, const Block k, /* out-param */ Block c );
|
|
/* c = E(p,k) */
|
|
void decrypt ( const Block c, const Block k, /* out-param */ Block p );
|
|
/* p = D(c,k) */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __AESLIBC_H */
|
|
|
|
/* End of file aeslibc.h */
|