JP2003216027A - System, method and program for verifying existence of each exponential coefficient of power-residue product of probability disclosure key cryptogram in section - Google Patents

System, method and program for verifying existence of each exponential coefficient of power-residue product of probability disclosure key cryptogram in section

Info

Publication number
JP2003216027A
JP2003216027A JP2002018657A JP2002018657A JP2003216027A JP 2003216027 A JP2003216027 A JP 2003216027A JP 2002018657 A JP2002018657 A JP 2002018657A JP 2002018657 A JP2002018657 A JP 2002018657A JP 2003216027 A JP2003216027 A JP 2003216027A
Authority
JP
Japan
Prior art keywords
value
sequence
product
public key
limit value
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.)
Granted
Application number
JP2002018657A
Other languages
Japanese (ja)
Other versions
JP4103401B2 (en
Inventor
Jun Furukawa
潤 古川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002018657A priority Critical patent/JP4103401B2/en
Publication of JP2003216027A publication Critical patent/JP2003216027A/en
Application granted granted Critical
Publication of JP4103401B2 publication Critical patent/JP4103401B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To verify that the value of each exponential coefficient of a power- residue product of a probability disclosure key cryptogram is present in a specified range while hiding the value of the exponential coefficient. <P>SOLUTION: An input part 201 inputs a probability disclosure key ciphering type disclosure key 205, a variable 206 for determining the upper limit value and lower limit value of a specified section, a cryptogram row 207, an exponential coefficient row 208, and a safe variable 209. An arithmetic processing part 202 generates a power-residue product 221 on the basis of the exponential coefficient row 208 of the cryptogram row 207 and verification sentences 222 to 225 for judging whether the values of respective exponential coefficients exist in the section specified by the variable 206 or not on the verification side without eliminating the difficulty of deciphering the value of the row 208 used for the generation of the product 221. An output part 203 outputs a verification message 204 containing the product 221 and the verification sentences 222 to 225. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、確率公開鍵暗号文
の冪乗剰余積の各指数係数が区間内にあることを各指数
係数の値を隠したまま証明する技術とその検証技術に関
し、特に証明する主体に対しては秘密鍵が秘密にされて
いて、検証する主体が秘密鍵を所持している場合の技術
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for verifying that each exponential coefficient of a modular exponentiation product of a stochastic public key ciphertext is within an interval while hiding the value of each exponential coefficient, and its verification technology. In particular, the present invention relates to a technique in which a private key is kept secret to a proving subject, and a verifying subject possesses the private key.

【0002】[0002]

【従来の技術】従来、特定の値が定められた区間にある
ことを、その値を隠したまま証明する技術について、例
えばファブリーチェブード(Fabrice Boudot)による方式
がある。これは文献「エフィシエント プルーフス ザッ
ト ア コミッテッド ナンバーライズ イン アン インタ
ーバル、アドバンス イン クリプトロジー、プロシーヂ
ング オブ ユーロクリプト2000、エルエヌシーエス
1807、シュプリンガーフェアラーグ、431ページ
から444ページまで、2000年(EfficientProofs t
hat a Committed Number Lies in an Interval、Advanc
e in Cryptology、Proceeding of Eurocrypt'2000、LNC
S1807、Springer-Verlag、pp.431-444、2000)」に開示
されている。この方式を以下、単に従来技術と称す。こ
の従来技術では、与えられた値を、乱数を用いてコミッ
トし、その値が定められた区間内にあることを、その値
を隠したまま証明する。
2. Description of the Related Art Conventionally, as a technique for proving that a specific value is in a predetermined interval while hiding the value, there is, for example, a method by Fabrice Boudot. This is based on the literature “Efficient Proofs That Accompanied Number Rise In An Interval, Advance In Cryptology, Proceeding Of Eurocrypt 2000, LNC S1807, Springer Fairlag, 431-444, 2000.
hat a Committed Number Lies in an Interval, Advanc
e in Cryptology, Proceeding of Eurocrypt'2000, LNC
S1807, Springer-Verlag, pp. 431-444, 2000) ". Hereinafter, this method will be simply referred to as a conventional technique. In this conventional technique, a given value is committed by using a random number, and it is proved that the value is within a defined interval while hiding the value.

【0003】以下に、図面を参照してこの従来の技術の
概略を説明する。図17は、この従来技術における、特
定の数値が定められた区間にあることを、その特定の数
値を隠したまま証明するための証明文を作成する証明文
作成装置の構成を説明するためのブロック図である。
An outline of this conventional technique will be described below with reference to the drawings. FIG. 17 is a diagram for explaining a configuration of a proof sentence creating apparatus that creates a proof sentence for certifying that a specific numerical value is in a predetermined section in the related art while hiding the specific numerical value. It is a block diagram.

【0004】図17においては、証明文の上半分(63
1−1、631−2)を導く過程が点線により省略され
ているが、これは以下に説明する下半分(631−4、
631−5)を導く過程と全く同様にして導くことがで
きる。
In FIG. 17, the upper half (63
1-1, 631-2) is omitted by the dotted line, but this is the lower half (631-4,
It can be derived in exactly the same way as the process of deriving 631-5).

【0005】ここでの「xをコミットする」とは、一方
向性関数にxがと場合により乱数とが入力された結果を
公開することであり、この結果をコミットメントと呼
ぶ。一方向性関数の性質より、xのコミットメントより
xを求めることはできず、また、同じコミットメントを
与えるx以外の入力を求めることも困難となる。
The term "commit x" here means to publish the result of inputting x and possibly a random number into the one-way function, and this result is called commitment. Due to the nature of the one-way function, x cannot be obtained from the commitment of x, and it is difficult to obtain inputs other than x that give the same commitment.

【0006】合成数nを、証明者、検証者のいずれも知
らない(十分に大きな)2つの素数p、qの積であるとす
る。g、hを、乗法群Z* nの要素で、互いを底とする離散
対数のどちらも証明者と検証者は知らないとする。
It is assumed that the composite number n is the product of two (sufficiently large) prime numbers p and q that neither the prover nor the verifier knows. Let g and h be elements of the multiplicative group Z * n , and neither the certifier nor the verifier know the discrete logarithm with bases of each other.

【0007】証明者は、まず図17の611に示される
ように、コメットされる数601(被コミット数)であ
る“x”と、そのコミットメントに用いる乱数602で
ある“r”を用いて、計算した値“g mod n"をx
のコミットメント631−5として算出する。このxの
値が、指定された区間である[a,b]の区間内にあること
を、xを秘密にしたまま証明するための証明文を作成す
る。
First, as shown by 611 in FIG. 17, the prover uses the comet number 601 (committed number) “x” and the random number 602 used for the commitment, “r”, the calculated value "g x h r mod n" the x
Calculated as the commitment 631-5. Create a proof sentence to prove that the value of x is within the specified interval [a, b] while keeping x secret.

【0008】そして図17の612において、被コミッ
ト数のx、指定された区間を定める定数604である下
限値a、上限値bのコミットメントから区間の両端値との
差x-a(613)、b-x(614)のコミットメントを計算す
る。そして図17の615、616において、安全変数
603と定められた区間の大きさから求められる変数T
を用いて、この2つのコミットメントを2T乗し、2T(x-
1)、2T(b-x)のコミットメントを計算する。
Then, in 612 of FIG. 17, the difference xa (613), bx () between the commitment value x, the lower limit value a, which is a constant 604 that defines the specified section, and the upper limit value b and the end values of the section, Calculate the commitment of 614). Then, in 615 and 616 of FIG. 17, the variable T calculated from the size of the section defined as the safety variable 603.
Using, to multiply the two commitments 2 T, 2 T (x-
1) Calculate 2 T (bx) commitment.

【0009】そして、コミットされた各値2T(x-1)、2
T(b-x)を隠したまま(解読困難性を保ったまま)、これ
らの値が−2Tより大きいことをそれぞれ証明する。x,a,
bが整数なので、この証明は、x-a,b-xが正であること、
すなわちxが[a,b]の区間内にあることの証明となる。以
下ではコミットされた数が−2Tより大きいことを、その
数を秘密にしたまま(解読困難性を保ったまま)、検証
者に対して証明する方法について述べる。
Then, each committed value 2 T (x-1), 2
We prove that these values are larger than −2 T , respectively, while keeping T (bx) hidden (while keeping the decipherability). x, a,
Since b is an integer, this proof is that xa, bx is positive,
That is, it proves that x is in the interval [a, b]. In the following, we describe a method to prove to a verifier that the committed number is larger than −2 T , while keeping the number secret (while keeping the decryption difficult).

【0010】以下、この秘密の数(つまり、2T(x-1)、
T(b-x)の一方の値)をXとする。vをXの平方根より小さ
い最大の整数とし、整数zをX-vとして取る。
Hereafter, this secret number (that is, 2 T (x-1),
Let 2 be one value of T (bx) be X. Let v be the largest integer less than the square root of X and the integer z be Xv 2 .

【0011】ここで、v,u,Xをコミットする。検証者
は、これらのコミットメントから、コミットされた各数
がv+u=Xなる関係を満たすことが分かる。
Here, v 2 , u and X are committed. From these commitments, the verifier finds that each committed number satisfies the relationship v 2 + u = X.

【0012】そして、図17の621において、uのコ
ミットメントが、絶対値が2Tより小さい値のコミットメ
ントであることを、uを隠したままで証明するための証
明文631−4を生成する。更に、図17の622にお
いて、vのコミットメントが、平方数のコミットメン
トであることを、vを隠したままで証明するための証明
文631−3を生成する。
Then, in 621 of FIG. 17, a proof sentence 631-4 is generated to prove that the commitment of u is a commitment of which absolute value is smaller than 2 T while h is hidden. Further, in 622 of FIG. 17, a proof sentence 631-3 for proving that the commitment of v 2 is the commitment of a square number while hiding v is generated.

【0013】正である平方数と、絶対値が2Tより小さい
値の和であるXは−2Tより大きくなる。uの絶対値が2T
り小さいことの証明をuの値を隠して行なうためには、u
の絶対値は2Tよりずっと小さい必要がある。そのような
絶対値の小さなuと平方数との和で[a,b]の区間内にある
整数全てが表せるように十分に大きなTを選ぶことによ
りXの値を隠す。また、これらの証明にはコミットメン
トを生成するために使った乱数が必要になる。
[0013] and positive certain squares, X absolute value of the sum of 2 T smaller value is greater than -2 T. To prove that the absolute value of u is less than 2 T by hiding the value of u, u
The absolute value of must be much less than 2 T. Hide the value of X by choosing a sufficiently large T such that the sum of such small absolute values u and the square number can represent all integers in the interval [a, b]. Also, these proofs require the random numbers used to generate the commitment.

【0014】[0014]

【発明が解決しようとする課題】しかしながら、上記し
た従来技術では、定められた区間内にあることを証明で
きる数は、一度の証明で一個だけに限定されるという問
題がある。この問題点の解決が重要となる例を次に挙げ
る。
However, the above-mentioned conventional technique has a problem in that the number of proofs that the proof is within the defined interval is limited to one by one proof. The following is an example in which solving this problem is important.

【0015】[例]例として、アンケート式の個人の性格
の傾向診断サービスを考える。主催者は利用者にアンケ
ートを配り、利用者はそれに回答して主催者に返送し、
主催者は傾向の有無を利用者に返答する。ここで利用者
のプライバシー保護のため、利用者がどの項目に印をつ
けたか主催者に分からないようにしたい。その一方で、
主催者は有効な資料を収集するためにも、各項目に対し
て利用者が選択肢以外の答えを選ぶことを避けたい。ま
た、主催者のノウハウを隠すためや、利用者が結果を意
識してアンケートに答えることがないようにするため、
アンケートの各項目が診断される傾向に正に働くのか或
は負に働くのか利用者に分からないようにしたい。主催
者はアンケートの各質問項目に対応して、1または0をコ
ミットしたもの(g 1hrmod nまたはg0hrmod n)のどちらか
である要素からなる列を利用者に配る。各コミットメン
トが1のコミットメントであるか0のコミットメントであ
るかが対応する質問項目が診断される傾向に正に働くの
か或は負に働くのかを決める。乱数rは各コミットメン
ト毎に異なるものを使い、利用者にコミットメントされ
ている数を分からなくする。利用者は自分の当てはまる
と思われる質問に対応するコミットメントと任意の乱数
r"を選び、それらコミットメントとhr"との積を求め主
催者に返送する。この積はg0+,…,+1hr'+…+r+r"mod
nといった形をしており、判断に正に働く項目の質問を
利用者が選んだ数がコミットされている。ここで、各項
目に対する答えを送る代わりに全ての積を送ることによ
り、利用者がどの項目に印をつけたか主催者に分からな
いようにしている。
[Example] As an example, the personality of a questionnaire-type individual
Think of a trend diagnostic service. The organizer asks the user
And the user responds and sends it back to the organizer,
The organizer responds to the user about the tendency. User here
In order to protect the privacy of
Ketaka I want to keep the organizer from knowing. On the other hand,
In order to collect valid materials, the organizer
I want to prevent users from choosing answers other than the choices. Well
Also, in order to hide the organizer's know-how and the user
So that you don't know and answer the questionnaire
Does each item of the questionnaire have a positive effect on the tendency to be diagnosed?
Wants to make sure that the user does not work negatively. Sponsor
Respondents should enter 1 or 0 for each question item in the questionnaire.
Mitted (g 1hrmod n or g0hreither mod n)
Give the user a column of elements that are. Each commitmen
Is a commitment of 1 or a commitment of 0
Ruka positively affects the tendency of corresponding question items to be diagnosed
Decide whether to work negatively or negatively. Random number r is for each commit
Use different ones for each
I don't know how many. User applies to himself
Commitment and random number corresponding to a question that seems to be
r ", choose those commitments and hr "Lord seeking the product of
Send it back to the organizer. This product is g0 +,…, + 1hr '+ ... + r + r "mod
Ask questions about items that have a positive shape, such as n.
The number selected by the user is committed. Where each term
By sending the whole product instead of sending the answer to the eye
The organizer does not know which item the user has marked.
I am trying to stay.

【0016】[例における問題点]上記アンケートでは、
利用者は特定の項目の答えを重複して答えることができ
る。例えば、最初の質問に対して主催者がコミットした
値g1hrをs個返答の中にいれれば(g1hr)s=gshsrとなるの
で、最初の質問の答えが最終的な判断に大きく寄与して
しまう。このような返答を許すならば、集めたデータの
信頼性は低くなり、主催者にとって価値のないものとな
る場合がある。そこで主催者は、利用者に、全ての質問
に対して一回だけ答えたことを証明させたい。しかも、
各項目ごとに証明するのでは各項目毎の返事が分るの
で、一度に全ての項目に関しての証明を求めたい。この
ような要求には従来技術では、上記問題が存在する故
に、答えることができなかった。
[Problems in Example] In the above questionnaire,
The user can answer the specific item in duplicate. For example, if you put s values g 1 h r committed by the organizer for the first question in the reply, (g 1 h r ) s = g s h sr , so the answer to the first question is the final Will make a big contribution to your decision. If you allow such a reply, the collected data will be less reliable and may be of no value to the organizer. Therefore, the organizer wants the user to prove that all questions have been answered only once. Moreover,
If you prove it for each item, you can get a reply for each item, so I want to request proof for all items at once. In the prior art, such a request could not be answered because of the above problem.

【0017】本発明は、上記問題点に鑑みてなされたも
のであって、その目的は、従来の技術における前記問題
を解決することにより、証明者が与えられた暗号文の列
から、それぞれの要素を規定の範囲内の個数とりだし、
それら全ての積を検証者に送り、証明者はその積の生成
にあったってどの暗号文の個数も、規定の範囲内である
ことを証明する方法、すなわち、確率公開鍵暗号文の冪
乗剰余積の各指数係数が区間内にあることの証明方法
と、検証がこの証明が正しいかを検証する方法と、すな
わち、確率公開鍵暗号文の冪乗剰余積の各指数係数が区
間内にあることの検証方法とを、提供することである。
The present invention has been made in view of the above problems, and an object of the present invention is to solve each of the above problems in the conventional technique so that a certifier can obtain a sequence of cipher texts from each string. Get the number of elements within the specified range,
A method of sending the product of all of them to the verifier, and the prover certifying that the number of any ciphertext in generating the product is within the specified range, that is, the power-of-residue of the probability public key ciphertext. A method of proof that each exponential coefficient of the product is in the interval, and a method of verification that this proof is correct, that is, each exponential coefficient of the modular exponentiation product of the probability public key ciphertext is in the interval. It is to provide a verification method of that.

【0018】[0018]

【課題を解決するための手段】本発明の第1の証明シス
テムは、確率公開鍵暗号方式によって暗号化された確率
公開鍵暗号文の列の指数係数の列による冪乗剰余積の前
記各指数係数の値が、指定された区間内にあることを証
明するための証明文を作成し、かつ前記証明文に基づい
て前記各指数係数の値が前記指定された区間内にあるこ
とを検証する証明システムにおいて、前記確率公開鍵暗
号方式の公開鍵と、前記指定された区間を定める上限値
および下限値と、前記確率公開鍵暗号文の列と、前記指
数係数の列と、正しく検証される確率を規定する安全変
数の値とに基づいて、前記各指数係数の値の解読困難性
を失うことなく前記各指数係数の値が前記指定された区
間内にあるか否かを判定するための前記証明文を作成す
る証明文作成装置と、検証対象の前記冪乗剰余積と、指
定された範囲を定める前記上限値および下限値と、前記
確率公開鍵暗号方式の公開鍵および秘密鍵と、前記安全
変数と、前記確率公開鍵暗号文の列と、前記確率公開鍵
暗号文の列の暗号化に使われた乱数の列と、前記証明文
とに基づいて、前記冪乗剰余積の各指数係数の値が前記
指定された区間内にあるか否かを、前記安全変数で規定
される以上の確率で検証する検証装置とを備えている。
According to a first proof system of the present invention, each exponent of a modular exponentiation product of a sequence of exponential coefficients of a sequence of probabilistic public key cryptograms encrypted by the probabilistic public key cryptosystem. A proof sentence for proving that the value of the coefficient is within the specified interval is created, and it is verified based on the proof sentence that the value of each index coefficient is within the specified interval. In the proof system, the public key of the stochastic public key cryptosystem, the upper limit value and the lower limit value that define the specified section, the sequence of the probability public key ciphertext, and the sequence of the exponential coefficient are correctly verified. Based on the value of the safety variable that defines the probability, for determining whether the value of each exponential coefficient is within the specified interval without losing the decipherability of the value of each exponential coefficient. Certificate statement creating device for creating the certificate statement , The modular exponentiation product to be verified, the upper limit value and the lower limit value defining a specified range, the public key and the secret key of the stochastic public key cryptosystem, the safety variable, and the stochastic public key ciphertext. , A sequence of random numbers used for encryption of the sequence of the probabilistic public key ciphertext, and the proof text, the value of each exponential coefficient of the modular exponentiation product within the specified interval. And a verification device for verifying whether or not there is a probability above the probability defined by the safety variable.

【0019】本発明の第2の証明システムにおいては、
前記証明文作成装置は、前記指数係数の列の各指数係数
の値から前記下限値を減算した列である下限値との差の
列と、前記上限値から前記指数係数の列の各指数係数の
値を減算した列である上限値との差の列とを生成する両
端値との差の列の生成部と、前記下限値との差の列およ
び前記上限値との差の列の各要素の値に安全変数及び区
間を定める値により定められる第1の値を乗じて、拡大
された下限値との差の列と拡大された上限値との差の列
とを生成する拡大部と、前記拡大された下限値との差の
列および前記拡大された上限値との差の列の各要素に対
して、それぞれその値より小さい最大の平方数と、各要
素の値から対応する前記平方数を減算した差の値とを算
出することにより、前記拡大された下限値との差の列お
よび前記拡大された上限値との差の列を、前記平方数の
列と前記差の値の列とに分割する分割部と、前記確率公
開鍵暗号文の列の前記下限値に対応する前記平方数の列
による第1の冪乗剰余積と、前記確率公開鍵暗号文の列
の前記上限値に対応する前記平方数の列による第2の冪
乗剰余積とを求め、前記第1および第2の冪乗剰余積の
指数係数の列が平方数であることと、その平方根が前記
安全変数と区間を定める定数で定められる第2の値を超
えないこととの証明文を生成する平方数の証明部と、前
記確率公開鍵暗号文の列の前記下限値に対応する前記差
の値の列による第3の冪乗剰余積と、前記確率公開鍵暗
号文の列の前記上限値に対応する前記差の値の列による
第4の冪乗剰余積とを求め、前記第3および第4の冪乗
剰余積の各指数係数の値の絶対値が前記第1の値より小
さいことの証明文を生成する絶対値の大きさの証明部と
を含んでいる。
In the second proof system of the present invention,
The proof sentence creating device is a column of a difference between a lower limit value which is a column obtained by subtracting the lower limit value from a value of each exponential coefficient of the exponential coefficient column, and each exponential coefficient of the exponential coefficient column from the upper limit value. Each of the difference column with the lower limit value and the difference column with the upper limit value for generating a difference column with the upper limit value which is a column with the value of An expansion unit that multiplies the element value by a first value determined by a value that defines a safety variable and an interval, and generates a sequence of differences between the expanded lower limit value and a sequence of differences between the expanded upper limit value. , The maximum square number smaller than that value for each element of the difference row with the expanded lower limit value and the difference row with the expanded upper limit value, and the corresponding value from the value of each element. By calculating the difference value by subtracting the square number, the difference column with the expanded lower limit value and the expanded A division unit that divides the sequence of the difference from the upper limit into the sequence of the square numbers and the sequence of the difference values, and the sequence of the square numbers corresponding to the lower limit of the probability public key ciphertext sequence. The first exponentiation remainder product and the second exponentiation remainder product by the sequence of the square numbers corresponding to the upper limit value of the sequence of the probability public key ciphertext are obtained, and the first and second exponentiation products are obtained. A square number proof section that generates a proof statement that the sequence of exponential coefficients of the remainder product is a square number and that the square root does not exceed a second value defined by the safety variable and a constant that defines the interval. , A third exponentiation remainder product by the sequence of the difference values corresponding to the lower limit value of the sequence of the probability public key ciphertext, and the difference corresponding to the upper limit value of the sequence of the probability public key ciphertext. The fourth exponentiation remainder product is obtained from the sequence of values, and the absolute value of the value of each exponential coefficient of the third and fourth exponentiation remainder product is And a size of the proof of the absolute value to generate a proof text that serial smaller than the first value.

【0020】本発明の第3の証明システムでは、前記検
証装置は、前記確率公開鍵暗号文の列の全ての要素の積
に前記下限値を乗じた値を求め、この値で、検証対象の
前記冪乗剰余積を公開鍵である法の元で割り、それを前
記第1の値を使って拡大した値を求め、この値が、前記
第1の冪乗剰余積と前記第3の冪乗剰余積との積に等し
いことを確認し、且つ、前記確率公開鍵暗号文の列の全
ての要素の積に前記上限値を乗じた値を求め、この値
で、検証対象の前記冪乗剰余積を公開鍵である法の元で
割り、それを前記第1の値を使って拡大した値を求め、
この値が、前記第2の冪乗剰余積と前記第4の冪乗剰余
積との積に等しいことを確認し、前記二つの確認ができ
れば分割の検証受理を出力する分割検証部と、前記第1
の冪乗剰余積の各指数係数の値が平方数であることと、
その平方根が前記第2の値を超えないことを検証し、且
つ、前記第2の冪乗剰余積の各指数係数の値が平方数で
あることと、その平方根が前記第2の値を超えないこと
を検証し、前記二つの検証ができれば平方数の検証受理
を出力する平方数の検証部と、前記第3の冪乗剰余積の
各指数係数の値が前記第1の値を超えないことを検証
し、且つ、前記第4の冪乗剰余積の各指数係数の値が前
記第1の値を超えないことを検証し、前記二つの検証が
できれば絶対値の大きさの検証受理を出力する絶対値の
大きさの検証部とを含んでいる。
In the third proof system of the present invention, the verification device obtains a value obtained by multiplying the product of all elements of the sequence of the stochastic public key ciphertext by the lower limit value, and with this value, the verification target The modular exponentiation product is divided by the element of the public key, and a value obtained by expanding the modular exponentiation product by using the first value is obtained. It is confirmed that it is equal to the product of the modular exponentiation, and the product of all the elements of the sequence of the stochastic public key ciphertext is multiplied by the upper limit value to obtain a value, and this value is the power of the verification target. Divide the remainder product by the modulus which is the public key, and obtain the expanded value using the first value,
It is confirmed that this value is equal to the product of the second exponentiation remainder product and the fourth exponentiation remainder product, and if the two confirmations can be made, a division verification unit that outputs verification acceptance of division, and First
The value of each exponential coefficient of the modular exponentiation of is a square number, and
It is verified that the square root does not exceed the second value, and that the value of each exponential coefficient of the second power residue product is a square number, and that the square root exceeds the second value. If the two verifications are possible, the verification unit for the square number that outputs the verification acceptance of the square number and the value of each exponential coefficient of the third power residue product do not exceed the first value. It is verified that the value of each exponential coefficient of the fourth power-residue product does not exceed the first value, and if the two verifications are successful, the verification of the magnitude of the absolute value is accepted. It also includes a verification unit for the magnitude of the absolute value to be output.

【0021】本発明の第4の証明システムでは、前記平
方数の証明部は、前記第1および第2の冪乗剰余積を生
成する暗号化部と、前記下限値に対応する第1の乱数列
と前記上限値に対応する第2の乱数列とを生成する乱数
生成部と、前記下限値に対応する前記平方数の列の各要
素の平方根と前記下限値に対応する第1の乱数列の各要
素と2とを乗じた数列による、前記確率公開鍵暗号文の
列の冪乗剰余積である第5の冪乗剰余積と、前記上限値
に対応する前記平方数の列の各要素の平方根と前記第2
の乱数列の各要素と2とを乗じた数列による、前記確率
公開鍵暗号文の列の冪乗剰余積である第6の冪乗剰余積
とを生成する冪乗剰余積生成部と、前記下限値に対応す
る前記第1の乱数列の各要素の平方の数列による、前記
確率公開鍵暗号文の列の冪乗剰余積である第7の冪乗剰
余積と、前記上限値に対応する前記第2の乱数列の各要
素の平方の数列による、前記確率公開鍵暗号文の列の冪
乗剰余積である第8の冪乗剰余積とを生成する乱数の冪
乗剰余積生成部と、前記公開鍵、前記確率公開鍵暗号文
の列、前記第1、第5および第7の冪乗剰余積を入力に
含むハッシュ関数の出力である下限値に対応する第1の
挑戦値と、前記公開鍵、前記確率公開鍵暗号文の列、前
記第2、第6および第8の冪乗剰余積を入力に含むハッ
シュ関数の出力である上限値に対応する第2の挑戦値と
を生成する挑戦値生成部と、前記下限値に対応する前記
第1の乱数列の各要素と下限値に対応する前記平方数の
列の各要素の平方根と第1の挑戦値の積の列との、和の
列である下限値に対応する第1の応答と、前記上限値に
対応する前記第2の乱数列の各要素と上限値に対応する
前記平方数の列の各要素の平方根と前記第1の挑戦値の
積の列との、和の列である上限値に対応する第2の応答
とを生成する応答生成部と、前記第1の応答の要素全て
が、安全変数と区間の大きさと前記第1の挑戦値より定
められる定数により定められる第1の区間の中にない
か、前記第2の応答の要素全てが、安全変数と区間の大
きさと第2の挑戦値より定められる定数により定められ
る第2の区間の中になければ、平方数の証明を最初から
やり直す大きさ確認部とを含んでいる。
In the fourth proof system of the present invention, the square number proof section includes an encryption section for generating the first and second exponentiation remainders, and a first random number corresponding to the lower limit value. A random number generation unit for generating a sequence and a second random number sequence corresponding to the upper limit value, a square root of each element of the sequence of square numbers corresponding to the lower limit value, and a first random number sequence corresponding to the lower limit value And a fifth exponentiation remainder product, which is the exponentiation remainder product of the sequence of the stochastic public key ciphertext, and each element of the sequence of square numbers corresponding to the upper limit value. Square root of and the second
A modular exponentiation product generating unit for generating a sixth exponentiation modular exponentiation, which is a modular exponentiation modular exponentiation of the sequence of the probability public key ciphertext, by a sequence obtained by multiplying each element of the random number sequence of It corresponds to the upper limit value and the seventh exponentiation remainder product which is the exponentiation remainder product of the sequence of the stochastic public key ciphertext by the square sequence of each element of the first random number sequence corresponding to the lower limit value. A random exponentiation residue product generation unit that generates an exponentiation exponentiation residue product that is an exponentiation exponentiation product of the sequence of the stochastic public key ciphertext by a squared sequence of elements of the second random number sequence; , The public key, the sequence of the probabilistic public key ciphertexts, and a first challenge value corresponding to a lower limit value that is an output of a hash function including the first, fifth, and seventh exponentiation modulo products as inputs, An output of a hash function including the public key, the sequence of the probabilistic public key ciphertext, and the second, sixth, and eighth exponentiation modulo products as inputs. A challenge value generation unit for generating a second challenge value corresponding to an upper limit value, each element of the first random number sequence corresponding to the lower limit value, and each element of the square number sequence corresponding to the lower limit value The first response corresponding to the lower limit, which is the sum column, of the square root of and the product column of the first challenge value, and each element and the upper limit value of the second random number sequence corresponding to the upper limit value. A response generation unit that generates a second response corresponding to an upper limit value that is a sum column of the square root of each element of the corresponding square number column and the product column of the first challenge value; All of the elements of the first response are not within the first interval defined by the safety variable, the size of the interval and the constant determined from the first challenge value, or all of the elements of the second response are safe. If it is not in the second interval defined by the variable, the size of the interval, and the constant determined by the second challenge value, the square number And a size confirmation section to restart the light from the beginning.

【0022】本発明の第5の証明システムでは、前記平
方数の検証部は、前記第1の挑戦値と前記第2の挑戦値
とを生成する挑戦値生成部と、前記第1、第2、第5、
第6、第7、第8の冪乗剰余積それぞれの平文である第
1、第2、第5、第6、第7、第8の平文を前記秘密鍵
により生成する復号部と、前記第1、第2、第5、第
6、第7、第8の冪乗剰余積それぞれを生成するのに用
いた乱数である第1、第2、第5、第6、第7、第8の
乱数を秘密鍵により生成する乱数生成部と、前記第1の
応答の要素全てが前記第1の区間の中にあるかと、前記
第2の応答の要素全てが前記第2の区間の中にあるかと
を確認する大きさ確認部と、前記確率公開鍵暗号文の列
の平文と前記確率公開鍵暗号文の生成に用いられた乱数
とを用いて、前記下限値に対応する前記第1の挑戦値の
2次式と前記第1の応答の2次式を用いた第1の検証式が
成り立つことと、前記上限値に対応する第2の挑戦値の
2次式と前記第2の応答の2次式を用いた第2の検証式が
成り立つことを確認する2次式による検証部とを含んで
いる。
In the fifth proof system of the present invention, the square number verification unit includes a challenge value generation unit that generates the first challenge value and the second challenge value, and the first and second challenge values. , Fifth,
A decryption unit configured to generate first, second, fifth, sixth, seventh, and eighth plaintexts, which are plaintexts of the sixth, seventh, and eighth exponentiation remainder products, by the secret key; and The first, second, fifth, sixth, seventh and eighth random numbers used to generate the first, second, fifth, sixth, seventh and eighth exponentiation remainder products, respectively. A random number generator for generating a random number with a secret key, whether all the elements of the first response are in the first section, and all the elements of the second response are in the second section. The first challenge corresponding to the lower limit is made by using a size confirmation unit for confirming a heel, a plaintext of the sequence of the probability public key ciphertext, and a random number used for generating the probability public key ciphertext. Of value
The first verification equation using the quadratic equation and the quadratic equation of the first response is satisfied, and the second challenge value corresponding to the upper limit value.
It includes a quadratic equation and a quadratic equation verification unit that confirms that a second verification equation using the quadratic equation of the second response holds.

【0023】本発明の第6の証明システムでは、前記絶
対値の大きさの証明部は、第3および第4の冪乗剰余積
を生成する暗号化部と、前記下限値に対応する第3の乱
数列と上限値に対応する第4の乱数列を生成する乱数生
成部と、前記下限値に対応する前記第3の乱数列によ
る、前記確率公開鍵暗号文の列の冪乗剰余積である第9
の冪乗剰余積と、前記上限値に対応する前記第4の乱数
列による、前記確率公開鍵暗号文の列の冪乗剰余積であ
る第10の冪乗剰余積とを生成する冪乗剰余積生成部
と、前記公開鍵、前記確率公開鍵暗号文の列、前記第3
および第9の冪乗剰余積とを入力に含むハッシュ関数の
出力である下限値に対応する第3の挑戦値と、前記公開
鍵、前記確率公開鍵暗号文の列、前記第4および第10
の冪乗剰余積とを入力に含むハッシュ関数の出力である
上限値に対応する第4の挑戦値とを生成する挑戦値生成
部と、下限値に対応する前記第3の乱数列の各要素と下
限値に対応する前記平方数との差の列と下限値に対応す
る前記第3の挑戦値の積の列との、和の列である下限値
に対応する第3の応答と、上限値に対応する前記第4の
乱数列の各要素と前記上限値に対応する前記平方数との
差の列と上限値に対応する前記第4の挑戦値の積の列と
の、和の列である上限値に対応する第4の応答とを生成
する応答生成部と、前記第3の応答の要素全てが、安全
変数と区間の大きさと前記第3の挑戦値より定められる
定数により定められる第3の区間の中にないか、前記第
4の応答の要素全てが、安全変数と区間の大きさと前記
第4の挑戦値より定められる定数により定められる第4
の区間の中になければ、絶対値の大きさの証明処理を最
初からやり直す大きさ確認部とを備えている。
In the sixth proof system of the present invention, the proof part for the magnitude of the absolute value is an encryption part for generating third and fourth power-residue products, and a third part corresponding to the lower limit value. Of random number sequence and a fourth random number sequence corresponding to the upper limit value, and a power-of-residue product of the sequence of the probability public key ciphertext by the third random number sequence corresponding to the lower limit value. There is the ninth
Exponentiation remainder for generating a exponentiation remainder product and a tenth exponentiation remainder product that is the exponentiation remainder product of the sequence of the probability public key ciphertext by the fourth random number sequence corresponding to the upper limit value. A product generator, the public key, a sequence of the probability public key ciphertexts, the third
And a ninth challenge-value corresponding to the lower limit which is the output of the hash function including the ninth exponentiation remainder product, the public key, the sequence of the probabilistic public key ciphertexts, the fourth and tenth values.
And a modular exponentiation product, the fourth challenge value corresponding to the upper limit value being the output of the hash function, and each element of the third random number sequence corresponding to the lower limit value. A third response corresponding to a lower limit value which is a sum column of a column of a difference between the square number corresponding to a lower limit value and a column of a product of the third challenge values corresponding to a lower limit value, and an upper limit A sequence of sums of a sequence of differences between each element of the fourth random number sequence corresponding to a value and the square number corresponding to the upper limit and a sequence of products of the fourth challenge values corresponding to the upper limit And a response generation unit that generates a fourth response corresponding to an upper limit value, and all elements of the third response are defined by a safety variable, a size of the section, and a constant determined from the third challenge value. If it is not in the third interval, or if all the elements of the fourth response are based on the safety variable, the size of the interval, and the fourth challenge value. The defined by a constant is because 4
If it is not within the section of, the size confirmation unit is provided to restart the absolute value size verification process from the beginning.

【0024】本発明の第7の証明システムでは、前記絶
対値の大きさの検証部は、前記第3の挑戦値と前記第4
の挑戦値とを生成する挑戦値生成部と、前記第3、第
4、第9および第10の冪乗剰余積のそれぞれの平文で
ある第3、第4、第9および第10の平文を秘密鍵によ
り生成する復号部と、前記第3、第4、第9、第10の
冪乗剰余積を生成するのに用いられた第3、第4、第9
および第10の乱数を秘密鍵により生成する乱数生成部
と、前記第3の応答の要素全てが前記第3の区間の中に
あるかと、前記第4の応答の要素全てが前記第4の区間
の中にあるかとを確認する大きさ確認部と、下限値に対
応する前記第3の挑戦値の1次式と前記第3の応答の1次
式を用いた第3の検証式が成り立つことと、上限値に対
応する前記第4の挑戦値の1次式と前記第4の応答の1
次式を用いた第4の検証式が成り立つことを確認する1
次式による検証部とを含んでいる。
In the seventh proof system of the present invention, the absolute value magnitude verification unit includes the third challenge value and the fourth challenge value.
And a challenge value generation unit for generating a challenge value and a plain text of each of the third, fourth, ninth and tenth exponentiation remainder products. A decryption unit that generates a secret key and the third, fourth, and ninth units that are used to generate the third, fourth, ninth, and tenth modular exponentiation products.
And a random number generator for generating a tenth random number with a secret key, whether all the elements of the third response are in the third section, and all the elements of the fourth response are the fourth section. And a third verification equation using the linear expression of the third challenge value and the linear expression of the third response, which correspond to the lower limit value. And a linear expression of the fourth challenge value corresponding to the upper limit value and 1 of the fourth response
Confirm that the fourth verification equation using the following equation holds 1
It includes a verification unit according to the following formula.

【0025】[0025]

【発明の実施の形態】図1を参照すると、本発明の確率
公開鍵暗号文の冪乗剰余積の各指数係数が区間内にある
ことの証明システムの一実施の形態は、検証者端末10
1と証明者端末102とで構成され、両者は公衆回線
網、専用回線網あるいはインターネット等のネットワー
ク103を通じて相互に通信可能になっている。
BEST MODE FOR CARRYING OUT THE INVENTION Referring to FIG. 1, an embodiment of a proof system that each exponent coefficient of a modular exponentiation product of a stochastic public key ciphertext of the present invention is in an interval is a verifier terminal 10
1 and a prover terminal 102, both of which can communicate with each other through a public line network, a dedicated line network, or a network 103 such as the Internet.

【0026】証明者端末102は、確率公開鍵暗号文の
冪乗剰余積の各指数係数が区間内にあることを証明する
証明者が使用する端末であり、検証者端末101は、確
率公開鍵暗号文の冪乗剰余積の各指数係数が区間内にあ
ることを検証する検証者が使用する端末である。証明者
端末102としては、パーソナルコンピュータや携帯情
報端末等の情報処理装置で実現することができる。ま
た、検証者端末101としては、パーソナルコンピュー
タやワークステーション等の情報処理装置で実現するこ
とができる。
The prover terminal 102 is a terminal used by the prover who proves that each exponential coefficient of the modular exponentiation of the stochastic public key ciphertext is within the section. The verifier terminal 101 is the probability public key. This terminal is used by the verifier who verifies that each exponential coefficient of the power-of-residue product of the ciphertext is within the section. The prover terminal 102 can be realized by an information processing device such as a personal computer or a mobile information terminal. The verifier terminal 101 can be realized by an information processing device such as a personal computer or a workstation.

【0027】証明者端末102は、確率公開鍵暗号文の
冪乗剰余積の指数係数の列として使用するデータ列を記
憶するデータ記憶手段111と、証明処理に必要な情報
として検証者端末101から公開された情報を記憶して
おく公開情報記憶手段112と、この公開情報記憶手段
112に記憶された公開情報とデータ記憶手段111に
記憶されたデータとから、冪乗剰余積の形式を有する確
率公開鍵暗号文であってその指数係数の列としてデータ
記憶手段111に記憶されたデータ列を用いた確率公開
鍵暗号文と、この確率公開鍵暗号文の冪乗剰余積の各指
数係数の値が指定された区間にあることの証明文とを生
成して、ネットワーク103経由で検証者端末101へ
送信する証明文作成装置113と、ネットワーク103
経由で検証者端末101から送られてくる処理結果を受
信する処理結果受信装置114と、利用者からの指示や
データを入力するキーボード等の入力装置および検証者
端末101からの応答内容などの表示や出力を行う出力
装置を備える出力装置115とを含んで構成される。
The prover terminal 102 stores, from the verifier terminal 101, data storage means 111 for storing a data string to be used as a string of exponential coefficients of the power-of-residue product of the probability public key ciphertext, and information necessary for the proof process. Probability of having the form of a modular exponentiation from the public information storage unit 112 that stores the public information, and the public information stored in the public information storage unit 112 and the data stored in the data storage unit 111. Probability public key ciphertext that is a public key ciphertext and uses the data string stored in the data storage unit 111 as the exponential coefficient string, and the value of each exponential coefficient of the modular exponentiation of this probability public key ciphertext And a proof sentence creating apparatus 113 for generating a proof sentence indicating that is in the designated section and transmitting it to the verifier terminal 101 via the network 103, and the network 103.
Display of the processing result receiving device 114 for receiving the processing result sent from the verifier terminal 101, the input device such as the keyboard for inputting the instruction and the data from the user, and the response content from the verifier terminal 101. And an output device 115 provided with an output device for performing output.

【0028】検証者端末101は、システムの運用に先
立って証明および検証に必要となる各種の情報を生成
し、そのうち公開すべき情報は公開情報として証明者端
末102に公開し、秘密情報は公開情報と共に検証者端
末101側に保存する情報設定公開手段121と、この
情報設定公開手段121で生成された秘密情報および公
開情報を記憶しておく情報記憶手段122と、冪乗剰余
積の形式を有する確率公開鍵暗号文とこの確率公開鍵暗
号文の冪乗剰余積の各指数係数の値が指定された区間に
あることの証明文とを証明者端末102から受信し、そ
の証明文と情報記憶手段122に記憶されている情報と
に基づいて、受信した確率公開鍵暗号文の冪乗剰余積の
各指数係数の値が指定された区間にあることを検証する
検証装置123と、この検証装置123で検証された確
率公開鍵暗号文を復号して得た平文の内容に基づいて所
定の処理を実行し、その結果をネットワーク103経由
で証明者端末102へ通知する処理装置124とを含ん
で構成される。
The verifier terminal 101 generates various kinds of information required for certification and verification prior to the operation of the system, among which information to be disclosed is disclosed to the verifier terminal 102 as public information, and secret information is disclosed. The information setting disclosure means 121 to be stored together with the information on the verifier terminal 101 side, the information storage means 122 for storing the secret information and the disclosure information generated by the information setting disclosure means 121, and the form of the modular exponentiation The probabilistic public key ciphertext that it has and the proof text that the value of each exponential coefficient of the power-of-residue product of this probabilistic public key ciphertext is in the specified section are received from the prover terminal 102, and the proof text and information A verification device 123 for verifying that the value of each exponential coefficient of the exponentiation modular exponentiation of the received probability public key ciphertext is in the specified section based on the information stored in the storage means 122; A processing device 124 that executes a predetermined process based on the content of the plaintext obtained by decrypting the probability public key cryptogram verified by the verification device 123, and notifies the prover terminal 102 of the result via the network 103. It is configured to include.

【0029】記録媒体151、記録媒体152は、磁気
ディスク装置、半導体メモリ、CD−ROM等のコンピ
ュータ可読記録媒体であり、それぞれ検証者端末用プロ
グラム、証明者端末用プログラムが記録されている。記
録媒体151に記録された検証者端末用プログラムは、
検証者端末101を構成するコンピュータに読み取ら
れ、そのコンピュータの動作を制御することにより、そ
のコンピュータ上に検証装置123および処理装置12
4を実現する。また、記録媒体152に記録された証明
者端末用プログラムは、証明者端末102を構成するコ
ンピュータに読み取られ、そのコンピュータの動作を制
御することにより、そのコンピュータ上に証明文作成装
置113および処理結果受信装置114を実現する。
The recording medium 151 and the recording medium 152 are computer-readable recording media such as a magnetic disk device, a semiconductor memory, and a CD-ROM, in which a verifier terminal program and a prover terminal program are recorded, respectively. The verifier terminal program recorded in the recording medium 151 is
By being read by the computer that constitutes the verifier terminal 101 and controlling the operation of the computer, the verifying device 123 and the processing device 12 are installed on the computer.
4 is realized. Further, the certifier terminal program recorded in the recording medium 152 is read by a computer that constitutes the certifier terminal 102, and the operation of the computer is controlled, so that the certifying sentence creating apparatus 113 and the processing result are executed on the computer. The receiver 114 is realized.

【0030】次に図2のフローチャートを参照して本実
施の形態の動作を説明する。
Next, the operation of this embodiment will be described with reference to the flowchart of FIG.

【0031】システムの運用に先立ち、検証者端末10
1の情報設定公開手段121は、証明と検証に必要な所
定の公開情報と秘密情報とを生成し、公開情報はネット
ワーク103経由で証明者端末102に公開し、秘密情
報は公開情報と共に情報記憶手段122に保存する(ス
テップS101)。証明者端末102は、公開情報を受
信し、公開情報記憶手段112に保存する(ステップS
201)。証明者端末102の証明文作成装置113は
公開情報記憶手段112に記憶された公開情報を使って
証明文の作成処理を実行し、検証者端末101の検証装
置123は情報記憶手段122に記憶された公開情報お
よび秘密情報を使って検証処理を実行する。図2のステ
ップS202〜S204、S102〜S106は、1つ
の証明文を証明者端末102から検証者端末101へ送
出した際の処理の流れを示している。証明者端末102
における証明文の作成は、例えば利用者が入出力装置1
15からデータ記憶手段111中のデータ列を指定して
作成を指示したときに開始される。
Prior to the operation of the system, the verifier terminal 10
The information setting publicizing means 121 of No. 1 generates predetermined public information and secret information required for certification and verification, discloses the public information to the prover terminal 102 via the network 103, and stores the secret information together with the public information in the information storage. It is stored in the means 122 (step S101). The prover terminal 102 receives the public information and stores it in the public information storage unit 112 (step S).
201). The certification sentence creating apparatus 113 of the prover terminal 102 executes the certification sentence creating process using the public information stored in the public information storage unit 112, and the verification apparatus 123 of the verifier terminal 101 is stored in the information storage unit 122. The verification process is performed using the public information and the confidential information that have been obtained. Steps S202 to S204 and S102 to S106 in FIG. 2 show the flow of processing when one proof sentence is sent from the prover terminal 102 to the verifier terminal 101. Prover terminal 102
For example, the user creates the proof sentence in
The process is started when the data string in the data storage unit 111 is designated from 15 and creation is instructed.

【0032】先ず、証明者端末102の証明文作成装置
113は、冪乗剰余積の形式を有し指数係数の列として
データ記憶手段111に記憶されたデータ列を用いた確
率公開鍵暗号文を生成する(ステップS202)。次
に、この生成した確率公開鍵暗号文の冪乗剰余積の各指
数係数の値が指定された区間にあることの証明文を生成
する(ステップS203)。具体的には、確率公開鍵暗
号方式の公開鍵と、指定された区間を定める上限値およ
び下限値と、確率公開鍵暗号文の列と、指数係数の列
と、正しく検証される確率を規定する安全変数の値など
に基づいて、各指数係数の値の解読困難性を失うことな
く各指数係数の値が指定された区間内にあるか否かを判
定するための証明文を作成する。そして、生成した確率
公開鍵暗号文と証明文とをネットワーク103経由で検
証者端末101へ送信する(ステップS204)。
First, the proof text creating device 113 of the prover terminal 102 generates a probability public key cipher text using a data string stored in the data storage means 111 as a string of exponentiation modulo products. It is generated (step S202). Next, a proof statement that the value of each exponential coefficient of the power-of-residue product of the generated probability public key ciphertext is in the specified section is generated (step S203). Specifically, it defines the public key of the stochastic public key cryptosystem, the upper and lower limits that define the specified section, the sequence of the probability public key ciphertext, the sequence of exponential coefficients, and the probability of correct verification. A proof sentence for determining whether or not the value of each exponential coefficient is within the specified section without losing the decipherability of the value of each exponential coefficient is created based on the value of the safety variable. Then, the generated probability public key ciphertext and prooftext are transmitted to the verifier terminal 101 via the network 103 (step S204).

【0033】証明者端末101の検証装置123は、証
明者端末102から確率公開鍵暗号文と証明文とを受信
すると(ステップS102)、受信した証明文と情報記
憶手段122に記憶されている公開情報および秘密情報
とに基づいて、受信した確率公開鍵暗号文の冪乗剰余積
の各指数係数の値が指定された区間にあることを前記安
全変数で規定される以上の確率で検証する(ステップS
103)。そして、正当性が検証された場合(ステップ
S104でYES)、処理装置124は、確率公開鍵暗
号文を復号して得た平文の内容に基づいて所定の処理を
実行し、その結果をネットワーク103経由で証明者端
末102へ通知する(ステップS105)。他方、検証
装置123において正当性が検証されなかった場合、処
理装置124は、証明者端末102が今回送信してきた
確率公開鍵暗号文に基づく処理の依頼を拒否するメッセ
ージをネットワーク103経由で証明者端末102へ通
知する(ステップS106)。
When the verification device 123 of the prover terminal 101 receives the probabilistic public key cryptogram and the prooftext from the certifier terminal 102 (step S102), the received prooftext and the disclosure stored in the information storage means 122. Based on the information and the secret information, verify that the value of each exponential coefficient of the exponentiation modular exponentiation of the received probability public key ciphertext is in the specified section with a probability higher than that specified by the safety variable ( Step S
103). Then, when the validity is verified (YES in step S104), the processing device 124 executes a predetermined process based on the content of the plaintext obtained by decrypting the probability public key ciphertext, and the result thereof is obtained by the network 103. The certifier terminal 102 is notified via this (step S105). On the other hand, when the authenticity is not verified by the verification device 123, the processing device 124 sends a message rejecting the request for the processing based on the probability public key ciphertext transmitted by the prover terminal 102 this time via the network 103. The terminal 102 is notified (step S106).

【0034】証明者端末102の処理結果受信装置11
4は、検証者端末101から送信されてきた処理結果ま
たは拒否メッセージを受信し、入出力装置115に出力
する(ステップS205)。
Processing result receiver 11 of prover terminal 102
4 receives the processing result or the rejection message transmitted from the verifier terminal 101, and outputs it to the input / output device 115 (step S205).

【0035】このように本実施の形態における証明文作
成装置113は、冪乗剰余積の形式を有する確率公開鍵
暗号文であってその指数係数の列としてデータ記憶手段
111に記憶されたデータ列を用いた確率公開鍵暗号文
を生成し、この確率公開鍵暗号文の冪乗剰余積の各指数
係数の値が指定された区間にあることを指数係数の値を
隠したまま証明する証明文を添えて検証者端末101へ
送信する。従って、一度に複数のデータ(データ列を構
成する複数の要素)に対する証明を行うことが可能とな
る。
As described above, the proof text creating apparatus 113 according to the present embodiment is a probability public key cipher text having the form of a modular exponentiation and is a data string stored in the data storage means 111 as a string of its exponential coefficient. Probabilistic public key ciphertext using is generated, and the proof sentence that proves that the value of each exponential coefficient of the modular exponentiation product of this probabilistic public key ciphertext is in the specified interval while hiding the exponential coefficient value. And sends it to the verifier terminal 101. Therefore, it is possible to certify a plurality of data (a plurality of elements forming a data string) at one time.

【0036】本実施の形態の証明システムの具体的な利
用例としては各種考えられる。例えば「発明が解決しよ
うとする課題」の欄で説明したアンケート式の個人の性
格の傾向診断サービスもその一利用例である。この場
合、データ記憶手段111に記憶されるデータ列は、ア
ンケートの質問に対する利用者の回答に対応し、処理装
置124の処理は個人の性格の傾向を診断する処理とな
る。
Various concrete examples of the use of the certification system of this embodiment are conceivable. For example, the questionnaire type personal character tendency diagnosis service described in the section “Problems to be solved by the invention” is one example of its use. In this case, the data string stored in the data storage unit 111 corresponds to the user's answer to the question in the questionnaire, and the processing of the processing device 124 is the processing of diagnosing the tendency of the personality of the individual.

【0037】次に、本実施の形態の証明システムで使わ
れる証明文作成装置と検証装置の実施の形態について詳
細に説明する。
Next, the embodiments of the proof sentence creating apparatus and the verification apparatus used in the proof system of the present embodiment will be described in detail.

【0038】(1)証明文作成装置の実施の形態 まず、確率公開鍵暗号文の冪乗剰余積の各指数係数が指
定された区間内にあることを証明する証明文作成装置の
実施の形態について説明する。
(1) Embodiment of Proof Text Creating Apparatus First, embodiment of proof text creating apparatus for certifying that each exponential coefficient of the modular exponentiation product of a stochastic public key cryptogram falls within a specified section. Will be described.

【0039】図3は確率公開鍵暗号文の冪乗剰余積の各
指数係数が指定された区間内にあることを証明する証明
文を作成する証明文作成装置の一例を示すブロック図で
あり、図4と図5と図6はこの証明文作成装置による証
明文の作成処理を説明するためのフローチャートであ
る。
FIG. 3 is a block diagram showing an example of a proof sentence creating apparatus for creating a proof sentence that proves that each exponential coefficient of the power-of-residue product of a stochastic public key cryptogram is within a specified section. FIG. 4, FIG. 5, and FIG. 6 are flowcharts for explaining the proof sentence creation processing by this proof sentence creation apparatus.

【0040】本実施の形態の確率公開鍵暗号文の冪乗剰
余積の各指数係数が指定された区間内にあることの証明
方法は、秘密鍵により平文と暗号化に用いられた乱数と
の両方を求めることのできる確率公開鍵暗号方式による
暗号文を用いる。また以下、暗号化する平文は数値デー
タであり、またこれを暗号化した暗号文もまた数値デー
タを成すものとして説明する。
The method of proof that each exponent coefficient of the modular exponentiation product of the stochastic public key cryptogram of the present embodiment is within the specified interval is defined by the secret key between the plaintext and the random number used for encryption. A ciphertext based on a probability public key cryptosystem that can obtain both is used. In the following description, the plaintext to be encrypted is numerical data, and the ciphertext obtained by encrypting this is also numerical data.

【0041】図3を参照すると、本実施の形態の証明文
作成装置は、証明文の作成に用いる各種データを人力す
るための入力部201と、入力されたデータに基づき演
算を行ない証明文を作成する演算処理部202と、作成
された証明文204を出力する出力部203を備えてい
る。本実施の形態における証明文204は、証明対象で
ある冪乗剰余積221と、平方数の証明文223、22
5と、絶対値の大きさの証明文222、224とから構
成されている。
Referring to FIG. 3, the proof text creating apparatus according to the present embodiment has an input unit 201 for manually inputting various data used for creating a proof text, and an operation based on the input data to perform a proof text. The calculation processing unit 202 to be created and the output unit 203 to output the created proof sentence 204 are provided. The proof sentence 204 according to the present embodiment is the proof sentence 223, 22 of the exponentiation remainder product 221 and the square number which are the proof objects.
5 and proof sentences 222 and 224 having the magnitude of the absolute value.

【0042】また、演算処理部202は、冪乗剰余積生
成部211と証明文生成部212とを備え、証明文生成
部212は、両端値との差の列の生成部231と、拡大
部232と、分解部233と、平方数の証明部234
と、絶対値の大きさの証明部235とを含んでいる。更
に、平方数の証明部234は、暗号化部241と、冪乗
剰余積生成部242と、乱数の冪乗剰余積生成部243
と、挑戦値生成部244と、応答生成部245と、大き
さ確認部246と、乱数生成部247とを有している。
また、絶対値の大きさの証明部235は、暗号化部25
1と、冪乗剰余積生成部252と、挑戦値生成部253
と、応答生成部254と、大きさ確認部255と、乱数
生成部256とを有している。
Further, the arithmetic processing unit 202 includes an exponentiation remainder product generating unit 211 and a proof sentence generating unit 212. The proof sentence generating unit 212 includes a generating unit 231 for a sequence of differences between both end values and an expanding unit. 232, a decomposition unit 233, and a square number proof unit 234.
And a proof section 235 of the magnitude of the absolute value. Further, the square number proof unit 234 includes an encryption unit 241, a power exponentiation surplus product generation unit 242, and a random power exponentiation surplus product generation unit 243.
It has a challenge value generation unit 244, a response generation unit 245, a size confirmation unit 246, and a random number generation unit 247.
In addition, the absolute value proving unit 235 is
1, a modular exponentiation product generation unit 252, and a challenge value generation unit 253
And a response generation unit 254, a size confirmation unit 255, and a random number generation unit 256.

【0043】図4を参照すると、本実施の形態の証明文
の作成処理では、まず入力部201が証明に必要な各種
の情報として、確率公開鍵暗号方式の公開鍵205であ
るn、gと、指定された区間を定める変数206である
上限値aおよび下限値bと、確率公開鍵暗号文の列20
7であるe(i=1、…、m)と、指数係数の列20
8であるw(i=1、…、m)と、正しく検証される
確率を規定する安全変数209とを入力する(ステップ
S301)。
Referring to FIG. 4, in the proof sentence creation processing of this embodiment, first, the input unit 201 outputs n and g, which are public keys 205 of the stochastic public key cryptosystem, as various information necessary for proof. , The upper limit value a and the lower limit value b, which are variables 206 that define the specified section, and the sequence 20 of the probability public key ciphertext.
E i (i = 1, ..., M) that is 7 and the index coefficient column 20
8 and w i (i = 1, ..., M) and the safety variable 209 that defines the probability of correct verification are input (step S301).

【0044】次いで、演算処理部202の冪乗剰余積生
成部211が、確率公開鍵暗号方式の公開鍵205と確
率公開鍵暗号文の列207と指数係数の列208とか
ら、確率公開鍵暗号文の列207の指数係数の列208
による冪乗剰余積e=Πi=1 me^{wi}mod n2を証明対象
の冪乗剰余積221として生成する(ステップS30
2)。次に、証明文生成部212が、証明対象の冪乗剰
余積の各指数係数の値が区間を定める変数206で指定
された区間内にあることを証明するための証明文222
〜225を作成する(ステップS303)。そして、出
力部203が、証明対象の冪乗剰余積221と証明文2
22〜225とを含む証明文204を出力する(ステッ
プS304)。
Next, the modular exponentiation product generation unit 211 of the arithmetic processing unit 202 uses the probability public key encryption method public key 205, the probability public key ciphertext column 207, and the exponential coefficient column 208 to calculate the probability public key encryption. Exponential coefficient column 208 of sentence column 207
Produced as modular exponentiation product e = Π i = 1 m e ^ {w i} mod n 2 of the certification target modular exponentiation product 221 by (step S30
2). Next, the proof statement generation unit 212 proves that the value of each exponential coefficient of the power-and-residue product of the proof is within the interval specified by the variable 206 that defines the interval.
To 225 are created (step S303). Then, the output unit 203 outputs the exponentiation remainder product 221 and the proof sentence 2 of the proof object.
The proof sentence 204 including 22 to 225 is output (step S304).

【0045】なお、本実施の形態では、証明対象の冪乗
剰余積221を証明文作成装置で生成しているが、証明
対象の冪乗剰余積が別の部分で作成される場合には生成
する必要はない。また、本実施の形態では、証明文20
4に証明対象の冪乗剰余積221を含めたが、必ずしも
含める必要はない。
In the present embodiment, the proof sentence exponentiation residual product 221 is generated by the proof sentence creating device. However, when the proof subject exponentiation residual product is created in another part, it is generated. do not have to. In addition, in the present embodiment, the proof sentence 20
Although 4 has included the power-of-residue product 221 to be proved, it does not necessarily have to be included.

【0046】証明文生成部212が証明文を生成するス
テップS303の詳細は、図4のステップS303内に
示されている。
Details of step S303 in which the proof sentence generation unit 212 generates a proof sentence are shown in step S303 of FIG.

【0047】図4のステップS303内のフローチャー
トを参照すると、先ず両端値との差の列の生成部231
が、指数係数の列208と区間を定める変数206が示
す下限値aとの差の列wi-a;(i=1、…、m)と、指数係数の
列208と区間の上限値bとの差の列b-wi;(i=1、…、m)
とを生成する(ステップS311)。
Referring to the flow chart in step S303 of FIG. 4, first, the generation unit 231 of the sequence of the difference between the both end values
Is a sequence w i -a; (i = 1, ..., M) of the difference between the index coefficient column 208 and the lower limit value a indicated by the variable 206 defining the section, and the index coefficient column 208 and the section upper limit value b. Sequence of difference with bw i ; (i = 1, ..., m)
And are generated (step S311).

【0048】次に拡大部232が、これらの差の列に安
全変数209及び区間を定める値a、bにより定められる
値Uを乗じて、拡大された下限値との差の列U(wi-a)と、
拡大された上限値との差の列U(b-wi)とを生成する(ス
テップS312)。
Next, the expansion unit 232 multiplies these difference columns by the value U defined by the safety variable 209 and the values a and b that define the interval, and outputs the difference column U (w i ) with the expanded lower limit value. -a),
A sequence U (bw i ) of the difference from the expanded upper limit value is generated (step S312).

【0049】次に分解部233が、この拡大された差の
列それぞれに対して、それぞれその値より小さい最大の
平方数の列w[i1]2、w'[i1]2;(i=1、…、m)をそれぞれ求
め、下記のような拡大された差の列それぞれと、それぞ
れに対応する平方数との差の列をそれぞれ求める(ステ
ップS313)。 w[i2]=U(wi-a)-w[i1]2、w'[i2]=U(b-wi)-w'[i1]2;(i=
1、…、m)
Next, the decomposing unit 233 outputs, for each of the expanded difference columns, a maximum square number sequence w [i1] 2 , w '[i1] 2 ; (i = 1, which is smaller than that value. , M) are obtained, and the difference columns between the respective expanded difference columns and the corresponding square numbers are obtained (step S313). w [i2] = U (w i -a) -w [i1] 2 , w '[i2] = U (bw i ) -w' [i1] 2 ; (i =
1, ..., m)

【0050】次に平方数の証明部234が、確率公開鍵
暗号文の列eiの下限値aに対応する平方数の列w[i1]2
よる冪乗剰余積e[1]=Πi=1 mei^{w[i1]2}modn2と、確率
公開鍵暗号文の列eiの上限値bに対応する平方数の列w'
[i1]2による冪乗剰余積e'[1]=Πi=1 mei^{w'[i1]2}modn2
を求め、両冪乗剰余積e[1]、e'[1]を生成した係数w[i1]
2、w'[i1]2;(i=1、…、m)が平方数であることと、その
平方根w[i1]、w'[i1]が安全変数と区間を定める定数で
定められる値Vを超えないこととの、平方数の証明文2
23、225を生成する(ステップS314)。上記の
冪乗剰余積e[1]は、平方数の証明文223の1要素にな
り、上記の冪乗剰余積e'[1]は、平方数の証明文225
の1要素となる。
[0050] Next squares certification unit 234, modular exponentiation product e [1] by squares column w [i1] 2 corresponding to the lower limit value a column e i of the probability public key cipher text = [pi i = 1 m e i ^ {w [i1] 2 } modn 2 and the square number sequence w'corresponding to the upper limit b of the sequence e i of the probability public key ciphertext
Exponentiation remainder product by [i1] 2 e '[1] = Π i = 1 m e i ^ {w' [i1] 2 } modn 2
Is calculated, and the coefficient w [i1] that generated both powers of remainders e [1] and e '[1]
2 , w '[i1] 2 ; (i = 1, ..., m) is a square number, and its square root w [i1], w' [i1] is a value defined by a safety variable and a constant that determines the interval. Proof of square number 2 with not exceeding V 2
23 and 225 are generated (step S314). The above exponentiation remainder product e [1] becomes one element of the square number proof sentence 223, and the above exponentiation remainder product e ′ [1] becomes the square number proof sentence 225.
It becomes one element of.

【0051】次に絶対値の大きさの証明部235が、確
率公開鍵暗号文の列eiの下限値aに対応する平方数との
差の列w[i2]による冪乗剰余積e[2]=Πi=1 mei^{w[i2]}mo
dn2と、確率公開鍵暗号文の列eiの上限値bに対応する
平方数との差の列w'[i2]による冪乗剰余積e'[2]=Πi=1 m
ei^{w'[i2]}modn2とを求め、両冪乗剰余積e[2]、e['[2]
を生成した係数w[i2]、w'[i2];(i=1、…、m)の絶対値
が、安全変数209と区間の広さから定められる定数U
より小さいことの、絶対値の大きさの証明文222、2
24を生成する(ステップS315)。上記の冪乗剰余
積e[2]は、絶対値の大きさの証明文222の1要素にな
り、上記の冪乗剰余積e'[2]は、絶対値の大きさの証明
文224の1要素になる。
Next, the proof part 235 of the magnitude of the absolute value causes the modular exponentiation product e [by the sequence w [i2] of the difference from the square number corresponding to the lower limit value a of the sequence e i of the probability public key ciphertext. 2] = Π i = 1 m e i ^ {w [i2]} mo
The exponentiation remainder product e '[2] = Π i = 1 m by the sequence w' [i2] of the difference between dn 2 and the square number corresponding to the upper limit b of the sequence e i of the stochastic public key ciphertext
e i ^ {w '[i2]} modn 2 is obtained, and both powers modular exponentiation e [2], e [' [2]
The absolute value of the coefficients w [i2], w '[i2]; (i = 1, ..., M) that generated the constant U determined by the safety variable 209 and the width of the section.
Proof sentence 222, 2 of magnitude of absolute value of being smaller
24 is generated (step S315). The above modular exponentiation product e [2] becomes one element of the proof sentence 222 of the magnitude of the absolute value, and the above modular exponentiation product e '[2] of the proof sentence 224 of the absolute value is It becomes one element.

【0052】平方数の証明ステップであるステップS3
14の詳細を図5のフローチャートを参照して説明す
る。
Step S3 which is a proof step of the square number
Details of 14 will be described with reference to the flowchart of FIG.

【0053】先ず暗号化部241が、暗号文でもある前
記冪乗剰余積e[1]とe'[1]を生成する(ステップS40
1)。
First, the encryption section 241 generates the above-mentioned modular exponentiation products e [1] and e '[1] which are also ciphertexts (step S40).
1).

【0054】次に乱数生成部247が、下限値aに対応
する乱数列v[i1];(i=1、…、m)と上限値bに対応する乱
数列v'[i1]を生成し、冪乗剰余積生成部242が、下限
値aに対応する前記平方数の列の各要素の平方根w[i1]
と前記乱数列v[i1]の各要素と2とを乗じた数列2v[i1]w
[i1];(i=1、…、m)による、前記暗号文の列eiの冪乗剰
余積e[11]=Πi=1 mei^{2v[i1]w[i1]}modn2と、上限値b
に対応する前記平方数の列の各要素の平方根w'[i1]と前
記乱数列v'[i1]の各要素と2とを乗じた数列2v'[i1]w'[i
1];(i=1、…、m)による、前記暗号文の列eiの冪乗剰余
積e'[11]=Πi=1 mei^{2v'[i1]w'[i1]}modn2とを生成する
(ステップS402)。ここで生成した冪乗剰余積e[1
1]は、平方数の証明文223の1要素になり、冪乗剰余
積e'[12]は、平方数の証明文225の1要素になる。
Next, the random number generator 247 generates a random number sequence v [i1]; (i = 1, ..., M) corresponding to the lower limit value a and a random number sequence v '[i1] corresponding to the upper limit value b. , The modular exponentiation generator 242 causes the square root w [i1] of each element of the sequence of square numbers corresponding to the lower limit value a.
And a sequence 2v [i1] w obtained by multiplying each element of the random number sequence v [i1] by 2
[i1]; (i = 1, ..., m), the modular exponentiation product e [11] = Π i = 1 m e i ^ {2v [i1] w [i1]} of the ciphertext sequence e i modn 2 and upper limit b
The square root w '[i1] of each element of the sequence of square numbers corresponding to and each element of the random number sequence v' [i1] is multiplied by 2 to obtain a sequence 2v '[i1] w' [i
1]; (i = 1, ..., M), the power-residue product e ′ [11] = Π i = 1 m e i ^ {2v '[i1] w' [i1 of the sequence e i of the ciphertext ]} modn 2 is generated (step S402). The modular exponentiation product e [1 generated here
1] becomes one element of the proof sentence 223 of square number, and the modular exponentiation e '[12] becomes one element of the proof sentence 225 of square number.

【0055】次に乱数の冪乗剰余積生成部243が、下
限値aに対応する前記乱数列v[i1]の各要素の平方の数
列v[i1]2;(i=1、…、m)による、前記暗号文の列eiの冪
乗剰余積e[12]=Πi=1 mei^{v[i1]2}modn2と、上限値bに
対応する前記乱数列v'[i1]の各要素の平方の数列v'[i1]
2;(i=1、…、m)による、前記暗号文の列eiの冪乗剰余積
e'[12]=Πi=1 mei^{v'[i1]2}modn2とを生成する(ステッ
プS403)。ここで生成した冪乗剰余積e[12]は、平
方数の証明文223の1要素になり、冪乗剰余積e'[12]
は、平方数の証明文225の1要素になる。
Next, the random exponentiation remainder product generation unit 243 causes the square sequence v [i1] 2 ; (i = 1, ..., m of each element of the random number sequence v [i1] corresponding to the lower limit value a. According to), the power of column e i of the ciphertext multiplication remainder product e [12] = Π i = 1 m e i ^ {v [i1] 2} and modn 2, wherein the random number sequence corresponding to the upper limit value b v ' Square sequence v '[i1] of each element of [i1]
2 ; (i = 1, ..., m) raised to the power of the ciphertext sequence e i
e '[12] = Π i = 1 m e i ^ {v' [i1] 2} produces the modn 2 (step S403). The modular exponentiation product e [12] generated here becomes one element of the proof sentence 223 of the square number, and the modular exponentiation product e '[12]
Is an element of the proof sentence 225 of square number.

【0056】次に挑戦値生成部244が、公開鍵n、g、
前記暗号文の列ei、前記冪乗剰余積e[1]、前記冪乗剰余
積e[11]および前記冪乗剰余積e[12]を入力に含むハッシ
ュ関数の出力である下限値aに対応する挑戦値c[1]と、
公開鍵n、g、前記暗号文の列eI、前記冪乗剰余積e'
[1]、前記冪乗剰余積e'[11]および前記冪乗剰余積e'[1
2]を入力に含むハッシュ関数の出力である上限値bに対
応する挑戦値c'[1]とを生成する(ステップS40
4)。
Next, the challenge value generator 244 uses the public keys n, g,
The lower limit value a which is the output of the hash function including the ciphertext sequence e i , the exponentiation remainder product e [1], the exponentiation remainder product e [11], and the exponentiation remainder product e [12] as inputs. The challenge value c [1] corresponding to
Public keys n and g, the ciphertext sequence e I , and the modular exponentiation e ′
[1], the modular exponentiation product e ′ [11] and the modular exponentiation product e ′ [1
2] and the challenge value c ′ [1] corresponding to the upper limit value b, which is the output of the hash function, is generated (step S40).
4).

【0057】次に応答生成部245が、下限値aに対応
する前記乱数列の各要素v[i1]と、前記平方数の列の各
要素の平方根w[i1]と下限値に対応する挑戦値c[1]の積
の列との、和の列である下限値に対応する応答r[i1]=v
[i1]+c[1]w[i1];(i=1、…、m)と、上限値に対応する前
記乱数列の各要素v'[i1]と、前記平方数の列の各要素の
平方根w'[i1]と上限値に対応する挑戦値c'[1]の積の列
との、和の列である上限値に対応する応答r'[i1]=v'[i
1]+c'[1]w'[i1];(i=1、…、m)とを生成する(ステップ
S405)。ここで生成された応答r[i1]は、平方数の
証明文223の1要素になり、応答r'[i1]は、平方数の
証明文225の1要素になる。
Next, the response generation unit 245 causes each element v [i1] of the random number sequence corresponding to the lower limit value a, the square root w [i1] of each element of the sequence of square numbers, and the challenge corresponding to the lower limit value. Response r [i1] = v corresponding to the lower bound that is the sum column with the product column of the value c [1]
[i1] + c [1] w [i1]; (i = 1, ..., m), each element v ′ [i1] of the random number sequence corresponding to the upper limit value, and each element of the sequence of square numbers The response r '[i1] = v' [i corresponding to the upper limit, which is the sum of the square root w '[i1] of the product and the column of the product of the challenge value c' [1] corresponding to the upper limit
1] + c ′ [1] w ′ [i1]; (i = 1, ..., M) are generated (step S405). The response r [i1] generated here is one element of the square number proof sentence 223, and the response r ′ [i1] is one element of the square number proof sentence 225.

【0058】次に大きさ確認部246が、前記応答r[i
1];(i=1、…、m)の要素全てが、安全変数と区間の大き
さ|b-a|と挑戦値c[1]より定められる定数により定めら
れる或る区間Rの中にないか、前記応答r'[i1];(i=1、
…、m)の要素全てが、安全変数と区間の大きさ|b-a|と
挑戦値c'[1]より定められる定数により定められる或る
区間R'の中になければ、平方数の証明ステップS314
を最初からやり直すように制御する。そうでなければ、
平方数の証明ステップを完了する。
Next, the size confirmation unit 246 causes the response r [i
1]; All the elements of (i = 1, ..., m) are within a certain interval R defined by a constant defined by the safety variable, interval size | ba |, and challenge value c [1] , The response r '[i1]; (i = 1,
, M) are not within a certain interval R'defined by a constant defined by the safe variable, interval size | ba |, and challenge value c '[1], the proof step of the square number S314
Control to restart from the beginning. Otherwise,
Complete the square number proof step.

【0059】絶対値の大きさの証明ステップであるステ
ップS315の詳細を図6のフローチャートを参照して
説明する。
Details of step S315, which is a step of proving the magnitude of the absolute value, will be described with reference to the flowchart of FIG.

【0060】まず暗号化部251が、暗号文でもある前
記冪乗剰余積e[2]とe'[2]を生成する(ステップS50
1)。この生成された冪乗剰余積e[2]は、絶対値の大き
さの証明文222の1要素になり、冪乗剰余積e'[2]
は、絶対値の大きさの証明文224の1要素になる。
First, the encryption unit 251 generates the above-mentioned modular exponentiation products e [2] and e '[2] which are also ciphertexts (step S50).
1). The generated modular exponentiation product e [2] becomes one element of the proof sentence 222 of the magnitude of the absolute value, and the modular exponentiation product e '[2]
Becomes one element of the proof sentence 224 of the magnitude of the absolute value.

【0061】次に乱数生成部256が、下限値aに対応
する乱数列v[i2];(i=1、…、m)と上限値bに対応する乱
数列v'[i2]を生成し、下限値aに対応する前記乱数列v
[i2];(i=1、…、m)による、前記暗号文の列eiの冪乗剰
余積e[21]=Πi=1 mei^{v[i2]}modn2と、上限値bに対応
する前記乱数列v'[i2];(i=1、…、m)による、前記暗号
文の列eiの冪乗剰余積e'[21]=Πi=1 mei^{v'[i2]}modn2
とを生成する(ステップS502)。この生成された冪
乗剰余積e[21]は、絶対値の大きさの証明文222の1
要素になり、冪乗剰余積e'[21]は、絶対値の大きさの証
明文224の1要素になる。
Next, the random number generator 256 generates a random number sequence v [i2]; (i = 1, ..., M) corresponding to the lower limit value a and a random number sequence v '[i2] corresponding to the upper limit value b. , The random number sequence v corresponding to the lower limit value a
[i2]; (i = 1, ..., M), the exponentiation remainder product e [21] = Π i = 1 m e i ^ {v [i2]} mod n 2 of the sequence e i of the ciphertext, Based on the random number sequence v '[i2]; (i = 1, ..., M) corresponding to the upper limit value b, the power-residue product e' [21] = Π i = 1 m e of the sequence e i of the ciphertext. i ^ {v '[i2]} modn 2
And are generated (step S502). The generated modular exponentiation product e [21] is 1 of the proof sentence 222 of the magnitude of the absolute value.
It becomes an element, and the modular exponentiation e '[21] becomes one element of the proof sentence 224 of the magnitude of the absolute value.

【0062】次に挑戦値生成部253が、公開鍵n、g、
前記暗号文の列e、前記冪乗剰余積e[2]および前記冪
乗剰余積e[21]を入力に含むハッシュ関数の出力である
下限値aに対応する挑戦値c[2]と、公開鍵n、g、前記暗
号文の列eI、前記冪乗剰余積e'[2]および前記冪乗剰余
積e'[21]を入力に含むハッシュ関数の出力である上限値
bに対応する挑戦値c'[2]とを生成する(ステップS5
03)。
Next, the challenge value generator 253 uses the public keys n, g,
A challenge value c [2] corresponding to a lower limit value a which is an output of a hash function including the ciphertext sequence e i , the power-and-residue product e [2], and the power-and-residue product e [21] as inputs. , The public keys n and g, the ciphertext sequence e I , the exponentiation remainder product e ′ [2] and the exponentiation remainder product e ′ [21] are input to the upper limit value b which is the output of the hash function. The corresponding challenge value c '[2] is generated (step S5).
03).

【0063】次に応答生成部254が、下限値aに対応
する前記乱数列の各要素v[i2]と、前記平方数との差の
列w[i2];(i=1、…、m)と下限値aに対応する挑戦値c[2]
の積の列との、和の列である下限値aに対応する応答r
[i2]=v[i2]+c[2]w[i2];(i=1、…、m)と、上限値bに対
応する前記乱数列の各要素v'[i2]と、前記平方数との差
の列w'[i2];(i=1、…、m)と上限値に対応する挑戦値c'
[2]の積の列との、和の列である上限値に対応する応答
r'[i2]=v'[i2]+c'[2]w'[i2];(i=1、…、m)とを生成する
(ステップS504)。この生成された応答r[i2]は、
絶対値の大きさの証明文222の1要素になり、応答r'
[i2]は、絶対値の大きさの証明文224の1要素にな
る。
Next, the response generation unit 254 causes the sequence w [i2] of differences between each element v [i2] of the random number sequence corresponding to the lower limit value a and the square number; (i = 1, ..., m). ) And the challenge value c [2] corresponding to the lower limit value a
Response r corresponding to the lower bound a that is the sum column with the product column of
[i2] = v [i2] + c [2] w [i2]; (i = 1, ..., m), each element v ′ [i2] of the random number sequence corresponding to the upper limit value b, and the square Number difference column w '[i2]; (i = 1, ..., m) and challenge value c'corresponding to the upper limit
Response corresponding to the upper bound that is the sum column with the product column of [2]
r '[i2] = v' [i2] + c '[2] w'[i2]; (i = 1, ..., M) are generated (step S504). This generated response r [i2] is
It becomes one element of the proof sentence 222 of the magnitude of the absolute value, and the response r '
[i2] becomes one element of the proof sentence 224 of the magnitude of the absolute value.

【0064】次に大きさ確認部255が、前記応答r[i
2];(i=1、…、m)の要素全てが、安全変数と区間の大き
さ|b-a|と挑戦値c[2]より定められる定数により定めら
れる区間Sの中にないか、前記応答r'[i2];(i=1、…、m)
の要素全てが、安全変数と区間の大きさ|b-a|と挑戦値
c'[2]より定められる定数により定められる区間S'の中
になければ、絶対値の大きさの証明ステップS315を
最初からのやり直すように制御する。そうでなければ、
絶対値の大きさの証明ステップを完了する。
Next, the size confirmation unit 255 causes the response r [i
2]; All the elements of (i = 1, ..., m) are not in the interval S defined by the safety variable, the size of the interval | ba | and the challenge value c [2]. Response r '[i2]; (i = 1, ..., m)
Are all safe variables and interval size | ba |
If it is not within the section S ′ defined by the constant defined by c ′ [2], the proof step S315 of the magnitude of the absolute value is controlled to be restarted from the beginning. Otherwise,
Complete the absolute magnitude proof step.

【0065】(1)検証装置の実施の形態 次に、確率公開鍵暗号文の冪乗剰余積の各指数係数が指
定された区間内にあることを検証する検証装置の実施の
形態について説明する。
(1) Embodiment of Verification Device Next, an embodiment of a verification device for verifying that each exponent coefficient of the modular exponentiation of the stochastic public key ciphertext is within the specified section will be described. .

【0066】図7は確率公開鍵暗号文の冪乗剰余積の各
指数係数が指定された区間内にあることを検証する検証
装置の一例を示すブロック図であり、図8と図9と図1
0はこの検証装置による検証処理を説明するためのフロ
ーチャートである。
FIG. 7 is a block diagram showing an example of a verification device for verifying that each exponential coefficient of the power-of-residue product of the stochastic public key ciphertext is within the specified section, and FIGS. 1
Reference numeral 0 is a flow chart for explaining the verification processing by this verification device.

【0067】図7を参照すると、本実施の形態の検証装
置は、検証に必要な各種データを人力するための入力部
301と、入力されたデータに基づき演算を行ない証明
文を作成する演算処理部302と、得られた検証結果3
04を出力する出力部303を備えている。
Referring to FIG. 7, the verification apparatus according to the present embodiment has an input unit 301 for manually inputting various data required for verification, and an operation process for performing an operation based on the input data to create a proof sentence. Part 302 and the obtained verification result 3
An output unit 303 that outputs 04 is provided.

【0068】また、演算処理部302は検証部311を
備え、検証部311は、分割検証部321と、平方数の
検証部322と、絶対値の大きさの検証部323と、結
果まとめ部324とを含んで構成される。さらに、平方
数の検証部322は、挑戦値生成部331と、復号部3
32と、乱数生成部333と、大きさ確認部334と、
2次式による検証部335とを含み、絶対値の大きさの
検証部323は、挑戦値生成部341と、復号部342
と、乱数生成部343と、大きさ確認部344と、1次
式による検証部345を含んでいる。
Further, the arithmetic processing section 302 comprises a verification section 311, and the verification section 311 has a division verification section 321, a square number verification section 322, an absolute value verification section 323, and a result grouping section 324. It is configured to include and. Further, the square number verification unit 322 includes a challenge value generation unit 331 and a decryption unit 3
32, a random number generation unit 333, a size confirmation unit 334,
The absolute value verification unit 323 including a quadratic verification unit 335 includes a challenge value generation unit 341 and a decoding unit 342.
A random number generation unit 343, a size confirmation unit 344, and a verification unit 345 based on a linear expression.

【0069】図8を参照すると、本実施の形態の検証処
理では、まず入力部301が検証に必要な各種の情報と
して、区間を定める変数206である上限値bおよび下
限値aと、確率公開鍵暗号方式の公開鍵205であるn、
gと、確率公開鍵暗号方式の秘密鍵305であるλと、
安全変数209と、m個の確率公開鍵暗号文の列ei=g^
i}g^{nβi}modn2;(i=1、…、m)の平文の列306で
あるαi;(i=1、…、m)と、前記暗号文の列ei;(i=1、
…、m)の暗号化に使われた乱数の列307であるβi;(i
=1、…、m)と、前記暗号文の列ei=g^{αi}g^{nβi}modn
2;(i=1、…、m)の、前記暗号文の列の指数係数の列wi;
(i=1、…、m)による冪乗剰余積221であるe=Πi=1 mei
^{wi}modn2およびこの確率公開鍵暗号文の冪乗剰余積の
各指数係数が区間内にあることを証明する証明文222
〜225を含む証明文204とを入力する(ステップS
601)。ここで、証明文222〜225は以下の要素
で構成されている。 ○平方数の証明文223; 暗号文e[1]、2個の冪乗剰余積e[11]、e[1
2]、応答r[i1] ○平方数の証明文225; 暗号文e'[1]、2個の冪乗剰余積e'[11]、e'[1
2]、応答r'[i1] ○絶対値の大きさの証明文222; 暗号文e[2]、1個の冪乗剰余積e[21]、応答r[i
2] ○絶対値の大きさの証明文224; 暗号文e'[2]、1個の冪乗剰余積e'[21]、応答r'
[i2]
Referring to FIG. 8, in the verification processing of the present embodiment, first, the input unit 301 uses various information necessary for verification, the upper limit value b and the lower limit value a, which are variables 206 that define the section, and the probability disclosure. N, which is the public key 205 of the key cryptosystem,
g and λ, which is the secret key 305 of the stochastic public key cryptosystem,
A safe variable 209 and a sequence of m probability public key ciphertexts e i = g ^
i } g ^ {nβ i } modn 2 ; (i = 1, ..., m) which is a plaintext sequence 306 α i ; (i = 1, ..., m) and the ciphertext sequence e i ; (i = 1,
, I) which is a sequence 307 of random numbers used for encryption of β i ; (i
= 1, ..., m) and the ciphertext sequence e i = g ^ {α i } g ^ {nβ i } modn
2 ; (i = 1, ..., M), the sequence of exponential coefficients of the sequence of ciphertexts w i ;
(i = 1, ..., m) is a modular exponentiation product 221 e = Π i = 1 m e i
^ {w i } modn 2 and a proof statement 222 that proves that each exponential coefficient of the power-residue product of this stochastic public-key cryptogram is within the interval.
And the certification sentence 204 including 225 (step S
601). Here, the proof sentences 222 to 225 are composed of the following elements. -Square number proof sentence 223; Ciphertext e [1], power of two exponentiation e [11], e [1
2], response r [i1] ○ proof text 225 of square number; ciphertext e '[1], two exponentiation remainder products e' [11], e '[1
2], response r '[i1] ○ Proof sentence 222 of magnitude of absolute value; ciphertext e [2], one power-and-residue product e [21], response r [i
2] ○ Proof sentence 224 of magnitude of absolute value; ciphertext e '[2], one exponentiation remainder product e' [21], response r '
[I2]

【0070】なお、本実施の形態では、証明文204に
検証対象となる冪乗剰余積221が含まれているが、検
証対象となる冪乗剰余積221とその証明文222〜2
25を分け、証明文204に冪乗剰余積221を含ませ
ないようにしても良い。
In the present embodiment, the proof sentence 204 includes the power residue 221 to be verified, but the power residue product 221 to be verified and its proof sentences 222 to 222.
25 may be divided so that the proof sentence 204 does not include the modular exponentiation product 221.

【0071】次いで演算処理部302の検証部311
が、入力された情報に基づいて、検証対象である冪乗剰
余積eを生成するのに使った指数係数の列wi;(i=1、…、
m)が区間の下限値aと区間の上限値bとの間[a、b]にある
か否かを判定し、当該区間にあれば証明受理の検出結果
304を生成し、そうでなければ証明不受理の検出結果
304を生成し(ステップS602)、出力部303が
この検出結果304を出力する(ステップS603)。
Next, the verification unit 311 of the arithmetic processing unit 302
Is a sequence of exponential coefficients w i ; (i = 1, ..., Used to generate the exponentiation remainder product e to be verified based on the input information.
m) is between the lower limit value a of the section and the upper limit value b of the section [a, b], and if it is in the section, the proof acceptance detection result 304 is generated. The proof rejection acceptance detection result 304 is generated (step S602), and the output unit 303 outputs this detection result 304 (step S603).

【0072】検証部311の検証ステップS602の詳
細は、図8のステップS602内に示されている。
Details of the verification step S602 of the verification unit 311 are shown in step S602 of FIG.

【0073】図8のステップS602内のフローチャー
トを参照すると、検証ステップでは、まず分割検証部が
以下のような分割の検証を行う(ステップS611)。
まず前記暗号文の列ei;(i=1、…、m)の全ての要素の積
に区間の下限値aを乗じた値(Πi=1 mei)a=g^{aΣi=1 m
i+nβi)}modn2を求め、この値で、前記冪乗剰余積eを法
n2の元で割り、それを安全変数及び区間の大きさより定
めらる定数Uを使って拡大した値E=e^U/(Πi=1 mei)^{aU}
=e^U/g^{UaΣi=1 mi+nβi)}modn2を求める。そして、
この拡大した値Eが、証明文204に含まれる下限値a
に対応する平方数の列による冪乗剰余積e[1]と下限値a
に対応する平方数との差の列による冪乗剰余積e[2]との
積に等しいか否かを確認する。
Referring to the flowchart in step S602 of FIG. 8, in the verification step, the division verification unit first performs the following division verification (step S611).
First, a value (Π i = 1 m e i ) a = g ^ {aΣ i obtained by multiplying the product of all the elements of the ciphertext sequence e i ; (i = 1, ..., M) by the lower limit value a of the interval. = 1 m
i + nβ i )} mod n 2 is obtained, and with this value, the modular exponentiation e is modulo
Value divided by n 2 and expanded by a constant U determined by the size of the safety variable and interval E = e ^ U / (Π i = 1 m e i ) ^ {aU}
= e ^ U / g ^ {UaΣ i = 1 mi + nβ i )} modn 2 is calculated. And
This expanded value E is the lower limit value a included in the proof sentence 204.
The power-of-residue product e [1] and the lower limit a by the sequence of square numbers corresponding to
Check whether it is equal to the product of the modular exponentiation product e [2] by the sequence of the difference from the square number corresponding to.

【0074】また、前記暗号文の列ei;(i=1、…、m)の
全ての要素の積に区間の上限値bを乗じた値(Πi=1 mei)b
=g^{bΣi=1 mi+nβi)}modn2を求め、この値を、前記
冪乗剰余積eで法n2の元で割り、それを安全変数及び区
間の大きさより定めらる定数Uを使って拡大した値E'=
i=1 mei)^{bU}/e^Ug^{UbΣi=1 mi+nβi)}/e^Umodn2
を求める。そして、この拡大した値E'が、証明文204
に含まれる上限値bに対応する平方数の列による冪乗剰
余積e'[1]と上限値bに対応する平方数との差の列によ
る冪乗剰余積e'[2]との積に等しいか否かを確認する。
A value (Π i = 1 m e i ) b obtained by multiplying the product of all the elements of the ciphertext sequence e i ; (i = 1, ..., M) by the upper limit value b of the interval.
= g ^ {bΣ i = 1 mi + nβ i )} modn 2 and divide this value by the power modulo n 2 element and divide it by the safe variable and the size of the interval. The value E '= expanded using the constant U defined
i = 1 m e i ) ^ {bU} / e ^ Ug ^ {UbΣ i = 1 mi + nβ i )} / e ^ Umodn 2
Ask for. The expanded value E ′ is the proof sentence 204.
The product of the modular exponentiation product e '[1] by the sequence of square numbers corresponding to the upper limit b and the modular exponentiation product e' [2] by the sequence of the square numbers corresponding to the upper limit b Check if is equal to.

【0075】分割検証部321は、前記二つの確認がで
きれば、分割の検証受理を出力する。
If the above two confirmations can be made, the division verification unit 321 outputs the division verification acceptance.

【0076】次に平方数検証部322が平方数の検証を
以下のように行う(ステップS612)。まず、下限値
aに対応する平方数の列による冪乗剰余積e[1]を生成し
た列w[i1]2;(i=1、…、m)の各要素が、平方数であるこ
とと、その平方根w[i1];(i=1、…、m)が安全変数と区間
を定める定数で定められた前記値Vを超えないことを検
証する。また、上限値bに対応する平方数の列による冪
乗剰余積e'[1]を生成した列w'[i1]2;(i=1、…、m)の各
要素が、平方数であることと、その平方根w'[i1];(i=
1、…、m)が前記Vを超えないことを検証する。そして、
前記二つの検証ができれば平方数の検証受理を出力す
る。
Next, the square number verification unit 322 verifies the square number as follows (step S612). First, each element of the column w [i1] 2 ; (i = 1, ..., m) that generated the power-residue product e [1] of the column of square numbers corresponding to the lower limit value a is a square number. Then, it is verified that the square root w [i1]; (i = 1, ..., M) does not exceed the value V defined by a safety variable and a constant defining an interval. In addition, each element of the column w '[i1] 2 ; (i = 1, ..., m) that has generated a modular exponentiation product e' [1] by a column of square numbers corresponding to the upper limit value b is a square number. And its square root w '[i1]; (i =
Verify that 1, ..., M) do not exceed V above. And
If the above two verifications are successful, a square acceptance of verification is output.

【0077】次に絶対値の大きさ検証部323が、以下
のようにして絶対値の大きさを検証する(ステップS6
13)。まず下限値aに対応する前記平方数との差の列
による冪乗剰余積e[2]を生成した列w[i2];(i=1、…、m)
の各要素が、Uを超えないことを検証する。次に、上限
値bに対応する平方数との差の列による冪乗剰余積e'
[2]を生成した列w'[i2];(i=1、…、m)の各要素が、Uを
超えないことを検証する。この二つの検証ができれば、
絶対値の大きさの検証受理を出力する。
Next, the absolute value magnitude verification unit 323 verifies the magnitude of the absolute value as follows (step S6).
13). First, a sequence w [i2]; (i = 1, ..., m) that generates a power-residue product e [2] by a sequence of the difference from the square number corresponding to the lower limit value a
Verify that each element of does not exceed U. Next, the modular exponentiation product e'by the sequence of the difference from the square number corresponding to the upper limit value b
It is verified that each element of the sequence w '[i2]; (i = 1, ..., M) that generated [2] does not exceed U. If you can verify these two,
Output the verification acceptance of the magnitude of the absolute value.

【0078】平方数の検証ステップであるステップS6
12の詳細を図9のフローチャートを参照して説明す
る。
Step S6 which is the step of verifying the square number
Details of 12 will be described with reference to the flowchart of FIG.

【0079】まず挑戦値生成部331が、公開鍵n、g、
暗号文の列e、冪乗剰余積e[1]、冪乗剰余積e[11]およ
び冪乗剰余積e[12]を入力に含むハッシュ関数の出力で
ある下限値aに対応する挑戦値c[1]と、公開鍵n、g、暗
号文の列e、冪乗剰余積e'[1]、冪乗剰余積e'[11]およ
び冪乗剰余積e'[12]を入力に含むハッシュ関数の出力で
ある上限値bに対応する挑戦値c'[1]との2つの挑戦値
を生成する(ステップS701)。
First, the challenge value generator 331 uses the public keys n, g,
A challenge corresponding to the lower limit value a, which is the output of the hash function that includes the ciphertext sequence e i , the power residue product e [1], the power residue product e [11], and the power residue product e [12] The value c [1], the public keys n, g, the ciphertext sequence e i , the power remainder product e '[1], the power remainder product e' [11], and the power remainder product e '[12] Two challenge values including the challenge value c ′ [1] corresponding to the upper limit value b which is the output of the hash function included in the input are generated (step S701).

【0080】次に復号部332が、暗号文でもある冪乗
剰余積e[1]とe'[1]と、暗号文でもある冪乗剰余積e[11]
とe'[11]と、暗号文でもある冪乗剰余積e[12]とe'[12]
との3種の暗号文それぞれの、平文x[11]、x'[11]、x[1
2]、x'[12]、x[13]、x'[13]を秘密鍵λにより生成する
(ステップS702)。
Next, the decryption unit 332 causes the modular exponentiation products e [1] and e '[1], which are also ciphertexts, and the modular exponentiation product e [11], which is also a ciphertext.
And e '[11], and the modular exponentiation products e [12] and e' [12] that are also ciphertexts
Plaintext x [11], x '[11], x [1
2], x '[12], x [13], x' [13] are generated with the secret key λ (step S702).

【0081】次に乱数生成部333が、冪乗剰余積e[1]
とe'[1]、冪乗剰余積e[11]とe'[11]、冪乗剰余積e[12]
とe'[12]の3種の暗号文をそれぞれ生成するのに用いら
れたそれぞれの乱数s[11]、s'[11]、s[12]、s'[12]、s
[13]、s'[13](3種の乱数)を秘密鍵λにより生成する
(ステップS703)。
Next, the random number generation unit 333 causes the modular exponentiation e [1]
And e '[1], power residue product e [11] and e' [11], power residue product e [12]
And the random numbers s [11], s' [11], s [12], s' [12], s used to generate each of the three ciphertexts of e '[12]
[13], s' [13] (three kinds of random numbers) are generated with the secret key λ (step S703).

【0082】次に大きさ確認部334が、証明文に含ま
れる応答r[i1];(i=1、…、m)の要素全てが、安全変数と
区間の大きさ|b-a|と挑戦値c[1]より定められる定数に
より定められる前記区間Rの中にあることと、応答r'[i
1];(i=1、…、m)の要素全てが、安全変数と区間の大き
さ|b-a|と挑戦値c'[1]より定められる定数により定めら
れる前記区間R'の中にあることとを確認する(ステップ
S704)。
Next, the size confirmation unit 334 determines that all the elements of the response r [i1]; (i = 1, ..., M) included in the proof sentence are safe variables, the size of the interval | ba |, and the challenge value. Being in the interval R defined by a constant defined by c [1], and the response r '[i
1]; All the elements of (i = 1, ..., m) are in the interval R'defined by a constant defined by the safety variable, interval size | ba |, and challenge value c '[1] This is confirmed (step S704).

【0083】次に2次式による検証部335が、eiの平
文αiと暗号文eiの生成に用いられた乱数βiとを用い
て、下限値aに対応する挑戦値c[1]の2次式と応答r[i1]
の2次式を用いた検証式、 x[11]c[1]2+x[12]c[1]+x[13]=Σi=1 mαir[i1]2(modn) s[11]^{c[1]2}s[12]^{c[1]}s[13]=g^{Σi=1 mβir[i1]2}
(modn) が成り立つことと、上限値に対応する挑戦値c'[1]の2次
式と応答r'[i1]の2次式を用いた検証式 x'[11]c'[1]2+x'[12]c'[1]+x'[13]=Σi=1 mαir'[i1]2(m
odn) s'[11]^{c'[1]2}s'[12]^{c'[1]}s'[13]=g^{Σi=1 mβir'
[i1]2}(modn) が成り立つことを確認する(ステップS705)。
[0083] Then the verification unit 335 according to a quadratic equation, by using the random number beta i was used to generate the plain text alpha i and the ciphertext e i of e i, challenge value c [1 corresponding to the lower limit value a ] Quadratic equation and response r [i1]
Verification equation using the quadratic equation of x [11] c [1] 2 + x [12] c [1] + x [13] = Σ i = 1 m α i r [i1] 2 (modn) s [11] ^ {c [1] 2 } s [12] ^ {c [1]} s [13] = g ^ {Σ i = 1 m β i r [i1] 2 }
(modn) holds and the verification formula x '[11] c' [1] using the quadratic formula of the challenge value c '[1] and the quadratic formula of the response r' [i1] corresponding to the upper limit value. 2 + x '[12] c' [1] + x '[13] = Σ i = 1 m α i r' [i1] 2 (m
odn) s '[11] ^ {c' [1] 2 } s '[12] ^ {c' [1]} s '[13] = g ^ {Σ i = 1 m β i r'
It is confirmed that [i1] 2 } (modn) holds (step S705).

【0084】絶対値の大きさの検証ステップであるステ
ップS613の詳細を図10のフローチャートを参照し
て説明する。
Details of step S613, which is the step of verifying the magnitude of the absolute value, will be described with reference to the flowchart of FIG.

【0085】まず挑戦値生成部341が、公開鍵n、g、
前記暗号文の列e、冪乗剰余積e[2]および冪乗剰余積e
[21]を入力に含むハッシュ関数の出力である下限値aに
対応する挑戦値c[2]と、公開鍵n、g、暗号文の列e
冪乗剰余積e'[2]および冪乗剰余積e'[21]を入力に含む
ハッシュ関数の出力である上限値bに対応する挑戦値c'
[2]との2つの挑戦値を生成する(ステップS80
1)。
First, the challenge value generation unit 341 uses the public keys n, g,
The sequence of ciphertexts e i , exponentiation remainder product e [2], and exponentiation remainder product e
The challenge value c [2] corresponding to the lower limit value a which is the output of the hash function including [21] as an input, the public keys n and g, the ciphertext sequence e i ,
Challenge value c'corresponding to the upper limit value b which is the output of the hash function including the exponentiation remainder product e '[2] and the exponentiation remainder product e' [21]
Two challenge values with [2] are generated (step S80).
1).

【0086】次に復号部342が、暗号文でもある冪乗
剰余積e[2]とe'[2]と、暗号文でもある冪乗剰余積e[21]
とe'[21]との2種の暗号文の、それぞれの平文x[21]、
x'[21]、x[22]、x'[22]を秘密鍵λにより生成する(ス
テップS802)。
Next, the decryption unit 342 causes the modular exponentiation products e [2] and e '[2], which are also ciphertexts, and the modular exponentiation product e [21], which is also a ciphertext.
And the plaintext x [21] of the two ciphertexts of e '[21],
x '[21], x [22], x' [22] are generated with the secret key λ (step S802).

【0087】次に乱数生成部343が、冪乗剰余積e[2]
とe'[2]と、冪乗剰余積e[21]とe'[21]との2種の暗号文
を生成するのに用いられたそれぞれの乱数s[21]、s'[2
1]、s[22]、s'[22](2種の乱数)を秘密鍵λにより生
成する(ステップS803)。
Next, the random number generator 343 causes the modular exponentiation e [2]
And e '[2], and the respective random numbers s [21] and s' [2 used to generate the two ciphertexts of the modular exponentiation products e [21] and e' [21].
1], s [22], s' [22] (two types of random numbers) are generated with the secret key λ (step S803).

【0088】次に大きさ確認部344が、前記応答r[i
2];(i=1、…、m)の要素全てが、安全変数と区間の大き
さ|b-a|と挑戦値c[2]より定められる定数により定めら
れる前記区間Sの中にあることと、前記応答r'[i2];(i=
1、…、m)の要素全てが、安全変数と区間の大きさ|b-a|
と挑戦値c'[2]より定められる定数により定められる前
記区間S'の中にあることとをを確認する(ステップS8
04)。
Next, the size confirmation unit 344 causes the response r [i
2]; All the elements of (i = 1, ..., m) are in the interval S defined by the safety variable, the size of the interval | ba |, and the constant determined by the challenge value c [2]. , The response r '[i2]; (i =
All elements (1, ..., m) are safe variables and interval size | ba |
And within the section S'determined by a constant determined by the challenge value c '[2] (step S8).
04).

【0089】次に1次式による検証部345が、下限値
aに対応する挑戦値c[2]の1次式と応答r[i2]の1次式を
用いた検証式、 x[21]c[2]+x[22]=Σi=1 mαir[i2](modn) s[21]^{c[2]}s[22]=g^{Σi=1 mβir[i2]}(modn) が成り立つことと、上限値に対応する挑戦値c'[2]の1
次式と応答r'[i2]の1次式を用いた検証式、 x'[21]c'[2]+x'[22]=Σi=1 mαir'[i2](modn) s'[21]^{c'[2]}s'[22]=g^{Σi=1 mβir'[i2]}(modn) が成り立つこととを確認する(ステップS805)。
Next, the verification unit 345 based on the linear expression uses the linear expression of the challenge value c [2] corresponding to the lower limit value a and the linear expression of the response r [i2], x [21]. c [2] + x [22] = Σ i = 1 m α i r [i2] (modn) s [21] ^ {c [2]} s [22] = g ^ {Σ i = 1 m β i r [i2]} (modn) holds, and the challenge value c '[2] corresponding to the upper limit is 1
A verification formula using the following formula and a linear formula of the response r '[i2], x' [21] c '[2] + x' [22] = Σ i = 1 m α i r '[i2] (modn ) It is confirmed that s '[21] ^ {c' [2]} s '[22] = g ^ {Σ i = 1 m β i r' [i2]} (modn) holds (step S805). .

【0090】(3)証明文作成装置と検証装置の実施例 次に、確率公開鍵暗号文の冪乗剰余積の各指数係数の値
が指定の範囲内にあることを証明する証明文作成装置と
検証装置の一実施例について詳細に説明する。以下の実
施例では、Paillierの暗号方式を使った例に即して説明
する。
(3) Embodiment of Proof Text Creating Device and Verification Device Next, a proof text creating device for certifying that the value of each exponential coefficient of the modular exponentiation product of the probability public key ciphertext is within the specified range. An embodiment of the verification device will be described in detail. The following embodiment will be described in line with an example using the Paillier encryption method.

【0091】[準備]安全変数t、t'、sを準備する。tはt
-log2t>t'なる関係を満たす。本検証方法において、各
指数係数の値が定められた区間にないにも関わらず、検
証で指数係数の値が定められた区間にあると認められて
しまう確率が2-t'以下である。本証明方法において、各
指数係数の値が定められた区間にあるにも関わらず、証
明に失敗する確率が21-s以下となる。これらの確率を考
慮して安全変数t'、sを選ぶ。また、区間の最小値をa、
最大値をb、とする。 T=2(t+s+1)+|b-a| として、後述の公開鍵n=pqは22T+1<nとなる様に選ぶ。
ここで|b-a|とは、b-aのbit数のことである。√{2T(b-
a)}を超えない最大の整数をDとする。また、x^aとはxa
のことでxのa乗のこととする。p、qを二つの素数とし
て、秘密鍵λをp-1とq-1の最大公倍数とする。n=pqとす
る。gは{gλmodn2-1}/nとnが互いに素になるよう選ばれ
ているとする。n=pqとgを公開鍵205とする。平文xの
乱数rによる暗号文eを、 e=gxrnmod n2 とする。暗号文列ei(i=1、…、m)を、 αi∈Zn βiRZλ を用いて、 ei=g^{αi}g^{nβi}mod n2 (i=1、…、m) とする。ここでβiは定義域内から無作為に選ぶが、αi
の分布は偏っていても良い。列αi、βi(i=1、…、m)を
以下では、暗号文列の生成元列と呼ぶ。
[Preparation] Prepare the safety variables t, t ', and s. t is t
-log2The relation t> t 'is satisfied. In this verification method,
Even if the value of the exponential coefficient is not in the specified section,
It is recognized that the value of the index coefficient is in the prescribed section on the proof
2 chances of losing-t 'It is the following. In this certification method,
Even though the value of the exponential coefficient is in the defined section, the
2 chances of failing1-sIt becomes the following. Consider these probabilities
Carefully select the safety variables t'and s. In addition, the minimum value of the interval is a,
Let b be the maximum value. T = 2 (t + s + 1) + | b-a | , The public key n = pq described later is 22T + 1Choose so that <n.
Here, | b-a | is the number of bits of b-a. √ {2T(b-
Let D be the largest integer that does not exceed a)}. Also, x ^ a is xa
Let x be the power of a. Let p and q be two prime numbers
Let the secret key λ be the greatest common multiple of p-1 and q-1. n = pq
It g is (gλmodn2-1} / n and n are chosen to be relatively prime
Suppose Let n = pq and g be the public key 205. Plaintext x
Ciphertext e with random number r, e = gxrnmod n2 And Ciphertext sequence ei(i = 1, ..., m) αi∈ Zn βiRZλ Using, ei= g ^ {αi} g ^ {nβi} mod n2(i = 1, ..., m) And Where βiIs chosen randomly from within the domain, but αi
The distribution of may be biased. Row αi, Βi(i = 1, ..., m)
Hereinafter, the ciphertext string generation source string is referred to.

【0092】最初に本発明の確率公開鍵暗号文の冪乗剰
余積の各指数係数が区間内にあることの証明方法を、図
面を参照して説明する。図11と図12と図13は、本
実施例の証明方法を説明するための図である。
First, a method of proving that each exponent coefficient of the modular exponentiation product of the stochastic public key ciphertext of the present invention is within the section will be described with reference to the drawings. 11, 12 and 13 are diagrams for explaining the proof method of this embodiment.

【0093】<入力ステップS301>図11において、
区間を定める定数206である下限値a、上限値bと、安
全変数209であるt、sと、指数係数列208であるwj
∈[a、b](j=1、…、m)と、暗号文列207であるei(i=
1、…、m)と、公開鍵205であるn、gとが入力され
る。
<Input Step S301> In FIG.
A lower limit value a and an upper limit value b, which are constants 206 that determine the interval, t and s that are safety variables 209, and w j that is an exponential coefficient sequence 208
Ε [a, b] (j = 1, ..., M) and the ciphertext sequence 207 e i (i =
1, ..., M) and the public keys 205 n, g are input.

【0094】<冪乗剰余積を求めるステップS302>図
11の406において、指数係数列208であるwj
[a、b](j=1、…、m)と、暗号文列207であるei(i=1、
…、m)と、公開鍵205でありnとから、冪乗剰余積e=
Πi=1 mei^{wi}modn2を計算する。これが検証対象の冪乗
剰余積221として証明文204に出力される。
<Step S302 for Obtaining Exponentiation Remainder Product> In 406 of FIG. 11, w j ε which is the exponential coefficient sequence 208.
[a, b] (j = 1, ..., M) and the ciphertext sequence 207 e i (i = 1,
, M) and the public key 205, n, from the power of remainder e =
Calculate Π i = 1 m e i ^ {w i } modn 2 . This is output to the proof sentence 204 as the exponentiation remainder product 221 to be verified.

【0095】<ステップS303><両端値との差の列の
生成ステップS311>図11の408において、それ
ぞれの指数係数列wjと、区間を定める下限値a、上限値b
とのそれぞれ差(407)を以下のように生成する。 wi-a(i=1、…、m) b-wi(i=1、…、m)
<Step S303><Generation of Sequence of Differences from Both Ends Step S311> In 408 of FIG. 11, each exponential coefficient sequence w j and the lower limit value a and the upper limit value b that determine the section.
And a difference (407) between each of them is generated as follows. w i -a (i = 1, ..., m) bw i (i = 1, ..., m)

【0096】<拡大ステップS312>図11の420に
おいて、安全変数のt、sと区間を定める変数a、bと
により、T=2(t+s+1)+|b-a|を求め、2を拡大係数とし
て、ステップS303で求めたそれぞれの差を、以下の
ように拡大する。 2T(wi-a)(i=1、…、m) 2T(b-wi)(i=1、…、m)
<Enlargement Step S312> In 420 of FIG. 11, T = 2 (t + s + 1) + | ba | is obtained from the safety variables t and s and the variables a and b that define the section, and 2 T Is used as an expansion coefficient, and the differences obtained in step S303 are expanded as follows. 2 T (w i -a) (i = 1, ..., m) 2 T (bw i ) (i = 1, ..., m)

【0097】<分解ステップS313>図11の409に
おいて、ステップS312で拡大されたそれぞれの数値
(差)を、全てのi=1、…、mについて、2T(wi-a)を超え
ない最大の平方数w[i1]2と、w[i2]=2T(wi-a)-w[i1]2
に分割し、また、2T(b-wi)を超えない最大の平方数w'[i
1]2113とw'[i2]=2T(b-wi)-w'[i1]2とに分割する。
<Decomposition step S313> In 409 of FIG. 11, the respective numerical values (differences) enlarged in step S312 do not exceed 2 T (w i -a) for all i = 1, ..., M. Divide into the maximum square number w [i1] 2 and w [i2] = 2 T (w i -a) -w [i1] 2, and the maximum square number that does not exceed 2 T (bw i ). w '[i
1] 2 113 and w '[i2] = 2 T (bw i ) -w' [i1] 2 .

【0098】<平方数の証明ステップS314>平方数の
証明ステップを図12を参照して説明する。 <暗号化ステップS401>図12の421において、暗
号文 e[1]=Πi=1 mei^{w[i1]2}modn2 e'[1]=Πi=1 mei^{w'[i1]2}modn2 を生成する。平方数の証明ステップでは、暗号文e[1]、
e'[1]を生成した係数w[i1]2、w[i1]'2全てが平方数であ
り、この平文の平方根が2t+sDを超えないことを証明す
る。但し、Dを2T(b-a)の平方根を超えない最大の整数と
する。e[1]とe'[1]に対する証明方法は同じであるた
め、以下にはe[1]に対する証明についてのみ記述する。
e[1]は最終的に暗号文420となる。
<Square Number Proof Step S314> The square number proof step will be described with reference to FIG. <Encryption Step S401> In 421 of FIG. 12, ciphertext e [1] = Π i = 1 m e i ^ {w [i1] 2 } modn 2 e '[1] = Π i = 1 m e i ^ Generate {w '[i1] 2 } modn 2 . In the square number proof step, the ciphertext e [1],
We prove that the coefficients w [i1] 2 , w [i1] ' 2 that generated e' [1] are all square numbers, and the square root of this plaintext does not exceed 2 t + s D. However, D is the maximum integer that does not exceed the square root of 2 T (ba). Since the proof method for e [1] and e '[1] is the same, only the proof for e [1] is described below.
The e [1] finally becomes the ciphertext 420.

【0099】<冪乗剰余積の生成ステップS402、S
403>図12の422において、乱数列v[i1]∈R[0、2
t+sD](i=1、…、m)を生成する。次に、図12の43
1、432において、以下の2つの冪乗剰余積を計算す
る。 e[11]=Πi=1 mei^{2v[i1]w[i1]}modn2 e[12]=Πi=1 mei^{v[i1]2}modn2 を計算する。
<Generation of modular exponentiation products S402, S
403> In 422 of FIG. 12, the random number sequence v [i1] ∈ R [0,2
t + s D] (i = 1, ..., m) is generated. Next, in FIG.
At 1, 432, the following two exponentiation remainder products are calculated. e [11] = Π i = 1 m e i ^ {2v [i1] w [i1]} modn 2 e [12] = Π i = 1 m e i ^ {v [i1] 2 } modn 2 .

【0100】<挑戦値の生成ステップS404>図12の
425において、挑戦値 c[1]=Hash(n、g、ei、e[1]、e[11]、e[12])mod2t を計算する。
<Challenge Value Generation Step S404> At 425 in FIG. 12, the challenge value c [1] = Hash (n, g, e i , e [1], e [11], e [12]) mod2 t To calculate.

【0101】<応答の生成ステップS405>図12の4
26において、i=1、…、mに関して応答 r[i1]=v[i1]+c[1]w[i1]を計算する。
<Response Generation Step S405> 4 in FIG.
At 26, the response r [i1] = v [i1] + c [1] w [i1] is calculated for i = 1, ..., M.

【0102】<大きさの確認ステップS406>図12の
427において、 r[i1]∈[c[1]D、2t+sD](i=1、…、m) であれば、e[11]、e[12]、r[i1]を平方数の証明文と
し、そうでなければ、平方数の証明ステップを最初から
やり直す。w[i1]∈[0、D](i=1、…、m)である場合に、
やり直す確率は2-s以下である。
<Size Confirmation Step S406> In r 427 of FIG. 12, if r [i1] ε [c [1] D, 2 t + s D] (i = 1, ..., M), then e [ 11], e [12], r [i1] are proof sentences of square numbers, and if not, the proof step of square numbers is restarted from the beginning. If w [i1] ∈ [0, D] (i = 1, ..., m),
The probability of redoing is less than 2 -s .

【0103】<絶対値の大きさの証明ステップS315>
絶対値の大きさの証明ステップを図13を参照して説明
する。 <暗号化ステップS501>図13の451において、以
下の暗号文を生成する。 e[2]=Πi=1 mei^{w[i2]}modn2 e'[2]=Πi=1 mei^{w'[i2]}modn2
<Absolute Value Proof Step S315>
The step of proving the magnitude of the absolute value will be described with reference to FIG. <Encryption Step S501> In 451 of FIG. 13, the following ciphertext is generated. e [2] = Π i = 1 m e i ^ {w [i2]} modn 2 e '[2] = Π i = 1 m e i ^ {w' [i2]} modn 2

【0104】絶対値の大きさの証明ステップでは、暗号
文e[2]、e'[2]を生成した係数w[i2]、w'[i2]全ての絶対
値が2Tを超えないことを証明する。e[2]とe'[2]に対す
る証明方法は同じであるため、以下にはe[2]に対する証
明についてのみ記述する。
In the proof step of the magnitude of the absolute value, all the absolute values of the coefficients w [i2] and w '[i2] that generate the ciphertexts e [2] and e' [2] do not exceed 2 T. Prove. Since the proof method for e [2] and e '[2] is the same, only the proof for e [2] will be described below.

【0105】<冪乗剰余積の生成ステップS502>図1
3の452において、乱数列v[i2]∈R[0、2T](i=1、
…、m)を生成し、455において、下記の冪乗剰余積を
計算する。 e[21]=Πi=1 mei^{v[i2]}modn2
<Step S502 of Generating Exponentiation Residue Product> FIG.
In 3 of the 452, the random number sequence v [i2] ∈ R [0,2 T] (i = 1,
, M) is generated, and at 455, the following modular exponentiation product is calculated. e [21] = Π i = 1 m e i ^ {v [i2]} modn 2

【0106】<挑戦値の生成ステップS503>図13の
456において、下記の挑戦値を計算する。 c[2]=Hash(n、g、ei、e[2]、e[21])mod2t
<Challenge Value Generation Step S503> In 456 of FIG. 13, the following challenge value is calculated. c [2] = Hash (n, g, e i , e [2], e [21]) mod2 t

【0107】<応答の生成ステップS504>図13の4
57において、i=1、…、mに関して下記の応答を計算す
る。 r[i2]=v[i2]+c[2]w[i2]
<Response Generation Step S504> 4 in FIG.
At 57, calculate the following response for i = 1, ..., M: r [i2] = v [i2] + c [2] w [i2]

【0108】<大きさの確認ステップS505>図13の
458において、 r[i2]∈[c[2]2T/2+1√{b-a}、2T](i=1、…、m) であれば、e[21]、r[i2]を絶対値の証明文とし、そうで
なければ、絶対値の証明ステップを最初からやり直す。
w[i2]∈[0、√{b-a}](i=1、…、m)である場合に、やり
直す確率は2-s以下である。
[0108] In 458 <size of confirmation step S505> FIG 13, r [i2] ∈ [ c [2] 2 T / 2 + 1 √ {ba}, 2 T] (i = 1, ..., m) If so, use e [21] and r [i2] as proof sentences for absolute values, and if not, repeat the proof step for absolute values from the beginning.
If w [i2] ∈ [0, √ {ba}] (i = 1, ..., m), the probability of redoing is 2 −s or less.

【0109】<証明文の出力ステップ304>確率公開鍵
暗号文の冪乗剰余積eの各指数係数が区間内にあること
の証明文として、暗号文e[1]、e'[1]及びこれらを生成
した係数w[i1]2、w'[i1]2全てが平方数であり、且つこ
の平文の平方根が2t+sDを超えないことの証明文22
3、225と、暗号文e[2]、e'[2]及びこれらを生成し
た係数w[i2]2、w'[i2]2全ての絶対値が2Tを超えないこ
との証明文222、224を出力する。
<Proof text output step 304> As the proof text that each exponent coefficient of the power-of-residue product e of the stochastic public key cryptogram is within the section, the cipher texts e [1], e '[1] and All the coefficients w [i1] 2 and w '[i1] 2 that generated these are square numbers, and the proof that the square root of this plaintext does not exceed 2 t + s D 22
3, 225, the ciphertexts e [2], e '[2], and the coefficients w [i2] 2 , w' [i2] 2 that generate them proof statement 222 that the absolute values of all do not exceed 2 T. , 224 are output.

【0110】次に確率公開鍵暗号文の冪乗剰余積の各指
数係数が指定された区間内にあることの検証方法の実施
例を図面を参照して説明する。図14と図15と図16
は本実施例の検証処理を説明するための図である。
Next, an embodiment of a method of verifying that each exponent coefficient of the power-of-residue product of the probabilistic public key ciphertext is within the designated section will be described with reference to the drawings. 14 and 15 and FIG.
FIG. 6 is a diagram for explaining a verification process of this embodiment.

【0111】<入力ステップS601>図15において、
暗号文列の生成元列500であるαi、βi(i=1、…、m)
と、冪乗剰余積e(221)を含む確率公開鍵暗号文の
冪乗剰余積eの各指数係数が区間内にあることの証明文
204等が入力される。そして以下に記される、分割の
検証ステップS611と、平方数の検証ステップS61
2と、絶対値の大きさの検証ステップS613の全てに
おいて証明が受理されたら、公開鍵暗号文の冪乗剰余積
の各指数係数が指定の区間内にあることを受理する。そ
の他の場合はこれを受理しない。
<Input Step S601> In FIG.
Α i , β i (i = 1, ..., M) that is the generation sequence 500 of the ciphertext sequence
And the proof sentence 204 and the like that each exponent coefficient of the exponentiation remainder product e of the probability public key ciphertext including the exponentiation remainder product e (221) is within the section. Then, a verification step S611 for division and a verification step S61 for square number, which will be described below.
2 and if the proof is accepted in all of the absolute value magnitude verification step S613, it is accepted that each exponential coefficient of the modular exponentiation product of the public key ciphertext is within the specified section. In other cases, it will not be accepted.

【0112】<分割の検証ステップS611>図14の5
01において、まず、 E=e^{2T}/g^{2Ti=1 mi+nβi)}modn2 E'=g^{2Ti=1 mi+nβi)}/e^{2T}modn2 を計算する。そして、 e[2]e[1]=E e'[2]e'[1]=E' であることを確認したら受理する。
<Verification Step S611 of Division> 5 in FIG.
In 01, first, E = e ^ {2 T } / g ^ {2 T a Σ i = 1 mi + nβ i )} mod n 2 E '= g ^ {2 T b Σ i = 1 mi Calculate + nβ i )} / e ^ {2 T } modn 2 . Then, if you confirm that e [2] e [1] = E e '[2] e' [1] = E ', then accept it.

【0113】<平方数の検証ステップS612>平方数の
検証ステップを図15を用いて説明する。平方数の検証
ステップでは、暗号文e[1](420)、e'[1]の平文が
平方数であり、この平文の平方根が2t+sDを超えないこ
とを検証する(図14の502)。e[1]とe'[1]に対す
る検証方法は同じであるため、以下にはe[1]に対する検
証についてのみ記述する。
<Square Number Verification Step S612> The square number verification step will be described with reference to FIG. In the square number verification step, it is verified that the plaintext of the ciphertext e [1] (420) and e '[1] is a square number, and the square root of this plaintext does not exceed 2 t + s D (FIG. 14). 502). Since the verification methods for e [1] and e '[1] are the same, only the verification for e [1] will be described below.

【0114】<挑戦値の生成ステップS701>図15の
520において、公開鍵205であるn、g、暗号文の列
であるei、暗号文420であるe[1]、2個の冪乗剰余積
423および424であるe[11]、e[12]、安全変数20
9であるtを使い、下記の挑戦値を計算する。 c[1]=Hash(n、g、ei、e[1]、e[11]、e[12])mod2t
<Challenge value generation step S701> In 520 of FIG. 15, the public keys 205 are n and g, the ciphertext sequence is e i , the ciphertext 420 is e [1], and two powers are used. The surplus products 423 and 424, e [11], e [12], and safety variable 20
Use t, which is 9, to calculate the challenge value below. c [1] = Hash (n, g, e i , e [1], e [11], e [12]) mod2 t

【0115】<復号ステップS702、乱数の生成ステ
ップS703>図15の511において、暗号文e[1]
(420)より、暗号文e[1]の平文x[11]を、 x[11]={(e[1]λmodn2)-1}/{(gλmodn2)-1} として求め、さらに513において、暗号化のための乱
数s[11](502)を秘密鍵λを用いて、下記のように
求める。 s[11]=(e[1]g-x[11])^(n-1modλ)modn
<Decryption Step S702, Random Number Generation Step S703> In 511 of FIG. 15, the ciphertext e [1]
From (420), the plaintext x [11] of the ciphertext e [1] is obtained as x [11] = {(e [1] λ modn 2 ) -1} / {(g λ modn 2 ) -1}. Further, at 513, a random number s [11] (502) for encryption is obtained using the secret key λ as follows. s [11] = (e [1] g -x [11] ) ^ (n -1 mod λ) modn

【0116】また、図15の511において、証明文の
要素423であるe[11]より、暗号文e[11]の平文x[12]
を、 x[12]={(e[11]λmodn2)-1}/{(gλmodn2)-1} として求め、さらに513において、暗号化のための乱
数s[12]を秘密鍵λを用いて下記のように求める。 s[12]=(e[11]g-x[12])^(n-1modλ)modn
Further, in 511 of FIG. 15, the plaintext x [12] of the ciphertext e [11] is calculated from the e [11] which is the element 423 of the prooftext.
As x [12] = {(e [11] λ modn 2 ) -1} / {(g λ modn 2 ) -1}, and at 513, keep a secret random number s [12] for encryption. The following is obtained using the key λ. s [12] = (e [11] g -x [12] ) ^ (n -1 mod λ) modn

【0117】更に、図15の511において、証明文の
要素424であるe[12]より、暗号文e[12]の平文x[13]
を、 x[13]={(e[12]λmodn2)-1}/{(gλmodn2)-1} として求め、さらに513において、暗号化のための乱
数s[13]を秘密鍵λを用いて下記のように求める。 s[13]=(e[12]g-x[13])^(n-1modλ)modn
Further, in 511 of FIG. 15, the plaintext x [13] of the ciphertext e [12] is calculated from e [12] which is the element 424 of the prooftext.
As x [13] = {(e [12] λ modn 2 ) -1} / {(g λ modn 2 ) -1}, and at 513, the random number s [13] for encryption is secret. The following is obtained using the key λ. s [13] = (e [12] g -x [13] ) ^ (n -1 mod λ) modn

【0118】<大きさの確認ステップS704>図15の
519において、 r[i1]∈[c[1]D、2t+sD](i=1、…、m) により大きさの確認を行い、生成元列500である
αi、βiを使い、挑戦値430であるc[1]の2乗を使っ
た下記の検証式が成り立つことを確認できれば、平方数
の検証を受理する。 x[11]c[1]2+x[12]c[1]+x[13]=Σi=1 mαir[i1]2(modn) s[11]^{c[1]2}s[12]^c[1]s[13]=g^{Σi=1 mβir[i1]2}(m
odn) e[1]の平文が平方数でない場合や、その平方根がn/2の
平方根よりも小さくない場合に、誤って受理してしまう
確率は、2-t'以下である。
<Size Confirmation Step S704> In 519 of FIG. 15, the size is confirmed by r [i1] ε [c [1] D, 2 t + s D] (i = 1, ..., M). Then, if it is confirmed that the following verification equation using the square of c [1] that is the challenge value 430 is satisfied using α i and β i that are the generator columns 500, the verification of the square number is accepted. x [11] c [1] 2 + x [12] c [1] + x [13] = Σ i = 1 m α i r [i1] 2 (modn) s [11] ^ {c [1] 2 } s [12] ^ c [1] s [13] = g ^ {Σ i = 1 m β i r [i1] 2 } (m
odn) If the plaintext of e [1] is not a square number, or if its square root is not less than the square root of n / 2, then the probability of false acceptance is less than 2 -t ' .

【0119】<絶対値の大きさの検証ステップS613>
絶対値の大きさの検証ステップを図16を参照して説明
する。この絶対値の大きさの検証ステップでは、暗号文
450であるe[2]、e'[2]の平文の絶対値が2Tを超えな
いことを検証する。e[2]とe'[2]に対する検証方法は同
じであるため、以下にはe[2]に対する検証についてのみ
記述する。
<Absolute Value Verification Step S613>
The step of verifying the magnitude of the absolute value will be described with reference to FIG. In the step of verifying the magnitude of the absolute value, it is verified that the absolute value of the plaintext of the ciphertext 450, e [2] and e ′ [2], does not exceed 2 T. Since the verification methods for e [2] and e '[2] are the same, only the verification for e [2] will be described below.

【0120】<挑戦値の生成ステップS801>図16の
530において、公開鍵205であるn、g、暗号文の列
であるei、暗号文450であるe[2]、冪乗剰余積454
であるe[21]、安全変数209であるtを用いて、挑戦値
c[2]=Hash(n、g、ei、e[2]、e[21])mod2tを計算する。
<Challenge value generation step S801> In 530 of FIG. 16, the public key 205 is n, g, the ciphertext sequence is e i , the ciphertext 450 is e [2], and the modular exponentiation 454.
Using e [21], which is t, and t, which is the safe variable 209,
c [2] = Hash (n, g, e i , e [2], e [21]) mod2 t is calculated.

【0121】<復号ステップS802、2種の乱数の生
成ステップS803>図16の532において、暗号文e
[2]より、暗号文e[2]の平文x[21]を x[21]={(e[2]λmodn2)-1}/{(gλmodn2)-1} として求め、さらに534において、暗号化のための乱
数533であるs[21]を秘密鍵λを用いて下記のように
求める。 s[21]=(e[2]g-x[21])^(n-1modλ)modn
<Decryption Step S802, Step S803 for Generating Two Kinds of Random Numbers> At 532 in FIG. 16, the ciphertext e
From [2], the plaintext x [21] of the ciphertext e [2] is obtained as x [21] = {(e [2] λ modn 2 ) -1} / {(g λ modn 2 ) -1}, Further, in 534, a random number 533 for encryption, s [21], is obtained using the secret key λ as follows. s [21] = (e [2] g -x [21] ) ^ (n -1 mod λ) modn

【0122】また、図16の532において、証明文の
要素454であるe[21]より、暗号文e[21]の平文x[22]
(535)を x[22]={(e[21]λmodn2)-1}/{(gλmodn2)-1} として求め、さらに暗号化のための乱数536であるs
[22]を秘密鍵λを用いて下記のように求める。 s[22]=(e[21]g-x[22])^(n-1modλ)modn
In 532 of FIG. 16, the plaintext x [22] of the ciphertext e [21] is calculated from the e [21] that is the element 454 of the prooftext.
(535) is obtained as x [22] = {(e [21] λ modn 2 ) -1} / {(g λ modn 2 ) -1}, and s is a random number 536 for encryption.
[22] is calculated as follows using the secret key λ. s [22] = (e [21] g -x [22] ) ^ (n -1 mod λ) modn

【0123】<大きさの確認ステップS804>図16の
537において、 r[i2]∈[c[2]2T/2+1√{b-a}、2T](i=1、…、m) により、大きさの確認を行い、生成元列500であるα
i、βiを使い、挑戦値c[2](461)の1次である下記
の検証式が成り立つことを確認できれば、絶対値の検証
を受理する。 x[21]c+x[22]=Σi=1 mαir[i2](modn) s[21]cs[22]=g^{Σi=1 mβir[i2]}(modn) e[2]の平文の絶対値が2Tよりも小さくない場合に、誤っ
て受理してしまう確率は、2-t'以下である。
[0123] In 537 <size of confirmation step S804> FIG 16, r [i2] ∈ [ c [2] 2 T / 2 + 1 √ {ba}, 2 T] (i = 1, ..., m) The size is confirmed by the
If it is confirmed that the following verification equation, which is the first order of the challenge value c [2] (461), is satisfied using i and β i , the verification of the absolute value is accepted. x [21] c + x [22] = Σ i = 1 m α i r [i2] (modn) s [21] c s [22] = g ^ {Σ i = 1 m β i r [i2]} If the absolute value of the plaintext of (modn) e [2] is not smaller than 2 T , the probability of false acceptance is 2 -t ' or less.

【0124】[正当性(1)]本実施例における、平方数の
証明ステップ及び平方数の検証ステップの正当性につい
て述べる。 W[i],Z[i],V[i] を、 e[1] =Πi=1 m ei [i] mod n^2 e[11]=Πi=1 m ei Z[i] mod n^2 e[12]=Πi=1 m ei V[i] mod n^2 を満たすもので、e[1],e[11],e[12] を生成した者が知
っている値であるとする。式 r[i1]2 = c[1]2 W[i] + c[1] Z[i] + V[i] mod n がなり立つ様な r[i1] 以外には、 x[11]c[1]2 +x[12]c[1] +x[13] = Σi=1 mαir[i1]2 mod
n s[11]^{c[1]2}s[12]^c[1] s[13] =g^{Σi=1 mβir[i1]2}
mod n の両式を満たす r[i1] を生成できる確率はたかだか2-t
である。この時、平方でないW[i] に対して、式 r[i1]2 =c[1]2 W[i] + c[1] Z[i] + V[i] mod n の右辺の平方根 r[i1] が存在する確率はたかだか{1 +t
log 2 }/2^t+1 である。これは無視できるほど小さい
ので, 検証が受理されるにはW[i] は平方でなければな
らない。また、 w[i1] ∈ [-2t+sD,2t+sD] でなければ、式 r[i1] ∈ [c[1] D,2t+sD](i=1,...,m) が満たされる確率はたかだか2^{-t}である。これは無視
できるほど小さいので, 検証が受理されるにはW[i] の
平方は、[-2t+sD,2t+sD]の範囲内になければならない。
本ステップから検証者には、 Σi=1 m αi w[i1]2 mod n, Σi=1 m αi v[i1]2 mod n, g^{Σi=1 m βi w[i1]2} mod n, g^{Σi=1 m βi v[i1]2} mod n の値しか漏れない。
[Validity (1)] The validity of the square number proof step and the square number verification step in this embodiment will be described. Let W [i], Z [i], V [i] be e [1] = Π i = 1 m e i [i] mod n ^ 2 e [11] = Π i = 1 m e i Z [i ] mod n ^ 2 e [12] = Π i = 1 m e i V [i] mod n ^ 2 is satisfied, and the person who generated e [1], e [11], e [12] knows Value. The expression r [i1] 2 = c [1] 2 W [i] + c [1] Z [i] + V [i] mod n, other than r [i1] such that x [11] c [1] 2 + x [12] c [1] + x [13] = Σ i = 1 m α i r [i1] 2 mod
n s [11] ^ {c [1] 2 } s [12] ^ c [1] s [13] = g ^ {Σ i = 1 m β i r [i1] 2 }
The probability of generating r [i1] that satisfies both mod n is at most 2 -t
Is. At this time, for non-square W [i], r [i1] 2 = c [1] 2 W [i] + c [1] Z [i] + V [i] mod n square root r The probability that [i1] exists is at most {1 + t
log 2} / 2 ^ t + 1 . This is negligibly small, so W [i] must be square for the verification to be accepted. If w [i1] ∈ [-2 t + s D, 2 t + s D], then the expression r [i1] ∈ [c [1] D, 2 t + s D] (i = 1 ,. The probability that .., m) will be satisfied is at most 2 ^ {-t}. This is negligibly small, so the square of W [i] must be in the range [ -2 t + s D, 2 t + s D] for the verification to be accepted.
From this step, the verifier asks Σ i = 1 m α i w [i1] 2 mod n, Σ i = 1 m α i v [i1] 2 mod n, g ^ {Σ i = 1 m β i w [ i1] 2 } mod n, g ^ {Σ i = 1 m β i v [i1] 2 } mod n only leaks.

【0125】[正当性(2)]本実施例における、絶対値の
大きさの証明ステップ及び絶対値の大きさの検証ステッ
プの正当性について述べる。 式 r[i2] = v[i2] + c[2] w[i2] で表されるr[i1]以外には、 x[21]c +x[22] = Σi=1 mαir[i2] mod n s[21]cs[22] =g^{Σi=1 mβir[i2]} mod n の両式を満たす r[i1] を生成できる確率はたかだか 2^
{-t}である。これは無視できるほど小さいので, 検証が
受理されるにはこの条件をが満たされなければならな
い。そして、 w[i2] ∈ [-2T,2T](i=1,...,m) でなければ、 r[i2] ∈ [c[2] 2T/2+1√{b-a},2T](i=1,...,m) が満たされる確率はたかだか2^{-t}である。これは無視
できるほど小さいので、検証が受理されるにはこの条件
が満たされなければならない。本ステップから検証者に
は、Σi=1 m αi w[i2] mod n, g^{Σi=1 m βi w[i2]} m
od nの値しか漏れない。
[Justification (2)] The justification of the proof step of the magnitude of the absolute value and the verification step of the magnitude of the absolute value in this embodiment will be described. In addition to r [i1] represented by the equation r [i2] = v [i2] + c [2] w [i2], x [21] c + x [22] = Σ i = 1 m α i r [i2] mod ns [21] c s [22] = g ^ {Σ i = 1 m β i r [i2]} The probability of generating r [i1] satisfying both mod n is at most 2 ^
It is {-t}. This is negligibly small, so this condition must be met for the verification to be accepted. Then, if w [i2] ∈ [-2 T , 2 T ] (i = 1, ..., m), then r [i2] ∈ [c [2] 2 T / 2 + 1 √ {ba} , 2 T ] (i = 1, ..., m) is at most 2 ^ {-t}. This is negligibly small, so this condition must be met for verification to be accepted. From this step, the verifier asks Σ i = 1 m α i w [i2] mod n, g ^ {Σ i = 1 m β i w [i2]} m
Only the value of od n is leaked.

【0126】[正当性(3)]本発明の「公開鍵暗号文の冪
乗剰余積の各指数係数が区間内にあることの証明方法、
公開鍵暗号文の冪乗剰余積の各指数係数が区間内にある
ことの検証方法」の正当性について述べる。. 正当性(1)、正当性(2) により示された、w[i1],w[i2],
w'[i1],w'[i2] に課せられる条件より、 wi が定められ
た区間内に存在することが分る。
[Validity (3)] According to the present invention, "a method for proving that each exponent coefficient of a power-residue product of a public-key cryptogram is within an interval,
The verification method for verifying that each exponential coefficient of the modular exponentiation of the public key ciphertext is within the section "is described. .W (i1], w [i2], shown by legitimacy (1), legitimacy (2),
From the conditions imposed on w '[i1], w' [i2], we can see that w i exists within the specified interval.

【0127】以上好ましい実施の形態および実施例を挙
げて本発明を説明したが、本発明は上記の実施の形態お
よび実施例に限定されるものではなく、その技術的思想
の範囲内において様々に変形して実施することができ
る。
Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea thereof. It can be modified and implemented.

【0128】[0128]

【発明の効果】以上説明したように本発明によれば、冪
乗剰余積の形式を有する確率公開鍵暗号文であってその
指数係数の列として、その値が指定された範囲にあるデ
ータ列を用いた確率公開鍵暗号文に対して、前記各指数
係数の値が指定された区間にあることを指数係数の値を
隠したまま一度に証明することのできる証明文を作成で
き、またその証明文に基づいて前記各指定係数の値が指
定された範囲にあることを検証することができる効果が
ある。
As described above, according to the present invention, a probabilistic public key ciphertext having the form of a modular exponentiation and a data string whose value is within a specified range as its exponential coefficient string With respect to the probability public key ciphertext using, it is possible to create a proof text that can at once prove that the value of each exponential coefficient is in the specified section, while hiding the value of the exponential coefficient, and that It is possible to verify that the value of each of the specified coefficients is within the specified range based on the proof sentence.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施の形態のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】本発明の一実施の形態の処理を説明するための
フローチャートである。
FIG. 2 is a flowchart for explaining the process of one embodiment of the present invention.

【図3】本発明の証明文作成装置の一例を示すブロック
図である。
FIG. 3 is a block diagram showing an example of a proof sentence creating apparatus of the present invention.

【図4】本発明の証明文作成装置による証明文の作成処
理を説明するためのフローチャートである。
FIG. 4 is a flow chart for explaining a proof text creation process by the proof text creation device of the present invention.

【図5】本発明の証明文作成装置による証明文の作成処
理を説明するためのフローチャートである。
FIG. 5 is a flow chart for explaining a proof sentence creating process by the proof sentence creating apparatus of the present invention.

【図6】本発明の証明文作成装置による証明文の作成処
理を説明するためのフローチャートである。
FIG. 6 is a flow chart for explaining a proof sentence creating process by the proof sentence creating apparatus of the present invention.

【図7】本発明の検証装置の一例を示すブロック図であ
る。
FIG. 7 is a block diagram showing an example of a verification device of the present invention.

【図8】本発明の検証装置による検証処理を説明するた
めのフローチャートである。
FIG. 8 is a flowchart for explaining a verification process by the verification device of the present invention.

【図9】本発明の検証装置による検証処理を説明するた
めのフローチャートである。
FIG. 9 is a flowchart for explaining a verification process by the verification device of the present invention.

【図10】本発明の検証装置による検証処理を説明する
ためのフローチャートである。
FIG. 10 is a flowchart for explaining a verification process by the verification device of the present invention.

【図11】本発明の証明文作成装置の処理を説明するた
めの図である。
FIG. 11 is a diagram for explaining the processing of the proof sentence creation device of the present invention.

【図12】本発明の証明文作成装置の処理を説明するた
めの図である。
FIG. 12 is a diagram for explaining the processing of the proof sentence creation device of the present invention.

【図13】本発明の証明文作成装置の処理を説明するた
めの図である。
FIG. 13 is a diagram for explaining the processing of the proof sentence creation device of the present invention.

【図14】本発明の検証装置の処理を説明するための図
である。
FIG. 14 is a diagram for explaining the processing of the verification device of the present invention.

【図15】本発明の検証装置の処理を説明するための図
である。
FIG. 15 is a diagram for explaining the processing of the verification device of the present invention.

【図16】本発明の検証装置の処理を説明するための図
である。
FIG. 16 is a diagram for explaining the processing of the verification device of the present invention.

【図17】従来技術を説明するための図である。FIG. 17 is a diagram for explaining a conventional technique.

【符号の説明】[Explanation of symbols]

101…検証者端末 102…証明者端末 111…データ記憶手段 112…公開情報記憶手段 113…証明文作成装置 114…処理結果受信装置 115…入出力装置 121…情報設定公開手段 122…情報記憶手段 123…検証装置 124…処理装置 101 ... Verifier terminal 102 ... Prover terminal 111 ... Data storage means 112 ... Public information storage means 113 ... Certificate producing device 114 ... Processing result receiving device 115 ... Input / output device 121 ... Information setting disclosure means 122 ... Information storage means 123 ... Verification device 124 ... Processing device

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 確率公開鍵暗号方式によって暗号化され
た確率公開鍵暗号文の列の指数係数の列による冪乗剰余
積の前記各指数係数の値が、指定された区間内にあるこ
とを証明するための証明文を作成し、かつ前記証明文に
基づいて前記各指数係数の値が前記指定された区間内に
あることを検証する証明システムにおいて、 前記確率公開鍵暗号方式の公開鍵と、前記指定された区
間を定める上限値および下限値と、前記確率公開鍵暗号
文の列と、前記指数係数の列と、正しく検証される確率
を規定する安全変数の値とに基づいて、前記各指数係数
の値の解読困難性を失うことなく前記各指数係数の値が
前記指定された区間内にあるか否かを判定するための前
記証明文を作成する証明文作成装置と、 検証対象の前記冪乗剰余積と、指定された範囲を定める
前記上限値および下限値と、前記確率公開鍵暗号方式の
公開鍵および秘密鍵と、前記安全変数と、前記確率公開
鍵暗号文の列と、前記確率公開鍵暗号文の列の暗号化に
使われた乱数の列と、前記証明文とに基づいて、前記冪
乗剰余積の各指数係数の値が前記指定された区間内にあ
るか否かを、前記安全変数で規定される以上の確率で検
証する検証装置とを備えた証明システム。
1. The value of each exponential coefficient of the exponentiation remainder product by the sequence of exponential coefficients of the sequence of probabilistic public key ciphertexts encrypted by the probabilistic public key cryptosystem is within a specified interval. In a proof system that creates a proof sentence for proof and verifies that the value of each exponential coefficient is within the specified section based on the proof sentence, a public key of the stochastic public key cryptosystem and , An upper limit value and a lower limit value that define the specified section, a sequence of the probability public key ciphertext, a sequence of the exponential coefficient, and a value of a safety variable that defines a probability of correct verification, A proof sentence creating device for creating the proof sentence for determining whether or not the value of each exponential coefficient is within the specified section without losing the decipherability of the value of each exponential coefficient; And the modular exponentiation of The upper and lower limits, the public key and the secret key of the stochastic public key cryptosystem, the safety variable, the sequence of the stochastic public key ciphertext, and the sequence of the probabilistic public key ciphertext. Whether the value of each exponential coefficient of the modular exponentiation product is within the specified interval based on the sequence of random numbers used for A proof system including a verification device that verifies with the probability of.
【請求項2】 前記証明文作成装置は、 前記指数係数の列の各指数係数の値から前記下限値を減
算した列である下限値との差の列と、前記上限値から前
記指数係数の列の各指数係数の値を減算した列である上
限値との差の列とを生成する両端値との差の列の生成部
と、 前記下限値との差の列および前記上限値との差の列の各
要素の値に安全変数及び区間を定める値により定められ
る第1の値を乗じて、拡大された下限値との差の列と拡
大された上限値との差の列とを生成する拡大部と、 前記拡大された下限値との差の列および前記拡大された
上限値との差の列の各要素に対して、それぞれその値よ
り小さい最大の平方数と、各要素の値から対応する前記
平方数を減算した差の値とを算出することにより、前記
拡大された下限値との差の列および前記拡大された上限
値との差の列を、前記平方数の列と前記差の値の列とに
分割する分割部と、 前記確率公開鍵暗号文の列の前記下限値に対応する前記
平方数の列による第1の冪乗剰余積と、前記確率公開鍵
暗号文の列の前記上限値に対応する前記平方数の列によ
る第2の冪乗剰余積とを求め、前記第1および第2の冪
乗剰余積の指数係数の列が平方数であることと、その平
方根が前記安全変数と区間を定める定数で定められる第
2の値を超えないこととの証明文を生成する平方数の証
明部と、 前記確率公開鍵暗号文の列の前記下限値に対応する前記
差の値の列による第3の冪乗剰余積と、前記確率公開鍵
暗号文の列の前記上限値に対応する前記差の値の列によ
る第4の冪乗剰余積とを求め、前記第3および第4の冪
乗剰余積の各指数係数の値の絶対値が前記第1の値より
小さいことの証明文を生成する絶対値の大きさの証明部
とを含む請求項1記載の証明システム。
2. The proof sentence creation device, wherein a difference column between a lower limit value, which is a column obtained by subtracting the lower limit value from the value of each exponential coefficient of the exponential coefficient column, and the upper limit value of the exponential coefficient. Of the difference column between the upper and lower limit values, which is a column obtained by subtracting the value of each exponential coefficient of the column, and the difference column between the lower limit value and the upper limit value. The value of each element of the difference column is multiplied by the first value determined by the value that defines the safety variable and the interval, and the difference column with the expanded lower limit value and the difference column with the expanded upper limit value are obtained. For each element of the expanding unit to generate, the column of the difference between the expanded lower limit value and the column of the difference between the expanded upper limit value, the maximum square number smaller than that value, and By calculating the difference value obtained by subtracting the corresponding square number from the value, the difference between the expanded lower limit value and the column And a division unit that divides the column of the difference between the expanded upper limit value and the column of the square number and the column of the difference value, and the division unit that corresponds to the lower limit value of the column of the probability public key ciphertext. A first exponentiation remainder product by a sequence of square numbers and a second exponentiation remainder product by the sequence of square numbers corresponding to the upper limit value of the sequence of the probability public key ciphertext are obtained, and the first and A square that generates a proof that the sequence of exponential coefficients of the second exponentiation remainder product is a square number and that the square root does not exceed the second value defined by the safety variable and a constant that defines the interval. A proof part of a number, a third power residue product by the sequence of the difference values corresponding to the lower limit value of the sequence of the probability public key ciphertext, and the upper limit value of the sequence of the probability public key cryptogram. A fourth exponentiation remainder product is obtained from the corresponding sequence of the difference values, and each exponent coefficient of the third and fourth exponentiation remainder product is calculated. Certification system according to claim 1, wherein the absolute value and a proof of the magnitude of the absolute value to generate a proof text for less than the first value of the values.
【請求項3】 前記検証装置は、 前記確率公開鍵暗号文の列の全ての要素の積に前記下限
値を乗じた値を求め、この値で、検証対象の前記冪乗剰
余積を公開鍵である法の元で割り、それを前記第1の値
を使って拡大した値を求め、この値が、前記第1の冪乗
剰余積と前記第3の冪乗剰余積との積に等しいことを確
認し、且つ、前記確率公開鍵暗号文の列の全ての要素の
積に前記上限値を乗じた値を求め、この値で、検証対象
の前記冪乗剰余積を公開鍵である法の元で割り、それを
前記第1の値を使って拡大した値を求め、この値が、前
記第2の冪乗剰余積と前記第4の冪乗剰余積との積に等
しいことを確認し、前記二つの確認ができれば分割の検
証受理を出力する分割検証部と、 前記第1の冪乗剰余積の各指数係数の値が平方数である
ことと、その平方根が前記第2の値を超えないことを検
証し、且つ、前記第2の冪乗剰余積の各指数係数の値が
平方数であることと、その平方根が前記第2の値を超え
ないことを検証し、前記二つの検証ができれば平方数の
検証受理を出力する平方数の検証部と、 前記第3の冪乗剰余積の各指数係数の値が前記第1の値
を超えないことを検証し、且つ、前記第4の冪乗剰余積
の各指数係数の値が前記第1の値を超えないことを検証
し、前記二つの検証ができれば絶対値の大きさの検証受
理を出力する絶対値の大きさの検証部とを含む請求項2
記載の証明システム。
3. The verification device obtains a value obtained by multiplying the product of all the elements of the sequence of the probability public key ciphertext by the lower limit value, and by this value, the exponentiation remainder product of the verification target is obtained by the public key. Is divided by a modulo element to obtain an expanded value using the first value, and this value is equal to the product of the first exponentiation remainder product and the third exponentiation remainder product. And obtain a value obtained by multiplying the product of all the elements of the sequence of the probability public key ciphertext by the upper limit value, and by using this value, the exponentiation remainder product to be verified is a public key And divide it by the first value to find an expanded value, and confirm that this value is equal to the product of the second power residue product and the fourth power residue product. If the above two confirmations can be made, a division verification unit that outputs a verification acceptance of division, and the value of each exponential coefficient of the first exponentiation remainder product is a square number, It is verified that the square root does not exceed the second value, and that the value of each exponential coefficient of the second power residue product is a square number, and that the square root exceeds the second value. If the two verifications are possible, a verification unit for a square number that outputs a verification acceptance of a square number, and a value of each exponential coefficient of the third exponentiation remainder product does not exceed the first value. It is verified that the value of each exponential coefficient of the fourth power-residue product does not exceed the first value, and if the two verifications are successful, the verification of the magnitude of the absolute value is accepted. A verification unit for verifying the magnitude of the absolute value to be output.
Proof system described.
【請求項4】前記平方数の証明部は、 前記第1および第2の冪乗剰余積を生成する暗号化部
と、 前記下限値に対応する第1の乱数列と前記上限値に対応
する第2の乱数列とを生成する乱数生成部と、 前記下限値に対応する前記平方数の列の各要素の平方根
と前記下限値に対応する第1の乱数列の各要素と2とを
乗じた数列による、前記確率公開鍵暗号文の列の冪乗剰
余積である第5の冪乗剰余積と、前記上限値に対応する
前記平方数の列の各要素の平方根と前記第2の乱数列の
各要素と2とを乗じた数列による、前記確率公開鍵暗号
文の列の冪乗剰余積である第6の冪乗剰余積とを生成す
る冪乗剰余積生成部と、 前記下限値に対応する前記第1の乱数列の各要素の平方
の数列による、前記確率公開鍵暗号文の列の冪乗剰余積
である第7の冪乗剰余積と、前記上限値に対応する前記
第2の乱数列の各要素の平方の数列による、前記確率公
開鍵暗号文の列の冪乗剰余積である第8の冪乗剰余積と
を生成する乱数の冪乗剰余積生成部と、前記公開鍵、前
記確率公開鍵暗号文の列、前記第1、第5および第7の
冪乗剰余積を入力に含むハッシュ関数の出力である下限
値に対応する第1の挑戦値と、前記公開鍵、前記確率公
開鍵暗号文の列、前記第2、第6および第8の冪乗剰余
積を入力に含むハッシュ関数の出力である上限値に対応
する第2の挑戦値とを生成する挑戦値生成部と、 前記下限値に対応する前記第1の乱数列の各要素と下限
値に対応する前記平方数の列の各要素の平方根と第1の
挑戦値の積の列との、和の列である下限値に対応する第
1の応答と、前記上限値に対応する前記第2の乱数列の
各要素と上限値に対応する前記平方数の列の各要素の平
方根と前記第1の挑戦値の積の列との、和の列である上
限値に対応する第2の応答とを生成する応答生成部と、 前記第1の応答の要素全てが、安全変数と区間の大きさ
と前記第1の挑戦値より定められる定数により定められ
る第1の区間の中にないか、前記第2の応答の要素全て
が、安全変数と区間の大きさと第2の挑戦値より定めら
れる定数により定められる第2の区間の中になければ、
平方数の証明を最初からやり直す大きさ確認部とを含む
請求項2記載の証明システム。
4. The square number proof section corresponds to the encryption section for generating the first and second power-residue products, the first random number sequence corresponding to the lower limit value, and the upper limit value. A random number generator for generating a second random number sequence, a square root of each element of the sequence of square numbers corresponding to the lower limit value, and each element of the first random number sequence corresponding to the lower limit value and 2 The fifth exponentiation remainder product, which is the exponentiation remainder product of the probability public key ciphertext sequence, and the square root of each element of the sequence of square numbers corresponding to the upper limit, and the second random number A power-residue product generation unit that generates a sixth power-residue product that is a power-residue product of the sequence of the stochastic public key ciphertext by a sequence obtained by multiplying each element of the sequence by 2 and the lower-limit value The seventh power which is the modular exponentiation of the sequence of the stochastic public key ciphertext by the squared sequence of each element of the first random number sequence corresponding to Generate an extra product and an eighth exponentiation remainder product, which is the exponentiation remainder product of the sequence of the stochastic public key ciphertext, by the squared sequence of each element of the second random number sequence corresponding to the upper limit value. A random exponentiation product generator, a lower limit value that is an output of a hash function including the public key, the sequence of the probabilistic public key ciphertext, and the first, fifth, and seventh exponentiation remainder products as inputs. To the upper limit value which is the output of the hash function including the public key, the sequence of the probabilistic public key ciphertexts, and the second, sixth, and eighth exponentiation modulo products corresponding to A challenge value generator that generates a corresponding second challenge value; a square root of each element of the first random number sequence corresponding to the lower limit value and a square root of each element of the square number sequence corresponding to the lower limit value; A first response corresponding to a lower bound, which is a column of sums, with a sequence of product of one challenge value, and the first response corresponding to the upper bound. Second response corresponding to an upper limit value which is a summation column of the square root of each element of the random number sequence corresponding to the upper limit and the square root of each element of the square number sequence and the first challenge value And a response generation unit that generates a value, and all of the elements of the first response are within a first interval defined by a safety variable, a size of the interval, and a constant determined from the first challenge value. If all the elements of the second response are not within the second interval defined by the safety variable, the size of the interval, and the constant determined by the second challenge value,
The proof system according to claim 2, further comprising a size confirmation unit for redoing the proof of the square number from the beginning.
【請求項5】前記平方数の検証部は、 前記第1の挑戦値と前記第2の挑戦値とを生成する挑戦
値生成部と、 前記第1、第2、第5、第6、第7、第8の冪乗剰余積
それぞれの平文である第1、第2、第5、第6、第7、
第8の平文を前記秘密鍵により生成する復号部と、 前記第1、第2、第5、第6、第7、第8の冪乗剰余積
それぞれを生成するのに用いた乱数である第1、第2、
第5、第6、第7、第8の乱数を秘密鍵により生成する
乱数生成部と、 前記第1の応答の要素全てが前記第1の区間の中にある
かと、前記第2の応答の要素全てが前記第2の区間の中
にあるかとを確認する大きさ確認部と、 前記確率公開鍵暗号文の列の平文と前記確率公開鍵暗号
文の生成に用いられた乱数とを用いて、前記下限値に対
応する前記第1の挑戦値の2次式と前記第1の応答の2次
式を用いた第1の検証式が成り立つことと、前記上限値
に対応する第2の挑戦値の2次式と前記第2の応答の2次
式を用いた第2の検証式が成り立つことを確認する2次
式による検証部とを含む請求項4記載の証明システム。
5. The square number verification unit includes a challenge value generation unit that generates the first challenge value and the second challenge value, and the first, second, fifth, sixth, and sixth challenge values. The first, second, fifth, sixth, seventh, and plaintexts of the seventh and eighth exponentiation remainder products, respectively.
A decryption unit that generates an eighth plaintext using the secret key, and a random number that is used to generate each of the first, second, fifth, sixth, seventh, and eighth power remainder products. 1, second,
A random number generator for generating fifth, sixth, seventh, and eighth random numbers with a secret key; whether all elements of the first response are within the first interval; Using a size confirmation unit that confirms whether all the elements are in the second section, the plaintext of the sequence of the probability public key ciphertext, and the random number used for generating the probability public key ciphertext , A first verification equation using a quadratic expression of the first challenge value corresponding to the lower limit value and a quadratic expression of the first response, and a second challenge corresponding to the upper limit value. The proof system according to claim 4, further comprising: a quadratic verification unit that confirms that a second verification formula using a quadratic formula of a value and a quadratic formula of the second response holds.
【請求項6】前記絶対値の大きさの証明部は、 第3および第4の冪乗剰余積を生成する暗号化部と、 前記下限値に対応する第3の乱数列と上限値に対応する
第4の乱数列を生成する乱数生成部と、 前記下限値に対応する前記第3の乱数列による、前記確
率公開鍵暗号文の列の冪乗剰余積である第9の冪乗剰余
積と、前記上限値に対応する前記第4の乱数列による、
前記確率公開鍵暗号文の列の冪乗剰余積である第10の
冪乗剰余積とを生成する冪乗剰余積生成部と、 前記公開鍵、前記確率公開鍵暗号文の列、前記第3およ
び第9の冪乗剰余積とを入力に含むハッシュ関数の出力
である下限値に対応する第3の挑戦値と、前記公開鍵、
前記確率公開鍵暗号文の列、前記第4および第10の冪
乗剰余積とを入力に含むハッシュ関数の出力である上限
値に対応する第4の挑戦値とを生成する挑戦値生成部
と、 下限値に対応する前記第3の乱数列の各要素と下限値に
対応する前記平方数との差の列と下限値に対応する前記
第3の挑戦値の積の列との、和の列である下限値に対応
する第3の応答と、上限値に対応する前記第4の乱数列
の各要素と前記上限値に対応する前記平方数との差の列
と上限値に対応する前記第4の挑戦値の積の列との、和
の列である上限値に対応する第4の応答とを生成する応
答生成部と、 前記第3の応答の要素全てが、安全変数と区間の大きさ
と前記第3の挑戦値より定められる定数により定められ
る第3の区間の中にないか、前記第4の応答の要素全て
が、安全変数と区間の大きさと前記第4の挑戦値より定
められる定数により定められる第4の区間の中になけれ
ば、絶対値の大きさの証明処理を最初からやり直す大き
さ確認部とを備えた請求項4記載の証明システム。
6. The proof part of the magnitude of the absolute value corresponds to an encryption part for generating third and fourth exponentiation modulo products, and a third random number sequence corresponding to the lower limit and an upper limit. A ninth random exponentiation product which is a modular exponentiation product of the sequence of the stochastic public key ciphertext by the random number generation unit that generates the fourth random number sequence and the third random number sequence corresponding to the lower limit value. And the fourth random number sequence corresponding to the upper limit,
A power-residual-residue generating unit that generates a tenth power-residual-residue that is a power-residual-residual product of the sequence of probabilistic public-key ciphertexts; the public key, the sequence of probabilistic public-key ciphertexts, and the third; And a third challenge value corresponding to the lower limit value which is the output of the hash function including the input and the ninth exponentiation remainder product, and the public key,
A challenge value generation unit that generates a fourth challenge value corresponding to an upper limit value that is an output of a hash function including the sequence of the probabilistic public key ciphertext and the fourth and tenth modular exponentiation as inputs. , The sum of the sequence of the difference between each element of the third random number sequence corresponding to the lower limit and the square number corresponding to the lower limit and the sequence of the product of the third challenge values corresponding to the lower limit A third response corresponding to a lower limit which is a sequence, a sequence of differences between each element of the fourth random number sequence corresponding to the upper limit and the square number corresponding to the upper limit, and the above corresponding to the upper limit A response generation unit that generates a fourth product row of challenge values and a fourth response corresponding to an upper limit value that is a sum row, and all elements of the third response include a safety variable and an interval. Is not within the third interval defined by the magnitude and the constant defined by the third challenge value, or is all the elements of the fourth response , A size confirmation unit for redoing the absolute value size proof process from the beginning unless it is within the fourth interval defined by the safety variable, the interval size, and the constant defined by the fourth challenge value. The proof system according to claim 4.
【請求項7】前記絶対値の大きさの検証部は、 前記第3の挑戦値と前記第4の挑戦値とを生成する挑戦
値生成部と、 前記第3、第4、第9および第10の冪乗剰余積のそれ
ぞれの平文である第3、第4、第9および第10の平文
を秘密鍵により生成する復号部と、 前記第3、第4、第9、第10の冪乗剰余積を生成する
のに用いられた第3、第4、第9および第10の乱数を
秘密鍵により生成する乱数生成部と、 前記第3の応答の要素全てが前記第3の区間の中にある
かと、前記第4の応答の要素全てが前記第4の区間の中
にあるかとを確認する大きさ確認部と、 下限値に対応する前記第3の挑戦値の1次式と前記第3
の応答の1次式を用いた第3の検証式が成り立つこと
と、上限値に対応する前記第4の挑戦値の1次式と前記
第4の応答の1次式を用いた第4の検証式が成り立つこ
とを確認する1次式による検証部とを含む請求項6記載
の証明システム。
7. An absolute value magnitude verification unit, a challenge value generation unit that generates the third challenge value and the fourth challenge value, and the third, fourth, ninth, and ninth challenge values. A decryption unit that generates the third, fourth, ninth, and tenth plaintexts, which are the plaintexts of the tenths modular exponentiation, with a secret key; and the third, fourth, ninth, and tenth powers. A random number generator for generating a third, fourth, ninth, and tenth random number used to generate a remainder product with a secret key; and all elements of the third response in the third section. And a size confirmation unit that confirms whether all the elements of the fourth response are in the fourth section, and a linear expression of the third challenge value corresponding to a lower limit value and the first Three
The third verification expression using the linear expression of the response of is satisfied, and the fourth linear expression of the fourth challenge value corresponding to the upper limit value and the fourth linear expression of the fourth response are used. 7. The proof system according to claim 6, further comprising: a verification unit based on a linear expression that confirms that the verification expression holds.
【請求項8】 確率公開鍵暗号方式によって暗号化され
た確率公開鍵暗号文の列の指数係数の列による冪乗剰余
積の前記各指数係数の値が、指定された区間内にあるこ
とを証明するための証明文を作成し、かつ前記証明文に
基づいて前記各指数係数の値が前記指定された区間内に
あることを検証する証明方法において、 前記確率公開鍵暗号方式の公開鍵と、前記指定された区
間を定める上限値および下限値と、前記確率公開鍵暗号
文の列と、前記指数係数の列と、正しく検証される確率
を規定する安全変数の値とに基づいて、前記各指数係数
の値の解読困難性を失うことなく前記各指数係数の値が
前記指定された区間内にあるか否かを判定するための前
記証明文を作成する証明文作成ステップと、 検証対象の前記冪乗剰余積と、指定された範囲を定める
前記上限値および下限値と、前記確率公開鍵暗号方式の
公開鍵および秘密鍵と、前記安全変数と、前記確率公開
鍵暗号文の列と、前記確率公開鍵暗号文の列の暗号化に
使われた乱数の列と、前記証明文とに基づいて、前記冪
乗剰余積の各指数係数の値が前記指定された区間内にあ
るか否かを、前記安全変数で規定される以上の確率で検
証する検証ステップとを含む証明方法。
8. The value of each exponential coefficient of the modular exponentiation product of the sequence of exponential coefficients of the sequence of probabilistic public key ciphertext encrypted by the probabilistic public key cryptosystem is within a specified section. In a proof method for creating a proof sentence for proof and verifying that the value of each exponential coefficient is within the specified section based on the proof sentence, a public key of the stochastic public key cryptosystem and , An upper limit value and a lower limit value that define the specified section, a sequence of the probability public key ciphertext, a sequence of the exponential coefficient, and a value of a safety variable that defines a probability of correct verification, A proof statement creating step for creating the proof statement for determining whether or not the value of each exponential coefficient is within the specified section without losing the decipherability of the value of each exponential coefficient; And the modular exponentiation of The upper and lower limits, the public key and the secret key of the stochastic public key cryptosystem, the safety variable, the sequence of the stochastic public key ciphertext, and the sequence of the probabilistic public key ciphertext. Whether the value of each exponential coefficient of the modular exponentiation product is within the specified interval based on the sequence of random numbers used for And a verification step of verifying with the probability of.
【請求項9】 前記証明文作成ステップは、 前記指数係数の列の各指数係数の値から前記下限値を減
算した列である下限値との差の列と、前記上限値から前
記指数係数の列の各指数係数の値を減算した列である上
限値との差の列とを生成する両端値との差の列の生成ス
テップと、前記下限値との差の列および前記上限値との
差の列の各要素の値に安全変数及び区間を定める値によ
り定められる第1の値を乗じて、拡大された下限値との
差の列と拡大された上限値との差の列とを生成する拡大
ステップと、前記拡大された下限値との差の列および前
記拡大された上限値との差の列の各要素に対して、それ
ぞれその値より小さい最大の平方数と、各要素の値から
対応する前記平方数を減算した差の値とを算出すること
により、前記拡大された下限値との差の列および前記拡
大された上限値との差の列を、前記平方数の列と前記差
の値の列とに分割する分割ステップと、 前記確率公開鍵暗号文の列の前記下限値に対応する前記
平方数の列による第1の冪乗剰余積と、前記確率公開鍵
暗号文の列の前記上限値に対応する前記平方数の列によ
る第2の冪乗剰余積とを求め、前記第1および第2の冪
乗剰余積の指数係数の列が平方数であることと、その平
方根が前記安全変数と区間を定める定数で定められる第
2の値を超えないこととの証明文を生成する平方数の証
明ステップと、 前記確率公開鍵暗号文の列の前記下限値に対応する前記
差の値の列による第3の冪乗剰余積と、前記確率公開鍵
暗号文の列の前記上限値に対応する前記差の値の列によ
る第4の冪乗剰余積とを求め、前記第3および第4の冪
乗剰余積の各指数係数の値の絶対値が前記第1の値より
小さいことの証明文を生成する絶対値の大きさの証明ス
テップとを含む請求項8記載の証明方法。
9. The proof sentence creating step includes a column of a difference from a lower limit value, which is a column obtained by subtracting the lower limit value from a value of each exponential coefficient in the column of the exponential coefficient, and a column of the exponential coefficient from the upper limit value. A step of generating a difference column between both end values and a column of difference between the upper limit value which is a column obtained by subtracting the value of each exponential coefficient of the column, and a column of difference between the lower limit value and the upper limit value. The value of each element of the difference column is multiplied by the first value determined by the value that defines the safety variable and the interval, and the difference column with the expanded lower limit value and the difference column with the expanded upper limit value are obtained. For each element of the expanding step of generating and the row of the difference between the expanded lower limit value and the row of the difference between the expanded upper limit value, the maximum square number smaller than that value, and The expanded lower limit is calculated by calculating the difference value obtained by subtracting the corresponding square number from the value. A dividing step of dividing the difference column with the difference value column and the enlarged difference value column with the expanded upper limit value into the square number column and the difference value column, and the lower limit of the probability public key ciphertext column. A first exponentiation remainder product by the sequence of the square numbers corresponding to the value and a second exponentiation remainder product by the sequence of the square numbers corresponding to the upper limit value of the sequence of the probability public key ciphertext are obtained. , Proof that the sequence of exponential coefficients of the first and second exponentiation remainder products is a square number, and that the square root does not exceed a second value defined by the safety variable and a constant defining an interval. A proof step of a square number for generating a sentence, a third power residue product by a sequence of the difference values corresponding to the lower limit value of the sequence of the probability public key ciphertext, and a sequence of the probability public key ciphertext And a fourth power residue product of the sequence of the difference values corresponding to the upper limit value of Certification The method of claim 8, wherein the absolute value and a certificate step of the magnitude of the absolute value to generate a proof text for less than the first value of the fourth power of the value of each index coefficients of the remainder product.
【請求項10】 前記検証ステップは、 前記確率公開鍵暗号文の列の全ての要素の積に前記下限
値を乗じた値を求め、この値で、検証対象の前記冪乗剰
余積を公開鍵である法の元で割り、それを前記第1の値
を使って拡大した値を求め、この値が、前記第1の冪乗
剰余積と前記第3の冪乗剰余積との積に等しいことを確
認し、且つ、前記確率公開鍵暗号文の列の全ての要素の
積に前記上限値を乗じた値を求め、この値で、検証対象
の前記冪乗剰余積を公開鍵である法の元で割り、それを
前記第1の値を使って拡大した値を求め、この値が、前
記第2の冪乗剰余積と前記第4の冪乗剰余積との積に等
しいことを確認し、前記二つの確認ができれば分割の検
証受理を出力する分割検証ステップと、 前記第1の冪乗剰余積の各指数係数の値が平方数である
ことと、その平方根が前記第2の値を超えないことを検
証し、且つ、前記第2の冪乗剰余積の各指数係数の値が
平方数であることと、その平方根が前記第2の値を超え
ないことを検証し、前記二つの検証ができれば平方数の
検証受理を出力する平方数の検証ステップと、 前記第3の冪乗剰余積の各指数係数の値が前記第1の値
を超えないことを検証し、且つ、前記第4の冪乗剰余積
の各指数係数の値が前記第1の値を超えないことを検証
し、前記二つの検証ができれば絶対値の大きさの検証受
理を出力する絶対値の大きさの検証ステップとを含む請
求項9記載の証明方法。
10. The verification step obtains a value obtained by multiplying the product of all the elements of the sequence of the probability public key ciphertext by the lower limit value, and using this value, the exponentiation remainder product of the verification target is obtained by the public key. Is divided by a modulo element to obtain an expanded value using the first value, and this value is equal to the product of the first exponentiation remainder product and the third exponentiation remainder product. And obtain a value obtained by multiplying the product of all the elements of the sequence of the probability public key ciphertext by the upper limit value, and by using this value, the exponentiation remainder product to be verified is a public key And divide it by the first value to find an expanded value, and confirm that this value is equal to the product of the second power residue product and the fourth power residue product. If the above two confirmations are made, a division verification step of outputting a verification acceptance of division, and a value of each exponential coefficient of the first exponentiation remainder product is a square number That the square root does not exceed the second value, and that the value of each exponential coefficient of the second power residue product is a square number, and that the square root is the second value. Of the exponential coefficient of the third exponentiation remainder product, and the value of each exponential coefficient of the third exponentiation remainder product is verified as follows: It is verified that the value does not exceed the value, and that the value of each exponential coefficient of the fourth power residue product does not exceed the first value. If the above two verifications can be performed, the magnitude of the absolute value can be verified. 10. The proof method according to claim 9, further comprising the step of verifying the magnitude of the absolute value, which outputs the verification acceptance of.
【請求項11】前記平方数の証明ステップは、 前記第1および第2の冪乗剰余積を生成する暗号化ステ
ップと、 前記下限値に対応する第1の乱数列と前記上限値に対応
する第2の乱数列とを生成する乱数生成ステップと、 前記下限値に対応する前記平方数の列の各要素の平方根
と前記下限値に対応する第1の乱数列の各要素と2とを
乗じた数列による、前記確率公開鍵暗号文の列の冪乗剰
余積である第5の冪乗剰余積と、前記上限値に対応する
前記平方数の列の各要素の平方根と前記第2の乱数列の
各要素と2とを乗じた数列による、前記確率公開鍵暗号
文の列の冪乗剰余積である第6の冪乗剰余積とを生成す
る冪乗剰余積生成ステップと、 前記下限値に対応する前記第1の乱数列の各要素の平方
の数列による、前記確率公開鍵暗号文の列の冪乗剰余積
である第7の冪乗剰余積と、前記上限値に対応する前記
第2の乱数列の各要素の平方の数列による、前記確率公
開鍵暗号文の列の冪乗剰余積である第8の冪乗剰余積と
を生成する乱数の冪乗剰余積生成ステップと、 前記公開鍵、前記確率公開鍵暗号文の列、前記第1、第
5および第7の冪乗剰余積を入力に含むハッシュ関数の
出力である下限値に対応する第1の挑戦値と、前記公開
鍵、前記確率公開鍵暗号文の列、前記第2、第6および
第8の冪乗剰余積を入力に含むハッシュ関数の出力であ
る上限値に対応する第2の挑戦値とを生成する挑戦値生
成ステップと、 前記下限値に対応する前記第1の乱数列の各要素と下限
値に対応する前記平方数の列の各要素の平方根と第1の
挑戦値の積の列との、和の列である下限値に対応する第
1の応答と、前記上限値に対応する前記第2の乱数列の
各要素と上限値に対応する前記平方数の列の各要素の平
方根と前記第1の挑戦値の積の列との、和の列である上
限値に対応する第2の応答とを生成する応答生成ステッ
プと、 前記第1の応答の要素全てが、安全変数と区間の大きさ
と前記第1の挑戦値より定められる定数により定められ
る第1の区間の中にないか、前記第2の応答の要素全て
が、安全変数と区間の大きさと第2の挑戦値より定めら
れる定数により定められる第2の区間の中になければ、
平方数の証明を最初からやり直す大きさ確認ステップと
を含む請求項9記載の証明方法。
11. The square number proof step corresponds to an encryption step for generating the first and second power-residue products, a first random number sequence corresponding to the lower limit value and the upper limit value. A random number generating step of generating a second random number sequence; multiplying a square root of each element of the sequence of square numbers corresponding to the lower limit value by each element of the first random number sequence corresponding to the lower limit value by 2; The fifth exponentiation remainder product, which is the exponentiation remainder product of the probability public key ciphertext sequence, and the square root of each element of the sequence of square numbers corresponding to the upper limit, and the second random number A modular exponentiation product generating step for generating a sixth exponentiation modular exponentiation which is a modular exponentiation modular exponentiation of the sequence of the stochastic public key ciphertext by a numerical sequence obtained by multiplying each element of the sequence by 2 and the lower limit value Of the probability public key ciphertext sequence by the squared sequence of each element of the first random number sequence corresponding to It is a modular exponentiation product of the sequence of the stochastic public key ciphertext by a seventh modular exponentiation product that is a modular exponentiation product and a sequence of squares of each element of the second random number sequence corresponding to the upper limit value. An exponentiation modular exponentiation step for generating an eighth exponentiation modular exponentiation, and inputting the public key, the sequence of the stochastic public key ciphertext, the first, fifth and seventh exponentiation modular exponentiation The first challenge value corresponding to the lower limit value which is the output of the hash function, the public key, the sequence of the stochastic public key ciphertexts, and the second, sixth, and eighth power modulo products are input. A challenge value generation step of generating a second challenge value corresponding to an upper limit value that is an output of the hash function including; each element of the first random number sequence corresponding to the lower limit value and the square corresponding to the lower limit value. The square root of each element of the number sequence and the product row of the first challenge value, which corresponds to the lower bound that is the sum column A response of 1 and a column of a product of the square root of each element of the second random number sequence corresponding to the upper limit value and each element of the sequence of square numbers corresponding to the upper limit value and the first challenge value, A response generation step of generating a second response corresponding to an upper limit value which is a sequence of sums; all elements of the first response are constants defined by a safety variable, an interval size, and the first challenge value. Or not all the elements of the second response are in the second interval defined by the safety variable, the size of the interval and the constant determined by the second challenge value. If
10. The proof method according to claim 9, further comprising a step of confirming the size of starting the proof of the square number from the beginning.
【請求項12】前記平方数の検証ステップは、 前記第1の挑戦値と前記第2の挑戦値とを生成する挑戦
値生成ステップと、 前記第1、第2、第5、第6、第7、第8の冪乗剰余積
それぞれの平文である第1、第2、第5、第6、第7、
第8の平文を前記秘密鍵により生成する復号ステップ
と、 前記第1、第2、第5、第6、第7、第8の冪乗剰余積
それぞれを生成するのに用いた乱数である第1、第2、
第5、第6、第7、第8の乱数を秘密鍵により生成する
乱数生成ステップと、 前記第1の応答の要素全てが前記第1の区間の中にある
かと、前記第2の応答の要素全てが前記第2の区間の中
にあるかとを確認する大きさ確認ステップと、 前記確率公開鍵暗号文の列の平文と前記確率公開鍵暗号
文の生成に用いられた乱数とを用いて、前記下限値に対
応する前記第1の挑戦値の2次式と前記第1の応答の2次
式を用いた第1の検証式が成り立つことと、前記上限値
に対応する第2の挑戦値の2次式と前記第2の応答の2次
式を用いた第2の検証式が成り立つことを確認する2次
式による検証ステップとを含む請求項11記載の証明シ
ステム。
12. The square number verification step includes a challenge value generation step of generating the first challenge value and the second challenge value, and the first, second, fifth, sixth, and sixth challenge values. The first, second, fifth, sixth, seventh, and plaintexts of the seventh and eighth exponentiation remainder products, respectively.
A decryption step of generating an eighth plaintext using the secret key; and a random number used to generate each of the first, second, fifth, sixth, seventh, and eighth power remainder products. 1, second,
A random number generation step of generating fifth, sixth, seventh, and eighth random numbers with a secret key; whether all elements of the first response are within the first interval; Using a size confirmation step for confirming whether all the elements are in the second section, the plaintext of the sequence of the stochastic public key ciphertext, and the random number used for generating the stochastic public key ciphertext , A first verification equation using a quadratic expression of the first challenge value corresponding to the lower limit value and a quadratic expression of the first response, and a second challenge corresponding to the upper limit value. The proof system according to claim 11, further comprising a quadratic verification step for confirming that a second verification expression using a quadratic expression of a value and a quadratic expression of the second response holds.
【請求項13】前記絶対値の大きさの証明ステップは、 第3および第4の冪乗剰余積を生成する暗号化ステップ
と、 前記下限値に対応する第3の乱数列と上限値に対応する
第4の乱数列を生成する乱数生成ステップと、 前記下限値に対応する前記第3の乱数列による、前記確
率公開鍵暗号文の列の冪乗剰余積である第9の冪乗剰余
積と、前記上限値に対応する前記第4の乱数列による、
前記確率公開鍵暗号文の列の冪乗剰余積である第10の
冪乗剰余積とを生成する冪乗剰余積生成ステップと、 前記公開鍵、前記確率公開鍵暗号文の列、前記第3およ
び第9の冪乗剰余積とを入力に含むハッシュ関数の出力
である下限値に対応する第3の挑戦値と、前記公開鍵、
前記確率公開鍵暗号文の列、前記第4および第10の冪
乗剰余積とを入力に含むハッシュ関数の出力である上限
値に対応する第4の挑戦値とを生成する挑戦値生成ステ
ップと、 下限値に対応する前記第3の乱数列の各要素と下限値に
対応する前記平方数との差の列と下限値に対応する前記
第3の挑戦値の積の列との、和の列である下限値に対応
する第3の応答と、上限値に対応する前記第4の乱数列
の各要素と前記上限値に対応する前記平方数との差の列
と上限値に対応する前記第4の挑戦値の積の列との、和
の列である上限値に対応する第4の応答とを生成する応
答生成ステップと、 前記第3の応答の要素全てが、安全変数と区間の大きさ
と前記第3の挑戦値より定められる定数により定められ
る第3の区間の中にないか、前記第4の応答の要素全て
が、安全変数と区間の大きさと前記第4の挑戦値より定
められる定数により定められる第4の区間の中になけれ
ば、絶対値の大きさの証明処理を最初からやり直す大き
さ確認ステップとを含む請求項11記載の証明方法。
13. The step of proving the magnitude of the absolute value corresponds to an encryption step for generating third and fourth power-residue products, and a third random number sequence corresponding to the lower limit value and an upper limit value. A random number generation step of generating a fourth random number sequence, and a ninth power residue product which is a power residue product of the sequence of the stochastic public key ciphertexts by the third random number sequence corresponding to the lower limit value. And the fourth random number sequence corresponding to the upper limit,
A power-residue product generating step of generating a tenth power-residue product which is a power-residue product of the sequence of the probabilistic public-key ciphertext, the public key, the sequence of the probabilistic public-key ciphertext, the third And a third challenge value corresponding to the lower limit value which is the output of the hash function including the input and the ninth exponentiation remainder product, and the public key,
A challenge value generation step of generating a fourth challenge value corresponding to an upper limit value which is an output of a hash function including the sequence of the probabilistic public key ciphertext and the fourth and tenth modular exponentiation as inputs; , The sum of the sequence of the difference between each element of the third random number sequence corresponding to the lower limit and the square number corresponding to the lower limit and the sequence of the product of the third challenge values corresponding to the lower limit A third response corresponding to a lower limit which is a sequence, a sequence of differences between each element of the fourth random number sequence corresponding to the upper limit and the square number corresponding to the upper limit, and the above corresponding to the upper limit A response generation step of generating a fourth product row of challenge values and a fourth response corresponding to an upper limit value which is a sum row, and all elements of the third response include a safety variable and an interval. Is it not within the third interval defined by the constant determined from the size and the third challenge value, or is it the fourth response value? If all of the elements are not in the fourth interval defined by the safety variable, the interval size, and the constant defined by the fourth challenge value, the size verification is performed in which the absolute value size verification process is restarted from the beginning. The proof method according to claim 11, further comprising a step.
【請求項14】前記絶対値の大きさの検証ステップは、 前記第3の挑戦値と前記第4の挑戦値とを生成する挑戦
値生成ステップと、 前記第3、第4、第9および第10の冪乗剰余積のそれ
ぞれの平文である第3、第4、第9および第10の平文
を秘密鍵により生成する復号ステップと、 前記第3、第4、第9、第10の冪乗剰余積を生成する
のに用いられた第3、第4、第9および第10の乱数を
秘密鍵により生成する乱数生成ステップと、 前記第3の応答の要素全てが前記第3の区間の中にある
かと、前記第4の応答の要素全てが前記第4の区間の中
にあるかとを確認する大きさ確認ステップと、 下限値に対応する前記第3の挑戦値の1次式と前記第3
の応答の1次式を用いた第3の検証式が成り立つこと
と、上限値に対応する前記第4の挑戦値の1次式と前記
第4の応答の1次式を用いた第4の検証式が成り立つこ
とを確認する1次式による検証ステップとを含む請求項
13記載の証明方法。
14. The step of verifying the magnitude of the absolute value includes a challenge value generating step of generating the third challenge value and the fourth challenge value, and the third, fourth, ninth and tenth steps. A decryption step of generating the third, fourth, ninth and tenth plaintexts, which are the plaintexts of the tenth power remainders, with a secret key; and the third, fourth, ninth and tenth powers. A random number generation step of generating a third, fourth, ninth, and tenth random number used to generate a remainder product with a secret key; and all elements of the third response in the third interval. And a magnitude confirmation step for confirming whether all the elements of the fourth response are in the fourth interval, and a linear expression of the third challenge value corresponding to a lower limit value and the third equation. Three
The third verification expression using the linear expression of the response of is satisfied, and the fourth linear expression of the fourth challenge value corresponding to the upper limit value and the fourth linear expression of the fourth response are used. 14. The proof method according to claim 13, further comprising a verification step using a linear expression for confirming that the verification equation holds.
【請求項15】 確率公開鍵暗号方式によって暗号化さ
れた確率公開鍵暗号文の列の指数係数の列による冪乗剰
余積の前記各指数係数の値が、指定された区間内にある
ことを証明するための証明文を作成し、かつ前記証明文
に基づいて前記各指数係数の値が前記指定された区間内
にあることを検証する証明システムを構成するコンピュ
ータを、 前記確率公開鍵暗号方式の公開鍵と、前記指定された区
間を定める上限値および下限値と、前記確率公開鍵暗号
文の列と、前記指数係数の列と、正しく検証される確率
を規定する安全変数の値とに基づいて、前記各指数係数
の値の解読困難性を失うことなく前記各指数係数の値が
前記指定された区間内にあるか否かを判定するための前
記証明文を作成する証明文作成装置、 検証対象の前記冪乗剰余積と、指定された範囲を定める
前記上限値および下限値と、前記確率公開鍵暗号方式の
公開鍵および秘密鍵と、前記安全変数と、前記確率公開
鍵暗号文の列と、前記確率公開鍵暗号文の列の暗号化に
使われた乱数の列と、前記証明文とに基づいて、前記冪
乗剰余積の各指数係数の値が前記指定された区間内にあ
るか否かを、前記安全変数で規定される以上の確率で検
証する検証装置、として機能させるプログラム。
15. The value of each exponential coefficient of the exponentiation remainder product by the sequence of exponential coefficients of the sequence of probabilistic public key ciphertext encrypted by the probabilistic public key cryptosystem is within a specified section. A computer constituting a proof system for producing a proof sentence for proof and verifying that the value of each exponential coefficient is within the specified section based on the proof sentence, the stochastic public key cryptosystem Public key, an upper limit value and a lower limit value that define the specified section, a sequence of the probability public key ciphertext, a sequence of the exponential coefficient, and a value of a safety variable that defines the probability of correct verification. Based on the above, the proof sentence creating device for creating the proof sentence for determining whether or not the value of each exponential coefficient is within the specified section without losing the decipherability of the value of each exponential coefficient , The exponentiation remainder product to be verified , The upper limit value and the lower limit value defining a specified range, the public key and the secret key of the stochastic public key cryptosystem, the safety variable, the sequence of the stochastic public key cryptogram, and the stochastic public key cryptogram Whether the value of each exponential coefficient of the modular exponentiation product is within the specified interval based on the sequence of random numbers used for encryption of the sequence of A program that functions as a verification device that verifies with a probability higher than that specified in.
JP2002018657A 2002-01-28 2002-01-28 Proof system, method, and program for verifying that exponential exponential product of stochastic public key ciphertext is within interval Expired - Lifetime JP4103401B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002018657A JP4103401B2 (en) 2002-01-28 2002-01-28 Proof system, method, and program for verifying that exponential exponential product of stochastic public key ciphertext is within interval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002018657A JP4103401B2 (en) 2002-01-28 2002-01-28 Proof system, method, and program for verifying that exponential exponential product of stochastic public key ciphertext is within interval

Publications (2)

Publication Number Publication Date
JP2003216027A true JP2003216027A (en) 2003-07-30
JP4103401B2 JP4103401B2 (en) 2008-06-18

Family

ID=27653917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002018657A Expired - Lifetime JP4103401B2 (en) 2002-01-28 2002-01-28 Proof system, method, and program for verifying that exponential exponential product of stochastic public key ciphertext is within interval

Country Status (1)

Country Link
JP (1) JP4103401B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009104260A1 (en) * 2008-02-20 2009-08-27 三菱電機株式会社 Verifying device
JPWO2009078335A1 (en) * 2007-12-14 2011-04-28 Jsr株式会社 Novel sulfonate and radiation-sensitive resin composition

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2009078335A1 (en) * 2007-12-14 2011-04-28 Jsr株式会社 Novel sulfonate and radiation-sensitive resin composition
WO2009104260A1 (en) * 2008-02-20 2009-08-27 三菱電機株式会社 Verifying device
CN101925942A (en) * 2008-02-20 2010-12-22 三菱电机株式会社 Verifying device
JP5079024B2 (en) * 2008-02-20 2012-11-21 三菱電機株式会社 Verification device, ciphertext decryption device, signature verification device, authentication device, encryption system, and computer program
US8458479B2 (en) 2008-02-20 2013-06-04 Mitsubishi Electric Corporation Verification apparatus

Also Published As

Publication number Publication date
JP4103401B2 (en) 2008-06-18

Similar Documents

Publication Publication Date Title
Bergamo et al. Security of public-key cryptosystems based on Chebyshev polynomials
Naor On cryptographic assumptions and challenges
US5146500A (en) Public key cryptographic system using elliptic curves over rings
EP2375628A2 (en) Signature schemes using bilinear mappings
US20120278609A1 (en) Joint encryption of data
Dwork et al. Zaps and their applications
Anggriane et al. Advanced e-voting system using Paillier homomorphic encryption algorithm
Harn et al. Verifiable secret sharing based on the Chinese remainder theorem
AU2009200923B1 (en) Password Self Encryption Method and System and Encryption by Keys Generated From Personal Secret Information
JPWO2005071881A1 (en) Mix net system
McAndrew Introduction to Cryptography with open-source software
US8121290B2 (en) Pseudo-random function calculating device and method and number-limited anonymous authentication system and method
Saeednia A note on Girault's self-certified model
JP2000502196A (en) Control self-map public key system
KR100396740B1 (en) Provably secure public key encryption scheme based on computational diffie-hellman assumption
Peng et al. Modification and optimisation of a shuffling scheme: stronger security, formal analysis and higher efficiency
Morgan et al. Succinct non-interactive secure computation
US7280663B1 (en) Encryption system based on crossed inverse quasigroups
JP4103401B2 (en) Proof system, method, and program for verifying that exponential exponential product of stochastic public key ciphertext is within interval
Damgård et al. Efficient protocols based on probabilistic encryption using composite degree residue classes
Lin et al. A new universal designated verifier transitive signature scheme for big graph data
US9002003B2 (en) Password protocol for data communication system
JP2006227563A (en) Method, system, and program for secret calculation
Peng Threshold distributed access control with public verification: a practical application of PVSS
Kim et al. Decryption speed up of ElGamal with composite modulus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080317

R150 Certificate of patent or registration of utility model

Ref document number: 4103401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6

EXPY Cancellation because of completion of term