Skip to main content
. 2026 Sep 30;26(19):6205. doi: 10.3390/s26196205
Algorithm 5 Confirmation/Disavowal
Input: pp, and e
Output: Confirmation or Disavowal
  •    1:

    Signer and verifier calculate L and X;

  •    2:

    Chooses a permutation r over (1,2,…,m);

  •    3:

    Chooses a vector π∈Dσm;

  •    4:

    Calculates F1=H5(r||Lπmod2q);

  •    5:

    Calculates F2=H5(r(π));

  •    6:

    Calculates F3=H5(r(π+x));

  •    7:

    Calculates F4=H5(r||Uπmod2q);

  •    8:

    Sets the commitments (F1,F2,F3,F4);

  •    9:

    Verifier sends a challenge f∈{1,2,3} to signer;

  •  10:

    Signer answers (r,π) for f=1 challenge;

  •  11:

    Answers (r,π+x) for f=2 challenge;

  •  12:

    Answers (r(π),r(x)) for f=3 challenge;

  •  13:

    Verifier checks the validity of F1, F2, and F4 for f=1 challenge;

  •  14:

    Checks the validity of F1, F2, and F4 for f=2 challenge;

  •  15:

    If F4=H5(r||U(π+x)−e3), outputs confirmation;

  •  16:

    else F4≠H5(r||U(π+x)−e3), outputs disavowal;

  •  17:

    Checks the validity of F2, F3, and ||r(e)||≤βm for f=3 challenge;

  •  18:

    Outputs “Confirmation” when verifications are all successful;

  •  19:

    Otherwise, outputs “Disavowal”.