Skip to main content
. 2022 Sep 29;22(19):7413. doi: 10.3390/s22197413
Algorithm 1 Initiation.
  • GW: Calculate Rgw=PUFgw(Cgw)

  •            GWCS:M1={Cgw}

  • CS:  Generate a random number Ncs1

  •            Calculate X1=NLF(Rgw)Ncs1, H1=h(Ncs1)

  •            CSGW:M2={H1,X1}

  •            SK1=Ncs1Rgw

  • GW: Calculate Ncs1=X1NLF(Rgw), Ncs1=X1NLF(Rgw), H1=h(Ncs1)

  •            If H1H1, the message is discarded. Otherwise, the gateway generates a new CRP.

  •            SK1=Ncs1Rgw

  •            Calculate
    E1=CgwnewRgwnewEncSK1
    H2=h(CgwnewRgwnewNcs1)
  •            GWCS:M3={H2,E1}

  • CS:  Calculate D1=E1DecSK1, H2=h(D1Ncs1)

  •            If H2=H2, we store the updated value Cgwnew and Rgwnew.