Skip to main content
. 2023 Mar 4;25(3):454. doi: 10.3390/e25030454
Algorithm 4 Message recovery
  • Input: 

    Private key sk=(si,si+1), message u

  • Output: 

    Message recovery signature (zi,zi+1)

  • 1:

    Choose y1,y2DZN,σ

  • 2:

    Divide the message u into two parts u=u1u2 and make |u1|=l2, if |u|<l2 then let u2=.

  • 3:

    Compute α=H2(y1+y2h).

  • 4:

    Compute u1=F1(u1)(F2(F1(u1))u1).

  • 5:

    Compute r=αu1.

  • 6:

    Compute C=H3(r,u2)

  • 7:

    Compute zi=siC+y1,zi+1=si+1C+y2.

  • 8:

    if Nothing is outputted then

  • 9:

        Restart

  • 10:

    end if

  • 11:

    return(u2,zi,zi+1) on message m with probability min(DZN,σMDZN,σ,sku,1), where M=O(1).