2c205d8b3b1aaf656e6245b7bf619d87a9f7a71b
[crypto.git] / lib / silccrypt / twofish_internal.h
1 /*
2
3   twofish_internal.h
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 1997 - 2007 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; version 2 of the License.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18 */
19
20 #ifndef TWOFISH_INTERNAL_H
21 #define TWOFISH_INTERNAL_H
22
23 #include "ciphers_def.h"
24
25 /* Cipher's context */
26 typedef struct {
27   u4byte l_key[40];
28   u4byte s_key[4];
29   SilcUInt16 k_len;
30   SilcUInt16 padlen;
31 } TwofishContext;
32
33 /* Prototypes */
34 u4byte *twofish_set_key(TwofishContext *ctx,
35                         const u4byte in_key[], const u4byte key_len);
36 void twofish_encrypt(TwofishContext *ctx,
37                      const u4byte in_blk[4], u4byte out_blk[]);
38 void twofish_decrypt(TwofishContext *ctx,
39                      const u4byte in_blk[4], u4byte out_blk[4]);
40
41 #endif