[go: up one dir, main page]

JP2002040935A - Multiple signature generation device - Google Patents

Multiple signature generation device

Info

Publication number
JP2002040935A
JP2002040935A JP2000259945A JP2000259945A JP2002040935A JP 2002040935 A JP2002040935 A JP 2002040935A JP 2000259945 A JP2000259945 A JP 2000259945A JP 2000259945 A JP2000259945 A JP 2000259945A JP 2002040935 A JP2002040935 A JP 2002040935A
Authority
JP
Japan
Prior art keywords
signature
document
mod
idi
sgn
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.)
Pending
Application number
JP2000259945A
Other languages
Japanese (ja)
Inventor
Mitsuko Miyaji
充子 宮地
Shiro Mitomi
志郎 見富
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2000259945A priority Critical patent/JP2002040935A/en
Publication of JP2002040935A publication Critical patent/JP2002040935A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a multiple signature allowing a signer to freely alter a document and verify an alteration of the document, a person who has altered it, and further a sequence of the document flow at the time of verifying it without specifying the sequence of the document flow beforehand, relating to an encipherment technique as information security technology, especially relating to a digital signature technique by plural persons. SOLUTION: Step 1: Initial setting. Step 2: Signature generation. Step 2-1: Signature generation by I1. Step 2-2: Signature generation by Ij. Step 3: Signature verification. Therefore, a multiple signature system is provided in which the alteration part of the document and the sequence of the signatures can be verified while realizing freedom of the document and sequence.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は情報セキュリテイ技
術としての暗号技術に関するものであり,特に,特に,
複数人数によるデジタル署名技術に関するものである.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cryptographic technique as an information security technique,
It concerns digital signature technology by multiple people.

【0002】[0002]

【従来の技術】秘密通信方式とは,特定の通信相手以外
に通信内容を漏らすことなく通信を行なう方式である.
またデジタル署名方式とは,通信相手に通信内容の正当
性を示したり,本人であることを証明する通信方式であ
る.この署名方式には公開鍵暗号とよばれる暗号方式を
用いる.公開鍵暗号は通信相手が多数の時,通信相手ご
とに異なる暗号鍵を容易に管理するための方式であり,
多数の通信相手と通信を行なうのに不可欠な基盤技術で
ある.簡単に説明すると,これは暗号化鍵と復号化鍵が
異なり,復号化鍵は秘密にするが,暗号化鍵を公開する
方式である.この公開鍵暗号の安全性の根拠に用いられ
るものに,素因数分解及び,離散対数問題がある.離散
対数問題には代表的に,有限体上定義されるもの及び楕
円曲線上定義されるものがある,これはニイルコブリッ
ツ著 ”アコウス イン ナンバアセオリイ アンド
クリプトグラヒイ”(Neal Koblitz,″A
Course in Number theory a
nd Cryptography″,Spinger−
Verlag,1987)に詳しく述べられている.
2. Description of the Related Art A secret communication method is a method of performing communication without leaking communication contents to a person other than a specific communication partner.
The digital signature method is a communication method that shows the validity of the communication contents to the communication partner and proves the identity of the person. This signature scheme uses an encryption scheme called public key encryption. Public key cryptography is a method for easily managing different encryption keys for each communication partner when there are many communication partners.
It is a fundamental technology that is indispensable for communicating with many communication partners. Briefly, this is a method in which the encryption key and the decryption key are different, and the decryption key is kept secret, but the encryption key is made public. The factors used as the basis for the security of this public key cryptosystem include prime factorization and the discrete logarithm problem. Discrete logarithm problems are typically defined over a finite field or over an elliptic curve, as described by Neil Koblitz, "Akous in Namba Aseolii and
Cryptography "(Neal Koblitz," A
Course in Number theory a
nd Cryptography ", Spinger-
Verlag, 1987).

【0003】ディジタル署名方式の応用である,複数人
によるディジタル署名方式は,多重署名とよばれる.以
下に,有限体上の離散対数問題に基づく多重署名方式を
従来例としてあげる.詳細は,新保淳,「多重署名に適
したElGamal署名の一変形方式」,暗号と情報セ
キュリティシンボジウムSCIS94に詳しく述べられ
ている.
A digital signature scheme by a plurality of persons, which is an application of the digital signature scheme, is called a multiple signature. In the following, a multisignature scheme based on the discrete logarithm problem over a finite field is given as a conventional example. The details are described in detail in Jun Shinbo, "A variant of ElGamal signature suitable for multiple signatures", and "Cryptography and Information Security Symbol SCIS94".

【0004】従来例図3 は従来例である有限体上の離
散対数問題に基づく多重署名方式の構成方法をしめすも
のである.以下同図を参照しながら従来例の手順を説明
する.
FIG. 3 shows a conventional example of a method of constructing a multisignature scheme based on a discrete logarithm problem on a finite field. The procedure of the conventional example will be described below with reference to FIG.

【0005】Step1.初期設定 有限体Fp(pを素数),ベースポイントg∈Fp,そ
の位数ord(g)=nを素数,h1は任意のビット長
の元の入力に対し,Zn*={1,..,n−1}に出
力するハッシュ関数とし,各署名者Iiの秘密鍵xi∈
Zn*,公開鍵をFp上で yi=g xi と求める.
[0005] Step 1. Initial setting Finite field Fp (p is a prime number), base point g∈Fp, its order ord (g) = n is a prime number, h1 is Zn * = {1,. . , N−1}, and the secret key xi of each signer Ii
Find Zn * and the public key on Fp as yi = g xi.

【0006】Step2.署名生成 文書mに対して,Il,…,Ijがディジタル署名を施
すとする.
[0006] Step 2. Signature generation It is assumed that Il,..., Ij apply a digital signature to the document m.

【0007】Step2−1.Ilによる署名生成 乱数k1∈Zn*に対し, r_{1}=g^k1(mod p), s_{1}=x1*h(m)+k1*r_{1} (m
od n), を求める.次に(s_{1},r_{1},m)をmに
対する署名として,次のユーザに送信する.
Step 2-1. Signature generation by Il For a random number k1 {Zn *, r_ {1} = g {k1 (mod p), s_ {1} = x1 * h (m) + k1 * r_ {1} (m
od n),. Next, (s_ {1}, r_ {1}, m) is transmitted to the next user as a signature for m.

【0008】Step2−2. Ijによる署名生成.
(s_{j−1},r_{1},..,r_{j−
1},m)を受信したIjは以下の手順で,mに署名を
生成する.乱数kj∈Zn*に対し, r_{j}=g^kj(mod p), s_{j}=s_{j−1}+xj*h(m)+kj*
r_{j}(mod n), を求める.次に(s_{j},r_{1},..,r_
{j},m)をmに対する署名として,次のユーザに送
信する.
[0008] Step 2-2. Signature generation by Ij.
(S_ {j-1}, r_ {1}, ..., r_ {j-
Ij that has received (1 署名, m) generates a signature for m in the following procedure. For a random number kj∈Zn *, r_ {j} = g ^ kj (mod p), s_ {j} = s_ {j−1} + xj * h (m) + kj *
r_ {j} (mod n), is obtained. Next, (s_ {j}, r_ {1},.
{J}, m) is sent to the next user as a signature for m.

【0009】Step3.署名検証 署名文(s_{j},r_{1},..,r_{j},
m)を用いて, g^{s_{j}}=(y1*…*yj)^h(m)
(r_{1}^r_{1}*…*r_{j}^r_
{j}) が成り立つか検証する.成り立てば,署名を正当なもの
とみなす.
[0009] Step 3. Signature verification Signature sentence (s_ {j}, r_ {1}, ..., r_ {j},
g), g {s_ {j} = (y1 *... * yj)} h (m)
(R_ {1} r_ {1} * ... * r_ {j} r_
{J}) is verified. If so, consider the signature valid.

【0010】上記従来例は,署名者による文書の変更が
できなかった.また署名者の署名順序を検証時において
検証できない.署名順序が検証できる方式では,予め署
名者の順序を指定するなど順序に対するフレキィビリテ
ィを満たしていなかった.この方式については,以下の
文献が詳しい.M.Burmester,Yvo De
smedt,Hiroshi Doi,Masahir
o Mambo,Eiji Okamoto,m_
{i}tsuru Tada,and Y.Yoshi
fuji,``A Structured ElGam
al−Type Multisignature Sc
heme’’,Advances_{i}n Cryp
tology−Proceedings of PK
C’2000,LectureNotes_{i}n
Computer Sc_{i}ence,(200
0),Spr_{i}nger−Ver_{1}ag,
466−482.
In the above conventional example, the document cannot be changed by the signer. Also, the signature order of the signer cannot be verified at the time of verification. The method that can verify the signature order does not satisfy the flexibility of the order, such as specifying the order of the signers in advance. The following literature is detailed about this method. M. Burmester, Yvo De
smedt, Hiroshi Doi, Masahir
o Mambo, Eiji Okamoto, m_
{I} tsuru Tada, and Y. Yoshi
FUJI, @A Structured ElGam
al-Type Multisignature Sc
heme '', Advances_ {i} n Cryp
strategy-Proceedings of PK
C'2000, LectureNotes_ @ i @ n
Computer Sc_ @ i @ ence, (200
0), Spr_ {i} nger−Ver_ {1} ag,
466-482.

【0011】しかし,インターネットを用いたフリーソ
フトの流通の状況などにおいては,任意のユーザがソフ
トウエアを改良し,それが流通するという状況が十分考
えられる.そのような状況において,ユーザの著作権を
保護しつつ,悪意あるユーザを特定する技術として多重
署名を用いるには,署名者が自由に文書の変更ができ,
文書の流れる順序を予め指定することなく,検証時にお
いて,文書の変更個所,変更者,さらには文書の流れる
順序が検証できる性質が必要である.しかしこれまでの
技術でそのようなものを構成するものは存在していな
い.
However, in the situation of distribution of free software using the Internet, a situation in which an arbitrary user improves the software and distributes the software can be sufficiently considered. In such a situation, to use multiple signatures as a technique for identifying a malicious user while protecting the user's copyright, the signer can freely modify the document,
It is necessary to have a property that can verify the document change location, the person who changed the document, and the document flow order at the time of verification without specifying the document flow order in advance. However, there is no such technology that constitutes such a thing.

【0012】[0012]

【発明が解決しようとする課題】従来の多重署名におい
ては,署名者による文書の変更ができなかった.また署
名者の署名順序を検証時において検証できない方式や,
署名順序が検証できる方式では,予め署名者の順序を指
定するなど順序に対するフレキィビリティを満たしてい
なかった.
In a conventional multiple signature, a document cannot be changed by a signer. In addition, the signature order of the signer cannot be verified at the time of verification,
The method that can verify the signature order does not satisfy the flexibility of the order, such as specifying the order of the signers in advance.

【0013】本発明は,この従来例における問題点を鑑
みて行なわれたもので,署名者が自由に文書の変更がで
き,文書の流れる順序を予め指定することなく,検証時
において,文書の変更個所,変更者,さらには署名が生
成された順序が検証できる多重署名を提供することを目
的とする.
The present invention has been made in view of the problems in the conventional example, and allows a signer to freely change a document, and to specify a document flow at the time of verification without previously specifying a flow order of the document. The purpose of the present invention is to provide a multi-signature that can verify the place of change, the person who made the change, and the order in which the signatures were generated.

【0014】[0014]

【課題を解決するための手段】本発明は上述の問題点を
解決するため,請求項1では,Iiはi番目の署名者と
し,オリジナル文書をM_{1}=m_{1}とし,添
字iの明記の必要がある場合には_{i}と表すことに
し,また文書とはソフトウエアやデータ,書類など電子
データ全般の総称とし,これ以後のi番目の変更者がそ
れ以前の文書M_{1,2,...,i−1}に変更を
加えた文書をM_{1,2,...,i}とし,Iiは
受信した文書M_{1,2,...,i−1}に対して
施した変更点を m_{i}=Diff(M_{1,2,...,i−
1},M_{1,2,...,i}) で表し,すなわち,m_{i}はM_{1,
2,...,i−1}とM_{1,2,...,i}の
差分とし,関数Patを用いて差分から,文書は, M_{1,2,...,i}=Pat(m_{1},m
_{2},…,m_{i}) として復元されるとし,各署名者Iiは,そのIDをI
Di,秘密鍵sk_{i},公開鍵pk_{i}とし,
メッセージ復元型署名関数signの入力はpk_
{i},m_{i}とし,出力すなわち署名をSIG_
{i}とし,SIG_{i}をSIG_{i}=(r_
{i},s_{i})と分割し,r_{i}は署名SI
G_{i}の検証時に復元できる部分で,s_{i}は
SIG_{i}の残りの部分とし,逆に署名から文書を
復元する関数recの入力はpk_{i},r_
{i},s_{i}とし,その出力として文書m_
{i}が復元される,すなわち, sign(sk_{i},m_{i})=SIG_
{i}=(r_{i},s_{i}) rec(pk_{i},(r_{i},s_{i}))
=m_{i}, とし,h1は任意のビット長の元の入力に対し,署名生
成関数の定義域の範囲に出力するハッシュ関数とし,%
と#は,剰余乗算のような互いに以下のような逆演算の
関係にある任意の演算 (A%B)#B=A とし,署名生成のステップは,署名者Ilが,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
メッセージ復元型署名signによる出力, SIG_{1}=sign(sk_{1},h1(m_
{1}||ID_{1}))=(r_{1},s_
{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1},m_{1}),…,(I
D_{j−2},s_{j−2},m_{j−2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}と受信した署
名文のr_{j−1}にメッセージ復元型署名sign
による出力 SIGj=sign(skj,r_{j−1}%h1
(m_{j}||ID_{j}))=(r_{j},s
_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},m_{1}),…,(ID_{j−1},s_
{j−1},m_{j−1}),(ID_{j},s_
{j},r_{j},m_{j})を用いて,i=j,
…,2に対して, Ti=rec(pk_{i},(r_{i},s_
{i})) r_{i−1}=Ti#h1(m_{i}||IDi) を順次求めるステップと, T1=rec(pk_{1},(r_{1},s_
{1})) を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to the present invention, in order to solve the above-mentioned problems, in claim 1, Ii is the i-th signer, the original document is M_ {1} = m_ {1}, and the subscript is When it is necessary to specify i, it shall be expressed as _ {i}, and the document shall be a general term for all electronic data such as software, data, and documents, and the i-th person who made the changes thereafter will be the document before. M_ {1, 2,. . . , I-1} are changed to M_ {1, 2,. . . , I}, and Ii is the received document M_ {1, 2,. . . , I-1}, m_ {i} = Diff (M_ {1,2, ..., i-
1}, M_ {1, 2,. . . , I}), that is, m_ {i} is M_ {1,
2,. . . , I−1} and M_ {1, 2,. . . , I}, and from the difference using the function Pat, the document is M_ {1, 2,. . . , I} = Pat (m_ {1}, m
_ {2}, ..., m_ {i}), and each signer Ii sets its ID to I
Di, a secret key sk_ {i}, and a public key pk_ {i},
The input of the message restoration type signature function sign is pk_
{I}, m_ {i}, and the output, that is, the signature is SIG_
Let SIG_ {i} be SIG_ {i} = (r_
{I}, s_ {i}), and r_ {i} is the signature SI
G_ {i} is a part that can be restored at the time of verification, s_ {i} is the remaining part of SIG_ {i}, and conversely, the input of the function rec for restoring the document from the signature is pk_ {i}, r_
{I}, s_ {i}, and as its output the document m_
{I} is restored, that is, sign (sk_ {i}, m_ {i}) = SIG_
{I} = (r_ {i}, s_ {i}) rec (pk_ {i}, (r_ {i}, s_ {i}))
= M_ {i}, h1 is a hash function for outputting the original input of an arbitrary bit length to the range of the domain of the signature generation function, and%
And # are arbitrary operations (A% B) # B = A, such as modular multiplication, which have the following inverse operation relationship. The signature generation step is as follows.
When digitally signing {1} = m_ {1},
SIG_ {1} = sign (sk_ {1}, h1 (m_
{1} || ID_ {1})) = (r_ {1}, s_
{ID}, (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, to the next user, and includes a signature (ID_ {1}, s_ {1}, m_ {1}),. (I
D_ {j-2}, s_ {j-2}, m_ {j-2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}), and a message restoration type signature sign is added to the obtained m_ {j} and r_ {j−1} of the received signature statement.
SIGj = sign (skj, r_ {j-1}% h1
(M_ {j} || ID_ {j})) = (r_ {j}, s
_ {J}), (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, m_ {1}), ..., (ID_ {j-1}, s_
{J-1}, m_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, m_ {j}), i = j,
, 2, Ti = rec (pk_ {i}, (r_ {i}, s_
{I})) r_ {i-1} = Ti # h1 (m_ {i} || IDi), and T1 = rec (pk_ {1}, (r_ {1}, s_
{1})), determining whether T1 = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that it enables the verification of the document change and the document distribution order without making the order of the users who distribute the document possible.

【0015】請求項2では,請求項1記載のメッセージ
復元型署名として,有限体Fp(pを素数),ベースポ
イントg∈Fp,その位数ord(g)=nを素数と
し,各署名者Iiは,そのIDをIDi,秘密鍵xi∈
Zn*={1,..,n−1},公開鍵をFp上でyi
=g^xiと求めるステップと,h1は任意のビット長
の元の入力に対し,Zn*に出力するハッシュ関数と
し,署名生成のステップは,署名者Ilが,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
乱数k1∈Zn*に対し, R1=g^k1(mod p), r_{1}=R1/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1}m_{1}),…,(ID
_{j−2},s_{j−2},m_{j−2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し, Rj=g^kj(mod p) r_{j}=Rj/(h1(m_{j}||ID_
{j})r_{j−1})(mod n), s_{j}=(xjr_{j}+1)/kj
(modn), を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},m_{1}),…,(ID_{j−1},s_
{j−1},m_{j−1}),(ID_{j},s_
{j},r_{j},m_{j})を用いて,i=j,
…,2に対して, Ri=g^(1/s_{i})yi^(r_{i}/s
_{i})(mod p), Ti=Ri/r_{i}(mod n) r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を順次求めるステップと, R1=g^(1/s_{1})y1^(r_{1}/s
_{1}), T1=R1/r_{1}(mod n) を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to a second aspect of the present invention, as the message restoration type signature according to the first aspect, a finite field Fp (p is a prime number), a base point g∈Fp, and its order ord (g) = n are prime numbers, and each signer Ii uses ID as IDi and secret key xix
Zn * = {1,. . , N−1}, and the public key is yi on Fp
= G ^ xi, and h1 is a hash function for outputting to Zn * with respect to the original input having an arbitrary bit length. The signature generation step is as follows.
When digitally signing {1} = m_ {1},
For a random number k1∈Zn *, R1 = g ^ k1 (mod p), r_ {1} = R1 / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n), and (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, and transmitting the signature to the next user. The signature sentence (ID_ {1}, s_ {1} m_ {1}),. ID
_ {J-2}, s_ {j-2}, m_ {j-2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, for a random number kj {Zn *, Rj = g {kj (mod p) r_ {j} = Rj / ( h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj
(Modn), and (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, m_ {1}), ..., (ID_ {j-1}, s_
{J-1}, m_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, m_ {j}), i = j,
, 2, Ri = g ^ (1 / s_ {i}) yi ^ (r_ {i} / s
_ {I}) (mod p), Ti = Ri / r_ {i} (mod n) r_ {i-1} = Ti / h1 (m_ {i} || IDi)
(Mod n), R1 = g {(1 / s_ {1}) y1} (r_ {1} / s
_ {1}), T1 = R1 / r_ {1} (mod n), T1 = h1 (m_ {1} || ID_ {1}), and a multiple signature based on the determination result The multi-signature generating apparatus is characterized in that the document signature can be changed for each user, and the document change and the document distribution order can be verified without fixing the order of the users who distribute the documents. .

【0016】請求項3では,請求項1記載のメッセージ
復元型署名として,有限体Fp(p:素数)上の楕円曲
線E/Fp,ベースポイントG∈E(Fq),その位数
ord(G)=nを素数とし,各署名者Iiは,そのI
DをIDi,秘密鍵xi∈Zn*={1,..,n−
1},公開鍵をE上でYi=xiGと求めるステップ
と,h1は任意のビット長の元の入力に対し,Zn*に
出力するハッシュ関数とし,署名生成のステップは,署
名者Ilが,文書M_{1}=m_{1}に対してディ
ジタル署名を施す時,乱数k1∈Zn*に対し,E/F
p上でR1=k1G=(R1_x,R1_y)を求める
ステップと, r_{1}=R1_x/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1},m_{1}),…,(I
D_{j−2},s_{j−2},m_{J_2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,文書M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し,E/F
p上でRj=kjG=(Rj_x,Rj_y)を求める
ステップと, r_{j}=Rj_x/(h1(m_{j}||ID_
{j})r_{j−1})(mod n), s_{j}=(xjr_{j}+1)/kj (m
odn), を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},
m.{j})を(m_{1},…,m_{j})に対す
る署名として,次のユーザに通信するステップからな
り,署名検証のステップは,署名文(ID_{1},s
_{1},m_{1}),…,(ID_{j−1},s
_{j−1},m_{j−1}),(ID_{j},s
_{j},r_{j},m_{j})を用いて,i=
j,…,2に対して,E/Fp上でRi=(1/s_
{i})G+(r_{i}/s_{1})Yi=(Ri
_x,Ri_y)を求めるステップと, Ti=Ri_x/r_{i}(mod n) r_{i−1}=Ti/h1(m_{i}||IDi) を順次求めるステップと,Fp上でR1=(1/s_
{1})G+(r_{1}/s_{1})Y1=(R1
_x,R1_y)を求めるステップと T1=R1_x/r_{1} を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to a third aspect of the present invention, as the message restoration type signature according to the first aspect, an elliptic curve E / Fp on a finite field Fp (p: prime number), a base point G∈E (Fq), and an order ord (G ) = N is a prime number, and each signer Ii
Let D be IDi and the secret key xixZn * = {1,. . , N-
1}, the step of obtaining the public key as Yi = xiG on E; and h1 is a hash function for outputting to the Zn * with respect to the original input having an arbitrary bit length. The signature generation step is as follows. When a digital signature is applied to document M_ {1} = m_ {1}, E / F
determining R1 = k1G = (R1_x, R1_y) on p; r_ {1} = R1_x / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n), and (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, to the next user, and includes a signature (ID_ {1}, s_ {1}, m_ {1}),. (I
D_ {j-2}, s_ {j-2}, m_ {J_2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}) and a document M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, the E / F
determining Rj = kjG = (Rj_x, Rj_y) on p; r_ {j} = Rj_x / (h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (m
odn), and (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j},
m. {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user. The signature verification step includes a signature sentence (ID_ {1}, s).
_ {1}, m_ {1}), ..., (ID_ {j-1}, s
_ {J-1}, m_ {j-1}), (ID_ {j}, s
_ {J}, r_ {j}, m_ {j}), i =
For j,..., 2, Ri = (1 / s_
{I}) G + (r_ {i} / s_ {1}) Yi = (Ri
_X, Ri_y), sequentially obtaining Ti = Ri_x / r_ {i} (mod n) r_ {i-1} = Ti / h1 (m_ {i} || IDi), and R1 on Fp. = (1 / s_
{1}) G + (r_ {1} / s_ {1}) Y1 = (R1
_X, R1_y), a step of determining T1 = R1_x / r_ {1}, a step of determining whether T1 = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that it enables the document to be changed for each user and can verify the document change and the document distribution order without fixing the order of the users who distribute the document.

【0017】請求項4では,請求項1記載のメッセージ
復元型署名として,小さい素数の集合を{r_{1}}
={2,3,5,…}とし,各署名者Iiは,そのID
をIDi,大きな2つのtビットの素数p_i,q_i
を秘密に生成し,{r_{1}}の各要素との積,n_
{i,1}=p_{i}q_{i}r_{1}に対し
て,L_{i,1}=LCM((p_{i}−1),
(q_{i}−1),(r_{1}−1))(最小公倍
数)とし,e_{i,1},d_{i,1}∈{1,
2,..,n_{i,1}_1}を e_{i,1}*d_{i,1}=1(mod L_
{i,1}) として求めるステップと,各{r_{1}}に対して
{n_{i,1},e_{i,1}}を署名者Iiの公
開鍵とし,{d_{i,1}}を対応する秘密鍵とし,
h1は任意のビット長の元の入力に対し2tビットに出
力するハッシュ関数とし,署名生成のステップは,署名
者Ilが,文書M_{1}=m_{1}に対してディジ
タル署名を施す時,n_{1,l_{1}}〉h1(m
_{1}||ID_{1})となるn_{1,l_
{1}}に対し, sgn_{1}=h1(m_{1}||ID_{1})
^(d_{1,l_{1}}) (mod n_{1,
l_{1}}), を求めるステップと,(ID_{1},sgn_
{1},l_{1},m_{1})をm_{1}に対す
る署名として,次のユーザに送信するステップからな
り,署名文(ID_{1},l_{1},m_
{1}),…,(ID_{j−2},l_{j−2},
m_{j−2}),(ID_{j−1},sgn_{j
−1},l_{j−1},m_{j−1})を受信した
ユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時, n_{j,l_{j}}〉sgn_{j−1}(+)h
1(m_{j}||ID_{j}) となるn_{j,l_{j}}に対し,ここで(+)は
排他的論理和とし, sgn_{j}=(sgn_{j−1}(+)h1(m
_{j}||ID_{j}))^(d_{j,1_
{j}}) (mod n_{j,l_{j}}), を求めるステップと,(ID_{j},l_{j},s
gn_{j},m_{j})をm_{j}に対する署名
とし,(ID_{1},sgn_{1},m_
{1}),…, (ID_{j−1},sgn_{j−
1},m_{j−1}),(ID_{j},sgn_
{j},m_{j})を(m_{1},…,m_
{j})に対する署名として,次のユーザに通信するス
テップからなり,署名検証のステップは,署名文(ID
_{1},l_{1},m_{1}),…,(ID_
{j−1},l_{j−1},m_{j−1}),(I
D_{j},l_{j},sgn_{j},m_
{j})を用いて,i=j,…,2に対して, T=sgn_{i}^e_{i,l_{i}}(mod
n_{i,l_{i}}) sgn_{i−1}=T(+)h1(m_{i}||I
Di) を順次求めるステップと T=sgn_{1}^e_{1,l_{1}}(mod
n_{1,l_{1}}) を求めるステップと T=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
In a fourth aspect, a set of small prime numbers is {r_ {1}} as the message restoration type signature according to the first aspect.
= {2,3,5, ...}, and each signer Ii has its ID
To IDi, two large t-bit primes p_i, q_i
Is secretly generated, and the product of each element of {r_ {1}, n_
For {i, 1} = p_ {i} q_ {i} r_ {1}, L_ {i, 1} = LCM ((p_ {i} −1),
(Q_ {i} -1), (r_ {1} -1)) (least common multiple) and e_ {i, 1}, d_ {i, 1} 1,
2,. . , N_ {i, 1} _1} to e_ {i, 1} * d_ {i, 1} = 1 (mod L_
{I, 1}), and for each {r_ {1}, {n_ {i, 1}, e_ {i, 1} is the signer Ii's public key, and {d_ {i, Let 1}} be the corresponding private key,
h1 is a hash function that outputs 2t bits to an original input having an arbitrary bit length. The signature generation step is performed when the signer Il applies a digital signature to the document M_ {1} = m_ {1}. , N_ {1, l_ {1}> h1 (m
_ {1} || ID_ {1}) n_ {1, l_
For {1}, sgn_ {1} = h1 (m_ {1} || ID_ {1})
{(D_ {1, l_ {1}) (mod n_ {1,
l_ {1}), and (ID_ {1}, sgn_
({1}, l_ {1}, m_ {1}) as a signature for m_ {1}, and transmitting the signature to the next user (ID_ {1}, l_ {1}, m_
{1}), ..., (ID_ {j-2}, l_ {j-2},
m_ {j-2}), (ID_ {j-1}, sgn_ {j
−1}, l_ {j−1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, n_ {j, l_ {j}> sgn_ {j-1} (+) h
1 (m_ {j} || ID_ {j}), where (+) is exclusive OR, and sgn_ {j} = (sgn_ {j-1) } (+) H1 (m
_ {J} || ID_ {j}))} (d_ {j, 1_
{J}) (mod n_ {j, l_ {j}), and (ID_ {j}, l_ {j}, s
gn_ {j}, m_ {j}) is a signature for m_ {j}, and (ID_ {1}, sgn_ {1}, m_
{1}), ..., (ID_ {j-1}, sgn_ {j-
1}, m_ {j-1}, (ID_ {j}, sgn_
{J}, m_ {j} is (m_ {1}, ..., m_
{J}) as a signature to the next user, and the signature verification step includes a signature (ID
_ {1}, l_ {1}, m_ {1}), ..., (ID_
{J-1}, l_ {j-1}, m_ {j-1}), (I
D_ {j}, l_ {j}, sgn_ {j}, m_
{J}), T = sgn_ {i} e_ {i, l_ {i} (mod
n_ {i, l_ {i}) sgn_ {i-1} = T (+) h1 (m_ {i} || I
Di) and T = sgn_ {1} e_ {1,1_ {1} (mod
n_ {1, l_ {1}), determining whether T = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. It is a multi-signature generation device characterized in that the document can be changed every time, and the document change and the document distribution order can be verified without fixing the order of the users who distribute the document.

【0018】請求項5では,Iiはi番目の署名者と
し,オリジナル文書をM_{1}=m_{1}とし,添
字iの明記の必要がある場合には_{i}と表すことに
し,また文書とはソフトウエアやデータ,書類など電子
データ全般の総称とし,これ以後のi番目の変更者がそ
れ以前の文書M_{1,2,...,i−1}に変更を
加えた文書をM_{1,2,...,i}とし,Iiは
受信した文書M_{1,2,...,i−1}に対して
施した変更点を m_{i}=Diff(M_{1,2,...,i−
1},M_{1,2,...,i}) で表し,すなわち,m_{i}はM_{1,
2,...,i−1}とM_{1,2,...,i}の
差分とし,関数Patを用いて差分から M_{1,2,...,i}=Pat(m_{1},m
_{2},…,m_{i}) として復元されるとし,各署名者Iiは,そのIDをI
Di,秘密鍵sk_{i},公開鍵pk_{i}とし,
メッセージ復元型署名関数signの入力はpk_
{i},m_{i}とし,出力すなわち署名をSIG_
{i}とし,SIG_{i}をSIG_{i}=(r_
{i},s_{i})と分割し,r_{i}は署名SI
G_{i}の検証時に復元できる部分で,s_{i}は
SIG_{i}の残りの部分とし,逆に署名から文書を
復元する関数recの入力はpk_{i},r_
{i},s_{i}とし,その出力として文書m_
{i}が復元される,すなわち, sign(sk_{i},m_{i})=SIG_
{i}=(r_{i},s_{i}) rec(pk_{i},r_{i},s_{i})=m
_{i}, とし,対称暗号の暗号化関数,復号化関数をそれぞれ,
E(K,m)=c,D(K,c)=m,ここでmを文
書,cを暗号文,Kを対称鍵暗号用の鍵とし,h1は任
意のビット長の入力に対し,署名生成関数の定義域の範
囲に出力するハッシュ関数とし,h2は任意のビット長
の入力に対し,対称暗号の鍵長を出力するハッシュ関数
とし,%と#は,剰余乗算のような互いに以下のような
逆演算の関係にある任意の演算 (A%B)#B=A とし,署名生成のステップは,署名者Ilが,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
メッセージ復元型署名signによる出力, SIG_{1}=sign(sk_{1},h1(m_
{1}||ID_{1}))=(r_{1},s_
{1}) を求めるステップと,暗号化関数で使用するセッション
キーK1 K1=h2(h1(m_{1}||ID_{1}) と求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}にメッセージ
復元型署名signによる出力 SIGj=sign(skj,r_{j−1}%h1
(m_{j}||ID_{j}))=(r_{j},s
_{j}) を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2(r_{j−1}%h1(m_{j}||I
D_{j}) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},s_
{j−1},c_{j−1}),(ID_{j},s_
{j},r_{j},c_{j})を用いて,i=j,
…,2に対して, Ti=rec(pk_{i},(r_{i},s_
{i})), Ki=h2(Ti), m_{i}’||IDi’=D(Ki,c_{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, r_{i−1}=Ti#h1(m_{i}||IDi) を復元するステップを順次繰り返し, T1=rec(pk_{1},(r_{1},s_
{1})), K1=h2(T1), m_{1}’ ||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’ ||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
In claim 5, Ii is the i-th signer, the original document is M_ {1} = m_ {1}, and if it is necessary to specify the subscript i, it is expressed as _ {i}. , And a document is a general term for all electronic data such as software, data, and documents, and the i-th modifier after this is the document M_ {1, 2,. . . , I-1} are changed to M_ {1, 2,. . . , I}, and Ii is the received document M_ {1, 2,. . . , I-1}, m_ {i} = Diff (M_ {1,2, ..., i-
1}, M_ {1, 2,. . . , I}), that is, m_ {i} is M_ {1,
2,. . . , I−1} and M_ {1, 2,. . . , I}, and M_ {1, 2,. . . , I} = Pat (m_ {1}, m
_ {2}, ..., m_ {i}), and each signer Ii sets its ID to I
Di, a secret key sk_ {i}, and a public key pk_ {i},
The input of the message restoration type signature function sign is pk_
{I}, m_ {i}, and the output, that is, the signature is SIG_
Let SIG_ {i} be SIG_ {i} = (r_
{I}, s_ {i}), and r_ {i} is the signature SI
G_ {i} is a part that can be restored at the time of verification, s_ {i} is the remaining part of SIG_ {i}, and conversely, the input of the function rec for restoring the document from the signature is pk_ {i}, r_
{I}, s_ {i}, and as its output the document m_
{I} is restored, that is, sign (sk_ {i}, m_ {i}) = SIG_
{I} = (r_ {i}, s_ {i}) rec (pk_ {i}, r_ {i}, s_ {i}) = m
_ {I}, and the encryption function and the decryption function of the symmetric encryption are
E (K, m) = c, D (K, c) = m, where m is a document, c is a ciphertext, K is a key for symmetric key encryption, and h1 is an input having an arbitrary bit length. A hash function to be output in the range of the domain of the signature generation function, h2 is a hash function to output the key length of the symmetric encryption for an input of an arbitrary bit length, and% and # are mutually Arbitrary operation (A% B) # B = A in the inverse operation relationship, and the signature generation step is such that the signer Il
When digitally signing {1} = m_ {1},
SIG_ {1} = sign (sk_ {1}, h1 (m_
{1} || ID_ {1})) = (r_ {1}, s_
{1}), a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and m_ {1} || ID_ {1} To obtain the output c_ {1} = E (K1, m_ {1} || ID_ {1}) by the encryption function E, and (ID_ {1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
{J-1}), the user Ij restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}), and the obtained m_ {j} is output by the message restoration type signature sign SIGj = sign (skj, r_ {j−1}% h1
(M_ {j} || ID_ {j})) = (r_ {j}, s
_ {J}) and a session key Kj Kj = h2 (r_ {j-1}% h1 (m_ {j} || I
D_ {j}) and an output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E And (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1}, s_
{J-1}, c_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, c_ {j}), i = j,
, 2, Ti = rec (pk_ {i}, (r_ {i}, s_
{I})), Ki = h2 (Ti), m_ {i} ′ || IDi ′ = D (Ki, c_ {i}), a step of determining IDi ′ = IDi, and a determination result And the step of restoring m_ {i} = m_ {i} ', r_ {i-1} = Ti # h1 (m_ {i} || IDi) is sequentially repeated, and T1 = rec ( pk_ {1}, (r_ {1}, s_
{1})), K1 = h2 (T1), m_ {1} '|| ID_ {1}' = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that the document can be changed and the document change and document distribution order can be verified without fixing the order of users who distribute the document.

【0019】請求項6では,請求項5記載のメッセージ
復元型署名として,有限体Fp(pを素数),ベースポ
イントg∈Fp,その位数ord(g)=nを素数と
し,各署名者Iiは,そのIDをIDi,秘密鍵xi∈
Zn,公開鍵をFp上でyi=g^xiと求めるステッ
プと,h1は任意のビット長の元の入力に対し,Zn*
={1,..,n−1}に出力するハッシュ関数とし,
署名生成のステップは,署名者Ilが,文書M_{1}
=m_{1}に対してディジタル署名を施す時,乱数k
1∈Zn*に対し, R1=g^k1(mod p), r_{1}=R1/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
odn), を求めるステップと,暗号化関数で使用するセッション
キーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し, Rj=g^kj(mod p) r_{j}=Rj/(h1(m_{j}||ID_
{j})r_{j−1})(mod n), s_{j}=(xjr_{j}+1)/kj
(mod n), を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2((r_{j−1}*h1(m_{j}||
Idj)(mod n)) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},s_
{j−1},c_{j−1}),(ID_{j},s_
{j},r_{j},c_{j})を用いて,i=j,
…,2に対して, Ri=g^(1/s_{i})yi^(r_{i}/s
_{i})(mod p), Ti=Ri/r_{i}(mod n), Ki=h2(Ti), m_{i}’||IDi’=D(Ki,c_{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を復元するステップを順次繰り返し, R1=g^(1/s_{1})y1^(r_{1}/s
_{1}), T1=R1/r_{1}(mod n) K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to a sixth aspect of the present invention, as the message restoration type signature according to the fifth aspect, a finite field Fp (p is a prime number), a base point g∈Fp, and its order ord (g) = n are prime numbers. Ii uses ID as IDi and secret key xix
A step of obtaining Zn and a public key as yi = gixi on Fp, and h1 is a Zn * with respect to an original input having an arbitrary bit length.
= {1,. . , N−1},
In the signature generation step, the signer Il confirms that the document M_ {1}
= M_ {1}, a random number k
For 1∈Zn *, R1 = g ^ k1 (mod p), r_ {1} = R1 / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
odn),, a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and a step of calculating m_ {1} || ID_ {1} Determining the output c_ {1} = E (K1, m_ {1} || ID_ {1}) by the encryption function E, and (ID_ {1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
{J-1}), the user Ij restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, for a random number kj {Zn *, Rj = g {kj (mod p) r_ {j} = Rj / ( h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj
(Mod n), and a session key Kj Kj = h2 ((r_ {j-1} * h1 (m_ {j} ||
Idj) (mod n)) and the output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E. Calculating step, (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1}, s_
{J-1}, c_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, c_ {j}), i = j,
, 2, Ri = g ^ (1 / s_ {i}) yi ^ (r_ {i} / s
_ {I}) (mod p), Ti = Ri / r_ {i} (mod n), Ki = h2 (Ti), m_ {i} ′ || IDi ′ = D (Ki, c_ {i}), , Determining IDi ′ = IDi, verifying the signature based on the determination result, m_ {i} = m_ {i} ′, r_ {i−1} = Ti / h1 (m_ {i } || IDi)
(Mod n) are sequentially repeated, and R1 = g {(1 / s_ {1}) y1} (r_ {1} / s
_ {1}), T1 = R1 / r_ {1} (mod n) K1 = h2 (T1), m_ {1} '|| ID_ {1}' = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that the document can be changed and the document change and the document distribution order can be verified without fixing the order of the users who distribute the document.

【0020】請求項7では,請求項5記載のメッセージ
復元型署名として,有限体Fp(p:素数)上の楕円曲
線E/Fp,ベースポイントG∈E(Fq),その位数
ord(G)=nを素数とし,各署名者Iiは,そのI
DをIDi,秘密鍵xi∈EZn,公開鍵をE上でYi
=xiGと求めるステップと,h1は任意のビット長の
元の入力に対し,Zn*={1,..,n−1}に出力
するハッシュ関数とし,署名生成のステップは,署名者
Ilが,文書M_{1}=m_{1}に対してディジタ
ル署名を施す時,乱数k1∈Zn*に対し,E/Fp上
でR1=k1G=(R1_x,R1_y)を求めるステ
ップと, r_{1}=R1_x/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
odn), を求めるステップと,暗号化関数で使用するセッション
キーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し,E/F
p上でRj=kjG=(Rj_x,Rj_y)を求める
ステップと, r_{j}=Rj_x/(h1(m_{j}||ID_
{j})r_{j−1})(mod n), s_{j}=(xjr_{j}+1)/kj (m
odn), を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2((r_{j−1}*h1(m_{j}||
Idj)(mod n)) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},
s..{j−1},c_{j−1}),(ID_
{j},s_{j},r_{j},c_{j})を用い
て,i=j,…,2に対して, Ri=(1/s_{i})G+(r_{i}/s_
{i})Yi=(Ri_x,Ri_y)(E/Fp上の
演算), Ti=Ri_x/r_{1}(mod n) Ki=h2(Ti), m_{i}’||IDi’=D(Ki,c_{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n)を復元するステップを順次繰り返し,R
1=(1/s_{1})G+(r_{1}/s_
{1})Y1=(R1_x,R1_y)(E/Fp上の
演算)を求めるステップと T1=R1_x/r_{1}(modn) を求めるステップと K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’ ||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to a seventh aspect of the present invention, as the message restoration type signature according to the fifth aspect, an elliptic curve E / Fp on a finite field Fp (p: prime number), a base point G∈E (Fq), and an order ord (G ) = N is a prime number, and each signer Ii
D is IDi, secret key xi @ EZn, and public key is Y on Ei.
= XiG, and h1 is given by Zn * = {1,. . , N−1}, the signature generation step is as follows. When the signer Il applies a digital signature to the document M_ {1} = m_ {1}, Determining R1 = k1G = (R1_x, R1_y) on E / Fp; r_ {1} = R1_x / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
odn),, a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and a step of calculating m_ {1} || ID_ {1} Determining the output c_ {1} = E (K1, m_ {1} || ID_ {1}) by the encryption function E, and (ID_ {1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
{J-1}), the user Ij restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, the E / F
determining Rj = kjG = (Rj_x, Rj_y) on p; r_ {j} = Rj_x / (h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (m
odn), and a session key Kj Kj = h2 ((r_ {j-1} * h1 (m_ {j} ||) used in the encryption function.
Idj) (mod n)) and the output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E. Calculating step, (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1},
s. . {J-1}, c_ {j-1}), (ID_
Using {j}, s_ {j}, r_ {j}, c_ {j}), for i = j,..., 2, Ri = (1 / s_ {i}) G + (r_ {i} / S_
{I}) Yi = (Ri_x, Ri_y) (operation on E / Fp), Ti = Ri_x / r_ {1} (mod n) Ki = h2 (Ti), m_ {i} ′ || IDi ′ = D (Ki, c_ {i}), the step of determining IDi '= IDi, the step of verifying the signature based on the determination result, and the step of m_ {i} = m_ {i}', r_ {i-1 } = Ti / h1 (m_ {i} || IDi)
(Mod n) are successively repeated to obtain R
1 = (1 / s_ {1}) G + (r_ {1} / s_
{1}) Y1 = (R1_x, R1_y) (operation on E / Fp), T1 = R1_x / r_ {1} (modn), K1 = h2 (T1), m_ {1} ′ || ID_ {1} ′ = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that the document can be changed and the document change and document distribution order can be verified without fixing the order of users who distribute the document.

【0021】請求項8では,請求項5記載のメッセージ
復元型署名として,小さい素数の集合を{r_{1}}
={2,3,5,…}とし,各署名者Iiは,そのID
をIDi,大きな2つのtビットの素数p_i,q_i
を秘密に生成し,{r_{1}}の各要素との積,n_
{i,1}=p_{1}q_{i}r_{1}に対し
て,L_{1,1}=LCM((p_{i}_1),
(q_{i}_1),(r_{1}_1))(最小公倍
数)とし,e_{i,1},d_{i,1}∈{1,
2,..,n_{i,1}_1}を e_{i,1}*d_{i,1}=1(mod L_
{i,1}) として求めるステップと,各{r_{1}}に対して
{n_{i,1},e_{i,1}}を署名者Iiの公
開鍵とし,{d_{i,1}}を対応する秘密鍵とし,
h1は任意のビット長の元の入力に対し,2tビット長
に出力するハッシュ関数とし,署名生成のステップは,
署名者Ilが,文書M_{1}=m_{1}に対してデ
ィジタル署名を施す時,n_{1,1_{1}}〉 h
1(m_{1}||ID_{1})となるn_{1,1
_{1}}に対し,sgn_{1}=h1(m_{1}
||ID_{1})^(d_{1,l_{1}})
(mod n_{1,l_{1}}),を求めるステッ
プと,暗号化関数で使用するセッションキーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},l_{1},s
gn_{1},c_{1})をm_{1}に対する署名
として,次のユーザに送信するステップと,署名文(I
D_{1},l_{1},c_{1}),…,(ID_
{j−2},l_{j−2},c_{j−2}),(I
D_{j−1},l_{j−1},sgn_{j},c
_{j−1})を受信したユーザIjは,後述の検証の
ステップから,m_{1},…,m_{j−1}を復元
するステップと,M_{1,2,...,j−1}=P
at(m_{1},m_{2},…,m_{j−1})
により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,n_{j,l_{j}}〉sgn
_{j−1}(+)h1(m_{j}||ID_
{j})となるn_{j,l_{j}}に対し,ここで
(+)は排他的論理和とし,sgn_{j}=(sgn
_{j−1}(+)h1(m_{j}||ID_
{j}))^(d_{j,l_{j}})(mod n
_{j,l_{j}}),を求めるステップと,暗号化
関数で使用するセッションキーKj Kj=h2(sgn_{j−1}(+)h1(m_
{j}||ID_{j})) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},sgn_
{j},l_{j},c_{j})をm_{j}に対す
る署名とし,(ID_{1},l_{1},c_
{1}),…,(ID_{j−1},l_{j−1},
c_{j−1}),(ID_{j},l_{j},sg
n_{j},c_{j})を(m_{1},…,m_
{j})に対する署名として,次のユーザに通信するス
テップからなり,署名検証のステップは,署名文(ID
_{1},l_{1},c_{1}),…,(ID_
{j−1},l_{j−1},c_{j−1}),(I
D_{j},l_{j},sgn_{j},c_
{j})を用いて,i=j,…,2に対して, T=sgn_{i}^e_{i,l_{i}}(mod
n_{i,l_{i}}) ki=h2(Ti), m_{i}’||IDi’=D(ki,c_{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, sgn_{i−1}=T(+)h1(m_{i}||I
Di) を復元するステップを順次繰り返し, T1=sgn_{1}^e_{1,l_{1}}(mo
d n_{1,l_{1}}) K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置としている.
According to an eighth aspect, a set of small prime numbers is {r_ {1}} as the message restoration type signature according to the fifth aspect.
= {2,3,5, ...}, and each signer Ii has its ID
To IDi, two large t-bit primes p_i, q_i
Is secretly generated, and the product of each element of {r_ {1}, n_
For {i, 1} = p_ {1} q_ {i} r_ {1}, L_ {1,1} = LCM ((p_ {i} _1),
(Q_ {i} _1), (r_ {1} _1)) (least common multiple) and e_ {i, 1}, d_ {i, 1} 1,
2,. . , N_ {i, 1} _1} to e_ {i, 1} * d_ {i, 1} = 1 (mod L_
{I, 1}), and for each {r_ {1}, {n_ {i, 1}, e_ {i, 1} is the signer Ii's public key, and {d_ {i, Let 1}} be the corresponding private key,
h1 is a hash function that outputs a 2t-bit length with respect to the original input having an arbitrary bit length.
When the signer Il applies a digital signature to the document M_ {1} = m_ {1}, n_ {1,1_ {1}> h
N_ {1,1 which becomes 1 (m_ {1} || ID_ {1})
_ {1}, sgn_ {1} = h1 (m_ {1}
|| ID_ {1})} (d_ {1, l_ {1})
(Mod n_ {1, l_ {1}), a step of determining a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, Determining the output c_ {1} = E (K1, m_ {1} || ID_ {1}) of {1} || ID_ {1} by the encryption function E; and (ID_ {1}, l_ {1 }, S
gn_ {1}, c_ {1}) as a signature for m_ {1} to the next user;
D_ {1}, l_ {1}, c_ {1}), ..., (ID_
{J-2}, l_ {j-2}, c_ {j-2}), (I
D_ {j-1}, l_ {j-1}, sgn_ {j}, c
_ {J-1}), a step of restoring m_ {1},..., M_ {j-1} from a verification step described later, . . , J-1} = P
at (m_ {1}, m_ {2}, ..., m_ {j-1})
Restoring a document according to M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, n_ {j, l_ {j}> sgn
_ {J-1} (+) h1 (m_ {j} || ID_
Here, (+) is an exclusive OR, and sgn_ {j} = (sgn
_ {J-1} (+) h1 (m_ {j} || ID_
{J})) {(d_ {j, l_ {j}) (mod n
_ {J, l_ {j}), and a session key Kj Kj = h2 (sgn_ {j−1} (+) h1 (m_
{J} || ID_ {j})) and the output of m_ {j} || ID_ {j} by the encryption function E c_ {j} = E (Kj, m_ {j} || ID_} j}), and (ID_ {j}, sgn_
Let {j}, l_ {j}, c_ {j}) be a signature for m_ {j} and (ID_ {1}, l_ {1}, c_
{1}), ..., (ID_ {j-1}, l_ {j-1},
c_ {j-1}), (ID_ {j}, l_ {j}, sg
n_ {j}, c_ {j}) to (m_ {1},..., m_
{J}) as a signature to the next user, and the signature verification step includes a signature (ID
_ {1}, l_ {1}, c_ {1}), ..., (ID_
{J-1}, l_ {j-1}, c_ {j-1}), (I
D_ {j}, l_ {j}, sgn_ {j}, c_
{J}), T = sgn_ {i} e_ {i, l_ {i} (mod
n_ {i, l_ {i}) ki = h2 (Ti), m_ {i} ′ || IDi ′ = D (ki, c_ {i}), and a step of determining IDi ′ = IDi Verifying the signature based on the determination result; m_ {i} = m_ {i} ', sgn_ {i-1} = T (+) h1 (m_ {i} ||
Di) are sequentially repeated, and T1 = sgn_ {1} e_ {1,1_ {1} (mo
dn_ {1,1_ {1}) K1 = h2 (T1), m_ {1} '|| ID_ {1}' = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. The multi-signature generation device is characterized in that the document can be changed and the document change and the document distribution order can be verified without fixing the order of the users who distribute the document.

【0022】[0022]

【実施例1】図1は,有限体上の離散対数問題ベースの
メッセージ復元型署名を利用した多重署名を示すもので
ある.以下同図を参照しながら多重署名生成装置を説明
する.
Embodiment 1 FIG. 1 shows a multiple signature using a message restoration type signature based on a discrete logarithm problem on a finite field. The multi-signature generation device will be described below with reference to FIG.

【0023】Step1.初期設定 有限体Fp(pを素数),ベースポイントg∈Fp,そ
の位数ord(g)=nを素数とし,h1は任意のビッ
ト長の元の入力に対し,Zn*に出力するハッシュ関数
とする.各署名者Iiは,そのIDをIDi, 秘密鍵xi∈Zn*={1,..,n−1}, 公開鍵yi=g^xi(mod p) を求める.署名者Ilが,文書M_{1}=m_{1}
を作成し,これ以後のi番目の変更者がそれ以前の文書
M_{1,2,...,i−1}に変更を加えた文書を
M_{1,2,...,i}とし,Iiは受信した文書
M_{1,2,...,i−1}に対して施した変更点
を m_{1}=Diff(M_{1,2,...,i−
1},M_{1,2,...,i}) で表し,すなわち,m_{i}はM_{1,
2,...,i−1}とM_{1,2,...,i}の
差分とし,関数Patを用いて差分から,文書は, M_{1,2,.,.,i}=Pat(m_{1},m
_{2},…,m_{i}) として復元されるとする.
Step 1. Initial setting Finite field Fp (p is a prime number), base point g∈Fp, its order ord (g) = n is a prime number, and h1 is a hash function that outputs to Zn * for an original input of an arbitrary bit length And Each signer Ii assigns its ID to IDi, secret key xixZn * = {1,. . , N−1}, and the public key yi = g ^ xi (mod p). When the signer Il receives the document M_ {1} = m_ {1}
, And the i-th modifier after this creates documents M_ {1, 2,. . . , I-1} are changed to M_ {1, 2,. . . , I}, and Ii is the received document M_ {1, 2,. . . , I−1} is defined as m_ {1} = Diff (M_ {1, 2,..., I−
1}, M_ {1, 2,. . . , I}), that is, m_ {i} is M_ {1,
2,. . . , I−1} and M_ {1, 2,. . . , I}, and from the difference using the function Pat, the document is M_ {1, 2,. ,. , I} = Pat (m_ {1}, m
_ {2}, ..., m_ {i}).

【0024】Step2.署名生成Step 2. Signature generation

【0025】Step2−1.Ilによる署名生成 乱数k1∈Zn*に対し, R1=g^k1(mod p), r_{1}=R1/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求める.(ID_{1},s_{1},r_{1},
m_{1})をm_{1}に対する署名として,次のユ
ーザに送信する.
Step 2-1. Signature generation by Il For a random number k1∈Zn *, R1 = g ^ k1 (mod p), r_ {1} = R1 / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n),. (ID_ {1}, s_ {1}, r_ {1},
m_ {1}) is transmitted to the next user as a signature for m_ {1}.

【0026】Step2_2.Ijによる署名生成 署名文(ID_{1},s_{1},m_{1}),
…,(ID_{j−2},s_{j−2},m_{j−
2}),(ID_{j−1},s_{j−1},r_
{j−1},m_{j−1})を受信したユーザIj
は, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元する.次に,文書M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求める.得られたm_{j}に対して,乱数kj∈Z
n*を用いて, Rj=g^kj(mod p) r_{j}=Rj/(h1(m_{j}||ID_
{j})r_{j−1})(mod n), s_{j}=(xjr_{j}+1)/kj (mo
d n), を求める.(ID_{j},s_{j},r_{j},
m_{j})をm_{j}に対する署名とする.(ID
_{1},s_{1},m_{1}),…,(ID_
{j−1},s_{j−1},m_{j−1}),(I
D_{j},s_{j},r_{j},m_{j})を
(m_{1},…,m_{j})に対する署名として,
次のユーザに送信する.
Step 2_2. Signature generation by Ij Signature sentence (ID_ {1}, s_ {1}, m_ {1}),
..., (ID_ {j-2}, s_ {j-2}, m_ {j-
2}), (ID_ {j−1}, s_ {j−1}, r_
{J-1}, m_ {j-1}) user Ij
Is M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2}, ..., m_ {j-1}). Next, the document M_ $ 1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}). For the obtained m_ {j}, a random number kj {Z
Using n *, Rj = g {kj (mod p) r_ {j} = Rj / (h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (mo
dn) and are obtained. (ID_ {j}, s_ {j}, r_ {j},
m_ {j}) is a signature for m_ {j}. (ID
_ {1}, s_ {1}, m_ {1}), ..., (ID_
{J-1}, s_ {j-1}, m_ {j-1}), (I
D_ {j}, s_ {j}, r_ {j}, m_ {j}) as a signature for (m_ {1},..., M_ {j})
Send to the next user.

【0027】Step3署名検証 署名文(ID_{1},s_{1},m_{1}),
…,(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を用いて,i=j,…,2に対して, Ri=g^(1/s_{i})yi^(r_{i}/s
_{i})(mod p), Ti=Ri/r_{i}(mod n) r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を順次求める.次に, R1=g^(1/s_{1})y1^(r_{1}/s
_{1}), T1=R1/r_{1}(mod n) を求める.次に, T1=h1(m_{1}||ID_{1}) が成り立つか検証する.成り立てば,署名を正当なもの
とみなす.
Step 3 Signature verification signature statement (ID_ {1}, s_ {1}, m_ {1}),
..., (ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}), Ri = g {(1 / s_ {i}) yi} (r_ {i} / s
_ {I}) (mod p), Ti = Ri / r_ {i} (mod n) r_ {i-1} = Ti / h1 (m_ {i} || IDi)
(Mod n) are sequentially obtained. Next, R1 = g {(1 / s_ {1}) y1} (r_ {1} / s
_ {1}), T1 = R1 / r_ {1} (mod n). Next, it is verified whether T1 = h1 (m_ {1} || ID_ {1}) holds. If so, consider the signature valid.

【0028】上記実施例1は,請求項2に掛かる発明の
一実行例である.上記実施例1は,予め署名する対象で
ある文書を固定する必要がなく,また署名者の順序を予
め指定する必要がない.さらに,検証時において,誰が
何処にどのような順序で文書に修正を加えたのか検証す
ることが可能である.この結果,様々な用途で,複数人
が署名する場面において利用可能である.
The first embodiment is an embodiment of the present invention. In the first embodiment, it is not necessary to fix the document to be signed in advance, and it is not necessary to specify the order of the signers in advance. Furthermore, at the time of verification, it is possible to verify who modified the document and where and in what order. As a result, it can be used in a variety of applications where multiple people sign.

【0029】上記実施例1では,各署名者Ijが,自分
の修正個所m_{j}に対して,署名を施しているが,
これは,勿論,M_{1,..,j}に署名することに
容易に拡張できる.この結果,各署名者が修正を加えず
に署名だけ行う場合にも対応できる.修正を行わなかっ
た場合は,m_{j}=NULLとして送信し,各署名
生成・検証のフェーズは,m_{j}をM_
{1,..,j}に変更するとよい.
In the first embodiment, each signer Ij applies a signature to his or her modified part m_ {j}.
This is, of course, M_ {1,. . , J} can be easily extended. As a result, it is possible to deal with the case where each signer performs only the signature without making any modifications. If no modification has been made, transmit as m_ {j} = NULL, and in each signature generation / verification phase, m_ {j}
{1,. . , J}.

【0030】実施例1では,有限体上のメッセージ復元
型署名として,DSA署名式を利用したメッセージ復元
型署名式, s=(xr+1)/k (mod n), を用いている.ここで,xはユーザの秘密鍵で,乱数k
に対して,r=g^k(mod p)である.しかし,
本発明による多重署名を実現するには,この署名式に限
らない.DLPに基づく任意のメッセージ復元型署名式
を用いて実現が可能である.メッセージ復元型署名の変
形に関しては,以下に数種類が記載されている.勿論,
記載以外のメッセージ復元型署名でも実現が可能であ
る. A.Miyaji, “Another countermeasure t
o forgeriesover message r
ecovery signature”,IEICE
Trans.,Fundamentals. vol.
E80−A,No.11(1997),2192−2
200.
In the first embodiment, as a message restoration type signature on a finite field, a message restoration type signature expression using a DSA signature expression, s = (xr + 1) / k (mod n), is used. Here, x is a user's secret key, and a random number k
, R = g ^ k (mod p). However,
The realization of the multiple signature according to the present invention is not limited to this signature type. It can be realized by using any message restoration type signature formula based on DLP. Several variations of the message restoration type signature are described below. Of course,
It is also possible to use a message restoration type signature other than the one described. A. Miyaji, "Another countermeasurement
o forgeriesover messager
ecological signature ”, IEICE
Trans. , Fundamentals. vol.
E80-A, no. 11 (1997), 2192-2
200.

【0031】[0031]

【発明の効果】以上に説明したように,従来の多重署名
においては,署名者による文書の変更ができなかった.
また署名者の署名順序を検証時において検証できない方
式や,署名順序が検証できる方式では,予め署名者の順
序を指定するなど順序に対するフレキィビリティを満た
していなかった.このため,署名者が自由に文書の変更
ができ,文書の流れる順序を予め指定することなく,検
証時において,文書の変更個所,変更者,さらには文書
の流れる順序が検証するのは困難であるという問題があ
った.
As described above, in the conventional multiple signature, the document cannot be changed by the signer.
In addition, the method that cannot verify the signer's signature order at the time of verification or the method that can verify the signature order does not satisfy the flexibility for the order, such as specifying the signer's order in advance. For this reason, it is difficult for the signer to freely change the document, and it is difficult to verify the changed portion of the document, the person who changed the document, and the order in which the document flows at the time of verification without specifying the order in which the document flows. There was a problem.

【0032】本発明は,この従来例における問題点を鑑
みて行なわれたもので,署名者が自由に文書の変更がで
き,文書の流れる順序を予め指定することなく,検証時
において,文書の変更個所,変更者,さらには文書の流
れる順序が検証できる多重署名を提供することを目的と
する.これにより,インターネットを用いたフリーソフ
トの流通の状況などにおいても,任意のユーザがソフト
ウエアを改良し,それを流通するという状況において,
ユーザの著作権を保護しつつ,悪意あるユーザを特定す
ることが可能になり,その実用的価値は大きい.
The present invention has been made in view of the problems in the conventional example, and allows a signer to freely change a document, and to specify a document flow at the time of verification without previously specifying a flow order of the document. The purpose is to provide a multi-signature that can verify the location of change, the person who made the change, and the order in which the document flows. As a result, even in the situation of free software distribution using the Internet, in the situation where arbitrary users improve the software and distribute it,
It is possible to identify a malicious user while protecting the user's copyright, and its practical value is great.

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

【図1】実施例1の多重署名生成装置の構成図FIG. 1 is a configuration diagram of a multiple signature generation device according to a first embodiment;

【図2】従来例1の多重署名生成装置の構成図FIG. 2 is a configuration diagram of a multi-signature generation device according to a first conventional example;

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】Iiはi番目の署名者とし,オリジナル文
書をM_{1}=m_{1}とし,添字iの明記の必要
がある場合には_{i}と表すことにし,また文書とは
ソフトウエアやデータ,書類など電子データ全般の総称
とし,これ以後のi番目の変更者がそれ以前の文書M_
{1,2,...,i−1}に変更を加えた文書をM_
{1,2,...,i}とし,Iiは受信した文書M_
{1,2,...,i−1}に対して施した変更点を m_{i}=Diff(M_{1,2,...,i−
1},M_{1,2,...,i}) で表し,すなわち,m_{1}はM_{1,
2,...,i−1}とM_{1,2,...,i}の
差分とし,関数Patを用いて差分から,文書は, M_{1,2,...,i}=Pat(m_{1},m
_{2},…,m_{i}) として復元されるとし,各署名者Iiは,そのIDをI
Di,秘密鍵sk_{i},公開鍵pk_{i}とし,
メッセージ復元型署名関数signの入力はpk_
{i},m_{i}とし,出力すなわち署名をSIG_
{i}とし,SIG_{i}をSIG_{i}=(r_
{i},s_{i})と分割し,r_{i}は署名SI
G_{i}の検証時に復元できる部分で,s_{i}は
SIG_{i}の残りの部分とし,逆に署名から文書を
復元する関数recの入力はpk_{i},r_
{i},s_{i}とし,その出力として文書m_
{i}が復元される,すなわち, sign(sk_{i},m_{i})=SIG_
{i}=(r_{i},s_{i}) rec(pk_{i},(r_{i},s_{i}))
=m_{i},とし,h1は任意のビット長の元の入力
に対し,署名生成関数の定義域の範囲に出力するハッシ
ュ関数とし,%と#は,剰余乗算のような互いに以下の
ような逆演算の関係にある任意の演算 (A%B)#B=A とし,署名生成のステップは,署名者I1が,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
メッセージ復元型署名signによる出力, SIG_{1}=sign(sk_{1},h1(m_
{1}||ID_{1}))=(r_{1},s_
{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1},m_{1}),…,(I
D_{j−2},s_{j−2},m_{j−2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIJは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}と受信した署
名文のr_{j−1}にメッセージ復元型署名sign
による出力 SIGj=sign(skj,r_{j−1}%h1
(m_{j}||ID_{j}))=(r_{j},s
_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},m_{1}),…,(ID_{j−1},s_
{j−1},m_{j−1}),(ID_{j},s_
{j},r_{j},m_{j})を用いて,i=j,
…,2に対して, Ti=rec(pk_{i},(r_{i},s_
{i})) r_{i−1}=Ti#h1(m_{i}||IDi) を順次求めるステップと, T1=rec(pk_{1},(r_{1},s_
{1})) を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
(1) Ii is the i-th signer, the original document is M_ {1} = m_ {1}, and if it is necessary to specify the subscript i, it is expressed as _ {i}. Is a general term for all electronic data such as software, data, documents, etc.
{1, 2,. . . , I-1} is changed to M_
{1, 2,. . . , I}, and Ii is the received document M_
{1, 2,. . . , I-1}, m_ {i} = Diff (M_ {1,2, ..., i-
1}, M_ {1, 2,. . . , I}), that is, m_ {1} is M_ {1,
2,. . . , I−1} and M_ {1, 2,. . . , I}, and from the difference using the function Pat, the document is M_ {1, 2,. . . , I} = Pat (m_ {1}, m
_ {2}, ..., m_ {i}), and each signer Ii sets its ID to I
Di, a secret key sk_ {i}, and a public key pk_ {i},
The input of the message restoration type signature function sign is pk_
{I}, m_ {i}, and the output, that is, the signature is SIG_
Let SIG_ {i} be SIG_ {i} = (r_
{I}, s_ {i}), and r_ {i} is the signature SI
G_ {i} is a part that can be restored at the time of verification, s_ {i} is the remaining part of SIG_ {i}, and conversely, the input of the function rec for restoring the document from the signature is pk_ {i}, r_
{I}, s_ {i}, and as its output the document m_
{I} is restored, that is, sign (sk_ {i}, m_ {i}) = SIG_
{I} = (r_ {i}, s_ {i}) rec (pk_ {i}, (r_ {i}, s_ {i}))
= M_ {i}, h1 is a hash function that outputs the original input of an arbitrary bit length in the range of the domain of the signature generation function, and% and # are mutually Arbitrary operation having a reverse operation relationship (A% B) # B = A, and the signature generation step is such that the signer I1 checks whether the document M_
When digitally signing {1} = m_ {1},
SIG_ {1} = sign (sk_ {1}, h1 (m_
{1} || ID_ {1})) = (r_ {1}, s_
{ID}, (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, to the next user, and includes a signature (ID_ {1}, s_ {1}, m_ {1}),. (I
D_ {j-2}, s_ {j-2}, m_ {j-2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j-1}), the user IJ receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}), and a message restoration type signature sign is added to the obtained m_ {j} and r_ {j−1} of the received signature statement.
SIGj = sign (skj, r_ {j-1}% h1
(M_ {j} || ID_ {j})) = (r_ {j}, s
_ {J}), (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, m_ {1}), ..., (ID_ {j-1}, s_
{J-1}, m_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, m_ {j}), i = j,
, 2, Ti = rec (pk_ {i}, (r_ {i}, s_
{I})) r_ {i-1} = Ti # h1 (m_ {i} || IDi), and T1 = rec (pk_ {1}, (r_ {1}, s_
{1})), determining whether T1 = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. A multi-signature generating apparatus characterized in that a document can be changed and a document distribution order can be verified without making the order of users distributing documents fixed.
【請求項2】請求項1記載のメッセージ復元型署名とし
て,有限体Fp(pを素数),ベースポイントg∈F
p,その位数ord(g)=nを素数とし,各署名者I
iは,そのIDをIDi,秘密鍵xi∈Zn*=
{1,..,n−1},公開鍵をFp上でyi=g^x
iと求めるステップと,h1は任意のビット長の元の入
力に対し,Zn*に出力するハッシュ関数とし,署名生
成のステップは,署名者I1が,文書M_{1}=m_
{1}に対してディジタル署名を施す時,乱数k1∈Z
n*に対し, R1=g^k1(mod p), r_{1}=R1/h1(m_{1}||ID_
{1}) (mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1},m_{1}),…,(I
D_{j−2},s_{j−2},m_{j−2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し, Rj=g^kj(mod p) r_{j}=Rj/(h1(m_{j}||ID_
{j})r_{j−1}) (mod n), s_{j}=(xjr_{j}+1)/kj (m
odn), を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},m_{1}),…,(ID_{j−1},s_
{j−1},m_{j−1}),(ID_{j},s_
{j},r_{j},m_{j})を用いて,i=j,
…,2に対して, Ri=g^(1/s_{i})yi^(r_{i}/s
_{i})(mod p), Ti=Ri/r_{i}(mod n) r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を順次求めるステップと, R1=g^(1/s_{1})y1^(r_{1}/s
_{1}), T1=R1/r_{1}(mod n) を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
2. The message restoration type signature according to claim 1, wherein a finite field Fp (p is a prime number), a base point g∈F
p, its order ord (g) = n is a prime number, and each signer I
i is IDi of the ID and secret key xixZn * =
{1,. . , N−1}, and the public key is converted to yi = g ^ x on Fp.
i and a step of obtaining a hash function that outputs to a Zn * with respect to an original input having an arbitrary bit length. The signature generation step is such that the signer I1 determines that the document M_ {1} = m_
When digitally signing {1}, random number k1 {Z
For n *, R1 = g {k1 (mod p), r_ {1} = R1 / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n), and (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, to the next user, and includes a signature (ID_ {1}, s_ {1}, m_ {1}),. (I
D_ {j-2}, s_ {j-2}, m_ {j-2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, for a random number kj {Zn *, Rj = g {kj (mod p) r_ {j} = Rj / ( h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (m
odn), and (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, m_ {1}), ..., (ID_ {j-1}, s_
{J-1}, m_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, m_ {j}), i = j,
, 2, Ri = g ^ (1 / s_ {i}) yi ^ (r_ {i} / s
_ {I}) (mod p), Ti = Ri / r_ {i} (mod n) r_ {i-1} = Ti / h1 (m_ {i} || IDi)
(Mod n), R1 = g {(1 / s_ {1}) y1} (r_ {1} / s
_ {1}), T1 = R1 / r_ {1} (mod n), a step of determining whether T1 = h1 (m_ {1} || ID_ {1}), and a multiple signature based on the determination result. A multi-signature generating apparatus characterized in that the method comprises the steps of verifying a document, enabling a document change for each user, and verifying a document change and document distribution order without fixing the order of users who distribute the document.
【請求項3】請求項1記載のメッセージ復元型署名とし
て,有限体Fp(p:素数)上の楕円曲線E/Fp,ベ
ースポイントG∈E(Fq),その位数ord(G)=
nを素数とし,各署名者Iiは,そのIDをIDi,秘
密鍵xi∈Zn*={1,..,n−1},公開鍵をE
上でYi=xiGと求めるステップと,h1は任意のビ
ット長の元の入力に対し,Zn*に出力するハッシュ関
数とし,署名生成のステップは,署名者I1が,文書M
_{1}=m_{1}に対してディジタル署名を施す
時,乱数k1∈Zn*に対し,E/Fp上でR1=k1
G=(R1_x,R1_y)を求めるステップと, r_{1}=R1_x/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
odn), を求めるステップと,(ID_{1},s_{1},r
_{1},m_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップからなり,署名文
(ID_{1},s_{1},m_{1}),…,(I
D_{j−2},s_{j−2},m_{j−2}),
(ID_{j−1},s_{j−1},r_{j−
1},m_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,文書M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し,E/F
p上でRj=kjG=(Rj_x,Rj_y)を求める
ステップと, r_{j}=Rj_x/(h1(m_{j}||ID_
{j})r_{j−1}) (mod n), s_{j}=(xjr_{j}+1)/kj (m
odn), を求めるステップと,(ID_{j},s_{j},r
_{j},m_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},m_{1}),…,
(ID_{j−1},s_{j−1},m_{j−
1}),(ID_{j},s_{j},r_{j},m
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},m_{1}),…,(ID_{j−1},s_
{j−1},m_{j−1}),(ID_{j},s_
{j},r_{j},m_{j})を用いて,i=j,
…,2に対して,E/Fp上でRi=(1/s_
{i})G+(r_{i}/s_{i})Yi=(Ri
_x,Ri_y)を求めるステップと, Ti=Ri_x/r_{i}(mod n) r_{i−1}=Ti/h1(m_{i}||IDi) を順次求めるステップと,Fp上でR1=(1/s_
{1})G+(r_{1}/s_{1})Y1=(R1
_x,R1_y)を求めるステップと T1=R1_x/r_{1} を求めるステップと T1=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
3. The message restoration type signature according to claim 1, wherein an elliptic curve E / Fp on a finite field Fp (p: prime number), a base point G∈E (Fq), and its order ord (G) =
n is a prime number, and each signer Ii sets its ID to IDi and secret key xi∈Zn * = {1,. . , N−1}, and the public key is E
Above, the step of obtaining Yi = xiG, and h1 is a hash function for outputting to the Zn * with respect to the original input having an arbitrary bit length.
When digital signature is applied to _ {1} = m_ {1}, R1 = k1 on E / Fp for random number k1∈Zn *
G = (R1_x, R1_y); r_ {1} = R1_x / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
odn), and (ID_ {1}, s_ {1}, r
_ {1}, m_ {1}) as a signature for m_ {1}, to the next user, and includes a signature (ID_ {1}, s_ {1}, m_ {1}),. (I
D_ {j-2}, s_ {j-2}, m_ {j-2}),
(ID_ {j-1}, s_ {j-1}, r_ {j-
1}, m_ {j−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}) and a document M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, the E / F
determining Rj = kjG = (Rj_x, Rj_y) on p; r_ {j} = Rj_x / (h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (m
odn), and (ID_ {j}, s_ {j}, r
_ {J}, m_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, m_ {1}),.
(ID_ {j-1}, s_ {j-1}, m_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, m
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, m_ {1}), ..., (ID_ {j-1}, s_
{J-1}, m_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, m_ {j}), i = j,
.., 2 on the E / Fp, Ri = (1 / s_
{I}) G + (r_ {i} / s_ {i}) Yi = (Ri
_X, Ri_y), sequentially obtaining Ti = Ri_x / r_ {i} (mod n) r_ {i-1} = Ti / h1 (m_ {i} || IDi), and R1 on Fp. = (1 / s_
{1}) G + (r_ {1} / s_ {1}) Y1 = (R1
_X, R1_y), a step of determining T1 = R1_x / r_ {1}, a step of determining whether T1 = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. A multi-signature generating apparatus characterized in that a document change can be performed for each user, and the document change and the document distribution order can be verified without fixing the order of the users who distribute the documents.
【請求項4】請求項1記載のメッセージ復元型署名とし
て,小さい素数の集合を{r_{1}}={2,3,
5,…}とし,各署名者Iiは,そのIDをIDi,大
きな2つのtビットの素数p_i,q_iを秘密に生成
し,{r_{1}}の各要素との積,n_{i,1}=
p_{i}q_{i}r_{1}に対して,L_{i,
1}=LCM((p_{i}−1),(q_{i}−
1),(r_{1}−1))(最小公倍数)とし,e_
{i,1},d_{i,1}∈{1,2,..,n_
{i,1}−1}を e_{i,1}*d_{i,1}=1(mod L_
{i,1}) として求めるステップと,各{r_{1}}に対して
{n_{i,1},e_{i,1}}を署名者Iiの公
開鍵とし,{d_{i,1}}を対応する秘密鍵とし,
h1は任意のビット長の元の入力に対し2tビットに出
力するハッシュ関数とし,署名生成のステップは,署名
者I1が,文書M_{1}=m_{1}に対してディジ
タル署名を施す時,n_{1,1_{1}}〉h1(m
_{1}||ID_{1})となるn_{1,l_
{1}}に対し,sgn_{1}=h1(m_{1}|
|ID_{1})^(d_{1,1_{1}}) (m
od n_{1,l_{1}}),を求めるステップ
と,(ID_{1},sgn_{1},l_{1},m
_{1})をm_{1}に対する署名として,次のユー
ザに送信するステップからなり,署名文(ID_
{1},l_{1},m_{1}),…,(ID_{j
−2},l_{j−2},m_{j−2}),(ID_
{j−1},sgn_{j−1},l_{j−1},m
_{j−1})を受信したユーザIjは, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時, n_{j,l_{j}}〉sgn_{j−1}(+)h
1(m_{j}||ID_{j}) となるn_{j,l_{j}}に対し,ここで(+)は
排他的論理和とし,sgn_{j}=(sgn_{j−
1}(+)h1(m_{j}||ID_{j}))^
(d_{j,l_{j}}) (mod n_{j,l
_{j}}),を求めるステップと,(ID_{j},
l_{j},sgn.{j},m_{j})をm_
{j}に対する署名とし,(ID_{1},sgn_
{1},m_{1}),…,(ID_{j−1},sg
n_{j−1},m_{j−1}),(ID_{j},
sgn_{j},m_{j})を(m_{1},…,m
_{j})に対する署名として,次のユーザに通信する
ステップからなり,署名検証のステップは,署名文(I
D_{1},l_{1},m_{1}),…,(ID_
{j−1},l_{j−1},m_{j−1}),(I
D_{j},l_{j},sgn_{j},m_
{j})を用いて,i=j,…,2に対して, T=sgn_{i}^e_{i,l_{i}}(mod
n_{i,l_{i}}) sgn_{i−1}=T(+)h1(m_{i}||I
Di) を順次求めるステップと T=sgn_{1}^e_{1,l_{1}}(mod
n_{1,l_{1}}) を求めるステップと T=h1(m_{1}||ID_{1}) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
4. A message restoration type signature according to claim 1, wherein a set of small prime numbers is {r_ {1} = {2, 3,
5,...}, Each signer Ii secretly generates its ID as IDi and two large t-bit primes p_i and q_i, and multiplies each element of {r_ {1} with n_ {i, 1} =
For p_ {i} q_ {i} r_ {1}, L_ {i,
1} = LCM ((p_ {i} −1), (q_ {i} −
1), (r_ {1} -1)) (the least common multiple) and e_
{I, 1}, d_ {i, 1 {1, 2,. . , N_
{I, 1} -1} is changed to e_ {i, 1} * d_ {i, 1} = 1 (mod L_
{I, 1}), and for each {r_ {1}, {n_ {i, 1}, e_ {i, 1} is the signer Ii's public key, and {d_ {i, Let 1}} be the corresponding private key,
h1 is a hash function that outputs 2t bits to the original input having an arbitrary bit length. The signature generation step is performed when the signer I1 applies a digital signature to the document M_ {1} = m_ {1}. , N_ {1,1_ {1}> h1 (m
_ {1} || ID_ {1}) n_ {1, l_
For {1}, sgn_ {1} = h1 (m_ {1} |
| ID_ {1}) {(d_ {1,1_ {1}) (m
od n — {1, l — {1}), and (ID — {1}, sgn — {1}, l — {1}, m
_ {1}) as a signature for m_ {1}, and transmitting the signature to the next user.
{1}, l_ {1}, m_ {1}), ..., (ID_ {j
−2}, l_ {j−2}, m_ {j−2}), (ID_
{J-1}, sgn_ {j-1}, l_ {j-1}, m
_ {J−1}), the user Ij receives M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, n_ {j, l_ {j}> sgn_ {j-1} (+) h
1 (m_ {j} || ID_ {j}), where (+) is exclusive OR, and sgn_ {j} = (sgn_ {j-
1 {(+) h1 (m_ {j} || ID_ {j}))}
(D_ {j, l_ {j}) (mod n_ {j, l
_ {J}), and (ID_ {j},
l_ {j}, sgn. {J}, m_ {j}) to m_
{J} as a signature, and (ID_ {1}, sgn_
{1}, m_ {1}, ..., (ID_ {j-1}, sg
n_ {j-1}, m_ {j-1}), (ID_ {j},
sgn_ {j}, m_ {j}) to (m_ {1},..., m
_ {J}) as a signature to the next user. The signature verification step includes a signature sentence (I
D_ {1}, l_ {1}, m_ {1}), ..., (ID_
{J-1}, l_ {j-1}, m_ {j-1}), (I
D_ {j}, l_ {j}, sgn_ {j}, m_
{J}), T = sgn_ {i} e_ {i, l_ {i} (mod
n_ {i, l_ {i}) sgn_ {i-1} = T (+) h1 (m_ {i} || I
Di) and T = sgn_ {1} e_ {1,1_ {1} (mod
n_ {1, l_ {1}), determining whether T = h1 (m_ {1} || ID_ {1}), and verifying the multiple signature based on the determination result. A multi-signature generation apparatus characterized in that a document change can be performed for each document, and the document change and the document distribution order can be verified without fixing the order of users who distribute the documents.
【請求項5】Iiはi番目の署名者とし,オリジナル文
書をM_{1}=m_{1}とし,添字iの明記の必要
がある場合には_{i}と表すことにし,また文書とは
ソフトウエアやデータ,書類など電子データ全般の総称
とし,これ以後のi番目の変更者がそれ以前の文書M_
{1,2,...,i−1}に変更を加えた文書をM_
{1,2,...,i}とし,Iiは受信した文書M_
{1,2,...,i−1}に対して施した変更点を m_{i}=Diff(M_{1,2,...,i−
1},M_{1,2,...,i}) で表し,すなわち,m_{i}はM_{1,
2,...,i−1}とM_{1,2,...,i}の
差分とし,関数Patを用いて差分から M_{1,2,...,i}=Pat(m_{1},m
_{2},…,m_{i}) として復元されるとし,各署名者Iiは,そのIDをI
Di,秘密鍵sk_{i},公開鍵pk_{i}とし,
メッセージ復元型署名関数signの入力はpk_
{i},m_{i}とし,出力すなわち署名をSIG_
{i}とし,SIG_{i}をSIG_{i}=(r_
{i},s_{i})と分割し,r_{i}は署名SI
G_{i}の検証時に復元できる部分で,s_{i}は
SIG_{i}の残りの部分とし,逆に署名から文書を
復元する関数recの入力はpk_{i},r_
{i},s_{i}とし,その出力として文書m_
{i}が復元される,すなわち, sign(sk_{i},m_{i})=SIG_
{i}=(r_{i},s_{i}) rec(pk_{i},(r_{i},s_{i}))
=m_{i}, とし,対称暗号の暗号化関数,復号化関数をそれぞれ,
E(K,m)=c,D(K,c)=m,ここでmを文
書,cを暗号文,Kを対称鍵暗号用の鍵とし,h1は任
意のビット長の入力に対し,署名生成関数の定義域の範
囲に出力するハッシュ関数とし,h2は任意のビット長
の入力に対し,対称暗号の鍵長を出力するハッシュ関数
とし,%と#は,剰余乗算のような互いに以下のような
逆演算の関係にある任意の演算 (A%B)#B=A とし,署名生成のステップは,署名者I1が,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
メッセージ復元型署名signによる出力,SIG_
{1}=sign(sk_{1},h1(m_{1}|
|ID_{1}))=(r_{1},s_{1})を求
めるステップと,暗号化関数で使用するセッションキー
K1 K1=h2(h1(m_{1}||ID_{1}) と求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}にメッセージ
復元型署名signによる出力 SIGj=sign(skj,r_{j−1}%h1
(m_{j}|| ID_{j}))=(r_{j},s_{j}) を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2(r_{j−1}%h1(m_{j}||I
D_{j}) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},s_
{j−1},c_{j−1}),(ID_{j},s_
{j},r_{j},c_{j})を用いて,i=j,
…,2に対して, Ti=rec(pk_{i},(r_{i},s_
{i})), Ki=h2(Ti), m_{i}’ ||IDi’=D(Ki,c_
{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証し, m_{i}=m_{i}’, r_{i−1}=Ti#h1(m_{i}||IDi) を復元するステップを順次繰り返し, T1=rec(pk_{1},(r_{1},s_
{1})), K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
(5) Ii is the i-th signer, the original document is M_ {1} = m_ {1}, and if it is necessary to specify the subscript i, it is expressed as _ {i}. Is a general term for electronic data in general, such as software, data, and documents.
{1, 2,. . . , I-1} is changed to M_
{1, 2,. . . , I}, and Ii is the received document M_
{1, 2,. . . , I-1}, m_ {i} = Diff (M_ {1,2, ..., i-
1}, M_ {1, 2,. . . , I}), that is, m_ {i} is M_ {1,
2,. . . , I−1} and M_ {1, 2,. . . , I}, and M_ {1, 2,. . . , I} = Pat (m_ {1}, m
_ {2}, ..., m_ {i}), and each signer Ii sets its ID to I
Di, a secret key sk_ {i}, and a public key pk_ {i},
The input of the message restoration type signature function sign is pk_
{I}, m_ {i}, and the output, that is, the signature is SIG_
Let SIG_ {i} be SIG_ {i} = (r_
{I}, s_ {i}), and r_ {i} is the signature SI
G_ {i} is a part that can be restored at the time of verification, s_ {i} is the remaining part of SIG_ {i}, and conversely, the input of the function rec for restoring the document from the signature is pk_ {i}, r_
{I}, s_ {i}, and as its output the document m_
{I} is restored, that is, sign (sk_ {i}, m_ {i}) = SIG_
{I} = (r_ {i}, s_ {i}) rec (pk_ {i}, (r_ {i}, s_ {i}))
= M_ {i}, and the encryption function and the decryption function of the symmetric encryption are respectively
E (K, m) = c, D (K, c) = m, where m is a document, c is a ciphertext, K is a key for symmetric key encryption, and h1 is an input having an arbitrary bit length. A hash function to be output in the range of the domain of the signature generation function, h2 is a hash function to output the key length of the symmetric encryption for an arbitrary bit length input, and% and # are mutually Arbitrary operation (A% B) # B = A in the inverse operation relationship, and the signature generation step is as follows.
When digitally signing {1} = m_ {1},
Output by message restoration type signature sign, SIG_
{1} = sign (sk_ {1}, h1 (m_ {1} |
| ID_ {1})) = (r_ {1}, s_ {1}) and a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function ID_ {1} = E (K1, m_ {1} || ID_ {1}) output from the encryption function E of m_ {1} || ID_ {1} 1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
{J-1}), the user Ij restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}), and the obtained m_ {j} is output by the message restoration type signature sign SIGj = sign (skj, r_ {j−1}% h1
(M_ {j} || ID_ {j})) = (r_ {j}, s_ {j}) and a session key Kj Kj = h2 (r_ {j-1}% used in the encryption function) h1 (m_ {j} || I
D_ {j}) and an output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E And (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1}, s_
{J-1}, c_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, c_ {j}), i = j,
, 2, Ti = rec (pk_ {i}, (r_ {i}, s_
{I})), Ki = h2 (Ti), m_ {i} ′ || IDi ′ = D (Ki, c_
{I}), and the step of determining IDi ′ = IDi, and verifying the signature based on the determination result. M_ {i} = m_ {i} ′, r_ {i−1} = Ti # h1 ( m_ {i} || IDi) is sequentially repeated, and T1 = rec (pk_ {1}, (r_ {1}, s_
{1})), K1 = h2 (T1), m_ {1} '|| ID_ {1}' = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. A multi-signature generation apparatus characterized in that a document can be changed and a document change and a document distribution order can be verified without fixing a document distribution user order.
【請求項6】請求項5記載のメッセージ復元型署名とし
て,有限体Fp(pを素数),ベースポイントg∈F
p,その位数ord(g)=nを素数とし,各署名者I
iは,そのIDをIDi,秘密鍵xi∈Zn,公開鍵を
Fp上でyi=g^xiと求めるステップと,h1は任
意のビット長の元の入力に対し,Zn*={1,..,
n−1}に出力するハッシュ関数とし,署名生成のステ
ップは,署名者I1が,文書M_{1}=m_{1}に
対してディジタル署名を施す時,乱数k1∈Zn*に対
し, R1=g^k1(mod p), r_{1}=R1/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求めるステップと,暗号化関数で使用するセッシッン
キーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し, Rj=g^kj(mod p) r_{j}=Rj/(h1(m_{j}||ID_
{j})r_{j−1}) (mod n), s_{j}=(xjr_{j}+1)/kj
(modn), を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2((r_{j−1}*h1(m_{j}||
Idj) (mod n)) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},s_
{j−1},c_{j−1}),(ID_{j},s_
{j},r_{j},c_{j})を用いて,i=j,
…,2に対して, Ri=g^(1/s_{i})yi^(r_{i}/s
_{i})(mod p), Ti=Ri/r_{i}(mod n), Ki=h2(Ti), m_{i}’ ||IDi’=D(Ki,c_
{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を復元するステップを順次繰り返し, R1=g^(1/s_{1})y1^(r_{1}/s
_{1}), T1=R1/r_{1}(mod n) K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’ ||ID_{1}’ ) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
6. The message restoration type signature according to claim 5, wherein a finite field Fp (p is a prime number), a base point g∈F
p, its order ord (g) = n is a prime number, and each signer I
i is a step of obtaining its ID as IDi, a secret key xi∈Zn, and a public key as yi = g ^ xi on Fp, and h1 is Zn * = {1,. . ,
n-1}, and the signature generation step is as follows. When the signer I1 applies a digital signature to the document M_ {1} = m_ {1}, the signer I1 generates R1 = G {k1 (mod p), r_ {1} = R1 / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n), and a step of determining a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and a step of calculating m_ {1} || ID_ {1} Determining the output c_ {1} = E (K1, m_ {1} || ID_ {1}) by the encryption function E, and (ID_ {1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
{J-1}), the user Ij restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, for a random number kj {Zn *, Rj = g {kj (mod p) r_ {j} = Rj / ( h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj
(Modn), and a session key Kj Kj = h2 ((r_ {j-1} * h1 (m_ {j} ||) used in the encryption function.
Idj) (mod n)) and the output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E. Calculating step (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1}, s_
{J-1}, c_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, c_ {j}), i = j,
, 2, Ri = g ^ (1 / s_ {i}) yi ^ (r_ {i} / s
_ {I}) (mod p), Ti = Ri / r_ {i} (mod n), Ki = h2 (Ti), m_ {i} '|| IDi' = D (Ki, c_
{I}), determining IDi ′ = IDi, verifying the signature based on the determination result, m_ {i} = m_ {i} ′, r_ {i−1} = Ti / h1 (m_ {i} || IDi)
(Mod n) are sequentially repeated, and R1 = g {(1 / s_ {1}) y1} (r_ {1} / s
_ {1}), T1 = R1 / r_ {1} (mod n) K1 = h2 (T1), m_ {1} '|| ID_ {1}' = D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. A multi-signature generating apparatus characterized in that a document can be changed and the document change and the document distribution order can be verified without fixing the order of users who distribute the document.
【請求項7】請求項5記載のメッセージ復元型署名とし
て,有限体Fp(p:素数)上の楕円曲線E/Fp,ベ
ースポイントG∈E(Fq),その位数ord(G)=
nを素数とし,各署名者Iiは,そのIDをIDi,秘
密鍵xi∈Zn,公開鍵をE上でYi=xiGと求める
ステップと,h1は任意のビット長の元の入力に対し,
Zn*={1,..,n−1}に出力するハッシュ関数
とし,署名生成のステップは,署名者I1が,文書M_
{1}=m_{1}に対してディジタル署名を施す時,
乱数k1∈EZ*に対し,E/Fp上でR1=k1G=
(R1_x,R1_y)を求めるステップと, r_{1}=R1_x/h1(m_{1}||ID_
{1})(mod n), s_{1}=(x1r_{1}+1)/k1 (m
od n), を求めるステップと,暗号化関数で使用するセッション
キーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},s_{1},r
_{1},c_{1})をm_{1}に対する署名とし
て,次のユーザに送信するステップと,署名文(ID_
{1},s_{1},c_{1}),…,(ID_{j
−2},s_{j−2},c_{j−2}),(ID_
{j−1},s_{j−1},r_{j−1},c_
{j−1})を受信したユーザIjは,後述の検証のス
テップから,m_{1},…,m_{j−1}を復元す
るステップと,M_{1,2,...,j−1}=Pa
t(m_{1},m_{2},…,m_{j−1})に
より文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,乱数kj∈Zn*に対し,E/F
p上でRj=kjG=(Rj_x,Rj_y)を求める
ステップと, r_{j}=Rj_x/(h1(m_{j}||ID_
{j})r_{j−1}) (mod n), s_{j}=(xjr_{j}+1)/kj (m
odn), を求めるステップと,暗号化関数で使用するセッション
キーKj Kj=h2((r_{j−1}*h1(m_{j}||
Idj)(mod n)) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},s_{j},r
_{j},c_{j})をm_{j}に対する署名と
し,(ID_{1},s_{1},c_{1}),…,
(ID_{j−1},s_{j−1},c_{j−
1}),(ID_{j},s_{j},r_{j},c
_{j})を(m_{1},…,m_{j})に対する
署名として,次のユーザに通信するステップからなり,
署名検証のステップは,署名文(ID_{1},s_
{1},c_{1}),…,(ID_{j−1},s_
{j−1},c_{j−1}),(ID_{j},s_
{j},r_{j},c_{j})を用いて,i=j,
…,2に対して,Ri=(1/s_{i})G+(r_
{i}/s_{i})Yi=(Ri_x,Ri_y)
(E/Fp上の演算), Ti=Ri_x/r_{i}(mod n) Ki=h2(Ti), m_{i}’||IDi’=D(Ki,c_{i}), を求めるステップと,IDi’=IDiを判定するステ
ップと,判定結果により署名を検証するステップと, m_{i}=m_{i}’, r_{i−1}=Ti/h1(m_{i}||IDi)
(mod n) を復元するステップを順次繰り返し,R1=(1/s_
{1})G+(r_{1}/s_{1})Y1=(R1
_x,R1_y)(E/Fp上の演算)を求めるステッ
プと T1=R1_x/r_{1}(mod n) を求めるステップと K1=h2(T1), m_{1}’||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
7. The message restoration type signature according to claim 5, wherein an elliptic curve E / Fp on a finite field Fp (p: prime number), a base point G∈E (Fq), and its order ord (G) =
n is a prime number, and each signer Ii obtains its ID as IDi, a secret key xi , Zn, and obtains a public key as Yi = xiG on E, and h1 represents an original input having an arbitrary bit length.
Zn * = {1,. . , N−1}, and the signature generation step is as follows.
When digitally signing {1} = m_ {1},
For a random number k1∈EZ *, R1 = k1G =
(R1_x, R1_y); r_ {1} = R1_x / h1 (m_ {1} || ID_
{1}) (mod n), s_ {1} = (x1r_ {1} +1) / k1 (m
od n),, a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and m_ {1} || ID_ {1} To obtain the output c_ {1} = E (K1, m_ {1} || ID_ {1}) by the encryption function E, and (ID_ {1}, s_ {1}, r
_ {1}, c_ {1}) as a signature for m_ {1}, to the next user, and a signature (ID_
{1}, s_ {1}, c_ {1}), ..., (ID_ {j
-2}, s_ {j-2}, c_ {j-2}), (ID_
{J-1}, s_ {j-1}, r_ {j-1}, c_
The user Ij receiving {j-1}) restores m_ {1},..., M_ {j-1} from the verification step described below, and M_ {1, 2,. . . , J-1} = Pa
restoring a document by t (m_ {1}, m_ {2},..., m_ {j-1});
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, the E / F
determining Rj = kjG = (Rj_x, Rj_y) on p; r_ {j} = Rj_x / (h1 (m_ {j} || ID_
{J}) r_ {j-1}) (mod n), s_ {j} = (xjr_ {j} +1) / kj (m
odn), and a session key Kj Kj = h2 ((r_ {j-1} * h1 (m_ {j} ||) used in the encryption function.
Idj) (mod n)) and the output c_ {j} = E (Kj, m_ {j} || ID_ {j}) of m_ {j} || ID_ {j} by the encryption function E. Calculating step, (ID_ {j}, s_ {j}, r
_ {J}, c_ {j}) as a signature for m_ {j}, and (ID_ {1}, s_ {1}, c_ {1}),.
(ID_ {j-1}, s_ {j-1}, c_ {j-
1}), (ID_ {j}, s_ {j}, r_ {j}, c
_ {J}) as a signature for (m_ {1},..., M_ {j}) and communicating to the next user;
The signature verification step includes a signature sentence (ID_ {1}, s_
{1}, c_ {1}), ..., (ID_ {j-1}, s_
{J-1}, c_ {j-1}), (ID_ {j}, s_
{J}, r_ {j}, c_ {j}), i = j,
, 2, Ri = (1 / s_ {i}) G + (r_
{I} / s_ {i}) Yi = (Ri_x, Ri_y)
(Operation on E / Fp), Ti = Ri_x / r_ {i} (mod n) Ki = h2 (Ti), m_ {i} '|| IDi' = D (Ki, c_ {i}), Step, a step of judging IDi ′ = IDi, a step of verifying the signature based on the judgment result, m_ {i} = m_ {i} ′, r_ {i−1} = Ti / h1 (m_ {i} | | IDi)
(Mod n) are successively repeated, and R1 = (1 / s_
{1}) G + (r_ {1} / s_ {1}) Y1 = (R1
_X, R1_y) (operation on E / Fp), T1 = R1_x / r_ {1} (mod n), and K1 = h2 (T1), m_ {1} ′ || ID_ {1} '= D (K1, c_
{1}), a step of determining whether T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. A multi-signature generation apparatus characterized in that a document can be changed and a document change and a document distribution order can be verified without fixing a document distribution user order.
【請求項8】請求項5記載のメッセージ復元型署名とし
て,小さい素数の集合を{r_{1}}={2,3,
5,…}とし,各署名者Iiは,そのIDをIDi,大
きな2つのtビットの素数p_i,q_iを秘密に生成
し,{r_{1}}の各要素との積,n_{i,1}=
p_{i}q_{i}r_{1}に対して,L_{i,
1}=LCM((p_{i}−1),(q_{i}−
1),(r_{1}−1))(最小公倍数)とし,e_
{i,1},d_{i,1}∈{1,2,..,n_
{i,1}−1}を e_{i,1}*d_{i,1}=1(mod L_
{i,1}) として求めるステップと,各{r_{1}}に対して
{n_{i,1},e_{i,1}}を署名者Iiの公
開鍵とし,{d_{i,1}}を対応する秘密鍵とし,
h1は任意のビット長の元の入力に対し,2tビット長
に出力するハッシュ関数とし,署名生成のステップは,
署名者I1が,文書M_{1}=m_{1}に対してデ
ィジタル署名を施す時,n_{1,1_{1}}>h1
(m_{1}||ID_{1})となるn_{1,1_
{1}}に対し,sgn_{1}=h1(m_{1}|
|ID_{1})^(d_{1,1_{1}}) (m
od n_{1,1_{1}}),を求めるステップ
と,暗号化関数で使用するセッションキーK1 K1=h2(h1(m_{1}||ID_{1}) を求めるステップと,m_{1}||ID_{1}の暗
号化関数Eによる出力 c_{1}=E(K1,m_{1}||ID_{1}) を求めるステップと,(ID_{1},1_{1},s
gn_{1},c_{1})をm_{1}に対する署名
として,次のユーザに送信するステップと,署名文(I
D_{1},1_{1},c_{1}),…,(ID_
{j−2},1_{j−2},c_{j−2}),(I
D_{j−1},1_{j−1},sgn_{j},c
_{j−1})を受信したユーザIjは,後述の検証の
ステップから,m_{1},…,m_{j−1}を復元
するステップと, M_{1,2,...,j−1}=Pat(m_
{1},m_{2},…,m_{j−1}) により文書を復元するステップと,M_{1,
2,...,j−1}をM_{1,2,...,j}に
修正し,その差分 m_{j}=Diff(M_{1,2,...,j−
1},M_{1,2,...,j}) を求めるステップと,得られたm_{j}に対してディ
ジタル署名を施す時,n_{j,1_{j}}〉sgn
_{j−1}(+)h1(m_{j}||ID_
{j})となるn_{j,1_{j}}に対し,ここで
(+)は排他的論理和とし,sgn_{j}=(sgn
_{j−1}(+)h1(m_{j}||ID_
{j}))^(d_{j,1_{j}}) (mod
n_{j,1_{j}}),を求めるステップと,暗号
化関数で使用するセッションキーKj Kj=h2(sgn_{j−1}(+)h1(m_
{j}||ID_{j})) と求めるステップと,m_{j}||ID_{j}の暗
号化関数Eによる出力 c_{j}=E(Kj,m_{j}||ID_{j}) を求めるステップと,(ID_{j},sgn_
{j},l_{j},c_{j})をm_{j}に対す
る署名とし,(ID_{1},l_{1},c_
{1}),…,(ID_{j−1},l_{j−1},
c_{j−1}),(ID_{j},l_{j},sg
n_{j},c_{j})を(m_{1},…,m_
{j})に対する署名として,次のユーザに通信するス
テップからなり,署名検証のステップは,署名文(ID
_{1},l{1},c_{1}),…,(ID_{j
−1},l_{j−1},c_{j−1}),(ID_
{j},l_{j},sgn_{j},c_{j})を
用いて,i=j,…,2に対して, T=sgn_{i}^e_{i,l_{i}}(mod
n_{i,l_{i}}) ki=h2(Ti), m_{i}’ ||IDi’=D(ki,c_
{i}), を求めるステップと, IDi’=IDi を判定するステップと,判定結果により署名を検証する
ステップと, m_{i}=m_{i}’, sgn_{i−1}=T(+)h1(m_{i}||I
Di) を復元するステップを順次繰り返し, T1=sgn_{1}^e_{1,l_{1}}(mo
d n_{1,l_{1}}) K1=h2(T1), m_{1}||ID_{1}’=D(K1,c_
{1}), を求めるステップと, T1=h1(m_{1}’ ||ID_{1}’) であるか判定するステップと,判定結果により多重署名
を検証するステップからなり,ユーザ毎の文書変更を可
能にし,かつ文書の流通するユーザの順序を固定するこ
となく,文書変更,文書の流通順序を検証できることを
特徴とする多重署名生成装置.
8. A message restoration type signature according to claim 5, wherein a set of small prime numbers is {r_ {1} = {2, 3,
5,...}, Each signer Ii secretly generates its ID as IDi and two large t-bit primes p_i and q_i, and multiplies each element of {r_ {1} with n_ {i, 1} =
For p_ {i} q_ {i} r_ {1}, L_ {i,
1} = LCM ((p_ {i} −1), (q_ {i} −
1), (r_ {1} -1)) (the least common multiple) and e_
{I, 1}, d_ {i, 1 {1, 2,. . , N_
{I, 1} -1} is changed to e_ {i, 1} * d_ {i, 1} = 1 (mod L_
{I, 1}), and for each {r_ {1}, {n_ {i, 1}, e_ {i, 1} is the signer Ii's public key, and {d_ {i, Let 1}} be the corresponding private key,
h1 is a hash function that outputs a 2t-bit length with respect to the original input having an arbitrary bit length.
When the signer I1 applies a digital signature to the document M_ {1} = m_ {1}, n_ {1,1_ {1}> h1
N_ {1,1_ which becomes (m_ {1} || ID_ {1})
For {1}, sgn_ {1} = h1 (m_ {1} |
| ID_ {1}) {(d_ {1,1_ {1}) (m
od n — {1, 1 — {1}), a session key K1 K1 = h2 (h1 (m_ {1} || ID_ {1}) used in the encryption function, and m_ { Determining the output c_ {1} = E (K1, m_ {1} || ID_ {1}) of 1 {|| ID_ {1} by the encryption function E, and (ID_ {1}, 1_ {1}) , S
gn_ {1}, c_ {1}) as a signature for m_ {1} to the next user;
D_ {1}, 1_ {1}, c_ {1}), ..., (ID_
{J-2}, 1_ {j-2}, c_ {j-2}), (I
D_ {j-1}, 1_ {j-1}, sgn_ {j}, c
_ {J-1}), a step of restoring m_ {1},..., M_ {j-1} from a verification step described below; . . , J−1} = Pat (m_
{1}, m_ {2},..., M_ {j−1}), and M_ {1,
2,. . . , J−1} to M_ {1, 2,. . . , J} and the difference m_ {j} = Diff (M_ {1, 2,..., J−
1}, M_ {1, 2,. . . , J}) and applying a digital signature to the obtained m_ {j}, n_ {j, 1_ {j}> sgn
_ {J-1} (+) h1 (m_ {j} || ID_
Here, (+) is an exclusive OR, and sgn_ {j} = (sgn
_ {J-1} (+) h1 (m_ {j} || ID_
{J})) {(d_ {j, 1_ {j}) (mod
n_ {j, 1_ {j}), and a session key Kj Kj = h2 (sgn_ {j-1} (+) h1 (m_
{J} || ID_ {j})) and the output of m_ {j} || ID_ {j} by the encryption function E c_ {j} = E (Kj, m_ {j} || ID_} j}), and (ID_ {j}, sgn_
Let {j}, l_ {j}, c_ {j}) be a signature for m_ {j} and (ID_ {1}, l_ {1}, c_
{1}), ..., (ID_ {j-1}, l_ {j-1},
c_ {j-1}), (ID_ {j}, l_ {j}, sg
n_ {j}, c_ {j}) to (m_ {1},..., m_
{J}) as a signature to the next user, and the signature verification step includes a signature (ID
_ {1}, l {1}, c_ {1}), ..., (ID_ {j
-1}, l_ {j-1}, c_ {j-1}, (ID_
{J}, l_ {j}, sgn_ {j}, c_ {j}), T = sgn_ {i} e_ {i, l_ {i} for i = j,... (Mod
n_ {i, l_ {i}) ki = h2 (Ti), m_ {i} '|| IDi' = D (ki, c_
{I}), determining IDi ′ = IDi, verifying the signature based on the determination result, m_ {i} = m_ {i} ′, sgn_ {i−1} = T ( +) H1 (m_ {i} || I
Di) are sequentially repeated, and T1 = sgn_ {1} e_ {1,1_ {1} (mo
dn_ {1, l_ {1}) K1 = h2 (T1), m_ {1} || ID_ {1} ′ = D (K1, c_
{1}),, T1 = h1 (m_ {1} '|| ID_ {1}'), and a step of verifying the multiple signature based on the determination result. A multi-signature generating apparatus characterized in that a document can be changed and the document change and the document distribution order can be verified without fixing the order of users who distribute the document.
JP2000259945A 2000-07-26 2000-07-26 Multiple signature generation device Pending JP2002040935A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000259945A JP2002040935A (en) 2000-07-26 2000-07-26 Multiple signature generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000259945A JP2002040935A (en) 2000-07-26 2000-07-26 Multiple signature generation device

Publications (1)

Publication Number Publication Date
JP2002040935A true JP2002040935A (en) 2002-02-08

Family

ID=18748044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000259945A Pending JP2002040935A (en) 2000-07-26 2000-07-26 Multiple signature generation device

Country Status (1)

Country Link
JP (1) JP2002040935A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198861A1 (en) * 2006-01-18 2007-08-23 Pfu Limited Method and apparatus for processing information, and computer program product
JP2008136247A (en) * 2001-03-22 2008-06-12 Hitachi Ltd Method and system for restoring the validity of digital data with cryptographic signature

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008136247A (en) * 2001-03-22 2008-06-12 Hitachi Ltd Method and system for restoring the validity of digital data with cryptographic signature
US20070198861A1 (en) * 2006-01-18 2007-08-23 Pfu Limited Method and apparatus for processing information, and computer program product
US8555074B2 (en) * 2006-01-18 2013-10-08 Pfu Limited Method and apparatus for processing information, and computer program product

Similar Documents

Publication Publication Date Title
Ling et al. Lattice-based group signatures: achieving full dynamicity with ease
US5606617A (en) Secret-key certificates
US7814326B2 (en) Signature schemes using bilinear mappings
Ge et al. A direct anonymous attestation scheme for embedded devices
US20090217041A1 (en) Provisional signature schemes
WO2012156255A1 (en) Procedure for a multiple digital signature
EP2792098B1 (en) Group encryption methods and devices
Haböck et al. Breaking and fixing anonymous credentials for the cloud
KR100718489B1 (en) Signature process, computer program, apparatus and signature system for the new fair blind signature
CN110445621B (en) Application method and system of trusted identification
Xia et al. A group signature scheme with strong separability
WO2010086803A1 (en) Verification of data items in data processing systems
Jeng et al. An ECC-based blind signature scheme
Viswanath et al. A secure cryptosystem using the decimal expansion of an Irrational number
JP2002040935A (en) Multiple signature generation device
JPH11174957A (en) Authentication protocol
Bultel et al. Improving the efficiency of report and trace ring signatures
Huang et al. Multisignatures with distinguished signing authorities for sequential and broadcasting architectures
Fan et al. Using malleable signatures to allow multi-show capability in digital credentials
Naccache Topics in Cryptology-CT-RSA 2001: The Cryptographer's Track at RSA Conference 2001 San Francisco, CA, USA, April 8-12, 2001 Proceedings
Daniel et al. An efficient forward secure authenticated encryption scheme with ciphertext authentication based on two hard problems
JP3331329B2 (en) Public verification possible request restoration blind signature method, apparatus and program recording medium
Huang et al. A JCA-based implementation framework for threshold cryptography
JPH02273779A (en) Digital signature device
Lin RPCAE: a novel revocable proxy convertible authenticated encryption scheme