mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
better prime number generator. improved ELG key generation
This commit is contained in:
parent
15426c6d96
commit
ee8d92fefa
22 changed files with 1225 additions and 623 deletions
|
@ -113,6 +113,7 @@ extern ushort small_prime_numbers[];
|
|||
/*-- primegen.c --*/
|
||||
MPI generate_secret_prime( unsigned nbits );
|
||||
MPI generate_public_prime( unsigned nbits );
|
||||
MPI generate_elg_prime( unsigned pbits, unsigned qbits, MPI g );
|
||||
|
||||
|
||||
#endif /*G10_CIPHER_H*/
|
||||
|
|
|
@ -65,6 +65,7 @@ IOBUF iobuf_temp(void);
|
|||
IOBUF iobuf_open( const char *fname );
|
||||
IOBUF iobuf_create( const char *fname );
|
||||
IOBUF iobuf_append( const char *fname );
|
||||
IOBUF iobuf_openrw( const char *fname );
|
||||
int iobuf_close( IOBUF iobuf );
|
||||
int iobuf_cancel( IOBUF iobuf );
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ unsigned mpi_trailing_zeros( MPI a );
|
|||
unsigned mpi_get_nbits( MPI a );
|
||||
int mpi_test_bit( MPI a, unsigned n );
|
||||
void mpi_set_bit( MPI a, unsigned n );
|
||||
void mpi_set_highbit( MPI a, unsigned n );
|
||||
void mpi_clear_bit( MPI a, unsigned n );
|
||||
void mpi_set_bytes( MPI a, unsigned nbits, byte (*fnc)(int), int opaque );
|
||||
void mpi_rshift( MPI x, MPI a, unsigned n );
|
||||
|
|
|
@ -22,22 +22,51 @@
|
|||
#define G10_TYPES_H
|
||||
|
||||
#ifdef __linux__
|
||||
/* FIXME: add stuff to configure to detect for typedefs */
|
||||
#include <linux/types.h>
|
||||
#define HAVE_ULONG_TYPEDEF
|
||||
#define HAVE_USHORT_TYPEDEF
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_BYTE_TYPEDEF
|
||||
typedef unsigned char byte;
|
||||
#define HAVE_BYTE_TYPEDEF
|
||||
#endif
|
||||
|
||||
/* Common code */
|
||||
#ifndef HAVE_ULONG_TYPEDEF
|
||||
#define HAVE_ULONG_TYPEDEF
|
||||
typedef unsigned long ulong;
|
||||
#endif
|
||||
#ifndef HAVE_USHORT_TYPEDEF
|
||||
#define HAVE_USHORT_TYPEDEF
|
||||
typedef unsigned short ushort;
|
||||
#define HAVE_USHORT_TYPEDEF
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_ULONG_TYPEDEF
|
||||
typedef unsigned long ulong;
|
||||
#define HAVE_ULONG_TYPEDEF
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_U16_TYPEDEF
|
||||
#if SIZEOF_UNSIGNED_INT == 2
|
||||
typedef unsigned int u16;
|
||||
#elif SIZEOF_UNSIGNED_SHORT == 2
|
||||
typedef unsigned short u16;
|
||||
#else
|
||||
#error no typedef for u16
|
||||
#endif
|
||||
#define HAVE_U16_TYPEDEF
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_U32_TYPEDEF
|
||||
#if SIZEOF_UNSIGNED_INT == 4
|
||||
typedef unsigned long u32;
|
||||
#elif SIZEOF_UNSIGNED_LONG == 4
|
||||
typedef unsigned int u32;
|
||||
#else
|
||||
#error no typedef for u32
|
||||
#endif
|
||||
#define HAVE_U32_TYPEDEF
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct string_list {
|
||||
struct string_list *next;
|
||||
|
@ -45,32 +74,4 @@ typedef struct string_list {
|
|||
} *STRLIST;
|
||||
|
||||
|
||||
|
||||
/****************************************
|
||||
******** machine dependent stuff *******
|
||||
****************************************/
|
||||
|
||||
#if defined(__hpux)
|
||||
#define HAVE_BIG_ENDIAN 1
|
||||
#else
|
||||
#define HAVE_LITTLE_ENDIAN 1
|
||||
#endif
|
||||
|
||||
|
||||
/*** some defaults ***/
|
||||
#ifndef HAVE_BYTE_TYPEDEF
|
||||
#define HAVE_BYTE_TYPEDEF
|
||||
typedef unsigned char byte;
|
||||
#endif
|
||||
#ifndef HAVE_U16_TYPEDEF
|
||||
#define HAVE_U16_TYPEDEF
|
||||
typedef unsigned short u16;
|
||||
#endif
|
||||
#ifndef HAVE_U32_TYPEDEF
|
||||
#define HAVE_U32_TYPEDEF
|
||||
typedef unsigned long u32;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif /*G10_TYPES_H*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue