Diversification of public keys

US10776502B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10776502-B2
Application numberUS-201715619519-A
CountryUS
Kind codeB2
Filing dateJun 11, 2017
Priority dateJun 12, 2016
Publication dateSep 15, 2020
Grant dateSep 15, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Some embodiments provide a method for providing public keys for encrypting data. The method receives (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user. In response to the first request, the method distributes a first public key for the particular user to the first source. In response to the second request, the method distributes a second, different public key for the particular user to the second source. Data encrypted with the first public key and data encrypted with the second public key are decrypted by a device of the particular user with a same private key.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: receiving (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user; distributing, by a key distribution device and to the first source, a first public key for the particular user, in response to the first request, the first public key corresponding to a private key of the particular user; and generating and distributing, by the key distribution device and to the second source, a second, different public key for the particular user, in response to the second request, the second, different, public key being generated from the first public key and without accessing the private key of the particular user, the second, different, public key also corresponding to the private key of the particular user, wherein the first and second sources comprise first and second applications that utilize the first and second public keys for encrypting different sets of data shared with the particular user; wherein data encrypted with the first public key and data encrypted with the second public key are decryptable by a device of the particular user with the private key. 2. The method of claim 1 , wherein the first and second public keys are generated in such a manner that the first source and second source cannot determine that the first and second public keys are associated with the same particular user. 3. The method of claim 1 , wherein the first and second applications operate on different devices of different users. 4. The method of claim 1 , wherein the first and second applications operate on a same device. 5. The method of claim 1 , wherein (i) the particular user is a first user, (ii) the first application operates on a device of a second user, and (iii) the first application receives the first public key, encrypts a data record with both the first public key and a public key of the second user, and stores the encrypted data record in a public database in order for the second user to share the data record with the first user. 6. The method of claim 1 further comprising: storing a single set of values for the public key associated with the particular user; and generating the first public key and the second public key from the single set of values using a randomization algorithm. 7. The method of claim 6 , wherein the single set of values comprises (i) a first value that is a generator of a cyclic group and (ii) a second value that is the generator raised to a power of the private key. 8. The method of claim 7 , wherein generating the first public key comprises: randomly selecting a first power; and generating a second set of values by raising the first and second values to the first power, wherein the second set of values is distributed as the first public key. 9. The method of claim 8 , wherein generating the second public key comprises: randomly selecting a second power; and generating a third set of values by raising the first and second values to the second power, wherein the third set of values is distributed as the second public key. 10. The method of claim 8 , wherein: randomly selecting the first power comprises using a pseudo-random deterministic algorithm based on an identifier for the particular user and an identifier for the first source; and randomly selecting the second power comprises using the pseudo-random deterministic algorithm based on the identifier for the particular user and an identifier for the second source. 11. The method of claim 7 , wherein the randomization algorithm is equivalent to selecting different generators of the cyclic group for the first and second public keys. 12. The method of claim 1 further comprising generating and distributing a different public key in response to each request from a different source for the public key associated with the particular user, wherein data encrypted with any of the public keys are decrypted by the device of the particular user. 13. A non-transitory machine readable medium storing a program that, when executed by at least one processor, causes the at least one processor to perform operations, the program comprising sets of instructions for: receiving (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user; distributing, to the first source, a first public key for the particular user, in response to the first request, the first public key corresponding to a private key; and generating and distributing, by a key distribution device and to the second source, a second, different public key for the particular user, in response to the second request, the second, different, public key also corresponding to the private key and the second, different, public key being generated from the first public key without accessing the private key, wherein the first and second sources comprise first and second applications that utilize the first and second public keys for encrypting different sets of data shared with the particular user; wherein data encrypted with the first public key and data encrypted with the second public key are decryptable by a device of the particular user with a same private key. 14. The non-transitory machine readable medium of claim 13 , wherein the first and second public keys are generated in such a manner that the first source and second source cannot determine that the first and second public keys are associated with the same particular user. 15. The non-transitory machine readable medium of claim 13 , wherein (i) the first source and second source are first and second applications that use the public keys to encrypt different sets of data shared with the particular user, (ii) the particular user is a first user, (iii) the first application operates on a device of a second user, and (iv) the first application receives the first public key, encrypts a data record with both the first public key and a public key of the second user, and stores the encrypted data record in a public database in order for the second user to share the data record with the first user. 16. The non-transitory machine readable medium of claim 13 , wherein the program further comprises sets of instructions for: storing a single set of values for the public key associated with the particular user; and generating the first public key and the second public key from the single set of values using a randomization algorithm. 17. The non-transitory machine readable medium of claim 16 , wherein the single set of values comprises (i) a first value that is a generator of a cyclic group and (ii) a second value that is the generator raised to a power of the private key, wherein the set of instructions for generating the first public key comprises: randomly selecting a first power by using a pseudo-random deterministic algorithm based on an identifier for the particular user and an identifier for the first source; and generating a second set of values by raising the first and second values to the first power, wherein the second set of values is distributed as the first public key. 18. The non-transitory machine readable medium of claim 13 , wherein the program further comprises a set of instructions for generating and distributing a different public key in response to each request from a different source for the public key associated with the particular user, wherein data encrypted wit

Assignees

Inventors

Classifications

  • H04L9/30Primary

    Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy · CPC title

  • by registering files or documents with a third party · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · CPC title

  • Anonymization, e.g. involving pseudonyms · CPC title

  • using a plurality of keys or algorithms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10776502B2 cover?
Some embodiments provide a method for providing public keys for encrypting data. The method receives (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user. In response to the first request, the method distributes a first public key for the particular user to…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/30. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 15 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).