Consider this command on a trusted computer:
result = function(public data, secret data)
or shorter: r = f(p,s)
.
How could a function on an untrusted computer produce the same result
without the secret data
being available to the untrusted computer?
Abstract example:
r = f(p, s) = f'(p1, p2, ... pn)
such that one or more of the public p
variables are derived in some fashion from s
.
Concrete example:
p
is a database table, r
is a record and s
is a lookup criteria. The database server is untrusted.