Patent ID: 8077862

Claim:
A method, implemented by a computing device programmed to perform the following, the method comprising: obtaining, by the computing device, a cryptographic key as a secret represented as a first polynomial over GF(2), wherein the cryptographic key is used to encrypt or decrypt data; constructing, by the computing device, a sharing polynomial with coefficients in GF(2 m ), m being at least as large as an effective length of the secret, one or more of the coefficients being the secret; evaluating, by the computing device, the sharing polynomial modulo a primitive polynomial of degree m at n random points, using polynomial operations and modulo 2 arithmetic to generate n shares, each of the n shares comprising one of the random points expressed as a random bit string in GF(2 m ) and a corresponding evaluated result; and distributing, by the computing device, the n shares to n cooperating computing devices.