Research Article

A Lightweight Privacy Protection User Authentication and Key Agreement Scheme Tailored for the Internet of Things Environment: LightPriAuth

Algorithm 2

( Role of the Sensor)
let processSensor(sidj: bitstring) =
  ( registration phase of the sensor )
  out(scSensor,sidj);
 in (scSensor,xj: bitstring);
  ( Real start of the role )
 ( Message 2)
 in(csg,(A:G,m3:bitstring,T2:bitstring));
 ( Message 3)
 if (m3) = hash(con(g2h(A),con(sidj,con(xj,T2)))) then
  event acceptSensor(xj);
 new k2:exponent;
 let B = exp (g, k2) in
 let skijs = hash(g2h(exp (A, k2))) in
 let m4 = hash(con(g2h(B),con(skijs,g2h(A)))) in
 let m5 = hash(con(xj,con(m3,con(m4,g2h(B))))) in
 out(csg,(B,m4,m5));
  event termSensor(xj).