Skip to main content
. 2022 Feb 2;22(3):1146. doi: 10.3390/s22031146
Algorithm 4: Data Transferring.
Input: MAB;
Step 1: request;
A chooses a random number kA2;
MAB=(IDATABIDBHash_DataTxnumber);
call function Sign(MAB,dA,kA2), return (rA2,sA2);
CABEPukB(MAB)
send CAB, (rA2,sA2) to HFB;
Step 2: return;
Upon receiving; MAB=DPrkB(CAB);
check whether TNOWTABτ;
call function Verify(zA2,rA2,sA2), return result;
ifTNOWTABτthen
  if result = “valid” then
    B chooses a random number kB3;
   MBA=(IDBTBAIDASKB)
   call function Sign(MBA,dB,kB3), return (rB3,sB3);
   CB2EPukA(MBA);
   send CB2,(rB3,sB3), to A;
  end
end
Step 3: Descrypt data;
MBA=DPrkA(CBA); check whether TNOWTBAτ;
call function Verify(zB3,rB3,sB3), return result;
ifTNOWTBAτthen
  if result = “valid” then
   store SKB; get encrypted data in IPFS;
   M1=DSKB(CB1);
  end
end