Research Article

TrustChain: A Privacy Preserving Blockchain with Edge Computing

Algorithm 1

ZKP with DH to Suppress Personal Information Exposure.

1: Trust Service selects two large random prime numbers p (Prime) and g (Generator) s.t.
ā€ƒ256<p,g and communicate to both Alice and Bob.
2: Alice generates hash of her information and store in x=SHA256(Name, DoB, SSN).
3: Alice calculates k1=gx mod p and sends it to Bob.
4: Bob takes the hash of his request and store in y, s.t. 0<y<p.
5: Bob calculates k2=gy mod p and sends it to Alice.
6: Alice calculates the shared secret key, sk= (k2)xmod p.
7: Bob calculates the shared secret key, sk= (k1)ymod p.
8: Alice generates another random oracle v, s.t. 0<v<p.
9: Alice calculates her commitment, t= +.
10: Alice calculates the challenge, C=SHA256(g, sk, t).
11: Alice sends the response, r=(v.x – C.x) mode p and challenge C to Bob.
12: Bob calculate the commitment, = gr. (k1)C +(k2) r. (sk)C and challenge =SHA256(g, sk, ).
13: If C=, Bob can satisfy that Alice has provided the requested information.