KR950002164B1 - Electronic signature and authentication method - Google Patents

Electronic signature and authentication method Download PDF

Info

Publication number
KR950002164B1
KR950002164B1 KR1019920013265A KR920013265A KR950002164B1 KR 950002164 B1 KR950002164 B1 KR 950002164B1 KR 1019920013265 A KR1019920013265 A KR 1019920013265A KR 920013265 A KR920013265 A KR 920013265A KR 950002164 B1 KR950002164 B1 KR 950002164B1
Authority
KR
South Korea
Prior art keywords
mod
value
prover
document
signer
Prior art date
Application number
KR1019920013265A
Other languages
Korean (ko)
Other versions
KR940002699A (en
Inventor
문상재
Original Assignee
문상재
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 문상재 filed Critical 문상재
Priority to KR1019920013265A priority Critical patent/KR950002164B1/en
Publication of KR940002699A publication Critical patent/KR940002699A/en
Application granted granted Critical
Publication of KR950002164B1 publication Critical patent/KR950002164B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The communication authentication method improves reliability. The method can certificates the document by using the electric signature. This method also decrease computing cost by using the modified Schnorr method and distributes computing cost between the sender and the receiver. Public coefficient of electric signature processing is hash function, GF(p), M in which signature inserted, and public key of signer.

Description

전자서명 및 인증방법Digital signature and authentication method

제 1 도는 종래의 Schnorr방법의 증명자(서명자)가 전자문서에 서명을 하고, 확인자(타인 혹은 본인)가 서명을 확인하는 전자서명방법에서의 과정을 나타낸 도면이다.FIG. 1 is a diagram illustrating a process in an electronic signature method in which an authenticator (signer) of the conventional Schnorr method signs an electronic document and a verifier (another person or his / her) verifies the signature.

제 2a도 내지 제2b도는 본 발명에 의한 전자서명방법의 과정을 나타낸 도면들이다.2a to 2b are views showing the process of the electronic signature method according to the present invention.

제 3 도는 본 발명에 의한 신분인증방법의 과정도이다.3 is a process diagram of an identification method according to the present invention.

제 4 도는 본 발명에서의 송수신자간에 상호신분 및 문서수발을 인증하는 문서송수신인증방법의 과정도이다.4 is a process diagram of a document transmission and reception authentication method for authenticating mutual identity and document receipt between a transmitter and a receiver in the present invention.

본 발명은 데이타 교환시스템에서의 통신자 및 통신의 내용을 인증하게 되는 통신 인증 방법에 관한 것으로, 특히 암호화 및 복호화시에 사용하는 키이(key)가 다른 공개키이 암호화법을 사용하는 전자서명과 신분인증 및 문서송수신 인증 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication authentication method for authenticating a communication person and the contents of a communication in a data exchange system. In particular, an electronic signature and identity using a public key encryption method having different keys for encryption and decryption are used. Authentication and document transmission and reception authentication method.

근래에 들어서, 컴퓨터가 대량으로 보급되고, 그에 따라 전산화가 이루어지는 현단계에서 전자문서나 컴퓨터통신 분야에 신뢰도가 높고 효율적인 전자서명 및 인증 시스템이 요구되고 있다. 통신인증이란 정당한 통신자인가를 확인하거나 통신내용의 송수신을 인증하는 것으로 이는 교환되는 정보 데이타에 암호화 기법을 활용함으로써 달성된다. 통신인증시 사용되는 암호법으로는 일반적으로 암호화(encrypt) 및 복호화(decrypt)시 사용하는 키가 동일한 관용암호법(conventional cryptography)과, 암호화(encrypt) 및 복호화(decrypt)시 사용하는 키가 다른 공개키이암호법(public key cryptography) 등이 있다. 관용암호법(conventional cryptography)은 암호화 및 복호화시 동일한 키이를 사용하므로 교환하는 데이타가 크고 고속의 동작을 필요로 하는 시스템에서 매우 유효하나 키이관리의 어려움으로 보호체계의 신뢰도가 떨어지는 단점이 있다. 즉, 관용암호법(conventional cryptography)은 동일한 보호체계를 사용하는 가입자의 수가 nn이라고 할 때 암호화 및 복호화시 사용되는 키이가 각 가입자 선로마다 다르게 설정되어야 하므로 필요로 하는 키이의 수가 nnC2즉, nn(nn-1)/2가 되어 가입자의 수가 증가함에 따라 기하급수적으로 증가하게 되어 키이 관리에 어려움이 있게 된다.In recent years, in the present stage of computerization in large quantities and computerization, reliable and efficient digital signature and authentication systems are required in the field of electronic documents and computer communication. Communication authentication is to verify the validity of a valid operator or to authenticate the transmission and reception of communication contents, which is achieved by using an encryption method for exchanged information data. As a cryptographic method used for communication authentication, conventional cryptography with the same key used for encryption and decryption is different from conventional cryptography with the same key used for encryption and decryption. Public key cryptography. Conventional cryptography uses the same key for encryption and decryption, so it is very effective for systems that require large data exchanges and high-speed operation. However, the reliability of the protection system is low due to the difficulty of key management. In other words, in conventional cryptography, when the number of subscribers using the same protection scheme is nn, the number of keys required for encryption and decryption must be set differently for each subscriber line, so the number of required keys is nnC 2, that is, nn As (nn-1) / 2, the number of subscribers increases exponentially, making key management difficult.

공개키이암호법(public key cryptography)은 상기 관용암호법(conventional cryptography)에 비하여 처리속도는 느리지만 키이관리를 효과적으로 수행할 수 있는 장점을 가진다. 공개키이암호법(public key cryptography)에 관련된 알고리즘으로는 RSA 알고리즘과 Diffie-Hellman 알고리즘이 있으며, 특히 Diffie-Hellman 알고리즘을 활용한 전자서명 및 인증방법에는 ELGamal 방법과 Schnorr방법 등이 있는데, 이중에서 Schnorr방법이 기능이나 처리속도에서 보다 효율적인 것으로 보인다. 그리고 이를 구현하는데는 유한체의 정규기저를 사용한 시스템이 처리속도가 빠르게 된다.Public key cryptography is slower in processing speed than conventional cryptography, but has an advantage in that key management can be effectively performed. Algorithms related to public key cryptography include the RSA algorithm and the Diffie-Hellman algorithm. In particular, the digital signature and authentication method using the Diffie-Hellman algorithm includes the ELGamal method and the Schnorr method. The method seems to be more efficient in terms of function or throughput. In order to implement this, a system using a finite field regular basis becomes faster.

기본적인 Schnorr 방법을 설명하면 다음과 같다.The basic Schnorr method is as follows.

먼저 암호시스템을 설정하는 단계에서 키이인증센타(KAC ; Key Authentication Center 이하 KAC라 한다)는 소수(prime)인 p와, p-1의 인수이며 동시에 소수(prime)인 q와, 군(Group) Zp*에서 위수(order) q인 e 즉, eq=1(mod p) ≠1인 e 및 가입자들의 비밀키이 및 공개키이들을 선택하여 암호시스템을 구성한다. KAC는 p, q, e 및 가입자들의 공개키이를 시스템내에서 공개한다.First, in setting up the encryption system, the key authentication center (KAC) is called prime, which is the prime p, the prime factor q and the group q. An encryption system is configured by selecting e having an order q in Z p *, that is, e q = 1 (mod p) ≠ 1 and subscriber's private and public keys. KAC publishes p, q, e and subscriber's public keys in the system.

새로운 가입자가 상기 암호시스템에 가입하려는 경우, 신규가입자는 x∈[1,……,q]인 조건을 만족하는 임의의 x를 가입자의 비밀키이로 선택하고 Y=ex(mod p)인 공개키이 Y를 계산하여 KAC에 제출하면 KAC는 인증열(Identification String)인 I와, I와 Y의 쌍(I, Y)에 서명를 생성한다. 여기서 KAC가 인증열(Identification String) I와 공개키이 Y에 서명하는 방법은 여러가지가 있을 수 있다.If a new subscriber wants to join the cryptosystem, the new subscriber is x∈ [1,... … , q] selects a random x that satisfies the condition of the subscriber as the private key, calculates Y as the public key with Y = e x (mod p), and submits it to the KAC. Sign I and Y pairs (I, Y) Create Here, KAC can sign the Authentication String I and the public key Y in various ways.

이와 같은 암호시스템에서 증명자와 확인자사이에 이루어지는 인증방식의 기본적인 알고리즘을 살펴보면 먼저 증명자는 n∈[1,……,q]인 랜덤변수 n을 선택하고 R=en(mod p)를 계산한다. 이는 데이타 교환시에 계산할 수도 있고, 미리 각 랜덤변수에 대응하는 모든 R값을 계산하여 증명자만이 알 수 있는 테이블로 저장하였다가 데이타교환시에 사용할 수 있다. 따라서, 데이타 교환시의 과정은 다음과 같다.Looking at the basic algorithm of the authentication method between the authenticator and the verifier in such a cryptographic system, the first prover is n∈ [1,…]. … , q] selects random variable n and computes R = e n (mod p). This can be calculated when exchanging data, and all R values corresponding to each random variable can be calculated in advance and stored in a table known only to the prover and used during data exchange. Therefore, the process of data exchange is as follows.

첫째로, 증명자는 확인자에게 자신의 인증열(Identification String)과 자신의 공개키이 Y와 서명와 상기 R값을 확인자에게 전송한다. 여기서 R값은 다음에 설명하는 셋째단계에서 전송할 수도 있고, R이 아닌 R을 단순변형시킨 데이타를 전송할 수도 있다.First, the prover signs the verifier with his identity string and his public key Y. And the R value to the identifier. In this case, the R value may be transmitted in the third step described below, or data obtained by simply transforming R instead of R may be transmitted.

둘째로, 확인자는 수신된 공개키이 Y와 인증열(Identification String)인 I에 대한 KAC의 서명의 유효성을 체크한 후 f∈[1,……,2t- 1]인 조건을 만족하는 랜덤변수 f를 선택하여 증명자에게로 전송한다.Second, the verifier signs the KAC for I, the received public key Y and the Identification String. After checking the validity of f∈ [1,… … , 2 t- 1 ] selects a random variable f that satisfies the condition and sends it to the prover.

셋째로, 증명자는 확인자에게 S=n+xf(mod q)를 계산하여 전송한다.Third, the prover calculates and sends S = n + xf (mod q) to the verifier.

넷째로, 확인자는 수신된 R 및 S를 사용하여 R=es(Y- 1)f(mod p)인가를 체크함으로써 인증을 마감하게 된다.Fourthly, the verifier closes the authentication by checking whether R = e s (Y - 1 ) f (mod p) using the received R and S.

제 1 도는 종래의 Schnorr 방법의 전자서명방법을 나타내고 있는 것으로 상기에서 설명한 기본적인 Schnorr방법을 약간 변경하여 전자서명에 적용한 것이다. 전자서명이란 증명자(서명자)가 확인자에게 전송될 전자문서(M)에 서명을 하고, 확인자가 서명을 확인하게 되는 것이다. 이 때 공개되는 계수로는 유한체 GF(p), p-1의 인수인 소수 q, 위수가 q인 원소 e, t비트인 해쉬함수 h( ), 서명할 문서 M 및 사용자의 공개키 Y이다. 여기서 사용자의 공개키 Y는 사용자만이 알고 있는 사용자의 비밀키이인 x와 일정한 관계 즉, Y=exmod p 인 관계를 갖는다.FIG. 1 shows the digital signature method of the conventional Schnorr method. The basic Schnorr method described above is slightly modified and applied to the electronic signature. Digital signature means that the authenticator (signer) signs the electronic document (M) to be sent to the verifier, and the verifier verifies the signature. The coefficients revealed at this time are the finite field GF (p), the prime number q as the argument of p-1, the element e with the rank q, the hash function h () with t bits, the document M to be signed and the user's public key Y. . Here, the user's public key Y has a certain relationship with x, which is the secret key of the user, which only the user knows, that is, Y = e x mod p.

제 1 도에서의 절차는 다음과 같은 과정으로 수행된다.The procedure in FIG. 1 is performed by the following procedure.

1. 증명자(서명자)는 랜덤변수 n을 선택한다. 이 경우에 랜덤변수 n은 공개되지 않는 변수로써, 상기 유한체 GF(p)에서 p-1의 인수인 q를 참조하여 o〈n≤q의 조건을 만족하도록 선택한다.1. The prover (signer) selects random variable n. In this case, random variable n is a variable that is not disclosed, and is selected to satisfy the condition of o <n ≦ q with reference to q, which is an argument of p-1, in the finite field GF (p).

2. 증명자(서명자)는 R=en(mod p)에 따라 R값을 계산한다. 여기서 n는 증명자(서명자)만이 알고 있는 비밀키이며, e값은 데이타 교환시스템에서 공유되는 위수가 q인 원소가 된다. 또한, 상기 R값은 미리 계산해둘 수 있는 것으로 상기 기본적인 Schnorr방법에서 설명한 바와 같이 미리 계산한 값을 테이블화 할 수 있다.2. The prover (signer) calculates the R value according to R = e n (mod p). Where n is a private key known only to the signer, and e is an element of order q shared by the data exchange system. In addition, the R value can be calculated in advance, and can be tabled in advance as described in the basic Schnorr method.

3. 증명자(서명자)는 상기 R값과 서명하고자 하는 문서 M과 상기 해쉬함수 h를 이용하여 식 H=h(M, R)에 따라 H값을 계산한다. 해쉬함수는 그 결과가 t비트가 되며 입력으로 인가되는 인수들의 특성을 포함하게 되는 함수를 말하는 것으로 여러가지 형태가 제안되고 있다.3. The prover (signer) calculates the H value according to the formula H = h (M, R) using the R value, the document M to be signed, and the hash function h. The hash function is a function whose result is t bits and includes the characteristics of the arguments that are applied as inputs. Various forms have been proposed.

4. 증명자(서명자)는 상기 H값을 이용하여 식 S=n+xㆍH(mod q)에 따라 S값을 산출한다.4. The prover (signer) calculates the S value according to the formula S = n + x · H (mod q) using the H value.

5. 증명자(서명자)는 (S, H)를 문서 M에 첨가시킴으로 서명하게 된다.5. The prover (signer) signs by adding (S, H) to document M.

6. 확인자는 R'=e5ㆍ(Y-1)mod p를 계산한다.6. The verifier calculates R '= e 5 ㆍ (Y -1 ) mod p.

7. 확인자는 H'=h(M, R')를 계산하여 H=H'를 확인한다.7. The verifier checks H = H 'by calculating H' = h (M, R ').

상기 방법의 이론적 근거는 아래와 같다. 증명자(서명자)가 정당한 증명자(서명자)이면 확인자(타인 혹은 본인)는 R'=esㆍ(Y-1)(mod p)=e(n+xH)ㆍ(e-xH)(mod p)=R이 되고 H'=h(M, R)=H가 되어 확인할 수 있게 된다. 여기서 n과 x를 모르는 제 3 자가 H값만을 알고서 수식을 만족하는 S를 구하는 것은 불가능하다고 보는것이다. 즉, Schnorr방법에서의 신뢰성은 n과 x를 제 3 자가 용이하게 알 수 있느냐에 달린 것으로 공개되는 계수가 en혹은 ex로 되어 이산대수문제로 귀착시키고 있다.The theoretical basis of the method is as follows. If the prover (signer) is a legitimate prover (signer), the verifier (other or myself) is R '= e s ㆍ (Y -1 ) (mod p) = e (n + xH) ㆍ (e -xH ) (mod p) = R and H '= h (M, R) = H can be confirmed. In this case, it is impossible for a third party who does not know n and x to find an S that satisfies the expression by knowing only the H value. In other words, the reliability of the Schnorr method depends on whether n and x can be easily understood by a third party, which results in a discrete algebra problem due to e n or e x .

이산대수문제란 한쪽방향의 계산은 용이하나 그 역의 계산은 매우 복잡하여 계산할 수 있는 확률이 거의 0으로 수렴하는 것 중에 하나로써 이 특성에 의하여 암호법의 신뢰도가 결정되는 것이다. 이를 좀 더 상세히 설명하면 GF(q)내에서 이산대수(Discrete logarithm)인 a=logyb 1〈b〈q-1을 풀기 위해서는 O(exp)의 연산이 필요하게 된다. 여기서 c는 상수를 나타낸다. 이는 막대한 계산량을 필요로 하는 연산이 되어 상기 암호시스템에 신뢰도를 부여하게 된다.The discrete algebra problem is easy to calculate in one direction, but the inverse calculation is very complicated, and the probability of calculating converges to almost zero, and the reliability of cryptography is determined by this property. In more detail, to solve the discrete logarithm a = log y b 1 <b <q-1 in GF (q), O (exp ) Operation is required. Where c represents a constant. This is an operation that requires a huge amount of computation, which gives the cryptographic system reliability.

또한, 상기 과정에서 증명자(서명자)의 R는 미리 계산해 둘 수 있어, 계산시간의 대부분을 차지하는 멱승 계산없이 증명자(서명자)는 한번의 승산과 가산으로 서명을 생성할 수 있다. 그러나, 확인자는 반대로 두번의 멱승이 필요해 전체 계산부하의 90% 이상이 확인자에게 편중되어 있음을 알 수 있다. 이는 smart card 시스템에 적합할 수 있으나 쌍방여건이 동등한 경우에는 확인시간이 대부분을 점하는 단점이 있게 된다. 즉, PC/AT급 이상의 컴퓨터를 쌍방이 사용하는 경우가 대부분인 컴퓨터 네트워크에서 이를 사용하는 경우를 살펴보면 확인자측이 지나치게 부하가 많이 걸리게 된다. 또한 Schnorr방법에서는 q와 t의 선택에서 Schnorr가 제시한 값인 t=72와 q는 140비트정도의 정수로는 신뢰성에 문제가 있음이 발표되었다. 즉, 신뢰도를 증가시키기 위해서는 t의 값 및 q의 값을 증가하여야만 하는 점이 있다.In addition, the R of the prover (signer) can be calculated in advance, so that the prover (signer) can generate the signature by one multiplication and addition without calculation of powers that take up most of the calculation time. However, the verifier needs two powers on the contrary, indicating that more than 90% of the total computational load is biased toward the verifier. This may be suitable for a smart card system, but when both conditions are equal, there is a disadvantage in that the checking time takes most of the time. In other words, the case of using the PC / AT class or more in a computer network, which is mostly used by both parties, is too much load on the verifier. In addition, in the Schnorr method, t = 72 and q, which are presented by Schnorr in selecting q and t, are integers of about 140 bits. That is, in order to increase the reliability, the value of t and the value of q must be increased.

따라서, 본 발명의 제 1 목적은 신뢰성을 증진할 수 있는 통신인증방법을 제공하는 것에 있다.Accordingly, it is a first object of the present invention to provide a communication authentication method capable of improving reliability.

본 발명의 제 2 목적은 상기 통신인증방법의 개념을 응용하여 특정문서(M)에 서명을 하고 이를 확인자가 정당한 서명자에 의하여 서명이 이루어졌는가를 확인할 수 있으며, 동시에 전체적인 계산부하도 감소하고 서명자 및 확인자의 계산부하가 적절히 분배될 수 있는 전자서명방법을 제공하는 것에 있다.The second object of the present invention is to apply the concept of the communication authentication method to sign a specific document (M) and confirm that the signature is signed by a valid signer, and at the same time reduce the overall calculation load and the signer and The purpose of the present invention is to provide an electronic signature method in which the calculation load of the identifier can be properly distributed.

본 발명의 제 3 목적은 신뢰도가 높고 계산부하가 분배될 수 있는 다른 전자서명방법을 제공하는 것에 있다.It is a third object of the present invention to provide another electronic signature method which has high reliability and is capable of distributing a calculation load.

본 발명의 제 4 목적은 상기 통신인증방법의 개념을 응용하여 통신하고 있는 상대자가 정당한 통신자인지를 확인자가 체크할 수 있도록 하며 동시에 전체적인 계산부하도 감소하고 증명자 및 흑인자의 계산부하가 적절히 분배될 수 있는 신분인증방법을 제공하는 것에 있다.The fourth object of the present invention is to apply the concept of the communication authentication method so that the verifier can check whether the correspondent is communicating with the legitimate communicator, and at the same time reduce the overall computation load and distribute the computation load of the prover and the black person appropriately. It is about providing an identification method that can be used.

본 발명의 제 5 목적은 상기 통신인증방법의 개념을 응용하여 통신상대자가 정당한 통신자인지를 확인하여 임의의 문서를 전달한 후 문서전송이 정당한 상대자에게로 정당하게 이루어졌음을 인증할 수 있으며 동시에 전체적인 계산부하도 감소하고 증명자 및 확인자의 계산부하가 적절히 분배될 수 있는 문서 송수신인증방법을 제공하는 것에 있다.The fifth object of the present invention is to apply the concept of the communication authentication method to confirm that the communication partner is a legitimate communicator and to transmit any document and to authenticate that the document transmission is made to the legitimate counterpart, and at the same time the overall It is to provide a document transmission and reception authentication method that can reduce the computational load and distribute the computational load of the prover and the verifier appropriately.

상기한 목적들을 달성하기 위하여 본 발명은 증명자가 암호화를 수행함에 있어 종래방식과는 달리 증명자의 비밀변수라는 개념을 도입한다. 즉, 랜덤변수를 사용하여 얻어낸 변수는 역시 랜덤하게 된다는 공리를 이용한 것으로 증명자의 비밀키이를 x라 할 때 z=eX1+1ㆍ(mod p)인 형태의 비밀변수 Z를 사용하여 암호화를 수행하고 복호화시에 이에 대응되는 복호연산을 수행한다. 또한 종래의 방식에서 확인자가 확인을 하기 위하여 연산을 함에 있어 멱승을 수행하게 되는데 그 멱승은 승산을 반복적으로 수행하는 것이 된다. 따라서 멱승을 수행하기 위한 승산중 일부분을 증명자가 하고 나머지만을 확인자가 하도록 하는 과정을 도입하고 있다. 예를 들어 설명하면 확인자의 연산이 다음과 같은 형태라고 가정하여 설명한다. evmod p에서 V가 27=24+23+21+20인 경우, 증명자는 0≤W〈V인 조건을 만족하며 계산부하를 분배할 수 있는 변수 W를 선택한다. 만일 3=21+20을 선택하게 되면 정규기저를 사용한 evmod p계산에서 승산수는 V를 2진수로 나타낸 경우에 Hamming weight이므로 증명자가 50%의 연산을 하고 확인자가 50%의 연산을 하게된다. 단, 증명자가 선택한 변수 W에 대한 정보를 확인자가 알 수 있도록 그에 관련된 데이타를 전송한다.In order to achieve the above objects, the present invention introduces the concept of the secret variable of the prover, unlike the conventional method, in performing the encryptor. In other words, the variable obtained using the random variable is also random. The encryption is performed using the secret variable Z in the form z = eX 1 + 1 ㆍ (mod p) when x is the prover's secret key. The decoding operation corresponding to the decoding is performed. In addition, in the conventional scheme, the verifier performs a multiplication in performing an operation to confirm the multiplication, which is to repeatedly perform a multiplication. Therefore, it introduces the process that the prover does part of the odds to perform the power, and only the remainder confirms. For example, it is assumed that the operation of the verifier is in the following form. If V is 27 = 2 4 +2 3 +2 1 +2 0 in e v mod p, the verifier satisfies the condition 0≤W <V and selects a variable W that can distribute the computational load. If 3 = 2 1 +2 0 is chosen, the multiplier in the calculation of e v mod p using the normal basis is Hamming weight when V is represented as binary, so the proofer performs 50% operation and the verifier 50% operation. Will be However, the data is sent so that the verifier knows the information about the variable W selected by the prover.

이어서, 본 발명 관하여 좀 더 상세히 설명하기로 한다.Next, the present invention will be described in more detail.

먼저, 통신인증방법에 대하여 설명하기로 한다.First, a communication authentication method will be described.

먼저, 암호시스템을 설정하는 단계에서 키이인증센터(KAC ; Key Authentication Center 이하 KAC라 한다) 는 암호화 및 복호화의 연산이 이루어지는 유한체 GF(p)와 원시원 e와 가입자들의 비밀키이(x) 및 공개키이(Y)들을 선택한다. 여기서 Y=EXmod p인 관계를 갖는다. 또한, 가입자의 비밀키이로부터 유도되는 비밀변수인 Z를 얻는 관계식인 Z=eX1+1ㆍmod p에서 사용할 자연수 i값을 선택하여 암호시스템을 구성한다. KAC는 유한체 GF(p)와 원시원 e 및 가입자들의 공개키이들(Y)과 가입자들의 비밀변수인 Z를 얻는 관계식의 자연수 i값을 시스템내에서 공개한다.First, in setting up the encryption system, the Key Authentication Center (KAC) is defined as a finite field GF (p), a primitive source e and subscribers' private keys (x) and encryption and decryption operations. Select public keys (Y). Where Y = E X mod p. In addition, a cryptographic system is constructed by selecting a natural value i to be used in the relation Z = eX 1 + 1 mod p, which obtains a secret variable Z derived from the subscriber's private key. KAC discloses in the system the natural number i of the relational expression that obtains the finite field GF (p), the primitive source e and the subscriber's public keys (Y) and the subscriber's secret variable Z.

새로운 가입자가 상기 암호시스템에 가입하려는 경우, KAC는 신규가입자를 위하여 임의의 x를 가입자의 비밀키이로 선택하고 Y=eX(mod p)인 공개키이 Y를 계산한 후 인증열(Identification String)인 I와 Y의 쌍(I, Y)에 서명를 한다. 여기서 KAC가 인증열(Identification String)과 공개키이 Y에 서명하는 방법은 여러가지가 있을 수 있다. 다시 말하면, 상기 서명은 일반적인 통신 프로토콜에서 신뢰가 보장되는 통신로를 개설하는 과정에 해당한다고 볼 수 있다. 또한 상기 증명자의 공개키이 Y는 전송되지 않을 수도 있다. 단, 증명자의 공개키이 Y가 전송되지 않는 경우에 확인자는 증명자의 공개키이를 알기 위하여 상기 암호시스템에 가입자들에 대한 공개키이에 대한 정보가 수록되어 있는 테이블이 있거나 또는 이를 이용할 수 있어야 한다.When a new subscriber wants to join the cryptosystem, the KAC selects random x as the subscriber's private key for the new subscriber, calculates Y after the public key with Y = e X (mod p), and an Authentication String. Sign pair I and Y (I, Y) Do Here, KAC can sign the identification string and public key in various ways. In other words, the signature Can be regarded as the process of establishing a reliable communication channel in a general communication protocol. Also, the prover's public key Y may not be transmitted. However, if the public key of the prover is not transmitted Y, the verifier must have a table or information available for the public key for the subscribers in the cryptographic system in order to know the public key of the prover.

이와 같은 암호시스템에서 증명자와 확인자간의 통신인증을 살펴보면 먼저 증명자는 n∈[1,……p-1]인 랜덤변수 n을 선택하고 Z=eX1+1ㆍmod p 및 R=Zn(mod p)를 계산한다. 여기서, R은 데이타 교환시에 계산할 수도 있고, 미리, 각 랜덤변수 n에 대응하는 모든 R값을 계산하여 증명자만이 알 수 있는 테이블로 저장하였다가 데이타교환시에 사용할 수 있다. 따라서, 데이타 교환시의 인증과정은 다음과 같다.Looking at the communication authentication between the authenticator and the verifier in such a cryptographic system, the authenticator is n∈ [1,… … p-1], then select random variable n and calculate Z = eX 1 + 1 mod p and R = Z n (mod p). Here, R can be calculated at the time of data exchange, or in advance, all R values corresponding to each random variable n can be calculated and stored in a table known only to the prover, and can be used at the time of data exchange. Therefore, the authentication process in data exchange is as follows.

첫째로, 증명자는 확인자에게 자신의 인증열(Identification String) I와 자신의 공개키이 Y와(I, Y)에 대한 서명와 상기 R값을 확인자에게 전송한다. 만약, 이와같은 변수값들을 증명자가 전송하지 않는 경우에는 확인자가 공개된 자료로부터 얻을 수 있도록 한다. 또한, R값은 다음에 설명하는 셋째단계에서 전송할 수도 있다.First, the prover gives the verifier a signature for his Identity String I and his public key Y and (I, Y). And the R value to the identifier. If these variables are not sent by the prover, the verifier can obtain them from the published data. The R value can also be transmitted in the third step described below.

둘째로, 확인자는 얻어진 공개키이 Y와 인증열(Identification String)인 I에 대한 서명의 유효성을 체크한 후, 필요에 따라서, f∈[1,……2t-1]인 조건을 만족하는 랜덤변수 f를 선택하여 증명자에게로 전송한다.Secondly, the verifier signs the I with the obtained public key Y and the Identity String. After checking the validity of f f [1,... … 2 t-1 ], select a random variable f that satisfies the condition and send it to the prover.

여기서, 상기 첫째과정과 둘째과정은 통상의 통신시스템에서 통신접속 프로토콜에 대응되는 과정으로써 다른 통신 프로토콜로 대치하는 것이 가능하다. 따라서, 실질적으로 인증을 위한 과정은 다음 셋째 과정부터라고 볼 수 있다.Here, the first process and the second process is a process corresponding to the communication connection protocol in the normal communication system, it is possible to replace with another communication protocol. Therefore, the process for authenticating can be regarded as starting from the third process.

셋째로, 증명자는 상기 f값과 상기 R값 및 상기 x값을 이용하여 유한체 GF(p)내에서 그 역연산이 이산대수적이되며 시스템간에 상호 약속이 되어 있는 연산들을 수행하거나 해쉬함수를 수행하여 확인자에게 연산 및 해쉬함수의 결과로 얻어지는 변수들을 전송한다. 단, f값이 증명자로부터 전송되지 않는 경우에는 f에 관련된 연산은 없게 된다.Third, the prover uses the f value, the R value, and the x value to perform operations in which the inverse is discrete algebraic and mutually promised between the systems or performs a hash function in the finite field GF (p). Sends the resulting variables to the resolver as a result of the operation and hash function. However, if f is not transmitted from the prover, there is no operation related to f.

넷째로, 확인자는 수신된 변수들을 사용하여 상기 셋째단계에서 사용한 연산 및 해쉬함수에 대응하는 연산 및 해쉬함수를 수행하여 그 결과를 비교함으로써 통신인증을 마감하게 된다.Fourthly, the verifier closes the communication authentication by performing the operation and the hash function corresponding to the operation and the hash function used in the third step using the received variables and comparing the results.

이하 설명되는 전자서명 방법과 신분인증방법 및 문서송수신 인증방법에서도 암호시스템을 설정하는 단계 및 신규가입자가 가입되는 과정은 상기 통신인증방법과 동일하다. 다만, 데이타 교환시 실질적으로 전송되는 데이타의 형태와 확인하는 방법이 달라질 뿐이다. 따라서, 전자서명 방법과 신분인증방법 및 문서송수신 인증방법의 설명에서는 데이타 교환시의 과정에서 역점을 두어 설명하기로 한다.In the digital signature method, the identity authentication method, and the document transmission / reception authentication method described below, the step of setting the encryption system and the process of joining a new subscriber are the same as the communication authentication method. However, the type of data and the method of verifying the data actually transmitted during data exchange are only different. Therefore, the description of the digital signature method, the identity authentication method, and the document transmission / reception authentication method will focus on the process of data exchange.

이어서, 첨부한 도면중 제 2 도를 참조하여 본 발명인 전자서명방법에 관하여 상세히 설명하기로 한다.Next, the digital signature method of the present invention will be described in detail with reference to FIG. 2 of the accompanying drawings.

제2a도는 본 발명에서의 증명자(서명자)가 전자문서에 서명을 하고, 확인자(타인 혹은 본인)가 서명을 확인하는 과정을 나타낸 도면이다. 여기서, 공개되는 계수로는 유한체 GF(p), 해쉬함수 h( ), 서명할 문서 M와 증명자의 공개키이 Y이다. 여기서, 증명자의 공개키인 Y는 상기 통신인증방법에서 설명한 바와 같이 증명자의 비밀키이인 x와 일정한 관계를 갖는 것으로 다음식으로 결정된다.FIG. 2a is a diagram illustrating a process in which an authenticator (signer) signs an electronic document, and a verifier (other or himself) verifies the signature. Here, the coefficients to be disclosed are the finite field GF (p), the hash function h (), the document M to be signed, and the public key of the prover. Here, Y, the public key of the prover, has a certain relationship with x, which is the secret key of the prover, as described in the communication authentication method.

Y=eXmod pY = e X mod p

그리고, 증명자(서명자)는 Schnorr방법에서와는 달리 상기 증명자의 비밀키이인 x외에 x와 일정한 관계를 갖는 변수인 Z값을 증명자(서명자)만이 알게되는 비밀변수로써 사용한다. 여기서 자연수 i에 대하여 Z=eX1+1ㆍmod p 값도록 한다.Unlike the Schnorr method, the prover (signer) uses a Z value, which is a variable having a certain relation with x, in addition to the prover's secret key, x, as a secret variable known only to the prover (signer). Here, let Z = eX 1 + 1 mod p for the natural number i.

제2a도의 절차는 다음과 같다.The procedure of Figure 2a is as follows.

1. 증명자(서명자)는 랜덤변수 n을 0〈n〈p-1의 조건을 만족하도록 선택한다. 여기서 n은 공개하지 않는다.1. The prover (signer) selects random variable n to satisfy the condition of 0 <n <p-1. Where n is not public.

2. 증명자(서명자)는 R=Znmod p를 계산한다.2. The prover calculates R = Z n mod p.

3. 증명자(서명자)는 R과 문서 M 및 해쉬함수 h를 사용하여 H=h(M, R)에 따라 H값을 구한다.3. The prover (signer) uses R, document M, and the hash function h to find the H value according to H = h (M, R).

4. 증명자(서명자)는 0≤G〈p-1이며 eGmod p의 승산수가 eHmod p의 승산수와 같거나 보다 작게 되는 조건에 맞는 G를 선택한 후 V=x(x1ㆍn+G)mod p-1에 따라 V값을 계산한다.4. The prover (signer) is 0≤G <p-1 and selects G that meets the condition that the multiplier of e G mod p is less than or equal to the multiplier of e H mod p, and then V = x (x 1 ㆍ Calculate the V value according to n + G) mod p-1.

5. 증명자(서명자)는 0≤W〈V인 조건에 맞으며 동시에 eVmod p의 승산수를 분배할 수 있는 W를 선택한 후 이를 이용하여 CㆍeWmod p에 따라 C값을 계산한다.5. The prover (signer) selects W that can satisfy the multiplication factor of e V mod p at 0≤W <V and calculates C value according to C · e W mod p using it. .

6. 증명자(서명자)는 S=V-W를 계산한다.6. The prover (signer) calculates S = V-W.

7. 증명자(서명자)는 (S, C, H, G)를 문서 M에 첨가시킴으로써 서명을 하게 된다.7. The prover (signer) signs by adding (S, C, H, G) to document M.

8. 확인자(타인 혹은 본인)는 R'=eS(Y-1)GC에 따라 R'값을 계산한다.8. The verifier (or someone else) calculates the value of R 'according to R' = e S (Y -1 ) G C.

9. 확인자(타인 혹은 본인)는 해쉬함수 h를 이용하여 H'=h(M, R')에 따라 H'값을 계산한 후 이를 수신된 H값과 비교함으로써 서명을 확인하게 된다. 이 경우 상기 H=H'인 경우에 정당한 증명자라고 판정한다.9. The verifier (the other person or me) uses the hash function h to calculate the H 'value according to H' = h (M, R ') and compares it with the received H value to verify the signature. In this case, it is determined that the valid prover is the case when H = H '.

여기서도 증명자(서명자)는 R=Znmod p를 미리 계산해 둘 수 있음을 알 수 있다. 그리고, 상기 W의 값을 O으로 선택한 경우에는 증명자(서명자)는 명승계산없이 문서에 첨부할 서명을 생성할 수 있다. 또한, W≠0인 경우에도 Schnorr방법과 전체 계산부하가 동일하게 되면서도 다음과 같은 장점들을 갖게 된다.Again, we can see that the prover (signer) can calculate R = Z n mod p in advance. If the value of W is selected as O, the authenticator (signer) can generate a signature to attach to the document without calculating the square. In addition, even when W ≠ 0, the Schnorr method has the same advantages as the overall calculation load.

첫째로, R을 생성할 때 Schnorr방법은 계산을 간단하게 하기 위하여 140비트의 크기보다 작은 n을 선형 조합하도록 제안했지만, 그렇게 하는 경우 신뢰성에 문제가 제기되므로 임의의 크기를 갖는 랜덤변수를 선택하도록 하여야 한다. 그러나, 본 발명에서는 140비트보다 더 작은 크기의 n을 선택하더라도 en이 아닌 Z에 멱승을 하게 되어 Rㆍe(X1+1ㆍn) mod p이 된다. 이를 Schnorr방법과 비교하면 n대신에 x1+1ㆍn가 된것으로 x가 랜덤한 비밀키이이므로 x1+1ㆍn도 랜덤한 변수가 되는 것으로 계산이 보다 간단해지면서, 신뢰성은 더 향상됨을 알 수 있다. 여기서 en대신에 exn=Yn으로 한 경우는 Y=ex가 공개되어 신뢰성이 개선되지 않음에 주의하여야 한다. 또한 Schnorr방법과는 달리 사용자의 비밀변수가 되는 Z를 사용하므로 이를 저장하는 메모리가 필요하게 된다. 그러나, Z의 크기는 log2p비트 정도의 작은 데이타양이므로 저장에 문제가 되지 않는다. 특히, i=1인 경우를 보면 R=e(X2ㆍn) mod p가 되고 V=x(xㆍn+G) mod p-1이 되어 이진 구조를 갖는 연산기에서 연산을 수행하기에 가장 간단한 구조가 된다.First, when generating R, the Schnorr method proposed to linearly combine n smaller than 140 bits in order to simplify the calculation. However, since it poses a reliability problem, the Schnorr method suggests selecting a random variable with an arbitrary size. shall. However, in the present invention, even if n having a size smaller than 140 bits is selected, the power is raised to Z instead of e n to become R · e (X 1 + 1 · n) mod p. Compared with Schnorr's method, x 1 + 1 ㆍ n instead of n. Since x is a random secret key, x 1 + 1 ㆍ n is also a random variable, making the calculation simpler and more reliable. Able to know. In this case, if e xn = Y n instead of e n , it should be noted that Y = e x is disclosed and reliability is not improved. Unlike the Schnorr method, Z is used as a user's secret variable, so a memory is needed to store it. However, Z is not a problem for storage because the size of Z is a small amount of data of log 2 p bits. In particular, when i = 1, R = e (X 2 · n) mod p and V = x (x · n + G) mod p-1. It becomes a simple structure.

둘째로, 본 발명에서는 V를 그대로 보내지 않고, 확인측에서 V를 사용하여 계산하는 과정의 일부를 증명자(서명자)가 이를 미리 계산하여 주는 과정을 도입함으로써 확인계산의 부하가 줄어 확인시간이 단축되는 효과가 있다. 여기서 W의 2진값에서 Hamming weight를 어떻게 구성시키느냐에 따라서 부하를 조정하게 된다. 이 방법에서도, S가 수식을 만족하도록 W를 선택하므로 신뢰성에 문제가 발생되지 않으며, 전체의 계산부하에도 변동이 없게 된다. 단지, 승산을 한 번 더 해야하나, 멱승으로 인한 계산부하에 비하여 이는 무시될 수 있다.Second, the present invention introduces a process in which the prover (signer) pre-calculates a part of the calculation process using V on the verification side without sending V as it is, thereby reducing the load of the verification calculation and reducing the verification time. It is effective. Here, the load is adjusted according to how Hamming weight is constructed from the binary value of W. Also in this method, since S selects W to satisfy the expression, there is no problem in reliability, and there is no variation in the overall calculation load. Only one more multiplication is needed, but this can be ignored compared to the calculation load due to power.

셋째로, 본 발명에서는 H 대신에 2진값에서 Hamming weight가 낮은 다른 G를 사용함으로 계산부하를 경감시키는 방법을 사용하였다. 그 대신 G에 대한 정보를 확인자에게 알려주기 위하여 서명에 이를 부가하게 된다. 상기한 것들을 모두 적용하면 Schnorr방법에 비하여 신뢰성이 향상되며 전체의 계산부하도 상당히 경감시킬 수 있으며, 또한, 증명자(서명자)와 확인자(타인 혹은 본인)사이에 계산부하를 분배 조정할 수 있다.Third, the present invention uses a method of reducing the computational load by using another G having a low Hamming weight in binary instead of H. Instead, we add it to the signature to inform the verifier about the information about G. Applying all of the above can improve the reliability compared to the Schnorr method, significantly reduce the overall computational load, and also distribute the computational load between the prover (signer) and the verifier (other or own).

상기, 제2a도의 방법의 이론적근거도 Schnorr방법과 동일하게 이산대수문제로 귀착된다. 증명자(서명자)가 정당한 증명자(서명자)라면 확인자(타인 혹은 본인)는 R'ㆍesㆍ(Y+1)Gmod p=eX(X1ㆍn+G)=e(X1+1ㆍn) mod p=R가 되고 H'=h(M, R)=H가 되어 확인을 할 수 있다. n과 x를 모르는 제 3 자는 G만을 알 수 있는 것으로 이를 가지고 다음 수식을 만족하는 S=x(x1ㆍn+G)를 구할 수 없다. 즉, 이 문제는 X1+1ㆍn 혹은 x를 알아야 하는데, 공개된 것이 e(Xi+1ㆍn) 혹은 ex이므로 이산대수문제로 귀착되어 신뢰성이 보장되게 된다. 여기서도i=1인 경우를 보면 R=e(X2ㆍn) mod p가 되고 V=x(xㆍn+G) mod p-1이 되어 이진 구조를 갖는 연산기에서 연산을 수행하기에 가장 간단한 구조가 된다.The theoretical basis of the method of FIG. 2a also results in a discrete algebra problem in the same way as the Schnorr method. If the certifier (signer) is a valid certifier (signer), then the verifier (other or myself) is R '· e s ㆍ (Y +1 ) G mod p = eX (X 1 ㆍ n + G) = e (X 1+ 1 ㆍ n) Mod p = R and H '= h (M, R) = H can be checked. A third party who does not know n and x can only know G, and cannot obtain S = x (x 1 ㆍ n + G) that satisfies the following equation. That is, this problem needs to know X 1 + 1 ㆍ n or x, but since it is e (X i + 1 ㆍ n) or e x, it is a discrete algebra problem and reliability is guaranteed. Here, if i = 1, R = e (X 2 n) mod p and V = x (x n + G) mod p-1, which is the simplest to perform the operation on an operator with a binary structure. It becomes a structure.

제2b도는 전자서명의 또 다른 방법을 나타낸 도면으로써 전자문서를 먼저 해쉬함수(hash function)로 출력시킨 결과 H에 대해 서명하도록 하고 있다. 여기서, 공개되는 계수로는 유한체 GF(p), 해쉬함수 h( ), 서명할 문서 M과 증명자(서명자)의 공개키이인 Y이다. 상기와 마찬가지로 상기 증명자(서명자)의 공개키 Y는 증명자(서명자)의 비밀키이인 x와 다음과 같은 관계를 갖는다.FIG. 2b shows another method of digital signature. The electronic document is first outputted as a hash function to sign H. As a result, FIG. Here, the coefficients to be disclosed are the finite field GF (p), the hash function h (), the document M to be signed and the public key of the authenticator (signer) Y. As above, the public key Y of the prover (signer) has the following relationship with x, which is the secret key of the prover (signer).

Y=exmod pY = e x mod p

제2b도에 도시된 전자서명방법의 절차를 설명하면 다음과 같다. 여기서는 암호시스템 설정시 가입자의 비밀변수인 Z를 생성하는 관계식을 필요로 하지 않으며 그 외에는, 상기 통신인증방법에서와 마찬가지로 구성된다.Referring to the procedure of the digital signature method shown in Figure 2b is as follows. In this case, the relational system for generating the secret variable Z of the subscriber is not required in setting up the encryption system.

1. 증명자(서명자)는 랜덤변수 n을0〈n〈p-1의 조건을 만족하도록 선택하며 공개하지 않는다.1. The prover (signer) selects random variable n to satisfy the condition of 0 <n <p-1 and does not disclose it.

2. 증명자(서명자)는 R=enmod p를 계산한다.2. The prover calculates R = e n mod p.

3. 증명자(서명자)는 해쉬함수 h을 이용하여 H=h(M)에 따라 H값을 구한다.3. The prover (signer) uses the hash function h to find the H value according to H = h (M).

4. 증명자(서명자)는 V=nㆍN+xㆍH mod p-1에 따라 V값을 계산한다.4. The prover (signer) calculates the V value according to V = n · N + x · H mod p-1.

5. 증명자(서명자)는 0≤W〈V인 조건에 맞으며 동시에 evmod p의 승산수를 분배할 수 있는 W를 선택한 후 이를 이용하여 Cㆍewmod p에 따라 C값을 계산한다.5. The prover (signer) meets the condition of 0≤W <V and selects W which can distribute the multipliers of e v mod p and calculates C value according to C · e w mod p using it. .

6. 증명자(서명자)는 S=V-W를 계산한다.6. The prover (signer) calculates S = V-W.

7. 증명자(서명자)는 (S, N, C)를 문서 M에 첨가시킴으로서 서명을 하게 된다.7. The prover (signer) signs by adding (S, N, C) to document M.

8. 확인자(타인 혹은 본인)는 H'=h(M)을 구한다.8. The verifier (or someone else) finds H '= h (M).

9. 확인자(타인 혹은 본인)는 esC mod p=YH'ㆍNNmod p인가를 확인한다. 이 식이 성립하는 경우 증명자(서명자)는 정당한 증명자(서명자)로 판정되고 그렇지 않을 경우 증명자(서명자)는 부당한 증명자(서명자)로 판명된다.9. The verifier (other or myself) verifies that e s C mod p = Y H ' ㆍ N N mod p. If this expression is true, the prover (signer) is determined to be a valid prover (signer), otherwise the prover (signer) is found to be an invalid prover (signer).

여기서도 증명자(서명자)는 R=enmod p를 미리 계산해 둘 수 있음을 알 수 있다. 그리고 W=0으로 선택하면 증명자(서명자)는 멱승없이 서명을 생성할 수 있다. 또한 W≠0인 경우에도 Schnorr방법에서와는 달리 증명자(서명자)가 확인자 (타인 혹은 본인)의 계산부하 중 일부를 대신해주는 역할을 한다.Again, we can see that the prover (signer) can calculate R = e n mod p in advance. And if you select W = 0, the prover (signer) can generate a signature without any squares. Also, in case of W ≠ 0, unlike the Schnorr method, the prover (signer) replaces part of the calculation load of the confirmer (other or own).

제2b도에 나타낸 전자서명방법의 이론적근거도 또한 이산대수문제로 귀착된다. 증명자(서명자)가 맞다면 확인자(타인 혹은 본인)는 esC mod p=exH'ㆍenNmod p=YH'ㆍNNmod p가 되어 확인을 할 수 있다. 여기서 물론 전자문서의 내용이 변형되었다면, H'=H가 만족되지 않고, 따라서 상기 수식이 만족되지 않게 된다. 그리고 n과 x를 모르는 제 3 자가 증명자로 위장하려는 경우 제 3 자는 H만을 알 수 있게 되므로 이를 가지고 다음 수식을 만족하는 S값을 구할 수 없다. 즉, S=nㆍN+xㆍH mod p-1를 구할 수 없게 된다. 이 문제는 x를 알아야 하는데 공개된 것이 Y=exmod p이므로 이산대수문제로 귀착되어 신뢰성이 보장되는 것이다.The theoretical basis of the digital signature method shown in FIG. 2b also results in a discrete algebra problem. If the prover (signer) is correct, the verifier (other or myself) can be verified as e s C mod p = e xH ' ㆍ e nN mod p = Y H' ㆍ N N mod p. Here, of course, if the contents of the electronic document are modified, H '= H is not satisfied, and thus the above formula is not satisfied. If a third party who does not know n and x tries to disguise itself as a prover, the third party can only know H, and thus cannot obtain an S value that satisfies the following equation. In other words, S = n · N + x · H mod p-1 cannot be obtained. This problem requires knowing x, but since the published one is Y = e x mod p, it comes down to a discrete algebra problem, ensuring reliability.

제2b도에 나타낸 전자서명방법은 ElGamal 서명방법의 변형으로 신뢰도는 동일하면서, 다음 두가지 장점을 지니게 된다.The digital signature method shown in FIG. 2b is a variation of the ElGamal signature method, which has the same reliability but has the following two advantages.

첫째는, ElGamal 방법(본 명세서에는 설명되지 않고 있음, 참고 문헌으로는 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-31, NO. 4, JULY 1985에 발표된 A Public Key Crptosystem and a Signature Scheme Based on Discrete Logarithms이 있다)에서는 역수계산이 있는데 여기서는 없다. 그에 의하여 계산시간을 단축할 수 있다.First, the ElGamal method (not described herein; for reference, see A TRANSACTIONS ON INFORMATION THEORY, VOL. IT-31, NO. 4, JULY 1985, A Public Key Crptosystem and a Signature Scheme Based on Discrete). Logarithms) has an inverse calculation, but not here. Thereby, the calculation time can be shortened.

둘째로, 확인자의 계산부하를 증명자(서명자)가 일부 대신해주는 방법을 도입하였다. 이러한 경감 방법은 YH나 NN등에도 적용할 수 있다. 이와 같이 계산부하를 분배함으로써 확인자(타인 혹은 본인)의 계산시간을 감소시키는 효과를 얻을 수 있다.Second, we introduced a method in which the prover (signer) replaces the computational load of the verifier. This reduction method can also be applied to Y H , N N and the like. By distributing the calculation load in this way, it is possible to obtain the effect of reducing the calculation time of the confirmer (other or the person).

이어서, 제 3 도를 이용하여 신분인증 방법에 대하여 설명하기로 한다.Next, the identification authentication method will be described with reference to FIG.

신분 인증이란 통신 상대자에게 자기의신분을 확인시키는 것을 의미한다. 제 3 도는 본 발명인 증명자(송신자)가 확인자(수신자)에게 증명자(송신자)의 신분을 인증시키는 과정을 의미한다. 여기서 공개되는 계소로는 유한체 GF(p)와 증명자(송신자)의 공개키이인 Y이다. 전자서명방법과 마찬가지로 증명자의 공개키인 Y는 증명자(송신자)의 비밀키이인 X와 다음과 같은 관계식을 갖는다.Identity verification means verifying your identity to a correspondent. 3 shows a process in which the inventor (sender) authenticates the identity of the prover (sender) to the verifier (receiver). The open source here is Y, the public key of the finite field GF (p) and the authenticator (sender). Like the digital signature method, Y, the public key of the prover, has the following relationship with X, the secret key of the prover (sender).

Y=exmod pY = e x mod p

제 3 도에 도시된 신분인증방법을 설명하면 다음과 같다.Referring to the identification method shown in Figure 3 as follows.

1. 증명자(송신자)는 랜덤변수 n을 0〈n〈p-1의 조건을 만족하도록 선택하며 공개하지 않는다.1. The prover (sender) chooses random variable n to satisfy the condition of 0 <n <p-1 and does not disclose it.

2. 증명자(송신자)는 R=Znmod p를 계산한다. 여기서 Z는 상기 제2a도에 나타낸 전자서명방법에서와 마찬가지로 Z=eX1+1mod p인 값을 의미한다.2. The prover calculates R = Z n mod p. Z is a value of Z = eX 1 + 1 mod p as in the digital signature method shown in FIG. 2a.

3. 증명자(송신자)는 R을 확인자(수신자)에게 송신하고, 확인자로부터 T를 받는다.3. The prover (sender) sends R to the confirmer (receiver) and receives T from the confirmer.

4. 증명자(송신자)는 증명자의 비밀키이인 x와 상기 랜덤변수 n과 확인자(수신자)로부터 수신한 T값을 이용하여 식 V=x(x1ㆍn+T)mod p-1에 따라 V값을 계산한다.4. The prover (sender) uses x as the secret key of the prover, the random variable n, and the T value received from the verifier (receiver) according to the formula V = x (x 1 ㆍ n + T) mod p-1. Calculate the V value.

5. 증명자(송신자)는 0≤W〈V인 조건에 맞으며 동시에 eVmod p의 승산수를 분배할 수 있는 W를 선택한 후 이를 이용하여 CㆍeWmod p에 따라 C값을 계산한다.5. The prover (transmitter) selects W that can meet the condition of 0≤W <V and can distribute the multipliers of e V mod p and calculates C value according to C · e W mod p using it. .

6. 증명자(송신자)는 S=V-W를 계산한다.6. The prover (sender) calculates S = V-W.

7. 증명자(송신자)는 (S, C)를 확인자(수신자)에게 보낸다.7. The prover (sender) sends (S, C) to the verifier (receiver).

8. 확인자(수신자)는 R'=eS(Y-1)TC mod p를 계산한다.8. The identifier (receiver) calculates R '= e S (Y -1 ) T C mod p.

9. 확인자는 R'=R인지를 확인한다. 이 식이 성립하는 경우, 증명자(송신자)는 정당한증명자(송신자)로 판정되고 그렇지 않을 경우, 증명자(송신자)는 부당한 증명자(송신자)로 판명된다.9. The verifier verifies that R '= R. If this expression holds, the prover (sender) is determined to be a valid proof (sender), otherwise the prover (sender) is found to be an unjust proof (sender).

여기서도, 증명자의 R은 미리 계산해 둘 수 있다. 그리고 W=0으로 선택하면 증명자(송신자)는 승산만으로 신분인증을 생성할 수 있다. W≠0인 경우에도 Schnorr방법의 신분인증방법보다 전체 계산부하를 감소할 수 있다. 또한 Schnorr방법에 비하여 보관하는 데이타 비트수와 전송하는 데이타 비트수가 더 많지만 실제로 저장이나 전송시 문제가 되지 않으며, 반면에, 신뢰도가 높고 쌍방간의 계산부하의 분배를 조정할 수 있고, 전체적인 계산부하도 감소시킬 수 있다.Again, the R of the prover can be calculated in advance. If W = 0 is selected, the prover (sender) can generate an identity certificate only by multiplication. Even when W ≠ 0, the total computational load can be reduced compared to the Schnorr's identity authentication method. In addition, although the number of data bits to be stored and the number of data bits to be transmitted are larger than those of the Schnorr method, they are not a problem when actually storing or transmitting. On the other hand, they are highly reliable and can adjust the distribution of calculation loads between the two parties, and reduce the overall calculation load. You can.

다음은 제 4 도를 이용하여 문서송수신인증방법에 대하여 설명하기로 한다.Next, the document transmission and reception authentication method will be described with reference to FIG.

문서송수신인증이란 통신자간의 신분인증과 문서의 송수신확인이 함께 증명되는 것을 의미한다. 제 4 도를 참조하여 문서송수신인증 과정을 설명하면 다음과 같다. 공개되는 계수로는 유한체 GF(p)와 송신자의 공개키인 Y와 수신자의 공개키인 B이다. 여기서 송신자의 공개키인 Y는 송신자의 비밀키이인 x와 Y=exmod p인 관계를 가지며 수신자의 공개키인 B는 수신자의 비밀키이인 B=ebmod p인 관계를 갖는다. 문서송수신인증의 절차는 다음과 같다.Document transmission and reception authentication means that both the identity authentication between the carrier and the transmission and reception confirmation of the document are proved together. Referring to Figure 4 describes the document transmission and reception authentication process as follows. The coefficients to be disclosed are finite field GF (p), the sender's public key Y and the receiver's public key B. Here, the sender's public key Y has a relationship with the sender's private key x and Y = e x mod p, and the receiver's public key B has a relationship with the receiver's private key B = e b mod p. The procedure for document transmission and reception is as follows.

1. 송신자는 랜덤변수 n을 0〈n〈p-1의 조건을 만족하도록 선택하며 공개하지 않는다.1. The sender selects random variable n to satisfy the condition of 0 &lt; n &lt;

2. 송신자는 전송키로 사용하기 위하여 식 R=Bnmod p를 계산한다. 그리고 H=h(M)를 구한다.2. The sender computes the equation R = B n mod p to use as the transport key. And H = h (M).

3. 송신자는 H'=ER(H)를 구한다. 여기서 ER( )은 복호가 가능한 부호화함수를 의미하며, 아래첨자로 쓰인 R은 부호화시 사용하는 부호화키이가 R임을 의미한다.3. The sender finds H '= E R (H). Here, E R () means a decoding function that can be decoded, and R used as a subscript means that an encoding key used for encoding is R.

4. 송신자는 상기 랜덤변수 n 및 송신자의 비밀키이인 x를 이용하여 V=n+x mod (p-1)에 따라 V값을 구한다.4. The sender obtains the V value according to V = n + x mod (p-1) using the random variable n and x, which is the secret key of the sender.

5. 송신자는 0≤W〈V인 적절한 W를 구하고 C=eWmod p를 계산한다.5. The sender finds the appropriate W with 0≤W <V and calculates C = e W mod p.

6. 송신자는 U=V-W를 계산한다.6. The sender calculates U = V-W.

7. 송신자는 (H', U, C)를 문서와 함께 전송한다.7. The sender sends (H ', U, C) with the document.

8. 수신자는 R'=(eUCㆍY-1)dmod p를 계산한다. 여기서, Y는 송신자의공개키이다.8. The receiver computes R '= (e U C · Y -1 ) d mod p. Where Y is the sender's public key.

9. 수신자는 G=h(M)와 G'=DRㆍ(H')를 구하여 G=G'를 확인한다.9. The receiver checks G = G 'by obtaining G = h (M) and G' = D R ㆍ (H ').

여기서, DR'=( )은 상기 부호화함수 ER=( )에 대응되는 복호화 함수를 의미하는 것으로 아래첨자인 R'는 복호화시 사용되는 키이를 말한다.Here, D R '= () denotes a decoding function corresponding to the coding function E R = (), and the subscript R' denotes a key used for decryption.

10. 수신자는 상기 조건이 만족되면 전자서명방법에 의하여 G를 설명하여 송신자에게 전송한다.10. If the above conditions are met, the receiver explains G to the sender by the digital signature method.

11. 송신자는 H=G를 확인한다.11. The sender checks H = G.

본 발명의 이론적 근거도 신분인증에서와 동일하게 이산대수문제로 귀착된다. 송신자가 맞다면 확인자는 R'=(eUCㆍY-1)dmod p=(ex+nㆍe-x)dmod p=en dmod o=R을 얻고, 따라서 G'=DR'(H)=G이 되고, G=h(M)를 조사하여 문서의 무결정을 확인한다. 무결성이 확인되면 G를 본 발명의 서명방법으로 서명하여 전송한다. 원 송신자는 G=H를 조사하여 원 문서가 무결하게 전송됨을 확인하고 G에 대한 서명을 보관해둠으로써 수신을 증명할 수 있다.The theoretical basis of the present invention also results in discrete algebra problems as in identity verification. If the sender is correct, the identifier obtains R '= (e U C · Y -1 ) d mod p = (e x + n ㆍ e -x ) d mod p = e n d mod o = R, thus G' = D R ' (H) = G and G = h (M) to confirm the amorphousness of the document. If the integrity is verified, G is signed and transmitted by the signature method of the present invention. The original sender can verify receipt by checking G = H to confirm that the original document was sent flawlessly and to keep a signature for G.

또한, 상기 문서송수신 인증방법에서 수신자가 상기 G에 서명하여 송신자로 전송하는 과정에서 사용하는 전자서명방법에는 상기 제2a도 및 제2b도에서 제시한 전자서명방법을 적용할 수 있다. 이 경우에 상기 수신자는 서명자가 되고 상기 송신자는 확인자가 된다.In addition, the digital signature method shown in FIGS. 2a and 2b may be applied to the digital signature method used in the process of transmitting the document to the sender by signing the G in the document transmission and reception authentication method. In this case, the receiver becomes a signer and the sender becomes an identifier.

상기에서 설명한 전자서명방법과 신분인증방법 및 문서송수신인증방법에서의 연상는 mod p-1의 가산 및 승산, 그리고 유한체 GF(p)에서의 멱승이다. 이 경우 효율적인 승산과 멱승을 위해 p=2m을 사용하여 다음과 같이 수행한다.The associations in the digital signature method, the identity authentication method, and the document transmission / reception authentication method described above are the addition and multiplication of mod p-1 and the power of the finite field GF (p). In this case, for efficient multiplication and power multiplication, we use p = 2 m as follows.

먼저, 0≤A, B〈p-1인 조건을 만족하는 두 정수 A와 B의 승산과정을 설명하면, A를 2진벡터로 표현했을 때 이 벡터의 2진계수를 a1로 두고 같은 방법으로 B에 대하여 b1라고 둔다. 그러면 2kㆍA은 단지 2진 벡터를 k번 만큼 이동시키면 되므로, mod (2m-1)에서는,이므로 AㆍB는 B의 2진 벡터의 1의 계수만큼 곱하면 되는데, mod (2m-1)이므로 케리가 발생하면, 다시 가산시키면 된다.First, the multiplication process of two integers A and B that satisfies the condition of 0≤A, B <p-1 is described. When A is expressed as a binary vector, the binary coefficient of this vector is a 1 and the same method is used. Let b 1 for B. Then 2 k ㆍ A only needs to move the binary vector k times, so in mod (2 m -1), Therefore, A and B can be multiplied by the coefficient of 1 of the binary vector of B. Since mod (2 m -1), if Kerry occurs, it can be added again.

멱승은 승산을 멱승지수만큼 되풀이 해야하므로 효율적인 방법을 고안해야 한다. Massy ④ 및 Vanstone ⑤는 유한체 GF(2m)에서 정규기저를 사용하면 고속으로 멱승할 수 있음을 보였다. 특히, 정규기저 가운데서 승산함수(승산행렬)의 구조에서 EX-OR에 해당하는 1의 수가 제일 작은 승산행렬을 사용하는 것이 가장 효과적이다. 유한체 GF(2m)를 만드는 생성다항식의 근이 정규기저가 되는 조건을 만족하고, 또한 정규기저를 사용한 승산함수(승산행렬)의 구조에서 EX-OR에 해당되는 "1"의 수가 제일 적은 조건이 만족되는 m값을 갖는 것을 특징으로 하는 승산행렬을 사용하도록 한다. 이에 관련된 참고논문으로는 Discrete Applied Mathematics 22(1988/1989) pp. 149-161에 발표된 R. Mullin, I. Onyszchuk, S. Vanstone and R. Wilson의 "Optiaml Normal Bases in Gf(pm)"이 있다. 이들 소수중에서 m=89인 경우의 승산행렬을 표1-1 내지 표1-4에 나타내었다.Since multiplication must be repeated by the power of exponent, we must devise an efficient method. Massy ④ and Vanstone ⑤ showed that the normal basis of the finite field GF (2 m ) can be used to increase and decrease at high speed. In particular, it is most effective to use a multiplication matrix with the smallest number of 1s corresponding to EX-OR in the structure of the multiplication function (multiplication matrix) among the normal basis. The roots of the generated polynomial that make the finite field GF (2 m ) satisfy the condition of being a normal basis, and the smallest number of "1s" corresponding to EX-OR in the structure of the multiplication function (multiplication matrix) using the normal basis. A multiplication matrix characterized by having m values satisfying a condition is used. Reference papers related to this are described in Discrete Applied Mathematics 22 (1988/1989) pp. "Optiaml Normal Bases in Gf (p m )" by R. Mullin, I. Onyszchuk, S. Vanstone and R. Wilson, published in 149-161. Of these prime numbers, the multiplication matrix in the case of m = 89 is shown in Table 1-1 to Table 1-4.

[표 1-1]Table 1-1

[표 1-2]TABLE 1-2

[표 1-3]Table 1-3

[표 1-4]Table 1-4

상술한 바와 같이 본 발명은 Schnorr방법을 변형시켜, 전체적인 계산부하가 감소하게 되며, 신뢰성도 더 높힐 수 있게 된다. 또한 확인시간을 단축시킬 수 있도록 계산부하가 서명자와 확인자에게 적당히 분배되므로 확인시간을 줄일 수 있는 효과가 있는 것으로 전자서명과 신분인증 및 전자문서의 발수신까지도 인증하게 할 수 있다.As described above, the present invention is modified by the Schnorr method, thereby reducing the overall calculation load and increasing the reliability. In addition, the computational load is appropriately distributed to the signer and the verifier so that the verification time can be shortened. Therefore, the verification time can be reduced, and the digital signature, identity authentication, and even the receipt and receipt of the electronic document can be authenticated.

Claims (18)

유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 부호화된 데이타열을 이용하여 통신자 및 그 내용을 인증하는 방법에 있어서, 증명자는 자신의 비밀키 x와 자연수 i에 대하여 Z=eXi+1ㆍ(mod p)인 관계를 갖는 증명자의 비밀변수 z와 n∈[1,…p-2]인 조건을 만족하는 랜덤변수 n을 선택하여 R=Zx(mod p)를 산출하는 과정과 ; 증명자는 상기 R값과 상기 증명자의 비밀키 x등을 유한체 GF(p)내에서 그 역연산이 이산대수적이되는 연산을 수행하거나 또는 상기 값들로 해쉬함수를 수행하여 그 결과값들을 확인자에게 전송하는 과정과 ; 확인자는 상기 증명자로부터 전송된 결과값들을 이용하여 상기 증명자가 유한체 GF(p)내에서 수행한 연산 및 해쉬함수에 대응되는 연산 또는 해쉬함수를 수행함으로써 전송된 결과값들을 인증하는 과정을 구비하는 것을 특징으로 하는 통신인증 방법.In the cryptographic system constructed using the finite field GF (p) and the public key Y of the subscribers having the relation between the source source e and the subscriber's secret key x and Y = e x mod p, In the method of authenticating the contents, the prover has the secret variables z and n∈ [1,... Of the prover having a relationship of Z = eX i + 1 · (mod p) with respect to his private key x and the natural number i. selecting R = Z x (mod p) by selecting a random variable n that satisfies the condition p-2]; The prover performs an operation in which the inverse operation is discrete algebra in the finite field GF (p) or the hash value of the prover's secret key x, etc., and transmits the result values to the verifier. The process of doing; The verifier uses the result values transmitted from the prover to authenticate the result values transmitted by the prover performing an operation or hash function corresponding to the operation and hash function performed in the finite field GF (p). Communication authentication method characterized in that. 제 1 항에 있어서, 상기 증명자의 비밀변수 Z=eXi+1ㆍ(mod p)에서 i값은 1인 것을 특징으로 하는 통신인증방법.The communication authentication method according to claim 1, wherein the i value in the secret variable Z = eX i + 1 · (mod p) of the prover is 1. 제 1 항에 있어서, 상기 증명자와 확인자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 통신인증방법.The multiplication matrix of claim 1, wherein the operations performed by the authenticator and the verifier upon encryption and decryption are performed by using a multiplication matrix such that the number of "1s" in the multiplication matrix composed of the regular basis of the finite field GF (2 m ) is reduced. Communication authentication method characterized in that. 유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 부호화된 데이타를 이용하여 데이타 교환 시스템에서 특정문서 M에 전자서명을 부가하여 전송하고 수신측에서 이를 확인하는 방법에 있어서, 서명자는 자신의 비밀키 x와 자연수 i에 대하여 Z=eXi+1ㆍ(mod p)인 관계를 갖는 서명자의 비밀변수 z와 n∈[1,…p-2]인 조건을 만족하는 랜덤변수 n을 선택하고 상기 시스템에서 공개되어 있는 해쉬함수 h 및 문서 M을 이용하여 R=Zxmod p 및 H=h(M, R)식에 따라 R 및 H값을 계산하는 과정과 ; 상기 유한체의 원시원을 e라고 할때 서명자는 상기 H값 및 e값을 이용하여 eGmod p의 승산수가 eHmod p의 승산수보다 작게 되는 G를 선택하여 V=x(xjㆍn+G) mod p-1에 따라 V값을 계산하는 과정과 ; 서명자는 상기 V값을 이용하여 0≤W〈V인 조건을 만족하는 W를 선택한 후 C=ewmod p 및 S=V-W에 따라 C값 및 S값을 계산하는 과정과 ; 서명자는 상기 S, C, H, G값을 상기 문서 M에 부가하여 문서와 함께 전송하는 과정과 ; 확인자는 상기 문서 M과 함께 상기 S, C, H, G를 수신하고 사용자의 공개키인 Y값 및 상기 해쉬함수 h를 이용하여 R'=es(Y-1)GC mod p 및 H'=h(M, R')에 따라 H'값을 산출하여 수신된 H값과 동일여부를 검토함으로써 서명을 확인하는 과정을 구비하는 것을 특징으로 하는 전자서명 방법.In a data exchange system using data encoded in a cryptographic system consisting of the finite field GF (p) and the public key Y of the subscribers having the relation between the source source e and the subscriber's secret key x and Y = e x mod p In the method of transmitting a digital signature to a specific document M and confirming it at the receiving end, the signer is a signer whose relationship is Z = eX i + 1 · (mod p) with respect to his secret key x and the natural number i. Secret variables z and n∈ [1,… p-2] and select random variable n that satisfies the condition and use the hash function h and document M published in the system according to the formula R = Z x mod p and H = h (M, R) Calculating the H value; When the source of the finite field is e, the signer selects G using the H value and the e value so that the multiplier of e G mod p is smaller than the multiplier of e H mod p, and V = x (x j. n + G) calculating the V value according to mod p-1; Using the V value, the signer selects W that satisfies the condition of 0≤W <V and calculates C value and S value according to C = e w mod p and S = VW; The signer adds the S, C, H, and G values to the document M and transmits the document together with the document; The verifier receives the S, C, H, and G together with the document M and uses R '= e s (Y -1 ) G C mod p and H' by using the user's public key Y value and the hash function h. and verifying the signature by calculating H 'value according to = h (M, R') and checking whether it is equal to the received H value. 제 4 항에 있어서, 상기 서명자의 비밀변수 Z=eXi+1ㆍ(mod p)에서 i값은 1인 것을 특징으로 하는 전자서명방법.The digital signature method of claim 4, wherein the i value of the signer's secret variable Z = eX i + 1 · (mod p) is 1. 제 4 항에 있어서, 상기 서명자와 확인자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 전자서명방법.5. The multiplication matrix of claim 4, wherein the operations performed by the signer and the verifier upon encryption and decryption are performed using a multiplication matrix such that the number of "1s" in the multiplication matrix composed of the regular basis of the finite field GF (2 m ) is reduced. Digital signature method. 유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 부호화된 데이타를 이용하여 데이타 교환시스템에서 특정문서 M에 전자서명을 부가하여 전송하고 수신측에서 이를 확인하는 방법에 있어서, 서명자는 n∈[1,…p-2]인 조건을 만족하는 랜덤변수 n을 선택하고 상기 시스템에서 공개되어 있는 해쉬함수 h 및 문서 M을 이용하여 N=enmod p 및 H=h(M)식에 따라 N 및 H값을 구하는 과정과 ; 서명자는 서명자의 비밀키와 x와 상기 N값 및 상기 H값을 이용하여 식 V=nㆍN+xㆍh(mod p-1)에 따라 V값을 구하는 과정과 ; 서명자는 상기 V값을 이용하여 0≤W〈V인 조건을 만족하는 W를 선택한 후 C=ewmod p 및 S=V-W에 따라 C값 및 S값을 구하는 과정과 ; 서명자는 상기 S, N, C값을 상기 문서 M에 부가함으로써 전자서명을 완료한 후 이를 확인자에게 전송하는 과정과 ; 확인자는 상기 문서 M과 함께 상기 S, N, C값과 서명자의 공개키인 Y값 및 상기 해쉬함수 h를 이용하여 esC(mod p)=Yh(M)ㆍNN(mod p)인 것을 검사함으로써 및 H'=h(M, R')에 따라 H' 값을 산출하여 수신된 H값과 동일여부를 검토함으로써 전자서명의 유효성을 확인하는 과정을 구비하는 것을 특징으로 하는 전자서명방법.In the data exchange system using the encoded data in the cryptographic system composed of the finite field GF (p) and the public key Y of the subscribers having the relation between the source source e and the subscriber's secret key x and Y = e x mod p In a method of attaching and sending an electronic signature to a specific document M and confirming it at the receiving end, the signer is n∈ [1,... p-2] and select the random variable n that satisfies the condition and use the hash function h and the document M published in the system. N and H values according to N = e n mod p and H = h (M) The process of finding The signer uses the signer's private key, x, the N value, and the H value to obtain a V value according to the formula V = n · N + x · h (mod p-1); A signer selects W that satisfies a condition of 0≤W <V using the V value, and then obtains C and S values according to C = e w mod p and S = VW; A signer completes an electronic signature by adding the S, N, and C values to the document M and transmits it to the verifier; The verifier uses the document M together with the S, N, and C values, the Y value that is the signer's public key, and the hash function h, e s C (mod p) = Y h (M) N N (mod p) And verifying the validity of the digital signature by calculating H 'value according to H' = h (M, R ') and checking whether it is equal to the received H value. Way. 제 7 항에 있어서, 상기 서명자와 확인자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 전자서명방법.8. The multiplication matrix of claim 7, wherein the operation performed when the signer and the verifier are encrypted and decrypted is performed by using a multiplication matrix such that the number of "1s" in the multiplication matrix composed of the regular basis of the finite field GF (2 m ) is reduced. Digital signature method. 유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 부호화된 데이타열을 이용하여 통신자사이에서 정당한 통신자임을 상대방에게 인증하는 방법에 있어서, 본인이 정당한 통신자임을 증명하고자 하는 증명자는 자신의 비밀키 x와 자연수 i에 대하여 Z=eXi+1ㆍ(mod p)인 관계를 갖는 증명자의 비밀변수 z와 n∈[1,…p-2]인 조건을 만족하는 제 1 랜덤변수 n을 선택하여 R=Zn(mod p) 를 산출하여 이를 확인자에게 전송하는 과정과 ; 확인자는 제 2 랜덤변수 T를 선택하여 이를 증명자에게 전송하는 과정과 ; 증명자는 증명자의 비밀키 x와 상기 제 1 랜덤변수 n과 상기 제 2 랜덤변수 T를 이용하여 식 V=x(x1ㆍn+T)mod p-1에 따라 V값을 계산하는 과정과 ; 증명자는 상기 V값을 이용하여 0≤W〈V인 조건을 만족하는 W를 선택한 후 식 C=eWmod p 및 S=V-W에 따라 C값 및 S값을 계산하여 S, C를 확인자에게 전송하는 과정과 ; 확인자는 상기 S, C 와 증명자의 공개키인 Y값을 이용하여 R=es(Y-1)TC (mod p)인지를 검사함으로써 증명자의 유효성을 인증하는 과정을 구비하는 것을 특징으로 하는 신분인증방법.In the cryptographic system composed of the finite field GF (p) and the public key Y of the subscribers having the relation between the source source e and the subscriber's secret key x and Y = e x mod p, In the method of authenticating to the other party that it is a legitimate communicator, the prover who wants to prove that he is a legitimate communicator has a relation of Z = eX i + 1 ㆍ (mod p) with respect to his secret key x and natural number i. Secret variables z and n∈ [1,… selecting the first random variable n that satisfies the condition p-2], calculating R = Z n (mod p), and transmitting the same to the identifier; The identifier selects the second random variable T and transmits it to the prover; Using the prover's secret key x, the first random variable n, and the second random variable T, calculating a V value according to the formula V = x (x 1 ㆍ n + T) mod p-1; The prover selects W that satisfies the condition of 0≤W <V using the V value, calculates C value and S value according to the equations C = e W mod p and S = VW, and sends S and C to the verifier. The process of doing; The verifier checks whether R = e s (Y -1 ) T C (mod p) using the S, C and Y values of the prover's public key. Identity verification method. 제 9 항에 있어서, 상기 증명자의 비밀변수 Z=eXi+1ㆍ(mod p)에서 i값은 1인 것을 특징으로 하는 신분인증방법.10. The identity authentication method according to claim 9, wherein i is 1 in the secret variable Z = eX i + 1 · (mod p) of the prover. 제 9 항에 있어서, 상기 증명자와 확인자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 신분인증방법.The method of claim 9, wherein the operation the prover and the verifier are performed during encryption and decryption are made using the multiplication matrix is less the number of finite field GF (2 m) "1" of the multiplication matrix consisting of a normal basis of Identification method characterized by. 유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 부호화된 데이타열을 이용하여 문서를 송수신하는 송ㆍ수신자 및 문서의 송수신 내용을 인증하는 방법에 있어서, 문서를 송신하고자 하는 송신자는 n∈[1,…p-2]인 조건을 만족하는 제 1 랜덤변수 n을 선택하고 상기 시스템에서 공개되어 있는 해쉬함수 h 및 문서 M과 문서를 수신하게 되는 수신자의 공개키인 B를 이용하여 식 R=Bnmod p 및 H=h(M) 에 따라 R 및 H값을 구하는 과정과 ; 송신자는 부호화키이를 A라고 할 때 복호가 가능한 부호화함수 EA( )와 상기 R을 부호화키이로 사용하며, 상기 H와 상기 제 1 랜덤변수 n과 송신자의 비밀키인 x를 이용하여 H'=ER(H)인 H'와 V=(n+x) mod p-1인 V를 구하는 과정과 ; 송신자는 상기 V값을 이용하여 0≤W〈V인 조건을 만족하는 W를 선택한 후 C=eWmod p 및 U=V-W에 따라 C 및 U를 구하는 과정과 ; 송신자는 상기 H', U, C를 문서와 함께 수신자에게 전송하는 과정과 ; 수신자는 상기 U, C와 송신자의 공개키인 Y와 수신자의 비밀키인 b를 이용하여 식 R'=(euㆍCㆍY-1)bmod p에 따라 R'를 구하는 과정과 ; 수신자는 상기 부호화함수 EA( )에 대응되는 복호화함수 DA( )의 복호화키이로 상기 R'를 사용하고, 상기 H'와 상기 문서 M과 해쉬함수 h( )를 이용하여 G=h(M)과 G'=DRㆍ(H')를 구한 후 G'=G임을 검사하여 수신된 문서의 유효성을 확인하는 과정과 ; 수신자는 수신된 문서가 유효한 경우 수신자의 비밀키 b 및 m∈[1,…,p-2]를 만족하는 임의의 제 2 랜덤변수 m을 선택하여 전자서명을 생성한 후 상기 G에 이를 부가하여 송신자에게로 전송하는 과정과 ; 송신자는 H=G임을 검사한 후 G에 부가된 수신자의 서명을 문서송신의 증거로서 보관하게 되는 과정을 구비하는 것을 특징으로 하는 문서송수신 인증방법.Sending and receiving a document using a coded data sequence in a cryptographic system composed of the finite field GF (p) and the public key Y of the subscribers having the relation between the source source e and the subscriber's secret key x and Y = e x mod p In the method for authenticating the sender / receiver and the transmission / reception contents of the document, the sender who wants to send the document is n 문서 [1,... p-2] is selected, and the formula R = B n mod is selected using the hash function h disclosed in the system, the document M and the public key B of the receiver to receive the document. obtaining R and H values according to p and H = h (M); The sender uses an encoding function E A () and R, which are decodable when the encoding key is A, and uses H, the first random variable n, and x, which is the sender's secret key, as H '=. Obtaining H 'which is E R (H) and V having V = (n + x) mod p-1; The transmitter selects W that satisfies the condition of 0≤W <V using the V value, and then obtains C and U according to C = e W mod p and U = VW; The sender transmits the H ', U, and C together with the document to the receiver; Obtaining a R 'according to the formula R' = (e u ㆍ C · Y −1 ) b mod p using the U, C, Y as the sender's public key, and b as the receiver's private key; The receiver uses the R 'as a decoding key of the decoding function D A () corresponding to the coding function E A (), and uses G = h (M using the H ′, the document M, and the hash function h (). ) And G '= D R ㆍ (H') to check the validity of the received document by checking that G '= G; The receiver can check the recipient's private keys b and m∈ [1,…, if the received document is valid. , selecting a second random variable m that satisfies [p-2] to generate an electronic signature, and adding it to G and transmitting it to the sender; And the sender checks that H = G and stores the signature of the recipient added to G as proof of document transmission. 제12항에 있어서, 상기 수신자가 G에 전자서명을 부가하여 송신자에게로 전송하는 과정은 수신자는 자신의 비밀키 b와 자연수 i에 대하여 Z=ebi+1ㆍ(mod p)인 관계를 갖는 수신자의 비밀변수 z와 m∈[1,…,p-2]인 조건을 만족하는 랜덤변수 m을 선택하고 상기 시스템에서 공개되어 있는 해쉬함수 h 및 상기 G을 이용하여 Q=Zmmod p 및 T=h(G, Q)식에 따라 Q 및 T값을 계산하는 과정과 ; 상기 유한체의 원시원을 e라고 할 때 수신자는 상기 T값 및 e값을 이용하여 eFmod p의 승산수가 eTmod p의 승산수보다 작게되는 F를 선택하여 K=b(b1ㆍm+F) mod p-1에 따라 K값을 계산하는 과정과 ; 수신자는 상기 K값을 이용하여 0≤L〈K인 조건을 만족하는 L를 선택한 후 I=eLmod p 및 J=K-L에 따라 I값 및 J값을 계산하는 과정과 ; 수신자는 상기 J, I, T, F값을 상기 G에 부가하여 전송하는 과정과 ; 송신자는 상기 G와 함께 상기 J, I, T, F를 수신하고 수신자의 공개키인 B값 및 상기 해쉬함수 h를 이용하여 Q'=eJ(B-1)FI 및 T'=h(F, Q')에 따라 T'값을 산출하여 수신된 T값과 동일여부를 검토함으로써 서명을 확인하는 과정을 구비하는 것을 특징으로 하는 문서송수신 인증방법. 13. The method of claim 12, wherein the receiver adds the digital signature to G and transmits it to the sender. The receiver has a relationship in which Z = eb i + 1 · (mod p) for its secret key b and natural number i. Receiver's secret variables z and m∈ [1,… , p-2], selects a random variable m that satisfies the condition and uses the hash function h and G disclosed in the system according to Q = Z m mod p and T = h (G, Q) Calculating a T value; When the source of the finite field is e, the receiver selects F such that the multiplier of e F mod p is smaller than the multiplier of e T mod p using the T value and the e value, and K = b (b 1. m + F) calculating the K value according to mod p-1; Using the K value, the receiver selects L that satisfies the condition of 0≤L <K and calculates I value and J value according to I = e L mod p and J = KL; A receiver adding the J, I, T, and F values to the G and transmitting the G; The sender receives the J, I, T, and F together with G and uses the hash value h and the B value, which is the public key of the receiver, Q '= e J (B −1 ) F I and T' = h ( Calculating a T 'value according to F, Q'), and checking whether the signature is equal to the received T value. 제13항에 있어서, 상기 수신자의 비밀변수 Z=ebi+1ㆍ(mod p)에서 i 값은 1인 것을 특징으로 하는 문서송수신 인증방법.The method of claim 13, wherein the i value is 1 in the secret variable Z = eb i + 1 · (mod p) of the receiver. 제12항에 있어서, 상기 수신자가 G에 전자서명을 부가하여 송신자에게로 전송하는 과정은 수신자는 m∈[1,…,p-1]인 조건을 만족하는 랜덤변수 m을 선택하고 상기 시스템에서 공개되어 있는 해쉬함수 h 및 G를 이용하여 N=emmod p 및 T=h(G)식에 따라 N 및 T값을 구하는 과정과 ; 수신자는 수신자의 비밀키인 b와 상기 N값 및 상기 T값을 이용하여 식 V'=mㆍN+bㆍT(mod p-1)에 따라 V'값을 구하는 과정과 ; 수신자는 상기 V'값을 이용하여 0∈L〈V'인 조건을 만족하는 L를 선택한 후 I=eLmod p 및 J=V'-L에 따라 I값 및 J값을 구하는 과정과 ; 수신자는 상기 J, N, I값을 상기 문서 G에 부가함으로써 전자서명을 완료한 후 이를 송신자에게 전송하는 과정과; 송신자는상기 문서 G와 함께 상기 J, N, I값과 수신자의 공개키인 B값 및 상기 해쉬함수 h를 이용하여 eJI(mod p)=Bh(G)ㆍNN(mod p)인 것을 검사함으로써 및 T'=h(G, Q')에 따라 T'값을 산출하여 수신된 T값과 동일여부를 검토함으로써 전자서명의 유효성을 확인하는 과정을 구비하는 것을 특징으로 하는 문서 송수신 인증방법.13. The method of claim 12, wherein the receiver adds the digital signature to G and transmits it to the sender. , p-1], select a random variable m that satisfies the condition, and using the hash functions h and G published in the system, the values of N and T according to N = e m mod p and T = h (G) The process of finding; Obtaining a V 'value according to the formula V' = m · N + b · T (mod p-1) by using the receiver b, the N value and the T value; Selecting a L satisfying a condition of 0 조건 L <V 'using the V' value and then obtaining an I value and a J value according to I = e L mod p and J = V'-L; Receiving, by the receiver, adding the values of J, N, and I to the document G, completing the digital signature, and transmitting the same to the sender; The sender uses the document G together with the J, N, I value, B value, which is the recipient's public key, and the hash function h, e J I (mod p) = B h (G) N N (mod p) And verifying the validity of the digital signature by calculating the T 'value according to T' = h (G, Q ') and examining whether it is equal to the received T value. Authentication method. 제12항에 있어서, 상기 송신자와 수신자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 문서송수신 인증방법.13. The multiplication matrix of claim 12, wherein the operation performed when the sender and the receiver are encrypted and decrypted is performed using a multiplication matrix such that the number of " 1 " is reduced in the multiplication matrix composed of the regular basis of the finite field GF (2 m ). Document transmission and reception authentication method. 유한체 GF(p)와 원시원 e와 가입자들의 비밀키 x 및 Y=exmod p인 관계를 갖는 가입자들의 공용키 Y들을 이용하여 구성되는 암호시스템에서 증명자는 자신의 비밀키이인 x와 랜덤변수 n을 이용하여 그 역연산이 이산대수적이 되는 연산들을 수행하여 그 결과값들을 확인자에게 전송하는 제 1 과정과 ; 확인자는 상기 증명자로부터 전송된 값들중 하나를 S라고 할때 증명자의 공개키이인 Y와 전송된 값 S를 이용하여 상기 증명자가 수행한 연산에 대응되는 R=esㆍ(Y-1)mod p 형태의 연산을 수행함으로써 수신된 값들을 인증하는 제 2 과정을 구비하는 통신인증방법에 있어서, 상기 제 1 과정은 증명자가 상기 S값을 이용하여 0∈S'〈S인 조건을 만족하며 동시에 S의 승산수를 분배할 수 있는 S'를 선택한 후, C=es'' mod p의 연산을 수행하여 C와 S'를 전송하는 과정을 더 포함하며 ; 상기 제 2 과정은 확인자가 수신된 C와 S'를 이용하여 R=esㆍ(Y-1)mod p의 연산을 수행하는 대신에 R=es'ㆍ(Y-1)mod pㆍC의 연산을 수행하도록 하는 것을 특징으로 하는 통신인증방법.In a cryptographic system constructed using finite field GF (p) and the public key Y of the subscribers having the relation between the source e and the subscriber's private key x and Y = e x mod p, the prover is random with its secret key x. A first step of performing operations in which the inverse operation is discrete algebra using the variable n and transmitting the result values to the identifier; When the identifier checks one of the values transmitted from the prover as S, R = e s ㆍ (Y -1 ) mod corresponding to the operation performed by the prover using the prover's public key Y and the transmitted value S. A communication authentication method comprising a second process of authenticating received values by performing a p-type operation, wherein the first process uses a value of S to prove that a prover satisfies a condition of 0∈S '<S. Selecting S 'capable of distributing a multiplier of S, and then performing operations of C = e s' 'mod p to transmit C and S'; In the second process, instead of performing an operation of R = e s ㆍ (Y −1 ) mod p using the received C and S ', the second process performs R = e s' · (Y −1 ) mod p · C Communication authentication method characterized in that to perform the operation of. 제17항에 있어서, 상기 증명자 및 확인자가 암호화 및 복호화시 수행되는 연산은 유한체 GF(2m)의 정규기저로 구성되는 승산행렬중 "1"의 수가 적게 되는 승산행렬을 사용하여 이루어지는 것을 특징으로 하는 통신인증방법.18. The multiplication matrix of claim 17, wherein the operation performed by the authenticator and the verifier when encrypting and decrypting is performed by using a multiplication matrix such that the number of "1s" in the multiplication matrix composed of the regular basis of the finite field GF (2 m ) is small. Communication authentication method characterized in that.
KR1019920013265A 1992-07-24 1992-07-24 Electronic signature and authentication method KR950002164B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920013265A KR950002164B1 (en) 1992-07-24 1992-07-24 Electronic signature and authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920013265A KR950002164B1 (en) 1992-07-24 1992-07-24 Electronic signature and authentication method

Publications (2)

Publication Number Publication Date
KR940002699A KR940002699A (en) 1994-02-19
KR950002164B1 true KR950002164B1 (en) 1995-03-14

Family

ID=19336919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920013265A KR950002164B1 (en) 1992-07-24 1992-07-24 Electronic signature and authentication method

Country Status (1)

Country Link
KR (1) KR950002164B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101972848B1 (en) * 2017-11-27 2019-04-29 효성전기주식회사 Motors with damper for vibration and noise reduction of rotor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397601B1 (en) * 1996-07-31 2003-10-23 삼성전자주식회사 Method for message added digital signature and verifying method thereof
KR20020044343A (en) * 2000-12-05 2002-06-15 구자홍 Service method for E-mail contents attesting

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101972848B1 (en) * 2017-11-27 2019-04-29 효성전기주식회사 Motors with damper for vibration and noise reduction of rotor

Also Published As

Publication number Publication date
KR940002699A (en) 1994-02-19

Similar Documents

Publication Publication Date Title
US6490352B1 (en) Cryptographic elliptic curve apparatus and method
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
JP2606419B2 (en) Cryptographic communication system and cryptographic communication method
US6064741A (en) Method for the computer-aided exchange of cryptographic keys between a user computer unit U and a network computer unit N
JP4809598B2 (en) Use of isojani in the design of cryptographic systems
US5796833A (en) Public key sterilization
US20140164765A1 (en) Procedure for a multiple digital signature
US9088419B2 (en) Keyed PV signatures
WO2012156254A1 (en) A method for performing a group digital signature
Tanwar et al. Efficient and secure multiple digital signature to prevent forgery based on ECC
US20150006900A1 (en) Signature protocol
Jeng et al. An ECC-based blind signature scheme
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
KR950002164B1 (en) Electronic signature and authentication method
Karati et al. Efficient and provably secure random oracle‐free adaptive identity‐based encryption with short‐signature scheme
Wu et al. Threshold signature scheme using self-certified public keys
Andreevich et al. On Using Mersenne Primes in Designing Cryptoschemes
Sadkhan et al. Analysis of Different Types of Digital Signature
CN114696997B (en) Anti-quantum computing communication method and system based on CA and Guo-secret algorithm
CN114070550B (en) Information processing method, device, equipment and storage medium
CN115665732B (en) Certificate-free signature authentication method for satellite Internet
Wu et al. Efficient self-certified proxy CAE scheme and its variants
JP3862397B2 (en) Information communication system
WO2000045548A1 (en) Public key cryptograph and key sharing method
Anisimov et al. Authentication for Coalition Groups

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee