Scan media entities as well, not just url entities. This should expand more
[bitlbee.git] / lib / des.h
blob92fbfd2265b6b9fcdd6bf48e8104dc11fbf9be2f
1 /*
2 * FIPS-46-3 compliant 3DES implementation
4 * Copyright (C) 2001-2003 Christophe Devine
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef _DES_H
22 #define _DES_H
24 #include <stdint.h>
26 typedef struct
28 uint32_t esk[32]; /* DES encryption subkeys */
29 uint32_t dsk[32]; /* DES decryption subkeys */
31 des_context;
33 typedef struct
35 uint32_t esk[96]; /* Triple-DES encryption subkeys */
36 uint32_t dsk[96]; /* Triple-DES decryption subkeys */
38 des3_context;
40 int des_set_key( des_context *ctx, uint8_t key[8] );
41 void des_encrypt( des_context *ctx, uint8_t input[8], uint8_t output[8] );
42 void des_decrypt( des_context *ctx, uint8_t input[8], uint8_t output[8] );
44 int des3_set_2keys( des3_context *ctx, const uint8_t key1[8], const uint8_t key2[8] );
45 int des3_set_3keys( des3_context *ctx, const uint8_t key1[8], const uint8_t key2[8],
46 const uint8_t key3[8] );
48 void des3_encrypt( des3_context *ctx, uint8_t input[8], uint8_t output[8] );
49 void des3_decrypt( des3_context *ctx, uint8_t input[8], uint8_t output[8] );
51 #endif /* des.h */