Modular reduction device

US10740068B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10740068-B2
Application numberUS-201816121775-A
CountryUS
Kind codeB2
Filing dateSep 5, 2018
Priority dateSep 5, 2017
Publication dateAug 11, 2020
Grant dateAug 11, 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.

A modular reduction device particularly for cryptography on elliptical curves. The device includes a Barrett modular reduction circuit and a cache memory in which the results of some precalculations are carried out. When the result is not present in the cache memory, a binary division circuit makes the precalculation and stores the result in the cache memory.

First claim

Opening claim text (preview).

The invention claimed is: 1. A modular reduction device to calculate the remainder of an integer x divided by a modulo (q), said integer being represented by a binary word of 2n bits and the modulo (q) by a binary word of n bits, comprising: a circuit configured to implement a generalised Barrett reduction algorithm, called a Barrett circuit, a cache memory, and a binary division circuit, the Barrett circuit receiving said integer and a result of a precalculation (μ) relative to a value of the modulo (q) and a power of 2 (2 n+α ), the result of the precalculation (μ) being supplied directly by the cache memory to the Barrett circuit if it is already stored relative to said value of the modulo (q), and otherwise being calculated by the binary division circuit before being stored in the cache memory and input to the Barrett circuit, wherein the cache memory comprises a first part called a tag memory, and a second part called a data memory, the first and second parts being addressed by ƒ(q) wherein ƒ is a projection function of n bits on m bits with m<n, the first part storing a tag value q′ that was used to calculate ƒ(q′) at address ƒ(q′), and the second part storing said result of the precalculation (μ(q′)) at the same address. 2. The modular reduction device according to claim 1 , wherein the binary division circuit performs the precalculation μ = ⌊ 2 n + α q ⌋ wherein ⌊ 2 n + α q ⌋ is the largest integer smaller than or equal to 2 n + α q wherein 2 n+α is said power of 2 and α is an integer such that α≥n+1. 3. The modular reduction device according to claim 2 , wherein the Barrett circuit shifts the binary word representing x by α+β bits towards the low order bits, in which β is an integer such that β≥−2, then multiplies the binary word representing x thus shifted by the result of the precalculation (μ), then shifts the result of this multiplication again by α−β bits towards the low order bits to obtain a second word, said second word being multiplied by the modulo (q) before being subtracted from the binary word representing x to supply a provisional value r′ of a remainder r, a value of the remainder r being chosen equal to r′ if r′−q is negative or zero and equal to r′−q if r′−q is positive. 4. The modular reduction device according to claim 1 , wherein the cache memory also receives the integer x and also provides the result of the precalculation (μ) for a value of the modulo (q), a sign value associated with an (x,q) pair, this sign value being input to the Barrett circuit. 5. The modular reduction device according to claim 4 , wherein the binary division circuit performs a precalculation μ = ⌊ 2 n + α q ⌋ wherein ⌊ 2 n + α q ⌋ is a largest integer smaller than or equal to 2 n + α q wherein 2 n+α is said power of 2 and α is an integer such that α≥n+1. 6. The modular reduction device according to claim 5 , wherein the Barrett circuit shifts the binary word representing x by α+β bits towards the low order bits, wherein β is an integer such that β≥−2, then multiplies the binary word representing x thus shifted by the result of the precalculation (μ), then shifts the result of this multiplication by another α−β bits towards the low order bits to obtain a second word, the sign value b being subtracted from the second word before it is multiplied by the modulo (q), the result of this multiplication then being subtracted from the integer x to give said remainder r. 7. The modular reduction device according to claim 1 , comprising a second cache memory receiving the integer x and the modulo (q) and outputting a sign value b stored at an address in relation to an (x,q) pair, the sign value b being input to the Barrett circuit. 8. The modular reduction device according to claim 7 , wherein the second cache memory comprises a second tag memory and a second data memory, the second tag and second data memories both being addressed by h (x,q) wherein h is a projection function of 3n bits onto m bits in which m<3n, the second tag memory storing a tag value (x′,q′) used to calculate h(x′,q′) at address h(x′,q′), and the second data memory storing said sign value (b (x′,q′)) associated with the tag value (x′,q′), at the same address h(x′,q′). 9. The modular reduction device according to claim 8 , wherein the sign value is b provided directly by the second cache memory to the Barrett circuit if the modulo value (q) is stored in the tag memory and the (x,q) pair is stored in the second tag memory, and otherwise the sign value b is obtained from the modulo value (q) and the integer x, the sign value b then being input to the Barrett circuit. 10. The modular reduction device according to claim 7 , wherein the second cache memory comprises a second data memory but does not comprise a tag memory, and the device comprises a comparator to verify if an output r from the Barrett circuit satisfies a condition 0≤r<q and that a sign value thus obtained (b (x,q)) is stored in the second data memory at address h (x,q) in relation to the (x,q) pair, wherein h is a projection function of 3n bits onto m bits wherein m<3n, is inverted if said condition is not satisfied. 11. A modular reduction device to calculate the remainder of an integer x divided by a modulo (q), said integer being represented by a binary word of 2n bits and the modulo (q) by a binary word of n bits, comprising: a circuit configured to implement a generalised Barrett reduction algorithm, called a Barrett circuit, a cache memory, and a binary division circuit, the Barrett circuit receiving said integer and a result of a precalculation (μ) relative to a value of the modulo (q) and a power of 2 (2 n+α ), the result of the precalculation (μ) being supplied dir

Assignees

Inventors

Classifications

  • Hardware reduction or efficient architectures · CPC title

  • involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes · CPC title

  • involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems · CPC title

  • Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation · 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 US10740068B2 cover?
A modular reduction device particularly for cryptography on elliptical curves. The device includes a Barrett modular reduction circuit and a cache memory in which the results of some precalculations are carried out. When the result is not present in the cache memory, a binary division circuit makes the precalculation and stores the result in the cache memory.
Who is the assignee on this patent?
Commissariat Energie Atomique
What technology area does this patent fall under?
Primary CPC classification G06F7/72. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 11 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).