# US 11,115,198 B2 · Key generation device, key generation method, and computer program product

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

- Number: US 11,115,198 B2
- Document ID: US11115198B2
- Status: Granted
- Kind: B2
- Application number: 16/289,066
- Filed: 2019-02-28
- Published: 2020-03-19
- Granted: 2021-09-07
- Earliest claimed: 2018-09-19
- Assignees: Kabushiki Kaisha Toshiba
- Applicants: Kabushiki Kaisha Toshiba
- Inventors: Ririka Takahashi; Yoshimichi Tanizawa; Kazuaki Doi; Mamiko Kujiraoka; Akira Murakami
- Web page: https://patentgrep.com/patent/US11115198B2

## CPC

- H04L 9/0852: {Quantum cryptography (transmission systems employing electromagnetic waves other than radio waves, e.g. light, infrared H04B10/00; wavelength-division multiplex systems H04J14/02; WDM arrangements H04J14/03)}
- H04L 9/0858: {Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 2209/122: Hardware reduction or efficient architectures
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

According to an embodiment, an information processor includes a memory and one or more hardware processors coupled to the memory. The one or more hardware processors are configured to function as a calculating unit, a determining unit, and a generating unit. The calculating unit is configured to calculate a key length. The determining unit is configured to determine a block size corresponding to a unit of processing in key generation and an outputtable size indicating the size of a key outputtable by the key generation. The generating unit is configured to generate a key having the key length by a hash operation using a matrix having a size determined by the block size and the outputtable size.

## Claims

### Claim 1

A key generation device comprising:
a memory; and
one or more hardware processors coupled to the memory and configured to function as:
a calculating unit configured to calculate a key length;
a determining unit configured to determine a block size corresponding to a unit of processing in key generation based on at least one of a resource of the key generation device, an error rate of a channel, and statistical information on a pulse received via the channel, and an outputtable size indicating size of a key outputtable by the key generation; and
a generating unit configured to generate a key having the key length by a hash operation using an input bit string and a matrix having a size determined by the block size and the outputtable size, the input bit string having the block size.

### Claim 2 (depends on 1)

The device according to claim 1, wherein the determining unit determines the block size and determines the outputtable size based on the resource of the key generation device and the block size.

### Claim 3 (depends on 1)

The device according to claim 1, wherein the determining unit determines the outputtable size and determines the block size based on the resource of the key generation device and the outputtable size.

### Claim 4 (depends on 3)

The device according to claim 3, wherein the determining unit determines the block size such that the outputtable size is equal to the key length.

### Claim 5 (depends on 3)

The device according to claim 3, wherein the determining unit receives feedback of the key length at predetermined time intervals, compares the fed-back key length and the outputtable size, and determines the block size such that the outputtable size is equal to the key length.

### Claim 6 (depends on 3)

The device according to claim 3, wherein the determining unit receives feedback of the key length every time the key length is calculated, compares the fed-back key length and the outputtable size, and dynamically determines the block size such that the outputtable size is equal to the key length.

### Claim 7 (depends on 3)

The device according to claim 3, wherein the determining unit collects histories of the key length and determines the block size such that the outputtable size is larger than an average or a maximum value of the key length.

### Claim 8 (depends on 3)

The device according to claim 3, wherein the determining unit monitors the key length and the outputtable size obtained when the key length is calculated at predetermined time intervals and determines the block size such that the key length approaches the outputtable size.

### Claim 9

A key generation method for a key generation device comprising:
calculating a key length;
determining a block size corresponding to a unit of processing in key generation based on at least one of a resource of the key generation device, an error rate of a channel, and statistical information on a pulse received via the channel, and an outputtable size indicating size of a key outputtable by the key generation; and
generating a key having the key length by a hash operation using an input bit string and a matrix having a size determined by the block size and the outputtable size, the input bit string having the block size.

### Claim 10

A computer program product for a key generation device having a non-transitory computer readable medium including programmed instructions, the instructions, when executed by a computer, causing the computer to function as:
a calculating unit configured to calculate a key length;
a determining unit configured to determine a block size corresponding to a unit of processing in key generation based on at least one of a resource of the key generation device, an error rate of a channel, and statistical information on a pulse received via the channel, and an outputtable size indicating size of a key outputtable by the key generation; and
a generating unit configured to generate a key having the key length by a hash operation using an input bit string and a matrix having a size determined by the block size and the outputtable size, the input bit string having the block size.
