JP2753269B2 - Asymmetric key cryptography - Google Patents

Asymmetric key cryptography

Info

Publication number
JP2753269B2
JP2753269B2 JP63168757A JP16875788A JP2753269B2 JP 2753269 B2 JP2753269 B2 JP 2753269B2 JP 63168757 A JP63168757 A JP 63168757A JP 16875788 A JP16875788 A JP 16875788A JP 2753269 B2 JP2753269 B2 JP 2753269B2
Authority
JP
Japan
Prior art keywords
block
digital signature
mod
message
jacob
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 - Fee Related
Application number
JP63168757A
Other languages
Japanese (ja)
Other versions
JPH0219887A (en
Inventor
和夫 宝木
聡夫 中川
良一 佐々木
保弘 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63168757A priority Critical patent/JP2753269B2/en
Publication of JPH0219887A publication Critical patent/JPH0219887A/en
Application granted granted Critical
Publication of JP2753269B2 publication Critical patent/JP2753269B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータのメッセージ等を暗号化する
ための非対称鍵暗号方式に関する。
Description: TECHNICAL FIELD The present invention relates to an asymmetric key cryptosystem for encrypting computer messages and the like.

〔従来の技術〕[Conventional technology]

本発明に最も近い公知例は、小山他、「現代暗号理
論」、電子通信学会、(昭和61年)pp.124〜135、pp.21
7〜237、において詳細に述べられている。
Koyama et al., “Modern Cryptography Theory”, IEICE, (1986) pp. 124-135, pp. 21
7 to 237.

以下、その概要を説明する。 The outline will be described below.

情報化社会の進展とともに、通信データやファイル内
のデータに対し、データの作成元や、データが改ざんさ
れていないこと等を保証する電子認証の技術が必要にな
ってきている。公開鍵暗号を用いるディジタル署名は、
この電子認証を行なううえで有力視されている技術の一
つである。ディジタル署名は、次の3条件を満たすもの
である。
With the progress of the information society, there is a need for a technology for electronic authentication that guarantees the origin of data and the fact that data is not falsified with respect to communication data and data in files. Digital signatures using public key cryptography
This is one of the promising technologies for performing this electronic authentication. A digital signature satisfies the following three conditions.

(1)署名文が第三者によって偽造できない。(1) The signature cannot be forged by a third party.

(2)署名文が受信者によって偽造できない。(2) The signature cannot be forged by the recipient.

(3)署名文を送った事実を送信者が後で否定出来な
い。
(3) The sender cannot deny the fact that the signature was sent later.

従来、代表的な公開鍵暗号の一つに、Rabinにより提
案された暗号(以下、R暗号と略す)があった。
Conventionally, as one of the representative public key cryptosystems, there has been a cryptosystem proposed by Rabin (hereinafter abbreviated as R cryptosystem).

R暗号においては、秘密鍵Sは、S=(b,p,q)であ
り、公開鍵Kは、K=(b,n)である。ただし、pとq
は素数であり、 n=p・q である。R暗号では、他の公開鍵暗号と同じく、データ
認証を目的としたディジタル署名と、データ秘匿を目的
とした秘密通信では鍵の用い方が異なる。すなわち、 ディジタル署名のとき: 送信者は秘密鍵Sを用いて、暗号変換C=Sign(S,
M)を行う。ここに、Mはメッセージである。Cはディ
ジタル署名である。受信者は、公開鍵Kを用いて、復号
変換Conf(K,C)を行う。ここに、M=Conf(K,C)の関
係が成立する。
In the R encryption, the secret key S is S = (b, p, q), and the public key K is K = (b, n). Where p and q
Is a prime number, and n = p · q. As with other public key cryptosystems, the R signature uses different keys for digital signatures for data authentication and secret communication for data confidentiality. That is, in the case of a digital signature: The sender uses the secret key S to perform cryptographic conversion C = Sign (S,
M). Here, M is a message. C is a digital signature. The receiver performs the decryption conversion Conf (K, C) using the public key K. Here, the relationship of M = Conf (K, C) is established.

秘匿通信のとき: 通信者は公開鍵Kを用いて、暗号変換C=Enc(K,M)
を行う。
In the case of confidential communication: The communication party uses the public key K to perform the cryptographic conversion C = Enc (K, M)
I do.

受信者は秘匿鍵Sを用いて、復号変換Dec(S,C)を行
う。ここに、M=Dec(S,C)の関係が成立する。
The receiver performs the decryption conversion Dec (S, C) using the secret key S. Here, the relationship of M = Dec (S, C) is established.

ここでは、R暗号をディジタル署名で用いる場合に限
って述べる。
Here, the description will be made only when the R encryption is used for the digital signature.

R暗号の暗号変換Signは、[0,n−1]の範囲の一部
の整数を定義域にもつ。つまり、次の条件が成立する時
に、Signの処理を行うことができる。
The encryption conversion Sign of the R encryption has a partial integer in the range of [0, n-1] in its domain. That is, the sign process can be performed when the following condition is satisfied.

[定理]平文Mに対して、ディジタル署名が可能となる
条件は、 Jacob((b/2)+M,p)=1 (1) Jacob((b/2)+M,q)=1 (2) が成立することである。ここに、Jacob(a,w)はヤコビ
関数であり、 で定義される。
[Theorem] Jacob ((b / 2) 2 + M, p) = 1 (1) Jacob ((b / 2) 2 + M, q) = 1 ( 2) is satisfied. Where Jacob (a, w) is the Jacobian function, Is defined by

なお、aがmod wの平方剰余とは、 x2=a(mod w)が解を持つということである。一
般にこの条件が成立するとは限らない。従って、このま
までは任意の平文M(0≦M≦n−1)に対して、ディ
ジタル署名を行うことができない。そこで、従来、次の
対策が施されていた。すなわち、まず平文にある種の変
換fjを施す。
Note that “a” is a quadratic residue of mod w, which means that x 2 = a (mod w) has a solution. Generally, this condition is not always satisfied. Therefore, a digital signature cannot be applied to an arbitrary plaintext M (0 ≦ M ≦ n−1) as it is. Therefore, conventionally, the following measures have been taken. That is, first, a certain conversion fj is applied to the plaintext.

Mj=fj(M) j=0,1,2,…… ただし、f0は無変換を表す。fjの具体的な関数として
は、例えば、 fj(M)=M+j でもよい。対策の手順は以下の通りである。
Mj = fj (M) j = 0,1,2, ...... However, f 0 represents the non-conversion. As a specific function of fj, for example, fj (M) = M + j may be used. The steps of the countermeasures are as follows.

まず、送信者はj=0としてMjが、式(1)と(2)
を満たすかどうかをチェックする。もし、満たさないな
らば、 j=j+1 として、再度Mjが条件を満たすかどうかをチェックす
る。整数論の理論によれば、 平均2.5回 のチェックで条件を満たす変換が求まる。それをfj*と
し、変換後の平文を Z=fj*(M) とする。次に署名者は、ディジタル署名 を作成し、Cおよび、情報j*を受信者に送信する。受
信者は復号変換 Z=Conf(K,C) により、Zを復号し、更にZにfj*の逆関数fj*-1を施
してMを得る。
First, the sender decides that j = 0 and Mj obtains equations (1) and (2).
Check whether or not. If not, j = j + 1 and it is checked again whether Mj satisfies the condition. According to the theory of number theory, a transformation that satisfies the condition can be obtained with an average of 2.5 checks. Let it be fj *, and let the plaintext after conversion be Z = fj * (M). Next, the signer And sends C and information j * to the recipient. The receiver decodes Z by the decoding conversion Z = Conf (K, C), and further obtains M by applying the inverse function fj * -1 of fj * to Z.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

さて、従来のR暗号を用いたディジタル署名では、次
の問題点があった。
By the way, the conventional digital signature using the R encryption has the following problems.

(1)ディジタル署名の条件が成立するまで、平均2.5
回、fjの変換が必要である。この2.5回の数値はあくま
でも平均値であり、最悪の場合、何回fjの変換を施して
も、ディジタル署名の条件が成立しないこともあり得
る。つまり、ディジタル署名の作成に要する処理時間は
確率的な値となり、実際の通信システムにおいて、不都
合な場合が生じ得る。
(1) Until the digital signature condition is satisfied, an average of 2.5
Times, conversion of fj is necessary. The 2.5 numerical values are average values, and in the worst case, no matter how many times fj is converted, the digital signature condition may not be satisfied. That is, the processing time required to create a digital signature is a probabilistic value, which may cause inconvenience in an actual communication system.

(2)ディジタル署名を通信する場合、Cの他、j*も
通信しなければならず通信の手間が増える。
(2) When communicating a digital signature, j * must also be communicated in addition to C, which increases communication time and effort.

(3)ディジタル署名をするような場合、Cの他、j*
も保管しなければならず、管理の手間が増える。
(3) In the case of performing a digital signature, in addition to C, j *
Must also be stored, which increases the management effort.

〔問題点を解決するための手段〕[Means for solving the problem]

上記問題点を解決するため次の数学的な性質を利用す
る。
The following mathematical properties are used to solve the above problems.

これより、 p=7または15(mod 24)に対して、 Jacob(−1,p)=−1, Jacob( 2,p)= 1 Jacob( 3,p)=−1. q=11(mod 24)に対して Jacob(−1,q)=−1, Jacob( 2,q)=−1 Jacob( 3,q)= 1. となる。 Thus, for p = 7 or 15 (mod 24), Jacob (−1, p) = − 1, Jacob (2, p) = 1 Jacob (3, p) = − 1. Q = 11 (mod 24) Jacob (−1, q) = − 1, Jacob (2, q) = − 1 Jacob (3, q) = 1.

これにより、任意のメッセージMに対して Jacob(aM,p)=1, Jacob(aM,q)=1 となるように、−1か2か3の値をもつaを定めること
ができる。つまり、変換Z=f(M)として、Z=aMと
することができ、Zは(mod p)および(mod q)で
平方剰余となる。
Thereby, a having a value of −1, 2 or 3 can be determined so that Jacob (aM, p) = 1 and Jacob (aM, q) = 1 for an arbitrary message M. That is, the transformation Z = f (M) can be set to Z = aM, and Z becomes a quadratic residue in (mod p) and (mod q).

これらの数学的な性質に着目して、次の手段を用い
る。
Focusing on these mathematical properties, the following means are used.

1.二つの素数p,qを暗号化鍵とするメッセージの暗号化
変換方式において、素数の積n=p×qの二進ビット長
kよりも短いビット長iのメッセージMが入力データと
して与えられたとき、 で定義されるヤコビ関数、および、ビット系列Aとビッ
ト系列Mをこの順につなぎ合わせて得られるビット列を
示す記号 を用いて、適当な関数gとビット列Aを選定することに
よりMに変換 を施して、 かつ、 Jacob(Z,p)=1、 Jacob(Z,q)=1 となるようにし、該素数の積nを法としたZの平方根、 を計算し、計算結果のCを暗号文とする。
1. In an encryption conversion method of a message using two prime numbers p and q as an encryption key, a message M having a bit length i shorter than a binary bit length k of a product n = p × q of prime numbers is given as input data. When And a symbol indicating a bit sequence obtained by connecting the bit sequence A and the bit sequence M in this order. Is converted to M by selecting an appropriate function g and bit string A using To give And Jacob (Z, p) = 1, Jacob (Z, q) = 1, and the square root of Z modulo the product n of the prime numbers, Is calculated, and C of the calculation result is set as a ciphertext.

2.コンピュータのメッセージを暗号化変換する方式にお
いて、p=7または15(mod 24)、q=11(mod 24)を
満足するような二つの素数p,qを暗号化鍵とし、素数の
積n=p×qの二進ビット長kよりも短いビット長iの
メッセージMが入力データとして与えられたとき、ヤコ
ビ関数を用いて、Mに変換fを施して、 Z=f(M)、かつ、 Jacob(Z,p)=1、 Jacob(Z,q)=1 となるようにし、上記素数の積nを法としたZの平方
根、 を計算し、計算結果のCを暗号文とする。
2. In a method of encrypting and converting a computer message, two prime numbers p and q satisfying p = 7 or 15 (mod 24) and q = 11 (mod 24) are used as an encryption key, and a product of prime numbers is used. When a message M having a bit length i shorter than a binary bit length k of n = p × q is given as input data, a conversion f is performed on M using a Jacobi function, and Z = f (M), And Jacob (Z, p) = 1, Jacob (Z, q) = 1, and the square root of Z modulo the product n of the prime numbers, Is calculated, and C of the calculation result is set as a ciphertext.

3.コンピュータのメッセージを復号化変換する方式にお
いて、前記手段2で述べた暗号文Cが入力データとして
与えられた場合、前記素数p,qの積n=p×qを復号化
鍵として、Z=C×C(mod n)を計算し、前記変換
の逆変数f-1を用いて、M=f-1(Z)を計算しても、も
とのメッセージとしてMを得る。
3. In the method of decrypting and converting a computer message, when the ciphertext C described in the means 2 is given as input data, the product n = p × q of the primes p and q is used as a decryption key and Z = C × C (mod n), and M = f −1 (Z) using the inverse variable f −1 of the conversion, M is obtained as the original message.

4.手段2で述べた非対称鍵暗号方式において、jを0か
らk−7までの間の整数として、前記素数の積n=p×
qの二進ビット長kより6+jビット以上短いビット長
i、すなわち、 i≦k−(6+j) となるような長さiのメッセージMが入力データとして
与えられたとき、上位から第5+j番目と第6+j番目
のビットが‘1'、残りが‘0'であるようなk−i個のビ
ットからなるビット列SをMの上位ビット側に接続して
得られるデータをY、すなわち、 とし、前記ヤコビ関数を用いて、 Jacob(Y,p)=1,Jacob(Y,q)=1のとき、 Z=Y(mod n) Jacob(Y,p)=1,Jacob(Y,q)=−1のとき、 Z=2×Y(mod n) Jacob(Y,p)=−1,Jacob(Y,q)=1のとき、 Z=3×Y(mod n) Jacob(Y,p)=−1,Jacob(Y,q)=−1のとき、 Z=1×Y(mod n) とし、該素数の積nを法としたZの平方根、すなわち、 を計算し、計算結果のCを暗号文とする。
4. In the asymmetric key cryptosystem described in Means 2, the product of the prime numbers n = p ×, where j is an integer between 0 and k-7.
When a message M having a bit length i shorter than the binary bit length k of q by 6 + j bits or more, that is, a length i such that i ≦ k− (6 + j) is given as input data, the fifth + jth and Data obtained by connecting a bit string S consisting of ki bits such that the 6 + j-th bit is “1” and the remainder is “0” to the upper bit side of M is Y, that is, Using the Jacobian function, when Jacob (Y, p) = 1 and Jacob (Y, q) = 1, Z = Y (mod n) Jacob (Y, p) = 1, Jacob (Y, q ) =-1, Z = 2 × Y (mod n) Jacob (Y, p) = − 1, Jacob (Y, q) = 1, Z = 3 × Y (mod n) Jacob (Y, p) = − 1, Jacob (Y, q) = − 1, Z = 1 × Y (mod n), and the square root of Z modulo the prime product n, that is, Is calculated, and C of the calculation result is set as a ciphertext.

5.手段3で述べた非対称鍵暗号方式において、前記暗号
文Cが入力データとして与えられた場合、前記素数p,q
の積n=p×qを複号化鍵として、Z=C×C(mod
n)を計算し、Bをj個のビット‘0'から長さjのビッ
ト列として、Zの上位ビットが、 の場合、 Y=Z(mod n)、 Zの上位ビットが、 の場合、 Y=Z/2(mod n)、 Zの上位ビットが、 の場合、 Y=Z/3(mod n)、 Zの上位1ビット目または上位2ビット目が、‘1'の場
合、 Y=−Z(mod n)、 とし、Yのうち、下位のiビットを取り出してもとの平
文Mを得る。
5. In the asymmetric key cryptosystem described in Means 3, if the ciphertext C is given as input data, the prime numbers p and q
Using the product n = p × q as the decryption key, Z = C × C (mod
n), B is set as a bit string of length j from j bits '0', and the upper bits of Z are In the case of Y = Z (mod n), the upper bits of Z are In the case of, Y = Z / 2 (mod n), and the upper bits of Z are In the case of, Y = Z / 3 (mod n), and when the upper first bit or the upper second bit of Z is “1”, Y = −Z (mod n). The original plaintext M is obtained by extracting the bits.

6.手段2で述べた非対称鍵暗号方式において、 前記素数の積n=p×qの二進ビット長kより6ビッ
ト以上短いビット長i、すなわち、 i≦k−6 となるような長さiのメッセージMが入力データとして
与えられたとき、上位から第5番目と第6番目のビット
が‘1'、残りが‘0'であるようなk−i個のビットから
なるビット列SをMの上位ビット側に接続して得られる
データをY、すなわち、 前記ヤコビ関数を用いて、 Jacob(Y,p)=1,Jacob(Y,q)=1のとき、 Z=Y(mod n) Jacob(Y,p)=1,Jacob(Y,q)=−1のとき、 Z=2×Y(mod n) Jacob(Y,p)=−1,Jacob(Y,q)=1のとき、 Z=3×Y(mod n) Jacob(Y,p)=−1,Jacob(Y,q)=−1のとき、 Z=1×Y(mod n) とし、該素数の積nを法としたZの平方根、すなわち、 を計算し、計算結果のCを暗号文とする。
6. In the asymmetric key cryptosystem described in Means 2, the bit length i shorter than the binary bit length k of the product n = p × q of the prime number by 6 bits or more, that is, a length such that i ≦ k−6 is satisfied. When a message M of i is given as input data, a bit string S composed of ki bits whose fifth and sixth bits are “1” and the remaining bits are “0” is represented by M Y is the data obtained by connecting to the upper bit side of Using the Jacobian function, when Jacob (Y, p) = 1 and Jacob (Y, q) = 1, Z = Y (mod n) Jacob (Y, p) = 1, Jacob (Y, q) = When −1, Z = 2 × Y (mod n) Jacob (Y, p) = − 1, when Jacob (Y, q) = 1, Z = 3 × Y (mod n) Jacob (Y, p) = −1, Jacob (Y, q) = − 1, Z = 1 × Y (mod n), and the square root of Z modulo the prime product n, that is, Is calculated, and C of the calculation result is set as a ciphertext.

7.手段3で述べた非対称鍵暗号方式において、前記暗号
文Cが入力データとして与えられた場合、前記素数p,q
の積n=p×qを復号化鍵として、Z=C×C(mod
n)を計算し、 Zの上位第1ビット〜第5ビットが、‘00001'の場
合、 Y=Z(mod n)、 Zの上位第1ビット〜第4ビットが、‘0001'の場
合、 Y=Z/2(mod n)、 Zの上位第1ビット〜第3ビットが、‘001'の場合、 Y=Z/3(mod n)、 Zの上位第1ビットまたは第2ビットが、‘1'の場
合、 Y=−Z(mod n)、 とし、 Yのうち、下位のiビットを取り出してもとの平文M
を得る。
7. In the asymmetric key cryptosystem described in the means 3, when the ciphertext C is given as input data, the prime numbers p and q
Using the product n = p × q as the decryption key, Z = C × C (mod
n), the upper first to fifth bits of Z are '00001', Y = Z (mod n), and the upper first to fourth bits of Z are '0001', Y = Z / 2 (mod n), when the upper first to third bits of Z are '001', Y = Z / 3 (mod n), the upper first or second bit of Z is: In the case of “1”, Y = −Z (mod n), and the plaintext M from which the lower i bits of Y are extracted
Get.

8.コンピュータのメッセージを暗号化変換する方式にお
いて、p=7または15(mod 24)、q=11(mod 24)
を満足するような二つの素数p,qを暗号化鍵とし、 素数の積n=p×qの二進ビット長kをこえないビッ
ト長iのメッセージMが入力データとして与えられたと
き、前記ヤコビ関数を用いて、Mに対し異なる二種類の
変数f,gを施して、 Z=f(M),Z′=g(M)、かつ Jacob(Z,p)=1 Jacob(Z′,p)=1 Jacob(Z′,q)=1 となるようにし、該変数の積nを法としたZおよびZ′
の平方根、すなわち、 を計算し、Cを該メッセージMに対する作成者の正式な
承認を示すディジタル署名として用い、C′を該メッセ
ージMに対する作成者の仮の承認を示すディジタル署名
として用いる。
8. In a method of encrypting and converting a computer message, p = 7 or 15 (mod 24), q = 11 (mod 24)
When a message M having a bit length i which does not exceed the binary bit length k of the product of prime numbers n = p × q is given as input data, using two prime numbers p and q satisfying Using the Jacobi function, two different variables f and g are applied to M, and Z = f (M), Z ′ = g (M), and Jacob (Z, p) = 1 Jacob (Z ′, p) = 1 Jacob (Z ′, q) = 1, and Z and Z ′ modulo the product n of the variables
The square root of Is used, and C is used as a digital signature indicating the author's formal approval of the message M, and C ′ is used as a digital signature indicating the author's temporary approval of the message M.

9.手段1〜7のいずれかの非対称鍵暗号方式を内蔵し、
かつ、承認を与えるべきメッセージM′の圧縮暗号計算
機能,暗号用鍵あるいは復号用鍵の管理機能を有する携
帯用計算機を構成することにより、持ち運び可能で、ど
こでも安全に本人のディジタル署名を確認できるように
する。
9. Built-in any one of the means 1 to 7 asymmetric key cryptosystem,
In addition, by configuring a portable computer having a function of calculating a compressed encryption of a message M 'to be approved and a function of managing an encryption key or a decryption key, the digital signature of the user can be carried anywhere and securely confirmed anywhere. To do.

〔作 用〕(Operation)

これにより、前記従来技術の問題点が解決される。す
なわち、 (1)任意のメッセージM(nより、6ビット以上短い
もの)に対し、一回の変換 Z=f(M) を施すことにより、ディジタル署名が可能になる。
This solves the problem of the related art. That is, (1) A digital signature can be obtained by performing a single conversion Z = f (M) on an arbitrary message M (one shorter than n by 6 bits or more).

(2)ディジタル署名Cだけを送信すればよく、前記従
来の付加情報j*を送信する必要がない。
(2) Only the digital signature C needs to be transmitted, and there is no need to transmit the conventional additional information j *.

〔実施例〕〔Example〕

第1図は、本発明の第1の実施例である。第1図にお
いて、504ビットのメッセージM101と256ビットの素数p1
02,素数q103が、プロセッサ104に入力され、その後、プ
ログラム105内の命令の順にプロセッサ104において暗号
変換され、その結果として、512ビットのディジタル署
名106が出力される。ディジタル署名106は、通信路107
を経由して送信され、プロセッサ110の入力としてのデ
ィジタル署名108として受信される。受信後、512ビット
のディジタル署名108と、512ビットの素数の積n(=p
×q)109がプロセッサ110に入力され、その後プログラ
ム111内の命令の順に、プロセッサ110において復号変換
され、その結果として504ビットのメッセージM112とし
て出力される。
FIG. 1 shows a first embodiment of the present invention. In FIG. 1, a 504-bit message M101 and a 256-bit prime p1
02, the prime number q103 is input to the processor 104, and then cryptographically converted by the processor 104 in the order of the instructions in the program 105. As a result, a 512-bit digital signature 106 is output. The digital signature 106 is transmitted to the communication
And received as a digital signature 108 as input to the processor 110. After reception, the product n (= p) of the 512-bit digital signature 108 and the 512-bit prime number
× q) 109 is input to the processor 110, and then decoded and converted by the processor 110 in the order of the instructions in the program 111, and the result is output as a 504-bit message M112.

第2図は、第1図のプロセッサ104とプログラム105に
おいて実行される暗号変換処理手順のフローチャートで
ある。
FIG. 2 is a flowchart of a cryptographic conversion processing procedure executed by the processor 104 and the program 105 in FIG.

ブロック201:504ビットのメッセージM101と、秘密鍵p10
2,q103がプロセッサ104に入力される。ここで、p,qはp
=7または15(mod 24)、q=11(mod 24)となるよう
な256ビットの素数である。
Block 201: 504 bit message M101 and secret key p10
2, q103 is input to the processor 104. Where p and q are p
= 7 or 15 (mod 24), q = 11 (mod 24) is a 256-bit prime number.

ブロック202:メッセージMの上位ビット側にビット列
‘00001100'が結合される。この結果得られる512ビット
のビット列をYとする。
Block 202: The bit string '00001100' is connected to the upper bit side of the message M. The bit string of 512 bits obtained as a result is defined as Y.

ブロック203:a=Jacob(Y,p) b=Jacob(Y,q) を計算する。ここで、ヤコビ関数Jacobは次のような再
帰的関数として計算されれる。
Block 203: Calculate a = Jacob (Y, p) b = Jacob (Y, q) Here, the Jacobian function Jacob is calculated as the following recursive function.

Jacob(x,y)= xが1のとき、1 xが偶数のとき (y2−1)/8 Jacob(x/2,y)×(−1) xが奇数のとき (y−1)・(x−1)/4 Jacob(y(mod x),x)×(−1) ブロック204:a=1,b=1なら、Z=Y(mod n)とす
る。
Jacob (x, y) = when x is 1, when 1 x is an even number (y 2 -1) / 8 Jacob (x / 2, y) × (-1) when x is an odd number (y-1) (X−1) / 4 Jacob (y (mod x), x) × (−1) Block 204: If a = 1 and b = 1, Z = Y (mod n).

ブロック205:a=1,B=−1なら、Z=2Y(mod n)とす
る。
Block 205: If a = 1 and B = -1, Z = 2Y (mod n).

ブロック206:a=−1,b=1なら、Z=3Y(mod n)とす
る。
Block 206: If a = -1, b = 1, Z = 3Y (mod n).

ブロック207:a=−1,b=−1なら、Z=−Y(mod n)
とする。
Block 207: If a = -1, b = -1, Z = -Y (mod n)
And

ブロック208: を計算する。Block 208: Is calculated.

ここに、Zは(mod p)および(mod q)に関し、平方
剰余である。
Where Z is the quadratic residue for (mod p) and (mod q).

ここで、 を計算するため、 h=q((q−3)/4)+1(mod q) r=q-1(mod p) を計算した後、 を計算する。here, To calculate After calculating h = q ((q−3) / 4) +1 (mod q) r = q −1 (mod p), Is calculated.

をディジタル署名として出力する。 Is output as a digital signature.

第3図は、第1図のプロセッサ110とプログラム111に
おいて実行される復号変換処理手順のフローチャートで
ある。
FIG. 3 is a flowchart of a decoding conversion processing procedure executed by the processor 110 and the program 111 in FIG.

ブロック301:ディジタル署名C(512ビット)108と公開
鍵n109を入力する。
Block 301: Input digital signature C (512 bits) 108 and public key n109.

ブロック302:Z=C×C(mod n)を計算する。Block 302: Calculate Z = C × C (mod n).

ブロック303:Zの上位5ビットが‘00001'ならば、Y=
Zとする。
Block 303: If the upper 5 bits of Z are '00001', Y =
Z.

ブロック304:Zの上位4ビットが‘0001'ならば、Y=Z/
2とする。
Block 304: If the upper 4 bits of Z are '0001', Y = Z /
Assume 2.

ブロック305:Zの上位3ビット目または上位2ビット目
が‘001'ならば、Y=Z/3とする。
Block 305: If the upper third bit or the upper second bit of Z is '001', Y = Z / 3.

ブロック306:Zの上位1ビットまたは上位2ビット目が
‘1'ならば、Y=−Zとする。
Block 306: If the upper first bit or the upper second bit of Z is “1”, Y = −Z.

ブロック307:M=Yの下位504ビットとし、Mを出力す
る。
Block 307: Set M = Y as the lower 504 bits and output M.

第1の実施例の変形例 第2図のブロック202で、 メッセージMの上位ビット側にビット列‘00001100'
を結合したが、この代わりに (a)‘00000110' (b)‘00000011' (c)その他、 Z=Y(mod n)あるいは、Z=2Y(mod n)、Z=3Y
(mod n)、Z=−Y(mod n)のいずれかの積計算を行
ったとした場合、その計算結果であるZを調べることに
よって上記1倍,2倍,3倍,(−1)倍のどの積計算を行
ったかを判定できるような変数f、つまり、 Y=f(M) であれば何でも良い。
Modification of First Embodiment In block 202 in FIG. 2, a bit string '00001100' is added to the upper bit side of the message M.
But instead of (a) '00000110' (b) '00000011' (c) Z = Y (mod n) or Z = 2Y (mod n), Z = 3Y
If any product calculation of (mod n) and Z = −Y (mod n) is performed, the calculation result Z is examined to obtain the above 1, 2, 3, and (−1) times. Any variable may be used as long as it can determine which product calculation has been performed, that is, Y = f (M).

第4図は、本発明の第2の実施例であり、送信者A
(以下、単にAとする)と受信者B(以下、単にBとす
る)との間で、‘正式なディジタル署名’を交換しあう
システムを示している。Aは携帯用コンピュータ304を
所持しており、Bは携帯用コンピュータ315を所持して
いる。携帯用コンピュータ304には、プロセッサ305とメ
モリ306、プログラム309が内蔵されており、さらにプロ
グラム309にサブモジュールとして非対称鍵暗号アルゴ
リズム310と圧縮暗号アルゴリズム311、鍵管理機能312
が内蔵されており、メモリ306にはAの秘密鍵(pA,qA
307とBの公開鍵nB308が内蔵されている。
FIG. 4 shows a second embodiment of the present invention, in which the sender A
1 shows a system in which a 'official digital signature' is exchanged between a receiver B (hereinafter simply referred to as A) and a receiver B (hereinafter simply referred to as B). A has a portable computer 304 and B has a portable computer 315. The portable computer 304 includes a processor 305, a memory 306, and a program 309. The program 309 further includes sub-modules such as an asymmetric key encryption algorithm 310, a compression encryption algorithm 311, and a key management function 312.
Is stored in the memory 306, and the secret key of A (p A , q A ) is stored in the memory 306.
A public key n B 308 of 307 and B is incorporated.

携帯用コンピュータ315には、プロセッサ319とメモリ
316、プログラム320が内蔵されており、さらにプログラ
ム320にはサブモジュールとして、非対称鍵暗号アルゴ
リズム321と圧縮暗号アルゴリズム322、鍵管理機能323
が内蔵されており、メモリ316には受信者B326の秘密鍵
(pB,qB)317とAの公開鍵nA318が内蔵されている。
The portable computer 315 has a processor 319 and memory
316, a program 320 is built-in, and the program 320 further includes sub-modules such as an asymmetric key encryption algorithm 321 and a compression encryption algorithm 322,
Is stored in the memory 316. The secret key (p B , q B ) 317 of the receiver B 326 and the public key n A 318 of A are stored in the memory 316.

携帯用コンピュータ304には入力データとして任意ビ
ット長のメッセージM′301が入力されるようになって
おり、出力データとしてBの非正式のディジタル署名30
2とBの方式のディジタル署名303が出力されるようにな
っている。携帯用コンピュータ315には、任意のビット
長のメッセージM′324とAの正式のディジタル署名325
が出力されるようになっている。また、携帯用コンピュ
ータ304と、携帯用コンピュータ315は前記の入力デー
タ,出力データ用端子とは異なる端子326,327を用いて
通信路314を介してつながれている。
The portable computer 304 is configured to receive a message M'301 having an arbitrary bit length as input data, and output the unofficial digital signature 30 of B as output data.
The digital signature 303 of the method 2 and B is output. The portable computer 315 has a message M'324 of an arbitrary bit length and a formal digital signature 325 of A.
Is output. The portable computer 304 and the portable computer 315 are connected via a communication path 314 using terminals 326 and 327 different from the input data and output data terminals.

ここで、正式のディジタル署名の非正式のディジタル
署名は次のように定義される。
Here, an informal digital signature of a formal digital signature is defined as follows.

正式のディジタル署名: あるメッセージに対して正式に承認したことを示すデ
ィジタル署名。
Formal Digital Signature: A digital signature that indicates that a message has been formally approved.

非正式のディジタル署名: AとBの二者間で、あるメッセージに対してA及びB
のディジタル署名を交換しあうような場合、一方、例え
ばA、は他方、例えばBから正式のディジタル著名をB
に送ることを約束することを示すディジタル署名。非正
式のディジタル署名は正式のディジタル署名として使用
されない。
Informal digital signature: A and B between A and B for a message
Exchange digital signatures on one side, for example, A, on the other hand, for example,
A digital signature that indicates that you promise to send to. Unofficial digital signatures are not used as official digital signatures.

調停機関331には、携帯用コンピュータ345が常駐され
ている。携帯用コンピュータ345には、プロセッサ339,
プログラム340,メモリ341,署名無効化用ファイル334が
内蔵されており、プログラム340には非対称鍵暗号アル
ゴリズム341、圧縮暗号アルゴリズム342,鍵管理機能343
が内蔵されており、メモリ341には、Aの公開鍵nA342,B
の公開鍵nB343が内蔵されている。
A portable computer 345 is resident at the arbitration organization 331. The portable computer 345 has a processor 339,
The program 340 includes a program 340, a memory 341 and a signature invalidation file 334. The program 340 includes an asymmetric key encryption algorithm 341, a compression encryption algorithm 342, and a key management function 343.
Is stored in the memory 341 and the public key n A 342, B of A is stored in the memory 341.
Public key n B 343 of have been built.

携帯用コンピュータ345には、圧縮暗号M331,Aの言い
分332、Bの言い文333、Bの非正式のディジタル署名
CB′334、Aの正式のディジタル署名CA335、Bの正式の
ディジタル著名CB336、Aの非正式のディジタル署名
CA′337が入力されるようになっており、判定338が出力
されるようになっている。
The portable computer 345 has a compressed cipher M331, a case 332 of A, a sentence 333 of B, and an informal digital signature of B
C B '334, A's formal digital signature C A 335, B's formal digital signature C B 336, A's unofficial digital signature
C A '337 is input, and the judgment 338 is output.

調停機関331は、第4図において‘正式のディジタル
署名’の交換の途中において、AとBの間で次のいずれ
かのトラブルが生じたとき動作する。
The arbitration organization 331 operates when any of the following troubles occurs between A and B during the exchange of the “official digital signature” in FIG.

(1)Bは、事前に話合いによりメッセージM′に対
し、承認し合ったと主張するのにたいし、Aはそうでな
いと主張する場合、 (2)Aは、事前に話合いによりメッセージM′に対
し、承認し合ったと主張するのにたいし、Bはそうでな
いと主張する場合、 (3)AもBも事前に話合いにより承認しあったと認め
るものの、正式あるいは非正式のディジタル署名の送受
信に関し、意見の相違がある場合、 (4)AもBも事前に話合いによる承認はしなかったと
認めるものの、正式あるいは非正式のディジタル署名の
送受信に関し、意見の相違がある場合、 これらのいずれかの場合、調停機関331には、該メッ
セージM′の圧縮暗号M331、Aの言い分332、Bの言い
分333、Bの非公式のディジタル署名CB′334、あるい
は、Aの正式のディジタル署名CA335、Bの正式のディ
ジタル署名CB336、Aの非正式のディジタル署名CA′337
のいずれかが入力され判定338が出力される。
(1) B argues in advance that the message M 'has been approved for the message M', but A argues that it has not. (2) A: On the other hand, if B argues that they have agreed to each other, but B argues that they have not, (3) Although both A and B acknowledge that they have approved in advance through discussion, they will (4) If both A and B acknowledge that they did not approve by consultation in advance, but there is a disagreement regarding the transmission or reception of formal or informal digital signatures, If, the arbitration engine 331 'informal digital signature compression encryption M331, a side of the story 332, B side of the story 333, B of C B' the message M 334 or authoritative digital a Name C A 335, formal digital signature B C B 336, non-authoritative digital signature A C A '337
Is input and the judgment 338 is output.

第4図における動作の概略フローチャートを第5図に
示す。
FIG. 5 shows a schematic flowchart of the operation in FIG.

ブロック501:Aの指令のもとに携帯用コンピュータ304は
動作を開始する。
The portable computer 304 starts operating under the instruction of block 501: A.

ブロック502:携帯用コンピュータ304はメッセージM′3
01を入力する。
Block 502: The portable computer 304 sends the message M'3
Enter 01.

ブロック503:通信路314はメッセージM′301を携帯用コ
ンピュータ304から携帯用コンピュータ315に送信する。
Block 503: Channel 314 sends message M'301 from portable computer 304 to portable computer 315.

ブロック504:携帯用コンピュータ315はメッセージM′3
27を受信する。
Block 504: The portable computer 315 sends the message M'3
Receive 27.

ブロック505:携帯用コンピュータ315はBの指令のもと
にBの非正式のディジタル署名CB′328を作成する。
Block 505: The portable computer 315 creates B 's unauthorized digital signature C B '328 under B's command.

ブロック506:通信路314はBの非正式のディジタル署名C
B′328を携帯用コンピュータ315から携帯用コンピュー
タ304へ送信する。
Block 506: Channel 314 is B's unauthorized digital signature C
It sends B '328 from portable computer 315 to the portable computer 304.

ブロック507:携帯用コンピュータ304はBの開公式のデ
ィジタル署名CB′328が正当であることを確認できた
ら、Bの非正式のディジタル署名CB′302を出力する。
Block 507: The portable computer 304 outputs B's informal digital signature C B '302 if it can confirm that B's open digital signature C B ' 328 is valid.

確認できなかった場合、中断して後述の処理(第7図
のブロック707)に移る。
If it cannot be confirmed, the process is interrupted and the process proceeds to the process described below (block 707 in FIG. 7).

ブロック508:携帯用コンピュータ304はAの正式のディ
ジタル署名CA329を作成する。
Block 508: The portable computer 304 creates A's formal digital signature C A 329.

ブロック509:通信路314はAの正式のディジタル署名CA3
29を携帯用コンピュータ315に送信する。
Block 509: Channel 314 is A's official digital signature C A 3
29 to the portable computer 315.

ブロック510:携帯用コンピュータ315は、Aの正式のデ
ィジタル署名CA329が正当であることを確認できたら、
Aの正式のディジタル署名CA325を出力する。
Block 510: The portable computer 315 determines that A's formal digital signature C A 329 is valid,
Output A's official digital signature C A 325.

確認できなかった場合、中断して後述の処理(第9図
のブロック907)に移る。
If not confirmed, the process is interrupted and the process proceeds to the process described below (block 907 in FIG. 9).

ブロック511:携帯用コンピュータ315は、Bの正式のデ
ィジタル署名CB330を作成する。
Block 511: The portable computer 315 creates B's formal digital signature C B 330.

ブロック512:通信路314は、Bの正式のディジタル署名C
B330を携帯用コンピュータ315から携帯用コンピュータ3
04に送信する。
Block 512: Channel 314 is B's formal digital signature C
B 330 from portable computer 315 to portable computer 3
Send to 04.

ブロック513:携帯用コンピュータ304は、Bの正式のデ
ィジタル署名CB330が正しいことを確認できたらBの正
式のディジタル署名CB330が正しいことを確認できたら
Bの正式のディジタル署名CB303を出力する。
Block 513: the portable computer 304, formal digital signature Once you are able After that authoritative digital signature C B 330 B-correct ensure that formal digital signature C B 330 is correct B B C B 303 Is output.

確認できなかった場合、中断して後述の処理(第10図
ブロック1007)に移る。
If not confirmed, the process is interrupted and the process proceeds to block 1007 (FIG. 10).

ブロック514:終了。Block 514: End.

第5図におけるブロック505の動作の詳細フローチャ
ートを第6図に示す。
FIG. 6 shows a detailed flowchart of the operation of the block 505 in FIG.

ブロック601:動作開始。Block 601: Operation starts.

ブロック602:任意ビット長のメッセージM′327とBの
秘密鍵(pB,qB)317を入力する。
Block 602: The secret key (p B, q B) messages M'327 and B of any bit length to enter 317.

ブロック603:メッセージM′327を圧縮暗号化し、その
結果をMとする。
Block 603: The message M'327 is compressed and encrypted, and the result is set to M.

M=h(M′) ここで、h(M′)の計算は、EKを鍵Kによるブロッ
ク暗号、I1を初期値として、 Do i=1 to u Ii+1=EMi(Ii) CONTINUE M=Iu+1 として得られる。ここに、Mi(i=1,u)はメッセージ
M′327を鍵Kのビット長LK毎に分割して得られるu個
のビット列である。
M = h (M ') where, h (M' calculations) the block cipher E K by the key K, the I 1 as an initial value, Do i = 1 to u I i + 1 = E Mi (I i ) Obtained as CONTINUE M = I u + 1 . Here, M i (i = 1, u) is u bit strings obtained by dividing the message M ′ 327 for each bit length L K of the key K.

ブロック604〜 ブロック606:ここでの処理は次の変更部分を除いて第2
図と同じである。
Block 604 to Block 606: The processing here is the second except for the following changes.
It is the same as the figure.

(1)p→pB,q→qBに変更 (2)ブロック202:次の変換を行う。(1) Change to p → p B and q → q B (2) Block 202: Perform the following conversion.

ここに、BはYのビット長が512ビットとなるように
付け加えた‘0'が連続したビット列(512−LK−8個の
‘0'の連続した列)。
Here, (a continuous sequence of 512-L K -8 amino '0') B is added as the bit length of Y is 512 bits '0' consecutive bit strings.

(3)ブロック209:C→CB′に変更。(3) Block 209: Change from C to C B '.

第5図におけるブロック507の動作の詳細フローチャ
ートを第7図に示す。
FIG. 7 shows a detailed flowchart of the operation of the block 507 in FIG.

ブロック701:動作開始。Block 701: Operation starts.

ブロック702:Bの非正式のディジタル入力CB′328を入
力。
Block 702: Input B's informal digital input C B '328.

ブロック703:メッセージM′301とBの公開鍵nB308を入
力。
Block 703: Input message M'301 and public key nB 308 of B.

ブロック704:M′を圧縮暗号化し、その結果をMaとす
る。
Block 704: Compression-encrypt M ′ and set the result to Ma.

Ma=h(M′) この処理は第6図のブロック603と同じである。 Ma = h (M ') This process is the same as block 603 in FIG.

ブロック705:非正式のディジタル署名の復号化。Block 705: Decrypt the unauthorized digital signature.

ここでの処理は、次の変更部分を除いて第3図と同じ
である。
The processing here is the same as FIG. 3 except for the following changed parts.

(1)n→nBに変更。(1) changes to the n → n B.

(2)303の変更:Zの上位4ビットが‘0001'ならば、Y
をZとする。
(2) Change 303: If the upper 4 bits of Z are '0001', Y
Is Z.

(3)304の変更:Zの上位4ビットが‘0010'ならば、Y
=Z/2とする。
(3) Change of 304: If the upper 4 bits of Z are '0010', Y
= Z / 2.

(4)305の変更:Zの上位4ビットが‘0011'ならば、Y
=Z/3とする。
(4) Change of 305: If the upper 4 bits of Z are '0011', Y
= Z / 3.

(5)306の変更:Zの上位1ビット目あるいは上位2ビ
ット目が‘1'でかつ、Z(1:8)<nB(1:8)−‘000010
00'ならば、Y=−Z ここに、Z(1:8)はZは上位8ビット、nB(1:8)は
nBの上位8ビットを示す(2)〜(5)のいずれの場合
でもないときはブロック707の処理を行う。
(5) Modification of 306: The upper first bit or the upper second bit of Z is “1” and Z (1: 8) <n B (1: 8) − '000010
If 00 ', then Y = -Z, where Z (1: 8) is the upper 8 bits of Z, and n B (1: 8) is
shows the upper 8 bits of the n B (2) when not in any case to (5) performs the processing in block 707.

(6)307の変更:Mb=‘Yの下位LKビット(圧縮暗号用
ブロック暗号の鍵長)’とする。
(6) 307 Change: Mb = '(key length compression encryption block cipher) lower L K bits of Y' to.

ブロック706:Ma=Mbなら、ブロック708へ。Block 706: If Ma = Mb, go to block 708.

ブロック707:中断1。不一致であることをBに通知す
る。
Block 707: Interruption 1. Notify B that there is no match.

ブロック708:終了。Block 708: end.

第5図におけるブロック508の動作の詳細フローチャ
ートを第8図に示す。
FIG. 8 shows a detailed flowchart of the operation of the block 508 in FIG.

ブロック801:動作開始。Block 801: Operation starts.

ブロック802:メッセージM′301とAの秘密鍵(pA,qA
307を入力する。
Block 802: Message M'301 and A's secret key (p A , q A )
Enter 307.

ブロック803:メッセージM′301を圧縮暗号化し、その
結果をMとする。
Block 803: Compression-encrypt the message M'301 and set the result to M.

M←h(M′) ここで、h(M′)の計算の仕方は第6図のブロック
603と同じである。
M ← h (M ′) Here, the method of calculating h (M ′) is shown in the block of FIG.
Same as 603.

ブロック804〜 ブロック806:ここでの処理は、次の変更部分を除いて第
2図と同じである。
Block 804 to Block 806: The processing here is the same as FIG. 2 except for the following changed parts.

(1)p→pA,q→qAに変更。(1) Change from p to p A and q to q A.

(2)ブロック202:次の変換を行う。(2) Block 202: perform the following conversion.

ここで、BはYのビット長が512ビットとなるように
付け加えられた‘0'が連続したビット列(512−LK−8
個の‘0'が連続した列)である。
Here, B is a bit string (512−L K− 8) in which “0” s are added so that the bit length of Y is 512 bits.
'0's are consecutive columns).

(3)ブロック209:C→CAに変更。(3) Block 209: changes to the C → C A.

第5図におけるブロック510の動作の詳細フローチャ
ートを第9図に示す。
FIG. 9 shows a detailed flowchart of the operation of the block 510 in FIG.

ブロック901:動作開始。Block 901: Operation starts.

ブロック902:Aの正式なディジタル署名CA329を入力。Block 902: Enter A's formal digital signature C A 329.

ブロック903:メッセージM′327とAの公開鍵nA318を入
力。
Block 903: Type the public key n A 318 of the message M'327 and A.

ブロック904:M′を圧縮暗号化し、その結果をMaとす
る。
Block 904: M ′ is compressed and encrypted, and the result is set to Ma.

Ma←h(M′) この処理は第6図のブロック603と同じである。 Ma ← h (M ′) This process is the same as block 603 in FIG.

ブロック905:正式のディジタル署名の復号化。Block 905: Decrypt formal digital signature.

ここでの処理は、次の変更部分を除いて、第3図と同
じである。
The processing here is the same as in FIG. 3, except for the following changes.

(1)n→nAに変更。(1) changes to the n → n A.

(2)303の変更:Zの上位6ビットが‘000001'ならば、
Y=Zとする。
(2) Change of 303: If the upper 6 bits of Z are '000001',
Let Y = Z.

(3)304の変更:Zの上位6ビットが‘000010'ならば、
Y=Z/2とする。
(3) Change of 304: If the upper 6 bits of Z are '000010',
Let Y = Z / 2.

(4)305の変更:Zの上位6ビットが‘000011'ならば、
Y=Z/3とする。
(4) Change of 305: If the upper 6 bits of Z are '000011',
Let Y = Z / 3.

(5)306の変更:Zの上位1ビット目または上位2ビッ
ト目が‘1'でかつ、Z(1:8)<nZ(1:8)−‘0000100
0'ならY=−Zとする。ここに、Z(1:8)はZの上位
8ビット、nA(1:8)はnAの上位8ビットである。
(5) Modification of 306: The upper first bit or the upper second bit of Z is “1” and Z (1: 8) <n Z (1: 8) − '0000100
If 0 ', Y = -Z. Here, Z (1: 8) is the upper 8 bits of Z, and n A (1: 8) is the upper 8 bits of n A.

(2)〜(5)のいずれでもない場合はブロック907
へ。
If none of (2) to (5), block 907
What.

(6)307の変更:Mb=‘Yの下位LKビット’とする。(6) 307 changes: the Mb = 'lower L K bits of Y'.

ブロック906:Ma=Mbならブロック708へ。Block 906: If Ma = Mb, go to block 708.

Ma≠Mbならブロック707へ。 If Ma ≠ Mb, go to block 707.

ブロック907:中断し、調停者に調停を依頼する。Block 907: Interrupt and ask the mediator for mediation.

ブロック908:終了。Block 908: End.

第5図におけるブロック511の動作の詳細を第10図に
示す。
FIG. 10 shows details of the operation of the block 511 in FIG.

ブロック1001:動作開始。Block 1001: Operation starts.

ブロック1002:メッセージM′327とBの秘密鍵(pB,
qB)317を入力する。
Block 1002: Message M'327 and the secret key of B (p B ,
q B ) Enter 317.

ブロック1003:メッセージM′327を圧縮暗号化し、その
結果をMaとする。
Block 1003: The message M'327 is compressed and encrypted, and the result is set to Ma.

Ma←h(M′) ここで、h(M′)の計算の仕方は第6図のブロック
603と同じである。
Ma ← h (M ') Here, the method of calculating h (M') is shown in the block of FIG.
Same as 603.

ブロック1004〜 ブロック1006:ここでの処理は、次の変更部分を除いて
第2図と同じである。
Block 1004 to Block 1006: The processing here is the same as FIG. 2 except for the following changed parts.

(1)p→pB,q→qBに変更。(1) p → p B, change in q → q B.

(2)ブロック202:次の変更を行う。(2) Block 202: Make the following changes.

ここで、BはYのビット長が512となるように付け加
えられた‘0'が連続したビット列(512−LK−8個の
‘0'の連続した列)である。
Here, B is the bit string bit length has been added so that the 512 '0' are consecutive in Y (contiguous sequence of -8 units 512-L K '0').

(3)ブロック209:C→CBに変更。(3) Block 209: changes to the C → C B.

ブロック1007:終了 第5図におけるブロック513の動作の詳細フローチャ
ートを第11図に示す。
Block 1007: End FIG. 11 shows a detailed flowchart of the operation of block 513 in FIG.

ブロック1101:動作開始。Block 1101: Operation starts.

ブロック1102:Bの正式なディジタル署名CB330を入力。Block 1102: Enter B's formal digital signature C B 330.

ブロック1103:メッセージM′301とBの公開鍵nB308を
入力。
Block 1103: Input message M'301 and public key n B 308 of B.

ブロック1104:M′を圧縮暗号化し、その結果をMaとす
る。
Block 1104: M ′ is compressed and encrypted, and the result is set to Ma.

Ma←h(M′) この処理は第6図のブロック603と同じである。 Ma ← h (M ′) This process is the same as block 603 in FIG.

ブロック1105:正式のディジタル署名の復号化。Block 1105: Decrypt formal digital signature.

ここでの処理は、次の変更部分を除いて、第3図と同
じである。
The processing here is the same as in FIG. 3, except for the following changes.

(1)n→nBに変更。(1) changes to the n → n B.

(2)303の変更:Zの上位6ビットが‘000001'ならばY
=Zとする。
(2) Change 303: If the upper 6 bits of Z are '000001', Y
= Z.

(3)304の変更:Zの上位6ビットが‘000010'ならばY
=Z/2とする。
(3) Change of 304: Y if upper 6 bits of Z are '000010'
= Z / 2.

(4)305の変更:Zの上位6ビットが‘000011'ならばY
=Z/3とする。
(4) Change of 305: Y if upper 6 bits of Z are '000011'
= Z / 3.

(5)306の変更:Zの上位1ビット目または、上位2ビ
ット目が‘1'で、かつ、Z(1:8)<nA(1:8)−‘0000
1000'ならば、Y=−Zとする。
(5) Modification of 306: The upper first bit or the upper second bit of Z is “1”, and Z (1: 8) <n A (1: 8) − ′ 0000
If it is 1000 ', Y = -Z.

ここに、Z(1:8)はZの上位8ビット、nA(1:8)は
nAの上位8ビットである。
Where Z (1: 8) is the upper 8 bits of Z and n A (1: 8) is
is the upper 8 bits of the n A.

(2)〜(5)のいずれでもない場合はブロック1107
の処理を行う。
If none of (2) to (5), block 1107
Is performed.

(6)307の変更:Mb←′Yの下位LKビットとする。(6) 307 Change of: Mb ← 'to the lower L K bits of the Y.

ブロック1106:Ma=Mbならブロック1108への処理を行
う。
Block 1106: If Ma = Mb, the process to block 1108 is performed.

Ma≠Mbならブロック1107の処理を行う。 If Ma ≠ Mb, the process of block 1107 is performed.

ブロック1107:中断し、調停者に調停を依頼する。Block 1107: Interrupt and request the mediator to mediate.

ブロック1108:終了。Block 1108: End.

また、第9図のブロック907、および第11図のブロッ
ク1107における調停機関331の動作を第12図に示す。
FIG. 12 shows the operation of the arbitration engine 331 in the block 907 in FIG. 9 and the block 1107 in FIG.

すなわち、調停者は 前提1:メッセージM′に対する圧縮暗号Mが調停機関に
提出され、争点となる。
That is, the arbitrator assumes that the compressed cipher M for the message M 'is submitted to the arbitration institution and is an issue.

前提2:提出された非正式または正式のディジタル署名
は、過去において無効化(調停者のファイルに“無効化
された”ということで保管され、いつでも参考可能な状
態にすること)されたことがない。
Assumption 2: The submitted informal or formal digital signature has been revoked in the past (it must be stored in the mediator's file as "revoked" and made available at any time). Absent.

という前提のもとに次の動作を行う。The following operation is performed on the assumption that

(1)AおよびBの言い分を聞く。(1) Listen to A and B.

ここで、AおよびBの言い分とは、第5図のブロック
502〜504の動作において、通信されたメッセージM′
(第4図の327)に対して、AあるいはBは、正式のデ
ィジタル署名をへ交換し合う意思を持ったかどうかとい
うことに関する双方の言い分のことである。
Here, the terms A and B refer to the blocks in FIG.
In operations 502-504, the message M 'communicated
In contrast to (327 in FIG. 4), A or B is a statement on both sides regarding whether or not they have an intention to exchange a formal digital signature.

第12図の縦の欄のケース1〜ケース4。 Cases 1 to 4 in the vertical column of FIG.

(2)AおよびBに、BまたはAから送信されてきた、
Mに関する非正式または正式のディジタル署名を提出す
るように指示する。
(2) sent to A and B from B or A,
Instruct to submit an informal or formal digital signature for M.

第12図の横の欄の4ケース。 Four cases in the column next to Fig. 12.

(3)(1)および(2)の結果、第12図に示すような
動作と判定を行う。
(3) As a result of (1) and (2), the operation and determination as shown in FIG. 12 are performed.

実施例2の変形例1 実施例2では携帯用コンピュータ315を用いたが、携
帯用コンピュータを携帯用でない、パーソナルコンピュ
ータ+ワークステーション、あるいは大型計算機に置き
換えてもよい。
First Modification of Second Embodiment In the second embodiment, the portable computer 315 is used. However, the portable computer may be replaced with a non-portable personal computer + workstation or a large-sized computer.

実施例2の変形例2 実施例2のステップ604〜606で としたが、 に変えてもよい。Modification 2 of Embodiment 2 In Steps 604 to 606 of Embodiment 2, But May be changed to

〔効 果〕(Effect)

本発明により、前記従来の問題点が解決される。すな
わち、 (1)504ビットの入力メッセージMに対し、202〜207
の変換M→Y→Zにより、Zが(mod p)および(mod
q)の平方剰余に必ずなる。これは、従来方式におい
て、Mの変換を平均2.5回必要としたのに比べ、変換回
数が1回に減少するという効果をもたらしている。
According to the present invention, the above-mentioned conventional problems are solved. That is, (1) 202 to 207 for an input message M of 504 bits
By the transformation M → Y → Z, Z becomes (mod p) and (mod
q) is always the quadratic residue. This has the effect of reducing the number of conversions to one, compared to the conventional method requiring an average of 2.5 conversions of M.

(2)512ビットのディジタル署名に対し、301〜302の
変換Zを得た後、303〜307の変換Z→Y→Mにより、も
とのメッセージが変換M→Y→Zに関する新たな付加情
報なしに得られる。これは、ディジタル署名Cから変換
を行う過程の中間値Zの上位8ビット虫に、M→Y→Z
の変換を行うために用いたパラメータの情報が含まれて
いるためである。このことにより、従来はディジタル署
名C以外に、Mの変換に関する情報J*を送る必要があ
ったのに対して、本発明によればディジタル署名Cだけ
を送ればよいという、通信量の削減,管理の手間の削減
が得られるという効果が生じる。
(2) For a 512-bit digital signature, after obtaining a transformation Z of 301-302, the original message is converted into new additional information on the transformation M → Y → Z by the transformation Z → Y → M of 303-307. Obtained without. This means that the upper 8 bits of the intermediate value Z in the process of converting from the digital signature C are M → Y → Z
This is because the information of the parameter used for performing the conversion is included. As a result, while the information J * concerning the conversion of M has been conventionally required to be transmitted in addition to the digital signature C, according to the present invention, only the digital signature C needs to be transmitted. There is an effect that the labor for management can be reduced.

(3)さらに、任意ビット長のメッセージM′に対し、
603の圧縮暗号化を行うことにより、ディジタル署名を
行うことができる。かつ、604〜606に示す変換 と、1004〜1006に示す変換 の異なる二種類の変換を行うことにより、同じメッセー
ジに対し、二つの異なるディジタル署名CB′,CBが生成
される。さらに、 の変換を用いたディジタル署名には非正式のディジタル
署名、しかし相手の正式のディジタル署名を受けた後は
自分の正式のディジタル署名を反送することを約束する
もの、 の変換を用いたディジタル署名には、メッセージM′を
正式に承認したことを示す正式のディジタル署名として
の役割を与えることにより、第4図の実施例において、
第5図に示す‘正式なディジタル署名’の交換のための
手順が実現できる。すなわち、競争関係や対等関係にあ
る二者間A,Bの間で、双方の‘正式のディジタル署名’
を交換しあるような場合、一方、例えばBが相手、例え
ばA、の‘正式のディジタル署名’を受信した後、Bの
‘正式なディジタル著名’を送信しないような不正行為
が防止される。すなわち、AとBの間でディジタル署名
の送受信に関するトラブルが生じた場合、調停機関が介
入して、 (a)再度、‘正式のディジタル署名’の交換が調停機
関の立会いのもとに行なわれる。
(3) Further, for a message M 'having an arbitrary bit length,
By performing the compression encryption of 603, a digital signature can be performed. And the conversion shown in 604 to 606 And the conversion shown in 1004 to 1006 , Two different digital signatures C B ′ and C B are generated for the same message. further, A digital signature using the transformation of the above is an informal digital signature, but one that promises to return the official digital signature after receiving the other party's official digital signature, In the embodiment of FIG. 4, the digital signature using the conversion of (i) is given a role as a formal digital signature indicating that the message M 'has been formally approved.
The procedure for exchanging the 'official digital signature' shown in FIG. 5 can be realized. In other words, there is a 'official digital signature' between the two parties A and B in competitive or equal relations.
Is exchanged, on the other hand, fraudulent acts such as B not receiving B's 'official digital signature' after receiving the 'official digital signature' of the other party, eg A, are prevented. That is, if a trouble relating to the transmission and reception of the digital signature occurs between A and B, the arbitration organization intervenes, and (a) the exchange of the 'official digital signature' is performed again in the presence of the arbitration organization. .

(b)実際に不正をした法が調停機関によって判定され
る。
(B) The law that has actually committed fraud is determined by the arbitration organization.

(c)非正式のディジタル署名だけが無効化される。(C) Only unauthorized digital signatures are revoked.

のいずれかの状態で調停動作が終了する。The arbitration operation ends in one of the states.

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

第1図は、本発明の第1の実施例を示す非対称鍵暗号方
式のブロック構成図、第2図は、第1図における送信側
のコンピュータの動作を示すフローチャート、第3図
は、第1図における受信側のコンピュータの動作を示す
フローチャートである、第4図は、本発明の第2の実施
例を示す非対称鍵暗号方式のブロック構成図、第5図
は、第4図における送信側および受信側コンピュータの
動作を示す概略フローチャート、第6図〜第11図は、第
5図の部分ブロックの詳細フローチャート、第12図は、
第4図における調停機関の対応動作を示す図であ。。
FIG. 1 is a block diagram of an asymmetric key encryption system showing a first embodiment of the present invention, FIG. 2 is a flowchart showing an operation of a transmitting computer in FIG. 1, and FIG. FIG. 4 is a flowchart showing the operation of the computer on the receiving side in FIG. 4. FIG. 4 is a block diagram of an asymmetric key cryptosystem showing a second embodiment of the present invention. FIG. FIGS. 6 to 11 are detailed flowcharts of partial blocks in FIG. 5, and FIGS.
FIG. 5 is a diagram showing a corresponding operation of the arbitration engine in FIG. 4. .

───────────────────────────────────────────────────── フロントページの続き (72)発明者 石井 保弘 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川県工場内 (56)参考文献 特開 昭62−254543(JP,A) 宝木和夫、佐々木良一「電子認証向け ラビン型公開鍵暗号アルゴリズムの改 良」電子情報通信学会論文誌 D−I, Vol.J73−D−I,No.3, (1990)p.350〜357 S.Goldwasser,S.Mi cali,A.Yao,“Strong Signature Scheme s,”ACM Symposium o n Theory of Comput ing,(1983),P.431〜439 ──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Yasuhiro Ishii 1 Horiyamashita, Hadano City, Kanagawa Prefecture Hitachi, Ltd. Kanagawa Prefecture Factory (56) References JP-A-62-254543 (JP, A) Kazuo Takagi, Ryoichi Sasaki, "Improvement of the Rabin-type public key cryptographic algorithm for electronic authentication" Transactions of the Institute of Electronics, Information and Communication Engineers, DI, Vol. J73-DI, No. 3, (1990) p. 350-357 S.R. Goldwasser, S.M. Mi cali, A .; Yao, "Strong Signature Schemes," ACM Symposium of Theory of Computing, (1983), P. 431-439

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】メッセージMを暗号文に変換する第1のプ
ロセッサと、前記暗号文を伝送する通信路と、前記通信
路を経由して伝送された暗号文を復号変換する第2のプ
ロセッサとを備え、 前記第1のプロセッサは、 p=7または15(mod 24)の素数、q=11(mod 24)
の素数とし、 ビット列Lを、 に対してZ=Y,2Y,3Y,−Yの積計算を行なった結果のZ
により、いずれの積計算を行なったかを判定可能なビッ
ト列であるとするとき、 (1)a=Jacob(Y,p),b=Jacob(Y,q)を算出し、 (2)a,bの値に応じて、 (i)a=1,b=1ならば、Z=Yとし、 (ii)a=1,b=−1ならば、Z=2Yとし、 (iii)a=−1,b=1ならば、Z=3Yとし、 (iv)a=−1,b=−1ならば、Z=−Yとし、 を前記メッセージMに対する暗号文とすることを特徴と
する非対称鍵暗号方式。
A first processor for converting a message M into a ciphertext; a communication path for transmitting the ciphertext; and a second processor for decrypting and converting the ciphertext transmitted via the communication path. Wherein the first processor comprises: p = 7 or a prime number of 15 (mod 24), q = 11 (mod 24)
And the bit string L is Is the product of Z = Y, 2Y, 3Y, −Y
As a result, if it is determined that the bit string can determine which product calculation has been performed, (1) a = Jacob (Y, p) and b = Jacob (Y, q) are calculated, and (2) a, b (I) If a = 1, b = 1, Z = Y. (Ii) If a = 1, b = -1, Z = 2Y. (Iii) a = -1 , b = 1, Z = 3Y; (iv) a = −1, b = −1, Z = −Y, Is an encrypted text for the message M.
【請求項2】前記第2のプロセッサは、 (1)伝送された暗号文Cに対してZ=C×C(mod
p×q)を算出し、 (2)Zの値に基づいて判定した前記積計算の逆演算を
Zに対して行なうことにより前記Yを得て、 (3)前記Yからビット列Lを削除することにより前記
メッセージMを得ることを特徴とする請求項1に記載の
非対称鍵暗号方式。
2. The second processor comprises: (1) Z = C × C (mod
p × q), and (2) performing the inverse operation of the product calculation determined based on the value of Z on Z to obtain the Y, and (3) deleting the bit string L from the Y. 2. The asymmetric key cryptosystem according to claim 1, wherein the message M is obtained by the following.
【請求項3】前記ビット列Lは、ビット列‘0000110
0'、‘00000110'、‘00000011'のいずれか一であること
を特徴とする請求項1に記載の非対称鍵暗号方式。
3. The bit string L is a bit string '0000110.
2. The asymmetric key cryptosystem according to claim 1, wherein the key is any one of '0', '00000110', and '00000011'.
JP63168757A 1988-07-08 1988-07-08 Asymmetric key cryptography Expired - Fee Related JP2753269B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63168757A JP2753269B2 (en) 1988-07-08 1988-07-08 Asymmetric key cryptography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63168757A JP2753269B2 (en) 1988-07-08 1988-07-08 Asymmetric key cryptography

Publications (2)

Publication Number Publication Date
JPH0219887A JPH0219887A (en) 1990-01-23
JP2753269B2 true JP2753269B2 (en) 1998-05-18

Family

ID=15873870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63168757A Expired - Fee Related JP2753269B2 (en) 1988-07-08 1988-07-08 Asymmetric key cryptography

Country Status (1)

Country Link
JP (1) JP2753269B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S.Goldwasser,S.Micali,A.Yao,"Strong Signature Schemes,"ACM Symposium on Theory of Computing,(1983),P.431〜439
宝木和夫、佐々木良一「電子認証向けラビン型公開鍵暗号アルゴリズムの改良」電子情報通信学会論文誌 D−I,Vol.J73−D−I,No.3,(1990)p.350〜357

Also Published As

Publication number Publication date
JPH0219887A (en) 1990-01-23

Similar Documents

Publication Publication Date Title
CN112367169B (en) Data encryption and decryption method, device, equipment and storage medium
USRE40530E1 (en) Public key cryptographic apparatus and method
US8873754B2 (en) Proxy-based encryption method, proxy-based decryption method, network equipment, network device and system
US7499551B1 (en) Public key infrastructure utilizing master key encryption
Bosselaers et al. Integrity Primitives for Secure Information Systems: Final Ripe Report of Race Integrity Primitives Evaluation
US8654975B2 (en) Joint encryption of data
JP3917679B2 (en) High bandwidth cryptographic system with low bandwidth cryptographic module
US7894608B2 (en) Secure approach to send data from one system to another
JPH09230786A (en) Encoding method of data and device therefor
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
Kaliski A survey of encryption standards
US20140082361A1 (en) Data encryption
Gligoroski et al. Cryptcoding-Encryption and Error-Correction Coding in a Single Step.
CN113159745B (en) Block chain transaction privacy protection method based on full homomorphism
JP4690819B2 (en) Scalar multiplication calculation method and scalar multiplication calculation apparatus in elliptic curve cryptography
US20020052906A1 (en) Method for efficient modular division over prime integer fields
CN110519045B (en) Anti-quantum computing alliance chain transaction method and system based on group asymmetric key pool
JP2753269B2 (en) Asymmetric key cryptography
CN112507357B (en) Multi-stage interface design method based on key generator
JPH10340048A (en) Hash value generating method, data ciphering method, data deciphering method, hash value generating device data ciphering device, and data deciphering device
GB2264423A (en) Devices for implementing public key cryptography and digital signatures
JP2942395B2 (en) Network system for secret communication
JPH1155244A (en) Method for restoring key and device therefor
JP4676071B2 (en) Power-residue calculation method, reciprocal calculation method and apparatus
Ezekiel et al. Optimized Rivest, Shamir and Adleman (RSA) for Network Inter-Layer Communication

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees