X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/37508af4ab231b1fde58345f5237f3ee82803829..c9def1b8e8960113ab4fd91d0b69d5b422cf339f:/ssh.h diff --git a/ssh.h b/ssh.h index 5c72eeb1..a9057e72 100644 --- a/ssh.h +++ b/ssh.h @@ -1,10 +1,20 @@ #include +#define SSH_CIPHER_IDEA 1 +#define SSH_CIPHER_DES 2 +#define SSH_CIPHER_3DES 3 +#define SSH_CIPHER_BLOWFISH 6 + struct RSAKey { int bits; int bytes; +#ifdef MSCRYPTOAPI + unsigned long exponent; + unsigned char *modulus; +#else void *modulus; void *exponent; +#endif }; int makekey(unsigned char *data, struct RSAKey *result, @@ -16,12 +26,21 @@ void rsastr_fmt(char *str, struct RSAKey *key); typedef unsigned int word32; typedef unsigned int uint32; -unsigned long crc32(const unsigned char *s, unsigned int len); +unsigned long crc32(const void *s, size_t len); + +typedef struct { + uint32 h[4]; +} MD5_Core_State; struct MD5Context { - uint32 buf[4]; - uint32 bits[2]; - unsigned char in[64]; +#ifdef MSCRYPTOAPI + unsigned long hHash; +#else + MD5_Core_State core; + unsigned char block[64]; + int blkused; + uint32 lenhi, lenlo; +#endif }; void MD5Init(struct MD5Context *context); @@ -35,7 +54,11 @@ struct ssh_cipher { void (*decrypt)(unsigned char *blk, int len); }; +#ifndef MSCRYPTOAPI void SHATransform(word32 *digest, word32 *data); +#endif int random_byte(void); void random_add_noise(void *noise, int length); + +void logevent (char *);