Don't set the focus on the display filter entry when we're passed a
[obnox/wireshark/wip.git] / epan / crypt / airpdcap_rijndael.h
1 /**
2  * airpdcap_rijndael.h
3  *
4  * $Id$
5  *
6  * @version 3.0 (December 2000)
7  *
8  * Optimised ANSI C code for the Rijndael cipher (now AES)
9  *
10  * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
11  * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
12  * @author Paulo Barreto <paulo.barreto@terra.com.br>
13  *
14  * This code is hereby placed in the public domain.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
17  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #ifndef _AIRPDCAP_RIJNDAEL
30 #define _AIRPDCAP_RIJNDAEL
31
32 /******************************************************************************/
33 /*      File includes                                                                                                                                                                   */
34 /*                                                                                                                                                                                                              */
35 #include "airpdcap_interop.h"
36 /*                                                                                                                                                                                                              */
37 /*                                                                                                                                                                                                              */
38 /******************************************************************************/
39
40 /******************************************************************************/
41 /*      Definitions                                                                                                                                                                             */
42 /*                                                                                                                                                                                                              */
43 /* Note: copied AirPDcap/rijndael/rijndael.h                                                                                            */
44 #define RIJNDAEL_MAXKC  (256/32)
45 #define RIJNDAEL_MAXKB  (256/8)
46 #define RIJNDAEL_MAXNR  14
47 /*                                                                                                                                                                                                              */
48 /******************************************************************************/
49
50 /******************************************************************************/
51 /*      Type definitions                                                                                                                                                                */
52 /*                                                                                                                                                                                                              */
53 /* Note: copied AirPDcap/rijndael/rijndael.h                                                                                            */
54 typedef struct s_rijndael_ctx {
55         INT     decrypt;
56         INT     Nr;             /* key-length-dependent number of rounds */
57         UINT32 ek[4 * (RIJNDAEL_MAXNR + 1)];  /* encrypt key schedule */
58         UINT32 dk[4 * (RIJNDAEL_MAXNR + 1)];  /* decrypt key schedule */
59 } rijndael_ctx;
60 /*                                                                                                                                                                                                              */
61 /******************************************************************************/
62
63 /******************************************************************************/
64 /*      External function prototypes declarations                                                                                               */
65 /*                                                                                                                                                                                                              */
66 void rijndael_encrypt(
67         const rijndael_ctx *ctx,
68         const UCHAR *src,
69         UCHAR *dst)
70         ;
71
72
73 void rijndael_set_key(
74         rijndael_ctx *ctx,
75         const UCHAR *key,
76         INT bits)
77         ;
78 /*                                                                                                                                                                                                              */
79 /******************************************************************************/
80
81 /******************************************************************************/
82 /*      Block XOR macro definition                                                                                                                              */
83 /*                                                                                                                                                                                                              */
84 #define XOR_BLOCK(b, a, len) \
85         {                                               \
86                 INT i;                                  \
87                 for (i = 0; i < (INT)(len); i++)        \
88                         (b)[i] ^= (a)[i];               \
89         }
90 /*                                                                                                                                                                                                              */
91 /******************************************************************************/
92
93 #endif