Method and system for protection of digital information
First Claim
1. A method for operating a digital information processing system that distributes encryption information from an authorization processor to a plurality of user processors, the method comprising processor executed steps of:
- at the authorization processor;
selecting a resilience threshold t, and a number N;
selecting a generator g of a multiplicative subgroup R of ZN*, wherein ZN* is a set of numbers less than and relatively prime to N and R consists of powers of g mod N;
selecting random numbers k and b1, . . . , bt in the range [2;
|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|;
generating gj =gb.sbsp.j mod N for 1≦
j≦
t;
distributing to the user processors encrypted information with gj ; and
receiving a value n from a user processor, and returning to the user processor a signet a, wherein;
space="preserve" listing-type="equation">a=k-b.sub.1 n- . . . -b.sub.t n.sup.t mod |R|;
whereby the signet a is for enabling the user processor to generate a decryption key K to decrypt the encrypted information.
0 Assignments
0 Petitions
Accused Products
Abstract
An information processing system including an encryption processing logic module and a decryption processing logic module for enabling the encryption of digital information to be decrypted with a decryption key K. The encryption processing module includes logic for encrypting the digital information, distributing the digital information and authorizing a user to decrypt the information. The decryption processing module includes logic for the user to communicate a user number ni to receive an authorization number ai from the authorization logic in the encryption processing module and extrication logic for extricating the decryption key. The user number ni uniquely identifies, and is valuable to, the user, so valuable in fact that the user would be unwilling to publically dislcose it. The extrication logic operates on a digital signet pair (ai, ni) consisting of the authorization number and user number, to extract K. The decryption logic then uses K to make the content available to the user. The extrication function is fully available to the user as a publicly-computable function in which it is computationally infeasible to use the extrication function to determine other valid digital signet pairs which can be used to extract K.
87 Citations
6 Claims
-
1. A method for operating a digital information processing system that distributes encryption information from an authorization processor to a plurality of user processors, the method comprising processor executed steps of:
at the authorization processor; selecting a resilience threshold t, and a number N; selecting a generator g of a multiplicative subgroup R of ZN*, wherein ZN* is a set of numbers less than and relatively prime to N and R consists of powers of g mod N; selecting random numbers k and b1, . . . , bt in the range [2;
|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|;generating gj =gb.sbsp.j mod N for 1≦
j≦
t;distributing to the user processors encrypted information with gj ; and receiving a value n from a user processor, and returning to the user processor a signet a, wherein;
space="preserve" listing-type="equation">a=k-b.sub.1 n- . . . -b.sub.t n.sup.t mod |R|;whereby the signet a is for enabling the user processor to generate a decryption key K to decrypt the encrypted information. - View Dependent Claims (2)
-
3. A method for operating a digital information processing system that distributes encryption information from an authorization processor to a plurality of user processors, the method comprising processor executed steps of:
at the authorization processor; selecting a resilience threshold t, a security parameter s, and a number N; selecting a generator g of a multiplicative subgroup R of ZN*, wherein ZN* is a set of numbers less than and relatively prime to N, and R consists of powers of g mod N; selecting random numbers k and b1, . . . , b2t in the range [2;
|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|;generating additional generators gj, wherein gj =gb.sbsp.j, and 1≦
j≦
2t;distributing to the user processors encrypted information with g1, . . . g2t ; receiving a value n from a user processor; in response to n; randomly selecting an ordered list of s indices i1, . . . , is, where 1≦
ij ≦
m and m=2t; andreturning to the user processor a signet a, wherein;
space="preserve" listing-type="equation">a=(k-b.sub.i.sbsb.1 n-. . . -b.sub.i.sbsb.s n.sup.s) mod |R|, together with the ordered listwhereby, the signet a is for enabling the user processor to generate a decryption key k to decrypt the encrypted information. - View Dependent Claims (4)
-
5. A method for operating a digital information processing system that distributes encryption information from an authorization processor to a plurality of user processors, the method comprising processor executed steps of:
at the authorization processor; selecting a resilience threshold t, a security parameter s, a number N, and a number m, where m=2t and is evenly divisible by s; selecting a generator g of a multiplicative subgroup of R of ZN*, wherein ZN* is a set of numbers less than and relatively prime to N, and R consists of the powers of g mod N; selecting random numbers k and b1, . . . , b2t in the range [2;
|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|;generating additional generators g1, . . . , gm, where gi =gb.sbsp.i and 1≦
i≦
2t;partitioning the generators g1, . . . , gm into m/s pairwise disjoint sets S1, . . . , Sm/s ; receiving a value n from a user processor; in response to n; randomly selecting an index j in the range [1;
m/s];using the set Sj containing generators gj1, . . . , gjs and the random numbers bj1, . . . , bjs that define those generators, returning to the user processor a signet a, wherein;
space="preserve" listing-type="equation">a=k-b.sub.j1 n- . . . -b.sub.js n.sup.s, together with the index jwhereby the signet a is for enabling the user processor to generate a decryption key K to decrypt the encrypted information. - View Dependent Claims (6)
Specification