changeset 409:0e69e948caba

Add comments about requiring keysize <= 2*SHA1_HASH_SIZE
author Matt Johnston <matt@ucc.asn.au>
date Sun, 04 Feb 2007 10:31:48 +0000
parents 28b10e93685c
children b895f91c2ee6
files common-algo.c common-kex.c
diffstat 2 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/common-algo.c	Sat Feb 03 13:57:35 2007 +0000
+++ b/common-algo.c	Sun Feb 04 10:31:48 2007 +0000
@@ -31,6 +31,8 @@
 
 /* Mappings for ciphers, parameters are
    {&cipher_desc, keysize, blocksize} */
+/* NOTE: if keysize > 2*SHA1_HASH_SIZE, code such as hashkeys()
+   needs revisiting */
 
 #ifdef DROPBEAR_AES256_CBC
 static const struct dropbear_cipher dropbear_aes256 = 
--- a/common-kex.c	Sat Feb 03 13:57:35 2007 +0000
+++ b/common-kex.c	Sun Feb 04 10:31:48 2007 +0000
@@ -217,12 +217,10 @@
  * already initialised hash_state hs, which should already have processed
  * the dh_K and hash, since these are common. X is the letter 'A', 'B' etc.
  * out must have at least min(SHA1_HASH_SIZE, outlen) bytes allocated.
- * The output will only be expanded once, since that is all that is required
- * (for 3DES and SHA, with 24 and 20 bytes respectively). 
+ * The output will only be expanded once, as we are assured that
+ * outlen <= 2*SHA1_HASH_SIZE for all known hashes.
  *
- * See Section 5.2 of the IETF secsh Transport Draft for details */
-
-/* Duplicated verbatim from kex.c --mihnea */
+ * See Section 7.2 of rfc4253 (ssh transport) for details */
 static void hashkeys(unsigned char *out, int outlen, 
 		const hash_state * hs, const unsigned char X) {