gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r35579 - gnunet/src/cadet


From: gnunet
Subject: [GNUnet-SVN] r35579 - gnunet/src/cadet
Date: Mon, 27 Apr 2015 21:14:15 +0200

Author: bartpolot
Date: 2015-04-27 21:14:15 +0200 (Mon, 27 Apr 2015)
New Revision: 35579

Modified:
   gnunet/src/cadet/gnunet-service-cadet_tunnel.c
Log:
- document axolotl fields

Modified: gnunet/src/cadet/gnunet-service-cadet_tunnel.c
===================================================================
--- gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2015-04-27 19:14:13 UTC 
(rev 35578)
+++ gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2015-04-27 19:14:15 UTC 
(rev 35579)
@@ -162,28 +162,91 @@
   struct GNUNET_CRYPTO_SymmetricSessionKey MK;
 };
 
+/**
+ * Axolotl data, according to https://github.com/trevp/axolotl/wiki
+ */
 struct CadetTunnelAxolotl
 {
-  struct CadetTunnelSkippedKey *head;
-  struct CadetTunnelSkippedKey *tail;
+  /**
+   * A (double linked) list of stored message keys and associated header keys
+   * for "skipped" messages, i.e. messages that have not bee*n
+   * received despite the reception of more recent messages, (head)/
+   */
+  struct CadetTunnelSkippedKey *skipped_head;
 
+  /**
+   * Skipped messages' keys DLL, tail.
+   */
+  struct CadetTunnelSkippedKey *skipped_tail;
+
+  /**
+   * Elements in @a skipped_head <-> @a skipped_tail.
+   */
   uint skipped;
 
+  /**
+   * 32-byte root key which gets updated by DH ratchet
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey RK;
+
+  /**
+   * 32-byte header key (send)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey HKs;
+
+  /**
+   * 32-byte header key (recv)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey HKr;
+
+  /**
+   * 32-byte next header key (send)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey NHKs;
+
+  /**
+   * 32-byte next header key (recv)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey NHKr;
+
+  /**
+   * 32-byte chain keys (used for forward-secrecy updating, send)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey CKs;
+
+  /**
+   * 32-byte chain keys (used for forward-secrecy updating, recv)
+   */
   struct GNUNET_CRYPTO_SymmetricSessionKey CKr;
 
-  struct GNUNET_CRYPTO_EcdhePublicKey DHRs;
+  /**
+   * ECDH Ratchet key (send)
+   */
+  struct GNUNET_CRYPTO_EcdhePrivateKey *DHRs;
+
+  /**
+   * ECDH Ratchet key (recv)
+   */
   struct GNUNET_CRYPTO_EcdhePublicKey DHRr;
 
+  /**
+   * Message number (reset to 0 with each new ratchet, send)
+   */
   uint32_t Ns;
+
+  /**
+   * Message numbers (reset to 0 with each new ratchet, recv)
+   */
   uint32_t Nr;
+
+  /**
+   * Previous message numbers (# of msgs sent under prev ratchet)
+   */
   uint32_t PNs;
 
+  /**
+   * True (#GNUNET_YES) if the party will send a new ratchet key in next msg.
+   */
   int ratchet_flag;
 };
 
@@ -391,7 +454,7 @@
 const static struct GNUNET_CRYPTO_EddsaPrivateKey *my_private_key;
 
 /**
- * Own ephemeral private key.
+ * Own OTR ephemeral private key.
  */
 static struct GNUNET_CRYPTO_EcdhePrivateKey *my_ephemeral_key;
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]