JP5943880B2 - Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program - Google Patents

Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program Download PDF

Info

Publication number
JP5943880B2
JP5943880B2 JP2013133730A JP2013133730A JP5943880B2 JP 5943880 B2 JP5943880 B2 JP 5943880B2 JP 2013133730 A JP2013133730 A JP 2013133730A JP 2013133730 A JP2013133730 A JP 2013133730A JP 5943880 B2 JP5943880 B2 JP 5943880B2
Authority
JP
Japan
Prior art keywords
value
commit
random number
ciphertext
tag
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
JP2013133730A
Other languages
Japanese (ja)
Other versions
JP2015011048A (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 JP2013133730A priority Critical patent/JP5943880B2/en
Publication of JP2015011048A publication Critical patent/JP2015011048A/en
Application granted granted Critical
Publication of JP5943880B2 publication Critical patent/JP5943880B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は情報セキュリティ技術に関し、特に、複数の暗号プロトコルに組み込まれ同時に動くような環境であっても高い安全性を保つコミットメント技術に関する。   The present invention relates to information security technology, and more particularly, to commitment technology that maintains high security even in an environment in which a plurality of cryptographic protocols are incorporated and operate simultaneously.

暗号におけるコミットメントとは、電子的に行う「封じ手」のことである。コミットメント方式は、コミットする側の送信者(committer)と、コミットメントを受ける側の受信者(receiver)の間で行われるプロトコルのことである。送信者は、コミットフェーズで、受信者に情報を預託(コミット)する。この時、受信者は預託された情報の中身を知ることが出来ない(秘匿性)。次に、送信者は開示フェーズで秘匿した情報を受信者に納得いく形で開示するが、コミットフェーズで預託した情報と違う情報を開示して受信者を満足させることは出来ない(拘束性)。コミットメントは、基本的にこのような秘匿性と拘束性を満たさなければいけない。コミットメントのすぐ思いつく応用例は、電子的なジャンケンやコイン投げ(もちろん、将棋や碁に使う封じ手でもよい)であるが、実際に応用できる範囲はそれより遥かに広い。   A cryptographic commitment is an electronic “sealing hand”. The commitment method is a protocol performed between a committing sender (committer) and a commitment receiving receiver. The sender deposits (commits) information with the receiver in the commit phase. At this time, the receiver cannot know the contents of the deposited information (confidentiality). Next, the sender discloses the information concealed in the disclosure phase in a form that is convincing to the receiver, but cannot disclose the information different from the information deposited in the commit phase to satisfy the receiver (binding). . Commitment must basically satisfy such confidentiality and binding. Applications that come to mind immediately are electronic janken and coin-throwing (of course, you can use sealers for shogi and samurai), but the range of practical applications is far wider.

コミットメントは、最も基本的な暗号プロトコルであるため、上位の暗号プロトコルの中で頻繁に利用される。近年では、暗号プロトコルをより現実の環境に近づけるため、コミットメントはさらに複雑な組み合わせの中で利用される場合が増えてきた。このような複雑な組み合わせの中では、古典的暗号安全性モデルで作られたコミットメントでは、秘匿性と拘束性を同時に満たすことが出来なくなってしまう。汎用結合可能コミットメントとは、そのような複雑な組み合わせでコミットメントが利用された場合にも、秘匿性と拘束性を満たすよう設計されたコミットメントのことである(汎用結合可能性については非特許文献1,2参照)。   Since commitment is the most basic cryptographic protocol, it is frequently used in higher-level cryptographic protocols. In recent years, commitments have been increasingly used in more complex combinations to bring cryptographic protocols closer to the real environment. In such a complex combination, the commitment made with the classic cryptographic security model cannot satisfy both confidentiality and constraint at the same time. A general-purpose combinable commitment is a commitment designed to satisfy confidentiality and restraint even when commitments are used in such a complex combination. , 2).

汎用結合可能コミットメントが構成出来るためには、送信者と受信者の双方がアクセスできる第三者の作った共通参照情報(common reference string、以下CRSとも呼ぶ)が必要であることが知られている(非特許文献3参照)。技術的な問題により、このCRSは、コミットごとに使い捨てなければいけない場合(すなわち、コミットの回数だけ新しいCRSが必要となる)と、使い捨てずに同じCRSを再利用できる場合に分かれる。当然ながら、CRSをずっと使える「CRS再利用型」コミットメント方式の方が実用性は高い。従来のCRS再利用型汎用結合可能コミットメントには非特許文献1,3,4,5,6に記載された技術があった。   It is known that a common reference string (hereinafter also referred to as CRS) created by a third party that can be accessed by both the sender and the receiver is necessary in order to be able to construct a universal combinable commitment. (Refer nonpatent literature 3). Due to technical problems, this CRS is divided into a case where it must be disposable for each commit (that is, a new CRS is required for the number of commits) and a case where the same CRS can be reused without being disposable. Of course, the “CRS reuse type” commitment method that can use CRS all the time is more practical. Conventional CRS reusable general-purpose combinable commitments include techniques described in Non-Patent Documents 1, 3, 4, 5, and 6.

汎用結合可能コミットメントでは、送信者と受信者が、プロトコルの最中もしくは終了後、途中データを廃棄しないと安全性が担保出来ない方式と、廃棄しなくても安全性を担保できる方式が存在する。当然、後者の「情報廃棄不要型」汎用結合可能コミットメントの方が、安全性が高く望ましい。   In the universal combinable commitment, there are a method in which the sender and receiver cannot guarantee the security without discarding the data during or after the protocol, and a method in which the safety can be ensured without discarding. . Of course, the latter “information disposal-free” general-purpose combinable commitment is more secure and desirable.

さらに、計算量、通信量、交信回数なども、汎用結合コミットメントの良し悪しを判断する指標となる。当然、計算量、通信量、交信回数が少ないほど実用性が高い。特に、送信者から受信者に送るだけでコミットメントが完成する方式を「非対話型」汎用結合可能コミットメントという。   Furthermore, the amount of calculation, the amount of communication, the number of communication, etc. are also indicators for judging whether the general-purpose combined commitment is good or bad. Naturally, the smaller the amount of calculation, the amount of communication, and the number of communications, the higher the practicality. In particular, a scheme in which a commitment is completed simply by sending from a sender to a receiver is called “non-interactive” general-purpose combinable commitment.

R. Canetti, “Universally composable security: A new paradigm for cryptographic protocols”, 42nd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2001), pp. 136-145, IEEE Computer Society, 2001.R. Canetti, “Universally composable security: A new paradigm for cryptographic protocols”, 42nd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2001), pp. 136-145, IEEE Computer Society, 2001. Ran Canetti, “Universally composable security: A new paradigm for cryptograpic protocols”, Technical report, Cryptology ePrint Archive, Report 2000/067, 2005. Preliminary version appeared in FOCS’01.Ran Canetti, “Universally composable security: A new paradigm for cryptograpic protocols”, Technical report, Cryptology ePrint Archive, Report 2000/067, 2005. Preliminary version appeared in FOCS’01. R. Canetti and M. Fischlin, “Universally composable commitments”, CRYPTO 2001, volume 2139 of Lecture Notes in Computer Science, pp. 19-40, 2001.R. Canetti and M. Fischlin, “Universally composable commitments”, CRYPTO 2001, volume 2139 of Lecture Notes in Computer Science, pp. 19-40, 2001. R. Canetti, Y. Lindell, R. Ostrovsky, and A. Sahai, “Universally composable two-party and multiparty secure computation”, STOC 2002, pp. 494-503, 2002.R. Canetti, Y. Lindell, R. Ostrovsky, and A. Sahai, “Universally composable two-party and multiparty secure computation”, STOC 2002, pp. 494-503, 2002. Ivan Damgard and Jesper Buus Nielsen, “Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor”, CRYPTO 2002, volume 2442 of Lecture Notes in Computer Science, pp. 581-596, 2002.Ivan Damgard and Jesper Buus Nielsen, “Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor”, CRYPTO 2002, volume 2442 of Lecture Notes in Computer Science, pp. 581-596, 2002. Ivan Damgard and Jens Groth, “Non-interactive and reusable non-malleable commitment schemes”, STOC 2003, pp. 426-437, 2003.Ivan Damgard and Jens Groth, “Non-interactive and reusable non-malleable commitment schemes”, STOC 2003, pp. 426-437, 2003. Ryo Nishimaki, Eiichiro Fujisaki, and Keisuke Tanaka, “Efficient non-interactive universally composable string-commitment schemes”, ProvSec 2009, volume 5848 of Lecture Notes in Computer Science, pp. 3-18, 2009.Ryo Nishimaki, Eiichiro Fujisaki, and Keisuke Tanaka, “Efficient non-interactive universally composable string-commitment schemes”, ProvSec 2009, volume 5848 of Lecture Notes in Computer Science, pp. 3-18, 2009. Yehuda Lindell, “Highly-efficient universally-composable commitments based on the DDH assumption”, EUROCRYPT 2011, volume 6632 of Lecture Notes in Computer Science, pp. 446-466, 2011.Yehuda Lindell, “Highly-efficient universally-composable commitments based on the DDH assumption”, EUROCRYPT 2011, volume 6632 of Lecture Notes in Computer Science, pp. 446-466, 2011. Marc Fischlin, Benoit Libert, and Mark Manulis, “Non-interactive and re-usable universally composable string commitments with adaptive security”, ASIACRYPT 2011, volume 7073 of Lecture Notes in Computer Science, pp. 468-485, 2011.Marc Fischlin, Benoit Libert, and Mark Manulis, “Non-interactive and re-usable universally composable string commitments with adaptive security”, ASIACRYPT 2011, volume 7073 of Lecture Notes in Computer Science, pp. 468-485, 2011. Eiichiro Fujisaki, “A framework for efficient fully-equipped UC commitments”, IACR Cryptology ePrint Archive, 2012:379, 2012.Eiichiro Fujisaki, “A framework for efficient fully-equipped UC commitments”, IACR Cryptology ePrint Archive, 2012: 379, 2012.

非特許文献5,6以外の従来方式は、1ビットの秘密情報をコミットするのにO(к)ビット(кはセキュリティパラメータで、к=2048,160など)の平文空間を持つ選択暗号文攻撃に対して安全な公開鍵暗号が最低二つ必要であった。すなわち、1ビットの秘密情報をコミットするのに、O(к)ビットの情報量が必要であり効率が悪い。   Conventional schemes other than Non-Patent Documents 5 and 6 are selective ciphertext attacks that have a plaintext space of O (к) bits (where к is a security parameter and к = 2048,160) to commit 1-bit secret information. However, at least two public key ciphers that are secure are necessary. That is, in order to commit 1-bit secret information, an information amount of O (к) bits is required, which is inefficient.

非特許文献5,6の方式では、кビットの秘密情報をコミットするのにO(к)ビットで済むので効率は改善されている。しかし、これらのプロトコルは送信者と受信者間の交信回数を3回必要としている。また、非特許文献5の方式は、CRSのサイズが参加者の数に比例して増える。これは、コミットメント方式をサブプロトコルに使う上位のプロトコルの参加者数が増えると、それに応じてCRSのサイズが伸びることを意味する。一方、非特許文献6の方式は、CRSのサイズは固定だが、途中データを適切な時に廃棄しないと安全性が担保されない可能性がある。いずれにせよ、非特許文献5,6のいずれの方式とも送信者と受信者の間に3交信が必要であるという欠点がある。   In the methods of Non-Patent Documents 5 and 6, the efficiency is improved because only O (к) bits are required to commit the secret information of к bits. However, these protocols require three communications between the sender and receiver. In the method of Non-Patent Document 5, the size of CRS increases in proportion to the number of participants. This means that as the number of participants in the higher-level protocol that uses the commitment method as a sub-protocol increases, the size of the CRS increases accordingly. On the other hand, in the method of Non-Patent Document 6, the size of the CRS is fixed, but there is a possibility that safety is not ensured unless data on the way is discarded at an appropriate time. In any case, each of the non-patent documents 5 and 6 has a drawback that three communications are required between the sender and the receiver.

近年、非特許文献7,8,9などの効率のよい方式が提案されているが、非特許文献7の方式は非対話型だがCRS再利用型ではない。非特許文献8の方式は通信量が少ないが5交信対話型であり途中データを適切に廃棄できなければいけない。非特許文献9の方式は非対話型だがやはり途中データを廃棄できなければいけない。   In recent years, efficient methods such as Non-Patent Documents 7, 8, and 9 have been proposed, but the method of Non-Patent Document 7 is a non-interactive type but not a CRS reuse type. The method of Non-Patent Document 8 has a small amount of communication, but is a five-communication interactive type, and it must be able to discard the data appropriately. The method of Non-Patent Document 9 is non-interactive, but it must be able to discard data on the way.

このように従来技術では、CRS再利用型で、非対話型で、情報廃棄不要型の効率的な(理想的にはкビットの秘密をコミットするのにO(к)ビットで済む)汎用結合可能コミットメントは存在しなかった。   Thus, in the prior art, CRS reuse type, non-interactive, no information discard type efficient (ideally, O (к) bits are required to commit к bits of secrets). There was no possible commitment.

最近、非特許文献10の方式が、CRS再利用型で、非対話型で、情報廃棄不要型の効率的な汎用結合可能コミットメントを発明した。しかし、非特許文献10の方式ではセキュリティパラメータのサイズкに対して、O(к2)のサイズのCRSを必要としていた。 Recently, the method of Non-Patent Document 10 invented an efficient general-purpose combinable commitment of CRS reuse type, non-interactive type, and no information discard type. However, the method of Non-Patent Document 10 requires a CRS having a size of O (к 2 ) for the size к of the security parameter.

この発明の目的は、CRS再利用型で、非対話型で、情報廃棄不要型の効率的な汎用結合可能コミットメントにおいて、共通参照情報を短くすることである。   An object of the present invention is to shorten common reference information in a CRS reusable, non-interactive, and information discard-free efficient universal combinable commitment.

上記の課題を解決するために、この発明のコミットメントシステムは、共通参照情報生成装置とコミット生成装置とコミット受信装置とを含む。この発明では、^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Sは{0,1}к×(Zn^d+1)3の集合であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、Wは0以上nd+2/2以下の整数の集合であり、tはкビットのタグであるとする。 In order to solve the above problems, a commitment system of the present invention includes a common reference information generation device, a commit generation device, and a commit reception device. In the present invention, ^ represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, and d is an integer greater than or equal to 1. Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 is a singular group, H is a hash function of {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d, and S is {0,1} к × ( Z n ^ d + 1) is the set of 3, K is the set of integers 0 or n 2/2 or less, V is a set of zero or more n / 2 an integer, W is 0 or n d +2 / 2 following a set of integers, t is assumed to be tags к bits.

共通参照情報生成装置は、鍵生成部と鍵廃棄部と公開部とを含む。鍵生成部は、単数群Zn^d+1 ×から乱数hを、集合Kから乱数k~,k,k1,k2をそれぞれ選択し、値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算し、剰余環Zn^dから乱数xを、集合Vから乱数ν~をそれぞれ選択し、値u~=hν~、値e~=g-xy~ν~をそれぞれ計算し、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する。鍵廃棄部は、秘密鍵skを廃棄する。公開部は、公開鍵pkを公開する。 The common reference information generation device includes a key generation unit, a key discard unit, and a disclosure unit. The key generation unit selects a random number h from the singular group Z n ^ d + 1 × and a random number k ~, k, k 1 , k 2 from the set K, respectively, and values y ~ = h k ~ , values y = h k , value y 1 = h k_1 , value y 2 = h k_2 are respectively calculated, random number x is selected from remainder ring Z n ^ d , random number ν ~ is selected from set V, values u ~ = h ν ~ , Compute the values e ~ = g -x y ~ ν ~ respectively, and the public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret key sk: = (pk, k ~ , k, k 1, k 2, ν ~, x) to output. The key discard unit discards the secret key sk. The public part publishes the public key pk.

コミット生成装置は、乱数生成部と暗号化部とコミット部と開示部とを含む。乱数生成部は、タグtと公開鍵pkを入力とし、集合Wから乱数z~,zを、集合Sから乱数υ,e,πをそれぞれ選択し、乱数r:=(z~,z)及びサンプル値u:=(υ,e,π)を出力する。暗号化部は、平文m∈Zn^dと公開鍵pkと乱数rとタグtとサンプル値uとを入力とし、値A=y~z~yz(e~e)m、値a~=hz~u~m、値a=hzυm、値τ=H(pk,t,υ,e)、値b=(y1y2 τ)zπmをそれぞれ計算し、暗号文c=(A,a~,a,b)を出力する。コミット部は、暗号文cとタグtとサンプル値uとをコミット受信装置へ送信する。開示部は、平文mと乱数rとをコミット受信装置へ送信する。 The commit generation device includes a random number generation unit, an encryption unit, a commit unit, and a disclosure unit. The random number generation unit receives the tag t and the public key pk, selects the random numbers z to z from the set W, and selects the random numbers υ, e, and π from the set S, and the random number r: = (z to, z) and The sample value u: = (υ, e, π) is output. The encryption unit receives the plaintext m∈Z n ^ d , the public key pk, the random number r, the tag t, and the sample value u, the value A = y ~ z ~ y z (e ~ e) m , the value a ~ = h z ~ u ~ m , value a = h z υ m , value τ = H (pk, t, υ, e), value b = (y 1 y 2 τ ) z π m c = (A, a ~, a, b) is output. The commit unit transmits the ciphertext c, the tag t, and the sample value u to the commit receiver. The disclosure unit transmits the plaintext m and the random number r to the commit reception device.

コミット受信装置は、開封部を含む。開封部は、平文mと公開鍵pkと乱数rとタグtとサンプル値uと暗号文cとを入力とし、値A’=y~z~yz(e~e)m、値a~’=hz~u~m、値a’=hzυm、値τ=H(pk,t,υ,e)、値b’=(y1y2 τ)zπmをそれぞれ計算し、暗号文c’:=(A’,a~’,a’,b’)を生成し、暗号文c’と暗号文cとが等しいか否かを確認する。 The commit receiving device includes an opening part. The unsealed part receives the plaintext m, the public key pk, the random number r, the tag t, the sample value u, and the ciphertext c, and the value A '= y ~ z ~ y z (e ~ e) m and the value a ~' = h z ~ u ~ m , value a '= h z υ m , value τ = H (pk, t, υ, e), value b' = (y 1 y 2 τ ) z π m Ciphertext c ′: = (A ′, a˜ ′, a ′, b ′) is generated, and it is confirmed whether or not ciphertext c ′ and ciphertext c are equal.

この発明は、CRS再利用型で、非対話型で、情報廃棄不要型の効率的な汎用結合可能コミットメントにおいて、共通参照情報を短くすることができる。   The present invention can shorten common reference information in a CRS reuse type, non-interactive type, and information discard-free efficient general-purpose combinable commitment.

コミットメントシステムの機能構成を例示する図。The figure which illustrates the functional composition of a commitment system. 共通参照情報生成装置の機能構成を例示する図。The figure which illustrates the function structure of a common reference information generation apparatus. コミット生成装置の機能構成を例示する図。The figure which illustrates the function structure of a commit production | generation apparatus. コミット受信装置の機能構成を例示する図。The figure which illustrates the function structure of a commit receiver. 共通参照情報生成の処理フローを例示する図。The figure which illustrates the processing flow of common reference information generation. コミットおよびデコミットの処理フローを例示する図。The figure which illustrates the processing flow of a commit and a decommitment.

実施形態の説明に先立ち、この明細書で用いる表記方法および用語を定義する。   Prior to the description of the embodiments, notation methods and terms used in this specification are defined.

[表記方法]
・上付き添字はべき乗を表す。例えば、xyはxのy乗である。
・^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。
・_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
・~(チルダ)は直前の文字にサーカムフレックスが付されることを表す。例えば、x~は数式内における以下の文字を表している。
[Notation]
・ The superscript represents the power. For example, x y is x to the power of y.
・ ^ (Caret) represents a superscript. For example, x y ^ z represents that yz is a subscript to x, and x y ^ z represents yz is a subscript to x.
• _ (underscore) represents a subscript. For example, xy_z represents that yz is a superscript to x, and xy_z represents that yz is a subscript to x.
• ~ (tilde) indicates that a circumflex is added to the immediately preceding character. For example, x ~ represents the following characters in the mathematical expression.

Figure 0005943880
Figure 0005943880

・∃は存在記号である。例えば、∃xは「少なくとも1つのxが存在する」ことを表す。
・以下の記号は床関数を表す。すなわちx以下の最大の整数を表す。
・ ∃ is an existence symbol. For example, ∃x represents “at least one x exists”.
・ The following symbols represent floor functions. That is, it represents the largest integer less than or equal to x.

Figure 0005943880
Figure 0005943880

[All-But-Many暗号]
この発明では、All-but-many暗号(以下、ABM暗号と呼ぶ)を利用する。ABM暗号は、(weak) extractable Sigmaプロトコルと、出力値が予測不能な確率的な擬似ランダム関数を組み合わせることで構成することができる。(weak) extractable Sigmaプロトコルについての詳細は、「Eiichiro Fujisaki, “New constructions of efficient simulation-sound commitments using encryption and their applications”, CT-RSA, volume 7178 of Lecture Notes in Computer Science, pp. 136-155, 2012.(参考文献1)」を参照されたい。ABM暗号の構成方法の詳細は非特許文献10を参照されたい。
[All-But-Many encryption]
In the present invention, All-but-many encryption (hereinafter referred to as ABM encryption) is used. The ABM cipher can be configured by combining a (weak) extractable Sigma protocol and a stochastic pseudo-random function whose output value is unpredictable. For more details on the (weak) extractable Sigma protocol, see Eiichiro Fujisaki, “New constructions of efficient simulation-sound commitments using encryption and their applications”, CT-RSA, volume 7178 of Lecture Notes in Computer Science, pp. 136-155, 2012. (Reference 1) ”. Refer to Non-Patent Document 10 for details of the configuration method of the ABM encryption.

以下、ABM暗号の概略を説明する。ABM暗号は、鍵生成アルゴリズム(ABM.gen)、サンプリングアルゴリズム(ABM.spl)、暗号化アルゴリズム(ABM.enc)、復号アルゴリズム(ABM.dec)、コリジョンアルゴリズム(ABM.col)の、5つのアルゴリズムからなる公開鍵暗号方式である。   Hereinafter, an outline of the ABM encryption will be described. The ABM cipher has five algorithms: key generation algorithm (ABM.gen), sampling algorithm (ABM.spl), encryption algorithm (ABM.enc), decryption algorithm (ABM.dec), and collision algorithm (ABM.col). It is a public key cryptosystem consisting of

鍵生成アルゴリズム(ABM.gen)は確率的アルゴリズムである。セキュリティパラメータ1кを入力とし、公開鍵pkと秘密鍵skの鍵ペア(pk,sk)を出力する。公開鍵pkは集合の組(S,L)の記述を含む。ただし、S={0,1}к×U、L={0,1}к×Lu、LuはUの真部分集合、Uはあらかじめ定めた集合である。なお、記述の簡素化のため秘密鍵skは公開鍵pkを含むものとする。 The key generation algorithm (ABM.gen) is a stochastic algorithm. The security parameter 1 к is input, and the public key pk and secret key sk key pair (pk, sk) is output. The public key pk includes a description of the set pair (S, L). However, S = {0,1} к × U, L = {0,1} к × L u, is L u subset of U, U is a set of predetermined. For simplification of description, it is assumed that the secret key sk includes the public key pk.

サンプリングアルゴリズム(ABM.spl)は確率的アルゴリズムである。秘密鍵sk、タグt∈{0,1}кを入力とし、サンプル値u(=ABM.splL(sk,t;r))を出力する。ただし、(t,u)∈L(つまりu∈Lu)である。サンプル値uを出力するときに使用する乱数rをサンプルする領域をCOINsplとする。領域COINsplは公開鍵pkによって一意に定まる。 The sampling algorithm (ABM.spl) is a stochastic algorithm. The secret key sk and the tag t∈ {0,1} к are input, and the sample value u (= ABM.spl L (sk, t; r)) is output. However, (t, u) ∈L (that is, u∈L u ). An area for sampling a random number r used when outputting the sample value u is defined as COIN spl . The area COIN spl is uniquely determined by the public key pk.

暗号化アルゴリズム(ABM.enc)は確率的アルゴリズムである。公開鍵pk、タグt∈{0,1}кとサンプル値uとの組(t,u)∈S、平文x∈MSPを入力とし、暗号文c(=ABM.enc(t,u)(pk,x;r))を出力する。ただし、rは乱数、MSPは平文空間、COINを乱数空間とする。平文空間MSPは公開鍵pkから一意に定まる。また、乱数空間COINは公開鍵pkと平文x∈MSPとによって一意に定まる。 The encryption algorithm (ABM.enc) is a stochastic algorithm. The public key pk, the tag t∈ {0,1} к and the sample value u (t, u) ∈S and plaintext x∈MSP are input and the ciphertext c (= ABM.enc (t, u) ( pk, x; r)) is output. However, r is a random number, MSP is a plaintext space, and COIN is a random space. The plaintext space MSP is uniquely determined from the public key pk. The random space COIN is uniquely determined by the public key pk and the plaintext x∈MSP.

復号アルゴリズム(ABM.dec)は確定的アルゴリズムである。秘密鍵sk、タグt∈{0,1}кとサンプル値uとの組(t,u)∈S、暗号文cを入力とし、平文x(=ABM.dec(t,u)(sk,c))を出力する。 The decryption algorithm (ABM.dec) is a deterministic algorithm. The private key sk, the tag t∈ {0,1} к and the sample value u (t, u) ∈S, and the ciphertext c are input, and plaintext x (= ABM.dec (t, u) (sk, c)) is output.

コリジョンアルゴリズム(ABM.col)は2つの確率的アルゴリズム(ABM.col1、ABM.col2)の組である。第1のコリジョンアルゴリズム(ABM.col1)は、秘密鍵sk、乱数r~∈COINspl、タグt∈{0,1}кを入力とし、暗号文cと値ξの組(c,ξ)(←ABM.col1(sk,r~;t))を出力する。第2のコリジョンアルゴリズム(ABM.col2)は、値ξ、平文x∈MSPを入力とし、u=ABM.spl(sk,t;r~)かつc=ABM.enc(t,u)(pk,x;r)を満たす乱数r∈COINを出力する。 The collision algorithm (ABM.col) is a set of two probabilistic algorithms (ABM.col 1 and ABM.col 2 ). The first collision algorithm (ABM.col 1 ) has a secret key sk, a random number r˜∈COIN spl and a tag t∈ {0,1} к as inputs, and a pair (c, ξ) of a ciphertext c and a value ξ (← ABM.col 1 (sk, r ~; t)) is output. The second collision algorithm (ABM.col 2 ) takes the value ξ and plaintext x∈MSP as input, u = ABM.spl (sk, t; r ~) and c = ABM.enc (t, u) (pk , x; r), a random number r∈COIN is output.

ABM暗号はall-but-many特性およびdual mode特性を有する公開鍵暗号方式である。all-but-many特性は、鍵生成アルゴリズム(ABM.gen)とサンプリングアルゴリズム(ABM.spl)が確率的擬似ランダム関数(probabilistic pseudo random function; PPRF)の性質を有することを言う。確率的擬似ランダム関数(PPRF)はeasy sampling, pseudo randomness, unforgeabilityの各種安全性を満たす関数である。dual mode特性は、復号方式(Decryption mode)と落とし戸方式(Trap-door mode)の両方を有することを言う。復号方式(Decryption mode)では、すべての(t,u)∈S\Lpk, x∈MSPについて、ABM.dec(t,u)(sk,ABM.enc(t,u)(pk,x))=xが成り立つ。落とし戸方式(Trap-door mode)では、すべての(t,u)∈Lpk, v∈COINspl, (c,ξ)←ABM.col1(sk,v,t), x∈MSPについて、c=ABM.enc(t,u)(pk,x;ABM.col2(ξ,x))が成り立つ。各種安全性条件の詳細及び証明は非特許文献10を参照されたい。 ABM cryptography is a public key cryptosystem with all-but-many characteristics and dual mode characteristics. The all-but-many characteristic means that the key generation algorithm (ABM.gen) and the sampling algorithm (ABM.spl) have the property of a probabilistic pseudo random function (PPRF). The stochastic pseudo-random function (PPRF) is a function that satisfies various safety requirements such as easy sampling, pseudo randomness, and unforgeability. The dual mode characteristic refers to having both a decryption mode and a trap-door mode. In Decryption mode, ABM.dec (t, u) (sk, ABM.enc (t, u) (pk, x) for all (t, u) ∈S \ L pk , x∈MSP ) = x. In trap-door mode, all (t, u) ∈L pk , v∈COIN spl , (c, ξ) ← ABM.col 1 (sk, v, t), x∈MSP c = ABM.enc (t, u) (pk, x; ABM.col 2 (ξ, x)) holds. Refer to Non-Patent Document 10 for details and proof of various safety conditions.

ABM暗号を用いて、CRS再利用型で、非対話型で、情報廃棄不要型の汎用結合可能コミットメントを構成することができる。具体的には、公開鍵pkを共通参照情報とし、暗号文c=ABM.enc(pk,x;r)をコミットメントとする。コミットメントを開示するには、証拠として乱数rを出せばよい。   Using ABM cryptography, a CRS reusable, non-interactive, information discard-free general-purpose combinable commitment can be constructed. Specifically, the public key pk is used as common reference information, and the ciphertext c = ABM.enc (pk, x; r) is used as a commitment. In order to disclose the commitment, a random number r may be given as evidence.

この発明の汎用結合可能コミットメントでは、ABM暗号の鍵生成アルゴリズム(ABM.gen)と暗号化アルゴリズム(ABM.enc)のみを用いる。サンプリングアルゴリズム(ABM.spl)と復号アルゴリズム(ABM.dec)とコリジョンアルゴリズム(ABM.col)はコミットメントでは用いられることがないが、ABM暗号の安全性証明のために必要となるアルゴリズムである。   In the universal combinable commitment of the present invention, only the ABM encryption key generation algorithm (ABM.gen) and the encryption algorithm (ABM.enc) are used. The sampling algorithm (ABM.spl), the decryption algorithm (ABM.dec), and the collision algorithm (ABM.col) are not used in commitments, but are necessary for proving the security of the ABM cipher.

[Damgard-Jurik暗号]
Damgard-Jurik暗号(以下、DJ暗号とも呼ぶ)は準同型性をもつ選択平文攻撃に対して識別不可能な暗号方式である。Damgard-Jurik暗号の安全性はDCR(Decision Composite Residuosity)仮定のもと成り立つ。
[Damgard-Jurik cipher]
The Damgard-Jurik cipher (hereinafter also referred to as DJ cipher) is an encryption method that cannot be identified against a selected plaintext attack with homomorphism. Damgard-Jurik cipher security is based on DCR (Decision Composite Residuosity) assumptions.

Damgard-Jurik暗号は、鍵生成アルゴリズム(K)、暗号化アルゴリズム(E)、復号アルゴリズム(D)の、3つのアルゴリズムからなる公開鍵暗号方式である。   The Damgard-Jurik cipher is a public key cryptosystem composed of three algorithms: a key generation algorithm (K), an encryption algorithm (E), and a decryption algorithm (D).

鍵生成アルゴリズム(K)は以下の処理を行う。セキュリティパラメータkを入力とし、kビットの素数p,qを選択し、n=pqを計算する。sを1以上の整数、jをnと互いに素な整数として、g=(1+n)jx mod ns+1を計算する。p-1とq-1の最小公倍数λを計算し、d mod n ∈Znかつd=0 mod λを満たす値dを選択する。(n,g)を公開鍵とし、dを秘密鍵とする。 The key generation algorithm (K) performs the following processing. The security parameter k is input, k-bit prime numbers p and q are selected, and n = pq is calculated. g = (1 + n) j x mod n s + 1 is calculated, where s is an integer greater than or equal to 1 and j is an integer relatively prime to n. The least common multiple λ of p−1 and q−1 is calculated, and a value d satisfying d mod n ∈Z n and d = 0 mod λ is selected. Let (n, g) be the public key and d be the secret key.

暗号化アルゴリズム(E)は以下の処理を行う。ns+1を法とする剰余環Zn^s+1から乱数rを選択する。平文i∈Zn^sを入力とし、暗号文c=girn^s mod ns+1を計算する。 The encryption algorithm (E) performs the following processing. a n s + 1 to select the residue ring Z n ^ s + 1 from the random number r modulo. The plaintext i∈Z n ^ s is input and the ciphertext c = g i r n ^ s mod n s + 1 is calculated.

復号アルゴリズム(D)は以下の処理を行う。cd mod ns+1, gd mod ns+1を計算する。cd=(1+n)jid mod n^s, gd=(1+n)jid mod n^sであることから、jid mod ns, jd mod nsを計算し、平文i=(jid)・(jd)-1 mod ndを計算する。 The decryption algorithm (D) performs the following processing. c d mod n s + 1 and g d mod n s + 1 are calculated. Since c d = (1 + n) jid mod n ^ s , g d = (1 + n) jid mod n ^ s , calculate jid mod n s , jd mod n s , and plaintext i = (jid ) · (Jd) −1 mod n d is calculated.

Damgard-Jurik暗号の各アルゴリズムについての詳細は「I. Damgard and M. Jurik, “A generalisation, a simplification and some applications of Paillier’s probabilistic public-key system”, PKC 2001, volume 1992 of Lecture Notes in Computer Science, pp. 125-140, 2001.(参考文献2)」を参照されたい。DCR仮定についての詳細は「P. Pallier, “Public-Key Cryptosystems based on Composite Degree Residue Classes”, Proceedings of EuroCrypt 99, pp.223-238.(参考文献3)」を参照されたい。   For details on each algorithm of Damgard-Jurik cipher, see “I. Damgard and M. Jurik,“ A generalization, a simplification and some applications of Paillier's probabilistic public-key system ”, PKC 2001, volume 1992 of Lecture Notes in Computer Science, pp. 125-140, 2001 (reference 2). For details on the DCR assumption, see “P. Pallier,“ Public-Key Cryptosystems based on Composite Degree Residue Classes ”, Proceedings of EuroCrypt 99, pp.223-238.

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

この発明の第一実施形態は、任意のABM暗号から構成される汎用結合可能コミットメントである。第二実施形態は、Damgard-Jurik暗号を利用してNon-Mult仮定に基づいて構成した汎用結合可能コミットメントである。Non-Mult仮定についての詳細は非特許文献10に記載されている。   The first embodiment of the present invention is a universal combinable commitment composed of arbitrary ABM ciphers. The second embodiment is a universal combinable commitment configured based on the Non-Mult assumption using Damgard-Jurik encryption. Details of the Non-Mult assumption are described in Non-Patent Document 10.

[第一実施形態]
上述の通り、第一実施形態は、任意のABM暗号から構成される汎用結合可能コミットメントである。上記のABM暗号の性質を有する暗号方式であれば適用することができる。
[First embodiment]
As described above, the first embodiment is a universally joinable commitment composed of an arbitrary ABM cipher. Any encryption method having the above-mentioned ABM encryption property can be applied.

<構成>
図1を参照して、第一実施形態のコミットメントシステム1の構成例を説明する。コミットメントシステム1は共通参照情報生成装置2とコミット生成装置3とコミット受信装置4を含む。共通参照情報生成装置2とコミット生成装置3とコミット受信装置4とはそれぞれネットワーク5に接続される。ネットワーク5は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。なお、各装置は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、コミット生成装置3の出力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からコミット受信装置4へオフラインで入力するように構成してもよい。他の装置間の情報伝播においても同様であるので詳細な説明は省略する。
<Configuration>
With reference to FIG. 1, the structural example of the commitment system 1 of 1st embodiment is demonstrated. The commitment system 1 includes a common reference information generating device 2, a commit generating device 3, and a commit receiving device 4. The common reference information generation device 2, the commit generation device 3, and the commit reception device 4 are connected to the network 5, respectively. The network 5 only needs to be configured so that the connected devices can communicate with each other. For example, the network 5 can be configured with the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like. Each device does not necessarily need to be able to communicate online via a network. For example, information output from the commit generation device 3 may be stored in a portable recording medium such as a magnetic tape or a USB memory, and may be input to the commit reception device 4 from the portable recording medium offline. The same applies to information propagation between other devices, and a detailed description thereof will be omitted.

図2を参照して、コミットメントシステム1に含まれる共通参照情報生成装置2の構成例を説明する。共通参照情報生成装置2は、制御部201、メモリ202、入力部21、鍵生成部22、鍵廃棄部23、公開部24を有する。共通参照情報生成装置2は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。共通参照情報生成装置2は制御部201の制御のもとで各処理を実行する。共通参照情報生成装置2に入力されたデータや各処理で得られたデータはメモリ202に格納され、メモリ202に格納されたデータは必要に応じて読み出されて他の処理に利用される。   A configuration example of the common reference information generation device 2 included in the commitment system 1 will be described with reference to FIG. The common reference information generation apparatus 2 includes a control unit 201, a memory 202, an input unit 21, a key generation unit 22, a key discard unit 23, and a disclosure unit 24. The common reference information generation device 2 is a special device configured by reading a special program into a known or dedicated computer having a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The common reference information generation device 2 executes each process under the control of the control unit 201. Data input to the common reference information generating apparatus 2 and data obtained in each process are stored in the memory 202, and the data stored in the memory 202 is read out as necessary and used for other processes.

図3を参照して、コミットメントシステム1に含まれるコミット生成装置3の構成例を説明する。コミット生成装置3は、制御部301、メモリ302、記憶部303、入力部31、乱数生成部32、暗号化部33、コミット部34、開示部35、出力部36を有する。コミット生成装置3は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。コミット生成装置3は制御部301の制御のもとで各処理を実行する。コミット生成装置3に入力されたデータや各処理で得られたデータはメモリ302に格納され、メモリ302に格納されたデータは必要に応じて読み出されて他の処理に利用される。記憶部303は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。   A configuration example of the commit generation device 3 included in the commitment system 1 will be described with reference to FIG. The commit generation device 3 includes a control unit 301, a memory 302, a storage unit 303, an input unit 31, a random number generation unit 32, an encryption unit 33, a commit unit 34, a disclosure unit 35, and an output unit 36. The commit generation device 3 is a special device configured by reading a special program into a known or dedicated computer having a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The commit generation device 3 executes each process under the control of the control unit 301. Data input to the commit generation device 3 and data obtained in each process are stored in the memory 302, and the data stored in the memory 302 is read out as necessary and used for other processes. The storage unit 303 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database or a key value store, and the like. Can be configured.

図4を参照して、コミットメントシステム1に含まれるコミット受信装置4の構成例を説明する。コミット受信装置4は、制御部401、メモリ402、記憶部403、入力部41、確認部42、開封部43、出力部44を有する。コミット受信装置4は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。コミット受信装置4は制御部401の制御のもとで各処理を実行する。コミット受信装置4に入力されたデータや各処理で得られたデータはメモリ402に格納され、メモリ402に格納されたデータは必要に応じて読み出されて他の処理に利用される。記憶部403は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。   With reference to FIG. 4, a configuration example of the commit reception device 4 included in the commitment system 1 will be described. The commit receiver 4 includes a control unit 401, a memory 402, a storage unit 403, an input unit 41, a confirmation unit 42, an opening unit 43, and an output unit 44. The commit receiver 4 is a special device configured by reading a special program into a known or dedicated computer having a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The commit reception device 4 executes each process under the control of the control unit 401. Data input to the commit receiver 4 and data obtained in each process are stored in the memory 402, and the data stored in the memory 402 is read out as needed and used for other processes. The storage unit 403 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database or a key value store, and the like. Can be configured.

<共通参照情報生成処理>
図5を参照して、共通参照情報生成装置2の実行する共通参照情報生成処理の動作例を説明する。
<Common reference information generation processing>
With reference to FIG. 5, the operation example of the common reference information generation process which the common reference information generation apparatus 2 performs is demonstrated.

共通参照情報生成装置2の有する入力部21を介して鍵生成部22へセキュリティパラメータ1кが入力される(ステップS21)。鍵生成部22は、セキュリティパラメータ1кを入力とし、任意のABM暗号の鍵生成アルゴリズム(ABM.gen)を(pk,sk)←ABM.gen(1к)として実行し、公開鍵pkと秘密鍵skの鍵ペア(pk,sk)を生成する(ステップS22)。 The security parameter 1 к is input to the key generation unit 22 via the input unit 21 of the common reference information generation device 2 (step S21). The key generation unit 22 receives the security parameter 1 к , executes an arbitrary ABM cipher key generation algorithm (ABM.gen) as (pk, sk) ← ABM.gen (1 к ), and generates a public key pk and a secret A key pair (pk, sk) for the key sk is generated (step S22).

鍵ペア(pk,sk)は鍵廃棄部23へ入力される。鍵廃棄部23は鍵ペア(pk,sk)に含まれる秘密鍵skを廃棄する(ステップS23)。   The key pair (pk, sk) is input to the key discarding unit 23. The key discarding unit 23 discards the secret key sk included in the key pair (pk, sk) (step S23).

公開鍵pkは公開部24へ入力される。公開部24は公開鍵pkを共通参照情報として公開する(ステップS24)。公開の方法はコミット生成装置3とコミット受信装置4とが公開鍵pkを参照できる方法であればどのような方法であってもよい。共通参照情報生成装置2からコミット生成装置3とコミット受信装置4とへ個別の通信経路により公開鍵pkを送信してもよいし、任意の公開鍵基盤(Public Key Infrastructure; PKI)などを用いて公開鍵pkを公開し、コミット生成装置3とコミット受信装置4とが任意のタイミングで参照するように構成してもよい。コミット生成装置3は共通参照情報として公開された公開鍵pkを記憶部303へ記憶する。コミット受信装置4は同様に共通参照情報として公開された公開鍵pkを記憶部403へ記憶する。   The public key pk is input to the public unit 24. The public unit 24 publishes the public key pk as common reference information (step S24). The public method may be any method as long as the commit generation device 3 and the commit reception device 4 can refer to the public key pk. The public key pk may be transmitted from the common reference information generating device 2 to the commit generating device 3 and the commit receiving device 4 through individual communication paths, or using an arbitrary public key infrastructure (Public Key Infrastructure; PKI) or the like. The public key pk may be disclosed so that the commit generation device 3 and the commit reception device 4 can refer to the public key pk at an arbitrary timing. The commit generation device 3 stores the public key pk disclosed as common reference information in the storage unit 303. Similarly, the commit receiver 4 stores the public key pk disclosed as common reference information in the storage unit 403.

<コミット(封じ手)フェーズ>
図6を参照して、コミット生成装置3とコミット受信装置4との間で実行されるコミット(封じ手)フェーズの動作例を手続きの順に従って詳細に説明する。
<Commit (sealing) phase>
With reference to FIG. 6, an example of the operation of the commit (sealing) phase executed between the commit generation device 3 and the commit reception device 4 will be described in detail according to the order of procedures.

コミット生成装置3の有する入力部31へタグt∈{0,1}кと平文m∈MSPが入力される(ステップS31)。ただし、MSPは公開鍵pkにより一意に定まる平文空間である。 A tag tε {0,1} к and plaintext mεMSP are input to the input unit 31 of the commit generation device 3 (step S31). However, MSP is a plaintext space uniquely determined by the public key pk.

乱数生成部32は乱数r∈COINとサンプル値u∈Uを生成する(ステップS32)。ただし、COINは公開鍵pkと平文mとにより一意に定まる乱数空間、Uはあらかじめ定めた集合である。乱数生成部32は逐一ランダムに乱数rとサンプル値uを選択してもよいし、事前に生成されメモリ302に格納されている複数個の値から所定の規則に従って乱数rとサンプル値uを選択してもよい。   The random number generation unit 32 generates a random number rεCOIN and a sample value uεU (step S32). Here, COIN is a random space uniquely determined by the public key pk and plaintext m, and U is a predetermined set. The random number generation unit 32 may select the random number r and the sample value u at random one by one, or select the random number r and the sample value u according to a predetermined rule from a plurality of values generated in advance and stored in the memory 302 May be.

平文mと乱数rとタグtとサンプル値uとは暗号化部33へ入力される。暗号化部33は記憶部303から公開鍵pkを取得する。次に、暗号化部33は、平文mを入力とし、公開鍵pkと乱数rとタグtとサンプル値uを用いて、任意のABM暗号の暗号化アルゴリズム(ABM.enc)をc←ABM.enc(t,u)(pk,m;r)として実行し、暗号文cを生成する(ステップS33)。 The plaintext m, the random number r, the tag t, and the sample value u are input to the encryption unit 33. The encryption unit 33 acquires the public key pk from the storage unit 303. Next, the encryption unit 33 receives the plaintext m, and uses the public key pk, the random number r, the tag t, and the sample value u to convert an arbitrary ABM encryption algorithm (ABM.enc) to c ← ABM. This is executed as enc (t, u) (pk, m; r) to generate a ciphertext c (step S33).

平文mと乱数rとタグtとサンプル値uと暗号文cとはコミット部34へ入力される。コミット部34は出力部36を介してタグtとサンプル値uと暗号文cとをコミット受信装置4へ出力する(ステップS34)。コミット受信装置4は受信したタグtとサンプル値uと暗号文cとを記憶部403へ記憶する(ステップS403)。同時に、コミット部34は平文mと乱数rとを記憶部303へ記憶する(ステップS303)。   The plaintext m, the random number r, the tag t, the sample value u, and the ciphertext c are input to the commit unit 34. The commit unit 34 outputs the tag t, the sample value u, and the ciphertext c to the commit receiving device 4 via the output unit 36 (step S34). The commit receiving device 4 stores the received tag t, sample value u, and ciphertext c in the storage unit 403 (step S403). At the same time, the commit unit 34 stores the plaintext m and the random number r in the storage unit 303 (step S303).

<デコミット(開示)フェーズ>
図6を参照して、コミット生成装置3とコミット受信装置4との間で実行されるデコミット(開示)フェーズの動作例を手続きの順に従って詳細に説明する。
<Decommitting (disclosure) phase>
With reference to FIG. 6, an operation example of a decommit (disclosure) phase executed between the commit generation device 3 and the commit reception device 4 will be described in detail according to the order of procedures.

コミット生成装置3の有する開示部35は記憶部303から平文mと乱数rとを取得し、出力部36を介してコミット受信装置4へ出力する(ステップS35)。   The disclosure unit 35 included in the commit generation device 3 acquires the plaintext m and the random number r from the storage unit 303 and outputs the plaintext m and the random number r to the commit reception device 4 via the output unit 36 (step S35).

平文mと乱数rとはコミット受信装置4の有する入力部41を介して確認部42へ入力される(ステップS41)。確認部42は記憶部403からタグtとサンプル値uとを読み出し、以下の条件を検証する(ステップS42)。以下の条件のいずれかが満たさないことを確認した場合には処理を中断する。
1.記憶部403から取得したタグtがкビットのビット列であること(t∈{0,1}к)。
2.記憶部403から取得したサンプル値uが集合Uの元であること(u∈U)。
3.入力された平文mが平文空間MSPの元であること(m∈MSP)。
4.入力された乱数rが乱数空間COINの元であること(r∈COIN)。
The plaintext m and the random number r are input to the confirmation unit 42 via the input unit 41 of the commit reception device 4 (step S41). The confirmation unit 42 reads the tag t and the sample value u from the storage unit 403, and verifies the following conditions (step S42). If it is confirmed that any of the following conditions is not satisfied, the process is interrupted.
1. The tag t acquired from the storage unit 403 is a bit string of к bits (tε {0,1} к ).
2. The sample value u acquired from the storage unit 403 is an element of the set U (uεU).
3. The input plaintext m is an element of the plaintext space MSP (m∈MSP).
4). The input random number r is an element of the random space COIN (r∈COIN).

確認部42が上記の条件をすべて満たすことを確認した場合には、記憶部403から取得したタグtとサンプル値uおよび入力された平文mと乱数rとが開封部43へ入力される。開封部43は、平文mを入力とし、公開鍵pkと乱数rとタグtとサンプル値uを用いて、任意のABM暗号の暗号化アルゴリズム(ABM.enc)をc’←ABM.enc(t,u)(pk,m;r)として実行し、暗号文c’を生成する(ステップS43)。 When the confirmation unit 42 confirms that all of the above conditions are satisfied, the tag t and the sample value u acquired from the storage unit 403 and the input plaintext m and random number r are input to the opening unit 43. The unsealing unit 43 receives the plaintext m, and uses the public key pk, the random number r, the tag t, and the sample value u to convert an arbitrary ABM encryption algorithm (ABM.enc) to c ′ ← ABM.enc (t , u) (pk, m; r), and generates a ciphertext c ′ (step S43).

次に、開封部43は記憶部403から暗号文cを取得し、生成した暗号文c’と取得した暗号文cとが等しいことを確認する。暗号文c’と暗号文cとが等しい場合には開封を承認する。暗号文c’と暗号文cとが等しくない場合には開封を拒絶する。   Next, the unsealing unit 43 acquires the ciphertext c from the storage unit 403, and confirms that the generated ciphertext c 'is equal to the acquired ciphertext c. When the ciphertext c ′ and the ciphertext c are equal, the opening is approved. If the ciphertext c 'and the ciphertext c are not equal, the opening is refused.

開封を承認するか開封を拒絶するかを示す開封結果は出力部44を介して出力される(ステップS44)。   An unsealing result indicating whether the unsealing is approved or unsealed is output via the output unit 44 (step S44).

[第二実施形態]
上述の通り、第二実施形態は、Damgard-Jurik暗号を利用してNon-Mult仮定に基づいて構成した汎用結合可能コミットメントである。第二実施形態では、кビットの情報をコミットするための情報量がO(к)ビットで済むため効率的であり、セキュリティパラメータкに対して共通参照情報のサイズがO(к)ビットのため従来よりも短くなっている。
[Second Embodiment]
As described above, the second embodiment is a universal combinable commitment configured based on the Non-Mult assumption using Damgard-Jurik encryption. In the second embodiment, the amount of information for committing к bits of information is efficient because only O (к) bits are required, and the size of the common reference information is O (к) bits for the security parameter к. It is shorter than before.

なお、この実施形態ではDamgard-Jurik暗号を用いてコミットメントシステムを構成する例を説明するが、準同型性をもつ選択平文攻撃に対して識別不可能な暗号方式であれば、容易に置換することが可能である。   In this embodiment, an example in which the commitment system is configured using the Damgard-Jurik cipher will be described. However, if it is an encryption method that cannot be identified against a selected plaintext attack having homomorphism, it can be easily replaced. Is possible.

<定義>
この実施形態では以下のように記号を定義する。
・p,qは素数であり、n=pqである。
・dは1以上の正の整数である(d≧1)。
・Π=(K,E,D)は、Damgard-Jurik暗号の各アルゴリズムである。Kは鍵生成アルゴリズムである。Eは暗号化アルゴリズムである。Dは復号アルゴリズムである。Damgard-Jurik暗号の各アルゴリズムの詳細は参考文献2を参照されたい。
・Zn^dはndを法とする剰余環である。
・Zn^d+1はnd+1を法とする剰余環である。
・Zn^d+1 ×は剰余環Zn^d+1の単数群である。すなわち、剰余環Zn^d+1の中でnd+1と互いに素となる要素の集合である。
・HはH:{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数である。
・SはS={0,1}к×(Zn^d+1)3の集合である。
・LはL={(t,(υ,e,π))|∃(ν~,ν)}の集合である。ここで、t∈{0,1}к、υ=hν、e=gxyν、π=(y1y2 σ)ν、ν~,ν∈Vである。ただし、σ=H(t,υ,e)、g=1+n、y=hk、y1=hk_1、y2=hk_2、k,k1,k2∈Kである。
・Kは0以上n2/2以下の整数の集合である。すなわち、次式で表される集合である。
<Definition>
In this embodiment, symbols are defined as follows.
P and q are prime numbers, and n = pq.
D is a positive integer greater than or equal to 1 (d ≧ 1).
Π = (K, E, D) is each algorithm of Damgard-Jurik encryption. K is a key generation algorithm. E is an encryption algorithm. D is a decoding algorithm. Refer to Reference 2 for details of each algorithm of Damgard-Jurik encryption.
• Z n ^ d is a remainder ring modulo n d .
Z n ^ d + 1 is a remainder ring modulo n d + 1 .
・ Z n ^ d + 1 × is a singular group of remainder ring Z n ^ d + 1 . That is, it is a set of elements that are relatively prime to n d + 1 in the remainder ring Z n ^ d + 1 .
H is a hash function such that H: {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d .
S is a set of S = {0,1} к × (Z n ^ d + 1 ) 3
L is a set of L = {(t, (υ, e, π)) | ∃ (ν˜, ν)}. Here, t∈ {0,1} к , υ = h ν , e = g x y ν , π = (y 1 y 2 σ ) ν , ν˜, ν∈V. However, σ = H (t, υ , e), g = 1 + n, y = h k, y 1 = h k_1, y 2 = h k_2, k, is k 1, k 2 ∈K.
· K is an integer of a set of zero or more n 2/2 or less. That is, it is a set represented by the following formula.

Figure 0005943880
Figure 0005943880

・Vは0以上n/2以下の整数の集合である。すなわち、次式で表される集合である。 V is a set of integers between 0 and n / 2. That is, it is a set represented by the following formula.

Figure 0005943880
Figure 0005943880

・Wは0以上nd+2/2以下の整数の集合である。すなわち、次式で表される集合である。 W is a set of integers between 0 and n d + 2/2. That is, it is a set represented by the following formula.

Figure 0005943880
Figure 0005943880

<Damgard-Jurik暗号を用いて構成したABM暗号>
第一実施形態では任意のABM暗号を用いてコミットメントシステムを構成したが、第二実施形態ではDamgard-Jurik暗号を用いて構成したABM暗号を用いる。
<ABM cipher configured using Damgard-Jurik cipher>
In the first embodiment, the commitment system is configured using an arbitrary ABM cipher, but in the second embodiment, an ABM cipher configured using a Damgard-Jurik cipher is used.

第二実施形態の鍵生成アルゴリズム(ABM.gen)はセキュリティパラメータкを入力とし公開鍵pkと秘密鍵skの鍵ペア(pk,sk)を出力する。具体的には以下の処理を実行する。кビット長の素数p,qを選択し、値n=pq、値g=1+nを計算する。単数群Zn^d+1 ×から乱数hを選択し、上記で定義したハッシュ関数Hを決定する。集合Kから乱数k~,k,k1,k2を選択する。値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算する。剰余環Zn^dから乱数xを、集合Vから乱数ν~をそれぞれ選択する。値u~=hν~、値e~=g-xy~ν~をそれぞれ計算する。そして、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する。 The key generation algorithm (ABM.gen) of the second embodiment receives a security parameter к and outputs a key pair (pk, sk) of a public key pk and a secret key sk. Specifically, the following processing is executed. Select prime numbers p and q of к bits length, and calculate the value n = pq and the value g = 1 + n. A random number h is selected from the singular group Z n ^ d + 1 × , and the hash function H defined above is determined. Random numbers k˜, k, k 1 and k 2 are selected from the set K. The value y ~ = h k ~ , the value y = h k , the value y 1 = h k_1 , and the value y 2 = h k_2 are calculated. A random number x is selected from the remainder ring Z n ^ d and a random number ν˜ is selected from the set V. The value u ~ = h ν ~ and the value e ~ = g -x y ~ ν ~ are calculated, respectively. And public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x) are output.

第二実施形態のサンプリングアルゴリズム(ABM.spl)は秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)及びタグt∈{0,1}кを入力とし、サンプル値u:=(υ,e,π)を出力する。具体的には以下の処理を実行する。集合Vから乱数νを選択する。値υ=hν、値e=gxyν、値π=(y1y2 σ)νをそれぞれ計算する。ただし、値σ=H(t,υ,e)である。そして、サンプル値u:=(υ,e,π)を出力する。 The sampling algorithm (ABM.spl) of the second embodiment has a secret key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x) and a tag t∈ {0,1} к as inputs. , Sample value u: = (υ, e, π) is output. Specifically, the following processing is executed. A random number ν is selected from the set V. The value υ = h ν , the value e = g x y ν , and the value π = (y 1 y 2 σ ) ν are calculated. However, the value σ = H (t, υ, e). Then, the sample value u: = (υ, e, π) is output.

第二実施形態の暗号化アルゴリズム(ABM.enc)は公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)、タグt∈{0,1}к、サンプル値u:=(υ,e,π)及び平文m∈Zn^dを入力とし、暗号文cを出力する。具体的には以下の処理を実行する。集合Wから乱数z~,zを選択する。値A=y~z~yz(e~e)m、値a~=hz~υ~m、値a=hzυm、値b=(y1y2 τ)zπmをそれぞれ計算する。ただし、値τ=H(pk,t,υ,e)である。そして、暗号文c=(A,a~,a,b)を出力する。 The encryption algorithm (ABM.enc) of the second embodiment has a public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~), tag t Ε {0,1} к , sample value u: = (υ, e, π) and plaintext mεZ n ^ d are input, and ciphertext c is output. Specifically, the following processing is executed. Random numbers z ~ and z are selected from the set W. Value A = y ~ z ~ y z (e ~ e) m , value a ~ = h z ~ υ ~ m , value a = h z υ m , value b = (y 1 y 2 τ ) z π m calculate. However, the value τ = H (pk, t, υ, e). Then, ciphertext c = (A, a˜, a, b) is output.

第二実施形態の復号アルゴリズム(ABM.dec)は秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)、タグt∈{0,1}к、サンプル値u:=(υ,e,π)及び暗号文c=(A,a~,a,b)を入力とし、平文m∈Zn^dを出力する。具体的には以下の処理を実行する。まず、値τ=H(pk,t,υ,e)を計算し、以下の式(1)が成立するか否かを確認する。 The decryption algorithm (ABM.dec) of the second embodiment has a secret key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x), a tag t∈ {0,1} к , a sample value u: = (υ, e, π) and ciphertext c = (A, a˜, a, b) are input and plain text m∈Z n ^ d is output. Specifically, the following processing is executed. First, the value τ = H (pk, t, υ, e) is calculated, and it is confirmed whether or not the following formula (1) holds.

Figure 0005943880
Figure 0005943880

式(1)が成立する場合には、以下の式(2)により平文mを生成する。   When the formula (1) is established, the plaintext m is generated by the following formula (2).

Figure 0005943880
Figure 0005943880

式(1)が成立しない場合には、以下の式(3)により平文mを生成する。   If equation (1) does not hold, plaintext m is generated by the following equation (3).

Figure 0005943880
Figure 0005943880

第二実施形態の第1のコリジョンアルゴリズム(ABM.col1)は秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)、乱数ν及びタグt∈{0,1}кを入力とし、暗号文cと値ξの組(c,ξ)を出力する。具体的には以下の処理を実行する。集合Wから乱数w~,wを選択する。値A=y~w~yw、値a~=hw~、値a=hw、値b=(y1y2 τ)wを計算する。ただし、値τ=H(pk,t,υ,e)である。そして、暗号文c=(A,a~,a,b)及び値ξ:=(sk,w~,w)を出力する。 The first collision algorithm (ABM.col 1 ) of the second embodiment has a secret key sk: = (pk, k˜, k, k 1 , k 2 , ν˜, x), a random number ν, and a tag t∈ {0 , 1} к as an input, and outputs a pair (c, ξ) of ciphertext c and value ξ. Specifically, the following processing is executed. Select random numbers w ~, w from set W. Computes the value A = y ~ w ~ y w , values a ~ = h w ~, the value a = h w, the value b = (y 1 y 2 τ ) w. However, the value τ = H (pk, t, υ, e). Then, the ciphertext c = (A, a˜, a, b) and the value ξ: = (sk, w˜, w) are output.

第二実施形態の第2のコリジョンアルゴリズム(ABM.col2)は値ξ:=(sk,w~,w)及び平文m∈Zn^dを入力とし、値の組(z~,z)を出力する。具体的には以下の処理を実行する。値z~=w~-m・ν∈Zを計算する。値z=w-m・ν∈Zを計算する。そして、(z~,z)を出力する。ここで、A=y~z~yz(e~e)m、a~=hz~u~m、a=hzum、b=(y1y2 τ)zπmが常に成り立っている。 The second collision algorithm (ABM.col 2 ) of the second embodiment takes a value ξ: = (sk, w ~, w) and plaintext m∈Z n ^ d as input, and sets of values (z ~, z) Is output. Specifically, the following processing is executed. Calculate the value z ~ = w ~ -m · ν∈Z. Calculate the value z = wm · ν∈Z. Then, (z ~, z) is output. Where A = y ~ z ~ y z (e ~ e) m , a ~ = h z ~ u ~ m , a = h z u m , b = (y 1 y 2 τ ) z π m always holds ing.

<共通参照情報生成処理>
第二実施形態の共通参照情報生成処理の動作例を手続きの順に従って詳細に説明する。ただし、第一実施形態と同様のステップは説明を省略する。
<Common reference information generation processing>
An operation example of the common reference information generation process of the second embodiment will be described in detail according to the order of procedures. However, the description of the same steps as in the first embodiment is omitted.

共通参照情報生成装置2の有する鍵生成部22はセキュリティパラメータ1кを入力として、公開鍵pkと秘密鍵skの鍵ペア(pk,sk)を生成する(ステップS22)。具体的には以下の処理を実行する。 The key generation unit 22 included in the common reference information generation apparatus 2 receives the security parameter 1 к and generates a key pair (pk, sk) of the public key pk and the secret key sk (step S22). Specifically, the following processing is executed.

まず、кビット長の素数p,qを選択し、値n=pq、値g=1+nを計算する。単数群Zn^d+1 ×から乱数hを選択する。ハッシュ関数Hを決定する。集合Kから乱数k~,k,k1,k2を選択する。値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算する。剰余環Zn^dから乱数xを、集合Vから乱数ν~をそれぞれ選択する。値u~=hν~、値e~=g-xy~ν~をそれぞれ計算する。そして、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する。 First, prime numbers p and q having a length of к bits are selected, and a value n = pq and a value g = 1 + n are calculated. Select a random number h from the singular group Z n ^ d + 1 × . A hash function H is determined. Random numbers k˜, k, k 1 and k 2 are selected from the set K. The value y ~ = h k ~ , the value y = h k , the value y 1 = h k_1 , and the value y 2 = h k_2 are calculated. A random number x is selected from the remainder ring Z n ^ d and a random number ν˜ is selected from the set V. The value u ~ = h ν ~ and the value e ~ = g -x y ~ ν ~ are calculated, respectively. And public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x) are output.

<コミット(封じ手)フェーズ>
第二実施形態のコミット(封じ手)フェーズの動作例を手続きの順に従って詳細に説明する。ただし、第一実施形態と同様のステップは説明を省略する。
<Commit (sealing) phase>
An example of the operation of the commit (sealing hand) phase of the second embodiment will be described in detail according to the order of procedures. However, the description of the same steps as in the first embodiment is omitted.

コミット生成装置3の有する乱数生成部32は乱数rとサンプル値uとを生成する(ステップS32)。具体的には以下の処理を実行する。   The random number generation unit 32 included in the commit generation device 3 generates a random number r and a sample value u (step S32). Specifically, the following processing is executed.

まず、集合Wから乱数z~,zを、集合Sから乱数υ,e,πをそれぞれ選択する。そして、乱数r:=(z~,z)及びサンプル値u:=(υ,e,π)を出力する。   First, random numbers z˜, z are selected from set W, and random numbers υ, e, π are selected from set S, respectively. The random number r: = (z˜, z) and the sample value u: = (υ, e, π) are output.

コミット生成装置3の有する暗号化部33は、平文m∈Zn^dを公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)、乱数r:=(z~,z)、タグt∈{0,1}к及びサンプル値u:=(υ,e,π)を用いて、Damgard-Jurik暗号の暗号化アルゴリズムEにより暗号化して暗号文cを生成する(ステップS33)。具体的には以下の処理を実行する。 The encryption unit 33 included in the commit generation device 3 converts the plaintext mεZ n ^ d into the public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~), random number r: = (z ~, z), tag t∈ {0,1} к and sample value u: = (υ, e, π), the encryption algorithm E of Damgard-Jurik encryption To generate a ciphertext c (step S33). Specifically, the following processing is executed.

まず、値A=y~z~yz(e~e)m、値a~=hz~υ~m、値a=hzυm、値τ=H(pk,t,υ,e)、値b=(y1y2 τ)zπmをそれぞれ計算する。そして、暗号文c=(A,a~,a,b)を生成する。 First, value A = y ~ z ~ y z (e ~ e) m , value a ~ = h z ~ υ ~ m , value a = h z υ m , value τ = H (pk, t, υ, e) , B = (y 1 y 2 τ ) z π m are calculated respectively. Then, the ciphertext c = (A, a˜, a, b) is generated.

<デコミット(開示)フェーズ>
第二実施形態のデコミット(開示)フェーズの動作例を手続きの順に従って詳細に説明する。ただし、第一実施形態と同様のステップは説明を省略する。
<Decommitting (disclosure) phase>
An operation example of the decommitment (disclosure) phase of the second embodiment will be described in detail according to the order of procedures. However, the description of the same steps as in the first embodiment is omitted.

コミット受信装置4の有する開封部43は、平文m∈Zn^dを公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)、乱数r:=(z~,z)、タグt∈{0,1}к及びサンプル値u:=(υ,e,π)を用いて、Damgard-Jurik暗号の暗号化アルゴリズムEにより暗号化して暗号文c’を生成する(ステップS43)。具体的には以下の処理を実行する。 The unsealing unit 43 of the commit receiver 4 uses the plaintext m∈Z n ^ d as the public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~), Random number r: = (z ~, z), tag t∈ {0,1} к and sample value u: = (υ, e, π), using Damgard-Jurik encryption algorithm E The ciphertext c ′ is generated by encryption (step S43). Specifically, the following processing is executed.

まず、値A’=y~z~yz(e~e)m、値a~’=hz~υ~m、値a’=hzυm、値τ=H(pk,t,υ,e)、値b’=(y1y2 τ)zπmをそれぞれ計算する。そして、暗号文c’:=(A’,a~’,a’,b’)を生成する。 First, value A '= y ~ z ~ y z (e ~ e) m , value a ~' = h z ~ υ ~ m , value a '= h z υ m , value τ = H (pk, t, υ e) and the value b ′ = (y 1 y 2 τ ) z π m are calculated respectively. Then, the ciphertext c ′: = (A ′, a˜ ′, a ′, b ′) is generated.

次に、開封部43は、暗号文cと暗号文c’とが等しいことを確認する。暗号文cの各要素と暗号文c’の各要素がすべて等しい場合には暗号文cと暗号文c’とが等しいとする。すなわち、A=A’、a~=a~’、a=a’、b=b’をすべて満たす場合には暗号文cと暗号文c’とが等しいものとする。いずれかの条件を満たさない場合には暗号文cと暗号文c’とが等しくないものとする。   Next, the opening unit 43 confirms that the ciphertext c and the ciphertext c ′ are equal. It is assumed that the ciphertext c and the ciphertext c ′ are equal when the elements of the ciphertext c and the elements of the ciphertext c ′ are all equal. That is, when all of A = A ′, a˜ = a˜ ′, a = a ′, and b = b ′ are satisfied, it is assumed that the ciphertext c and the ciphertext c ′ are equal. When any of the conditions is not satisfied, it is assumed that the ciphertext c and the ciphertext c ′ are not equal.

[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。   When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized 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.

1 コミットメントシステム
2 共通参照情報生成装置
3 コミット生成装置
4 コミット受信装置
5 ネットワーク
21 入力部
22 鍵生成部
23 鍵廃棄部
24 公開部
31 入力部
32 乱数生成部
33 暗号化部
34 コミット部
35 開示部
36 出力部
41 入力部
42 確認部
43 開封部
44 出力部
201 制御部
202 メモリ
203 記憶部
301 制御部
302 メモリ
303 記憶部
401 制御部
402 メモリ
403 記憶部
DESCRIPTION OF SYMBOLS 1 Commitment system 2 Common reference information generation apparatus 3 Commit generation apparatus 4 Commit reception apparatus 5 Network 21 Input part 22 Key generation part 23 Key discard part 24 Disclosure part 31 Input part 32 Random number generation part 33 Encryption part 34 Commit part 35 Disclosure part 36 output unit 41 input unit 42 confirmation unit 43 unsealing unit 44 output unit 201 control unit 202 memory 203 storage unit 301 control unit 302 memory 303 storage unit 401 control unit 402 memory 403 storage unit

Claims (6)

共通参照情報生成装置とコミット生成装置とコミット受信装置とを含むコミットメントシステムであって、
^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Sは{0,1}к×(Zn^d+1)3の集合であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、Wは0以上nd+2/2以下の整数の集合であり、tはкビットのタグであり、
前記共通参照情報生成装置は、
前記単数群Zn^d+1 ×から乱数hを、前記集合Kから乱数k~,k,k1,k2をそれぞれ選択し、値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算し、前記剰余環Zn^dから乱数xを、前記集合Vから乱数ν~をそれぞれ選択し、値u~=hν~、値e~=g-xy~ν~をそれぞれ計算し、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する鍵生成部と、
前記秘密鍵skを廃棄する鍵廃棄部と、
前記公開鍵pkを公開する公開部と、
を含み、
前記コミット生成装置は、
前記タグtと前記公開鍵pkを入力とし、前記集合Wから乱数z~,zを、前記集合Sから乱数υ,e,πをそれぞれ選択し、乱数r:=(z~,z)及びサンプル値u:=(υ,e,π)を出力する乱数生成部と、
平文m∈Zn^dと前記公開鍵pkと前記乱数rと前記タグtと前記サンプル値uとを入力とし、値A=y~z~yz(e~e)m、値a~=hz~u~m、値a=hzυm、値τ=H(pk,t,υ,e)、値b=(y1y2 τ)zπmをそれぞれ計算し、暗号文c=(A,a~,a,b)を出力する暗号化部と、
前記暗号文cと前記タグtと前記サンプル値uとを前記コミット受信装置へ送信するコミット部と、
前記平文mと前記乱数rとを前記コミット受信装置へ送信する開示部と、
を含み、
前記コミット受信装置は、
前記平文mと前記公開鍵pkと前記乱数rと前記タグtと前記サンプル値uと前記暗号文cとを入力とし、値A’=y~z~yz(e~e)m、値a~’=hz~u~m、値a’=hzυm、値τ=H(pk,t,υ,e)、値b’=(y1y2 τ)zπmをそれぞれ計算し、暗号文c’:=(A’,a~’,a’,b’)を生成し、前記暗号文c’と前記暗号文cとが等しいか否かを確認する開封部、
を含むコミットメントシステム。
A commitment system including a common reference information generating device, a commit generating device, and a commit receiving device,
^ Represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, d is an integer greater than or equal to 1, and Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 H is a hash function of {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d and S is {0,1} к × (Z n ^ d +1) is a set of 3, K is the set of integers 0 or n 2/2 or less, V is a set of zero or more n / 2 an integer, W is 0 or n d + 2/2 Is the set of integers below, t is a к bit tag,
The common reference information generation device includes:
The random number h is selected from the singular group Z n ^ d + 1 ×, and the random numbers k ~, k, k 1 , k 2 are selected from the set K, the value y ~ = h k ~ , the value y = h k , the value y 1 = h k_1 , value y 2 = h k_2 are calculated, random number x is selected from the remainder ring Z n ^ d , random number ν ~ is selected from the set V, value u ~ = h ν ~ , value Compute e ~ = g -x y ~ ν ~ respectively, public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret A key generator that outputs a key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x);
A key discarding unit for discarding the secret key sk;
A public part for publishing the public key pk;
Including
The commit generation device includes:
Input the tag t and the public key pk, select random numbers z to z from the set W, select random numbers υ, e, π from the set S, random numbers r: = (z ~, z) and samples A random number generator that outputs the value u: = (υ, e, π);
The plaintext m∈Z n ^ d , the public key pk, the random number r, the tag t, and the sample value u are input, the value A = y ~ z ~ y z (e ~ e) m , the value a ~ = h z ~ u ~ m , value a = h z υ m , value τ = H (pk, t, υ, e), value b = (y 1 y 2 τ ) z π m = Encryption unit that outputs (A, a ~, a, b);
A commit unit that transmits the ciphertext c, the tag t, and the sample value u to the commit receiver;
A disclosure unit that transmits the plaintext m and the random number r to the commit receiver;
Including
The commit receiver
The plaintext m, the public key pk, the random number r, the tag t, the sample value u, and the ciphertext c are input, and the value A ′ = y ~ z ~ yz (e ~ e) m and the value a ~ '= h z ~ u ~ m , value a' = h z υ m , value τ = H (pk, t, υ, e), value b '= (y 1 y 2 τ ) z π m Generating a ciphertext c ': = (A', a ~ ', a', b ') and checking whether the ciphertext c' and the ciphertext c are equal,
Including commitment system.
^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、
前記単数群Zn^d+1 ×から乱数hを、前記集合Kから乱数k~,k,k1,k2をそれぞれ選択し、値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算し、前記剰余環Zn^dから乱数xを、前記集合Vから乱数ν~をそれぞれ選択し、値u~=hν~、値e~=g-xy~ν~をそれぞれ計算し、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する鍵生成部と、
前記秘密鍵skを廃棄する鍵廃棄部と、
前記公開鍵pkを公開する公開部と、
を含む共通参照情報生成装置。
^ Represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, d is an integer greater than or equal to 1, and Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 of a single group, H is a hash function to be {0,1} к × (Z n ^ d + 1) 2 → Z n ^ d, K is 0 or n 2/2 a set of an integer V is a set of integers between 0 and n / 2,
The random number h is selected from the singular group Z n ^ d + 1 ×, and the random numbers k ~, k, k 1 , k 2 are selected from the set K, the value y ~ = h k ~ , the value y = h k , the value y 1 = h k_1 , value y 2 = h k_2 are calculated, random number x is selected from the remainder ring Z n ^ d , random number ν ~ is selected from the set V, value u ~ = h ν ~ , value Compute e ~ = g -x y ~ ν ~ respectively, public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret A key generator that outputs a key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x);
A key discarding unit for discarding the secret key sk;
A public part for publishing the public key pk;
A common reference information generating apparatus.
^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Sは{0,1}к×(Zn^d+1)3の集合であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、Wは0以上nd+2/2以下の整数の集合であり、tはкビットのタグであり、
h∈Zn^d+1 ×であり、k~,k,k1,k2∈Kであり、x∈Zn^dであり、ν~∈Vであり、y~=hk~であり、y=hkであり、y1=hk_1であり、y2=hk_2であり、u~=hν~であり、値e~=g-xy~ν~であり、
前記タグtと公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)を入力とし、前記集合Wから乱数z~,zを、前記集合Sから乱数υ,e,πをそれぞれ選択し、乱数r:=(z~,z)及びサンプル値u:=(υ,e,π)を出力する乱数生成部と、
平文m∈Zn^dと前記公開鍵pkと前記乱数rと前記タグtと前記サンプル値uとを入力とし、値A=y~z~yz(e~e)m、値a~=hz~u~m、値a=hzυm、値τ=H(pk,t,υ,e)、値b=(y1y2 τ)zπmをそれぞれ計算し、暗号文c=(A,a~,a,b)を出力する暗号化部と、
前記暗号文cと前記タグtと前記サンプル値uとを前記コミット受信装置へ送信するコミット部と、
前記平文mと前記乱数rとを前記コミット受信装置へ送信する開示部と、
を含むコミット生成装置。
^ Represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, d is an integer greater than or equal to 1, and Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 H is a hash function of {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d and S is {0,1} к × (Z n ^ d +1) is a set of 3, K is the set of integers 0 or n 2/2 or less, V is a set of zero or more n / 2 an integer, W is 0 or n d + 2/2 Is the set of integers below, t is a к bit tag,
h∈Z n ^ d + 1 × , k ~, k, k 1 , k 2 ∈K, x∈Z n ^ d , ν ~ ∈V, y ~ = h k ~ Yes, y = h k , y 1 = h k_1 , y 2 = h k_2 , u ~ = h ν ~ , value e ~ = g -x y ~ ν ~ ,
The tag t and the public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) are input and random numbers z ~, z from the set W A random number generator for selecting random numbers υ, e, π from the set S and outputting random numbers r: = (z ~, z) and sample values u: = (υ, e, π),
The plaintext m∈Z n ^ d , the public key pk, the random number r, the tag t, and the sample value u are input, the value A = y ~ z ~ y z (e ~ e) m , the value a ~ = h z ~ u ~ m , value a = h z υ m , value τ = H (pk, t, υ, e), value b = (y 1 y 2 τ ) z π m = Encryption unit that outputs (A, a ~, a, b);
A commit unit that transmits the ciphertext c, the tag t, and the sample value u to the commit receiver;
A disclosure unit that transmits the plaintext m and the random number r to the commit receiver;
A commit generator that contains
^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Sは{0,1}к×(Zn^d+1)3の集合であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、Wは0以上nd+2/2以下の整数の集合であり、tはкビットのタグであり、
h∈Zn^d+1 ×であり、k~,k,k1,k2∈Kであり、x∈Zn^dであり、ν~∈Vであり、y~=hk~であり、y=hkであり、y1=hk_1であり、y2=hk_2であり、u~=hν~であり、e~=g-xy~ν~であり、
z~,z∈Wであり、ν∈Vであり、υ,e,π∈Sであり、A=y~z~yz(e~e)mであり、a~=hz~u~mであり、a=hzυmであり、τ=H(pk,t,υ,e)であり、b=(y1y2 τ)zπmであり、
平文m∈Zn^dと公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)と乱数r:=(z~,z)と前記タグtとサンプル値u:=(υ,e,π)と暗号文c=(A,a~,a,b)とを入力とし、値A’=y~z~yz(e~e)m、値a~’=hz~u~m、値a’=hzυm、値τ=H(pk,t,υ,e)、値b’=(y1y2 τ)zπmをそれぞれ計算し、暗号文c’:=(A’,a~’,a’,b’)を生成し、前記暗号文c’と前記暗号文cとが等しいか否かを確認する開封部、
を含むコミット受信装置。
^ Represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, d is an integer greater than or equal to 1, and Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 H is a hash function of {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d and S is {0,1} к × (Z n ^ d +1) is a set of 3, K is the set of integers 0 or n 2/2 or less, V is a set of zero or more n / 2 an integer, W is 0 or n d + 2/2 Is the set of integers below, t is a к bit tag,
h∈Z n ^ d + 1 × , k ~, k, k 1 , k 2 ∈K, x∈Z n ^ d , ν ~ ∈V, y ~ = h k ~ Yes, y = h k , y 1 = h k_1 , y 2 = h k_2 , u ~ = h ν ~ , e ~ = g -x y ~ ν ~ ,
z ~, z∈W, ν∈V, υ, e, π∈S, A = y ~ z ~ y z (e ~ e) m , a ~ = h z ~ u ~ m , a = h z υ m , τ = H (pk, t, υ, e), b = (y 1 y 2 τ ) z π m ,
Plaintext m∈Z n ^ d and public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and random number r: = (z ~, z), the tag t, the sample value u: = (υ, e, π) and the ciphertext c = (A, a ~, a, b) are input, and the value A ′ = y ~ z ~ y z ( e ~ e) m , value a ~ '= h z ~ u ~ m , value a' = h z υ m , value τ = H (pk, t, υ, e), value b '= (y 1 y 2 τ ) z π m is calculated respectively to generate ciphertext c ′: = (A ′, a˜ ′, a ′, b ′), and whether or not the ciphertext c ′ and the ciphertext c are equal To confirm the opening part,
A commit receiver that contains
^はべき乗を表し、кは正の整数のセキュリティパラメータであり、p,qは素数であり、n=pqであり、g=1+nであり、dは1以上の整数であり、Zn^dはndを法とする剰余環であり、Zn^d+1はnd+1を法とする剰余環であり、Zn^d+1 ×は剰余環Zn^d+1の単数群であり、Hは{0,1}к×(Zn^d+1)2→Zn^dとなるハッシュ関数であり、Sは{0,1}к×(Zn^d+1)3の集合であり、Kは0以上n2/2以下の整数の集合であり、Vは0以上n/2以下の整数の集合であり、Wは0以上nd+2/2以下の整数の集合であり、tはкビットのタグであり、
共通参照情報生成装置が、前記単数群Zn^d+1 ×から乱数hを、前記集合Kから乱数k~,k,k1,k2をそれぞれ選択し、値y~=hk~、値y=hk、値y1=hk_1、値y2=hk_2をそれぞれ計算し、前記剰余環Zn^dから乱数xを、前記集合Vから乱数ν~をそれぞれ選択し、値u~=hν~、値e~=g-xy~ν~をそれぞれ計算し、公開鍵pk:=(n,d,H,g,h,y~,y,y1,y2,u~,e~)及び秘密鍵sk:=(pk,k~,k,k1,k2,ν~,x)を出力する鍵生成ステップと、
前記共通参照情報生成装置が、前記秘密鍵skを廃棄する鍵廃棄ステップと、
前記共通参照情報生成装置が、前記公開鍵pkを公開する公開ステップと、
コミット生成装置が、前記タグtと前記公開鍵pkを入力とし、前記集合Wから乱数z~,zを、前記集合Sから乱数υ,e,πをそれぞれ選択し、乱数r:=(z~,z)及びサンプル値u:=(υ,e,π)を出力する乱数生成ステップと、
前記コミット生成装置が、平文m∈Zn^dと前記公開鍵pkと前記乱数rと前記タグtと前記サンプル値uとを入力とし、値A=y~z~yz(e~e)m、値a~=hz~u~m、値a=hzυm、値τ=H(pk,t,υ,e)、値b=(y1y2 τ)zπmをそれぞれ計算し、暗号文c=(A,a~,a,b)を出力する暗号化ステップと、
前記コミット生成装置が、前記暗号文cと前記タグtと前記サンプル値uとをコミット受信装置へ送信するコミットステップと、
前記コミット生成装置が、前記平文mと前記乱数rとを前記コミット受信装置へ送信する開示ステップと、
前記コミット受信装置が、前記平文mと前記公開鍵pkと前記乱数rと前記タグtと前記サンプル値uと前記暗号文cとを入力とし、値A’=y~z~yz(e~e)m、値a~’=hz~u~m、値a’=hzυm、値τ=H(pk,t,υ,e)、値b’=(y1y2 τ)zπmをそれぞれ計算し、暗号文c’:=(A’,a~’,a’,b’)を生成し、前記暗号文c’と前記暗号文cとが等しいか否かを確認する開封ステップと、
を含むコミットメント方法。
^ Represents a power, к is a positive integer security parameter, p and q are prime numbers, n = pq, g = 1 + n, d is an integer greater than or equal to 1, and Z n ^ d is a remainder ring modulo n d , Z n ^ d + 1 is a remainder ring modulo n d + 1 , and Z n ^ d + 1 × is a remainder ring Z n ^ d + 1 H is a hash function of {0,1} к × (Z n ^ d + 1 ) 2 → Z n ^ d and S is {0,1} к × (Z n ^ d +1) is a set of 3, K is the set of integers 0 or n 2/2 or less, V is a set of zero or more n / 2 an integer, W is 0 or n d + 2/2 Is the set of integers below, t is a к bit tag,
The common reference information generating device selects a random number h from the singular group Z n ^ d + 1 × and a random number k ~, k, k 1 , k 2 from the set K, respectively, and values y ~ = h k ~ , A value y = h k , a value y 1 = h k_1 , a value y 2 = h k_2 are calculated, respectively, a random number x is selected from the remainder ring Z n ^ d , a random number ν ~ is selected from the set V, and a value u ~ = h ν ~ , value e ~ = g -x y ~ ν ~ , respectively, and public key pk: = (n, d, H, g, h, y ~, y, y 1 , y 2 , u ~, e ~) and secret key sk: = (pk, k ~, k, k 1 , k 2 , ν ~, x)
A key discarding step in which the common reference information generating device discards the secret key sk;
The public reference information generating device publishing the public key pk,
The commit generation device receives the tag t and the public key pk, selects the random numbers z to and z from the set W, and selects the random numbers υ, e, and π from the set S, and the random number r: = (z to , z) and a sample value u: = (υ, e, π)
The commit generation device receives the plaintext m∈Z n ^ d , the public key pk, the random number r, the tag t, and the sample value u, and the value A = y ~ z ~ yz (e ~ e) m , value a ~ = h z ~ u ~ m , value a = h z υ m , value τ = H (pk, t, υ, e), value b = (y 1 y 2 τ ) z π m An encryption step for calculating and outputting ciphertext c = (A, a ~, a, b);
A commit step in which the commit generation device transmits the ciphertext c, the tag t, and the sample value u to a commit reception device;
A disclosure step in which the commit generation device transmits the plaintext m and the random number r to the commit reception device;
The commit receiver receives the plaintext m, the public key pk, the random number r, the tag t, the sample value u, and the ciphertext c, and a value A ′ = y ~ z ~ y z (e ~ e) m , value a ~ '= h z ~ u ~ m , value a' = h z υ m , value τ = H (pk, t, υ, e), value b '= (y 1 y 2 τ ) z π m is calculated to generate ciphertext c ': = (A', a ~ ', a', b ') and check whether the ciphertext c' and the ciphertext c are equal. An opening step to
Including commitment methods.
請求項2に記載の共通参照情報生成装置もしくは請求項3に記載のコミット生成装置もしくは請求項4に記載のコミット受信装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the common reference information generation device according to claim 2, the commit generation device according to claim 3, or the commit reception device according to claim 4.
JP2013133730A 2013-06-26 2013-06-26 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program Active JP5943880B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013133730A JP5943880B2 (en) 2013-06-26 2013-06-26 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013133730A JP5943880B2 (en) 2013-06-26 2013-06-26 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program

Publications (2)

Publication Number Publication Date
JP2015011048A JP2015011048A (en) 2015-01-19
JP5943880B2 true JP5943880B2 (en) 2016-07-05

Family

ID=52304302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133730A Active JP5943880B2 (en) 2013-06-26 2013-06-26 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program

Country Status (1)

Country Link
JP (1) JP5943880B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006077701A1 (en) * 2005-01-21 2006-07-27 Nec Corporation Signing device, verifying device, certifying device, encrypting device, and decrypting device
WO2008022158A2 (en) * 2006-08-14 2008-02-21 The Regents Of The University Of California System for non-interactive zero-knowledge proofs
JP5448864B2 (en) * 2010-01-18 2014-03-19 日本電信電話株式会社 Commitment system, master device, transmission device, reception device, commitment method, program, recording medium
JP2011253148A (en) * 2010-06-04 2011-12-15 Nippon Telegr & Teleph Corp <Ntt> Commitment system, commitment generation device, commitment acquisition device, commitment generation method, commitment acquisition method, and program
JP5698109B2 (en) * 2011-11-29 2015-04-08 日本電信電話株式会社 Commitment system, commitment generation device, commitment verification device, method and program thereof
JP5863683B2 (en) * 2013-02-04 2016-02-17 日本電信電話株式会社 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program

Also Published As

Publication number Publication date
JP2015011048A (en) 2015-01-19

Similar Documents

Publication Publication Date Title
Ling et al. Group signatures from lattices: simpler, tighter, shorter, ring-based
Sen Homomorphic encryption-theory and application
Katz et al. Constant-round private function evaluation with linear complexity
Liang et al. An adaptively CCA-secure ciphertext-policy attribute-based proxy re-encryption for cloud data sharing
CN110011995A (en) Encryption and decryption approaches and device in multi-casting communication
Chotard et al. Multi-client functional encryption with repetition for inner product
Wang et al. Proxy re-encryption schemes with key privacy from LWE
JP2011147047A (en) Proxy re-encryption system, transmitter, re-encryption key generating device, proxy device, receiver, proxy re-encryption method, programs therefor, and recording medium
Katz et al. Feasibility and infeasibility of adaptively secure fully homomorphic encryption
CN110011782A (en) A kind of full homomorphic encryption algorithm of many-one
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
Kosba et al. C $\emptyset $ C $\emptyset $: A Framework for Building Composable Zero-Knowledge Proofs
JP5730804B2 (en) Encryption device, re-encryption key obfuscation device, re-encryption device, decryption device, and re-encryption system
JP5863683B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program
Hazay et al. One-sided adaptively secure two-party computation
JP6075785B2 (en) Cryptographic communication system, cryptographic communication method, program
JP6563857B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, program
Ahila et al. State of art in homomorphic encryption schemes
Nalwaya et al. A cryptographic approach based on integrating running key in feedback mode of elgamal system
JP5943880B2 (en) Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program
Li et al. Chosen-ciphertext secure multi-use unidirectional attribute-based proxy re-encryptions
JP5755600B2 (en) Commitment system, common reference information generating device, commit generating device, commit receiving device, commitment method
JP5572580B2 (en) Lost communication system, lost communication method, and program
Dharminder et al. Post-Quantum Secure Identity-Based Encryption Scheme using Random Integer Lattices for IoT-enabled AI Applications
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: 20150724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R150 Certificate of patent or registration of utility model

Ref document number: 5943880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150