Nothing Special   »   [go: up one dir, main page]

KR102350462B1 - Signature generation method, electronic device and storage medium - Google Patents

Signature generation method, electronic device and storage medium Download PDF

Info

Publication number
KR102350462B1
KR102350462B1 KR1020197035599A KR20197035599A KR102350462B1 KR 102350462 B1 KR102350462 B1 KR 102350462B1 KR 1020197035599 A KR1020197035599 A KR 1020197035599A KR 20197035599 A KR20197035599 A KR 20197035599A KR 102350462 B1 KR102350462 B1 KR 102350462B1
Authority
KR
South Korea
Prior art keywords
signature
aggregate
generating
sub
public key
Prior art date
Application number
KR1020197035599A
Other languages
Korean (ko)
Other versions
KR20200003144A (en
Inventor
젠쥔 장
리레이 우
하이타오 투
마오차이 리
리 콩
지차오 탕
원웨이 쥬
준 장
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20200003144A publication Critical patent/KR20200003144A/en
Application granted granted Critical
Publication of KR102350462B1 publication Critical patent/KR102350462B1/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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/3255Cryptographic 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 group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 출원은 서명 생성 방법, 전자 장치 및 저장 매체를 제공하며, 정보 기술 분야에 속한다. 본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용함으로써 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초해서 생성되고, 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중-서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며, 그러므로 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 공간은 저장 동안 감소되며, 서명 검사 동안, 서명될 메시지는 집계 공개 키 및 집계 서명을 직접 사용해서 체크되어 서명 검사의 복잡도가 크게 감소된다.The present application provides a method for generating a signature, an electronic device and a storage medium, and belongs to the field of information technology. In the present application, the aggregate signature is generated by using sub-signatures of a plurality of signing parties, the aggregate public key is generated based on the public keys of the plurality of signing parties, and the length of the obtained aggregate signature is obtained by scanning the plurality of sub-signatures. shorter than the length of the multi-signature obtained by splicing, the length of the aggregate public key is shorter than the length of the multi-public key obtained by splicing the plurality of public keys, and therefore during network transmission of the aggregate signature and aggregate public key , the burden of network transmission is reduced, the storage space is reduced during storage, and during signature checking, the message to be signed is checked using the aggregate public key and the aggregate signature directly, so that the complexity of signature checking is greatly reduced.

Description

서명 생성 방법, 전자 장치 및 저장 매체Signature generation method, electronic device and storage medium

본 출원은 발명의 명칭이 "서명 생성 방법 및 장치, 단말 및 서버"이고 2017년 11월 10일에 출원된 중국특허출원 제호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 본 명세서에 원용되어 포함된다.This application is entitled "Signature generating method and apparatus, terminal and server" and claims priority to the Chinese Patent Application No. filed on November 10, 2017, the contents of which are incorporated herein by reference is included

본 출원은 정보 기술 분야에 관한 것이며, 특히 서명 생성 방법, 전자 장치 및 저장 매체에 관한 것이다.The present application relates to the field of information technology, and in particular to a method for generating a signature, an electronic device and a storage medium.

정보 기술의 지속적인 개발에 따라, 새로운 기술인 블록 체인이 빠르게 개발되었다. 블록 체인은 암호화 방법을 사용하여 생성되는 관련 블록의 문자열이다. 블록 체인에서 각각의 블록의 블록 데이터는 이전 블록의 블록 데이터와 연관되어 있다. 따라서 블록 데이터를 조작하여 부정 행위를 수행할 수 없다. 모든 블록의 블록 데이터가 개방적이고 투명하다는 것을 보장할 수 있다. 블록 체인은 엔드-투-엔드 네트워크를 공동으로 구성하기 위해 많은 노드로 구성된다. 노드 간의 데이터 교환은 디지털 서명 기술을 사용하여 확인된다. 디지털 서명 기술은 디지털 암호화를 통해 디지털 정보를 인증하는 기술이다. 일부 경우에, 예를 들어, 거래가 복수의 파티 사이의 합의를 요구할 때, 복수의 파티는 메시지에 서명할 것이며, 이러한 서명 방식을 다중-서명 방식(multi-signature manner)이라 지칭한다.With the continuous development of information technology, a new technology, blockchain, has been developed rapidly. A blockchain is a string of related blocks created using cryptographic methods. In the block chain, the block data of each block is related to the block data of the previous block. Therefore, fraudulent actions cannot be performed by manipulating block data. It can guarantee that the block data of all blocks is open and transparent. A blockchain consists of many nodes to jointly form an end-to-end network. Data exchange between nodes is verified using digital signature technology. Digital signature technology is a technology for authenticating digital information through digital encryption. In some cases, for example, when a transaction requires agreement between multiple parties, the multiple parties will sign the message, which is referred to as a multi-signature manner.

관련 기술에서, 다중-서명 방식의 구현 계획은 다음과 같다:

Figure 112019124124503-pct00001
개의 서명 파티가 있다고 가정하면, 다중-서명이 수행될 때,
Figure 112019124124503-pct00002
개의 다른 서명이 일렬로 연결되어 블록 체인에 저장하기 위한 긴 서명으로 스플라이싱된다. 서명 검사 동안, 그 긴 서명을 검증하기 위해서는
Figure 112019124124503-pct00003
개의 서명 파티의 공개 키가 동시에 필요하다. N은 1보다 큰 정수이다.In the related art, the implementation plan of the multi-signature method is as follows:
Figure 112019124124503-pct00001
Assuming that there are two signing parties, when multi-signature is performed,
Figure 112019124124503-pct00002
Two different signatures are chained together and spliced into a long signature for storage on the blockchain. During signature check, to verify that long signature
Figure 112019124124503-pct00003
The public keys of the two signing parties are required at the same time. N is an integer greater than 1.

본 개시의 실시예는 서명 생성 방법, 전자 장치 및 저장 매체를 제공하여, 서명 검사의 복잡도를 감소시킨다. 기술적 솔루션은 다음과 같다:An embodiment of the present disclosure provides a signature generation method, an electronic device, and a storage medium, thereby reducing the complexity of signature checking. The technical solution is:

한 관점에 따라, 서명 생성 방법이 제공되며, 상기 방법은:According to one aspect, a method for generating a signature is provided, the method comprising:

서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;generating a message digest according to the message to be signed and an eigenvalue of a plurality of signing parties, wherein an eigenvalue of each signing party is obtained through calculation according to the random number of the signing party;

상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;obtaining a public key and sub-signature of the plurality of signing parties, wherein the sub-signature of each signing party is obtained through calculation according to the random number of the signing party, the message digest and the private key of the plurality of signing parties; ;

상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및generating an aggregate public key according to the public keys of the plurality of signing parties, wherein a length of the aggregate public key is shorter than a length of the plurality of public keys after splicing; and

상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계generating an aggregate signature according to the sum of the plurality of sub-signatures and the message digest;

를 포함한다.includes

한 관점에 따라, 서명 생성 방법이 제공되며, 상기 방법은:According to one aspect, a method for generating a signature is provided, the method comprising:

난수를 획득하고, 상기 난수에 따라 고윳값을 생성하는 단계;obtaining a random number and generating an eigenvalue according to the random number;

서명될 메시지, 개인 키 및 공개 키를 획득하는 단계;obtaining a message to be signed, a private key and a public key;

메시지 요약을 생성하는 단계 - 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득됨 - ; 및generating a message digest, wherein the message digest is obtained through calculation by the signature aggregation party according to the message to be signed and the algorithm; and

상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계generating a sub-signature according to the message digest, the random number and the private key;

를 포함한다.includes

한 관점에 따라, 서명 생성 장치가 제공되며, 상기 장치는:According to one aspect, an apparatus for generating a signature is provided, the apparatus comprising:

서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하도록 구성되어 있는 제1 생성 모듈 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;a first generating module, configured to generate a message digest according to the message to be signed and an eigenvalue of a plurality of signing parties, wherein the eigenvalue of each signing party is obtained through calculation according to a random number of the signing party;

상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하도록 구성되어 있는 획득 모듈 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;an obtaining module, configured to obtain the public key and sub-signature of the plurality of signing parties, wherein the sub-signature of each signing party is calculated according to the random number of the signing party, the message digest and the private key of the plurality of signing parties Acquired through - ;

상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하도록 구성되어 있는 제2 생성 모듈 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및a second generating module, configured to generate an aggregate public key according to the public keys of the plurality of signing parties, wherein a length of the aggregate public key is shorter than a length of the plurality of public keys after splicing; and

상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하도록 구성되어 있는 제3 생성 모듈a third generating module, configured to generate an aggregate signature according to the sum of the plurality of sub-signatures and the message digest;

을 포함한다.includes

한 관점에 따라, 서명 생성 장치가 제공되며, 상기 장치는:According to one aspect, an apparatus for generating a signature is provided, the apparatus comprising:

난수를 획득하고, 상기 난수에 따라 고윳값을 생성하도록 구성되어 있는 제1 생성 모듈;a first generating module, configured to obtain a random number and generate an eigenvalue according to the random number;

서명될 메시지, 개인 키 및 공개 키를 획득하도록 구성되어 있는 제1 획득 모듈;a first obtaining module, configured to obtain the message to be signed, the private key and the public key;

메시지 요약을 생성하도록 구성되어 있는 제2 획득 모듈 - 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득됨 - ; 및a second obtaining module, configured to generate a message digest, wherein the message digest is obtained through calculation by the signature aggregation party according to the message to be signed and the algorithm; and

상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하도록 구성되어 있는 제2 생성 모듈a second generating module, configured to generate a sub-signature according to the message digest, the random number and the private key

을 포함한다.includes

한 관점에 따라, 단말이 제공되며, 상기 단말은 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.According to one aspect, there is provided a terminal, the terminal comprising a processor and a memory, the memory storing at least one instruction, the at least one instruction being loaded by the processor to execute the above-described method for generating a signature, is carried out

한 관점에 따라, 서버가 제공되며, 상기 서버는 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.According to one aspect, there is provided a server, the server comprising a processor and a memory, the memory storing at least one instruction, the at least one instruction being loaded by the processor to execute the above-described method for generating a signature, is carried out

한 관점에 따라, 컴퓨터 판독 가능형 매체가 제공되며, 상기 컴퓨터 판독 가능형 매체는 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.According to one aspect, a computer readable medium is provided, the computer readable medium comprising a processor and a memory, the memory storing at least one instruction, the at least one instruction being the method for generating a signature as described above. is loaded and executed by the processor to execute

본 개시의 실시예의 기술적 솔루션에 의해 생기는 유리한 효과는 다음과 같다: 복수의 서명 파티의 하위 서명을 사용함으로써 집계 서명이 생성되고, 복수의 서명 파티의 공개 키에 기초하여 집계 공개 키가 생성되고; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중-서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명될 메시지는 집계 공개 키 및 집계 서명을 사용하여 직접 검사되므로 서명 검사의 복잡도를 크게 줄인다.Advantageous effects produced by the technical solution of the embodiment of the present disclosure are as follows: an aggregate signature is generated by using sub-signatures of a plurality of signing parties, and an aggregate public key is generated based on the public keys of the plurality of signing parties; The length of the obtained aggregate signature is shorter than the length of the multi-signature obtained by splicing the plurality of sub-signatures, and the length of the aggregate public key is shorter than the length of the multi-public key obtained by splicing the plurality of public keys. and; Therefore, during network transmission of the aggregate signature and aggregate public key, the network transmission burden is relieved, the storage space is reduced during storage, and during signature checking, the message to be signed is directly checked using the aggregate public key and aggregate signature, so that the signature check greatly reduce the complexity of

본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 개시의 실시예에 따른 실행 환경에 대한 도면이다.
도 2는 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다.
도 3은 본 개시의 실시예에 따른 복수의 계정 주소 간의 이체 시나리오에 대한 개략도이다.
도 4는 본 개시의 실시예에 따른 서명 생성에 대한 흐름면이다.
도 5는 본 개시의 실시예에 따른 합의에 도달하는 프로세스에 대한 개략도이다.
도 6은 본 개시의 실시예에 따른 병렬 방식의 서명 생성에 대한 개략도이다.
도 7은 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다.
도 8은 본 개시의 실시예에 따른 복수의 계약 파티에 의해 계약을 개시하는 것에 대한 개략도이다.
도 9는 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다.
도 10은 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다.
도 11은 본 개시의 실시예에 따른 단말(1100)에 대한 개략적인 블록도이다.
도 12는 본 개시의 실시예에 따른 서버에 대한 개략적인 구조 블록도이다.
In order to more clearly explain the technical solution of the embodiment of the present invention, the following briefly describes the accompanying drawings necessary to explain the embodiment of the present invention. Naturally, the accompanying drawings of the following embodiments are only some embodiments of the present invention, and those skilled in the art will be able to derive other drawings from the accompanying drawings without creative efforts.
1 is a diagram of an execution environment according to an embodiment of the present disclosure;
2 is a flowchart of signature generation according to an embodiment of the present disclosure;
3 is a schematic diagram of a transfer scenario between a plurality of account addresses according to an embodiment of the present disclosure;
4 is a flowchart for generating a signature according to an embodiment of the present disclosure.
5 is a schematic diagram of a process for reaching an agreement according to an embodiment of the present disclosure;
6 is a schematic diagram of signature generation in a parallel manner according to an embodiment of the present disclosure.
7 is a flowchart of signature generation according to an embodiment of the present disclosure.
8 is a schematic diagram for initiating a contract by a plurality of contracting parties according to an embodiment of the present disclosure;
9 is a schematic structural diagram of an apparatus for generating a signature according to an embodiment of the present disclosure.
10 is a schematic structural diagram of an apparatus for generating a signature according to an embodiment of the present disclosure.
11 is a schematic block diagram of a terminal 1100 according to an embodiment of the present disclosure.
12 is a schematic structural block diagram of a server according to an embodiment of the present disclosure.

본 개시의 목적, 기술적 솔루션 및 이점을 더 명확하게 하기 위해, 이하에서는 첨부된 도면을 참조해서 본 개시의 구현을 더 상세히 설명한다.In order to make the object, technical solution and advantage of the present disclosure more clear, the following describes the implementation of the present disclosure in more detail with reference to the accompanying drawings.

도 1에 도시된 데이터 공유 시스템을 참조하면, 데이터 공유 시스템(100)은 노드 간의 데이터 공유를 위한 시스템이다. 데이터 공유 시스템은 복수의 노드(101, 102, 103)를 포함할 수 있고, 복수의 노드(101)는 데이터 공유 시스템의 클라이언트 장치일 수 있고, 데이터 공유 시스템은 정보 및 데이터를 저장하기 위한 하나 이상의 블록 체인을 구성할 수 있다. 각각의 노드(101)는 정상적인 작업 동안 입력 정보를 수신할 수 있고, 수신된 입력 정보에 기초하여 데이터 공유 시스템에서 공유 데이터를 유지한다.Referring to the data sharing system shown in FIG. 1 , the data sharing system 100 is a system for sharing data between nodes. The data sharing system may include a plurality of nodes 101 , 102 , 103 , the plurality of nodes 101 may be client devices of the data sharing system, and the data sharing system includes one or more for storing information and data. A blockchain can be constructed. Each node 101 may receive input information during normal operation, and maintain shared data in the data sharing system based on the received input information.

데이터 공유 시스템에서 정보 상호 연동을 보장하기 위해, 데이터 공유 시스템의 노드 사이에 정보 연결이 확립될 수 있어서, 정보 연결을 통해 노드 간에 정보가 전송될 수 있다. 노드들 사이의 통신이 수행될 수 있고 신뢰가 달성된다. 디지털 서명 기술에 의존해야 하며, 주로 신원 확인, 정보 인증 및 무결성 인증을 실행한다. 예를 들어, 데이터 공유 시스템의 임의의 노드가 입력 정보를 수신할 때, 이 노드의 검사가 성공한 후, 정보는 다른 노드로 브로드캐스트될 것이다. 노드 간 합의에 도달하는 프로세스에서, 노드는 서명을 확인해야 하며 특정 수의 노드 확인이 성공하면 합의에 도달할 수 있다. 합의에 도달한 후, 입력 정보는 스토리지의 공유 데이터로 사용되므로 데이터 공유 시스템의 모든 노드에 저장된 데이터가 일관된다. 데이터 공유 시스템은 거래 시스템일 수 있고, 거래 시스템은 금융 거래를 위한 시스템이다. 거래 시스템은 복수의 노드를 포함할 수 있다. 각 노드는 거래 중에 원장 데이터를 생성하고 그 원장 데이터를 기반으로 거래 시스템에서 공유 원장을 유지한다.In order to ensure information interworking in the data sharing system, an information connection can be established between the nodes of the data sharing system, so that information can be transmitted between the nodes through the information connection. Communication between nodes can be performed and trust is achieved. It must rely on digital signature technology, and mainly performs identity verification, information authentication and integrity authentication. For example, when any node in the data sharing system receives input information, after this node's check succeeds, the information will be broadcast to other nodes. In the process of reaching consensus among nodes, nodes must verify the signature, and consensus can be reached if a certain number of nodes verification is successful. After consensus is reached, the input information is used as shared data for storage, so the data stored on all nodes in the data sharing system is consistent. The data sharing system may be a trading system, and the trading system is a system for financial transactions. A trading system may include a plurality of nodes. Each node creates ledger data during transactions and maintains a shared ledger in the transaction system based on that ledger data.

블록 체인 기술을 적용하는 동안, 둘 이상의 사용자가 거래를 서명하여 블록 체인으로 보내려면 다중-서명 기술이 필요하다. 즉, 서명 집계 파티는 복수의 사용자의 서명 및 공개 키에 따라 집계 서명 및 집계 공개 키를 생성하고, 서명 검사 동안, 서명된 메시지는 집계 서명 및 집계 공개 키에 따라 검사되기만 하면 된다. 실제 적용 시나리오에서, 서명 생성 프로세스에서, 서명을 생성하는 트리거 명령을 수신한 후, 복수의 서명 파티는 난수를 선택하고 난수에 따라 고윳값을 생성한다. 서명 집계 파티는 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성한다. 복수의 서명 파티는 메시지 요약을 획득하고(메시지 요약은 서명될 메시지 및 고윳값에 따라 서명 집계 파티에 의한 계산을 통해 획득된다), 그런 다음 메시지 요약, 난수, 및 개인 키에 따라 하위 서명을 생성한다. 서명 집계 파티는 복수의 서명 파티의 공개 키 및 하위 서명을 획득한다. 그런 다음, 서명 집계 파티는 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성한다. 서명 집계 파티는 복수의 하위 서명(예를 들어, 하위 서명의 합산 값) 및 메시지 요약에 따라 집계 서명을 생성한다.While applying blockchain technology, multi-signature technology is required for more than one user to sign a transaction and send it to the blockchain. That is, the signature aggregation party generates an aggregate signature and aggregate public key according to the signatures and public keys of a plurality of users, and during signature checking, the signed message only needs to be checked according to the aggregate signature and aggregate public key. In a practical application scenario, in the signature generation process, after receiving a trigger command to generate a signature, a plurality of signature parties select a random number and generate an eigenvalue according to the random number. The signature aggregation party generates a message digest according to the message to be signed and the values of the plurality of signature parties. A plurality of signing parties obtain a message digest (message digest is obtained through calculation by the signature aggregation party according to the message to be signed and an algorithm), and then generate a sub-signature according to the message digest, random number, and private key do. The signature aggregation party obtains public keys and sub-signatures of the plurality of signature parties. Then, the signing aggregation party generates the aggregation public key according to the public keys of the plurality of signing parties. The signature aggregation party generates an aggregate signature according to a plurality of sub-signatures (eg, the sum of the sub-signatures) and the message digest.

데이터 공유 시스템의 클라이언트 장치 및 노드는 난수, 하위 서명, 메시지 요약, 집계 서명 집계 공개 키 등을 저장하기 위해 적어도 하나의 데이터베이스를 추가로 가질 수 있다.The client devices and nodes of the data sharing system may further have at least one database for storing random numbers, sub-signatures, message digests, aggregate signature aggregate public keys, and the like.

이 솔루션은 3개의 구현 시나리오를 사용해서 이하에 상세히 설명한다.This solution is detailed below using three implementation scenarios.

도 2는 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다. 예를 들어, 방법은 데이터 공유 시스템에서 클라이언트 장치에 적용되고, 복수의 서명 파티는 클라이언트 장치에 의해 제공되는 복수의 계정 주소이다. 이 경우, 복수의 서명 파티 및 서명 집계 파티는 동일한 데이터 공유 시스템에서 동일한 클라이언트 장치 상에 있다. 즉, 복수의 서명 파티 및 서명 집계 파티는 동일한 실행 본문을 가지며, 서명될 메시지는 각각의 계정 주소에 대응하는 이체 금액 및 일부 다른 거래 정보이다. 작동 200-208은 아래에 상세히 설명된다.2 is a flowchart of signature generation according to an embodiment of the present disclosure; For example, the method is applied to a client device in a data sharing system, and a plurality of signing parties are a plurality of account addresses provided by the client device. In this case, the plurality of signature parties and signature aggregation parties are on the same client device in the same data sharing system. That is, the plurality of signing parties and the signature aggregation party have the same execution body, and the message to be signed is a transfer amount corresponding to each account address and some other transaction information. Operations 200-208 are detailed below.

200: 클라이언트 장치는 서명 생성 명령을 획득하고, 서명 생성 명령은 복수의 계정 주소로부터 적어도 하나의 계정 주소로 전달하도록 명령하고 복수의 계정 주소의 전달 수량을 지시하는 데 사용된다.200: The client device obtains a signature generation instruction, wherein the signature generation instruction is used to instruct delivery from the plurality of account addresses to the at least one account address and to indicate a delivery quantity of the plurality of account addresses.

도 3에 도시된 바와 같이, 사용자가 복수의 계정 주소를 가지고 있는 것으로 가정하면, 사용자가 복수의 계정 주소 내의 자산을 하나 이상의 목표 계정 주소에 이체해야 할 때, 복수의 계정은 복수의 서명 파티이다. 사용자가 클라이언트 장치를 작동시켜 거래를 수행할 때, 클라이언트 장치는 이체 요청을 수신한다. 이체 요청은 이 거래에서 서명될 메시지를 전달한다. 그런 다음, 서명 생성 명령이 트리거링되어, 클라이언트 장치는 서명을 생성하기 시작한다. 서명될 메시지는 현재 이체 요청일 수 있거나, 또는 현재 이체 요청에서 출금 이체 계좌(transfer-out account)로 사용되는 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌(transfer-in account)로 사용되는 계정 주소일 수 있다.3 , assuming that the user has a plurality of account addresses, when the user needs to transfer assets in the plurality of account addresses to one or more target account addresses, the plurality of accounts is a plurality of signing parties . When the user operates the client device to perform a transaction, the client device receives the transfer request. The transfer request carries the message to be signed in this transaction. Then, a signature generation command is triggered, so that the client device starts to generate a signature. The message to be signed may be the current transfer request, or the account address used as the transfer-out account in the current transfer request, the transfer amount of each account address and the transfer-in account used as the transfer-in account. It may be an account address that is

201: 클라이언트 장치는 클라이언트 장치는 이체 계좌로 사용되는 복수의 계정 주소의 복수의 난수를 획득하고, 복수의 난수에 따라 복수의 계정 주소의 고윳값을 개별적으로 생성한다.201: The client device obtains a plurality of random numbers of a plurality of account addresses used as a transfer account, and individually generates a unique value of the plurality of account addresses according to the plurality of random numbers.

서명 생성 명령을 수신한 후, 클라이언트 장치에서 복수의 계정 주소를 구별하기 위해, 클라이언트 장치는 복수의 계정 주소에 대한 각각의 난수를 선택하거나, 복수의 계정 주소의 미리 저장된 각각의 난수를 취하며, 복수의 난수에 따라 복수의 계정 주소의 고윳값을 각각 생성한다.After receiving the signature generation command, in order to distinguish the plurality of account addresses in the client device, the client device selects respective random numbers for the plurality of account addresses, or takes pre-stored respective random numbers of the plurality of account addresses, Each of the eigenvalues of a plurality of account addresses is generated according to a plurality of random numbers.

구체적으로, 계정 주소를 예로 들어, 계정 주소의 실행 본체는 클라이언트 장치이고, 작동 200은 다음 동작 1 내지 동작 4를 포함할 수 있다.Specifically, taking an account address as an example, the execution body of the account address is a client device, and operation 200 may include the following operations 1 to 4 .

작동 1: 클라이언트 장치는 계정 주소에 대한 제1 값

Figure 112019124124503-pct00004
및 제2 값
Figure 112019124124503-pct00005
를 획득하고, 제1 값
Figure 112019124124503-pct00006
및 제2 값
Figure 112019124124503-pct00007
는 소수이고,
Figure 112019124124503-pct00008
Figure 112019124124503-pct00009
의 인수이고,
Figure 112019124124503-pct00010
Figure 112019124124503-pct00011
이다.Operation 1: The client device has a first value for the account address
Figure 112019124124503-pct00004
and a second value
Figure 112019124124503-pct00005
to obtain the first value
Figure 112019124124503-pct00006
and a second value
Figure 112019124124503-pct00007
is a prime number,
Figure 112019124124503-pct00008
Is
Figure 112019124124503-pct00009
is the argument of
Figure 112019124124503-pct00010
and
Figure 112019124124503-pct00011
to be.

클라이언트 장치는

Figure 112019124124503-pct00012
의 범위 내의 소수를 선택하고 그 소수를 제1 값
Figure 112019124124503-pct00013
으로 결정하고,
Figure 112019124124503-pct00014
의 범위 내의 소수를 선택하고 그 소수를 제2 값
Figure 112019124124503-pct00015
로 결정하므로, 제1 값
Figure 112019124124503-pct00016
및 제2 값
Figure 112019124124503-pct00017
Figure 112019124124503-pct00018
Figure 112019124124503-pct00019
의 인수임을 만족한다. 전술한 방식 외에, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 제1 값
Figure 112019124124503-pct00020
및 제2 값
Figure 112019124124503-pct00021
을 또한 고려할 수 있다. 미리 저장되어 있는 제1 값
Figure 112019124124503-pct00022
및 제2 값
Figure 112019124124503-pct00023
는 모두 소수이며,
Figure 112019124124503-pct00024
Figure 112019124124503-pct00025
의 인수이고,
Figure 112019124124503-pct00026
Figure 112019124124503-pct00027
임을 만족한다.the client device
Figure 112019124124503-pct00012
Select a prime number within the range of and set the prime number to the first value
Figure 112019124124503-pct00013
to decide,
Figure 112019124124503-pct00014
Select a prime number within the range of
Figure 112019124124503-pct00015
Since it is determined as, the first value
Figure 112019124124503-pct00016
and a second value
Figure 112019124124503-pct00017
Is
Figure 112019124124503-pct00018
go
Figure 112019124124503-pct00019
It is satisfied that the argument of In addition to the above-described manner, the client device uses a first value stored in advance in a related database.
Figure 112019124124503-pct00020
and a second value
Figure 112019124124503-pct00021
can also be considered. Pre-stored first value
Figure 112019124124503-pct00022
and a second value
Figure 112019124124503-pct00023
are all prime numbers,
Figure 112019124124503-pct00024
go
Figure 112019124124503-pct00025
is the argument of
Figure 112019124124503-pct00026
and
Figure 112019124124503-pct00027
satisfied that

작동 2: 생성 기준(generation base)

Figure 112019124124503-pct00028
를 획득하며,
Figure 112019124124503-pct00029
Figure 112019124124503-pct00030
Figure 112019124124503-pct00031
로 정확하게 나누어질 수 있음을 만족한다.Operation 2: generation base
Figure 112019124124503-pct00028
to obtain,
Figure 112019124124503-pct00029
Is
Figure 112019124124503-pct00030
this
Figure 112019124124503-pct00031
It is satisfied that it can be accurately divided into .

클라이언트 장치는 무작위로 값을 선택하고, 그 값을 생성 기준 g로 결정하므로, 생성 기준 g는

Figure 112019124124503-pct00032
Figure 112019124124503-pct00033
로 정확하게 나누어질 수 있음을 만족한다. 대안으로, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 생성 기준 g를 가져오고 그 생성 기준 g는
Figure 112019124124503-pct00034
Figure 112019124124503-pct00035
로 정확하게 나누어질 수 있음을 만족한다.Since the client device randomly selects a value and determines that value as the generation criterion g, the generation criterion g is
Figure 112019124124503-pct00032
this
Figure 112019124124503-pct00033
It is satisfied that it can be accurately divided into . Alternatively, the client device fetches the generation criterion g pre-stored in the relevant database and the generation criterion g is
Figure 112019124124503-pct00034
this
Figure 112019124124503-pct00035
It is satisfied that it can be accurately divided into .

작동 3: 난수를 획득하며, 난수의 값 범위는

Figure 112019124124503-pct00036
이다.Operation 3: Obtain a random number, the range of values of the random number is
Figure 112019124124503-pct00036
to be.

클라이언트 장치는

Figure 112019124124503-pct00037
의 범위 내의 값을 무작위로 선택하고, 그 값을 난수로 결정한다. 대안으로, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 난수를 가져오고 그 난수는
Figure 112019124124503-pct00038
의 범위 내에 있음을 만족한다.the client device
Figure 112019124124503-pct00037
A value within the range of is randomly selected, and the value is determined as a random number. Alternatively, the client device fetches a random number pre-stored in the relevant database and the random number is
Figure 112019124124503-pct00038
is satisfied that it is within the range of

작동 4: 난수, 생성 기준 및 제1 값에 따라 고윳값을 생성한다.Operation 4: Generate an eigenvalue according to the random number, the generation criterion and the first value.

난수, 생성 기준 및 제1 값에 따라 고윳값을 획득한 후, 클라이언트 장치는 다음 식(1)에 따라 계정 주소의 고윳값을 계산할 수 있다:After obtaining the eigenvalue according to the random number, the generation criterion and the first value, the client device may calculate the eigenvalue of the account address according to the following equation (1):

Figure 112019124124503-pct00039
Figure 112019124124503-pct00039

Figure 112019124124503-pct00040
은 고윳값을 나타내고,
Figure 112019124124503-pct00041
은 난수를 나타내고,
Figure 112019124124503-pct00042
는 생성 기준을 나타내며,
Figure 112019124124503-pct00043
는 제1 값을 나타낸다.
Figure 112019124124503-pct00040
represents the eigenvalue,
Figure 112019124124503-pct00041
represents a random number,
Figure 112019124124503-pct00042
represents the creation criteria,
Figure 112019124124503-pct00043
represents the first value.

클라이언트 장치는 작동 1 내지 작동 4에 따라 출금 이체 계좌로 사용되는 복수의 계정 주소에 대한 각각의 고윳값을 생성할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다. 생성 프로세스는 병렬일 수 있다. 즉, 클라이언트 장치는 복수의 계정 주소에 대한 각각의 난수를 동시에 획득하고, 복수의 난수에 따라 복수의 계정 주소에 대한 각각의 고윳값을 생성한다. 생성 프로세스는 직렬일 수도 있다. 즉, 클라이언트 장치는 계정 주소에 대한 난수를 획득하고 난수에 따라 계정 주소에 대한 고윳값을 생성한다. 그런 다음, 클라이언트 장치는 모든 계정 주소에 대해 고윳값이 생성될 때까지 임의의 숫자에 따라 다음 계정 주소에 대한 고윳값을 생성하고, 그런 다음 작동이 종료된다. 이것은 여기에 제한되지 않는다.The client device may generate a respective epoch value for a plurality of account addresses used as a withdrawal and transfer account according to operations 1 to 4 . Details are not described again here. The creation process may be parallel. That is, the client device simultaneously obtains respective random numbers for the plurality of account addresses, and generates respective eigenvalues for the plurality of account addresses according to the plurality of random numbers. The creation process may be serial. That is, the client device obtains a random number for the account address and generates an eigenvalue for the account address according to the random number. Then, the client device generates an eigenvalue for the next account address according to a random number until an eigenvalue is generated for all account addresses, and then the operation ends. It is not limited here.

202: 클라이언트 장치는 서명될 메시지 및 복수의 계정 주소의 고윳값을 획득하고, 메시지 요약을 생성하고, 상기 서명될 메시지는 출금 이체 계좌(transfer-out account)로 사용되는 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌(transfer-in account)로 사용되는 계정 주소를 포함한다.202: The client device acquires a message to be signed and a plurality of account addresses, and generates a message digest, wherein the message to be signed is an account address used as a transfer-out account, each account address of the transfer amount and the account address used as the transfer-in account.

전술한 프로세스에 따라 계정 어드레스에 대한 각각의 고윳값을 생성한 후, 클라이언트 장치는 복수의 고윳값을 획득하고, 복수의 고윳값에 따라 집계 고윳값을 생성한다. 그런 다음, 클라이언트 장치는 획득된 집계 고윳값, 출금 이체 계좌로 사용된 계정 주소, 각각의 계정 주소의 이체 금액, 입금 이체 계좌로 사용된 계정 주소 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성한다.After generating each eigenvalue for the account address according to the above-described process, the client device obtains a plurality of eigenvalues, and generates an aggregate eigenvalue according to the plurality of eigenvalues. Then, the client device determines the obtained aggregate value, the account address used as the withdrawal and transfer account, the transfer amount of each account address, the account address used as the deposit and transfer account, and a preset one-way hash function Generates a message summary according to

구체적으로, 작동 202는 이하의 작동 1 내지 작동 3을 포함할 수 있다.Specifically, operation 202 may include operations 1 to 3 below.

작동 1: 클라이언트 장치는 복수의 계정 주소에 대한 각각의 고윳값 및 서명될 메시지를 획득한다.Operation 1: The client device obtains respective values and messages to be signed for a plurality of account addresses.

클라이언트 장치는 서명될 메시지로서 전송 요청을 직접 사용하거나, 전송 요청에서 출금 이체 계좌로 사용된 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌로 사용된 계정 주소를 서명될 메시지로서 추출할 수 있다. 이 실시예에서는, 서명될 메시지가 출금 이체 계좌로 사용된 추출된 계정 주소, 각각의 계정 주소의 이체 금액 및 출금 이체 계좌로서 사용된 계정 주소인 예를 사용하여 설명이 제공된다.The client device may directly use the sending request as the message to be signed, or extract the account address used as the withdrawal transfer account, the transfer amount of each account address, and the account address used as the deposit transfer account in the transfer request as the message to be signed. have. In this embodiment, an explanation is provided using an example in which the message to be signed is an extracted account address used as a withdrawal transfer account, a transfer amount of each account address, and an account address used as a withdrawal transfer account.

이 동작에서, 클라이언트 장치는 작동 201에서 생성되는 계정 어드레스의 고윳값 및 제1 값을 미리 저장할 수 있다. 메시지 요약을 생성하기 전에, 클라이언트 장치는 계정 주소의 미리 저장된 고윳값 및 제1값을 획득할 수 있다.In this operation, the client device may store in advance the first value and the original value of the account address generated in operation 201 . Before generating the message digest, the client device may obtain a pre-stored value and a first value of the account address.

작동 2: 클라이언트 장치는 복수의 계정 어드레스의 각각의 고윳값 및 제1 값에 따라 집계 고윳값을 생성한다.Operation 2: The client device generates an aggregate eigenvalue according to each eigenvalue and the first value of the plurality of account addresses.

특정 계산 방식에서, 클라이언트 장치는 복수의 고윳값의 곱을 계산하고, 복수의 고윳값의 곱 및 제1 값에 따라 집계 고윳값을 생성한다. 또한, 전술한 계산 프로세스에서, 클라이언트 장치가 복수의 고윳값과 제1 값의 곱에 따라 집계 고윳값을 생성하는 프로세스는 모듈로 연산을 통해 수행될 수 있다. 계산식은 다음 식(2)일 수 있다.In a specific calculation manner, the client device calculates a product of a plurality of eigenvalues, and generates an aggregate eigenvalue according to the product of the plurality of eigenvalues and the first value. Also, in the above-described calculation process, a process in which the client device generates an aggregate eigenvalue according to a product of a plurality of eigenvalues and the first value may be performed through a modulo operation. The calculation formula may be the following formula (2).

Figure 112019124124503-pct00044
Figure 112019124124503-pct00044

Figure 112019124124503-pct00045
은 집계 고윳값을 나타내고,
Figure 112019124124503-pct00046
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00047
는 i번째 계정 주소의 고윳값을 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00048
는 제1 값을 나타낸다.
Figure 112019124124503-pct00045
represents the aggregate eigenvalue,
Figure 112019124124503-pct00046
represents the total number of account addresses,
Figure 112019124124503-pct00047
represents the eigenvalue of the i-th account address, mod represents the modulo operation,
Figure 112019124124503-pct00048
represents the first value.

작동 3: 집계 고윳값, 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 메시지 요약을 생성한다.Operation 3: Generate a message digest according to the aggregate eigenvalue, the message to be signed, and a preset one-way hash function.

메시지의 해시 값은 전술한 생성된 집계 고윳값, 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 획득된다. 해시 값은 메시지 요약이다. 미리 설정된 단방향 해시 함수는 SHA256 보안 해시 함수일 수 있다.The hash value of the message is obtained according to the above-described generated aggregate eigenvalue, the message to be signed, and a preset one-way hash function. The hash value is a message digest. The preset one-way hash function may be a SHA256 secure hash function.

또한, 메시지 요약은 다음 식(3)에 따라 계산될 수 있다:Also, the message digest can be calculated according to the following equation (3):

Figure 112019124124503-pct00049
Figure 112019124124503-pct00049

Figure 112019124124503-pct00050
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00051
는 해시 값 계산 연산을 나타내고,
Figure 112019124124503-pct00052
은 서명될 메시지를 나타내며,
Figure 112019124124503-pct00053
은 집계 고윳값을 나타낸다.
Figure 112019124124503-pct00050
represents the message summary,
Figure 112019124124503-pct00051
represents the hash value calculation operation,
Figure 112019124124503-pct00052
indicates the message to be signed,
Figure 112019124124503-pct00053
represents the aggregate eigenvalue.

203: 클라이언트 장치는 출금 이체 계좌로 사용되는 복수의 계정 주소의 개인 키 및 공개 키를 획득하고, 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.203: The client device acquires a private key and a public key of a plurality of account addresses used as a withdrawal and transfer account, and generates a sub-signature according to the message digest, the random number and the private key.

메시지 요약을 획득한 후, 클라이언트 장치는 전송할 준비가 된 계정 주소의 개인 키 및 공개 키를 획득할 수 있다. 개인 키 및 공개 키는 다음의 복수의 구현으로 획득될 수 있다: (1) 데이터베이스는 각각의 계정 주소의 개인 키 및 공개 키를 저장할 수 있고, 클라이언트 장치가 개인 키 및 공개 키를 필요로 할 때, 클라이언트 장치는 데이터베이스로부터 각각의 계정 주소의 개인 키 및 공개 키를 직접 얻을 수 있으며; (2) 클라이언트 장치는 각각의 계정 주소에 대한 개인 키 및 공개 키를 일시적으로 생성하며, 개인 키는

Figure 112019124124503-pct00054
의 범위 내에 있으며,
Figure 112019124124503-pct00055
는 위에서 획득된 제2 값이며, 공개 키는 개인 키, 생성 기준 및 제1 값에 따라 생성된다. 구체적인 계산식은 다음 식(4)일 수 있다:After obtaining the message digest, the client device may obtain the private key and public key of the account address ready to transmit. The private key and public key may be obtained in a plurality of implementations: (1) the database may store the private key and public key of each account address, and when the client device needs the private key and public key , the client device can directly obtain the private key and public key of each account address from the database; (2) The client device temporarily generates a private key and a public key for each account address, and the private key is
Figure 112019124124503-pct00054
is within the scope of
Figure 112019124124503-pct00055
is the second value obtained above, and the public key is generated according to the private key, the generation criterion, and the first value. A specific formula may be the following formula (4):

Figure 112019124124503-pct00056
Figure 112019124124503-pct00056

Figure 112019124124503-pct00057
는 공개 키를 나타내고,
Figure 112019124124503-pct00058
는 공개 키를 나타내고,
Figure 112019124124503-pct00059
는 생성 기준을 나타내며,
Figure 112019124124503-pct00060
는 제1 값을 나타낸다.
Figure 112019124124503-pct00057
represents the public key,
Figure 112019124124503-pct00058
represents the public key,
Figure 112019124124503-pct00059
represents the creation criteria,
Figure 112019124124503-pct00060
represents the first value.

그런 다음, 클라이언트 장치는 전술한 프로세스에서 생성된 메시지 요약, 난수 및 제2 값을 획득하고, 개인 키, 메시지 요약, 각각의 계정 주소의 난수 및 제2 값에 따라 각각의 계정 주소의 하위 서명을 계산한다. 계산 식은 다음 식(5)일 수 있다:Then, the client device obtains the message digest, the random number and the second value generated in the above-described process, and generates a sub-signature of each account address according to the private key, the message digest, the random number and the second value of each account address. Calculate. The calculation expression may be the following equation (5):

Figure 112019124124503-pct00061
Figure 112019124124503-pct00061

Figure 112019124124503-pct00062
는 i번째 계정 주소의 하위 서명을 나타내고,
Figure 112019124124503-pct00063
는 i번째 계정 주소의 난수를 나타내고,
Figure 112019124124503-pct00064
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00065
는 i번째 계정 주소의 개인 키를 나타내고,
Figure 112019124124503-pct00066
는 제2 값을 나타내며, mod는 모듈로 연산을 나타낸다.
Figure 112019124124503-pct00062
represents the sub-signature of the i-th account address,
Figure 112019124124503-pct00063
represents the random number of the i-th account address,
Figure 112019124124503-pct00064
represents the message summary,
Figure 112019124124503-pct00065
represents the private key of the i-th account address,
Figure 112019124124503-pct00066
denotes a second value, and mod denotes a modulo operation.

204: 클라이언트 장치는 복수의 계정 주소의 공개 키를 획득하고, 복수의 계정 주소의 공개 키에 따라 집계 공개 키를 생성한다.204: The client device acquires a public key of a plurality of account addresses, and generates an aggregate public key according to the public keys of the plurality of account addresses.

클라이언트 장치가 전술한 처리 프로세스에 따라 계정 주소에 대한 각각의 공개 키를 획득한 후, 클라이언트 장치는 공개 키의 곱 및 제1 값에 따라 집계 공개 키를 생성한다. 또한, 전술한 계산 프로세스에서, 클라이언트 장치는 계정 어드레스에 대한 각각의 제1 값을 획득하고, 복수의 공개 키의 곱을 계산하고, 복수의 공개 키의 곱 및 제1 값에 따라 모듈로 연산을 수행하며, 집계 공개 키를 생성한다. 그 계산은 다음 식(6)에 따라 수행될 수 있다:After the client device obtains each public key for the account address according to the processing process described above, the client device generates an aggregate public key according to the product of the public key and the first value. Further, in the above calculation process, the client device obtains each first value for the account address, calculates a product of a plurality of public keys, and performs a modulo operation according to the product of the plurality of public keys and the first value and generate an aggregate public key. The calculation can be performed according to the following equation (6):

Figure 112019124124503-pct00067
Figure 112019124124503-pct00067

Figure 112019124124503-pct00068
는 집계 공개 키를 나타내고,
Figure 112019124124503-pct00069
는 구적 연산을 나타내고,
Figure 112019124124503-pct00070
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00071
는 i번째 계정 주소의 공개 키를 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00072
는 제1 값을 나타낸다.
Figure 112019124124503-pct00068
represents the aggregate public key,
Figure 112019124124503-pct00069
represents a quadrature operation,
Figure 112019124124503-pct00070
represents the total number of account addresses,
Figure 112019124124503-pct00071
denotes the public key of the i-th account address, mod denotes the modulo operation,
Figure 112019124124503-pct00072
represents the first value.

205: 클라이언트 장치는 복수의 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.205: The client device generates the aggregate signature according to the sum of the plurality of sub-signatures and the message digest.

전술한 작동 203을 통해, 클라이언트 장치는 계정 어드레스에 대한 각각의 하위 서명을 획득하고, 복수의 하위 서명의 합산 값을 획득하기 위해 하위 서명을 부가하고, 합산 값을 집계 하위 서명으로서 결정하며, 그런 다음 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다.Through the operation 203 described above, the client device obtains each sub-signature for the account address, adds the sub-signature to obtain a sum value of the plurality of sub-signatures, determines the sum value as the aggregate sub-signature, and such Generates an aggregate signature based on the following aggregate sub-signature and message digest.

또한, 전술한 계산 프로세스에서, 복수의 하위 서명의 합산 값을 얻기 위해 계정 주소의 하위 서명이 부가되고, 모듈로 연산은 합산 값 및 제2 값에 대해 수행되고, 획득된 결과는 집계 하위 서명으로 결정되며, 계산은 다음 수학 식(7)에 따라 수행될 수 있다:Further, in the above calculation process, the sub-signature of the account address is added to obtain the sum value of the plurality of sub-signatures, a modulo operation is performed on the sum value and the second value, and the obtained result is an aggregate sub-signature. is determined, and the calculation can be performed according to the following equation (7):

Figure 112019124124503-pct00073
Figure 112019124124503-pct00073

Figure 112019124124503-pct00074
는 집계 하위 서명을 나타내고,
Figure 112019124124503-pct00075
는 합산 연산을 나타내고,
Figure 112019124124503-pct00076
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00077
는 i번째 계정 주소의 하위 서명을 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00078
는 제2 값을 나타낸다.
Figure 112019124124503-pct00074
represents the aggregate subsignature,
Figure 112019124124503-pct00075
represents the summation operation,
Figure 112019124124503-pct00076
represents the total number of account addresses,
Figure 112019124124503-pct00077
denotes the subsignature of the i-th account address, mod denotes the modulo operation,
Figure 112019124124503-pct00078
represents the second value.

전술한 과정을 통해 집계 하위 서명을 결정한 후, 집계 하위 서명과 메시지 요약을 스플라이싱하고, 스플라이싱을 통해 얻은 결과를 집계 서명으로 결정한다. 전술한 과정을 통해 집계 하위 서명을 결정할 때, 집계 하위 서명은 하위 서명의 합산 값에 따라 생성되기 때문에, 획득된 집계 하위 서명의 길이는 스플라이싱 후 복수의 하위 서명의 길이보다 훨씬 짧다. 그러므로 집계 하위 서명에 따라 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 저장 동안 저장 공간이 감소될 수 있으며, 집계 서명의 네트워크 전송 동안, 네트워크 전송 부담이 경감된다.After determining the aggregate sub-signature through the above process, the aggregate sub-signature and the message digest are spliced, and the result obtained through splicing is determined as the aggregate signature. When determining the aggregate sub-signature through the above process, since the aggregate sub-signature is generated according to the sum of the sub-signatures, the length of the obtained aggregate sub-signature is much shorter than the length of the plurality of sub-signatures after splicing. Therefore, the length of the aggregate signature obtained according to the aggregate sub-signature is shorter than the length of the signature obtained through splicing, the storage space can be reduced during storage, and the network transmission burden is reduced during network transmission of the aggregate signature.

전술한 동작에서, 고윳값, 메시지 요약, 하위 서명, 집계 서명, 집계 공개 키 등은 계산을 통해 획득될 수 있고, 클라이언트 장치는 획득된 고윳값, 메시지 요약, 하위 서명, 집계 서명, 집계 공개 키 등을 저장할 수 있다. 저장 동안, 클라이언트 장치는 생성된 모든 결과를 관련 데이터베이스에 저장하거나, 그 결과를 저장을 위해 각각의 계정 주소와 결합할 수 있으며, 이것은 여기에서 제한되지 않는다.In the above-described operation, an eigenvalue, a message digest, a subsignature, an aggregate signature, an aggregate public key, etc. may be obtained through calculation, and the client device determines the obtained eigenvalue, a message digest, a subsignature, an aggregate signature, an aggregate public key, and the like. etc. can be saved. During storage, the client device may store all generated results in a related database, or combine the results with respective account addresses for storage, without limitation herein.

집계 서명 및 집계 공개 키를 생성하는 전술한 프로세스는 병렬일 수 있다. 즉, 클라이언트 장치는 모든 계정 주소의 각각의 하위 서명을 동시에 획득하고, 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 그런 다음 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 클라이언트 장치는 모든 계정 주소의 각각의 공개 키를 동시에 획득하고, 복수의 공개 키에 따라 집계 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 전술한 프로세스는 또한 직렬일 수 있다. 즉, 클라이언트 장치는 제1 계정 주소의 하위 서명 및 제2 계정 주소의 하위 서명을 획득하고, 2개의 하위 서명에 따라 부분 집계 하위 서명을 생성한다. 그런 다음, 클라이언트 장치는 제3 계정 주소의 하위 서명을 획득하고, 전술한 부분 집계 하위 서명 및 하위 서명에 따라 새로운 부분 집계 하위 서명을 생성한다. 그런 다음, 클라이언트 장치는 제4 계정 주소의 하위 서명을 획득하고, 모든 계정 주소의 하위 서명이 집계 하위 서명을 생성하는 데 참여할 때까지 전술한 부분 집계 하위 서명 및 하위 서명 등에 따라 새로운 부분 집계 하위 서명을 생성하며, 그런 다음, 생성된 통합 하위 서명 및 메시지 요약에 따라 통합 서명이 생성된다. 이것은 여기에 제한되지 않는다.The aforementioned process of generating the aggregate signature and aggregate public key may be parallel. That is, the client device simultaneously obtains each sub-signature of all account addresses, generates an aggregate sub-signature according to the plurality of sub-signatures, and then generates an aggregate signature according to the aggregate sub-signature and the message digest. Similarly, the client device simultaneously obtains respective public keys of all account addresses, and generates an aggregate public key according to the plurality of public keys. Optionally, the process described above for generating the aggregate signature and aggregate public key may also be serial. That is, the client device obtains a sub-signature of the first account address and a sub-signature of the second account address, and generates a partially aggregated sub-signature according to the two sub-signatures. Then, the client device obtains the sub-signature of the third account address, and generates a new partially aggregated sub-signature according to the aforementioned partial aggregate sub-signature and sub-signature. Then, the client device obtains a sub-signature of the fourth account address, and until the sub-signatures of all account addresses participate in generating the aggregate sub-signature, a new partial aggregate sub-signature according to the aforementioned partial aggregate sub-signature and sub-signature, etc. , and then a unified signature is generated according to the generated unified sub-signature and message digest. It is not limited here.

206: 클라이언트 장치는 데이터 공유 시스템에서 임의의 노드에 메시지, 집계 공개 키 및 집계 서명을 전송한다.206: The client device sends the message, the aggregate public key and the aggregate signature to any node in the data sharing system.

이 작동에서, 집계 서명은 데이터 공유 시스템으로 전송하기 위해 메시지에 추가될 수 있거나, 메시지 및 집계 서명은 데이터 공유 시스템으로 함께 전송될 수 있다. 이것은 여기에 제한되지 않는다.In this operation, the aggregate signature may be added to the message for transmission to the data sharing system, or the message and aggregate signature may be transmitted together to the data sharing system. It is not limited here.

전술한 프로세스에서 집계 공개 키 및 집계 서명이 생성된 후, 클라이언트 장치는 메시지, 집계 공개 키 및 집계 서명을 데이터 공유 시스템에 전송하고, 데이터 공유 시스템은 메시지에 대한 서명 검사를 수행한다.After the aggregate public key and aggregate signature are generated in the above process, the client device sends the message, aggregate public key and aggregate signature to the data sharing system, and the data sharing system performs signature check on the message.

207: 데이터 공유 시스템 내의 임의의 노드는 집계 공개 키 및 집계 서명에 따라 메시지에 대해 서명 검사를 수행한다.207: Any node in the data sharing system performs signature check on the message according to the aggregate public key and the aggregate signature.

구체적으로, 클라이언트 장치는 메시지, 생성 기준 및 각각의 계정 주소의 제1 값, 그리고 집계 공개 키 및 집계 서명을 데이터 공유 시스템에 전송하고, 데이터 공유 시스템은 정보를 시스템의 노드에 전송한다. 정보를 수신하는 노드는 메시지, 생성 기준 및 각각의 계정 주소의 제1 값, 그리고 집계 공개 키 및 집계 서명에 따라 메시지에 대한 서명 검사를 수행한다. 서명 검사 동안, 다음 식(8)이 성립되는지를 판정하고; 성립하면, 서명 검사가 성공이고 그렇지 않으면 서명 검사가 실패이다.Specifically, the client device sends the message, the generation criterion and the first value of each account address, and the aggregate public key and the aggregate signature to the data sharing system, and the data sharing system sends the information to the node of the system. The node receiving the information performs a signature check on the message according to the message, the creation criteria and the first value of each account address, and the aggregate public key and aggregate signature. During the signature check, it is determined whether the following equation (8) holds; If so, the signature check succeeds, otherwise the signature check fails.

Figure 112019124124503-pct00079
Figure 112019124124503-pct00079

Figure 112019124124503-pct00080
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00081
는 해시 값 계산 연산을 나타내고,
Figure 112019124124503-pct00082
은 메시지를 나타내며,
Figure 112019124124503-pct00083
는 생성 기준을 나타내고,
Figure 112019124124503-pct00084
는 집계 하위 서명을 나타내고,
Figure 112019124124503-pct00085
는 집계 공개 키를 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00086
는 제1 값을 나타낸다.
Figure 112019124124503-pct00080
represents the message summary,
Figure 112019124124503-pct00081
represents the hash value calculation operation,
Figure 112019124124503-pct00082
indicates a message,
Figure 112019124124503-pct00083
represents the creation criterion,
Figure 112019124124503-pct00084
represents the aggregate subsignature,
Figure 112019124124503-pct00085
denotes aggregate public key, mod denotes modulo operation,
Figure 112019124124503-pct00086
represents the first value.

전술한 서명 검사 방법의 정확도는 수학적 방법을 사용해서 증명될 수 있으며, 특정한 증명 방법은 다음과 같을 수 있다:The accuracy of the signature checking method described above may be verified using a mathematical method, and a specific proof method may be as follows:

전술한 계산 방법에 따르면, 식(8)

Figure 112019124124503-pct00087
Figure 112019124124503-pct00088
와 같고, 유클리드 알고리즘에 따라 다음이 획득될 수 있다:According to the above calculation method, equation (8)
Figure 112019124124503-pct00087
silver
Figure 112019124124503-pct00088
, and according to the Euclidean algorithm, the following can be obtained:

Figure 112019124124503-pct00089
Figure 112019124124503-pct00089

그러므로

Figure 112019124124503-pct00090
이 유도될 수 있다.
Figure 112019124124503-pct00091
Figure 112019124124503-pct00092
와 같기 때문에,
Figure 112019124124503-pct00093
가 성립한다. 그러므로 전술한 서명 검사 방법은 정확하다.therefore
Figure 112019124124503-pct00090
This can be induced.
Figure 112019124124503-pct00091
silver
Figure 112019124124503-pct00092
Because it is equal to
Figure 112019124124503-pct00093
is established Therefore, the signature checking method described above is accurate.

208. 데이터 공유 시스템은 서명 검사 결과, 집계 공개 키 및 집계 서명을 메시지에 부가한다.208. The data sharing system appends the signature check result, the aggregate public key and the aggregate signature to the message.

데이터 공유 시스템은 서명 검사 결과, 집계 공개 키 및 집계 서명을 메시지에 부가하고, 부가 후에 획득된 메시지를 블록 체인에 부가한다.The data sharing system adds the signature check result, the aggregate public key and the aggregate signature to the message, and adds the obtained message to the blockchain after the addition.

본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되며; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명된 메시지는 집계 공개 키 및 집계를 사용하여 직접 검사되므로 서명 검사의 복잡도를 크게 줄이다. 또한, 전송 시나리오에서 전술한 서명 생성 방법의 특정 적용이 제공되므로, 서명 생성의 실행 가능성이 향상되고, 이체 시나리오에서 서명 생성 및 서명 검사의 효율성도 향상된다.In the present application, the aggregate signature is generated using sub-signatures of the plurality of signing parties, and the aggregate public key is generated based on the public keys of the plurality of signing parties; The length of the obtained aggregate signature is shorter than the length of the multi-signature obtained by splicing the plurality of sub-signatures, the length of the aggregate public key is shorter than the length of the multi-public key obtained by splicing the plurality of public keys, and ; Therefore, during network transmission of the aggregate signature and aggregate public key, the burden of network transmission is relieved, the storage space is reduced during storage, and during signature checking, the signed message is directly checked using the aggregate public key and aggregate, so that the signature check greatly reduce the complexity of In addition, since a specific application of the above-described signature generation method is provided in the transmission scenario, the feasibility of signature generation is improved, and the efficiency of signature generation and signature checking in the transfer scenario is also improved.

도 4는 본 발명의 일 실시예에 따른 서명 생성 방법의 흐름도이다. 예를 들어, 이 방법은 데이터 공유 시스템의 리더 노드에 적용된다. 이 경우 서명 집계 파티는 데이터 공유 시스템의 리더 노드이다. 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로워 노드이다. 임의의 팔로워 노드는 데이터 공유 시스템에서 리더 노드에 의해 브로드캐스트된 하트비트 정보(heartbeat information)에 따라, 리더 노드가 정상적으로 실행되고 리더 노드의 지시에 기초하여 로그를 복사할 수 있는 것으로 결정할 수 있다. 팔로워 노드가 일정 기간 동안 리더 노드의 하트비트 정보를 수신하지 않으면, 팔로워 노드는 리더 노드의 실행 중 결함이 있다고 결정할 수 있으며, 팔로워 노드는 데이터 공유 노드의 각각의 노드에 투표 요청(voting request)을 브로드캐스트한다. 클러스터에서 절반 이상의 노드 장치에 대한 투표를 받으면 팔로어 노드는 실행을 위해 리더 상태로 전환하고 클러스터의 각 노드 장치에 하트비트 정보를 브로드캐스트하고 클라이언트 장치와의 상호 작용에 따라 로그를 저장하며, 각 노드에 로그를 복사하도록 명령한다. 이러한 작업은 아래에 자세히 설명된다.4 is a flowchart of a signature generation method according to an embodiment of the present invention. For example, this method applies to the leader node of a data sharing system. In this case, the signature aggregation party is the leader node of the data sharing system. Each of the plurality of signing parties is a follower node in the data sharing system. Any follower node may determine, according to heartbeat information broadcast by the leader node in the data sharing system, that the leader node is running normally and can copy the log based on the leader node's instruction. If the follower node does not receive the heartbeat information of the leader node for a certain period of time, the follower node may determine that there is a defect in the execution of the leader node, and the follower node sends a voting request to each node of the data sharing node. broadcast Upon receiving votes for more than half of the node devices in the cluster, the follower node enters the leader state for execution, broadcasts heartbeat information to each node device in the cluster, and stores a log based on interactions with client devices, each node command to copy the log to . These operations are described in detail below.

400: 리더 노드는 클라이언트 장치의 입력 정보를 전달하는 합의 확인 패킷을 각각의 팔로워 노드에 전송한다.400: The leader node transmits to each follower node a consensus acknowledgment packet carrying input information of the client device.

신뢰할 수 있는 블록 체인에서 bft-raft(consensus algorithm)를 사용하여 노드 사이의 합의에 도달할 때, 도 5에 도시된 바와 같이, 리더 노드는 합의 확인 패킷을 각각의 팔로어 노드에 전송한다. 합의 확인 패킷은 노드 사이의 패킷에 대한 합의에 도달한 후에 저장되어야 하는 데이터 패킷이며, 합의 확인 패킷 t는 서명될 메시지를 전달한다. 이 실시예에서, 서명될 메시지가 전송 메시지와 같은 클라이언트 장치의 입력 정보일 수 있는 예를 사용하여 설명이 제공된다.When consensus among nodes is reached using bft-raft (consensus algorithm) in a trusted block chain, as shown in FIG. 5, the leader node sends a consensus confirmation packet to each follower node. The consensus acknowledgment packet is a data packet that must be stored after reaching an agreement on the packet between nodes, and the consensus acknowledgment packet t carries the message to be signed. In this embodiment, an explanation is provided using an example in which the message to be signed may be input information of the client device, such as a transmit message.

401: 각각의 팔로워 노드는 합의 확인 패킷을 수신한다.401: Each follower node receives a consensus confirmation packet.

리더 노드가 합의 확인 패킷을 전송한 후, 각각의 팔로워 노드는 합의 확인 패킷을 수신한다. 합의 확인 패킷은 클라이언트 장치의 입력 정보를 전달하고, 클라이언트 장치의 입력 정보에 서명하도록 각각의 팔로워 노드를 트리거링한다.After the leader node sends a consensus acknowledgment packet, each follower node receives a consensus acknowledgment packet. The consensus confirmation packet carries the input information of the client device, and triggers each follower node to sign the input information of the client device.

402: 각각의 팔로워 노드는 합의 확인 패킷으로부터 클라이언트 장치의 입력 정보를 획득한다.402: Each follower node obtains input information of the client device from the consensus acknowledgment packet.

리더 노드에 의해 송신된 합의 확인 패킷을 수신한 후, 각각의 팔로워 노드는 합의 확인 패킷을 파싱하고 클라이언트 장치의 입력 정보를 획득한다.After receiving the consensus acknowledgment packet sent by the leader node, each follower node parses the consensus acknowledgment packet and obtains the input information of the client device.

403: 각각의 팔로워 노드는 각각의 공개 키 및 개인 키를 획득한다.403: Each follower node obtains a respective public key and a private key.

각각의 팔로워 노드가 전술한 프로세스에서 클라이언트 장치의 입력 정보를 획득한 후, 각각의 팔로워 노드는 각각의 공개 키 및 개인 키를 획득하고, 그 획득 방법은 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.After each follower node obtains the input information of the client device in the above-described process, each follower node obtains a respective public key and a private key, the method of obtaining it may be processed with reference to operation 203, where will not be explained again here.

404: 리더 노드는 각각의 팔로워 노드의 공개 키를 획득한다.404: The leader node acquires the public key of each follower node.

전술한 작동이 완료된 후, 리더 노드는 각각의 팔로어 노드의 공개 키를 획득한다. 리더 노드는 다음의 복수의 구현들에서 각각의 팔로워 노드의 공개 키를 획득할 수 있다: (1) 각 팔로워 노드의 공개 키는 리더 노드의 데이터베이스에 저장될 수 있고, 필요할 경우 리더 노드는 데이터베이스에서 각각의 계정 주소의 공개 키를 직접 획득할 수 있다. (2) 각각의 팔로어 노드는 각각의 공개 키 및 개인 키를 각각의 데이터베이스에 저장할 수 있으며, 각각의 공개 키를 획득한 후, 각각의 팔로어 노드는 공개 키를 리더 노드로 전송한다. 이 경우, 팔로어 노드가 처음으로 공개 키를 전송한 후, 리더 노드는 팔로어 노드의 공개 키를 저장할 수 있고, 다음에 리더 노드가 팔로어 노드의 공개 키를 필요로 할 때 처리를 위해 전술한 구현 (1)에 대한 참조가 이루어질 수 있다. (3) 각각의 팔로워 노드는 개인 키 및 공개 키를 일시적으로 생성하고, 생성 계산 방법에 대한 전술한 작동 203을 참조할 수 있으며, 세부 사항은 여기서 다시 설명하지 않는다. 그런 다음, 각각의 팔로어 노드는 생성된 공개 키를 리더 노드로 전송한다. 이 경우, 팔로어 노드가 처음으로 공개 키를 전송한 후, 리더 노드는 팔로어 노드의 공개 키를 저장할 수 있고, 다음에 리더 노드가 팔로어 노드의 공개 키를 필요로 할 때 처리를 위해 전술한 구현 (1)에 대한 참조가 이루어질 수 있다. 세부 사항은 여기서 다시 설명하지 않는다.After the above operation is completed, the leader node acquires the public key of each follower node. The leader node may obtain the public key of each follower node in the following plurality of implementations: (1) The public key of each follower node may be stored in a database of the leader node, and if necessary, the leader node You can directly obtain the public key of each account address. (2) Each follower node may store each public key and private key in each database, and after obtaining each public key, each follower node transmits the public key to the leader node. In this case, after the follower node transmits the public key for the first time, the leader node may store the public key of the follower node, and then implement the above-described implementation ( Reference to 1) may be made. (3) Each follower node temporarily generates a private key and a public key, and may refer to the above-described operation 203 for a generation calculation method, details are not described herein again. Then, each follower node transmits the generated public key to the leader node. In this case, after the follower node transmits the public key for the first time, the leader node may store the public key of the follower node, and then implement the above-described implementation ( Reference to 1) may be made. Details are not described again here.

405: 각각의 팔로워 노드는 각각의 난수를 획득하고, 각각의 난수에 따라 각각의 고윳값을 생성한다.405: Each follower node obtains a respective random number, and generates a respective eigenvalue according to each random number.

각각의 팔로워 노드가 난수를 획득하는 방법은 작동 201에서 작동 3에 따라 처리될 수 있으며, 각각의 팔로워 노드가 난수에 따라 고윳값을 생성하는 방법은 작동 201에서 작동 4에 따라 처리될 수 있다. 이에 대해서는 여기서 다시 설명하지 않는다. 각각의 고윳값을 생성한 후, 각각의 팔로워 노드는 각각의 고윳값을 리더 노드에 전송한다.A method for each follower node to obtain a random number may be processed according to operation 3 in operation 201 , and a method for each follower node to generate an eigenvalue according to a random number may be processed according to operation 4 in operation 201 . This will not be explained again here. After generating each eigenvalue, each follower node sends each eigenvalue to the leader node.

406: 각각의 팔로워 노드는 각각 생성된 고윳값을 리더 노드에 전송한다.406: Each follower node transmits each generated eigenvalue to the leader node.

407: 각각의 팔로워 노드에 의해 송신된 각각의 고윳값을 수신한 후, 리더 노드는 클라이언트 장치의 입력 정보 및 각각의 팔로워 노드의 고윳값에 따라 메시지 요약을 생성한다.407: After receiving each eigenvalue sent by each follower node, the leader node generates a message digest according to the input information of the client device and the eigenvalue of each follower node.

메시지 요약을 생성하는 계산 프로세스는 작동 202에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다. 메시지 요약을 생성한 후, 리더 노드는 각각의 팔로워 노드에 메시지 요약을 전송한다.The calculation process for generating the message digest may be processed according to operation 202, which is not described herein again. After generating the message digest, the leader node sends the message digest to each follower node.

408: 리더 노드는 데이터 공유 시스템에서 각각의 팔로워 노드에 메시지 요약을 전송한다.408: The leader node sends a message digest to each follower node in the data sharing system.

409: 각각의 팔로워 노드는 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.409: Each follower node generates a sub-signature according to the message digest, random number and private key.

각각의 팔로워 노드가 하위 서명을 생성하는 계산 프로세스는 작동 203에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다. 각각의 팔로워 노드가 전술한 작동에서 각각의 하위 서명을 생성한 후, 각각의 팔로워 노드는 각각의 하위 서명을 리더 노드에 전송한다.The calculation process in which each follower node generates a sub-signature may be processed according to operation 203, which is not described herein again. After each follower node generates each sub-signature in the above operation, each follower node sends each sub-signature to the leader node.

410: 리더 노드는 각각의 팔로워 노드에 의해 송신된 공개 키를 수신하고, 각각의 팔로워 노드의 공개 키에 따라 집계 공개 키를 생성한다.410: The leader node receives the public key sent by each follower node, and generates an aggregate public key according to the public key of each follower node.

리더 노드가 집계 공개 키를 생성하는 계산 프로세스는 작동 204에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.The calculation process by which the leader node generates the aggregate public key may be processed according to operation 204, which is not described herein again.

411: 리더 노드는 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.411: The leader node generates an aggregate signature according to the sum of the sub-signatures and the message digest.

리더 노드가 집계 서명을 생성하는 계산 프로세스는 작동 205에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.The calculation process by which the leader node generates the aggregate signature may be processed according to operation 205, which is not described herein again.

412: 리더 노드는 각각의 팔로워 노드에 집계 공개 키 및 집계 서명을 전송한다.412: The leader node sends the aggregate public key and the aggregate signature to each follower node.

리더 노드는 생성된 집계 공개 키 및 집계 서명을 합의 확인 패킷에 부가하고, 그런 다음 합의 확인 패킷을 각각의 팔로워 노드에 전송한다. 각각의 팔로워 노드는 합의 확인 패킷을 파싱하고, 집계 공개 키, 집계 서명 및 클라이언트 장치의 입력 정보를 추출한다. 그런 다음 각각의 팔로워 노드는 집계 공개 키 및 집계 서명에 따라 메시지에 대해 서명 검사를 수행한다. 서명 검사는 작동 207을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.The leader node adds the generated aggregate public key and aggregate signature to the consensus confirmation packet, and then sends the consensus confirmation packet to each follower node. Each follower node parses the consensus confirmation packet, and extracts the aggregate public key, aggregate signature, and input information of the client device. Each follower node then performs signature checking on the message according to the aggregate public key and aggregate signature. Signature checking may be processed with reference to operation 207, which is not described herein again.

413: 모든 팔로워 노드에 의해 메시지 노드에 대한 서명 검사가 수행된 후, 리더 노드는 합의에 도달하고, 각각의 노드는 합의 확인 패킷에서의 클라이언트 장치의 입력 정보, 집계 서명 및 집계 공개 키를 저장한다.413: After signature check of the message node is performed by all the follower nodes, the leader node reaches a consensus, and each node stores the input information of the client device in the consensus confirmation packet, the aggregate signature and the aggregate public key .

집계 공개 키 및 집계 서명에 따라 각 팔로워 노드가 메시지에서 서명 검사를 성공적으로 수행한 후 노드 간에 합의에 도달한다. 그런 다음, 각각의 팔로어 노드는 합의 확인 패킷 내의 클라이언트 장치의 입력 정보, 집계 서명 및 집계 공개 키를 저장한다.According to the aggregation public key and the aggregation signature, consensus is reached between the nodes after each follower node successfully performs a signature check on the message. Then, each follower node stores the input information of the client device, the aggregate signature and the aggregate public key in the consensus confirmation packet.

전술한 프로세스에서 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 집계 공개 키의 길이는 스플라이싱을 통해 획득된 공개 키의 길이보다 짧다. 따라서, 합의 프로세스에서, 집계 서명의 네트워크 전송 동안, 네트워크 전송의 부담이 경감될 수 있고, 메시지에 대해 서명 검사가 수행될 때, 서명 검사의 복잡성이 감소되도록 집계 공개 키 및 집계 서명에 따라서만 메시지에 대한 서명 검사가 수행될 필요가 있다.The length of the aggregate signature obtained in the above process is shorter than the length of the signature obtained through splicing, and the length of the aggregate public key is shorter than the length of the public key obtained through splicing. Therefore, in the consensus process, during the network transmission of the aggregate signature, the burden of network transmission can be reduced, and when the signature check is performed on the message, the message only according to the aggregate public key and the aggregate signature so that the complexity of the signature check is reduced. A signature check needs to be performed.

집계 서명 및 집계 공개 키를 생성하는 프로세스는 병렬일 수 있다. 도 6에 도시된 바와 같이, 리더 노드는 복수의 하위 서명에 따라 집계 하위 서명을 생성한 후, 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 리더 노드는 복수의 공개 키에 따라 통합 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 프로세스는 직렬일 수 있다. 즉, 제1 팔로어 노드는 그 하위 서명을 획득한 후 이를 제2 팔로어 노드로 전송하며; 제2 팔로어 노드는 제1 팔로어 노드의 하위 서명 및 제2 팔로어 노드의 하위 서명을 획득하고, 부분 집계 하위 서명을 생성하고, 그런 다음, 부분 집계 하위 서명을 제3 팔로어 노드로 전송하고; 제3 팔로어 노드는 제2 팔로어 노드에 의해 전송된 부분 집계 하위 서명 및 제3 팔로어 노드의 하위 서명을 획득하고, 새로운 부분 집계 하위 서명을 생성하며, 그런 다음, 새로운 부분 집계 하위 서명을 제4 팔로어 노드에 전송하고; 이와 같이 계속함으로써 마지막 팔로워 노드가 새로운 부분 집계 하위 서명을 생성하고, 부분 집계 하위 서명을 리더 노드로 전송하며; 리더 노드는 부분 집계 하위 서명을 수신하고, 부분 집계 하위 서명을 집계 하위 서명으로서 결정하고, 그런 다음 생성된 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 이것은 여기에 제한되지 않는다.The process of generating the aggregate signature and aggregate public key may be parallel. As shown in FIG. 6 , the leader node generates an aggregate sub-signature according to the plurality of sub-signatures, and then generates an aggregate signature according to the aggregate sub-signature and message digest. Similarly, the leader node generates a unified public key according to the plurality of public keys. Optionally, the process of generating the aggregate signature and aggregate public key may be serial. That is, the first follower node obtains the sub-signature and sends it to the second follower node; the second follower node obtains the sub-signature of the first follower node and the sub-signature of the second follower node, generates a partially aggregated sub-signature, and then sends the partially aggregated sub-signature to the third follower node; The third follower node obtains the partial aggregate sub-signature sent by the second follower node and the sub-signature of the third follower node, generates a new partial aggregate sub-signature, and then sends the new partial aggregate sub-signature to the fourth follower. send to the node; By continuing in this way, the last follower node generates a new partial aggregate sub-signature, and sends the partial aggregate sub-signature to the leader node; The leader node receives the partial aggregate sub-signature, determines the partial aggregate sub-signature as the aggregate sub-signature, and then generates the aggregate signature according to the generated aggregate sub-signature and message digest. It is not limited here.

본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되고; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명된 메시지는 집계 공개 키 및 집계 서명을 사용하여 직접 검사되므로 서명 검사의 복잡성을 크게 줄인다. 또한, 합의 시나리오에서의 전술한 서명 생성 방법의 특정 적용이 제공되어 서명 생성의 실행 가능성이 개선되고, 합의 시나리오에서의 서명 생성 및 서명 검사의 효율성도 개선된다.In the present application, the aggregate signature is generated using sub-signatures of the plurality of signing parties, and the aggregate public key is generated based on the public keys of the plurality of signing parties; The length of the obtained aggregate signature is shorter than the length of the multi-signature obtained by splicing the plurality of sub-signatures, the length of the aggregate public key is shorter than the length of the multi-public key obtained by splicing the plurality of public keys, and ; Therefore, during network transmission of the aggregate signature and aggregate public key, the burden of network transmission is relieved, the storage space is reduced during storage, and during signature checking, the signed message is directly checked using the aggregate public key and aggregate signature, so that the signature It greatly reduces the complexity of the inspection. In addition, a specific application of the above-described signature generation method in a consensus scenario is provided to improve the feasibility of signature generation, and to improve the efficiency of signature generation and signature checking in a consensus scenario.

도 7은 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다. 예를 들어, 이 방법은 데이터 공유 시스템에서 클라이언트 장치에 적용되고, 복수의 서명 파티 중 어느 하나가 위치하는 클라이언트 장치는 집계 서명을 실행하는 실행 본체로서 사용된다. 이 경우, 설명을 용이하게 하기 위해 지능형 계약에 참여하는 클라이언트 장치에서 서명 집계 파티로 사용되는 클라이언트 장치를 제1 클라이언트 장치라고 하며, 지능형 계약에 참여하는 다른 클라이언트 장치를 제2 클라이언트 장치라고 한다. 지능형 계약 시나리오에서, 서명될 메시지는 계약 데이터이며 계약 데이터는 거래 완료 조건을 제한하는 데 사용된다. 동작은 아래에 자세히 설명되어 있다.7 is a flowchart of signature generation according to an embodiment of the present disclosure. For example, this method is applied to a client device in a data sharing system, and the client device in which any one of a plurality of signing parties is located is used as an execution body for executing the aggregate signature. In this case, for ease of explanation, a client device used as a signature aggregation party in a client device participating in an intelligent contract is referred to as a first client device, and another client device participating in an intelligent contract is referred to as a second client device. In the intelligent contract scenario, the message to be signed is the contract data, and the contract data is used to constrain the conditions for completing the transaction. The operation is described in detail below.

700: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 서명 생성 명령을 획득하고, 서명 생성 명령은 복수의 계약 파티의 계약 내용 및 이체 금액을 나타내는 데 사용된다.700: The first client device and the at least one second client device obtain a signature generation command, wherein the signature generation command is used to indicate contract details and transfer amounts of the plurality of contract parties.

도 8에 도시된 바와 같이, 복수의 파티가 공동으로 계약의 양도를 개시할 때, 계약에 도달하기 위해서는 복수의 계약 파티의 서명이 필요하다. 복수의 계약 파티가 전송을 위해 각각의 클라이언트 장치를 조작할 때, 클라이언트 장치는 계약 전달 요청을 수신하고, 계약 거래 요청은 이 거래에서 서명될 메시지를 전달하며, 그 메시지는 복수의 계약 파티의 서명을 필요로 하고, 복수의 계약 파티는 서명을 생성하기 시작하도록 트리거링된다.As shown in FIG. 8 , when a plurality of parties jointly initiate the transfer of a contract, signatures of the plurality of contracting parties are required to reach the contract. When the plurality of contracting parties operate each client device for transmission, the client device receives a contract delivery request, the contract transaction request delivers a message to be signed in this transaction, the message being signed by the plurality of contracting parties , and multiple contracting parties are triggered to start generating signatures.

701: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 복수의 각각의 난수를 획득하고, 복수의 난수에 따라 각각의 고윳값을 개별적으로 생성한다.701: The first client device and the at least one second client device acquire a plurality of respective random numbers, and individually generate respective eigenvalues according to the plurality of random numbers.

서명 생성 트리거 명령을 수신할 때, 적어도 하나의 제2 클라이언트 장치는 각각의 난수를 획득한다. 획득 프로세스는 작동 201을 참조하여 처리될 수 있으며, 세부 사항은 여기서 다시 설명되지 않는다. 적어도 하나의 제2 클라이언트 장치의 난수를 획득한 후, 적어도 하나의 제2 클라이언트 장치는 각각의 난수에 따라 각각의 고윳값을 생성한다. 생성 방법은 작동 201을 참조하여 처리될 수 있으며, 세부 사항은 여기서 다시 설명되지 않는다. 고윳값을 생성한 후, 적어도 하나의 제2 클라이언트 장치는 생성된 고윳값을 제1 클라이언트 장치로 전송한다.Upon receiving the signature generation trigger command, the at least one second client device obtains a respective random number. The acquisition process may be handled with reference to operation 201 , and details are not described herein again. After obtaining the random number of the at least one second client device, the at least one second client device generates a respective eigenvalue according to each random number. The generating method may be processed with reference to operation 201, details not described herein again. After generating the eigenvalue, the at least one second client device transmits the generated eigenvalue to the first client device.

702: 적어도 하나의 제2 클라이언트 장치는 제1 클라이언트 장치에 각각의 고윳값을 전송한다.702: The at least one second client device sends a respective eigenvalue to the first client device.

703: 제1 클라이언트 장치는 계약 데이터 및 적어도 하나의 제2 클라이언트 장치의 적어도 하나의 고윳값에 따라 메시지 요약을 생성한다.703: The first client device generates the message digest according to the contract data and the at least one eigenvalue of the at least one second client device.

제1 클라이언트 장치가 메시지 요약을 생성하는 프로세스는 전술한 작동 202를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.A process in which the first client device generates the message digest may be processed with reference to operation 202 described above, which is not described herein again.

704: 제1 클라이언트 장치는 적어도 하나의 제2 클라이언트 장치에 메시지 요약을 전송한다.704: The first client device sends the message digest to the at least one second client device.

705: 적어도 하나의 제2 클라이언트 장치는 메시지 요약을 획득하고, 그런 다음 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 계약 데이터, 개인 키 및 공개 키를 획득한다.705 : The at least one second client device obtains the message digest, and then the first client device and the at least one second client device obtain the contract data, the private key and the public key.

제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치가 각각의 비림 키 및 공개 키를 획득하는 프로세스는 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.Processes in which the first client device and the at least one second client device obtain the private key and the public key, respectively, may be processed with reference to operation 203 , which is not described herein again.

706: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.706 : The first client device and the at least one second client device generate a sub-signature according to the message digest, the random number and the private key.

적어도 하나의 제2 클라이언트 장치가 각각의 하위 서명을 생성하는 프로세스는 전술한 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.A process by which the at least one second client device generates each sub-signature may be processed with reference to operation 203 described above, which is not described herein again.

707: 적어도 하나의 제2 클라이언트 장치는 제1 클라이언트 장치에 각각의 하위 서명을 전송한다.707: The at least one second client device sends a respective sub-signature to the first client device.

708: 제1 클라이언트 장치는 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 각각의 공개 키를 획득하고, 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 각각의 공개 키에 따라 집계 공개 키를 생성한다.708: the first client device obtains respective public keys of the first client device and the at least one second client device, and an aggregate public key according to respective public keys of the first client device and the at least one second client device to create

제1 클라이언트 장치는 적어도 하나의 제2 클라이언트 장치에 의해 송신된 공개 키 및 하위 서명을 수신하고, 수신된 공개 키 및 하위 서명을 저장한다. 그런 다음, 제1 클라이언트 장치가 집계 공개 키를 생성하는 프로세스는 전술한 작동 204를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.The first client device receives the public key and sub-signature sent by the at least one second client device, and stores the received public key and sub-signature. Then, the process of generating the aggregate public key by the first client device may be processed with reference to operation 204 described above, which is not described herein again.

709: 제1 클라이언트 장치는 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.709: The first client device generates the aggregate signature according to the message digest and the sum value of the sub-signatures of the first client device and the at least one second client device.

제1 클라이언트 장치가 집계 서명을 생성하는 프로세스는 전술한 작동 205를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.A process by which the first client device generates the aggregate signature may be processed with reference to operation 205 described above, which is not described herein again.

710: 제1 클라이언트 장치는 집계 공개 키 및 집계 서명을 계약 데이터에 부가한다.710: The first client device adds the aggregate public key and the aggregate signature to the contract data.

집계 공개 키 및 집계 서명을 생성한 후, 제1 클라이언트 장치는 집계 공개 키 및 집계 서명을 계약 데이터에 부가하고, 그런 다음, 계약 데이터를 데이터 공유 시스템으로 전송한다. 또한, 데이터 공유 시스템의 각 노드는 집계 공개 키 및 집계 서명에 기초하여 계약 데이터에 대한 서명 검사를 수행할 수 있다. 서명 검사가 성공하면 데이터 공유 시스템은 계약 데이터, 집계 공개 키 및 집계 서명을 저장한다. 당연히, 계약 데이터에 대해 서명 검사가 수행되지 않을 수 있으며 계약 데이터, 집계 공개 키 및 집계 서명이 직접 저장된다. 계약이 실행될 때, 데이터 공개 시스템으로부터 집계 공개 키 및 집계 서명이 획득되고, 집계 공개 키 및 집계 서명에 따라 계약 데이터에 대한 서명 검사가 수행된다.After generating the aggregate public key and aggregate signature, the first client device adds the aggregate public key and aggregate signature to the contract data, and then sends the contract data to the data sharing system. In addition, each node of the data sharing system may perform signature check on contract data based on the aggregate public key and aggregate signature. If the signature check succeeds, the data sharing system stores the contract data, the aggregate public key and the aggregate signature. Naturally, signature checking may not be performed on the contract data, and the contract data, aggregate public key and aggregate signature are stored directly. When the contract is executed, the aggregate public key and the aggregate signature are obtained from the data disclosure system, and a signature check on the contract data is performed according to the aggregate public key and the aggregate signature.

전술한 프로세스에서 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 집계 공개 키의 길이는 스플라이싱을 통해 획득된 공개 키의 길이보다 짧다. 따라서, 집계 서명의 네트워크 전송 동안, 네트워크 전송의 부담이 경감될 수 있고, 집계 공개 키 및 집계 서명의 저장 동안, 저장 공간이 감소될 수 있다.The length of the aggregate signature obtained in the above process is shorter than the length of the signature obtained through splicing, and the length of the aggregate public key is shorter than the length of the public key obtained through splicing. Therefore, during network transmission of the aggregate signature, the burden of network transmission can be reduced, and during storage of the aggregate public key and the aggregate signature, the storage space can be reduced.

집계 서명 및 집계 공개 키를 생성하는 프로세스는 병렬일 수 있다. 즉, 집계 파티의 제1 클라이언트 장치는 복수의 하위 서명에 따라 집계 하위 서명을 생성하고 그런 다음, 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 제1 클라이언트 장치는 복수의 공개 키에 따라 통합 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 프로세스는 직렬일 수 있다. 즉, 제1 계약 파티 클라이언트 장치는 그 하위 서명을 획득하고 그런 다음, 이를 적어도 하나의 제2 계약 파티 클라이언트 장치로 전송한다. 적어도 하나의 제2 계약 파티 클라이언트 장치는 제1 계약 파티 클라이언트 장치의 하위 서명 및 적어도 하나의 제2 계약 파티 클라이언트 장치의 하위 서명을 획득하고, 부분 집계 하위 서명을 생성하고 그런 다음, 이를 제3 계약 파티 클라이언트 장치로 전송한다. 제3 계약 파티 클라이언트 장치는 적어도 하나의 제2 계약 파티 클라이언트 장치에 의해 전송된 부분 집계 하위 서명 및 제3 계약 파티 클라이언트 장치의 하위 서명을 획득하고, 새로운 부분 집계 하위 서명을 생성하고, 이와 같이 계속 진행하여, 그런 다음 이를 제4 계약 파티 클라이언트 장치에 전송하며, 이와 같이 계속 진행하여 마지막 계약 파티 클라이언트 장치가 새로운 부분 집계 하위 서명을 생성하고, 부분 집계 하위 서명을 집계 파티 제1 클라이언트 장치로 전송한다. 집계 파티 클라이언트는 부분 집계 하위 서명 및 집계 파티 클라이언트의 하위 서명에 따라 집계 하위 서명을 생성하고, 그런 다음 생성된 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 이것은 여기에 제한되지 않는다.The process of generating the aggregate signature and aggregate public key may be parallel. That is, the first client device of the aggregation party generates the aggregate sub-signature according to the plurality of sub-signatures, and then generates the aggregate signature according to the aggregate sub-signature and the message digest. Similarly, the first client device generates a unified public key according to the plurality of public keys. Optionally, the process of generating the aggregate signature and aggregate public key may be serial. That is, the first contracting party client device obtains the sub-signature and then sends it to the at least one second contracting party client device. The at least one second contracting party client device obtains a subsignature of the first contracting party client device and a subsignature of the at least one second contracting party client device, generates a partially aggregated subsignature, and then converts the subsignature into the third contract Send to the party client device. the third contracting party client device obtains the partial aggregate sub-signature sent by the at least one second contracting party client device and the sub-signature of the third contracting party client device, generates a new partially aggregated sub-signature, and so on; proceed, and then send it to the fourth contracting party client device, and so on, so that the last contracting party client device generates a new partial aggregate sub-signature, and sends the partial aggregate sub-signature to the aggregation party first client device . The aggregation party client generates an aggregate sub-signature according to the partial aggregate sub-signature and the sub-signature of the aggregate party client, and then generates an aggregate signature according to the generated aggregate sub-signature and message digest. It is not limited here.

본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되며; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명 공개 메시지는 집계 공개 키 및 집계를 사용하여 직접 검사된다 서명 검사의 복잡성을 크게 줄이다. 또한, 지능형 계약 시나리오에서 전술한 서명 생성 방법의 특정 적용이 제공되므로, 서명 생성의 실행 가능성이 개선되고, 지능형 계약 시나리오에서 서명 생성 및 서명 검사의 효율성도 개선된다.In the present application, the aggregate signature is generated using sub-signatures of the plurality of signing parties, and the aggregate public key is generated based on the public keys of the plurality of signing parties; The length of the obtained aggregate signature is shorter than the length of the multi-signature obtained by splicing the plurality of sub-signatures, the length of the aggregate public key is shorter than the length of the multi-public key obtained by splicing the plurality of public keys, and ; Therefore, during network transmission of the aggregate signature and aggregate public key, the burden of network transmission is relieved, the storage space is reduced during storage, and during signature inspection, the signature public message is directly inspected using the aggregate public key and aggregate signature inspection greatly reduce the complexity of In addition, since the specific application of the above-described signature generation method in the intelligent contract scenario is provided, the feasibility of signature generation is improved, and the efficiency of signature generation and signature inspection in the intelligent contract scenario is also improved.

도 9는 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다. 도 9를 참조하면, 장치는 생성 모듈(901) 및 획득 모듈(902)를 포함한다.9 is a schematic structural diagram of an apparatus for generating a signature according to an embodiment of the present disclosure. Referring to FIG. 9 , the apparatus includes a generating module 901 and an acquiring module 902 .

생성 모듈(901)은 서명될 메시지(to-be-signed message) 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하도록 구성되어 있으며, 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득된다.The generating module 901 is configured to generate a message digest according to a to-be-signed message and an eigenvalue of a plurality of signing parties, wherein the eigenvalue of each signing party is a random number of the signing party. obtained through the following calculations.

획득 모듈(902)은 상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하도록 구성되어 있으며, 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득된다.The obtaining module 902 is configured to obtain the public key and sub-signatures of the plurality of signing parties, wherein the sub-signatures of each signing party include the random number of the signing party, the message digest and the private key of the plurality of signing parties. It is obtained through calculation according to

생성 모듈(901)은 상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키(aggregation public key)를 생성하도록 추가로 구성되어 있으며, 상기 집계 공개 키의 길이는 스플라이싱(splicing) 후 상기 복수의 공개 키의 길이보다 짧다.The generating module 901 is further configured to generate an aggregation public key according to the public keys of the plurality of signing parties, wherein the length of the aggregate public key is determined after splicing. shorter than the length of the public key.

생성 모듈(901)은 상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하도록 추가로 구성되어 있다.The generating module 901 is further configured to generate an aggregate signature according to the sum value of the plurality of sub-signatures and the message digest.

임의의 가능한 구현에서, 생성 모듈(901)은 획득 서브모듈(9011) 및 생성 서브모듈(9012)을 포함한다.In any possible implementation, the generating module 901 includes an obtaining submodule 9011 and a generating submodule 9012 .

획득 서브모듈(9011)은 상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하도록 구성되어 있다.The obtaining submodule 9011 is configured to obtain the original values of the plurality of signing parties, the message to-be-signed, and the first values.

생성 서브모듈(9012)은 상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하도록 구성되어 있다.The generating submodule 9012 is configured to generate an aggregate eigenvalue according to the eigenvalues of the plurality of signature parties and the first values.

생성 서브모듈(9012)은 상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성하도록 추가로 구성되어 있다.The generating submodule 9012 is further configured to generate a message digest according to the aggregate eigenvalue, the message to be signed, and a preset one-way hash function.

임의의 가능한 구현에서, 생성 서브모듈(9012)은:In any possible implementation, the generating submodule 9012 includes:

상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하도록 추가로 구성되어 있다.and calculate a product of the plurality of eigenvalues, and generate the aggregate eigenvalue according to the product of the plurality of eigenvalues and the first value.

임의의 가능한 구현에서, 생성 서브모듈(9012)은: 상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하도록 추가로 구성되어 있다.In any possible implementation, the generating submodule 9012 is further configured to: calculate a product of the plurality of public keys, and generate the aggregate public key according to the product of the plurality of public keys and the first value. .

임의의 가능한 구현에서, 생성 모듈(901)은:In any possible implementation, the generating module 901 includes:

상기 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하도록 추가로 구성되어 있다.and generate an aggregate sub-signature according to the plurality of sub-signatures, splicing the aggregate sub-signature and the message digest, and determine a result obtained after splicing as the aggregate signature.

임의의 가능한 구현에서, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 각각의 계정 주소에 대응하는 값 전달 정보이다.In any possible implementation, the plurality of signing parties are a plurality of account addresses provided by the client device, and the message to be signed corresponds to each account address when the method is applied to a client device in a data sharing system. value transfer information.

임의의 가능한 구현에서, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 거래를 완료하는 조건을 제한하는 데 사용된다.In any possible implementation, the message to be signed is contract data, wherein the contract data is used to constrain conditions for completing a transaction when the method is applied to a client device in a data sharing system.

임의의 가능한 구현에서, 복수의 서명 파티 각각은 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 데이터 공유 시스템에서 팔로워 노드이다.In any possible implementation, each of the plurality of signing parties is a follower node in the data sharing system when the method is applied to a client device in the data sharing system.

이에 상응해서, 상기 장치는:Correspondingly, the device comprises:

서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 이후에, 상기 데이터 공유 시스템에서 상기 팔로어 노드에 상기 메시지 요약을 전송하도록 구성되어 있는 전송 모듈(903)a sending module 903, configured to send the message digest to the follower node in the data sharing system, after generating the message digest according to the message to be signed and the eigenvalues of a plurality of signing parties

를 더 포함한다.further includes

획득 모듈(902)은:Acquisition module 902 includes:

각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하도록 추가로 구성되어 있다.and further configured to receive the public key and sub-signature sent by each follower node.

전송 모듈(903)은:The transmission module 903 includes:

상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계 이후에, 상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하도록 추가로 구성되어 있다.after generating the aggregate signature according to the sum of the plurality of sub-signatures and the message digest, send the aggregate public key and the aggregate signature to each follower node.

도 10은 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다. 도 10을 참조하면, 장치는 생성 모듈(1001) 및 획득 모듈(1002)를 포함한다.10 is a schematic structural diagram of an apparatus for generating a signature according to an embodiment of the present disclosure. Referring to FIG. 10 , the apparatus includes a generating module 1001 and an obtaining module 1002 .

생성 모듈(1001)은 난수를 획득하고, 상기 난수에 따라 고윳값을 생성하도록 구성되어 있다.The generating module 1001 is configured to obtain a random number and generate an eigenvalue according to the random number.

획득 모듈(1002)은 서명될 메시지, 개인 키(private key) 및 공개 키를 획득하도록 구성되어 있다.The obtaining module 1002 is configured to obtain a message to be signed, a private key and a public key.

획득 모듈(1002)은 메시지 요약을 생성하도록 구성되어 있으며, 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득된다.The obtaining module 1002 is configured to generate a message digest, wherein the message digest is obtained through calculation by the signature aggregation party according to the to-be-signed message and the value.

생성 모듈(1001)은 상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하도록 구성되어 있다.The generating module 1001 is configured to generate a sub-signature according to the message digest, the random number and the private key.

임의의 가능한 구현에서, 생성 모듈(1001)은:In any possible implementation, the generating module 1001 includes:

제1 값

Figure 112019124124503-pct00094
및 제2 값
Figure 112019124124503-pct00095
를 획득하고 - 상기 제1 값
Figure 112019124124503-pct00096
및 상기 제2 값
Figure 112019124124503-pct00097
는 소수이고,
Figure 112019124124503-pct00098
Figure 112019124124503-pct00099
의 인수이고,
Figure 112019124124503-pct00100
Figure 112019124124503-pct00101
임 - ;first value
Figure 112019124124503-pct00094
and a second value
Figure 112019124124503-pct00095
to obtain - the first value
Figure 112019124124503-pct00096
and the second value
Figure 112019124124503-pct00097
is a prime number,
Figure 112019124124503-pct00098
Is
Figure 112019124124503-pct00099
is the argument of
Figure 112019124124503-pct00100
and
Figure 112019124124503-pct00101
Lim - ;

생성 기준(generation base)

Figure 112019124124503-pct00102
를 획득하고 -
Figure 112019124124503-pct00103
Figure 112019124124503-pct00104
Figure 112019124124503-pct00105
로 정확하게 나누어질 수 있음을 만족함 - ; 및generation base
Figure 112019124124503-pct00102
to obtain -
Figure 112019124124503-pct00103
Is
Figure 112019124124503-pct00104
this
Figure 112019124124503-pct00105
It is satisfied that it can be precisely divided into - ; and

상기 난수를 획득하고 - 상기 난수의 값 범위는

Figure 112019124124503-pct00106
임 - ; 그리고obtain the random number - the range of values of the random number is
Figure 112019124124503-pct00106
Lim - ; and

상기 난수, 상기 생성 기준 및 상기 제1 값에 따라 상기 고윳값을 생성하도록 추가로 구성되어 있다.and generate the eigenvalue according to the random number, the generation criterion, and the first value.

임의의 가능한 구현에서, 상기 장치는:In any possible implementation, the device comprises:

상기 서명 생성 방법이 데이터 공유 시스템에서 팔로워 노드에 적용되는 경우 상기 서명 집계 파티에 상기 하위 서명 및 상기 공개 키를 전송하도록 구성되어 있는 전송 모듈(1003)a sending module 1003, configured to send the sub-signature and the public key to the signature aggregation party when the signature generating method is applied to a follower node in a data sharing system;

을 더 포함한다.further includes

본 개시의 실시예는 전자 장치를 추가로 제공하며, 상기 전자 장치는: 프로세서; 및 컴퓨터 프로그램을 저장하도록 구성된 메모리를 포함하며, 상기 프로세서는 상기 메모리에 저장되어 있는 상기 컴퓨터 프로그램을 실행하여, 다음의 방법 작동: 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ; 상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ; 상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및 상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계를 수행하도록 구성되어 있다.An embodiment of the present disclosure further provides an electronic device, the electronic device comprising: a processor; and a memory configured to store a computer program, wherein the processor executes the computer program stored in the memory to operate the following method: generating a message digest according to a message to be signed and a value of a plurality of signing parties a step of - an eigenvalue of each signing party is obtained through calculation according to the random number of the signing party; obtaining a public key and sub-signature of the plurality of signing parties, wherein the sub-signature of each signing party is obtained through calculation according to the random number of the signing party, the message digest and the private key of the plurality of signing parties; ; generating an aggregate public key according to the public keys of the plurality of signing parties, wherein a length of the aggregate public key is shorter than a length of the plurality of public keys after splicing; and generating an aggregate signature according to the sum of the plurality of sub-signatures and the message digest.

가능한 구현에서, 상기 프로세서는: 상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하고; 상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하며; 그리고 상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 메시지 요약을 생성하도록 구성되어 있다.In a possible implementation, the processor is configured to: obtain an eigenvalue of the plurality of signing parties, the message to be signed and a first value; generate an aggregate eigenvalue according to the eigenvalues of the plurality of signature parties and the first value; and generate a message digest according to the aggregation eigenvalue, the message to be signed, and a preset one-way hash function.

가능한 구현에서, 상기 프로세서는: 상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하도록 구성되어 있다.In a possible implementation, the processor is configured to: calculate a product of the plurality of eigenvalues, and generate the aggregate eigenvalue according to the product of the plurality of eigenvalues and the first value.

가능한 구현에서, 상기 프로세서는: 상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하도록 구성되어 있다.In a possible implementation, the processor is configured to: calculate a product of the plurality of public keys, and generate the aggregate public key according to the product of the plurality of public keys and the first value.

가능한 구현에서, 상기 프로세서는: 상기 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하도록 구성되어 있다.In a possible implementation, the processor is configured to: generate an aggregate sub-signature according to the plurality of sub-signatures, splice the aggregate sub-signature and the message digest, and determine a result obtained after splicing as the aggregate signature. Consists of.

가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 각각의 계정 주소에 대응하는 값 전달 정보이다.In a possible implementation, the electronic device is a client device in a data sharing system, the plurality of signing parties are a plurality of account addresses provided by the client device, and the message to be signed includes value transfer information corresponding to each account address. to be.

가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 거래를 완료하는 조건을 제한하는 데 사용된다.In a possible implementation, the electronic device is a client device in a data sharing system, the message to be signed is contract data, and the contract data is used to constrain conditions for completing a transaction.

가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 리더 노드이고, 상기 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로어 노드이며, 상기 전자 장치는 상기 데이터 공유 시스템에서 상기 메시지 요약을 상기 팔로어 노드로 전송하도록 구성되어 있는 송수신기를 더 포함하며, 상기 송수신기는 각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하도록 추가로 구성되어 있으며, 상기 프로세서는 상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하도록 추가로 구성되어 있다.In a possible implementation, the electronic device is a leader node in the data sharing system, each of the plurality of signing parties is a follower node in the data sharing system, and the electronic device sends the message digest to the follower node in the data sharing system and a transceiver configured to: wherein the transceiver is further configured to receive a public key and a sub-signature sent by each follower node, the processor configured to send the aggregate public key and the aggregate signature to each follower node. It is further configured to transmit to .

일 예에서, 전술한 전자 장치는 도 11에 도시된 단말(1100)로서 제공될 수 있다. 도 11은 본 개시의 일 실시예에 따른 단말(1100)의 구조 블록도이다. 단말(1100)은 개인용 컴퓨터(PC), 스마트 폰, 태블릿 컴퓨터 등일 수 있다. 단말(1100)은 또한 사용자 기기, 휴대용 단말, 다른 이름 등으로 지칭될 수 있다.In one example, the above-described electronic device may be provided as the terminal 1100 illustrated in FIG. 11 . 11 is a structural block diagram of a terminal 1100 according to an embodiment of the present disclosure. The terminal 1100 may be a personal computer (PC), a smart phone, a tablet computer, or the like. The terminal 1100 may also be referred to as a user device, a portable terminal, another name, or the like.

통상적으로, 단말(1100)은 프로세서(1101) 및 메모리(1102)를 포함한다.Typically, the terminal 1100 includes a processor 1101 and a memory 1102 .

프로세서(1101)는 하나 이상의 프로세싱 코어, 예를 들어 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(1101)는 디지털 신호 처리(digital signal processing, DSP), 필드-프로그래머블 게이트 어레이(field-programmable gate away, FPGA) 및 프로그래머블 로직 어레이(programmable logic array, PLA)에서 적어도 하나의 하드웨어 형태로 구현될 수 있다. 프로세서(1101)는 또한 메인 프로세서 및 코프로세서를 포함할 수 있다. 메인 프로세서는 어웨이크 상태에서 데이터를 처리하기 위한 프로세서이며 중앙 처리 장치(CPU)라고도 한다. 코프로세서는 대기 상태에서 데이터를 처리하기 위한 저전력 프로세서이다. 일부 실시예에서, 프로세서(1101)는 그래픽 처리 유닛(Graphics Processing Unit, GPU)와 통합될 수 있으며, GPU는 디스플레이 상에 디스플레이될 필요가 있는 컨텐츠를 렌더링 및 드로잉하는 역할을 한다. 일부 실시예들에서, 프로세서(1101)는 인공 지능(AI) 프로세서를 더 포함할 수 있다. AP 프로세서는 기계 학습과 관련된 컴퓨팅 동작을 처리하도록 구성된다.Processor 1101 may include one or more processing cores, for example, a 4-core processor or an 8-core processor. The processor 1101 may be implemented in the form of at least one hardware in digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). can Processor 1101 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, and is also called a central processing unit (CPU). A coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1101 may be integrated with a graphics processing unit (GPU), which serves to render and draw content that needs to be displayed on the display. In some embodiments, the processor 1101 may further include an artificial intelligence (AI) processor. The AP processor is configured to process computing operations related to machine learning.

메모리(1102)는 유형적(tangible)이고 비 일시적일 수 있는 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 메모리(1102)는 또한 고속 랜덤 액세스 메모리, 및 하나 이상의 자기 디스크 저장 장치 및 플래시 저장 장치와 같은 비휘발성 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(1102) 내의 비 일시적 컴퓨터 판독 가능 저장 매체는 적어도 하나의 명령어를 저장하도록 구성되며, 적어도 하나의 명령어는 본 출원에서 제공된 서명 생성 방법을 구현하기 위해 프로세서(1101)에 의해 실행된다.Memory 1102 may include one or more computer-readable storage media that may be tangible and non-transitory. Memory 1102 may also include high-speed random access memory, and non-volatile memory, such as one or more magnetic disk storage devices and flash storage devices. In some embodiments, a non-transitory computer-readable storage medium in memory 1102 is configured to store at least one instruction, the at least one instruction being transmitted to processor 1101 to implement the signature generation method provided herein. is executed by

일부 실시예들에서, 단말(1100)은 선택적으로 주변 장치 인터페이스(1103) 및 적어도 하나의 주변 장치를 포함한다. 구체적으로, 주변 장치는 무선 주파수 회로(1104), 터치 디스플레이(1105), 카메라(1106), 오디오 회로(1107), 위치 결정 컴포넌트(1108) 및 전원(1109) 중 적어도 하나를 포함한다.In some embodiments, the terminal 1100 optionally includes a peripheral device interface 1103 and at least one peripheral device. Specifically, the peripheral device includes at least one of a radio frequency circuit 1104 , a touch display 1105 , a camera 1106 , an audio circuit 1107 , a positioning component 1108 , and a power source 1109 .

주변 장치 인터페이스(1103)는 입/출력(I/O)에 관련된 적어도 하나의 주변 장치를 프로세서(1101) 및 메모리(1102)에 연결하도록 구성될 수 있다. 일부 실시예에서, 프로세서(1101), 메모리(1102), 주변 장치 인터페이스(1103)는 동일한 칩 또는 회로 보드 상에 통합되고; 일부 다른 실시예에서, 프로세서(1101), 메모리(1102) 및 주변 장치 인터페이스(1103) 중 임의의 하나 또는 둘은 별도의 칩 또는 회로 보드 상에 구현될 수 있으며, 이는 본 실시예에 제한되지 않는다.The peripheral device interface 1103 may be configured to connect at least one peripheral device related to input/output (I/O) to the processor 1101 and the memory 1102 . In some embodiments, the processor 1101 , memory 1102 , and peripheral interface 1103 are integrated on the same chip or circuit board; In some other embodiments, any one or two of the processor 1101 , the memory 1102 , and the peripheral interface 1103 may be implemented on separate chips or circuit boards, which is not limited to this embodiment. .

무선 주파수 회로(1104)는 전자기 신호로도 지칭되는 무선 주파수(RF) 신호를 수신 및 송신하도록 구성된다. RF 회로(1104)는 전자기 신호를 통해 통신 네트워크 및 다른 통신 장치와 통신한다. RF 회로(1104)는 전송을 위해 전기 신호를 전자기 신호로 변환하거나, 수신된 전자기 신호를 전기 신호로 변환한다. 선택적으로, RF 회로(1104)는 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 발진기, 디지털 신호 프로세서, 코덱 칩셋, 가입자 식별 모듈 카드 등을 포함한다. RF 회로(1104)는 적어도 하나의 무선 통신 프로토콜을 통해 다른 단말과 통신할 수 있다. 무선 통신 프로토콜은 월드 와이드 웹, 수도권 네트워크, 인트라넷, 세대의 이동 통신 네트워크(2G, 3G, 4G 및 5G), 무선 근거리 네트워크 및/또는 무선 충실도(WiFi) 네트워크를 포함하지만 이에 제한되지는 않는다. 일부 실시예들에서, 무선 주파수 회로(1104)는 근거리 통신(NFC) 관련 회로를 더 포함할 수 있으며, 이것은 본 출원에서 제한되지 않는다.The radio frequency circuitry 1104 is configured to receive and transmit radio frequency (RF) signals, also referred to as electromagnetic signals. The RF circuitry 1104 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1104 converts an electrical signal to an electromagnetic signal for transmission, or converts a received electromagnetic signal to an electrical signal. Optionally, RF circuitry 1104 includes an antenna system, RF transceiver, one or more amplifiers, tuners, oscillators, digital signal processors, codec chipsets, subscriber identity module cards, and the like. The RF circuit 1104 may communicate with another terminal through at least one wireless communication protocol. Wireless communication protocols include, but are not limited to, the World Wide Web, metropolitan networks, intranets, generational mobile communication networks (2G, 3G, 4G and 5G), wireless local area networks, and/or wireless fidelity (WiFi) networks. In some embodiments, radio frequency circuitry 1104 may further include near field communication (NFC) related circuitry, which is not limited in this application.

터치 디스플레이(1105)는 사용자 인터페이스(UI)를 표시하도록 구성된다. UI는 그래픽, 텍스트, 아이콘, 비디오 및 이들의 임의의 조합을 포함할 수 있다. 터치 디스플레이(1105)는 또한 터치 디스플레이(1105)의 표면 상에서 또는 그 위에서 터치 신호를 수집하는 능력을 갖는다. 터치 신호는 처리를 위한 제어 신호로서 프로세서(1101)에 입력될 수 있다. 터치 디스플레이(1105)는 소프트 버튼 및/또는 소프트 키보드로도 지칭되는 가상 버튼 및/또는 가상 키보드를 제공하도록 구성된다. 일부 실시예들에서, 단말(1100)의 전면 패널 상에 배치된 하나의 터치 디스플레이(1105)가 있을 수 있고; 일부 다른 실시예들에서, 단말(1100)의 상이한 표면들 상에 또는 접힌 디자인으로 각각 배치된 적어도 2개의 터치 디스플레이(1105)가 있을 수 있다. 또 다른 실시예에서, 터치 디스플레이(1105)는 단말(1100)의 곡면 또는 접힌 표면에 배치된 플렉서블 디스플레이일 수 있다. 터치 디스플레이(1105)조차도 직사각형이 아닌 불규칙 패턴, 즉 프로파일링 스크린으로 설정될 수 있다. 터치 디스플레이 스크린(1105)조차도 직사각형이 아닌 불규칙 패턴, 즉 프로파일 스크린으로 설정될 수 있다. 터치 디스플레이(1105)는 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)와 같은 재료를 사용하여 제조될 수 있다.The touch display 1105 is configured to display a user interface (UI). The UI may include graphics, text, icons, video, and any combination thereof. Touch display 1105 also has the ability to collect touch signals on or on the surface of touch display 1105 . The touch signal may be input to the processor 1101 as a control signal for processing. Touch display 1105 is configured to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards. In some embodiments, there may be one touch display 1105 disposed on the front panel of the terminal 1100 ; In some other embodiments, there may be at least two touch displays 1105 each disposed on different surfaces of the terminal 1100 or in a folded design. In another embodiment, the touch display 1105 may be a flexible display disposed on a curved or folded surface of the terminal 1100 . Even the touch display 1105 can be set to a non-rectangular irregular pattern, ie, a profiling screen. Even the touch display screen 1105 may be set to a non-rectangular irregular pattern, ie, a profile screen. The touch display 1105 may be manufactured using a material such as a liquid crystal display (LCD) or an organic light emitting diode (OLED).

카메라 어셈블리(1106)는 이미지 또는 비디오를 수집하도록 구성된다. 선택적으로, 카메라 어셈블리(1106)는 전면 카메라 및 후면 카메라를 포함한다. 일반적으로 전면 카메라는 화상 통화 또는 셀카를 구현하도록 구성되고 후면 카메라는 사진 또는 비디오 촬영을 구현하도록 구성된다. 일부 실시예에서, 메인 카메라, 피사계 심도 카메라 및 광각 카메라 중 어느 하나인 적어도 2개의 후방 카메라가 존재하여, 메인 카메라와 피사계 심도 카메라가 조합되어 구현된다. 보케 기능(bokhe function), 메인 카메라 및 광각 카메라가 결합되어 파노라마 촬영 및 가상 현실(VR) 촬영 기능을 구현한다. 일부 실시예에서, 카메라 어셈블리(1106)는 또한 플래시를 포함할 수 있다. 플래시는 단색 온도 플래시 또는 2색 온도 플래시일 수 있다. 2색 온도 플래시는 웜 라이트 플래시와 콜드 라이트 플래시의 조합이며 다른 색 온도에서 빛을 보정하는 데 사용할 수 있다.The camera assembly 1106 is configured to collect images or video. Optionally, camera assembly 1106 includes a front camera and a rear camera. Typically, the front camera is configured to implement video calls or selfies, and the rear camera is configured to implement photo or video taking. In some embodiments, there are at least two rear cameras, one of a main camera, a depth-of-field camera, and a wide-angle camera, so that the main camera and the depth-of-field camera are implemented in combination. A bokeh function, a main camera and a wide-angle camera are combined to implement panoramic shooting and virtual reality (VR) shooting functions. In some embodiments, camera assembly 1106 may also include a flash. The flash may be a monochromatic temperature flash or a two-color temperature flash. A two-color temperature flash is a combination of a warm light flash and a cold light flash and can be used to compensate for light at different color temperatures.

오디오 회로(1107)는 사용자와 단말(1100) 사이에 오디오 인터페이스를 제공하도록 구성된다. 오디오 회로(1107)는 마이크로폰 및 스피커를 포함할 수 있다. 마이크로폰은: 사용자 및 환경의 음파를 수집하고, 음파를 처리를 위해 프로세서(1101)에 입력하기 위해 전기 신호로, 또는 음성 통신을 위해 RF 회로(1104)로 변환하도록 구성된다. 스테레오 수집 또는 노이즈 감소를 위해, 단말(1100)의 서로 다른 부분에 복수의 마이크로폰이 각각 배치될 수 있다. 마이크로폰은 또한 어레이 마이크로폰 또는 무지향성 마이크로폰일 수 있다. 스피커는 프로세서(1101) 또는 RF 회로(1104)로부터의 전기 신호를 음파로 변환하도록 구성된다. 스피커는 종래의 필름 스피커 또는 압전 세라믹 스피커일 수 있다. 스피커가 압전 세라믹 스피커인 경우, 전기 신호를 사람의 가청 음파로 변환할 수 있을 뿐만 아니라 전기 신호를 사람이 들을 수 없는 음파로 변환할 수 있다. 일부 실시예들에서, 오디오 회로(1107)는 또한 헤드폰 잭을 포함할 수 있다.The audio circuit 1107 is configured to provide an audio interface between the user and the terminal 1100 . Audio circuitry 1107 may include a microphone and a speaker. The microphone is configured to: collect sound waves of the user and environment, and convert the sound waves into electrical signals for input to the processor 1101 for processing, or into RF circuitry 1104 for voice communication. For stereo collection or noise reduction, a plurality of microphones may be respectively disposed in different parts of the terminal 1100 . The microphone may also be an array microphone or an omni-directional microphone. The speaker is configured to convert an electrical signal from the processor 1101 or RF circuit 1104 into sound waves. The speaker may be a conventional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert electrical signals into human audible sound waves, but also convert electrical signals into sound waves that humans cannot hear. In some embodiments, audio circuitry 1107 may also include a headphone jack.

위치 결정 컴포넌트(1108)는 내비게이션 또는 위치 기반 서비스(LBS)를 구현하기 위해 단말(1100)의 현재 지리적 위치를 찾도록 구성된다. 위치 결정 구성 요소(1108)는 미국 GPS(Global Positioning System), 중국 베이도우 시스템 또는 러시아 갈릴레오 시스템에 기초한 위치 결정 구성 요소일 수 있다.The location determining component 1108 is configured to find a current geographic location of the terminal 1100 to implement a navigation or location based service (LBS). The positioning component 1108 may be a positioning component based on the US Global Positioning System (GPS), the Chinese Beidou System, or the Russian Galileo System.

전원(1109)은 단말(1100)의 다양한 구성 요소에 전원을 공급하도록 구성된다. 전원(1109)은 교류, 직류, 일회용 배터리 또는 재충전 가능 배터리일 수 있다. 전원(1109)이 충전식 배터리를 포함하는 경우, 충전식 배터리는 유선 충전식 배터리 또는 무선 충전식 배터리일 수 있다. 유선 충전식 배터리는 유선으로 충전되는 배터리이고, 무선 충전식 배터리는 무선 코일로 충전되는 배터리이다. 충전식 배터리는 급속 충전 기술을 지원하는 데에도 사용할 수 있다.The power source 1109 is configured to supply power to various components of the terminal 1100 . The power source 1109 may be alternating current, direct current, a disposable battery, or a rechargeable battery. When the power source 1109 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged by a wire, and a wireless rechargeable battery is a battery that is charged with a wireless coil. Rechargeable batteries can also be used to support fast charging technology.

일부 실시예에서, 단말(1100)은 하나 이상의 센서(1110)를 더 포함한다. 하나 이상의 센서(1110)는 가속 센서(1111), 자이로스코프 센서(1112), 압력 센서(1113), 지문 센서(1114), 광학 센서(1115) 및 근접 센서(1116)를 포함하지만 이에 제한되지는 않는다.In some embodiments, the terminal 1100 further includes one or more sensors 1110 . The one or more sensors 1110 include, but are not limited to, an acceleration sensor 1111 , a gyroscope sensor 1112 , a pressure sensor 1113 , a fingerprint sensor 1114 , an optical sensor 1115 , and a proximity sensor 1116 . does not

가속도 센서(1111)는 단말(1100)에 의해 설정된 좌표계의 3개의 좌표축 상의 가속도의 크기를 검출할 수 있다. 예를 들어, 가속도 센서(1111)는 3개의 좌표축 상의 중력 가속도의 성분을 검출하도록 구성될 수 있다. 프로세서(1101)는 가속도 센서(1111)에 의해 수집된 중력 가속도 신호에 따라 사용자 인터페이스를 가로 또는 세로로 표시하도록 터치 디스플레이(1105)를 제어할 수 있다. 가속도 센서(1111)는 게임의 데이터 또는 사용자의 움직임 데이터를 수집하도록 구성될 수도 있다.The acceleration sensor 1111 may detect the magnitude of acceleration on three coordinate axes of the coordinate system set by the terminal 1100 . For example, the acceleration sensor 1111 may be configured to detect components of gravitational acceleration on three coordinate axes. The processor 1101 may control the touch display 1105 to display the user interface horizontally or vertically according to the gravitational acceleration signal collected by the acceleration sensor 1111 . The acceleration sensor 1111 may be configured to collect game data or user movement data.

자이로스코프 센서(1112)는 단말(1100)의 신체 방향 및 회전 각도를 검출할 수 있고, 자이로스코프 센서(1112)는 가속도 센서(1111)와 협력하여 단말(1100)에 대한 사용자의 3D 움직임을 수집할 수 있다. 자이로스코프 센서(1112)에 의해 수집된 프로세서(1101)는 (사용자의 틸팅 동작에 따라 UI를 변경하는 것과 같은) 모션 센싱, 촬영 시의 이미지 안정화, 게임 제어 및 관성 항법과 같은 기능을 구현할 수 있다.The gyroscope sensor 1112 may detect the body orientation and rotation angle of the terminal 1100 , and the gyroscope sensor 1112 cooperates with the acceleration sensor 1111 to collect 3D movement of the user with respect to the terminal 1100 . can do. The processor 1101 collected by the gyroscope sensor 1112 can implement functions such as motion sensing (such as changing the UI according to the user's tilting motion), image stabilization when shooting, game control, and inertial navigation. .

압력 센서(1113)는 단말(1100)의 측면 베젤 및/또는 터치 디스플레이(1105)의 하위 레이어에 배치될 수 있다. 압력 센서(1113)가 단말(1100)의 측면 베젤에 배치될 때, 단말(1100)에 대한 사용자의 유지 신호(holding signal)가 감지될 수 있으며, 유지 신호에 따라 왼손 및 오른손 인식 또는 단축키 동작이 수행될 수 있다. 압력 센서(1113)가 터치 디스플레이(1105)의 하위 레이어에 배치될 때, UI 인터페이스에 대한 조작성 제어는 터치 디스플레이(1105)에 대한 사용자의 압력 조작에 따라 제어될 수 있다. 조작성 제어는 버튼 제어, 스크롤 막대 컨트롤, 아이콘 컨트롤 및 메뉴 컨트롤 중 적어도 하나를 포함한다.The pressure sensor 1113 may be disposed on a side bezel of the terminal 1100 and/or a lower layer of the touch display 1105 . When the pressure sensor 1113 is disposed on the side bezel of the terminal 1100, a user's holding signal for the terminal 1100 may be sensed, and the left and right hand recognition or shortcut operation may be performed according to the holding signal. can be performed. When the pressure sensor 1113 is disposed in a lower layer of the touch display 1105 , operability control for the UI interface may be controlled according to the user's pressure operation on the touch display 1105 . The operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.

지문 센서(1114)는 수집된 지문에 따라 사용자의 신원을 식별하기 위해 사용자의 지문을 수집하도록 구성된다. 사용자의 신원이 신뢰할 수 있는 신원임을 식별하면, 프로세서(1101)는 사용자에게 화면 잠금 해제, 암호화된 정보 보기, 소프트웨어 다운로드, 지불 및 변경 설정 등을 포함하는 관련 민감한 동작을 수행할 수 있는 권한을 부여한다. 지문 센서(1114)는 단말(1100)의 전면, 후면 또는 측면에 배치될 수 있다. 단말(1100)에 물리 버튼 또는 제조사 로고가 배치될 때, 지문 센서(1114)는 물리 버튼 또는 제조업체 로고와 통합될 수 있다.The fingerprint sensor 1114 is configured to collect the user's fingerprint to identify the user's identity according to the collected fingerprint. Upon identifying the user's identity as a trusted identity, the processor 1101 authorizes the user to perform relevant sensitive actions including unlocking the screen, viewing encrypted information, downloading software, setting up payments and changes, and the like. do. The fingerprint sensor 1114 may be disposed on the front, back, or side of the terminal 1100 . When a physical button or a manufacturer's logo is disposed on the terminal 1100, the fingerprint sensor 1114 may be integrated with the physical button or a manufacturer's logo.

광학 센서(1115)는 주변 광 강도를 수집하도록 구성된다. 일 실시예에서, 프로세서(1101)는 광학 센서(1115)에 의해 수집된 주변 광 강도에 따라 터치 디스플레이(1105)의 디스플레이 밝기를 제어할 수 있다. 구체적으로, 주변 광 강도가 비교적 높을 때, 터치 디스플레이(1105)의 디스플레이 밝기가 상승되고; 주변 광 강도가 비교적 낮으면, 터치 디스플레이(1105)의 디스플레이 밝기가 낮아진다. 다른 실시예에서, 프로세서(1101)는 또한 광 센서(1115)에 의해 수집된 주변 광 강도에 따라 카메라 어셈블리(1106)의 촬영 파라미터를 동적으로 조정할 수 있다.Optical sensor 1115 is configured to collect ambient light intensity. In one embodiment, the processor 1101 may control the display brightness of the touch display 1105 according to the ambient light intensity collected by the optical sensor 1115 . Specifically, when the ambient light intensity is relatively high, the display brightness of the touch display 1105 is raised; When the ambient light intensity is relatively low, the display brightness of the touch display 1105 is lowered. In another embodiment, the processor 1101 may also dynamically adjust the imaging parameters of the camera assembly 1106 according to the ambient light intensity collected by the light sensor 1115 .

거리 센서라고도 하는 근접 센서(1116)는 보통 단말(1100)의 전면에 배치된다. 근접 센서(1116)는 사용자와 단말(1100)의 전면 사이의 거리를 수집하도록 구성된다. 실시예에서, 근접 센서(1116)가 사용자와 단말(1100)의 전면 사이의 거리가 점차 감소하고 있음을 검출하면, 프로세서(1101)는 터치 스크린(1105)을 제어하여 브라이트 스크린 상태에서 블랙아웃 스크린 상태로 전환하고; 근접 센서(1116)가 사용자와 단말(1100)의 전면 사이의 거리가 점차 증가하고 있음을 검출하면, 프로세서(1101)는 블랙아웃 스크린 상태에서 브라이트 스크린 상태로 전환하도록 터치 디스플레이(1105)를 제어한다.The proximity sensor 1116 , also called a distance sensor, is usually disposed on the front side of the terminal 1100 . The proximity sensor 1116 is configured to collect a distance between the user and the front surface of the terminal 1100 . In an embodiment, when the proximity sensor 1116 detects that the distance between the user and the front surface of the terminal 1100 is gradually decreasing, the processor 1101 controls the touch screen 1105 to display a blackout screen in a bright screen state. transition to a state; When the proximity sensor 1116 detects that the distance between the user and the front surface of the terminal 1100 is gradually increasing, the processor 1101 controls the touch display 1105 to switch from the blackout screen state to the bright screen state .

당업자는 도 11에 도시된 구조가 단말(1100)에 대한 제한을 구성하지 않으며, 단말은 도면에 도시된 것보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있거나, 일부 구성 요소가 결합되거나, 상이한 구성 요소 배치가 사용될 수 있다는 것을 이해할 수 있을 것이다.A person skilled in the art will know that the structure shown in FIG. 11 does not constitute a limitation for the terminal 1100, and the terminal may include more or fewer components than those shown in the figure, or some components may be It will be appreciated that combined or different component arrangements may be used.

예시적 실시예에서, 적어도 하나의 명령, 적어도 하나의 프로그램 및 코드 세트 또는 명령 세트를 저장하는 컴퓨터 판독 가능 저장 매체가 더 제공되며, 적어도 하나의 명령은 적어도 하나의 프로그램, 및 코드 세트 또는 명령 세트는 전술한 실시예에서 제공되는 서명 생성 방법을 구현하기 위해 프로세서에 의해 로드 및 실행된다. 예를 들어, 컴퓨터 판독 가능 저장 매체는 ROM, 랜덤 액세스 메모리(RAM), CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 장치 등일 수 있다.In an exemplary embodiment, there is further provided a computer-readable storage medium storing at least one instruction, at least one program and a code set or set of instructions, wherein the at least one instruction comprises at least one program, and a code set or set of instructions. is loaded and executed by the processor to implement the signature generation method provided in the above-described embodiment. For example, the computer-readable storage medium may be a ROM, random access memory (RAM), a CD-ROM, magnetic tape, a floppy disk, an optical data storage device, or the like.

일 예에서, 전술한 전자 장치는 도 12에 도시된 서버(1200)로서 제공될 수 있다. 도 12는 본 개시의 일 실시예에 따른 서버의 구조적 블록도이다. 예를 들어, 서버(1200)는 노드로 제공될 수 있다. 도 12를 참조하면, 서버(1200)는 프로세싱 컴포넌트(1222)를 포함하고, 서버(1200)는 하나 이상의 프로세서, 및 메모리(132)로 표현되는 메모리 자원을 더 포함한다. 메모리 자원은 프로세싱 컴포넌트(1222)에 의해 실행될 수 있는 명령을 저장하기 위해 사용된다. 예를 들어 응용 프로그램이다. 메모리(1232)에 저장된 애플리케이션 프로그램은 각각이 일련의 명령에 대응하는 하나 이상의 모듈을 포함할 수 있다. 또한, 프로세싱 컴포넌트(1222)는 도 2, 도 4 및 도 7에 도시된 실시예들에서 임의의 서명 생성 방법에서 서버 측의 방법 동작들을 수행하기 위해 명령을 실행하도록 구성된다.In one example, the above-described electronic device may be provided as the server 1200 illustrated in FIG. 12 . 12 is a structural block diagram of a server according to an embodiment of the present disclosure. For example, the server 1200 may be provided as a node. 12 , server 1200 includes processing component 1222 , and server 1200 further includes one or more processors, and memory resources represented by memory 132 . Memory resources are used to store instructions that can be executed by processing component 1222 . An example is the application. The application programs stored in memory 1232 may include one or more modules, each module corresponding to a series of instructions. Further, processing component 1222 is configured to execute an instruction to perform server-side method operations in any signature generation method in the embodiments shown in FIGS. 2 , 4 and 7 .

서버(1200)는 서버(1200)의 전원 공급 관리를 실행하도록 구성된 전원 공급 장치 컴포넌트(1226), 서버(1200)를 네트워크에 연결하도록 구성된 유선 또는 무선 네트워크 인터페이스(1250) 및 입/출력(I/O) 인터페이스를 더 포함할 수 있다. 서버(1200)는 메모리(1232)에 저장된 운영 체제, 예를 들어 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, 또는 FreeBSDTM를 작동시킬 수 있다.The server 1200 includes a power supply component 1226 configured to perform power supply management of the server 1200 , a wired or wireless network interface 1250 configured to connect the server 1200 to a network, and input/output (I/O) O) may further include an interface. The server 1200 may operate an operating system stored in the memory 1232 , for example, Windows Server TM , Mac OS X TM , Unix TM , Linux TM , or FreeBSD TM .

예시적인 실시예에서, 컴퓨터 판독 가능 저장 매체가 더 제공되며, 상기 저장 매체는 적어도 하나의 명령을 저장하며, 상기 적어도 하나의 명령은 전술한 실시예에서 제공되는 서명 생성 방법을 구현하기 위해 프로세서에 의해 로드 및 실행된다. 예를 들어, 컴퓨터 판독 가능 저장 매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 장치 등일 수 있다.In an exemplary embodiment, there is further provided a computer-readable storage medium, wherein the storage medium stores at least one instruction, the at least one instruction being transmitted to a processor to implement the method for generating a signature provided in the above-described embodiment. loaded and executed by For example, the computer-readable storage medium may be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, or the like.

본 명세서를 고려하고 본 개시를 실시한 후, 당업자는 본 개시의 다른 구현을 쉽게 생각할 수 있을 것이다. 본 출원은 본 개시의 임의의 변형, 사용 또는 적응적 변경을 포함하도록 의도된다. 이러한 변형, 사용 또는 적응적 변경은 본 개시의 일반적인 원리를 따르고, 본 개시에서 개시되지 않은 일반적인 지식 또는 일반적인 기술적 수단을 포함한다. 본 명세서 및 실시예는 단지 예시적인 것으로 간주되며, 본 개시의 실제 범위 및 사상은 다음의 청구 범위에서 지적된다.Other implementations of the present disclosure will occur to those skilled in the art after consideration of this specification and practice of the present disclosure. This application is intended to cover any modifications, uses or adaptations of this disclosure. Such modifications, uses or adaptive changes follow the general principles of the present disclosure, and include general knowledge or general technical means not disclosed in the present disclosure. The specification and examples are to be regarded as illustrative only, the true scope and spirit of the disclosure being pointed out in the claims that follow.

본 출원은 전술되고 첨부 도면에 도시된 정확한 구조로 제한되지 않으며, 본 개시의 범위를 벗어나지 않고 다양한 수정 및 변경이 이루어질 수 있음을 이해해야 한다. 본 개시의 범위는 첨부된 청구 범위에 의해서만 제한된다.It is to be understood that the present application is not limited to the precise structure described above and shown in the accompanying drawings, and that various modifications and changes may be made thereto without departing from the scope of the present disclosure. The scope of the present disclosure is limited only by the appended claims.

Claims (20)

전자 장치에 의해 수행되는 서명 생성 방법으로서,
서명될 메시지(to-be-signed message) 및 복수의 서명 파티(signature party)의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 개인 키(private key), 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키(aggregation public key)를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱(splicing) 후 복수의 공개 키의 길이보다 짧음 - ; 및
복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계
를 포함하고,
상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계는,
상기 복수의 하위 서명의 합산 값에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하는 단계
를 포함하는,
서명 생성 방법.
A method of generating a signature performed by an electronic device, the method comprising:
Generating a message digest according to a to-be-signed message and an eigenvalue of a plurality of signature parties - The eigenvalue of each signing party is calculated according to the random number of the signing party Acquired - ;
obtaining a private key, a public key and a sub-signature of the plurality of signing parties, wherein the sub-signature of each signing party is calculated according to the random number of the signing party, the message digest and the private key of the signing party Acquired through - ;
generating an aggregation public key according to the public keys of the plurality of signing parties, the length of the aggregate public key being shorter than the length of the plurality of public keys after splicing; and
generating an aggregate signature according to the sum of the plurality of sub-signatures and the message digest;
including,
generating an aggregate signature according to the sum value of the plurality of sub-signatures and the message summary;
generating an aggregate sub-signature according to the sum of the plurality of sub-signatures, splicing the aggregate sub-signature and the message digest, and determining a result obtained after splicing as the aggregate signature;
containing,
How to create a signature.
제1항에 있어서,
상기 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계는,
상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하는 단계;
상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하는 단계; 및
상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성하는 단계
를 포함하는, 서명 생성 방법.
According to claim 1,
generating a message digest according to the message to be signed and the eigenvalues of a plurality of signing parties;
obtaining an eigenvalue of the plurality of signing parties, the message to be signed, and a first value;
generating an aggregate eigenvalue according to the eigenvalues of the plurality of signature parties and the first value; and
generating a message digest according to the aggregate eigenvalue, the message to be signed, and a preset one-way hash function;
A method of generating a signature, comprising:
제2항에 있어서,
상기 복수의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하는 단계는,
상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하는 단계
를 포함하는, 서명 생성 방법.
3. The method of claim 2,
The step of generating an aggregate eigenvalue according to the plurality of eigenvalues and the first value comprises:
calculating the product of the plurality of eigenvalues, and generating the aggregate eigenvalue according to the product of the plurality of eigenvalues and the first value;
A method of generating a signature, comprising:
제2항에 있어서,
상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계는,
상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하는 단계
를 포함하는, 서명 생성 방법.
3. The method of claim 2,
The step of generating an aggregate public key according to the public keys of the plurality of signing parties includes:
calculating a product of the plurality of public keys, and generating the aggregate public key according to the product of the plurality of public keys and the first value;
A method of generating a signature, comprising:
삭제delete 제1항에 있어서,
상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 각각의 계정 주소에 대응하는 값 전달 정보인, 서명 생성 방법.
According to claim 1,
wherein the electronic device is a client device in a data sharing system, the plurality of signing parties are a plurality of account addresses provided by the client device, and the message to be signed is value transfer information corresponding to each account address. Way.
제1항에 있어서,
상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 거래를 완료하는 조건을 제한하는 데 사용되는, 서명 생성 방법.
According to claim 1,
wherein the electronic device is a client device in a data sharing system, the message to be signed is contract data, and the contract data is used to limit conditions for completing a transaction.
제1항에 있어서,
상기 전자 장치는 데이터 공유 시스템에서 리더 노드(leader node)이고, 상기 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로어 노드(follower node)이고,
상기 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 이후에, 상기 서명 생성 방법은:
상기 데이터 공유 시스템에서 상기 팔로어 노드에 상기 메시지 요약을 전송하는 단계
를 더 포함하며,
상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계는,
각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하는 단계
를 포함하고,
상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계 이후에, 상기 서명 생성 방법은,
상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하는 단계
를 더 포함하는 서명 생성 방법.
According to claim 1,
The electronic device is a leader node in the data sharing system, and each of the plurality of signature parties is a follower node in the data sharing system,
After generating the message digest according to the to-be-signed message and the eigenvalues of a plurality of signing parties, the signature generating method comprises:
sending the message digest to the follower node in the data sharing system
further comprising,
The step of obtaining the public keys and sub-signatures of the plurality of signing parties includes:
receiving the public key and sub-signature sent by each follower node;
including,
After generating an aggregate signature according to the sum of the plurality of sub-signatures and the message digest, the signature generating method comprises:
sending the aggregate public key and the aggregate signature to each follower node;
A signature generation method further comprising a.
서명 생성 방법으로서,
각 서명 파티의 난수를 획득하고, 상기 난수에 따라 각 서명 파티의 고윳값을 생성하는 단계;
서명될 메시지, 각 서명 파티의 개인 키(private key) 및 공개 키를 획득하는 단계;
메시지 요약을 생성하는 단계 - 상기 메시지 요약은 상기 서명될 메시지 및 모든 서명 파티의 고윳값에 따라 서명 집계 파티에 의한 계산을 통해 획득됨 - ;
상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계; 및
서명 파티가 복수일 경우, 복수의 하위 서명의 합산 값에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 집계 서명으로서 결정하는 단계
를 포함하는 서명 생성 방법.
A method for generating a signature comprising:
obtaining a random number of each signature party, and generating an eigenvalue of each signature party according to the random number;
obtaining a message to be signed, a private key and a public key of each signing party;
generating a message digest, wherein the message digest is obtained through calculation by a signing aggregation party according to the to-be-signed message and an eigenvalue of all signing parties;
generating a sub-signature according to the message digest, the random number and the private key; and
When there are a plurality of signing parties, generating an aggregate sub-signature according to the sum of the plurality of sub-signatures, splicing the aggregate sub-signature and the message digest, and determining a result obtained after splicing as an aggregate signature. step
A method of generating a signature, including
제9항에 있어서,
상기 난수를 획득하고, 상기 난수에 따라 고윳값을 생성하는 단계는,
제1 값
Figure 112019124318508-pct00132
및 제2 값
Figure 112019124318508-pct00133
를 획득하는 단계 - 상기 제1 값
Figure 112019124318508-pct00134
및 상기 제2 값
Figure 112019124318508-pct00135
는 소수이고,
Figure 112019124318508-pct00136
Figure 112019124318508-pct00137
의 인수이고,
Figure 112019124318508-pct00138
Figure 112019124318508-pct00139
임 - ;
생성 기준(generation base)
Figure 112019124318508-pct00140
를 획득하는 단계 -
Figure 112019124318508-pct00141
Figure 112019124318508-pct00142
Figure 112019124318508-pct00143
로 정확하게 나누어질 수 있음을 만족함 - ; 및
상기 난수를 획득하는 단계 - 상기 난수의 값 범위는
Figure 112019124318508-pct00144
임 - ; 및
상기 난수, 상기 생성 기준 및 상기 제1 값에 따라 상기 고윳값을 생성하는 단계
를 포함하는, 서명 생성 방법.
10. The method of claim 9,
Obtaining the random number and generating an eigenvalue according to the random number comprises:
first value
Figure 112019124318508-pct00132
and a second value
Figure 112019124318508-pct00133
obtaining - the first value
Figure 112019124318508-pct00134
and the second value
Figure 112019124318508-pct00135
is a prime number,
Figure 112019124318508-pct00136
Is
Figure 112019124318508-pct00137
is the argument of
Figure 112019124318508-pct00138
and
Figure 112019124318508-pct00139
Lim - ;
generation base
Figure 112019124318508-pct00140
Steps to obtain -
Figure 112019124318508-pct00141
Is
Figure 112019124318508-pct00142
this
Figure 112019124318508-pct00143
It is satisfied that it can be precisely divided into - ; and
obtaining the random number - the value range of the random number is
Figure 112019124318508-pct00144
Lim - ; and
generating the eigenvalue according to the random number, the generation criterion, and the first value;
A method of generating a signature, comprising:
제9항에 있어서,
상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계 이후에, 상기 서명 생성 방법은,
상기 서명 생성 방법이 데이터 공유 시스템에서 팔로워 노드에 적용되는 경우 상기 서명 집계 파티에 상기 하위 서명 및 상기 공개 키를 전송하는 단계
를 더 포함하는 서명 생성 방법.
10. The method of claim 9,
After generating a sub-signature according to the message digest, the random number and the private key, the signature generating method comprises:
transmitting the sub-signature and the public key to the signature aggregation party when the signature generation method is applied to a follower node in a data sharing system;
A signature generation method further comprising a.
전자 장치로서,
프로세서; 및
컴퓨터 프로그램을 저장하도록 구성된 메모리
를 포함하며,
상기 프로세서는 상기 메모리에 저장되어 있는 상기 컴퓨터 프로그램을 실행하여, 제1항 내지 제4항, 제6항 내지 제11항 중 어느 한 항에 따른 방법의 작동을 수행하도록 구성되어 있는, 전자 장치.
An electronic device comprising:
processor; and
memory configured to store computer programs
includes,
The electronic device, wherein the processor is configured to execute the computer program stored in the memory to perform the operation of the method according to any one of claims 1 to 4, 6 to 11.
컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능형 저장 매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행될 때, 제1항 내지 제4항, 제6항 내지 제11항 중 어느 한 항에 따른 방법의 작동을 수행하도록 구성되어 있는, 컴퓨터 판독 가능형 저장 매체.
A computer-readable storage medium storing a computer program, comprising:
The computer program, when executed by a processor, is configured to perform the operation of the method according to any one of claims 1 to 4, 6 to 11.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020197035599A 2017-11-10 2018-10-25 Signature generation method, electronic device and storage medium KR102350462B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711106750.7A CN107968708B (en) 2017-11-10 2017-11-10 Method, device, terminal and server for generating signature
CN201711106750.7 2017-11-10
PCT/CN2018/111928 WO2019091289A1 (en) 2017-11-10 2018-10-25 Method for generating signature, electronic device, and storage medium

Publications (2)

Publication Number Publication Date
KR20200003144A KR20200003144A (en) 2020-01-08
KR102350462B1 true KR102350462B1 (en) 2022-01-11

Family

ID=62000078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035599A KR102350462B1 (en) 2017-11-10 2018-10-25 Signature generation method, electronic device and storage medium

Country Status (6)

Country Link
US (1) US11128450B2 (en)
EP (1) EP3611872A4 (en)
JP (1) JP6966572B2 (en)
KR (1) KR102350462B1 (en)
CN (2) CN107968708B (en)
WO (1) WO2019091289A1 (en)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107968708B (en) * 2017-11-10 2020-01-17 财付通支付科技有限公司 Method, device, terminal and server for generating signature
CN108650097B (en) * 2018-04-28 2021-03-09 上海扈民区块链科技有限公司 Efficient digital signature aggregation method
US11769156B2 (en) * 2018-05-15 2023-09-26 International Business Machines Corporation Automated data projection for smart contract groups on a blockchain
CN109064146B (en) * 2018-08-07 2021-05-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 Digital currency transaction method, equipment, system, terminal and client wallet
CN110826091B (en) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 File signature method and device, electronic equipment and readable storage medium
CN110941859A (en) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 Method, apparatus, computer-readable storage medium, and computer program product for block chain formation consensus
CN110943838A (en) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 Method, apparatus and storage medium for determining consensus of blocks in a blockchain network
CN112968884B (en) * 2018-09-27 2023-03-24 福建福链科技有限公司 Block chain heterogeneous consensus method and terminal for preventing hacker attack
US20200167779A1 (en) * 2018-11-27 2020-05-28 Akamai Technologies, Inc. High performance distributed system of record with confidence-based consensus
CN109672535B (en) * 2018-12-11 2021-10-08 成都四方伟业软件股份有限公司 Alliance chain signature generation method and device
CN111385096B (en) * 2018-12-28 2023-08-08 北京沃东天骏信息技术有限公司 Block chain network system, signature processing method, terminal and storage medium
CN110084600B (en) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 Processing and verifying method, device, equipment and medium for resolution transaction request
CN110209683B (en) * 2019-06-05 2021-11-16 北京资源律动科技有限公司 System for acquiring environmental data in real time and writing environmental data into block chain
CN110247774A (en) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN112689848B (en) * 2019-06-28 2024-06-11 深圳市网心科技有限公司 Method and related equipment for consensus of block chain data
CN110300172B (en) * 2019-06-28 2022-06-07 深圳市迅雷网络技术有限公司 Block chain data consensus method and related equipment
CN110363513A (en) * 2019-07-15 2019-10-22 湖南智慧政务区块链科技有限公司 Payment unions method and apparatus based on block chain
CN110401541A (en) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 Thresholding voting method, system and relevant device based on EC-Schnoor signature algorithm
CN110505064A (en) * 2019-07-26 2019-11-26 深圳市网心科技有限公司 Thresholding voting method, system and relevant device based on EC-Schnoor signature algorithm
CN110400409B (en) * 2019-07-26 2022-02-22 深圳市迅雷网络技术有限公司 Threshold voting method, system and related equipment based on BLS signature algorithm
CN110401537A (en) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 Thresholding voting method, system and relevant device based on BLS signature algorithm
CN110830259A (en) * 2019-08-06 2020-02-21 贵州大学 Method and system for providing originality and integrity certification for multimedia data
US11588645B1 (en) * 2019-09-06 2023-02-21 University Of South Florida Systems and methods for compromise resilient and compact authentication for digital forensics
US11411721B2 (en) * 2019-09-27 2022-08-09 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111314067B (en) * 2020-02-05 2021-04-16 腾讯科技(深圳)有限公司 Block storage method and device, computer equipment and storage medium
KR102371528B1 (en) * 2020-02-14 2022-03-07 구글 엘엘씨 Securing multi-party reach and frequency estimation
CN111371564B (en) * 2020-03-04 2023-02-03 深圳大学 Digital signature and block chain transaction method and device and electronic equipment
CN111476572B (en) * 2020-04-09 2024-03-19 财付通支付科技有限公司 Block chain-based data processing method, device, storage medium and equipment
CN113592638A (en) * 2020-04-30 2021-11-02 顺丰科技有限公司 Transaction request processing method and device and alliance chain
CN111478772B (en) * 2020-06-22 2020-10-16 杭州趣链科技有限公司 Assembly line friendly signature and signature verification method, device and storage medium
CN111769938B (en) * 2020-06-29 2023-03-24 福建福链科技有限公司 Key management system and data verification system of block chain sensor
EP4175217A4 (en) * 2020-06-30 2023-08-23 Fujitsu Limited Signature control method, signature control program, and information processing device
CN114124396B (en) * 2020-09-01 2023-12-01 中国电信股份有限公司 Information transmission method, system and storage medium
CN112261082B (en) * 2020-09-21 2021-11-19 中国科学院计算技术研究所 Passive DNS data sharing method and system based on block chain and safe multi-party computation
CN112346776A (en) * 2020-11-04 2021-02-09 浙江大华技术股份有限公司 Firmware packaging method and device, secure starting method and device, storage medium and electronic equipment
CN112380575B (en) * 2020-11-17 2024-03-15 深圳市联创知识产权服务中心 Multiparty electronic signature synthesis method, device, equipment and storage medium
CN112468304B (en) * 2020-11-27 2024-05-03 湖南赛吉智慧城市建设管理有限公司 Data encryption method, device, computer equipment and storage medium
US11675650B2 (en) * 2020-12-30 2023-06-13 Mission Secure, Inc. System and method for n-modular redundant communication
EP4280537A4 (en) * 2021-01-14 2024-01-24 Fujitsu Limited Control method, control program, and information processing device
CN113055188B (en) * 2021-03-02 2022-04-15 腾讯科技(深圳)有限公司 Data processing method, device, equipment and storage medium
KR20220161035A (en) * 2021-05-28 2022-12-06 삼성에스디에스 주식회사 Method for proving original of data, user terminal and key management server therefor
CN113742709B (en) * 2021-09-13 2023-09-05 抖音视界有限公司 Information processing method and device, readable medium and electronic equipment
KR102439195B1 (en) * 2022-05-03 2022-08-31 세종대학교산학협력단 Method and system for generating multi signature, and computing device for executing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549909A (en) * 2015-09-17 2017-03-29 阿里巴巴集团控股有限公司 A kind of authority checking method and apparatus
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142397A (en) * 1998-10-30 2001-05-25 Hitachi Ltd Digital signature method, method and system for managing secret information
JP4194745B2 (en) * 2000-09-19 2008-12-10 株式会社エヌ・ティ・ティ・データ Electronic signature system and electronic signature method
AU2009200408B2 (en) * 2006-09-12 2012-05-10 Cpc Patent Technologies Pty Ltd Password generator
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
JP5669204B2 (en) * 2011-03-17 2015-02-12 Necソリューションイノベータ株式会社 Distributed information management system, distributed information management method, and distributed information management program
US9713019B2 (en) * 2011-08-17 2017-07-18 CBF Networks, Inc. Self organizing backhaul radio
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
CN103414731A (en) * 2013-08-29 2013-11-27 青岛大学 Identity-based aggregate signature method with parallel key-insulation
FR3023400A1 (en) * 2014-07-04 2016-01-08 Schneider Electric Ind Sas METHOD FOR MANAGING THE INSTALLATION OF AN APPLICATION ON AN ELECTRONIC DEVICE
CN104462965B (en) * 2014-11-14 2018-03-13 华为技术有限公司 Application integrity verification method and the network equipment
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US9762393B2 (en) * 2015-03-19 2017-09-12 Conduent Business Services, Llc One-to-many matching with application to efficient privacy-preserving re-identification
CN105162760B (en) * 2015-07-28 2018-08-14 郝孟一 Randomly select method, apparatus and system
US9948460B2 (en) * 2015-08-28 2018-04-17 City University Of Hong Kong Multivariate cryptography based on clipped hopfield neural network
CN105721413B (en) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 Method for processing business and device
CN105406970B (en) * 2015-10-21 2019-03-12 浪潮电子信息产业股份有限公司 Method and device, the method and device of verifying signature of signature
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
US10567377B2 (en) * 2016-05-23 2020-02-18 Pemian & Corella, LLC Multifactor privacy-enhanced remote identification using a rich credential
CN106296200A (en) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 Distributed photovoltaic electric power transaction platform based on block chain technology
GB2538022B (en) * 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
US10218511B2 (en) * 2016-12-23 2019-02-26 Amazon Technologies, Inc. Signature delegation
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
US10230525B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10511445B1 (en) * 2017-01-05 2019-12-17 Amazon Technologies, Inc. Signature compression for hash-based signature schemes
US10608824B1 (en) * 2017-01-09 2020-03-31 Amazon Technologies, Inc. Merkle signature scheme tree expansion
CN106888096B (en) * 2017-03-23 2019-10-08 西安电子科技大学 Secure broadcast multi-signature method based on obfuscation
CN107171788B (en) * 2017-04-08 2020-06-30 西安邮电大学 Identity-based online and offline aggregated signature method with constant signature length
CN107222482A (en) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 A kind of data management system and method based on compound block chain network
US10581613B2 (en) * 2017-06-09 2020-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US10601907B2 (en) * 2017-09-22 2020-03-24 Artiste QB Net Inc. System and method for platform to securely distribute compute workload to web capable devices
CN107968708B (en) * 2017-11-10 2020-01-17 财付通支付科技有限公司 Method, device, terminal and server for generating signature

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549909A (en) * 2015-09-17 2017-03-29 阿里巴巴集团控股有限公司 A kind of authority checking method and apparatus
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zhang Jun, A Combination Multi-Signature Scheme, 2009 International Conference on Networking and Digital Society (2009.)*

Also Published As

Publication number Publication date
WO2019091289A1 (en) 2019-05-16
CN107968708A (en) 2018-04-27
US20200076586A1 (en) 2020-03-05
JP2020520607A (en) 2020-07-09
CN110971414A (en) 2020-04-07
JP6966572B2 (en) 2021-11-17
EP3611872A4 (en) 2020-12-09
KR20200003144A (en) 2020-01-08
CN110971414B (en) 2021-05-04
EP3611872A1 (en) 2020-02-19
CN107968708B (en) 2020-01-17
US11128450B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
KR102350462B1 (en) Signature generation method, electronic device and storage medium
CN109615515B (en) Credit right certificate transfer method, device, electronic equipment and storage medium
CN111245745B (en) Message sending method, device, node equipment and storage medium
US12088566B2 (en) User inviting method and apparatus, computer device, and computer-readable storage medium
CN111339086B (en) Block processing method, and data query method and device based on block chain
CN111340482B (en) Conflict detection method, device, node equipment and storage medium
CN111080443B (en) Block chain-based service processing method, device, equipment and storage medium
CN108769992B (en) User authentication method, device, terminal and storage medium
CN110597924B (en) Block chain-based user identification processing method, device, equipment and storage medium
CN111339181B (en) Block storage method, block storage device, node equipment and storage medium
CN111212074B (en) Blockchain-based qualification identification method, device, equipment and storage medium
CN110290191B (en) Resource transfer result processing method, device, server, terminal and storage medium
CN111062725B (en) Face payment method, device and system and computer readable storage medium
CN110597840B (en) Partner relationship establishment method, device, equipment and storage medium based on blockchain
CN110570289A (en) service processing method, device, equipment and storage medium based on block chain
CN111198922A (en) Game resource management method and device based on block chain
CN111131619B (en) Account switching processing method, device and system
CN110971692B (en) Method and device for opening service and computer storage medium
CN111191254A (en) Access verification method and device, computer equipment and storage medium
CN115348262B (en) Cross-link operation execution method and network system based on cross-link protocol
CN114357328B (en) Cookie generating method, cookie generating device, electronic equipment and storage medium
CN114143012A (en) Message queue management method, device, equipment and computer readable storage medium
CN111681001A (en) Transaction record storage method, electronic device and storage medium

Legal Events

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