IP Library Granted Patent US 8,488,782
Granted Patent B2
US 8,488,782 · App. 12/582,276 · Granted Jul 16, 2013

Parameterizable cryptography

Inventor: Radia J. Perlman (Redmond, WA)
Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,488,782
App. No.
12/582,276
Granted
Jul 16, 2013
Kind
B2
Abstract

Some embodiments provide systems and techniques for performing parameterizable cryptography. An encryption key can be determined based at least on a string associated with an authorization policy. The encryption key can then be used to encrypt information. The decryption key can also be determined based at least on the string associated with the authorization policy. Note that the authorization policy must be satisfied to decrypt information. In some embodiments, the systems and techniques for performing parameterizable cryptography are blindable. These blindable embodiments can be used to preserve privacy.

Claims (37)

1. A computer-executed method for determining an encryption key, the method comprising:

receiving an encryption request to encrypt information so that the encrypted information can only be decrypted by a decryption request which satisfies an authorization policy; and

determining the encryption key by combining a secret with a string associated with the authorization policy,

wherein a base public key is at least one of modulus n and a domain parameter, or a base private key is at least one of a factorization of n and a domain secret.

2. The method of claim 1 , wherein the encryption request includes blinded information which was generated by a client by blinding the information, and wherein the method further comprises:

using the encryption key to encrypt the blinded information to obtain blinded-and-encrypted information; and

sending the blinded-and-encrypted information to the client, thereby enabling the client to determine the encrypted information by unblinding the blinded-and-encrypted information.

3. The method of claim 1 , wherein the encryption key is a Diffie-Hellman key.

4. The method of claim 3 , wherein the base public key is modulus p, and wherein the encryption key is determined by cryptographically combining the secret with the string associated with the authorization policy.

5. The method of claim 1 , wherein the encryption key is an RSA key.

6. The method of claim 5 , wherein the parameterized exponent is derived from the string associated with the authorization policy.

7. The method of claim 1 , wherein the encryption key is an IBE (Identity-Based Encryption) key.

8. The method of claim 7 , wherein the public key is generated from the string associated with the authorization policy.

9. A computer-executed method for determining a decryption key, the method comprising:

verifying whether a decryption request to decrypt encrypted information satisfies an authorization policy associated with the encrypted information; and

determining the decryption key by combining a secret with a string associated with the authorization policy,

wherein a base public key is at least one of modulus n and a domain parameter, or a base private key is at least one of a factorization of n and a domain secret.

10. The method of claim 9 , wherein the decryption request includes blinded-and-encrypted information which was generated by a client by blinding the encrypted information, and wherein the method further comprises:

using the decryption key to decrypt the blinded-and-encrypted information to obtain blinded information; and

sending the blinded information to the client, thereby enabling the client to determine the information by unblinding the blinded information.

11. The method of claim 9 , wherein the decryption key is a Diffie-Hellman key.

12. The method of claim 9 , wherein the decryption key is an RSA key.

13. The method of claim 9 , wherein the decryption key is an IBE (Identity-Based Encryption) key.

14. The method of claim 9 , wherein verifying that the decryption request satisfies the authorization policy includes requiring the decryption request's requester to prove that the authorization policy is satisfied.

15. The method of claim 9 , wherein verifying that the decryption request satisfies the authorization policy includes:

authenticating a user who sent the decryption request; and

determining whether the user's profile satisfies the authorization policy.

16. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for determining an encryption key, the method comprising:

receiving an encryption request to encrypt information so that the encrypted information can only be decrypted by a decryption request which satisfies an authorization policy; and

determining the encryption key by combining a secret with a string associated with the authorization policy,

wherein a base public key is at least one of modulus n and a domain parameter, or a base private key is at least one of a factorization of n and a domain secret.

17. The computer-readable storage medium of claim 16 , wherein the encryption request includes blinded information which was generated by a client by blinding the information, and wherein the method further comprises:

using the encryption key to encrypt the blinded information to obtain blinded-and-encrypted information; and

sending the blinded-and-encrypted information to the client, thereby enabling the client to determine the encrypted information by unblinding the blinded-and-encrypted information.

18. The computer-readable storage medium of claim 16 , wherein the encryption key is a Diffie-Hellman key.

19. The method of claim 1 , wherein the string associated with the authorization policy specifies the authorization policy.

20. The method of claim 19 , wherein the encryption request is received at a server, and wherein the secret is known only to the server.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2009
From: PERLMAN, RADIA J.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 023559/0628 →
Continuity (1)
Related Publication 20110093721A1 · Apr 21, 2011