updates.
[silc.git] / lib / silcske / silcske.h
index 55613e4cf3f9fdecf03e2cf886aec541bd3b5172..1a2bdc28cc1dbedc64f61f01ed300368bb182695 100644 (file)
@@ -119,10 +119,10 @@ struct SilcSKEStruct {
 
   /* Random number x, 1 < x < q. This is the secret exponent
      used in Diffie Hellman computations. */
-  SilcInt x;
+  SilcInt *x;
   
   /* The secret shared key */
-  SilcInt KEY;
+  SilcInt *KEY;
   
   /* The hash value HASH of the key exchange */
   unsigned char *hash;
@@ -204,6 +204,14 @@ SilcSKEStatus silc_ske_create_rnd(SilcSKE ske, SilcInt n,
 SilcSKEStatus silc_ske_make_hash(SilcSKE ske, 
                                 unsigned char *return_hash,
                                 unsigned int *return_hash_len);
+SilcSKEStatus 
+silc_ske_process_key_material_data(unsigned char *data,
+                                  unsigned int data_len,
+                                  unsigned int req_iv_len,
+                                  unsigned int req_enc_key_len,
+                                  unsigned int req_hmac_key_len,
+                                  SilcHash hash,
+                                  SilcSKEKeyMaterial *key);
 SilcSKEStatus silc_ske_process_key_material(SilcSKE ske, 
                                            unsigned int req_iv_len,
                                            unsigned int req_enc_key_len,
@@ -212,4 +220,6 @@ SilcSKEStatus silc_ske_process_key_material(SilcSKE ske,
 SilcSKEStatus silc_ske_check_version(SilcSKE ske,
                                     unsigned char *version,
                                     unsigned int version_len);
+void silc_ske_free_key_material(SilcSKEKeyMaterial *key);
+
 #endif