Modular exponentiation optimization for cryptographic systems

US9444623B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9444623-B2
Application numberUS-201414567954-A
CountryUS
Kind codeB2
Filing dateDec 11, 2014
Priority dateDec 20, 2013
Publication dateSep 13, 2016
Grant dateSep 13, 2016

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 processing device, such as logic on an integrated circuit may identify a cryptographic message stored in a first register. The processing device may determine a plurality of components for a second power of the cryptographic message using a plurality of components of the cryptographic message. The processing device may determine the plurality of components for the second power of the cryptographic message without storing the entire second power of the cryptographic message. Further, the processing device may determine a third power of the cryptographic message using modular arithmetic. The processing device may determine the third power by transforming the plurality of components for the second power of the cryptographic message and the plurality of components of the cryptographic message.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, by logic on an integrated circuit, a cryptographic message stored in a first register; determining a plurality of components for a second power of the cryptographic message using a plurality of components of the cryptographic message, wherein the determining of the plurality of components for the second power of the cryptographic message is performed without storing the entire second power of the cryptographic message; and determining a third power of the cryptographic message using modular arithmetic, wherein said determining comprises: transforming the plurality of components for the second power of the cryptographic message and the plurality of components of the cryptographic message, wherein the plurality of components for the second power of the cryptographic message are determined without using modular arithmetic; determining the third power of the cryptographic message (mod N) using modulo N multiplication, wherein N is a modulus; wherein the modulo N multiplication comprises at least one of Montgomery multiplication or Barrett multiplication, wherein the modulus N is part of a public key in an RSA cryptosystem, wherein a number of bits of the modulus N are fixed and storing the third power of the cryptographic message (mod N) in a second register, wherein a size of the first register and a size of the second register correspond to a size of the cryptographic message. 2. The method of claim 1 , wherein the modulo N multiplication comprises at least one of Montgomery multiplication or Barrett multiplication. 3. The method of claim 1 , wherein the modulus N is part of a public key in an RSA cryptosystem. 4. The method of claim 1 , wherein a number of bits of the modulus N are fixed. 5. The method of claim 1 , wherein a compute time for determining the third power of the cryptographic message using modular arithmetic is proportional to a square of a size of the cryptographic message. 6. An apparatus comprising: a first register to store a plurality of components of cryptographic message; a digital logic operatively coupled to the first register, the digital logic to: determine a plurality of components for a second power of the cryptographic message using the plurality of components of the cryptographic message, wherein the determining of the plurality of components for the second power of the cryptographic message is performed without storing the entire second power of the cryptographic message; and determine a third power of the cryptographic message using modular arithmetic, including transforming the plurality of components for the second power of the cryptographic message and the plurality of components of the cryptographic message, wherein the plurality of components for the second power of the cryptographic message are determined without using modular arithmetic, and determining the third power of the cryptographic message (mod N) using modulo N multiplication, wherein N is a modulus; and a second register to store the third power of the cryptographic message (mod N), wherein a size of the first register and a size of the second register correspond to a size of the cryptographic message. 7. The apparatus of claim 6 , wherein the modulo N multiplication comprises at least one of Montgomery multiplication or Barrett multiplication. 8. The apparatus of claim 6 , wherein the modulus N is part of a public key in an RSA cryptosystem. 9. The apparatus of claim 6 , wherein a number of bits of the modulus N are fixed. 10. The apparatus of claim 6 , wherein a compute time to determine the third power of the cryptographic message using modular arithmetic is proportional to a square of a size of the cryptographic message. 11. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform operations comprising: identifying, the processing device, a cryptographic message stored in a first register; determining a plurality of components for a second power of the cryptographic message using a plurality of components of the cryptographic message, wherein the determining of the plurality of components for the second power of the cryptographic message is performed without storing the entire second power of the cryptographic message; and determining a third power of the cryptographic message using modular arithmetic, wherein said determining comprises: transforming the plurality of components for the second power of the cryptographic message and the plurality of components of the cryptographic message, and wherein the plurality of components for the second power of the cryptographic message are determined without using modular arithmetic; wherein determining the third power of the cryptographic message using modular arithmetic comprises: determining a third power of the cryptographic message (mod N) using modulo N multiplication, wherein N is a modulus, wherein the modulo N multiplication comprises at least one of Montgomery multiplication or Barrett multiplication, wherein the modulus N is part of a public key in an RSA cryptosystem and storing the third power of the cryptographic message (mod N) in a second register, wherein a size of the first register and a size of the second register correspond to a size of the cryptographic message. 12. The non-transitory computer-readable storage medium of claim 11 , wherein the modulo N multiplication comprises at least one of Montgomery multiplication or Barrett multiplication. 13. The non-transitory computer-readable storage medium of claim 11 , wherein the modulus N is part of a public key in an RSA cryptosystem. 14. The non-transitory computer-readable storage medium of claim 11 , wherein a compute time for determining the third power of the cryptographic message using modular arithmetic is proportional to a square of a size of the cryptographic message.

Assignees

Inventors

Classifications

  • Details relating to cryptographic hardware or logic circuitry · CPC title

  • H04L9/302Primary

    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 US9444623B2 cover?
A processing device, such as logic on an integrated circuit may identify a cryptographic message stored in a first register. The processing device may determine a plurality of components for a second power of the cryptographic message using a plurality of components of the cryptographic message. The processing device may determine the plurality of components for the second power of the cryptogr…
Who is the assignee on this patent?
Cryptography Res Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/302. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 13 2016 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).