Skip to main content
. 2017 Sep 14;17(9):2117. doi: 10.3390/s17092117
Algorithm 1: The MSign Algorithm in IBMS CR−1.
Input: the master public key mpk, the private key sk, the identity set IDSet, the message to be signed m;
Output: a multi-signature mσ.
  1. Each MSi randomly selects riZN* and computes Riri3(modN) and ti=h2(Ri).
  2. MSi only broadcasts ti to other signers MSj (ji) in IDSet and keeps Ri temporarily.
  3. After receiving ti from MSi (2in), MS1 then broadcasts R1 to other MSi.
  4. After receiving Ri from MRi, MS1 checks whether ti=h2(Ri) for 2in is satisfied.
  5. If one of these fails, the algorithm stops, which means the attackers have mixed invalid partial signatures. Otherwise, MS1 sets Ri=1nRi(modN), w=h3(RIDSetm), and u1r1·sk1w(modN).
  6. MS1 broadcasts u1 to other MSi.
  7. After receiving ui from MSi, MS1 aggregates these by ui=1nui(modN).
  8. Each MSi locally generates a multi-signature mσ=(w,u).
Return mσ;