Encrypting device, encrypting method, and recording medium

US9749135B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9749135-B2
Application numberUS-201615191078-A
CountryUS
Kind codeB2
Filing dateJun 23, 2016
Priority dateDec 27, 2010
Publication dateAug 29, 2017
Grant dateAug 29, 2017

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.

From the least significant bit of the current secret key, k bits are retrieved, obtaining a binary window sequence. A binary bit string of concatenation of the random number to the more significant bits of the window sequence is obtained if the most significant bit of the window sequence is 0, subtracting a bit string from the current secret key to obtain a new secret key, or the bit string of a complement of the base number for the window sequence in binary system is calculated if the most significant bit of the window sequence is 1, obtaining a bit string by adding a minus sign to a bit string obtained by concatenating the random number to the more significant bits of the bit string, subtracting the bit string from the current secret key to obtain a new secret key.

First claim

Opening claim text (preview).

The invention claimed is: 1. An encrypting device which performs an encrypting operation on a point A on an elliptical curve by a secret key d using b, m, k, i, and j as natural numbers excluding 0, and a random number s, each window sequence w(i), and a correction value d′ corresponding to the secret key d, the secret key d being a binary secret key in elliptical curve cryptography, a bit length of the secret key d being (b+m×k) bits, the encrypting device comprising: a window sequence storage device that stores each window sequence w(i); a correction value storage that stores the correction value d′; a random number storage that stores the random number s; a memory that stores instructions; and a processor device that executes the instructions stored in the memory to perform a process including: obtaining an index value by concatenating the random number s, stored in the random number storage, on a more significant bit side of a bit string of k bits while sequentially changing a value of the bit string of k bits, where k indicates a number of bits of each window sequence w(i) stored in the window sequence storage device, performing scalar multiplication on the point A using the index value as a scalar value, generating a randomized table by storing a calculation result of the scalar multiplication as table data corresponding to the index value, setting as an initial value of an output variable V a calculation result obtained by performing the scalar multiplication on the point A using the correction value d′ stored in the correction value storage as the scalar value, performing a first process and a second process on each obtained window sequence w(j) from a more significant bit side to a less significant bit side, each obtained window sequence w(j) being obtained by selecting each window sequence w(i) from the window sequence storage device, the first process including executing doubling on the elliptical curve, the doubling being executed k times, where k indicates a number of bits of each window sequence w(i) stored in the window sequence storage device, and the second process including acquiring table data in the randomized table using the obtained window sequence w(j) as an index and adding the acquired table data to the output variable V when a most significant bit of the obtained window sequence w(j) is 0, and acquiring the table data in the randomized table using as an index a bit string of a complement of a base for the obtained window sequence w(j) in binary system and adding to the output variable V a value obtained by adding a minus sign to the acquired table data when a most significant bit of the obtained window sequence w(j) is 1; and outputting a value of the output variable V as a result of the encrypting operation. 2. The encrypting device according to claim 1 , wherein the random number storage stores the random number s for each value of each window sequence w(i), and in the obtaining of the index value, the index value is obtained by concatenating with the bit string of k bits the random number s corresponding to the value of the bit string of k bits. 3. An encrypting method used by a computer which performs an encrypting operation on a point A on an elliptical curve by a secret key d using b, m, k, i, and j as natural numbers excluding 0, and a random number s, each window sequence w(i), and a correction value d′ corresponding to the secret key d, the secret key d being a binary secret key in elliptical curve cryptography, a bit length of the secret key d being (b+m×k) bits, the encrypting method comprising: obtaining, by a hardware processor from a memory device, an index value by concatenating the random number s on a more significant bit side of a bit string of k bits while sequentially changing a value of the bit string of k bits; wherein k indicates a number of bits of each window sequence w(i) stored in a window sequence storage device; performing scalar multiplication on the point A using the index value as a scalar value; generating a randomized table by storing a calculation result of the scalar multiplication as table data corresponding to the index value; setting as an initial value of an output variable V a calculation result obtained by performing the scalar multiplication on the point A using the correction value d′ as the scalar value; performing a first process and a second process on each obtained window sequence w(j) from a more significant bit side to a less significant bit side, each obtained window sequence w(j) being obtained by selecting each window w(i) from the window sequence storage device, the first process including executing doubling on the elliptical curve, the doubling being executed k times, where k indicates a number of bits of each window sequence w(i), and the second process including acquiring table data in the randomized table using the obtained window sequence w(j) as an index and adding to the acquired table data to the output variable V when a most significant bit of the obtained window sequence w(j) is 0, and acquiring the table data in the randomized table using as an index a bit string of a complement of a base for the obtained window sequence w(j) in binary system and adding to the output variable V a value obtained by adding a minus sign to the acquired table data when a most significant bit of the obtained window sequence w(j) is 1; and outputting a value of the output variable V as a result of the encrypting operation. 4. A non-transitory computer-readable recording medium storing a program for executing a process by a computer to perform elliptical curve cryptography by performing an encrypting operation on a point A on an elliptical curve by a secret key d using b, m, k, i, and j as natural numbers excluding 0, and a random number s, each window sequence w(i), and a correction value d′ corresponding to the secret key d, the secret key d being a binary secret key in elliptical curve cryptography, a bit length of the secret key d being (b+m×k) bits, the process comprising: obtaining, by a computer from a memory device, an index value by concatenating the random number s on a more significant bit side of a bit string of k bits while sequentially changing a value of the bit string of k bits where k indicates to a number of bits of each window sequence w(i) stored in a window sequence storage device; performing scalar multiplication on the point A using the index value as a scalar value; generating a randomized table by storing a calculation result of the scalar multiplication as table data corresponding to the index value; setting as an initial value of an output variable V a calculation result obtained by performing the scalar multiplication on the point A using the correction value d′ as the scalar value; performing a first process and a second process on each obtained window sequence w(j) from a more significant bit side to a less significant bit side, each obtained window sequence w(j) being obtained by selecting each window sequence w(i) from the window sequence storage device, the first process including executing doubling on the elliptical curve, the doubling being executed k times, where k indicates a number of bits of each window sequence w(i), and the second process including acquiring table data in the randomized table using the obtained window sequence w(j) as an index and adding the acquired table data to the output variable V when a most significant bit of the obtained window sequence w(j) is 0, and acquiring the table data in the randomized table using as an index a bit string of a complement of a base for the obtained window sequence w(j) in binary system and adding to the output variable V as value obtained by adding a minus sign to the acquired table data when a most significant bit of the obtained window s

Assignees

Inventors

Classifications

  • Randomization, e.g. dummy operations or using noise · CPC title

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

  • H04L9/3066Primary

    involving algebraic varieties, e.g. elliptic or hyper-elliptic curves · CPC title

  • Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use · 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 US9749135B2 cover?
From the least significant bit of the current secret key, k bits are retrieved, obtaining a binary window sequence. A binary bit string of concatenation of the random number to the more significant bits of the window sequence is obtained if the most significant bit of the window sequence is 0, subtracting a bit string from the current secret key to obtain a new secret key, or the bit string of …
Who is the assignee on this patent?
Fujitsu Ltd
What technology area does this patent fall under?
Primary CPC classification H04L9/3066. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 29 2017 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).