Re: Ed25519 Signature 2018

IMO canonicalization should be independent of signature algorithm.

Anders
https://github.com/cyberphone/json-canonicalization#json-canonicalization
https://tools.ietf.org/id/draft-erdtman-jose-cleartext-jws-00.html

On 2018-05-06 23:08, Kim Hamilton Duffy wrote:
> (adding Credentials CG alias)
> 
> Hi Vaneev,
> I'll kick off the discussion by answering the parts I know
> 
>  > 1) How can I create my modification of Ed25519Signature2018 to support sha3-512 digestAlgorithm?
> 
> I believe this would need to be a new signature suite; the general pattern is to have each suite specify a safe combination of canonicalization/digest/signature algorithms rather than have options within a given suite.
> 
> See section 6 "Signature Suites" of the LD Signatures spec https://w3c-dvcg.github.io/ld-signatures/
> 
> This community can likely help you get started if that path makes sense.
> 
>  > 2) I am aware how digital signatures work and I can’t really understand what should be signed, if data is represented as json-ld. What algorithm is used to represent json-ld document as bytes before signing?
> 
> RDF dataset normalization (canonicalization) described here (http://json-ld.github.io/normalization/spec/) allows a deterministic representation before signing and verifying (with the "signature" section removed in the latter case).
> 
> Each signature suite specifies its precise canonicalization algorithm but I realize that I don't have references as to the differences (this would be useful). Some examples you'll see in the suites and code are URGNA2012, URDNA2015, GCA2015.
> 
> In any case, you'll likely be able to reuse an existing LD signature/verification library that will take care of those details for you.
> 
> There are several reference implementations and tools you can use to get started, e.g.:
> - https://github.com/digitalbazaar/jsonld.js
> - https://json-ld.org/playground/
> 
> And many more; let us know if you're looking for specific language support.
> 
> This is emphasizing that we need a good cleanup of our docs (indexing, updating links, etC). We have a couple of github issuances tracking this, but for now let us know if you need pointers.
> 
> Thanks,
> Kim
> 
> On Sun, May 6, 2018 at 11:49 AM Vaneev Bogdan <bogdan@soramitsu.co.jp <mailto:bogdan@soramitsu.co.jp>> wrote:
> 
>     Hello.
> 
>     I am following https://w3c-dvcg.github.io/lds-ed25519-2018/ and I see that current cipher suite uses sha512, which is from sha2 family.
> 
>     I want to use Ed25519 implementation with SHA3-512, because it is used in https://github.com/hyperledger/iroha and I don’t really know how to modify Ed25519Signature2018
> 
>     And, in general, I don’t understand few things and I would be very thankful, if you point me to related materials and answer these questions:
> 
>     1) How can I create my modification of Ed25519Signature2018 to support sha3-512 digestAlgorithm?
> 
>     2) I am aware how digital signatures work and I can’t really understand what should be signed, if data is represented as json-ld. What algorithm is used to represent json-ld document as bytes before signing?
> 
>     3) This is used to https://w3id.org/security#Ed25519Signature2018
>     Refer to parameters, used in Ed25519Signature2018, but this link is broken (there is no Ed25519Signature2018). It was deleted?
> 
> 
>     Thank you for your time.
> 
>     Bogdan,
>     Soramitsu Software Engineer.
> 
> -- 
> Kim Hamilton Duffy
> CTO & Principal Architect Learning Machine
> Co-chair W3C Credentials Community Group
> 400 Main Street Building E19-732, Cambridge, MA 02139
> 
> kim@learningmachine.com <mailto:kim@learningmachine.com> | kimhd@mit.edu <mailto:kimhd@mit.edu>
> 425-652-0150 | LearningMachine.com
> 

Received on Monday, 7 May 2018 05:07:21 UTC