gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-anastasis] 03/03: Added some initial specifications


From: gnunet
Subject: [GNUnet-SVN] [taler-anastasis] 03/03: Added some initial specifications to crypt-anastasis.rst. To be continued...
Date: Fri, 13 Sep 2019 23:34:30 +0200

This is an automated email from the git hooks/post-receive script.

dennis-neufeld pushed a commit to branch master
in repository anastasis.

commit 252fd0f85e6d60950ec473179aa4c8cc0909026e
Author: Dennis Neufeld <address@hidden>
AuthorDate: Fri Sep 13 23:34:01 2019 +0200

    Added some initial specifications to crypt-anastasis.rst. To be continued...
---
 src/api/crypto-anastasis.rst | 58 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/src/api/crypto-anastasis.rst b/src/api/crypto-anastasis.rst
index 5c0e1c2..7bb7ae1 100644
--- a/src/api/crypto-anastasis.rst
+++ b/src/api/crypto-anastasis.rst
@@ -20,4 +20,60 @@
 
 ==========================================
 Specification of Cryptography in Anastasis
-==========================================
\ No newline at end of file
+==========================================
+
+----------------
+Common Encodings
+----------------
+This section describes how certain types of values are represented throughout 
the Anastasis API.
+
+Keys
+^^^^
+.. _`tsref-anastasis-type-EddsaPublicKey`:
+.. _`tsref-anastasis-type-EcdhePublicKey`:
+.. _`tsref-anastasis-type-EcdhePrivateKey`:
+.. _`tsref-anastasis-type-EddsaPrivateKey`:
+
+.. code-block:: tsref
+
+   // EdDSA and ECDHE public keys always point on Curve25519
+   // and represented  using the standard 256 bits Ed25519 compact format,
+   // converted to Crockford `Base32`_.
+   type EddsaPublicKey = string;
+   type EddsaPrivateKey = string;
+   type EcdhePublicKey = string;
+   type EcdhePrivateKey = string;
+
+------------------------
+Cryptographic primitives
+------------------------
+
+All elliptic curve operations are on Curve25519. Public and private keys are 
thus 32 bytes, 
+and signatures 64 bytes. For hashing, including HKDFs, Anastasis uses 512-bit 
hash codes (64 bytes).
+
+.. sourcecode:: c
+
+    struct GNUNET_HashCode {
+        uint8_t hash[64];      // usually SHA-512
+    };
+
+.. _employee_pub:
+.. sourcecode:: c
+
+    struct ANASTASIS_EmployeePublicKeyP {
+        uint8_t ecdhe_pub[32];
+    };
+
+.. _server_pub:
+.. sourcecode:: c
+
+    struct ANASTASIS_ServerPublicKeyP {
+        uint8_t ecdhe_pub[32];
+    };
+
+.. _ephemeral_pub:
+.. sourcecode:: c
+
+    struct ANASTASIS_EphemeralPublicKeyP {
+        uint8_t ecdhe_pub[32];
+    };

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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