JP6980158B2 - データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム - Google Patents

データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム Download PDF

Info

Publication number
JP6980158B2
JP6980158B2 JP2021529654A JP2021529654A JP6980158B2 JP 6980158 B2 JP6980158 B2 JP 6980158B2 JP 2021529654 A JP2021529654 A JP 2021529654A JP 2021529654 A JP2021529654 A JP 2021529654A JP 6980158 B2 JP6980158 B2 JP 6980158B2
Authority
JP
Japan
Prior art keywords
condition
access structure
decodable
unit
decoding
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.)
Active
Application number
JP2021529654A
Other languages
English (en)
Other versions
JPWO2021001990A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021001990A1 publication Critical patent/JPWO2021001990A1/ja
Application granted granted Critical
Publication of JP6980158B2 publication Critical patent/JP6980158B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号化技術に関する。
関数型暗号は、復号可能なユーザの条件を暗号文へ埋め込むこと、又は、復号可能な暗号文の条件をユーザ秘密鍵に埋め込むことで柔軟なアクセス制御が可能な公開鍵暗号である。
近年ではクラウドサービスが普及している。例えば安価かつ手間なく即時利用可能なクラウドストレージなどは、現在広く利用されるクラウドサービスの一つである。一方で、機微な情報を含むデータをクラウドで管理するような場合は、情報漏洩のリスクがある。このため、データを暗号化し、暗号化により得られた暗号文をクラウドで管理する必要がある。従来の公開鍵暗号方式では、暗号文とその暗号文を復号できる秘密鍵が1対1の関係にある。このため、従来の公開鍵暗号方式では、データを開示するユーザの数だけ暗号化を行い、暗号文を生成し、クラウドストレージへアップロードし、ユーザの数分の暗号文を管理する必要がある。この方法では、多くの暗号化計算量が必要である。また、ユーザの数だけ暗号文をクラウドストレージへ送信し、クラウドストレージで保持するため、通信帯域及びクラウドストレージの記憶容量が圧迫されるという課題がある。更に、各ユーザの公開鍵の管理コスト及び暗号文の管理コストが増大するという課題がある。
関数型暗号は、データの開示範囲の条件式を暗号文又はユーザ秘密鍵に埋め込むことにより、1回の暗号化によって生成される1つの暗号文で開示範囲の制御が実現可能である。
関数型暗号では、属性を用いて暗号文又はユーザ秘密鍵の特徴付け又は条件付けを行う。属性は、種類、役割等を表す値である。属性による特徴付けは属性集合により行う。属性による条件付けは属性と論理積、論理和又は否定を用いた条件式により行う。例えば、会社内でデータ共有を行う場合を想定する。この場合に、各社員のユーザ秘密鍵に属性集合として部署名や役職、社員IDなどを埋め込み、暗号文に(部署名=営業部)OR((部署名=総務部)AND(役職=部長))という復号可能条件を埋め込む。このようにすることで、営業部の全社員または総務部の部長のみが復号でき、条件に該当しない者は復号できないような暗号文を生成することができる。このようにして、関数型暗号では、アクセス制御を実現することが可能である。この例では属性集合をユーザ秘密鍵、復号可能条件を暗号文に埋め込んでいる。これをCiphertext−Policy関数型暗号という。逆に、属性集合を暗号文、復号可能条件をユーザ秘密鍵に埋め込む方式を、Key−Policy関数型暗号という。
特許文献1及び特許文献2は、Ciphertext−Policy関数型暗号及びKey−Policy関数型暗号、さらに双方を組み合わせたUnified−Policy関数型暗号の構成を示している。これらの関数型暗号では、いずれも、スパンプログラムを用いたアクセスストラクチャによってアクセス制御を実現している。そして、これらの関数型暗号では、暗号文又はユーザ秘密鍵にアクセスストラクチャを含めている。アクセスストラクチャとして用いるスパンプログラムは行列とラベルで構成される。行列はL行r列である。ラベルは行列の各行が復号可能条件のどの変数に対応するかを表現する長さLのリストである。
特開2011−232475号公報 特開2012−133214号公報
アクセスストラクチャとして用いられるスパンプログラムのデータサイズは大きい。このため、従来のように、スパンプログラムのアクセスストラクチャを用いてアクセス制御を行うと、通信帯域及びストレージの記憶容量が圧迫されるという課題がある。
本発明は、このような課題を解決することを主な目的の一つとしている。具体的には、本発明は、通信帯域及びストレージの記憶容量を圧迫せずに関数型暗号を実現することを主な目的とする。
本発明に係るデータ処理装置は、
復号が可能な条件である復号可能条件が記述される復号可能条件情報を生成する復号可能条件生成部と、
前記復号可能条件情報を用いてスパンプログラムのアクセスストラクチャを生成するアクセスストラクチャ生成部と、
前記アクセスストラクチャを用いて暗号化データ及び秘密鍵のいずれかを送信データとして生成する送信データ生成部と、
前記アクセスストラクチャに代えて前記復号可能条件情報を前記送信データとともに復号装置に送信する送信部とを有する。
本発明では、スパンプログラムのアクセスストラクチャと比較してデータサイズが格段に小さい復号可能条件情報を、スパンプログラムのアクセスストラクチャに代えて復号装置に送信する。このため、本発明によれば、通信帯域及びストレージの記憶容量を圧迫することなく関数型暗号を実現することができる。
実施の形態1に係る暗号処理システムの構成例を示す図。 実施の形態1に係る鍵生成装置の機能構成例を示す図。 実施の形態1に係る暗号化装置の機能構成例を示す図。 実施の形態1に係る復号装置の機能構成例を示す図。 実施の形態1に係る鍵生成装置におけるマスター鍵生成処理を示すフローチャート。 実施の形態1に係る鍵生成装置におけるユーザ秘密鍵生成処理を示すフローチャート。 実施の形態1に係る暗号化装置における暗号化処理を示すフローチャート。 実施の形態1に係る復号装置における復号処理を示すフローチャート。 実施の形態2に係る暗号処理システムの構成例を示す図。 実施の形態2に係る鍵生成装置の機能構成例を示す図。 実施の形態2に係る暗号化装置の機能構成例を示す図。 実施の形態2に係る復号装置の機能構成例を示す図。 実施の形態2に係る鍵生成装置におけるユーザ秘密鍵生成処理を示すフローチャート。 実施の形態2に係る暗号化装置における暗号化処理を示すフローチャート。 実施の形態2に係る復号装置における復号処理を示すフローチャート。 実施の形態1に係る鍵生成装置のハードウェア構成例を示す図。 実施の形態1に係る暗号化装置のハードウェア構成例を示す図。 実施の形態1に係る復号装置のハードウェア構成例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
また、以下では、Ciphertext−Policy関数型暗号への本発明の適用例及びKey−Policy関数型暗号への適用例を説明する。Unified−Policy関数型暗号にも同様に本発明は適用可能である。
実施の形態1.
***概要***
特許文献1や特許文献2の関数型暗号では、アクセスストラクチャとして終始スパンプログラムを使用している。しかし、実際に関数型暗号を使用する際は、復号可能条件はユーザが指定するため、ユーザが理解しやすいブール代数の式で復号可能条件を指定することが多い。即ち、ユーザによって指定されたブール代数の式からスパンプログラムのアクセスストラクチャが生成される。そして、生成されたスパンプログラムのアクセスストラクチャが関数型暗号のアルゴリズムに入力される。
例えば、Ciphertext−Policy関数型暗号の場合は、ブール代数の式から生成されたアクセスストラクチャが暗号文に含められる。アクセスストラクチャとしてスパンプログラムを用いた場合は、前述のように、アクセスストラクチャのデータサイズが肥大化するという課題がある。
そこで、本実施の形態では、スパンプログラムのアクセスストラクチャに代えて、復号可能条件が記述されたブール代数の式を暗号文とともに復号装置に送信する。ブール代数の式は、スパンプログラムのアクセスストラクチャと比較して格段にデータサイズが小さい。
本実施の形態では、このように、スパンプログラムのアクセスストラクチャに代えてブール代数の式を送信することで、データサイズの削減を図ることができる。また、復号装置では、必要に応じてブール代数の式からスパンプログラムを生成することができる。
更に、本実施の形態では、ブール代数の式を既定の圧縮ルールに従って圧縮する。そして、本実施の形態では、圧縮後のブール代数の式を復号装置に送信する。このようにすることで、データサイズの更なる削減を図ることができる。
具体的には、本実施の形態では、論理和、論理積、変数及び否定の変数をそれぞれエンコードする。例えば、論理和は0、論理積は1、変数は2、否定の変数は3にエンコードする。そして、エンコードした論理和、論理積、変数及び否定の変数をブール代数の式に沿った順に配置する。例えば、ポーランド記法を使用すれば、変数p1、p2、p3が含まれる式“p1 OR p2 AND ¬p3”は“02123”とエンコードされる。
次に、上記でエンコードされた変数のリストをエンコードする。上記の例では、エンコードされたデータの2、4、5番目にある“2”または“3”が、それぞれ変数p1、p2、p3であることをリストで表現する。即ち、リストには、スパンプログラムのラベルと同等の情報が含まれる。但し、データサイズを削減するために、本実施の形態では、変数よりもデータサイズが小さい識別子を変数の代わりにエンコードする。例えば、p1は識別子“123”、p2は識別子“456”、p3は識別子“789”とすれば、エンコード結果は“123456789”となる。
本実施の形態では、変数と変数の識別子は変数識別子変換表を用いて相互に変換する。ただし、変数識別子変換表は変数と変数の識別子の関係を表す情報の一例である。変数識別子変換表に代えて、変数と変数の識別子を相互に変換するためのルール又は関数を用いてもよい。
また、以下では、復号可能条件をP、エンコード後(圧縮後)のブール代数の式をfと表記する。また、データサイズを削減した変数のリストをρ’、fとρ’に対して復号可能条件情報をQ:=(f,ρ’)と表記する。また、変数識別子変換表をTと表記する。
つまり、本実施の形態では、エンコード後のブール代数の式fと、圧縮後のブール代数の式を伸長するための情報であるリストρ’とを復号可能条件情報Qとして扱う。
これに代えて、ブール代数の式のエンコードを行わずに、復号可能条件情報Qとして、エンコードされていないブール代数の式を送信するようにしてもよい。
***構成の説明***
図1は、本実施の形態に係る暗号処理システム10の構成例を示す。
本実施の形態に係る暗号処理システム10は、図1に示すように、鍵生成装置100、暗号化装置200及び復号装置300を備える。
鍵生成装置100、暗号化装置200及び復号装置300は、それぞれコンピュータである。
鍵生成装置100、暗号化装置200及び復号装置300は、お互いに通信路で接続されている。通信路は例えばインターネット、LAN(Local Area Network)などであるが、他の種類の通信路を用いてもよい。
なお、本実施の形態では、暗号化装置200はデータ処理装置に相当する。また、暗号化装置200の動作手順は、データ処理方法に相当する。また、暗号化装置200の動作を実現するプログラムは、データ処理プログラムに相当する。
また、復号装置300の動作手順は、復号方法に相当する。また、復号装置300の動作を実現するプログラムは、復号プログラムに相当する。
鍵生成装置100は、セキュリティパラメータλを取得する。そして、鍵生成装置100は、関数型暗号のSetupアルゴリズムを実行し、マスター公開鍵pkとマスター秘密鍵skを生成する。また、鍵生成装置100は、マスター公開鍵pkを公開する。
更に、鍵生成装置100は、属性集合Γを取得する。そして、鍵生成装置100は、関数型暗号のKeyGenアルゴリズムを実行し、属性集合Γに対するユーザ秘密鍵skΓを生成する。また、鍵生成装置100は、ユーザ秘密鍵skΓを秘密裡に復号装置300へ送信する。また、鍵生成装置100は、必要があれば変数識別子変換表Tを更新する。そして、鍵生成装置100は、変数識別子変換表Tを公開する。
鍵生成装置100は、通信路を介してマスター公開鍵pk、ユーザ秘密鍵skΓ及び変数識別子変換表Tを暗号化装置200又は復号装置300へ送信する。また、鍵生成装置100のユーザが郵送などでマスター公開鍵pk、ユーザ秘密鍵skΓ及び変数識別子変換表Tを暗号化装置200のユーザ又は復号装置300のユーザへ送付してもよい。
暗号化装置200は、平文mと、復号可能条件Pと、マスター公開鍵pkと、変数識別子変換表Tとを取得する。そして、暗号化装置200は、関数型暗号のEncアルゴリズムを実行し、暗号文Cと復号可能条件情報Qを生成する。そして、暗号化装置200は暗号文Cと復号可能条件情報Qを復号装置300へ送信する。
復号装置300は、暗号文C、復号可能条件情報Q、マスター公開鍵pk、ユーザ秘密鍵skΓ及び変数識別子変換表Tを取得する。そして、復号装置300は、関数型暗号のDecアルゴリズムを実行し、平文m又は識別情報⊥を出力する。
図2は、鍵生成装置100の機能構成例を示す。
図16は、鍵生成装置100のハードウェア構成例を示す。
図2に示すように、鍵生成装置100は、受信部101と、送信部102と、マスター鍵生成部103と、ユーザ秘密鍵生成部104と、変数識別子変換表生成部105とを備える。
また、図16に示すように、鍵生成装置100は、プロセッサ151、バス152、ROM(Read Only Memory)153、RAM(Random Access Memory)154、通信ボード155、ディスプレイ156、キーボード157、マウス158、ドライブ159、磁気ディスク装置160を備える。
磁気ディスク装置160には、OS(Operating System)161、プログラム162、ファイル163が格納されている。
プログラム162は、図2に示す、受信部101、送信部102、マスター鍵生成部103、ユーザ秘密鍵生成部104及び変数識別子変換表生成部105の機能を実現するプログラムである。
プログラム162は、プロセッサ151により磁気ディスク装置160からRAM154にロードされ、プロセッサ151により実行される。
図2は、プロセッサ151が受信部101、送信部102、マスター鍵生成部103、ユーザ秘密鍵生成部104及び変数識別子変換表生成部105の機能を実現するプログラム162を実行している状態を模式的に示している。
他のハードウェア要素については後述する。
図2において、受信部101は、セキュリティパラメータλと属性集合Γを受信する。
マスター鍵生成部103は、パラメータλを用いてSetupアルゴリズムを実行し、マスター公開鍵pkとマスター秘密鍵skとを生成する。
ユーザ秘密鍵生成部104は、マスター公開鍵pkとマスター秘密鍵skと属性集合Γとを用いてKeyGenアルゴリズムを実行し、ユーザ秘密鍵skΓを生成する。
変数識別子変換表生成部105は、変数識別子変換表Tに属性集合Γを追加することで、変数識別子変換表Tを更新する。
送信部102は、マスター公開鍵pkと変数識別子変換表Tを暗号化装置200に送信する。また、送信部102は、マスター公開鍵pkとユーザ秘密鍵skΓと変数識別子変換表Tを復号装置300に送信する。
図3は、暗号化装置200の機能構成例を示す。
図17は、暗号化装置200のハードウェア構成例を示す。
図3に示すように、暗号化装置200は、受信部201と、送信部202と、暗号化部203と、アクセスストラクチャ生成部204と、復号可能条件生成部205とを備える。
また、図17に示すように、暗号化装置200は、プロセッサ251、バス252、ROM253、RAM254、通信ボード255、ディスプレイ256、キーボード257、マウス258、ドライブ259、磁気ディスク装置260を備える。
磁気ディスク装置260には、OS261、プログラム262、ファイル263が格納されている。
プログラム262は、図3に示す、受信部201と、送信部202と、暗号化部203と、アクセスストラクチャ生成部204と、復号可能条件生成部205の機能を実現するプログラムである。
プログラム262は、プロセッサ251により磁気ディスク装置260からRAM254にロードされ、プロセッサ251により実行される。
図3は、プロセッサ251が、受信部201と、送信部202と、暗号化部203と、アクセスストラクチャ生成部204と、復号可能条件生成部205の機能を実現するプログラム262を実行している状態を模式的に示している。
他のハードウェア要素については後述する。
受信部201は、マスター公開鍵pkと変数識別子変換表Tを受信する。また、受信部201は、復号可能条件Pと平文mを受信する。
復号可能条件生成部205は、復号可能条件Pと変数識別子変換表Tとを用いて復号可能条件情報Qを生成する。
なお、復号可能条件生成部205により行われる処理は、復号可能条件生成処理に相当する。
アクセスストラクチャ生成部204は、復号可能条件情報Qと変数識別子変換表Tとを用いて、スパンプログラムのアクセスストラクチャSを生成する。
なお、アクセスストラクチャ生成部204により行われる処理は、アクセスストラクチャ生成処理に相当する。
暗号化部203は、アクセスストラクチャSと平文mとを用いてEncアルゴリズムを実行し、暗号文Cを生成する。
つまり、暗号化部203は、送信データである暗号文Cを生成する。暗号化部203は、送信データ生成部に相当する。また、暗号化部203により行われる処理は、送信データ生成処理に相当する。
送信部202は、暗号文Cと復号可能条件情報Qとを復号装置300に送信する。
つまり、送信部202は、アクセスストラクチャSに代えて復号可能条件情報Qを暗号文Cとともに復号装置300に送信する。
なお、送信部202により行われる処理は、送信処理に相当する。
図4は、復号装置300の機能構成例を示す。
図18は、復号装置300のハードウェア構成例を示す。
図4に示すように、復号装置300は、受信部301と、送信部302と、復号部303と、アクセスストラクチャ生成部304とを備える。
また、図18に示すように、復号装置300は、プロセッサ351、バス352、ROM353、RAM354、通信ボード355、ディスプレイ356、キーボード357、マウス358、ドライブ359、磁気ディスク装置360を備える。
磁気ディスク装置360には、OS361、プログラム362、ファイル363が格納されている。
プログラム362は、図4に示す、受信部301と、送信部302と、復号部303と、アクセスストラクチャ生成部304の機能を実現するプログラムである。
プログラム362は、プロセッサ351により磁気ディスク装置360からRAM354にロードされ、プロセッサ351により実行される。
図4は、プロセッサ351が、受信部301と、送信部302と、復号部303と、アクセスストラクチャ生成部304の機能を実現するプログラム362を実行している状態を模式的に示している。
他のハードウェア要素については後述する。
受信部301は、マスター公開鍵pkとユーザ秘密鍵skΓと変数識別子変換表Tを受信する。また、受信部301は、暗号文Cと復号可能条件情報Qを受信する。
なお、受信部301により行われる処理は、受信処理に相当する。
アクセスストラクチャ生成部304は、復号可能条件情報Qと変数識別子変換表TとからスパンプログラムのアクセスストラクチャSを生成する。
復号部303は、アクセスストラクチャSと、ユーザ秘密鍵skΓに含まれる属性集合Γとを用いて、復号可能条件が成立しているか否かを判定する。復号可能条件が成立していない場合は、復号部303は、識別情報⊥を送信部302に出力する。復号可能条件が成立している場合は、復号部303は、マスター公開鍵pkと、ユーザ秘密鍵skΓと、アクセスストラクチャSとを用いてDecアルゴリズムを実行して、暗号文Cを復号して、平文mを得る。
なお、復号部303は判定部に相当する。また、復号部303により行われる処理は、復号処理に相当する。
送信部302は、平文m又は識別情報⊥を出力する。
***動作の説明***
次に、本実施の形態に係る暗号処理システム10の動作例を説明する。
図5は、鍵生成装置100が実行するSetupアルゴリズムの動作を示すフローチャートである。
ステップS101において、鍵生成装置100の受信部101は、セキュリティパラメータλを受信する。
次に、ステップS102において、鍵生成装置100のマスター鍵生成部103は、ステップS101において鍵生成装置100の受信部101が受信したパラメータλを用いて、Setupアルゴリズムを実行し、マスター公開鍵pkとマスター秘密鍵skとを生成する。
次に、ステップS103において、鍵生成装置100のマスター鍵生成部103は、ステップS102において生成したマスター公開鍵pkとマスター秘密鍵skとを保管する。
例えば、マスター公開鍵pkとマスター秘密鍵skは磁気ディスク装置160においてファイル163として保管される。
次に、ステップS104において、鍵生成装置100の送信部102は、ステップS103において保管されているマスター公開鍵pkを暗号化装置200と復号装置300に公開する。具体的には、送信部102は、マスター公開鍵pkを暗号化装置200と復号装置300に送信する。
次に、ステップS105において、暗号化装置200の受信部201は、ステップS104において鍵生成装置100の送信部102が送信したマスター公開鍵pkを受信する。
また、ステップS106において、復号装置300の受信部301は、ステップS104において鍵生成装置100の送信部102が送信したマスター公開鍵pkを受信する。
図6は、鍵生成装置100が実行するKeyGenアルゴリズムの動作を示すフローチャートである。
ステップS201において、鍵生成装置100の受信部101は、属性集合Γを受信する。
次に、ステップS202において、鍵生成装置100のユーザ秘密鍵生成部104は、ステップS103において保管されたマスター公開鍵pkと、マスター秘密鍵skと、ステップS201において鍵生成装置100の受信部101が受信した属性集合Γとを用いて、KeyGenアルゴリズムを実行し、ユーザ秘密鍵skΓを生成する。
次に、ステップS203において、鍵生成装置100の変数識別子変換表生成部105は、ステップS201において受信された属性集合Γを変数識別子変換表Tに追加することで、変数識別子変換表Tを更新する。既に変数識別子変換表Tに属性集合Γが含まれている場合は、変数識別子変換表生成部105は、属性集合Γを変数識別子変換表Tに追加しなくてよい。但し、変数識別子変換表Tの初期状態は空集合としてもよいし、使用する属性のリストを予め設定してもよい。
次に、ステップS204において、鍵生成装置100の送信部102は、ステップS202において鍵生成装置100のユーザ秘密鍵生成部104が生成したユーザ秘密鍵skΓを、秘密裡に復号装置300の受信部301へ送信する。
次に、ステップS205において、鍵生成装置100の送信部102は、ステップS203において鍵生成装置100の変数識別子変換表生成部105が更新した変数識別子変換表Tを、暗号化装置200の受信部201と復号装置300の受信部301とに公開する。具体的には、送信部102は、変数識別子変換表Tを、暗号化装置200の受信部201と復号装置300の受信部301とに送信する。
次に、ステップS207において、暗号化装置200の受信部201は、ステップS205において鍵生成装置100の送信部102が送信した変数識別子変換表Tを受信する。
また、ステップS208において、復号装置300の受信部301は、ステップS204において鍵生成装置100の送信部102が送信したユーザ秘密鍵skΓを秘密裡に受信する。
更に、ステップS209において、復号装置300の受信部301は、ステップS205において鍵生成装置100の送信部102が送信した変数識別子変換表Tを受信する。
次に、本実施の形態に係る暗号化装置200の動作例を説明する。
図7は、暗号化装置200が実行するEncアルゴリズムの動作を示すフローチャートである。
ステップS301において、暗号化装置200の受信部201は、復号可能条件Pと平文mを受信する。
次に、ステップS302において、暗号化装置200の復号可能条件生成部205は、ステップS301において暗号化装置200の受信部201が受信した復号可能条件Pと、ステップS207において暗号化装置200の受信部201が受信した変数識別子変換表Tとを用いて、復号可能条件情報Qを生成する。
次に、ステップS303において、暗号化装置200のアクセスストラクチャ生成部204は、ステップS302において暗号化装置200の復号可能条件生成部205が生成した復号可能条件情報Qと、ステップS207において暗号化装置200の受信部201が受信した変数識別子変換表Tとを用いて、アクセスストラクチャSを生成する。
ステップS303で生成されるアクセスストラクチャSは、スパンプログラムである。
次に、ステップS304において、暗号化装置200の暗号化部203は、ステップS303において暗号化装置200のアクセスストラクチャ生成部204が生成したアクセスストラクチャSと、ステップS301で暗号化装置200の受信部201が受信した平文mとを用いて、Encアルゴリズムを実行し、暗号文Cを生成する。
次に、ステップS305において、暗号化装置200の送信部202は、ステップS304において暗号化装置200の暗号化部203が生成した暗号文Cと、ステップS302において暗号化装置200の復号可能条件生成部205が生成した復号可能条件情報Qを、復号装置300の受信部301に送信する。
次に、ステップS306において、復号装置300の受信部301は、ステップS305において暗号化装置200の送信部202が送信した暗号文Cと復号可能条件情報Qを受信する。
次に、本実施の形態に係る復号装置300の動作例を説明する。
図8は、復号装置300が実行するDecアルゴリズムの動作を示すフローチャートである。
ステップS401において、復号装置300の受信部301は、ステップS306において暗号化装置200の送信部202が送信した暗号文Cと復号可能条件情報Qを受信する。
次に、ステップS402において、復号装置300のアクセスストラクチャ生成部304は、ステップS401において復号装置300の受信部301が受信した復号可能条件情報Qと、ステップS209において復号装置300の受信部301が受信した変数識別子変換表Tとを用いて、アクセスストラクチャSを生成する。
ステップS402のアクセスストラクチャSの生成手順は、ステップS303のアクセスストラクチャSの生成手順と同じである。
次に、ステップS403において、復号装置300の復号部303は、ステップS402において復号装置300のアクセスストラクチャ生成部304が生成したアクセスストラクチャSと、ステップS208において復号装置300の受信部301が受信したユーザ秘密鍵skΓに含まれる属性集合Γとを用いて、アクセスストラクチャSが属性集合Γを受理するか否かを判定する。つまり、復号部303は、復号可能条件が成立しているか否かを判定する。
判定結果が拒絶だった場合、つまり、復号可能条件が成立していない場合は、復号部303は、ステップS406において、識別情報⊥を復号装置300の送信部302へ出力する。そして、送信部302が識別情報⊥を出力する。
一方、判定結果が受理だった場合、つまり、復号可能条件が成立している場合は、処理がステップS404に進む。
ステップS404では、復号装置300の復号部303は、ステップS106において復号装置300の受信部301が受信したマスター公開鍵pkと、ステップS208において復号装置300の受信部301が受信したユーザ秘密鍵skΓと、ステップS402において復号装置300のアクセスストラクチャ生成部304が生成したアクセスストラクチャSと、ステップS401において復号装置300の受信部301が受信した暗号文Cとを用いてDecアルゴリズムを実行し、暗号文Cを復号して、平文mを復元する。
次に、ステップS405において、復号装置300の送信部302は、ステップS404において復号装置300の復号部303が復号により得られた平文mを送信部302に出力する。そして、送信部302が平文mを出力する。
***実施の形態の効果の説明***
本実施の形態では、スパンプログラムのアクセスストラクチャと比較してデータサイズが格段に小さい復号可能条件情報を、スパンプログラムのアクセスストラクチャに代えて復号装置に送信する。このため、本実施の形態によれば、通信帯域及びストレージを圧迫することなくCiphertext−Policy関数型暗号を実現することができる。
実施の形態2.
本実施の形態では、Key−Policy関数型暗号においてスパンプログラムの代わりに復号可能条件情報を用いる構成を説明する。
本実施の形態では、主に実施の形態1との差異を説明する。
以下で説明していない事項は、実施の形態1と同様である。
***構成の説明***
図9は、本実施の形態に係る暗号処理システム20の構成例を示す。
実施の形態1と同様に、本実施の形態に係る暗号処理システム20も、鍵生成装置100、暗号化装置200及び復号装置300を備える。
但し、本実施の形態では、鍵生成装置100がデータ処理装置に相当する。また、鍵生成装置100の動作手順は、データ処理方法に相当する。また、鍵生成装置100の動作を実現するプログラムは、データ処理プログラムに相当する。
本実施の形態では、鍵生成装置100は、セキュリティパラメータλを取得する。そして、鍵生成装置100は、関数型暗号のSetupアルゴリズムを実行し、マスター公開鍵pkとマスター秘密鍵skを生成する。そして、鍵生成装置100は、マスター公開鍵pkを公開する。また、鍵生成装置100は、復号可能条件Pを取得する。そして、鍵生成装置100は、関数型暗号のKeyGenアルゴリズムを実行し、復号可能条件Pに対するユーザ秘密鍵Kを生成し、秘密裡にユーザ秘密鍵Kを復号装置300へ送信する。また、鍵生成装置100は、必要があれば変数識別子変換表Tを更新する。そして、鍵生成装置100は、変数識別子変換表Tを公開する。
鍵生成装置100は、通信路を介してマスター公開鍵pk、ユーザ秘密鍵K及び変数識別子変換表Tを暗号化装置200又は復号装置300に送信する。また、鍵生成装置100のユーザが郵送などでマスター公開鍵pk、ユーザ秘密鍵K及び変数識別子変換表Tを暗号化装置200のユーザ又は復号装置300のユーザへ送付してもよい。
暗号化装置200は、平文mと、属性集合Γと、マスター公開鍵pkとを取得する。そして、暗号化装置200は、関数型暗号のEncアルゴリズムを実行し、暗号文CΓを生成する。そして、暗号化装置200は暗号文CΓを復号装置300へ送信する。
復号装置300は、暗号文CΓ、復号可能条件情報Q、マスター公開鍵pk、ユーザ秘密鍵K及び変数識別子変換表Tを取得する。そして、復号装置300は、関数型暗号のDecアルゴリズムを実行し、平文mまたは識別情報⊥を出力する。
図10は、本実施の形態に係る鍵生成装置100の機能構成例を示す。
本実施の形態に係る鍵生成装置100のハードウェア構成例は図16に示す通りである。但し、本実施の形態では、磁気ディスク装置160には、図10に示す受信部101、送信部102、マスター鍵生成部103、変数識別子変換表生成部105、アクセスストラクチャ生成部106及び復号可能条件生成部107の機能を実現するプログラム162が格納されている。
このため、本実施の形態に係る鍵生成装置100では、図16のプロセッサ151のブロック内にアクセスストラクチャ生成部106及び復号可能条件生成部107のブロックが追加される。
本実施の形態では、受信部101は、パラメータλと復号可能条件Pを受信する。
マスター鍵生成部103は、パラメータλを用いてSetupアルゴリズムを実行し、マスター公開鍵pkとマスター秘密鍵skとを生成する。
変数識別子変換表生成部105は、変数識別子変換表Tに属性集合Γを追加することで、変数識別子変換表Tを更新する。
復号可能条件生成部107は、復号可能条件Pと変数識別子変換表Tとを用いて復号可能条件情報Qを生成する。
なお、復号可能条件生成部107により行われる処理は、復号可能条件生成処理に相当する。
アクセスストラクチャ生成部106は、復号可能条件情報Qと変数識別子変換表Tとを用いて、スパンプログラムのアクセスストラクチャSを生成する。
なお、アクセスストラクチャ生成部106により行われる処理は、アクセスストラクチャ生成処理に相当する。
ユーザ秘密鍵生成部104は、マスター公開鍵pkと、マスター秘密鍵skと、アクセスストラクチャSとを用いてKeyGenアルゴリズムを実行し、ユーザ秘密鍵Kを生成する。
つまり、ユーザ秘密鍵生成部104は、送信データであるユーザ秘密鍵Kを生成する。
なお、ユーザ秘密鍵生成部104は、送信データ生成部に相当する。また、ユーザ秘密鍵生成部104により行われる処理は、送信データ生成処理に相当する。
送信部102は、マスター公開鍵pkを暗号化装置200に送信する。
また、送信部102は、マスター公開鍵pkと変数識別子変換表Tとを復号装置300に送信する。
更に、送信部102は、ユーザ秘密鍵Kと復号可能条件情報Qとを、秘密裡に復号装置300に送信する。
つまり、送信部102は、アクセスストラクチャSに代えて復号可能条件情報Qをユーザ秘密鍵Kとともに復号装置300に送信する。
なお、送信部102により行われる処理は、送信処理に相当する。
図11は、本実施の形態に係る暗号化装置200の機能構成例を示す。
本実施の形態に係る暗号化装置200のハードウェア構成例は図17に示す通りである。但し、本実施の形態では、磁気ディスク装置260には、図11に示す受信部201、送信部202及び暗号化部203の機能を実現するプログラム262が格納されている。
このため、本実施の形態に係る暗号化装置200では、図17のプロセッサ251のブロックにアクセスストラクチャ生成部204及び復号可能条件生成部205のブロックが含まれない。
受信部201は、属性集合Γと平文mを受信する。
暗号化部203は、属性集合Γと平文mとを用いてEncアルゴリズムを実行し、暗号文CΓを生成する。
送信部202は、暗号文CΓを復号装置300に送信する。
図12は、本実施の形態に係る復号装置300の機能構成例を示す。
本実施の形態に係る復号装置300のハードウェア構成例は図18に示す通りである。
受信部301は、マスター公開鍵pkとユーザ秘密鍵Kと復号可能条件情報Qと変数識別子変換表Tを受信する。また、受信部301は、暗号文CΓを受信する。
アクセスストラクチャ生成部304は、復号可能条件情報Qと変数識別子変換表TとからアクセスストラクチャSを生成する。
復号部303は、アクセスストラクチャSと、暗号文CΓに含まれる属性集合Γとを用いて、復号可能条件が成立しているか否かを判定する。復号可能条件が成立していない場合は、復号部303は、識別情報⊥を送信部302に出力する。復号可能条件が成立している場合は、復号部303は、マスター公開鍵pkと、ユーザ秘密鍵Kと、アクセスストラクチャSとを用いてDecアルゴリズムを実行して、暗号文CΓを復号して、平文mを得る。
送信部302は、平文m又は識別情報⊥を出力する。
***動作の説明***
次に、本実施の形態に係る暗号処理システム20の動作例を説明する。
鍵生成装置100は、実施の形態1と同様に、Setupアルゴリズムを実行する。
本実施の形態でも、鍵生成装置100によるSetupアルゴリズムは、図3に示す通りであるため、説明を省略する。
図13は、鍵生成装置100が実行するKeyGenアルゴリズムの動作を示すフローチャートである。
ステップS1201において、鍵生成装置100の受信部101は、復号可能条件Pを受信する。
次に、ステップS1202において、鍵生成装置100の変数識別子変換表生成部105は、ステップS1201において受信した復号可能条件Pを変数識別子変換表Tに追加することで、変数識別子変換表Tを更新する。既に変数識別子変換表Tに復号可能条件Pが含まれている場合は追加しなくてよい。但し、変数識別子変換表Tの初期状態は空集合としてもよいし、使用する属性のリストを予め設定してもよい。
次に、ステップS1203において、鍵生成装置100の復号可能条件生成部107は、ステップS1201において鍵生成装置100の受信部101が受信した復号可能条件Pと、ステップS1202において鍵生成装置100の変数識別子変換表生成部105が生成した変数識別子変換表Tとを用いて、復号可能条件情報Qを生成する。
次に、ステップS1204において、鍵生成装置100のアクセスストラクチャ生成部106は、ステップS1203において鍵生成装置100の復号可能条件生成部107が生成した復号可能条件情報Qと、ステップS1201において鍵生成装置100の受信部101が受信した変数識別子変換表Tとを用いて、スパンプログラムのアクセスストラクチャSを生成する。
次に、ステップS1205において、鍵生成装置100のユーザ秘密鍵生成部104は、ステップS103において保管されたマスター公開鍵pkと、マスター秘密鍵skと、ステップS1204において鍵生成装置100のアクセスストラクチャ生成部106が生成したアクセスストラクチャSとを用いてKeyGenアルゴリズムを実行し、ユーザ秘密鍵Kを生成する。
次に、ステップS1206において、鍵生成装置100の送信部102は、ステップS1205において鍵生成装置100のユーザ秘密鍵生成部104が生成したユーザ秘密鍵KとステップS1203において鍵生成装置100の復号可能条件生成部107が生成した復号可能条件情報Qとを、秘密裡に復号装置300の受信部301へ送信する。
次に、ステップS1207において、鍵生成装置100の送信部102は、ステップS1202において鍵生成装置100の変数識別子変換表生成部105が更新した変数識別子変換表Tを、暗号化装置200の受信部201と復号装置300の受信部301とに公開する。具体的には、送信部102は、変数識別子変換表Tを、暗号化装置200の受信部201と復号装置300の受信部301とに送信する。
次に、ステップS1208において、暗号化装置200の受信部201は、ステップS1207において鍵生成装置100の送信部102が送信した変数識別子変換表Tを受信する。
また、ステップS1209において、復号装置300の受信部301は、ステップS1206において鍵生成装置100の送信部102が送信したユーザ秘密鍵Kと復号可能条件情報Qとを秘密裡に受信する。
更に、ステップS1210において、復号装置300の受信部301は、ステップS1207において鍵生成装置100の送信部102が送信した変数識別子変換表Tを受信する。
図14は、暗号化装置200が実行するEncアルゴリズムの動作を示すフローチャートである。
ステップS1301において、暗号化装置200の受信部201は、属性集合Γと平文mを受信する。
次に、ステップS1302において、暗号化装置200の暗号化部203は、ステップS1301で暗号化装置200の受信部201が受信した属性集合Γと平文mとを用いてEncアルゴリズムを実行し、暗号文CΓを生成する。
次に、ステップS1303において、暗号化装置200の送信部202は、ステップS1302において暗号化装置200の暗号化部203が生成した暗号文CΓを、復号装置300の受信部301に送信する。
次に、ステップS1304において、復号装置300の受信部301は、ステップS1303において暗号化装置200の送信部202が送信した暗号文CΓを受信する。
図15は、復号装置300が実行するDecアルゴリズムの動作を示すフローチャートである。
ステップS1401において、復号装置300の受信部301は、ステップS1304において暗号化装置200の送信部202が送信した暗号文CΓを受信する。
ステップS1402において、復号装置300のアクセスストラクチャ生成部304は、ステップS1209において復号装置300の受信部301が受信した復号可能条件情報Qと、ステップS1210において復号装置300の受信部301が受信した変数識別子変換表TとからアクセスストラクチャSを生成する。
ステップS1402のアクセスストラクチャSの生成手順は、ステップS1204のアクセスストラクチャSの生成手順と同じである。
ステップS1403において、復号装置300の復号部303は、ステップS1402において復号装置300のアクセスストラクチャ生成部304が生成したアクセスストラクチャSと、ステップS1401において復号装置300の受信部301が受信した暗号文CΓに含まれる属性集合Γとを用いて、アクセスストラクチャSが属性集合Γを受理するか否かを判定する。つまり、復号部303は、復号可能条件が成立しているか否かを判定する。
判定結果が拒絶だった場合、つまり、復号可能条件が成立していない場合は、復号部303は、ステップS1406において、識別情報⊥を復号装置300の送信部302へ出力する。そして、送信部302が識別情報⊥を出力する。
一方、判定結果が受理だった場合、つまり、復号可能条件が成立している場合は、処理がステップS1404に進む。
ステップS1404では、復号装置300の復号部303は、ステップS106において復号装置300の受信部301が受信したマスター公開鍵pkと、ステップS1209において復号装置300の受信部301が受信したユーザ秘密鍵Kと、ステップS1402において復号装置300のアクセスストラクチャ生成部304が生成したアクセスストラクチャSと、ステップS1401において復号装置300の受信部301が受信した暗号文CΓとを用いてDecアルゴリズムを実行し、暗号文CΓを復号して、平文mを復元する。
次に、ステップS1405において、復号装置300の送信部302は、ステップS1404において復号装置300の復号部303が復号により得られた平文mを送信部302に出力する。そして、送信部302が平文mを出力する。
***実施の形態の効果の説明***
本実施の形態によれば、通信帯域及びストレージを圧迫することなくKey−Policy関数型暗号を実現することができる。
以上、本発明の実施の形態について説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、鍵生成装置100、暗号化装置200及び復号装置300のハードウェア構成の補足説明を行う。
プロセッサ151、プロセッサ251及びプロセッサ351は、それぞれ、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ151、プロセッサ251及びプロセッサ351は、それぞれ、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
プロセッサ151は、バス152を介してROM153、RAM154、通信ボード155、ディスプレイ156、キーボード157、マウス158、ドライブ159及び磁気ディスク装置160を制御する。
プロセッサ251は、バス252を介してROM253、RAM254、通信ボード255、ディスプレイ256、キーボード257、マウス258、ドライブ259及び磁気ディスク装置260を制御する。
プロセッサ351は、バス352を介してROM353、RAM354、通信ボード355、ディスプレイ356、キーボード357、マウス358、ドライブ359及び磁気ディスク装置360を制御する。
ドライブ159、ドライブ259及びドライブ359は、それぞれ、FD(Flexible Disk Drive)、CD(Compact Disc)、DVDなどの記憶媒体を読み書きする装置である。
ROM153、RAM154、磁気ディスク装置160、ROM253、RAM254、磁気ディスク装置260、ROM353、RAM354及び磁気ディスク装置360は記憶装置の一例である。キーボード157、マウス158、ドライブ159、キーボード257、マウス258、ドライブ259、キーボード357、マウス358及びドライブ359は入力装置の一例である。通信ボード155、ディスプレイ156、通信ボード255、ディスプレイ256、通信ボード355及びディスプレイ356は出力装置の一例である。
通信ボード155、通信ボード255及び通信ボード355は、それぞれ、有線または無線で、LAN、インターネット、電話回線などの通信網に接続している。
プロセッサ151はOS161の少なくとも一部を実行しながら、プログラム162を実行する。
プロセッサ151がOS161を実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、プログラム162の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、ファイル163として磁気ディスク装置160で記憶される。また、プログラム162の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかは、ROM153、プロセッサ151内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶されてもよい。
また、プログラム162は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、プログラム162が格納された可搬記録媒体を商業的に流通させてもよい。
プロセッサ251はOS261の少なくとも一部を実行しながら、プログラム262を実行する。
プロセッサ251がOS261を実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、プログラム262の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、ファイル263として磁気ディスク装置260で記憶される。また、プログラム262の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかは、ROM253、プロセッサ251内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶されてもよい。
また、プログラム262は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、プログラム262が格納された可搬記録媒体を商業的に流通させてもよい。
プロセッサ351はOS361の少なくとも一部を実行しながら、プログラム362を実行する。
プロセッサ351がOS361を実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、プログラム362の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、ファイル363として磁気ディスク装置360で記憶される。また、プログラム362の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかは、ROM353、プロセッサ351内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶されてもよい。
また、プログラム362は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、プログラム362が格納された可搬記録媒体を商業的に流通させてもよい。
また、受信部101、送信部102、マスター鍵生成部103、ユーザ秘密鍵生成部104、変数識別子変換表生成部105、アクセスストラクチャ生成部106、復号可能条件生成部107、受信部201、送信部202、暗号化部203、アクセスストラクチャ生成部204、復号可能条件生成部205、受信部301、送信部302、復号部303及びアクセスストラクチャ生成部304の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、鍵生成装置100、暗号化装置200及び復号装置300は、それぞれ、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)である。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
10 暗号処理システム、20 暗号処理システム、100 鍵生成装置、101 受信部、102 送信部、103 マスター鍵生成部、104 ユーザ秘密鍵生成部、105 変数識別子変換表生成部、106 アクセスストラクチャ生成部、107 復号可能条件生成部、151 プロセッサ、152 バス、153 ROM、154 RAM、155 通信ボード、156 ディスプレイ、157 キーボード、158 マウス、159 ドライブ、160 磁気ディスク装置、161 OS、162 プログラム、163 ファイル、200 暗号化装置、201 受信部、202 送信部、203 暗号化部、204 アクセスストラクチャ生成部、205 復号可能条件生成部、251 プロセッサ、252 バス、253 ROM、254 RAM、255 通信ボード、256 ディスプレイ、257 キーボード、258 マウス、259 ドライブ、260 磁気ディスク装置、261 OS、262 プログラム、263 ファイル、300 復号装置、301 受信部、302 送信部、303 復号部、304 アクセスストラクチャ生成部、351 プロセッサ、352 バス、353 ROM、354 RAM、355 通信ボード、356 ディスプレイ、357 キーボード、358 マウス、359 ドライブ、360 磁気ディスク装置、361 OS、362 プログラム、363 ファイル。

Claims (12)

  1. 復号装置において復号が可能な条件である復号可能条件が記述される復号可能条件情報を生成する復号可能条件生成部と、
    前記復号可能条件情報を用いてスパンプログラムのアクセスストラクチャを生成するアクセスストラクチャ生成部と、
    前記アクセスストラクチャを用いて暗号化データ及び秘密鍵のいずれかを送信データとして生成する送信データ生成部と、
    前記アクセスストラクチャに代えて前記復号可能条件情報を前記送信データとともに前記復号装置に送信する送信部とを有するデータ処理装置。
  2. 前記復号可能条件生成部は、
    前記復号可能条件情報として、前記復号装置が前記スパンプログラムのアクセスストラクチャを生成可能な情報を生成する請求項1に記載のデータ処理装置。
  3. 前記復号可能条件生成部は、
    前記スパンプログラムのアクセスストラクチャよりもデータサイズが小さい復号可能条件情報を生成する請求項1に記載のデータ処理装置。
  4. 前記復号可能条件生成部は、
    前記復号可能条件情報として、前記復号可能条件が記述されるブール代数の式を生成する請求項1に記載のデータ処理装置。
  5. 前記復号可能条件生成部は、
    前記復号可能条件が記述されるブール代数の式を既定の圧縮ルールに従って圧縮し、圧縮後のブール代数の式と、前記圧縮後のブール代数の式を伸長するための情報とを、前記復号可能条件情報として用いる請求項1に記載のデータ処理装置。
  6. 復号を行う復号部と、
    スパンプログラムのアクセスストラクチャを用いて生成された暗号化データ及び秘密鍵のいずれかと、前記復号部による復号が可能な条件である復号可能条件が記述され、前記スパンプログラムのアクセスストラクチャの生成に用いられた復号可能条件情報とを受信する受信部と、
    前記復号可能条件情報を用いて前記スパンプログラムのアクセスストラクチャを生成するアクセスストラクチャ生成部と、
    生成された前記スパンプログラムのアクセスストラクチャを用いて前記復号可能条件が成立しているか否かを判定する判定部とを有する復号装置。
  7. 前記受信部は、
    前記復号可能条件情報として、前記復号可能条件が記述されるブール代数の式を受信する請求項6に記載の復号装置。
  8. 前記受信部は、
    前記復号可能条件情報として、前記復号可能条件が記述されるブール代数の式が既定の圧縮ルールに従って圧縮されて得られた圧縮後のブール代数の式を受信する請求項6に記載の復号装置。
  9. プロセッサが、復号装置において復号が可能な条件である復号可能条件が記述される復号可能条件情報を生成し、
    前記プロセッサが、前記復号可能条件情報を用いてスパンプログラムのアクセスストラクチャを生成し、
    前記プロセッサが、前記アクセスストラクチャを用いて暗号化データ及び秘密鍵のいずれかを送信データとして生成し、
    前記プロセッサが、前記アクセスストラクチャに代えて前記復号可能条件情報を前記送信データとともに前記復号装置に送信するデータ処理方法。
  10. 復号を行うプロセッサが、スパンプログラムのアクセスストラクチャを用いて生成された暗号化データ及び秘密鍵のいずれかと、前記プロセッサによる復号が可能な条件である復号可能条件が記述され、前記スパンプログラムのアクセスストラクチャの生成に用いられた復号可能条件情報とを受信し、
    前記プロセッサが、前記復号可能条件情報を用いて前記スパンプログラムのアクセスストラクチャを生成し、
    前記プロセッサが、生成された前記スパンプログラムのアクセスストラクチャを用いて前記復号可能条件が成立しているか否かを判定する復号方法
  11. 復号装置において復号が可能な条件である復号可能条件が記述される復号可能条件情報を生成する復号可能条件生成処理と、
    前記復号可能条件情報を用いてスパンプログラムのアクセスストラクチャを生成するアクセスストラクチャ生成処理と、
    前記アクセスストラクチャを用いて暗号化データ及び秘密鍵のいずれかを送信データとして生成する送信データ生成処理と、
    前記アクセスストラクチャに代えて前記復号可能条件情報を前記送信データとともに前記復号装置に送信する送信処理とをプロセッサに実行させるデータ処理プログラム。
  12. 復号を行う復号処理と、
    スパンプログラムのアクセスストラクチャを用いて生成された暗号化データ及び秘密鍵のいずれかと、前記復号処理による復号が可能な条件である復号可能条件が記述され、前記スパンプログラムのアクセスストラクチャの生成に用いられた復号可能条件情報とを受信する受信処理と、
    前記復号可能条件情報を用いて前記スパンプログラムのアクセスストラクチャを生成するアクセスストラクチャ生成処理と、
    生成された前記スパンプログラムのアクセスストラクチャを用いて前記復号可能条件が成立しているか否かを判定する判定処理とをプロセッサに実行させる復号プログラム。
JP2021529654A 2019-07-04 2019-07-04 データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム Active JP6980158B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/026642 WO2021001990A1 (ja) 2019-07-04 2019-07-04 データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム

Publications (2)

Publication Number Publication Date
JPWO2021001990A1 JPWO2021001990A1 (ja) 2021-10-14
JP6980158B2 true JP6980158B2 (ja) 2021-12-15

Family

ID=74100789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021529654A Active JP6980158B2 (ja) 2019-07-04 2019-07-04 データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム

Country Status (2)

Country Link
JP (1) JP6980158B2 (ja)
WO (1) WO2021001990A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023014969A1 (en) * 2021-08-06 2023-02-09 Ntt Research, Inc. Compact Adaptively Secure Functional Encryption For Attribute-Weighted Sums

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5852551B2 (ja) * 2012-11-12 2016-02-03 日本電信電話株式会社 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
JP6384149B2 (ja) * 2014-07-01 2018-09-05 日本放送協会 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム
JP6522263B2 (ja) * 2017-01-18 2019-05-29 三菱電機株式会社 準同型演算装置、暗号システム及び準同型演算プログラム

Also Published As

Publication number Publication date
JPWO2021001990A1 (ja) 2021-10-14
WO2021001990A1 (ja) 2021-01-07

Similar Documents

Publication Publication Date Title
TW382092B (en) Apparatus, method and computer program product for protecting copyright data within a computer system
EP2352251A1 (en) Content decoding apparatus, content decoding method and integrated circuit
JP2019516266A (ja) 量子鍵配送に基づく暗号化及び復号のためのシステム及び方法
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
KR100579673B1 (ko) 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템
KR20060052219A (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
KR100940202B1 (ko) 일방향 함수를 사용하여 계층적으로 암호화하는 장치 및방법
JPH11205738A (ja) 画像入力装置および方法並びに記憶媒体
US7751556B2 (en) Apparatus and method of generating falsification detecting data of encrypted data in the course of process
WO2007032315A1 (ja) コンテンツ管理システム及びコンテンツ管理装置
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
US11431489B2 (en) Encryption processing system and encryption processing method
US20080192924A1 (en) Data encryption without padding
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP6980158B2 (ja) データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム
US6819764B1 (en) Data processor, communication system and recording medium
JP3537959B2 (ja) 情報復号化装置
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP2006330126A (ja) 暗号化処理方法、および復号化処理方法
WO2006115213A1 (ja) 回路更新システム
JP2006099697A (ja) 情報プログラム保護方法及び装置
WO2020051833A1 (zh) 信息处理方法、终端设备及网络系统
JP2020020928A (ja) 通信装置および通信プログラム
JP7378675B2 (ja) 暗号化タグ生成装置、秘匿検索システム、暗号化タグ生成方法及び暗号化タグ生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210618

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

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: 20211019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211116

R150 Certificate of patent or registration of utility model

Ref document number: 6980158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150