JP5097102B2 - 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体 - Google Patents

階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体 Download PDF

Info

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
Application number
JP2008329776A
Other languages
English (en)
Other versions
JP2010154193A (ja
Inventor
鉄太郎 小林
美也子 大久保
高橋  元
盛 知加良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008329776A priority Critical patent/JP5097102B2/ja
Publication of JP2010154193A publication Critical patent/JP2010154193A/ja
Application granted granted Critical
Publication of JP5097102B2 publication Critical patent/JP5097102B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データを暗号化する装置に関し、特に公開鍵暗号の暗号鍵として周知のユーザ情報を利用する階層型IDベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体に関する。
IDベース暗号方式は、公開鍵暗号方式の公開鍵として、受信者のIDやEメールアドレスなど一意に受信者を識別できる周知の個人情報を用いる公開鍵暗号方式の応用技術である。公開鍵として周知の個人情報を用いるため、一般的な公開鍵暗号方式のように公開鍵の真正性を(公開鍵証明書により)確認する必要が無く利便性に優れている。しかし、IDベース暗号方式は、鍵生成センタ(以下、「ノード」という。)が秘密鍵の生成を担う方式であるところ、秘密鍵の生成を要求する受信者の認証、秘密鍵の生成、及び受信者への秘密鍵の安全な配布などの各処理を1つのノードが一手に担うことになるため、ユーザの増大により、いずれはノードの処理能力の限界に達し、それ以上はユーザを増やせなくなってしまうという問題があった。
そこで、ノードを階層的に複数配置することで、各ノードに受信者(のID)を適宜割り付けることによりノードにかかる負荷の分散を図ることができ、かつ、ノードの増設も容易にできる階層型IDベース暗号方式が考案された(非特許文献1参照)。以下、その概要について説明する。
階層型IDベース暗号方式においては、最上位のノード(以下、「ルート」という。)の傘下の各ノードに割り付けられた受信者の(IDに対応する)秘密鍵は、基本的には当該受信者が割り付けられたノードの親ノードが、当該受信者のIDと当該親ノードの親ノードから受け取った自身の秘密鍵とから生成して当該受信者に配布する。
この一連の処理を、ノードを上位からルート、第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ユーザだけが割り付けられているが、複数のユーザを割り付けても構わない。
従来の階層型IDベース暗号方式は、初期設定、鍵生成、暗号化、復号化の4つの機能から構成される。以下、各機能について処理の一例を説明する。
≪初期設定≫
初期設定はルートの機能であり、ルート秘密鍵s0と全ユーザに対する公開パラメータP0、p、Q0の生成を行う。また、ルートのID情報としてid0を設定する。図6の構成においては、ルート10が当該機能を担う。
本方式においては、楕円曲線上の演算を行うため、有限体F上に定義される楕円曲線Eと楕円曲線E上のベースポイントP0(位数:p)を決定した上で、以下の処理を行う。
(1)ランダムな整数s0∈{0、1、2、・・・、p−1}を生成する。
(2)Q0=s0・P0を計算する。
(3)P0、p、Q0を出力する。
≪鍵生成≫
鍵生成機能はルート及びルート以外の各ノード(に属する各受信者)の機能であり、下位ノードに属する各受信者のID情報組に対応する秘密鍵を発行する。以下、第t−1階層のノードが第t階層のノードの受信者のために秘密鍵を発行する処理を説明する(0階層はルートとする)。なお、tの値により処理が3通りに分かれるため、それぞれについて説明する。図6の構成においては、鍵生成装置21、22が当該機能を担う。
<t=1の場合>
ルートが第1階層のノードの受信者のために秘密鍵を発行する処理である(図7参照)。
[入力]
・受信者のID情報組(周知情報、文字列):id0、id1
・ルートの公開パラメータ(初期設定にて生成):Q0
・ルートの秘密鍵(初期設定にて生成):s0
[処理内容]
(1)P1を、P1=IDenc(id0‖id1)により計算する。
(IDencは文字列を楕円曲線E上に写像する関数、‖は連結を表す)
(2)S1を、S1=s0・P1により計算する。
[出力]
・当該受信者のIDに対する秘密鍵:(S1、Q0
<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
<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
≪暗号化≫
暗号化機能は送信者のための機能であり、受信者のID情報組とルートの公開パラメータとを用いて、平文Mが暗号化された暗号文cを生成する。図6〜9においては、階層型IDベース暗号化装置300がこれにあたる。
(1)ランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する。
(2)ID情報組id0、id1、id2、・・・、idtに基づき、P1、P2、・・・、Ptをそれぞれ、
i=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算する。
(3)P0、P2、P3、・・・、Ptとrとから、U0、U2、U3、・・・、Utをそれぞれ、
j=r・Pj (j=0又は2≦j≦t)
により計算する。
(4)Q0とP1とrとから、任意のペアリング関数eを用いてQを、Q=e(Q0 、P1 )により計算する。なお、ペアリング関数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´
により計算して出力する。
≪復号化≫
復号化機能は受信者のための機能であり、当該受信者の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を、
Figure 0005097102
により計算する。
(3)c´とQとから、一方向関数hashを用いて平文Mを、
M=c´xor hash(Q)
により計算して出力する。なお、計算に際してはQをデータ列に変換した上で行う。
Craig Gentry and Alice Silverberg、"Hierarchical ID-Based Criptography"、ASIACRYPT2002、LNCS 2501、2002年、p.548-566 日本電信電話株式会社、「PSEC-KEM仕様書 version 2.2」、[online]、平成20年4月14日、[平成20年11月26日検索]、インターネット<URL : http://info.isl.ntt.co.jp/crypt/psec/dl/iso/psec-kem_v2.2_20080414j.pdf>
図10は、上記説明した従来の階層型IDベース暗号方式における平文Mに対する暗号化処理形態を端的に示したものである。上記の機能説明及びこの図からわかるように、従来の階層型IDベース暗号方式は、公開パラメータPにより平文Mを直接暗号化し、暗号文mを秘密鍵Sを用いて復号するという、ごく一般的な公開鍵暗号方式を基礎としている。
各種公開鍵暗号方式のうち、階層型IDベース暗号方式への応用手法が確立されているのは、現状では楕円曲線暗号を用いる方式(非特許文献1参照)に限られている。しかし、楕円曲線暗号を用いる方式においては、平文データを楕円曲線上の点に対応させて暗号化処理を行うため、一度の処理で暗号化できる平文の長さ(データ量)が楕円曲線上の点の数(例えば160bit)程度に限られてしまうという問題があった。
楕円曲線暗号による公開鍵暗号方式のメリットを生かしつつ、任意長の平文を効率的に暗号化することを可能とする方式として、PSEC−KEM(Provably Secure Elliptic Curve encryption - Key Encapsulation Mechanisms)が実現されている(非特許文献2参照)。以下、その概要について説明する。
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を取り出す。
PSEC−KEMは、KEMを楕円曲線暗号により構成する方式であり、上記のメリットに加え、「安全性を維持しつつ鍵長を短く構成することが可能」、「鍵生成処理が高速」などのメリットも享受できる。PSEC−KEMは、鍵生成、暗号化、復号化の3つの機能から構成される。以下、各機能を簡単に説明する。
〔鍵生成機能〕
PSEC−KEMでは、楕円曲線上の演算を行うため、まず、有限体F上に定義される楕円曲線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をそれぞれ出力する。
〔暗号化機能〕
ベースポイント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とを出力する。
〔復号化機能〕
秘密鍵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"等の復号失敗を示す情報を出力する。
以上説明したPSEC−KEMは、楕円曲線暗号による一般的な公開鍵暗号方式をKEM−DEM構成に対応させる技術、すなわちKEM化する技術である。もし階層型IDベース暗号方式についても図1に示すようにKEM化することができれば、平文の暗号化は共通鍵暗号により行われるため、任意長の平文を暗号化することが可能となる。本発明の目的は、PSEC−KEMを階層型IDベース暗号方式に応用し、KEM化された階層型IDベース暗号化装置及び復号化装置を実現することにある。
本発明の階層型IDベース暗号化装置は、乱数生成部と第1ハッシュ計算部と分割部とα計算部とP計算部とU計算部とQ計算部と第2ハッシュ計算部と暗号文計算部とから構成される。
乱数生成部は、所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する。
第1ハッシュ計算部は、rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長)により計算して出力する。
分割部は、hが入力され、h=z‖k(‖は連結を表す)であるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する。
α計算部は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する。
P計算部は、ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
i=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算して出力する。
U計算部は、P2、P3、・・・、Ptとαと公開パラメータP0とが入力され、U0、U2、U3、・・・、Utをそれぞれ、
j=α・Pj (j=0又は2≦j≦t)
により計算して出力する。
Q計算部は、P1とαと公開パラメータQ0とが入力され、任意のペアリング関数eを用いてQを、
Q=e(Q0 、P1 )α
により計算して出力する。
第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は排他的論理和演算を表す)により計算して出力する。
暗号文計算部は、U0、U2、U3、・・・、Utとc´とが入力され、U0、U2、U3、・・・、Utをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する。
また、本発明の階層型IDベース復号化装置は、第1分割部とQ計算部と第2ハッシュ計算部と第1ハッシュ計算部と第2分割部とα計算部とP計算部と検証部とから構成される。
第1分割部は、暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する。
Q計算部は、U0、U2、U3、・・・、Utと所定の方法により予め生成された秘密鍵St、Q1、Q2、・・・、Qt-1とが入力され、U0、U2、U3、・・・、Utを楕円曲線E上の点に変換した上でペアリング関数eを用いてQを、
Figure 0005097102
により計算して出力する。
第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は排他的論理和演算を表し、‖は連結を表す)により計算して出力する。
第1ハッシュ計算部は、rとID情報組id0、id1、id2、・・・、idtとが入力され、一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
(zLen、keyLenはそれぞれ所定のオクテット長)により計算して出力する。
第2分割部は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する。
α計算部は、zとpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する。
P計算部は、ID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
i=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算して出力する。
検証部は、P0、P2、P3、・・・、Ptとαとセッション鍵kとが入力され、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証する。そして、一致した場合にはセッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する。
本発明の階層型IDベース暗号化装置及び復号化装置により、階層型IDベース暗号方式をKEM化することができるため、任意長の平文を暗号化することが可能となる。
上記の背景技術でも記したとおり、階層型IDベース暗号方式は、トポロジー面ではルートを頂点に、割り付けられた受信者に対して秘密鍵を発行するノードが、階層的に複数配置されることを特徴とし、機能面では初期設定、鍵生成、暗号化、復号化の4つの機能から構成されることを特徴とするが、本発明においてもこれらの特徴は同様である。
4つの機能のうち、KEM化にかかわる部分は暗号化機能と復号化機能であり、本発明はこれらの機能にPSEC−KEMの技術を応用したものである。以下、各機能について説明する。なお、初期設定機能と鍵生成機能については、従来技術と同様であり、それらの機能における入出力及び処理は上記背景技術にて示したとおりであるため、ここでは説明を省略する。
≪暗号化≫
本発明の階層型IDベース暗号化装置100の機能構成例を図2に、処理フロー例を図3にそれぞれ示す。本発明の階層型IDベース暗号化装置100は、乱数生成部101と第1ハッシュ計算部102と分割部103とα計算部104とP計算部105とU計算部106とQ計算部107と第2ハッシュ計算部108と暗号文計算部109とから構成される。
乱数生成部101は、所定の長さhLenオクテットのランダムな値r∈{0、1、2、・・・、p−1}を生成して出力する(S1)。安全性の確保にあたり、hLenは16オクテット以上が目安となるが、可能であれば32オクテット以上とすることが望ましい。
第1ハッシュ計算部102は、rが入力され、任意の一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、h=hash1(r)により計算して出力する(S2)。ここで、zLen、keyLenはそれぞれ所定のオクテット長である。安全性の確保にあたり、zLenは36オクテット以上が目安となるが、可能であれば48オクテット以上とすることが望ましい。また、セッション鍵長にあたるkeyLenは32オクテット以上とすることが望ましい。
なお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)により計算する。
分割部103は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する(S3)。ここで出力されたセッション鍵kが、受信者と共有するセッション鍵である。
α計算部104は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する(S4)。
P計算部105は、受信者のID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP1、P2、・・・、Ptをそれぞれ、
i=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
により計算して出力する(S5)。
U計算部106は、P2、P3、・・・、Ptとαと公開パラメータP0とが入力され、U0、U2、U3、・・・、Utをそれぞれ、
j=α・Pj (j=0又は2≦j≦t)
により計算して出力する(S6)。
Q計算部107は、P1とαと公開パラメータQ0とが入力され、任意のペアリング関数eを用いてQを、Q=e(Q0 、P1 )αにより計算して出力する(S7)。
第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)。
暗号文計算部109は、U0、U2、U3、・・・、Utとc´とが入力され、Ujをオクテット列に変換した上で暗号文cを、
c=U0‖U2‖U3‖・・・‖Ut‖c´
により計算して出力する(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)を上位ノードから入手して処理を行う。
第1分割部201は、暗号文cが入力され、c=U0‖U2‖U3‖・・・‖Ut‖c´であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する(S11)。
Q計算部202は、U0、U2、U3、・・・、Utと秘密鍵St、Q1、Q2、・・・、Qt-1とが入力され、Ujを楕円曲線E上の点に変換した上でペアリング関数eを用いてQを、
Figure 0005097102
により計算して出力する(S12)。
第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)。
第1ハッシュ計算部204は、rが入力され、一方向関数hash1を用いて長さzLen+keyLenオクテットのhを、
h=hash1(r)
により計算して出力する(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)により計算する。
第2分割部205は、hが入力され、h=z‖kであるとして、長さzLenオクテットのzと、長さkeyLenオクテットのセッション鍵kとに分割して出力する(S15)。
α計算部206は、zと公開パラメータpとが入力され、zを整数に変換した上でαをα=z mod pにより計算して出力する(S16)。
P計算部207は、受信者のID情報組id0、id1、id2、・・・、idtが入力され、文字列を楕円曲線E上の点に写像する関数IDencを用いてP2、P3、・・・、Ptをそれぞれ、
i=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
により計算して出力する(S17)。
検証部208は、P2、P3、・・・、Ptとαと公開パラメータP0とセッション鍵kとが入力され、まず、α・P0、α・P2、α・P3、・・・、α・Ptを計算する(S18a)。そして、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証し、一致した場合には真正なセッション鍵であると判断してセッション鍵kを出力し、不一致の場合には不真正な暗号文であると判断し、セッション鍵kを出力せずに"INVALID"などの復号失敗を表す情報を出力する(S18b)。
以上のように構成することで、階層型IDベース暗号化装置及び復号化装置をKEM化することができ、送信者と受信者双方でセッション鍵kを共有することができる。そのため、このセッション鍵kを用いて平文の暗号化を行うことで、階層型IDベース暗号の利点を生かしつつ、暗号化する平文長の制約を無くすことができる。
本発明における階層型IDベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行してもよい。
また、階層型IDベース暗号化装置及び復号化装置における処理機能をコンピュータによって実現する場合、階層型IDベース暗号化装置及び復号化装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより上記階層型IDベース暗号化装置及び復号化装置における処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
また、このプログラムの流通は、例えば、このプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等をすることによって行う。更に、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介してサーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦自己の記録装置に格納する。そして、処理の実行時、このコンピュータは自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータからこのコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって上記の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。また、この形態ではコンピュータ上で所定のプログラムを実行させることにより、階層型IDベース暗号化装置及び復号化装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
KEM−DEM構成を階層型IDベース暗号方式に適用した場合の暗号化処理形態のイメージ図。 本発明の階層型IDベース暗号化装置100の機能構成例を示す図。 本発明の階層型IDベース暗号化装置100の処理フロー例を示す図。 本発明の階層型IDベース復号化装置200の機能構成例を示す図。 本発明の階層型IDベース暗号化装置200の処理フロー例を示す図。 従来の階層型IDベース暗号方式の構成要素相互の関係を示す図。 階層数t=1の場合の秘密鍵発行に際しての構成要素相互の関係を示す図。 階層数t=2の場合の秘密鍵発行に際しての構成要素相互の関係を示す図。 階層数t>2の場合の秘密鍵発行に際しての構成要素相互の関係を示す図。 従来の階層型IDベース暗号方式における平文に対する暗号化処理形態を説明する図。 KEM−DEM構成における平文に対する暗号化処理形態を説明する図。

Claims (9)

  1. 有限体F上で定義される楕円曲線E上の点P0及びその位数pと、Q0=s0・P0(s0∈{0、1、2、・・、p−1})により計算されるQ0と、任意の文字列であるID情報組id0、id1、id2、・・・、idt(tは当該ID情報組が属するノードの階層数、t≧1)とが入力され、暗号文cとセッション鍵kとを出力する階層型IDベース暗号化装置であって、
    所定の長さ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をそれぞれ、
    i=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
    により計算して出力するP計算部と、
    上記P0、P2、P3、・・・、Ptと上記αとが入力され、U0、U2、U3、・・・、Utをそれぞれ、
    j=α・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ベース暗号化装置。
  2. 請求項1に記載の階層型IDベース暗号化装置において、
    上記第1ハッシュ計算部は、更に上記ID情報組id0、id1、id2、・・・、idtが入力され、hを、
    h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
    により計算することを特徴とする階層型IDベース暗号化装置。
  3. 有限体F上で定義される楕円曲線E上の点P0及びその位数pと、任意の文字列であるID情報組id0、id1、id2、・・・、idt(tは当該ID情報組が属するノードの階層数、t≧1)と、所定の方法により予め生成された、上記ID情報組に対応する秘密鍵St、Q1、Q2、・・・、Qt-1(St、Q1、Q2、・・・、Qt-1は楕円曲線E上の点)と、暗号文cとが入力され、セッション鍵kを出力する階層型IDベース復号化装置であって、
    上記暗号文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を、
    Figure 0005097102
    により計算して出力する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をそれぞれ、
    i=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
    により計算して出力するP計算部と、
    上記P0、P2、P3、・・・、Ptと上記αと上記セッション鍵kとが入力され、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証して、一致した場合には上記セッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する検証部と、
    を備えることを特徴とする階層型IDベース復号化装置。
  4. 請求項3に記載の階層型IDベース復号化装置において、
    上記第1ハッシュ計算部は、更に上記ID情報組id0、id1、id2、・・・、idtが入力され、hを、
    h=hash1(r‖id0‖id1‖id2‖・・・‖idt)
    により計算することを特徴とする階層型IDベース復号化装置。
  5. 有限体F上で定義される楕円曲線E上の点P0及びその位数pと、Q0=s0・P0(s0∈{0、1、2、・・・、p−1})により計算されるQ0と、任意の文字列であるID情報組id0、id1、id2、・・・、idt(tは当該ID情報組が属するノードの階層数、t≧1)とから、暗号文cとセッション鍵kとを求める階層型IDベース暗号化方法であって、
    乱数生成部が、所定の長さ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をそれぞれ、
    i=IDenc(id0‖id1‖・・・‖idi) (1≦i≦t)
    により計算するP計算ステップと、
    U計算部が、U0、U2、U3、・・・、Utをそれぞれ、
    j=α・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ベース暗号化方法。
  6. 有限体F上で定義される楕円曲線E上の点P0及びその位数pと、任意の文字列であるID情報組id0、id1、id2、・・・、idt(tは当該ID情報組が属するノードの階層数、t≧1)と、所定の方法により予め生成された、上記ID情報組に対応する秘密鍵St、Q1、Q2、・・・、Qt-1(St、Q1、Q2、・・・、Qt-1は楕円曲線E上の点)と、暗号文cとから、セッション鍵kを求める階層型IDベース復号化方法であって、
    第1分割部が、上記暗号文cがc=U0‖U2‖U3‖・・・‖Ut‖c´(‖は連結を表す。)であるとして、長さhLenオクテットのc´と、残りをt等分したU0、U2、U3、・・・、Utとに分割する第1分割ステップと、
    Q計算部が、U0、U2、U3、・・・、Utを楕円曲線E上の点に変換した上で任意のペアリング関数eを用いてQを、
    Figure 0005097102
    により計算する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をそれぞれ、
    i=IDenc(id0‖id1‖・・・‖idi) (2≦i≦t)
    により計算するP計算ステップと、
    検証部が、α・P0、α・P2、α・P3、・・・、α・Ptを計算し、それぞれU0、U2、U3、・・・、Utと一致するか否かを検証して、一致した場合には上記セッション鍵kを出力し、一致しなかった場合には復号失敗を示す情報を出力する検証ステップと、
    を実行することを特徴とする階層型IDベース復号化方法。
  7. 請求項1に記載の階層型IDベース暗号化装置と請求項3に記載の階層型IDベース復号化装置との組、又は、請求項2に記載の階層型IDベース暗号化装置と請求項4に記載の階層型IDベース復号化装置との組、のいずれかを含む階層型IDベース暗号システム。
  8. 請求項1〜4、7のいずれかに記載した装置又はシステムとしてコンピュータを機能させるためのプログラム。
  9. 請求項8に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。
JP2008329776A 2008-12-25 2008-12-25 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体 Expired - Fee Related JP5097102B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008329776A JP5097102B2 (ja) 2008-12-25 2008-12-25 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008329776A JP5097102B2 (ja) 2008-12-25 2008-12-25 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2010154193A JP2010154193A (ja) 2010-07-08
JP5097102B2 true JP5097102B2 (ja) 2012-12-12

Family

ID=42572754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008329776A Expired - Fee Related JP5097102B2 (ja) 2008-12-25 2008-12-25 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5097102B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5643251B2 (ja) * 2012-03-30 2014-12-17 日本電信電話株式会社 秘密情報通知システム、秘密情報通知方法、プログラム
WO2015056601A1 (ja) 2013-10-16 2015-04-23 日本電信電話株式会社 鍵装置、鍵クラウドシステム、復号方法、およびプログラム
CN111541532B (zh) * 2020-04-07 2023-05-26 陕西师范大学 抵抗有界秘密信息泄露的无证书密钥封装方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1425874B1 (en) * 2001-08-13 2010-04-21 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
FR2898747A1 (fr) * 2006-03-15 2007-09-21 Gemplus Sa Procede de chiffrement cherchable dechiffrable, systeme pour un tel chiffrement
JP4869824B2 (ja) * 2006-08-08 2012-02-08 三菱電機株式会社 受信者装置及び送信者装置及び暗号通信システム及びプログラム

Also Published As

Publication number Publication date
JP2010154193A (ja) 2010-07-08

Similar Documents

Publication Publication Date Title
CN108352015B (zh) 用于基于区块链的***结合钱包管理***的安全多方防遗失存储和加密密钥转移
US7657037B2 (en) Apparatus and method for identity-based encryption within a conventional public-key infrastructure
JP5349619B2 (ja) アイデンティティベースの認証鍵共有プロトコル
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
CN104821880B (zh) 一种无证书广义代理签密方法
TWI444030B (zh) 動態群組中建立金鑰、認證及安全通訊方法
JP2003298568A (ja) 鍵供託を使用しない、認証された個別暗号システム
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
Chen et al. Public-key quantum digital signature scheme with one-time pad private-key
CN111415718A (zh) 一种基于区块链和条件代理重加密的电子处方共享方法
JP2004015241A (ja) 暗号通信システム、その端末装置及びサーバ並びに復号方法
JP2004208262A (ja) バイリニアペアリングを用いたidに基づくリング署名装置及び方法
CN107086912B (zh) 一种异构存储***中的密文转换方法、解密方法及***
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN102970144A (zh) 基于身份的认证方法
KR20200040248A (ko) 매우 안전한, 데이터의 고속 암호화 및 전송을 위한 컴퓨터-구현 시스템 및 방법
CN112733177A (zh) 基于全域哈希的层次标识密码加密方法
JP5079479B2 (ja) Idベース暗号システム、方法
JP5097102B2 (ja) 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体
CN107682158A (zh) 一种可托管的认证加密方法
Qin et al. Strongly secure and cost-effective certificateless proxy re-encryption scheme for data sharing in cloud computing
JP4843511B2 (ja) 同報通信暗号化方法、情報復号方法、それらの装置、それらのプログラム、およびそれらの記録媒体
CN116232568A (zh) 一种基于sm9的属性基加密的区块链访问控制方法
Callas Identity-based encryption with conventional public-key infrastructure
JP2004201124A (ja) 公開鍵暗号方法,署名方法,暗号通信システム及びコンピュータプログラム

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