Extracting entropy from machine vibration

US9880812B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9880812-B2
Application numberUS-201514949307-A
CountryUS
Kind codeB2
Filing dateNov 23, 2015
Priority dateApr 17, 2014
Publication dateJan 30, 2018
Grant dateJan 30, 2018

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.

Generating a pool of random numbers for use by computer applications. Vibration sensors are placed throughout a machine and collects information theoretic entropy data from the measurement of the vibration sensors. The data is then filtered and added to an entropy pool. Applications needing a random number may acquire a number from the pool. A method, computer program product and system to generate the pool are provided.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory computer program product for random number generation for security relevant features of cryptography applications, the computer program product comprising: computer readable storage medium having program code embodied therewith, the program code readable by a computer processor to perform a method comprising: acquiring, by at least one sensor, analog vibration data from the machine; converting, by a computer processor, the analog vibration data to digital data; filtering the digital data, wherein the digital data is comprised of numbers, wherein the filtering comprises removing non-random parts of the numbers of the digital data, dropping leading zeros from the digital data and using non-zero numbers of the digital data; storing the filtered data within a memory unit to form a random number pool from which random numbers may be selected; and wherein the filtered data is initially entered into the random number pool while operating in a coarse grained mode to extract a range of bits, and responsive to completely filling the random number pool transitioning from a coarse grained mode to a fine grained mode, wherein the coarse grained mode gathers vibration data during a manufacturing mode occurring prior to entering the fine grained mode, wherein the fine grained mode gathers the vibration during a normal operation mode. 2. The computer program product according to claim 1 , wherein the analog vibration data is acquired during manufacturing of the machine, thereby forming the random number pool before the machine is completely manufactured. 3. The computer program product according to claim 1 , wherein the analog vibration data is acquired while the machine is powered on. 4. The computer program product according to claim 1 , wherein the sensor is configured to monitor the vibration of a cooling component of the machine. 5. The computer program product according to claim 4 , wherein in response to one of the at least one sensor detecting no vibration, vibration data is acquired by another sensor. 6. The computer program product according to claim 1 , wherein the at least one sensor comprises a tri-axial accelerometer installed in a motor drives assembly of a rotating component within the machine. 7. The computer program product according to claim 1 , wherein the analog vibration data is acquired during shipment of the machine. 8. The computer program product according to claim 4 , wherein the cooling component is a cooling fan. 9. The computer program product according to claim 1 , wherein the analog vibration data is acquired from a motor drive assembly installed in the machine. 10. A computer system to generate random numbers, the system comprising: a computer processor; at least one sensor in communication with the processor for acquiring analog vibration data from the system; wherein the computer processor executes machine executable code that performs the steps of: converting the analog vibration data to digital data; filtering the digital data, wherein the digital data is comprised of numbers, wherein the filtering comprises removing non-random parts of the numbers of the digital data, dropping leading zeros from the digital data and using non-zero numbers of the digital data to produce filtered data; storing the filtered data within a memory unit to form a random number pool from which random numbers may be selected; and wherein the filtered data is initially entered into the random number pool while operating in a coarse grained mode to extract a range of bits, and responsive to completely filling the random number pool transitioning from a coarse grained mode to a fine grained mode, wherein the coarse grained mode gathers vibration data during a manufacturing mode occurring prior to entering the fine grained mode, wherein the fine grained mode gathers the vibration during a normal operation mode. 11. The system according to claim 10 , wherein the analog vibration data is acquired during manufacturing of the system, thereby forming the random number pool before the machine is completely manufactured. 12. The system according to claim 10 , wherein the analog vibration data is acquired while the system is powered on. 13. The system according to claim 10 , wherein the sensor is configured to monitor the vibration of a cooling component of the system. 14. The system according to claim 13 , wherein in response to one of the at least one sensor detecting no vibration, vibration data is acquired by another sensor. 15. The system according to claim 10 , wherein the at least one sensor comprises a tri-axial accelerometer installed in a motor drives assembly of a rotating component within the system. 16. The system according to claim 10 , wherein the analog vibration data is acquired during shipment of the system. 17. The system according to claim 13 , wherein the cooling component is a cooling fan. 18. The system according to claim 10 , wherein the analog vibration data is acquired from a motor drive assembly installed in the system. 19. The computer program product according to claim 1 , wherein the filtered data is stored in the memory in at least one of a last-in first-out (LIFO) or first-in first-out (FIFO) order.

Assignees

Inventors

Classifications

  • Key scheduling, i.e. generating round keys or sub-keys for block encryption · CPC title

  • involving random numbers or seeds · CPC title

  • G06F7/588Primary

    Random number generators, i.e. based on natural stochastic processes · CPC title

  • Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00) · 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 US9880812B2 cover?
Generating a pool of random numbers for use by computer applications. Vibration sensors are placed throughout a machine and collects information theoretic entropy data from the measurement of the vibration sensors. The data is then filtered and added to an entropy pool. Applications needing a random number may acquire a number from the pool. A method, computer program product and system to gene…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F7/588. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 30 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).