Protection of a modular exponentiation calculation

US10025559B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10025559-B2
Application numberUS-201715442322-A
CountryUS
Kind codeB2
Filing dateFeb 24, 2017
Priority dateAug 23, 2016
Publication dateJul 17, 2018
Grant dateJul 17, 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 method of protecting a modular exponentiation calculation on a first number and an exponent, modulo a first modulo, executed by an electronic circuit using a first register or memory location and a second register or memory location, successively including, for each bit of the exponent: generating a random number; performing a modular multiplication of the content of the first register or memory location by that of the second register or memory location, and placing the result in one of the first and second registers or memory locations selected according to the state of the bit of the exponent; performing a modular squaring of the content of one of the first and second registers or memory locations selected according to the state of the exponent, and placing the result in this selected register or memory location, the multiplication and squaring operations being performed modulo the product of the first modulo by said random number.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: performing, using an electronic circuit, a modular exponentiation calculation on a first number and an exponent, modulo a first modulo by, for each bit of the exponent: generating a random number; performing a modular multiplication of content of a first memory location by content of a second memory location, and placing a result in one of the first and second memory locations selected according to a state of the bit of the exponent; and performing a modular squaring of the content of one of the first and second memory locations selected according to the state of the exponent, and placing the result in this selected register or memory location, the multiplication and squaring operations being performed modulo a product of the first modulo and said random number. 2. The method of claim 1 wherein a result of the modular exponentiation calculation is contained in said first memory location. 3. The method of claim 1 , comprising: initializing the first memory location to value 1; and initializing the second memory location to a value of the first number. 4. The method of claim 1 wherein the first memory location is a first register of the electronic circuit and the second memory location is a second register of the electronic circuit. 5. The method of claim 1 , comprising processing a transaction based on a result of the modular exponentiation calculation. 6. A device, comprising: one or more memories; and processing circuitry, which, in operation, performs a modular exponentiation calculation on a first number and an exponent, modulo a first modulo by, for each bit of the exponent: generating a random number; performing a modular multiplication of content of a first memory location by content of a second memory location, and placing a result in one of the first and second memory locations selected according to a state of the bit of the exponent; and performing a modular squaring of the content of one of the first and second memory locations selected according to the state of the exponent, and placing the result in this selected register or memory location, the multiplication and squaring being performed modulo a product of the first modulo and said random number. 7. The device of claim 6 wherein a result of the modular exponentiation calculation is contained in said first memory location. 8. The device of claim 6 wherein the processing circuitry, in operation: initializes the first memory location to value 1; and initializes the second memory location to a value of the first number. 9. The device of claim 6 wherein the first memory location is a first register of the one or more memories and the second memory location is a second register of the one or more memories. 10. The device of claim 6 , comprising one or more processing cores, which, in operation, process transactions based on a result of the modular exponentiation calculation. 11. A system, comprising: one or more processing cores, which in operation, process digital data; and cryptographic circuitry, coupled to the one or more processing cores, wherein the cryptographic circuitry, in operation, performs a modular exponentiation calculation on a first number and an exponent, modulo a first modulo by, for each bit of the exponent: generating a random number; performing a modular multiplication of content of a first memory location by content of a second memory location, and placing a result in one of the first and second memory locations selected according to a state of the bit of the exponent; and performing a modular squaring of the content of one of the first and second memory locations selected according to the state of the exponent, and placing the result in this selected register or memory location, the multiplication and squaring being performed modulo a product of the first modulo and said random number. 12. The system of claim 11 wherein a result of the modular exponentiation calculation is contained in said first memory location. 13. The system of claim 11 wherein the cryptographic circuitry, in operation: initializes the first memory location to value 1; and initializes the second memory location to a value of the first number. 14. The system of claim 11 wherein the first memory location is a first register of the cryptographic circuitry and the second memory location is a second register of the cryptographic circuitry. 15. The system of claim 11 wherein the one or more processing cores, in operation, process a transaction based on a result of the modular exponentiation calculation. 16. A non-transitory computer-readable medium having contents which cause one or more processing devices to perform a method, the method comprising: performing a modular exponentiation calculation on a first number and an exponent, modulo a first modulo by, for each bit of the exponent: generating a random number; performing a modular multiplication of content of a first memory location by content of a second memory location, and placing a result in one of the first and second memory locations selected according to a state of the bit of the exponent; and performing a modular squaring of the content of one of the first and second memory locations selected according to the state of the exponent, and placing the result in this selected register or memory location, the multiplication and squaring operations being performed modulo a product of the first modulo and said random number. 17. The non-transitory computer-readable medium of claim 16 wherein a result of the modular exponentiation calculation is contained in said first memory location. 18. The non-transitory computer-readable medium of claim 16 , wherein the method comprises: initializing the first memory location to value 1; and initializing the second memory location to a value of the first number. 19. The non-transitory computer-readable medium of claim 16 , wherein the method comprises processing a transaction based on a result of the modular exponentiation calculation.

Assignees

Inventors

Classifications

  • G06F7/723Primary

    Modular exponentiation (G06F7/724, G06F7/727, G06F7/728 take precedence) · CPC title

  • in cryptographic circuits · CPC title

  • Modular multiplication (G06F7/724, G06F7/727, G06F7/728 take precedence) · CPC title

  • Random or pseudo-random number generators · CPC title

  • Modulo masking, e.g. A**e mod (n*r) · 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 US10025559B2 cover?
A method of protecting a modular exponentiation calculation on a first number and an exponent, modulo a first modulo, executed by an electronic circuit using a first register or memory location and a second register or memory location, successively including, for each bit of the exponent: generating a random number; performing a modular multiplication of the content of the first register or mem…
Who is the assignee on this patent?
St Microelectronics Rousset
What technology area does this patent fall under?
Primary CPC classification G06F7/723. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 17 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).