1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-05 23:07:49 +02:00
gnupg/include/cipher.h

78 lines
2.5 KiB
C
Raw Normal View History

1997-11-18 15:06:00 +01:00
/* cipher.h
1998-06-16 17:13:28 +02:00
* Copyright (C) 1998 Free Software Foundation, Inc.
1997-11-18 15:06:00 +01:00
*
1998-06-16 17:13:28 +02:00
* This file is part of GNUPG.
1997-11-18 15:06:00 +01:00
*
1998-06-16 17:13:28 +02:00
* GNUPG is free software; you can redistribute it and/or modify
1997-11-18 15:06:00 +01:00
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
1998-06-16 17:13:28 +02:00
* GNUPG is distributed in the hope that it will be useful,
1997-11-18 15:06:00 +01:00
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifndef G10_CIPHER_H
#define G10_CIPHER_H
1998-06-13 19:00:02 +02:00
#define DBG_CIPHER g10c_debug_mode
1997-11-18 15:06:00 +01:00
#include "mpi.h"
1998-03-09 22:44:06 +01:00
#include "../cipher/random.h"
1997-11-18 15:06:00 +01:00
1997-11-24 23:24:04 +01:00
#define CIPHER_ALGO_NONE 0
#define CIPHER_ALGO_IDEA 1
#define CIPHER_ALGO_3DES 2
1998-06-09 17:14:06 +02:00
#define CIPHER_ALGO_CAST5 3
1998-04-30 16:06:01 +02:00
#define CIPHER_ALGO_BLOWFISH 4 /* blowfish 128 bit key */
1998-05-26 15:38:00 +02:00
#define CIPHER_ALGO_SAFER_SK128 5
#define CIPHER_ALGO_DES_SK 6
#define CIPHER_ALGO_TWOFISH 10 /* twofish 256 bit */
#define CIPHER_ALGO_SKIPJACK 101 /* experimental: skipjack */
#define CIPHER_ALGO_TWOFISH_OLD 102 /* experimental: twofish 128 bit */
1998-05-26 15:38:00 +02:00
#define CIPHER_ALGO_DUMMY 110 /* no encryption at all */
1997-11-18 15:06:00 +01:00
1997-12-01 11:33:23 +01:00
#define PUBKEY_ALGO_RSA 1
#define PUBKEY_ALGO_RSA_E 2 /* RSA encrypt only */
#define PUBKEY_ALGO_RSA_S 3 /* RSA sign only */
#define PUBKEY_ALGO_ELGAMAL_E 16 /* encrypt only ElGamal (but not for v3)*/
1997-12-01 11:33:23 +01:00
#define PUBKEY_ALGO_DSA 17
1998-05-04 20:49:26 +02:00
#define PUBKEY_ALGO_ELGAMAL 20 /* sign and encrypt elgamal */
1997-11-18 15:06:00 +01:00
#if 0
1998-07-08 11:29:43 +02:00
#define PUBKEY_USAGE_SIG 1 /* key is good for signatures */
#define PUBKEY_USAGE_ENC 2 /* key is good for encryption */
#endif
1998-07-08 11:29:43 +02:00
1997-11-18 15:06:00 +01:00
#define DIGEST_ALGO_MD5 1
1997-11-24 23:24:04 +01:00
#define DIGEST_ALGO_SHA1 2
#define DIGEST_ALGO_RMD160 3
1998-05-26 15:38:00 +02:00
#define DIGEST_ALGO_TIGER 6
1997-11-18 15:06:00 +01:00
1998-05-04 20:49:26 +02:00
#define is_RSA(a) ((a)==PUBKEY_ALGO_RSA || (a)==PUBKEY_ALGO_RSA_E \
|| (a)==PUBKEY_ALGO_RSA_S )
#define is_ELGAMAL(a) ((a)==PUBKEY_ALGO_ELGAMAL || (a)==PUBKEY_ALGO_ELGAMAL_E)
1998-06-13 19:00:02 +02:00
int g10c_debug_mode;
int g10_opt_verbose;
const char *g10_opt_homedir;
1997-11-18 15:06:00 +01:00
1998-06-11 09:16:50 +02:00
/*-- dynload.c --*/
1998-10-16 18:00:17 +02:00
void register_cipher_extension( const char *mainpgm, const char *fname );
1998-06-11 09:16:50 +02:00
1998-07-09 15:37:17 +02:00
/*-- rmd160.c --*/
void rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length );
1998-06-16 17:13:28 +02:00
1997-11-18 15:06:00 +01:00
/*-- smallprime.c --*/
extern ushort small_prime_numbers[];
#endif /*G10_CIPHER_H*/