JP5097102B2 - Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium - Google Patents
Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium Download PDFInfo
- Publication number
- JP5097102B2 JP5097102B2 JP2008329776A JP2008329776A JP5097102B2 JP 5097102 B2 JP5097102 B2 JP 5097102B2 JP 2008329776 A JP2008329776 A JP 2008329776A JP 2008329776 A JP2008329776 A JP 2008329776A JP 5097102 B2 JP5097102 B2 JP 5097102B2
- Authority
- JP
- Japan
- Prior art keywords
- hash
- hierarchical
- length
- octet
- octets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000004364 calculation method Methods 0.000 claims description 63
- 238000012795 verification Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 58
- 238000012545 processing Methods 0.000 description 30
- 230000008901 benefit Effects 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
Images
Description
本発明は、データを暗号化する装置に関し、特に公開鍵暗号の暗号鍵として周知のユーザ情報を利用する階層型IDベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体に関する。 The present invention relates to an apparatus for encrypting data, and more particularly, to a hierarchical ID-based encryption apparatus and decryption apparatus that use well-known user information as an encryption key for public key encryption, a method, a program thereof, and a recording medium.
IDベース暗号方式は、公開鍵暗号方式の公開鍵として、受信者のIDやEメールアドレスなど一意に受信者を識別できる周知の個人情報を用いる公開鍵暗号方式の応用技術である。公開鍵として周知の個人情報を用いるため、一般的な公開鍵暗号方式のように公開鍵の真正性を(公開鍵証明書により)確認する必要が無く利便性に優れている。しかし、IDベース暗号方式は、鍵生成センタ(以下、「ノード」という。)が秘密鍵の生成を担う方式であるところ、秘密鍵の生成を要求する受信者の認証、秘密鍵の生成、及び受信者への秘密鍵の安全な配布などの各処理を1つのノードが一手に担うことになるため、ユーザの増大により、いずれはノードの処理能力の限界に達し、それ以上はユーザを増やせなくなってしまうという問題があった。 The ID-based encryption method is an application technique of public key encryption method that uses well-known personal information that can uniquely identify a recipient, such as a recipient's ID and email address, as a public key of the public key encryption method. Since well-known personal information is used as a public key, it is not necessary to confirm the authenticity of the public key (by a public key certificate) unlike a general public key cryptosystem, which is excellent in convenience. However, the ID-based encryption method is a method in which a key generation center (hereinafter referred to as “node”) is responsible for generating a secret key. Authentication of a recipient who requests generation of a secret key, generation of a secret key, and Since each node is responsible for each process, such as secure distribution of the private key to the recipients, the number of users will eventually reach the limit of the processing capacity due to the increase in users, and the number of users will no longer increase. There was a problem that.
そこで、ノードを階層的に複数配置することで、各ノードに受信者(のID)を適宜割り付けることによりノードにかかる負荷の分散を図ることができ、かつ、ノードの増設も容易にできる階層型IDベース暗号方式が考案された(非特許文献1参照)。以下、その概要について説明する。 Therefore, by arranging a plurality of nodes hierarchically, it is possible to distribute the load on the nodes by appropriately assigning recipients (IDs) to each node, and it is possible to easily add nodes. An ID-based encryption scheme has been devised (see Non-Patent Document 1). The outline will be described below.
階層型IDベース暗号方式においては、最上位のノード(以下、「ルート」という。)の傘下の各ノードに割り付けられた受信者の(IDに対応する)秘密鍵は、基本的には当該受信者が割り付けられたノードの親ノードが、当該受信者のIDと当該親ノードの親ノードから受け取った自身の秘密鍵とから生成して当該受信者に配布する。 In the hierarchical ID-based encryption method, the receiver's private key (corresponding to the ID) assigned to each node under the highest node (hereinafter referred to as “root”) is basically received. The parent node of the node to which the person is assigned generates from the ID of the receiver and the private key received from the parent node of the parent node, and distributes it to the receiver.
この一連の処理を、ノードを上位からルート、第1ノード、第2ノードという3階層で構成した場合を例にとって、図6のブロック図により具体的に説明する。この構成において、例えば、第2ノード12に属する受信者2から第1ノード11(ここでは受信者1)に利用要求があった時には、受信者1はまず、受信者2を認証した上で、ルート10から自身の秘密鍵(S1、Q0)を受け取る。そして、これと周知情報である受信者2のID情報組(id0、id1a、id2a)とから当該受信者2の秘密鍵(S2、Q1)を生成して受信者2に配布する。第3ノード以下の層がある場合にもこれと同様な方法で秘密鍵が配布される。なお、第1ノード11に属する受信者1からルート10に利用要求があった時には、ルート10は受信者1を認証した上で、自身が保持する秘密鍵s0と周知情報である受信者1のID情報組(id0、id1a)とから当該受信者1の秘密鍵(S1、Q0)を生成して受信者1に配布する。送信者3が受信者1に平文Mを暗号化して送る際には、送信者3は周知情報である受信者1のID情報組(id0、id1a)とルートの公開パラメータP0、p、Q0とを用いて平文Mから暗号文mを作成して送信し、暗号文mを受信した受信者1は、ルート10から配布を受けた自身の秘密鍵(S1、Q0)を用いて平文Mを復号する。なお、図1の構成例では各ノードには1ユーザだけが割り付けられているが、複数のユーザを割り付けても構わない。
This series of processing will be described in detail with reference to the block diagram of FIG. 6 by taking as an example a case where the nodes are configured in three layers of a route, a first node, and a second node from the top. In this configuration, for example, when there is a use request from the
従来の階層型IDベース暗号方式は、初期設定、鍵生成、暗号化、復号化の4つの機能から構成される。以下、各機能について処理の一例を説明する。 A conventional hierarchical ID-based encryption scheme is composed of four functions: initial setting, key generation, encryption, and decryption. Hereinafter, an example of processing for each function will be described.
≪初期設定≫
初期設定はルートの機能であり、ルート秘密鍵s0と全ユーザに対する公開パラメータP0、p、Q0の生成を行う。また、ルートのID情報としてid0を設定する。図6の構成においては、ルート10が当該機能を担う。
≪Initial setting≫
The initial setting is a root function, which generates a root secret key s 0 and public parameters P 0 , p, Q 0 for all users. Also, id 0 is set as route ID information. In the configuration of FIG. 6, the
本方式においては、楕円曲線上の演算を行うため、有限体Fq上に定義される楕円曲線Eと楕円曲線E上のベースポイントP0(位数:p)を決定した上で、以下の処理を行う。
(1)ランダムな整数s0∈{0、1、2、・・・、p−1}を生成する。
(2)Q0=s0・P0を計算する。
(3)P0、p、Q0を出力する。
In this method, in order to perform an operation on an elliptic curve, an elliptic curve E defined on the finite field F q and a base point P 0 (order: p) on the elliptic curve E are determined, and then Process.
(1) Generate a random integer s 0 ε {0, 1, 2,..., P−1}.
(2) Q 0 = s 0 · P 0 is calculated.
(3) Output P 0 , p, Q 0 .
≪鍵生成≫
鍵生成機能はルート及びルート以外の各ノード(に属する各受信者)の機能であり、下位ノードに属する各受信者のID情報組に対応する秘密鍵を発行する。以下、第t−1階層のノードが第t階層のノードの受信者のために秘密鍵を発行する処理を説明する(0階層はルートとする)。なお、tの値により処理が3通りに分かれるため、それぞれについて説明する。図6の構成においては、鍵生成装置21、22が当該機能を担う。
≪Key generation≫
The key generation function is a function of the root and each node other than the root (each recipient belonging to), and issues a secret key corresponding to the ID information set of each recipient belonging to the lower node. Hereinafter, a process in which a node at the (t−1) -th layer issues a secret key for the recipient of the node at the t-th layer will be described (
<t=1の場合>
ルートが第1階層のノードの受信者のために秘密鍵を発行する処理である(図7参照)。
[入力]
・受信者のID情報組(周知情報、文字列):id0、id1
・ルートの公開パラメータ(初期設定にて生成):Q0
・ルートの秘密鍵(初期設定にて生成):s0
[処理内容]
(1)P1を、P1=IDenc(id0‖id1)により計算する。
<When t = 1>
The route is a process of issuing a secret key for the recipient of the first layer node (see FIG. 7).
[input]
-ID information set of receiver (well-known information, character string): id 0 , id 1
-Route public parameters (generated by default): Q 0
-Root secret key (generated by default): s 0
[Processing content]
(1) P 1 is calculated by P 1 = IDenc (id 0 ‖id 1 ).
(IDencは文字列を楕円曲線E上に写像する関数、‖は連結を表す)
(2)S1を、S1=s0・P1により計算する。
(IDenc is a function that maps a character string onto an elliptic curve E, and ‖ represents concatenation)
(2) S 1 is calculated by S 1 = s 0 · P 1 .
[出力]
・当該受信者のIDに対する秘密鍵:(S1、Q0)
[output]
-Secret key for the recipient's ID: (S 1 , Q 0 )
<t=2の場合>
第1階層のノードが第2階層のノードの受信者のために秘密鍵を発行する処理である(図8参照)。
[入力]
・受信者のID情報組(周知情報、文字列):id0、id1、id2
・ルートの公開パラメータ(公開情報):P0
・第1階層の秘密鍵(ルートから入手):(S1、Q0)
[処理内容]
(1)ランダムな整数s1∈{0、1、2、・・・、p−1}を生成する。
(2)P2を、P2=IDenc(id0‖id1‖id2)により計算する。
(3)S2を、S2=S1+s1・P2により計算する。
(4)Q1を、Q1=s1・P0により計算する。
[出力]
・当該受信者のIDに対する秘密鍵:(S2、Q1)
<When t = 2>
This is a process in which the first layer node issues a secret key for the recipient of the second layer node (see FIG. 8).
[input]
・ Recipient ID information set (well-known information, character string): id 0 , id 1 , id 2
-Route public parameters (public information): P 0
First layer private key (obtained from root): (S 1 , Q 0 )
[Processing content]
(1) Generate a random integer s 1 ε {0, 1, 2,..., P−1}.
(2) P 2 is calculated by P 2 = IDenc (id 0 ‖id 1 ‖id 2 ).
(3) S 2 is calculated by S 2 = S 1 + s 1 · P 2 .
(4) Q 1 is calculated by Q 1 = s 1 · P 0 .
[output]
- secret key for the ID of the recipient: (S 2, Q 1)
<t>2の場合>
第2階層以降(第t−1階層)の各ノードが下位階層(第t階層)のノードの受信者のために秘密鍵を発行する処理である(図9参照:第2階層のノードが第3階層のノードに発行する例)。
[入力]
・受信者のID情報組(周知情報、文字列):id0、id1、・・・、idt
・ルートの公開パラメータ(公開情報):P0
・第t−1階層の秘密鍵(第t−2階層から入手)
:(St、Q1、Q2、・・・、Qt-2)
[処理内容]
(1)ランダムな整数st-1∈{0、1、2、・・・、p−1}を生成する。
(2)Ptを、Pt=IDenc(id0‖id1‖・・・‖idt)により計算する。
(3)Stを、St=St-1+st-1・Ptにより計算する。
(4)Qt-1を、Qt-1=st-1・P0により計算する。
[出力]
・当該受信者のIDに対する秘密鍵:(St、Q1、Q2、・・・、Qt-1)
<When t>2>
This is a process in which each node in the second and subsequent layers (t-1 layer) issues a secret key for the recipient of the node in the lower layer (t layer) (see FIG. 9: the node in the second layer is the first layer) An example of issuing to a node of three layers).
[input]
ID information set of receiver (well-known information, character string): id 0 , id 1 ,..., Id t
-Route public parameters (public information): P 0
-T-1 layer private key (obtained from layer t-2)
: (S t , Q 1 , Q 2 ,..., Q t-2 )
[Processing content]
(1) Generate a random integer s t-1 ε {0, 1, 2,..., P−1}.
(2) P t, is calculated by P t = IDenc (id 0 ‖id 1 || ··· ‖id t).
(3) S t is calculated by S t = S t−1 + s t−1 · P t .
(4) Q t−1 is calculated by Q t−1 = s t−1 · P 0 .
[output]
A secret key for the recipient ID: (S t , Q 1 , Q 2 ,..., Q t-1 )
≪暗号化≫
暗号化機能は送信者のための機能であり、受信者のID情報組とルートの公開パラメータとを用いて、平文Mが暗号化された暗号文cを生成する。図6〜9においては、階層型IDベース暗号化装置300がこれにあたる。
(1)ランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する。
(2)ID情報組id0、id1、id2、・・・、idtに基づき、P1、P2、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算する。
(3)P0、P2、P3、・・・、Ptとrとから、U0、U2、U3、・・・、Utをそれぞれ、
Uj=r・Pj (j=0又は2≦j≦t)
により計算する。
(4)Q0とP1とrとから、任意のペアリング関数eを用いてQを、Q=e(Q0 、P1 )rにより計算する。なお、ペアリング関数eとは2入力1出力の関数で、楕円曲線E上の2点P、Qについて、e(aP、bQ)=e(P、Q)ab=e(bP、aQ)というような双線形性を成立させる関数である。
(5)Qと平文Mとが入力され、所定の長さのデータ列を出力する任意の一方向関数hashを用いてc´を、
c´=Mxor hash(Q)
(xorは排他的論理和演算を表す)により計算する。
(6)U0、U2、U3、・・・、Utとc´とが入力され、Ujをデータ列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する。
≪Encryption≫
The encryption function is a function for the sender, and generates a ciphertext c in which the plaintext M is encrypted using the receiver's ID information set and the route public parameter. 6 to 9, the hierarchical ID-based
(1) Generate and output a random value rε {0, 1, 2,..., P−1}.
(2) ID information set id 0, id 1, id 2 , ···, based on the id t, P 1, P 2 , ···, the P t respectively,
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (1 ≦ i ≦ t)
Calculate according to
(3) P 0, P 2 ,
U j = r · P j (j = 0 or 2 ≦ j ≦ t)
Calculate according to
(4) Q is calculated from Q 0 , P 1, and r using an arbitrary pairing function e by Q = e (Q 0 , P 1 ) r . The pairing function e is a two-input one-output function, and e (aP, bQ) = e (P, Q) ab = e (bP, aQ) for two points P and Q on the elliptic curve E. This function establishes such bilinearity.
(5) Q ′ and plaintext M are input, and c ′ is calculated using an arbitrary one-way function hash that outputs a data string of a predetermined length.
c '= Mxor hash (Q)
(Xor represents an exclusive OR operation).
(6) U 0 , U 2 , U 3 ,..., U t and c ′ are input, U j is converted into a data string,
c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′
Calculate and output by
≪復号化≫
復号化機能は受信者のための機能であり、当該受信者のID情報組に対応する秘密鍵を用いて暗号文cから平文Mを復号する。図6〜9においては、階層型IDベース暗号化装置400がこれにあたる。
(1)暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´であるとして、U0、U2、U3、・・・、Utとc´とに分割する。
(2) U0、U2、U3、・・・、Utと秘密鍵St、Q1、Q2、・・・、Qt-1とから、Ujを楕円曲線E上の点に変換した上でペアリング関数eを用いてQを、
≪Decryption≫
The decryption function is a function for the receiver, and decrypts the plaintext M from the ciphertext c using a secret key corresponding to the ID information set of the receiver. 6 to 9, the hierarchical ID-based
(1) the ciphertext c is input, as a c = U 0 ‖U 2 ‖U 3 ‖ ··· ‖U t ‖c', U 0,
(2) U 0, U 2 ,
により計算する。
(3)c´とQとから、一方向関数hashを用いて平文Mを、
M=c´xor hash(Q)
により計算して出力する。なお、計算に際してはQをデータ列に変換した上で行う。
(3) From c ′ and Q, the plaintext M is calculated using the one-way function hash,
M = c'xor hash (Q)
Calculate and output by In the calculation, Q is converted into a data string.
図10は、上記説明した従来の階層型IDベース暗号方式における平文Mに対する暗号化処理形態を端的に示したものである。上記の機能説明及びこの図からわかるように、従来の階層型IDベース暗号方式は、公開パラメータPにより平文Mを直接暗号化し、暗号文mを秘密鍵Sを用いて復号するという、ごく一般的な公開鍵暗号方式を基礎としている。 FIG. 10 simply shows an encryption processing form for plaintext M in the conventional hierarchical ID-based encryption method described above. As can be seen from the above functional description and this figure, the conventional hierarchical ID-based encryption method is a very general method in which plaintext M is directly encrypted by public parameter P and ciphertext m is decrypted using secret key S. Based on a simple public key cryptosystem.
各種公開鍵暗号方式のうち、階層型IDベース暗号方式への応用手法が確立されているのは、現状では楕円曲線暗号を用いる方式(非特許文献1参照)に限られている。しかし、楕円曲線暗号を用いる方式においては、平文データを楕円曲線上の点に対応させて暗号化処理を行うため、一度の処理で暗号化できる平文の長さ(データ量)が楕円曲線上の点の数(例えば160bit)程度に限られてしまうという問題があった。 Among various public key cryptosystems, the application method to the hierarchical ID-based cryptosystem has been established at present only in a scheme using elliptic curve cryptography (see Non-Patent Document 1). However, in the method using elliptic curve cryptography, the plaintext data is encrypted in correspondence with the points on the elliptic curve, so the length of plaintext (data amount) that can be encrypted in one process is on the elliptic curve. There is a problem that the number of points (for example, 160 bits) is limited.
楕円曲線暗号による公開鍵暗号方式のメリットを生かしつつ、任意長の平文を効率的に暗号化することを可能とする方式として、PSEC−KEM(Provably Secure Elliptic Curve encryption - Key Encapsulation Mechanisms)が実現されている(非特許文献2参照)。以下、その概要について説明する。 PSEC-KEM (Provably Secure Elliptic Curve Encryption-Key Encapsulation Mechanisms) has been realized as a method that enables efficient encryption of plaintexts of arbitrary length while taking advantage of the advantages of public key cryptography by elliptic curve cryptography. (See Non-Patent Document 2). The outline will be described below.
KEM(鍵カプセル化メカニズム)は、共通鍵暗号方式で用いるセッション鍵の生成・配送に公開鍵暗号方式を用いるフレームワークであり、当該セッション鍵を用いて平文の暗号化及び復号を行う共通鍵暗号方式によるフレームワークであるDEM(Data Encapsulation Mechanisms:データカプセル化メカニズム)とセットでハイブリッド暗号を実現するものである。このようなKEM−DEM構成を用いることで、公開鍵暗号方式の「鍵の管理・配布が容易」というメリットと、共通鍵暗号方式の「暗号化・復号化処理が高速であり、かつ、暗号化できる平文の長さに制約が無い」というメリットの双方を享受することができる。図11は、KEM−DEM構成における平文に対する暗号化処理形態を示したものである。この構成においては、まず、送信者のKEM暗号化装置500において、受信者の公開鍵Pを用いて共通鍵であるセッション鍵kを生成するとともに、このセッション鍵kを含む暗号文cを生成して送信する。そして、受信者のKEM復号化装置600において暗号文cを受信し、これを秘密鍵Sを用いて復号してセッション鍵kを取り出す。このようにセッション鍵kを共有した後、送信者のDEM暗号化装置700においてセッション鍵kを用いて平文Mを暗号化して送信し、受信者のDEM復号化装置800において、受信した暗号文mをセッション鍵kを用いて復号し平文Mを取り出す。
KEM (Key Encapsulation Mechanism) is a framework that uses a public key cryptosystem for the generation and distribution of session keys used in a common key cryptosystem, and a common key cryptosystem that encrypts and decrypts plaintext using the session key Hybrid encryption is realized in combination with DEM (Data Encapsulation Mechanisms), which is a framework based on the system. By using such a KEM-DEM configuration, the public key cryptosystem's “key management and distribution is easy” and the common key cryptosystem's “encryption / decryption processing is high-speed and encryption It is possible to enjoy both of the advantages that there is no restriction on the length of plaintext that can be converted. FIG. 11 shows an encryption processing form for plain text in the KEM-DEM configuration. In this configuration, first, the sender's KEM encryption apparatus 500 generates a session key k, which is a common key, using the receiver's public key P, and also generates a ciphertext c including the session key k. To send. Then, the receiver's KEM decryption apparatus 600 receives the ciphertext c, decrypts it using the secret key S, and extracts the session key k. After sharing the session key k in this way, the sender's
PSEC−KEMは、KEMを楕円曲線暗号により構成する方式であり、上記のメリットに加え、「安全性を維持しつつ鍵長を短く構成することが可能」、「鍵生成処理が高速」などのメリットも享受できる。PSEC−KEMは、鍵生成、暗号化、復号化の3つの機能から構成される。以下、各機能を簡単に説明する。 PSEC-KEM is a method of constructing KEM with elliptic curve cryptography. In addition to the above merits, "it is possible to configure key length to be short while maintaining security", "high speed key generation processing", etc. Benefits can also be enjoyed. PSEC-KEM is composed of three functions: key generation, encryption, and decryption. Each function will be briefly described below.
〔鍵生成機能〕
PSEC−KEMでは、楕円曲線上の演算を行うため、まず、有限体Fq上に定義される楕円曲線Eと楕円曲線E上のベースポイントP0(位数:p)を決定した上で以下の処理を行い、ベースポイントP0とその位数p、公開鍵P=Q0、及び秘密鍵S=s0を出力する。
(1)ランダムな整数s0∈{0、1、2、・・・、p−1}を生成する。
(2)Q0=s0・P0を計算する。
(3)ベースポイントP0とその位数p、公開鍵P=Q0、及び秘密鍵S=s0をそれぞれ出力する。
[Key generation function]
In PSEC-KEM, in order to perform an operation on an elliptic curve, first, an elliptic curve E defined on a finite field F q and a base point P 0 (order: p) on the elliptic curve E are determined, and then The base point P 0 and its order p, the public key P = Q 0 , and the secret key S = s 0 are output.
(1) Generate a random integer s 0 ε {0, 1, 2,..., P−1}.
(2) Q 0 = s 0 · P 0 is calculated.
(3) The base point P 0 and its order p, the public key P = Q 0 , and the secret key S = s 0 are output.
〔暗号化機能〕
ベースポイントP0とその位数p、及び公開鍵P=Q0を入力とし、暗号文c及びセッション鍵kを出力する。
(1)所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成する。
(2)長さzLen+keyLenオクテットのh=KDF(0x00000000‖r)を生成する。ここで、zLen、keyLenはそれぞれ所定のオクテット長であり、KDF()は任意の鍵導出関数であり、‖はオクテット列の連結を表す。
(3)h=z‖kとして、hを長さzLenオクテットのzと長さkeyLenオクテットのkとに分割する。
(4)zを整数に変換した上で、α=z mod pを計算する。なお、計算は行う。
(5)U0=α・P0、Q=α・Q0を計算する。
(6)U0、Qをオクテット列に変換した上で、長さhLenオクテットのh´を
h´=KDF(0x00000001‖U0‖Q)により計算する。
(7)長さhLenオクテットのc´をc´=r xor h´により計算する。ここで、xorは排他的論理和演算を表す。
(8) U0をオクテット列に変換した上で、暗号文c=U0‖c´及びセッション鍵kとを出力する。
[Encryption function]
The base point P 0 , its order p, and the public key P = Q 0 are input, and the ciphertext c and the session key k are output.
(1) Generate a random value rε {0, 1, 2,..., P−1} having a predetermined length hLen octets.
(2) Generate h = KDF (0x00000000‖r) of length zLen + keyLen octets. Here, zLen and keyLen are predetermined octet lengths, KDF () is an arbitrary key derivation function, and ‖ represents concatenation of octet sequences.
(3) As h = z‖k, h is divided into z of length zLen octets and k of length keyLen octets.
(4) After converting z into an integer, α = z mod p is calculated. Calculation is performed.
(5) U 0 = α · P 0 and Q = α · Q 0 are calculated.
(6) After converting U 0 and Q into an octet string, h ′ of length hLen octets is calculated by h ′ = KDF (0x00000001‖U 0 ‖Q).
(7) c ′ of length hLen octets is calculated by c ′ = r xor h ′. Here, xor represents an exclusive OR operation.
(8) After converting U 0 into an octet string, ciphertext c = U 0 ‖c ′ and session key k are output.
〔復号化機能〕
秘密鍵S=s0、暗号文c、ベースポイントP0とその位数pを入力とし、セッション鍵k(又は復号失敗を示す情報)を出力する。
(1)暗号文c=U0‖c´を、U0と長さhLenオクテットのc´とに分割する。
(2)U0を楕円曲線E上の点に変換した上で、Q=s0・U0を計算する。
(3)Qをオクテット列に変換した上で、長さhLenオクテットのh´を
h´=KDF(0x00000001‖U0‖Q)により計算する。
(4)長さhLenオクテットのrをr=c´xor h´により計算する。
(5)長さzLen+keyLenオクテットのhをh=KDF(0x00000000‖r)により計算 する。
(6)h=z‖kとして、hを長さzLenオクテットのzと長さkeyLenオクテットのkとに分割する。
(7)zを整数に変換した上で、α=z mod pを計算する。
(8)U0=α・P0が成立するか否かをチェックし、成立すればセッション鍵kを出力し、成立しなければ"INVALID"等の復号失敗を示す情報を出力する。
[Decryption function]
The secret key S = s 0 , the ciphertext c, the base point P 0 and its order p are input, and the session key k (or information indicating decryption failure) is output.
(1) The ciphertext c = U 0 ‖c ′ is divided into U 0 and c ′ of length hLen octets.
(2) After converting U 0 to a point on the elliptic curve E, Q = s 0 · U 0 is calculated.
(3) After converting Q into an octet string, the length hLen octet h ′ is calculated by h ′ = KDF (0x00000001‖U 0 ‖Q).
(4) Calculate r of length hLen octets by r = c′xor h ′.
(5) Calculate the length zLen + keyLen octet h by h = KDF (0x00000000‖r).
(6) With h = z‖k, divide h into z of length zLen octets and k of length keyLen octets.
(7) After converting z into an integer, α = z mod p is calculated.
(8) It is checked whether U 0 = α · P 0 is established. If it is established, the session key k is output, and if it is not established, information indicating a decryption failure such as “INVALID” is output.
以上説明したPSEC−KEMは、楕円曲線暗号による一般的な公開鍵暗号方式をKEM−DEM構成に対応させる技術、すなわちKEM化する技術である。もし階層型IDベース暗号方式についても図1に示すようにKEM化することができれば、平文の暗号化は共通鍵暗号により行われるため、任意長の平文を暗号化することが可能となる。本発明の目的は、PSEC−KEMを階層型IDベース暗号方式に応用し、KEM化された階層型IDベース暗号化装置及び復号化装置を実現することにある。 The PSEC-KEM described above is a technology that makes a general public key cryptosystem based on elliptic curve cryptography correspond to a KEM-DEM configuration, that is, a KEM technology. If the hierarchical ID-based encryption method can also be converted to KEM as shown in FIG. 1, since plaintext encryption is performed by common key encryption, it is possible to encrypt plaintext of arbitrary length. An object of the present invention is to apply a PSEC-KEM to a hierarchical ID-based encryption method and realize a hierarchical ID-based encryption device and a decryption device that are converted into a KEM.
本発明の階層型IDベース暗号化装置は、乱数生成部と第1ハッシュ計算部と分割部とα計算部とP計算部とU計算部とQ計算部と第2ハッシュ計算部と暗号文計算部とから構成される。 The hierarchical ID-based encryption apparatus according to the present invention includes a random number generator, a first hash calculator, a divider, an α calculator, a P calculator, a U calculator, a Q calculator, a second hash calculator, and a ciphertext calculation. It consists of parts.
乱数生成部は、所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する。 The random number generator generates and outputs a random value rε {0, 1, 2,..., P−1} having a predetermined length hLen octets.
第1ハッシュ計算部は、rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長)により計算して出力する。
The first hash calculation unit receives r and uses an arbitrary one-way function hash 1 to calculate the length zLen + keyLen octet h,
h = hash 1 (r)
(ZLen and keyLen are predetermined octet lengths) and output.
分割部は、hが入力され、h=z‖k(‖は連結を表す)であるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する。 The dividing unit divides the data into z of length zLen octets and a session key k of length keyLen octets and outputs them, assuming that h is input and h = z‖k (‖ represents concatenation).
α計算部は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する。 The α calculation unit receives z and the public parameter p, converts z to an integer, calculates α by α = z mod p, and outputs it.
P計算部は、ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算して出力する。
The P calculation unit receives ID information sets id 0 , id 1 , id 2 ,..., Id t , and uses a function IDenc that maps a character string to a point on the elliptic curve E, P 1 , P 2 , ..., P t
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (1 ≦ i ≦ t)
Calculate and output by
U計算部は、P2、P3、・・・、Ptとαと公開パラメータP0とが入力され、U0、U2、U3、・・・、Utをそれぞれ、
Uj=α・Pj (j=0又は2≦j≦t)
により計算して出力する。
U calculator, P 2, P 3, · · ·, and the P t and α and public parameter P 0 is input, U 0, U 2, U 3, · · ·, a U t, respectively,
U j = α · P j (j = 0 or 2 ≦ j ≦ t)
Calculate and output by
Q計算部は、P1とαと公開パラメータQ0とが入力され、任意のペアリング関数eを用いてQを、
Q=e(Q0 、P1 )α
により計算して出力する。
The Q calculation unit receives P 1 , α, and the public parameter Q 0, and uses an arbitrary pairing function e to calculate Q,
Q = e (Q 0 , P 1 ) α
Calculate and output by
第2ハッシュ計算部は、rとU0、U2、U3、・・・、UtとQと受信者のID情報組id0、id1、id2、・・・、idtとが入力され、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのc´を、
c´=rxor hash2(U0‖U2‖・・・‖Ut ‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す)により計算して出力する。
Second hash calculation unit, r and U 0, U 2, U 3 , ···, ID information of the recipients and U t and Q sets id 0, id 1, id 2 , ···, and the id t Input U 0 , U 2 , U 3 ,..., U t and Q into an octet sequence, and then c ′ of a length hLen octet using an arbitrary one-way function hash 2 ,
c ′ = rxor hash 2 (U 0 ‖U 2 ‖ ... ‖ U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
(Xor represents exclusive OR operation) and output.
暗号文計算部は、U0、U2、U3、・・・、Utとc´とが入力され、U0、U2、U3、・・・、Utをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する。
The ciphertext calculation unit receives U 0 , U 2 , U 3 ,..., U t and c ′ and converts U 0 , U 2 , U 3 ,..., U t into an octet string. The ciphertext c above,
c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′
Calculate and output by
また、本発明の階層型IDベース復号化装置は、第1分割部とQ計算部と第2ハッシュ計算部と第1ハッシュ計算部と第2分割部とα計算部とP計算部と検証部とから構成される。 The hierarchical ID-based decoding apparatus of the present invention includes a first dividing unit, a Q calculating unit, a second hash calculating unit, a first hash calculating unit, a second dividing unit, an α calculating unit, a P calculating unit, and a verifying unit. It consists of.
第1分割部は、暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する。 The first division unit receives the ciphertext c and assumes that c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′, c ′ of length hLen octets, the rest is t, etc. Divided into divided U 0 , U 2 , U 3 ,..., U t .
Q計算部は、U0、U2、U3、・・・、Utと所定の方法により予め生成された秘密鍵St、Q1、Q2、・・・、Qt-1とが入力され、U0、U2、U3、・・・、Utを楕円曲線E上の点に変換した上でペアリング関数eを用いてQを、
第2ハッシュ計算部は、U0、U2、U3、・・・、Utとc´とQとID情報組id0、id1、id2、・・・、idtとが入力され、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で一方向関数hash2を用いて長さhLenオクテットのrを、
r=c´xor hash2(U0‖U2‖U3‖・・・‖Ut ‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表し、‖は連結を表す)により計算して出力する。
r = c'xor hash 2 (U 0 ‖U 2 ‖U 3 ‖ ・ ・ ・ ‖U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
(Xor represents exclusive OR operation, and ‖ represents concatenation).
第1ハッシュ計算部は、rとID情報組id0、id1、id2、・・・、idtとが入力され、一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長)により計算して出力する。
The first hash calculator receives r and an ID information set id 0 , id 1 , id 2 ,..., Id t, and uses the one-way function hash 1 to set the length zLen + keyLen octet h,
h = hash 1 (r)
(ZLen and keyLen are predetermined octet lengths) and output.
第2分割部は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する。 The second dividing unit divides and outputs z of length zLen octets and session key k of length keyLen octets, assuming that h is input and h = z‖k.
α計算部は、zとpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する。 The α calculation unit receives z and p, converts z to an integer, calculates α by α = z mod p, and outputs it.
P計算部は、ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算して出力する。
The P calculation unit receives ID information sets id 0 , id 1 , id 2 ,..., Id t , and uses a function IDenc that maps a character string to a point on the elliptic curve E, P 2 , P 3 , ..., P t
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (2 ≦ i ≦ t)
Calculate and output by
検証部は、P0、P2、P3、・・・、Ptとαとセッション鍵kとが入力され、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証する。そして、一致した場合にはセッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する。 The verification unit receives P 0 , P 2 , P 3 ,..., Pt , α, and the session key k, and α · P 0 , α · P 2 , α · P 3 ,. Calculate P t and verify whether it matches U 0 , U 2 , U 3 ,..., U t , respectively. If they match, the session key k is output, and if they do not match, information indicating decryption failure is output.
本発明の階層型IDベース暗号化装置及び復号化装置により、階層型IDベース暗号方式をKEM化することができるため、任意長の平文を暗号化することが可能となる。 Since the hierarchical ID-based encryption apparatus and the decryption apparatus of the present invention can KEM the hierarchical ID-based encryption method, it is possible to encrypt plain text of any length.
上記の背景技術でも記したとおり、階層型IDベース暗号方式は、トポロジー面ではルートを頂点に、割り付けられた受信者に対して秘密鍵を発行するノードが、階層的に複数配置されることを特徴とし、機能面では初期設定、鍵生成、暗号化、復号化の4つの機能から構成されることを特徴とするが、本発明においてもこれらの特徴は同様である。 As described in the background art above, the hierarchical ID-based cryptosystem is configured such that a plurality of nodes that issue secret keys to assigned recipients are arranged hierarchically with the root at the top in terms of topology. In terms of functions, it is characterized by comprising four functions of initial setting, key generation, encryption, and decryption, but these characteristics are also the same in the present invention.
4つの機能のうち、KEM化にかかわる部分は暗号化機能と復号化機能であり、本発明はこれらの機能にPSEC−KEMの技術を応用したものである。以下、各機能について説明する。なお、初期設定機能と鍵生成機能については、従来技術と同様であり、それらの機能における入出力及び処理は上記背景技術にて示したとおりであるため、ここでは説明を省略する。 Of the four functions, the parts related to KEM are an encryption function and a decryption function, and the present invention applies the technology of PSEC-KEM to these functions. Each function will be described below. Note that the initial setting function and the key generation function are the same as those in the prior art, and input / output and processing in those functions are as described in the background art above, and thus description thereof is omitted here.
≪暗号化≫
本発明の階層型IDベース暗号化装置100の機能構成例を図2に、処理フロー例を図3にそれぞれ示す。本発明の階層型IDベース暗号化装置100は、乱数生成部101と第1ハッシュ計算部102と分割部103とα計算部104とP計算部105とU計算部106とQ計算部107と第2ハッシュ計算部108と暗号文計算部109とから構成される。
≪Encryption≫
FIG. 2 shows an example of the functional configuration of the hierarchical ID-based
乱数生成部101は、所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する(S1)。安全性の確保にあたり、hLenは16オクテット以上が目安となるが、可能であれば32オクテット以上とすることが望ましい。
The random
第1ハッシュ計算部102は、rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、h=hash1(r)により計算して出力する(S2)。ここで、zLen、keyLenはそれぞれ所定のオクテット長である。安全性の確保にあたり、zLenは36オクテット以上が目安となるが、可能であれば48オクテット以上とすることが望ましい。また、セッション鍵長にあたるkeyLenは32オクテット以上とすることが望ましい。
The first
なおhは、h=hash1(r‖id0‖id1‖id2‖・・・‖idt)により計算してもよい。この場合は、第1ハッシュ計算部102には受信者のID情報組id0、id1、id2、・・・、idtが更に入力され、また、復号側の第1ハッシュ計算部204においてもhをh=hash1(r‖id0‖id1‖id2‖・・・‖idt)により計算する。
Note that h may be calculated by h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖... ‖Id t ). In this case, the ID information sets id 0 , id 1 , id 2 ,..., Id t of the receiver are further input to the first
分割部103は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する(S3)。ここで出力されたセッション鍵kが、受信者と共有するセッション鍵である。
Dividing
α計算部104は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する(S4)。
The
P計算部105は、受信者のID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算して出力する(S5)。
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (1 ≦ i ≦ t)
Is calculated and output (S5).
U計算部106は、P2、P3、・・・、Ptとαと公開パラメータP0とが入力され、U0、U2、U3、・・・、Utをそれぞれ、
Uj=α・Pj (j=0又は2≦j≦t)
により計算して出力する(S6)。
U j = α · P j (j = 0 or 2 ≦ j ≦ t)
Is calculated and output (S6).
Q計算部107は、P1とαと公開パラメータQ0とが入力され、任意のペアリング関数eを用いてQを、Q=e(Q0 、P1 )αにより計算して出力する(S7)。
The
第2ハッシュ計算部108は、rとU0、U2、U3、・・・、UtとQと受信者のID情報組id0、id1、id2、・・・、idtとが入力され、Uj、Qをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのc´を、
c´=rxor hash2(U0‖U2‖・・・‖Ut ‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す)により計算して出力する(S8)。
Second
c ′ = rxor hash 2 (U 0 ‖U 2 ‖ ... ‖ U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
(Xor represents an exclusive OR operation) is calculated and output (S8).
暗号文計算部109は、U0、U2、U3、・・・、Utとc´とが入力され、Ujをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する(S9)。
The
c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′
Is calculated and output (S9).
≪復号化≫
本発明の階層型IDベース復号化装置200の機能構成例を図4に、処理フロー例を図5にそれぞれ示す。本発明の階層型IDベース復号化装置200は、第1分割部201とQ計算部202と第2ハッシュ計算部203と第1ハッシュ計算部204と第2分割部205とα計算部206とP計算部207と検証部208とから構成される。階層型IDベース復号化装置200は、上記の背景技術にて説明した鍵生成機能により予め生成された秘密鍵(St、Q1、Q2、・・・、Qt-1)を上位ノードから入手して処理を行う。
≪Decryption≫
FIG. 4 shows an example of the functional configuration of the hierarchical ID-based
第1分割部201は、暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する(S11)。
The
Q計算部202は、U0、U2、U3、・・・、Utと秘密鍵St、Q1、Q2、・・・、Qt-1とが入力され、Ujを楕円曲線E上の点に変換した上でペアリング関数eを用いてQを、
第2ハッシュ計算部203は、U0、U2、U3、・・・、Utとc´とQとID情報組id0、id1、id2、・・・、idtとが入力され、Qをオクテット列に変換した上で一方向関数hash2を用いて長さhLenオクテットのrを、
r=c´xor hash2(U0‖U2‖U3‖・・・‖Ut‖Q‖id0‖id1‖id2‖・・・‖idt)
により計算して出力する(S13)。
Second
r = c'xor hash 2 (U 0 ‖U 2 ‖U 3 ‖ ・ ・ ・ ‖U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
Is calculated and output (S13).
第1ハッシュ計算部204は、rが入力され、一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
により計算して出力する(S14)。
The first
h = hash 1 (r)
Is calculated and output (S14).
なお、送信側の第1ハッシュ計算部102において、hをh=hash1(r‖id0‖id1‖id2‖・・・‖idt)により計算した場合には、第2ハッシュ計算部204においても受信者のID情報組id0、id1、id2、・・・、idtが更に入力され、hをh=hash1(r‖id0‖id1‖id2‖・・・‖idt)により計算する。
When h is calculated by h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖... ‖Id t ) in the first
第2分割部205は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する(S15)。
The
α計算部206は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する(S16)。
The
P計算部207は、受信者のID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算して出力する(S17)。
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (2 ≦ i ≦ t)
Is calculated and output (S17).
検証部208は、P2、P3、・・・、Ptとαと公開パラメータP0とセッション鍵kとが入力され、まず、α・P0、α・P2、α・P3、・・・、α・Ptを計算する(S18a)。そして、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証し、一致した場合には真正なセッション鍵であると判断してセッション鍵kを出力し、不一致の場合には不真正な暗号文であると判断し、セッション鍵kを出力せずに"INVALID"などの復号失敗を表す情報を出力する(S18b)。 The verification unit 208 receives P 2 , P 3 ,..., P t and α, the public parameter P 0, and the session key k. First, α · P 0 , α · P 2 , α · P 3 , ... Α · P t is calculated (S18a). Then, it is verified whether or not each of U 0 , U 2 , U 3 ,..., U t matches, and if they match, it is determined that the session key is authentic and a session key k is output. If they do not match, it is determined that the ciphertext is an authentic ciphertext, and information indicating decryption failure such as “INVALID” is output without outputting the session key k (S18b).
以上のように構成することで、階層型IDベース暗号化装置及び復号化装置をKEM化することができ、送信者と受信者双方でセッション鍵kを共有することができる。そのため、このセッション鍵kを用いて平文の暗号化を行うことで、階層型IDベース暗号の利点を生かしつつ、暗号化する平文長の制約を無くすことができる。 By configuring as described above, the hierarchical ID-based encryption device and the decryption device can be converted to KEM, and the session key k can be shared by both the sender and the receiver. Therefore, by encrypting plaintext using this session key k, it is possible to eliminate the restriction on the length of plaintext to be encrypted while taking advantage of the hierarchical ID-based encryption.
本発明における階層型IDベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行してもよい。 The hierarchical ID-based encryption device and decryption device, the method, the program, and the recording medium in the present invention are not limited to the above-described embodiments, and can be appropriately changed without departing from the present invention. . In addition, the processes described above are not only executed in time series according to the order of description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.
また、階層型IDベース暗号化装置及び復号化装置における処理機能をコンピュータによって実現する場合、階層型IDベース暗号化装置及び復号化装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより上記階層型IDベース暗号化装置及び復号化装置における処理機能がコンピュータ上で実現される。 Further, when the processing functions in the hierarchical ID-based encryption device and the decryption device are realized by a computer, the processing contents of the functions that the hierarchical ID-based encryption device and the decryption device should have are described by a program. Then, by executing this program on a computer, the processing functions of the hierarchical ID-based encryption device and the decryption device are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magnet-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory). ), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magnet-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
また、このプログラムの流通は、例えば、このプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等をすることによって行う。更に、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介してサーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be distributed by storing the program in a recording device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦自己の記録装置に格納する。そして、処理の実行時、このコンピュータは自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータからこのコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって上記の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。また、この形態ではコンピュータ上で所定のプログラムを実行させることにより、階層型IDベース暗号化装置及び復号化装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its recording device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Further, the program may not be transferred from the server computer to the computer, and the above processing may be executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. Good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer). In this embodiment, the hierarchical ID-based encryption device and the decryption device are configured by executing a predetermined program on the computer. However, at least a part of these processing contents is realized by hardware. It is good to do.
Claims (9)
所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する乱数生成部と、
上記rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長。)により計算して出力する第1ハッシュ計算部と、
上記hが入力され、h=z‖k(‖は連結を表す。)であるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する分割部と、
上記zと上記pとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力するα計算部と、
上記ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算して出力するP計算部と、
上記P0、P2、P3、・・・、Ptと上記αとが入力され、U0、U2、U3、・・・、Utをそれぞれ、
Uj=α・Pj (j=0又は2≦j≦t)
により計算して出力するU計算部と、
上記Q0と上記P1と上記αとが入力され、任意のペアリング関数eを用いてQを、
Q=e(Q0 、P1 )α
により計算して出力するQ計算部と、
上記rと上記U0、U2、U3、・・・、Utと上記Qと上記ID情報組id0、id1、id2、・・・、idtとが入力され、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのc´を、
c´=rxor hash2(U0‖U2‖・・・‖Ut‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す。)により計算して出力する第2ハッシュ計算部と、
上記U0、U2、U3、・・・、Utと上記c´とが入力され、U0、U2、U3、・・・、Utをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する暗号文計算部と、
を備えることを特徴とする階層型IDベース暗号化装置。 A point P 0 on the elliptic curve E defined on the finite field F q and its order p, and Q 0 = s 0 · P 0 (s 0 ∈ {0, 1, 2,..., P−1} and Q 0 calculated by), ID information set id 0 is an arbitrary string, id 1, id 2, ··· , id t (t hierarchy number of nodes to which the ID information set belongs, t ≧ 1 ), And outputs a ciphertext c and a session key k.
A random number generator for generating and outputting a random value rε {0, 1, 2,..., P−1} of a predetermined length hLen octets;
The above r is input, and the length zLen + keyLen octet h is set using an arbitrary one-way function hash 1 .
h = hash 1 (r)
(Where zLen and keyLen are predetermined octet lengths)
Assuming that h is input and h = z‖k (‖ represents concatenation), a dividing unit that divides and outputs z of length zLen octets and session key k of length keyLen octets,
An α calculation unit that inputs z and p, converts z to an integer, calculates α by α = z mod p, and outputs it;
The ID information sets id 0 , id 1 , id 2 ,..., Id t are input and P 1 , P 2 ,..., Using the function IDenc that maps the character string to a point on the elliptic curve E. P t respectively
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (1 ≦ i ≦ t)
A P calculation unit that calculates and outputs according to
The P 0, P 2, P 3 , ···, are inputted and P t and the α, U 0, U 2, U 3, ···, a U t, respectively,
U j = α · P j (j = 0 or 2 ≦ j ≦ t)
A U calculation unit that calculates and outputs by
Q 0 , P 1, and α are input, and Q is set using an arbitrary pairing function e.
Q = e (Q 0 , P 1 ) α
A Q calculation unit that calculates and outputs according to
The r and the U 0, U 2, U 3 , ···, U t and the Q and the ID information set id 0, id 1, id 2 , ···, and the id t is input, U 0, U 2 , U 3 ,..., U t and Q are converted into an octet sequence, and an arbitrary one-way function hash 2 is used to set c ′ of a length hLen octet,
c ′ = rxor hash 2 (U 0 ‖U 2 ‖ ... ‖ U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
(Where xor represents an exclusive OR operation)
Said U 0, U 2, U 3 , ···, and U t and the c'are input, U 0, U 2, U 3, ···, ciphertext on converting the U t octet string c
c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′
A ciphertext calculation unit that calculates and outputs by
A hierarchical ID-based encryption apparatus comprising:
上記第1ハッシュ計算部は、更に上記ID情報組id0、id1、id2、・・・、idtが入力され、hを、
h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
により計算することを特徴とする階層型IDベース暗号化装置。 In the hierarchical ID-based encryption device according to claim 1,
The first hash calculator further receives the ID information sets id 0 , id 1 , id 2 ,..., Id t , and sets h to
h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖ ・ ・ ・ ‖id t )
A hierarchical ID-based encryption apparatus characterized by the following calculation:
上記暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´(‖は連結を表す。)であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する第1分割部と、
上記秘密鍵St、Q1、Q2、・・・、Qt-1と上記U0、U2、U3、・・・、Utとが入力され、U0、U2、U3、・・・、Utを楕円曲線E上の点に変換した上で任意のペアリング関数eを用いてQを、
上記U0、U2、U3、・・・、Utと、上記c´と、上記Qと、上記ID情報組id0、id1、id2、・・・、idtとが入力され、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのrを、
r=c´xor hash2(U0‖U2‖U3‖・・・‖Ut‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す。)により計算して出力する第2ハッシュ計算部と、
上記rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長。)により計算して出力する第1ハッシュ計算部と、
上記hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する第2分割部と、
上記zと上記pとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力するα計算部と、
上記ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算して出力するP計算部と、
上記P0、P2、P3、・・・、Ptと上記αと上記セッション鍵kとが入力され、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証して、一致した場合には上記セッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する検証部と、
を備えることを特徴とする階層型IDベース復号化装置。 A point P 0 on the elliptic curve E defined on the finite field F q and its order p, and an ID information set id 0 , id 1 , id 2 ,..., Id t (t Is the number of hierarchies of the node to which the ID information set belongs, t ≧ 1), and secret keys St , Q 1 , Q 2 ,..., Q corresponding to the ID information set generated in advance by a predetermined method. Hierarchical ID-based decryption that receives t-1 (S t , Q 1 , Q 2 ,..., Q t-1 are points on the elliptic curve E) and ciphertext c and outputs a session key k Device.
The ciphertext c is input, and c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′ (where ‖ represents concatenation), c ′ of length hLen octets, and the rest Is divided into U equal parts t, U 0 , U 2 , U 3 ,..., U t ;
The secret keys S t , Q 1 , Q 2 ,..., Q t-1 and the U 0 , U 2 , U 3 ,..., U t are input, and U 0 , U 2 , U 3 are input. ,..., U t is converted to a point on the elliptic curve E, and Q is set using an arbitrary pairing function e.
It said U 0, U 2, U 3 , ···, and U t, and the c', and the Q, the ID information set id 0, id 1, id 2 , ···, and the id t is input , U 0 , U 2 , U 3 ,..., U t and Q are converted into octet sequences, and an arbitrary one-way function hash 2 is used to calculate r of length hLen octets,
r = c'xor hash 2 (U 0 ‖U 2 ‖U 3 ‖ ・ ・ ・ ‖U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
(Where xor represents an exclusive OR operation)
The above r is input, and the length zLen + keyLen octet h is set using an arbitrary one-way function hash 1 .
h = hash 1 (r)
(Where zLen and keyLen are predetermined octet lengths)
Assuming that h is input and h = z‖k, a second dividing unit that divides and outputs z of length zLen octets and session key k of length keyLen octets,
An α calculation unit that inputs z and p, converts z to an integer, calculates α by α = z mod p, and outputs it;
The ID information sets id 0 , id 1 , id 2 ,..., Id t are input, and P 2 , P 3 ,..., Using a function IDenc that maps a character string to a point on the elliptic curve E. P t respectively
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (2 ≦ i ≦ t)
A P calculation unit that calculates and outputs according to
P 0 , P 2 , P 3 ,..., P t , α and the session key k are input, and α · P 0 , α · P 2 , α · P 3 ,. P t is calculated, and it is verified whether or not it matches U 0 , U 2 , U 3 ,..., U t . A verification unit that outputs information indicating decryption failure in the case,
A hierarchical ID-based decoding device comprising:
上記第1ハッシュ計算部は、更に上記ID情報組id0、id1、id2、・・・、idtが入力され、hを、
h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
により計算することを特徴とする階層型IDベース復号化装置。 The hierarchical ID-based decoding device according to claim 3,
The first hash calculator further receives the ID information sets id 0 , id 1 , id 2 ,..., Id t , and sets h to
h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖ ・ ・ ・ ‖id t )
A hierarchical ID-based decoding device characterized by the following calculation:
乱数生成部が、所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成する乱数生成ステップと、
第1ハッシュ計算部が、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
または
h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
(zLen、keyLenはそれぞれ所定のオクテット長、‖は連結を表す。)により計算する第1ハッシュ計算ステップと、
分割部が、上記hをh=z‖kであるとして、長さzLenオクテットのzと長さkeyLenオクテットのセッション鍵kとに分割する分割ステップと、
α計算部が、zを整数に変換した上でαをα=z mod pにより計算するα計算ステップと、
P計算部が、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算するP計算ステップと、
U計算部が、U0、U2、U3、・・・、Utをそれぞれ、
Uj=α・Pj (j=0又は2≦j≦t)
により計算するU計算ステップと、
Q計算部が、任意のペアリング関数eを用いてQを、
Q=e(Q0 、P1 )α
により計算するQ計算ステップと、
第2ハッシュ計算部が、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのc´を、
c´=rxor hash2(U0‖U2‖・・・‖Ut ‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す。)により計算する第2ハッシュ計算ステップと、
暗号文計算部が、U0、U2、U3、・・・、Utをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算する暗号文計算ステップと、
を実行することを特徴とする階層型IDベース暗号化方法。 A point P 0 on the elliptic curve E defined on the finite field F q and its order p, and Q 0 = s 0 · P 0 (s 0 ∈ {0, 1, 2,..., P−1) and Q 0 calculated by}), ID information set id 0 is an arbitrary string, id 1, id 2, ··· , id t (t hierarchy number of nodes to which the ID information set belongs, t ≧ 1), a hierarchical ID-based encryption method for obtaining a ciphertext c and a session key k,
A random number generation step in which a random number generation unit generates a random value rε {0, 1, 2,..., P−1} of a predetermined length hLen octets;
The first hash calculator uses an arbitrary one-way function hash 1 to calculate the length zLen + keyLen octet h,
h = hash 1 (r)
Or h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖ ・ ・ ・ ‖id t )
A first hash calculation step calculated by (zLen and keyLen are respectively predetermined octet lengths and ‖ represents concatenation);
A dividing step in which the dividing unit divides the above h into z of length zLen octets and session key k of length keyLen octets, assuming that h = z‖k;
an α calculating step in which an α calculating unit converts z to an integer and then calculates α by α = z mod p;
The P calculation unit converts P 1 , P 2 ,..., P t using the function IDenc that maps the character string to a point on the elliptic curve E, respectively.
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (1 ≦ i ≦ t)
A P calculation step to calculate according to
U calculation unit, U 0, U 2, U 3, · · ·, a U t, respectively,
U j = α · P j (j = 0 or 2 ≦ j ≦ t)
A U-calculation step to calculate according to
The Q calculation unit calculates Q using an arbitrary pairing function e,
Q = e (Q 0 , P 1 ) α
Q calculation step to calculate according to
The second hash calculator converts U 0 , U 2 , U 3 ,..., U t and Q into an octet sequence, and then uses the arbitrary one-way function hash 2 to calculate c ′ of the length hLen octet. ,
c ′ = rxor hash 2 (U 0 ‖U 2 ‖ ... ‖ U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
A second hash calculation step to calculate by (xor represents an exclusive OR operation);
The ciphertext calculation unit converts U 0 , U 2 , U 3 ,..., U t into an octet string, and then converts the ciphertext c to
c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′
A ciphertext calculation step calculated by
A hierarchical ID-based encryption method comprising:
第1分割部が、上記暗号文cがc=U0‖U2‖U3‖・・・‖Ut‖c´(‖は連結を表す。)であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する第1分割ステップと、
Q計算部が、U0、U2、U3、・・・、Utを楕円曲線E上の点に変換した上で任意のペアリング関数eを用いてQを、
第2ハッシュ計算部が、U0、U2、U3、・・・、UtとQをオクテット列に変換した上で任意の一方向関数hash2を用いて長さhLenオクテットのrを、
r=c´xor hash2(U0‖U2‖U3‖・・・‖Ut ‖Q‖id0‖id1‖id2‖・・・‖idt)
(xorは排他的論理和演算を表す。)により計算する第2ハッシュ計算ステップと、
第1ハッシュ計算部が、一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
または
h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
(zLen、keyLenはそれぞれ所定のオクテット長。)により計算する第1ハッシュ計算ステップと、
第2分割部が、上記hをh=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割する第2分割ステップと、
α計算部が、zを整数に変換した上でαをα=z mod pにより計算するα計算ステップと、
P計算部が、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
Pi=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算するP計算ステップと、
検証部が、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証して、一致した場合には上記セッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する検証ステップと、
を実行することを特徴とする階層型IDベース復号化方法。 A point P 0 on the elliptic curve E defined on the finite field F q and its order p, and an ID information set id 0 , id 1 , id 2 ,..., Id t (t Is the number of hierarchies of the node to which the ID information set belongs, t ≧ 1), and secret keys St , Q 1 , Q 2 ,..., Q corresponding to the ID information set generated in advance by a predetermined method. A hierarchical ID-based decryption method for obtaining a session key k from t-1 (S t , Q 1 , Q 2 ,..., Q t-1 is a point on the elliptic curve E) and ciphertext c. There,
The first dividing unit assumes that the ciphertext c is c = U 0 ‖U 2 ‖U 3 ‖... ‖U t ‖c ′ (where ‖ represents concatenation) and c ′ of length hLen octets. When a first division step of dividing the remaining U that t equal 0, U 2, U 3, · · ·, to the U t,
The Q calculation unit converts U 0 , U 2 , U 3 ,..., U t into points on the elliptic curve E, and then uses an arbitrary pairing function e to calculate Q,
The second hash calculator converts U 0 , U 2 , U 3 ,..., U t and Q into an octet sequence, and then uses an arbitrary one-way function hash 2 to calculate r of length hLen octets,
r = c'xor hash 2 (U 0 ‖U 2 ‖U 3 ‖ ・ ・ ・ ‖U t ‖Q‖id 0 ‖id 1 ‖id 2 ‖ ... ‖id t )
A second hash calculation step to calculate by (xor represents an exclusive OR operation);
The first hash calculator uses the one-way function hash 1 to calculate the length zLen + keyLen octet h,
h = hash 1 (r)
Or h = hash 1 (r‖id 0 ‖id 1 ‖id 2 ‖ ・ ・ ・ ‖id t )
A first hash calculation step of calculating according to (zLen and keyLen are respectively predetermined octet lengths);
A second dividing step in which the second dividing unit divides z into a length zLen octet z and a length keyLen octet session key k, assuming that h is h = z‖k;
an α calculating step in which an α calculating unit converts z to an integer and then calculates α by α = z mod p;
The P calculation unit converts P 2 , P 3 ,..., P t using the function IDenc that maps the character string to a point on the elliptic curve E, respectively.
P i = IDenc (id 0 ‖id 1 ‖... ‖Id i ) (2 ≦ i ≦ t)
A P calculation step to calculate according to
Verification unit, α · P 0, α · P 2, α · P 3, ···, to calculate the α · P t, respectively U 0, U 2, U 3 , ···, consistent with U t A verification step of outputting the session key k if they match, and outputting information indicating decryption failure if they do not match,
A hierarchical ID-based decoding method characterized by executing:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008329776A JP5097102B2 (en) | 2008-12-25 | 2008-12-25 | Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008329776A JP5097102B2 (en) | 2008-12-25 | 2008-12-25 | Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010154193A JP2010154193A (en) | 2010-07-08 |
JP5097102B2 true JP5097102B2 (en) | 2012-12-12 |
Family
ID=42572754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008329776A Expired - Fee Related JP5097102B2 (en) | 2008-12-25 | 2008-12-25 | Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5097102B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5643251B2 (en) * | 2012-03-30 | 2014-12-17 | 日本電信電話株式会社 | Confidential information notification system, confidential information notification method, program |
US10686604B2 (en) | 2013-10-16 | 2020-06-16 | Nippon Telegraph And Telephone Corporation | Key device, key cloud system, decryption method, and program |
CN111541532B (en) * | 2020-04-07 | 2023-05-26 | 陕西师范大学 | Certificate-free key packaging method for resisting leakage of bounded secret information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113594B2 (en) * | 2001-08-13 | 2006-09-26 | The Board Of Trustees Of The Leland Stanford University | Systems and methods for identity-based encryption and related cryptographic techniques |
FR2898747A1 (en) * | 2006-03-15 | 2007-09-21 | Gemplus Sa | DECHIFFRABLE CHERCHABLE ENCRYPTION PROCESS, SYSTEM FOR SUCH ENCRYPTION |
JP4869824B2 (en) * | 2006-08-08 | 2012-02-08 | 三菱電機株式会社 | Receiver device, sender device, cryptographic communication system, and program |
-
2008
- 2008-12-25 JP JP2008329776A patent/JP5097102B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010154193A (en) | 2010-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108352015B (en) | Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems | |
US7657037B2 (en) | Apparatus and method for identity-based encryption within a conventional public-key infrastructure | |
JP5349619B2 (en) | Identity-based authentication key agreement protocol | |
JP4546231B2 (en) | ID-based signature and encryption system and method | |
TWI444030B (en) | Method for keys generation, member authentication and security communication in a dynamic group | |
CN104821880B (en) | One kind is without certificate broad sense agent signcryption method | |
Chen et al. | Public-key quantum digital signature scheme with one-time pad private-key | |
JP2003298568A (en) | Authenticated identification-based cryptosystem with no key escrow | |
US9698984B2 (en) | Re-encrypted data verification program, re-encryption apparatus and re-encryption system | |
CN111415718A (en) | Electronic prescription sharing method based on block chain and conditional proxy re-encryption | |
JP2004015241A (en) | Encryption communication system, terminal apparatus and server therefor, and decoding method | |
JP2004208262A (en) | Apparatus and method of ring signature based on id employing bilinear pairing | |
CN107086912B (en) | Ciphertext conversion method, decryption method and system in heterogeneous storage system | |
CN106713349B (en) | Inter-group proxy re-encryption method capable of resisting attack of selecting cipher text | |
CN102970144A (en) | Identity-based authentication method | |
KR20200040248A (en) | Computer-implemented system and method for highly secure, high-speed encryption and transmission of data | |
CN112733177A (en) | Hierarchical identification password encryption method based on global hash | |
JP5079479B2 (en) | ID-based encryption system and method | |
CN106453253A (en) | Efficient identity-based concealed signcryption method | |
JP5097102B2 (en) | Hierarchical ID-based encryption device and decryption device, method thereof, program, and recording medium | |
CN107682158A (en) | It is a kind of can trustship authentication encryption method | |
Qin et al. | Strongly secure and cost-effective certificateless proxy re-encryption scheme for data sharing in cloud computing | |
JP4843511B2 (en) | Broadcast encryption method, information decryption method, apparatus thereof, program thereof, and recording medium thereof | |
CN116232568A (en) | SM 9-based attribute-based encryption block chain access control method | |
Callas | Identity-based encryption with conventional public-key infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110228 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120911 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5097102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |