Skip to main content
. 2020 Nov 12;20(22):6471. doi: 10.3390/s20226471
Algorithm 1: System initialization.
Input: Initial parameters.
Output: PP, MSK.
  • 1:

    Select a big number q, and determine the elliptic curve: E:y2=x3+ax+b mod q.

  • 2:

    Generate a cyclic group G1 and bilinear map e:G1×G1GT.

  • 3:

    Set g as the generator of G1.

  • 4:

    Determine system attribute set us={att1,att2,,attx}.

  • 5:

    Select {Q1,Q2,,Qx}RG1, based on attribute us.

  • 6:

    Choose a secure one-way hash function H:{0,1}*G1.

  • 7:

    Randomly select α,βRZq.

  • 8:

    Compute B=gβ.

  • 9:

    Compute public key Y=e(g,g)α.

  • 10:

    Generate PP=(g,B,Y,H,Qx,e,G1,GT) and MSK=(α,β,us).