Coder Social home page Coder Social logo

Comments (6)

TallTed avatar TallTed commented on June 25, 2024

I think this is what you're referring to --

          <p>
The `proofValue` property of the proof MUST be a detached ECDSA
produced according to [[FIPS-186-5]], encoded according to [[MULTIBASE]] using
the base58-btc base encoding.
          </p>

Are you asking that this entire paragraph be deleted? Can you provide a reason for this?

from vc-di-ecdsa.

JSAssassin avatar JSAssassin commented on June 25, 2024

@TallTed, not the entire paragraph but the statement "The proofValue property of the proof MUST be a detached ECDSA produced according to [[FIPS-186-5]]". @msporny suggested raising this issue since he thinks that the statement is probably unnecessary.

from vc-di-ecdsa.

TallTed avatar TallTed commented on June 25, 2024

@JSAssassin — So are you suggesting that the paragraph should be reduced to the following, by deleting the entire "statement" you've quoted?

          <p>
encoded according to [[MULTIBASE]] using the base58-btc base encoding.
          </p>

Or the following, which removes only the phrase, a detached ECDSA produced according to [[FIPS-186-5]], which appears to be the salient portion of that quoted "statement"?

          <p>
The `proofValue` property of the proof MUST be
encoded according to [[MULTIBASE]] using the base58-btc base encoding.
          </p>

from vc-di-ecdsa.

JSAssassin avatar JSAssassin commented on June 25, 2024

@TallTed Sorry for the confusion. The second option is what I am suggesting. The phrase a detached ECDSA produced according to [[FIPS-186-5]] can be removed, leaving the paragraph with the text:
The proofValue property of the proof MUST be encoded according to [[MULTIBASE]] using the base58-btc base encoding.

from vc-di-ecdsa.

dlongley avatar dlongley commented on June 25, 2024

Perhaps the statement should just remove "detached":

The proofValue property of the proof MUST be an ECDSA signature
produced according to [[FIPS-186-5]], encoded according to [[MULTIBASE]] using
the base58-btc base encoding.

This may also be insufficient since FIPS-186-5 just says to output the r and s components. What we really want to say (if we want to be extra clear), is that the IEEE P1363 format is used for the signature and then it is encoded using the multibase base58-btc base encoding. We can perhaps reuse some language or references mentioned in this MDN docs article around producing an ECDSA signature using Web Crypto, which uses the same (and most commonly used) format as we do here:

https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/sign#ecdsa

We could also leave this to tests to confirm if that's more appropriate. Here's all the Web Crypto spec has to say: https://www.w3.org/TR/WebCryptoAPI/#ecdsa-description

As another example, the http signatures talks about the concatenation of r and s here:
https://www.ietf.org/archive/id/draft-ietf-httpbis-message-signatures-17.html#section-3.3.4

The signature algorithm returns two integer values, r and s. These are both encoded as big-endian unsigned integers, zero-padded to 32-octets each. These encoded values are concatenated into a single 64-octet array consisting of the encoded value of r followed by the encoded value of s.

from vc-di-ecdsa.

msporny avatar msporny commented on June 25, 2024

PR #18 has been merged to address this issue. Closing.

from vc-di-ecdsa.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.