Using cryptographic blinding for efficient use of Montgomery multiplication

US11522669B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11522669-B2
Application numberUS-201917042006-A
CountryUS
Kind codeB2
Filing dateMar 26, 2019
Priority dateMar 28, 2018
Publication dateDec 6, 2022
Grant dateDec 6, 2022

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.

Aspects of the present disclosure involves receiving an input message, generating a first random value that is used to blind the input message input message to prevent a side-channel analysis (SCA) attack, computing a second random value using the first random value and a factor used to compute the Montgomery form of a blinded input message without performing an explicit Montgomery conversion of the input message, and computing a signature using Montgomery multiplication, of the first random value and the second random value, wherein the signature is resistant to the SCA attack.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving an input message at a processor executing a cryptographic algorithm; generating, by the processor, a first random value that is used to blind the input message to prevent a side-channel analysis (SCA) attack; computing, by the processor, a second random value, using the first random value and a factor used to create a Montgomery form of the blinded input message without performing a Montgomery conversion of the input message, wherein the processor causes the second random value to take the form h=r R 2 mod n, where ‘r’ is the first random value that is used to blind the input message, ‘n’ is a public modulus, and ‘R’ is the factor used to create the Montgomery form, wherein R=2 bx mod n, where ‘b’ is a bit length, and ‘x’ is the number of words of bit length ‘b’ used to form ‘n’; and computing, by the processor, a signature by performing Montgomery multiplications using the first random value and the second random value, wherein the signature is a countermeasure against the SCA attack. 2. The method of claim 1 , wherein computing the signature comprises: computing a first intermediate value ‘v’ by multiplying ‘h’ with 1, where v=r R mod n; computing a second intermediate value ‘k’ using Montgomery multiplication, where k=r e−1 R mod n, where ‘e’ is a public exponent, and ‘m’ is the input message; computing a third intermediate value ‘j’ using Montgomery multiplication, where j=r e−1 m mod n; and computing a fourth intermediate value ‘p’ using Montgomery multiplication, where p=r e m R mod n. 3. The method of claim 2 , wherein computing the signature further comprises: Montgomery multiplying the third intermediate value ‘j’ by the fourth intermediate value ‘p’ to produce the signature ‘S,’ wherein S=p d−1 j mod n, where ‘d’ is a private exponent. 4. The method of claim 3 , wherein an equation representing the signature ‘S’ takes the form of: S =( r e m ) d−1 ( r e−1 m )mod n. 5. The method of claim 1 , wherein the first random value ‘r’ has a bit length equal to or less than the public modulus ‘n.’ 6. The method of claim 1 , wherein the signature is compatible with public-key cryptography. 7. The method of claim 6 , wherein the method further comprises: transmitting the signature from a first node to a second node within a public-key cryptography system, wherein the second node is capable of deciphering the blinded input message. 8. The method of claim 1 , wherein the SCA attack comprises a Differential Power Analysis (DPA) attack. 9. The method of claim 8 , wherein the method further comprises: providing a DPA-resistant software library that includes codes containing the first random value ‘r.’ 10. The method of claim 1 , wherein the Montgomery multiplications are performed in a public key engine (PKE). 11. A public-key cryptography system comprising: an external memory; and a processor, executing a cryptography algorithm and being operatively coupled with the external memory, to: receive an input message; generate, a first random value that is used to blind the input message to prevent a side-channel analysis (SCA) attack; compute a second random value, using the first random value and a factor used to create a Montgomery form of the blinded input message without performing a Montgomery conversion of the input message, wherein the processor causes the second random value to take the form h=r R 2 mod n, where ‘r’ is the first random value that is used to blind the input message, ‘n’ is a public modulus, and ‘R’ is the factor used to create the Montgomery form, wherein R=2 bx mod n, where ‘b’ is a bit length, and ‘x’ is the number of words of bit length ‘b’ used to form ‘n’; and compute a signature by performing Montgomery multiplications using the first random value and the second random value, wherein the signature is a countermeasure against the SCA attack. 12. The system of claim 11 , wherein the processor is further to: compute a first intermediate value ‘v’ by multiplying ‘h’ with 1, where v=r R mod n; compute a second intermediate value ‘k’ using Montgomery multiplication, where k=r e−1 R mod n, where ‘e’ is a public exponent, and ‘m’ is the input message; compute a third intermediate value ‘j’ using Montgomery multiplication, where j=r e−1 m mod n; and compute a fourth intermediate value ‘p’ using Montgomery multiplication, where p=r e m R mod n. 13. The system of claim 12 , wherein the processor is further to: Montgomery multiply the third intermediate value ‘j’ by the fourth intermediate value ‘p’ to produce the signature ‘S,’ wherein S=p d−1 j mod n, where ‘d’ is a private exponent. 14. The system of claim 13 , wherein an equation representing the signature ‘S’ takes the form of: S =( r e m ) d−1 ( r e−1 m )mod n. 15. The system of claim 11 , wherein the first random value ‘r’ has a bit length equal to or less than the public modulus ‘n.’ 16. The system of claim 11 , wherein the signature is compatible with public-key cryptography. 17. The system of claim 15 , wherein the processor is further to: transmit the signature from a first node to a second node within the public-key cryptography system, wherein the second node is capable of deciphering the blinded input message. 18. The system of claim 11 , wherein the SCA attack comprises a Differential Power Analysis (DPA) attack.

Assignees

Inventors

Classifications

  • using RSA or related signature schemes, e.g. Rabin scheme · CPC title

  • H04L9/003Primary

    for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA] · CPC title

  • of operations, operands or results of the operations · CPC title

  • G06F21/602Primary

    Providing cryptographic facilities or services · CPC title

  • involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes · 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 US11522669B2 cover?
Aspects of the present disclosure involves receiving an input message, generating a first random value that is used to blind the input message input message to prevent a side-channel analysis (SCA) attack, computing a second random value using the first random value and a factor used to compute the Montgomery form of a blinded input message without performing an explicit Montgomery conversion o…
Who is the assignee on this patent?
Cryptography Res Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/003. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 06 2022 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).