# US 2014/0192976 A1 · Method and system for id-based encryption and decryption

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

- Number: US 2014/0192976 A1
- Document ID: US20140192976A1
- Status: Published application
- Kind: A1
- Application number: 14/067,284
- Filed: 2013-10-30
- Published: 2014-07-10
- Earliest claimed: 2012-10-31
- Assignees: Snu R&Db Foundation; Samsung Sds Co., Ltd.
- Applicants: Samsung Sds Co., Ltd.; Snu R&Db Foundation
- Inventors: Hyo Jin YOON; Jung Hoon SOHN; Seon Young LEE; Hyung Tae LEE; Jung Hee CHEON
- Web page: https://patentgrep.com/patent/US20140192976A1

## CPC

- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0847: {involving identity based encryption [IBE] schemes}
- H04L 9/3013: {involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided are identifier (ID)-based encryption and decryption methods and apparatuses for the methods. The ID-based encryption method includes having, at a transmitting terminal, a transmitting-side private key corresponding to a transmitting-side ID issued by a key issuing server, generating, at the transmitting terminal, a session key using the transmitting-side ID, a receiving-side ID, and the transmitting-side private key, extracting, at the transmitting terminal, a secret key from at least a part of the session key, and encrypting, at the transmitting terminal, a message using a previously set encryption algorithm and the secret key.

## Claims

### Claim 1

An identifier (ID)-based encryption method, comprising:
storing, at a transmitting terminal, a transmitting-side private key corresponding to a transmitting-side ID issued by a key issuing server;
generating, at the transmitting terminal, a session key using the transmitting-side ID, a receiving-side ID, and the transmitting-side private key;
extracting, at the transmitting terminal, a secret key from at least a part of the session key; and
encrypting, at the transmitting terminal, a message using a previously set encryption algorithm and the secret key.

### Claim 2 (depends on 1)

The ID-based encryption method of claim 1, wherein the generating of the session key includes:
generating, at the transmitting terminal, a first session key element and a second session key element from the transmitting-side ID and the receiving-side ID, respectively;
generating, at the transmitting terminal, a third session key element from the second session key element;
generating, at the transmitting terminal, a session key generation bit string including the first session key element, the second session key element, and the third session key element; and
generating, at the transmitting terminal, the session key from the session key generation bit string.

### Claim 3 (depends on 2)

The ID-based encryption method of claim 2, wherein:
the generating of the first session key element and the generating of the second session key element are performed by hashing the transmitting-side ID and the receiving-side ID, respectively, using a first hash function;
the generating of the third session key element is performed by calculating the second session key element to a power of the transmitting-side private key; and
the generating of the session key includes hashing the session key generation bit string using a second hash function.

### Claim 4 (depends on 3)

The ID-based encryption method of claim 3, wherein the transmitting-side private key is calculated according to the following equation:
a=logg(H1(A))
where:
a is the transmitting-side private key,
H1 is the first hash function,
A is the transmitting-side ID,
g is a generator of a maximal cyclic subgroup of a group,
N is an integer satisfying N=pq, and
p and q are prime numbers that satisfy p≡1 (mod 4) and q≡3 (mod 4) respectively)\.

### Claim 5 (depends on 4)

The ID-based encryption method of claim 4, wherein the first hash function is set to map an arbitrary binary bit string to an arbitrary element in the maximal cyclic subgroup.

### Claim 6 (depends on 2)

The ID-based encryption method of claim 2, further comprising previously setting a first additional bit string between the transmitting terminal and the receiving terminal, wherein the generating of the session key generation bit string is performed so as to further include the first additional bit string.

### Claim 7 (depends on 1)

The ID-based encryption method of claim 1, wherein the extracting of the secret key further includes:
extracting a part of a binary bit string constituting the session key;
assigning the extracted part to the secret key; and
assigning the binary bit string, excluding the part assigned to the secret key, to an initialization vector (IV) for encrypting the message.

### Claim 8 (depends on 7)

The ID-based encryption method of claim 7, wherein the encrypting of the message is performed using:
the encryption algorithm,
a mode of operation (MoO) of the encryption algorithm,
the secret key, and
the IV.

### Claim 9 (depends on 8)

The ID-based encryption method of claim 8, further comprising previously setting a second additional bit string between the transmitting terminal and the receiving terminal, wherein the encrypting of the message further includes adding the second additional bit string to the message.

### Claim 10

An identifier (ID)-based decryption method, comprising:
storing, at a receiving terminal, a receiving-side private key corresponding to a receiving-side ID issued by a key issuing server;
generating, at the receiving terminal, a session key using a transmitting-side ID, the receiving-side ID, and the receiving-side private key;
extracting, at the receiving terminal, a secret key from at least a part of the session key; and
decrypting, at the receiving terminal, an encrypted message using a previously set decryption algorithm and the secret key.

### Claim 11 (depends on 10)

The ID-based decryption method of claim 10, wherein the generating of the session key includes:
generating, at the receiving terminal, a first session key element and a second session key element from the transmitting-side ID and the receiving-side ID, respectively;
generating, at the receiving terminal, a third session key element from the first session key element;
generating, at the receiving terminal, a session key generation bit string including the first session key element, the second session key element, and the third session key element; and
generating, at the receiving terminal, the session key from the session key generation bit string.

### Claim 12 (depends on 11)

The ID-based decryption method of claim 11, wherein:
the generating of the first session key element and the generating of the second session key element are performed by hashing the transmitting-side ID and the receiving-side ID respectively using a first hash function;
the generating of the third session key element is performed by calculating the first session key element to a power of the receiving-side private key, and
the generating of the session key is includes hashing the session key generation bit string using a second hash function.

### Claim 13 (depends on 12)

The ID-based decryption method of claim 12, wherein the receiving-side private key is calculated according to the following equation:
b=logg(H1(B))
where:
b is the receiving-side private key,
H1 is the first hash function,
B is the receiving-side ID,
g is a generator of a maximal cyclic subgroup of a group,
N is an integer satisfying N=pq, and
p and q are prime numbers that satisfy p≡1 (mod 4) and q≡3 (mod 4) respectively.

### Claim 14 (depends on 13)

The ID-based decryption method of claim 13, wherein the first hash function is set to map an arbitrary binary bit string to an arbitrary element in the maximal cyclic subgroup.

### Claim 15 (depends on 11)

The ID-based decryption method of claim 11, further comprising previously setting a first additional bit string between the transmitting terminal and the receiving terminal, wherein the generating of the session key generation bit string is performed so as to further so as to include the first additional bit string.

### Claim 16 (depends on 10)

The ID-based decryption method of claim 10, wherein the extracting of the secret key further includes:
extracting a part of a binary bit string constituting the session key;
assigning the extracted part to the secret key; and
assigning the binary bit string, excluding the part assigned to the secret key, to an initialization vector (IV) for encrypting the message.

### Claim 17 (depends on 16)

The ID-based decryption method of claim 16, wherein the decrypting of the message is performed using:
the decryption algorithm,
a mode of operation (MoO) of the decryption algorithm,
the secret key, and
the IV.

### Claim 18 (depends on 17)

The ID-based decryption method of claim 17, further comprising previously setting a second additional bit string between the transmitting terminal and the receiving terminal, wherein the decrypting of the message further includes removing the second additional bit string from the decrypted message.

### Claim 19 (depends on 1)

A computer-readable recording medium storing a program for causing a computer to perform the method of claim 1.

### Claim 20

An apparatus, comprising:
at least one hardware processor;
a memory accessible by the at least one hardware processor; and
at least one program stored in the memory;
wherein the at least one program is configured to be executed by the at least one hardware processor, and includes commands enabling the at least one hardware processor to:
store a transmitting-side private key corresponding to a transmitting-side identifier (ID) issued by a key issuing server;
generate a session key using the transmitting-side ID, a receiving-side ID, and the transmitting-side private key;
extract a secret key from at least a part of the session key; and
encrypt a message using a previously set encryption algorithm and the secret key.

### Claim 21

An apparatus, comprising:
at least one hardware processor;
a memory accessible by the at least one hardware processor; and
at least one program stored in the memory;
wherein the at least one program is configured to be executed by the at least one hardware processor, and includes commands enabling the at least one hardware processor to:
store a receiving-side private key corresponding to a receiving-side identifier (ID) issued by a key issuing server;
generate a session key using a transmitting-side ID, the receiving-side ID, and the receiving-side private key;
extract a secret key from at least a part of the session key; and
decrypt an encrypted message using a previously set decryption algorithm and the secret key.
