Random number generation using a network of mobile devices
US-2015100613-A1 · Apr 9, 2015 · US
US10037193B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10037193-B2 |
| Application number | US-201514963884-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 9, 2015 |
| Priority date | Dec 9, 2015 |
| Publication date | Jul 31, 2018 |
| Grant date | Jul 31, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments include method, systems and computer program products for extracting entropy from mobile devices to generate random numbers. In some embodiments, first vibration data may be received from a first device. Second vibration data may be received from a second device. A first piece of entropy data may be generated using the first vibration data and a second piece of entropy data may be generated using the second vibration data. The first piece of entropy data and the second piece of entropy data may be aggregated. The first piece of entropy data and the second piece of entropy data may be stored in an entropy pool.
Opening claim text (preview).
What is claimed: 1. A computer-implemented method comprising: receiving first vibration data from a first mobile device; receiving second vibration data from a second mobile device; generating a first piece of entropy data using the first vibration data and a second piece of entropy data using the second vibration data; aggregating the first piece of entropy data and the second piece of entropy data to create an aggregated entropy data; and storing the aggregated entropy data in an entropy pool, wherein the aggregating is perfumed prior to the storing. 2. The computer-implemented method of claim 1 , further comprising: receiving a request for a random number from a client device; extracting entropy data from the entropy pool; formatting the entropy data into the random number; and transmitting the random number to the client device. 3. The computer-implemented method of claim 1 , wherein the first vibration data is associated with a digital signature generated using the first vibration data and a private key, and the method further comprises: verifying the digital signature using a public key corresponding to the private key. 4. The computer-implemented method of claim 1 , wherein generating the first piece of entropy data using the first vibration data and the second piece of entropy data using the second vibration data further comprises: normalizing the first vibration data to generate the first piece of entropy data, wherein normalizing comprises filtering and formatting the first vibration data; and normalizing the second vibration data to generate the second piece of entropy data, wherein normalizing comprises filtering and formatting the second vibration data. 5. The computer-implemented method of claim 4 , wherein formatting the first vibration data comprises applying a cryptographic hash function to the first vibration data and wherein formatting the second vibration data comprises applying the cryptographic hash function to the second vibration data. 6. The computer-implemented method of claim 1 , wherein aggregating the first piece of entropy data and the second piece of entropy data further comprises: performing a bitwise exclusive OR operation on the first piece of entropy data and the second piece of entropy data and a portion of the data in the entropy pool. 7. The computer-implemented method of claim 1 , further comprising: detecting a security breach; and flushing the entropy pool. 8. A computer program product comprising a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: receiving first vibration data from a first mobile device; receiving second vibration data from a second mobile device; generating a first piece of entropy data using the first vibration data and a second piece of entropy data using the second vibration data; aggregating the first piece of entropy data and the second piece of entropy data to create an aggregated entropy data; and storing the aggregated entropy data in an entropy pool, wherein the aggregating is perfumed prior to the storing. 9. The computer program product of claim 8 , the method further comprising: receiving a request for a random number from a client device; extracting entropy data from the entropy pool; formatting the entropy data into the random number; and transmitting the random number to the client device. 10. The computer program product of claim 8 , wherein the first vibration data is associated with a digital signature generated using the first vibration data and a private key, and the method further comprises: verifying the digital signature using a public key corresponding to the private key. 11. The computer program product of claim 8 , wherein generating the first piece of entropy data using the first vibration data and the second piece of entropy data using the second vibration data further comprises: normalizing the first vibration data to generate the first piece of entropy data, wherein normalizing comprises filtering and formatting the first vibration data; and normalizing the second vibration data to generate the second piece of entropy data, wherein normalizing comprises filtering and formatting the second vibration data. 12. The computer program product of claim 11 , wherein formatting the first vibration data comprises applying a cryptographic hash function to the first vibration data and wherein formatting the second vibration data comprises applying the cryptographic hash function to the second vibration data. 13. The computer program product of claim 8 , wherein aggregating the first piece of entropy data and the second piece of entropy data further comprises: performing a bitwise exclusive OR operation on the first piece of entropy data and the second piece of entropy data and a portion of the data in the entropy pool. 14. The computer program product of claim 8 , the method further comprising: detecting a security breach; and flushing the entropy pool. 15. A system, comprising: a processor in communication with one or more types of memory, the processor configured to: receive first vibration data from a first mobile device; receive second vibration data from a second mobile device; generate a first piece of entropy data using the first vibration data and a second piece of entropy data using the second vibration data; aggregate the first piece of entropy data and the second piece of entropy data to create an aggregated entropy data; and store the aggregated entropy data in an entropy pool, wherein the aggregating is perfumed prior to the storing. 16. The system of claim 15 , wherein the processor is configured to: receive a request for a random number from a client device; extract entropy data from the entropy pool; format the entropy data into the random number; and transmit the random number to the client device. 17. The system of claim 15 , wherein the first vibration data is associated with a digital signature generated using the first vibration data and a private key, and the processor is further configured to: verify the digital signature using a public key corresponding to the private key. 18. The system of claim 15 , wherein, to generate the first piece of entropy data using the first vibration data and the second piece of entropy data using the second vibration data, the processor is further configured to: normalize the first vibration data to generate the first piece of entropy data, wherein normalizing comprises filtering and formatting the first vibration data; and normalize the second vibration data to generate the second piece of entropy data, wherein normalizing comprises filtering and formatting the second vibration data. 19. The system of claim 15 , wherein, to aggregate the first piece of entropy data and the second piece of entropy data, the processor is further configured to: perform a bitwise exclusive OR operation on the first piece of entropy data and the second piece of entropy data and a portion of the data in the entropy pool. 20. The system of claim 15 , wherein the processor is configured to: detect a security breach; and flush the entropy pool.
Random number generators, i.e. based on natural stochastic processes · CPC title
Indexing scheme relating to groups G06F7/58 - G06F7/588 · CPC title
involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title
using physically unclonable functions [PUF] · CPC title
involving digital signatures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.