← Back to Patent Explorer
US6038316A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for protection of digital information

Assignee: International Business Machines Corp
•
Filing: 1997-09-24
•
Granted: 2000-03-14
•
Expires: 2017-09-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Cynthia Dwork
  • 👤 Joseph Y. Halpern
  • 👤 Jeffrey Bruce Lotspiech

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 21:26
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/00086; G11B20/0021; G06; G06F; G06F21/00; G06F21/10; G11B20/00137; G11B20/00144; G11B20/00188; G11B20/00195; G11B20/0071; H; H04; H04L; H04L9/00; H04L9/30; H04L9/3006; H04L9/302; G06F2211/00; G06F2211/007; H04L2209/00; H04L2209/60

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 187 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b t in the range [2:|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|; generating g j =g b .sbsp.j mod N for 1≦j≦t; distributing to the user processors encrypted information with g j ; and receiving a value n from a user processor, and returning to the user processor a signet a, wherein: 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.
Claim 2
Independent Claim 187 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b t in the range [2:|R|], where |R| denotes the size of R and where the random numbers are relatively prime to |R|; generating g j =g b .sbsp.j mod N for 1≦j≦t; distributing to the user processors encrypted information with g j ; and receiving a value n from a user processor, and returning to the user processor a signet a, wherein: 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.
Claim 3
Dependent Claim 47 words
The method of claim 1, also including: at the user processor: receiving the encrypted information with g i ; sending n to the authorization processor; receiving the signet a; generating K using: K=g.sup.a g.sub.1.sup.n . . . g.sub.t.sup.n.spsp.t mod N; and, decrypting the encrypted information using K.
Claim 4
Independent Claim 232 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b 2t 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 g j , wherein g j =g b .sbsp.j, and 1≦j≦2t; distributing to the user processors encrypted information with g 1 , . . . g 2t ; receiving a value n from a user processor; in response to n: randomly selecting an ordered list of s indices i 1 , . . . , i s , where 1≦i j ≦m and m=2t; and returning to the user processor a signet a, wherein: a=(k-b.sub.i.sbsb.1 n-. . . -b.sub.i.sbsb.s n.sup.s) mod |R|, together with the ordered list whereby, the signet a is for enabling the user processor to generate a decryption key k to decrypt the encrypted information.
Claim 5
Independent Claim 232 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b 2t 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 g j , wherein g j =g b .sbsp.j, and 1≦j≦2t; distributing to the user processors encrypted information with g 1 , . . . g 2t ; receiving a value n from a user processor; in response to n: randomly selecting an ordered list of s indices i 1 , . . . , i s , where 1≦i j ≦m and m=2t; and returning to the user processor a signet a, wherein: a=(k-b.sub.i.sbsb.1 n-. . . -b.sub.i.sbsb.s n.sup.s) mod |R|, together with the ordered list whereby, the signet a is for enabling the user processor to generate a decryption key k to decrypt the encrypted information.
Claim 6
Dependent Claim 58 words
The method of claim 3, also including: at the user processor: receiving the encrypted information with g 1 , . . . , g 2t ; sending n to the authorization processor; receiving the signet a and the ordered list; generating K using: K=g.sup.a g.sub.i.sbsb.1.sup.n . . . g.sub.i.sbsb.s.sup.n.spsp.s mod N and, decrypting the encrypted information using K.
Claim 7
Independent Claim 278 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b 2t 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 g 1 , . . . , g m , where g i =g b .sbsp.i and 1≦i≦2t; partitioning the generators g 1 , . . . , g m into m/s pairwise disjoint sets S 1 , . . . , S m/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 S j containing generators g j1 , . . . , g js and the random numbers b j1 , . . . , b js that define those generators, returning to the user processor a signet a, wherein: a=k-b.sub.j1 n- . . . -b.sub.js n.sup.s, together with the index j whereby the signet a is for enabling the user processor to generate a decryption key K to decrypt the encrypted information.
Claim 8
Independent Claim 278 words
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 Z N * , wherein Z N * 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 b 1 , . . . , b 2t 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 g 1 , . . . , g m , where g i =g b .sbsp.i and 1≦i≦2t; partitioning the generators g 1 , . . . , g m into m/s pairwise disjoint sets S 1 , . . . , S m/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 S j containing generators g j1 , . . . , g js and the random numbers b j1 , . . . , b js that define those generators, returning to the user processor a signet a, wherein: a=k-b.sub.j1 n- . . . -b.sub.js n.sup.s, together with the index j whereby the signet a is for enabling the user processor to generate a decryption key K to decrypt the encrypted information.
Claim 9
Dependent Claim 59 words
The method of claim 5, also including: at the user processor: receiving the encrypted information with g, g 1 , . . . , g m ; sending n to the authorization processor; receiving the signet a and the index j; generating K using: K=g.sup.a g.sub.j1.sup.n . . . g.sub.j1.sup.n mod N; and, decrypting the encrypted information using K.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-03-14 2003-09-13 2004-03-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-03-14 2007-09-13 2008-03-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-03-14 2011-09-13 2012-03-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag