updates.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 22 Jul 2001 17:01:48 +0000 (17:01 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 22 Jul 2001 17:01:48 +0000 (17:01 +0000)
CHANGES
doc/draft-riikonen-silc-ke-auth-03.nroff
lib/silcske/silcske.c

diff --git a/CHANGES b/CHANGES
index 1068685b1fe01cb4b9e7aced49cca03c4233cf4d..84de1bcc8a5a7c6baa905da44a47006047393cb1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,12 @@
+Sun Jul 22 19:40:30 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Changed the key material distribution function in case when
+         the hash output is too short.  The data is now concatenated
+         a bit differently than it used to.  Made the change to the
+         SKE protocol specification.
+
+       * Submitted new drafts to the IETF.
+
 Fri Jul 20 13:16:00 EEST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed a minor bug in SKE that might cause some problem on
index f4a7f21fbb54b2e433bec48a9e767ac32c1de325..747da20d7c8b59aebbb72b1801bf2a2181531fd3 100644 (file)
@@ -630,15 +630,15 @@ be produced in the following manner:
 
 .in 6
 K1 = hash(2 | KEY | HASH)
-K2 = hash(KEY | K1)
-K3 = hash(KEY | K1 | K2)  ...
+K2 = hash(KEY | HASH | K1)
+K3 = hash(KEY | HASH | K1 | K2)  ...
 
 Sending Encryption Key = K1 | K2 | K3 ...
 
 
 K1 = hash(3 | KEY | HASH)
-K2 = hash(KEY | K1)
-K3 = hash(KEY | K1 | K2)  ...
+K2 = hash(KEY | HASH | K1)
+K3 = hash(KEY | HASH | K1 | K2)  ...
 
 Receiving Encryption Key = K1 | K2 | K3 ...
 .in 3
index 6cf7c952b887eaa4054b4b44210b09d8527a904e..575c347e75497df8f1e3043fb13f71a57973a117 100644 (file)
@@ -1714,7 +1714,7 @@ silc_ske_process_key_material_data(unsigned char *data,
                       SILC_STR_END);
     memset(k2, 0, sizeof(k2));
     silc_hash_make(hash, dist->data, dist->len, k2);
-    
+
     /* Take third round */
     dist = silc_buffer_realloc(dist, data_len + hash_len + hash_len);
     silc_buffer_pull_tail(dist, hash_len);
@@ -1730,7 +1730,7 @@ silc_ske_process_key_material_data(unsigned char *data,
     dtmp = silc_calloc((3 * hash_len), sizeof(unsigned char));
     memcpy(dtmp, k1, hash_len);
     memcpy(dtmp + hash_len, k2, hash_len);
-    memcpy(dtmp + hash_len, k3, hash_len);
+    memcpy(dtmp + hash_len + hash_len, k3, hash_len);
 
     key->send_enc_key = silc_calloc(enc_key_len, sizeof(unsigned char));
     memcpy(key->send_enc_key, dtmp, enc_key_len);
@@ -1790,7 +1790,7 @@ silc_ske_process_key_material_data(unsigned char *data,
     dtmp = silc_calloc((3 * hash_len), sizeof(unsigned char));
     memcpy(dtmp, k1, hash_len);
     memcpy(dtmp + hash_len, k2, hash_len);
-    memcpy(dtmp + hash_len, k3, hash_len);
+    memcpy(dtmp + hash_len + hash_len, k3, hash_len);
 
     key->receive_enc_key = silc_calloc(enc_key_len, sizeof(unsigned char));
     memcpy(key->receive_enc_key, dtmp, enc_key_len);