JPH0586699B2 - - Google Patents

Info

Publication number
JPH0586699B2
JPH0586699B2 JP60042052A JP4205285A JPH0586699B2 JP H0586699 B2 JPH0586699 B2 JP H0586699B2 JP 60042052 A JP60042052 A JP 60042052A JP 4205285 A JP4205285 A JP 4205285A JP H0586699 B2 JPH0586699 B2 JP H0586699B2
Authority
JP
Japan
Prior art keywords
document
signature
modn
received
public
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.)
Expired - Lifetime
Application number
JP60042052A
Other languages
Japanese (ja)
Other versions
JPS61200778A (en
Inventor
Tatsuaki Okamoto
Shoji Myaguchi
Akira Shiraishi
Tsukasa Kawaoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP60042052A priority Critical patent/JPS61200778A/en
Priority to US06/710,253 priority patent/US4625076A/en
Priority to CA000476521A priority patent/CA1255784A/en
Priority to EP85103008A priority patent/EP0157258B1/en
Priority to DE8585103008T priority patent/DE3585043D1/en
Publication of JPS61200778A publication Critical patent/JPS61200778A/en
Publication of JPH0586699B2 publication Critical patent/JPH0586699B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は文書をデイジタル情報として送受信
する通信方式において、文書の作成責任者及び文
書の正当性を受信者及び第三者が検証できるよう
に、文書に署名を付加して送信する署名文書通信
方式に関する。
[Detailed Description of the Invention] "Industrial Application Field" This invention is a communication system that transmits and receives documents as digital information, so that the person responsible for creating the document and the authenticity of the document can be verified by the recipient and a third party. , relates to a signed document communication method that adds a signature to a document and sends it.

「従来の技術」 文書をデイジタル情報として伝送する場合に、
その文書の一部を変更したり、全く別の内容に変
更したり、あるいは署名者を変更したりすること
は比較的容易であり、しかも受信側ではこれらの
変更があつたことを一般には知ることができな
い。
"Prior art" When transmitting a document as digital information,
It is relatively easy to change part of the document, change it to something completely different, or change the signer, and the recipient generally knows that these changes have occurred. I can't.

このような点より送信側で送信デイジタル情報
を処理し、受信側で受信したデイジタル情報の文
書及び署名が正当であることを検証できるように
した方式が提案されている。この方式は署名文書
通信方式と呼ばれている。
In view of this, a method has been proposed in which the transmitting side processes the transmitted digital information and the receiving side can verify that the document and signature of the received digital information are valid. This method is called a signed document communication method.

従来の署名文書通信方式としては、米国暗号標
準(DES:Data Encryption Standard)に代表
される慣用暗号を用いた方式(S.M.Matyas
“Digital Signatures−An Overiew”Computer
Networka,Vol.3No.2,pp87〜94,1978)及び
RSA法に代表される公開鍵暗号を用いた方式
(R.L.Rivest“AMethod for Obtaining Digital
Signatures and Public−Key Cryptosiptems”
Communications on ACM,Vol.2No.2,pp120
〜126,1978)がある。しかし前者の慣用暗号を
用いた方式は、署名作成及び検証の手続が複雑で
あること、検証側での保存情報量が多くなること
等の欠点がある。一方後者の公開鍵暗号を用いた
方式(以下RSA法という)は安全性、手続きの
簡便さ等の点で最も代表的なものであるが、処理
速度が遅いという欠点がある。この欠点を改善す
るため、データ圧縮を用いた方式、(以下ハイブ
リツド方式という)も提案されているが、(D.W.
Davics“Applying the R.S.A Digital Signature
to Electronic Mail”IEEECOMPUTER Fed.
pp55〜62,1983)この方式は短い文書に対する
署名での処理速度の改善が困難であるという欠点
がある。
The conventional signed document communication method is a method (SM Matyas
“Digital Signatures−An Overiew”Computer
Networka, Vol.3No.2, pp87-94, 1978) and
A method using public key cryptography represented by the RSA method (RLRivest “AMethod for Obtaining Digital
“Signatures and Public−Key Cryptosiptems”
Communications on ACM, Vol.2No.2, pp120
~126, 1978). However, the former method using conventional cryptography has drawbacks such as complicated signature creation and verification procedures and a large amount of information to be stored on the verification side. On the other hand, the latter method using public key cryptography (hereinafter referred to as the RSA method) is the most typical method in terms of security and procedural simplicity, but it has the drawback of slow processing speed. In order to improve this drawback, a method using data compression (hereinafter referred to as a hybrid method) has been proposed, but (DW
Davics“Applying the RSA Digital Signature
to Electronic Mail”IEEECOMPUTER Fed.
(pp. 55-62, 1983) This method has the disadvantage that it is difficult to improve the processing speed for signing short documents.

この発明の目的は安全性、手続きの簡便さ、署
名の長さは従来のRSA法と同程度であり、しか
も署名の生成、署名の検証を従来のRSA法より
高速度に行うことができる署名文書通信方式を提
供することにある。
The objectives of this invention are security, simplicity of procedure, signature length comparable to that of the conventional RSA method, and a signature that can generate and verify signatures faster than the conventional RSA method. The purpose is to provide a document communication method.

「問題点を解決するための手段」 この発明によれば従来のRSA法と同様に秘密
情報と公開情報とを用いて署名の作成、証明の検
証を行う。その秘密情報を送信すべき文書作成者
(責任者)Dが秘密に保持し、その秘密情報をも
とに公開情報を作成し、その公開情報とこれと対
応する文書作成者(又はその識別コード)とを例
えば登録簿に予め登録して公開しておく。送信側
では文書作成者は乱数と送信すべき文書とを変数
とし、その乱数に関し三次以上となつている合同
多項式と秘密情報とを基本として送信すべき文書
に対応した署名を生成する。その署名と前記文書
とを送信する。これらの処理をすべてデイジタル
信号として行う。また送信で代表して示すが各種
デイジタル情報記憶装置に記憶する場合もある。
"Means for Solving Problems" According to the present invention, signatures are created and certificates are verified using secret information and public information, similar to the conventional RSA method. The document creator (responsible person) D who is to send the confidential information keeps it secret, creates public information based on the confidential information, and combines the public information with the corresponding document creator (or its identification code) ), for example, are registered in advance in a registry and made public. On the sending side, the document creator uses the random number and the document to be sent as variables, and generates a signature corresponding to the document to be sent based on the secret information and a congruence polynomial that is cubic or higher with respect to the random number. Send the signature and the document. All of these processes are performed as digital signals. In addition, although it is shown as a representative example of transmission, it may also be stored in various digital information storage devices.

受信側では受信した署名及び受信した文書を、
それぞれ前記乱数及び送信すべき文書の代りに用
いた前記合同多項式と前記公開情報とから算出し
た2値の最上位から連続する“0”ビツトの個数
を利用、又はそれと対応する不等式を利用して文
書の正当性及び文書の作成者の正当性を検証す
る。
On the receiving side, the received signature and received document are
By using the number of consecutive "0" bits from the top of the binary values calculated from the congruence polynomial used in place of the random number and the document to be sent, and the public information, respectively, or by using the corresponding inequality. Verify the authenticity of the document and the author of the document.

また送信側では送信する文書と、乱数とを変数
とし、その乱数については二次以上となつている
合同多項式と秘密情報とを基本として送信する文
書と対応した署名を作成し、その署名を文書と共
に送信し、受信側では公開情報より合同多項式を
用いて算出した2値の最上位を除く、任意ビツト
より連続する“0”ビツトの個数を利用、又はそ
れに対応する合同式を利用して受信文書及び署名
者の正当性を検証する。
In addition, on the sending side, a signature corresponding to the document to be sent is created based on the document to be sent and a random number as variables, and a congruence polynomial whose degree is quadratic or higher and secret information is used as a basis for the random number, and the signature is attached to the document. The receiving side uses the number of consecutive “0” bits from arbitrary bits, excluding the most significant binary value, calculated using a congruence polynomial from public information, or receives it using the corresponding congruence expression. Verify the authenticity of documents and signers.

発明の原理 秘密情報として素数p,q(p>q)を用いる。principle of invention Prime numbers p and q (p>q) are used as secret information.

この素数p,qはRSA法における公開鍵n=
pqの素数と同様なものである。この素数p,q
をもとに公開情報n,δ,ε,γを作る。これら
はn=p2q,1≦δ≦〓(n2/3),〓(B)はBのオー
ダを意味し、ε=〓(n1/3),γ=〓(n/T)
であり、Tは1010〜1030程度の値である。この秘
密情報p,qの保持者Dとその公開情報との対応
を予め公開しておく。
These prime numbers p and q are the public key n= in the RSA method
It is similar to the prime number of pq. This prime number p, q
Create public information n, δ, ε, and γ based on . These are n=p 2 q, 1≦δ≦〓(n 2/3 ), 〓(B) means the order of B, ε=〓(n 1/3 ), γ=〓(n/T)
, and T has a value of about 10 10 to 10 30 . The correspondence between the holder D of the secret information p and q and the public information is made public in advance.

署名生成は次のようにして行う。乱数x(1≦
x≦pq−1)を生成し、(1),(2)式を満足するw,
vを求める。
Signature generation is performed as follows. Random number x (1≦
w, which generates x≦pq−1) and satisfies equations (1) and (2).
Find v.

Z≦wpq+vεδ<Z+δ ……(1) Z=−g(m)−{f(x,m)(modn)} ……(2) mは送信すべき文書、g(m)はmに関する任
意の関数、 f(x,m)=Ii=0 fi(m)・xi ……(3) I≧2,fi(m)はmに関する任意の関数、つ
まりf(x,m)(modn)は乱数x、送信すべき
文書mを変数とし、xに関し二次以上となつてい
る合同多項式であり、modnはnを法とする演
算、つまりf(x,m)の値がnの整数倍である
場合はゼロであり、0≦f(x,m)(modn)<
nの値しかとらない。w,vを求める手法は後で
述べる。なお、wは以下の条件を満足するものと
し、この条件を満足しない場合は、後で述べる
w,vを求める手法を再度実行し、この条件を満
足するまでくり返す。
Z≦wpq+vεδ<Z+δ ...(1) Z=-g(m)-{f(x,m)(modn)} ...(2) m is the document to be sent, and g(m) is an arbitrary Function, f(x,m)= Ii=0 fi(m)・x i ……(3) I≧2, fi(m) is any function regarding m, that is, f(x,m)(modn ) is a congruence polynomial with a random number x and a document m to be sent as variables, and is quadratic or higher with respect to x, and modn is an operation modulo n, that is, the value of f (x, m) is an integer of n. If it is, it is zero, and 0≦f(x,m)(modn)<
It takes only the value of n. The method for determining w and v will be described later. It is assumed that w satisfies the following conditions, and if this condition is not satisfied, the method for determining w and v, which will be described later, is executed again and repeated until this condition is satisfied.

−(f(x,m)(modn))/(pq) ≦w<p−(f(x,m)(modn))/(pq) 上記条件のwを得ると、 y=w/f′(x,m)(modp) f′(x,m)=df(x,m)/dx=Ii=0 fi(m)・i・xi-1 ……(4) を演算し、更に s=x+ypq ……(5) を演算してsを送信すべき文書mと対応した署名
とする。
-(f(x,m)(modn))/(pq) ≦w<p-(f(x,m)(modn))/(pq) Obtaining the above condition w, y=w/f' (x, m) (modp) f′ (x, m) = df (x, m) / dx = Ii=0 fi (m)・i・x i-1 ……(4) Furthermore, s=x+ypq (5) is calculated, and s is set as the signature corresponding to the document m to be transmitted.

この文書mと署名sとを送信する。 This document m and signature s are transmitted.

受信側では受信した文書m及びを署名sと、そ
の送信文書の署名者Dの公開情報n,δ,εとを
用いて(6)式を演算して検証する。
On the receiving side, the received documents m and 2 are verified by calculating equation (6) using the signature s and the public information n, δ, and ε of the signer D of the transmitted document.

〓g(m)+{f(s,m)(modn)}/δ〓 =0(modε) ……(6) 〓A〓はAの以下の最大の整数である。(6)式は〓
A〓(modε)がゼロを意味している。
〓g(m)+{f(s,m)(modn)}/δ〓=0(modε)...(6) 〓A〓 is the largest integer below A. Equation (6) is 〓
A〓(modε) means zero.

更にγ≦s≦n−γ ……(7) の比較演算を行い、sが(7)式を満足しない場合は
(6)式の検証結果を無視する。このことは署名sが
γより短かいと第三者が署名sを偽造し易いもの
となるためである。受信側では前記検証を行うた
め前記(3)式の合同多項式と関数g(n)を予め知
つている。また署名者がDであることは誰れでも
知ることができるように署名者Dを示す情報をも
送信文書mと共に送るか、何らかの方法により受
信した時に、受信側では署名者Dからの受信であ
ることを知つて、前記検証を行い、つまりその受
信文書が署名者Dからのものと間違いがなく、か
つその文書は変更されていないことを検証する。
Furthermore, perform the comparison operation of γ≦s≦n−γ ……(7), and if s does not satisfy equation (7),
Ignore the verification result of equation (6). This is because if the signature s is shorter than γ, it becomes easy for a third party to forge the signature s. On the receiving side, in order to perform the verification, the congruence polynomial of equation (3) and the function g(n) are known in advance. In addition, so that anyone can know that the signer is D, when the information indicating the signer D is sent along with the transmitted document m or received by some other method, the receiving side will not be able to receive it from the signer D. Knowing this, the above-mentioned verification is performed, that is, it is verified that the received document is correct from signer D and that the document has not been altered.

(6)式の検証の証明 (5)式、(3)式の関係をf(s,m)(modn)に代
入すると次のようになる。
Proof of verification of equation (6) Substituting the relationship between equations (5) and (3) into f(s, m) (modn) yields the following.

f(s,m)(modn) =f(x+ypq,m)(modn) =Ii=0 fi(m)・(x+ypq)i(modn) (法nの演算であるためn=p2qを含む項はす
べてゼロとなるから) =Ii=0 fi(m)xiIi=0 fi(m)・i・xi-1 ・ypq(modn) ((3)式、(4)式から) =f(x,m)+f′(x,m)・ypq(modn)
……(8) (4)式よりf′(x,m)・y=w(modp)となり、
その両辺にpqを掛算して、 f′(x,m)−ypq=wpq(modn) となる。これを(8)式に代入すると、 f(s,m)(modn) =f(x,m)+wpq(modn) ={f(x,m)(modn)}+wpq ……(9) となる。一方(1)式を次に変形する z−vεδ≦wpq<z−vεδ+δ この各項にg(m)+{f(x,m)(modn)}を
加えwpqについて(9)式の関係を用いると次式とな
る。
f(s,m)(modn) =f(x+ypq,m)(modn) = Ii=0 fi(m)・(x+ypq) i (modn) (Since it is a modulo n operation, n=p 2 q (Since all terms including are zero) = Ii=0 fi(m)x i + Ii=0 fi(m)・i・x i-1・ypq(modn) (Equation (3), From formula (4)) = f (x, m) + f' (x, m)・ypq (modn)
...(8) From equation (4), f'(x, m)・y=w(modp),
Multiplying both sides by pq yields f' (x, m) - ypq = wpq (modn). Substituting this into equation (8), we get f(s,m)(modn) =f(x,m)+wpq(modn) ={f(x,m)(modn)}+wpq...(9) . On the other hand, we transform equation (1) as follows: z−vεδ≦wpq<z−vεδ+δ Add g(m)+{f(x,m)(modn)} to each term to obtain the relationship in equation (9) for wpq. When used, the following equation is obtained.

g(m)+{f(x,m)(modn)}+z−vεδ ≦g(m)+{f(s,m)・(modn)} <g(m)+{f(x,m)・(modn)} +z−vεδ+δ この式に(2)式の関係を代入すると、 −vεδ≦g(m)+{f(s,m)(modn)} <−vεδ+δ となり、その両辺をδで割ると −vε≦g(m)+{f(s,m)(modn)}/δ <−vε+1 となる。この式の中辺は−vεと−vε+1との間
にあるから、その小数点以下の最大の整数は 〓g(m)+{f(s,m)(modn)}/δ〓=−v
ε となる。従つてこれに対し法εの演算を行うと、 〓g(m)+{f(s,m)(modn)}/δ〓 =0(modε) となり、(6)式の検証結果が0になれば、その署名
sは公開情報のn,δ,ε,γと対応する署名者
Dによるものであり、かつ受信文書も変更されて
いないものであるとその正当性が検証される。つ
まり前記署名sを作ることができる人は、その秘
密情報pqをもつている人Dのみであり、しかも
その署名sは送信すべき文書と対応して作つてい
るため、異なる秘密情報が用いられたり、送信す
べき文書が変更されると、前記関係が得られなく
なり、つまり(6)式の検証結果が0にならない。
g(m)+{f(x,m)(modn)}+z−vεδ ≦g(m)+{f(s,m)・(modn)} <g(m)+{f(x,m)・(modn)} +z−vεδ+δ Substituting the relationship in equation (2) into this equation, −vεδ≦g(m)+{f(s,m)(modn)} <−vεδ+δ, and both sides of the equation are expressed as δ. When divided, -vε≦g(m)+{f(s,m)(modn)}/δ<-vε+1. Since the middle side of this equation is between −vε and −vε+1, the largest integer after the decimal point is 〓g(m)+{f(s,m)(modn)}/δ〓=−v
ε. Therefore, when we perform the modulus ε calculation on this, we get 〓g(m)+{f(s,m)(modn)}/δ〓=0(modε), and the verification result of equation (6) becomes 0. If so, the validity of the signature s is verified if it is by the signer D who corresponds to the public information n, δ, ε, γ, and the received document has not been altered. In other words, the only person who can create the signature s is the person D who has the secret information pq, and since the signature s is created in correspondence with the document to be sent, different secret information may be used. or the document to be transmitted is changed, the above relationship will no longer be obtained, that is, the verification result of equation (6) will not become 0.

「実施例」 まず三次以上の合同多項式を基本に署名作成を
行い、2値の最上位より連続する“0”ビツトの
個数、もしくはそれに対応する不等式を用いて署
名検証を行う方式、つまり第1の発明について説
明する。この例はf(x,m)=f(x),(f(x)はx
に関する3次以上の合同多項式)、g(m)=M=
h(m)(Mは文書mをデータ圧縮したもの)δ=
〓(n2/3)とした場合である。
``Example'' First, a signature is created based on a congruence polynomial of degree 3 or higher, and the signature is verified using the number of consecutive "0" bits from the most significant binary value or the corresponding inequality. This invention will be explained below. This example is f(x, m) = f(x), (f(x) is x
), g(m)=M=
h(m) (M is the data compressed version of document m) δ=
This is the case when 〓(n 2/3 ).

最初に送信者(署名作成者)は、通信に先立つ
て以下の情報を生成する。
First, the sender (signature creator) generates the following information prior to communication.

既に知られている素数生成アルゴリズム(例え
ば、和田秀男著「高速乗算法と素数判定法」上智
大学数学講究録No.15)を用いて、それぞれ例えば
10進50桁〜100桁程度の素数p,qを生成する。
ただしp>qとする(p−qの桁数は同程度とす
る)。
Using already known prime number generation algorithms (for example, Hideo Wada's "High-speed Multiplication Method and Prime Number Testing Method" Sophia University Mathematics Lecture Record No. 15),
Generate prime numbers p and q of about 50 to 100 decimal digits.
However, it is assumed that p>q (the number of digits of p-q is approximately the same).

更に以下の式によりn,δ,γを生成する。 Furthermore, n, δ, and γ are generated using the following equations.

n=P2q δ=〓(n2/3) γ=〓(n/T) ここでTは1010〜1030程度の値、以上の手続き
で生成した情報のうち、送信者Dが秘密に保持す
る秘密情報はp,qであり、公開簿に登録する公
開情報はn,δ,γである。なお公開簿にはn,
δ,γを送信者Dの識別番号(ID)と共に登録
しておく。以上の手続きは最初に一度行えば基本
的に以降行う必要はない。
n=P 2 q δ=〓(n 2/3 ) γ=〓(n/T) Here, T is a value of about 10 10 to 10 30. Of the information generated by the above procedure, sender D The secret information held in the database is p and q, and the public information registered in the public register is n, δ, and γ. In addition, the public list includes n,
δ and γ are registered together with sender D's identification number (ID). Once you have performed the above procedure once, you generally do not need to do it again.

次に第1図に従つて第1の発明による署名作成
手順を説明する。まず設定器11,12にそれぞ
れ前記p,qが設定され、乗算器13でpqの乗
算が行われ、また乗算器14でn=p2qの乗算が
行われる。乗算器14の代りに設定器にnを設定
してもよい。文書源15から送信する文書mがデ
イジタル情報として発生される。この例では圧縮
器16で文書mはデータ圧縮されて、正整数Mと
される。0≦M≦n−1とする。
Next, the signature creation procedure according to the first invention will be explained with reference to FIG. First, the values p and q are set in the setters 11 and 12, respectively, the multiplier 13 multiplies by pq, and the multiplier 14 multiplies n=p 2 q. Instead of the multiplier 14, n may be set in the setter. A document m to be transmitted from a document source 15 is generated as digital information. In this example, the compressor 16 compresses the data of document m into a positive integer M. 0≦M≦n-1.

圧縮器16は例えば第2図に示すように構成さ
れる。レジスタ17に入力された文書mは次式を
満足するようにm1,m2……mkに分割される。
The compressor 16 is configured, for example, as shown in FIG. The document m input to the register 17 is divided into m 1 , m 2 , . . . m k so as to satisfy the following equation.

0≦mi≦n−1(i=1,2,……k) 次の以下の関係から圧縮文書M=h(m)を定
める。
0≦m i ≦n-1 (i=1, 2, . . . k) The compressed document M=h(m) is determined from the following relationship.

C0=I0 Ci=(mi○+Ci-12(modn) M=h(m)=Ck○+I12(modn) I0,I1はシステム又は送信者により定められる
値である。この圧縮文書M=h(m)を得るには、
各分割した文書m1……mhはレジスタ17よりそ
れぞれ排他的倫理和回路11……1kへ供給され、各
排他的論理和回路11……1kの出力は法nの合同二
乗演算器21……2kへ供給され、これら合同二乗演
算器21……2kの各出力C1……Chはそれぞれ排他
的論理和回路22……2k+1へ供給される。排他的論
理和回路11にはC0としてI0が与えられ、排他的論
理和回路1k+1にはI1が与えられ、その出力は法n
の合同二乗演算器2k+1で法nの二乗演算が行わ
れ、その出力に圧縮された文書M=h(m)が得
られる。
C 0 = I 0 C i = (m i ○ + C i-1 ) 2 (modn) M = h (m) = C k ○ + I 1 ) 2 (modn) I 0 and I 1 are determined by the system or sender. is the value given. To obtain this compressed document M=h(m),
Each divided document m 1 ... m h is supplied from the register 17 to the exclusive logical sum circuit 1 1 ... 1 k , and the output of each exclusive logical sum circuit 1 1 ... 1 k is the congruence square of the modulus n. The outputs C 1 ... Ch of these congruent square calculators 2 1 ... 2 k are respectively supplied to exclusive OR circuits 2 2 ... 2 k+1. . Exclusive OR circuit 1 1 is given I 0 as C 0 , exclusive OR circuit 1 k+1 is given I 1 , and its output is modulo n
A congruence square calculator 2k +1 performs a square operation of the modulus n, and the compressed document M=h(m) is obtained as its output.

第1図の説明から戻る。送信側は乱数発生器1
8より次の条件を満足する乱数xを得る。
Returning from the explanation of FIG. On the sending side, random number generator 1
8, obtain a random number x that satisfies the following conditions.

1≦x≦pq−1 (ただしxはnと互いに素な整数とする。) ここではf(x,m)=f1(x)とされ、(10)式で表わ
され、システムもしくは各送信者によつて事前に
定められる公開関数とする。
1≦x≦pq−1 (However, x is an integer coprime to n.) Here, f(x, m)=f 1 (x), expressed by equation (10), and the system or each It shall be a public function predefined by the sender.

f1(x)=Ii=0 giXi(i=1,2…I) ……(10) 0≦gi≦n−1 gi:整数 ここでI≧3とする(gi≠0)。乱数xに対し
て(f1(x)(modn))の演算を合同多項式演算器1
9を用いて行い、その演算結果と圧縮文書Mとか
ら減算器21を用いて Z=M−(f1(x)(modn)) ……(11) を求める。そのZを除算器22によりpqで割算
し、その割算結果は切上げ演算器23を用いて W=〓Z/(pq)〓 ……(12) (ここで〓A〓はA以上の最小の整数である。)
が求められる。一方、乱数xに対して(f1´(x)
(modp))を出力する合同多項式演算器24で演
算し、その結果でWを合同除算器25において割
算し、 y=W/(f1´(x)(modp))(modp)を求める。
ここで f1´(x)=Ii=0 igiXi-1 ……(13) また合同除算器25は拡張ユークリツド互除法
を用いて構成される。拡張ユークリツド互除法演
算アルゴリズムについては、D.Knuth氏著“The
Art of Computer Progamming,Vol.2”
AddisonWeslay(1969)に詳述されている。
f 1 (x)= Ii=0 giX i (i=1, 2...I) ...(10) 0≦gi≦n-1 gi: integer Here I≧3 (gi≠0). Congruent polynomial operator 1 calculates (f 1 (x) (modn)) for random number x.
9, and from the calculation result and the compressed document M, the subtractor 21 is used to obtain Z=M-(f 1 (x) (modn)) (11). The Z is divided by pq by the divider 22, and the division result is rounded up using the calculator 23 as W=〓Z/(pq)〓...(12) (here, 〓A〓 is the minimum ).
is required. On the other hand, for random number x (f1′(x)
(modp)) is calculated by the congruent polynomial arithmetic unit 24, which outputs W, and the congruent divider 25 divides W by the result to obtain y=W/(f1'(x)(modp))(modp).
Here, f1'(x)= Ii=0 ig i X i-1 (13) Furthermore, the joint divider 25 is constructed using the extended Euclidean mutual division method. For information on the extended Euclidean algorithm, see “The
Art of Computer Programming, Vol.2”
Detailed in Addison Weslay (1969).

この除算結果yは乗算器26でpqと乗算され、
その乗算結果に対し、加算器27で乱数xが加算
されて s=x+ypq ……(14) を求める。
This division result y is multiplied by pq in the multiplier 26,
A random number x is added to the multiplication result by an adder 27 to obtain s=x+ypq (14).

以上により求められた署名sを文書m、送信者
の識別番号(ID)と共に受信側へ送信する。
The signature s obtained as described above is sent to the receiving side together with the document m and the sender's identification number (ID).

次に第3図に従つて(m,s)を受け取つた受
信側の検証手順を説明する。まず受信側では受信
した識別番号IDより公開簿を参照してその送信
者の公開情報(n,δ,γ)を読み取り、それぞ
れ設定器28,29,31に設定する。次に受信
署名sに対し合同多項式演算器32を用いて(f1
(s)(modn))を求める。また受信文書mに対し
圧縮器33でデータ圧縮を行つて圧縮文書M=h
(m)を求める。これらf1(s)(modn)とM=h
(m)とδとを用いて比較器34で以下の不等式
が成立するかどうかを検証し、成立すれば肯定と
する。
Next, referring to FIG. 3, a verification procedure on the receiving side that receives (m, s) will be explained. First, on the receiving side, the public information (n, δ, γ) of the sender is read by referring to the public list based on the received identification number ID, and set in the setting devices 28, 29, and 31, respectively. Next, using the congruence polynomial operator 32 for the received signature s, (f 1
(s) (modn)). Also, the compressor 33 performs data compression on the received document m, and compressed document M=h
Find (m). These f 1 (s) (modn) and M=h
Using (m) and δ, the comparator 34 verifies whether the following inequality holds true, and if it holds true, the result is affirmative.

M≦f1(s)(modn)<M+δ ……(15) 一方、減算器35でn−γを求め、比較器36
によりsとγ及びn−γとを比較し γ≦s≦n−γ ……(16) であれば肯定とする。比較器34,36の出力が
両方共に肯定の場合は受信した(m,s)公開簿
に(n,δ,γ)を登録した者によつて正しく作
成されたものであるとする。
M≦ f1 (s)(modn)<M+δ...(15) On the other hand, the subtracter 35 calculates n−γ, and the comparator 36
Compare s with γ and n-γ, and if γ≦s≦n-γ (16), then it is affirmed. If the outputs of the comparators 34 and 36 are both positive, it is assumed that the received (m, s) has been correctly created by the person who registered (n, δ, γ) in the public list.

(15)式の検証式の各辺からMを差引き、δで
割算すると、 0≦−M+f1(s)(modn)/δ<1 となり、その中辺の値以下の最大整数をとると、 〓−M+f1(s)(modn)/δ〓=0 ……(17) となり、この式は(6)式の検証式と一致し、(15)
式の検証が正しいことが理解される。
Subtracting M from each side of the verification formula of equation (15) and dividing by δ yields 0≦−M+f 1 (s) (modn)/δ<1, and take the largest integer less than or equal to the value of the middle side. Then, 〓−M+f 1 (s) (modn)/δ〓=0 ...(17) This formula matches the verification formula of formula (6), and (15)
It is understood that the validation of the expression is correct.

更にこの実施例において(15)式及び(16)式
の検証に代えて、バイナリ値(12進数)の最上位
より連続するビツト“0”の個数で検証できるこ
とを示す。つまり公開情報δ,γを以下のように
このべき乗の形で定義する。
Furthermore, in this embodiment, instead of verifying equations (15) and (16), it will be shown that verification can be performed using the number of consecutive bits "0" from the top of the binary value (decimal number). In other words, the public information δ and γ are defined in the form of these powers as shown below.

δ=2d=〓(2/3) γ=2r=〓(n/T) このときこれらと(17)式とから検証は以下の
バイナリ値により行えばよいことがわかる。つま
り(18)式(19)式が共に成立すれば受信(m,
S)を正当とみなす。
δ=2 d =〓( 2/3 ) γ=2 r =〓(n/T) At this time, it can be seen from these and equation (17) that verification can be performed using the following binary values. In other words, if both equations (18) and (19) hold true, the reception (m,
S) is considered valid.

〔(f1(s)(modn))−h(m)〕d=≠……(18) 〔s〕r≠0/,〔n−s〕r≠0/ ……(19) ここで〔A〕dはバイナリ表現されたAの最上位
より連続する(|n|−d)ビツトを意味する。
(|n|=〓1og2n〓)、また〓はすべてが“0”
より構成される任意の長さのビツト列を意味す
る。
[(f 1 (s) (modn)) - h (m)] d =≠……(18) [s] r ≠0/, [n-s] r ≠0/ …(19) Here [ A] d means consecutive (|n|-d) bits from the most significant bit of A expressed in binary.
(|n|=〓1og 2 n〓), and 〓 is all “0”
A bit string of arbitrary length consisting of

以上第1発明に対応する実施例の詳細について
述べたが、多項式f1(x)に関する2次式とし、他に
ついては前記実施例と同様にすると、特許請求の
範囲3に示したものの実施例が得られる。
The details of the embodiment corresponding to the first invention have been described above, but if the quadratic expression regarding the polynomial f 1 (x) is used and the other aspects are the same as in the above embodiment, this is an embodiment of what is shown in claim 3. is obtained.

第2実施例 次に二次以上の合同多項式を基本に署名作成を
行い、2値の最上位を除く任意のビツトより連続
する“0”ビツトの個数等、もしくはそれに対応
する等式等を用いて署名検証を行う方式について
説明する。これは第2の発明の実施例であつて、
f(x,m)=f(x)とし、(f(x)はxについての二
次以上の合同多項式)y(M)=−Mとした場合で
ある。
Second Example Next, a signature is created based on a congruence polynomial of degree 2 or higher, and the number of successive "0" bits from any bit other than the most significant bit of the binary value, etc., or the corresponding equation, etc. are used to create a signature. This section explains the method for performing signature verification. This is an embodiment of the second invention, and
This is a case where f(x, m)=f(x) and (f(x) is a quadratic or higher degree congruence polynomial for x) y(M)=-M.

最初に送信者(署名作成者)は、通信に先立つ
て以下の情報を生成する。
First, the sender (signature creator) generates the following information prior to communication.

10進50桁〜100桁程度の素数p,qを選択し、 以下の式により正整数n,δ,εを生成する。 Select prime numbers p and q of about 50 to 100 decimal digits, Positive integers n, δ, and ε are generated using the following equations.

n=p2q 1≦δ<pq ε=〓(n1/3) γ=〓(n/T) ここでTは1010〜1030程度の値であるが、関数
f2の次数が十分に大きい場合(n1/t<1;tはf2
次数)、γ=1として良い。
n=p 2 q 1≦δ<pq ε=〓(n 1/3 ) γ=〓(n/T) Here, T is a value of about 10 10 to 10 30 , but the function
If the order of f 2 is sufficiently large (n 1/t <1; t is the order of f 2 ), γ=1 may be used.

以上の手続きで生成した情報のうち、送信者が
秘密に保持する秘密情報はp,qであり、公開簿
に登録する公開情報はn,δ,ε,γである。な
お公開簿にはn,δ,ε,γを送信者の識別番号
(ID)と共に登録しておく。以上の手続きは最初
に一度行えば基本的に以降行う必要はない。
Among the information generated through the above procedure, the secret information kept secret by the sender is p and q, and the public information registered in the public register is n, δ, ε, and γ. Note that n, δ, ε, and γ are registered in the public list together with the sender's identification number (ID). Once you have performed the above procedure once, you generally do not need to do it again.

次に第4図に従つて、この第2の発明の実施例
における署名作成手順を説明する。第4図で第1
図と対応する部分には同一符号を付けてある。ま
ず送信者は署名を付けたい文書mに対し、圧縮器
16でデータ圧縮を行い、正整数M=n(m)を
求める。乱数発生器18より次の各条件を満足す
る乱数xを得る。1≦x≦pq−1,xはmと互
に素な整数。さらに関数f2をシステムもしくは各
送信者により事前に定められる公開関数とする。
Next, referring to FIG. 4, a signature creation procedure in this embodiment of the second invention will be explained. 1 in Figure 4
Parts corresponding to those in the figure are given the same reference numerals. First, the sender uses the compressor 16 to perform data compression on a document m to which a signature is to be attached, and obtains a positive integer M=n(m). A random number x that satisfies the following conditions is obtained from the random number generator 18. 1≦x≦pq−1, x is an integer coprime to m. Further, let the function f 2 be a public function determined in advance by the system or each sender.

f(x)=Ii=0 giXi (i=1,2…I) 0≦gi≦n−1 gi:整数 ここでI≧2とする(gI≠0)。 f(x)= Ii=0 giX i (i=1,2...I) 0≦gi≦n-1 gi: Integer Here, I≧2 (g I ≠0).

乱数xに対して(f2(x)((modn))を出力する
合同多項式演算器19及び減算器21を用いて Z=M−(f2(x)(modn)) ……(20) を求める。このZと乗算器13のpqと、設定器
37のεと、設定εと設定器38のδとをw演算
器39に入力し、(21)式を満足する整数w,v
を求める。
Using the congruence polynomial operator 19 and subtractor 21 that output (f 2 (x) (modn)) for random number x, Z=M-(f 2 (x) (modn)) ...(20) This Z, pq of the multiplier 13, ε of the setter 37, setting ε and δ of the setter 38 are input to the w calculator 39, and integers w, v that satisfy equation (21) are obtained.
seek.

Z≦wpq+vεδ<Z+δ ……(21) このw,vを求めるアルゴリズムの例を第5図
に示す。このアルゴリズムはA,Bの最大公約数
を求めるイクステンデイツドユークリフドアルゴ
リズムを利用して得たものである。まずステツプ
S1でpqとδの大きいものをAとし、小さいもの
をBとし、ZをCとし、更にa1,a2をそれぞれ
1,0とし、b1,b2をそれぞれ0,1とし、c1
c2をそれぞれ0,0とする。
Z≦wpq+vεδ<Z+δ (21) An example of an algorithm for determining w and v is shown in FIG. This algorithm was obtained using the Extendates-Euclifian algorithm to find the greatest common divisor of A and B. First step
In S 1 , the larger pq and δ are A, the smaller ones are B, Z is C, a 1 and a 2 are 1 and 0, respectively, b 1 and b 2 are 0 and 1, and c 1 ,
Let c 2 be 0 and 0, respectively.

ステツプS2でA,Bの大小を判定し、A>Bな
らばステツプS3で〓A/B〓をKとし、〓C/B
〓をLとする。a1−Kb1を次のa1とし、a2−Kb2
を次のa2とし、これらのことを(a1,a2)←
(a1,a2)−K(b1,b2)で表示する。同様に(c1
c2)+L(b1,b2)をそれぞれ求めて次のc1,c2
し、更にA−KBを次のA,C−LBを次のCと
する。一方ステツプS2でB>AならばステツプS4
で〓B/A〓をK,〓C/A〓をLとし、これら
を用いて(b1,b2)−K(a1,a2)をそれぞれ次の
(b1,b2)とし、(c1,c2)+L(a1,a2)をそれぞ
れ次の(c1,c2)とし、更にB−KAを次のB,
C−LAを次のCとする。ステツプS3又はS4の次
にステツプS5でA,Bの大きいものとδとを比較
し、等しいかδの方が小さい場合はステツプS2
戻り、δの方が大きい場合はステツプS6でAとB
とを比較する。A>BならばステツプS7でpqと
εδとを比較し、pq>εδならばステツプS8でa1+c1
をwとし、a2+c2をvとし、pq<εδならばステツ
プS9でa2+c2をwとし、a1+c1をvとする。ステ
ツプS6でB>AならばステツプS10でpq<εδとを
比較し、pq<εδならばステツプS11でb1+c1をw
とし、b2+c2をvとし、pq<εδならばb2+c2をw
とし、b1+c1をvとする。
In step S 2 , determine the magnitude of A and B, and if A>B, in step S 3 , set 〓A/B〓 to K, and set 〓C/B〓 as K.
Let 〓 be L. Let a 1 −Kb 1 be the next a 1 , and a 2 −Kb 2
Let be the following a 2 , and these things (a 1 , a 2 )←
It is expressed as (a 1 , a 2 )−K(b 1 , b 2 ). Similarly (c 1 ,
c 2 )+L(b 1 , b 2 ), respectively, and set them as the next c 1 and c 2 , and further set A-KB as the next A and C-LB as the next C. On the other hand, if B > A at step S 2 , step S 4
Let 〓B/A〓 be K and 〓C/A〓 as L, and use these to make (b 1 , b 2 )−K(a 1 , a 2 ) the following (b 1 , b 2 ), respectively. , (c 1 , c 2 )+L (a 1 , a 2 ) are respectively the next (c 1 , c 2 ), and further B−KA is the next B,
Let C-LA be the next C. After step S 3 or S 4 , in step S 5 the larger of A and B is compared with δ, and if they are equal or δ is smaller, return to step S 2 , and if δ is larger, proceed to step S A and B at 6
Compare with. If A>B, pq and εδ are compared in step S7 , and if pq>εδ, a 1 +c 1 is calculated in step S8 .
is set to w, a 2 +c 2 is set to v, and if pq<εδ, a 2 +c 2 is set to w and a 1 +c 1 is set to v in step S9 . If B > A in step S 6 , compare pq < εδ in step S 10 , and compare b 1 + c 1 with w in step S 11 if pq < εδ.
and b 2 + c 2 is v, and if pq<εδ, b 2 + c 2 is w
and let b 1 + c 1 be v.

第4図においてこのようにしてw演算器39よ
り得られたw、及び乱数xに対し(f2´(x)
(modp))を出力する合同多項式演算器24、及
び合同除算器25を用いて、 y=w/(f2´(x)(modp))(modp)を求める。
ここで f2´(x)=Ii=0 i・gi・Xi-1 ……(22) 更に乗算器26、加算器27を用いて前述と同
様に、 s=x+ypq ……(23) を求める。
In FIG. 4, for w obtained from the w arithmetic unit 39 in this way and the random number
Using the congruent polynomial calculator 24 which outputs (modp)) and the congruent divider 25, y=w/(f2'(x)(modp))(modp) is obtained.
Here, f2'(x)= Ii=0 i・gi・X i-1 ...(22) Furthermore, using the multiplier 26 and adder 27, s=x+ypq ...(23) seek.

以上により求めたれた署名sを文書m、送信者
の識別番号(ID)と共に受信側へ送信する。
The signature s obtained as described above is sent to the receiving side together with the document m and the sender's identification number (ID).

次に第6図に従つて(m,s)を受け取つた受
信側の検証手順を説明する。まず受信側では受信
した識別番号IDより公開簿からその送信者の公
開情報(n,δ,ε,γ)を読み取り、それぞれ
設定器28,29,31に設定する。次に受信し
た署名sに対し合同多項式演算器32を用いて
(f2(s)(modn))を求める。また受信文書mに対
し、圧縮器33でデータ圧縮を行い、圧縮文書M
=h(m)を求める。減算器41、除算器42、
切り捨て演算器43、剰余演算器44、比較器4
5を用いて以下の(24)式が成立するかどうかを
検証し、成立すれば肯定とする。
Next, referring to FIG. 6, the verification procedure on the receiving side that receives (m, s) will be explained. First, on the receiving side, the public information (n, δ, ε, γ) of the sender is read from the public list using the received identification number ID, and set in the setting devices 28, 29, and 31, respectively. Next, (f 2 (s) (modn)) is calculated for the received signature s using the congruence polynomial calculator 32. Furthermore, data compression is performed on the received document m by the compressor 33, and the compressed document M
Find =h(m). Subtractor 41, divider 42,
Truncation calculator 43, remainder calculator 44, comparator 4
5 to verify whether the following equation (24) holds true, and if it holds true, the result is affirmative.

〓(f2(s)(modn))−M/δ〓=0(modε)……(2
4) (ここで〓A〓はA以下の最大の整数である。)
また減算器35、比較器36によりsの値とγ,
n−γの値とを比較し、 γ≦s≦n−γ ……(25) であれば肯定とする。比較器36,45が両方共
肯定の場合、受信(m,s)は公開簿に公開情報
(n,δ,ε,γ)を登録した者によつて正しく
作成されたものとする。
〓(f 2 (s) (modn))−M/δ〓=0(modε)……(2
4) (Here 〓A〓 is the largest integer less than or equal to A.)
Also, the value of s and γ,
It is compared with the value of n-γ, and if γ≦s≦n-γ (25), it is affirmed. If the comparators 36 and 45 are both affirmative, it is assumed that the reception (m, s) was correctly created by the person who registered the public information (n, δ, ε, γ) in the public list.

次に(24)式の検証と代えて、バイナリ値の最
上位を除く任意のビツトから連続するビツト
“0”の個数で検証できることを示す。なお(25)
式の検証に対応する方式は前に述べたものと同じ
であり、(19)式の検証に公開情報δ,εを以下
のような2のべき乗の形で定義する。
Next, we will show that instead of verifying equation (24), verification can be performed using the number of consecutive bits "0" starting from any bit except the most significant bit of the binary value. Note (25)
The method for verifying the formula is the same as described above, and public information δ and ε are defined in the form of powers of 2 as shown below to verify the formula (19).

1≦δ=2d<pq ε=2e=〓(n1/3) このときこれらと(24)式とから検証は以下の
バイナリ値により行えばよいことが理解される。
つまり(26)式が成立すれば(24)式が成立する
ことと同等とみなす。この(26)式と(19)式と
が共に成立すれば受信(s,m)を正当とみな
す。
1≦δ=2 d <pq ε=2 e =〓(n 1/3 ) At this time, it is understood from these and equation (24) that verification can be performed using the following binary values.
In other words, if equation (26) holds, it is considered to be equivalent to equation (24) holding. If both equations (26) and (19) hold true, reception (s, m) is considered valid.

〔f2(s)(modn))−h(m)〕d e=0/ ……(26) ここで〔A〕dはバイナリ表現されたAの下位か
ら数えて(d+1)ビツト目より連続するeビツ
トを意味する。
[f 2 (s) (modn)) - h (m)] d e = 0/ ...(26) Here, [A] d is consecutive from the (d+1)th bit counting from the lower part of A expressed in binary. means e-bit.

「発明の効果」 以上説明したようにこの発明によれば、署名作
成で要する演算量で主なものは、データ圧縮1
回、合同多項式演算1回、切り捨て除算1回もし
くはw演算器39の演算(サイズがpのオーダの
ユークリツト互除法以下の演算量)1回、合同除
算(サイズがpのオーダのユークリツド互除法と
同等の演算量)1回であり、署名検証で要する演
算量で主なものは、データ圧縮1回、合同多項式
演算1回、切り捨て除算1回(第6図で説明した
方式のみ)であり、合同多項式の次数をRSA法
の次数に比べ十分小さくすれば、RSA法に比べ
高速な署名作成/検証が可能になるという利点が
ある。例えばRSA法の次数は10200程度であるの
に対し、この発明の合同多項式の次数を102程度
以下にすれば、ほぼ100倍程度以上高速な処理が
見込まれる。
"Effects of the Invention" As explained above, according to the present invention, the main amount of calculation required for signature creation is data compression.
times, one congruent polynomial operation, one truncation division, or one operation of the w operator 39 (computational amount less than the Euclidean algorithm of the order of size p), one congruent division (the amount of calculation less than the Euclidean algorithm of the order of size p) The main calculation amount required for signature verification is one data compression, one congruence polynomial operation, and one truncation division (only for the method explained in Figure 6). If the degree of the congruence polynomial is made sufficiently smaller than the degree of the RSA method, there is an advantage that faster signature creation/verification than the RSA method becomes possible. For example, the order of the RSA method is about 10 200 , whereas if the order of the congruence polynomial of the present invention is set to about 10 2 or less, processing speeds of about 100 times or more can be expected.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は第1発明における署名作成手順の構成
例を示すブロツク図、第2図は圧縮器16の構成
例を示すブロツク図、第3図は第1発明における
署名検証手順の構成例を示すブロツク図、第4図
は第2発明における署名作成手順の構成例を示す
ブロツク図、第5図はw演算器39での演算手順
の例を示す流れ図、第6図は第2図発明における
署名検証手順の構成例を示すブロツク図である。 16,33……圧縮器、18……乱数発生器、
19,24,32……合同多項式演算器、21,
35,41……減算器、22,42……除算器、
23……切り上げ演算器、25……合同除算器、
26……乗算器、27……加算器、34,36,
45……比較器、39……w演算器、43……切
り捨て演算器、44……剰余演算器。
FIG. 1 is a block diagram showing an example of the configuration of the signature creation procedure in the first invention, FIG. 2 is a block diagram showing an example of the configuration of the compressor 16, and FIG. 3 is a block diagram showing an example of the configuration of the signature verification procedure in the first invention. 4 is a block diagram showing an example of the configuration of the signature creation procedure in the second invention, FIG. 5 is a flowchart showing an example of the calculation procedure in the w calculator 39, and FIG. 6 is the signature creation procedure in the invention shown in FIG. 2. FIG. 2 is a block diagram showing a configuration example of a verification procedure. 16, 33... Compressor, 18... Random number generator,
19, 24, 32...Congruent polynomial operator, 21,
35, 41... subtractor, 22, 42... divider,
23... Round-up operator, 25... Joint divider,
26... Multiplier, 27... Adder, 34, 36,
45... Comparator, 39... W arithmetic unit, 43... Truncation arithmetic unit, 44... Remainder arithmetic unit.

Claims (1)

【特許請求の範囲】 1 送信側で素数p,q(p>q)を秘密情報と
して用意し、これら素数p,qを用いて、公開情
報n=p2,q,δ(1≦δ≦〓(n2/3),〓(B)はB
のオーダを意味する)、γ=〓(n/T)(Tは
1010〜1030程度の値)を作り、これら公開情報
n,δ,γを送信者Dの識別番号(ID)と共に
公開簿に登録しておき、 乱数x(1≦x≦pq−1,xはnと互いに素な
整数)を生成し、その乱数xに対してf(x)
(modn)(f(x)=Ii=0 gi xi(i=1,2,…I),0
<gi≦n−1,giは整数I≧3)を演算し、 その演算結果と送信すべき文書mとの差Z=m
−(f(x)(modn))を求め、 そのZをpqで割算し、その割算結果を切り上
げてW=「Z/(pq)」を求め、 上記乱数xに対し、f′(x)modp(f′(x)=Ii=0 i・
gi・xi-1)を演算し、その演算結果で上記Wを割
算し、この演算結果yと上記pqとを乗算し、こ
れに乱数xを加算して署名sとし、 この署名sと上記文書mと、上記識別番号ID
とを送信し、 受信側で受信した上記識別番号IDよりその公
開情報n,δ,γを上記公開簿より求め、受信し
た上記署名sに対し、f(s)(modn)を演算し、 その演算結果と、上記文書mと上記δとを用い
≦f(s)(modn)<m+δが成立するかどう
かを検証し、 上記nと上記γと、上記署名sとを用いてγ≦
s≦n−γが成立するかどうかを検証し、 上記両検証が共に成立した場合に上記受信した
m,sは上記公開簿に(n,δ,γ)を登録した
者によつて作成されたものとする署名文書通信方
式。 2 送信側で素数P,q(p>q)を秘密情報と
して用意し、これら素数p,qを用いて公開情報
n=p2,q,δ=2d=〓(n2/3),γ=2r=〓
(n/T)(Tは1010〜1030程度の値)を作り、こ
れら公開情報n,δ,γを送信者Dの識別番号
(ID)と共に公開簿に登録しておき、 乱数x(1≦x≦pq−1,xはnと互いに素な
整数)を生成し、その乱数xに対してf(x)
(modn)(f(x)=Ii=0 gi xi,i=1,2,…I,0
<gi≦n−1,giは整数I≧3)を演算し、 その演算結果と送信すべき文書mとの差Z=m
−(f(x)(modn))を求め、 そのZをpqで割算し、その割算結果を切り上
げてW=「Z/(pq)」を求め、 上記乱数xに対し、f′(x)modp(f′(x)=Ii=0 i・
gi・xi-1)を演算し、その演算結果で上記Wを割
算し、この演算結果yと上記pqとを乗算し、こ
れに乱数xを加算して署名sとし、 この署名sと上記文書mと、上記識別番号ID
とを送信し、 受信側で受信した上記識別番号IDよりその公
開情報n,δ,γを上記公開簿より求め、受信し
た上記署名sに対し、f(s)(modn)を演算し、 その演算結果と、上記受信文書mと上記受信署
名sと、上記dと、上記rとを用いて、[(f(s)
(modn))−m]d=0/,[S]r=0/,[n−s]
r≠0/
([A] dイナリで表現されたAの最上位より連
続する(|n|−d)ビツトを意味し、|n|=
「1og2n」,0/はすべて“0”より構成される任意
の長さのビツト列を意味する)が共に成立するか
どうかを検証し、共に成立した場合に受信した
m,sは上記公開簿に(n,δ,γ)を登録した
者によつて作成されたものとする署名文書通信方
式。 3 送信側で素数p,q(p>q)を秘密の情報
として用意し、これら素数を用いて、公開情報n
=p2q,δ(1≦δ<pq),ε=(n1/3),γ=
〓θ(n/T)(Tは1010〜1030程度の値)を作
り、これら公開情報n,δ,ε,γを送信者Dの
識別番号(ID)と共に公開簿に登録しておき、 乱数x(1≦x≦pq−1,xはn送信すべき文
書と互いに素な整数)を生成し、その乱数xに対
してf(x)(modn)(f(x)=Ii=0 gi xi,i=1,2,
…I,0<gi≦n−1,giは整数I≧2)を演算
し、 その演算結果と上記送信すべき文書mとの差Z
=m−(f(x)(modn)を求め、そのZと、上記
pqと、上記εと、上記δとからZ≦wpq+vεδ<
Z+δを満足する整数w,vを求め、 上記乱数xに対し、f′(x)(modp)(f′(x)=Ii=0
i・gi・xi-1)を演算し、この演算結果で上記W
を割算してyを求め、 このyに上記pqを掛算し、上記乱数xと加算
して署名sを求め、この署名sと上記文書mと、
上記識別番号IDとを送信し、 受信側で受信した識別番号IDにより上記公開
簿からその公開情報n,δ,γを求め、受信した
署名sに対しf(s)(modn)を演算し、 その演算結果と、受信した文書mと、上記δ
と、上記εとを用いて 〓(f(s)(mod n))−m/δ〓=0(modε)(〓 A」はA以下の最大整数)が成立するかどうかを
検証し、上記受信署名sと、上記γと上記nとか
らγ≦s≦n−γが成立するかどうかを検証し、
これら両検証が同時に成立した場合に、上記受信
したs,mは上記公開簿の公開情報n,δ,ε,
γを登録した者によつて作成されたものとする署
名文書通信方式。 4 送信側で素数p,q(p>q)を秘密の情報
として用意し、これら素数を用いて、公開情報n
=p2q,δ=2d(1≦δ<pq),ε=2e=〓
(n1/3),γ=2r=〓(n/T)(Tは1010〜1030
度の値)を作り、これら公開情報n,δ,ε,γ
を送信者Dの識別番号IDと共に公開簿に登録し
ておき、 乱数x(1≦x≦pq−1,xは送信すべき文書
mと互いに素な整数)を生成し、その乱数xに対
してf(x)(modn)(f(x)=Ii=0 gixi,i=1,2,
…I,0<gi≦n−1,giは整数、I≧2)を演
算し、 その演算結果と上記送信すべき文書mとの差Z
=m−(f(x)(modn)を求め、そのZと、上記
pqと、上記εと、上記δとからZ≦wpq+vεδ<
Z+δを満足する整数w,vを求め、 上記乱数xに対しf′(x)(modp)(f′(x)=Ii=0 i・
gi・xi-1)を演算し、この演算結果で上記Wを割
算してyを求め、 このyに上記pqを掛算し、上記乱数xと加算
して署名sを求め、この署名sと上記文書mと上
記識別番号IDとを送信し、 受信側で受信した識別番号IDにより上記公開
簿からその公開情報n,δ,γを求め、受信した
署名sに対しf(s)(modn)を演算し、 その演算結果と、受信文書mと、上記dと、上
記eと、上記rとから、[(f(s)(modn))−m]d e
=0/,[S]r≠0/,[n−s]r≠0/([A]d e
はバイ
ナリ表現されたAの下位から数えて(d+1)ビ
ツト目より連続するeビツトを意味し、0/はすべ
てが“0”より構成される任意の長さのビツト列
を意味する)が同時に成立するかどうかを検証
し、同時に成立した場合に上記受信したs,mは
上記公開簿の公開情報n,δ,ε,γを登録した
者によつて作成されたものとする署名文書通信方
式。
[Claims] 1 Prime numbers p and q (p>q) are prepared as secret information on the transmitting side, and using these prime numbers p and q, public information n=p 2 , q, δ (1≦δ≦ 〓(n 2/3 ), 〓(B) is B
), γ=〓(n/T) (T means the order of
Create a random number x ( 1 ≦x≦pq−1, x is an integer coprime to n), and for that random number x, f(x)
(modn) (f(x)= Ii=0 gi x i (i=1, 2,...I), 0
<gi≦n−1, gi is an integer I≧3), and the difference between the result of the calculation and the document m to be sent is Z=m
−(f(x)(modn)), divide Z by pq, round up the division result to find W= Z/ (pq), and calculate f′( x)modp(f′(x)= Ii=0 i・
gi・x i-1 ), divide the above W by the result, multiply this result y by the above pq, add a random number x to this to obtain the signature s, and this signature s and The above document m and the above identification number ID
The public information n, δ, γ is obtained from the public register using the above-mentioned identification number ID received on the receiving side, and f(s) (modn) is calculated for the received above-mentioned signature s. Verify whether m ≦f(s)(modn)<m+δ holds using the calculation result, the above document m, and the above δ, and use the above n, the above γ, and the above signature s to verify that γ≦
Verify whether s≦n−γ holds, and if both of the above verifications hold, the received m and s are created by the person who registered (n, δ, γ) in the public register. A signed document communication method that uses 2 Prime numbers P, q (p>q) are prepared as secret information on the sending side, and public information n=p 2 , q, δ=2 d =〓(n 2/3 ), γ=2 r =〓
(n/T) (T is a value of about 10 10 to 10 30 ), register these public information n, δ, and γ together with the identification number (ID) of sender D in the public register, and calculate the random number x ( 1≦x≦pq−1, x is an integer coprime to n), and for that random number x, f(x)
(modn) (f(x)= Ii=0 gi x i , i=1,2,...I,0
<gi≦n−1, gi is an integer I≧3), and the difference between the result of the calculation and the document m to be sent is Z=m
-(f(x)(modn)), divide Z by pq, round up the division result to find W= Z/ (pq), and calculate f'( x)modp(f′(x)= Ii=0 i・
gi・x i-1 ), divide the above W by the result, multiply this result y by the above pq, add a random number x to this to obtain the signature s, and this signature s and The above document m and the above identification number ID
The public information n, δ, γ is obtained from the public register using the above-mentioned identification number ID received on the receiving side, and f(s) (modn) is calculated for the received above-mentioned signature s. Using the calculation result, the above received document m, the above received signature s, the above d, and the above r, [(f(s)
(modn))-m] d = 0/, [S] r = 0/, [n-s]
r ≠0/
([A] means (|n|-d) consecutive bits from the most significant bit of A expressed in d binary , |n|=
Verify whether "1og 2 n", 0/ means a bit string of arbitrary length consisting of all "0") is true, and if both are true, the received m and s are as above. A signed document communication method that assumes that (n, δ, γ) is created by a person who has registered it in a public register. 3 Prepare prime numbers p, q (p>q) as secret information on the sending side, and use these prime numbers to send public information n.
=p 2 q, δ (1≦δ<pq), ε= (n 1/3 ), γ=
〓 θ(n/T) (T is a value of about 10 10 to 10 30 ) and register these public information n, δ, ε, γ together with the identification number (ID) of sender D in the public register. , generate a random number x (1≦x≦pq−1, x is an integer coprime to n documents to be sent), and for that random number x, f(x) (modn) (f(x)= Ii=0 gi x i , i=1,2,
...I,0<gi≦n-1, gi is an integer I≧2), and calculate the difference Z between the result of the calculation and the document m to be sent above.
=m-(f(x)(modn)), and its Z and the above
From pq, the above ε, and the above δ, Z≦wpq+vεδ<
Find integers w and v that satisfy Z + δ, and for the above random number x, f'(x) (modp) (f'(x)= Ii=0
i・gi・x i-1 ), and use this calculation result to calculate the above W
Find y by dividing y, multiply this y by the above pq, add it to the above random number x to find the signature s, and combine this signature s and the above document m,
Send the above identification number ID, obtain the public information n, δ, γ from the public list above using the received identification number ID on the receiving side, calculate f(s) (modn) for the received signature s, The calculation result, the received document m, and the above δ
and the above ε to verify whether 〓(f(s)(mod n))−m/δ〓=0(modε) (〓 A” is the largest integer less than or equal to A) holds, and the above Verifying whether γ≦s≦n−γ holds from the received signature s, the above γ, and the above n,
If both of these verifications are established at the same time, the received s and m are the public information n, δ, ε, and
A signed document communication method that assumes that γ was created by the person who registered it. 4 Prime numbers p, q (p>q) are prepared as secret information on the sending side, and using these prime numbers, public information n
=p 2 q, δ=2 d (1≦δ<pq), ε=2 e =〓
(n 1/3 ), γ=2 r = 〓(n/T) (T is a value of about 10 10 to 10 30 ), and these public information n, δ, ε, γ
is registered in the public register along with sender D's identification number ID, generates a random number x (1≦x≦pq−1, x is an integer coprime to the document m to be sent), and f(x) (modn) (f(x)= Ii=0 gix i , i=1,2,
...I, 0<gi≦n-1, gi is an integer, I≧2), and calculate the difference Z between the result of the calculation and the document m to be sent above.
=m-(f(x)(modn)), and its Z and the above
From pq, the above ε, and the above δ, Z≦wpq+vεδ<
Find the integers w and v that satisfy Z + δ, and for the above random number x, f'(x) (modp) (f'(x)= Ii=0 i・
gi x i-1 ), divide the above W by this calculation result to find y, multiply this y by the above pq, add it to the above random number x to find the signature s, and calculate the signature s. , the above document m and the above identification number ID, the receiving side obtains the public information n, δ, γ from the above public register using the received identification number ID, and calculates f(s) (mod n) for the received signature s. ), and from the calculation result, the received document m, the above d, the above e, and the above r, [(f(s)(modn))-m] d e
=0/, [S] r ≠0/, [ns] r ≠0/([A] d e
means consecutive e bits from the (d+1)th bit counting from the lower bit of A expressed in binary, and 0/ means a bit string of arbitrary length consisting of all “0”) at the same time. A signature document communication method in which it is verified whether or not this holds true, and if it holds true at the same time, the received s and m are assumed to have been created by the person who registered the public information n, δ, ε, and γ in the public register. .
JP60042052A 1984-03-19 1985-03-04 System for communication document with signature Granted JPS61200778A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP60042052A JPS61200778A (en) 1985-03-04 1985-03-04 System for communication document with signature
US06/710,253 US4625076A (en) 1984-03-19 1985-03-11 Signed document transmission system
CA000476521A CA1255784A (en) 1984-03-19 1985-03-14 Signed document transmission system
EP85103008A EP0157258B1 (en) 1984-03-19 1985-03-15 Signed document transmission system
DE8585103008T DE3585043D1 (en) 1984-03-19 1985-03-15 SYSTEM FOR TRANSFERRING A SIGNED DOCUMENT.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60042052A JPS61200778A (en) 1985-03-04 1985-03-04 System for communication document with signature

Publications (2)

Publication Number Publication Date
JPS61200778A JPS61200778A (en) 1986-09-05
JPH0586699B2 true JPH0586699B2 (en) 1993-12-14

Family

ID=12625341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60042052A Granted JPS61200778A (en) 1984-03-19 1985-03-04 System for communication document with signature

Country Status (1)

Country Link
JP (1) JPS61200778A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4829938B2 (en) * 2008-07-29 2011-12-07 本田技研工業株式会社 Body side structure

Also Published As

Publication number Publication date
JPS61200778A (en) 1986-09-05

Similar Documents

Publication Publication Date Title
US10284370B2 (en) Accelerated verification of digital signatures and public keys
CA2329590C (en) Method of public key generation
US6263081B1 (en) Elliptic curve calculation apparatus capable of calculating multiples at high speed
JP5190142B2 (en) A new trapdoor one-way function on an elliptic curve and its application to shorter signatures and asymmetric encryption
US7552329B2 (en) Masked digital signatures
US6259790B1 (en) Secret communication and authentication scheme based on public key cryptosystem using N-adic expansion
Abidi et al. Implementation of elliptic curve digital signature algorithm (ECDSA)
JP2008519994A5 (en)
KR20060104823A (en) Fast batch verification method and apparatus there-of
US6480606B1 (en) Elliptic curve encryption method and system
US7760873B2 (en) Method and a system for a quick verification rabin signature scheme
CA2306468A1 (en) Signature verification for elgamal schemes
JP2010513990A (en) Fast RSA signature verification
JPH0586699B2 (en)
US8850213B2 (en) Method for verifying an electronic signature and data processing device
US9252941B2 (en) Enhanced digital signatures algorithm method and system utilitzing a secret generator
JP4629889B2 (en) Verifiable encryption method, apparatus thereof, program thereof, and recording medium thereof
US20230388134A1 (en) Systems and methods of improved modular inversion with digital signatures
Sun et al. Batch blind signatures on elliptic curves
JPH0643809A (en) Digital signature system based on elliptic curve and signer device and verifier device for this system
Kishore et al. Fast Implementation of Digital Signatures Using Parallel Techniques
JPH0378816B2 (en)
JPH05128132A (en) Digital signiture system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term