KR102449817B1 - Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor - Google Patents

Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor Download PDF

Info

Publication number
KR102449817B1
KR102449817B1 KR1020190113925A KR20190113925A KR102449817B1 KR 102449817 B1 KR102449817 B1 KR 102449817B1 KR 1020190113925 A KR1020190113925 A KR 1020190113925A KR 20190113925 A KR20190113925 A KR 20190113925A KR 102449817 B1 KR102449817 B1 KR 102449817B1
Authority
KR
South Korea
Prior art keywords
value
function
information
certificate
values
Prior art date
Application number
KR1020190113925A
Other languages
Korean (ko)
Other versions
KR20210032647A (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 KR1020190113925A priority Critical patent/KR102449817B1/en
Priority to PCT/KR2020/010941 priority patent/WO2021054619A1/en
Publication of KR20210032647A publication Critical patent/KR20210032647A/en
Application granted granted Critical
Publication of KR102449817B1 publication Critical patent/KR102449817B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Abstract

인증서 발급 시스템은, 제 1 사용자 단말기;를 포함하되, 상기 제 1 사용자 단말기는, 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하고, 상기 N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보값을 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보값을 산출하되, 상기 N개의 개인키 재생용 정보값은, 제 2 서버의 개인키값 정보를 이용하여 산출된다.The certificate issuing system includes: a first user terminal, wherein the first user terminal calculates N inverse encryption function values using a random number p and a second expansion function, and the N inverse encryption function values Using , reverse-encrypt the encrypted N certificates and N private key reproduction information values to calculate N certificate and N private key reproduction information values, wherein the N private key reproduction information values are 2 Calculated using the server's private key value information.

Description

확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법{Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor}Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor

본 발명은 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법에 관한 것이다.The present invention relates to a system for issuing a plurality of implicit certificates using an extension function and a method for issuing the same.

일반적인 공개키 암호화 방식에서는 타원 곡선 방정식을 이용하여 키 쌍을 생성하여 최종적인 공개키 생성에 이용한다. 여기서 키 쌍이라는 것은 랜덤수와 그 랜덤수에 타원곡선 상의 어느 한점의 좌표인 기저점을 곱한 값을 이른다. 아울러, 공개키는 공인인증기관이 발급하는 인증서에 포함되게 된다. In a general public key encryption method, a key pair is generated using an elliptic curve equation and used to generate a final public key. Here, a key pair refers to a random number and a value obtained by multiplying the random number by the base point, which is the coordinate of a point on the elliptic curve. In addition, the public key is included in the certificate issued by the public certification authority.

복수의 공개키를 생성하여 복수의 인증서를 발급받는 경우, 제한된 통신 환경에서는 원활하지 못하는 경우가 발생할 수 있다. 이에 복수의 인증서의 발급을 위해, 버터플라이 키 확장을 이용한다. 버터플라이 키 확장에서는 확장함수를 사용하며, 확장함수의 요소 기술은 블록암호화 기술이다.When a plurality of certificates are issued by generating a plurality of public keys, it may not be smooth in a limited communication environment. In order to issue a plurality of certificates, a butterfly key extension is used. In butterfly key extension, an extension function is used, and the element description of the extension function is block encryption technology.

국내공개특허 제10-2018-0053066호에는 키 확장 방식을 적용한 묵시적 인증서 발급 방법 및 시스템이 개시되어 있다. 그런데, 국내공개특허 제10-2018-0053066호의 경우, 인증서 요청자인 호스트와 최종적으로 복수의 인증서를 발급하는 상위인증기관의 서버 사이에서 인증서 발급이 이루어지기 때문에, 상위인증기관은 인증서 요청자의 식별 정보와 해당 인증서 정보를 취득하게 되므로, 개인 정보 보호의 측면에서는 취약성을 나타낼 수 있다.Korean Patent Publication No. 10-2018-0053066 discloses a method and system for issuing an implicit certificate to which a key extension method is applied. However, in the case of Korean Patent Application Laid-Open No. 10-2018-0053066, since the certificate is issued between the host, which is the certificate requester, and the server of the higher-level certification authority that finally issues a plurality of certificates, the higher-level certification authority provides the identification information of the certificate requester. and the corresponding certificate information, it may indicate a vulnerability in terms of personal information protection.

본 발명은 전술한 바와 같은 기술적 과제를 해결하는 데 목적이 있는 발명으로서, 상위인증기관에서 인증서 요청자의 식별 정보를 취득하지 않고, 최종적인 개인키의 정보는 인증서 요청자만이 알 수 있어, 개인 정보 보호를 강화할 수 있는 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법을 제공하는 것에 그 목적이 있다.The present invention is an invention for the purpose of solving the technical problems as described above, without acquiring the identification information of the certificate requester from the higher level certification authority, and only the certificate requester can know the final private key information, so personal information An object of the present invention is to provide a system for issuing a plurality of implicit certificates using an extension function capable of enhancing protection and an issuance method thereof.

본 발명의 인증서 발급 시스템은, 제 1 사용자 단말기;를 포함하되, 상기 제 1 사용자 단말기는, 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하고, 상기 N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보를 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보를 산출한다. 아울러, 상기 N개의 개인키 재생용 정보는, 상기 제 1 사용자 단말기가 최종 개인키를 산출하기 위해 이용하는 값인 것을 특징으로 한다.The certificate issuing system of the present invention includes: a first user terminal, wherein the first user terminal calculates N inverse encryption function values using a random number p and a second expansion function, and the N inverse Using the encryption function value, the encrypted N certificates and N private key reproduction information are reverse-encrypted to calculate N certificates and N private key reproduction information. In addition, the N pieces of information for reproducing the private key are values used by the first user terminal to calculate the final private key.

구체적으로, 상기 제 2 확장함수는, 타원곡선 방정식의 차수 값으로 1 번째 제 2 내부 함수값을 나눈 나머지값을 1 번째 제 2 확장함수값으로 산출되되, 상기 1 번째 제 2 내부 함수값은, 랜덤수인 제 2 대칭키 및 1 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, 1 번째 제 1 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이다. 또한, 상기 1 번째 제 2 정보값은, N개의 인증서에 대한 인덱스에 해당하는 정보인 제 1 인덱스 정보 및 제 2 인덱스 정보를 이용하여 산출된 값인 것을 특징으로 한다. 바람직하게는, 상기 제 2 확장함수는, 상기 타원곡선 방정식의 차수 값으로 w 번째 제 2 내부 함수값을 나눈 나머지값을 w 번째 제 2 확장함수값으로 산출되되, 상기 w 번째 제 2 내부함수값은, 상기 제 2 대칭키 및 w-1 번째 제 2 정보값을 이용하여 산출된 w 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 상기 제 1 암호화 함수에 의해 암호한 후, w 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이고, 상기 w는, 2 이상이고 N 이하인 자연수인 것을 특징으로 한다.Specifically, the second expansion function is calculated by dividing the first second internal function value by the order value of the elliptic curve equation as the first second expansion function value, wherein the first and second internal function values are, The second symmetric key, which is a random number, and the value obtained by adding 1 to 3 to the first second information value are encrypted by the first encryption function, respectively, and then to the value obtained by adding 1 to 3 to the first first information value and X- It is a value output by concatenating the result of an OR operation and X-OR operation. In addition, the first and second information values are values calculated using first index information and second index information, which are information corresponding to indexes for N certificates. Preferably, the second expansion function is calculated by dividing a w-th second internal function value by the order value of the elliptic curve equation as a w-th second expansion function value, and the w-th second internal function value is, after encrypting the value obtained by adding 1 to 3 to the w-th second information value calculated using the second symmetric key and the w-1 second information value by the first encryption function, the w-th It is a value outputted by performing X-OR operation with a value obtained by adding 1 to 3 to 2 information values, and linking the results of the X-OR operation, wherein w is a natural number equal to or greater than 2 and less than or equal to N.

또한, 상기 제 1 암호화 함수에 의한 암호화는, (S100) S값을 이용하여, 해당 k번째 라운드키(Rk)를 산출하는 단계; 및 (S200) 상기 S100 단계에서 산출된 해당 k번째 라운드키(Rk)와 T값을 이용하여 암호화된 출력을 생성하는 단계;를 포함한다. 여기서, 상기 S값은, 상기 제 2 대칭키값이다. 또한, 상기 T값은, 1 번째 제 2 정보값 내지 N 번째 제 2 정보값 중 하나;와 1 내지 3 중 하나;를 더한 값인 것을 특징으로 한다.In addition, the encryption by the first encryption function includes the steps of (S100) calculating the k-th round key (R k ) using the S value; and (S200) generating an encrypted output using the k-th round key (R k ) calculated in step S100 and the value T. Here, the S value is the second symmetric key value. In addition, the T value is a value obtained by adding one of the first and second information values to the N-th second information value and one of 1 to 3.

구체적으로, 상기 S100 단계는, (S110) S를 32비트의 워드 단위인 Sb0, Sb0+1, Sb0+2 및 Sb0+3로 분리하고, Sb0, Sb0+1, Sb0+2 및 Sb0+3 각각과 미리 설정된 값 Fb0, Fb0+1, Fb0+2 및 Fb0+3를 각각 연산하여, 초기 4개의 키 Ub0, Ub0+1, Ub0+2 및 Ub0+3를 출력하는 단계; (S120) Uk+1, Uk+2 및 Uk+3과 상수 Vk를 연속적으로 X-OR 연산하는 단계; (S130) 상기 S120 단계의 결과를 비선형 함수에 의해 변환하는 단계; (S140) 상기 S130 단계의 결과를 선형 함수에 의해 변환하는 단계; 및 (S150) Uk와 S140 단계의 결과를 X-OR 연산하여, Uk+4를 산출하는 단계;를 포함하되, k를 b0로부터 (b0+31)까지 1씩 증가시키면서, S120 단계 내지 S150 단계를 반복적으로 실시하고, 상기 S150 단계의 Uk+4를 해당 k번째 라운드키(Rk)로서 산출하되, 상기 b0는, 미리 설정된 정수인 것을 특징으로 한다.Specifically, in step S100, (S110) S is divided into 32-bit word units S b0 , S b0+1 , S b0+2 and S b0+3 , and S b0 , S b0+1 , S b0 By calculating each of +2 and S b0+3 and preset values F b0 , F b0+1 , F b0+2 and F b0+3 , respectively, the initial four keys U b0 , U b0+1 , U b0+2 are calculated. and outputting U b0+3 ; (S120) sequentially X-ORing U k+1 , U k+2 and U k+3 and a constant V k ; (S130) converting the result of step S120 by a nonlinear function; (S140) converting the result of step S130 by a linear function; and (S150) performing an X-OR operation on the results of steps U k and S140 to calculate U k+4 ; including, while increasing k by 1 from b0 to (b0+31), steps S120 to S150 The steps are repeatedly performed, and U k+4 of step S150 is calculated as the k-th round key (R k ), wherein b0 is a preset integer.

또한, 상기 S200 단계는, (S210) T를 32비트의 워드 단위인 Td0, Td0+1, Td0+2 및 Td0+3로 분리하는 단계; (S220) Tk+1, Tk+2 및 Tk+3과 k번째 라운드키(Rk)를 연속적으로 X-OR 연산하는 단계; (S230) 상기 S220 단계의 결과를 비선형 함수에 의해 변환하는 단계; (S240) 상기 S230 단계의 결과를 선형 함수에 의해 변환하는 단계; 및 (S250) Tk와 상기 S240 단계의 결과를 X-OR 연산하여, Tk+4를 산출하는 단계;를 포함하고, k를 d0로부터 (d0+31)까지 1씩 증가시키면서, S220 단계 내지 S250 단계를 반복적으로 실시하고, 최종적으로 (Td0+31+4, Td0+31+3, Td0+31+2, Td0+31+1)를 출력하되, 상기 d0는, 미리 설정된 정수인 것을 특징으로 한다.In addition, the step S200 may include (S210) dividing T into 32-bit word units T d0 , T d0+1 , T d0+2 and T d0+3 ; (S220) sequentially X-ORing T k+1 , T k+2 and T k+3 and the k-th round key (R k ); (S230) converting the result of step S220 by a nonlinear function; (S240) converting the result of step S230 by a linear function; and (S250) performing an X-OR operation on T k and the result of step S240 to calculate T k+4 ; Step S250 is repeatedly performed, and finally (T d0+31+4 , T d0+31+3 , T d0+31+2 , T d0+31+1 ) is outputted, wherein d0 is a preset integer. characterized in that

아울러, 상기 제 1 사용자 단말기는, 랜덤수 a, 제 1 확장함수, N개의 인증서의 해쉬 함수값 및 상기 N개의 개인키 재생용 정보를 이용하여, 최종 개인키를 산출하는 것이 바람직하다. 또한, 상기 제 1 사용자 단말기는, 제 2 사용자 단말기로, 1개의 인증서를 송신하는 것을 특징으로 한다. In addition, it is preferable that the first user terminal calculates the final private key by using the random number a, the first expansion function, the hash function values of the N certificates, and the N pieces of information for reproducing the private key. In addition, the first user terminal is characterized in that it transmits one certificate to the second user terminal.

바람직하게는 상기 제 2 사용자 단말기는, 상기 제 1 사용자 단말기로부터 수신한 1개의 인증서 및 미리 알고 있는 상기 제 2 서버의 공개키값을 이용하여, 1개의 최종 공개키를 산출하는 것을 특징으로 한다. 아울러, 상기 1개의 최종 공개키는, 상기 1개의 인증서의 해쉬 함수값과 상기 1개의 인증서의 디코딩에 의해 산출된 값을 곱한 값;과, 상기 제 2 서버의 공개키값;을 더한 값인 것을 특징으로 한다.Preferably, the second user terminal calculates one final public key by using one certificate received from the first user terminal and a public key value of the second server known in advance. In addition, the one final public key is a value obtained by multiplying the hash function value of the one certificate by a value calculated by decoding the one certificate; and the public key value of the second server. do.

또한, 본 발명의 인증서 발급 시스템은, 상기 제 2 서버;를 더 포함하되, 상기 제 2 서버는, 타원곡선 방정식상의 기저점 G에 랜덤수 c를 곱한 값에, 제 1 서버로부터 수신한 N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출하는 것이 바람직하다.In addition, the certificate issuance system of the present invention further includes the second server, wherein the second server multiplies the base point G on the elliptic curve equation by a random number c, and the N data received from the first server It is preferable to calculate N third keys by adding the 2-1 keys, respectively.

아울러, 상기 제 2 서버는, N개의 제 3 키의 값을 인코딩에 의해 N개의 인증서인 N개의 옥텍 스트링(OCTET STRING)으로 변환하고, 상기 N개의 인증서 각각의 해쉬 함수값 및 상기 제 2 서버의 개인키값을 이용하여, 상기 N개의 개인키 재생용 정보값을 산출하는 것을 특징으로 한다. 또한, 상기 N개의 개인키 재생용 정보값은 각각, 상기 N개의 인증서 각각의 해쉬 함수값 각각에 랜덤수 c를 곱한 값에, 상기 제 2 서버의 개인키값을 더한 값이다.In addition, the second server converts the values of the N third keys into N octet strings that are N certificates by encoding, and the hash function value of each of the N certificates and the value of the second server. It is characterized in that by using the private key value, the N pieces of information values for reproducing the private key are calculated. In addition, each of the N private key reproduction information values is a value obtained by multiplying each hash function value of each of the N certificates by a random number c and adding the private key value of the second server.

본 발명의 인증서 발급 방법은, (S13) 제 1 사용자 단말기가, 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하는 단계; 및 (S14) 제 1 사용자 단말기가, 상기 N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보를 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보를 산출하는 단계;를 포함한다. 여기서, 상기 N개의 개인키 재생용 정보는, 상기 제 1 사용자 단말기가 최종 개인키를 산출하기 위해 이용하는 값인 것을 특징으로 한다.The method for issuing a certificate according to the present invention includes the steps of: (S13) calculating, by a first user terminal, N inverse encryption function values using a random number p and a second expansion function; and (S14) the first user terminal reverse-encrypts the encrypted N certificates and N private key reproduction information using the N inverse encryption function values to obtain N certificates and N private key reproduction information. Calculating; includes. Here, the N pieces of information for reproducing the private key are values used by the first user terminal to calculate the final private key.

아울러, 본 발명의 인증서 발급 방법은, 상기 (S14) 단계 이후에, (S15) 상기 제 1 사용자 단말기가, 랜덤수 a, 제 1 확장함수, N개의 인증서의 해쉬 함수값 및 상기 N개의 개인키 재생용 정보를 이용하여, 최종 개인키를 산출하는 단계; (S16) 상기 제 1 사용자 단말기가 제 2 사용자 단말기로, 1개의 인증서를 송신하는 단계; (S42) 상기 제 2 사용자 단말기가, 상기 제 1 사용자 단말기로부터 수신한 1개의 인증서 및 미리 알고 있는 상기 제 2 서버의 공개키값을 이용하여, 1개의 최종 공개키를 산출하는 단계;를 더 포함하는 것을 특징으로 한다. 구체적으로, 상기 1개의 최종 공개키는, 상기 1개의 인증서의 해쉬 함수값과 상기 1개의 인증서의 디코딩에 의해 산출된 값을 곱한 값;과, 상기 제 2 서버의 공개키값;을 더한 값이다.In addition, in the certificate issuance method of the present invention, after step (S14), (S15) the first user terminal performs a random number a, a first extension function, hash function values of N certificates, and the N private keys. calculating a final private key by using the reproduction information; (S16) transmitting, by the first user terminal, one certificate to the second user terminal; (S42) using, by the second user terminal, one certificate received from the first user terminal and a public key value of the second server known in advance, calculating one final public key; further comprising characterized in that Specifically, the one final public key is a value obtained by multiplying the hash function value of the one certificate by a value calculated by decoding the one certificate; and the public key value of the second server.

또한, 본 발명의 인증서 발급 방법은, 상기 (S13) 단계 이전에, (S32) 상기 제 2 서버가, 타원곡선 방정식상의 기저점 G에 랜덤수 c를 곱한 값에, 제 1 서버로부터 수신한 N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출하는 단계; 및 (S33) 상기 제 2 서버가, N개의 제 3 키의 값을 인코딩에 의해 N개의 인증서인 N개의 옥텍 스트링(OCTET STRING)으로 변환하고, 상기 N개의 인증서 각각의 해쉬 함수값 및 상기 제 2 서버의 개인키값을 이용하여, 상기 N개의 개인키 재생용 정보값을 산출하는 단계;를 더 포함하는 것을 특징으로 한다. 여기서, 상기 N개의 개인키 재생용 정보값은 각각, 상기 N개의 인증서 각각의 해쉬 함수값 각각에 랜덤수 c를 곱한 값에, 상기 제 2 서버의 개인키값을 더한 값이다.In addition, in the certificate issuance method of the present invention, before the step (S13), (S32) the second server multiplies the base point G on the elliptic curve equation by a random number c, and the N received from the first server calculating N third keys by adding the 2-1 keys, respectively; and (S33) the second server converts the values of the N third keys into N OCTET STRINGs that are N certificates by encoding, and the hash function values of each of the N certificates and the second It characterized in that it further comprises; using the private key value of the server, calculating the N number of private key reproduction information values. Here, each of the N private key reproduction information values is a value obtained by multiplying each hash function value of each of the N certificates by a random number c and adding the private key value of the second server.

본 발명의 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법에 따르면, 상위인증기관에서 인증서 요청자의 식별 정보를 취득하지 않고, 최종적인 개인키의 정보는 인증서 요청자만이 알 수 있어, 개인 정보 보호를 강화할 수 있다.According to the system for issuing a plurality of implicit certificates using the extension function of the present invention and the issuance method thereof, the identity information of the certificate requester is not obtained from the upper certificate authority, and only the certificate requester can know the final private key information, Information protection can be strengthened.

도 1은 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템의 구성도.
도 2는 제 1 암호화 함수에 의한 연산 흐름도.
도 3은 S100 단계의 구체적인 흐름도.
도 4는 S200 단계의 구체적인 흐름도.
1 is a block diagram of a system for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention;
Fig. 2 is a flowchart of an operation by a first encryption function;
3 is a detailed flowchart of step S100.
4 is a detailed flowchart of step S200.

이하, 첨부된 도면을 참조하면서 본 발명의 실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법에 대해 상세히 설명하기로 한다.Hereinafter, a system for issuing a plurality of implicit certificates using an extension function and an issuance method thereof according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 하기의 실시예는 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.Of course, the following examples of the present invention are not intended to limit or limit the scope of the present invention only to embody the present invention. What can be easily inferred by an expert in the technical field to which the present invention belongs from the detailed description and examples of the present invention is construed as belonging to the scope of the present invention.

본 발명의 실시예에 따른 확장함수를 이용한 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100) 및 그 발급 방법은, 버터플라이 키 확장 방식을 이용한다.The system 100 for issuing a plurality of implicit certificates using an extension function using an extension function according to an embodiment of the present invention and an issuance method thereof use a butterfly key extension method.

먼저, 도 1은 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)의 구성도를 나타낸다.First, FIG. 1 shows a configuration diagram of a plurality of implicit certificate issuance systems 100 using an extension function according to a preferred embodiment of the present invention.

도 1로부터 알 수 있는 바와 같이, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)은, 제 1 사용자 단말기(10), 제 1 서버(20), 제 2 서버(30) 및 제 2 사용자 단말기(40)를 포함하여 구성될 수 있다.As can be seen from FIG. 1 , the system 100 for issuing a plurality of implicit certificates using an extension function according to an exemplary embodiment of the present invention includes a first user terminal 10 , a first server 20 , and a second It may be configured to include the server 30 and the second user terminal 40 .

제 1 사용자 단말기(10), 제 1 서버(20), 제 2 서버(30) 및 제 2 사용자 단말기(40)는 각각, 메모리 및 통신 기능을 구비한 컴퓨팅 장치이다.The first user terminal 10 , the first server 20 , the second server 30 , and the second user terminal 40 are computing devices each having a memory and a communication function.

본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)의 동작을 간단히 설명하자면, 제 1 사용자 단말기(10)가 N개의 최종 개인키를 생성하고, 제 2 사용자 단말기(40)가 1개의 최종 공개키를 생성한다.Briefly describing the operation of the plurality of implicit certificate issuing system 100 using the extension function according to the preferred embodiment of the present invention, the first user terminal 10 generates N final private keys, and the second user terminal (40) generates one final public key.

이러한 최종 공개키 및 N개의 최종 개인키의 발급 과정에서, 개인 정보에 대한 보안을 강화하기 위해, 제 1 서버(20)를 제 1 사용자 단말기(10)와 제 2 서버(30) 사이에 개재한 것에 본 발명의 특징이 있다.In the process of issuing the final public key and N final private keys, the first server 20 is interposed between the first user terminal 10 and the second server 30 in order to strengthen the security of personal information. There is a feature of the present invention.

제 1 사용자 단말기(10)는, 스마트폰, 컴퓨터 등과 같은 개인용 단말기 및 차량 내부에 설치된 차량용 단말기를 예로 들 수 있다.The first user terminal 10 may be, for example, a personal terminal such as a smart phone or a computer, and a vehicle terminal installed inside the vehicle.

제 1 사용자 단말기(10)는, 서명용 초기 개인키값이라고 할 수 있는 임의의 1 보다 크고 정수 n보다 작은 범위의 임의의 랜덤수 a를 생성한다. 아울러, 제 1 사용자 단말기(10)는, 데이터암호용 초기 개인키값인 임의의 1 보다 크고 정수 n보다 작은 범위의 임의의 랜덤수 p를 생성한다. The first user terminal 10 generates an arbitrary random number a in a range greater than an arbitrary 1 and less than an integer n, which can be said to be an initial private key value for signature. In addition, the first user terminal 10 generates an arbitrary random number p in a range greater than an arbitrary 1 and less than an integer n, which is an initial private key value for data encryption.

제 1 서버(20)는, 랜덤수 a와 p 각각에 대하여 타원곡선 암호 알고리즘에서 결정한 타원곡선 방정식 상의 어느 한점의 좌표로서 기저점 G를 곱하는 것에 의해 랜덤수 a와 한쌍을 이루는 aG를 이용하고, 랜덤수 p와 한쌍을 이루는 pG를 이용한다. 참고로, 랜덤수 a와 p 각각은, 동일한 타원곡선 방정식을 사용하므로, 그 기저점도 동일한 값이 된다.The first server 20 uses aG that forms a pair with the random number a by multiplying the base point G as the coordinate of any one point on the elliptic curve equation determined by the elliptic curve encryption algorithm for each of the random numbers a and p, We use pG that is paired with a random number p. For reference, since the random numbers a and p use the same elliptic curve equation, their base points are also the same value.

여기서, 랜덤수 a와 p는 제 1 사용자 단말기(10)에서 이용하므로 개인키이고, aG 및 pG는 제 1 서버(20)에서 이용하므로 공개키가 된다. 아울러, 개인키와 공개키는 서로 상이한 값을 가지므로, 비대칭키에 해당한다.Here, random numbers a and p are private keys because they are used by the first user terminal 10 , and aG and pG are public keys because they are used by the first server 20 . In addition, since the private key and the public key have different values, they correspond to an asymmetric key.

기저점의 정보는, 제 1 사용자 단말기(10), 제 1 서버(20) 및 제 2 서버(30)가 모두 알고 있는 정보이다.The base point information is information known to all of the first user terminal 10 , the first server 20 , and the second server 30 .

아울러, 제 1 사용자 단말기(10)는, 제 1 대칭키 및 제 2 대칭키를 생성한다.In addition, the first user terminal 10 generates a first symmetric key and a second symmetric key.

생성된 제 1 대칭키 및 제 2 대칭키는, 제 1 서버(20)로 전송되어 키 확장을 위한 복수의 최종 개인키 및 복수의 최종 공개키를 생성하기 위해 사용되며, 랜덤수이다. 제 1 대칭키 및 제 2 대칭키 각각은, 제 1 서버(20)로 전송되어 동일한 제 1 대칭키 및 제 2 대칭키를 제 1 사용자 단말기(10) 및 제 1 서버(20)가 이용하게 되므로 대칭키라 칭한다. The generated first symmetric key and the second symmetric key are transmitted to the first server 20 and used to generate a plurality of final private keys and a plurality of final public keys for key expansion, and are random numbers. Each of the first symmetric key and the second symmetric key is transmitted to the first server 20 so that the first user terminal 10 and the first server 20 use the same first symmetric key and the second symmetric key. It is called a symmetric key.

또한, 제 1 사용자 단말기(10)는, 제 1 인덱스 정보 및 제 2 인덱스 정보를 생성한다.Also, the first user terminal 10 generates first index information and second index information.

제 1 인덱스 정보 및 제 2 인덱스 정보는, 제 1 사용자 단말기(10)가 요청하는 복수의 인증서에 대한 인덱스에 해당하는 정보, 즉 색인 정보를 나타내며, 2019년 3월 8일 11시에 발행한 제 1 인증서, 제 2 인증서 등과 같은 의미를 부여하는 값이다. 즉, 제 1 인덱스 정보 및 제 2 인덱스 정보는 인증서의 발행 시간 정보를 이용한다. 이때 제 1 인덱스 정보는 발행 연월일시 정보에 대응하고, 제 2 인덱스 정보는 해당 발행 연월일에 발행된 인증서의 순서를 인덱싱하는 정보, 일련번호에 대응할 수 있다. 즉, 제 1 인덱스 정보는 상위 색인 정보이고, 제 2 인덱스 정보는 제 1 인덱스 정보를 더욱 구체적으로 색인하는 하위 색인 정보를 나타낸다. The first index information and the second index information indicate information corresponding to an index for a plurality of certificates requested by the first user terminal 10, that is, index information, and the first index information issued at 11 o'clock on March 8, 2019 A value that gives the same meaning as the 1st certificate and the 2nd certificate. That is, the first index information and the second index information use certificate issuance time information. In this case, the first index information may correspond to the issuance date, date and time information, and the second index information may correspond to information indexing the order of the certificates issued on the corresponding issue date and time, and a serial number. That is, the first index information is upper index information, and the second index information indicates lower index information indexing the first index information more specifically.

제 1 사용자 단말기(10)는, 제 1 사용자 단말기(10)의 식별 정보, aG, pG, 제 1 대칭키, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 필요로 하는 인증서의 개수 정보인 N값을 제 1 서버(20)로 전송한다.The first user terminal 10 includes identification information of the first user terminal 10, aG, pG, a first symmetric key, a second symmetric key, first index information, second index information, and the number of required certificates. The N value, which is information, is transmitted to the first server 20 .

제 1 서버(20)는, 제 1 사용자 단말기(10)로부터 제 1 사용자 단말기(10)의 식별 정보, 랜덤수 a와 타원곡선 방정식상의 기저점 G를 곱한 값 aG, 랜덤수 p와 타원곡선 방정식 상의 기저점 G를 곱한 값 pG, 제 1 대칭키, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 수신한다.The first server 20 provides the identification information of the first user terminal 10 from the first user terminal 10, a value aG obtained by multiplying the random number a by the base point G on the elliptic curve equation, and the random number p and the elliptic curve equation. The value pG multiplied by the base point G of the phase, the first symmetric key, the second symmetric key, the first index information, the second index information, and the N value, which is information on the number of certificates, are received.

구체적으로, 제 1 서버(20)는, 제 1 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 입력으로 하는 제 1 확장함수; 및 aG값;을 이용하여, N개의 제 2-1 키를 생성한다. 아울러, 제 1 서버(20)는, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 입력으로 하는 제 2 확장함수; 및 pG값;을 이용하여, N개의 제 2-2 키를 생성한다.Specifically, the first server 20 may include: a first extension function inputting the first symmetric key, the first index information, the second index information, and the N value, which is information on the number of certificates; and aG value; to generate N 2-1 keys. In addition, the first server 20 may include a second extension function inputting the second symmetric key, the first index information, the second index information, and the N value, which is information on the number of certificates; and pG value; to generate N 2-2 keys.

제 1 확장함수(f1(m))는 다음의 [수학식 1]과 같이 나타낼 수 있다.The first expansion function f1(m) may be expressed as in Equation 1 below.

Figure 112019094661369-pat00001
Figure 112019094661369-pat00001

[수학식 1]에서 (A)mod(B) 함수의 의미는, A를 B로 나눈 나머지 값을 결과값으로 산출하는 모듈러 연산 함수이다. 아울러, Y는 제 1 사용자 단말기(10)가 a와 aG의 키 쌍을 생성하기 위해 사용했던 타원곡선 방정식의 차수 값으로, 제 1 서버(20)에서도 동일한 타원곡선 방정식이 이용된다. 즉, Y는 제 1 서버(20)에서 사용하는 타원곡선 방정식의 차수 값이기도 하다. 이 차수 값은 제 1 사용자 단말기(10)와 제 1 서버(20)가 서로 정의한 타원곡선 방정식에서 용이하게 얻을 수 있는 상수 값이다. 또한, f11(m)는 제 1 내부 함수를 의미한다. 여기서, m을 1로부터 N까지로 설정하면, 1 번째 제 1 확장함수(f1(1)) 내지 N 번째 제 1 확장함수(f1(N))의 N개의 제 1 확장함수에 의해 N개의 개인키가 생성 가능하다.The meaning of the (A)mod(B) function in [Equation 1] is a modular operation function that calculates the remainder of dividing A by B as a result value. In addition, Y is the order value of the elliptic curve equation used by the first user terminal 10 to generate the key pair of a and aG, and the same elliptic curve equation is used in the first server 20 . That is, Y is also an order value of the elliptic curve equation used by the first server 20 . This order value is a constant value that can be easily obtained from the elliptic curve equation defined by the first user terminal 10 and the first server 20 . Also, f11(m) denotes the first internal function. Here, when m is set from 1 to N, N private keys are generated by the N first expansion functions of the first first expansion function f1(1) to the N-th first expansion function f1(N). can be created

구체적으로, 제 1 내부 함수(f11(m))은 다음의 [수학식 2]와 같이 나타낼 수 있다.Specifically, the first internal function f11(m) may be expressed as in Equation 2 below.

Figure 112019094661369-pat00002
Figure 112019094661369-pat00002

[수학식 2]에서 Enc는 제 1 암호화 함수를 의미한다. 제 1 암호화 함수에 대해서는, 후술하기로 한다. 여기서

Figure 112019094661369-pat00003
는 X-OR(Exclusive OR, 배타적 논리합) 연산을 나타낸다. 아울러, ||는 연결 기능을 나타내며, 일례로 A||B||C 는 A, B, C 값을 차례로 연결한 하나의 값을 나타낸다. 또한, ck는 제 1 대칭키를 의미한다. In [Equation 2], Enc means the first encryption function. The first encryption function will be described later. here
Figure 112019094661369-pat00003
represents an X-OR (Exclusive OR) operation. In addition, || indicates a connection function, and for example, A||B||C indicates a single value obtained by sequentially connecting the values of A, B, and C. Also, ck means the first symmetric key.

[수학식 1]과 [수학식 2]로부터 알 수 있는 바와 같이, 제 1 확장함수는, 타원곡선 방정식의 차수 값으로 1 번째 제 1 내부 함수값을 나눈 나머지값을 1 번째 제 1 확장함수값으로 산출한다. 여기서, 1 번째 제 1 내부 함수값은, 랜덤수인 제 1 대칭키 및 1 번째 제 1 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, 1 번째 제 1 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이다.As can be seen from [Equation 1] and [Equation 2], the first expansion function is the first expansion function value by dividing the remainder of the first first internal function value by the order value of the elliptic curve equation is calculated as Here, the first first internal function value is a value obtained by adding 1 to 3 to the first symmetric key and the first first information value, which are random numbers, respectively, after encryption by the first encryption function, the first first information value A value obtained by adding 1 to 3 to a value obtained by performing an X-OR operation, and linking the result of the X-OR operation to an output value.

또한, 제 1 확장함수는, 타원곡선 방정식의 차수 값으로 w 번째 제 1 내부 함수값을 나눈 나머지값을 w 번째 제 1 확장함수값으로 산출한다. 여기서, w 번째 제 1 내부함수값은, 제 1 대칭키 및 w-1 번째 제 1 정보값을 이용하여 산출된 w 번째 제 1 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, w 번째 제 1 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이 된다. 아울러, w는, 2 이상이고 N 이하인 자연수인 것을 특징으로 한다.In addition, the first expansion function calculates a residual value obtained by dividing the w-th first internal function value by the order value of the elliptic curve equation as the w-th first expansion function value. Here, the w-th first internal function value is obtained by adding 1 to 3 to the w-th first information value calculated using the first symmetric key and the w-1st first information value by the first encryption function, respectively. After encryption, an X-OR operation is performed with a value obtained by adding 1 to 3 to the w-th first information value, and the result of the X-OR operation is concatenated to become an output value. In addition, w is a natural number of 2 or more and N or less, it is characterized in that it is.

또한, o1(1) 및 o1(m)은 제 1 정보값으로, 다음의 [수학식 3] 및 [수학식 4]와 같이 나타낼 수 있다. In addition, o1(1) and o1(m) are first information values, and may be expressed as follows [Equation 3] and [Equation 4].

Figure 112019094661369-pat00004
Figure 112019094661369-pat00004

Figure 112019094661369-pat00005
Figure 112019094661369-pat00005

참고로, o1(1)은, m=1인 경우의 o1(m) 값으로, o1(m)의 초기값을 나타낸다. 아울러, i와 j는 각각 제 1 인덱스 정보 및 제 2 인덱스 정보를 나타낸다.For reference, o1(1) is an o1(m) value when m=1, and represents an initial value of o1(m). In addition, i and j represent first index information and second index information, respectively.

즉, [수학식 3]에 의해 o1(1)가 정의되고, [수학식 4]에 의해 o1[2] 내지 o1[N]이 정의된다. 아울러, 032 는 32비트 0의 값을 나타낸다.That is, o1(1) is defined by [Equation 3], and o1[2] to o1[N] are defined by [Equation 4]. In addition, 0 32 represents a value of 32-bit 0.

제 2 확장함수(f2(m))는 다음의 [수학식 5]와 같이 나타낼 수 있다.The second expansion function f2(m) may be expressed as in Equation 5 below.

Figure 112019094661369-pat00006
Figure 112019094661369-pat00006

[수학식 5]에서 (A)mod(B) 함수의 의미는, A를 B로 나눈 나머지 값을 결과값으로 산출하는 모듈러 연산 함수이다. 아울러, Y는 제 1 사용자 단말기(10)가 p와 pG의 키 쌍을 생성하기 위해 사용했던 타원곡선 방정식의 차수 값으로, 제 1 서버(20)에서도 동일한 타원곡선 방정식이 이용된다. 즉, Y는 제 1 서버(20)에서 사용하는 타원곡선 방정식의 차수 값이기도 하다. 이 값은 [수학식 1]에서의 Y 값과 동일하다. 또한, f21(m)는 제 2 내부 함수를 의미한다. 여기서, m을 1로부터 N까지로 설정하면, 1 번째 제 2 확장함수(f2(1)) 내지 N 번째 제 2 확장함수(f2(N))의 N개의 제 2 확장함수에 의해 N개의 공개키가 생성 가능하다.The meaning of the (A)mod(B) function in [Equation 5] is a modular operation function that calculates the remainder of dividing A by B as a result value. In addition, Y is the order value of the elliptic curve equation used by the first user terminal 10 to generate the key pair of p and pG, and the same elliptic curve equation is used in the first server 20 as well. That is, Y is also an order value of the elliptic curve equation used by the first server 20 . This value is the same as the Y value in [Equation 1]. Also, f21(m) denotes the second internal function. Here, when m is set from 1 to N, N public keys are generated by the N second expansion functions of the first and second expansion functions f2(1) to the N-th second expansion function f2(N). can be created

구체적으로, 제 2 내부 함수(f21(m))는 다음의 [수학식 6]과 같이 나타낼 수 있다.Specifically, the second internal function f21(m) may be expressed as in Equation 6 below.

Figure 112019094661369-pat00007
Figure 112019094661369-pat00007

[수학식 6]에서 Enc는 제 1 암호화 함수를 의미한다. 제 1 암호화 함수에 대해서는, 후술하기로 한다. 여기서

Figure 112019094661369-pat00008
는 X-OR(Exclusive OR, 배타적 논리합) 연산을 나타낸다. 아울러, ||는 연결 기능을 나타내며, 일례로 A||B||C 는 A, B, C 값을 차례로 연결한 하나의 값을 나타낸다. 또한, ek는 제 2 대칭키를 의미한다. In [Equation 6], Enc means the first encryption function. The first encryption function will be described later. here
Figure 112019094661369-pat00008
represents an X-OR (Exclusive OR) operation. In addition, || indicates a connection function, and for example, A||B||C indicates a single value obtained by sequentially connecting the values of A, B, and C. Also, ek means the second symmetric key.

[수학식 5]와 [수학식 6]으로부터 알 수 있는 바와 같이, 제 2 확장함수는, 타원곡선 방정식의 차수 값으로 1 번째 제 2 내부 함수값을 나눈 나머지값을 1 번째 제 2 확장함수값으로 산출한다. 여기서, 1 번째 제 2 내부 함수값은, 랜덤수인 제 2 대칭키 및 1 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, 1 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이다.As can be seen from [Equation 5] and [Equation 6], the second expansion function is the first and second expansion function value by dividing the first and second internal function value by the order value of the elliptic curve equation. is calculated as Here, the first and second internal function values are the first and second information values after encrypting the values obtained by adding 1 to 3 to the second symmetric key and the first second information value, which are random numbers, respectively, by the first encryption function. A value obtained by adding 1 to 3 to a value obtained by performing an X-OR operation, and linking the result of the X-OR operation to an output value.

또한, 제 2 확장함수는, 제 2 대칭키로 w 번째 제 2 내부 함수값을 나눈 나머지값을 w 번째 제 2 확장함수값으로 산출한다. 여기서, w 번째 제 2 내부함수값은, 제 2 대칭키 및 w-1 번째 제 2 정보값을 이용하여 산출된 w 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 상기 제 1 암호화 함수에 의해 암호한 후, w 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이다. 아울러, w는, 2 이상이고 N 이하인 자연수인 것을 특징으로 한다.In addition, the second expansion function calculates a remainder value obtained by dividing the w-th second internal function value by the second symmetric key as the w-th second expansion function value. Here, the w-th second internal function value is a value obtained by adding 1 to 3 to the w-th second information value calculated using the second symmetric key and the w-1 second information value to the first encryption function, respectively. It is a value output by linking the result of X-OR operation with a value obtained by adding 1 to 3 to the w-th second information value after encryption by means of an X-OR operation. In addition, w is a natural number of 2 or more and N or less, it is characterized in that it is.

아울러, o2(1) 및 o2(m)은 제 2 정보값으로, 다음의 [수학식 7] 및 [수학식 8]과 같이 나타낼 수 있다. In addition, o2(1) and o2(m) are second information values, and may be expressed as in the following [Equation 7] and [Equation 8].

Figure 112019094661369-pat00009
Figure 112019094661369-pat00009

Figure 112019094661369-pat00010
Figure 112019094661369-pat00010

참고로, o2(1)은, m=1인 경우의 o2(m) 값으로, o2(m)의 초기값을 나타낸다. 아울러, i와 j는 각각 제 1 인덱스 정보 및 제 2 인덱스 정보를 나타낸다.For reference, o2(1) is a value of o2(m) when m=1, and represents the initial value of o2(m). In addition, i and j represent first index information and second index information, respectively.

즉, [수학식 7]에 의해 o2(1)가 정의되고, [수학식 8]에 의해 o2[2] 내지 o2[N]이 정의된다. 아울러, 132 는 32비트 1의 값을 나타내고, 032 는 32비트 0의 값을 나타낸다.That is, o2(1) is defined by [Equation 7], and o2[2] to o2[N] are defined by [Equation 8]. In addition, 1 32 represents a value of 32-bit 1, and 0 32 represents a value of 32-bit 0.

제 1 서버(20)에서 생성되는 N개의 제 2-1 키(B2(m))는 다음의 [수학식 9]과 같이 산출될 수 있다.The N 2-1 keys (B2(m)) generated by the first server 20 may be calculated as in the following [Equation 9].

Figure 112019094661369-pat00011
Figure 112019094661369-pat00011

[수학식 9]로부터 알 수 있는 바와 같이, N개의 제 2-1 키 각각은, 1 번째 제 1 확장함수값 내지 N 번째 제 1 확장함수값 각각에, 타원곡선 암호 알고리즘에 의해 결정된 타원곡선 상의 어느 한점의 좌표인 기저점을 곱한 값;과 랜덤수 a와 기저점을 곱한 값;을 더한 값으로 나타낼 수 있다.As can be seen from [Equation 9], each of the N 2-1 keys is on the elliptic curve determined by the elliptic curve encryption algorithm in each of the first first expansion function value to the N-th first expansion function value. It can be expressed as a value obtained by adding a value obtained by multiplying the base point, which is the coordinate of a point; and a value obtained by multiplying a random number a and the base point.

제 1 서버(20)에서 생성되는 N개의 제 2-2 키(Q2(m))는 다음의 [수학식 10]과 같이 산출될 수 있다.The N 2-2 keys Q2(m) generated by the first server 20 may be calculated as in Equation 10 below.

Figure 112019094661369-pat00012
Figure 112019094661369-pat00012

[수학식 10]으로부터 알 수 있는 바와 같이, N개의 제 2-2 키 각각은, 1 번째 제 2 확장함수값 내지 N 번째 제 2 확장함수값 각각에, 타원곡선 암호 알고리즘에 의해 결정된 타원곡선 상의 어느 한점의 좌표인 기저점을 곱한 값;과 랜덤수 p와 기저점을 곱한 값;을 더한 값으로 나타낼 수 있다.As can be seen from [Equation 10], each of the N 2-2 keys is on the elliptic curve determined by the elliptic curve encryption algorithm in each of the first and second expansion function values to the N-th second expansion function values. It can be expressed as a value obtained by adding a value obtained by multiplying the base point, which is the coordinates of a point; and a value obtained by multiplying a random number p by the base point.

제 1 서버(20)는, N개의 제 2-1 키 및 N개의 제 2-2 키를 제 2 서버(30)로 전송한다.The first server 20 transmits the N 2-1 keys and the N 2-2 keys to the second server 30 .

제 2 서버(30)는, 제 1 서버(20)의 상위인증기관의 서버로서, 인증서를 발급하는 서버이다. 제 2 서버(30)는, 다음의 [수학식 11]에 의해 N개의 제 3 키(D3(m))를 생성한다.The second server 30 is a server of a higher level certification authority of the first server 20 and is a server that issues a certificate. The second server 30 generates N third keys D3(m) by the following [Equation 11].

Figure 112019094661369-pat00013
Figure 112019094661369-pat00013

[수학식 11]로부터 알 수 있는 바와 같이, 제 2 서버(30)는, 타원곡선 암호 알고리즘에 의해 결정된 타원곡선 상의 어느 한점의 좌표인 기저점에 랜덤수 c를 곱한 값에, N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출한다.As can be seen from [Equation 11], the second server 30 multiplies the base point, which is the coordinate of any one point on the elliptic curve determined by the elliptic curve encryption algorithm, by a random number c, and N second By adding each -1 key, N third keys are calculated.

제 2 서버(30)는, N개의 제 3 키의 값을 인코딩에 의해 N개의 옥텍 스트링(OCTET STRING)으로 변환한다. 이 N개의 옥텍 스트링이 N개의 묵시적 인증서이다. 즉, N개의 제 3 키에 의해 N개의 묵시적 인증서가 생성된다.The second server 30 converts the values of the N third keys into N OCTET STRINGs by encoding. These N octek strings are N implicit certificates. That is, N implicit certificates are generated by the N third keys.

메시지 정보(Msg)을 입력하면 다이제스트 정보 e를 출력하는 해쉬(HASH) 함수를 H(Msg)이라 정의하자. 즉, 메시지 정보(Msg)값으로 묵시적 인증서값(C-U)을 입력하여 얻은 해쉬 함수 결과(e(m))는 다음의 [수학식 12]로 표현될 수 있다.Let's define a hash (HASH) function that outputs digest information e when message information (Msg) is input as H(Msg). That is, the hash function result (e(m)) obtained by inputting the implicit certificate value (C-U) as the message information (Msg) value can be expressed by the following [Equation 12].

Figure 112019094661369-pat00014
Figure 112019094661369-pat00014

[수학식 12]에서 m을 1로부터 N까지로 설정하면 N개의 해쉬 함수값이 얻어진다. 제 2 서버(30)는 N개의 인증서 각각의 해쉬 함수값 및 제 2 서버(30)의 개인키값을 이용하여, N개의 개인키 재생용 정보값을 산출하게 된다.When m is set from 1 to N in [Equation 12], N hash function values are obtained. The second server 30 uses the hash function value of each of the N certificates and the private key value of the second server 30 to calculate the N private key reproduction information values.

구체적으로, 제 2 서버(30)는, 해쉬 함수 결과값(e(m)), 랜덤수 c값, 제 2 서버 자신의 개인키값(dCA)를 이용하여 공개키 내장값(I_QCA)을 다음의 [수학식 13]과 같이 산출할 수 있다.Specifically, the second server 30 uses the hash function result value (e(m)), the random number c value, and the second server's own private key value (d CA ) to obtain the public key built-in value (I_Q CA ) It can be calculated as in the following [Equation 13].

Figure 112019094661369-pat00015
Figure 112019094661369-pat00015

아울러, 제 2 서버(30)는, N개의 인증서 각각의 해쉬 함수값에 랜덤수 c를 곱한 값에, 제 2 서버(30)의 개인키값(dCA)을 더하여, N개의 개인키 재생용 정보값(r(m))을 다음의 [수학식 14]에 의해 산출할 수 있다.In addition, the second server 30 adds the private key value (d CA ) of the second server 30 to the value obtained by multiplying the hash function value of each of the N certificates by a random number c to reproduce the N pieces of private key reproduction information. The value r(m) can be calculated by the following [Equation 14].

Figure 112019094661369-pat00016
Figure 112019094661369-pat00016

[수학식 14]로부터 알 수 있는 바와 같이, N개의 개인키 재생용 정보값은, 제 2 서버(30)의 개인키값 정보를 이용하고 있다.As can be seen from [Equation 14], the N private key reproduction information values use the private key value information of the second server 30 .

제 2 서버(30)는 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 N개의 제 2-2 키에 의해 암호화하여 제 1 서버(20)로 송신한다. 아울러, 제 1 서버(20)는, 제 2 서버(30)로부터 수신한 암호화된 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 제 1 사용자 단말기(10)로 송신한다.The second server 30 encrypts the N implicit certificates and the N private key reproduction information values using the N 2-2 keys and transmits them to the first server 20 . In addition, the first server 20 transmits the encrypted N implicit certificates and N private key reproduction information values received from the second server 30 to the first user terminal 10 .

제 1 사용자 단말기(10)는, 다음의 [수학식 15]와 같이 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값(Q4(m))을 산출한다.The first user terminal 10 calculates N inverse encryption function values Q4(m) by using the random number p and the second expansion function as shown in Equation 15 below.

Figure 112019094661369-pat00017
Figure 112019094661369-pat00017

아울러, 제 1 사용자 단말기(10)는, N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보를 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보를 산출한다. In addition, the first user terminal 10 uses the N reverse encryption function values to reverse-encrypt the encrypted N certificates and N private key reproduction information to generate N certificates and N private key reproduction information. Calculate.

또한, 제 1 사용자 단말기(10)는, 랜덤수 a, 제 1 확장함수(f1(m)), N개의 인증서의 해쉬 함수값(e(m)) 및 N개의 개인키 재생용 정보(r(m))를 이용하여, 최종 개인키(B(m))를 다음의 [수학식 16]과 같이 산출한다.In addition, the first user terminal 10 includes a random number a, a first extension function f1(m), a hash function value of N certificates (e(m)), and N pieces of private key reproduction information r( m)), the final private key (B(m)) is calculated as in the following [Equation 16].

Figure 112019094661369-pat00018
Figure 112019094661369-pat00018

[수학식 16]의 최종 개인키값에 기저점 G를 곱한 값이 [수학식 13]의 공개키 내장값(I_QCA)값이 된다. 즉, [수학식 16]으로부터 알 수 있는 바와 같이, 최종 개인키값은 제 2 서버(40)로부터 수신한 N개의 묵시적 인증서의 해쉬 함수값, N개의 묵시적 인증서를 위해 제 1 사용자 단말기(10)가 초기에 생성한 랜덤수 a 값, 그리고 N개의 개인키 재생용 정보로부터 얻은 새로운 개인키값이다. The value obtained by multiplying the final private key value of [Equation 16] by the base point G becomes the public key built-in value (I_Q CA ) of [Equation 13]. That is, as can be seen from [Equation 16], the final private key value is a hash function value of N implicit certificates received from the second server 40, and the first user terminal 10 for N implicit certificates. It is a new private key value obtained from the initially generated random number a value and N pieces of private key reproduction information.

[수학식 13]은 [수학식 16]의 최종 개인키에 대응하여 제 2 서버(40)가 발급한 공개키 내장값이 되는 것이다. 즉, I_QCA = B(m)×G 값과 동일하며, B(m)은 확장함수 변수인 m 값에 대해 유일하게 제 1 사용자 단말기(10)가 연산하여 소유하는 유일한 개인키값이다.[Equation 13] becomes a public key built-in value issued by the second server 40 in response to the final private key of [Equation 16]. That is, I_Q CA = B(m) × G, and B(m) is the only private key value that the first user terminal 10 calculates and owns with respect to the value m, which is an extension function variable.

[수학식 15] 및 [수학식 16]으로부터 알 수 있는 바와 같이, 제 1 사용자 단말기(10)도 제 1 확장함수 및 제 2 확장함수를 연산할 수 있다. 제 1 사용자 단말기(10)에서 연산하는 제 1 확장함수 및 제 2 확장함수는 각각, 상술한 제 1 서버(20)에서 연산하는 제 1 확장함수 및 제 2 확장함수와 동일한 함수를 나타낸다.As can be seen from [Equation 15] and [Equation 16], the first user terminal 10 may also calculate the first extension function and the second extension function. The first extension function and the second extension function calculated by the first user terminal 10 represent the same functions as the first extension function and the second extension function operated by the first server 20, respectively.

[수학식 15] 및 [수학식 16]과 같이, 제 1 사용자 단말기(10)는 자신이 요청한 개수의 최종 묵시적 인증서 및 최종 개인키를 상위인증기관인 제 2 서버(30)로부터 프라이버시를 보장받으면서 그 발급을 완성할 수 있다. As shown in [Equation 15] and [Equation 16], the first user terminal 10 receives the requested number of final implicit certificates and final private keys from the second server 30, which is a higher authentication authority, while ensuring privacy. issuance can be completed.

여기서 N개의 최종 개인키는 제 1 사용자 단말기(10) 자체에서 이용하는 키이므로 개인키이고, N개의 최종 묵시적 인증서는 제 1 사용자 단말기(10)가 아닌 장치에서 이용하므로 공개키 추출을 위한 정보가 된다. 예를 들어, 제 1 사용자 단말기(10)가 문서에 개인키로 서명을 하면, 해당 문서를 전달받은 다른 사용자 단말기인 제 2 사용자 단말기(40)는 해당 개인키와 쌍을 이루는 묵시적 인증서와 제 2 서버의 공개키를 이용하여 제 1 사용자 단말기(10)의 개인키에 대응하는 공개키를 추출하고, 추출된 공개키를 이용하여 해당 문서의 무결성 검증 및 상대편 단말기인 제 1 사용자 단말기(10)의 인증을 판단할 수 있다.Here, the N final private keys are private keys because they are keys used by the first user terminal 10 itself, and the N final implicit certificates are used in devices other than the first user terminal 10, so they are information for public key extraction. . For example, when the first user terminal 10 signs a document with the private key, the second user terminal 40, which is another user terminal that has received the document, provides an implicit certificate paired with the corresponding private key and the second server. extracts a public key corresponding to the private key of the first user terminal 10 using the public key of can be judged

제 1 사용자 단말기(10)가 하나의 묵시적 인증서, 인증 콘텐츠의 정보, 최종 개인키에 의한 서명 정보를 제 2 사용자 단말기(40)로 전송하면, 제 2 사용자 단말기(40)는 이들 정보로부터 공개키를 추출하여야 한다. 인증 콘텐츠의 정보의 예로는 문서, 음악 등을 들 수 있다. 제 2 사용자 단말기(40)는, 제 1 사용자 단말기(10)로부터 수신한 1개의 인증서 및 미리 알고 있는 제 2 서버(30)의 공개키 정보를 이용하여, 1개의 최종 공개키(E_QCA)를 다음의 [수학식 17]과 같이 산출한다.When the first user terminal 10 transmits one implicit certificate, authentication content information, and signature information by the final private key to the second user terminal 40, the second user terminal 40 uses the public key from these information. should be extracted. Examples of the information of the authenticated content include documents, music, and the like. The second user terminal 40 generates one final public key (E_Q CA ) using one certificate received from the first user terminal 10 and the public key information of the second server 30 known in advance. It is calculated as in the following [Equation 17].

Figure 112019094661369-pat00019
Figure 112019094661369-pat00019

[수학식 17]에서, e(n)은 m=n에서의 인증서의 해쉬 함수값, D3(n)는 m=n에서의 제 3 키값, QCA는 제 2 서버(30)의 공개키값을 나타낸다. 아울러, 제 3 키값은 묵시적 인증서를 디코딩하여 얻은 좌표값이 된다. 즉, 1개의 최종 공개키는, 1개의 인증서의 해쉬 함수값과 1개의 인증서의 디코딩에 의해 산출된 값을 곱한 값;과 제 2 서버의 공개키값;을 더한 값이 된다.In [Equation 17], e(n) is the hash function value of the certificate at m=n, D3(n) is the third key value at m=n, Q CA is the public key value of the second server 30 indicates. In addition, the third key value becomes a coordinate value obtained by decoding the implicit certificate. That is, one final public key is a value obtained by multiplying the hash function value of one certificate by a value calculated by decoding one certificate; and the public key value of the second server.

본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)에서는, 묵시적 인증서의 발급을 위해, 제 3 키값을 인코딩 과정을 통해 옥텍 스트링으로 변환하고, 변환된 옥텍 스트링으로 하나의 묵시적 인증서를 생성하였다. 따라서, 옥텍 스트링 형태의 묵시적 인증서를 다시 디코딩하면 제 3 키에 대한 정보값으로 변환된다. 변환된 제 3 키값을 묵시적 인증서에 대한 해쉬 함수값과 곱한 후, 제 2 서버(30)의 공개키 정보값(QCA)을 더하여 최종적인 공개키값을 추출하게 된다. 대부분의 제 2 사용자 단말기(40)는 제 2 서버(30)의 공개키 인증서를 보유하게 되며, 공개키 인증서로부터 제 2 서버(30)의 공개키를 추출할 수 있다. 이로써 제 2 사용자 단말기(40)는 통신하고자 하는 제 1 사용자 단말기(10)로부터 묵시적 인증서를 수신한 후, 제 1 사용자 단말기(10)의 공개키를 용이하게 연산할 수 있다. 이러한 방법은 묵시적 인증서에 제 2 서버(30)의 서명 정보가 없어 적은 양의 정보를 가지는 인증서 발급 시스템을 만들 수 있기 때문에 네트워크 부담을 줄일 수 있는 장점이 있다. 비록 묵시적 인증서에 제 2 서버(30)의 공개키 인증서가 없다 하더라도, 제 2 사용자 단말기(40)가 제 2 사용자 단말기(10)의 공개키를 추출하기 위해 제 2 서버(30)의 공개키 인증서를 저장하고 있다가 사용할 수 있어 추출되는 공개키에 대한 제 2 서버(30)의 서명 인증은 이루어질 수 있다. In the system 100 for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention, for issuance of an implicit certificate, the third key value is converted into an octek string through an encoding process, and into the converted octek string One implicit certificate was created. Accordingly, when the implicit certificate in the form of an octek string is decoded again, it is converted into an information value for the third key. After multiplying the converted third key value by the hash function value for the implicit certificate, the public key information value (Q CA ) of the second server 30 is added to extract the final public key value. Most of the second user terminals 40 have the public key certificate of the second server 30 and can extract the public key of the second server 30 from the public key certificate. Accordingly, the second user terminal 40 can easily calculate the public key of the first user terminal 10 after receiving the implicit certificate from the first user terminal 10 to communicate with. This method has an advantage in that the network load can be reduced because the implicit certificate does not contain the signature information of the second server 30 and thus a certificate issuing system having a small amount of information can be created. Even if there is no public key certificate of the second server 30 in the implicit certificate, the public key certificate of the second server 30 in order for the second user terminal 40 to extract the public key of the second user terminal 10 Since it can be stored and used, the signature authentication of the second server 30 for the extracted public key can be performed.

하기에 제 1 사용자 단말기(10) 및 제 1 서버(20)에 의해 연산되는 제 1 암호화 함수에 대해 구체적으로 설명하기로 한다.Hereinafter, the first encryption function calculated by the first user terminal 10 and the first server 20 will be described in detail.

도 2는 제 1 암호화 함수에 의한 연산 흐름도를 나타낸다.2 shows a flowchart of an operation by the first encryption function.

도 2로부터 알 수 있는 바와 같이, 제 1 암호화 함수에 의한 암호화는, (S100) S값을 이용하여, 해당 k번째 라운드키(Rk)를 산출하는 단계; 및 (S200) S100 단계에서 산출된 해당 k번째 라운드키(Rk)와 T값을 이용하여 암호화된 출력을 생성하는 단계;를 포함한다. As can be seen from FIG. 2 , the encryption by the first encryption function includes the steps of (S100) calculating the k-th round key (R k ) using the S value; and (S200) generating an encrypted output using the k-th round key (R k ) calculated in step S100 and the value T.

[수학식 2]로부터 알 수 있는 바와 같이, 제 1 확장함수가 제 1 암호화 함수를 이용시, S값은 제 1 대칭키값이고, T값은, 1 번째 제 1 정보값 내지 N 번째 제 1 정보값 중 하나;와 1 내지 3 중 하나;를 더한 값이 된다. 마찬가지로, [수학식 6]으로부터 알 수 있는 바와 같이, 제 2 확장함수가 제 1 암호화 함수를 이용시, S값은 제 2 대칭키값이고, T값은, 1 번째 제 2 정보값 내지 N 번째 제 2 정보값 중 하나;와 1 내지 3 중 하나;를 더한 값이 된다. 즉, S값과 T값은 입력으로서 주어진다.As can be seen from [Equation 2], when the first expansion function uses the first encryption function, the S value is the first symmetric key value, and the T value is the first first information value to the N-th first information value. One of; and one of 1 to 3; Similarly, as can be seen from [Equation 6], when the second expansion function uses the first encryption function, the S value is the second symmetric key value, and the T value is the first second information value to the N-th second information value. It is a value obtained by adding one of the information values and one of 1 to 3. That is, the S and T values are given as inputs.

도 3은 S100 단계의 구체적인 흐름도이다.3 is a detailed flowchart of step S100.

도 3으로부터 알 수 있는 바와 같이, S100 단계는, (S110) S를 32비트의 워드 단위인 Sb0, Sb0+1, Sb0+2 및 Sb0+3로 분리하고, Sb0, Sb0+1, Sb0+2 및 Sb0+3 각각과 미리 설정된 값 Fb0, Fb0+1, Fb0+2 및 Fb0+3를 각각 연산하여, 초기 4개의 키 Ub0, Ub0+1, Ub0+2 및 Ub0+3를 출력하는 단계; (S120) Uk+1, Uk+2 및 Uk+3과 상수 Vk를 연속적으로 X-OR 연산하는 단계; (S130) S120 단계의 결과를 비선형 함수에 의해 변환하는 단계; (S140) S130 단계의 결과를 선형 함수에 의해 변환하는 단계; 및 (S150) Uk와 S140 단계의 결과를 X-OR 연산하여, Uk+4를 산출하는 단계;를 포함한다. S100 단계는, S115 단계, S160 단계 및 S170 단계에 의해 k를 b0로부터 (b0+31)까지 1씩 증가시키면서, S120 단계 내지 S150 단계를 반복적으로 실시하게 된다..As can be seen from FIG. 3 , in step S100, (S110) S is divided into 32-bit word units S b0 , S b0+1 , S b0+2 and S b0+3 , and S b0 , S b0 +1 , S b0+2 and S b0+3 , respectively, and preset values F b0 , F b0+1 , F b0+2 and F b0+3 are calculated, respectively, and the initial four keys U b0 , U b0+1 , U b0+2 and U b0+3 output; (S120) sequentially X-ORing U k+1 , U k+2 and U k+3 and a constant V k ; (S130) converting the result of step S120 by a non-linear function; (S140) converting the result of step S130 by a linear function; and (S150) performing an X-OR operation on the results of U k and S140 to calculate U k+4 . In step S100, steps S120 to S150 are repeatedly performed while increasing k by 1 from b0 to (b0+31) by steps S115, S160 and S170.

아울러, S150 단계의 Uk+4를 해당 k번째 라운드키(Rk)로서 산출한다. 또한, b0는 미리 설정된 정수인 것이 바람직하다. 예를 들면 b0는 0으로 설정될 수 있다.In addition, U k+4 of step S150 is calculated as the corresponding k-th round key (R k ). In addition, it is preferable that b0 is a preset integer. For example, b0 may be set to 0.

S110 단계에서의 초기 4개의 키 Ub0, Ub0+1, Ub0+2 및 Ub0+3는 각각, Sb0, Sb0+1, Sb0+2 및 Sb0+3 각각과 미리 설정된 값 Fb0, Fb0+1, Fb0+2 및 Fb0+3의 X-OR 연산에 의해 산출되는 것을 특징으로 한다. S130 단계의 비선형 함수는, 예를 들면 미리 설정된 대응 테이블 등을 이용할 수 있다. 아울러, S140 단계의 선형 함수는, 시프트 연산을 예로 들 수 있다.The initial four keys U b0 , U b0+1 , U b0+2 and U b0+3 in step S110 are respectively S b0 , S b0+1 , S b0+2 and S b0+3 and preset values, respectively. It is characterized in that it is calculated by X-OR operation of F b0 , F b0+1 , F b0+2 and F b0+3 . The nonlinear function of step S130 may use, for example, a preset correspondence table. In addition, the linear function of step S140 may be a shift operation as an example.

S100 단계는, S130 단계의 비선형 함수에 의한 변환 이후, S140 단계의 선형 함수에 의한 변환을 실시하는 것에 의해 더욱 강력한 암호화 성능을 발휘할 수 있다.In step S100, after the transformation by the non-linear function in the step S130, the transformation by the linear function in the step S140 is performed to exhibit stronger encryption performance.

도 4는 S300 단계의 구체적인 흐름도이다.4 is a detailed flowchart of step S300.

도 4로부터 알 수 있는 바와 같이, S200 단계는, (S210) T를 32비트의 워드 단위인 Td0, Td0+1, Td0+2 및 Td0+3로 분리하는 단계; (S220) Tk+1, Tk+2 및 Tk+3과 k번째 라운드키(Rk)를 연속적으로 X-OR 연산하는 단계; (S230) S220 단계의 결과를 비선형 함수에 의해 변환하는 단계; (S240) S230 단계의 결과를 선형 함수에 의해 변환하는 단계; 및 (S250) Tk와 S240 단계의 결과를 X-OR 연산하여, Tk+4를 산출하는 단계;를 포함한다. 아울러, S200 단계는, S215 단계, S260 단계 및 S270 단계에 의해 k를 d0로부터 (d0+31)까지 1씩 증가시키면서, S220 단계 내지 S250 단계를 반복적으로 실시하고, 최종적으로 (Td0+31+4, Td0+31+3, Td0+31+2, Td0+31+1)를 출력한다. d0는 미리 설정된 정수로서, 예를 들면 0으로 설정될 수 있다.As can be seen from FIG. 4 , step S200 includes (S210) separating T into 32-bit word units T d0 , T d0+1 , T d0+2 and T d0+3 ; (S220) sequentially X-ORing T k+1 , T k+2 and T k+3 and the k-th round key (R k ); (S230) converting the result of step S220 by a non-linear function; (S240) converting the result of step S230 by a linear function; and (S250) performing an X-OR operation on the results of T k and S240 to calculate T k+4 . In addition, in step S200, while increasing k by 1 from d0 to (d0+31) by steps S215, S260 and S270, steps S220 to S250 are repeatedly performed, and finally (T d0+31+ 4 , T d0+31+3 , T d0+31+2 , T d0+31+1 ). d0 is a preset integer, and may be set to, for example, 0.

S100 단계와 마찬가지로 S200 단계도, S230 단계의 비선형 함수에 의한 변환 이후, S240 단계의 선형 함수에 의한 변환을 실시하는 것에 의해 더욱 강력한 암호화 성능을 발휘할 수 있다. Similar to the step S100, the step S200 can exhibit stronger encryption performance by performing the transformation by the linear function in the step S240 after the transformation by the non-linear function in the step S230.

S230 단계의 비선형 함수는, 예를 들면 미리 설정된 대응 테이블 등을 이용할 수 있다. 아울러, S240 단계의 선형 함수는, 시프트 연산을 예로 들 수 있다.The nonlinear function of step S230 may use, for example, a preset correspondence table. In addition, the linear function of step S240 may be a shift operation as an example.

하기에 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법에 대해 설명하기로 한다.Hereinafter, a method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention will be described.

본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은 상술한 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)을 이용하므로, 별도의 설명이 없더라도, 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100)의 특징을 모두 포함하고 있음은 물론이다.The method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention uses the plurality of implicit certificate issuance systems 100 using the above-described extension function. Of course, it includes all the features of the implicit certificate issuing system 100 of

본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S11) 제 1 사용자 단말기(10)가, 제 1 사용자 단말기(10)의 식별 정보, 랜덤수 a와 타원곡선 방정식상의 기저점 G를 곱한 값 aG, 랜덤수 p와 타원곡선 방정식 상의 기저점 G를 곱한 값 pG, 제1 대칭키, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을, 제 1 서버(20)로 전송하는 단계;를 포함한다.In the method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention, (S11) the first user terminal 10 includes the identification information of the first user terminal 10, the random number a and the elliptic curve The value aG multiplied by the base point G in the equation, the random number p multiplied by the base point G in the elliptic curve equation, pG, the first symmetric key, the second symmetric key, the first index information, the second index information, and the number of certificates and transmitting the N value of , to the first server 20 .

아울러, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S21) 제 1 서버(20)가, 제 1 사용자 단말기(10)로부터 제 1 사용자 단말기(10)의 식별 정보, 랜덤수 a와 타원곡선 방정식상의 기저점 G를 곱한 값 aG, 랜덤수 p와 타원곡선 방정식 상의 기저점 G를 곱한 값 pG, 제 1 대칭키, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 수신하는 단계; (S22) 제 1 서버(20)가, 제 1 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 입력으로 하는 제 1 확장함수; 및 aG값;을 이용하여, N개의 제 2-1 키를 생성하는 단계; (S23) 제 1 서버(20)가, 제 2 대칭키, 제 1 인덱스 정보, 제 2 인덱스 정보 및 인증서의 개수 정보인 N값을 입력으로 하는 제 2 확장함수; 및 pG값;을 이용하여, N개의 제 2-2 키를 생성하는 단계; 및 (S24) 제 1 서버(20)가, N개의 제 2-1 키 및 N개의 제 2-2 키를 제 2 서버(30)로 전송하는 단계;를 더 포함한다.In addition, in the method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention, (S21) the first server 20, the first user terminal 10 from the first user terminal 10 identification information, a value aG multiplied by a random number a and a base point G on the elliptic curve equation, a value pG multiplied by a random number p and a base point G on the elliptic curve equation, first symmetric key, second symmetric key, first index information; receiving second index information and an N value that is information on the number of certificates; (S22) a first extension function in which the first server 20 inputs the first symmetric key, the first index information, the second index information, and the N value, which is information on the number of certificates; and aG value; generating N 2-1 keys; (S23) a second extension function in which the first server 20 receives the second symmetric key, the first index information, the second index information, and the N value, which is information on the number of certificates; and pG value; generating N 2-2 keys; and (S24) transmitting, by the first server 20, the N 2-1 keys and the N 2-2 keys to the second server 30;

또한, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S31) 제 2 서버(30)가, 제 1 서버(20)로부터 N개의 제 2-1 키 및 N개의 제 2-2 키를 수신하는 단계; (S32) 제 2 서버(30)가, 타원곡선 암호 알고리즘에 의해 결정된 타원곡선 상의 어느 한점의 좌표인 기저점에 랜덤수 c를 곱한 값에, N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출하는 단계; (S33) 제 2 서버(30)가, N개의 제 3 키의 값을 인코딩에 의해 N개의 인증서인 N개의 옥텍 스트링(OCTET STRING)으로 변환하고, N개의 인증서 각각의 해쉬 함수값 및 제 2 서버(30)의 개인키값을 이용하여, N개의 개인키 재생용 정보값을 산출하는 단계; 및 (S34) 제 2 서버(30)가 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 N개의 제 2-2 키에 의해 암호화하여 제 1 서버(20)로 송신하는 단계;를 더 포함하는 것을 특징으로 한다.In addition, in the method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention, (S31) the second server 30 receives the N 2-1 keys and N numbers from the first server 20 receiving a 2-2 key; (S32) The second server 30 adds N 2-1 keys to a value obtained by multiplying a base point, which is a coordinate of a point on an elliptic curve determined by an elliptic curve encryption algorithm, by a random number c, calculating a third key; (S33) The second server 30 converts the values of the N third keys into N OCTET STRINGs that are N certificates by encoding, and the hash function values of each of the N certificates and the second server using the private key value of (30) to calculate N private key reproduction information values; and (S34) the second server 30 encrypting the N implicit certificates and N private key reproduction information values using the N 2-2 keys and transmitting them to the first server 20; characterized in that

아울러, N개의 개인키 재생용 정보값은, N개의 인증서 각각의 해쉬 함수값에 랜덤수 c를 곱한 값에, 제 2 서버(30)의 개인키값을 더한 값인 것을 특징으로 한다.In addition, the N number of private key reproduction information values is a value obtained by multiplying the hash function value of each of the N certificates by a random number c, and it is characterized in that it is a value obtained by adding the private key value of the second server 30 .

바람직하게는, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S25) 제 1 서버(20)가, 제 2 서버(30)로부터 암호화된 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 수신하는 단계; 및 (S26) 제 1 서버(20)가, 암호화된 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 제 1 사용자 단말기(10)로 전송하는 단계;를 더 포함하는 것을 특징으로 한다.Preferably, in the method for issuing a plurality of implicit certificates using an extension function according to an embodiment of the present invention, (S25) the first server 20 includes N implicit certificates encrypted from the second server 30 and receiving N private key reproduction information values; and (S26) transmitting, by the first server 20, encrypted N implicit certificates and N private key reproduction information values to the first user terminal 10;

아울러, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S12) 제 1 사용자 단말기(10)가 암호화된 N개의 묵시적 인증서 및 N개의 개인키 재생용 정보값을 제 1 서버(20)로부터 수신하는 단계; (S13) 제 1 사용자 단말기(10)가, 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하는 단계; (S14) 제 1 사용자 단말기(10)가, N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보를 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보를 산출하는 단계; (S15) 제 1 사용자 단말기(10)가, 랜덤수 a, 제 1 확장함수, N개의 인증서의 해쉬 함수값 및 N개의 개인키 재생용 정보를 이용하여, 최종 개인키를 산출하는 단계; 및 (S16) 제 1 사용자 단말기(10)가 제 2 사용자 단말기(40)로, 1개의 인증서를 송신하는 단계;를 더 포함하는 것을 특징으로 한다.In addition, in the method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention, (S12) the first user terminal 10 obtains encrypted N implicit certificates and N private key reproduction information values. receiving from the first server 20; (S13) calculating, by the first user terminal 10, N inverse encryption function values using the random number p and the second expansion function; (S14) The first user terminal 10 reverse-encrypts the encrypted N certificates and N private key reproduction information by using the N inverse encryption function values to reproduce N certificates and N private key reproduction information. calculating ; (S15) calculating, by the first user terminal 10, the final private key by using the random number a, the first expansion function, the hash function values of the N certificates, and the N pieces of information for reproducing the private key; and (S16) transmitting, by the first user terminal 10 to the second user terminal 40, one certificate.

아울러, 본 발명의 바람직한 일실시예에 따른 확장함수를 이용한 복수의 묵시적 인증서 발급 방법은, (S41) 제 2 사용자 단말기(40)가 제 1 사용자 단말기(10)로부터, 1개의 인증서를 수신하는 단계; 및 (S42) 제 2 사용자 단말기(40)가, 제 1 사용자 단말기(10)로부터 수신한 1개의 인증서 및 미리 알고 있는 제 2 서버(20)의 공개키 정보를 이용하여, 1개의 최종 공개키를 산출하는 단계;를 더 포함하는 것이 바람직하다.In addition, the method for issuing a plurality of implicit certificates using an extension function according to a preferred embodiment of the present invention includes the steps of (S41) receiving, by the second user terminal 40, one certificate from the first user terminal 10 ; and (S42) the second user terminal 40 generates one final public key using the one certificate received from the first user terminal 10 and the known public key information of the second server 20 in advance. It is preferable to further include a step of calculating;

본 발명의 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100) 및 그 발급 방법의 특징에 대해 하기에 정리하기로 한다.The features of the plurality of implicit certificate issuance system 100 and the issuance method using the extension function of the present invention will be summarized below.

본 발명에서는, N개의 제 2-1 키 및 N개의 제 2-2 키의 키를 전달받은 상위인증기관인 제 2 서버(30)는, 최종적인 복수의 공개키 인증서를 발급하는 역할을 한다. 제 2 서버(30)는, 어느 제 1 사용자 단말기(10)가 인증서 발급을 요청했는지 분별할 수 없는 상황이 된다.In the present invention, the second server 30, which is a higher level authentication authority, which has received the N 2-1 keys and the N 2-2 keys keys, serves to issue a plurality of final public key certificates. The second server 30 is in a situation where it cannot distinguish which first user terminal 10 has requested the certificate issuance.

이에 반해 제 1 서버(20)는, 인증서 발급을 요청한 제 1 사용자 단말기(10)의 식별 정보, 제 1 확장함수 및 제 2 확장함수를 이용하는 제 1 대칭키 및 제 2 대칭키를 알 수 있어, 제 1 사용자 단말기(10)에 대한 중요한 정보를 확보하고 있는 상황이다. 이에 따라 제 1 서버(20)에서의 보안의 문제가 발생할 수 있으므로, 제 2 서버(30)는 전달받은 N개의 제 2-1 키에 타원곡선 상의 어느 한점의 좌표인 기저점에 랜덤수 c를 곱한 값을 더하는 것에 의해, 새로운 공개키인 제 3 키를 설정하여 제 1 서버(20)에 대한 보안을 강화한다. 즉, 새로운 공개키인 제 3 키의 설정으로 제 1 서버(20)가 알고 있는 공개키인 제 2-2 키와는 다른 새로운 공개키 인증서를 제 1 사용자 단말기(10)에 전달할 수 있다. 따라서, 제 1 서버(20)는 결국 제 1 사용자 단말기(10)가 최종 발행한 공개키 정보를 알 수 없으며, 제 2 서버(30)는 제 1 서버(20)가 전송한 공개키인 제 2-2 키와 제 1 사용자 단말기(10)의 식별번호의 상관 관계를 알수 없어 어떤 제 1 사용자 단말기(10)에 해당하는 인증서인지를 알 수 없게 된다. 즉, 개인 정보 보호를 강화할 수 있다.On the other hand, the first server 20 can know the identification information of the first user terminal 10 requesting the certificate issuance, the first symmetric key and the second symmetric key using the first extension function and the second extension function, It is a situation in which important information about the first user terminal 10 is secured. Accordingly, since a security problem in the first server 20 may occur, the second server 30 assigns a random number c to the base point, which is the coordinate of any one point on the elliptic curve, to the received N 2-1 keys. By adding the multiplied value, a third key, which is a new public key, is set to enhance security for the first server 20 . That is, by setting the third key, which is a new public key, a new public key certificate different from the 2-2 key, which is a public key known by the first server 20 , may be transmitted to the first user terminal 10 . Accordingly, the first server 20 cannot know the public key information finally issued by the first user terminal 10, and the second server 30 is the second server 30 that is the public key transmitted by the first server 20. Because the correlation between the -2 key and the identification number of the first user terminal 10 is unknown, it is impossible to know which certificate corresponds to the first user terminal 10 . In other words, the protection of personal information can be strengthened.

즉, 본 발명에 따르면 다음과 같은 목적을 달성할 수 있다.That is, according to the present invention, the following objects can be achieved.

(1) 최초로 복수의 공개키 인증서를 요청한 제 1 사용자 단말기(10)는, 상위인증기관인 제 2 서버(30)로부터 최종적인 복수의 공개키 인증서를 발급받을 수 있다.(1) The first user terminal 10, which initially requested a plurality of public key certificates, may receive a final plurality of public key certificates from the second server 30, which is a higher-level certification authority.

(2) 또한, 제 1 사용자 단말기(10)는, 복수의 공개키 인증서에서 대응하는 복수의 개인키를 산출하여 확보할 수 있다.(2) Also, the first user terminal 10 may calculate and secure a plurality of corresponding private keys from a plurality of public key certificates.

(3) 아울러, 제 1 사용자 단말기(10)만이 최종적인 개인키에 대한 정보를 갖게 된다.(3) In addition, only the first user terminal 10 has information about the final private key.

(4) 등록인증기관인 제 1 서버(20)는 최종 공개키 인증서의 공개키값을 전혀 알 수 없다.(4) The first server 20, which is a registered certification authority, cannot know the public key value of the final public key certificate.

(5) 상위인증기관인 제 2 서버(30)는 여러 제 1 사용자 단말기(10)로부터 요청받은 복수의 인증서에 각각에 대해 요청한 제 1 사용자 단말기(10)를 구분할 수 없다. 즉, 제 1 사용자 단말기(10)의 프라이버시가 보장된다.(5) The second server 30, which is a higher-level certification authority, cannot distinguish the first user terminals 10 requested for each of the plurality of certificates requested from several first user terminals 10 . That is, the privacy of the first user terminal 10 is guaranteed.

상술한 바와 같이, 본 발명의 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템(100) 및 그 발급 방법에 따르면, 상위인증기관인 제 2 서버(30)에서 인증서 요청자인 제 1 사용자 단말기(10)의 식별 정보를 취득하지 않고, 최종적인 개인키의 정보는 인증서 요청자만이 알 수 있어, 개인 정보 보호를 강 화할 수 있음을 알 수 있다.As described above, according to the plurality of implicit certificate issuance system 100 and its issuance method using the extension function of the present invention, the identification of the first user terminal 10, which is the certificate requester, in the second server 30, which is a higher level certification authority. Without acquiring information, only the certificate requestor can know the final private key information, so it can be seen that the protection of personal information can be strengthened.

100 : 인증서 발급 시스템
10 : 제 1 사용자 단말기
20 : 제 1 서버
30 : 제 2 서버
40 : 제 2 사용자 단말기
100: Certificate issuance system
10: first user terminal
20: first server
30: second server
40: second user terminal

Claims (26)

인증서 발급 시스템에 있어서,
제 1 사용자 단말기;를 포함하되,
상기 제 1 사용자 단말기는,
랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하고,
상기 N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보값을 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보값을 산출하되,
상기 N개의 개인키 재생용 정보값은,
상기 제 1 사용자 단말기가 최종 개인키를 산출하기 위해 이용하는 값인 것을 특징으로 하는 인증서 발급 시스템.
In the certificate issuance system,
A first user terminal; including,
The first user terminal,
Using the random number p and the second expansion function, N number of inverse encryption function values are calculated,
Using the N de-encryption function values, reverse-encrypt the encrypted N certificates and N private key reproduction information values to calculate N certificate and N private key reproduction information values,
The N private key reproduction information values are,
The certificate issuance system, characterized in that it is a value used by the first user terminal to calculate the final private key.
제1항에 있어서,
상기 제 2 확장함수는,
타원곡선 방정식의 차수 값으로 1 번째 제 2 내부 함수값을 나눈 나머지값을 1 번째 제 2 확장함수값으로 산출되되,
상기 1 번째 제 2 내부 함수값은,
랜덤수인 제 2 대칭키 및 1 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, 1 번째 제 1 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이고,
상기 1 번째 제 2 정보값은,
N개의 인증서에 대한 인덱스에 해당하는 정보인 제 1 인덱스 정보 및 제 2 인덱스 정보를 이용하여 산출된 값인 것을 특징으로 하는 인증서 발급 시스템.
According to claim 1,
The second extension function is
The remainder of dividing the first and second internal function values by the order value of the elliptic curve equation is calculated as the first and second expansion function values,
The first and second internal function values are,
The second symmetric key, which is a random number, and the value obtained by adding 1 to 3 to the first second information value are encrypted by the first encryption function, respectively, and then to the value obtained by adding 1 to 3 to the first first information value and X- It is a value output by concatenating the result of OR operation and X-OR operation,
The first and second information values are,
A system for issuing certificates, characterized in that the values are calculated using first index information and second index information, which are information corresponding to indexes for N certificates.
제2항에 있어서,
상기 제 2 확장함수는,
상기 타원곡선 방정식의 차수 값으로 w 번째 제 2 내부 함수값을 나눈 나머지값을 w 번째 제 2 확장함수값으로 산출되되,
상기 w 번째 제 2 내부함수값은,
상기 제 2 대칭키 및 w-1 번째 제 2 정보값을 이용하여 산출된 w 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 상기 제 1 암호화 함수에 의해 암호한 후, w 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이고,
상기 w는,
2 이상이고 N 이하인 자연수인 것을 특징으로 하는 인증서 발급 시스템.
3. The method of claim 2,
The second extension function is
The residual value obtained by dividing the w-th second internal function value by the order value of the elliptic curve equation is calculated as the w-th second extension function value,
The w-th second internal function value is,
After each value obtained by adding 1 to 3 to the w-th second information value calculated using the second symmetric key and the w-1 second information value is encrypted by the first encryption function, the w-th second information It is a value outputted by performing X-OR operation with the value added 1 to 3, and linking the result of the X-OR operation,
wherein w is,
A certificate issuance system, characterized in that it is a natural number that is greater than or equal to 2 and less than or equal to N.
제3항에 있어서,
상기 제 1 암호화 함수에 의한 암호화는,
(S100) S값을 이용하여, 해당 k번째 라운드키(Rk)를 산출하는 단계; 및
(S200) 상기 S100 단계에서 산출된 해당 k번째 라운드키(Rk)와 T값을 이용하여 암호화된 출력을 생성하는 단계;를 포함하되,
상기 S값은,
상기 제 2 대칭키값이고,
상기 T값은,
1 번째 제 2 정보값 내지 N 번째 제 2 정보값 중 하나;와
1 내지 3 중 하나;를 더한 값인 것을 특징으로 하는 인증서 발급 시스템.
4. The method of claim 3,
Encryption by the first encryption function,
(S100) calculating the k-th round key (R k ) by using the S value; and
(S200) generating an encrypted output using the k-th round key (R k ) and T value calculated in step S100;
The S value is
the second symmetric key value,
The T value is
one of the first second information value to the N-th second information value; and
One of 1 to 3; Certificate issuing system, characterized in that the value added.
제4항에 있어서,
상기 S100 단계는,
(S110) S를 32비트의 워드 단위인 Sb0, Sb0+1, Sb0+2 및 Sb0+3로 분리하고, Sb0, Sb0+1, Sb0+2 및 Sb0+3 각각과 미리 설정된 값 Fb0, Fb0+1, Fb0+2 및 Fb0+3를 각각 연산하여, 초기 4개의 키 Ub0, Ub0+1, Ub0+2 및 Ub0+3를 출력하는 단계;
(S120) Uk+1, Uk+2 및 Uk+3과 상수 Vk를 연속적으로 X-OR 연산하는 단계;
(S130) 상기 S120 단계의 결과를 비선형 함수에 의해 변환하는 단계;
(S140) 상기 S130 단계의 결과를 선형 함수에 의해 변환하는 단계; 및
(S150) Uk와 S140 단계의 결과를 X-OR 연산하여, Uk+4를 산출하는 단계;를 포함하되,
k를 b0로부터 (b0+31)까지 1씩 증가시키면서, S120 단계 내지 S150 단계를 반복적으로 실시하고,
상기 S150 단계의 Uk+4를 해당 k번째 라운드키(Rk)로서 산출하되,
상기 b0는, 미리 설정된 정수인 것을 특징으로 하는 인증서 발급 시스템.
5. The method of claim 4,
The step S100 is,
(S110) Separating S into 32-bit word units S b0 , S b0+1 , S b0+2 and S b0+3 , S b0 , S b0+1 , S b0+2 and S b0+3 respectively and preset values F b0 , F b0+1 , F b0+2 and F b0+3 , respectively, to output the initial four keys U b0 , U b0+1 , U b0+2 and U b0+3 . step;
(S120) sequentially X-ORing U k+1 , U k+2 and U k+3 and a constant V k ;
(S130) converting the result of step S120 by a nonlinear function;
(S140) converting the result of step S130 by a linear function; and
(S150) performing an X-OR operation on the results of steps U k and S140 to calculate U k+4 ;
Repeat steps S120 to S150 while increasing k by 1 from b0 to (b0+31),
Calculate U k+4 of step S150 as the corresponding k-th round key (R k ),
wherein b0 is a preset integer.
제4항에 있어서,
상기 S200 단계는,
(S210) T를 32비트의 워드 단위인 Td0, Td0+1, Td0+2 및 Td0+3로 분리하는 단계;
(S220) Tk+1, Tk+2 및 Tk+3과 k번째 라운드키(Rk)를 연속적으로 X-OR 연산하는 단계;
(S230) 상기 S220 단계의 결과를 비선형 함수에 의해 변환하는 단계;
(S240) 상기 S230 단계의 결과를 선형 함수에 의해 변환하는 단계; 및
(S250) Tk와 상기 S240 단계의 결과를 X-OR 연산하여, Tk+4를 산출하는 단계;를 포함하고,
k를 d0로부터 (d0+31)까지 1씩 증가시키면서, S220 단계 내지 S250 단계를 반복적으로 실시하고,
최종적으로 (Td0+31+4, Td0+31+3, Td0+31+2, Td0+31+1)를 출력하되,
상기 d0는, 미리 설정된 정수인 것을 특징으로 하는 인증서 발급 시스템.
5. The method of claim 4,
The step S200 is,
(S210) separating T into 32-bit word units T d0 , T d0+1 , T d0+2 and T d0+3 ;
(S220) sequentially X-ORing T k+1 , T k+2 and T k+3 and the k-th round key (R k );
(S230) converting the result of step S220 by a nonlinear function;
(S240) converting the result of step S230 by a linear function; and
(S250) performing an X-OR operation on T k and the result of step S240 to calculate T k+4 ;
Repeat steps S220 to S250 while increasing k by 1 from d0 to (d0+31),
Finally, output (T d0+31+4 , T d0+31+3 , T d0+31+2 , T d0+31+1 ),
wherein d0 is a preset integer.
제1항에 있어서,
상기 제 1 사용자 단말기는,
랜덤수 a, 제 1 확장함수, N개의 인증서의 해쉬 함수값 및 상기 N개의 개인키 재생용 정보값을 이용하여, 최종 개인키를 산출하는 것을 특징으로 하는 인증서 발급 시스템.
According to claim 1,
The first user terminal,
A system for issuing a certificate, characterized in that the final private key is calculated by using the random number a, the first extension function, the hash function values of the N certificates, and the N pieces of information for reproducing the private key.
제1항에 있어서,
상기 제 1 사용자 단말기는,
제 2 사용자 단말기로, 1개의 인증서를 송신하는 것을 특징으로 하는 인증서 발급 시스템.
According to claim 1,
The first user terminal,
A certificate issuance system, characterized in that one certificate is transmitted to the second user terminal.
제8항에 있어서,
상기 제 2 사용자 단말기는,
상기 제 1 사용자 단말기로부터 수신한 1개의 인증서 및 미리 알고 있는 제 2 서버의 공개키값을 이용하여, 1개의 최종 공개키를 산출하는 것을 특징으로 하는 인증서 발급 시스템.
9. The method of claim 8,
The second user terminal,
and calculating one final public key by using the one certificate received from the first user terminal and the public key value of the second server known in advance.
제9항에 있어서,
상기 1개의 최종 공개키는,
상기 1개의 인증서의 해쉬 함수값과 상기 1개의 인증서의 디코딩에 의해 산출된 값을 곱한 값;과,
상기 제 2 서버의 공개키값;을 더한 값인 것을 특징으로 하는 인증서 발급 시스템.
10. The method of claim 9,
The one final public key is,
A value obtained by multiplying the hash function value of the one certificate by a value calculated by decoding the one certificate; and
The certificate issuance system, characterized in that it is a value obtained by adding the public key value of the second server.
제1항에 있어서,
상기 인증서 발급 시스템은,
제 2 서버;를 더 포함하되,
상기 제 2 서버는,
타원곡선 방정식상의 기저점 G에 랜덤수 c를 곱한 값에, 제 1 서버로부터 수신한 N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출하는 것을 특징으로 하는 인증서 발급 시스템.
According to claim 1,
The certificate issuance system,
A second server; further comprising,
The second server,
A certificate issuance system, characterized in that the N third keys are calculated by adding the N number 2-1 keys received from the first server to the value obtained by multiplying the base point G on the elliptic curve equation by the random number c.
제11항에 있어서,
상기 제 2 서버는,
N개의 제 3 키의 값을 인코딩에 의해 N개의 인증서인 N개의 옥텍 스트링(OCTET STRING)으로 변환하고, 상기 N개의 인증서 각각의 해쉬 함수값 및 상기 제 2 서버의 개인키값을 이용하여, 상기 N개의 개인키 재생용 정보값을 산출하는 것을 특징으로 하는 인증서 발급 시스템.
12. The method of claim 11,
The second server,
The N third key values are converted into N OCTET STRINGs that are N certificates by encoding, and using the hash function value of each of the N certificates and the private key value of the second server, the N A system for issuing a certificate, characterized in that it calculates an information value for reproducing the private key.
제12항에 있어서,
상기 N개의 개인키 재생용 정보값은 각각,
상기 N개의 인증서 각각의 해쉬 함수값 각각에 랜덤수 c를 곱한 값에, 상기 제 2 서버의 개인키값을 더한 값인 것을 특징으로 하는 인증서 발급 시스템.
13. The method of claim 12,
Each of the N private key reproduction information values,
and a value obtained by multiplying each hash function value of each of the N certificates by a random number c and adding the private key value of the second server.
인증서 발급 방법에 있어서,
(S13) 제 1 사용자 단말기가, 랜덤수 p와 제 2 확장함수를 이용하여, N개의 역암호화 함수값을 산출하는 단계; 및
(S14) 제 1 사용자 단말기가, 상기 N개의 역암호화 함수값을 이용하여, 암호화된 N개의 인증서 및 N개의 개인키 재생용 정보값을 역암호화하여 N개의 인증서 및 N개의 개인키 재생용 정보값을 산출하는 단계;를 포함하되,
상기 N개의 개인키 재생용 정보값은,
상기 제 1 사용자 단말기가 최종 개인키를 산출하기 위해 이용하는 값인 것을 특징으로 하는 인증서 발급 방법.
In the certificate issuance method,
(S13) calculating, by the first user terminal, N inverse encryption function values using the random number p and the second expansion function; and
(S14) The first user terminal reverse-encrypts the encrypted N certificates and N private key reproduction information values by using the N inverse encryption function values to reproduce N certificates and N private key reproduction information values. Including;
The N private key reproduction information values are,
A method for issuing a certificate, characterized in that the first user terminal is a value used to calculate the final private key.
제14항에 있어서,
상기 제 2 확장함수는,
타원곡선 방정식의 차수 값으로 1 번째 제 2 내부 함수값을 나눈 나머지값을 1 번째 제 2 확장함수값으로 산출되되,
상기 1 번째 제 2 내부 함수값은,
랜덤수인 제 2 대칭키 및 1 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 제 1 암호화 함수에 의해 암호한 후, 1 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이고,
상기 1 번째 제 2 정보값은,
N개의 인증서에 대한 인덱스에 해당하는 정보인 제 1 인덱스 정보 및 제 2 인덱스 정보를 이용하여 산출된 값인 것을 특징으로 하는 인증서 발급 방법.
15. The method of claim 14,
The second extension function is
The remainder of dividing the first and second internal function values by the order value of the elliptic curve equation is calculated as the first and second expansion function values,
The first and second internal function values are,
The second symmetric key, which is a random number, and the value obtained by adding 1 to 3 to the first second information value are encrypted by the first encryption function, respectively, and then to the value obtained by adding 1 to 3 to the first second information value and X- It is a value output by concatenating the result of OR operation and X-OR operation,
The first and second information values are,
A method for issuing certificates, characterized in that the values are calculated using first index information and second index information, which are information corresponding to indexes for N certificates.
제15항에 있어서,
상기 제 2 확장함수는,
상기 타원곡선 방정식의 차수 값으로 w 번째 제 2 내부 함수값을 나눈 나머지값을 w 번째 제 2 확장함수값으로 산출되되,
상기 w 번째 제 2 내부함수값은,
상기 제 2 대칭키 및 w-1 번째 제 2 정보값을 이용하여 산출된 w 번째 제 2 정보값에 1 내지 3을 더한 값을 각각 상기 제 1 암호화 함수에 의해 암호한 후, w 번째 제 2 정보값에 1 내지 3을 더한 값과 각각 X-OR 연산하고, X-OR 연산의 결과를 연결하여 출력한 값이고,
상기 w는,
2 이상이고 N 이하인 자연수인 것을 특징으로 하는 인증서 발급 방법.
16. The method of claim 15,
The second extension function is
The residual value obtained by dividing the w-th second internal function value by the order value of the elliptic curve equation is calculated as the w-th second extension function value,
The w-th second internal function value is,
After each value obtained by adding 1 to 3 to the w-th second information value calculated using the second symmetric key and the w-1 second information value is encrypted by the first encryption function, the w-th second information It is a value outputted by performing X-OR operation with the value added 1 to 3, and linking the result of the X-OR operation,
wherein w is,
A method of issuing a certificate, characterized in that it is a natural number that is greater than or equal to 2 and less than or equal to N.
제16항에 있어서,
상기 제 1 암호화 함수에 의한 암호화는,
(S100) S값을 이용하여, 해당 k번째 라운드키(Rk)를 산출하는 단계; 및
(S200) 상기 S100 단계에서 산출된 해당 k번째 라운드키(Rk)와 T값을 이용하여 암호화된 출력을 생성하는 단계;를 포함하되,
상기 S값은,
상기 제 2 대칭키값이고,
상기 T값은,
1 번째 제 2 정보값 내지 N 번째 제 2 정보값 중 하나;와
1 내지 3 중 하나;를 더한 값인 것을 특징으로 하는 인증서 발급 방법.
17. The method of claim 16,
Encryption by the first encryption function,
(S100) calculating the k-th round key (R k ) by using the S value; and
(S200) generating an encrypted output using the k-th round key (R k ) and T value calculated in step S100;
The S value is
the second symmetric key value,
The T value is
one of the first second information value to the N-th second information value; and
One of 1 to 3; certificate issuance method, characterized in that the added value.
제17항에 있어서,
상기 S100 단계는,
(S110) S를 32비트의 워드 단위인 Sb0, Sb0+1, Sb0+2 및 Sb0+3로 분리하고, Sb0, Sb0+1, Sb0+2 및 Sb0+3 각각과 미리 설정된 값 Fb0, Fb0+1, Fb0+2 및 Fb0+3를 각각 연산하여, 초기 4개의 키 Ub0, Ub0+1, Ub0+2 및 Ub0+3를 출력하는 단계;
(S120) Uk+1, Uk+2 및 Uk+3과 상수 Vk를 연속적으로 X-OR 연산하는 단계;
(S130) 상기 S120 단계의 결과를 비선형 함수에 의해 변환하는 단계;
(S140) 상기 S130 단계의 결과를 선형 함수에 의해 변환하는 단계; 및
(S150) Uk와 S140 단계의 결과를 X-OR 연산하여, Uk+4를 산출하는 단계;를 포함하되,
k를 b0로부터 (b0+31)까지 1씩 증가시키면서, S120 단계 내지 S150 단계를 반복적으로 실시하고,
상기 S150 단계의 Uk+4를 해당 k번째 라운드키(Rk)로서 산출하되,
상기 b0는, 미리 설정된 정수인 것을 특징으로 하는 인증서 발급 방법.
18. The method of claim 17,
The step S100 is,
(S110) Separating S into 32-bit word units S b0 , S b0+1 , S b0+2 and S b0+3 , S b0 , S b0+1 , S b0+2 and S b0+3 respectively and preset values F b0 , F b0+1 , F b0+2 and F b0+3 , respectively, to output the initial four keys U b0 , U b0+1 , U b0+2 and U b0+3 . step;
(S120) sequentially X-ORing U k+1 , U k+2 and U k+3 and a constant V k ;
(S130) converting the result of step S120 by a nonlinear function;
(S140) converting the result of step S130 by a linear function; and
(S150) performing an X-OR operation on the results of steps U k and S140 to calculate U k+4 ;
Repeat steps S120 to S150 while increasing k by 1 from b0 to (b0+31),
Calculate U k+4 of step S150 as the corresponding k-th round key (R k ),
wherein b0 is a preset integer.
제18항에 있어서,
상기 S200 단계는,
(S210) T를 32비트의 워드 단위인 Td0, Td0+1, Td0+2 및 Td0+3로 분리하는 단계;
(S220) Tk+1, Tk+2 및 Tk+3과 k번째 라운드키(Rk)를 연속적으로 X-OR 연산하는 단계;
(S230) 상기 S220 단계의 결과를 비선형 함수에 의해 변환하는 단계;
(S240) 상기 S230 단계의 결과를 선형 함수에 의해 변환하는 단계; 및
(S250) Tk와 상기 S240 단계의 결과를 X-OR 연산하여, Tk+4를 산출하는 단계;를 포함하고,
k를 d0로부터 (d0+31)까지 1씩 증가시키면서, S220 단계 내지 S250 단계를 반복적으로 실시하고,
최종적으로 (Td0+31+4, Td0+31+3, Td0+31+2, Td0+31+1)를 출력하되,
상기 d0는, 미리 설정된 정수인 것을 특징으로 하는 인증서 발급 방법.
19. The method of claim 18,
The step S200 is,
(S210) separating T into 32-bit word units T d0 , T d0+1 , T d0+2 and T d0+3 ;
(S220) sequentially X-ORing T k+1 , T k+2 and T k+3 and the k-th round key (R k );
(S230) converting the result of step S220 by a nonlinear function;
(S240) converting the result of step S230 by a linear function; and
(S250) performing an X-OR operation on T k and the result of step S240 to calculate T k+4 ;
Repeat steps S220 to S250 while increasing k by 1 from d0 to (d0+31),
Finally, output (T d0+31+4 , T d0+31+3 , T d0+31+2 , T d0+31+1 ),
wherein d0 is a preset integer.
제14항에 있어서,
상기 인증서 발급 방법은, 상기 (S14) 단계 이후에,
(S15) 상기 제 1 사용자 단말기가, 랜덤수 a, 제 1 확장함수, N개의 인증서의 해쉬 함수값 및 상기 N개의 개인키 재생용 정보값을 이용하여, 최종 개인키를 산출하는 단계;를 더 포함하는 것을 특징으로 하는 인증서 발급 방법.
15. The method of claim 14,
The certificate issuance method, after the step (S14),
(S15) calculating, by the first user terminal, a final private key by using a random number a, a first extension function, hash function values of N certificates, and the N pieces of information values for reproducing the private key; A method for issuing a certificate, comprising:
제20항에 있어서,
상기 인증서 발급 방법은, 상기 (S15) 단계 이후에,
(S16) 상기 제 1 사용자 단말기가 제 2 사용자 단말기로, 1개의 인증서를 송신하는 단계;를 더 포함하는 것을 특징으로 하는 인증서 발급 방법.
21. The method of claim 20,
The certificate issuance method, after the step (S15),
(S16) transmitting, by the first user terminal to the second user terminal, one certificate;
제21항에 있어서,
상기 인증서 발급 방법은, 상기 (S16) 단계 이후에,
(S42) 상기 제 2 사용자 단말기가, 상기 제 1 사용자 단말기로부터 수신한 1개의 인증서 및 미리 알고 있는 제 2 서버의 공개키값을 이용하여, 1개의 최종 공개키를 산출하는 단계;를 더 포함하는 것을 특징으로 하는 인증서 발급 방법.
22. The method of claim 21,
The certificate issuance method, after the step (S16),
(S42) calculating, by the second user terminal, one final public key by using the one certificate received from the first user terminal and the public key value of the second server known in advance; A method for issuing a certificate.
제22항에 있어서,
상기 1개의 최종 공개키는,
상기 1개의 인증서의 해쉬 함수값과 상기 1개의 인증서의 디코딩에 의해 산출된 값을 곱한 값;과,
상기 제 2 서버의 공개키값;을 더한 값인 것을 특징으로 하는 인증서 발급 방법.
23. The method of claim 22,
The one final public key is,
A value obtained by multiplying the hash function value of the one certificate by a value calculated by decoding the one certificate; and
A method for issuing a certificate, characterized in that it is a value obtained by adding the public key value of the second server.
제14항에 있어서,
상기 인증서 발급 방법은, 상기 (S13) 단계 이전에,
(S32) 제 2 서버가, 타원곡선 방정식상의 기저점 G에 랜덤수 c를 곱한 값에, 제 1 서버로부터 수신한 N개의 제 2-1 키를 각각 더하여, N개의 제 3 키를 산출하는 단계;를 더 포함하는 것을 특징으로 하는 인증서 발급 방법.
15. The method of claim 14,
The certificate issuance method, before the step (S13),
(S32) the second server calculating the N third keys by adding the N number 2-1 keys received from the first server to the value obtained by multiplying the base point G on the elliptic curve equation by the random number c, respectively ; Certificate issuance method, characterized in that it further comprises.
제24항에 있어서,
상기 인증서 발급 방법은,
(S33) 상기 제 2 서버가, N개의 제 3 키의 값을 인코딩에 의해 N개의 인증서인 N개의 옥텍 스트링(OCTET STRING)으로 변환하고, 상기 N개의 인증서 각각의 해쉬 함수값 및 상기 제 2 서버의 개인키값을 이용하여, 상기 N개의 개인키 재생용 정보값을 산출하는 단계;를 더 포함하는 것을 특징으로 하는 인증서 발급 방법.
25. The method of claim 24,
The certificate issuance method is:
(S33) The second server converts the values of the N third keys into N octet strings that are N certificates by encoding, and the hash function values of each of the N certificates and the second server The method of issuing a certificate, characterized in that it further comprises; calculating the N number of private key reproduction information values by using the private key value.
제25항에 있어서,
상기 N개의 개인키 재생용 정보값은 각각,
상기 N개의 인증서 각각의 해쉬 함수값 각각에 랜덤수 c를 곱한 값에, 상기 제 2 서버의 개인키값을 더한 값인 것을 특징으로 하는 인증서 발급 방법.
26. The method of claim 25,
Each of the N private key reproduction information values,
and a value obtained by multiplying each hash function value of each of the N certificates by a random number c and adding the private key value of the second server.
KR1020190113925A 2019-09-17 2019-09-17 Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor KR102449817B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190113925A KR102449817B1 (en) 2019-09-17 2019-09-17 Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor
PCT/KR2020/010941 WO2021054619A1 (en) 2019-09-17 2020-08-18 System for issuing plurality of implicit certificates using extension function, and method for issuing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190113925A KR102449817B1 (en) 2019-09-17 2019-09-17 Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor

Publications (2)

Publication Number Publication Date
KR20210032647A KR20210032647A (en) 2021-03-25
KR102449817B1 true KR102449817B1 (en) 2022-09-30

Family

ID=74883232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190113925A KR102449817B1 (en) 2019-09-17 2019-09-17 Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor

Country Status (2)

Country Link
KR (1) KR102449817B1 (en)
WO (1) WO2021054619A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785484B (en) * 2022-04-06 2023-05-09 重庆葵林信息科技有限公司 Big data safety transmission method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160164678A1 (en) 2013-09-10 2016-06-09 M2M And Lot Technologies, Llc Secure PKI Communications for "Machine-To-Machine" Modules, Including Key Derivation by Modules and Authenticating Public Keys

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427997B (en) * 2013-08-16 2016-06-22 西安西电捷通无线网络通信股份有限公司 A kind of method generating digital signature and device
SG10201509342WA (en) * 2015-11-12 2017-06-29 Huawei Int Pte Ltd Method and system for session key generation with diffie-hellman procedure
HUE040631T2 (en) * 2016-02-23 2019-03-28 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
KR101922965B1 (en) * 2016-11-11 2018-11-28 한밭대학교 산학협력단 Implicit Certificate Issuing Method and System for Applying Key Expansion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160164678A1 (en) 2013-09-10 2016-06-09 M2M And Lot Technologies, Llc Secure PKI Communications for "Machine-To-Machine" Modules, Including Key Derivation by Modules and Authenticating Public Keys

Also Published As

Publication number Publication date
KR20210032647A (en) 2021-03-25
WO2021054619A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
CN108885741B (en) Tokenization method and system for realizing exchange on block chain
Hellman An overview of public key cryptography
US20180054316A1 (en) Multiple Secrets in Quorum Based Data Processing
CN108370317B (en) Adding privacy to standard credentials
CN115549887A (en) Determination of a common secret and hierarchical deterministic keys for the secure exchange of information
US9882890B2 (en) Reissue of cryptographic credentials
JPH07235922A (en) System authentificating at least one proof instrument by collator
JP2016012111A (en) Encryption processing method, encryption processing device, and encryption processing program
JP2003523027A (en) Method and arrangement for mutual authentication of two data processing units
US20220006615A1 (en) Computer-implemented system and method for distributing shares of digitally signed data
CN108833117B (en) Private key storage and reading method and device and hardware equipment
Bellare et al. Deterring certificate subversion: efficient double-authentication-preventing signatures
CN110569672A (en) efficient credible electronic signature system and method based on mobile equipment
CN110062002A (en) A kind of method for authenticating and Related product
US20090271631A1 (en) Electronic signature system and electronic signature verifying method
KR20200046481A (en) A random number generator, an encryption device including the same and a operating method thereof
JP5029358B2 (en) Key issuing method, group signature system
US9722798B2 (en) Digital signature method
KR102449817B1 (en) Multiple Implicit Certificates Issuing System Using Extension Functions and Issuing Method Therefor
KR101925941B1 (en) Transaction signing authentication method based on information virtualization
CN114268447B (en) File transmission method and device, electronic equipment and computer readable medium
KR101922965B1 (en) Implicit Certificate Issuing Method and System for Applying Key Expansion
CN113711562A (en) Computer-implemented method and system for knowledge proof in blockchain transactions
JP4772965B2 (en) Method for proving entity authenticity and / or message integrity
US20100251351A1 (en) information and communication system, an organization apparatus and a user apparatus

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant