# US 12,010,230 B2 · Device and method for certifying reliability of public key, and program for same

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,230 B2
- Document ID: US12010230B2
- Status: Granted
- Kind: B2
- Application number: 17/614,451
- Filed: 2020-05-29
- Published: 2022-07-28
- Granted: 2024-06-11
- Earliest claimed: 2019-05-29
- Assignees: Bitflyer Blockchain, Inc.
- Applicants: bitFlyer Blockchain, Inc.
- Inventors: Takafumi Komiyama
- Web page: https://patentgrep.com/patent/US12010230B2

## CPC

- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The reliability of a second public key which is part of a second key pair generated in association with a first key pair is certified. A generating apparatus 210 provides certification data to a receiving apparatus 220 (S301). The receiving apparatus 220 transmits a certification request requesting a certification that the second public key PK2 is in a parent-child relationship with the first public key PKI to a certifying apparatus 230 (S302). In this example, the certification request includes the certification data, but if the certification data is provided directly from the generating apparatus 210 to the certifying apparatus 230, the certification request does not need to include the certification data. The certifying apparatus 230 verifies the certification data by calculating a verification formula for the certification data in response to the certification request (S303).

## Claims

### Claim 1

A method for certifying a reliability of a second public key PK2 which is a part of a second key pair generated in association with a first key pair consisting of a first private key and a first public key PK1, wherein the first private key and a generator of a cyclic group “G” are denoted as “a” and “g”, and the first public key PK1 is “a·g” and a second public key PK2 is “ax·g”, where “x” is an integer, and “r” is a random number or a pseudo-random number or a piece of data including the random number or the pseudo-random number, the method comprising:
receiving a certification request requesting a certification of the reliability of the second public key PK2, the certification request including certification data,
calculating an equation PK2=xPK1 in response to the certification request, and
transmitting a result of the calculation as a response to the certification request, wherein the r is included in the certification data, and
wherein the calculation comprises:
inputting the r into a hash function to output the integer x, and
calculating the equation using the integer x.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the r includes the random number or pseudo-random number, and a string “str” which is data representing an attribute of the second public key ax·g.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the certification data further includes a string, “str” which is data representing an attribute of the second public key ax·g.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the certification request includes the second public key PK2.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the certification request includes the first public key PK1.

### Claim 6

A non-transitory computer readable medium encoded with a computer program which, when executed by a computer, causes certification of a reliability of a second public key PK2 which is a part of a second key pair generated in association with a first key pair consisting of a first private key and a first public key PK1, wherein the first private key and a generator of a cyclic group “G” are denoted as “a” and “g”, and a first public key PK1 is “a·g” and a second public key PK2 is “ax·g”, where “x” is an integer and “r” is a random number or pseudo-random number or a piece of data including the random number or pseudo-random number, the computer program comprising:
program code for receiving a certification request requesting the certification of the reliability of the second public key PK2, the certification request including certification data,
program code for calculating an equation PK2=xPK1 in response to the certification request, and
program code for transmitting a result of the calculation as a response to the certification request,
wherein the calculation comprises:
inputting the r included in the certification data into a hash function to output the integer x, and
calculating the equation using the integer x.

### Claim 7

An apparatus for certifying a reliability of a second public key PK2 which is a part of a second key pair generated in association with a first key pair consisting of a first private key and a first public key PK1, the apparatus comprising:
a processor, and
memory,
wherein the first private key and a generator of a cyclic group “G” are denoted as “a” and “g”, and a first public key PK1 is “a·g” and a second public key PK2 is “ax·g”, where “x” is an integer and “r” is a random number or pseudo-random number or a piece of data including the random number or pseudo-random number,
wherein the apparatus is configured to:
receive a certification request requesting the certification of the reliability of the second public key PK2, the certification request including certification data,
calculate an equation PK2=xPK1 in response to the certification request, and
transmit a result of the calculation as a response to the certification request,
wherein the r is included in the certification data, and
wherein the calculation comprises:
inputting the r into a hash function to output the integer x, and
calculating the equation using the integer x.

### Claim 8

A method for certifying a reliability of a second identifier ID2 generated in association with a first identifier ID1, wherein a first integer and a generator of a cyclic group “G” are denoted as “a” and “g”, and the first identifier ID1 is “a·g” and the second identifier ID2 is “ax·g”, where “x” is an integer and “r” is a random number or pseudo-random number or a piece of data including the random number or pseudo-random number, the method comprising:
receiving a certification request requesting a certification of the reliability of the second identifier ID2, the certification request including certification data,
calculating an equation ID2=xID1 in response to the certification request, and
transmitting a result of the calculation as a response to the certification request,
wherein the calculation comprises:
inputting the r included in the certification data into a hash function to output the integer x, and
calculating the equation ID2 using the integer x.

### Claim 9

A non-transitory computer readable medium encoded with a computer program which, when executed by a computer, causes certification of a reliability of a second identifier ID2 generated in association with a first identifier ID1, wherein a first integer and a generator of a cyclic group “G” are denoted as “a” and “g”, and the first identifier ID1 is “a·g” and the second identifier ID2 is “ax·g”, and where “x” is an integer and “r” is a random number or pseudo-random number or a piece of data including the random number or pseudo-random number, the method computer program comprising:
program code for receiving a certification request requesting a certification of the reliability of the second identifier ID2, the certification request including certification data,
program code for calculating an equation represented by an equation ID2=xID1 in response to the certification request, and
program code for transmitting a result of the calculation as a response to the certification request,
wherein the calculation comprises:
inputting the r included in the certification data into a hash function to output the integer x, and
calculating the equation using the integer x.

### Claim 10

An apparatus for certifying a reliability of a second identifier ID2 generated in association with a first identifier ID1, the apparatus comprising:
a processor, and
memory,
wherein a first integer and a generator of a cyclic group “G” are denoted as “a” and “g”, and the first identifier ID1 is “a·g” and the second identifier ID2 is “ax·g”,
wherein “x” is in integer and “r” is a random number or pseudo-random number or a piece of data including the random number or pseudo-random number,
wherein the apparatus is configured to:
receive a certification request requesting a certification of the reliability of the second identifier ID2, the certification request including certification data,
calculate an equation ID2=xID1 in response to the certification request, and
transmit a result of the calculation as a response to the certification request, and
wherein the calculation comprises:
inputting the r included in the certification data into a hash function to output the integer x, and
calculating the equation using the integer x.
