1

I'm looking at the multisignature scheme provided by MRL005 Section 4.4, and some things are unclear to me. I've attached a picture below of the expression for which I'm seeking some clarification.

Monero Multisignature Snippet

Above, we have:

  1. A generated key image (Ij)
  2. A hash function (H)
  3. A shared public key (Pe)
  4. And a signer-specific public key (Pj)

No ambiguity there.

The actual operations required to calculate a given key image are the core of my questions.

Question 1: For the term (Pe | Pj)

  • Am I correct to interpret this as an inner product of the shared, and signer-specific public keys?

Question 2: For the term (Pe | Pj)

  • How would one actually calculate this value, given the two public keys? A detailed example would be preferred here.

Question 3: For the term H()

  • Which hash function is used here? Sha512, as in EdDSA? Keccak? Or something else?
  • Keep in mind MRL0005 is out of date. You can find more current resources on multisig in MRL0009 and Zero to Monero 2 ch. 9. – koe Aug 19 at 1:40
  • Thanks for pointing me in the right direction(s) – justlearning Aug 19 at 3:36
2

1 & 2 - Pe | Pj is concatenation of the keys.

3 - Keccak, although as @knaccc comments, H() is not simply a hash function, it's hash-to-point, so should read Hp().

| improve this answer | |
  • 1
    I think that there is a typo in MRL005, and that H() is actually Hp(). Otherwise the result of multiplication would not result in an EC point key image. I failed to figure out the nature of their entire multisig scheme from their brief description. – knaccc Aug 19 at 1:00
  • @knaccc indeed, it should read Hp() not H(). The MRL005 note (which is all it seems to be) is quite different to much of the multisig code. – jtgrassie Aug 19 at 1:08
  • This makes a lot more sense now. Thanks to you both. I don't have enough rep to upvote – justlearning Aug 19 at 3:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.