JP5755557B2 - Timed cryptographic system, timed cryptographic method, apparatus, and program - Google Patents

Timed cryptographic system, timed cryptographic method, apparatus, and program Download PDF

Info

Publication number
JP5755557B2
JP5755557B2 JP2011277380A JP2011277380A JP5755557B2 JP 5755557 B2 JP5755557 B2 JP 5755557B2 JP 2011277380 A JP2011277380 A JP 2011277380A JP 2011277380 A JP2011277380 A JP 2011277380A JP 5755557 B2 JP5755557 B2 JP 5755557B2
Authority
JP
Japan
Prior art keywords
information
time
ciphertext
encryption
algorithm
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
JP2011277380A
Other languages
Japanese (ja)
Other versions
JP2013128235A (en
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 JP2011277380A priority Critical patent/JP5755557B2/en
Publication of JP2013128235A publication Critical patent/JP2013128235A/en
Application granted granted Critical
Publication of JP5755557B2 publication Critical patent/JP5755557B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は時限暗号技術に関する。   The present invention relates to a timed cryptographic technique.

暗号システムを運用する際、秘密鍵は運用の誤りや機器の故障などによる漏洩の危機に常に晒されている。単位時間当たりに一定の確率ε(0<ε<1)で秘密鍵の漏洩事故が発生すると仮定すると、運用開始から或る時刻tまでに漏洩事故が発生する確率は1-(1-ε)であり、ε≠0である限り時刻tの進行と共に漏洩事故の発生確率は指数的に1に近づく。つまり、秘密鍵の漏洩事故の発生は事実上不可避と言える。 When operating a cryptographic system, the secret key is constantly exposed to the risk of leakage due to operational errors and equipment failures. Assuming that a secret key leakage accident occurs with a certain probability ε (0 <ε <1) per unit time, the probability of a leakage accident occurring at a certain time t from the start of operation is 1- (1-ε) As long as ε ≠ 0, the probability of occurrence of a leakage accident exponentially approaches 1 as time t progresses. In other words, it can be said that a secret key leakage accident is inevitable.

しかしながら、実際に秘密鍵の漏洩事故が発生してもユーザがその事実に気付かないことが多い。従って、暗号システムを安全に運用したい場合は、一般的に、発行の時から一定の期間を過ぎた秘密鍵を新しい秘密鍵に更新することが好ましい。   However, even if a secret key leakage accident actually occurs, the user often does not notice the fact. Therefore, when it is desired to operate the cryptographic system safely, it is generally preferable to update a secret key that has passed a certain period from the time of issue to a new secret key.

なお、暗号技術に係るこのような保守管理(秘密鍵の更新)は周知であるから、先行技術文献を挙げるまでもない。   Since such maintenance management (updating of the secret key) related to the cryptographic technique is well known, it is needless to mention prior art documents.

しかし、秘密鍵を管理するスキルの乏しいユーザは秘密鍵の更新を怠りがちである。   However, users with poor skills to manage secret keys tend to neglect updating the secret key.

そこで本発明は、暗号文に設定された時刻(暗号化時刻)が予め設定された時的制限情報(復号アルゴリズムの実行の時的制限に係る予め定められた時間に関する情報)を満たさない場合に暗号文の復号に失敗する時限暗号技術を提供することを目的とする。   Therefore, the present invention provides a case in which the time set in the ciphertext (encryption time) does not satisfy the preset time restriction information (information relating to a predetermined time relating to the time restriction of execution of the decryption algorithm). An object of the present invention is to provide a timed encryption technology that fails to decrypt ciphertext.

本発明の時限暗号技術は、次のとおりである。公開パラメータpkとマスター秘密鍵skが定められた暗号(KeyGen,Enc,Dec)が、KeyGen(sk,i)→ski:鍵生成アルゴリズム(マスター秘密鍵skと情報iを入力とし、当該情報iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム)と、Enc(pk,j,x)→cj:暗号化アルゴリズム(公開パラメータpkと情報jと暗号化対象の情報(以下、平文という)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム)と、Dec(pk,ski,cj)→y:復号アルゴリズム(公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、情報yを出力する確率的多項式時間アルゴリズム)とを含み、情報iと情報jが予め定められた関係Rを満たすときに情報yとして平文xが得られるように構成されている。時限暗号システムを構成する鍵発行装置では、情報iを復号アルゴリズムの実行の時的制限に係る予め定められた時間に関する情報t(時的制限情報t)を含む情報として、暗号の鍵生成アルゴリズムKeyGen(sk,i)を実行して秘密鍵skt←KeyGen(sk,i)を生成する[秘密鍵生成処理]。時限暗号システムを構成する送信者成装置では、情報jを暗号文に設定される時刻t'(暗号化時刻t')を含む情報とし、暗号の暗号化アルゴリズムEnc(pk,j,m)を実行して暗号文ct'←Enc(pk,j,m)を生成する[暗号文生成処理]。時限暗号システムを構成する受信者装置では、秘密鍵skiを秘密鍵sktとし、暗号文cjを暗号文ct'として、暗号の復号アルゴリズムDec(pk,skt,ct')を実行する[復号処理]。 The time-limited encryption technique of the present invention is as follows. The cipher (KeyGen, Enc, Dec) with the public parameter pk and the master secret key sk determined is KeyGen (sk, i) → sk i : key generation algorithm (the master secret key sk and the information i are input, the information i A probabilistic polynomial time algorithm that outputs a secret key sk i corresponding to, and Enc (pk, j, x) → c j : Encryption algorithm (public parameter pk and information j and information to be encrypted (hereinafter, plaintext) A stochastic polynomial time algorithm that takes x as input and outputs ciphertext c j ) and Dec (pk, sk i , c j ) → y: decryption algorithm (public parameter pk, secret key sk i , ciphertext c a stochastic polynomial time algorithm that takes j as input and outputs information y), and is configured such that plaintext x is obtained as information y when information i and information j satisfy a predetermined relationship R . In the key issuing device constituting the time-limited encryption system, the encryption key generation algorithm KeyGen is used as the information i including information t (time restriction information t) relating to a predetermined time relating to the time restriction of execution of the decryption algorithm. (sk, i) is executed to generate a secret key sk t <-KeyGen (sk, i) [secret key generation process]. In the sender device constituting the timed cryptographic system, the information j is information including the time t ′ (encryption time t ′) set in the ciphertext, and the encryption algorithm Enc (pk, j, m) is used. Execute to generate ciphertext c t ′ ← Enc (pk, j, m) [ciphertext generation processing]. In the receiver device that constitutes the timed cryptographic system, the secret key sk i is the secret key sk t , the ciphertext c j is the ciphertext c t ′ , and the cipher decryption algorithm Dec (pk, sk t , c t ′ ) is used. Perform [Decryption].

本発明に拠れば、暗号化時刻が時的制限情報を満たさない場合に暗号文の復号に失敗するので、秘密鍵を利用するユーザ(つまり、受信者装置のユーザ)に対して秘密鍵の更新を動機付けることになる。また、仮に秘密鍵が漏洩しても、時的制限情報を満たさない時刻が設定された暗号文は、時的制限情報を満たす時刻以外の時刻において復号されないので、当該暗号文の安全性が高まる。   According to the present invention, since the decryption of the ciphertext fails when the encryption time does not satisfy the time restriction information, the secret key is updated for the user who uses the secret key (that is, the user of the recipient device). Will be motivated. In addition, even if the secret key is leaked, the ciphertext in which the time that does not satisfy the time restriction information is set is not decrypted at a time other than the time that satisfies the time restriction information. .

実施形態の時限暗号システムを示す図。The figure which shows the time-limited encryption system of embodiment. 実施形態における時限暗号の処理手順を示す図。The figure which shows the processing procedure of the time encryption in embodiment. 実施形態に関わる時限暗号システムの構成要素である鍵発行装置、送信者装置、受信者装置の機能構成を示す図。The figure which shows the function structure of the key issuing apparatus, sender apparatus, and receiver apparatus which are the components of the time-limited encryption system in connection with embodiment. ビット表現された整数変数tと定数t'とを比較する述語の構成方法(t>t')。A method of constructing a predicate that compares an integer variable t expressed in bits with a constant t ′ (t> t ′). ビット表現された整数変数tと定数t'とを比較する述語の構成方法(t≧t')。A predicate construction method for comparing a bit-represented integer variable t and a constant t ′ (t ≧ t ′).

《原理》
本発明の時限暗号は関数型暗号を利用して実現される。そこでまず関数型暗号について説明する。
"principle"
The timed encryption of the present invention is realized using functional encryption. First, functional encryption will be described.

<関数型暗号>
近年、関数型暗号と呼ばれるIDベース暗号の拡張暗号が開発されている。関数型暗号とIDベース暗号には構文の違いは全く無い。即ち、関数型暗号も下記の4つのアルゴリズム(Setup,KeyGen,Enc,Dec)から構成される。プロトコルの概略は下記のとおりである。
《プロトコルFE》
========================================
・Setup(1λ)→(pk,sk):セットアップアルゴリズム
セキュリティパラメータ1λを入力とし、公開パラメータpkとマスター秘密鍵skを出力する確率的多項式時間アルゴリズム
・KeyGen(sk,i)→ski:鍵生成アルゴリズム
マスター秘密鍵skと鍵識別子iを入力とし、当該鍵識別子iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム
・Enc(pk,j,x)→cj:暗号化アルゴリズム
公開パラメータpkと受信者識別子jと暗号化対象の情報(平文)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム
・Dec(pk,ski,cj)→y:復号アルゴリズム
公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、平文yを出力する確率的多項式時間アルゴリズム
========================================
<Functional encryption>
In recent years, ID-based encryption extended encryption called functional encryption has been developed. There is no difference in syntax between functional encryption and ID-based encryption. That is, the functional encryption is also composed of the following four algorithms (Setup, KeyGen, Enc, Dec). The outline of the protocol is as follows.
<Protocol FE>
=======================================
Setup (1 λ ) → (pk, sk): Setup algorithm Probabilistic polynomial time algorithm that takes security parameter 1 λ as input and outputs public parameter pk and master secret key sk KeyGen (sk, i) → sk i : Key generation algorithm Probabilistic polynomial time algorithm that receives the master secret key sk and key identifier i and outputs the secret key sk i corresponding to the key identifier i Enc (pk, j, x) → c j : Encryption algorithm as input the public parameter pk and the recipient identifier j and the encrypted object information (plain text) x, the probability outputs ciphertext c j polynomial time algorithm · Dec (pk, sk i, c j) → y: decoding algorithm Probabilistic polynomial time algorithm that takes public parameter pk, secret key sk i and ciphertext c j as input and outputs plaintext y ====================== =================

関数型暗号では、IDベース暗号の正当性が拡張されており、暗号文の受信者は鍵識別子iを持つ秘密鍵と受信者識別子jを持つ暗号文から平文xに関する何らかの関数fi,j(x)を評価することができるようになっている。即ち、或る関数fi,j(x)が存在し∀i∈{0,1}poly(λ),∀j∈{0,1}poly(λ),∀x∈{0,1}poly(λ)に対して式(1)で表される確率Prがλに関して圧倒的(1との差が無視しうる)であるとき、その関数型暗号(Setup,KeyGen,Enc,Dec)は正当であると云う。なお、poly(λ)はλで決まる多項式長を表している。

Figure 0005755557
In the functional encryption, the validity of the ID-based encryption is extended, and the recipient of the ciphertext can use a secret key having the key identifier i and some function f i, j ( x) can be evaluated. In other words, some functions f i, j (x) is present ∀i∈ {0,1} poly (λ) , ∀j∈ {0,1} poly (λ), ∀x∈ {0,1} poly When the probability Pr expressed by Equation (1) is overwhelming with respect to (λ) (difference from 1 can be ignored), the functional encryption (Setup, KeyGen, Enc, Dec) is valid. It is said that. Note that poly (λ) represents a polynomial length determined by λ.
Figure 0005755557

特に、或る関係R(・,・)が存在し、式(2)で表されるタイプの関数fi,j(x)を持つ関数型暗号は様々な暗号を包含している(⊥は正常に復号できなかったことを表す記号である)。

Figure 0005755557
In particular, there is a certain relationship R (•, •), and a functional cipher having a function f i, j (x) of the type expressed by Equation (2) includes various ciphers (⊥ This is a symbol indicating that the decryption was not successful).
Figure 0005755557

例えばIDベース暗号は式(3)で表される関数fi,j(x)を持つ関数型暗号と定義することができる。

Figure 0005755557
For example, the ID-based cipher can be defined as a functional cipher having a function f i, j (x) expressed by the equation (3).
Figure 0005755557

より高度な関係R(・,・)を持つ様々な関数型暗号が研究されている。このタイプの関数型暗号のうち最も汎用性の高いものは属性ベース暗号(attribute-based encryption, ABE)あるいは述語暗号(predicate encryption, PE)等と呼ばれ、よく研究されている。2010年に岡本龍明らは多項式サイズの述語および述語変数の集合に対応し、標準的な暗号学的仮定の下で適応的識別子攻撃に対してCCA安全が証明できる比較的実用的なこのタイプの関数型暗号を提案した(参考文献1参照)。
(参考文献1)Tatsuaki Okamoto and Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," International Cryptology Conference CRYPTO, pp.191-208, November 2010.
Various functional ciphers with a more advanced relationship R (•, •) have been studied. Among these types of functional encryption, the most versatile one is called attribute-based encryption (ABE) or predicate encryption (PE), and is well studied. In 2010, Takiaki Okamoto et al. Corresponded to a set of predicates and predicate variables of polynomial size, and this relatively practical type that could prove CCA security against adaptive identifier attacks under standard cryptographic assumptions. Proposed a functional encryption (see Reference 1).
(Reference 1) Tatsuaki Okamoto and Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," International Cryptology Conference CRYPTO, pp.191-208, November 2010.

鍵識別子iを述語、受信者識別子jを述語変数のインスタンスとして式(4)で表される関係R(・,・)を持つ関数型暗号は鍵ポリシー関数型暗号(key-policy functional encryption, KP-FE)と呼ばれる。

Figure 0005755557
Functional encryption with the relationship R (•, •) expressed by equation (4), where key identifier i is a predicate and receiver identifier j is an instance of a predicate variable, is key-policy functional encryption, KP -FE).
Figure 0005755557

鍵識別子iを述語変数、受信者識別子jを述語のインスタンスとして式(5)で表される関係R(・,・)を持つ関数型暗号は暗号文ポリシー関数型暗号(ciphertext-policy functional encryption, CP-FE)と呼ばれる。

Figure 0005755557
A functional cipher having the relationship R (·, ·) represented by Expression (5) with a key identifier i as a predicate variable and a receiver identifier j as an instance of the predicate is a ciphertext-policy functional encryption, CP-FE).
Figure 0005755557

鍵識別子iaと受信者識別子jaを述語変数、鍵識別子ipと受信者識別子jpを述語のインスタンスとし、i=ia‖ip,j=ja‖jpとして、式(6)で表される関係R(・,・)を持つ関数型暗号は統合ポリシー関数型暗号(unified-policy functional encryption, UP-FE)と呼ばれる(参考文献2参照)。記号‖は、識別子同士の結合(例えば、バイナリ表現された識別子同士のバイナリ結合)を表す。
(参考文献2)Nuttapong Attrapadung and Hideki Imai, "Dual-Policy Attribute Based Encryption," ACNS 2009, LNCS 5536, pp.168-185, 2009.

Figure 0005755557
The key identifier i a and the receiver identifier j a are predicate variables, the key identifier i p and the receiver identifier j p are instances of the predicate, and i = i a ‖i p and j = j a ‖j p ) Is referred to as unified policy functional encryption (UP-FE) (see Reference 2). The symbol ‖ represents a combination of identifiers (for example, binary combination of identifiers expressed in binary).
(Reference 2) Nuttapong Attrapadung and Hideki Imai, "Dual-Policy Attribute Based Encryption," ACNS 2009, LNCS 5536, pp.168-185, 2009.
Figure 0005755557

<関数型暗号を用いた時限暗号>
IDベース暗号と関数型暗号の構文(アルゴリズムの入出力インターフェイス)は完全に一致している。従って、同じような安全性を持つならば時限暗号に関してIDベース暗号の代わりに関数型暗号を利用できる。
<Timed encryption using functional encryption>
The syntax of ID-based encryption and functional encryption (algorithm input / output interface) is completely the same. Therefore, if it has the same security, functional encryption can be used instead of ID-based encryption for timed encryption.

xを平文、tを予め設定された時的制限情報(復号アルゴリズムの実行の時的制限に係る予め定められた時間に関する情報である。以下、時的制限情報を特に断りのない限り復号可能限界時刻と呼ぶことにする)、t'を暗号文に設定された暗号化時刻(通常、暗号化アルゴリズムを実行する時の時刻とされる。以下、暗号化時刻を特に断りのない限り暗号文生成時刻と呼ぶことにする)として、式(7)で表される関数ft,t'(x)を持つ関数型暗号を利用できるならば、暗号化時刻t'が時的制限情報tを満たさない場合、暗号文の復号に失敗することになる。なお、時的制限情報tを決定するイニシアティブは、通常、鍵発行装置または受信者装置を利用する者にあり、暗号化時刻t'を決定するイニシアティブは、通常、送信者装置を利用する者にある。時的制限情報tを決定するイニシアティブが受信者装置を利用する者にある場合、事前に、時的制限情報tを表す情報が受信者装置から鍵発行装置に伝達されているとする。

Figure 0005755557
x is plaintext, and t is preset time restriction information (information on a predetermined time relating to the time restriction of execution of the decryption algorithm. Hereinafter, the time limit information is decipherable unless otherwise specified. T 'is the encryption time set in the ciphertext (usually the time when the encryption algorithm is executed. Ciphertext generation unless otherwise specified below) If the functional cipher having the function f t, t ′ (x) represented by the equation (7) can be used, the encryption time t ′ satisfies the time restriction information t. If not, the decryption of the ciphertext will fail. It should be noted that the initiative to determine the time restriction information t is usually for the person who uses the key issuing device or the receiver device, and the initiative for determining the encryption time t ′ is usually for the person who uses the sender device. is there. When the person who uses the receiver device has an initiative for determining the time restriction information t, it is assumed that information representing the time restriction information t is transmitted from the receiver device to the key issuing device in advance.
Figure 0005755557

時的制限情報tが時刻を表す場合を考える。式(7)で表される関数ft,t'(x)によると、復号可能限界時刻tが暗号文生成時刻t'より小さい場合(つまり、暗号文生成時刻t'が復号可能限界時刻tより遅い時)、復号時に⊥が出力され、復号可能限界時刻tが暗号文生成時刻t'以上の場合(つまり、暗号文生成時刻t'が復号可能限界時刻tより遅くない時)、復号時に平文xが出力される。t≧t'あるいはその否定であるt<t'は関係Rによって表現できるところ、このような関数型暗号を属性ベース暗号に基づいて構成する方法は3通り存在する。 Consider a case where the time restriction information t represents time. According to the function f t, t ′ (x) represented by Expression (7), when the decryptable limit time t is smaller than the ciphertext generation time t ′ (that is, the ciphertext generation time t ′ is the decryptable limit time t Later), when a decryption is performed and the decryptable limit time t is equal to or longer than the ciphertext generation time t ′ (that is, when the ciphertext generation time t ′ is not later than the decryptable limit time t), Plain text x is output. Where t ≧ t ′ or its negative t <t ′ can be expressed by the relationship R, there are three methods for constructing such a functional encryption based on attribute-based encryption.

(1)鍵ポリシー関数型暗号を用いる方法:この場合、鍵発行装置は、tを復号可能限界時刻、t'を述語変数として、t≧t'なる述語(鍵識別子i)に関して秘密鍵sktを生成する。送信者装置は、暗号文生成時刻t'を属性に持つ暗号文ct'を生成し、当該暗号文ct'を受信者装置に送信する。 (1) Method using key policy function type encryption: In this case, the key issuing device uses the secret key sk t for a predicate (key identifier i) where t ≧ t ′, where t is a definable limit time and t ′ is a predicate variable. Is generated. The sender device generates a ciphertext c t ′ having the ciphertext generation time t ′ as an attribute, and transmits the ciphertext c t ′ to the receiver device.

(2)暗号文ポリシー関数型暗号を用いる方法:この場合、鍵発行装置は、復号可能限界時刻tを属性に持つ秘密鍵sktを生成する。送信者装置は、tを述語変数、t'を暗号文生成時刻として、t≧t'なる述語(受信者識別子j)に関して暗号文ct'を生成し、当該暗号文ct'を受信者装置に送信する。 (2) Method using ciphertext policy function type encryption: In this case, the key issuing device generates a secret key sk t having the decryptable limit time t as an attribute. The sender device generates a ciphertext c t ′ for a predicate (receiver identifier j) where t ≧ t ′, where t is a predicate variable and t ′ is a ciphertext generation time, and the ciphertext c t ′ is received by the receiver Send to device.

(3)統合ポリシー関数型暗号を用いる方法:この場合、鍵発行装置は、iaを受信者の属性(「受信者の属性」として、受信者装置の属性や受信者装置を利用するユーザの属性などが挙げられ、特に限定は無い)、tを復号可能限界時刻、t'を述語変数として、t≧t'なる述語ipと受信者の属性iaに関して秘密鍵skia‖(t≧t')を生成する。送信者装置は、jaを暗号文生成時刻t'、jpを復号のための条件(以下、必要条件という)のうちの一つを表す述語として、述語jpと暗号文生成時刻t'に関して暗号文ct'‖jpを生成し、当該暗号文ct'‖jpを受信者装置に送信する。このタイプの関数型暗号に拠ると、必要条件は「述語ip」と「述語jp」の二つであり、具体的には、受信者装置は「t≧t'(受信者識別子ja=暗号文生成時刻t'が、述語ip=“t≧t'”を満たす)」且つ「鍵識別子ia=受信者の属性iaが、述語jpを満たす」場合に暗号文ct'‖jpを復号できる。必要条件を構成する述語jpは任意に定められる。 (3) a method using an integrated policy functional encryption: In this case, the key issuing device, a i a recipient attribute (the "Recipient Attributes", the user who uses the attributes and recipient apparatus recipient device There is no particular limitation), t is a definable limit time, t ′ is a predicate variable, and a predicate i p with t ≧ t ′ and a secret key sk ia‖ (t ≧ t ') is generated. The sender apparatus uses j a as a ciphertext generation time t ′, j p as a predicate representing one of the conditions for decryption (hereinafter referred to as necessary conditions), and the predicate j p and the ciphertext generation time t ′. The ciphertext c t ′ ‖jp is generated for, and the ciphertext c t′‖jp is transmitted to the recipient device. According to this type of functional encryption, two preconditions are “predicate i p ” and “predicate j p ”. Specifically, the receiver device has “t ≧ t ′ (receiver identifier j a = Ciphertext c t when ciphertext generation time t ′ satisfies predicate i p = “t ≧ t ′”) and “key identifier i a = recipient attribute i a satisfies predicate j p'Can decrypt 復 号 jp . The predicate j p constituting the necessary condition is arbitrarily determined.

いずれの場合であっても秘密鍵sktおよび暗号文ct'を持つ受信者装置はt≧t'なる時に暗号文ct'を復号できる。 In any case, the receiver apparatus having the secret key sk t and the cipher text c t ′ can decrypt the cipher text c t ′ when t ≧ t ′.

例えば、述語変数(復号可能限界時刻が代入される)と暗号文生成時刻をビット表現された整数と見做せば、復号可能限界時刻と暗号文生成時刻との大小判定を、述語変数を用いた述語として表現できる。従って、述語の充足によって復号可能か否かが決まる関数型暗号があれば、ビット表現された整数の大小判定の結果によって復号可能か否かが決定される関数型暗号を構成することができる。例えば、図4と図5に示すように比較する定数のビットイメージに対応して論理積andや論理和orで述語変数を合成することによって述語を決定できる。図4では整数変数tと定数t'との間におけるt>t'の関係を記述する述語を示してある。なお、t≦t'の関係を記述する述語は、t>t'の関係を記述する述語の否定(¬(t>t'))によって表される。図5では整数変数tと定数t'との間におけるt≧t'の関係を記述する述語を示してある。なお、t<t'の関係を記述する述語は、t≧t'の関係を記述する述語の否定(¬(t≧t'))によって表される。   For example, if the predicate variable (assigned the decryptable limit time) and the ciphertext generation time are regarded as an integer expressed in bits, the predicate variable is used to determine whether the decryptable limit time and the ciphertext generation time are large or small. Can be expressed as a predicate. Therefore, if there is a functional encryption that determines whether or not decryption is possible by satisfying the predicate, it is possible to configure a functional encryption that determines whether or not decryption is possible based on the result of the magnitude determination of the integer expressed in bits. For example, as shown in FIGS. 4 and 5, the predicate can be determined by synthesizing the predicate variables with the logical product and or the logical sum or corresponding to the bit images of the constants to be compared. FIG. 4 shows predicates that describe the relationship of t> t ′ between the integer variable t and the constant t ′. Note that a predicate describing a relationship of t ≦ t ′ is represented by negation of a predicate describing a relationship of t> t ′ (¬ (t> t ′)). FIG. 5 shows predicates that describe the relationship t ≧ t ′ between the integer variable t and the constant t ′. Note that a predicate describing a relationship of t <t ′ is represented by negation of a predicate describing a relationship of t ≧ t ′ (¬ (t ≧ t ′)).

《実施形態》
[時限暗号システム]
実施形態の時限暗号システム1は、図1に示すように、鍵発行装置100と、送信者装置200と、受信者装置300とを少なくとも含んで構成される。これらの各装置は、例えばインターネットなどの通信網5を経由して、相互に通信可能とされている。
<Embodiment>
[Timed cryptographic system]
As illustrated in FIG. 1, the time-limited encryption system 1 according to the embodiment includes at least a key issuing device 100, a sender device 200, and a receiver device 300. These apparatuses can communicate with each other via a communication network 5 such as the Internet.

本発明の時限暗号システムは、ユーザの数に応じて一つまたは複数の送信者装置200と一つまたは複数の受信者装置300を含みえるが、本発明の理解を容易にするため、後述の実施形態では、時限暗号システム1は、1個の鍵発行装置100と1個の送信者装置200と1個の受信者装置300を含むとする。   The timed cryptographic system of the present invention may include one or a plurality of sender devices 200 and one or a plurality of receiver devices 300 according to the number of users. In the embodiment, it is assumed that the time-limited encryption system 1 includes one key issuing device 100, one sender device 200, and one recipient device 300.

時限暗号システム1における時限暗号処理を、図2を参照しながら叙述する。各装置の機能構成については、図3を参照されたい。   The time encryption processing in the time encryption system 1 will be described with reference to FIG. Refer to FIG. 3 for the functional configuration of each device.

[[実施例1]]
復号可能限界時刻tを鍵識別子、暗号文生成時刻t'を受信者識別子として、上記式(7)で表される関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)を利用する。プロトコルの概略は下記のとおりである。なお、このような関数型暗号であれば何ら限定はないので、ここでは一般的な説明をするに留めるが、実用の局面ではSetup,KeyGen,Enc,Decの各アルゴリズムが具体的に決まっているから、当然、当該各アルゴリズムを実行することになる。
《プロトコルTRC-FE》
========================================
・鍵発行装置は、《プロトコルFE》で説明したセットアップアルゴリズムSetup(1λ)を実行して公開パラメータpkとマスター秘密鍵skを生成し、公開パラメータpkを公開する。
・鍵発行装置は、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,t)を実行して秘密鍵sktを生成する。ただし、tは予め設定された復号可能限界時刻である。
・送信者装置は、暗号文生成時刻をt'、平文をxとして、《プロトコルFE》で説明した暗号化アルゴリズムEnc(pk,t',x)を実行して暗号文ct'を生成し、暗号文ct'を受信者装置に送信する。
・受信者装置は、鍵発行装置から秘密鍵sktを取得して、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt,ct')を実行して、t≧t'を満たす場合に平文xを得る。
========================================
[[Example 1]]
A functional cipher (Setup, KeyGen, Enc) having the function f t, t ′ (x) represented by the above equation (7), with the decryptable limit time t as the key identifier and the ciphertext generation time t ′ as the receiver identifier. , Dec). The outline of the protocol is as follows. There is no limitation as long as it is such a functional encryption, so only a general explanation will be given here, but each algorithm of Setup, KeyGen, Enc, and Dec is specifically determined in a practical aspect. Therefore, naturally, the respective algorithms are executed.
<Protocol TRC-FE>
=======================================
The key issuing device executes the setup algorithm Setup (1 λ ) described in << Protocol FE >> to generate the public parameter pk and the master secret key sk, and discloses the public parameter pk.
The key issuing device executes the key generation algorithm KeyGen (sk, t) described in << Protocol FE >> to generate the secret key sk t . Here, t is a preset decodable time limit.
The sender device generates the ciphertext c t ′ by executing the encryption algorithm Enc (pk, t ′, x) described in << Protocol FE >> where the ciphertext generation time is t ′ and the plaintext is x. The ciphertext c t ′ is transmitted to the receiver device.
The receiver device acquires the secret key sk t from the key issuing device, executes the decryption algorithm Dec (pk, sk t , c t ′ ) described in << Protocol FE >>, and satisfies t ≧ t ′ If you get plaintext x.
=======================================

まず、鍵発行装置100の初期設定部101が、《プロトコルFE》で説明したセットアップアルゴリズムSetup(1λ)を実行して公開パラメータpkとマスター秘密鍵skを生成し(ステップS1)、公開パラメータpkを公開する(ステップS1a)。公開パラメータpkの公開は、例えば、送信者装置200や受信者装置300から鍵発行装置100にアクセスがあった場合に鍵発行装置100の送信部108が鍵発行装置100の記憶部(図示せず)に記憶されている公開パラメータpkを送信者装置200や受信者装置300に対して送信する手順や、送信者装置200や受信者装置300からのアクセスを問わず、鍵発行装置100の送信部108が鍵発行装置100の記憶部(図示せず)に記憶されている公開パラメータpkを送信者装置200や受信者装置300に対して送信する手順によって達成される。 First, the initial setting unit 101 of the key issuing device 100 executes the setup algorithm Setup (1 λ ) described in << Protocol FE >> to generate the public parameter pk and the master secret key sk (Step S1), and the public parameter pk. Is made public (step S1a). For example, when the sender device 200 or the receiver device 300 accesses the key issuing device 100, the transmitting unit 108 of the key issuing device 100 stores the public parameter pk in the storage unit (not shown). The transmission unit of the key issuing device 100, regardless of the procedure for transmitting the public parameter pk stored in) to the sender device 200 or the recipient device 300, or access from the sender device 200 or the recipient device 300. 108 is achieved by a procedure of transmitting the public parameter pk stored in the storage unit (not shown) of the key issuing device 100 to the sender device 200 and the receiver device 300.

そして、鍵発行装置100の秘密鍵生成部102は、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,t)を実行して秘密鍵sktを生成する(ステップS2)。ただし、tは予め設定された復号可能限界時刻である。 Then, the secret key generating unit 102 of the key issuing apparatus 100 executes the key described in "protocol FE" generation algorithm KeyGen (sk, t) generates a secret key sk t (Step S2). Here, t is a preset decodable time limit.

鍵発行装置100の送信部108は、秘密鍵生成部102によって生成された秘密鍵sktを受信者装置300に送信し、受信者装置300の受信部309が秘密鍵sktを受信する(ステップS3)。秘密鍵sktは受信者装置300の記憶部(図示せず)に記憶される。なお、ステップS3の処理は、ステップS2の処理の後であって後述するステップS6の処理の前であれば何時でも実行されてよい。 The transmitting unit 108 of the key issuing device 100 transmits the secret key sk t generated by the secret key generating unit 102 to the receiver device 300, and the receiving unit 309 of the receiver device 300 receives the secret key sk t (step S3). The secret key sk t is stored in a storage unit (not shown) of the recipient device 300. Note that the process of step S3 may be executed at any time after the process of step S2 and before the process of step S6 described later.

送信者装置200の暗号文生成部201は、暗号文生成時刻をt'、平文をxとして、送信者装置200の受信部209が受信した公開パラメータpkを用いて、《プロトコルFE》で説明した暗号化アルゴリズムEnc(pk,t',x)を実行して暗号文ct'を生成する(ステップS4)。 The ciphertext generation unit 201 of the sender device 200 is described in << Protocol FE >> using the public parameter pk received by the receiver unit 209 of the sender device 200, where the ciphertext generation time is t 'and the plaintext is x. The ciphertext c t ′ is generated by executing the encryption algorithm Enc (pk, t ′, x) (step S4).

送信者装置200は事実上、暗号文生成時刻t'を自由に設定しえる(例えば、暗号文生成時刻t'を送信者装置200の内部時計から取得した時刻とする場合、当該内部時計が正しく設定されていない状況が想定されうる)。しかし、暗号文生成時刻t'は復号可能限界時刻tとの関係で重要な情報であるから、暗号文生成部201は、送信者装置200の外部から供給される協定世界時(UTC - Universal Time, Coordinated)や日本標準時(JST - Japan Standard Time)などに基づく現在時刻に従って暗号文生成時刻t'を設定することが好ましい。具体的には、暗号文生成部201は、「暗号化アルゴリズムを実行する時の協定世界時や日本標準時などに基づく現在時刻」を暗号文生成時刻t'として設定するのである。協定世界時や日本標準時を利用する場合、送信者装置200は協定世界時や日本標準時を受信できる構成としておくことが望ましい。なお、このことは、他の実施例でも同様である。   Sender device 200 can effectively set ciphertext generation time t ′ (for example, when ciphertext generation time t ′ is the time acquired from the internal clock of sender device 200, the internal clock is correct). An unconfigured situation can be assumed). However, since the ciphertext generation time t ′ is important information in relation to the decipherable limit time t, the ciphertext generation unit 201 can use the universal time (UTC-Universal Time) supplied from the outside of the sender device 200. , Coordinated), Japan Standard Time, etc., the ciphertext generation time t ′ is preferably set according to the current time. Specifically, the ciphertext generation unit 201 sets “current time based on Coordinated Universal Time or Japan Standard Time when executing the encryption algorithm” as the ciphertext generation time t ′. When using Coordinated Universal Time or Japan Standard Time, it is desirable that the sender device 200 be configured to receive Coordinated Universal Time or Japan Standard Time. This also applies to other embodiments.

なお、送信者装置200の内部時計から取得した時刻を暗号文生成時刻t'とする場合、少なくとも送信者装置200と復号可能限界時刻tの決定に関与する装置(この場合、鍵発行装置100または受信者装置300)との間で可能な限り(つまり、例えば数秒程度の誤差を許容するとしても)相互の時計を同期させておくことが望ましい。同期方法としては、例えば、復号可能限界時刻tの決定に関与する装置(鍵発行装置100または受信者装置300)が通信網5を経由して送信者装置200に、当該装置(鍵発行装置100または受信者装置300)の内部時計の時刻を常時提供するようにすればよい。厳密には、当該装置(鍵発行装置100または受信者装置300)の内部時計と復号可能限界時刻tとの間に直接の関連は無い。しかし、復号可能限界時刻tが当該装置(鍵発行装置100または受信者装置300)の内部時計を参考にして決定される場合があるから、当該装置(鍵発行装置100または受信者装置300)と送信者装置200との間で相互の時計を同期させておくことに意味が無いわけではない。   When the time acquired from the internal clock of the sender device 200 is the ciphertext generation time t ′, at least the sender device 200 and a device involved in the determination of the decryptable limit time t (in this case, the key issuing device 100 or It is desirable to synchronize the clocks with the receiver apparatus 300 as much as possible (that is, even if an error of, for example, several seconds is allowed). As a synchronization method, for example, a device (key issuing device 100 or receiver device 300) involved in determination of the decryptable limit time t is sent to the sender device 200 via the communication network 5 and the device (key issuing device 100). Alternatively, the time of the internal clock of the receiver device 300) may be always provided. Strictly speaking, there is no direct relationship between the internal clock of the device (the key issuing device 100 or the recipient device 300) and the decryptable limit time t. However, since the decryptable limit time t may be determined with reference to the internal clock of the device (key issuing device 100 or recipient device 300), the device (key issuing device 100 or recipient device 300) and It is not meaningless to keep the mutual clocks synchronized with the sender device 200.

送信者装置200の送信部208は、暗号文生成部201によって生成された暗号文ct'を受信者装置300に対して送信し、受信者装置300の受信部309が暗号文ct'を受信する(ステップS5)。暗号文ct'は受信者装置300の記憶部(図示せず)に記憶される。 The transmission unit 208 of the sender device 200 transmits the ciphertext c t ′ generated by the ciphertext generation unit 201 to the receiver device 300, and the reception unit 309 of the receiver device 300 transmits the ciphertext c t ′ . Receive (step S5). The ciphertext ct ′ is stored in a storage unit (not shown) of the recipient device 300.

受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skt、公開パラメータpk、暗号文ct'を用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt,ct')を実行する(ステップS6)。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skt,ct')にて、関係R(ここではt≧t'である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係Rが真となる場合、つまりt≧t'を満たす場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまりt≧t'を満たさない場合に復号部301は平文xを得ることができない。 The decryption unit 301 of the receiver device 300 uses the secret key sk t , the public parameter pk, and the ciphertext c t ′ received by the receiver 309 of the receiver device 300 to use the decryption algorithm Dec ( pk, sk t , c t ′ ) is executed (step S6). According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk t , c t ′ ), the output of the function f t, t ′ (x) is determined through a logical expression for determining the true / false of the relationship R (here, t ≧ t ′) or an equivalent operation. The decryption unit 301 can obtain the plaintext x when the relation R is true, that is, when t ≧ t ′ is satisfied. On the other hand, when the relationship R is false, that is, when t ≧ t ′ is not satisfied, the decryption unit 301 cannot obtain the plaintext x.

[[実施例2]]
実施例2は、実施例1における関数型暗号(Setup,KeyGen,Enc,Dec)として鍵ポリシー関数型暗号による場合の実施例である。実施例1を鍵ポリシー関数型暗号として具体化した事項について説明を加え、実施例1と同じ事項は説明を省略する。
[[Example 2]]
The second embodiment is an embodiment in the case of using the key policy functional encryption as the functional encryption (Setup, KeyGen, Enc, Dec) in the first embodiment. The matter which actualized Example 1 as key policy function type | mold encryption is added, and the description of the same matter as Example 1 is abbreviate | omitted.

実施例2では、実施例1のステップS2の処理にて、次のような処理を行う。鍵発行装置100の秘密鍵生成部102が、tを復号可能限界時刻、Tを述語変数として、t≧Tなる述語に関して、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,t≧T)を実行して秘密鍵skt≧Tを生成する。 In the second embodiment, the following processing is performed in step S2 of the first embodiment. The secret key generation unit 102 of the key issuing device 100 uses the key generation algorithm KeyGen (sk, t ≧ T) described in << Protocol FE >> for a predicate where t ≧ T, where t is a definable limit time and T is a predicate variable. To generate a secret key sk t ≧ T.

実施例2では、実施例1のステップS3の処理にて、次のような処理を行う。鍵発行装置100の送信部108は、秘密鍵生成部102によって生成された秘密鍵skt≧Tを受信者装置300に送信し、受信者装置300の受信部309が秘密鍵skt≧Tを受信する(ステップS3)。秘密鍵skt≧Tは受信者装置300の記憶部(図示せず)に記憶される。 In the second embodiment, the following processing is performed in step S3 of the first embodiment. The transmitting unit 108 of the key issuing device 100 transmits the secret key sk t ≧ T generated by the secret key generating unit 102 to the receiver device 300, and the receiving unit 309 of the receiver device 300 sets the secret key sk t ≧ T. Receive (step S3). The secret key sk t ≧ T is stored in a storage unit (not shown) of the recipient device 300.

実施例2では、実施例1のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skt≧T、公開パラメータpk、暗号文ct'を用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt≧T,ct')を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skt≧T,ct')にて、式(4)で表される関係R(ここではR(t≧T,T=t')である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまりt≧t'を満たす場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまりt≧t'を満たさない場合に復号部301は平文xを得ることができない。 In the second embodiment, the following processing is performed in step S6 of the first embodiment. The decryption unit 301 of the receiver device 300 uses the secret key sk t ≧ T , the public parameter pk, and the ciphertext c t ′ received by the receiver 309 of the receiver device 300 to use the decryption algorithm described in << Protocol FE >>. Dec (pk, sk t ≧ T , c t ' ) is executed. According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk t ≧ T , c t ′ ), a logical expression for determining the true / false of the relationship R (here, R (t ≧ T, T = t ′)) expressed by the equation (4) or equivalent When the cryptographic structure in which the output of the function f t, t ′ (x) is determined through a simple operation and the relationship R is true, that is, when t ≧ t ′ is satisfied, the decryption unit 301 clears the plaintext. You can get x. On the other hand, when the relationship R is false, that is, when t ≧ t ′ is not satisfied, the decryption unit 301 cannot obtain the plaintext x.

[[実施例3]]
実施例3は、実施例1における関数型暗号(Setup,KeyGen,Enc,Dec)として暗号文ポリシー関数型暗号による場合の実施例である。実施例1を暗号文ポリシー関数型暗号として具体化した事項について説明を加え、実施例1と同じ事項は説明を省略する。
[[Example 3]]
The third embodiment is an embodiment in which the ciphertext policy function-type encryption is used as the functional encryption (Setup, KeyGen, Enc, Dec) in the first embodiment. The matter which actualized Example 1 as a ciphertext policy function type | mold encryption is added, description is abbreviate | omitted about the same matter as Example 1. FIG.

実施例3では、実施例1のステップS4の処理にて、次のような処理を行う。送信者装置200の暗号文生成部201は、述語変数をT、暗号文生成時刻をt'、平文をxとして、T≧t'なる述語に関して、送信者装置200の受信部209が受信した公開パラメータpkを用いて、《プロトコルFE》で説明した暗号化アルゴリズムEnc(pk,T≧t',x)を実行して暗号文cT≧t'を生成する。 In the third embodiment, the following processing is performed in step S4 of the first embodiment. The ciphertext generation unit 201 of the sender apparatus 200 receives the disclosure received by the reception unit 209 of the sender apparatus 200 regarding the predicate T ≧ t ′, where T is the predicate variable, t ′ is the ciphertext generation time, and x is the plaintext. Using the parameter pk, the encryption algorithm Enc (pk, T ≧ t ′, x) described in << Protocol FE >> is executed to generate a ciphertext c T ≧ t ′ .

実施例3では、実施例1のステップS5の処理にて、次のような処理を行う。送信者装置200の送信部208は、暗号文生成部201によって生成された暗号文cT≧t'を受信者装置300に対して送信し、受信者装置300の受信部309が暗号文cT≧t'を受信する(ステップS5)。暗号文cT≧t'は受信者装置300の記憶部(図示せず)に記憶される。 In the third embodiment, the following processing is performed in step S5 of the first embodiment. The transmission unit 208 of the sender device 200 transmits the ciphertext c T ≧ t ′ generated by the ciphertext generation unit 201 to the receiver device 300, and the reception unit 309 of the receiver device 300 transmits the ciphertext c T. ≧ t ′ is received (step S5). The ciphertext c T ≧ t ′ is stored in a storage unit (not shown) of the recipient device 300.

実施例3では、実施例1のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skt、公開パラメータpk、暗号文cT≧t'を用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt,cT≧t')を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skt,cT≧t')にて、式(5)で表される関係R(ここではR(T≧t',T=t)である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまりt≧t'を満たす場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまりt≧t'を満たさない場合に復号部301は平文xを得ることができない。 In the third embodiment, the following processing is performed in step S6 of the first embodiment. The decryption unit 301 of the receiver device 300 uses the secret key sk t , the public parameter pk, and the ciphertext c T ≧ t ′ received by the receiver 309 of the receiver device 300 to use the decryption algorithm described in << Protocol FE >>. Dec (pk, sk t , c T ≧ t ' ) is executed. According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk t , c T ≧ t ′ ), a logical expression for determining the authenticity of the relation R (here, R (T ≧ t ′, T = t)) expressed by the equation (5) or equivalent When the cryptographic structure in which the output of the function f t, t ′ (x) is determined through a simple operation and the relationship R is true, that is, when t ≧ t ′ is satisfied, the decryption unit 301 clears the plaintext. You can get x. On the other hand, when the relationship R is false, that is, when t ≧ t ′ is not satisfied, the decryption unit 301 cannot obtain the plaintext x.

[[実施例4]]
実施例4は、実施例1における関数型暗号(Setup,KeyGen,Enc,Dec)として統合ポリシー関数型暗号による場合の実施例である。実施例1を統合ポリシー関数型暗号として具体化した事項について説明を加え、実施例1と同じ事項は説明を省略する。
[[Example 4]]
The fourth embodiment is an embodiment in which the integrated policy functional encryption is used as the functional encryption (Setup, KeyGen, Enc, Dec) in the first embodiment. The matter which actualized Example 1 as integrated policy function type | mold encryption is added, and the description of the same matter as Example 1 is abbreviate | omitted.

実施例4では、実施例1のステップS2の処理にて、次のような処理を行う。鍵発行装置100の秘密鍵生成部102が、iaを受信者の属性(例えば受信者装置300の属性)、tを復号可能限界時刻、Tを述語変数として、t≧Tなる述語ipと受信者の属性iaとの結合に関して、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,ia‖(t≧T))を実行して秘密鍵skia‖(t≧T)を生成する。 In the fourth embodiment, the following processing is performed in step S2 of the first embodiment. The secret key generation unit 102 of the key issuing device 100 uses a predicate i p where t ≧ T, where i a is an attribute of the receiver (for example, an attribute of the receiver device 300), t is a decryptable limit time, and T is a predicate variable. for binding to the recipient's attributes i a, generating a "protocol FE" key generation algorithm described KeyGen (sk, i a ‖ (t ≧ T)) the running secret key sk ia‖ (t ≧ T) To do.

実施例4では、実施例1のステップS3の処理にて、次のような処理を行う。鍵発行装置100の送信部108は、秘密鍵生成部102によって生成された秘密鍵skia‖(t≧T)を受信者装置300に送信し、受信者装置300の受信部309が秘密鍵skia‖(t≧T)を受信する(ステップS3)。秘密鍵skia‖(t≧T)は受信者装置300の記憶部(図示せず)に記憶される。 In the fourth embodiment, the following processing is performed in step S3 of the first embodiment. The transmitting unit 108 of the key issuing device 100 transmits the secret key sk ia‖ (t ≧ T) generated by the secret key generating unit 102 to the receiver device 300, and the receiving unit 309 of the receiver device 300 receives the secret key sk. ia‖ (t ≧ T) is received (step S3). The secret key skia‖ (t ≧ T) is stored in a storage unit (not shown ) of the recipient device 300.

実施例4では、実施例1のステップS4の処理にて、次のような処理を行う。送信者装置200の暗号文生成部201は、暗号文生成時刻をt'、必要条件のうちの一つを表す述語をjp、平文をxとして、述語jpと暗号文生成時刻t'との結合に関して、送信者装置200の受信部209が受信した公開パラメータpkを用いて、《プロトコルFE》で説明した暗号化アルゴリズムEnc(pk,t'‖jp,x)を実行して暗号文ct'‖jpを生成する。 In the fourth embodiment, the following processing is performed in step S4 of the first embodiment. Ciphertext generator 201 of the sender apparatus 200, the ciphertext generation time t ', j p a predicate representing one of the requirements, the plaintext as x, the predicate j p ciphertext generation time t' and , The encryption algorithm Enc (pk, t ′ 部 j p , x) described in << Protocol FE >> is executed using the public parameter pk received by the receiving unit 209 of the sender device 200, and the ciphertext c Generate t'‖jp .

実施例4では、実施例1のステップS5の処理にて、次のような処理を行う。送信者装置200の送信部208は、暗号文生成部201によって生成された暗号文ct'‖jpを受信者装置300に対して送信し、受信者装置300の受信部309が暗号文ct'‖jpを受信する(ステップS5)。暗号文ct'‖jpは受信者装置300の記憶部(図示せず)に記憶される。 In the fourth embodiment, the following processing is performed in step S5 of the first embodiment. The transmission unit 208 of the sender device 200 transmits the ciphertext c t′‖jp generated by the ciphertext generation unit 201 to the receiver device 300, and the reception unit 309 of the receiver device 300 transmits the ciphertext c t. '‖Jp is received (step S5). The ciphertext ct′‖jp is stored in a storage unit (not shown) of the recipient device 300.

実施例4では、実施例1のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skia‖(t≧T)、公開パラメータpk、暗号文ct'‖jpを用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skia‖(t≧T),ct'‖jp)を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skia‖(t≧T),ct'‖jp)にて、式(6)で表される関係R(ここではR(tT,T=t')∧R(ia,jp)である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまり「t≧t'」且つ「受信者の属性iaが述語jpを満たす」場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまり「t≧t'」且つ「受信者の属性iaが述語jpを満たす」が成立しない場合に復号部301は平文xを得ることができない。 In the fourth embodiment, the following processing is performed in step S6 of the first embodiment. The decryption unit 301 of the receiver device 300 uses the secret key skia‖ (t ≧ T) , the public parameter pk, and the ciphertext c t′‖jp received by the receiver 309 of the receiver device 300, << protocol FE The decryption algorithm Dec (pk, skia‖ (t ≧ T) , c t′‖jp ) described in the above is executed. According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk ia‖ at (t ≧ T), c t'‖jp ), ( the relationship R (here represented by 6) R (t ≧ T, T = t ') wherein is ∧R (i a, j p) ) And a cryptographic expression that can determine the output of the function f t, t ′ (x) through a logical expression for determining the true / false of the above and an equivalent operation, and the relation R is True That is, when “t ≧ t ′” and “the recipient attribute i a satisfies the predicate j p ”, the decryption unit 301 can obtain the plaintext x. On the other hand, if the relationship R is false, i.e. "t ≧ t '" and the decoding unit 301 when the "recipient attribute i a satisfies the predicate j p" is not established can not be obtained plaintext x.

[[実施例5]]
実施例5は、実施例2の変形例である。実施例2では、鍵発行装置100の秘密鍵生成部102が、tを復号可能限界時刻、Tを述語変数として、t≧Tなる述語に関して鍵生成アルゴリズムKeyGen(sk,t≧T)を実行して秘密鍵skt≧Tを生成していた。実施例5は、述語が拡張された例である。
[[Example 5]]
The fifth embodiment is a modification of the second embodiment. In the second embodiment, the secret key generation unit 102 of the key issuing device 100 executes a key generation algorithm KeyGen (sk, t ≧ T) for a predicate where t ≧ T, where t is a definable limit time and T is a predicate variable. The secret key sk t ≧ T was generated. Example 5 is an example in which the predicate is extended.

実施例5では、t≧Tなる述語ではなく、時的制限情報tとしての任意の有限個の時間区間[bi,ei](i=1,2,…,n)と暗号化時刻t'が代入されうる述語変数Tとで構成される論理和∨(t,T)=∨i∈{1,2,…,n}(bi≦T≦ei)=(b1≦T≦e1)∨(b2≦T≦e2)∨・・・∨(bn≦T≦en)を述語とする。なお、n個の時間区間[bi,ei](i=1,2,…,n)のうち少なくともいずれかにおいてbi=eiであってもよい。 In the fifth embodiment, an arbitrary finite number of time intervals [b i , e i ] (i = 1, 2,..., N) as the time restriction information t and the encryption time t, not the predicate of t ≧ T. '(T, T) = ∨ i∈ {1,2, ..., n} (b i ≤T≤e i ) = (b 1 ≤T≤ e 1 ) ∨ (b 2 ≦ T ≦ e 2 ) ∨... ∨ (b n ≦ T ≦ e n ) is a predicate. Note that b i = e i may be set in at least one of the n time intervals [b i , e i ] (i = 1, 2,..., N).

従って、実施例5では、実施例2のステップS2の処理にて、次のような処理を行う。鍵発行装置100の秘密鍵生成部102が、時的制限情報tを任意の有限個の時間区間[bi,ei](i=1,2,…,n)、Tを暗号化時刻t'が代入されうる述語変数として、∨i∈{1,2,…,n}(bi≦T≦ei)なる述語に関して、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,∨i∈{1,2,…,n}(bi≦T≦ei))を実行して秘密鍵skt,Tを生成する。 Therefore, in the fifth embodiment, the following process is performed in the process of step S2 of the second embodiment. The secret key generation unit 102 of the key issuing device 100 uses the time restriction information t as an arbitrary finite number of time intervals [b i , e i ] (i = 1, 2,..., N), and T as the encryption time t. As a predicate variable to which 'can be assigned, 鍵 i∈ {1,2, ..., n} (b i ≦ T ≦ e i ), the key generation algorithm KeyGen (sk, ∨ i ∈ {1, 2,..., N} (b i ≦ T ≦ e i )) to generate a secret key sk t, T.

そして、実施例5では、実施例2のステップS3の処理にて、次のような処理を行う。鍵発行装置100の送信部108は、秘密鍵生成部102によって生成された秘密鍵skt,Tを受信者装置300に送信し、受信者装置300の受信部309が秘密鍵skt,Tを受信する(ステップS3)。秘密鍵skt,Tは受信者装置300の記憶部(図示せず)に記憶される。 In the fifth embodiment, the following processing is performed in step S3 of the second embodiment. The transmitting unit 108 of the key issuing device 100 transmits the secret key sk t, T generated by the secret key generating unit 102 to the receiver device 300, and the receiving unit 309 of the receiver device 300 receives the secret key sk t, T. Receive (step S3). The secret key sk t, T is stored in a storage unit (not shown) of the recipient device 300.

さらに、実施例5では、実施例2のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skt,T、公開パラメータpk、暗号文ct'を用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt,T,ct')を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skt,T,ct')にて、式(4)で表される関係R(ここではR(∨i∈{1,2,…,n}(bi≦T≦ei),T=t')である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまりt≧t'を満たす場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまりt≧t'を満たさない場合に復号部301は平文xを得ることができない。 Further, in the fifth embodiment, the following process is performed in the process of step S6 of the second embodiment. The decryption unit 301 of the receiver device 300 uses the secret key sk t, T , the public parameter pk, and the ciphertext c t ′ received by the receiver 309 of the receiver device 300 to use the decryption algorithm described in << Protocol FE >>. Execute Dec (pk, sk t, T , c t ' ). According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk t, T , c t ′ ), the relationship R represented by the formula (4) (here, R (∨ i∈ {1, 2,..., N} (b i ≦ T ≦ e i ), T = t ′) )) And a cryptographic structure in which the output of the function f t, t ′ (x) is determined through a logical expression for determining the true / false of the above and an equivalent operation, and the relation R is True In other words, the decryption unit 301 can obtain plaintext x when t ≧ t ′ is satisfied. On the other hand, when the relationship R is false, that is, when t ≧ t ′ is not satisfied, the decryption unit 301 cannot obtain the plaintext x.

[[実施例6]]
実施例6は、実施例3の変形例である。実施例3では、送信者装置200の暗号文生成部201が、述語変数をT、暗号文生成時刻をt'、平文をxとして、T≧t'なる述語に関して暗号化アルゴリズムEnc(pk,T≧t',x)を実行して暗号文cT≧t'を生成していた。実施例6は、述語が拡張された例である。
[[Example 6]]
The sixth embodiment is a modification of the third embodiment. In the third embodiment, the ciphertext generation unit 201 of the sender device 200 uses the encryption algorithm Enc (pk, T for a predicate T ≧ t ′, where T is the predicate variable, t ′ is the ciphertext generation time, and x is the plaintext. ≧ t ′, x) was executed to generate a ciphertext c T ≧ t ′ . Example 6 is an example in which the predicate is extended.

実施例6では、T≧t'なる述語ではなく、暗号化時刻t'と任意の有限個の時間区間[bi,ei](i=1,2,…,n)で表される時的制限情報tが代入されうる述語変数Tとで構成される論理和∨(T,t')=∨i∈{1,2,…,n}(bi≦t'≦ei)=(b1≦t'≦e1)∨(b2≦t'≦e2)∨・・・∨(bn≦t'≦en)を述語とする。なお、n個の時間区間[bi,ei](i=1,2,…,n)のうち少なくともいずれかにおいてbi=eiであってもよい。 In the sixth embodiment, when not expressed by a predicate of T ≧ t ′ but expressed by an encryption time t ′ and an arbitrary finite number of time intervals [b i , e i ] (i = 1, 2,..., N) Logical sum ∨ (T, t ') = ∨ i∈ {1,2, ..., n} (b i ≤t'≤e i ) = ( b 1 ≦ t ′ ≦ e 1 ) ∨ (b 2 ≦ t ′ ≦ e 2 ) ∨... n (b n ≦ t ′ ≦ e n ) is a predicate. Note that b i = e i may be set in at least one of the n time intervals [b i , e i ] (i = 1, 2,..., N).

従って、実施例6では、実施例3のステップS4の処理にて、次のような処理を行う。送信者装置200の暗号文生成部201は、Tを任意の有限個の時間区間[bi,ei](i=1,2,…,n)で表される時的制限情報tが代入されうる述語変数、t'を暗号化時刻、平文をxとして、∨(T,t')=∨i∈{1,2,…,n}(bi≦t'≦ei)=(b1≦t'≦e1)∨(b2≦t'≦e2)∨・・・∨(bn≦t'≦en)なる述語に関して、送信者装置200の受信部209が受信した公開パラメータpkを用いて、《プロトコルFE》で説明した暗号化アルゴリズムEnc(pk,∨(T,t'),x)を実行して暗号文cT,t'を生成する。 Therefore, in the sixth embodiment, the following process is performed in the process of step S4 of the third embodiment. The ciphertext generation unit 201 of the sender device 200 substitutes T with time restriction information t represented by an arbitrary finite number of time intervals [b i , e i ] (i = 1, 2,..., N).述 (T, t ') = ∨ i∈ {1,2,…, n} (b i ≤t'≤e i ) = (b 1 ≦ t ′ ≦ e 1 ) ∨ (b 2 ≦ t ′ ≦ e 2 ) ∨... N (b n ≦ t ′ ≦ e n ), the disclosure received by the receiving unit 209 of the sender device 200 Using the parameter pk, the encryption algorithm Enc (pk, ∨ (T, t ′), x) described in << Protocol FE >> is executed to generate a ciphertext c T, t ′ .

実施例6では、実施例3のステップS5の処理にて、次のような処理を行う。送信者装置200の送信部208は、暗号文生成部201によって生成された暗号文cT,t'を受信者装置300に対して送信し、受信者装置300の受信部309が暗号文cT,t'を受信する。暗号文cT,t'は受信者装置300の記憶部(図示せず)に記憶される。 In the sixth embodiment, the following processing is performed in step S5 of the third embodiment. The transmission unit 208 of the sender device 200 transmits the ciphertext c T, t ′ generated by the ciphertext generation unit 201 to the receiver device 300, and the reception unit 309 of the receiver device 300 transmits the ciphertext c T. , t ' . The ciphertext c T, t ′ is stored in a storage unit (not shown) of the recipient device 300.

実施例6では、実施例3のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵skt、公開パラメータpk、暗号文cT,t'を用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,skt,cT,t')を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,skt,cT,t')にて、式(5)で表される関係R(ここではR(∨(T,t'),T=t)である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまりt≧t'を満たす場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまりt≧t'を満たさない場合に復号部301は平文xを得ることができない。 In the sixth embodiment, the following processing is performed in step S6 of the third embodiment. The decryption unit 301 of the receiver device 300 uses the secret key sk t , the public parameter pk, and the ciphertext c T, t ′ received by the receiver 309 of the receiver device 300 to use the decryption algorithm described in << Protocol FE >>. Dec (pk, sk t , c T, t ' ) is executed. According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk t , c T, t ′ ), a logical expression for determining the true / false of the relationship R (here, R (∨ (T, t ′), T = t)) expressed by the equation (5) A decryption unit is incorporated in the case where a cryptographic structure in which the output of the function f t, t ′ (x) is determined through an equivalent operation and the relation R is true, that is, when t ≧ t ′ is satisfied. 301 can obtain plaintext x. On the other hand, when the relationship R is false, that is, when t ≧ t ′ is not satisfied, the decryption unit 301 cannot obtain the plaintext x.

[[実施例7]]
実施例7は、実施例4の変形例である。実施例4では、鍵発行装置100の秘密鍵生成部102が、iaを受信者の属性(例えば受信者装置300の属性)、tを復号可能限界時刻、Tを述語変数として、t≧Tなる述語ipと受信者の属性iaとの結合に関して、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,ia‖(t≧T))を実行して秘密鍵skia‖(t≧T)を生成していた。実施例7は、述語が拡張された例である。
[[Example 7]]
The seventh embodiment is a modification of the fourth embodiment. In Example 4, the secret key generating unit 102 of the key issuing apparatus 100, a i a recipient attribute (e.g. the attribute of the receiver device 300), decodable limit time of t, the T as a predicate variable, t ≧ T The key generation algorithm KeyGen (sk, i a ‖ (t ≧ T)) described in << Protocol FE >> is executed to combine the predicate i p and the recipient attribute i a to obtain the secret key sk ia ‖ (t ≧ T) . Example 7 is an example in which the predicate is extended.

実施例7では、t≧Tなる述語ではなく、時的制限情報tとしての任意の有限個の時間区間[bi,ei](i=1,2,…,n)と暗号化時刻t'が代入されうる述語変数Tとで構成される論理和∨(t,T)=∨i∈{1,2,…,n}(bi≦T≦ei)=(b1≦T≦e1)∨(b2≦T≦e2)∨・・・∨(bn≦T≦en)を述語とする。なお、n個の時間区間[bi,ei](i=1,2,…,n)のうち少なくともいずれかにおいてbi=eiであってもよい。 In the seventh embodiment, an arbitrary finite number of time intervals [b i , e i ] (i = 1, 2,..., N) and encryption time t as time restriction information t, not a predicate of t ≧ T. '(T, T) = ∨ i∈ {1,2, ..., n} (b i ≤T≤e i ) = (b 1 ≤T≤ e 1 ) ∨ (b 2 ≦ T ≦ e 2 ) ∨... ∨ (b n ≦ T ≦ e n ) is a predicate. Note that b i = e i may be set in at least one of the n time intervals [b i , e i ] (i = 1, 2,..., N).

従って、実施例7では、実施例4のステップS2の処理にて、次のような処理を行う。鍵発行装置100の秘密鍵生成部102が、iaを受信者の属性(例えば受信者装置300の属性)、時的制限情報tを任意の有限個の時間区間[bi,ei](i=1,2,…,n)、Tを暗号化時刻t'が代入されうる述語変数として、∨i∈{1,2,…,n}(bi≦T≦ei)なる述語に関して、《プロトコルFE》で説明した鍵生成アルゴリズムKeyGen(sk,ia‖∨i∈{1,2,…,n}(bi≦T≦ei))を実行して秘密鍵sk1を生成する。 Therefore, in the seventh embodiment, the following process is performed in the process of step S2 of the fourth embodiment. The secret key generating unit 102 of the key issuing apparatus 100, (attributes e.g. recipient apparatus 300) i a recipient attributes, time limitations information t any finite number of time intervals [b i, e i] ( i = 1,2, ..., n), and T is a predicate variable to which the encryption time t 'can be assigned, and 述i∈ {1,2, ..., n} (b i ≤ T ≤ e i ) , Generate the secret key sk 1 by executing the key generation algorithm KeyGen (sk, i a ‖∨ i ∈ {1, 2,…, n} (b i ≤ T ≤ e i )) described in << Protocol FE >> To do.

そして、実施例7では、実施例4のステップS3の処理にて、次のような処理を行う。鍵発行装置100の送信部108は、秘密鍵生成部102によって生成された秘密鍵sk1を受信者装置300に送信し、受信者装置300の受信部309が秘密鍵sk1を受信する。秘密鍵sk1は受信者装置300の記憶部(図示せず)に記憶される。 In the seventh embodiment, the following process is performed in step S3 of the fourth embodiment. The transmitting unit 108 of the key issuing device 100 transmits the secret key sk 1 generated by the secret key generating unit 102 to the recipient device 300, and the receiving unit 309 of the recipient device 300 receives the secret key sk 1 . The secret key sk 1 is stored in a storage unit (not shown) of the recipient device 300.

さらに、実施例7では、実施例4のステップS6の処理にて、次のような処理を行う。受信者装置300の復号部301は、受信者装置300の受信部309が受信した秘密鍵sk1、公開パラメータpk、暗号文ct'‖jpを用いて、《プロトコルFE》で説明した復号アルゴリズムDec(pk,sk1,ct'‖jp)を実行する。上記式(7)で表されるタイプの関数ft,t'(x)を持つ関数型暗号(Setup,KeyGen,Enc,Dec)によると、多くの場合、復号アルゴリズムDec(pk,sk1,ct'‖jp)にて、式(6)で表される関係R(ここではR(∨i∈{1,2,…,n}(bi≦T≦ei),T=t')∧R(ia,jp)である)の真偽を判定するための論理式やこれと等価な演算を通して当該関数ft,t'(x)の出力が決せられる暗号構造が組み込まれており、当該関係RがTrueとなる場合、つまり「t≧t'」且つ「受信者の属性iaが述語jpを満たす」場合に復号部301は平文xを得ることができる。他方、当該関係Rが偽となる場合、つまり「t≧t'」且つ「受信者の属性iaが述語jpを満たす」が成立しない場合に復号部301は平文xを得ることができない。 Furthermore, in the seventh embodiment, the following process is performed in the process of step S6 of the fourth embodiment. The decryption unit 301 of the receiver device 300 uses the secret key sk 1 , the public parameter pk, and the ciphertext c t′‖jp received by the receiver 309 of the receiver device 300 to use the decryption algorithm described in << Protocol FE >>. Execute Dec (pk, sk 1 , c t'‖jp ). According to the functional encryption (Setup, KeyGen, Enc, Dec) having the function f t, t ′ (x) of the type expressed by the above formula (7), in many cases, the decryption algorithm Dec (pk, sk 1 , c t′‖jp ), the relationship R (here, R (∨ i∈ {1, 2,..., n} (b i ≦ T ≦ e i ), T = t ′) ) ∧R (i a , j p )) is incorporated into a logical expression for determining the true or false, and a cryptographic structure that determines the output of the function f t, t ' (x) through an equivalent operation are, if the relationship R is True, the decoding unit 301 that is, if "satisfies the recipient attribute i a predicate j p", "t ≧ t '" and can be obtained plaintext x. On the other hand, if the relationship R is false, i.e. "t ≧ t '" and the decoding unit 301 when the "recipient attribute i a satisfies the predicate j p" is not established can not be obtained plaintext x.

実施例5,6,7は、例えば次のような事例において有用である。例えば、送信者装置200を扱うユーザの意図として、受信者装置300に時間区間[b1,e1]または[b2,e2](ただし、b1≦e1<b2≦e2≦tとする)のみで復号可能とさせたいという意図がある場合に、実施例2,3,4によると、受信者装置300は、時的制限情報tで特定される復号に関する時的制限内であれば、ユーザが意図しない時間区間[e1,b2]に秘密鍵を用いて正しく復号するということができてしまう。しかしながら、実施例5,6,7によると、述語が時的制限情報tとして任意の有限個の時間区間[bi,ei](i=1,2,…,n)を用いて記述されていることから、送信者装置200を扱うユーザが意図した時間帯のみで復号可能とすることができる。 Examples 5, 6, and 7 are useful in the following cases, for example. For example, as the intention of the user who handles the sender apparatus 200, the receiver apparatus 300 is given a time interval [b 1 , e 1 ] or [b 2 , e 2 ] (where b 1 ≤e 1 <b 2 ≤e 2 ≤ According to the second, third, and fourth embodiments, the receiver device 300 is within the time restriction on the decoding specified by the time restriction information t. If there is, it can be correctly decrypted using the secret key in the time interval [e 1 , b 2 ] that is not intended by the user. However, according to the fifth, sixth, and seventh embodiments, the predicate is described using any finite number of time intervals [b i , e i ] (i = 1, 2,..., N) as the temporal restriction information t. Therefore, decoding can be performed only in the time zone intended by the user who handles the sender device 200.

関数型暗号の実装については、例えば、下記特許文献が参考になる。
特開2011-232475号公報
特開2011-141472号公報
特開2011-128609号公報
特開2010-273317号公報
特開2010-054875号公報
For the implementation of functional encryption, for example, the following patent document is helpful.
JP 2011-232475 JP 2011-141472 JP 2011-128609 JP 2010-273317 JP 2010-054875 JP

<補記>
時限暗号システムに含まれるハードウェアエンティティ(鍵発行装置、送信者装置、受信者装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
Hardware entities (key issuing device, sender device, receiver device) included in the timed cryptographic system communicate with the input unit to which a keyboard can be connected, the output unit to which a liquid crystal display, etc. can be connected, and the outside of the hardware entity A communication unit to which a possible communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) [a cache memory or a register may be provided. ], A RAM or ROM that is a memory, an external storage device that is a hard disk, and a bus that connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. have. If necessary, a hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.

ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。   The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device. In the above description, a storage device such as a RAM or a register that stores an operation result, an address of a storage area thereof, or the like is simply referred to as a “storage unit”.

ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、初期設定部、秘密鍵生成部、暗号文生成部、復号部など)を実現する。   In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU implements predetermined functions (for example, an initial setting unit, a secret key generation unit, a ciphertext generation unit, a decryption unit, etc.).

各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成23年12月12日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/やhttp://www.math.tu-berlin.de/~kant/kash.html〉[平成23年12月12日検索]を参照のこと。)。
また、この点に関する文献として、参考文献Aを挙げることができる。
(参考文献A)H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
In the details of the hardware entity described in each embodiment, numerical calculation processing in number theory may be required, but numerical calculation processing in number theory itself is achieved in the same manner as in the well-known technique. A detailed description of the arithmetic processing method and the like has been omitted (software that can perform numerical calculation processing in number theory indicating the technical level of this point includes, for example, PARI / GP, KANT / KASH, etc. About PARI / GP For example, see the Internet <URL: http://pari.math.u-bordeaux.fr/> [searched December 12, 2011.] For KANT / KASH, for example, the Internet <URL: http: / See /www.math.tu-berlin.de/algebra/ and http://www.math.tu-berlin.de/~kant/kash.html> [Search December 12, 2011]. ).
Reference literature A can be cited as a literature regarding this point.
(Reference A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.

本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .

また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。   Further, when the processing functions in the hardware entity described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity 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(Magneto-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 (Magneto-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. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   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 own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a 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. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is 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, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

Claims (6)

鍵発行装置と、送信者装置と、受信者装置とを含み、予め定められた時間以外において暗号文の復号が失敗する時限暗号システムであって、
公開パラメータpkとマスター秘密鍵skが定められた暗号(KeyGen,Enc,Dec)が、
KeyGen(sk,i)→ski:鍵生成アルゴリズム(マスター秘密鍵skと情報iを入力とし、当該情報iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム)と、
Enc(pk,j,x)→cj:暗号化アルゴリズム(公開パラメータpkと情報jと暗号化対象の情報(以下、平文という)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム)と、
Dec(pk,ski,cj)→y:復号アルゴリズム(公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、情報yを出力する確率的多項式時間アルゴリズム)と
を含み、上記情報iと上記情報jが予め定められた関係Rを満たすときに上記情報yとして上記平文xが得られるように構成されており、
上記鍵発行装置は、
上記情報iを上記復号アルゴリズムの実行の時的制限に係る上記予め定められた時間に関する情報t(以下、時的制限情報tという)を含む情報として、上記暗号の鍵生成アルゴリズムKeyGen(sk,i)を実行して秘密鍵skt←KeyGen(sk,i)を生成する秘密鍵生成部を含み、
上記送信者成装置は、
上記情報jを暗号文に設定される時刻t'(以下、暗号化時刻t'という)を含む情報とし、上記暗号の暗号化アルゴリズムEnc(pk,j,x)を実行して暗号文ct'←Enc(pk,j,x)を生成する暗号文生成部を含み、
上記受信者装置は、
上記秘密鍵skiを上記秘密鍵sktとし、上記暗号文cjを上記暗号文ct'として、上記暗号の復号アルゴリズムDec(pk,skt,ct')を実行する復号部を含み、
上記時的制限情報tを時刻とし、
上記関係Rは、上記時的制限情報tに対してTを述語変数とするt≧Tなる述語と当該述語変数Tに代入されうる上記暗号化時刻t'との関係R1と、受信者の属性を表す述語変数である第2の上記情報iと受信者の属性に対する必要条件を表す述語である第2の上記情報jとの間の関係R2とからなる関係であり、
上記秘密鍵生成部は、上記情報iを上記述語t≧Tと第2の上記情報iとの結合として、上記鍵生成アルゴリズムKeyGen(sk,i)を実行して秘密鍵skt←KeyGen(sk,i)を生成し、
上記暗号文生成部は、上記情報jを上記暗号化時刻t'と第2の上記情報jとの結合として、上記暗号化アルゴリズムEnc(pk,j,x)を実行して暗号文ct'←Enc(pk,j,x)を生成し、
上記復号部は、上記時的制限情報tと上記暗号化時刻t'とが予め定められた関係R1を満たし、かつ、第2の上記情報iと第2の上記情報jとが予め定められた関係R2を満たすときに、上記平文xが得られるものである
ことを特徴とする時限暗号システム。
A timed encryption system that includes a key issuing device, a sender device, and a receiver device, and decryption of the ciphertext fails at a time other than a predetermined time,
Encryption (KeyGen, Enc, Dec) with public parameters pk and master secret key sk
KeyGen (sk, i) → sk i : Key generation algorithm (probabilistic polynomial time algorithm that inputs the master secret key sk and information i and outputs the secret key sk i corresponding to the information i),
Enc (pk, j, x) → c j : Stochastic polynomial time in which the encryption algorithm (public parameter pk, information j, and information to be encrypted (hereinafter referred to as plaintext) x is input, and ciphertext c j is output. Algorithm) and
Dec (pk, sk i , c j ) → y: a decryption algorithm (a stochastic polynomial time algorithm that takes the public parameter pk, the secret key sk i, and the ciphertext c j as input and outputs information y), and the above information When i and the information j satisfy a predetermined relationship R, the plain text x is obtained as the information y.
The key issuing device
As the information i including information t (hereinafter referred to as time restriction information t) related to the predetermined time relating to the time restriction of execution of the decryption algorithm, the key generation algorithm KeyGen (sk, i ) To generate a secret key sk t ← KeyGen (sk, i)
The sender generator is
The information j is information including a time t ′ (hereinafter referred to as an encryption time t ′) set in the ciphertext, and the ciphertext c t is executed by executing the cipher encryption algorithm Enc (pk, j, x). ' ← Includes a ciphertext generator that generates Enc (pk, j, x)
The recipient device is
A decryption unit that executes the decryption algorithm Dec (pk, sk t , ct ) of the cipher with the secret key sk i as the secret key sk t and the cipher text c j as the cipher text c t ′ ,
The above time restriction information t is the time,
The relation R is the relation R1 between the predicate of t ≧ T where T is a predicate variable with respect to the temporal restriction information t and the encryption time t ′ that can be assigned to the predicate variable T, and the attribute of the receiver A relation R2 between the second information i that is a predicate variable representing the second information j that is a predicate representing a necessary condition for the recipient attribute, and
The secret key generation unit executes the key generation algorithm KeyGen (sk, i) using the information i as a combination of the above description word t ≧ T and the second information i, and executes the secret key sk t ← KeyGen (sk , i)
The ciphertext generation unit executes the encryption algorithm Enc (pk, j, x) using the information j as a combination of the encryption time t ′ and the second information j, and performs ciphertext c t ′ ← Generate Enc (pk, j, x)
In the decryption unit, the time restriction information t and the encryption time t ′ satisfy a predetermined relationship R1, and the second information i and the second information j are predetermined. The timed cryptosystem characterized in that the plaintext x is obtained when the relation R2 is satisfied.
鍵発行装置と、送信者装置と、受信者装置とを含み、予め定められた時間以外において暗号文の復号が失敗する時限暗号システムにおける時限暗号方法であって、
公開パラメータpkとマスター秘密鍵skが定められた暗号(KeyGen,Enc,Dec)が、
KeyGen(sk,i)→ski:鍵生成アルゴリズム(マスター秘密鍵skと情報iを入力とし、当該情報iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム)と、
Enc(pk,j,x)→cj:暗号化アルゴリズム(公開パラメータpkと情報jと暗号化対象の情報(以下、平文という)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム)と、
Dec(pk,ski,cj)→y:復号アルゴリズム(公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、情報yを出力する確率的多項式時間アルゴリズム)と
を含み、上記情報iと上記情報jが予め定められた関係Rを満たすときに上記情報yとして上記平文xが得られるように構成されており、
上記鍵発行装置の秘密鍵生成部が、上記情報iを上記復号アルゴリズムの実行の時的制限に係る上記予め定められた時間に関する情報tを含む情報として、上記暗号の鍵生成アルゴリズムKeyGen(sk,i)を実行して秘密鍵skt←KeyGen(sk,i)を生成する秘密鍵生成ステップと、
上記送信者成装置の暗号文生成部が、上記情報jを暗号文に設定される時刻t'を含む情報とし、上記暗号の暗号化アルゴリズムEnc(pk,j,x)を実行して暗号文ct'←Enc(pk,j,x)を生成する暗号文生成ステップと、
上記受信者装置の復号部が、上記秘密鍵skiを上記秘密鍵sktとし、上記暗号文cjを上記暗号文ct'として、上記暗号の復号アルゴリズムDec(pk,skt,ct')を実行する復号ステップとを有し、
上記時的制限情報tを時刻とし、
上記関係Rは、上記時的制限情報tに対してTを述語変数とするt≧Tなる述語と当該述語変数Tに代入されうる上記暗号化時刻t'との関係R1と、受信者の属性を表す述語変数である第2の上記情報iと受信者の属性に対する必要条件を表す述語である第2の上記情報jとの間の関係R2とからなる関係であり、
上記秘密鍵生成ステップは、上記情報iを上記述語t≧Tと第2の上記情報iとの結合として、上記鍵生成アルゴリズムKeyGen(sk,i)を実行して秘密鍵skt←KeyGen(sk,i)を生成し、
上記暗号文生成ステップは、上記情報jを上記暗号化時刻t'と第2の上記情報jとの結合として、上記暗号化アルゴリズムEnc(pk,j,x)を実行して暗号文ct'←Enc(pk,j,x)を生成し、
上記復号ステップは、上記時的制限情報tと上記暗号化時刻t'とが予め定められた関係R1を満たし、かつ、第2の上記情報iと第2の上記情報jとが予め定められた関係R2を満たすときに、上記平文xが得られるものである
時限暗号方法。
A timed encryption method in a timed encryption system that includes a key issuing device, a sender device, and a receiver device, and decryption of ciphertext fails at times other than a predetermined time,
Encryption (KeyGen, Enc, Dec) with public parameters pk and master secret key sk
KeyGen (sk, i) → sk i : Key generation algorithm (probabilistic polynomial time algorithm that inputs the master secret key sk and information i and outputs the secret key sk i corresponding to the information i),
Enc (pk, j, x) → c j : Stochastic polynomial time in which the encryption algorithm (public parameter pk, information j, and information to be encrypted (hereinafter referred to as plaintext) x is input, and ciphertext c j is output. Algorithm) and
Dec (pk, sk i , c j ) → y: a decryption algorithm (a stochastic polynomial time algorithm that takes the public parameter pk, the secret key sk i, and the ciphertext c j as input and outputs information y), and the above information When i and the information j satisfy a predetermined relationship R, the plain text x is obtained as the information y.
The secret key generation unit of the key issuing device uses the encryption key generation algorithm KeyGen (sk,) as the information i including the information t regarding the predetermined time related to the time restriction on the execution of the decryption algorithm. i) to generate a secret key sk t ← KeyGen (sk, i), and a secret key generation step;
The ciphertext generator of the sender device uses the information j as information including the time t ′ set in the ciphertext and executes the cipher encryption algorithm Enc (pk, j, x) c t ' ← ciphertext generation step for generating Enc (pk, j, x),
Decoding of the recipient device, the secret key sk i and the secret key sk t, the ciphertext c j as the ciphertext c t ', the decoding algorithm Dec (pk of the encryption, sk t, c t ' ) And performing a decryption step,
The above time restriction information t is the time,
The relation R is the relation R1 between the predicate of t ≧ T where T is a predicate variable with respect to the temporal restriction information t and the encryption time t ′ that can be assigned to the predicate variable T, and the attribute of the receiver A relation R2 between the second information i that is a predicate variable representing the second information j that is a predicate representing a necessary condition for the recipient attribute, and
The secret key generation step, the information i as a coupling between the predicate t ≧ T and the second of the above information i, the secret key by executing the key generation algorithm KeyGen (sk, i) sk t ← KeyGen (sk , i)
The ciphertext generation step executes the encryption algorithm Enc (pk, j, x) with the information j as a combination of the encryption time t ′ and the second information j, and performs ciphertext c t ′ ← Generate Enc (pk, j, x)
In the decryption step, the time restriction information t and the encryption time t ′ satisfy a predetermined relationship R1, and the second information i and the second information j are predetermined. The above-mentioned plaintext x is obtained when the relation R2 is satisfied.
請求項1に記載の時限暗号システムにおいて用いられる上記鍵発行装置。       The key issuing device used in the timed cryptographic system according to claim 1. 請求項1に記載の時限暗号システムにおいて用いられる上記送信者装置。       The sender apparatus used in the timed cryptographic system according to claim 1. 請求項1に記載の時限暗号システムにおいて用いられる上記受信者装置。       The receiver apparatus used in the timed cryptographic system according to claim 1. 請求項3に記載の鍵発行装置、請求項4に記載の送信者装置、請求項5に記載の受信者装置のいずれかとしてコンピュータを機能させるプログラム。       A program that causes a computer to function as any one of the key issuing device according to claim 3, the sender device according to claim 4, and the receiver device according to claim 5.
JP2011277380A 2011-12-19 2011-12-19 Timed cryptographic system, timed cryptographic method, apparatus, and program Active JP5755557B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011277380A JP5755557B2 (en) 2011-12-19 2011-12-19 Timed cryptographic system, timed cryptographic method, apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011277380A JP5755557B2 (en) 2011-12-19 2011-12-19 Timed cryptographic system, timed cryptographic method, apparatus, and program

Publications (2)

Publication Number Publication Date
JP2013128235A JP2013128235A (en) 2013-06-27
JP5755557B2 true JP5755557B2 (en) 2015-07-29

Family

ID=48778519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011277380A Active JP5755557B2 (en) 2011-12-19 2011-12-19 Timed cryptographic system, timed cryptographic method, apparatus, and program

Country Status (1)

Country Link
JP (1) JP5755557B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054083A1 (en) 2013-10-07 2015-04-16 Semper Fortis Solutions LLC System and method for encryption key management, federation and distribution
JP2016019120A (en) * 2014-07-08 2016-02-01 日本電気通信システム株式会社 Decryption device, communication system, decryption method, and program
JP6259402B2 (en) * 2015-01-21 2018-01-10 日本電信電話株式会社 KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM
KR102281265B1 (en) * 2020-09-29 2021-07-22 세종대학교산학협력단 Functional encryption for set intersection with time-constrained function keys
CN114820175B (en) * 2022-06-27 2022-09-23 浙江数秦科技有限公司 Loan purpose supervision method based on block chain

Also Published As

Publication number Publication date
JP2013128235A (en) 2013-06-27

Similar Documents

Publication Publication Date Title
JP7024563B2 (en) Confidential and mutually authenticated key exchange
KR101418254B1 (en) Cryptosystem, cryptographic communication method, encryption device, key-generating device, decryption device, content server device, program, and recording medium
JP5562687B2 (en) Securing communications sent by a first user to a second user
JP2019531673A (en) Data processing method and apparatus
KR20050069936A (en) Encryption apparatus, decryption apparatus and encryption system
JP6556955B2 (en) Communication terminal, server device, program
WO2013178019A1 (en) Method, device and system for implementing media data processing
JP5755557B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
KR20230154929A (en) Data transmission methods, devices and electronic devices, storage media
JP6059347B2 (en) Decoding device, decoding capability providing device, method and program thereof
KR101899130B1 (en) Methods for encrypting data, decrypting data and apparatus using the same
JP5730805B2 (en) Hierarchical inner product encryption system based on lattice problem, hierarchical inner product encryption method and apparatus based on lattice problem
WO2014112523A1 (en) Decryption-service provision device, processing device, safety evaluation device, program, and recording medium
JP5469618B2 (en) Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program
JP2007060100A (en) Key updating method, key segregation type encryption system and terminal device
JP5784662B2 (en) ENCRYPTED DATA OPERATION SYSTEM, DEVICE, AND PROGRAM
JP6563857B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, program
KR20230148200A (en) Data processing methods, devices and electronic devices, and storage media for multi-source data
Kumar et al. An efficient and provably secure time‐limited key management scheme for outsourced data
JP5612494B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program using function encryption
Yoon et al. A secure broadcasting cryptosystem and its application to grid computing
JP2003008564A (en) Key share system, public key encryption system, signature system, key share device, encryption device, decoder, signature device, authentication device, key share method, encryption method, decoding method, signature method, authentication method, program
JP2003244131A (en) Key management device, key management method, key management program, and computer readable recording medium with key management program recorded
Basavarajegowda et al. Enhanced CP-ABE with RSA for Secure and Revocable Data Transmission of Big Data in Cloud.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150527

R150 Certificate of patent or registration of utility model

Ref document number: 5755557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150