KR20240045226A - 디지털 서명들의 생성 - Google Patents

디지털 서명들의 생성 Download PDF

Info

Publication number
KR20240045226A
KR20240045226A KR1020247004670A KR20247004670A KR20240045226A KR 20240045226 A KR20240045226 A KR 20240045226A KR 1020247004670 A KR1020247004670 A KR 1020247004670A KR 20247004670 A KR20247004670 A KR 20247004670A KR 20240045226 A KR20240045226 A KR 20240045226A
Authority
KR
South Korea
Prior art keywords
signature
private key
share
shared
participant
Prior art date
Application number
KR1020247004670A
Other languages
English (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 KR20240045226A publication Critical patent/KR20240045226A/ko

Links

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/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/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

타겟 하위 그룹이 디지털 서명을 생성했음을 증명하는 컴퓨터 구현 방법이 제공되며, 여기서 그룹은 복수의 고유 하위 그룹들로 분할 가능하고 각각의 하위 그룹은 적어도 임계 수의 참가자들을 포함한다. 방법은, 제1 참가자가 속한 각각의 하위 그룹에 대해, 개개의 제1 임시 개인 키 셰어를 생성하는 단계 ― 각각의 개개의 하위 그룹의 각각의 다른 참가자는 개개의 임시 개인 키 셰어를 생성함 ― ; 각각의 개개의 셰어드 임시 개인 키에 대해, 개개의 셰어드 임시 공개 키를 생성하는 단계; 제1 개인 키 셰어, 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 제1 임시 개인 키 셰어, 및 메시지에 기초하여 서명의 제1 서명 셰어를 생성하는 단계; 및 서명 생성을 위해 제1 서명 셰어를 조정자에 대해 사용 가능하게 하는 단계를 포함한다.

Description

디지털 서명들의 생성
본 개시내용은 디지털 서명을 생성하는 방법 및 참가자가 디지털 서명의 셰어를 기여했음을 증명하는 방법에 관한 것이다.
일반적으로 셰어드 비밀(shared secret)은 참가자들의 그룹 사이에서 분배되는 데이터 항목을 셰어링하는 데 사용될 수 있다. 각각의 참가자는 비밀의 상이한 셰어를 갖는다. 일반적으로 비밀은 특정 수("임계치"로서 지칭됨)의 참가자들이 예컨대, 비밀을 계산하기 위해 함께 결합되도록 각자의 셰어들을 사용 가능하게 할 때만 재구성될 수 있다.
공개 키 암호법은 개인 키의 소유자만에게만 알려지는 개인 키들 및 대응하는 개인 키에 기초하여 생성되고 개인 키의 보안을 손상시키지 않고 유포될 수 있는 공개 키들인 키들의 쌍들을 사용하는 일 유형의 암호 시스템이다.
공개 키 암호법은 전송자가 수신자의 공개 키(즉, 수신자에게만 알려지는 개인 키에 대응하는 공개 키)를 사용하여 메시지를 암호화하는 것을 가능하게 한다. 그 후, 암호화된 메시지는 수신자의 개인 키만을 사용하여 복호화될 수 있다.
유사하게, 전송자는 메시지에 서명하기 위해 예컨대, 메시지가 전송자에 의해 전송되고 있음을 입증하고 그리고/또는 전송자가 메시지에 동의함을 표시하기 위해 자신의 개인 키를 사용할 수 있다. 서명자(즉, 서명을 생성하는 당사자)는 메시지에 기초한 디지털 서명을 생성하기 위해 자신의 개인 키를 사용한다. 메시지에 기초한 디지털 서명을 생성하는 것은 메시지 및 개인 키 둘 모두에 기초하여 서명을 생성하는 함수에 메시지 및 개인 키를 제공하는 것을 의미한다. 서명은 메시지에 추가되거나(예컨대, 메시지 상에 태킹됨) 그렇지 않고 메시지와 연관된다. 서명자의 대응하는 공개 키를 갖는 사람은 누구나 동일한 메시지 및 메시지에 대한 디지털 서명을 사용하여, 서명이 유효하게 생성되었는지를, 즉 서명자의 개인 키를 사용하여 서명이 실제로 이루어졌는지를 검증할 수 있다. 디지털 서명은 메시지의 진위를 보장할 뿐만 아니라 메시지의 무결성 및 부인 방지도 보장한다. 즉, 서명의 생성자가 나중에 서명을 생성했다는 사실을 부인할 수 없고 메시지가서명으로 서명된 이후 변경되지 않았음을 증명하는데 디지털 서명이 사용될 수 있다.
디지털 서명 체계는 통상적으로 3개의 절차들, 즉 알고리즘들을 수반한다. 키 생성 알고리즘은 랜덤 개인 키 및 대응하는 공개 키를 생성하는 데 사용된다. 서명 알고리즘은 메시지 및 개인 키에 기초하여 서명을 생성하는 데 사용된다. 검증 알고리즘은 공개 키 및 메시지가 주어지면, 대응하는 개인 키를 사용하여 그리고 서명 알고리즘에 따라 서명이 생성되었는지를 검증하는 데 사용된다.
셰어드 비밀은 개인-공개 키 쌍의 셰어드 개인 키로서 일반적으로 사용된다. 즉, 개인 키는 단일 참가자가 개인 키에 대한 액세스를 갖지 않도록 참가자들의 그룹 사이에 분배될 수 있다. 따라서 단일 참가자는 메시지의 유효한 서명을 생성할 수 없다. 대신, 서명이 생성되기 위해 참가자들 중 일부 또는 전부가 개인 키를 함께 생성해야 한다.
참가자들이 서명을 생성하기 위해 자신의 개인 키 셰어들을 셰어링하는 대신, 이들은 임계 서명 체계를 사용할 수 있다. 임계 서명 체계는 개인 키가 임의의 하나의 참가자에 대해 이용 가능하게 되지 않고도 그룹 내 임계 수의 참가자들이 셰어드 개인 키의 개별 셰어들을 사용하여 메시지에 기초하여 디지털 서명을 생성하도록 허용한다. 여기서, 디지털 서명은 서명될 메시지에 기초하여 생성되는 서명이다. 이러한 체계에서, 서명은 임계 수의 참가자들이 메시지에 대한 서명을 생성하는데 동의하는 경우에만 생성될 수 있다. 더 적은 수의 참가자를 사용하여 서명을 생성하려는 어떠한 시도도 유효한 서명을 생성하지 않을 것이다. 따라서, 그룹에 의한 유효한 서명(즉, 메시지 및 셰어드 개인 키를 사용하여 생성된 서명)은 임계 수의 사람들이 서명을 생성하는데 동의했음을 입증한다. 이는 또한, 임의의 적대자가 개인 키로 서명을 위조하기 위해 해당 개인 키의 임계 수의 셰어들을 획득할 필요가 있음을 암시한다.
위에서 언급된 바와 같이, 임계 서명 체계들은 유효한 서명을 생성하기 위해 참가자들이 각자의 서명 셰어들에 기여하도록 요구한다. 유효한 서명은 적어도 임계 수의 참가자들이 서명 셰어에 기여했음을 증명하지만, 그룹의 어느 참가자들이 서명 셰어에 기여했는지 증명하지는 않는다. 즉, 임계 서명 체계에서, 주어진 서명을 생성한 사람을 식별할 수 있는 어떠한 방법도 없고 ― 결과적인 서명은 서명을 만드는 데 어느 셰어들이 사용되었는지에 관계없이 항상 동일할 것이다. 따라서 서명자들(즉, 서명에 기여하는 참가자들)은 이들이 실제로 서명 셰어에 기여했음을 증명할 수 있도록 허용하는 임계 서명 체계가 필요하다. 이러한 체계는 다른 참가자들이 자신이 서명에 기여했음을 또는 증명 당사자가 서명에 기여하지 않았음을 허위로 주장하는 것을 방지하는 데 사용될 수 있다.
본원에서 개시된 일 양상에 따르면, 참가자들의 그룹의 제1 참가자에 의해 수행되는, 그룹의 타겟 하위 그룹이 디지털 서명을 생성했음을 증명하는 컴퓨터 구현 방법이 제공되며, 서명은 단지 적어도 임계 수의 개개의 서명 셰어들에 기초하여 생성될 수 있고, 그룹의 각각의 참가자는 셰어드 개인 키의 개개의 개인 키 셰어를 갖고, 그룹은 복수의 고유 하위 그룹들로 분할 가능하고, 각각의 하위 그룹은 적어도 임계 수의 참가자들을 포함하고, 방법은, 제1 참가자가 속한 각각의 개개의 하위 그룹에 대해, 개개의 셰어드 임시 개인 키의 개개의 제1 임시 개인 키 셰어를 생성하는 단계 ― 각각의 개개의 하위 그룹의 각각의 다른 참가자는 개개의 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어를 생성함 ― ; 각각의 개개의 셰어드 임시 개인 키에 대해, 개개의 셰어드 임시 공개 키를 생성하는 단계; 서명의 제1 서명 셰어를 생성하는 단계 ― 제1 서명 셰어는 셰어드 개인 키의 제1 개인 키 셰어, 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 제1 임시 개인 키 셰어, 및 메시지에 기초하여 생성됨 ― ; 및 적어도 임계 수의 개개의 서명 셰어들에 기초하여 서명을 생성하도록 제1 서명 셰어를 조정자에 대해 이용 가능하게 하는 단계를 포함하고, 각각의 개개의 서명 셰어는 셰어드 개인 키의 개개의 개인 키 셰어 및 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어에 기초하고, 서명은 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키에 대응하는 개개의 셰어드 임시 공개 키에 기초한 구성요소를 포함한다.
그룹의 각각의 참가자들은 임계 서명을 생성하기 위해 동일한 셰어드 개인 키를 셰어링한다. 서명은 최소 수의 고유 서명 셰어들로만 생성될 수 있다. 이 수는 서명의 임계치로서 알려진다. 그룹은 가능한 모든 고유한 서브세트(즉, 하위 그룹)으로 분할되며, 여기서 각각의 서브세트는 적어도 서명의 임계치와 동일한 크기여서, 각각의 서브세트는 유효한 서명을 생성할 만큼 충분한 서명 셰어들을 생성할 수 있다. 서브세트는 필요한 것보다 더 많은 참가자들을 가질 수 있다. 각각의 상이한 서브세트는 상이한 셰어드 임시 키의 셰어들을 도출한다. 따라서 다수의 서브세트들의 구성원인 참가자는 각각의 서브세트마다 하나씩 다수의 임시 키들의 셰어를 도출할 것이다. 서브세트는 대응하는 임시 공개 키를 또한 도출한다. 서브세트가 서명을 생성하고자 할 때, 해당 서브세트의 참가자들은 해당 서브세트에 의해 도출된 자신의 임시 키의 셰어들을 사용하여 개개의 서명 셰어들을 생성한다. 서명은 대응하는 임시 공개 키에 기초한 구성요소를 포함하므로, 서명을 도출한 서브세트의 참가자들은 이들만이 서명의 구성요소가 기초하는 임시 공개 키에 대응하는 임시 키(즉, 임시 키의 셰어들)에 대한 액세스를 가졌을 것이므로, 이들이 실제로 서명을 도출했음을 증명할 수 있다.
본 개시내용의 실시예들의 이해를 보조하기 위해 그리고 그러한 실시예들이 어떻게 실행될 수 있는지를 보여주기 위하여, 단지 예로서 첨부 도면들에 대한 참조가 이루어진다.
도 1은 본 발명의 실시예들을 구현하기 위한 시스템의 개략적인 블록도이다.
도 2는 본 발명의 예시적인 실시예를 예시하는 흐름도이다.
도 3은 본 발명의 일부 실시예들에 따른 예시적인 서명 생성 방법을 예시하는 흐름도이다.
1. 암호화 준비들
다음 예들은 타원 곡선 암호화의 관점에서 설명되지만, 본 발명은 임의의 하나의 특정 암호화 체계로 제한되지 않고 일반적으로 임의의 암호화 체계, 예를 들어 RSA 또는 다른 공개 키 암호화 체계들에 적용될 수 있다.
1.1 타원 곡선 그룹들
타원 곡선 E는 다음 방정식을 만족한다:
여기서 및 a,b는 을 만족하는 상수들이다. 이 타원 곡선 위의 그룹은 항등 요소인 무한대 에 있는 포인트와 함께 이 방정식을 만족하는 요소들의 세트(x,y)인 것으로 정의된다. 이 그룹 내 요소들에 대한 그룹 연산은 타원 곡선 포인트 덧셈(elliptic curve point addition)이라 칭해지고 +로 표시된다. 이 그룹은 에 의해 표시되고 그의 차수는 n에 의해 표시된다.
이 그룹 연산은 에 의해 표시되는 포인트 곱셈이라 칭해지는 요소들에 대한 다른 연산을 정의하는 데 사용될 수 있다. 포인트 및 스칼라 에 대해, 포인트 는 포인트 G 그 자체가 k번 더해진 것으로 정의된다.
타원 곡선 암호법에서, 개인 키는 스칼라 으로 정의되며 여기서 은 세트 에 대한 표기법이고, 대응하는 공개 키는 타원 곡선 상의 포인트 이다. 예컨대, 일부 블록체인 프로토콜들에서, 타원 곡선은 secp256k1 타원 곡선으로 선택되고 값들 a, b 및 p은 이 곡선에 의해 완전히 지정된다. 이 그룹의 차수 n은 이러한 값들을 고려하여 계산되었으며, 이는 이 곡선의 경우 소수이고, secp256k1 표준은 또한 이 그룹의 생성기로서 사용될 포인트 G를 지정한다.
1.2 타원 곡선 디지털 서명 알고리즘
개인 키 a를 사용하여 메시지 msg에 대한 서명을 생성하기 위해, 다음 단계들이 취해진다:
1. 임의의 해시 함수일 수 있는 메시지 다이제스트 를 계산한다. 예컨대, 일부 예들에서 이며, 여기서 은 SHA-256 해시 함수이다. 대신, 메시지는 한 번만 해시되거나 동일하거나 상이한 해시 함수들로 두 번을 초과하여 해시될 수 있다는 것에 주의한다.
2. 랜덤 정수 을 선택하며, 여기서 n은 타원 곡선 예컨대, secp256k1 곡선의 차수이다. 이하, k는 임시 개인 키로서 지칭된다.
3. 이 임시 개인 키 에 대응하는 임시 공개 키를 계산한다.
4. 을 계산한다. r=0인 경우, 단계 2로 리턴한다.
5. 임시 키의 곱셈 역(multiplicative inverse) 를 계산한다.
6. 을 계산한다. s=0인 경우, 단계 2로 리턴한다.
7. 메시지 msg에 대한 서명은 (r,s)이다.
임시 키는 비밀로 유지되어야 하고, 그렇지 않으면 메시지 및 서명이 주어지면, 개인 키가 계산될 수 있다. 부가적으로, 서명이 생성될 때마다, 상이한 임시 키가 사용되어야 한다. 그렇지 않은 경우, 두 개의 상이한 서명들 및 그의 대응하는 메시지들이 주어지면, 개인 키를 도출하는 것이 가능하다.
메시지 msg, 공개 키 및 대응하는 서명(r,s)이 주어지면, 다음 단계들을 완료함으로써 서명이 검증될 수 있다:
1. 메시지 다이제스트 예컨대, 를 계산한다.
2. s 모듈로 n의 곱셈 역 를 계산한다.
3. 을 계산한다.
4. 포인트 를 계산한다.
5. (무한대의 포인트)인 경우, 서명이 유효하지 않다.
6. 인 경우, 라고 하고, 을 계산한다. u=r인 경우, 서명은 유효하다.
임계 서명 체계들에서, 이 개인 키 a는 임계 체계 그룹 내 참가자들 간에 분배되는 키 셰어들로 분할된다.
1.3 공동 검증 가능한 랜덤 비밀 셰어링
N명의 참가자들이 해당 체계에서 참가자들 중 적어도 (t+1)명만에 의해 재생성될 수 있는 공동 비밀을 생성하기를 원한다고 가정한다. 셰어드 비밀을 생성하기 위해, 다음 단계들이 취해진다:
1. 참가자들은 각각의 참가자에 대한 고유 라벨 i에 동의한다. 각각의 참가자 i는 (t+1)개의 난수들을 생성한다.
여기서 은 세트 의 랜덤으로 생성된 요소를 의미하며, 여기서 은 세트 에 대한 표기법이다. 그 후, 각각의 참가자는 차수 t의 비밀 다항식을 갖는다.
i=1,…,N에 대해, 지금부터, 모듈로(modulo) n 표기법을 생략하고 정수들에 대한 모든 산술 연산들은 모듈로 n으로 행해지는 것으로 가정된다는 것에 주의한다.
2. 각각의 참가자 i는 예컨대, 참가자 j만과의 보안 통신 채널을 사용하여 값을 참가자 j에 전송한다.
3. 각각의 참가자 i는 다음과 같이 셰어드 비밀 다항식의 자신의 개인 비밀 셰어를 계산한다:
셰어드 비밀 셰어는 형식 를 갖는 포인트이며, 여기서 i는 해당 체계에서의 참가자 라벨이다. a의 비밀 셰어를 생성하기 위한 이 방법은 단계 1-3에서 설명한 바와 같이, 본원에서 참가자 i에 대해 에 의해 표시된다. "JVRSS"는 통상적으로 "Joint verification random secret sharing"을 나타내며 단계들 4 및 5를 또한 포함한다는 것에 주의한다. 그러나 이 문서 전반에 걸쳐, JVRSS는 적어도 단계들 1 내지 3을 수행하는 것을 의미하는 것으로 받아들여지며, 여기서 단계들 4 및 5는 선택적 단계들이다.
이제 참가자들은 셰어드 다항식을 생성했으므로, 참가자들은 다른 참가자들이 모든 참가자들에게 올바른 정보를 셰어링했는지, 그리고 모든 참가자들이 동일한 셰어드 다항식을 가지고 있는지 각각 검증할 수 있다. 이는 다음의 방식으로 행해진다.
4. 각각의 참가자 i는 다음의 난독화된 계수들을 모든 참가자들에게 브로드캐스팅한다:
에 대해,
이다.
5. 각각의 참가자 i는 를 계산하고 다음을 검증함으로써 각각의 참가자 j가 다항식 포인트를 올바르게 계산했음을 체크한다:
모든 참가자들은, 이 방정식이 각각의 다항식에 대해 홀딩되는 것을 발견하는 경우, 그룹은 이들이 모두 동일한 셰어드 다항식을 생성했다는 것을 집합적으로 확인할 수 있다.
1.4 셰어드 비밀 재구성
참가자가 0차의 셰어드 다항식인 셰어드 비밀 a를 재구성하기를 원한다고 가정한다. 다음 형태의 이 다항식에 (t+1)개의 포인트들이 주어지면,
,
셰어드 비밀 a를 찾기 위해, 다음이 계산된다:
.
이는 "라그랑주 보간(Lagrange Interpolation)"으로서 알려진 일반 공식으로부터 도출된다.
1.5 공개키 계산
JVRSS의 단계 4에서 셰어링된 N개의 0차 개인 다항식 계수 공개 키들 (i=1,…,N)이 주어지면, 각각의 참가자는 다음을 사용하여 셰어드 공개 키 P를 계산하며:
이는 셰어드 비밀 a에 대응한다.
1.6 셰어드 비밀들의 덧셈
어떠한 엔티티도 개별 비밀들을 알지 못하는 채로, 각각의 비밀 다항식이 차수 t를 갖는 N명의 참가자들의 그룹 간에 셰어링되는 2개의 셰어드 비밀들의 덧셈을 계산하기 위해, 다음 단계들이 취해진다:
1. 제1 셰어드 비밀 a를 생성하며, 여기서 참가자 i의 셰어는 (t+1)의 임계치를 갖는 에 의해 주어진다.
2. 제2 셰어드 비밀 b를 생성하며, 여기서 참가자 i의 셰어는 (t+1)의 임계치를 갖는 에 의해 주어진다.
3. 각각의 참가자 i는 다음과 같이 자신의 덧셈 셰어를 계산한다.
4. 모든 참가자들은 자신의 덧셈 셰어 를 다른 모든 참가자들에게 브로드캐스팅한다.
5. 각각의 참가자는 다음을 계산하기 위해 적어도 (t+1)개의 셰어 νi에 대해 보간한다:
.
셰어드 비밀들의 덧셈을 위한 이 방법은 참가자 i에 대한 ADDSS(i)에 의해 표시되며, 각각의 참가자 i가 를 알게 한다.
1.7 셰어드 비밀들의 곱
각각의 비밀 다항식이 차수 t를 갖는 N명의 참가자들의 그룹 간에 셰어링되는 2개의 셰어드 비밀들의 곱을 계산하기 위해, 그룹은 다음 단계들을 취한다:
1. 제1 셰어드 비밀 a를 생성하며, 여기서 참가자 i의 셰어는 (i=1,…,N)에 의해 주어진다. 셰어드 비밀 다항식은 차수 t를 가지며, 이는 재생성하기 위해서는 (t+1)명의 참가자들이 요구됨을 의미한다.
2. 제2 셰어드 비밀 b를 생성하며, 여기서 참가자 i의 셰어는 에 의해 주어지며, 셰어드 비밀 다항식은 재차 차수 t를 갖는다.
3. 각각의 참가자는 다음을 사용하여 자신의 곱셈 셰어 를 계산한다:
.
4. 모든 참가자들은 자신의 곱셈 셰어 를 다른 모든 참가자들에게 브로드캐스팅한다.
5. 각각의 참가자는 다음을 계산하기 위해 에서 적어도 (2t+1)개의 셰어들 에 대해 보간한다:
2개의 셰어드 비밀들의 곱을 계산하기 위한 이 방법은 본원에서 참가자 i에 대해 에 의해 표시된다.
1.8 셰어드 비밀의 역
셰어드 비밀 a의 역(inverse)을 계산하기 위해 다음 단계들이 취해진다:
1. 모든 참가자들은 셰어드 비밀들의 곱 PROSS(i)을 계산하며 그 결과는 이다.
2. 각각의 참가자는 μ의 모듈러 역(modular inverse)을 계산하며, 이는 다음을 초래한다:
.
3. 각각의 참가자 i는 다음을 계산함으로써 자신의 역 비밀 셰어를 계산한다:
.
셰어드 비밀들의 역을 계산하기 위한 이 방법은 참가자 i에 대해 에 의해 표시된다.
1.9 셰어드 개인 키 생성 및 검증
명의 참가자들 ― 서명을 생성하는 데 t+1명이 요구됨 ― 사이의 셰어드 개인 키 a를 계산하기 위해, 참가자들은 위에서 설명된 바와 같이 t+1의 임계치 및 공개 키 계산을 갖는 JVRSS를 실행한다. 결과는, 모든 각각의 참가자 이 개인 키 셰어 ai 및 대응하는 셰어드 공개 키 를 갖는다는 것이다.
1.10 임시 키 셰어들 생성
서명에서 요구되는 바와 같은 임시 키 셰어들 및 대응하는 r을 생성하기 위해, 임계치 (t+1)의 셰어드 개인 키 a를 갖는 크기 N의 그룹이 다음 단계들을 실행한다:
1. 셰어드 비밀의 역 셰어 를 생성하며, 여기서 이를 재생성하는 데 (t+1)개의 셰어들이 요구된다.
2. 각각의 참가자는 ki의 검증에서 셰어링된 난독화된 계수들을 사용하여, 다음을 계산하고:
그 후, 이들은 다음을 계산한다:
.
3. 각각의 참가자 i는 을 저장한다.
1.11 비-최적 서명 생성
적어도 2t+1명의 참가자들이 메시지에 대한 서명을 생성하고자 하고 참가자들 중 한 명이 이를 조정하기로 선택한다고 가정한다. 셰어드 개인 키 a로 그룹별로 서명을 생성하기 위해, 다음과 같은 단계들이 취해진다.
1. 조정자는 적어도 2t+1명의 참가자들로부터 메시지에 대한 서명을 요청한다.
2. 각각의 참가자 i는 이전 섹션에서 계산된 임시 키를 복원한다. 모든 사용자들은 동일한 임시 키에 대응하는 셰어를 사용해야 한다.
3. 각각의 참가자는 메시지 다이제스트 을 계산한다.
4. 각각의 참가자 i는 자신의 서명 셰어 si를 계산한다:
,
여기서 ai는 자신의 개인 키 셰어이다.
5. 각각의 참가자는 자신의 서명 셰어(r,si)를 조정자에게 전송한다.
6. 조정자가 2t+1개의 서명 셰어들을 수신하면, 이들은 다음을 계산한다:
,
그리고, (r,s)로서 서명을 출력한다.
7. 조정자는 표준 ECDSA 검증을 사용하여 서명을 검증한다. 검증이 실패하는 경우, 셰어들 중 적어도 하나가 올바르지 않아야 하고, 서명 생성 알고리즘을 다시 실행되어야 한다.
1.12 상이한 임계치들을 갖는 비밀들의 덧셈
차수 t 및 t'의 비밀들의 덧셈의 경우, 두 비밀들의 덧셈은 이를 계산하는데 개의 비밀들을 요구한다. 이면에 숨겨진 이유는 셰어드 비밀들의 셰어들의 덧셈 단계가 새로운 다항식의 셰어를 생성하기 때문이다. 이 새로운 덧셈 다항식은 두 셰어드 비밀들의 개별 다항식들을 더한 결과와 동일하다. 두 개의 다항식들을 더하는 것은 x의 각각의 차수에서 대응하는 계수들을 더하는 것이다. 따라서 덧셈 다항식의 차수는 두 다항식들 중 가장 높은 차수와 동일한 차수여야 한다. 이는 두 개 초과의 다항식들의 덧셈으로 일반화될 수 있으며, 여기서 결과적인 다항식의 차수는 가장 높은 차수의 개별 다항식의 차수와 동일하다.
상이한 임계치들을 갖는 두 비밀들의 덧셈이 계산되면, 더 높은 임계 비밀의 보안이 감소된다. 이는 이제 개개의 임계치들 t,t'과 관련하여 결과(a+b)를 알고 있고 t<t'라고 가정하면, t개의 셰어들로 a를 계산하고 그 후 (a+b)-a=b를 계산할 수 있고 이에 따라 값 b는 t개의 셰어들만으로도 계산되었기 때문이다. 이 더 낮은 임계치는 아래에서 b의 '내포된 임계치(implicated threshold)'로서 지칭된다.
1.13 상이한 임계치들을 갖는 비밀들의 곱셈
t 및 t'의 임계치를 갖는 두 비밀들의 곱셈의 경우, 곱셈의 계산은 t+t'+1개의 셰어들을 요구한다. 이 경우에 두 다항식들의 셰어들의 곱셈은 새로운 다항식에 대한 셰어를 초래한다. 이 새로운 다항식은 두 개의 개별 다항식들을 곱한 결과이고 이에 따라 결과의 차수는 2개의 개별 다항식들의 차수를 더한 것이다.
곱셈은 또한 임의의 수의 셰어드 비밀들로 일반화될 수 있으며, 결과적인 임계치는 개별 임계치들에 1을 더한 합, 즉 이 되며, 여기서 ρ는 개별 셰어드 비밀들에 걸쳐 적용된다.
덧셈과 유사하게, 상이한 임계치들을 갖는 두 비밀들의 곱셈은 더 높은 임계 비밀의 내포된 임계치를 초래한다. 이전과 마찬가지로 a가 t의 임계치를 갖고 b가 t'의 임계치를 갖는 ab가 알려지고 t<t'인 경우, a 및 b 둘 모두는 t개의 셰어들로 계산될 수 있다. 먼저, a를 계산하고 을 사용하여 비밀의 t개의 셰어들만으로 b를 찾을 수 있다.
1.14 일 단계에서 셰어드 비밀들의 덧셈 및 곱셈의 결합
위의 내용을 일반화하여 일 단계에서 덧셈 및 곱셈의 임의의 결합을 계산하는 것이 가능하다. N명의 참가자들의 그룹이 결과 ab+c를 계산하고자 한다고 가정하며, 여기서 a,b,c는 각각 임계치들 을 갖는 셰어드 비밀이다. 이라는 조건이 있는데 즉, 체계의 참가자들의 수가 비밀 c의 차수 및 비밀들 a 및 b의 곱셈의 결과의 차수 사이의 최대치보다 커야 한다.
1. 각각의 참가자 i는 각각 임계치들 을 갖는 자신의 비밀 셰어들 , , 을 계산한다.
2. 각각의 참가자 i는 셰어 를 계산한다.
3. 각각의 참가자 i는 결과 λi를 다른 참가자들과 셰어링한다.
4. 각각의 참가자는 개의 셰어들에 대해 보간하여 결과 를 찾는다.
이는 아래의 일부 실시예들에 따른 셰어드 서명의 계산에서 행해진다. 즉, 에 대한 보간이 있다. 이는 본질적으로 위의 에 해당한다. 이 경우에, 이며, 개의 셰어들에 대해 보간된다.
2. 서명 셰어들의 생성
도 1은 본 발명의 실시예를 구현하기 위한 예시적인 시스템(100)을 예시한다. 도시된 바와 같이, 시스템(100)은 복수의 당사자들(본원에서 "참가자들"로서 지칭됨)(102)을 포함한다. 3명의 참가자들(102a, 102b, 102c)만이 도 1에 도시되지만, 일반적으로 시스템은 임의의 수의 참가자들을 포함할 수 있다는 것이 인지될 것이다. 시스템(100)은 또한 참가자들(102) 중 하나일 수도 있고 아닐 수도 있는 조정 당사자(104)(또는 간단히 "조정자")를 포함한다. 참가자들(102) 및 조정 당사자(104) 각각은 각자의 컴퓨팅 장비를 동작시킨다.
개개의 컴퓨팅 장비 각각은 하나 이상의 프로세서들, 예컨대, 하나 이상의 CPU(central processing unit)들, 가속기 프로세서 이를테면, GPU(graphic processing unit)들, 다른 애플리케이션 특정 프로세서들, 및/또는 FPGA(field programmable gate array)들을 포함하는 개개의 프로세싱 장치를 포함한다. 개개의 컴퓨팅 장비는 또한 메모리, 즉 비-일시적 컴퓨터-판독 가능 매체 또는 매체들의 형태의 컴퓨터-판독 가능 저장소를 포함할 수 있다. 메모리는 하나 이상의 메모리 매체들, 예컨대, 하드 디스크와 같은 자기 매체; 솔리드 스테이트 드라이브(SSD), 플래시 메모리 또는 EEPROM과 같은 전자 매체; 및/또는 광학 디스크 드라이브와 같은 광학 매체를 사용하는 하나 이상의 메모리 유닛들을 포함할 수 있다. 개개의 컴퓨팅 장비는 적어도 하나 사용자 단말, 예컨대, 데스크 톱 또는 랩톱 컴퓨터, 태블릿, 스마트폰, 또는 스마트워치와 같은 웨어러블 디바이스를 포함할 수 있다. 대안적으로 또는 부가적으로, 개개의 컴퓨팅 장비는 사용자 단말을 통해 액세스되는 클라우드 컴퓨팅 자원들(클라우드 컴퓨팅 자원은 하나 이상의 사이트들에서 구현되는 하나 이상의 물리적 서버 디바이스들의 자원들을 포함함)과 같은 하나 이상의 다른 네트워킹된 자원들을 포함할 수 있다. 시스템(100)의 당사자에 의해 수행되는 것으로 설명된 임의의 액트(act)는 해당 당사자에 의해 동작되는 개개의 컴퓨팅 장치에 의해 수행될 수 있다는 것이 인지될 것이다.
참가자들(102) 각각은 LAN 또는 WAN 연결을 사용하여 인터넷과 같은 네트워크를 통해, 또는 대안적인 유선 또는 무선 통신 수단을 통해 다른 참가자들(102) 중 하나, 일부 또는 모두에게 데이터를 송신하도록 구성될 수 있다. 맥락에서 달리 요구하지 않는 한, 데이터를 송신하는 참가자(102)에 대한 참조는 예컨대, 제1 참가자(102a)와 제2 참가자(102b) 사이의 보안 통신 채널을 통해 다른 참가자들(102)에게 개별적으로 데이터를 송신하거나 예컨대, 이메일 또는 다른 수단을 통해 그룹 전체에 브로드캐스팅하는 것으로 이해될 수 있다. 재차, 맥락이 달리 요구되지 않는 한, 각각의 참가자(102)는 원시 형태로 또는 암호화된 형태로 데이터를 송신할 수 있다. 예컨대, 데이터는 수신자 참가자에게 전송되기 전에 수신자 참가자의 공개 키를 사용하여 암호화될 수 있다. 이는 조정자(104)가 참가자들(102) 중 한명, 일부 또는 전부에게 데이터를 송신 및 수신하는 경우에도 동일하게 적용된다.
본 발명의 실시예들은 주로 제1 참가자(102a)의 관점에서 설명될 것이다. 그러나 설명된 방법의 일반적인 단계들은 다른 참가자들, 예컨대, 제2 참가자(102b) 또는 제3 참가자(102c)에 의해 유사하게 수행될 수 있다는 것이 인지될 것이다. 또한, "제1", "제2", "제3" 등의 용어들은 본원에서 단지 구별 라벨들로서 사용되며 용어가 사용되는 특정 맥락이 그렇지 않은 것을 요구되지 않는 한 반드시 순서를 의미하는 것은 아니라는 점이 인지될 것이다.
본 발명은 일 그룹의 참가자들(102)의 각각의 참가자(102)가 임계 서명의 개개의 셰어들을 생성하고 조정자(104)가 해당 서명 셰어들에 기초하여 서명을 생성하는 것을 가능하게 한다. 보다 구체적으로, 참가자들의 그룹의 하위 그룹은 서명을 생성하고 해당 특정 하위 그룹이 임계 서명을 생성했음을 증명할 수 있다.
각각의 참가자(102)는 셰어드 개인 키의 개개의 셰어에 대한 액세스(예컨대, 각자의 컴퓨팅 장비의 메모리에 저장)를 갖는다. 이러한 개인 키 셰어들은 예컨대, JVRSS(위에서 설명됨) 또는 SSSS(Shamir's Secret Sharing Scheme)와 같은 비밀 셰어링 체계를 사용하여 생성될 수 있다. 셰어드 개인 키의 셰어들을 생성하기 위한 대안적인 체계들이 사용될 수 있다.
서명이 임계치를 가지며, 이는 유효한 서명을 생성하기 위해 적어도 임계수의 상이한 서명 셰어들이 요구된다는 것을 의미한다. "임계치"에 대한 임의의 참조는 서명의 임계치에 대응하는 수를 의미하는 것으로 받아들여진다는 것이 인지되어야 한다. 예컨대, 임계치는 2, 3, 10 등이 될 수 있다. 셰어드 개인 키가 또한 임계치를 갖는다. 일부 실시예들에서, 서명의 임계치는 개인 키의 임계치와 동일하다. 다른 실시예들에서, 서명의 임계치는 개인 키의 임계치와 동일하지 않다.
참가자들(102)의 그룹은 복수의 하위 그룹들로 분할된다. 각각의 하위 그룹은 고유하다. 각각의 하위 그룹은 적어도 참가자의 임계수를 포함하는데 즉, 각각의 하위 그룹 내 참가자들의 최소 수는 서명의 임계치와 동일한 수이다. 이러한 방식으로 각각의 하위 그룹은 유효한 서명을 생성할 수 있다. 도 1은 3명의 참가자들의 그룹(102)을 하위 그룹들로 분할하는 예를 예시한다. 이 예에서, 임계 서명이 유효하게 생성되기 위해 적어도 2개의 서명들을 요구한다. 도시된 바와 같이, 하나의 하위 그룹(점선 원에 의해 표시됨)은 제1 참가자(102a) 및 제2 참가자(102b)를 포함한다. 다른 하위 그룹은 제2 참가자(102b) 및 제3 참가자(102c)를 포함한다. 도 1에는 도시되지 않지만, 다른 하위 그룹은 제1 참가자(102a) 및 제3 참가자(102c)로 구성될 수 있다. 일반적으로, 그룹은 각각의 그룹이 적어도 임계 수의 참가자들을 포함하는 한, 임의의 수의 고유 하위 그룹들로 분할될 수 있다. 일부 예들에서, 그룹은 모든 가능한 고유 하위 그룹들로 분할될 수 있다.
각각의 하위 그룹의 참가자들은 해당 하위 그룹에 고유한 셰어드 임시 개인의 셰어들을 생성한다. 임시 개인 키 셰어들은 JVRSS, SSSS 또는 대안적인 체계를 사용하여 생성될 수 있다. 각각의 참가자(102)는 또한 예컨대, 위에서 설명된 INVSS 기능을 사용하여 각자의 임시 개인 키 셰어의 역을 생성할 수 있다. 그룹의 각각의 참가자는 또한 임시 공개 키, 즉 셰어드 임시 개인 키에 대응하는 공개 키를 생성한다. 당분야에 알려진 바와 같이, 공개 키는 제1(x) 및 제2(y) 좌표들을 포함하고, 아래에 논의될 바와 같이, 제1 좌표는 서명 셰어를 생성하는 데 사용될 수 있다. 각각의 참가자(102)는 또한 서명 셰어의 개개의 MIC(message independent component)에 대한 액세스를 가질 수 있는데 즉, 서명 셰어는 개개의 MIC에 기초하여 생성될 수 있다. MIC 자체는 해당 참가자(102)의 개개의 개인 키 셰어 및 개개의 임시 개인 키 셰어 및 또한, 임시 공개 키의 제1 좌표에 기초하여 주어진 참가자(102)에 의해 생성될 수 있다. 개개의 서명 셰어를 생성하기 위해 각각의 참가자(102)에 의해 요구되는 데이터는 생성될 특정 형태의 서명, 예컨대, ECDSA 서명에 의존할 것이다.
참가자는 하나 초과의 하위 그룹의 구성원이 될 수 있다(즉, 하나 초과의 하위 그룹에 속할 수 있음). 예컨대, 제2 참가자(102b)는 도 1의 예에서 적어도 2개의 하위 그룹들에 속한다. 각각의 하위 그룹은 셰어드 임시 개인 키를 생성하므로(즉, 각각의 하위 그룹의 참가자들은 셰어드 임시 개인 키의 셰어들을 생성함), 다수의 하위 그룹들의 구성원인 각각의 참가자는 각각의 하위 그룹마다 하나씩, 다수의 임시 개인 키 셰어들을 생성할 것이다. 마찬가지로, 여러 하위 그룹들의 구성원인 각각의 참가자는 각각의 하위 그룹마다 하나씩, 다수의 임시 공개 키들을 생성할 것이다.
임시 개인 키 셰어들 및 임시 공개 키들을 (각각의 하위 그룹마다 하나씩) 생성하면, 특정 하위 그룹(본원에서 "타겟 하위 그룹"으로서 지칭됨)의 참가자들(102)은 서명이 하위 그룹에 의해 생성되었음을 증명할 수 있는 방식으로 메시지에 대한 서명을 생성할 수 있다. 하위 그룹의 각각의 참가자(또는 하위 그룹이 임계수를 초과하여 포함하는 경우, 하위 그룹의 적어도 임계수의 참가자들)는 서명될 메시지를 획득하고 메시지(예컨대, 메시지의 해시), 각자의 개인 키 셰어 및 타겟 하위 그룹에 의해 생성된 셰어드 임시 개인 키의 각자의 임시 개인 키 셰어에 기초하여 개개의 서명 셰어를 생성한다. 예컨대, 제1 참가자(102a)는 메시지, 제1 개인 키 셰어 및 제1 임시 개인 키 셰어에 기초하여(즉, 이들의 함수로서) 제1 서명 셰어를 생성할 수 있으며, 여기서 제1 임시 개인 키 셰어는 타겟 하위 그룹에서 생성된 셰어드 임시 개인 키의 셰어이다. 메시지는 조정자(104)로부터 (예컨대, 서명 셰어에 대한 요청의 일부로서) 획득되었을 수 있거나 제1 참가자(102a)에게 미리 알려질 수 있다. 개개의 서명 셰어를 생성하려는 타겟 하위 그룹의 다른 참가자들은 개개의 서명 셰어를 생성하는 것과 등가의 프로세스를 수행한다.
일부 예들에서, 서명 셰어는 임시 키 셰어의 역에 기초하여 생성된다. 서명 셰어는 또한 임시 공개 키의 제1 좌표(또는 보다 구체적으로 제1 좌표 mod n, 여기서 n은 타원 곡선의 차수임)에 기초하여 생성될 수 있다. 서명 셰어는 또한 개개의 MIC 셰어에 기초하여 생성될 수 있다.
타겟 하위 그룹의 각각의 참가자(102)는 적어도 임계 수의 서명 셰어들에 기초하여 서명을 생성하기 위해 조정자(104)에 제1 서명 셰어를 전송할 수 있다. 대안적으로, 참가자들 중 하나(예컨대, 제1 참가자(102a))는 조정자(104)일 수 있고, 이 경우, 제1 참가자(102a)는 개개의 참가자들로부터 개개의 서명 셰어들을 획득한 다음, 개개의 서명 셰어들에 기초하여 서명을 생성할 수 있다.
조정자(104)는 하위 그룹으로부터 적어도 임계 수의 서명 셰어들을 획득한다. 조정자(104)는 임계수보다 많이, 예컨대, 각각의 참가자(102)로부터 하나씩 획득할 수 있다.
조정자(104)에 의해 생성된 서명은 2개의 구성요소들(즉, 부분들)을 포함한다. 구성요소들 중 하나(여러 개)는 하위 그룹의 참가자들(102)에 의해 제공된 서명 셰어들에 기초하여 생성된다. 다른 구성요소(r)는 타겟 하위 그룹에 의해 생성된 임시 공개 키에 기초한다. 예컨대, 해당 구성요소는 임시 공개 키의 x 좌표, 예컨대, x 좌표 mod n에 기초할 수 있다. 완전한 서명은 형태 (r,s)일 수 있다.
서명은 타겟 하위 그룹에만 알려진 임시 개인 키 셰어들에 기초하는 서명 셰어들을 사용하여 생성되므로, 타겟 하위 그룹만이 해당 서명을 생성할 수 있었을 수 있다. 이는 임시 공개 키에 기초하는 서명의 구성요소를 검사함으로써 검증 당사자에 의해 검증될 수 있다. 조정자(104)는 서명된 메시지를 검증 당사자에게 전송할 수 있다. 임시 공개 키와 연관된 타겟 하위 그룹만이 서명을 생성할 수 있었을 수 있다. 검증 당사자는 하위 그룹들과 임시 공개 키들 간의 매핑들을 미리 알 수 있거나 매핑들이 타겟 하위 그룹(예컨대, 참가자(102a)에 의해) 또는 조정자(104)에 의해 제공될 수 있다. 예컨대, 매핑들은 블록체인 상에 저장될 수 있다.
아래에서 추가로 논의된 바와 같이, 서명된 메시지는 블록체인 트랜잭션의 적어도 일부, 예컨대, 트랜잭션의 하나 이상의 입력들 및 하나 이상의 출력들을 포함할 수 있다. 조정자(104)는 도 1에 도시된 바와 같이, 서명된 트랜잭션을 블록체인에 제출할 수 있다.
도 2는 본 발명의 일부 실시예들에 따른 예시적인 방법(200)을 도시한다. 단계들(S201 내지 S204)은 타겟 하위 그룹의 참가자, 예컨대, 제1 참가자(102a)에 의해 수행된다. 단계(S201)에서, 제1 참가자(102a)는 제1 참가자(102a)가 속한 각각의 하위 그룹에 대해 임시 개인 키 셰어를 생성하고, 단계(S202)에서 제1 참가자(102a)는 대응하는 임시 공개 키를 생성한다. 단계(S203)에서, 제1 참가자(102a)는 타겟 하위 그룹에 의해 도출된 셰어드 임시 키의 셰어를 이용하여 서명 셰어를 생성하고, 단계(S204)에서, 제1 참가자(102a)는 서명을 생성하기 위해 조정자(104)에게 서명 셰어를 전송한다.
다음은 설명된 실시예들의 추가 특정 예들을 제공한다.
참가자의 서브세트는, 서명자의 가능한 모든 서브세트들이 임시 키들을 생성하고 그 후 관련된 서명자들이 대응하는 서브세트의 임시 키를 사용하여 서명을 생성하는 프로세스를 사용하여 그들이 서명에 기여했음을 증명할 수 있다.
임계치 (t+1)의 셰어드 비밀을 가진 N명의 참가자들의 그룹이 있고 적어도 크기 (2t+1)의 해당 그룹의 가능한 모든 서브세트들의 세트가 S로 주어지며, 여기서
라고 가정하며,
여기서 S는 참가자들 N의 전체 그룹 중 참가자들의 일부 세트에 대한 표기이다. 일부 예들에서, 서명자들의 특정 그룹을 증명하기 위해, 서브세트 |S|의 차수는 2t+1로 세팅될 수 있지만, 그룹의 다른 서브세트가 완전성을 위해 포함될 수 있다는 것에 주의한다. 그 후 그룹은 다음 단계들을 취한다.
1. 서브세트 의 각각의 참가자 i는 모든 에 대해 셰어드 임시 개인 키 를 생성한다.
2. 모든 서브세트들 는 이러한 임시 개인 키들 에 대응하는 rS를 계산한다.
3. 그 후 이 임시 키를 사용하는 임의의 서명(rS,s)은 반드시 서브세트 S에 의해 서명되어야 한다.
도 3은 본 발명의 실시예들에 따라 메시지에 대한 서명을 생성하기 위한 예시적인 방법(300)을 예시한다. 단계들(S301 내지 S308)은 이 예에서 임계 수의 참가자들(102)(제1 참가자(102a)를 포함함) 각각에 의해 수행된다. 단계(S309)는 조정자(101)에 의해 수행되며, 이 조정자는 또한 단계들(S301 내지 S308)을 수행하는 참가자들 중 하나일 수 있다. 단계들 중 일부는 생략되거나 상이한 순서로 수행될 수 있다는 것이 인지될 것이다.
예시적인 방법(300)은 N≥2t+1명의 참가자들 그룹에서 임계치(t+1)의 셰어드 비밀의 생성을 가능하게 하며, 여기서 서명 임계치는 또한 (t+1)이다.
셋-업:
단계(S301)에서, 각각의 참가자(102)는 셰어드 개인 키 셰어 ai 및 대응하는 공개 키를 계산한다. 개인 키 셰어는 위에서 설명된 바와 같이 JVRSS를 사용하여 생성될 수 있다. 이 시점에, 각각의 참가자 i는 비밀 키 셰어 및 공개 키(ai,P)를 가지며, 여기서 P는 셰어드 개인 키에 대응하는 공개 키에 대한 표기이다. 셰어드 개인 키는 (t+1)의 임계치를 갖는다.
사전 계산:
단계(S302)에서, 각각의 참가자(102)는 셰어드 임시 키 셰어 및 대응하는 공개 키를 계산한다. 예컨대, 각각의 참가자(102)는 준비들에서 주어진 공개 키의 계산 및 JVRSS를 사용하여 셰어드 임시 키를 계산할 수 있다. 그 후, 각각의 참가자(102)는 임시 개인 키에 기초하여 역 셰어를 계산할 수 있다. 이는 각각의 참가자가 (t+1)의 임계치를 갖는 역 셰어를 갖게 한다.
단계(S303)에서, 각각의 참가자(102)는 2개의 상이한 셰어드 블라인딩 키 셰어들을 생성한다. 예컨대, 각각의 참가자(102)는 참가자 i가 셰어들 을 갖도록 2개의 셰어드 비밀들을 생성할 수 있고, 각각의 셰어드 비밀은 임계치 (t+1)을 갖는다. 일부 예들에서, 모든 셰어드 비밀들이 동일한 임계치를 가질 필요는 없다는 것에 주의한다.
단계(S304)에서, 각각의 참가자(102)는 중간 셰어를 계산하고 자신의 중간 셰어를 다른 참가자들에게 브로드캐스팅한다. 예컨대, 각각의 참가자 i는 중간 셰어 를 계산할 수 있다. 이 값은 (2t+1)의 임계치를 갖는다.
단계(S305)에서, 제1 참가자(102a)는 적어도 중간 셰어들에 기초하여 중간 값을 계산한다. 예컨대, 제1 참가자(102a)는 (2t+1)개의 셰어들에 대한 보간 을 사용하여 중간 값을 계산할 수 있다.
단계(S306)에서, 제1 참가자(102a)는 에 대한 지식을 갖고 있으며 이를 개인 키 셰어 및 대응하는 공개 키(ai,P)와 함께 저장한다.
각각의 서명에 대해 상이한 임시 키가 사용되기 때문에, 한 번에 다수의 임시 키들이 셋업될 있는데, 즉, 사전 계산 동안 다수의 임시 키들을 생성하도록 단계들(S302 내지 S306)이 반복되고 추후 사용을 위해 저장될 수 있다는 것에 주의한다. 이들은 어떠한 부가적인 통신 라운드들도 없도록 동시에 실행될 수 있다. 바람직하게는, 각각의 서명에 대해 상이한 값의 α 및 β가 사용되어야 한다는 것에 주의한다.
서명 생성:
메시지 msg에 서명하기 위해, 적어도 (t+1)명의 참가자들이 단계들(S307 및 S308)을 수행해야 한다. 단계(S307)에서, 적어도 임계 수의 참가자들(102)이 서명될 메시지를 획득하고 메시지 다이제스트를 계산한다. 예컨대, 조정자(101)는 메시지 msg에 대한 서명 셰어를 생성하기 위한 요청은 (t+1)명의 참가자들에게 전송할 수 있다. 각각의 참가자 i는 메시지 다이제스트 를 계산할 수 있다. 일부 예들에서, 이 해시 함수는 이중 SHA-256 해시 함수이다. 대안적인 해시 함수들이 사용될 수 있다.
단계(S308)에서, 적어도 임계 수의 참가자들(102)이 서명 셰어를 계산하고 이를 조정자(101)에게 전송한다. 예컨대, 각각의 참가자 i는 자신의 서명 셰어들 를 계산하고 그 후 이 서명 셰어(r,si)를 조정자에게 전송할 수 있다. 값 r은 모든 참가자들에 의해 전송되진 않을 수 있다는 것에 주의한다.
단계(S309)에서, 조정자(101)는 서명을 계산한다. 예컨대, 조정자(101)는 를 계산하고 최종적으로 서명 (r,s)를 계산할 수 있다. 이는 β 항이 소거되기 때문에 예상되는 서명 셰어가 발생한다. 이 프로토콜의 유사한 변형들은 (kα)-1 및 r이 계산에 포함될 때를 설명하는 위와 같이 이루어질 수 있다.
비밀들의 임계치들은 상이할 수 있다는 것에 주의한다. 즉, a,k,α,β의 임계치 자체가 서명 생성 체계를 실행하기 위해 반드시 동일할 필요는 없다. 예컨대, 6명의 그룹이 있고 서명 및/또는 개인 키를 생성하기 위해 3명이 필요한 경우, 이들은 기술적으로 k의 임계치가 4이고 다른 셰어드 비밀들의 임계치가 3인 계산을 행하며, 이들은 여전히 임계-최적 체계를 가질 것이다.
본 발명은 임의의 임계 서명 체계(최적이든 아니면 비최적이든)에 적용될 수 있으며 위에 설명된 도 3의 예로 제한되지 않는다는 것에 주의한다.
일반적으로, 본 발명의 실시예들은 임의의 메시지에 대한 서명을 생성하기 위해 사용될 수 있다. 특정 예시적인 사용 사례로서, 도 1에 도시된 바와 같이, 메시지는 블록체인 트랜잭션의 일부 또는 전부일 수 있다. 즉, 서명은 블록체인 트랜잭션의 하나 이상의 입력들 및/또는 하나 이상의 출력들에 서명하는 데 사용될 수 있다. 예컨대, 생성된 서명은 적어도 부분적으로 블록체인 트랜잭션의 출력을 잠금해제하는 데 사용될 수 있다. 특정 예로서, 이전 트랜잭션의 출력은 공개 키의 해시에 잠금된 P2PKH(pay-to-public-key-hash) 출력일 수 있다. 잠금해제되기 위해, P2PKH 출력을 참조하는 추후 트랜잭션의 입력에 (해싱되지 않은) 공개 키 및 공개 키에 대응하는 개인 키에 기초하여 생성된 서명을 포함할 필요가 있다. 조정자(104)는 블록체인 트랜잭션에 서명하고 서명된 트랜잭션을 블록체인 네트워크(106)의 하나 이상의 블록체인 노드들에 제출할 수 있다.
스크립트로 표현되는 "잠금 스크립트" 및 "잠금해제 스크립트"는 다음과 같은 형태를 취할 수 있다.
잠금 스크립트 = OP_DUP OP_HASH160 <Public KeyHash> OP_EQUAL OP_CHECKSIG
잠금해제 스크립트 = <Signature> <Public Key>
위에서 설명된 실시예들을 참조하면, <Public Key> 는 와 같을 수 있으며, <Signature>는 임계 서명 s를 포함하며, 여기서 이전 트랜잭션은 서명될 메시지이다. 위에서 언급된 바와 같이, ECDSA 서명들은 형태 (r,s)라는 것에 주의한다.
설명된 서명 생성 방법은 임의의 특정 사용 사례로 제한되지 않으며 일반적으로 임의의 메시지에 기초하여 서명을 생성하는 데 사용될 수 있다는 것에 주의한다. 블록체인 트랜잭션의 전체 또는 일부에 서명하는 것은 단 하나의 예시적인 예일 뿐이다. 설명된 방법은 예컨대, 법적 문서(예컨대, 유언장, 증서 또는 다른 계약), 하나 이상의 당사자들 간의 서신, 디지털 인증서들(예컨대, 인증 기관에 의해 발행됨), 의료 처방전들, 은행 송금 또는 금융 상품, 모기지 또는 대출 신청 등에 서명하고 그리고/또는 이들을 인가하는 데 사용될 수 있다.
특정 예로서, 참가자들의 그룹(총 5명의 참가자들이라 하자)이 회사의 이사회를 형성할 수 있다. 회사의 의결 사안들은 이사회의 과반수(즉, 적어도 3명의 참가자들)가 특정 투표에 동의할 것을 요구할 수 있다. 이사회는 설명된 서명 생성 방법을 사용하여, 적어도 3명의 이사회 구성원들이 특정 결과에 찬성 투표하기로 동의했음을 입증할 수 있다. 이 예에서, 서명 생성 체계의 임계치는 3이다. 즉, 조정자가 서명을 성공적으로 생성하기 위해 이사회 구성원들 중 적어도 3명이 개개의 서명 셰어를 제공해야 한다. 서명이 성공적으로 생성된 경우, 적어도 임계수(예컨대, 3명)의 이사회 구성원들이 해당 결과에 찬성 투표하기로 동의해야 한다. 따라서 성공적인 서명 생성은 투표의 레코드로서 작용하고 이사회의 과반수가 특정 방식으로 투표했음을 입증한다.
본 발명의 다른 사용 사례는 예컨대, X.509 표준에 의해 발행된 디지털 인증서와 같은 디지털 인증서들의 분야에 있다. 디지털 인증서는 일부 데이터에 대해 서명하는 서명을 포함한다. 데이터는 일반적으로 임의의 데이터일 수 있지만, 디지털 인증서에 포함된 데이터의 하나의 특정 예는 공개 키이다. 디지털 인증서의 공개 키는 종종 "인증된 공개 키"로서 지칭된다. 디지털 인증서의 발행자("인증 기관")는 공개 키의 소유자에 대해 하나 이상의 체크들(예컨대, 노우-유어-커스터머(know-your-customer) 체크들)을 수행할 수 있으며, 체크들이 성공적인 경우, 인증 기관은 인증된 공개 키를 포함하는 디지털 인증서를 발행한다. 사용자는 예컨대, 인증된 공개 키에 대응하는 개인 키로 메시지에 서명함으로써 자신이 본인임을 입증하기 위해 인증된 공개 키를 사용할 수 있다. 인증 기관들에 대한 하나의 특정 용도는 인터넷 상의 보안 브라우징을 위해 HTTPS에서 사용되는 인증서들에 서명하는 것이다. 다른 일반적인 용도는 전자 서명 문서들에서 사용하기 위해 국가 정부들에 의해 아이덴티티 카드를 발행하는 것이다. 인증 기관은 개인 키를 사용하여 공개 키(또는 증명될 임의의 다른 데이터)에 서명한다.
위에서 언급된 바와 같이, 본 발명의 실시예들은 개인 키 셰어에 대응하는 공개 키로 메시지를 암호화하는 것 그리고 마찬가지로 개인 키 셰어로 메시지를 복호화하는 것을 포함할 수 있다. 이 경우, 제1 참가자(102a)는 상이한 당사자에 의해 암호화된 메시지를 복호화할 수 있다. 다른 옵션으로서, 메시지는 전체 개인 키, 예컨대, 전체 자식 키에 대응하는 공개 키로 암호화될 수 있다. 이 경우, 적어도 임계 수의 참가자들이 메시지를 복호화하기 위해 자식 개인 키의 개개의 셰어들을 사용 가능하게 할 수 있다. 암호화된 메시지는 블록체인 트랜잭션의 일부 또는 전부를 포함할 수 있는데 예컨대, 암호화된 데이터는 블록체인에 레코딩될 트랜잭션에 포함될 수 있다.
결론
개시된 기술들의 다른 변형들 또는 사용 사례들은 본원에서의 개시가 주어지면 당업자에게 명백해질 수 있다. 본 개시내용의 범위는 설명된 실시예들에 의해 제한되는 것이 아니라 첨부된 청구항들에 의해서만 제한된다.
위의 실시예들은 단지 예로서만 설명되었다는 것이 인지될 것이다. 보다 일반적으로, 다음 스테이트먼트들 중 임의의 하나 이상에 따른 방법, 장치 또는 프로그램이 제공될 수 있다.
스테이트먼트 1. 참가자들의 그룹의 제1 참가자에 의해 수행되는, 그룹의 타겟 하위 그룹이 디지털 서명을 생성했음을 증명하는 컴퓨터 구현 방법으로서,
서명은 단지 적어도 임계 수의 개개의 서명 셰어들에 기초하여 생성될 수 있고, 그룹의 각각의 참가자는 셰어드 개인 키의 개개의 개인 키 셰어를 갖고, 그룹은 복수의 고유 하위 그룹들로 분할 가능하고, 각각의 하위 그룹은 적어도 임계 수의 참가자들을 포함하고, 방법은,
제1 참가자가 속한 각각의 개개의 하위 그룹에 대해, 개개의 셰어드 임시 개인 키의 개개의 제1 임시 개인 키 셰어를 생성하는 단계 ― 각각의 개개의 하위 그룹의 각각의 다른 참가자는 개개의 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어를 생성함 ― ;
각각의 개개의 셰어드 임시 개인 키에 대해, 개개의 셰어드 임시 공개 키를 생성하는 단계;
서명의 제1 서명 셰어를 생성하는 단계 ― 제1 서명 셰어는 셰어드 개인 키의 제1 개인 키 셰어, 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 제1 임시 개인 키 셰어, 및 메시지에 기초하여 생성됨 ― ; 및
적어도 임계 수의 개개의 서명 셰어들에 기초하여 서명을 생성하도록 제1 서명 셰어를 조정자에 대해 이용 가능하게 하는 단계를 포함하고, 각각의 개개의 서명 셰어는 셰어드 개인 키의 개개의 개인 키 셰어 및 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어에 기초하고, 서명은 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키에 대응하는 개개의 셰어드 임시 공개 키에 기초한 구성요소를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 2. 스테이트먼트 1의 방법에 있어서, 제1 참가자는 조정자이고, 방법은,
적어도 임계 수의 개개의 서명 셰어들을 획득하는 단계; 및
적어도 임계 수의 개개의 서명 셰어들에 기초하여 서명을 생성하는 단계를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 3. 스테이트먼트 1 또는 스테이트먼트 2의 방법에 있어서,
개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키에 대응하는 개개의 셰어드 임시 공개 키와 연관된 하위 그룹에 속하는 개개의 참가자들의 목록을 검증 당사자에 대해 이용 가능하게 하는 단계를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 4. 스테이트먼트 3의 방법에 있어서,
메시지를 검증 당사자에게 전송하는 단계를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 5. 임의의 선행 스테이트먼트의 방법에 있어서,
메시지는 블록체인 트랜잭션의 적어도 일부를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 6. 스테이트먼트 2 및 스테이트먼트 5의 방법에 있어서,
블록체인 네트워크의 하나 이상의 노드들에 블록체인 트랜잭션을 제출하는 단계를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 7. 임의의 선행 스테이트먼트의 방법에 있어서, 메시지는 디지털 인증서를 포함하는, 컴퓨터 구현 방법.
스테이트먼트 8. 임의의 선행 스테이트먼트의 방법에 있어서,
각각의 개개의 제1 임시 개인 키 셰어는 공동으로 검증 가능한 비밀 셰어링 체계를 사용하여 생성되는, 컴퓨터 구현 방법.
스테이트먼트 9. 스테이트먼트 1 내지 스테이트먼트 7 중 어느 하나의 방법에 있어서,
각각의 개개의 제1 임시 개인 키 셰어는 샤미르(Shamir)의 비밀 셰어링 체계를 사용하여 생성되는, 컴퓨터 구현 방법.
스테이트먼트 10. 임의의 선행 스테이트먼트의 방법에 있어서, 그룹은 모든 가능한 고유 하위 그룹들로 분할되는, 컴퓨터 구현 방법.
스테이트먼트 11. 컴퓨터 장비로서,
하나 이상의 메모리 유닛들을 포함하는 메모리; 및
하나 이상의 프로세싱 유닛들을 포함하는 프로세싱 장치를 포함하고, 메모리는 프로세싱 장치 상에서 실행되도록 구성된 코드를 저장하고, 코드는 프로세싱 장치 상에 있을 때, 스테이트먼트 1 내지 스테이트먼트 10 중 어느 하나의 방법을 수행하도록 구성되는, 컴퓨터 장비.
스테이트먼트 12. 컴퓨터-판독 가능 저장소 상에서 구체화되고, 컴퓨터 장비 상에서 실행될 때 스테이트먼트들 1 내지 10 중 어느 하나의 방법을 수행하도록 구성된 컴퓨터 프로그램.
본원에서 개시된 또 다른 양상에 따르면, 조정 당사자 및 제1 참가자를 포함하는 방법이 제공될 수 있다.
본원에서 개시된 또 다른 양상에 따르면, 조정 당사자 및 제1 참가자의 컴퓨터 장비를 포함하는 시스템이 제공될 수 있다.

Claims (12)

  1. 참가자들의 그룹의 제1 참가자에 의해 수행되는, 상기 그룹의 타겟 하위 그룹이 디지털 서명을 생성했음을 증명하는 컴퓨터 구현 방법으로서,
    상기 서명은 단지 적어도 임계 수의 개개의 서명 셰어(signature share)들에 기초하여 생성될 수 있고, 상기 그룹의 각각의 참가자는 셰어드 개인 키의 개개의 개인 키 셰어를 갖고, 상기 그룹은 복수의 고유 하위 그룹들로 분할 가능하고, 각각의 하위 그룹은 적어도 상기 임계 수의 참가자들을 포함하고, 상기 방법은,
    상기 제1 참가자가 속한 각각의 개개의 하위 그룹에 대해, 개개의 셰어드 임시 개인 키의 개개의 제1 임시 개인 키 셰어를 생성하는 단계 ― 각각의 개개의 하위 그룹의 각각의 다른 참가자는 상기 개개의 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어를 생성함 ― ;
    각각의 개개의 셰어드 임시 개인 키에 대해, 개개의 셰어드 임시 공개 키를 생성하는 단계;
    상기 서명의 제1 서명 셰어를 생성하는 단계 ― 상기 제1 서명 셰어는 상기 셰어드 개인 키의 제1 개인 키 셰어, 상기 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 제1 임시 개인 키 셰어, 및 메시지에 기초하여 생성됨 ― ; 및
    적어도 상기 임계 수의 개개의 서명 셰어들에 기초하여 상기 서명을 생성하도록 상기 제1 서명 셰어를 조정자에 대해 이용 가능하게 하는 단계를 포함하고, 각각의 개개의 서명 셰어는 상기 셰어드 개인 키의 개개의 개인 키 셰어 및 상기 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키의 개개의 임시 개인 키 셰어에 기초하고, 상기 서명은 상기 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키에 대응하는 개개의 셰어드 임시 공개 키에 기초한 구성요소를 포함하는,
    컴퓨터 구현 방법.
  2. 제1 항에 있어서,
    상기 제1 참가자는 상기 조정자이고, 상기 방법은,
    적어도 상기 임계 수의 개개의 서명 셰어들을 획득하는 단계; 및
    적어도 상기 임계 수의 개개의 서명 셰어들에 기초하여 상기 서명을 생성하는 단계를 포함하는,
    컴퓨터 구현 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 개개의 셰어드 임시 개인 키들 중 타겟 셰어드 임시 개인 키에 대응하는 개개의 셰어드 임시 공개 키와 연관된 하위 그룹에 속하는 개개의 참가자들의 목록을 검증 당사자에 대해 이용 가능하게 하는 단계를 포함하는,
    컴퓨터 구현 방법.
  4. 제3 항에 있어서,
    상기 메시지를 상기 검증 당사자에게 전송하는 단계를 포함하는,
    컴퓨터 구현 방법.
  5. 전술한 청구항 중 어느 한 항에 있어서,
    상기 메시지는 블록체인 트랜잭션의 적어도 일부를 포함하는,
    컴퓨터 구현 방법.
  6. 제2 항 또는 제5 항에 있어서,
    블록체인 네트워크의 하나 이상의 노드들에 상기 블록체인 트랜잭션을 제출하는 단계를 포함하는,
    컴퓨터 구현 방법.
  7. 전술한 청구항 중 어느 한 항에 있어서,
    상기 메시지는 디지털 인증서를 포함하는,
    컴퓨터 구현 방법.
  8. 전술한 청구항 중 어느 한 항에 있어서,
    각각의 개개의 제1 임시 개인 키 셰어는 공동으로 검증 가능한 비밀 셰어링 체계(joint verifiable secret sharing scheme)를 사용하여 생성되는,
    컴퓨터 구현 방법.
  9. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    각각의 개개의 제1 임시 개인 키 셰어는 샤미르(Shamir)의 비밀 셰어링 체계를 사용하여 생성되는,
    컴퓨터 구현 방법.
  10. 전술한 청구항 중 어느 한 항에 있어서,
    상기 그룹은 모든 가능한 고유 하위 그룹들로 분할되는,
    컴퓨터 구현 방법.
  11. 컴퓨터 장비로서,
    하나 이상의 메모리 유닛들을 포함하는 메모리; 및
    하나 이상의 프로세싱 유닛들을 포함하는 프로세싱 장치를 포함하고, 상기 메모리는 상기 프로세싱 장치 상에서 실행되도록 배열된 코드를 저장하고, 상기 코드는 상기 프로세싱 장치 상에 있을 때, 제1 항 내지 제10 항 중 어느 한 항의 방법을 수행하도록 구성되는,
    컴퓨터 장비.
  12. 컴퓨터-판독 가능 저장소 상에서 구체화되고, 컴퓨터 장비 상에서 실행될 때 제1 항 내지 제10 항 중 어느 한 항의 방법을 수행하도록 구성된 컴퓨터 프로그램.
KR1020247004670A 2021-08-09 2022-07-11 디지털 서명들의 생성 KR20240045226A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2111442.6A GB2609908B (en) 2021-08-09 2021-08-09 Generating Digital signatures
GB2111442.6 2021-08-09
PCT/EP2022/069261 WO2023016730A1 (en) 2021-08-09 2022-07-11 Generating digital signatures

Publications (1)

Publication Number Publication Date
KR20240045226A true KR20240045226A (ko) 2024-04-05

Family

ID=82786474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247004670A KR20240045226A (ko) 2021-08-09 2022-07-11 디지털 서명들의 생성

Country Status (4)

Country Link
KR (1) KR20240045226A (ko)
CN (1) CN117837127A (ko)
GB (1) GB2609908B (ko)
WO (1) WO2023016730A1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201817507D0 (en) * 2018-10-27 2018-12-12 Nchain Holdings Ltd Computer implemented system and method
CN110993044B (zh) * 2019-11-28 2023-03-28 周口师范学院 一种医疗联盟链轻量级动态自主跨链交互方法

Also Published As

Publication number Publication date
CN117837127A (zh) 2024-04-05
GB2609908B (en) 2023-10-18
WO2023016730A1 (en) 2023-02-16
GB2609908A (en) 2023-02-22

Similar Documents

Publication Publication Date Title
US20230246825A1 (en) Generating secret shares
US20230224147A1 (en) Generating shared private keys
US20240097894A1 (en) Threshold key exchange
CN115885498A (zh) 阈值签名
TW202318833A (zh) 臨界簽章方案
KR20230093432A (ko) 서비스 거부 공격들의 식별
US20230163977A1 (en) Digital signatures
US20240121109A1 (en) Digital signatures
KR20240045231A (ko) 디지털 서명 셰어의 생성
WO2023072502A1 (en) Generating shared keys
WO2023036528A1 (en) Generating shared cryptographic keys
KR20240045226A (ko) 디지털 서명들의 생성
KR20240046201A (ko) 디지털 서명들의 생성
Lin PCMAE: A Proxy Convertible Multi-AE Scheme and Its Variant
WO2023036534A1 (en) Generating shared cryptographic keys
EP4331176A1 (en) Nested threshold signatures
WO2023143880A1 (en) Generating shared private keys