KR102062377B1 - Method for encryption digitalsignature to blind signature - Google Patents

Method for encryption digitalsignature to blind signature Download PDF

Info

Publication number
KR102062377B1
KR102062377B1 KR1020180173453A KR20180173453A KR102062377B1 KR 102062377 B1 KR102062377 B1 KR 102062377B1 KR 1020180173453 A KR1020180173453 A KR 1020180173453A KR 20180173453 A KR20180173453 A KR 20180173453A KR 102062377 B1 KR102062377 B1 KR 102062377B1
Authority
KR
South Korea
Prior art keywords
digital signature
key
signature value
signature
value
Prior art date
Application number
KR1020180173453A
Other languages
Korean (ko)
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 KR1020180173453A priority Critical patent/KR102062377B1/en
Application granted granted Critical
Publication of KR102062377B1 publication Critical patent/KR102062377B1/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/3247Cryptographic 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 digital signatures
    • H04L9/3257Cryptographic 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 digital signatures using blind signatures
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test

Abstract

A method for generating an electronic signature is disclosed. According to the present invention, the method for generating an electronic signature comprises the steps of: calculating a first electronic signature value constituting an electronic signature using a message; encoding the calculated first electronic signature value using a homogeneous cryptographic signature key; when a temporary electronic signature value calculated using the encoded first electronic signature value is received, calculating a second electronic signature value constituting the electronic signature by decoding the received temporary electronic signature value using the homogeneous cryptographic signature key; and generating an electronic signature for the message using the calculated first electronic signature value and the second electronic signature value.

Description

전자서명을 은닉서명으로 변환하는 암호화 방법{METHOD FOR ENCRYPTION DIGITALSIGNATURE TO BLIND SIGNATURE}Encryption method for converting a digital signature to a hidden signature {METHOD FOR ENCRYPTION DIGITALSIGNATURE TO BLIND SIGNATURE}

본 개시는 전자서명을 은닉서명으로 변환하는 암호화 방법에 관한 것으로, 보다 구체적으로, 동형암호 방식을 이용하여 일반적인 전자 서명 스킴을 은닉 서명 스킴으로 전환할 수 있는 암호화 방법에 관한 것이다. The present disclosure relates to an encryption method for converting an electronic signature into a hidden signature, and more particularly, to an encryption method capable of converting a general digital signature scheme into a hidden signature scheme using a homogeneous encryption scheme.

전자 및 통신 기술의 발달에 힘입어 다양한 장치들 간에 데이터를 송수신하여 활용하는 다양한 서비스가 지원되고 있다. 이러한 다양한 서비스 중 인터넷 뱅킹 등의 분야에서는 메시지 송수신 과정에서 해당 메시지가 위변조되지 않았음을 확인할 수 있는 과정이 필요하며, 이러한 과정을 전자 서명이라고 지칭한다. Thanks to the development of electronic and communication technologies, various services that transmit and receive data between various devices are supported. Among these various services, a field such as Internet banking requires a process for confirming that a message has not been forged in a process of transmitting and receiving a message, and this process is referred to as an electronic signature.

이러한, 전자 서명(Digital Signature)은 컴퓨터를 매개로 하여 전자적 형태의 자료로 서명자의 신원을 확인하고 자료 메시지의 내용에 대한 그 사람의 승인을 나타낼 목적으로 사용되며, 서명키와 검증키를 생성하는 동작, 보내고자 하는 메시지에 서명을 진행하는 서명 동작, 메시지와 서명의 진위를 확인하는 동작으로 구분할 수 있다. This digital signature is an electronic form of data that is used to verify the identity of the signer and to indicate the person's approval of the contents of the data message. It can be divided into an operation, a signature operation for signing a message to be sent, and an operation for checking the authenticity of a message and a signature.

그러나 전자 서명은 메시지 자체를 암호화하는 것은 아니어서, 제3자가 메시지를 확인하는 것이 가능하다. 즉, 전자 서명은 작성자로 기재된 자가 그 전자문서를 작성하였다는 사실과 작성 내용이 송/수신 과정에서 위조 변조되지 않았다는 사실만을 증명하기 때문이다. However, the electronic signature does not encrypt the message itself, allowing third parties to verify the message. That is, the electronic signature only proves that the person who has been written as the author has written the electronic document and that the content has not been tampered with in the transmission / reception process.

최근에는 개인 정보의 보안과 관련하여 정보의 보안성이 요구되면서, 전자 서명에 익명성이 추가된 은닉 서명을 이용하는 방식이 요구되고 있다. Recently, as the security of information is required in relation to the security of personal information, a method of using a hidden signature with anonymity added to an electronic signature is required.

따라서 본 개시는 상술한 바와 같은 문제점을 해결하기 위한 고안된 것으로, 동형암호 방식을 이용하여 일반적인 전자 서명 스킴을 은닉 서명 스킴으로 전환할 수 있는 암호화 방법에 관한 것이다. Therefore, the present disclosure is designed to solve the above problems, and relates to an encryption method capable of converting a general digital signature scheme into a hidden signature scheme using a homogeneous encryption scheme.

이상과 같은 목적을 달성하기 위하여, 본 개시의 일 실시 예에 따른 전자 서명 생성 방법은 메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하는 단계, 상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 단계, 상기 인코딩된 제1 전자 서명값에 이용하여 산출된 임시 전자 서명값이 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하는 단계, 및 상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성하는 단계를 포함한다. In order to achieve the above object, the method for generating an electronic signature according to an embodiment of the present disclosure is to calculate a first digital signature value constituting the digital signature by using a message, the calculated first digital signature value; Encoding using a homogeneous cryptographic signature key, if a temporary digital signature value calculated using the encoded first digital signature value is received, decoding the received temporary digital signature value using the homogeneous cryptographic signature key Calculating a second digital signature value constituting the digital signature, and generating an electronic signature for the message using the calculated first and second digital signature values.

여기서, 상기 제1 전자 서명값을 계산하는 단계는, 외부 장치로부터 제1 랜덤 검증키를 수신하는 단계, 제2 랜덤 검증키를 생성하는 단계, 상기 수신한 제1 랜덤 검증키 및 상기 생성된 제2 랜덤 검증키를 이용하여 제3 랜덤 검증키를 생성하는 단계, 상기 생성된 제3 랜덤 검증키 및 상기 메시지를 이용하여 상기 제1 전자 서명값을 산출하는 단계를 포함할 수 있다. The calculating of the first digital signature value may include receiving a first random verification key from an external device, generating a second random verification key, receiving the received first random verification key and the generated first signature. Generating a third random verification key using a random verification key; and calculating the first electronic signature value using the generated third random verification key and the message.

이 경우, 상기 제1 랜덤 검증키 및 상기 제2 랜덤 검증키 각각은, 소수 위수(prime order)를 가지는 집합의 원소일 수 있다. In this case, each of the first random verification key and the second random verification key may be an element of a set having a prime order.

한편, 상기 인코딩하는 단계는, 상기 동형암호 서명키를 이용하여 상기 계산된 제1 전자 서명값을 동형암호화할 수 있다. In the encoding, the calculated first digital signature value may be homogenized using the homologous signature key.

한편, 상기 동형암호 서명키는 원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링(Ring)으로부터 산출된 것일 수 있다. The homologous signature key may be calculated from a ring, which is a set in which addition and multiplication are defined between elements, and is closed for addition and multiplication.

한편, 본 전자 서명 생성 방법은 상기 인코딩된 제1 전자 서명값을 외부 장치로 전송하는 단계, 및 상기 외부 장치로부터 상기 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값을 수신하는 단계를 더 포함하고, 상기 임시 전자 서명값은, 서명키, 상기 인코딩된 제1 전자 서명값, 제1 랜덤 검증키에 대응되는 제1 랜덤 서명키를 통하여 산출된 것일 수 있다. In the meantime, the method for generating a digital signature may include transmitting the encoded first digital signature value to an external device, and receiving a temporary digital signature value calculated using the encoded first digital signature value from the external device. The temporary electronic signature value may be calculated by using a signature key, a first random signature key corresponding to the encoded first electronic signature value, and a first random verification key.

이 경우, 상기 제2 전자 서명값을 계산하는 단계는, 상기 동형암호 서명키를 이용하여 상기 수신된 임시 전자 서명값을 디코딩하는 단계, 및 상기 디코딩된 임시 전자 서명값 및 제2 랜덤 검증키에 대응되는 제2 랜덤 서명키를 이용하여 상기 제2 전자 서명값을 산출하는 단계를 포함할 수 있다. In this case, the calculating of the second digital signature value may include decoding the received temporary digital signature value using the homogeneous cryptographic signature key, and decoding the received temporary digital signature value and the second random verification key. Computing the second electronic signature value using a corresponding second random signature key.

한편, 본 개시의 일 실시 예에 따른 전자 장치는 외부장치와 통신하는 통신 장치, 메시지를 저장하는 메모리, 및 상기 저장된 메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 프로세서를 포함하고, 상기 프로세서는 상기 인코딩된 제1 전자 서명값에 이용하여 산출된 임시 전자 서명값이 상기 외부 장치로부터 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성할 수 있다. Meanwhile, an electronic device according to an embodiment of the present disclosure calculates a first electronic signature value constituting an electronic signature using a communication device communicating with an external device, a memory storing a message, and the stored message, and calculating the calculated value. And a processor for encoding the first digital signature value using a homogeneous cryptographic signature key, wherein the processor is configured to receive the temporary digital signature value calculated using the encoded first digital signature value from the external device. Decode the received temporary digital signature value using the homogeneous cryptographic signature key to calculate a second digital signature value constituting the electronic signature, and use the calculated first digital signature value and the second digital signature value. A digital signature can be generated for the message.

이 경우, 상기 통신 장치는 외부 장치로부터 제1 랜덤 검증키를 수신하고, 상기 프로세서는 제2 랜덤 검증키를 생성하고, 상기 수신한 제1 랜덤 검증키 및 상기 생성된 제2 랜덤 검증키를 이용하여 제3 랜덤 검증키를 생성하고, 상기 생성된 제3 랜덤 검증키 및 상기 메시지를 이용하여 상기 제1 전자 서명값을 산출할 수 있다. In this case, the communication device receives a first random verification key from an external device, the processor generates a second random verification key, and uses the received first random verification key and the generated second random verification key. The third random verification key may be generated, and the first electronic signature value may be calculated using the generated third random verification key and the message.

이 경우, 상기 제1 랜덤 검증키 및 상기 제2 랜덤 검증키 각각은, 소수 위수(prime order)를 가지는 집합의 원소일 수 있다. In this case, each of the first random verification key and the second random verification key may be an element of a set having a prime order.

한편, 상기 프로세서는 상기 동형암호 서명키를 이용하여 상기 계산된 제1 전자 서명값을 동형암호화하여 상기 계산된 제1 전자 서명값을 인코딩할 수 있다. Meanwhile, the processor may homogeneously encrypt the calculated first digital signature value using the homogeneous cryptographic signature key to encode the calculated first digital signature value.

한편, 상기 동형암호 서명키는 원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링(Ring)으로부터 산출된 것일 수 있다. The homologous signature key may be calculated from a ring, which is a set in which addition and multiplication are defined between elements, and is closed for addition and multiplication.

한편, 상기 통신 장치는 상기 외부 장치에 상기 인코딩된 제1 전자 서명값을 외부 장치로 전송하고, 상기 외부 장치로부터 상기 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값을 수신하며, 상기 임시 전자 서명값은, 서명키, 상기 인코딩된 제1 전자 서명값, 제1 랜덤 검증키에 대응되는 제1 랜덤 서명키를 통하여 산출된 것일 수 있다. Meanwhile, the communication device transmits the encoded first digital signature value to the external device to an external device, and receives a temporary digital signature value calculated using the encoded first digital signature value from the external device, The temporary digital signature value may be calculated through a signature key, a first random signature key corresponding to the encoded first digital signature value, and a first random verification key.

이 경우, 상기 프로세서는 상기 동형암호 서명키를 이용하여 상기 수신된 임시 전자 서명값을 디코딩하고, 상기 디코딩된 임시 전자 서명값 및 제2 랜덤 검증키에 대응되는 제2 랜덤 서명키를 이용하여 상기 제2 전자 서명값을 산출한 것일 수 있다. In this case, the processor decodes the received temporary digital signature value using the homogeneous cryptographic signature key, and uses the second random signature key corresponding to the decoded temporary digital signature value and the second random verification key. The second electronic signature value may be calculated.

이상과 같은 본 개시의 다양한 실시 예들에 따르면, 서명의 생성시에 메시지가 동형암호화된 상태로 진행되는바, 메시지의 은닉성이 있다. 즉, 임의의 전자 서명을 은닉 서명으로 전환하는 것이 가능하다. 또한, 서명의 크기가 기존 전자 서명과 동일하며, 검증에 소용되는 시간이 기존의 전자 서명 방식과 동일하다. According to various embodiments of the present disclosure as described above, since the message proceeds to the homogeneous encryption state when generating the signature, there is a concealment of the message. In other words, it is possible to convert any electronic signature into a hidden signature. In addition, the size of the signature is the same as the existing digital signature, and the time required for verification is the same as the existing digital signature scheme.

도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템의 구조를 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 간단한 구성을 도시한 블록도,
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 도시한 블록도,
도 4는 본 개시에 따른 전자 서명 생성 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 서명 프로토콜을 설명하기 위한 시퀀스도,
도 6은 본 개시의 제1 전자 장치에서의 전자 서명 생성 방법을 설명하기 위한 도면, 그리고,
도 7은 본 개시의 제2 전자 장치에서의 제어 방법을 설명하기 위한 도면이다.
1 is a view for explaining the structure of a network system according to an embodiment of the present disclosure;
2 is a block diagram illustrating a simple configuration of an electronic device according to an embodiment of the present disclosure;
3 is a block diagram illustrating a specific configuration of an electronic device according to an embodiment of the present disclosure;
4 is a view for explaining a digital signature generation operation according to the present disclosure;
5 is a sequence diagram illustrating a signature protocol according to an embodiment of the present disclosure;
6 is a view for explaining a method of generating an electronic signature in a first electronic device of the present disclosure;
7 is a diagram for describing a control method of a second electronic device of the present disclosure.

이하에서는 첨부 도면을 참조하여 본 개시에 대해서 자세하게 설명한다. 본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings. The information (data) transmission process performed in the present specification may be applied to encryption / decryption as needed, and in this specification and the claims, the expressions describing the information (data) transmission process are all encrypted / decrypted even if not mentioned otherwise. It should also be interpreted to include cases. In this specification, expressions of the form "transfer from A to B" or "A receives from B" include those transmitted (delivered) or received with other mediators in between, and necessarily from A to B. It does not represent only what is directly transmitted (delivered) or received.

본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.In the description of the present disclosure, the order of each step should be understood to be non-limiting unless the preceding step is to be performed logically and temporally prior to the later step. That is, except for the exceptional cases described above, even if the process described as the following step is performed before the process described as the preceding step, the nature of the disclosure is not affected and the scope of rights should be defined regardless of the order of the steps. And as used herein, "A or B" is defined to mean not only selectively indicating any one of A and B, but also including both A and B. In addition, the term "comprising" in this specification has the meaning encompassing further including other elements in addition to the elements listed as containing.

본 명세서에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 안 되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.The specification describes only essential components necessary for the description of the present disclosure, and does not refer to the components not related to the nature of the present disclosure. And it should not be interpreted in an exclusive sense that includes only the components mentioned, but in a non-exclusive meaning that may include other components.

후술하는 본 개시의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 개시에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.The mathematical operations and calculations of each step of the present disclosure described below may be implemented by computer operations by known coding methods and / or codings suitable for the present disclosure to perform the operations or calculations.

이하에서 설명하는 구체적인 수학식은 가능한 여러 대안 중에서 예시적으로 설명되는 것이며, 본 개시의 권리 범위가 본 명세서에 언급된 수학식에 제한되는 것으로 해석되어서는 아니된다.The specific equations described below are described by way of example in a number of alternatives, and the scope of the present disclosure should not be construed as limited to the equations mentioned herein.

이하에서는 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다. Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템의 구조를 설명하기 위한 도면이다. 1 is a view for explaining the structure of a network system according to an embodiment of the present disclosure.

도 1을 참조하면, 네트워크 시스템은 네트워크, 복수의 전자 장치(100-1, 100-2), 서버 장치(200)로 구성될 수 있다. Referring to FIG. 1, a network system may include a network, a plurality of electronic devices 100-1 and 100-2, and a server device 200.

전자 장치(100-1 ~ 100-2)는 스마트폰, 태블릿, 게임 플레이어, PC, 랩톱 PC, 홈서버, 키오스크 등과 같은 다양한 형태의 장치로 구현될 수 있으며, 이밖에 IoT 기능이 적용된 가전 제품 형태로도 구현될 수 있다.The electronic devices 100-1 to 100-2 may be implemented in various types of devices such as smart phones, tablets, game players, PCs, laptop PCs, home servers, kiosks, and the like. It can also be implemented.

제1 전자 장치(100-1)는 전자 서명에 필요한 각종 키를 생성할 수 있다. 구체적으로, 제1 전자 장치(100-1)는 키 생성 알고리즘을 수행할 수 있으며, 전자 서명 과정에서 필요한 서명키와 검증에 필요한 검증키를 생성할 수 있다. 여기서 키 생성 알고리즘은 Schnorr 서명과 같이 서명키 및 검증키를 생성하는 알고리즘이다.The first electronic device 100-1 may generate various keys for electronic signature. In detail, the first electronic device 100-1 may perform a key generation algorithm and may generate a signature key required for the electronic signature process and a verification key for verification. Here, the key generation algorithm is an algorithm for generating a signature key and a verification key, such as a Schnorr signature.

한편, 제1 전자 장치(100-1)에서 생성된 검증키는 네트워크를 통하여 서버 장치(200) 등에 제공될 수 있다. 여기서 서명키는 메시지에 대한 서명을 수행할 때 이용되는 키로, 비밀 키로 지칭될 수도 있다. 그리고 검증키는 생성된 서명에 대한 검증을 수행할 때 이용되는 키고, 공개 키로 지칭될 수도 있다. 그리고 서명키는 메시지를 암호화(또는 인코딩)할때 사용되는 키로, 비밀 키로 지칭될 수 있다. The verification key generated by the first electronic device 100-1 may be provided to the server device 200 or the like through a network. Here, the signing key is a key used when signing a message and may be referred to as a secret key. The verification key is a key used when performing verification on the generated signature and may be referred to as a public key. The signing key is a key used when encrypting (or encoding) a message and may be referred to as a secret key.

그리고 제1 전자 장치(100-1)는 서명 프로토콜 과정에서 필요한 정보를 생성하여, 제2 전자 장치(100-2)에 제공할 수 있다. 구체적으로, 제1 전자 장치(100-1)는 랜덤 검증키를 생성하고, 임시 전자 서명값을 생성하는 등의 본 개시의 일 실시 예에 따른 서명 프로토콜의 동작 일부를 수행할 수 있다. In addition, the first electronic device 100-1 may generate information necessary for a signature protocol process and provide the generated information to the second electronic device 100-2. In detail, the first electronic device 100-1 may perform a part of an operation of a signature protocol according to an embodiment of the present disclosure, such as generating a random verification key and generating a temporary electronic signature value.

제2 전자 장치(100-2)는 서명 프로토콜 동작을 수행할 수 있다. 구체적으로, 제2 전자 장치(100-2)는 제1 전자 장치(100-1)가 제공하는 정보에 기초하여 전자 서명을 생성할 수 있다. 제2 전자 장치(100-2)의 구체적인 서명 프로토콜 방법은 도 4 및 도 5를 참조하여 후술한다. The second electronic device 100-2 may perform a signature protocol operation. In detail, the second electronic device 100-2 may generate an electronic signature based on information provided by the first electronic device 100-1. A specific signature protocol method of the second electronic device 100-2 will be described later with reference to FIGS. 4 and 5.

제1 전자 장치(100-1)와 제2 전자 장치(100-2)는 네트워크를 통하여 연결될 수 있다. 여기서, 네트워크는 다양한 형태의 유무선 통신 네트워크, 방송 통신 네트워크, 광통신 네트워크, 클라우드 네트워크 등으로 구현될 수 있으며, 각 장치들은 별도의 매개체 없이 와이파이, 블루투스, NFC(Near Field Communication) 등과 같은 방식으로 연결될 수도 있다. The first electronic device 100-1 and the second electronic device 100-2 may be connected through a network. Here, the network may be implemented in various forms of wired / wireless communication networks, broadcast communication networks, optical communication networks, cloud networks, etc., and each device may be connected in a manner such as Wi-Fi, Bluetooth, Near Field Communication (NFC), etc. without a separate medium. have.

서버 장치(200)는 제2 전자 장치(100-2)에서 생성된 전자 서명을 수신하며, 수신된 전자 서명에 대한 검증 동작을 수행할 수 있다. 구체적으로, 서버 장치(200)는 제1 전자 장치(100-1)에서 생성된 검증키 및 제2 전자 장치(100-2)에서 제공된 전자 서명을 이용하여, 전자 서명 메시지와 서명의 진위 여부를 검증할 수 있다. The server device 200 may receive an electronic signature generated by the second electronic device 100-2 and perform a verification operation on the received electronic signature. In detail, the server device 200 uses the verification key generated by the first electronic device 100-1 and the electronic signature provided by the second electronic device 100-2 to determine whether the electronic signature message and the authenticity of the signature are authentic. Can be verified

도 1에서는 전자 장치가 복수 개(100-1 ~ 100-2)인 것으로 도시하였으나, 반드시 복수 개의 전자 장치가 사용되어야 하는 것은 아니며 하나의 장치가 사용될 수도 있다. 예를 들어, 하나의 전자 장치가 비밀 키 및 검증키를 생성하는 동작 및 메시지에 대한 서명을 생성하는 동작을 수행할 수 있다. In FIG. 1, a plurality of electronic devices 100-1 to 100-2 is illustrated, but a plurality of electronic devices is not necessarily used, and one device may be used. For example, one electronic device may perform an operation of generating a secret key and a verification key and an operation of generating a signature for a message.

상술한 예에서는 제1 전자 장치(100-1)가 비밀 키 및 검증키를 생성하는 것으로 설명하였지만, 구현시에는 제1 전자 장치(100-1) 이외의 전자 장치 또는 기타 장치가 비밀 키 및 검증키 중 적어도 하나를 생성한 후, 타 전자 장치와 공유하는 것도 가능하다. In the above-described example, the first electronic device 100-1 generates the secret key and the verification key. However, in the implementation, an electronic device or other device other than the first electronic device 100-1 generates the secret key and the verification key. After generating at least one of the keys, it is also possible to share with other electronic devices.

이상과 같이 본 실시 예에 따른 네트워크 시스템은 전자 서명 진행 과정에서 메시지를 동형 암호화 하여 진행하는바, 외부 장치에 메시지의 내용이 공개되는 것을 방지할 수 있다. As described above, the network system according to the present embodiment proceeds by homogeneously encrypting a message during an electronic signature process, thereby preventing the contents of the message from being disclosed to an external device.

도 2는 본 개시의 일 실시 예에 따른 전자 장치의 간단한 구성을 도시한 블록도이다. 2 is a block diagram illustrating a simple configuration of an electronic device according to an embodiment of the present disclosure.

도 2를 참조하면, 전자 장치(100)는 통신 장치(110), 메모리(120) 및 프로세서(130)로 구성될 수 있다. 도 2의 전자 장치(100)는 도 1의 제1 전자 장치(100-1)로서 동작할 수도 있으며, 도 1의 제2 전자 장치(100-2)로도 동작할 수 있다. 이하에서는 전자 장치(100)가 제1 및 제2 전자 장치의 동작 모두를 수행할 수 있는 것으로 가정하여 설명하나, 구현시에 전자 장치(100)는 어느 하나의 동작만을 수행할 수도 있다. Referring to FIG. 2, the electronic device 100 may include a communication device 110, a memory 120, and a processor 130. The electronic device 100 of FIG. 2 may operate as the first electronic device 100-1 of FIG. 1 and may also operate as the second electronic device 100-2 of FIG. 1. In the following description, it is assumed that the electronic device 100 can perform both operations of the first and second electronic devices. However, in the implementation, the electronic device 100 may perform only one operation.

통신 장치(110)는 전자 장치(100)를 외부 장치(미도시)와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다. 이러한 통신 장치(110)는 송수신부(transceiver)로 지칭될 수도 있다. The communication device 110 is formed to connect the electronic device 100 to an external device (not shown) and is connected to an external device through a local area network (LAN) and an internet network, as well as a USB ( Universal Serial Bus) ports or wireless communication (eg, WiFi 802.11a / b / g / n, NFC, Bluetooth) ports may be connected. The communication device 110 may be referred to as a transceiver.

통신 장치(110)는 서명키를 외부 장치로부터 수신할 수 있으며, 전자 장치(100)에서 생성한 서명키 또는 검증키를 외부 장치로 전송할 수 있다. 여기서 서명키(x)는 서명을 수행하는데 사용되는 키고, 검증키(y)는 서명을 검증하는데 사용되는 키다. 여기서, 서명키는 집합

Figure 112018132228089-pat00001
에서 추출된 임의의 원소이고, 검증키는 군 G의 원소이다. 즉, 검증키는 소수 위수(prime order)를 가지는 군(group)(또는 집합)의 원소이다. The communication device 110 may receive a signature key from an external device, and transmit the signature key or verification key generated by the electronic device 100 to the external device. Here, the signature key (x) is a key used to perform the signature, and the verification key (y) is a key used to verify the signature. Where the signing key is a set
Figure 112018132228089-pat00001
Is an element extracted from, and the verification key is an element of group G. That is, the verification key is an element of a group (or set) having a prime order.

그리고 통신 장치(110)는 서명 과정에서 필요한 제1 랜덤 검증키 및 임시 전자 서명값을 외부 장치로부터 수신하거나, 전자 장치(100)에서 생성한 제1 랜덤 검증키 및 임시 전자 서명값을 외부 장치로 전송할 수도 있다. 여기서, 제1 랜덤 검증키(r1)는 랜덤 값으로 사용할 랜덤 서명키(k1)를 통하여 산출된 검증키로, 제1 랜덤 서명키는 앞선 서명키와 같은 집합에서 선택된 것이며, 제1 랜덤 검증키는 소수 위수(prime order)를 가지는 군(gruop)(또는 집합)의 원소이다. In addition, the communication device 110 receives a first random verification key and a temporary digital signature value necessary for the signature process from an external device, or transmits the first random verification key and a temporary electronic signature value generated by the electronic device 100 to an external device. You can also send. Here, the first random verification key r1 is a verification key calculated through a random signature key k1 to be used as a random value. The first random signature key is selected from the same set as the previous signature key, and the first random verification key is An element of a group (or set) with a prime order.

그리고 임시 전자 서명값(s')은 전자 서명을 구성하는 제2 전자 서명값(s)에 대응되는 인자로, 실제 메시지가 아닌 동형 암호화된 메시지로 산출된 것이다. The temporary digital signature value s' is a factor corresponding to the second digital signature value s constituting the digital signature, and is calculated as a homogeneous encrypted message rather than an actual message.

그리고 통신 장치(110)는 인코딩된 제1 전자 서명값을 수신하거나, 전자 장치(100)에서 인코딩한 제1 전자 서명값을 외부 장치로 송신할 수 있다. 여기서 제1 전자 서명값은 전자 서명을 구성하는 값(e)이고, 인코딩된 제1 전자 서명값은 동형 암호 서명키로 인코딩된 제1 전자 서명값을 의미한다. The communication device 110 may receive the encoded first electronic signature value or transmit the first electronic signature value encoded by the electronic device 100 to an external device. Here, the first electronic signature value is a value (e) constituting the electronic signature, and the encoded first electronic signature value means a first electronic signature value encoded with a homogeneous cryptographic signature key.

여기서, 동형 암호 비밀 키는 동형 암호화에 사용되는 비밀 키로, 원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링으로부터 산출된 값이다. 이와 같이 본 개시에 메시지를 동형 암호화 방식으로 암호화하여 외부 장치에 전송하는바, 외부 장치에서 다양한 덧셈 및 곱셈과 같은 산술 연산이 수행되더라도, 직접 메시지에 동일한 연산을 수행하는 것과 동일한 결과를 얻을 수 있다. Here, the homologous secret secret key is a secret key used for homogeneous encryption, and is a value calculated from a ring which is a closed set for addition and multiplication between elements. As described above, the message is encrypted using the homogeneous encryption method and transmitted to an external device. Even though various arithmetic operations such as addition and multiplication are performed in the external device, the same result as performing the same operation on the message can be directly obtained. .

그리고 통신 장치(110)는 외부 장치로부터 메시지를 수신할 수 있으며, 생성한 서명을 외부 장치로 송신할 수 있다. The communication device 110 may receive a message from an external device, and transmit the generated signature to the external device.

또한, 통신 장치(110)는 암호문 생성에 필요한 각종 파라미터를 외부 장치로부터 수신할 수 있다. 한편, 구현시에 각종 파라미터는 후술하는 조작 입력 장치(150)를 통하여 사용자로부터 직접 입력받을 수 있다. In addition, the communication device 110 may receive various parameters necessary for generating a cipher text from an external device. Meanwhile, in the implementation, various parameters may be directly input from the user through the manipulation input apparatus 150 described later.

메모리(120)는 전자 장치(100)를 구동하기 위한 O/S나 각종 소프트웨어, 데이터 등을 저장하기 위한 구성요소이다. 메모리(120)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다. The memory 120 is an element for storing O / S, various software, data, etc. for driving the electronic device 100. The memory 120 may be implemented in various forms such as RAM, ROM, flash memory, HDD, external memory, memory card, and the like, but is not limited thereto.

메모리(120)는 메시지를 저장한다. 여기서 메시지는 사용자가 각종 인용한 각종 신용 정보, 개인 정보 등일 수 있으며, 전자 장치(100)에서 사용되는 위치 정보, 인터넷 사용 시간 정보 등 사용 이력 등과 관련된 정보일 수도 있다. Memory 120 stores the message. Here, the message may be various credit information, personal information, etc. quoted by the user, or may be information related to a usage history such as location information and internet usage time information used in the electronic device 100.

그리고 메모리(120)는 검증키를 저장할 수 있으며, 전자 장치(100)가 직접 검증키를 생성한 경우, 서명키뿐만 아니라, 검증키 및 서명키 생성에 필요한 각종 파라미터를 저장할 수 있다. The memory 120 may store the verification key, and when the electronic device 100 directly generates the verification key, it may store not only the signature key but also various parameters necessary for generating the verification key and signature key.

또한, 메모리(120)는 연산 과정에서 생성된 값들을 임시 저장할 수 있으며, 최종 생성된 서명을 저장할 수 있다. In addition, the memory 120 may temporarily store the values generated during the operation, and may store the last generated signature.

프로세서(130)는 전자 장치(100) 내의 각 구성을 제어한다. 이러한 프로세서(130)는 CPU와 같은 단일 장치로 구성될 수 있으며, 클럭 발생 회로, CPU, 그래픽 프로세서 등의 복수의 장치로 구성될 수도 있다. The processor 130 controls each component in the electronic device 100. The processor 130 may be configured as a single device such as a CPU, or may be configured as a plurality of devices such as a clock generation circuit, a CPU, and a graphics processor.

한편, 이하에서는 설명을 용이하게 하기 위하여, 우선적으로 전자 장치(100)가 제1 전자 장치(100-1)로 동작하는 경우의 프로세서(130)의 동작을 먼저 설명하고, 이후에 제2 전자 장치(100-2)로 동작하는 경우의 동작을 설명한다. Meanwhile, in order to facilitate explanation, the operation of the processor 130 when the electronic device 100 operates as the first electronic device 100-1 will be described first, and then the second electronic device will be described first. An operation in the case of operating at 100-2 will be described.

먼저, 제1 전자 장치(100-1)로 동작하는 경우, 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시켜 전자 서명에 필요한 서명키(x) 및 검증키(y)를 생성할 수 있다. 구체적으로, 프로세서(130)는 집합

Figure 112018132228089-pat00002
에서 임의의 원소 x(서명키)를 추출할 수 있다. 그리고 프로세서(130)는 추출된 원소를 기초로 군 G의 원소(
Figure 112018132228089-pat00003
)인 검증키를 생성할 수 있다. First, when operating as the first electronic device 100-1, the processor 130 may execute a program stored in the memory 120 to generate a signature key x and a verification key y required for an electronic signature. have. Specifically, the processor 130 is a set
Figure 112018132228089-pat00002
You can extract any element x (signature key) from. In addition, the processor 130 may determine the elements of the group G based on the extracted elements.
Figure 112018132228089-pat00003
You can create a verification key with).

그리고 프로세서(130)는 외부 장치로부터 서명 프로토콜의 개시를 요청받으면, 랜덤 값으로 사용될 제1 랜덤 서명키(k1)를 생성하고, 제1 랜덤 서명키에 대응되는 제1 랜덤 검증키(r1)를 계산하고, 계산된 제1 랜덤 검증키가 외부 장치로 전송되도록 통신 장치(110)를 제어할 수 있다. 여기서, 제1 랜덤 서명키는

Figure 112018132228089-pat00004
를 만족하는 랜덤 값이고, 제1 랜덤 검증키는 상술한 군 G인 원소인
Figure 112018132228089-pat00005
값을 의미한다. When the processor 130 is requested to start a signature protocol from an external device, the processor 130 generates a first random signature key k1 to be used as a random value and generates a first random verification key r1 corresponding to the first random signature key. The communication device 110 may be controlled so that the calculated first random verification key is transmitted to the external device. Here, the first random signing key is
Figure 112018132228089-pat00004
Is a random value that satisfies, and the first random verification key is an element
Figure 112018132228089-pat00005
It means the value.

그리고 프로세서(130)는 외부 장치로부터 인코딩된 제1 전자 서명값(e)을 수신하면, 수신된 제1 전자 서명값(e), 앞서 생성된 서명키(x), 제1 랜덤 서명키(k1)를 이용하여 임시 전자 서명값(s')을 생성할 수 있다. 그리고 프로세서(130)는 생성된 임시 전자 서명값(s')이 외부 장치에 전송되도록 통신 장치(110)를 제어할 수 있다. When the processor 130 receives the encoded first electronic signature value e from the external device, the processor 130 receives the received first electronic signature value e , the signature key x generated above, and the first random signature key k1. ) Can be used to generate a temporary digital signature value ( s' ). In addition, the processor 130 may control the communication device 110 to transmit the generated temporary digital signature value s' to an external device.

이하에서는 제2 전자 장치(100-2)로 동작하는 경우의 프로세서(130)의 동작을 설명한다. Hereinafter, an operation of the processor 130 when operating as the second electronic device 100-2 will be described.

제2 전자 장치(100-2)로 동작하는 경우, 선행적으로 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시켜 동형 암호화를 위한 동형 암호 비밀키를 생성할 수 있다. 이를 위하여, 우선적으로 프로세서(130)는 기설정된 계수를 가지는 다항식의 집합인 링을 설정할 수 있다. 여기서, 링은 원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합이다. 그리고 프로세서(130)는 링으로부터 동형 암호 비밀키를 산출할 수 있다.When operating as the second electronic device 100-2, the processor 130 may execute a program stored in the memory 120 to generate a homogeneous encryption secret key for homogeneous encryption. To this end, the processor 130 may first set a ring that is a set of polynomials having predetermined coefficients. Here, a ring is a set of additions and multiplications defined between elements and a closed set for additions and multiplications. Processor 130 may then calculate a homogeneous cryptographic secret key from the ring.

그리고 전자 서명이 필요하면 프로세서(130)는 제1 전자 장치(100-1)가 제1 랜덤 검증키(r1)를 생성하여 전송하도록 프로토콜 개시를 요청할 수 있다. If the electronic signature is required, the processor 130 may request the protocol to start the first electronic device 100-1 to generate and transmit the first random verification key r1.

그리고 프로세서(130)는 메시지(m)를 이용하여 전자 서명을 구성하는 제1 전자 서명값(e)을 계산할 수 있다. 구체적으로, 프로세서(130)는 제1 랜덤 검증키(r1)를 수신하면, 제2 랜덤 서명키(k2)와 제2 랜덤 검증키(r2)를 생성하고, 생성된 제2 랜덤 검증키(r2)와 수신한 제1 랜덤 검증키(r1)를 곱하여 제3 랜덤 검증키(

Figure 112018132228089-pat00006
)를 생성할 수 있다. 여기서, 제2 랜덤 서명키는
Figure 112018132228089-pat00007
를 만족하는 랜덤 값이고, 제2 랜덤 검증키는 상술한 군 G인 원소인
Figure 112018132228089-pat00008
값을 의미한다. In addition, the processor 130 may calculate a first digital signature value e constituting the digital signature using the message m. In detail, when the processor 130 receives the first random verification key r1, the processor 130 generates a second random signature key k2 and a second random verification key r2, and generates the second random verification key r2. ) Is multiplied by the received first random verification key r1 to generate a third random verification key (
Figure 112018132228089-pat00006
) Can be created. Here, the second random signing key
Figure 112018132228089-pat00007
Is a random value satisfying the second random verification key,
Figure 112018132228089-pat00008
It means the value.

그리고 프로세서(130)는 제3 랜덤 검증키(r) 및 메시지(m)를 이용하여 제1 전자 서명값(e)을 계산할 수 있다. 구체적으로, 프로세서(130)는 아래의 수학식 1을 이용하여 제1 전자 서명값(e)을 계산할 수 있다. The processor 130 may calculate the first electronic signature value e using the third random verification key r and the message m. In detail, the processor 130 may calculate the first electronic signature value e using Equation 1 below.

Figure 112018132228089-pat00009
Figure 112018132228089-pat00009

여기서, e는 제1 전자 서명값이고, m는 메시지, r은 제3 랜덤 검증키, H는 해쉬함수 있다. Here, e is a first digital signature value, m is a message, r is a third random verification key, and H is a hash function.

그리고 프로세서(130)는 생성된 제1 전자 서명값을 동형 암호 비밀키를 이용하여 인코딩한다. 구체적으로, 프로세서(130)는 동형 암호 비밀키를 이용하여 계산된 제1 전자 서명값(e)을 동형 암호화할 수 있다. 그리고 프로세서(130)는 인코딩된 제1 전자 서명값(e)이 외부 장치로 전송되도록 통신 장치(110)를 제어할 수 있다. The processor 130 encodes the generated first digital signature value using a homogeneous cryptographic secret key. In detail, the processor 130 may homogeneously encrypt the first digital signature value e calculated using the homogeneous cryptographic secret key. In addition, the processor 130 may control the communication device 110 to transmit the encoded first electronic signature value e to the external device.

그리고 외부 장치로부터 임시 전자 서명값(s')을 수신하면, 프로세서(130)는 수신된 임시 전자 서명값을 동형 암호 비밀키(hsk)를 이용하여 디코딩함으로써 전자 서명을 구성하는 제2 전자 서명값(s)을 계산할 수 있다. 구체적으로, 외부 장치로부터 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값(s')을 수신하면, 프로세서(130)는 동형 암호 비밀키(hsk)를 이용하여 수신된 임시 전자 서명값(s')을 디코딩하고, 디코딩된 임시 전자 서명값(s'), 제2 랜덤 검증키(r2)에 대응되는 제2 랜덤 서명키(k2)를 이용하여 제2 전자 서명값을 산출할 수 있다. 구체적으로, 프로세서(130)는 아래와 같은 수학식 2를 이용하여 제2 전자 서명값을 산출할 수 있다. When receiving the temporary digital signature value s' from the external device, the processor 130 decodes the received temporary digital signature value by using a homogeneous cryptographic secret key (hsk) to form a second digital signature value (s) can be calculated. Specifically, upon receiving the temporary digital signature value s' calculated using the encoded first electronic signature value from the external device, the processor 130 receives the temporary digital signature received using the homogeneous cryptographic secret key hsk. value (s ') to the decoding and the decoded temporary digital signature value (s' calculates a second electronic signature value by using a second random signature key (k2) corresponding to a), a second random verification key (r2) Can be. In detail, the processor 130 may calculate a second electronic signature value by using Equation 2 below.

Figure 112018132228089-pat00010
Figure 112018132228089-pat00010

여기서, s는 제2 전자 서명값, k2는 제2 랜덤 서명키, s'는 디코딩된 임시 전자 서명값, k1는 제1 랜덤 서명키, e는 제1 전자 서명값, x는 서명키이다. Where s is the second digital signature value, k2 is the second random signature key, s' is the decoded temporary digital signature value, k1 is the first random signature key, e is the first digital signature value, and x is the signature key.

그리고 프로세서(130)는 산출된 제1 전자 서명값(e) 및 제2 전자 서명값(s)을 이용하여 메시지에 대한 전자 서명(e,s)을 생성한다. 그리고 프로세서(130)는 외부 장치에 샌성된 전자 서명이 전송되도록 통신 장치(110)를 제어할 수 있다. The processor 130 generates the electronic signatures e and s for the message using the calculated first electronic signature value e and the second electronic signature value s. In addition, the processor 130 may control the communication device 110 to transmit the encrypted electronic signature to the external device.

한편, 이상에서는 전자 장치(100)를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 3을 참조하여 이하에서 설명한다. In the meantime, although only a simple configuration constituting the electronic device 100 has been illustrated and described, various configurations may be additionally provided. This will be described below with reference to FIG. 3.

도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 도시한 블록도이다. 3 is a block diagram illustrating a specific configuration of an electronic device according to an embodiment of the present disclosure.

도 3을 참조하면, 본 개시의 전자 장치(100)는 메모리(120), 프로세서(130), 통신 장치(110), 디스플레이(140) 및 조작 입력 장치(150)로 구성될 수 있다. Referring to FIG. 3, the electronic device 100 of the present disclosure may include a memory 120, a processor 130, a communication device 110, a display 140, and a manipulation input device 150.

통신 장치(100) 및 메모리(120)에 대해서는 도 2와 관련하여 설명하였는바, 중복 설명은 생략한다. 그리고 프로세서(130)에 대해서도 도 2와 관련하여 설명하였는바, 도 2에서 설명한 내용은 중복 기재하지 않고, 도 3에 추가된 구성과 관련된 내용만 이하에서 설명한다. Since the communication device 100 and the memory 120 have been described with reference to FIG. 2, duplicate description thereof will be omitted. Also, the processor 130 has been described with reference to FIG. 2, and the descriptions of FIG. 2 are not repeated, and only the contents related to the configuration added to FIG. 3 will be described below.

디스플레이(140)는 전자 장치(100)가 지원하는 기능을 선택받기 위한 사용자 인터페이스 창을 표시한다. 구체적으로, 디스플레이(140)는 전자 장치(100)가 제공하는 각종 기능을 선택받기 위한 사용자 인터페이스 창을 표시할 수 있다. 이러한 디스플레이(140)는 LCD, CRT, OLED 등과 같은 모니터일 수 있으며, 후술할 조작 입력 장치(150)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다. The display 140 displays a user interface window for selecting a function supported by the electronic device 100. In detail, the display 140 may display a user interface window for selecting various functions provided by the electronic device 100. The display 140 may be a monitor such as an LCD, a CRT, an OLED, or the like, and may be implemented as a touch screen capable of simultaneously performing a function of the manipulation input apparatus 150 to be described later.

디스플레이(140)는 동형암호 비밀키 생성에 필요한 파라미터의 입력을 요청하는 메시지를 표시할 수 있다. 그리고 디스플레이(140)는 암호화 대상이 메시지를 선택하는 메시지를 표시할 수 있다. 한편, 구현시에 암호화 대상은 사용자가 직접 선택할 수도 있고, 자동으로 선택될 수 있다. 즉, 암호화가 필요한 개인 정보 등은 사용자가 직접 메시지를 선택하지 않더라도 자동으로 설정될 수 있다. The display 140 may display a message requesting input of a parameter required for generating a homogeneous password secret key. In addition, the display 140 may display a message in which the encryption target selects the message. In the implementation, the encryption target may be directly selected by the user or may be automatically selected. That is, personal information requiring encryption may be automatically set even if the user does not directly select a message.

조작 입력 장치(150)는 사용자로부터 전자 장치(100)의 기능 선택 및 해당 기능에 대한 제어 명령을 입력받을 수 있다. 구체적으로, 조작 입력 장치(150)는 사용자로부터 동형암호 비밀키 생성에 필요한 파라미터를 입력받을 수 있다. 또한, 조작 입력 장치(150)는 사용자로부터 암호화될 메시지를 설정받을 수 있다. The manipulation input device 150 may receive a function selection of the electronic device 100 and a control command for the corresponding function from the user. In detail, the manipulation input apparatus 150 may receive a parameter for generating a homogeneous password secret key from a user. In addition, the manipulation input device 150 may receive a message to be encrypted from the user.

프로세서(130)는 사용자로부터 동형암호 비밀키에 필요한 파라미터를 입력받으면, 입력받은 파라미터에 기초하여 설정 파라미터를 생성하고, 생성된 설정 파라미터에 기초하여 동형암호 비밀키를 생성할 수 있다. When the processor 130 receives a parameter required for the homologous secret key from the user, the processor 130 may generate a setting parameter based on the received parameter, and generate the homogeneous password secret key based on the generated setting parameter.

그리고 메시지에 대한 전자 서명이 필요하면, 프로세서(130)는 상술한 과정을 통하여 외부 장치와의 협력을 통하여 제1 전자 서명값 및 제2 전자 서명값을 갖는 전자 서명을 생성할 수 있다. If an electronic signature is required for the message, the processor 130 may generate an electronic signature having a first electronic signature value and a second electronic signature value through cooperation with an external device through the above-described process.

이상과 같이 본 실시 예에 따른 전자 장치(100)는 외부 장치와의 협력을 통하여 전자 서명을 진행하는 경우에 메시지를 동형 암호화하여 진행하는바, 외부 장치에 메시지의 내용이 공개되는 것을 방지할 수 있다. 또한, 생성되는 전자 서명은 기존의 전자 서명과 동일하며, 검증에 소요되는 시간 역시 기존 전자 서명과 동일한다. As described above, the electronic device 100 according to the present embodiment performs the homogeneous encryption of the message when the electronic signature is performed in cooperation with the external device, thereby preventing the contents of the message from being disclosed to the external device. have. In addition, the generated electronic signature is the same as the existing electronic signature, and the time required for verification is also the same as the existing electronic signature.

도 4는 본 개시에 따른 전자 서명 생성 동작을 설명하기 위한 도면이다. 4 is a diagram for explaining an operation of generating a digital signature according to the present disclosure.

먼저, 키 생성 알고리즘을 설명한다. First, the key generation algorithm will be described.

도 4를 참조하면, 서명자인 제1 전자 장치(100-1)는 전자 서명에 필요한 서명키(sk) 및 검증키(vk)를 생성할 수 있다. 구체적으로, 제1 전자 장치(100-1)는 집합

Figure 112018132228089-pat00011
에서 임의의 원소 x(sk)를 추출하고, 추출된 원소를 기초로 군 G의 원소(
Figure 112018132228089-pat00012
)인 검증키(vk)를 생성할 수 있다. Referring to FIG. 4, the first electronic device 100-1, which is a signer, may generate a signature key sk and a verification key vk required for an electronic signature. In detail, the first electronic device 100-1 is aggregated.
Figure 112018132228089-pat00011
Extracts any element x (sk) from, and based on the extracted elements,
Figure 112018132228089-pat00012
Can generate a verification key vk.

이때, 제1 전자 장치(100-1)는 생성된 검증키(vk)는 네트워크를 통하여 공개할 수 있다. In this case, the first electronic device 100-1 may disclose the generated verification key vk through the network.

이하에서는, 서명 프로토콜 동작을 설명한다. The signature protocol operation is described below.

제2 전자 장치(100-2)는 메시지를 동형 암호 비밀키를 이용하여 암호화하여, 제1 전자 장치(100-1)에 제공할 수 있다. The second electronic device 100-2 may encrypt the message using the same type secret key and provide the message to the first electronic device 100-1.

제1 전자 장치(100-1)는 제공받은 암호화된 메시지와 서명키(sk)를 이용하여, 암호화된 서명(σ)을 생성하고, 생성된 암호화된 서명(σ)을 제2 전자 장치(100-2)에 전송할 수 있다. The first electronic device 100-1 generates an encrypted signature σ using the provided encrypted message and the signing key sk, and generates the generated encrypted signature σ . -2) can be sent.

제2 전자 장치(100-2)는 제공받은 암호화된 서명()을 수신하면, 수신된 암호화된 서명을 동형 암호 비밀키(hsk)를 이용하여, 복호화하고, 복호화된 서명과 메시지를 전자 서명을 검증자(200)에 전송할 수 있다. When the second electronic device 100-2 receives the received encrypted signature (), the second electronic device 100-2 decrypts the received encrypted signature using a homogeneous cryptographic secret key (hsk), and decrypts the decrypted signature and message with the electronic signature. May be sent to the verifier 200.

제1 전자 장치(100-1)와 제2 전자 장치(100-2)에서의 보다 구체적인 서명 프로토콜 동작에 대해서는 도 5를 참조하여 후술한다. More specific signature protocol operations of the first electronic device 100-1 and the second electronic device 100-2 will be described later with reference to FIG. 5.

이하, 검증 동작을 설명하면, 검증 장치인 서버 장치(200)는 제공받은 전자 서명과 공개된 검증키(vk)를 이용하여, 성립성을 확인할 수 있다. 구체적으로, 서버 장치(200)는 기존의 schnorr 서명과 동일하게 아래와 같은 수학식 3을 계산하여,

Figure 112018132228089-pat00013
가 성립하는지를 확인하고, 성립한다면 1을 출력하고, 성립하지 않으면 0을 출력할 수 있다. Hereinafter, referring to the verification operation, the server device 200, which is a verification device, may verify the integrity using the provided electronic signature and the public verification key vk. Specifically, the server device 200 calculates the following Equation 3 in the same manner as the existing schnorr signature,
Figure 112018132228089-pat00013
Can be verified, and if it does, 1 can be printed, or 0 if it is not.

Figure 112018132228089-pat00014
Figure 112018132228089-pat00014

여기서, g는 군 G의 원소, s는 제2 전자 서명값, y는 검증키, e는 제1 전자 서명값이다. Where g is an element of group G, s is a second electronic signature value, y is a verification key, and e is a first electronic signature value.

도 5는 본 개시의 일 실시 예에 따른 서명 프로토콜을 설명하기 위한 시퀀스도이다. 5 is a sequence diagram illustrating a signature protocol according to an embodiment of the present disclosure.

도 5를 참조하면, 제2 전자 장치(100-2)는 전자 서명이 필요하면, 제1 전자 장치(100-1)에 서명 프로토콜 개시를 요청한다. Referring to FIG. 5, when an electronic signature is required, the second electronic device 100-2 requests the first electronic device 100-1 to start a signature protocol.

서명 프로토콜 개시를 요청받은 제1 전자 장치(100-1)는 랜덤 값으로 사용될 제1 랜덤 서명키(k1)를 생성하고, 제1 랜덤 서명키에 대응되는 제1 랜덤 검증키(r1)를 계산할 수 있다. 여기서, 제1 랜덤 서명키는

Figure 112018132228089-pat00015
를 만족하는 랜덤 값이고, 제1 랜덤 검증키는 상술한 군 G인 원소인
Figure 112018132228089-pat00016
값을 의미한다. The first electronic device 100-1 that is requested to start the signature protocol generates a first random signature key k1 to be used as a random value and calculates a first random verification key r1 corresponding to the first random signature key. Can be. Here, the first random signing key is
Figure 112018132228089-pat00015
Is a random value that satisfies, and the first random verification key is an element
Figure 112018132228089-pat00016
It means the value.

그리고 제1 전자 장치(100-1)는 계산된 제1 랜덤 검증키를 제2 전자 장치(100-2)에 전송할 수 있다. The first electronic device 100-1 may transmit the calculated first random verification key to the second electronic device 100-2.

제1 랜덤 검증키를 수신한 제2 전자 장치(100-2)는 제2 랜덤 서명키(k2)와 제2 랜덤 검증키(r2)를 생성하고, 생성된 제2 랜덤 검증키(r2)와 수신한 제1 랜덤 검증키(r1)를 곱하여 제3 랜덤 검증키(

Figure 112018132228089-pat00017
)를 생성할 수 있다. 여기서, 제2 랜덤 서명키는
Figure 112018132228089-pat00018
를 만족하는 랜덤 값이고, 제2 랜덤 검증키는 상술한 군 G인 원소인
Figure 112018132228089-pat00019
값을 의미한다. Upon receiving the first random verification key, the second electronic device 100-2 generates a second random signature key k2 and a second random verification key r2, and generates the second random verification key r2. Multiply the received first random verification key r1 to generate a third random verification key (
Figure 112018132228089-pat00017
) Can be created. Here, the second random signing key
Figure 112018132228089-pat00018
Is a random value satisfying the second random verification key, and the second random verification key
Figure 112018132228089-pat00019
It means the value.

그리고 제2 전자 장치(100-2)는 상술한 수학식 1을 이용하여 제1 전자 서명값(e)을 계산할 수 있다. The second electronic device 100-2 may calculate the first electronic signature value e using Equation 1 described above.

그리고 제2 전자 장치(100-2)는 생성된 제1 전자 서명값을 동형 암호 비밀키를 이용하여 인코딩(또는 암호화)한다. 구체적으로, 제2 전자 장치(100-2)는 동형 암호 비밀키를 이용하여 계산된 제1 전자 서명값(e)을 동형 암호화할 수 있다. 그리고 제2 전자 장치(100-2)는 인코딩된 제1 전자 서명값(e)을 제1 전자 장치(100-1)에 전송할 수 있다. The second electronic device 100-2 encodes (or encrypts) the generated first electronic signature value using a homogeneous cryptographic secret key. In detail, the second electronic device 100-2 may homogeneously encrypt the first electronic signature value e calculated using the homologous secret secret key. The second electronic device 100-2 may transmit the encoded first electronic signature value e to the first electronic device 100-1.

그리고 제2 전자 장치(100-2)로부터 인코딩된 제1 전자 서명값(e)을 수신하면, 제1 전자 장치(100-1)는 수신된 제1 전자 서명값(e), 앞서 생성된 서명키(x), 제1 랜덤 서명키(k1)를 이용하여 임시 전자 서명값(s')을 생성할 수 있다. 그리고 제1 전자 장치(100-1)는 생성된 임시 전자 서명값(s')을 제2 전자 장치(100-2)에 전송할 수 있다. When receiving the encoded first electronic signature value e from the second electronic device 100-2, the first electronic device 100-1 receives the received first electronic signature value e and the signature previously generated. The temporary digital signature value s' may be generated using the key x and the first random signature key k1. The first electronic device 100-1 may transmit the generated temporary electronic signature value s ′ to the second electronic device 100-2.

그리고 제1 전자 장치(100-1)로부터 임시 전자 서명값(s')을 수신하면, 제2 전자 장치(100-2)는 동형 암호 비밀 키를 이용하여 수신된 임시 전자 서명값(s')을 디코딩하고, 디코딩된 임시 전자 서명값(s'), 제2 랜덤 검증키(r2)에 대응되는 제2 랜덤 서명키(k2)를 이용하여 제2 전자 서명값(s)을 산출할 수 있다.When the temporary electronic signature value s ' is received from the first electronic device 100-1, the second electronic device 100-2 receives the temporary electronic signature value s' using the same type secret key. The second electronic signature value s may be calculated using the decoded temporary digital signature value s' and the second random signature key k2 corresponding to the second random verification key r2. .

그리고 제2 전자 장치(100-2)는 산출된 제1 전자 서명값(e) 및 제2 전자 서명값(s)을 이용하여 메시지에 대한 전자 서명(e, s)을 생성할 수 있다. The second electronic device 100-2 may generate electronic signatures e and s for the message using the calculated first electronic signature value e and the second electronic signature value s.

도 6은 본 개시의 제1 전자 장치에서의 전자 서명 생성 방법을 설명하기 위한 도면이다. 6 is a diagram for describing a method of generating an electronic signature in a first electronic device of the present disclosure.

도 6을 참조하면, 메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산한다(S610). 구체적으로, 외부 장치로부터 제1 랜덤 검증키를 수신하고, 제2 랜덤 검증키를 생성하고, 수신한 제1 랜덤 검증키 및 생성된 제2 랜덤 검증키를 이용하여 제3 랜덤 검증키를 생성할 수 있다. 그리고 생성된 제3 랜덤 검증키 및 메시지를 이용하여 제1 전자 서명값을 산출할 수 있다. 여기서, 제1 랜덤 검증키 및 제2 랜덤 검증키 각각은 소수 위수(prime order)를 가지는 집합의 원소일 수 있다. Referring to FIG. 6, a first electronic signature value constituting an electronic signature is calculated using a message (S610). In detail, the first random verification key is received from an external device, the second random verification key is generated, and the third random verification key is generated using the received first random verification key and the generated second random verification key. Can be. The first electronic signature may be calculated using the generated third random verification key and the message. Here, each of the first random verification key and the second random verification key may be an element of a set having a prime order.

그리고 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩한다(S620). 구체적으로, 동형암호 서명키를 이용하여 계산된 제1 전자 서명값을 동형암호화할 수 있다. 여기서, 동형암호 서명키는, 원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링(Ring)으로부터 산출된 것일 수 있다. The calculated first digital signature value is encoded using the homogeneous cryptographic signature key (S620). In detail, the first digital signature value calculated using the homologous cryptographic signature key may be homogenized. Here, the isomorphic signature key may be calculated from a ring, which is a set in which addition and multiplication are defined between elements, and which is closed for addition and multiplication.

그리고 인코딩된 제1 전자 서명값을 외부 장치로 전송하고, 이에 대응하여, 외부 장치로부터 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값을 수신할 수 있다. The encoded first digital signature value may be transmitted to the external device, and correspondingly, the temporary digital signature value calculated using the encoded first digital signature value may be received from the external device.

그리고 인코딩된 제1 전자 서명값에 이용하여 산출된 임시 전자 서명값이 수신되면, 수신된 임시 전자 서명값을 동형 암호 서명키를 이용하여 디코딩하여 전자 서명을 구성하는 제2 전자 서명값을 계산한다(S630). 구체적으로, 동형암호 서명키를 이용하여 수신된 임시 전자 서명값을 디코딩하고, 디코딩된 임시 전자 서명값 및 제2 랜덤 검증키에 대응되는 제2 랜덤 서명키를 이용하여 제2 전자 서명값을 산출할 수 있다. When a temporary digital signature value calculated using the encoded first digital signature value is received, the second digital signature value constituting the digital signature is calculated by decoding the received temporary digital signature value using a homogeneous cryptographic signature key. (S630). Specifically, the received temporary digital signature value is decoded using the homogeneous cryptographic signature key, and the second digital signature value is calculated using the second random signature key corresponding to the decoded temporary digital signature value and the second random verification key. can do.

그리고 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 메시지에 대한 전자 서명을 생성한다. The electronic signature for the message is generated using the calculated first and second digital signature values.

이상과 같이 본 실시 예에 따른 전자 서명 방법은 외부 장치와의 협력을 통하여 전자 서명을 진행하는 경우에 메시지를 동형 암호화하여 진행하는바, 외부 장치에 메시지의 내용이 공개되는 것을 방지할 수 있다. 또한, 생성되는 전자 서명은 기존의 전자 서명과 동일하며, 검증에 소요되는 시간 역시 기존 전자 서명과 동일한다. 도 6과 같은 전자 서명 방법은 도 2 또는 도 3의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치상에서도 실행될 수 있다. As described above, the electronic signature method according to the present embodiment performs homogeneous encryption of a message when the electronic signature is performed through cooperation with an external device, thereby preventing the contents of the message from being disclosed to the external device. In addition, the generated electronic signature is the same as the existing electronic signature, and the time required for verification is also the same as the existing electronic signature. The electronic signature method as shown in FIG. 6 may be executed on an electronic device having the configuration of FIG. 2 or 3, or may be executed on an electronic device having other configurations.

한편, 상술한 실시 예에 따른 전자 서명 방법은 프로그램으로 구현되어 디스플레이 장치에 제공될 수 있다. 특히, 전자 서명 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다. Meanwhile, the electronic signature method according to the above-described embodiment may be implemented as a program and provided to the display device. In particular, the program including the electronic signature method may be stored and provided in a non-transitory computer readable medium.

도 7은 본 개시의 제2 전자 장치에서의 제어 방법을 설명하기 위한 도면이다. 7 is a diagram for describing a control method of a second electronic device of the present disclosure.

먼저, 전자 서명에 필요한 서명키(x) 및 검증키(y)를 생성할 수 있다(S710). 구체적으로, 집합

Figure 112018132228089-pat00020
에서 임의의 원소 x(서명키)를 추출할 수 있으며, 추출된 원소를 기초로 군 G의 원소(
Figure 112018132228089-pat00021
)인 검증키를 생성할 수 있다. First, a signature key x and a verification key y required for an electronic signature may be generated (S710). Specifically, a set
Figure 112018132228089-pat00020
You can extract any element x (signature key) from, and based on the extracted elements,
Figure 112018132228089-pat00021
You can create a verification key with).

그리고 제1 랜덤 검증키를 생성할 수 있다(S720). 구체적으로, 외부 장치로부터 서명 프로토콜의 개시를 요청받으면, 랜덤 값으로 사용될 제1 랜덤 서명키(k1)를 생성하고, 제1 랜덤 서명키에 대응되는 제1 랜덤 검증키(r1)를 계산할 수 있다. 계산된 제1 랜덤 검증키는 프로토콜 개시를 요청한 장치에 전송될 수 있다. In operation S720, a first random verification key may be generated. In detail, when a request for initiation of a signature protocol is requested from an external device, a first random signature key k1 to be used as a random value may be generated, and a first random verification key r1 corresponding to the first random signature key may be calculated. . The calculated first random verification key may be transmitted to the device requesting protocol initiation.

그리고 임시 전자 서명값을 생성한다(S730). 구체적으로, 외부 장치로부터 인코딩된 제1 전자 서명값(e)을 수신하면, 수신된 제1 전자 서명값(e), 앞서 생성된 서명키(x), 제1 랜덤 서명키(k1)를 이용하여 임시 전자 서명값(s')을 생성할 수 있다. In operation S730, a temporary electronic signature value is generated. Specifically, upon receiving the encoded first digital signature value e from an external device, the received first digital signature value e , the previously generated signature key x, and the first random signature key k1 are used. To generate a temporary digital signature value s' .

그리고 생성한 임시 전자 서명값(s')을 외부 장치에 전송할 수 있다(S740). The generated temporary digital signature value s' may be transmitted to an external device (S740).

이상과 같은 전자 서명 방법 및 제어 방법은 각종 어플리케이션의 실행 결과뿐만 아니라 사용자가 직접 입력한 각종 신용 정보나 개인 정보들의 수집에도 사용될 수 있다. The electronic signature method and control method as described above can be used not only for execution results of various applications but also for collecting various types of credit or personal information directly input by a user.

한편, 상술한 다양한 실시 예들에 따른 전자 서명 방법 및 제어 방법 등은, 각 단계들을 수행하기 위한 프로그램 코드 형태로 구현되어, 기록 매체에 저장되고 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 암호화 또는 암호문 처리 등의 동작들을 수행할 수 있다. Meanwhile, the electronic signature method and the control method according to the various embodiments described above may be implemented in the form of program code for performing each step, and may be stored and distributed in a recording medium. In this case, the apparatus on which the recording medium is mounted can perform the above operations such as encryption or cipher text processing.

이러한 기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다. Such recording media may be various types of computer readable media such as ROM, RAM, memory chips, memory cards, external hard drives, hard drives, CDs, DVDs, magnetic disks, or magnetic tapes.

이상 첨부 도면을 참고하여 본 개시에 대해서 설명하였지만 본 개시의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 안 된다. 그리고 특허청구범위에 기재된 개시의, 당업자에게 자명한 개량, 변경 및 수정도 본 개시의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present disclosure has been described with reference to the accompanying drawings, the scope of the present disclosure is determined by the claims below and should not be construed as limited to the embodiments and / or drawings described above. And it should be clearly understood that improvements, changes and modifications apparent to those skilled in the art of the disclosure described in the claims are included in the scope of the present disclosure.

100: 전자 장치 200: 서버 장치
110: 통신 장치 120: 메모리
130: 프로세스 140: 디스플레이
150: 조작 입력장치
100: electronic device 200: server device
110: communication device 120: memory
130: process 140: display
150: operation input device

Claims (14)

전자 서명 생성 방법에 있어서,
메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하는 단계;
상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 단계;
상기 인코딩된 제1 전자 서명값을 이용하여 산출된 임시 전자 서명값이 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하는 단계; 및
상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성하는 단계;를 포함하고,
상기 제1 전자 서명값을 계산하는 단계는,
외부 장치로부터 제1 랜덤 검증키를 수신하는 단계;
제2 랜덤 검증키를 생성하는 단계;
상기 수신한 제1 랜덤 검증키 및 상기 생성된 제2 랜덤 검증키를 이용하여 제3 랜덤 검증키를 생성하는 단계; 및
상기 생성된 제3 랜덤 검증키 및 상기 메시지를 이용하여 상기 제1 전자 서명값을 산출하는 단계;를 포함하는 전자 서명 생성 방법.
In the digital signature generation method,
Calculating a first digital signature value constituting the digital signature using the message;
Encoding the calculated first digital signature value using a homogeneous cryptographic signature key;
When a temporary digital signature value calculated using the encoded first digital signature value is received, a second digital signature value constituting the digital signature by decoding the received temporary digital signature value using the homogeneous cryptographic signature key. Calculating; And
Generating an electronic signature for the message using the calculated first and second digital signature values;
Computing the first digital signature value,
Receiving a first random verification key from an external device;
Generating a second random verification key;
Generating a third random verification key using the received first random verification key and the generated second random verification key; And
And calculating the first digital signature value by using the generated third random verification key and the message.
삭제delete 제1항에 있어서,
상기 제1 랜덤 검증키 및 상기 제2 랜덤 검증키 각각은,
소수 위수(prime order)를 가지는 집합의 원소인 전자 서명 생성 방법.
The method of claim 1,
Each of the first random verification key and the second random verification key,
A method of generating a digital signature that is an element of a set having a prime order.
제1항에 있어서,
상기 인코딩하는 단계는,
상기 동형암호 서명키를 이용하여 상기 계산된 제1 전자 서명값을 동형암호화하는 전자 서명 생성 방법.
The method of claim 1,
The encoding step,
And isomorphically encrypting the calculated first digital signature value using the homogeneous cryptographic signature key.
제1항에 있어서,
상기 동형암호 서명키는,
원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링(Ring)으로부터 산출된 것인 전자 서명 생성 방법.
The method of claim 1,
The isomorphic signature key,
A method for generating an electronic signature, wherein addition and multiplication are defined between elements, and are derived from a ring, a closed set for addition and multiplication.
전자 서명 생성 방법에 있어서,
메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하는 단계;
상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 단계;
상기 인코딩된 제1 전자 서명값을 이용하여 산출된 임시 전자 서명값이 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하는 단계; 및
상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성하는 단계;를 포함하고,
상기 전자 서명 생성 방법은,
상기 인코딩된 제1 전자 서명값을 외부 장치로 전송하는 단계; 및
상기 외부 장치로부터 상기 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값을 수신하는 단계;를 더 포함하고,
상기 임시 전자 서명값은,
서명키, 상기 인코딩된 제1 전자 서명값, 제1 랜덤 검증키에 대응되는 제1 랜덤 서명키를 통하여 산출된 것인 전자 서명 생성 방법.
In the digital signature generation method,
Calculating a first digital signature value constituting the digital signature using the message;
Encoding the calculated first digital signature value using a homogeneous cryptographic signature key;
When a temporary digital signature value calculated using the encoded first digital signature value is received, a second digital signature value constituting the digital signature by decoding the received temporary digital signature value using the homogeneous cryptographic signature key. Calculating; And
Generating an electronic signature for the message using the calculated first and second digital signature values;
The electronic signature generation method,
Transmitting the encoded first digital signature value to an external device; And
Receiving a temporary digital signature value calculated using the encoded first digital signature value from the external device;
The temporary electronic signature value is,
And a first random signature key corresponding to a signature key, the encoded first digital signature value, and a first random verification key.
제6항에 있어서,
상기 제2 전자 서명값을 계산하는 단계는,
상기 동형암호 서명키를 이용하여 상기 수신된 임시 전자 서명값을 디코딩하는 단계; 및
상기 디코딩된 임시 전자 서명값 및 제2 랜덤 검증키에 대응되는 제2 랜덤 서명키를 이용하여 상기 제2 전자 서명값을 산출하는 단계;를 포함하는 전자 서명 생성 방법.
The method of claim 6,
Computing the second electronic signature value,
Decoding the received temporary digital signature value using the isomorphic signature key; And
And calculating the second digital signature value by using the decoded temporary digital signature value and a second random signature key corresponding to the second random verification key.
전자 장치에 있어서,
외부장치와 통신하는 통신 장치;
메시지를 저장하는 메모리; 및
상기 저장된 메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 프로세서;를 포함하고,
상기 프로세서는,
상기 인코딩된 제1 전자 서명값을 이용하여 산출된 임시 전자 서명값이 상기 외부 장치로부터 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성하고,
상기 통신 장치는,
외부 장치로부터 제1 랜덤 검증키를 수신하고,
상기 프로세서는,
제2 랜덤 검증키를 생성하고, 상기 수신한 제1 랜덤 검증키 및 상기 생성된 제2 랜덤 검증키를 이용하여 제3 랜덤 검증키를 생성하고, 상기 생성된 제3 랜덤 검증키 및 상기 메시지를 이용하여 상기 제1 전자 서명값을 산출하는 전자 장치.
In an electronic device,
A communication device communicating with an external device;
Memory for storing messages; And
A processor configured to calculate a first digital signature value constituting the digital signature using the stored message and to encode the calculated first digital signature value using a homogeneous cryptographic signature key;
The processor,
And when the temporary digital signature value calculated using the encoded first digital signature value is received from the external device, decoding the received temporary digital signature value using the homogeneous cryptographic signature key to configure the digital signature. Calculate a digital signature value, and generate an electronic signature for the message using the calculated first and second digital signature values,
The communication device,
Receiving a first random verification key from an external device,
The processor,
Generate a second random verification key, generate a third random verification key using the received first random verification key and the generated second random verification key, and generate the generated third random verification key and the message. And calculating the first electronic signature value by using the electronic device.
삭제delete 제8항에 있어서,
상기 제1 랜덤 검증키 및 상기 제2 랜덤 검증키 각각은,
소수 위수(prime order)를 가지는 집합의 원소인 전자 장치.
The method of claim 8,
Each of the first random verification key and the second random verification key,
An electronic device that is an element of a set with prime order.
제8항에 있어서,
상기 프로세서는,
상기 동형암호 서명키를 이용하여 상기 계산된 제1 전자 서명값을 동형암호화하여 상기 계산된 제1 전자 서명값을 인코딩하는 전자 장치.
The method of claim 8,
The processor,
And homogeneously encrypting the calculated first digital signature value using the homogeneous signature signature key to encode the calculated first digital signature value.
제8항에 있어서,
상기 동형암호 서명키는,
원소들 사이에 덧셈과 곱셈이 정의되어 있으며 덧셈과 곱셈에 대해서 닫혀 있는 집합인 링(Ring)으로부터 산출된 것인 전자 장치.
The method of claim 8,
The isomorphic signature key,
An electronic device in which addition and multiplication are defined between elements and are derived from a ring, a closed set for addition and multiplication.
전자 장치에 있어서,
외부장치와 통신하는 통신 장치;
메시지를 저장하는 메모리; 및
상기 저장된 메시지를 이용하여 전자 서명을 구성하는 제1 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값을 동형암호 서명키를 이용하여 인코딩하는 프로세서;를 포함하고,
상기 프로세서는,
상기 인코딩된 제1 전자 서명값을 이용하여 산출된 임시 전자 서명값이 상기 외부 장치로부터 수신되면, 상기 수신된 임시 전자 서명값을 상기 동형 암호 서명키를 이용하여 디코딩하여 상기 전자 서명을 구성하는 제2 전자 서명값을 계산하고, 상기 계산된 제1 전자 서명값 및 제2 전자 서명값을 이용하여 상기 메시지에 대한 전자 서명을 생성하고,
상기 통신 장치는,
상기 외부 장치에 상기 인코딩된 제1 전자 서명값을 외부 장치로 전송하고, 상기 외부 장치로부터 상기 인코딩된 제1 전자 서명값을 이용하여 계산된 임시 전자 서명값을 수신하며,
상기 임시 전자 서명값은,
서명키, 상기 인코딩된 제1 전자 서명값, 제1 랜덤 검증키에 대응되는 제1 랜덤 서명키를 통하여 산출된 것인 전자 장치.
In an electronic device,
A communication device communicating with an external device;
Memory for storing messages; And
A processor configured to calculate a first digital signature value constituting the digital signature using the stored message and to encode the calculated first digital signature value using a homogeneous cryptographic signature key;
The processor,
And when the temporary digital signature value calculated using the encoded first digital signature value is received from the external device, decoding the received temporary digital signature value using the homogeneous cryptographic signature key to configure the digital signature. Calculate a digital signature value, and generate an electronic signature for the message using the calculated first and second digital signature values,
The communication device,
Transmit the encoded first digital signature value to the external device to an external device, and receive a temporary digital signature value calculated using the encoded first digital signature value from the external device,
The temporary electronic signature value is,
And a first random signature key corresponding to a signature key, the encoded first electronic signature value, and a first random verification key.
제13항에 있어서,
상기 프로세서는,
상기 동형암호 서명키를 이용하여 상기 수신된 임시 전자 서명값을 디코딩하고, 상기 디코딩된 임시 전자 서명값 및 제2 랜덤 검증키에 대응되는 제2 랜덤 서명키를 이용하여 상기 제2 전자 서명값을 산출하는 전자 장치.
The method of claim 13,
The processor,
The received temporary digital signature value is decoded using the homogeneous cryptographic signature key, and the second digital signature value is decoded using a second random signature key corresponding to the decoded temporary digital signature value and a second random verification key. Calculating electronic device.
KR1020180173453A 2018-12-31 2018-12-31 Method for encryption digitalsignature to blind signature KR102062377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173453A KR102062377B1 (en) 2018-12-31 2018-12-31 Method for encryption digitalsignature to blind signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173453A KR102062377B1 (en) 2018-12-31 2018-12-31 Method for encryption digitalsignature to blind signature

Publications (1)

Publication Number Publication Date
KR102062377B1 true KR102062377B1 (en) 2020-01-06

Family

ID=69158887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173453A KR102062377B1 (en) 2018-12-31 2018-12-31 Method for encryption digitalsignature to blind signature

Country Status (1)

Country Link
KR (1) KR102062377B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116842584A (en) * 2023-07-13 2023-10-03 西安邮电大学 Electronic evidence obtaining method based on one-time blind signature

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393269A (en) 1981-01-29 1983-07-12 International Business Machines Corporation Method and apparatus incorporating a one-way sequence for transaction and identity verification
JP2006279699A (en) * 2005-03-30 2006-10-12 Nec Soft Ltd Electronic voting system and electronic voting method
JP4649040B2 (en) 1997-11-10 2011-03-09 サーティコム コーポレーション Mask digital signature

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393269A (en) 1981-01-29 1983-07-12 International Business Machines Corporation Method and apparatus incorporating a one-way sequence for transaction and identity verification
JP4649040B2 (en) 1997-11-10 2011-03-09 サーティコム コーポレーション Mask digital signature
JP2006279699A (en) * 2005-03-30 2006-10-12 Nec Soft Ltd Electronic voting system and electronic voting method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Andrea Huszti. A homomorphic encryption-based secure electronic voting scheme. Publ. Math. Debrecen 79/3-4 (2011), pp. 479-496. DOI:10.5486/PMD.2011.5142. 1부.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116842584A (en) * 2023-07-13 2023-10-03 西安邮电大学 Electronic evidence obtaining method based on one-time blind signature

Similar Documents

Publication Publication Date Title
KR102040120B1 (en) Apparatus for processing approximate encripted messages and methods thereof
EP3553995B1 (en) Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
US10375067B2 (en) Mutual authentication with symmetric secrets and signatures
US10785019B2 (en) Data transmission method and apparatus
KR102040106B1 (en) Method for homomorphic encryption of plain text in real numbers
CN107210914B (en) Method for secure credential provisioning
CN109150499B (en) Method and device for dynamically encrypting data, computer equipment and storage medium
CN110868291B (en) Data encryption transmission method, device, system and storage medium
KR20080090989A (en) Apparatus and method for providing security service in home network
CN110188551B (en) Policy encryption transmission method and system
KR20070029864A (en) Method and apparatus for securely transmitting and receiving data in peer to peer
CN110138739B (en) Data information encryption method and device, computer equipment and storage medium
CN110708291B (en) Data authorization access method, device, medium and electronic equipment in distributed network
CN104471581A (en) Protecting media items using a media security controller
CN106131008B (en) Video and audio monitoring equipment, security authentication method thereof and video and audio display equipment
CN104620555A (en) Apparatus and method for protecting message data
KR102443255B1 (en) Method for Generating Encryption Key and Digital Signature Based on Lattices
US8769301B2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
KR102062377B1 (en) Method for encryption digitalsignature to blind signature
US20230291573A1 (en) Apparatus for generating blind signature and method thereof
WO2019037422A1 (en) Key and key handle generation method and system, and smart key security device
CN113922976A (en) Equipment log transmission method and device, electronic equipment and storage medium
KR102466016B1 (en) Server device for processing homomorphic ciphertext and method thereof
KR102466015B1 (en) Server device for processing homomorphic ciphertext and method thereof
KR101591323B1 (en) Data transmission terminal apparatus and data transmission method for non-repudiation of the data transmission terminal 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