Module dhke

Source
Expand description

This module defines the basic crypto primitives for Blind Diffie-Hellman Key Exchange (blind ecash).

Implementation of RubenSomsen/Blind-DH-ecash.md

Bob (Mint):

 A = a*G
 return A

Alice (Client):

 Y = hash_to_curve(secret_message)
 r = random blinding factor
 B'= Y + r*G
 return B'

Bob:

 C' = a*B'
 (= a*Y + a*r*G)
 return C'

Alice:

 C = C' - r*A
 (= C' - a*r*G)
 (= a*Y)
 return C, secret_message

Bob:

 Y = hash_to_curve(secret_message)
 C == a*Y

If true, C must have originated from Bob

Structs§

Dhke

Functions§

public_key_from_hex