JP6075785B2 - Cryptographic communication system, cryptographic communication method, program - Google Patents

Cryptographic communication system, cryptographic communication method, program Download PDF

Info

Publication number
JP6075785B2
JP6075785B2 JP2013268708A JP2013268708A JP6075785B2 JP 6075785 B2 JP6075785 B2 JP 6075785B2 JP 2013268708 A JP2013268708 A JP 2013268708A JP 2013268708 A JP2013268708 A JP 2013268708A JP 6075785 B2 JP6075785 B2 JP 6075785B2
Authority
JP
Japan
Prior art keywords
key
ciphertext
verification
tag
unit
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
JP2013268708A
Other languages
Japanese (ja)
Other versions
JP2015126332A (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 JP2013268708A priority Critical patent/JP6075785B2/en
Publication of JP2015126332A publication Critical patent/JP2015126332A/en
Application granted granted Critical
Publication of JP6075785B2 publication Critical patent/JP6075785B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、公開鍵暗号方式に関し、特にRKA-KDM-CCA安全性を実現する暗号通信システム、暗号通信方法、プログラムに関する。   The present invention relates to a public key cryptosystem, and more particularly to a cryptographic communication system, a cryptographic communication method, and a program that realize RKA-KDM-CCA security.

本明細書では、鍵依存平文の暗号文の安全性をKDM安全性、関連鍵攻撃に対する安全性をRKA安全性と呼ぶ。なお関連鍵攻撃環境下での鍵依存平文の暗号文の安全性をRKA-KDM安全性と呼ぶ。またKDM安全かつRKA安全だからといって、RKA-KDM安全だとは限らない。   In this specification, the security of ciphertext of key-dependent plaintext is called KDM security, and the security against related key attacks is called RKA security. The security of the ciphertext of the key-dependent plaintext in the related key attack environment is called RKA-KDM security. Moreover, just because KDM is safe and RKA is safe does not mean it is RKA-KDM safe.

秘密鍵に依存した平文を暗号化する方式には理論的な応用と実際的な応用がある。理論的な応用として、暗号を用いたプロトコルの自動検証が挙げられる。自動検証を通るプロトコルは、KDM安全な暗号方式を用いているのであれば、暗号学的な意味でも安全性が保障される。また実際的な応用として、ディスク暗号化が挙げられる。たとえばディスク暗号化ソフトであるBitLockerでは、秘密鍵自身を暗号化することがあった。この安全性を保障するには、KDM安全性が必要である。KDM安全な暗号方式の既往研究として、非特許文献1がある。復号オラクルが存在する環境下での鍵依存平文の安全性をKDM-CCA安全性と呼ぶ。KDM-CCA安全な公開鍵暗号方式として、Camenisch, Chandran, Shoupの方式(非特許文献2)やHofheinzの方式(非特許文献3)が知られている。また、RKA-KDM-CPA安全な共通鍵暗号方式として、Applebaumの方式(非特許文献4)やBohl, Davies, Hofheinzの方式(非特許文献5)が知られている。   There are theoretical and practical applications for encrypting plaintext that depends on the secret key. A theoretical application is automatic verification of protocols using cryptography. If a protocol that passes automatic verification uses a KDM secure encryption method, security is ensured in a cryptographic sense. A practical application is disk encryption. For example, BitLocker, a disk encryption software, sometimes encrypts the private key itself. To ensure this safety, KDM safety is necessary. As a past study of KDM secure encryption method, there is Non-Patent Document 1. The security of key-dependent plaintext in an environment where a decryption oracle exists is called KDM-CCA security. As the KDM-CCA secure public key cryptosystem, the Camenisch, Chandran, Shoup system (Non-patent Document 2) and the Hofheinz system (Non-patent Document 3) are known. Also, as the RKA-KDM-CPA secure common key encryption method, the Applebaum method (Non-Patent Document 4) and the Bohl, Davies, Hofheinz method (Non-Patent Document 5) are known.

Isamu Teranishi. Survey of key dependent message ( KDM ) security. IEICE Fundamentals Review,6(1):26-36,2012.Isamu Teranishi. Survey of key dependent message (KDM) security. IEICE Fundamentals Review, 6 (1): 26-36, 2012. Jan Camenisch、Nishanth Chandran, and Victor Shoup. A public key encryption scheme secure against key dependent chosen plaintext and adaptive chosen ciphertext attacks. In Antoine Joux, editor, EUROCRYPT 2009, volume 5479 of LNCS, pages 351-368. Springer, Heidelberg, 2009.Jan Camenisch, Nisanth Chandran, and Victor Shoup.A public key encryption scheme secure against key dependent chosen plaintext and adaptive chosen ciphertext attacks.In Antoine Joux, editor, EUROCRYPT 2009, volume 5479 of LNCS, pages 351-368.Springer, Heidelberg, 2009. Dennis Hofheinz. Circular chosen-ciphertext security with compact ciphertexts. In Thomas Johansson and Phong Q. Nguyen, editors, EUROCRYPT 2013, volume 7881 of LNCS, pages 520-536. Springer, Heidelberg,2013.Dennis Hofheinz. Circular chosen-ciphertext security with compact ciphertexts.In Thomas Johansson and Phong Q.Nguyen, editors, EUROCRYPT 2013, volume 7881 of LNCS, pages 520-536.Springer, Heidelberg, 2013. Benny Applebaum. Garbling XOR gates “for free” in the standard model. In Amit Sahai, editor, TCC2013, volume 7785 of LNCS, pages 162-181. Springer, Heidelberg, 2013. See also http://eprint.iacr.org/2012/516.Benny Applebaum. Garbling XOR gates “for free” in the standard model. In Amit Sahai, editor, TCC2013, volume 7785 of LNCS, pages 162-181. Springer, Heidelberg, 2013. See also http://eprint.iacr.org / 2012/516. Florian Bohl, Gareth T. Davies, and Dennis Hofheinz. RKA-KDM secure encryption from public-key encryption. Cryptology ePrint Archive, Report 2013/653, 2013. Available at http://eprint.iacr.org/2013/653.Florian Bohl, Gareth T. Davies, and Dennis Hofheinz. RKA-KDM secure encryption from public-key encryption. Cryptology ePrint Archive, Report 2013/653, 2013. Available at http://eprint.iacr.org/2013/653.

RKA-KDM-CPA安全な共通鍵暗号方式として非特許文献5などが知られている一方、RKA-KDM-CCA安全な公開鍵暗号方式についての研究はこれまでなされておらず、存在するかどうかも不明であった。そこで本発明では、RKA-KDM-CCA安全な公開鍵暗号方式を実現する暗号通信システム、暗号通信方法、プログラムを提供することを目的とする。   While RKA-KDM-CPA is a secure common key encryption method, Non-Patent Document 5 is known, but RKA-KDM-CCA secure public key encryption method has not been studied so far. Was also unknown. Accordingly, an object of the present invention is to provide a cryptographic communication system, a cryptographic communication method, and a program that realize an RKA-KDM-CCA secure public key cryptosystem.

本発明の暗号通信システムは、パラメータ装置と、鍵生成装置と、暗号化装置と、復号装置を含む。   The cryptographic communication system of the present invention includes a parameter device, a key generation device, an encryption device, and a decryption device.

パラメータ装置は、条件パラメータ設定部と、RSAモジュラス生成部と、ランダム生成元設定部と、パラメータ生成部とを含む。条件パラメータ設定部は、合成数の長さ、メッセージの数、フィルタ用素数の長さを示す条件パラメータを設定する。RSAモジュラス生成部は、セキュリティパラメータを入力とし、第1、第2のブラム素数とRSAモジュラスの合成数を生成する。ランダム生成元設定部は、合成数の3乗未満であって、合成数の3乗と互いに素な数のみの集合のうち、所定の位数の部分群である乱数用部分群において、第1、第2ランダム生成元を設定する。パラメータ生成部は、セキュリティパラメータを入力とし、フィルタ鍵とトラップドアを生成する。   The parameter device includes a condition parameter setting unit, an RSA modulus generation unit, a random generation source setting unit, and a parameter generation unit. The condition parameter setting unit sets a condition parameter indicating the length of the composite number, the number of messages, and the length of the filter prime. The RSA modulus generation unit receives the security parameter and generates a composite number of the first and second Bram prime numbers and the RSA modulus. The random generator setting unit includes a first sub-group for random numbers, which is a sub-group of a predetermined order, out of a set that is less than the third power of the composite number and is relatively prime to the third power of the composite number. The second random generation source is set. The parameter generation unit receives the security parameter and generates a filter key and a trap door.

鍵生成装置は、秘密鍵パラメータ選択部と、公開鍵パラメータ計算部と、公開鍵生成部と、秘密鍵生成部とを含む。秘密鍵パラメータ選択部は、平文空間から、第1、第2、第3、第4秘密鍵パラメータをランダムに選択する。公開鍵パラメータ計算部は、第1、第2ランダム生成元と、第1、第2、第3、第4秘密鍵パラメータに基づいて第1、第2公開鍵パラメータを計算する。公開鍵生成部は、第1、第2公開鍵パラメータから公開鍵を生成する。秘密鍵生成部は、第1、第2、第3、第4秘密鍵パラメータから秘密鍵を生成する。   The key generation device includes a secret key parameter selection unit, a public key parameter calculation unit, a public key generation unit, and a secret key generation unit. The secret key parameter selection unit randomly selects the first, second, third, and fourth secret key parameters from the plaintext space. The public key parameter calculation unit calculates the first and second public key parameters based on the first and second random generators and the first, second, third, and fourth secret key parameters. The public key generation unit generates a public key from the first and second public key parameters. The secret key generation unit generates a secret key from the first, second, third, and fourth secret key parameters.

暗号化装置は、乱数選択部と、署名鍵生成部と、共通鍵選択部と、タグ設定部と、第1中間暗号文計算部と、第2中間暗号文計算部と、チェック用暗号文計算部と、マスク済暗号文計算部と、共通鍵暗号化部と、署名部と、暗号文生成部とを含む。乱数選択部は、合成数の4分の1未満の数の集合から第1、第2乱数をランダムに選択する。署名鍵生成部は、セキュリティパラメータを入力とし、使い捨て署名用の鍵ペアである検証鍵と署名鍵を生成する。共通鍵選択部は、共通鍵暗号用のランダムな鍵である共通鍵をランダムに選択する。タグ設定部は、タグがコアタグと補助タグからなるものとし、検証鍵を補助タグとし、コアタグをタグ空間からランダムに選択する。第1中間暗号文計算部は、第1乱数と第1、第2ランダム生成元に基づいて第1中間暗号文のペアを計算する。第2中間暗号文計算部は、第2乱数と第1、第2ランダム生成元に基づいて第2中間暗号文のペアを計算する。チェック用暗号文計算部は、第1、第2公開鍵パラメータと検証鍵と第1乱数と合成数に基づいてチェック用暗号文を計算する。マスク済暗号文計算部は、第1、第2公開鍵パラメータと検証鍵と第1、第2乱数と合成数と共通鍵とメッセージに基づいてマスク済暗号文を計算する。共通鍵暗号化部は、フィルタ入力用に変換したメッセージの損失的代数フィルタのフィルタ値を共通鍵で暗号化して共通鍵暗号文を生成する。署名部は、署名鍵を用いて、公開鍵と第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグの使い捨て署名を生成する。暗号文生成部は、第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグと検証鍵と使い捨て署名を含む暗号文を生成する。   The encryption apparatus includes a random number selection unit, a signature key generation unit, a common key selection unit, a tag setting unit, a first intermediate ciphertext calculation unit, a second intermediate ciphertext calculation unit, and a check ciphertext calculation. Part, a masked ciphertext calculation part, a common key encryption part, a signature part, and a ciphertext generation part. The random number selection unit randomly selects the first and second random numbers from a set of numbers less than a quarter of the combined number. The signature key generation unit receives a security parameter and generates a verification key and a signature key, which are a disposable signature key pair. The common key selection unit randomly selects a common key that is a random key for common key encryption. The tag setting unit assumes that the tag includes a core tag and an auxiliary tag, uses the verification key as an auxiliary tag, and randomly selects the core tag from the tag space. The first intermediate ciphertext calculation unit calculates a pair of first intermediate ciphertexts based on the first random number and the first and second random generators. The second intermediate ciphertext calculation unit calculates a pair of second intermediate ciphertexts based on the second random number and the first and second random generators. The check ciphertext calculation unit calculates a check ciphertext based on the first and second public key parameters, the verification key, the first random number, and the composite number. The masked ciphertext calculation unit calculates a masked ciphertext based on the first and second public key parameters, the verification key, the first and second random numbers, the composite number, the common key, and the message. The common key encryption unit encrypts the filter value of the lossy algebra filter of the message converted for filter input with the common key to generate a common key ciphertext. The signature unit generates a disposable signature of the public key, the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag using the signature key. The ciphertext generation unit generates a ciphertext including a pair of first and second intermediate ciphertexts, a check ciphertext, a masked ciphertext, a common key ciphertext, a core tag, a verification key, and a disposable signature.

復号装置は、改竄公開鍵計算部と、検証部と、検証結果確認部と、チェック用暗号文確認部と、マスク鍵計算部と、マスク復号結果確認部と、変換済平文計算部と、メッセージ確認部と、タグ生成部と、共通鍵復号部と、復号結果確認部と、メッセージ出力部を含む。改竄公開鍵計算部は、第1、第2ランダム生成元と、改竄された可能性があるパラメータである第1、第2、第3、第4改竄秘密鍵パラメータに基づいて第1、第2改竄公開鍵パラメータを計算し、改竄公開鍵を計算する。検証部は、改竄公開鍵と第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグとからなるメッセージを検証鍵、使い捨て署名を用いて検証し検証結果を出力する。検証結果確認部は、検証結果を確認して、検証結果が検証成功である場合に検証結果を出力し、検証失敗である場合にリジェクトシンボルを出力し処理を停止する。チェック用暗号文確認部は、チェック用暗号文が、第1中間暗号文のペアと第1、第2、第3、第4改竄秘密鍵パラメータと検証鍵と合成数を用いて計算される真値であることを確認し、真値であればチェック用暗号文を出力し、そうでなければリジェクトシンボルを出力し処理を停止する。マスク鍵計算部は、第1、第2中間暗号文のペアと第1、第2、第3、第4改竄秘密鍵パラメータと検証鍵からマスク鍵を計算する。マスク復号結果確認部は、マスク鍵を用いてマスク済暗号文を復号してマスク復号結果を取得し、合成数の3乗未満であって、合成数の3乗と互いに素な数のみの集合のうち、合成数の2乗を位数とする部分群である平文用部分群にマスク復号結果が属するか否かを確認し、属する場合にはマスク復号結果を出力し、そうでなければリジェクトシンボルを出力し処理を停止する。変換済平文計算部は、マスク復号結果に対数計算を実行して変換済平文を計算し、メッセージを取得する。メッセージ確認部は、メッセージが平文空間に属するか否かを確認し、属する場合にはメッセージを出力し、そうでなければリジェクトシンボルを出力し処理を停止する。タグ生成部は、検証鍵を補助タグとして、補助タグとコアタグからタグを生成する。共通鍵復号部は、共通鍵を用いて共通鍵暗号文を復号し復号結果を出力する。復号結果確認部は、復号結果がフィルタ値と等しいか否かを確認し、等しければメッセージを出力し、そうでなければリジェクトシンボルを出力し処理を停止する。メッセージ出力部は、復号装置の各部の動作時にリジェクトシンボルが出力されなかった場合、メッセージを出力する。   The decryption device includes a falsified public key calculation unit, a verification unit, a verification result confirmation unit, a check ciphertext confirmation unit, a mask key calculation unit, a mask decryption result confirmation unit, a converted plaintext calculation unit, a message A confirmation unit, a tag generation unit, a common key decryption unit, a decryption result confirmation unit, and a message output unit are included. The falsified public key calculation unit performs the first and second random generation sources based on the first, second, third, and fourth falsified secret key parameters that are parameters that may have been falsified. Calculate the falsified public key parameter and calculate the falsified public key. The verification unit verifies a message composed of the falsified public key, the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag using the verification key and the disposable signature. Output the verification result. The verification result confirmation unit confirms the verification result, outputs the verification result if the verification result is a verification success, and outputs a reject symbol if the verification is a failure, and stops the processing. The check ciphertext confirming unit calculates whether the check ciphertext is calculated by using the first intermediate ciphertext pair, the first, second, third, and fourth falsified secret key parameters, the verification key, and the composite number. If it is a true value, if it is a true value, a check ciphertext is output, otherwise a reject symbol is output and the process is stopped. The mask key calculation unit calculates a mask key from the first and second intermediate ciphertext pairs, the first, second, third, and fourth falsified secret key parameters and the verification key. The mask decryption result confirmation unit obtains the mask decryption result by decrypting the masked ciphertext using the mask key, and is a set of only the numbers that are less than the third power of the composite number and relatively prime to the third power of the composite number Check whether the mask decryption result belongs to the plaintext subgroup which is the subgroup whose order is the square of the composite number. If so, output the mask decryption result; otherwise, reject Outputs a symbol and stops processing. The converted plaintext calculation unit performs logarithmic calculation on the mask decryption result to calculate the converted plaintext, and obtains a message. The message confirmation unit confirms whether or not the message belongs to the plaintext space. If the message belongs, the message confirmation unit outputs a message. Otherwise, the message confirmation unit outputs a reject symbol and stops the processing. The tag generation unit generates a tag from the auxiliary tag and the core tag using the verification key as an auxiliary tag. The common key decryption unit decrypts the common key ciphertext using the common key and outputs a decryption result. The decoding result confirmation unit confirms whether or not the decoding result is equal to the filter value, and outputs a message if they are equal, otherwise outputs a reject symbol and stops the processing. The message output unit outputs a message when a reject symbol is not output during operation of each unit of the decoding device.

本発明の暗号通信システムによれば、RKA-KDM-CCA安全な公開鍵暗号方式を実現することができる。   According to the cryptographic communication system of the present invention, an RKA-KDM-CCA secure public key cryptosystem can be realized.

従来技術の損失的代数フィルタアルゴリズムを装置の構成要素に分解して示すブロック図。The block diagram which decomposes | disassembles and shows the lossy algebra filter algorithm of a prior art to the component of an apparatus. 従来技術のRSAモジュラス生成アルゴリズムを装置の構成要素として示すブロック図。FIG. 2 is a block diagram showing a prior art RSA modulus generation algorithm as a component of the apparatus. 従来技術の共通鍵暗号アルゴリズムを装置の構成要素に分解して示すブロック図。The block diagram which decomposes | disassembles and shows the common key encryption algorithm of a prior art to the component of an apparatus. 従来技術の使い捨て署名アルゴリズムを装置の構成要素に分解して示すブロック図。The block diagram which decomposes | disassembles and shows the disposable signature algorithm of a prior art to the component of an apparatus. 本発明の実施例1の暗号通信システムの概略を示す図。BRIEF DESCRIPTION OF THE DRAWINGS The figure which shows the outline of the encryption communication system of Example 1 of this invention. 本発明の実施例1の変形例の暗号通信システムの概略を示す図。The figure which shows the outline of the encryption communication system of the modification of Example 1 of this invention. 本発明の実施例1のパラメータ装置の構成を示すブロック図。The block diagram which shows the structure of the parameter apparatus of Example 1 of this invention. 本発明の実施例1のパラメータ装置の動作を示すフローチャート。The flowchart which shows operation | movement of the parameter apparatus of Example 1 of this invention. 本発明の実施例1の鍵生成装置の構成を示すブロック図。1 is a block diagram illustrating a configuration of a key generation device according to a first embodiment of the present invention. 本発明の実施例1の鍵生成装置の動作を示すフローチャート。The flowchart which shows operation | movement of the key generation apparatus of Example 1 of this invention. 本発明の実施例1の暗号化装置の構成を示すブロック図。1 is a block diagram illustrating a configuration of an encryption device according to a first embodiment of the present invention. 本発明の実施例1の暗号化装置の動作を示すフローチャート。5 is a flowchart showing the operation of the encryption apparatus according to the first embodiment of the present invention. 本発明の実施例1の復号装置の構成を示すブロック図。1 is a block diagram showing a configuration of a decoding device according to Embodiment 1 of the present invention. 本発明の実施例1の復号装置の動作を示すフローチャート。5 is a flowchart showing the operation of the decoding apparatus according to the first embodiment of the present invention.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.

≪準備≫
実施例1について述べる前に、本節では以降で利用する用語について説明する。以下では、κ∈Nをセキュリティパラメータとする。
≪Preparation≫
Before discussing the first embodiment, this section describes terms used in the following. In the following, κ∈N is a security parameter.

<損失的代数フィルタ, Lossy Algebraic Filter, LAF>
(lLAF,n)-LAFとは、フィルタ鍵fpkとタグtによって決まる関数の族である。lLAFはフィルタ用素数pの長さパラメータ、nはメッセージの数を表す。従って、フィルタ用素数pをlLAFビットの素数とし、Zn pはZp要素のn次元ベクトル空間を表すものとし、n個のメッセージX=(X1,…,Xn)∈Zn pを入力とし、損失的代数フィルタのフィルタ値LAFfpk,t(X)を出力とする。タグにはinjectiveなものとlossyなものが存在する。またタグtは、t=(ta,tc)と分けることができ、特にtcをコアタグ、taを補助タグと呼ぶ。
<Lossy Algebraic Filter, LAF>
(l LAF , n) -LAF is a family of functions determined by the filter key fpk and the tag t. l LAF is the length parameter of the prime p for filtering, and n is the number of messages. Therefore, the filter prime p is a prime number of l LAF bits, Z n p is an n-dimensional vector space of Z p elements, and n messages X = (X 1 ,..., X n ) ∈Z n p And the filter value LAF fpk, t (X) of the lossy algebra filter as an output. There are injective and lossy tags. The tag t can be divided into t = (t a , t c ). In particular, t c is called a core tag and t a is called an auxiliary tag.

損失的代数フィルタアルゴリズムは、4つのアルゴリズムの組からなる。詳細には、LAF=(FGen,FEval,TagSample,FTag)と表現される。以下、図1を参照して損失的代数フィルタアルゴリズムの各アルゴリズムについて説明する。図1は、従来技術の損失的代数フィルタアルゴリズムを装置の構成要素に分解して示すブロック図である。図1に示すように、損失的代数フィルタアルゴリズムは、パラメータ生成部(FGen)51、関数評価部(FEval)52、タグサンプリング部(TagSample)53、ロッシータグサンプリング部(FTag)54のそれぞれが実行するアルゴリズムの総称を意味する。本明細書では、FGenなどのアルゴリズムの名称は、対応する各構成要件の名称の後ろにカッコ書きで併記する。   The lossy algebra filter algorithm consists of a set of four algorithms. Specifically, LAF = (FGen, FEval, TagSample, FTag) is expressed. Hereinafter, each algorithm of the lossy algebra filter algorithm will be described with reference to FIG. FIG. 1 is a block diagram illustrating a prior art lossy algebraic filter algorithm broken down into device components. As shown in FIG. 1, the lossy algebra filter algorithm is executed by each of a parameter generation unit (FGen) 51, a function evaluation unit (FEval) 52, a tag sampling unit (TagSample) 53, and a lossy tag sampling unit (FTag) 54. It is a general term for algorithms to perform. In this specification, the name of an algorithm such as FGen is written in parentheses after the name of each corresponding component.

<パラメータ生成部(FGen)51>
パパラメータ生成部(FGen)51はセキュリティパラメータ1κを入力とし、(フィルタ鍵,トラップドア)=(fpk,ftd)を出力する。フィルタ鍵fpkは、lLAF(κ)ビットの素数pとタグ空間T={0,1}*×Tcの記述とを含む。Tcは、コアタグ全体の集合である。トラップドアftdを用いるとlossyなタグをサンプルすることが出来る。
<Parameter generation unit (FGen) 51>
The parameter generation unit (FGen) 51 receives the security parameter 1 κ and outputs (filter key, trapdoor) = (fpk, ftd). The filter key fpk includes a prime number p of l LAF (κ) bits and a description of a tag space T = {0,1} * × T c . T c is a set of all core tags. If you use trapdoor ftd, you can sample lossy tags.

<関数評価部(FEval)52>
関数評価部(FEval)52は、フィルタ鍵fpk、タグt∈T、X∈Zn pを入力とし、損失的代数フィルタのフィルタ値LAFfpk,t(X)を出力する。
<Function Evaluation Unit (FEval) 52>
The function evaluation unit (FEval) 52 receives the filter key fpk, the tags tεT, and XεZ n p, and outputs the filter value LAF fpk, t (X) of the lossy algebra filter.

<タグサンプリング部(TagSample)53>
タグサンプリング部(TagSample)53は、フィルタ鍵fpkを入力とし、コアタグtc∈Tcをサンプルする。このとき、コアタグtcとして圧倒的な確率でinjectiveなタグがサンプルされる。
<Tag sampling unit (TagSample) 53>
Tag sampling unit (TagSample) 53 is a filter key fpk as input, samples the core tags t c ∈T c. At this time, an injective tag is sampled with an overwhelming probability as the core tag t c .

<ロッシータグサンプリング部(FTag)54>
ロッシータグサンプリング部(FTag)54は、トラップドアftdと補助タグta∈{0,1}*を入力とし、タグt=(ta,tc)がlossyになるようなコアタグtc∈Tcをサンプルする。本アルゴリズムの具体的な構成法は非特許文献3を参照のこと。
<Lossy Tag Sampling Unit (FTag) 54>
The lossy tag sampling unit (FTag) 54 receives the trap door ftd and the auxiliary tag t a ε {0,1} * , and the core tag t c εT such that the tag t = (t a , t c ) becomes lossy. Sample c . See Non-Patent Document 3 for the specific configuration method of this algorithm.

<RSAモジュラス生成アルゴリズム>
以下、図2を参照してRSAモジュラス生成アルゴリズムについて説明する。図2は、従来技術のRSAモジュラス生成アルゴリズムを装置の構成要素として示すブロック図である。図2に示すように、RSAモジュラス生成アルゴリズムは、RSAモジュラス生成部(GenN)6が実行するアルゴリズムを意味する。RSAモジュラス生成部(GenN)6は、セキュリティパラメータ1κを入力とし、lNビットの第1、第2のブラム素数P,Qを生成し、合成数N=PQを出力する。lNは、合成数Nの長さパラメータである。
<RSA modulus generation algorithm>
Hereinafter, the RSA modulus generation algorithm will be described with reference to FIG. FIG. 2 is a block diagram illustrating the prior art RSA modulus generation algorithm as a component of the apparatus. As shown in FIG. 2, the RSA modulus generation algorithm means an algorithm executed by the RSA modulus generation unit (GenN) 6. The RSA modulus generator (GenN) 6 receives the security parameter 1 κ , generates 1 N- bit first and second Blum prime numbers P and Q, and outputs a composite number N = PQ. l N is a length parameter of the composite number N.

<RSAモジュラスの性質>
RSAモジュラス生成部(GenN)6が出力した合成数Nについて、0以上N3-1以下(N3未満)の範囲で、合成数Nの3乗(N3)と互いに素な数のみの集合である
<Properties of RSA modulus>
For the composite number N output by the RSA modulus generator (GenN) 6, a set of only prime numbers that are relatively prime to the third power of the composite number N (N 3 ) in the range of 0 to N 3 -1 (less than N 3 ) Is

Figure 0006075785
Figure 0006075785

を考える。この群の位数はφ(N3)=N2・φ(N)である。PおよびQは奇素数なのでφ(N)/4=(P-1)(Q-1)=4は正整数である。N2および、φ(N)/4はφ(N3)を割り切り、それぞれの位数を持つ think of. The order of this group is φ (N 3 ) = N 2 · φ (N). Since P and Q are odd prime numbers, φ (N) / 4 = (P-1) (Q-1) = 4 is a positive integer. N 2 and φ (N) / 4 divide φ (N 3 ) and have their respective orders

Figure 0006075785
Figure 0006075785

の部分群が存在する。Grndは、 There are subgroups. G rnd

Figure 0006075785
Figure 0006075785

の位数φ(N)/4の部分群を表す。Grndを、乱数用部分群ともいう。Gmsgは、 Represents a subgroup of order φ (N) / 4. G rnd is also referred to as a random number subgroup. G msg is

Figure 0006075785
Figure 0006075785

の位数N2の部分群を表す。Gmsgを、平文用部分群ともいう。Gmsgの生成元hを、h = 1 + N mod N3と定義する。このとき、Gmsgの生成元hで生成される巡回群<h>は平文用部分群Gmsgに等しい。この群では離散対数が簡単に解ける。N,h,X=hx∈Gmsgが与えられたとき、 It represents a subgroup of order N 2. G msg is also referred to as a plaintext subgroup. The generator h of G msg is defined as h = 1 + N mod N 3 . At this time, the cyclic group generated by the generating element h of G msg <h> is equal to the plaintext for subgroup G msg. In this group, the discrete logarithm can be easily solved. Given N, h, X = h x ∈G msg ,

Figure 0006075785
Figure 0006075785

を求める効率の良いアルゴリズムが存在する(参考非特許文献1)。
(参考非特許文献1:Ivan Damgard and Mads Jurik. A generalisation, a simplification and some applications of Paillier's probabilistic public-key system. In Kwangjo Kim, editor, PKC2001, volume 1992 of LNCS, pages 119-136. Springer, Heidelberg, 2001.)
There is an efficient algorithm for obtaining the above (Reference Non-Patent Document 1).
(Reference Non-Patent Document 1: Ivan Damgard and Mads Jurik. A generalization, a simplification and some applications of Paillier's probabilistic public-key system. In Kwangjo Kim, editor, PKC2001, volume 1992 of LNCS, pages 119-136. Springer, Heidelberg , 2001.)

<共通鍵暗号アルゴリズム>
共通鍵暗号アルゴリズムとして、IND-CPA安全かつkey-uniqueな共通鍵暗号を用いる。共通鍵暗号アルゴリズムは2つのアルゴリズム(E,D)からなる。以下、図3を参照して従来技術の共通鍵暗号アルゴリズムの各アルゴリズムについて説明する。図3は、従来技術の共通鍵暗号アルゴリズムを装置の構成要素に分解して示すブロック図である。図3に示すように、共通鍵暗号アルゴリズムは、共通鍵暗号化部(E)71、共通鍵復号部(D)72のそれぞれが実行するアルゴリズムの総称を意味する。共通鍵暗号化部(E)71は共通鍵K∈{0,1}κと平文Mを入力とし、暗号文Cを出力する。共通鍵復号部(D)72は共通鍵K∈{0,1}κと暗号文Cを入力とし、平文Mまたはリジェクトシンボル(⊥)を出力する。共通鍵暗号アルゴリズム(E,D)がkey-uniqueとは、任意の暗号文CについてD(K,C)≠⊥となるのは高々1つの共通鍵Kであることを意味する。
<Common key encryption algorithm>
IND-CPA secure and key-unique common key encryption is used as the common key encryption algorithm. The common key encryption algorithm consists of two algorithms (E, D). Hereinafter, each algorithm of the conventional common key encryption algorithm will be described with reference to FIG. FIG. 3 is a block diagram showing a conventional common key encryption algorithm broken down into the components of the apparatus. As shown in FIG. 3, the common key encryption algorithm means a generic name of algorithms executed by each of the common key encryption unit (E) 71 and the common key decryption unit (D) 72. The common key encryption unit (E) 71 receives the common key Kε {0,1} κ and the plaintext M, and outputs a ciphertext C. The common key decryption unit (D) 72 receives the common key Kε {0,1} κ and the ciphertext C, and outputs a plaintext M or a reject symbol (⊥). The key-unique common key encryption algorithm (E, D) means that for any ciphertext C, D (K, C) ≠ ⊥ is at most one common key K.

<使い捨て署名アルゴリズム>
従来技術の使い捨て署名アルゴリズムは3つのアルゴリズム(OGen,OSign,OVrfy)からなる。以下、図4を参照して従来技術の使い捨て署名アルゴリズムの各アルゴリズムについて説明する。図4は、従来技術の使い捨て署名アルゴリズムを装置の構成要素に分解して示すブロック図である。図4に示すように、従来技術の使い捨て署名アルゴリズムは、署名鍵生成部(OGen)81、署名部(OSign)82、検証部(OVrfy)83のそれぞれが実行するアルゴリズムの総称を意味する。署名鍵生成部(OGen)81はセキュリティパラメータ1κを入力とし、使い捨て署名用の鍵ペア(検証鍵,署名鍵)=(ovk,osk)を出力する。署名部(OSign)82は署名鍵oskとメッセージMを入力とし、使い捨て署名σを出力する。検証部(OVrfy)83は検証鍵ovkとメッセージMと使い捨て署名σを入力とし、検証結果(0 or 1)を出力する。本明細書では0を検証失敗、1を検証成功を示す値とする。
<Disposable signature algorithm>
The prior art disposable signature algorithm consists of three algorithms (OGen, OSign, OVrfy). Hereafter, each algorithm of the disposable signature algorithm of a prior art is demonstrated with reference to FIG. FIG. 4 is a block diagram showing the disposable signature algorithm of the prior art disassembled into the components of the apparatus. As shown in FIG. 4, the conventional disposable signature algorithm means a generic name of algorithms executed by the signature key generation unit (OGen) 81, the signature unit (OSign) 82, and the verification unit (OVrfy) 83. The signature key generation unit (OGen) 81 receives the security parameter 1 κ and outputs a disposable signature key pair (verification key, signature key) = (ovk, osk). The signature part (OSign) 82 receives the signature key osk and the message M and outputs a disposable signature σ. The verification unit (OVrfy) 83 receives the verification key ovk, the message M, and the disposable signature σ, and outputs a verification result (0 or 1). In this specification, 0 is a value indicating a verification failure and 1 is a value indicating a verification success.

以下、図5を参照して実施例1の暗号通信システムの概略について説明する。図5は、本実施例の暗号通信システム1000の概略を示す図である。図5に示すように、本実施例の暗号通信システム1000は、パラメータ装置1と、鍵生成装置(Gen)2と、暗号化装置(Enc)3と、復号装置(Dec)4を含む。パラメータ装置1、鍵生成装置(Gen)2、暗号化装置(Enc)3、復号装置(Dec)4はネットワーク9により無線または有線で通信可能に接続されている。各装置の詳細、および動作については後述する。なお、鍵生成装置(Gen)2と、復号装置(Dec)4とは一つの装置で構成されていてもよい。従って、図6に示すような変形例が実施可能である。図6は、本実施例の変形例の暗号通信システム1000’の概略を示す図である。図6に示すように、前述の復号装置4は鍵生成部2、復号部4を含む復号装置4’と変形可能である。この時、鍵生成部2、復号部4は前述の鍵生成装置2、復号装置4と全く同じ動作をする。以下では、暗号通信システム1000の構成に従って各装置の説明を行うが、暗号通信システム1000’としてシステムを構成する場合には、後述する鍵生成装置2、復号装置4をそれぞれ鍵生成部2、復号部4と読み替えればよい。   The outline of the cryptographic communication system according to the first embodiment will be described below with reference to FIG. FIG. 5 is a diagram showing an outline of the cryptographic communication system 1000 according to the present embodiment. As shown in FIG. 5, the cryptographic communication system 1000 according to the present embodiment includes a parameter device 1, a key generation device (Gen) 2, an encryption device (Enc) 3, and a decryption device (Dec) 4. The parameter device 1, the key generation device (Gen) 2, the encryption device (Enc) 3, and the decryption device (Dec) 4 are connected by a network 9 so that they can communicate wirelessly or by wire. Details and operation of each device will be described later. Note that the key generation device (Gen) 2 and the decryption device (Dec) 4 may be configured as a single device. Therefore, a modification as shown in FIG. 6 can be implemented. FIG. 6 is a diagram showing an outline of a cryptographic communication system 1000 ′ according to a modification of the present embodiment. As shown in FIG. 6, the above-described decryption device 4 can be modified to a decryption device 4 ′ including a key generation unit 2 and a decryption unit 4. At this time, the key generation unit 2 and the decryption unit 4 perform exactly the same operations as the key generation device 2 and the decryption device 4 described above. In the following, each device will be described according to the configuration of the cryptographic communication system 1000. However, when the system is configured as the cryptographic communication system 1000 ′, a key generation device 2 and a decryption device 4 described later are used as the key generation unit 2 and the decryption device, respectively. It may be read as part 4.

<パラメータ装置1>
次に、図7、図8を参照して本実施例の暗号通信システム1000を構成するパラメータ装置1について説明する。図7は、本実施例のパラメータ装置1の構成を示すブロック図である。図8は、本実施例のパラメータ装置1の動作を示すフローチャートである。図7に示すように、パラメータ装置1は、条件パラメータ設定部11と、共通パラメータ生成部(Pars)12を含む。共通パラメータ生成部(Pars)12は、RSAモジュラス生成部(GenN)6と、ランダム生成元設定部121と、パラメータ生成部(FGen)51とを含む。
<Parameter device 1>
Next, the parameter device 1 constituting the cryptographic communication system 1000 of the present embodiment will be described with reference to FIGS. FIG. 7 is a block diagram showing the configuration of the parameter device 1 of the present embodiment. FIG. 8 is a flowchart showing the operation of the parameter device 1 of the present embodiment. As shown in FIG. 7, the parameter device 1 includes a condition parameter setting unit 11 and a common parameter generation unit (Pars) 12. The common parameter generation unit (Pars) 12 includes an RSA modulus generation unit (GenN) 6, a random generation source setting unit 121, and a parameter generation unit (FGen) 51.

条件パラメータ設定部11は、合成数の長さ、メッセージの数、フィルタ用素数の長さを示す条件パラメータを設定する(S11)。詳細には、条件パラメータ設定部11は、合成数の長さパラメータをlN≧25κ+8と設定し、メッセージ数nをn=6と設定し、フィルタ用素数pの長さパラメータをlLAF=(lN+κ+1)/(n-6)と設定する。RSAモジュラス生成部(GenN)6は、セキュリティパラメータを入力とし、第1、第2のブラム素数とRSAモジュラスの合成数を生成する(S6)。詳細には、RSAモジュラス生成部(GenN)6は、セキュリティパラメータ1κを入力とし、アルゴリズムGenN(1κ)を用いて、第1、第2のブラム素数P、Qと、合成数Nを得る。ランダム生成元設定部121は、合成数の3乗未満であって、合成数の3乗と互いに素な数のみの集合のうち、所定の位数の部分群である乱数用部分群において、第1、第2ランダム生成元を設定する(S121)。詳細には、ランダム生成元設定部121は、第1、第2のランダム生成元g1,g2を乱数用部分群Grndのランダムな生成元として設定する。パラメータ生成部(FGen)51は、セキュリティパラメータを入力とし、フィルタ鍵とトラップドアを生成する(S51)。詳細には、パラメータ生成部(FGen)51は、セキュリティパラメータ1κを入力とし、(フィルタ鍵,トラップドア)=(fpk,ftd)←FGen(1κ)を生成する。共通パラメータ生成部(Pars)12は、共通パラメータpp=(N,g1,g2,fpk)を出力する。記号[p1,pm)は、p1からpm-1までの数の集合(p1,...,pm-1)を表すものとし、以下では、平文空間を The condition parameter setting unit 11 sets a condition parameter indicating the length of the composite number, the number of messages, and the length of the prime number for filtering (S11). Specifically, the condition parameter setting unit 11 sets the length parameter of the composite number as l N ≧ 25κ + 8, sets the number of messages n as n = 6, and sets the length parameter of the filter prime p as l LAF. Set = (l N + κ + 1) / (n-6). The RSA modulus generator (GenN) 6 receives the security parameter and generates a composite number of the first and second Blum prime numbers and the RSA modulus (S6). Specifically, the RSA modulus generation unit (GenN) 6 receives the security parameter 1 κ and uses the algorithm GenN (1 κ ) to obtain the first and second Blum prime numbers P and Q and the composite number N. . The random generator setting unit 121 is a subgroup for random numbers that is a subgroup of a predetermined order among a set of only numbers that are less than the third power of the composite number and relatively prime to the third power of the composite number. 1. A second random generator is set (S121). Specifically, the random generator setting unit 121 sets the first and second random generators g 1 and g 2 as random generators of the random number subgroup G rnd . The parameter generation unit (FGen) 51 receives a security parameter and generates a filter key and a trap door (S51). Specifically, the parameter generation unit (FGen) 51 receives the security parameter 1 κ and generates (filter key, trapdoor) = (fpk, ftd) ← FGen (1 κ ). The common parameter generation unit (Pars) 12 outputs the common parameter pp = (N, g 1 , g 2 , fpk). The symbol [p 1 , p m ) represents a set of numbers from p 1 to p m -1 (p 1 , ..., p m -1).

Figure 0006075785
Figure 0006075785

とする。従って平文空間は、 And Therefore, the plaintext space is

Figure 0006075785
Figure 0006075785

である。任意の It is. any

Figure 0006075785
Figure 0006075785

について、M=a+b・p2k+c・p24kとなる一意な For M = a + b ・ p2 k + c ・ p2 4k

Figure 0006075785
Figure 0006075785

が存在する。この3つ組(a,b,c)を求める関数をαとする。また平文をLAFの入力に変換する関数 Exists. A function for obtaining the triple (a, b, c) is α. A function that converts plaintext into LAF input

Figure 0006075785
Figure 0006075785

を定義する。これは、ζ(M)=(a, b mod p, c0, …, cn-3)∈Zn pとする。なお、c0, … , cn-3は係数cを、 Define This is set as ζ (M) = (a, b mod p, c 0 ,..., C n−3 ) ∈Z n p . C 0 , ..., c n-3 are the coefficients c,

Figure 0006075785
Figure 0006075785

と分解したものである。 This is a disassembled

<鍵生成装置(Gen)2>
以下、図9、図10を参照して本実施例の暗号通信システム1000を構成する鍵生成装置(Gen)2について説明する。図9は、本実施例の鍵生成装置(Gen)2の構成を示すブロック図である。図10は、本実施例の鍵生成装置(Gen)2の動作を示すフローチャートである。図9に示すように、鍵生成装置(Gen)2は、秘密鍵パラメータ選択部21と、公開鍵パラメータ計算部22と、公開鍵生成部23と、秘密鍵生成部24とを含む。鍵生成装置(Gen)2は、共通パラメータpp=(N,g1,g2,fpk)を入力とする。秘密鍵パラメータ選択部21は、平文空間から、第1、第2、第3、第4秘密鍵パラメータをランダムに選択する(S21)。詳細には、秘密鍵パラメータ選択部21は、s1,s2,s3,s4をそれぞれ第1、第2、第3、第4秘密鍵パラメータとし、j=1,2,3,4について、
<Key generator (Gen) 2>
Hereinafter, the key generation device (Gen) 2 constituting the cryptographic communication system 1000 according to the present embodiment will be described with reference to FIGS. FIG. 9 is a block diagram showing the configuration of the key generation device (Gen) 2 of this embodiment. FIG. 10 is a flowchart showing the operation of the key generation device (Gen) 2 of this embodiment. As shown in FIG. 9, the key generation device (Gen) 2 includes a secret key parameter selection unit 21, a public key parameter calculation unit 22, a public key generation unit 23, and a secret key generation unit 24. The key generation device (Gen) 2 receives the common parameters pp = (N, g 1 , g 2 , fpk) as input. The secret key parameter selection unit 21 randomly selects the first, second, third, and fourth secret key parameters from the plaintext space (S21). Specifically, the secret key parameter selection unit 21 sets s 1 , s 2 , s 3 , and s 4 as first, second, third, and fourth secret key parameters, respectively, and j = 1, 2, 3, 4, about,

Figure 0006075785
Figure 0006075785

をランダムに選ぶ。公開鍵パラメータ計算部22は、第1、第2ランダム生成元と、第1、第2、第3、第4秘密鍵パラメータに基づいて第1、第2公開鍵パラメータを計算する(S22)。詳細には、公開鍵パラメータ計算部22は、第1、第2公開鍵パラメータu,vを、 Choose at random. The public key parameter calculation unit 22 calculates the first and second public key parameters based on the first and second random generators and the first, second, third, and fourth secret key parameters (S22). Specifically, the public key parameter calculation unit 22 sets the first and second public key parameters u and v as

Figure 0006075785
Figure 0006075785

と計算する。公開鍵生成部23は、第1、第2公開鍵パラメータから公開鍵を生成する(S23)。詳細には、公開鍵生成部23は、公開鍵をpk=(u,v)∈G2 rndとして生成する。秘密鍵生成部24は、第1、第2、第3、第4秘密鍵パラメータから秘密鍵を生成する(S24)。詳細には、秘密鍵生成部24は、秘密鍵を And calculate. The public key generation unit 23 generates a public key from the first and second public key parameters (S23). Specifically, the public key generation unit 23 generates a public key as pk = (u, v) εG 2 rnd . The secret key generation unit 24 generates a secret key from the first, second, third, and fourth secret key parameters (S24). Specifically, the secret key generation unit 24 obtains the secret key.

Figure 0006075785
Figure 0006075785

として出力する。 Output as.

<暗号化装置(Enc)3>
以下、図11、図12を参照して本実施例の暗号通信システム1000を構成する暗号化装置(Enc)3について説明する。図11は、本実施例の暗号化装置(Enc)3の構成を示すブロック図である。図12は、本実施例の暗号化装置(Enc)3の動作を示すフローチャートである。図11に示すように、暗号化装置(Enc)3は、乱数選択部31と、署名鍵生成部(OGen)81と、共通鍵選択部32と、タグ設定部33と、第1中間暗号文計算部34と、第2中間暗号文計算部35と、チェック用暗号文計算部36と、マスク済暗号文計算部37と、共通鍵暗号化部(E)71と、署名部(OSign)82と、暗号文生成部38とを含む。暗号化装置(Enc)3は、共通パラメータpp、公開鍵pk、メッセージ(平文)Mを入力とする。なお、
<Encryption device (Enc) 3>
Hereinafter, the encryption device (Enc) 3 constituting the cryptographic communication system 1000 of this embodiment will be described with reference to FIGS. FIG. 11 is a block diagram showing the configuration of the encryption device (Enc) 3 of this embodiment. FIG. 12 is a flowchart showing the operation of the encryption device (Enc) 3 of this embodiment. As shown in FIG. 11, the encryption device (Enc) 3 includes a random number selection unit 31, a signature key generation unit (OGen) 81, a common key selection unit 32, a tag setting unit 33, and a first intermediate ciphertext. Calculation unit 34, second intermediate ciphertext calculation unit 35, check ciphertext calculation unit 36, masked ciphertext calculation unit 37, common key encryption unit (E) 71, and signature unit (OSign) 82 And a ciphertext generation unit 38. The encryption device (Enc) 3 receives a common parameter pp, a public key pk, and a message (plain text) M as inputs. In addition,

Figure 0006075785
Figure 0006075785

である。乱数選択部31は、合成数の4分の1未満の数の集合から第1、第2乱数をランダムに選択する(S31)。詳細には、乱数選択部31は、第1、第2乱数r,ρ(r,ρ∈ZN/4)をランダムに選ぶ。署名鍵生成部(OGen)81は、セキュリティパラメータを入力とし、使い捨て署名用の鍵ペアである検証鍵と署名鍵を生成する(S81)。詳細には、署名鍵生成部(OGen)81は、使い捨て署名用の鍵ペア(検証鍵,署名鍵)を(ovk,osk)←OGenと生成する。共通鍵選択部32は、共通鍵暗号用のランダムな鍵である共通鍵をランダムに選択する(S32)。詳細には、共通鍵空間を{0,1}kと表し、共通鍵選択部32は、共通鍵暗号用のランダムな鍵である共通鍵KをK∈{0,1}kとランダムに選ぶ。タグ設定部33は、タグがコアタグと補助タグからなるものとし、検証鍵を補助タグとし、コアタグをタグ空間からランダムに選択する(S33)。詳細には、タグ設定部33は、補助タグta=ovkとし、コアタグtc←Tcをランダムに選び、タグをt=(ta,tc)として設定する。第1中間暗号文計算部34は、第1乱数と第1、第2ランダム生成元に基づいて第1中間暗号文のペアを計算する(S34)。詳細には、第1中間暗号文計算部34は、第1中間暗号文のペアをG1,G2として、(G1,G2)=(g1 r,g2 r)を計算する。第2中間暗号文計算部35は、第2乱数と第1、第2ランダム生成元に基づいて第2中間暗号文のペアを計算する(S35)。詳細には、第2中間暗号文計算部34は、第2中間暗号文のペアをF1,F2として、(F1,F2)=(g1 ρ,g2 ρ)を計算する。チェック用暗号文計算部36は、第1、第2公開鍵パラメータと検証鍵と第1乱数と合成数に基づいてチェック用暗号文を計算する(S36)。詳細には、チェック用暗号文計算部36は、チェック用暗号文Zを、 It is. The random number selection unit 31 randomly selects the first and second random numbers from a set of numbers less than a quarter of the combined number (S31). Specifically, the random number selection unit 31 randomly selects the first and second random numbers r, ρ (r, ρ∈Z N / 4 ). The signature key generation unit (OGen) 81 receives a security parameter as an input, and generates a verification key and a signature key, which are a disposable signature key pair (S81). Specifically, the signature key generation unit (OGen) 81 generates a disposable signature key pair (verification key, signature key) as (ovk, osk) ← OGen. The common key selection unit 32 randomly selects a common key that is a random key for common key encryption (S32). Specifically, the common key space is represented as {0,1} k, and the common key selection unit 32 randomly selects the common key K, which is a random key for common key encryption, as K∈ {0,1} k . . The tag setting unit 33 assumes that the tag includes a core tag and an auxiliary tag, uses the verification key as an auxiliary tag, and randomly selects a core tag from the tag space (S33). Specifically, the tag setting unit 33 sets the auxiliary tag t a = ovk, randomly selects the core tag t c ← T c , and sets the tag as t = (t a , t c ). The first intermediate ciphertext calculation unit 34 calculates a pair of first intermediate ciphertexts based on the first random number and the first and second random generators (S34). Specifically, the first intermediate ciphertext calculation unit 34 calculates (G 1 , G 2 ) = (g 1 r , g 2 r ) with the first intermediate ciphertext pair as G 1 and G 2 . The second intermediate ciphertext calculation unit 35 calculates a pair of second intermediate ciphertexts based on the second random number and the first and second random generators (S35). Specifically, the second intermediate ciphertext calculation unit 34 calculates (F 1 , F 2 ) = (g 1 ρ , g 2 ρ ) with the second intermediate ciphertext pair as F 1 and F 2 . The check ciphertext calculation unit 36 calculates a check ciphertext based on the first and second public key parameters, the verification key, the first random number, and the composite number (S36). Specifically, the check ciphertext calculation unit 36 obtains the check ciphertext Z,

Figure 0006075785
Figure 0006075785

と計算する。マスク済暗号文計算部37は、第1、第2公開鍵パラメータと検証鍵と第1、第2乱数と合成数と共通鍵とメッセージに基づいてマスク済暗号文を計算する(S37)。詳細には、マスク済暗号文計算部37は、マスク済暗号文Yを、 And calculate. The masked ciphertext calculation unit 37 calculates a masked ciphertext based on the first and second public key parameters, the verification key, the first and second random numbers, the composite number, the common key, and the message (S37). Specifically, the masked ciphertext calculation unit 37 converts the masked ciphertext Y into

Figure 0006075785
Figure 0006075785

と計算する。共通鍵暗号化部71は、フィルタ入力用に変換したメッセージの損失的代数フィルタのフィルタ値を共通鍵で暗号化して共通鍵暗号文を生成する(S71)。詳細には、共通鍵暗号化部71は、共通鍵暗号文CEを、CE=E(K,LAFfpk,t(ζ(M)))と生成する。署名部(OSign)82は、署名鍵を用いて、公開鍵と第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグの使い捨て署名を生成する(S82)。詳細には、署名部82は、σ=OSign(osk,(pk,G1,G2,F1,F2,Z,Y,CE,tc))として、使い捨て署名σを生成する。最後に、暗号文生成部38は、第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグと検証鍵と使い捨て署名を含む暗号文を生成する(S38)。詳細には、暗号文生成部38は、暗号文Cを、C=(G1,G2,F1,F2,Z,Y,CE,tc,ovk,σ)として生成する。暗号化装置(Enc)3は、暗号文として、Cを出力する。 And calculate. The common key encryption unit 71 generates a common key cipher text by encrypting the filter value of the lossy algebra filter of the message converted for filter input with the common key (S71). Specifically, the common key encryption unit 71 generates a common key ciphertext CE as C E = E (K, LAF fpk, t (ζ (M))). The signature unit (OSign) 82 generates a disposable signature of the public key, the first and second intermediate ciphertext, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag using the signature key. (S82). Specifically, the signature unit 82 generates a disposable signature σ as σ = OSign (osk, (pk, G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c )). Finally, the ciphertext generation unit 38 generates a ciphertext including the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, the core tag, the verification key, and the disposable signature. (S38). Specifically, the ciphertext generation unit 38 generates the ciphertext C as C = (G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c , ovk, σ). The encryption device (Enc) 3 outputs C as a ciphertext.

<復号装置(Dec)4>
以下、図13、図14を参照して本実施例の暗号通信システム1000を構成する復号装置(Dec)4について説明する。図13は、本実施例の復号装置(Dec)4の構成を示すブロック図である。図14は、本実施例の復号装置(Dec)4の動作を示すフローチャートである。図13に示すように、復号装置(Dec)4は、改竄公開鍵計算部40と、検証部(OVrfy)83と、検証結果確認部41と、チェック用暗号文確認部42と、マスク鍵計算部43と、マスク復号結果確認部44と、変換済平文計算部45と、メッセージ確認部46と、タグ生成部47と、共通鍵復号部(D)72と、復号結果確認部48と、メッセージ出力部49を含む。復号装置(Dec)4は、共通パラメータppと、改竄秘密鍵
<Decoding device (Dec) 4>
Hereinafter, the decryption device (Dec) 4 constituting the cryptographic communication system 1000 of this embodiment will be described with reference to FIGS. FIG. 13 is a block diagram showing the configuration of the decoding device (Dec) 4 of this embodiment. FIG. 14 is a flowchart showing the operation of the decoding device (Dec) 4 of this embodiment. As illustrated in FIG. 13, the decryption device (Dec) 4 includes a falsified public key calculation unit 40, a verification unit (OVrfy) 83, a verification result confirmation unit 41, a check ciphertext confirmation unit 42, and a mask key calculation. Unit 43, mask decryption result confirmation unit 44, converted plaintext calculation unit 45, message confirmation unit 46, tag generation unit 47, common key decryption unit (D) 72, decryption result confirmation unit 48, message An output unit 49 is included. The decryption device (Dec) 4 has a common parameter pp and a falsified secret key.

Figure 0006075785
Figure 0006075785

と、暗号文C=(G1,G2,F1,F2,Z,Y,CE,tc,ovk,σ)を入力とする。ξ1234をそれぞれ、第1、第2、第3、第4改竄秘密鍵パラメータと呼ぶ。改竄秘密鍵とは、攻撃者により改竄された可能性がある秘密鍵のことである。改竄がなされていない場合には、ξj=sjである(j=1,2,3,4)。改竄公開鍵計算部40は、第1、第2ランダム生成元と、改竄された可能性があるパラメータである第1、第2、第3、第4改竄秘密鍵パラメータに基づいて第1、第2改竄公開鍵パラメータを計算し、改竄公開鍵を計算する(S40)。詳細には、改竄公開鍵計算部40は、改竄公開鍵を、 Then, the ciphertext C = (G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c , ovk, σ) is input. ξ 1 , ξ 2 , ξ 3 , and ξ 4 are referred to as first, second, third, and fourth tampered secret key parameters, respectively. The falsified secret key is a secret key that may have been falsified by an attacker. If no falsification has been made, ξ j = s j (j = 1, 2, 3, 4). The falsified public key calculation unit 40 determines the first and second random generators based on the first, second, third, and fourth falsified secret key parameters that are parameters that may have been falsified. 2. Calculate the falsified public key parameter and calculate the falsified public key (S40). Specifically, the falsified public key calculation unit 40 obtains the falsified public key,

Figure 0006075785
Figure 0006075785

と計算する。検証部(OVrfy)83は、改竄公開鍵と第1、第2中間暗号文のペアとチェック用暗号文とマスク済暗号文と共通鍵暗号文とコアタグとからなるメッセージを検証鍵、使い捨て署名を用いて検証し検証結果を出力する(S83)。詳細には、検証部(OVrfy)83は、検証結果 And calculate. The verification unit (OVrfy) 83 verifies a message composed of a falsified public key, a first and second intermediate ciphertext pair, a check ciphertext, a masked ciphertext, a common key ciphertext, and a core tag, and a disposable signature. It verifies using and outputs a verification result (S83). Specifically, the verification unit (OVrfy) 83 displays the verification result

Figure 0006075785
Figure 0006075785

を生成し、出力する。検証結果確認部41は、検証結果を確認して、検証結果が検証成功である場合に検証結果を出力し、検証失敗である場合にリジェクトシンボル(⊥)を出力し処理を停止する(S41)。詳細には、検証結果確認部41は、 Is generated and output. The verification result confirmation unit 41 confirms the verification result, and outputs the verification result when the verification result is the verification success, and outputs the reject symbol (⊥) when the verification is the failure and stops the processing (S41). . Specifically, the verification result confirmation unit 41

Figure 0006075785
Figure 0006075785

であることを確かめる。検証結果確認部41は、検証結果が1でない場合には、リジェクトシンボル(⊥)を出力し、処理を停止する。チェック用暗号文確認部42は、チェック用暗号文が、第1中間暗号文のペアと第1、第2、第3、第4改竄秘密鍵パラメータと検証鍵と合成数を用いて計算される真値であることを確認し、真値であればチェック用暗号文を出力し、そうでなければリジェクトシンボル(⊥)を出力し処理を停止する(S42)。詳細には、チェック用暗号文確認部42は、チェック用暗号文Zが、 Make sure that If the verification result is not 1, the verification result confirmation unit 41 outputs a reject symbol (⊥) and stops the processing. The check ciphertext confirmation unit 42 calculates the check ciphertext using the first intermediate ciphertext pair, the first, second, third, and fourth falsified secret key parameters, the verification key, and the composite number. If it is a true value, if it is a true value, a check ciphertext is output, otherwise a reject symbol (⊥) is output and the process is stopped (S42). Specifically, the check ciphertext confirmation unit 42 determines that the check ciphertext Z is

Figure 0006075785
Figure 0006075785

であることを確かめる。チェック用暗号文確認部42は、チェック用暗号文Zが、真値 Make sure that The check ciphertext confirmation unit 42 indicates that the check ciphertext Z is a true value.

Figure 0006075785
Figure 0006075785

と等しくならない場合には、リジェクトシンボル(⊥)を出力し処理を停止する。マスク鍵計算部43は、第1、第2中間暗号文のペアと第1、第2、第3、第4改竄秘密鍵パラメータと検証鍵からマスク鍵を計算する(S43)。詳細には、マスク鍵計算部43は、マスク鍵Z'を、 If it is not equal to, a reject symbol (⊥) is output and the process is stopped. The mask key calculation unit 43 calculates a mask key from the first and second intermediate ciphertext pairs, the first, second, third, and fourth falsified secret key parameters and the verification key (S43). Specifically, the mask key calculation unit 43 obtains the mask key Z ′,

Figure 0006075785
Figure 0006075785

と計算する。マスク復号結果確認部44は、マスク鍵を用いてマスク済暗号文を復号してマスク復号結果を取得し、合成数の3乗未満であって、合成数の3乗と互いに素な数のみの集合のうち、合成数の2乗を位数とする部分群である平文用部分群Gmsgにマスク復号結果が属するか否かを確認し、属する場合にはマスク復号結果を出力し、そうでなければリジェクトシンボル(⊥)を出力し処理を停止する(S44)。詳細には、マスク復号結果確認部44は、マスク復号結果YZ'-1が、 And calculate. The mask decryption result confirmation unit 44 decrypts the masked ciphertext using the mask key to obtain a mask decryption result, and the mask decryption result confirmation unit 44 obtains a mask decryption result that is less than the third power of the composite number and is relatively prime to the third power of the composite number. Check whether the mask decoding result belongs to the plaintext subgroup G msg which is a subgroup whose order is the square of the composite number in the set, and if so, output the mask decoding result, If not, a reject symbol (⊥) is output and the process is stopped (S44). Specifically, the mask decoding result confirmation unit 44 determines that the mask decoding result YZ ′ −1 is

Figure 0006075785
Figure 0006075785

であることを確かめる。マスク復号結果確認部44は、マスク復号結果YZ'-1が平文用部分群Gmsgに属さない場合にはリジェクトシンボル(⊥)を出力し処理を停止する。変換済平文計算部45は、マスク復号結果に対数計算を実行して変換済平文を計算し、メッセージを取得する(S45)。詳細には、変換済平文計算部45は、変換済み平文dを、d=dlogh(YZ'-1)と計算し、d=K+2k・Mとパースする。メッセージ確認部46は、メッセージが平文空間に属するか否かを確認し、属する場合にはメッセージを出力し、そうでなければリジェクトシンボルを出力し処理を停止する(S46)。詳細には、メッセージ確認部46は、 Make sure that When the mask decoding result YZ′− 1 does not belong to the plaintext subgroup G msg , the mask decoding result confirmation unit 44 outputs a reject symbol (⊥) and stops the processing. The converted plaintext calculation unit 45 performs logarithmic calculation on the mask decryption result to calculate the converted plaintext, and acquires a message (S45). Specifically, the converted plaintext calculation unit 45 calculates the converted plaintext d as d = dlog h (YZ ′ −1 ) and parses it as d = K + 2 k · M. The message confirmation unit 46 confirms whether or not the message belongs to the plaintext space. If the message belongs, the message confirmation unit 46 outputs a message. If not, the message confirmation unit 46 outputs a reject symbol and stops the processing (S46). Specifically, the message confirmation unit 46

Figure 0006075785
Figure 0006075785

であることを確かめる。メッセージ確認部46は、メッセージMが平文空間に属さない場合には、リジェクトシンボル(⊥)を出力し処理を停止する。タグ生成部47は、検証鍵を補助タグとして、補助タグとコアタグからタグを生成する(S47)。詳細には、タグ生成部47は、タグt=(ovk,tc)とする。共通鍵復号部(D)72は、共通鍵を用いて共通鍵暗号文を復号し復号結果D(K,CE)を出力する(S72)。復号結果確認部48は、復号結果がフィルタ値と等しいか否かを確認し、等しければメッセージを出力し、そうでなければリジェクトシンボルを出力し処理を停止する(S48)。詳細には、復号結果確認部48は、復号結果であるD(K,CE)が、D(K,CE)=LAFfpk,t(ζ(M))であることを確かめる。復号結果確認部48は、D(K,CE)=LAFfpk,t(ζ(M))でない場合には、リジェクトシンボル(⊥)を出力し処理を停止する。メッセージ出力部49は、復号装置(Dec)4の各部の動作時にリジェクトシンボル(⊥)が出力されなかった場合、メッセージを出力する(S49)。 Make sure that If the message M does not belong to the plaintext space, the message confirmation unit 46 outputs a reject symbol (⊥) and stops the processing. The tag generation unit 47 generates a tag from the auxiliary tag and the core tag using the verification key as an auxiliary tag (S47). Specifically, the tag generation unit 47 sets the tag t = (ovk, t c ). The common key decryption unit (D) 72 decrypts the common key ciphertext using the common key and outputs a decryption result D (K, C E ) (S72). The decoding result confirmation unit 48 confirms whether or not the decoding result is equal to the filter value, and outputs a message if they are equal, otherwise outputs a reject symbol and stops the processing (S48). Specifically, the decoding result confirmation unit 48 confirms that D (K, C E ), which is the decoding result, is D (K, C E ) = LAF fpk, t (ζ (M)). If D (K, C E ) = LAF fpk, t (ζ (M)) is not satisfied, the decoding result confirmation unit 48 outputs a reject symbol (⊥) and stops the processing. The message output unit 49 outputs a message when the reject symbol (⊥) is not output during the operation of each unit of the decoding device (Dec) 4 (S49).

このように、本実施例の暗号通信システム1000、その変形例の暗号通信システム1000’によれば、RKA-KDM-CCA安全な公開鍵暗号方式を実現することができ、関連鍵攻撃に対しても鍵依存平文暗号文を守ることができる。   As described above, according to the cryptographic communication system 1000 of the present embodiment and the cryptographic communication system 1000 ′ of the modified example, the RKA-KDM-CCA secure public key cryptosystem can be realized, and the related key attack can be prevented. Can also protect the key-dependent plaintext ciphertext.

≪発明の要点≫
本発明は、KDM-CCA安全性を持つHofheinzの方式(非特許文献3)を元にしている。Hofheinz方式と本発明との差分を説明する。
≪Summary of invention≫
The present invention is based on the Hofheinz method (Non-Patent Document 3) having KDM-CCA safety. Differences between the Hofheinz method and the present invention will be described.

<暗号化>
本発明とHofheinz方式とでは、署名生成手順が異なる。実施例1における署名部(OSign)82における手順(ステップS82)である。Hofheinzの方式では、
σH=OSign(osk,(G1,G2,F1,F2,Z,Y,CE,tc))として使い捨て署名を生成している。本発明ではσ←OSign(osk,(pk,G1,G2,F1,F2,Z,Y,CE,tc))と公開鍵pkを追加した上で、使い捨て署名を生成する。
<Encryption>
The signature generation procedure differs between the present invention and the Hofheinz method. This is a procedure (step S82) in the signature part (OSign) 82 in the first embodiment. In the Hofheinz method,
A disposable signature is generated as σ H = OSign (osk, (G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c )). In the present invention, after adding σ ← OSign (osk, (pk, G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c )) and the public key pk, a disposable signature is generated .

<復号>
本発明では、Hofheinz方式の復号アルゴリズムに、公開鍵の再生成手順を追加した。実施例1における改竄公開鍵計算部40における手順(ステップS40)である。本発明では、再生成された公開鍵を用いて、使い捨て署名の検証を行う。実施例1における検証部(OVrfy)83における手順(ステップS83)である。Hofheinz方式の場合は、公開鍵の再生成手順(S40)はなく、ステップS83は、OVrfy(ovk,(G1,G2,F1,F2,Z,Y,CE,tc),σ)=1であることを確かめる。そうでなければリジェクト(⊥)を出力し、停止する。
<Decryption>
In the present invention, a public key regeneration procedure is added to the decryption algorithm of the Hofheinz method. It is the procedure (step S40) in the falsification public key calculation part 40 in Example 1. FIG. In the present invention, the disposable signature is verified using the regenerated public key. It is the procedure (step S83) in the verification part (OVrfy) 83 in Example 1. FIG. In the case of the Hofheinz method, there is no public key regeneration procedure (S40), and step S83 is performed by OVrfy (ovk, (G 1 , G 2 , F 1 , F 2 , Z, Y, C E , t c ), Make sure that σ) = 1. Otherwise, output reject (⊥) and stop.

本発明では、公開鍵pkを秘密鍵skの指紋として用い、その指紋ごと使い捨て署名を付けることで、暗号文と暗号化に用いた公開鍵を関連付ける。これにより関連鍵攻撃に耐性を持たせることが出来る。ここで、改竄秘密鍵について、   In the present invention, the public key pk is used as a fingerprint of the secret key sk, and a disposable signature is attached to each fingerprint, thereby associating the ciphertext with the public key used for encryption. This can provide resistance to related key attacks. Here, regarding the falsified private key

Figure 0006075785
Figure 0006075785

であることを確かめないのが好適である。確かめた場合、関連鍵攻撃に弱くなる。 It is preferable not to confirm that. If confirmed, it is vulnerable to related key attacks.

上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   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.

また、このプログラムの流通は、例えば、そのプログラムを記録した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, the present apparatus 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)

パラメータ装置と、鍵生成装置と、暗号化装置と、復号装置を含む暗号通信システムであって、
前記パラメータ装置は、
合成数の長さ、メッセージの数、フィルタ用素数の長さを示す条件パラメータを設定する条件パラメータ設定部と、
セキュリティパラメータを入力とし、第1、第2のブラム素数とRSAモジュラスの合成数を生成するRSAモジュラス生成部と、
前記合成数の3乗未満であって、前記合成数の3乗と互いに素な数のみの集合のうち、所定の位数の部分群である乱数用部分群において、第1、第2ランダム生成元を設定するランダム生成元設定部と、
前記セキュリティパラメータを入力とし、フィルタ鍵とトラップドアを生成するパラメータ生成部とを含み、
前記鍵生成装置は、
平文空間から、第1、第2、第3、第4秘密鍵パラメータをランダムに選択する秘密鍵パラメータ選択部と、
前記第1、第2ランダム生成元と、前記第1、第2、第3、第4秘密鍵パラメータに基づいて第1、第2公開鍵パラメータを計算する公開鍵パラメータ計算部と、
前記第1、第2公開鍵パラメータから公開鍵を生成する公開鍵生成部と、
前記第1、第2、第3、第4秘密鍵パラメータから秘密鍵を生成する秘密鍵生成部とを含み、
前記暗号化装置は、
前記合成数の4分の1未満の数の集合から第1、第2乱数をランダムに選択する乱数選択部と、
前記セキュリティパラメータを入力とし、使い捨て署名用の鍵ペアである検証鍵と署名鍵を生成する署名鍵生成部と、
共通鍵暗号用のランダムな鍵である共通鍵をランダムに選択する共通鍵選択部と、
タグがコアタグと補助タグからなるものとし、前記検証鍵を前記補助タグとし、前記コアタグをタグ空間からランダムに選択するタグ設定部と、
前記第1乱数と前記第1、第2ランダム生成元に基づいて第1中間暗号文のペアを計算する第1中間暗号文計算部と、
前記第2乱数と前記第1、第2ランダム生成元に基づいて第2中間暗号文のペアを計算する第2中間暗号文計算部と、
前記第1、第2公開鍵パラメータと前記検証鍵と前記第1乱数と前記合成数に基づいてチェック用暗号文を計算するチェック用暗号文計算部と、
前記第1、第2公開鍵パラメータと前記検証鍵と前記第1、第2乱数と前記合成数と前記共通鍵とメッセージに基づいてマスク済暗号文を計算するマスク済暗号文計算部と、
フィルタ入力用に変換した前記メッセージの損失的代数フィルタのフィルタ値を前記共通鍵で暗号化して共通鍵暗号文を生成する共通鍵暗号化部と、
前記署名鍵を用いて、前記公開鍵と前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグの使い捨て署名を生成する署名部と、
前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグと前記検証鍵と前記使い捨て署名を含む暗号文を生成する暗号文生成部とを含み、
前記復号装置は、
前記第1、第2ランダム生成元と、改竄された可能性があるパラメータである第1、第2、第3、第4改竄秘密鍵パラメータに基づいて第1、第2改竄公開鍵パラメータを計算し、改竄公開鍵を計算する改竄公開鍵計算部と、
前記改竄公開鍵と前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグとからなるメッセージを前記検証鍵、前記使い捨て署名を用いて検証し検証結果を出力する検証部と、
前記検証結果を確認して、前記検証結果が検証成功である場合に検証結果を出力し、検証失敗である場合にリジェクトシンボルを出力し処理を停止する検証結果確認部と、
前記チェック用暗号文が、前記第1中間暗号文のペアと前記第1、第2、第3、第4改竄秘密鍵パラメータと前記検証鍵と前記合成数を用いて計算される真値であることを確認し、前記真値であればチェック用暗号文を出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するチェック用暗号文確認部と、
前記第1、第2中間暗号文のペアと前記第1、第2、第3、第4改竄秘密鍵パラメータと前記検証鍵からマスク鍵を計算するマスク鍵計算部と、
前記マスク鍵を用いて前記マスク済暗号文を復号してマスク復号結果を取得し、前記合成数の3乗未満であって、前記合成数の3乗と互いに素な数のみの集合のうち、前記合成数の2乗を位数とする部分群である平文用部分群に前記マスク復号結果が属するか否かを確認し、属する場合には前記マスク復号結果を出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するマスク復号結果確認部と、
前記マスク復号結果に対数計算を実行して変換済平文を計算し、前記メッセージを取得する変換済平文計算部と、
前記メッセージが前記平文空間に属するか否かを確認し、属する場合には前記メッセージを出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するメッセージ確認部と、
前記検証鍵を前記補助タグとして、前記補助タグと前記コアタグから前記タグを生成するタグ生成部と、
前記共通鍵を用いて前記共通鍵暗号文を復号し復号結果を出力する共通鍵復号部と、
前記復号結果が前記フィルタ値と等しいか否かを確認し、等しければ前記メッセージを出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止する復号結果確認部と、
前記復号装置の各部の動作時に前記リジェクトシンボルが出力されなかった場合、前記メッセージを出力するメッセージ出力部を含む。
A cryptographic communication system including a parameter device, a key generation device, an encryption device, and a decryption device,
The parameter device is:
A condition parameter setting unit for setting a condition parameter indicating the length of the composite number, the number of messages, and the length of the prime number for the filter;
An RSA modulus generator that receives a security parameter as input and generates a composite number of the first and second Blum prime numbers and the RSA modulus;
First and second random generation in a subgroup for random numbers, which is a subgroup of a predetermined order, out of a set that is less than the third power of the composite number and is relatively prime to the third power of the composite number A random generator setting unit for setting the source;
The security parameter as an input, including a filter key and a parameter generation unit that generates a trap door,
The key generation device includes:
A secret key parameter selection unit for randomly selecting the first, second, third, and fourth secret key parameters from the plaintext space;
A public key parameter calculator that calculates first and second public key parameters based on the first and second random generators and the first, second, third, and fourth secret key parameters;
A public key generator for generating a public key from the first and second public key parameters;
A secret key generation unit that generates a secret key from the first, second, third, and fourth secret key parameters,
The encryption device is:
A random number selection unit that randomly selects first and second random numbers from a set of numbers less than a quarter of the composite number;
A signature key generation unit that generates a verification key and a signature key, which is a disposable signature key pair, with the security parameter as an input,
A common key selection unit that randomly selects a common key that is a random key for common key encryption; and
A tag comprising a core tag and an auxiliary tag, the verification key as the auxiliary tag, and a tag setting unit that randomly selects the core tag from a tag space;
A first intermediate ciphertext calculator that calculates a pair of first intermediate ciphertexts based on the first random number and the first and second random generators;
A second intermediate ciphertext calculator that calculates a pair of second intermediate ciphertexts based on the second random number and the first and second random generators;
A check ciphertext calculation unit that calculates a check ciphertext based on the first and second public key parameters, the verification key, the first random number, and the composite number;
A masked ciphertext calculation unit that calculates a masked ciphertext based on the first and second public key parameters, the verification key, the first and second random numbers, the composite number, the common key, and a message;
A common key encryption unit that generates a common key ciphertext by encrypting a filter value of a lossy algebra filter of the message converted for filter input with the common key;
A signature for generating a disposable signature for the public key, the first and second intermediate ciphertext, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag, using the signature key. And
Ciphertext generation for generating a ciphertext including the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, the core tag, the verification key, and the disposable signature. Including
The decoding device
First and second falsified public key parameters are calculated based on the first and second random generators and the first, second, third, and fourth falsified secret key parameters that may have been tampered with. A falsified public key calculation unit for calculating a falsified public key;
A message comprising the falsified public key, the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag is used as the verification key and the disposable signature. A verification unit that verifies and outputs the verification result, and
A verification result confirmation unit that confirms the verification result, outputs a verification result when the verification result is a verification success, outputs a reject symbol when the verification is a failure, and stops processing;
The check ciphertext is a true value calculated using the first intermediate ciphertext pair, the first, second, third, and fourth falsified secret key parameters, the verification key, and the composite number. Confirming that, if it is the true value, outputs the check ciphertext, otherwise outputs the reject symbol and stops the processing,
A mask key calculator for calculating a mask key from the pair of the first and second intermediate ciphertexts, the first, second, third and fourth falsified secret key parameters and the verification key;
Decrypting the masked ciphertext using the mask key to obtain a mask decryption result, and among a set of only numbers that are less than the third power of the composite number and relatively prime to the third power of the composite number, Check whether the mask decryption result belongs to the plaintext subgroup which is a subgroup whose order is the square of the composite number, and if it belongs, output the mask decryption result, otherwise A mask decoding result confirmation unit that outputs reject symbols and stops processing;
A converted plaintext calculation unit that performs logarithmic calculation on the mask decryption result to calculate converted plaintext, and obtains the message;
Confirming whether or not the message belongs to the plaintext space, outputting the message if it belongs, otherwise outputting the reject symbol and stopping the processing;
Using the verification key as the auxiliary tag, a tag generation unit that generates the tag from the auxiliary tag and the core tag,
A common key decryption unit that decrypts the common key ciphertext using the common key and outputs a decryption result;
Confirming whether or not the decoding result is equal to the filter value; if equal, outputs the message; otherwise, outputs a reject symbol and stops processing;
A message output unit that outputs the message when the reject symbol is not output during operation of each unit of the decoding apparatus;
請求項1に記載の暗号通信システムであって、
前記鍵生成装置と、前記復号装置とが単一の装置内に含まれる
暗号通信システム。
The cryptographic communication system according to claim 1,
An encryption communication system in which the key generation device and the decryption device are included in a single device.
パラメータ装置と、鍵生成装置と、暗号化装置と、復号装置が実行する暗号通信方法であって、
前記パラメータ装置は、
合成数の長さ、メッセージの数、フィルタ用素数の長さを示す条件パラメータを設定する条件パラメータ設定ステップと、
セキュリティパラメータを入力とし、第1、第2のブラム素数とRSAモジュラスの合成数を生成するRSAモジュラス生成ステップと、
前記合成数の3乗未満であって、前記合成数の3乗と互いに素な数のみの集合のうち、所定の位数の部分群である乱数用部分群において、第1、第2ランダム生成元を設定するランダム生成元設定ステップと、
前記セキュリティパラメータを入力とし、フィルタ鍵とトラップドアを生成するパラメータ生成ステップとを実行し、
前記鍵生成装置は、
平文空間から、第1、第2、第3、第4秘密鍵パラメータをランダムに選択する秘密鍵パラメータ選択ステップと、
前記第1、第2ランダム生成元と、前記第1、第2、第3、第4秘密鍵パラメータに基づいて第1、第2公開鍵パラメータを計算する公開鍵パラメータ計算ステップと、
前記第1、第2公開鍵パラメータから公開鍵を生成する公開鍵生成ステップと、
前記第1、第2、第3、第4秘密鍵パラメータから秘密鍵を生成する秘密鍵生成ステップとを実行し、
前記暗号化装置は、
前記合成数の4分の1未満の数の集合から第1、第2乱数をランダムに選択する乱数選択ステップと、
前記セキュリティパラメータを入力とし、使い捨て署名用の鍵ペアである検証鍵と署名鍵を生成する署名鍵生成ステップと、
共通鍵暗号用のランダムな鍵である共通鍵をランダムに選択する共通鍵選択ステップと、
タグがコアタグと補助タグからなるものとし、前記検証鍵を前記補助タグとし、前記コアタグをタグ空間からランダムに選択するタグ設定ステップと、
前記第1乱数と前記第1、第2ランダム生成元に基づいて第1中間暗号文のペアを計算する第1中間暗号文計算ステップと、
前記第2乱数と前記第1、第2ランダム生成元に基づいて第2中間暗号文のペアを計算する第2中間暗号文計算ステップと、
前記第1、第2公開鍵パラメータと前記検証鍵と前記第1乱数と前記合成数に基づいてチェック用暗号文を計算するチェック用暗号文計算ステップと、
前記第1、第2公開鍵パラメータと前記検証鍵と前記第1、第2乱数と前記合成数と前記共通鍵とメッセージに基づいてマスク済暗号文を計算するマスク済暗号文計算ステップと、
フィルタ入力用に変換した前記メッセージの損失的代数フィルタのフィルタ値を前記共通鍵で暗号化して共通鍵暗号文を生成する共通鍵暗号化ステップと、
前記署名鍵を用いて、前記公開鍵と前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグの使い捨て署名を生成する署名ステップと、
前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグと前記検証鍵と前記使い捨て署名を含む暗号文を生成する暗号文生成ステップとを実行し、
前記復号装置は、
前記第1、第2ランダム生成元と、改竄された可能性があるパラメータである第1、第2、第3、第4改竄秘密鍵パラメータに基づいて第1、第2改竄公開鍵パラメータを計算し、改竄公開鍵を計算する改竄公開鍵計算ステップと、
前記改竄公開鍵と前記第1、第2中間暗号文のペアと前記チェック用暗号文と前記マスク済暗号文と前記共通鍵暗号文と前記コアタグとからなるメッセージを前記検証鍵、前記使い捨て署名を用いて検証し検証結果を出力する検証ステップと、
前記検証結果を確認して、前記検証結果が検証成功である場合に検証結果を出力し、検証失敗である場合にリジェクトシンボルを出力し処理を停止する検証結果確認ステップと、
前記チェック用暗号文が、前記第1中間暗号文のペアと前記第1、第2、第3、第4改竄秘密鍵パラメータと前記検証鍵と前記合成数を用いて計算される真値であることを確認し、前記真値であればチェック用暗号文を出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するチェック用暗号文確認ステップと、
前記第1、第2中間暗号文のペアと前記第1、第2、第3、第4改竄秘密鍵パラメータと前記検証鍵からマスク鍵を計算するマスク鍵計算ステップと、
前記マスク鍵を用いて前記マスク済暗号文を復号してマスク復号結果を取得し、前記合成数の3乗未満であって、前記合成数の3乗と互いに素な数のみの集合のうち、前記合成数の2乗を位数とする部分群である平文用部分群に前記マスク復号結果が属するか否かを確認し、属する場合には前記マスク復号結果を出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するマスク復号結果確認ステップと、
前記マスク復号結果に対数計算を実行して変換済平文を計算し、前記メッセージを取得する変換済平文計算ステップと、
前記メッセージが前記平文空間に属するか否かを確認し、属する場合には前記メッセージを出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止するメッセージ確認ステップと、
前記検証鍵を前記補助タグとして、前記補助タグと前記コアタグから前記タグを生成するタグ生成ステップと、
前記共通鍵を用いて前記共通鍵暗号文を復号し復号結果を出力する共通鍵復号ステップと、
前記復号結果が前記フィルタ値と等しいか否かを確認し、等しければ前記メッセージを出力し、そうでなければ前記リジェクトシンボルを出力し処理を停止する復号結果確認ステップと、
前記復号装置の各ステップ実行時に前記リジェクトシンボルが出力されなかった場合、前記メッセージを出力するメッセージ出力ステップとを実行する。
An encryption communication method executed by a parameter device, a key generation device, an encryption device, and a decryption device,
The parameter device is:
A condition parameter setting step for setting a condition parameter indicating the length of the composite number, the number of messages, and the length of the filter prime;
RSA modulus generation step for receiving a security parameter as input and generating a composite number of the first and second Blum prime numbers and the RSA modulus;
First and second random generation in a subgroup for random numbers, which is a subgroup of a predetermined order, out of a set that is less than the third power of the composite number and is relatively prime to the third power of the composite number A random generator setting step for setting the source, and
With the security parameter as an input, execute a parameter generation step for generating a filter key and a trap door,
The key generation device includes:
A secret key parameter selection step of randomly selecting the first, second, third, and fourth secret key parameters from the plaintext space;
A public key parameter calculating step of calculating first and second public key parameters based on the first and second random generators and the first, second, third and fourth secret key parameters;
A public key generating step for generating a public key from the first and second public key parameters;
Performing a secret key generation step of generating a secret key from the first, second, third, and fourth secret key parameters;
The encryption device is:
A random number selection step of randomly selecting first and second random numbers from a set of numbers less than a quarter of the composite number;
A signature key generation step for generating a verification key and a signature key, which is a disposable signature key pair, with the security parameter as an input;
A common key selection step of randomly selecting a common key that is a random key for common key encryption;
A tag comprising a core tag and an auxiliary tag, the verification key as the auxiliary tag, and a tag setting step for randomly selecting the core tag from a tag space;
A first intermediate ciphertext calculation step of calculating a first intermediate ciphertext pair based on the first random number and the first and second random generators;
A second intermediate ciphertext calculation step of calculating a second intermediate ciphertext pair based on the second random number and the first and second random generators;
A check ciphertext calculation step of calculating a check ciphertext based on the first and second public key parameters, the verification key, the first random number, and the composite number;
A masked ciphertext calculation step of calculating a masked ciphertext based on the first and second public key parameters, the verification key, the first and second random numbers, the composite number, the common key, and a message;
A common key encryption step of generating a common key cipher text by encrypting a filter value of a lossy algebra filter of the message converted for filter input with the common key;
A signature for generating a disposable signature for the public key, the first and second intermediate ciphertext, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag, using the signature key. Steps,
Ciphertext generation for generating a ciphertext including the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, the core tag, the verification key, and the disposable signature. Perform steps and
The decoding device
First and second falsified public key parameters are calculated based on the first and second random generators and the first, second, third, and fourth falsified secret key parameters that may have been tampered with. A falsified public key calculating step for calculating a falsified public key;
A message comprising the falsified public key, the first and second intermediate ciphertext pairs, the check ciphertext, the masked ciphertext, the common key ciphertext, and the core tag is used as the verification key and the disposable signature. A verification step for verifying and outputting a verification result;
A verification result confirmation step of confirming the verification result, outputting a verification result if the verification result is a verification success, and outputting a reject symbol if the verification is a failure, and stopping the processing;
The check ciphertext is a true value calculated using the first intermediate ciphertext pair, the first, second, third, and fourth falsified secret key parameters, the verification key, and the composite number. Confirming that, if it is the true value, outputting a check ciphertext, otherwise outputting the reject symbol and stopping the processing,
A mask key calculating step of calculating a mask key from the pair of the first and second intermediate ciphertexts, the first, second, third and fourth falsified secret key parameters and the verification key;
Decrypting the masked ciphertext using the mask key to obtain a mask decryption result, and among a set of only numbers that are less than the third power of the composite number and relatively prime to the third power of the composite number, Check whether the mask decryption result belongs to the plaintext subgroup which is a subgroup whose order is the square of the composite number, and if it belongs, output the mask decryption result, otherwise A mask decoding result confirmation step of outputting reject symbols and stopping processing;
A converted plaintext calculation step of performing logarithm calculation on the mask decryption result to calculate converted plaintext, and obtaining the message;
Confirming whether or not the message belongs to the plaintext space, outputting the message if it belongs, otherwise outputting the reject symbol and stopping the processing; and
A tag generation step of generating the tag from the auxiliary tag and the core tag using the verification key as the auxiliary tag;
A common key decryption step of decrypting the common key ciphertext using the common key and outputting a decryption result;
Confirming whether or not the decoding result is equal to the filter value, outputting the message if they are equal, and outputting the reject symbol otherwise to stop the processing;
If the reject symbol is not output when each step of the decoding apparatus is executed, a message output step for outputting the message is executed.
請求項3に記載の暗号通信方法であって、
前記鍵生成装置と、前記復号装置とが単一の装置内に含まれ、前記鍵生成装置と、前記復号装置とが実行するステップの全てを前記単一の装置が実行する
暗号通信方法。
The encryption communication method according to claim 3,
An encryption communication method, wherein the key generation device and the decryption device are included in a single device, and the single device executes all the steps executed by the key generation device and the decryption device.
コンピュータを、請求項1または2に記載の暗号通信システムに含まれる暗号化装置として機能させるためのプログラム。   The program for functioning a computer as an encryption apparatus contained in the encryption communication system of Claim 1 or 2. コンピュータを、請求項1または2に記載の暗号通信システムに含まれる復号装置として機能させるためのプログラム。   A program for causing a computer to function as a decryption device included in the encryption communication system according to claim 1.
JP2013268708A 2013-12-26 2013-12-26 Cryptographic communication system, cryptographic communication method, program Active JP6075785B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013268708A JP6075785B2 (en) 2013-12-26 2013-12-26 Cryptographic communication system, cryptographic communication method, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013268708A JP6075785B2 (en) 2013-12-26 2013-12-26 Cryptographic communication system, cryptographic communication method, program

Publications (2)

Publication Number Publication Date
JP2015126332A JP2015126332A (en) 2015-07-06
JP6075785B2 true JP6075785B2 (en) 2017-02-08

Family

ID=53536772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013268708A Active JP6075785B2 (en) 2013-12-26 2013-12-26 Cryptographic communication system, cryptographic communication method, program

Country Status (1)

Country Link
JP (1) JP6075785B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7318490B2 (en) * 2019-11-01 2023-08-01 富士通株式会社 Cryptographic processing system and cryptographic processing method
CN112564887A (en) * 2020-11-30 2021-03-26 北京百度网讯科技有限公司 Key protection processing method, device, equipment and storage medium
CN112613841A (en) * 2020-12-25 2021-04-06 江苏华能智慧能源供应链科技有限公司 Electronic document approval method and system based on threshold cryptography

Also Published As

Publication number Publication date
JP2015126332A (en) 2015-07-06

Similar Documents

Publication Publication Date Title
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
JP5422053B2 (en) Encryption system, encryption communication method, encryption device, key generation device, decryption device, content server device, program, storage medium
JP4981072B2 (en) Method and system for decryptable and searchable encryption
CN102055760A (en) Message sending/receiving method
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP2011147047A (en) Proxy re-encryption system, transmitter, re-encryption key generating device, proxy device, receiver, proxy re-encryption method, programs therefor, and recording medium
JPWO2019093478A1 (en) Key exchange device, key exchange system, key exchange method, and key exchange program
JP4737334B2 (en) Encryption device, decryption device, encryption program, decryption program, and recording medium
KR20140103079A (en) Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
JP6075785B2 (en) Cryptographic communication system, cryptographic communication method, program
JPWO2015008607A1 (en) Decoding device, decoding capability providing device, method and program thereof
KR101533950B1 (en) Broadcast encryption method and system
JP5730804B2 (en) Encryption device, re-encryption key obfuscation device, re-encryption device, decryption device, and re-encryption system
WO2014112523A1 (en) Decryption-service provision device, processing device, safety evaluation device, program, and recording medium
JP5489115B2 (en) Originality assurance device, originality assurance program, and recording medium for recording the program
JP5863683B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program
JP5815754B2 (en) Signature verification system, signature device, verification device, and signature verification method
JP5572580B2 (en) Lost communication system, lost communication method, and program
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
JP5367023B2 (en) Information encryption method, information encryption apparatus, program, and recording medium
JP6087849B2 (en) Proxy signature device, signature verification device, key generation device, proxy signature system, and program
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program
JP5755600B2 (en) Commitment system, common reference information generating device, commit generating device, commit receiving device, commitment method
JP5943880B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program
JP6000207B2 (en) ENCRYPTION SYSTEM, SYSTEM PARAMETER GENERATION DEVICE, ENCRYPTION DEVICE, DECRYPTION DEVICE, METHOD THEREOF, AND PROGRAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170105

R150 Certificate of patent or registration of utility model

Ref document number: 6075785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150