Random number generator

US9928036B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9928036-B2
Application numberUS-201514865009-A
CountryUS
Kind codeB2
Filing dateSep 25, 2015
Priority dateSep 25, 2015
Publication dateMar 27, 2018
Grant dateMar 27, 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.

A processor includes an execution unit to generate a random number. The execution unit includes entropy source circuits, correlation circuits, and an extractor circuit. The entropy source circuits include all-digital components and are to generate an initial randomized bit stream. The correlation circuits are to remove correlations from the initial randomized bit stream to yield an intermediate randomized bit stream. The extractor circuit is to select a subset of the intermediate randomized bit stream as a random output of the execution unit.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor, comprising: a front end to decode an instruction, the instruction to generate a random number; an execution unit; an allocator to assign the instruction to the execution unit to execute the instruction; wherein the execution unit includes: a plurality of entropy source circuits, wherein each of the plurality of entropy source circuits comprises all-digital components, and each of the plurality of entropy source circuits is to generate a respective initial randomized bit stream; a plurality of correlation circuits to generate a plurality of intermediate randomized bits streams from the initial randomized bit streams generated by the plurality of entropy source circuits, wherein each of the correlation circuits is to receive a respective one of the initial randomized bit streams and remove correlations from the received initial randomized bit stream to yield a respective intermediate randomized bit stream; and an extractor circuit to: receive the plurality of intermediate randomized bit streams; and generate, from the plurality of intermediate randomized bit streams, a random output of the execution unit, wherein the random output is to fulfill at least part of the instruction execution. 2. The processor of claim 1 , wherein each of the plurality of entropy source circuits includes a tunable delay circuit, the tunable delay circuit to adjust randomness output of the entropy source circuit. 3. The processor of claim 1 , wherein each of the entropy source circuits includes a cross-coupled inverter pair to generate random output. 4. The processor of claim 1 , wherein each of the plurality of correlation circuits is to: combine an element from the corresponding initial randomized bit stream with previous bits received from the entropy source circuit; and randomize the element with respect to a corresponding element from the previous bits to remove correlation. 5. The processor of claim 1 , wherein generating the random output comprises selecting bits from bit ranges of the plurality of correlation circuits that do not overlap with each other in order to select a subset of the plurality of intermediate randomized bit streams. 6. The processor of claim 1 , wherein the extractor circuit is further to apply a reduction with a polynomial to the plurality of intermediate randomized bit streams to yield the random output. 7. The processor of claim 1 , wherein the extractor circuit is further to apply a Galois Field multiplication and addition operations to the plurality of intermediate randomized bit streams to yield the random output. 8. A method, comprising: generating a plurality of initial randomized bit streams using a plurality of entropy source circuits, wherein each of the plurality of entropy source circuits includes all-digital components; removing correlations in the plurality of initial randomized bit streams using a plurality of correlation circuits to yield a plurality of intermediate randomized bit streams; and generating a random output of an execution unit from the plurality of intermediate randomized bits streams using an extractor circuit. 9. The method of claim 8 , further comprising adjusting randomness output of the entropy source circuits with one or more tunable delay circuits. 10. The method of claim 8 , wherein generating the plurality of initial randomized bit streams comprises routing outputs of each of a cross-coupled inverter pair to the respective inputs of each other. 11. The method of claim 8 , further comprising, wherein generating the plurality of intermediate randomized bits streams comprises: combining an element from one of the initial randomized bit streams with previous bits received from a corresponding one of the entropy source circuits; and randomizing the element with respect to a corresponding element from the previous bits to remove correlation. 12. The method of claim 8 , wherein generating the random output comprises selecting bits from bit ranges of the plurality of correlation circuits that do not overlap with each other in order to select a subset of the plurality of intermediate randomized bit stream. 13. The method of claim 8 , further comprising, with the extraction circuit, wherein generating the random output comprises applying a Galois Field multiplication and addition operations to the intermediate randomized bit streams to yield the random output. 14. A random number generator logic unit, comprising: a plurality of entropy source circuits, wherein each of the plurality of entropy source circuits comprises all-digital components, and each of the plurality of entropy source circuits is to generate a respective initial randomized bit stream; a plurality of correlation circuits to generate a plurality of intermediate randomized bits streams from the initial randomized bit streams generated by the plurality of entropy source circuits, wherein each of the correlation circuits is to receive a respective one of the initial randomized bit streams and remove correlations from the received initial randomized bit stream to yield a respective intermediate randomized bit stream; and an extractor circuit to: receive the plurality of intermediate randomized bit streams; and generate, from the plurality of intermediate randomized bit streams, a random output of the execution unit. 15. The random number generator logic unit of claim 14 , wherein each of the plurality of entropy source circuits includes a tunable delay circuit, the tunable delay circuit to adjust randomness output of the entropy source circuit. 16. The random number generator logic unit of claim 14 , wherein each of the entropy source circuits includes a cross-coupled inverter pair to generate random output. 17. The random number generator logic unit of claim 14 , wherein each of the plurality of correlation circuits is to: combine an element from the corresponding initial randomized bit stream with previous bits received from the entropy source circuit; and randomize the element with respect to a corresponding element from the previous bits to remove correlation. 18. The random number generator logic unit of claim 14 , wherein the extractor circuit is further to select bits from bit ranges of the correlation circuit that do not overlap with each other in order to select the subset of the intermediate randomized bit stream. 19. The random number generator logic unit of claim 14 , wherein generating the random output comprises applying a reduction with a polynomial to the plurality of intermediate randomized bit stream to yield the random output. 20. The random number generator logic unit of claim 14 , wherein the extractor circuit is further to apply a Galois Field multiplication and addition operations to the plurality of intermediate randomized bit streams to yield the random output.

Assignees

Inventors

Classifications

  • G06F7/588Primary

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

  • Indexing scheme relating to groups G06F7/58 - G06F7/588 · CPC title

  • Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title

  • Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title

  • involving random numbers or seeds · 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 US9928036B2 cover?
A processor includes an execution unit to generate a random number. The execution unit includes entropy source circuits, correlation circuits, and an extractor circuit. The entropy source circuits include all-digital components and are to generate an initial randomized bit stream. The correlation circuits are to remove correlations from the initial randomized bit stream to yield an intermediate…
Who is the assignee on this patent?
Intel Corp
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 Mar 27 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).