US 11,943,352 B2
Outsourcing exponentiation in a private group
Kevin Yeo, Mountain View, CA (US); Sarvar Patel, Montville, NJ (US); and Phillipp Schoppmann, Mountain View, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Apr. 16, 2021, as Appl. No. 17/233,045.
Application 17/233,045 is a continuation of application No. 16/411,646, filed on May 14, 2019, granted, now 11,005,654.
Prior Publication US 2021/0234688 A1, Jul. 29, 2021
Int. Cl. H04L 9/30 (2006.01); G06F 7/72 (2006.01); G06F 9/30 (2018.01); G06F 16/9035 (2019.01); H04L 9/08 (2006.01)
CPC H04L 9/3033 (2013.01) [G06F 7/723 (2013.01); G06F 9/3001 (2013.01); G06F 16/9035 (2019.01); H04L 9/085 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method when executed by data processing hardware of a server causes the data processing hardware to perform operations comprising:
obtaining a positional base indicative of a numeral position system;
determining a server-held exponent based on the positional base, the server-held exponent representative of a plurality of data blocks stored on memory hardware in communication with the data processing hardware;
determining a positional count of the server-held exponent, the positional count indicative of a number of digits of the server-held exponent using the numeral position system indicated by the positional base;
transmitting the positional count to a client device;
receiving, from the client device, a series of base values, the series of base values based on the positional count, a group element representative of one of the plurality of data blocks and a bandwidth limit for communications between the client device and the server;
determining, using the series of base values and the server-held exponent, a result associated with the one of the plurality of data blocks without revealing an identity of the one of the plurality of data blocks to the server; and
transmitting the result to the client device.