Delegatable pseudorandom functions and applications
First Claim
1. An apparatus for delegating by a delegator evaluation of a pseudorandom function to a proxy, comprising:
- a memory; and
at least one processing device, coupled to the memory, operative to;
compute, using said at least one processing device, a trapdoor based on a secret key and a predicate, wherein said predicate defines a plurality of values for which the proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and
provide, using said at least one processing device, said trapdoor to said proxy for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication to said proxy of said plurality of values for which the proxy is authorized to evaluate said pseudorandom function.
8 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for delegating evaluation of pseudorandom functions to a proxy. A delegator delegates evaluation of a pseudorandom function to a proxy, by providing a trapdoor τ to the proxy based on a secret key k and a predicate P using an algorithm T, wherein the predicate P defines a plurality of values for which the proxy will evaluate the pseudorandom function, wherein the plurality of values comprise a subset of a larger domain of values, and wherein the trapdoor τ provides an indication to the proxy of the plurality of values. A proxy evaluates a pseudorandom function delegated by a delegator by receiving a trapdoor τ from the delegator that provides an indication of a plurality of values to be evaluated, wherein the plurality of values comprise a subset of a larger domain of values; and evaluating an algorithm C on the trapdoor τ to obtain the pseudorandom function value for each of the plurality of values. The trapdoor τ can be provided to the proxy using a Gordreich, Goldwasser, Micali (GGM) binary tree representation.
21 Citations
36 Claims
-
1. An apparatus for delegating by a delegator evaluation of a pseudorandom function to a proxy, comprising:
-
a memory; and at least one processing device, coupled to the memory, operative to; compute, using said at least one processing device, a trapdoor based on a secret key and a predicate, wherein said predicate defines a plurality of values for which the proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and provide, using said at least one processing device, said trapdoor to said proxy for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication to said proxy of said plurality of values for which the proxy is authorized to evaluate said pseudorandom function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for evaluating by a proxy a pseudorandom function delegated by a delegator, comprising:
-
a memory; and at least one processing device, coupled to the memory, operative to; receive, using said at least one processing device, a trapdoor from said delegator for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication of a plurality of values for which said proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and evaluate, using said at least one processing device, an algorithm on said trapdoor to obtain at least one pseudorandom function value for at least one of said plurality of values. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method by a delegator for delegating evaluation of a pseudorandom function to a proxy, comprising:
-
computing, using at least one processing device, a trapdoor based on a secret key and a predicate, wherein said predicate defines a plurality of values for which the proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and providing, using said at least one processing device, said trapdoor to said proxy for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication to said proxy of said plurality of values for which the proxy is authorized to evaluate said pseudorandom function.
-
-
34. A computer program product comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by a delegator for delegating evaluation of a pseudorandom function to a proxy perform the following steps:
-
computing, using at least one processing device, a trapdoor based on a secret key and a predicate, wherein said predicate defines a plurality of values for which the proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and providing, using said at least one processing device, said trapdoor to said proxy for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication to said proxy of said plurality of values for which the proxy is authorized to evaluate said pseudorandom function.
-
-
35. A method by a proxy for evaluating a pseudorandom function delegated by a delegator, comprising:
-
receiving, using at least one processing device, a trapdoor from said delegator for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication of a plurality of values for which said proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and evaluating, using said at least one processing device, an algorithm on said trapdoor to obtain at least one pseudorandom function value for at least one of said plurality of values.
-
-
36. A computer program product comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by a proxy for evaluating a pseudorandom function delegated by a delegator perform the following steps:
-
receiving, using at least one processing device, a trapdoor from said delegator for said proxy to evaluate said pseudorandom function on behalf of said delegator, wherein said trapdoor provides an indication of a plurality of values for which said proxy is authorized to evaluate said pseudorandom function, wherein said plurality of values comprise a subset of a larger domain of values; and evaluating, using said at least one processing device, an algorithm on said trapdoor to obtain at least one pseudorandom function value for at least one of said plurality of values.
-
Specification