X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/7bedb13c064e90654b709137a01c6feaee7a3abe..9a3a93a5c6a879994d61da8a146142a6555fd5d0:/ssh.h diff --git a/ssh.h b/ssh.h index c05c78c8..7857f152 100644 --- a/ssh.h +++ b/ssh.h @@ -64,12 +64,18 @@ int rsastr_len(struct RSAKey *key); void rsastr_fmt(char *str, struct RSAKey *key); void rsa_fingerprint(char *str, int len, struct RSAKey *key); int rsa_verify(struct RSAKey *key); +unsigned char *rsa_public_blob(struct RSAKey *key, int *len); +int rsa_public_blob_len(void *data); void freersakey(struct RSAKey *key); typedef unsigned int word32; typedef unsigned int uint32; unsigned long crc32(const void *s, size_t len); +unsigned long crc32_update(unsigned long crc_input, const void *s, size_t len); + +/* SSH CRC compensation attack detector */ +int detect_attack(unsigned char *buf, uint32 len, unsigned char *IV); typedef struct { uint32 h[4]; @@ -274,6 +280,7 @@ Bignum dh_find_K(Bignum f); int loadrsakey(char *filename, struct RSAKey *key, char *passphrase); int rsakey_encrypted(char *filename, char **comment); +int rsakey_pubblob(char *filename, void **blob, int *bloblen); int saversakey(char *filename, struct RSAKey *key, char *passphrase);