--- pgp/src/crypto.h 2018/04/24 16:38:52 1.1.1.2 +++ pgp/src/crypto.h 2018/04/24 16:42:34 1.1.1.5 @@ -13,7 +13,7 @@ int signfile(boolean nested, boolean sep int get_header_info_from_file(char *infile, byte *header, int count); /* RSA-encrypt a file */ -int encryptfile(char *mcguffin, char *infile, char *outfile, +int encryptfile(char **mcguffin, char *infile, char *outfile, boolean attempt_compression); /* Encrypt file with IPES/IDEA cipher */ @@ -41,20 +41,27 @@ int decompress_file(char *infile, char * int strip_literal(char *infile, char *outfile, char *preserved_name, char *lit_mode); +#ifndef VMS +struct IdeaCfbContext; /* Write a multiprecision integer to a file */ -void write_mpi(unitptr n, FILE *f, boolean scrambled); +void write_mpi(unitptr n, FILE *f, struct IdeaCfbContext *cfb); /* Read a mutiprecision integer from a file */ -int read_mpi(unitptr r, FILE *f, boolean adjust_precision, boolean scrambled); +int read_mpi(unitptr r, FILE *f, boolean adjust_precision, struct IdeaCfbContext *cfb); +#else /* !VMS */ +void write_mpi(); +int read_mpi(); +#endif /* VMS */ /* Convert C <-> Quiche strings */ void CToPascal(char *s); void PascalToC( char *s ); -/* Reads IPES/IDEA random key and random number seed from file, cranks the - the seed through the idearand strong pseudorandom number generator, and - writes them back out */ -int strong_pseudorandom(byte *buf, int bufsize); +/* Tests if a randseed.bin file exists already */ +int seedfile_exists(void); + +/* Creates a randseed.bin file (call if above returns false) */ +void create_seedfile(void); /* Return date string, given pointer to 32-bit timestamp */ char *cdate(word32 *tstamp); @@ -73,6 +80,8 @@ void write_ctb_len (FILE *f, byte ctb_ty /* Print an error message and return nonzero if val != checkval */ int version_error (int val, int checkval); +/* The same, if val is not a recognized version */ +int version_byte_error (int val); int check_key_sig(FILE *fkey, long fpkey, int keypktlen, char *keyuserid, FILE *fsig, long fpsig, char *keyfile, char *siguserid, byte *xtimestamp, @@ -82,3 +91,4 @@ int squish_file(char *infile, char *outf int signkey(char *keyguffin, char *sigguffin, char *keyfile); +extern int compromise(byte *keyID, char *keyfile);