From ebf61e637689cc2a7f62b6ba89d21dcb78d63e71 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 16 May 2015 14:33:37 +0200 Subject: update docu to reflect removal of ECDSA in favor of EdDSA --- api-mint.rst | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/api-mint.rst b/api-mint.rst index de04c715..580128a1 100644 --- a/api-mint.rst +++ b/api-mint.rst @@ -26,18 +26,18 @@ This section describes how certain types of values are represented throughout th .. _public\ key: - * **Public key**: ECDSA, EdDSA and ECDHE public keys are always points on Curve25519 and represented using the Ed25519 standard compact format (256 bits), converted to Crockford Base32_. + * **Public key**: EdDSA and ECDHE public keys are always points on Curve25519 and represented using the Ed25519 standard compact format (256 bits), converted to Crockford Base32_. .. _Signature: - * **Signatures**: EdDSA and ECDSA signatures are be transmitted in two forms in the protocol. As 64-byte base32_ binary-encoded objects with just the R and S values (base32_ binary-only), or as JSON objects with following fields (replace `eddsa` with `ecdsa` for ECDSA signatures): + * **Signatures**: EdDSA signatures are be transmitted in two forms in the protocol. As 64-byte base32_ binary-encoded objects with just the R and S values (base32_ binary-only), or as JSON objects with following fields: * `purpose`: a unique number to state the context in which the signature is to be used in * `size`: the number of bytes that were hashed (using SHA-512) to create the signature; note that signatures are always done over a packed, binary representation of the data and not the JSON representations. * `eddsa_sig`: 64-byte base32_ binary encoding of the R and S values * `eddsa_val`: base32_ binary encoding of the full signed data (including again `purpose` and `size`) - RSA signatures are always simply base32_ encoded. The specific signature scheme in use (blind signature, ECDSA, EdDSA) depends on the context. + RSA signatures are always simply base32_ encoded. The specific signature scheme in use (blind signature, EdDSA) depends on the context. .. _Amount: @@ -237,14 +237,14 @@ Deposit operations are requested by a merchant during a transaction. For the dep :json base32 ecdh_hash: ECDH result from the two keys -.. http:POST:: /test/ecdsa - - Test ECDSA. We do not (yet) test that the client correctly implemented RFC 6979. - - :reqheader Content-Type: application/json - :json base32 ecdsa_pub: Another ECDSA public key - :>json base32 ecdsa_sig: ECDSA signature using purpose TALER_SIGNATURE_MINT_TEST_ECDSA - -.. http:POST:: /test/ecdsa +.. http:POST:: /test/eddsa Test EdDSA. @@ -739,7 +727,7 @@ All elliptic curve operations are on Curve25519. Public and private keys are th }; struct TALER_TransferPublicKeyP { - uint8_t ecdsa_pub[32]; + uint8_t ecdhe_pub[32]; }; struct TALER_TransferPrivateKeyP { @@ -771,17 +759,17 @@ All elliptic curve operations are on Curve25519. Public and private keys are th }; union TALER_CoinSpendPublicKeyP { - uint8_t ecdsa_pub[32]; + uint8_t eddsa_pub[32]; uint8_t ecdhe_pub[32]; }; union TALER_CoinSpendPrivateKeyP { - uint8_t ecdsa_priv[32]; + uint8_t eddsa_priv[32]; uint8_t ecdhe_priv[32]; }; struct TALER_CoinSpendSignatureP { - uint8_t ecdsa_signature[64]; + uint8_t eddsa_signature[64]; }; struct TALER_TransferSecretP { @@ -800,7 +788,7 @@ All elliptic curve operations are on Curve25519. Public and private keys are th Signatures ------------------------ -EdDSA and ECDSA signatures are always made over (the hash of) a block of the same generic format, the `struct SignedData` given below. In our notation, the type of a field can depend on the value of another field. For the following message, the length of the `payload` array must match the value of the `size` field: +EdDSA signatures are always made over (the hash of) a block of the same generic format, the `struct SignedData` given below. In our notation, the type of a field can depend on the value of another field. For the following message, the length of the `payload` array must match the value of the `size` field: .. sourcecode:: c -- cgit v1.2.3