KR102474628B1 - Method for signcrytion using functional signature and computing device for executing the method - Google Patents
Method for signcrytion using functional signature and computing device for executing the method Download PDFInfo
- Publication number
- KR102474628B1 KR102474628B1 KR1020200161683A KR20200161683A KR102474628B1 KR 102474628 B1 KR102474628 B1 KR 102474628B1 KR 1020200161683 A KR1020200161683 A KR 1020200161683A KR 20200161683 A KR20200161683 A KR 20200161683A KR 102474628 B1 KR102474628 B1 KR 102474628B1
- Authority
- KR
- South Korea
- Prior art keywords
- function
- signature
- key
- message
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Abstract
함수 서명을 이용한 서명 암호화 방법 및 이를 수행하기 위한 컴퓨팅 장치가 개시된다. 개시되는 일 실시예에 따른 서명 암호화 방법은, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하는 동작, 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하는 동작, 및 함수 서명의 함수(f), 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작을 포함한다.A signature encryption method using a function signature and a computing device for performing the same are disclosed. A signature encryption method according to an embodiment disclosed herein is a method performed in a computing device having one or more processors and a memory for storing one or more programs executed by the one or more processors, and includes a signature scheme. Operation of setting a pair of master signing key (msk) and master verification key (mvk) using the setup algorithm of, master signing key (msk) and functional signature (Functional Signature) An operation of generating a signing key (sk f ) for function (f) based on function (f), and a function (f) of the function signature, a signing key (sk f ) for function ( f ), and a message and generating a function value (f(m)) and a final signature value (σ) for the message based on (m).
Description
본 발명의 실시예는 서명 암호화 기술과 관련된다.Embodiments of the present invention relate to signature encryption techniques.
최근, 통신 기술이 발달하면서 디지털 메시지의 사용이 증가하고 있다. 즉, 인터넷의 발달로 언제 어디서나 이메일 또는 SNS 메시지 등을 주고 받고 있으며 인터넷을 통해 정보 수집 활동을 하고 있다. 이러한 인터넷의 이용으로 생활의 편익과 경제성 및 효율성은 증대되고 있으나, 인터넷의 개방성으로 인해 전자거래 정보의 위변조 및 개인 정보 유출 등의 위험성이 상존하고 있다. BACKGROUND OF THE INVENTION Recently, with the development of communication technology, the use of digital messages is increasing. In other words, with the development of the Internet, e-mails or SNS messages are exchanged anytime, anywhere, and information collection activities are carried out through the Internet. The use of the Internet has increased the convenience, economic feasibility, and efficiency of life, but the openness of the Internet remains at risk of forgery and falsification of electronic transaction information and leakage of personal information.
그에 따라, 보안 및 인증 통신을 위한 암호문이 사용되고 있는데 이는 메시지의 위조를 방지하고 메시지의 기밀성을 유지하기 위한 것이다. 또한, 이러한 암호화 기술과 함께 전자 서명(Electronic Signature)이 도입되고 있다. 전자 서명은 인터넷 등 통신망을 통하여 컴퓨터 시스템 간에 교환 및 전송되는 메시지 무결성을 보증하기 위한 메시지 인증과 해당 메시지에 대한 생성, 처리, 전송, 저장, 및 수신 등의 행위를 한 사용자를 보증하기 위한 사용자 인증의 기능을 겸하는 보안 기술 또는 수단으로 정의될 수 있다.Accordingly, cryptograms for secure and authenticated communication are used to prevent forgery of messages and to maintain confidentiality of messages. In addition, electronic signatures are being introduced along with these encryption technologies. Digital signatures are message authentication to ensure the integrity of messages exchanged and transmitted between computer systems through communication networks such as the Internet, and user authentication to guarantee the user who has performed actions such as creation, processing, transmission, storage, and reception of the message. It can be defined as a security technology or means that combines the functions of
한편, 전자 서명과 관련한 많은 연구들이 수행되고 있으나, 안전하면서도 편리하고 신뢰할 수 있으며 새롭고 효율적인 전자 서명의 검증과 이를 통한 전자 서명 방안이나 대책은 지속적으로 요구되고 있는 실정이다.On the other hand, many studies related to electronic signatures are being conducted, but there is a continuous demand for safe, convenient, reliable, new and efficient electronic signature verification and electronic signature measures or countermeasures through this.
본 발명의 실시예는 새로운 기법의 함수 서명을 이용한 서명 암호화 방법 및 이를 수행하기 위한 컴퓨팅 장치를 제공하기 위한 것이다.An embodiment of the present invention is to provide a signature encryption method using a function signature of a new technique and a computing device for performing the same.
개시되는 일 실시예에 따른 서명 암호화 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하는 동작; 상기 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하는 동작; 및 상기 함수 서명의 함수(f), 상기 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작을 포함한다.A signature encryption method according to an embodiment disclosed herein is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, and includes a signature scheme (Signature Scheme Setting a pair of master signing key (msk) and master verification key (mvk) using a setup algorithm of ); generating a signing key (sk f ) for the function (f) based on the master signing key (msk) and the function (f) of the functional signature; and a function value f(m) for the message based on the function f of the function signature, the signing key sk f for the function f, and the message m, and a final signature value ( σ).
상기 함수 서명의 함수(f)는, 암호화를 위한 공개키 또는 대칭키로 설정될 수 있다.The function (f) of the function signature may be set as a public key or a symmetric key for encryption.
상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작은, 상기 서명 체계의 셋업 알고리즘을 이용하여 사이닝키(signing key: sk) 및 검증키(verification key: vk)의 쌍을 설정하는 동작; 상기 마스터 사이닝키(msk), 상기 함수 서명의 함수(f), 및 상기 검증키(vk)에 상기 서명 체계의 서명(Signature) 알고리즘을 적용하여 상기 검증키에 대한 서명값(σvk)을 산출하는 동작; 상기 함수 서명의 함수(f), 상기 검증키(vk), 및 상기 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성하는 동작; 및 상기 사이닝키(sk) 및 상기 인증서(c)에 기반하여 상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작을 포함할 수 있다.The operation of generating the signing key (sk f ) for the function (f) uses a setup algorithm of the signature scheme to generate a pair of a signing key (sk) and a verification key (vk) action to set; A signature value (σ vk ) of the verification key is obtained by applying the signature algorithm of the signature system to the master signing key (msk), the function (f) of the function signature, and the verification key ( vk ). action to calculate; generating a certificate (c) based on the function (f) of the function signature, the verification key (vk), and a signature value (σ vk ) for the verification key; and generating a signing key (sk f ) for the function (f) based on the signing key (sk) and the certificate (c).
상기 검증키에 대한 서명값(σvk)을 산출하는 동작은, 상기 마스터 사이닝키(msk)로 상기 함수(f)에 상기 검증키(vk)를 연결한(Concatenated) 값(f|vk)을 서명하여 상기 검증키에 대한 서명값(σvk)을 산출할 수 있다.The operation of calculating the signature value (σ vk ) for the verification key is a value (f|vk) obtained by concatenating the verification key (vk) to the function (f) with the master signing key (msk). It is possible to calculate a signature value (σ vk ) for the verification key by signing .
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은, 상기 메시지(m) 및 상기 사이닝키(sk)에 상기 서명 체계의 서명 알고리즘을 적용하여 상기 메시지에 대한 서명값(σm)을 산출하는 동작; 상기 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하는 동작; 및 상기 메시지(m), 상기 인증서(c), 및 상기 메시지에 대한 서명값(σm)에 기반하여 상기 최종 서명값(σ)을 생성하는 동작을 포함할 수 있다.The operation of generating the function value (f(m)) and the final signature value (σ) for the message is performed by applying the signature algorithm of the signature scheme to the message (m) and the signing key (sk). Calculating a signature value (σ m ) for ; applying the message (m) to the function (f) to generate a function value (f(m)) for the message; and generating the final signature value (σ) based on the message (m), the certificate (c), and the signature value (σ m ) for the message.
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은, 상기 함수(f)에 대한 사이닝키(skf)를 상기 사이닝키(sk)와 상기 인증서(c)로 파싱하는 동작을 더 포함할 수 있다.The operation of generating the function value (f(m)) and the final signature value (σ) for the message is to set the signing key (sk f ) for the function (f) to the signing key (sk) and the certificate. An operation of parsing with (c) may be further included.
상기 서명 암호화 방법은, 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 다른 컴퓨팅 장치로 전송하는 동작을 더 포함하고, 상기 다른 컴퓨팅 장치는, 상기 마스터 검증키(mvk)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 검증하는 동작을 수행할 수 있다.The signature encryption method further includes transmitting the function value (f(m)) and the final signature value (σ) of the message to another computing device, wherein the other computing device includes the master verification key ( Based on mvk), an operation of verifying the function value (f(m)) and the final signature value (σ) of the message may be performed.
상기 검증하는 동작은, 상기 최종 서명값(σ)을 상기 메시지(m), 상기 인증서(c = (f, vk, σvk)), 및 상기 메시지에 대한 서명값(σm)으로 파싱하는 동작; 상기 파싱한 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하는 동작; 및 상기 생성한 메시지에 대한 함수 값(f(m))이 상기 컴퓨팅 장치로부터 수신한 메시지에 대한 함수 값(f(m))과 일치하는지를 확인하는 동작을 포함할 수 있다.The verifying operation may include parsing the final signature value σ into the message m, the certificate c = (f, vk, σ vk ), and the signature value σ m of the message. ; generating a function value (f(m)) for the message by applying the parsed message (m) to the function (f); and checking whether the function value f(m) of the generated message matches the function value f(m) of the message received from the computing device.
상기 검증하는 동작은, 상기 메시지(m) 및 상기 검증키(vk)를 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 메시지에 대한 서명값(σm)을 검증하는 동작을 더 포함할 수 있다.The verifying operation may further include verifying the signature value σ m of the parsed message by applying the message m and the verification key vk to a verification algorithm of the signature scheme. .
상기 검증하는 동작은, 상기 마스터 검증키(mvk) 및 상기 검증키(vk)에 함수(f)를 연결한(Concatenated) 값(f|vk)을 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증하는 동작을 더 포함할 수 있다.The verifying operation is performed by applying a value (f|vk) obtained by concatenating a function (f) to the master verification key (mvk) and the verification key (vk) to the verification algorithm of the signature scheme and performing the parsing. An operation of verifying the signature value (σ vk ) of the verification key may be further included.
개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하기 위한 명령; 상기 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령; 및 상기 함수 서명의 함수(f), 상기 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령을 포함한다.A computing device according to an embodiment disclosed herein includes one or more processors; Memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are mastered using a setup algorithm of a signature scheme. instructions for establishing a pair of master signing key (msk) and master verification key (mvk); a command for generating a signing key (sk f ) for the function (f) based on the master signing key (msk) and the function (f) of the functional signature; and a function value f(m) for the message based on the function f of the function signature, the signing key sk f for the function f, and the message m, and a final signature value ( σ).
상기 함수 서명의 함수(f)는, 암호화를 위한 공개키 또는 대칭키로 설정될 수 있다.The function (f) of the function signature may be set as a public key or a symmetric key for encryption.
상기 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령은, 상기 서명 체계의 셋업 알고리즘을 이용하여 사이닝키(signing key: sk) 및 검증키(verification key: vk)의 쌍을 설정하기 위한 명령; 상기 마스터 사이닝키(msk), 상기 함수 서명의 함수(f), 및 상기 검증키(vk)에 상기 서명 체계의 서명(Signature) 알고리즘을 적용하여 상기 검증키에 대한 서명값(σvk)을 산출하기 위한 명령; 상기 함수 서명의 함수(f), 상기 검증키(vk), 및 상기 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성하기 위한 명령; 및 상기 사이닝키(sk) 및 상기 인증서(c)에 기반하여 상기 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령을 포함할 수 있다.The command for generating the signing key (sk f ) for the function (f) is a pair of a signing key (sk) and a verification key (vk) using the setup algorithm of the signature scheme command to set; A signature value (σ vk ) of the verification key is obtained by applying the signature algorithm of the signature system to the master signing key (msk), the function (f) of the function signature, and the verification key ( vk ). command to calculate; an instruction for generating a certificate (c) based on the function (f) of the function signature, the verification key (vk), and a signature value (σ vk ) for the verification key; and a command for generating a signing key (sk f ) for the function (f) based on the signing key (sk) and the certificate (c).
상기 검증키에 대한 서명값(σvk)을 산출하기 위한 명령은, 상기 마스터 사이닝키(msk)로 상기 함수(f)에 상기 검증키(vk)를 연결한(Concatenated) 값(f|vk)을 서명하여 상기 검증키에 대한 서명값(σvk)을 산출할 수 있다.The command for calculating the signature value (σ vk ) for the verification key is the concatenated value (f|vk) of the verification key (vk) to the function (f) with the master signing key (msk). ) can be signed to calculate the signature value (σ vk ) for the verification key.
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령은, 상기 메시지(m) 및 상기 사이닝키(sk)에 상기 서명 체계의 서명 알고리즘을 적용하여 상기 메시지에 대한 서명값(σm)을 산출하기 위한 명령; 상기 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하기 위한 명령; 및 상기 메시지(m), 상기 인증서(c), 및 상기 메시지에 대한 서명값(σm)에 기반하여 상기 최종 서명값(σ)을 생성하기 위한 명령을 포함할 수 있다.The command for generating the function value (f(m)) and the final signature value (σ) for the message applies the signature algorithm of the signature scheme to the message (m) and the signing key (sk), instructions for calculating a signature value (σ m ) for the message; instructions for applying the message (m) to the function (f) to produce a function value (f(m)) for the message; and a command for generating the final signature value σ based on the message m, the certificate c, and the signature value σ m for the message.
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령은, 상기 함수(f)에 대한 사이닝키(skf)를 상기 사이닝키(sk)와 상기 인증서(c)로 파싱하기 위한 명령을 더 포함할 수 있다.The command for generating the function value (f(m)) and the final signature value (σ) for the message includes the signing key (sk f ) for the function (f) and the signing key (sk ) . It may further include a command for parsing with certificate (c).
상기 하나 이상의 프로그램들은, 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 다른 컴퓨팅 장치로 전송하기 위한 명령을 더 포함하고, 상기 다른 컴퓨팅 장치는, 상기 마스터 검증키(mvk)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 검증할 수 있다.The one or more programs further include instructions for transmitting the function value (f(m)) and the final signature value (σ) for the message to another computing device, wherein the other computing device, the master verification key Based on (mvk), the function value f(m) for the message and the final signature value σ can be verified.
상기 다른 컴퓨팅 장치는, 상기 최종 서명값(σ)을 상기 메시지(m), 상기 인증서(c = (f, vk, σvk)), 및 상기 메시지에 대한 서명값(σm)으로 파싱하고, 상기 파싱한 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하며, 상기 생성한 메시지에 대한 함수 값(f(m))이 상기 컴퓨팅 장치로부터 수신한 메시지에 대한 함수 값(f(m))과 일치하는지를 확인할 수 있다.The other computing device parses the final signature value (σ) into the message (m), the certificate (c = (f, vk, σ vk )), and the signature value (σ m ) for the message, The function value (f(m)) for the message is generated by applying the parsed message (m) to the function (f), and the function value (f(m)) for the generated message is the computing device It can be checked whether it matches the function value (f(m)) for the message received from .
상기 다른 컴퓨팅 장치는, 상기 메시지(m) 및 상기 검증키(vk)를 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 메시지에 대한 서명값(σm)을 검증할 수 있다.The other computing device may verify the signature value σ m of the parsed message by applying the message m and the verification key vk to a verification algorithm of the signature scheme.
상기 다른 컴퓨팅 장치는, 상기 마스터 검증키(mvk) 및 상기 검증키(vk)에 함수(f)를 연결한(Concatenated) 값(f|vk)을 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증할 수 있다.The other computing device applies a value (f|vk) obtained by concatenating a function (f) to the master verification key (mvk) and the verification key (vk) to the verification algorithm of the signature scheme to perform the parsing. The signature value (σ vk ) for the verification key can be verified.
개시되는 실시예에 의하면, 함수 서명의 함수(f)를 공개키 또는 대칭키로 설정하고, 함수(f)에 대한 사이닝키(skf)로 메시지(m)를 서명하여 메시지에 대한 함수 값(f(m))(즉, 메시지(m)를 공개키 또는 대칭키인 함수(f)로 암호화한 값) 및 최종 서명값(σ)을 생성함으로써, 메시지를 암호화함과 동시에 서명을 수행할 수 있게 된다.According to the disclosed embodiment, the function (f) of the function signature is set as a public key or a symmetric key, and the message (m) is signed with the signing key (sk f ) for the function (f), and the function value ( f(m)) (that is, a value obtained by encrypting the message (m) with a function (f), which is a public key or a symmetric key) and a final signature value (σ), the message can be encrypted and signed at the same time. there will be
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 암호화 서명 처리 방법을 설명하기 위한 흐름도
도 3은 개시되는 일 실시예에서, 함수에 대한 사이닝키를 생성하는 과정을 나타낸 흐름도
도 4는 개시되는 일 실시예에서, 메시지에 대한 함수 값 및 최종 서명값을 생성하는 과정을 나타낸 흐름도
도 5는 일 실시예에 따른 다른 컴퓨팅 장치에서 마스터 검증키에 기반하여 메시지에 대한 함수 값 및 최종 서명값을 검증하는 과정을 나타낸 흐름도1 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments;
2 is a flowchart for explaining a method for processing a cryptographic signature according to an embodiment of the present invention.
3 is a flowchart illustrating a process of generating a signing key for a function in an embodiment disclosed herein;
4 is a flowchart illustrating a process of generating a function value and a final signature value for a message in an embodiment disclosed herein.
5 is a flowchart illustrating a process of verifying a function value and a final signature value for a message based on a master verification key in another computing device according to an embodiment.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is only for describing the embodiments of the present invention and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, terms such as "transmission", "communication", "transmission", "reception" and other similar meanings of signals or information refer not only to direct transmission of signals or information from one component to another, but also to It also includes passing through other components. In particular, "transmitting" or "transmitting" a signal or information as a component indicates the final destination of the signal or information, and does not mean a direct destination. The same is true for "reception" of signals or information. Also, in this specification, two or more data or information being “related” means that when one data (or information) is obtained, at least a portion of other data (or information) can be obtained based thereon.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Also, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.1 is a block diagram illustrating and illustrating a
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 일 실시예에 따른 암호화 서명 처리를 수행하기 위한 장치일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 암호화 서명 처리 방법(200)을 설명하기 위한 흐름도이다. 전술한 바와 같이, 본 발명의 일 실시예에 따른 암호화 서명 처리 방법(200)은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치(12)에서 수행될 수 있다. 이를 위하여, 암호화 서명 처리 방법(200)은 하나 이상의 컴퓨터 실행 가능 명령어를 포함하는 프로그램 내지 소프트웨어의 형태로 구현되어 상기 메모리상에 저장될 수 있다. 2 is a flowchart illustrating a
또한, 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In addition, although the method is divided into a plurality of steps in the illustrated flowchart, at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, performed in detailed steps, or shown. One or more steps not yet performed may be added and performed.
단계 202에서, 컴퓨팅 장치(12)는 서명 체계(Signature Scheme)를 이용하여 마스터 키 쌍을 설정한다. 서명 체계는 기 공지된 기술이므로 이에 대한 자세한 설명은 생략하기로 한다. 여기서, 마스터 키 쌍은 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)를 포함할 수 있다. In
예시적인 실시예에서, 컴퓨팅 장치(12)는 서명 체계의 셋업(Setup) 알고리즘을 이용하여 마스터 사이닝키 및 마스터 검증키의 쌍을 설정할 수 있다. 이때, 단계 202의 과정은 아래 수학식 1로 표현할 수 있다. In an exemplary embodiment,
(수학식 1)(Equation 1)
(msk, mvk) ← Sig.Setup(1k)(msk, mvk) ← Sig.Setup(1 k )
단계 204에서, 컴퓨팅 장치(12)는 마스터 사이닝키(msk) 및 함수 서명의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성한다. In
여기서, 함수 서명(Functional Signature)은 비밀키의 복호화 권한을 제한하여 비밀키를 가진 사람이 암호문의 모든 정보에 접근할 수 있는 것이 아니라 암호문의 특정 함수 값에만 접근할 수 있도록 하고, 데이터에 대한 함수 연산의 무결성 기능을 제공하며, 메시지가 정당한 함수를 사용하여 연산이 수행되었음을 검증할 수 있는 서명 기법의 일종이다. Here, Functional Signature restricts the decryption authority of the secret key so that the person who has the secret key can access only specific function values of the ciphertext, not all information of the ciphertext, and functions for data It provides operation integrity function and is a kind of signature technique that can verify that the operation was performed using a legitimate function in the message.
개시되는 실시예에서, 함수 서명의 함수(f)는 암호화를 위한 공개키 또는 대칭키로 설정될 수 있다. 이때, 단계 204는 공개키 또는 대칭키인 함수(f)에 대응하는 사이닝키를 생성하는 과정이 된다. 함수(f)에 대한 사이닝키(skf)를 생성하는 구체적인 과정은 도 3을 참조하여 후술하기로 한다.In the disclosed embodiment, the function (f) of the function signature can be set as a public key or symmetric key for encryption. At this time,
도 3은 개시되는 일 실시예에서, 함수(f)에 대한 사이닝키(skf)를 생성하는 과정을 나타낸 흐름도이다. 3 is a flowchart illustrating a process of generating a signing key (sk f ) for a function (f) in an embodiment disclosed herein.
단계 302에서, 컴퓨팅 장치(12)는 서명 체계(Signature Scheme)의 셋업 알고리즘를 이용하여 새로운 키 쌍(즉, 사용자의 키 쌍)을 설정한다. 즉, 컴퓨팅 장치(12)는 마스터 사이닝키 및 마스터 검증키의 쌍을 설정할 때 사용한 서명 체계의 셋업 알고리즘를 이용하여 새로운 키 쌍을 설정할 수 있다. In
여기서, 새로운 키 쌍은 사이닝키(signing key: sk) 및 검증키(verification key: vk)를 포함할 수 있다. 단계 302의 과정은 아래 수학식 2로 표현할 수 있다. Here, the new key pair may include a signing key (sk) and a verification key (vk). The process of
(수학식 2)(Equation 2)
(sk, vk) ← Sig.Setup(1k)(sk, vk) ← Sig.Setup(1 k )
단계 304에서, 컴퓨팅 장치(12)는 마스터 사이닝키(msk), 함수 서명(Functional Signature)의 함수(f), 및 검증키(vk)에 서명 체계의 서명(Signature) 알고리즘을 적용하여 검증키에 대한 서명값(σvk)을 산출한다. In
예시적인 실시예에서, 컴퓨팅 장치(12)는 마스터 사이닝키(msk)로 함수(f)에 검증키(vk)를 연결한(Concatenated) 값(f|vk)을 서명(Signature)하여 검증키에 대한 서명값(σvk)을 산출할 수 있다. 여기서, 함수(f)는 공개키 또는 대칭키로 사용될 수 있다. 이 경우, 공개키 또는 대칭키에 검증키(vk)를 연결한 값을 마스터 사이닝키(msk)로 서명하여 검증키에 대한 서명값(σvk)을 산출할 수 있다. 단계 304의 과정은 아래 수학식 3으로 표현할 수 있다. In an exemplary embodiment, the
(수학식 3)(Equation 3)
σvk ← Sig.Sign(msk, f|vk)σ vk ← Sig. Sign(msk, f|vk)
단계 306에서, 컴퓨팅 장치(12)는 함수 서명의 함수(f), 검증키(vk), 및 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성한다. 단계 306의 과정은 아래 수학식 4로 표현할 수 있다. In
(수학식 4)(Equation 4)
c = (f, vk, σvk)c = (f, vk, σ vk )
단계 308에서, 컴퓨팅 장치(12)는 사이닝키(sk) 및 인증서(c)에 기반하여 함수(f)에 대한 사이닝키(skf)를 생성한다. 단계 308의 과정은 아래 수학식 5로 표현할 수 있다. In
(수학식 5)(Equation 5)
skf = (sk, c)sk f = (sk, c)
다시 도 2를 참조하면, 단계 206에서 컴퓨팅 장치(12)는 함수 서명의 함수(f), 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 메시지에 대한 함수 값(f(m))(즉, 메시지(m)를 공개키 또는 대칭키인 함수(f)로 암호화한 값) 및 최종 서명값(σ)을 생성한다. Referring again to FIG. 2 , in
여기서, 함수(f)가 공개키인 경우, RSA(Rivest Shamir Adleman) 기반의 공개키 암호화 방식을 사용할 수 있다. 또한, 함수(f)가 대칭키인 경우, AES(Advanced Encryption Standard Algorithm) 기반의 대칭키 암호화 방식을 사용할 수 있다. Here, when the function f is a public key, a public key encryption method based on Rivest Shamir Adleman (RSA) may be used. In addition, when the function f is a symmetric key, a symmetric key encryption method based on AES (Advanced Encryption Standard Algorithm) may be used.
메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 구체적인 과정은 도 4를 참조하여 후술하기로 한다. 도 4는 개시되는 일 실시예에서, 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 과정을 나타낸 흐름도이다. A detailed process of generating the function value f(m) and the final signature value σ for the message will be described later with reference to FIG. 4 . 4 is a flowchart illustrating a process of generating a function value (f(m)) and a final signature value (σ) for a message, in one disclosed embodiment.
단계 402에서, 컴퓨팅 장치(12)는 메시지(m) 및 사이닝키(sk)에 서명 체계의 서명(Signature) 알고리즘을 적용하여 메시지에 대한 서명값(σm)을 산출한다. 여기서, 컴퓨팅 장치(12)는 함수(f)에 대한 사이닝키(skf)를 사이닝키(sk)와 인증서(c)로 파싱할 수 있다. In
예시적인 실시예에서, 컴퓨팅 장치(12)는 사이닝키(sk)로 메시지(m)를 서명(Signature)하여 메시지에 대한 서명값(σm)을 산출할 수 있다. 단계 402의 과정은 아래 수학식 6으로 표현할 수 있다. In an exemplary embodiment, the
(수학식 6)(Equation 6)
σm ← Sig.Sign(sk, m)σ m ← Sig. Sign(sk, m)
단계 404에서, 컴퓨팅 장치(12)는 메시지(m)를 함수(f)에 적용하여 메시지에 대한 함수 값(f(m))을 생성하고, 메시지(m), 인증서(c), 및 메시지에 대한 서명값(σm)에 기반하여 최종 서명값(σ)을 생성한다. 여기서, 최종 서명값(σ)은 아래 수학식 7로 표현될 수 있다. At
(수학식 7)(Equation 7)
σ = (m, c, σm)σ = (m, c, σ m )
다시 도 2를 참조하면, 단계 208에서 컴퓨팅 장치(12)는 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 다른 컴퓨팅 장치(12)로 전송한다. 그러면, 다른 컴퓨팅 장치(12)는 마스터 검증키(mvk)에 기반하여 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 검증할 수 있다. Referring back to FIG. 2 , at
다른 컴퓨팅 장치(12)가 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 검증하는 과정은 도 5를 참조하여 후술하기로 한다. 도 5는 일 실시예에 따른 다른 컴퓨팅 장치(12)에서 마스터 검증키(mvk)에 기반하여 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 검증하는 과정을 나타낸 흐름도이다. A process of verifying the function value f(m) and the final signature value σ of the message by the
단계 502에서, 다른 컴퓨팅 장치(12)는 최종 서명값(σ)을 메시지(m), 인증서(c = (f, vk, σvk)), 및 메시지에 대한 서명값(σm)으로 파싱한다. 단계 502의 과정은 아래 수학식 8로 표현할 수 있다. In
(수학식 8)(Equation 8)
σ = (m, c = (f, vk, σvk), σm)σ = (m, c = (f, vk, σ vk ), σ m )
단계 504에서, 다른 컴퓨팅 장치(12)는 파싱한 메시지(m)를 함수(f)에 적용하여 메시지에 대한 함수 값(f(m))을 생성하며, 생성한 메시지에 대한 함수 값(f(m))이 컴퓨팅 장치(12)로부터 수신한 메시지에 대한 함수 값(f(m))과 일치하는지를 확인하여 검증한다.In
단계 506에서, 다른 컴퓨팅 장치(12)는 메시지(m) 및 검증키(vk)를 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 메시지에 대한 서명값(σm)을 검증한다. 단계 506의 과정은 아래 수학식 9로 표현할 수 있으며, 수학식 9의 값이 1이면 상기 파싱한 메시지에 대한 서명값(σm)이 유효함을 확인하게 된다.In
(수학식 9)(Equation 9)
Sig.Verify(vk, m, σm) → 1Sig.Verify(vk, m, σ m ) → 1
단계 508에서, 다른 컴퓨팅 장치(12)는 마스터 검증키(mvk), 검증키(vk), 및 함수(f)를 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증한다. 구체적으로, 다른 컴퓨팅 장치(12)는 마스터 검증키(mvk) 및 검증키(vk)에 함수(f)를 연결한(Concatenated) 값(f|vk)을 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증할 수 있다. 단계 508의 과정은 아래 수학식 10로 표현할 수 있으며, 수학식 10의 값이 1이면 상기 파싱한 검증키에 대한 서명값(σvk)이 유효함을 확인하게 된다.In
개시되는 실시예에서, 서명 알고리즘은 DSA(Digital Signature Algorithm), ECDSA(Elliptic Curve Digital Signature Algorithm), RSA(Rivest Shamir Adleman), ElGamal 등이 사용될 수 있다. In the disclosed embodiment, digital signature algorithms (DSA), elliptic curve digital signature algorithms (ECDSA), Rivest Shamir Adleman (RSA), ElGamal, and the like may be used.
개시되는 실시예에 의하면, 함수 서명의 함수(f)를 공개키 또는 대칭키로 설정하고, 함수(f)에 대한 사이닝키(skf)로 메시지(m)를 서명하여 메시지에 대한 함수 값(f(m))(즉, 메시지(m)를 공개키 또는 대칭키인 함수(f)로 암호화한 값) 및 최종 서명값(σ)을 생성함으로써, 메시지를 암호화함과 동시에 서명을 수행할 수 있게 된다.According to the disclosed embodiment, the function (f) of the function signature is set as a public key or a symmetric key, and the message (m) is signed with the signing key (sk f ) for the function (f), and the function value ( f(m)) (that is, a value obtained by encrypting the message (m) with a function (f), which is a public key or a symmetric key) and a final signature value (σ), the message can be encrypted and signed at the same time. there will be
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those skilled in the art will understand that various modifications are possible to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.
10 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: input/output interface
24: input/output device
26: network communication interface
Claims (21)
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하는 동작;
상기 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하는 동작; 및
상기 함수 서명의 함수(f), 상기 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작을 포함하고,
상기 함수 서명의 함수(f)는, 암호화를 위한 공개키 또는 대칭키로 설정되며,
공개키 또는 대칭키인 상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작은,
상기 서명 체계의 셋업 알고리즘을 이용하여 사이닝키(signing key: sk) 및 검증키(verification key: vk)의 쌍을 설정하는 동작;
상기 마스터 사이닝키(msk), 상기 함수 서명의 함수(f), 및 상기 검증키(vk)에 상기 서명 체계의 서명(Signature) 알고리즘을 적용하여 상기 검증키에 대한 서명값(σvk)을 산출하는 동작;
상기 함수 서명의 함수(f), 상기 검증키(vk), 및 상기 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성하는 동작; 및
상기 사이닝키(sk) 및 상기 인증서(c)에 기반하여 상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작을 포함하고,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은, 상기 함수(f)가 공개키인 경우 RSA(Rivest Shamir Adleman) 기반의 공개키 암호화 방식을 사용하고, 상기 함수(f)가 대칭키인 경우 AES(Advanced Encrytion Standard Algorithm) 기반의 대칭키 암호화 방식을 사용하며,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은,
상기 메시지(m) 및 상기 사이닝키(sk)에 상기 서명 체계의 서명 알고리즘을 적용하여 상기 메시지에 대한 서명값(σm)을 산출하는 동작;
상기 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하는 동작; 및
상기 메시지(m), 상기 인증서(c), 및 상기 메시지에 대한 서명값(σm)에 기반하여 상기 최종 서명값(σ)을 생성하는 동작을 포함하는, 서명 암호화 방법.
one or more processors; and
A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
setting a pair of a master signing key (msk) and a master verification key (mvk) using a setup algorithm of a signature scheme;
generating a signing key (sk f ) for the function (f) based on the master signing key (msk) and the function (f) of the functional signature; and
Based on the function f of the function signature, the signing key sk f for the function f, and the message m, the function value f(m) for the message and the final signature value σ ),
The function (f) of the function signature is set as a public key or symmetric key for encryption,
The operation of generating a signing key (sk f ) for the function (f), which is a public key or a symmetric key,
setting a pair of a signing key (sk) and a verification key (vk) using a setup algorithm of the signature scheme;
A signature value (σ vk ) of the verification key is obtained by applying the signature algorithm of the signature system to the master signing key (msk), the function (f) of the function signature, and the verification key ( vk ). action to calculate;
generating a certificate (c) based on the function (f) of the function signature, the verification key (vk), and a signature value (σ vk ) for the verification key; and
Generating a signing key (sk f ) for the function (f) based on the signing key (sk) and the certificate (c),
The operation of generating the function value (f(m)) and the final signature value (σ) for the message uses a Rivest Shamir Adleman (RSA)-based public key encryption method when the function (f) is a public key, , When the function (f) is a symmetric key, a symmetric key encryption method based on AES (Advanced Encrytion Standard Algorithm) is used,
The operation of generating the function value (f(m)) and the final signature value (σ) for the message,
calculating a signature value (σ m ) of the message by applying the signature algorithm of the signature scheme to the message (m) and the signing key (sk);
applying the message (m) to the function (f) to generate a function value (f(m)) for the message; and
and generating the final signature value (σ) based on the message (m), the certificate (c), and the signature value (σ m ) for the message.
상기 검증키에 대한 서명값(σvk)을 산출하는 동작은,
상기 마스터 사이닝키(msk)로 상기 함수(f)에 상기 검증키(vk)를 연결한(Concatenated) 값(f|vk)을 서명하여 상기 검증키에 대한 서명값(σvk)을 산출하는, 서명 암호화 방법.
The method of claim 1,
The operation of calculating the signature value (σ vk ) for the verification key,
Calculating a signature value (σ vk ) for the verification key by signing a value (f|vk) obtained by concatenating the verification key (vk) to the function (f) with the master signing key (msk) , the signature encryption method.
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은,
상기 함수(f)에 대한 사이닝키(skf)를 상기 사이닝키(sk)와 상기 인증서(c)로 파싱하는 동작을 더 포함하는, 서명 암호화 방법.
The method of claim 1,
The operation of generating the function value (f(m)) and the final signature value (σ) for the message,
Further comprising parsing the signing key (sk f ) for the function (f) into the signing key (sk) and the certificate (c).
상기 서명 암호화 방법은,
상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 다른 컴퓨팅 장치로 전송하는 동작을 더 포함하고,
상기 다른 컴퓨팅 장치는,
상기 마스터 검증키(mvk)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 검증하는 동작을 수행하는, 서명 암호화 방법.
The method of claim 1,
The signature encryption method,
Further comprising transmitting the function value (f(m)) and the final signature value (σ) for the message to another computing device,
The other computing device,
An operation of verifying the function value (f (m)) and the final signature value (σ) for the message based on the master verification key (mvk).
상기 검증하는 동작은,
상기 최종 서명값(σ)을 상기 메시지(m), 상기 인증서(c = (f, vk, σvk)), 및 상기 메시지에 대한 서명값(σm)으로 파싱하는 동작;
상기 파싱한 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하는 동작; 및
상기 생성한 메시지에 대한 함수 값(f(m))이 상기 컴퓨팅 장치로부터 수신한 메시지에 대한 함수 값(f(m))과 일치하는지를 확인하는 동작을 포함하는, 서명 암호화 방법.
The method of claim 7,
The verification operation is
parsing the final signature value (σ) into the message (m), the certificate (c = (f, vk, σ vk )), and the signature value (σ m ) for the message;
generating a function value (f(m)) for the message by applying the parsed message (m) to the function (f); and
and checking whether the function value (f(m)) of the generated message matches the function value (f(m)) of the message received from the computing device.
상기 검증하는 동작은,
상기 메시지(m) 및 상기 검증키(vk)를 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 메시지에 대한 서명값(σm)을 검증하는 동작을 더 포함하는, 서명 암호화 방법.
The method of claim 8,
The verification operation is
and verifying a signature value (σ m ) of the parsed message by applying the message (m) and the verification key (vk) to a verification algorithm of the signature scheme.
상기 검증하는 동작은,
상기 마스터 검증키(mvk) 및 상기 검증키(vk)에 함수(f)를 연결한(Concatenated) 값(f|vk)을 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증하는 동작을 더 포함하는, 서명 암호화 방법.
The method of claim 9,
The verification operation is
The signature value for the verification key parsed by applying the value (f|vk) obtained by concatenating the function (f) to the master verification key (mvk) and the verification key (vk) to the verification algorithm of the signature scheme. The signature encryption method further comprising verifying (σ vk ).
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하기 위한 명령;
상기 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령; 및
상기 함수 서명의 함수(f), 상기 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령을 포함하고,
상기 함수 서명의 함수(f)는, 암호화를 위한 공개키 또는 대칭키로 설정되며,
공개키 또는 대칭키인 상기 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령은,
상기 서명 체계의 셋업 알고리즘을 이용하여 사이닝키(signing key: sk) 및 검증키(verification key: vk)의 쌍을 설정하기 위한 명령;
상기 마스터 사이닝키(msk), 상기 함수 서명의 함수(f), 및 상기 검증키(vk)에 상기 서명 체계의 서명(Signature) 알고리즘을 적용하여 상기 검증키에 대한 서명값(σvk)을 산출하기 위한 명령;
상기 함수 서명의 함수(f), 상기 검증키(vk), 및 상기 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성하기 위한 명령; 및
상기 사이닝키(sk) 및 상기 인증서(c)에 기반하여 상기 함수(f)에 대한 사이닝키(skf)를 생성하기 위한 명령을 포함하고,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)의 생성은, 상기 함수(f)가 공개키인 경우 RSA(Rivest Shamir Adleman) 기반의 공개키 암호화 방식을 사용하고, 상기 함수(f)가 대칭키인 경우 AES(Advanced Encrytion Standard Algorithm) 기반의 대칭키 암호화 방식을 사용하며,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령은,
상기 메시지(m) 및 상기 사이닝키(sk)에 상기 서명 체계의 서명 알고리즘을 적용하여 상기 메시지에 대한 서명값(σm)을 산출하기 위한 명령;
상기 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하기 위한 명령; 및
상기 메시지(m), 상기 인증서(c), 및 상기 메시지에 대한 서명값(σm)에 기반하여 상기 최종 서명값(σ)을 생성하기 위한 명령을 포함하는, 컴퓨팅 장치.
one or more processors;
Memory; and
contains one or more programs;
the one or more programs are stored in the memory and configured to be executed by the one or more processors;
The one or more programs,
instructions for setting up a pair of master signing key (msk) and master verification key (mvk) using a setup algorithm of a signature scheme;
a command for generating a signing key (sk f ) for the function (f) based on the master signing key (msk) and the function (f) of the functional signature; and
Based on the function f of the function signature, the signing key sk f for the function f, and the message m, the function value f(m) for the message and the final signature value σ ), and
The function (f) of the function signature is set as a public key or symmetric key for encryption,
The command for generating a signing key (sk f ) for the function (f), which is a public key or a symmetric key,
a command for setting a pair of a signing key (sk) and a verification key (vk) using a setup algorithm of the signature scheme;
A signature value (σ vk ) of the verification key is obtained by applying the signature algorithm of the signature system to the master signing key (msk), the function (f) of the function signature, and the verification key ( vk ). command to calculate;
an instruction for generating a certificate (c) based on the function (f) of the function signature, the verification key (vk), and a signature value (σ vk ) for the verification key; and
A command for generating a signing key (sk f ) for the function (f) based on the signing key (sk) and the certificate (c),
The generation of the function value (f (m)) and the final signature value (σ) for the message uses a public key encryption method based on RSA (Rivest Shamir Adleman) when the function (f) is a public key, and the When function (f) is a symmetric key, AES (Advanced Encryption Standard Algorithm)-based symmetric key encryption is used.
The command for generating the function value (f(m)) and the final signature value (σ) for the message is
a command for calculating a signature value (σ m ) for the message by applying the signature algorithm of the signature scheme to the message (m) and the signing key (sk);
instructions for applying the message (m) to the function (f) to produce a function value (f(m)) for the message; and
and instructions for generating the final signature value (σ) based on the message (m), the certificate (c), and the signature value (σ m ) for the message.
상기 검증키에 대한 서명값(σvk)을 산출하기 위한 명령은,
상기 마스터 사이닝키(msk)로 상기 함수(f)에 상기 검증키(vk)를 연결한(Concatenated) 값(f|vk)을 서명하여 상기 검증키에 대한 서명값(σvk)을 산출하는, 컴퓨팅 장치.
The method of claim 11,
The command for calculating the signature value (σ vk ) for the verification key is,
Calculating a signature value (σ vk ) for the verification key by signing a value (f|vk) obtained by concatenating the verification key (vk) to the function (f) with the master signing key (msk) , computing device.
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하기 위한 명령은,
상기 함수(f)에 대한 사이닝키(skf)를 상기 사이닝키(sk)와 상기 인증서(c)로 파싱하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
The method of claim 11,
The command for generating the function value (f(m)) and the final signature value (σ) for the message is
The computing device further comprises a command for parsing the signing key (sk f ) for the function (f) into the signing key (sk) and the certificate (c).
상기 하나 이상의 프로그램들은,
상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 다른 컴퓨팅 장치로 전송하기 위한 명령을 더 포함하고,
상기 다른 컴퓨팅 장치는,
상기 마스터 검증키(mvk)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 상기 최종 서명값(σ)을 검증하는, 컴퓨팅 장치.
The method of claim 11,
The one or more programs,
Further comprising instructions for transmitting the function value (f(m)) and the final signature value (σ) for the message to another computing device,
The other computing device,
Verification of the function value (f (m)) and the final signature value (σ) for the message based on the master verification key (mvk).
상기 다른 컴퓨팅 장치는,
상기 최종 서명값(σ)을 상기 메시지(m), 상기 인증서(c = (f, vk, σvk)), 및 상기 메시지에 대한 서명값(σm)으로 파싱하고, 상기 파싱한 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하며, 상기 생성한 메시지에 대한 함수 값(f(m))이 상기 컴퓨팅 장치로부터 수신한 메시지에 대한 함수 값(f(m))과 일치하는지를 확인하는, 컴퓨팅 장치.
The method of claim 17
The other computing device,
The final signature value (σ) is parsed into the message (m), the certificate (c = (f, vk, σ vk )), and the signature value (σ m ) for the message, and the parsed message (m ) is applied to the function f to generate a function value f(m) for the message, and the function value f(m) for the generated message corresponds to a value for the message received from the computing device. A computing device that checks whether it matches the function value f(m).
상기 다른 컴퓨팅 장치는,
상기 메시지(m) 및 상기 검증키(vk)를 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 메시지에 대한 서명값(σm)을 검증하는, 컴퓨팅 장치.
The method of claim 18
The other computing device,
A computing device that verifies a signature value (σ m ) of the parsed message by applying the message (m) and the verification key (vk) to a verification algorithm of the signature scheme.
상기 다른 컴퓨팅 장치는,
상기 마스터 검증키(mvk) 및 상기 검증키(vk)에 함수(f)를 연결한(Concatenated) 값(f|vk)을 상기 서명 체계의 검증 알고리즘에 적용하여 상기 파싱한 검증키에 대한 서명값(σvk)을 검증하는, 컴퓨팅 장치.
The method of claim 19
The other computing device,
The signature value for the verification key parsed by applying the value (f|vk) obtained by concatenating the function (f) to the master verification key (mvk) and the verification key (vk) to the verification algorithm of the signature scheme. A computing device that verifies (σ vk ).
상기 컴퓨터 프로그램은 하나 이상의 명령어들을 포함하고, 상기 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,
서명 체계(Signature Scheme)의 셋업 알고리즘을 이용하여 마스터 사이닝키(master signing key: msk) 및 마스터 검증키(master verification key: mvk)의 쌍을 설정하는 동작;
상기 마스터 사이닝키(msk) 및 함수 서명(Functional Signature)의 함수(f)를 기반으로 함수(f)에 대한 사이닝키(skf)를 생성하는 동작; 및
상기 함수 서명의 함수(f), 상기 함수(f)에 대한 사이닝키(skf), 및 메시지(m)에 기반하여 상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작을 수행하도록 하고,
상기 함수 서명의 함수(f)는, 암호화를 위한 공개키 또는 대칭키로 설정되며,
공개키 또는 대칭키인 상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작은,
상기 서명 체계의 셋업 알고리즘을 이용하여 사이닝키(signing key: sk) 및 검증키(verification key: vk)의 쌍을 설정하는 동작;
상기 마스터 사이닝키(msk), 상기 함수 서명의 함수(f), 및 상기 검증키(vk)에 상기 서명 체계의 서명(Signature) 알고리즘을 적용하여 상기 검증키에 대한 서명값(σvk)을 산출하는 동작;
상기 함수 서명의 함수(f), 상기 검증키(vk), 및 상기 검증키에 대한 서명값(σvk)에 기초하여 인증서(c)를 생성하는 동작; 및
상기 사이닝키(sk) 및 상기 인증서(c)에 기반하여 상기 함수(f)에 대한 사이닝키(skf)를 생성하는 동작을 포함하고,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은, 상기 함수(f)가 공개키인 경우 RSA(Rivest Shamir Adleman) 기반의 공개키 암호화 방식을 사용하고, 상기 함수(f)가 대칭키인 경우 AES(Advanced Encrytion Standard Algorithm) 기반의 대칭키 암호화 방식을 사용하며,
상기 메시지에 대한 함수 값(f(m)) 및 최종 서명값(σ)을 생성하는 동작은,
상기 메시지(m) 및 상기 사이닝키(sk)에 상기 서명 체계의 서명 알고리즘을 적용하여 상기 메시지에 대한 서명값(σm)을 산출하는 동작;
상기 메시지(m)를 상기 함수(f)에 적용하여 상기 메시지에 대한 함수 값(f(m))을 생성하는 동작; 및
상기 메시지(m), 상기 인증서(c), 및 상기 메시지에 대한 서명값(σm)에 기반하여 상기 최종 서명값(σ)을 생성하는 동작을 포함하는, 컴퓨터 프로그램.
A computer program stored in a non-transitory computer readable storage medium,
The computer program includes one or more instructions, which, when executed by a computing device having one or more processors, cause the computing device to:
setting a pair of a master signing key (msk) and a master verification key (mvk) using a setup algorithm of a signature scheme;
generating a signing key (sk f ) for the function (f) based on the master signing key (msk) and the function (f) of the functional signature; and
Based on the function f of the function signature, the signing key sk f for the function f, and the message m, the function value f(m) for the message and the final signature value σ ) to perform an operation that generates
The function (f) of the function signature is set as a public key or symmetric key for encryption,
The operation of generating a signing key (sk f ) for the function (f), which is a public key or a symmetric key,
setting a pair of a signing key (sk) and a verification key (vk) using a setup algorithm of the signature scheme;
A signature value (σ vk ) of the verification key is obtained by applying the signature algorithm of the signature system to the master signing key (msk), the function (f) of the function signature, and the verification key ( vk ). action to calculate;
generating a certificate (c) based on the function (f) of the function signature, the verification key (vk), and a signature value (σ vk ) for the verification key; and
Generating a signing key (sk f ) for the function (f) based on the signing key (sk) and the certificate (c),
The operation of generating the function value (f(m)) and the final signature value (σ) for the message uses a Rivest Shamir Adleman (RSA)-based public key encryption method when the function (f) is a public key, , When the function (f) is a symmetric key, a symmetric key encryption method based on AES (Advanced Encrytion Standard Algorithm) is used,
The operation of generating the function value (f(m)) and the final signature value (σ) for the message,
calculating a signature value (σ m ) of the message by applying the signature algorithm of the signature scheme to the message (m) and the signing key (sk);
applying the message (m) to the function (f) to generate a function value (f(m)) for the message; and
And generating the final signature value (σ) based on the message (m), the certificate (c), and the signature value (σ m ) for the message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200161683A KR102474628B1 (en) | 2020-11-26 | 2020-11-26 | Method for signcrytion using functional signature and computing device for executing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200161683A KR102474628B1 (en) | 2020-11-26 | 2020-11-26 | Method for signcrytion using functional signature and computing device for executing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220073530A KR20220073530A (en) | 2022-06-03 |
KR102474628B1 true KR102474628B1 (en) | 2022-12-05 |
Family
ID=81982848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200161683A KR102474628B1 (en) | 2020-11-26 | 2020-11-26 | Method for signcrytion using functional signature and computing device for executing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102474628B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101253683B1 (en) | 2011-02-09 | 2013-04-11 | 주식회사 국민은행 | Digital Signing System and Method Using Chained Hash |
-
2020
- 2020-11-26 KR KR1020200161683A patent/KR102474628B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Elette Boyle 외 2명, Functional Signatures and Pseudorandom Functions, PKC 201, LNCS 8383 (2014.)* |
Ioana Ivan, Functional Signatures, Massachusetts Institute of Technology 2013 (2013.06.)* |
Also Published As
Publication number | Publication date |
---|---|
KR20220073530A (en) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3642997B1 (en) | Secure communications providing forward secrecy | |
US10708072B2 (en) | Mutual authentication of confidential communication | |
US9853816B2 (en) | Credential validation | |
US10326753B2 (en) | Authentication via revocable signatures | |
CN109818730B (en) | Blind signature acquisition method and device and server | |
CN111769938B (en) | Key management system and data verification system of block chain sensor | |
CN108768652A (en) | It is a kind of can the attack of anti-quantum alliance's block chain bottom encryption method | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
CN107360002B (en) | Application method of digital certificate | |
JP2008512060A (en) | Temporary signature scheme | |
US20160352525A1 (en) | Signature protocol | |
CN106972924B (en) | Method and device for encryption, decryption, electronic signature and verification signature | |
CN106936584B (en) | Method for constructing certificateless public key cryptosystem | |
CN112380584B (en) | Block chain data updating method and device, electronic equipment and storage medium | |
KR101253683B1 (en) | Digital Signing System and Method Using Chained Hash | |
KR20200002501A (en) | Method for certificating node of public blockchain, apparatus and system for executing the method | |
US10135621B2 (en) | Method to reduce the latency of ECDSA signature generation using precomputation | |
CN112364335B (en) | Identification identity authentication method and device, electronic equipment and storage medium | |
WO2016014048A1 (en) | Attribute-based cryptography | |
CN110278073B (en) | Group digital signature and verification method, and equipment and device thereof | |
KR102474628B1 (en) | Method for signcrytion using functional signature and computing device for executing the method | |
JP5393594B2 (en) | Efficient mutual authentication method, program, and apparatus | |
CN116896440B (en) | Block chain-based declaration data verification method and device, equipment and medium | |
KR102005946B1 (en) | System and method for providng anonymous identity-based signature using homomorphic encryption | |
JP3331329B2 (en) | Public verification possible request restoration blind signature method, apparatus and program recording medium |
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 |