|
|
|
|
|
by dave1010uk
482 days ago
|
|
This is my understanding of how it works, without knowing the actual maths behind the functions: # client
r = random_blinding_factor()
x = client_secret_input()
x_blinded = blind(x, r)
# Server
y_blinded = OPRF(k, x_blinded)
# Client
y = unblind(y_blinded, r)
So you end up with y = OPRF(k, x). But the server never saw x and the client never saw k.This feels like the same kind of unintuitive cryptography as homomorphic encryption. |
|