0cabe2c400e4f3c8ff521a6562c9674d8736534f
[silc.git] / lib / silccrypt / twofish_internal.h
1 /*
2
3   twofish_internal.h
4
5   Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
6
7   Copyright (C) 1997 - 2000 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; either version 2 of the License, or
12   (at your option) any later version.
13   
14   This program is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   GNU General Public License for more details.
18
19 */
20
21 #ifndef TWOFISH_INTERNAL_H
22 #define TWOFISH_INTERNAL_H
23
24 #include "ciphers_def.h"
25
26 /* Cipher's context */
27 typedef struct {
28   u4byte k_len;
29   u4byte l_key[40];
30   u4byte s_key[4];
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