[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.