mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-12 16:47:42 -05:00
Provide SHA-384 and SHA-512 as hashes usable in SSH KEX.
SHA-384 was previously not implemented at all, but is a trivial adjustment to SHA-512 (different starting constants, and truncate the output hash). Both are now exposed as 'ssh_hash' structures so that key exchange methods can ask for them.
This commit is contained in:

committed by
Simon Tatham

parent
df0ac30d46
commit
66970c4258
7
ssh.h
7
ssh.h
@ -204,10 +204,15 @@ typedef struct {
|
||||
int blkused;
|
||||
uint32 len[4];
|
||||
} SHA512_State;
|
||||
#define SHA384_State SHA512_State
|
||||
void SHA512_Init(SHA512_State * s);
|
||||
void SHA512_Bytes(SHA512_State * s, const void *p, int len);
|
||||
void SHA512_Final(SHA512_State * s, unsigned char *output);
|
||||
void SHA512_Simple(const void *p, int len, unsigned char *output);
|
||||
void SHA384_Init(SHA384_State * s);
|
||||
#define SHA384_Bytes(s, p, len) SHA512_Bytes(s, p, len)
|
||||
void SHA384_Final(SHA384_State * s, unsigned char *output);
|
||||
void SHA384_Simple(const void *p, int len, unsigned char *output);
|
||||
|
||||
struct ssh_cipher {
|
||||
void *(*make_context)(void);
|
||||
@ -334,6 +339,8 @@ extern const struct ssh2_ciphers ssh2_blowfish;
|
||||
extern const struct ssh2_ciphers ssh2_arcfour;
|
||||
extern const struct ssh_hash ssh_sha1;
|
||||
extern const struct ssh_hash ssh_sha256;
|
||||
extern const struct ssh_hash ssh_sha384;
|
||||
extern const struct ssh_hash ssh_sha512;
|
||||
extern const struct ssh_kexes ssh_diffiehellman_group1;
|
||||
extern const struct ssh_kexes ssh_diffiehellman_group14;
|
||||
extern const struct ssh_kexes ssh_diffiehellman_gex;
|
||||
|
Reference in New Issue
Block a user