Research Article

# Improving an Anonymous and Provably Secure Authentication Protocol for a Mobile User

## Algorithm 2

Role specification for user .
 role user (Ui, AS: agent, SKuas: symmetric_key, H, F: function, SND, RCV: channel (dy)) played_by Ui def= local State: nat, IDi, PWi, BIOi, RPWi, DPWi, T, Ai: text, Hi, Vi, VVi, R, S, Xi, Yi, Wi: text, CIDi, Zi, T1, T3, SK, Y2, Ys, Zs: text const as_ui_y2, sc1, sc2, sc3, sc4: protocol_id init State ≔ 0 transition (1) State = 0 ∧ RCV(start) =|> State’ ≔ 1 ∧ T’ ≔ new() ∧ RPWi’ ≔ H(PWi.Ai) ∧ DPWi’ ≔ xor(RPWi’,T’) ∧ secret(, sc1, Ui) ∧ secret(IDi, sc2, ) ∧ SND(SKuas) (2) State = 2 ∧ RCV(xor(H(IDi.xor(H(PWi.Ai),T’)),F(R.H(S.IDi))).xor((Yi’.H(Yi’.S)), xor(H(PWi.Ai),T’)) _SKuas) =|> State’ ≔ 4 ∧ secret(R, S, sc3, AS) ∧ secret(F(R.H(S.IDi)), sc4, Ui, AS) ∧ VVi’ ≔ xor(H(IDi.H(PWi.Ai)), F(R.H(S.IDi))) ∧ Wi’ ≔ H(H(IDi.H(PWi.Ai)).F(R.H(S.IDi))) ∧ Xi’ ≔ xor((Yi’.H(Yi’.S)),H(PWi.Ai)) ∧ CIDi’ ≔ xor(IDi, H(Yi’.S)) ∧ T1’ ≔ new() ∧ Zi’ ≔ H(IDi.F(R.H(S.IDi)).Yi’.T1’) ∧ SND(CIDi’.Yi’.Zi’.T1’) (3) State = 6 ∧ RCV(xor((Y2’.H(Y2’.S)),F(R.H(S.IDi))).H(SK.F(R.H(S.IDi)).T1’.T3’).T3’) =|> State’ ≔ 8 ∧ SK’ ≔ H(IDi.F(R.H(S.IDi)).H(Y2’.S).T1’.T3’) ∧ Xi’ ≔ xor((Y2’.H(Y2’.S)),H(PWi.Ai)) ∧ request(Ui, AS, as_ui_y2, Y2’) end role

We are committed to sharing findings related to COVID-19 as quickly as possible. We will be providing unlimited waivers of publication charges for accepted research articles as well as case reports and case series related to COVID-19. Review articles are excluded from this waiver policy. Sign up here as a reviewer to help fast-track new submissions.