Skip to main content
. 2020 Oct 8;20(19):5719. doi: 10.3390/s20195719
Algorithm 1 Proposed Message Authentication Algorithm
Requirements: two vehicles vi, vj share a common hash-chain of n secret keys
Signing Algorithm:
vi pick a random secret key ki from the pre-stored hash table.
vi calculates a MAC signature (Sigki) using HMAC-SHA256 with the key ki over the message consisting of pseudo-identity PIDi, the original payload mi,j, and time-stamp Ts,
Sigki=HMAC_SHA256 ki (PIDi||mi,j||Ts)
vi sends {PIDi, Sigki, mi,j,kindex, Ts} to vj.
Verifying Algorithm:
  • 1.

    vj receives {PIDi, Sigki, mi,j,kindex, Ts}, then extract the kindex, search the pre-stored hash table to find  ki that match the received index.

  • 2.

    vj calculates a MAC signature


Sigki*=HMAC_SHA256 ki (PIDi||mi,j||Ts).
  • 3.

      vj accepts the message if and only if Sigki=Sigki*, else discard the message.