This paper proposes a deterministic nonce generation technique to address the catastrophic issues associated with nonce reuse in message signing and to enhance the efficiency of Schnorr multi-signature schemes. Additionally, this research aims to reduce computational complexity and bandwidth requirements in digital and multi-signature schemes while maintaining robust security against common attacks. The proposed method was inspired by the EdDSA approach. The methodology includes a comprehensive mathematical analysis of digital signature algorithms and a rigorous examination of their vulnerabilities to well-known cryptographic attacks. This analysis evaluates the effectiveness and robustness of the proposed nonce generation technique within the frameworks of the Schnorr digital signature and the two-round MuSig schemes. Techniques and tools employed in this research involve deterministically generating nonces by hashing the private key and subsequently hashing the result with the message. Furthermore, it is proposed to exclude the public nonce R from the challenge calculations and to allow signers to directly prove possession of their secret keys through the aggregated public key, thereby eliminating the need for non-interactive zero-knowledge (NIZK) proofs. The findings demonstrate significant reductions in computational complexity and operational requirements, thereby improving bandwidth efficiency and making this method well-suited for resource-constrained devices. The approach also exhibits strong resistance to various attacks, including nonce reuse, key cancellation, rogue keys, and virtual machine rewinding.
Citation: Nawras H. Sabbry, Alla Levina. Nonce generation techniques in Schnorr multi-signatures: Exploring EdDSA-inspired approaches[J]. AIMS Mathematics, 2024, 9(8): 20304-20325. doi: 10.3934/math.2024988
[1] | P. Thanalakshmi, N. Anbazhagan, Gyanendra Prasad Joshi, Eunmok Yang . A quantum resistant universal designated verifier signature proof. AIMS Mathematics, 2023, 8(8): 18234-18250. doi: 10.3934/math.2023927 |
[2] | Yanlan Zhang, Changqing Li . The discernibility approach for multi-granulation reduction of generalized neighborhood decision information systems. AIMS Mathematics, 2024, 9(12): 35471-35502. doi: 10.3934/math.20241684 |
[3] | N. Pazhaniraja, Shakila Basheer, Kalaipriyan Thirugnanasambandam, Rajakumar Ramalingam, Mamoon Rashid, J. Kalaivani . Multi-objective Boolean grey wolf optimization based decomposition algorithm for high-frequency and high-utility itemset mining. AIMS Mathematics, 2023, 8(8): 18111-18140. doi: 10.3934/math.2023920 |
[4] | Yajun Xie, Minhua Yin, Changfeng Ma . Novel accelerated methods of tensor splitting iteration for solving multi-systems. AIMS Mathematics, 2020, 5(3): 2801-2812. doi: 10.3934/math.2020180 |
[5] | Muhammad Tanveer, Imran Ahmed, Ali Raza, Sumaira Nawaz, Yu-Pei Lv . New escape conditions with general complex polynomial for fractals via new fixed point iteration. AIMS Mathematics, 2021, 6(6): 5563-5580. doi: 10.3934/math.2021329 |
[6] | Abdelkader Belhenniche, Monica-Felicia Bota, Liliana Guran . A new approach of overlapping generation model via fixed point technique. AIMS Mathematics, 2024, 9(1): 1166-1179. doi: 10.3934/math.2024057 |
[7] | Jovanny Ibarguen, Daniel S. Moran, Carlos E. Valencia, Rafael H. Villarreal . The signature of a monomial ideal. AIMS Mathematics, 2024, 9(10): 27955-27978. doi: 10.3934/math.20241357 |
[8] | Mohamed I. Abbas, Snezhana Hristova . Existence results of nonlinear generalized proportional fractional differential inclusions via the diagonalization technique. AIMS Mathematics, 2021, 6(11): 12832-12844. doi: 10.3934/math.2021740 |
[9] | Weerawat Sudsutad, Chatthai Thaiprayoon, Sotiris K. Ntouyas . Existence and stability results for $ \psi $-Hilfer fractional integro-differential equation with mixed nonlocal boundary conditions. AIMS Mathematics, 2021, 6(4): 4119-4141. doi: 10.3934/math.2021244 |
[10] | Hedi Yang . Weighted pseudo almost periodicity on neutral type CNNs involving multi-proportional delays and D operator. AIMS Mathematics, 2021, 6(2): 1865-1879. doi: 10.3934/math.2021113 |
This paper proposes a deterministic nonce generation technique to address the catastrophic issues associated with nonce reuse in message signing and to enhance the efficiency of Schnorr multi-signature schemes. Additionally, this research aims to reduce computational complexity and bandwidth requirements in digital and multi-signature schemes while maintaining robust security against common attacks. The proposed method was inspired by the EdDSA approach. The methodology includes a comprehensive mathematical analysis of digital signature algorithms and a rigorous examination of their vulnerabilities to well-known cryptographic attacks. This analysis evaluates the effectiveness and robustness of the proposed nonce generation technique within the frameworks of the Schnorr digital signature and the two-round MuSig schemes. Techniques and tools employed in this research involve deterministically generating nonces by hashing the private key and subsequently hashing the result with the message. Furthermore, it is proposed to exclude the public nonce R from the challenge calculations and to allow signers to directly prove possession of their secret keys through the aggregated public key, thereby eliminating the need for non-interactive zero-knowledge (NIZK) proofs. The findings demonstrate significant reductions in computational complexity and operational requirements, thereby improving bandwidth efficiency and making this method well-suited for resource-constrained devices. The approach also exhibits strong resistance to various attacks, including nonce reuse, key cancellation, rogue keys, and virtual machine rewinding.
Digital signatures serve as a cornerstone of modern cryptographic practices, underpinning the security and trustworthiness of digital communications, financial transactions, and authentication processes.
The concept of digital signatures dates back to the 1970s, with the theoretical foundations laid by public key cryptography. Whitfield Diffie and Martin Hellman first introduced the idea in their seminal 1976 paper [1], paving the way for the development of various digital signature schemes. The first practical implementation, the RSA algorithm, was developed in 1977 by Rivest, Shamir, and Adleman [2]. It utilizes the computational difficulty of factoring large integers as the basis for security. This was followed by the introduction of the digital signature algorithm (DSA) in the early 1990s, which relies on the discrete logarithm problem [3]. Both schemes set the stage for subsequent advancements and adaptations in digital signature technology. The Schnorr signature scheme, introduced by Claus Schnorr [4], is distinguished by its simplicity and efficiency, particularly in terms of verification speed and shorter signatures. Later, the Edwards-curve digital signature algorithm (EdDSA) was developed to provide stronger security assurances and better performance using twisted Edwards curves [5]. Each of these developments has contributed to the robust framework within which digital signatures operate today, addressing various aspects of security and efficiency.
The evolution of digital signature schemes has been marked by a continuous quest for enhanced security, efficiency, and practical applicability. In this context, a nonce (number used once) is a random or pseudo-random number that must not be repeated with the same private key. However, the challenge of securely generating nonces (a critical component in the signature process) remains a pivotal concern that directly impacts the scheme's security and operational viability. For instance, in ECDSA (elliptic curve digital signature algorithm) and classic DSA, the uniqueness and secrecy of the nonce are crucial; if a nonce is revealed, it can lead to straightforward attacks that recover the private key. However, generating random nonces is fraught with challenges. The main vulnerability lies in the quality of the randomness. This issue was notably exploited in the PlayStation 3 firmware hack, where ECDSA nonces were predictably generated due to inadequate randomness, ultimately leading to the compromise of the private signing key.
In the digital signature schemes, the elliptic curve digital signature algorithm (ECDSA) [6] and the Edwards-curve digital signature algorithm (EdDSA) [7] have set benchmarks for security and performance. Particularly, EdDSA's approach to deterministic nonce generation has garnered attention for its ability to circumvent the pitfalls associated with random nonce generation, notably the risks of randomness failures and the subsequent exposure to attacks that could compromise the signer's private key. Therefore, the integration of deterministic nonce generation used in EdDSA's into Schnorr signatures presents a promising avenue for enhancing the robustness and efficiency of these protocols. Therefore, integrating deterministic nonce generation, as used in EdDSA, into Schnorr signatures presents a promising avenue for enhancing the robustness and efficiency of these protocols.
Previous studies have highlighted various approaches to nonce generation, emphasizing the risks associated with randomness failures. For instance, in their paper "Reusing Nonces in Schnorr Signatures (and keeping it secure...)" (2018) [8], Beunardeau et al. discuss the problem of nonce reuse in Schnorr signatures, which can reveal the secret signing key and compromise the security of the signature scheme. To overcome this issue, the authors propose a variant of the Schnorr signature scheme that allows for the reuse of nonces across multiple signatures while maintaining security. Their variant uses a prime modulus p such that p-1 has several different factors qi large enough to resist birthday attacks and mutualizes exponentiation efforts to achieve faster and more resource-efficient signatures. The authors also compare the performance of their scheme with classical Schnorr signatures and present several pre-computation techniques to speed up modular exponentiation, which is often the bottleneck in implementations of cryptographic systems.
It is worth noting that a lack of specific literature addressing the issue of nonce reuse attacks in EdDSA digital signatures was identified, largely because EdDSA is resistant to such attacks when the appropriate hashing function is chosen. Nonetheless, it is crucial to acknowledge that the security of any digital signature scheme, including EdDSA, is not impervious to potential vulnerabilities. For instance, fault attacks that exploit computational errors during the signature computation process [9], as well as other types of attacks that are unrelated to nonce reuse, could pose significant risks.
In their paper "Non-interactive Half-Aggregation of EdDSA and Schnorr Signatures" (2021) [10], Chalkias K., Garillot F., Kondi, Y., and Nikolaenko, V. offer a detailed investigation into non-interactive aggregation techniques for EdDSA and Schnorr signatures, focusing on optimizing signature aggregation for improved efficiency in cryptographic applications. The study delves into the intricacies of compact signature schemes, discussing the advantages and challenges of reducing signatures. By conducting thorough implementation and benchmarking analyses, the researchers demonstrate the practicality and performance of the proposed aggregation constructions. The results highlight the feasibility of the half-aggregation scheme and provide insights into the computational overhead required to achieve provable security guarantees in signature aggregation. The authors detail a methodology that not only enhances data compactness but also maintains the integrity and security of the signatures against various cryptographic attacks, making it highly relevant to investigations into the efficiency and security of Schnorr multi-signatures.
In another study, "Two-Round Stateless Deterministic Two-Party Schnorr Signatures from Pseudorandom Correlation Functions" (2023) [11], Kondi, Y., Orlandi, C., & Roy, L. introduced a novel protocol for two-party threshold Schnorr signatures that not only ensures stateless and deterministic signing but also addresses the inefficiencies found in previous threshold protocols. Utilizing pseudorandom correlation functions (PCFs), the study enhances both the security and efficiency of distributed Schnorr signing. These PCFs enable the distribution of signing nonces in a distributed, stateless, and deterministic manner, reducing the bandwidth cost per participant and making the system more suitable for practical applications.
The research provides a comprehensive analysis of various techniques for distributing Schnorr signatures, assessing key factors such as the number of rounds, bandwidth requirements, underlying assumptions, and security guarantees. The proposed protocols are designed to achieve both covert and full active security, offering robust protection against malicious actors under generic cryptographic assumptions. This advancement showcases significant improvements in the field of distributed signing protocols, particularly in how Schnorr signatures can be effectively and securely implemented in a threshold setting.
The research paper titled "MuSig-DN: Schnorr Multi-Signatures with Verifiably Deterministic Nonces" authored by Jonas Nick, Tim Ruffing, Yannick Seurin, and Pieter Wuille (2020) [12], provides significant insights into nonce generation and its implications for digital signature algorithms. The authors introduce a novel multi-signature scheme called MuSig-DN. This scheme utilizes deterministic nonces, which are generated in a manner that effectively safeguards against virtual machine rewinding attacks and nonce reuse attacks.
One of the pivotal challenges existing in MuSig-DN is the inherent complexity associated with deploying non-interactive zero-knowledge (NIZK) proofs to ascertain the deterministic generation of nonces. These proofs, while integral for securing the protocol against specific attack vectors and ensuring the determinism of nonce generation, introduce a notable layer of computational and conceptual complexity. Specifically, the protocol necessitates the construction and verification of NIZK proofs that each nonce was generated in accordance with the deterministic protocol. This requirement not only amplifies the computational overhead but also increases the intricacy of implementation, rendering the protocol less feasible for resource-constrained environments such as hardware wallets, which are prevalent in cryptocurrency applications.
The paper "MuSig2: Simple Two-Round Schnorr Multi-Signatures" (2023) [13], authored by Jonas Nick, Tim Ruffing, and Yannick Seurin, introduces a novel approach to multi-signatures by proposing the MuSig2 scheme, which optimizes the digital signature process. The research conducted in this paper focuses on enhancing the efficiency and security of multi-signature schemes, particularly in the context of Schnorr signatures. By leveraging the concept of using multiple nonces in the signing process, MuSig2 achieves significant improvements in security guarantees and performance metrics.
The key contributions of the paper include:
● Introducing MuSig2 as a two-round variant of the MuSig scheme eliminates the preliminary commitment phase and enables signers to start the signing process directly with nonces.
● Utilizing a varying number of nonces (1, 2, or 4+) to cater to different security requirements and cryptographic assumptions, such as the algebraic group model (AGM) and the one-more discrete logarithm (OMDL) assumption in the random oracle model (ROM).
The results presented in the paper highlight the efficiency gains and security enhancements achieved through the implementation of MuSig2, making it a valuable contribution to the field of digital signatures and multi-signatures.
On the other hand, the novelty of this research is threefold: First, it integrates EdDSA-inspired deterministic nonce generation into Schnorr multi-signatures, effectively combining EdDSA's robustness with the flexibility and efficiency of Schnorr's signature aggregation. Second, it removes the public nonce (R) from the challenge (c) calculations to ensure the uniqueness of each signature. Third, it allows signers to directly verify possession of secret keys using the aggregated public key, thereby enhancing bandwidth efficiency by eliminating the need for NIZK. This streamlined approach significantly improves security and reduces computational complexity, particularly for devices with constrained resources.
The primary motivation for this research is to address security vulnerabilities inherent in Schnorr multi-signatures, specifically those arising from random nonce generation, such as key cancellation, rogue keys, and nonce reuse attacks. Moreover, this study aims to enhance the efficiency and practical applicability of Schnorr signatures in scenarios where computational resources, memory, and bandwidth are limited.
The research methodology employed mathematical analysis of digital signature algorithms (ECDSA, EdDSA, Schnorr, and MuSig (multi signature) and well-known attacks (such as nonce reuse attacks, virtual machine rewinding attacks, key cancellation attacks, and rogue-key attacks) to understand and assess the effectiveness of the proposed method in addressing various challenges and ascertaining its efficiency. By analyzing the strengths and weaknesses of these digital signature schemes and exploring new techniques, this study presents a novel approach that offers a level of security comparable to that of EdDSA. Consequently, this research contributes to ongoing efforts to enhance the effectiveness and security of digital signatures.
This study met its objectives by addressing critical issues related to random nonce generation, generating the nonce in a deterministic manner, reducing computational complexity, and decreasing the amount of transmitted data combined with the NIZK proof to better utilize bandwidth.
The paper is organized as follows: Section 2 delves into the fundamentals of digital signatures, covering key algorithms such as the elliptic curve digital signature algorithm (ECDSA), the Edwards-curve digital signature algorithm (EdDSA), and the Schnorr digital signature algorithm. Section 2.4 discusses signature aggregation. Section 3 describes the proposed contributions of this research, and Section 4 concludes the findings presented in this study.
Understanding the proposed method in this study requires a thorough explanation of the ECDSA mechanism, as it is a fundamental cornerstone of our approach.
Signature generation and verification algorithms in ECDSA are as follows [6]:
Suppose a sender intends to send a message with a digital signature to a receiver. Initially, they must agree on the curve parameters (E, G, n) and the hashing function H, where E represents the elliptic curve equation used, G represents the elliptic curve base point (the generator point), a point on the curve that generates a subgroup of large prime order n, and n represents the order of G. This means that nG = O, where O is the identity element.
In addition to the shared parameters, the process of signature generation involves the following variables: dA, QA, and m. Here, dA represents the private key, which is randomly selected from the interval [1, n-1]); QA represents the public key, computed as dAG; and m represents the message to be signed and sent. Note that the letter 'A' in the variables dA and QA signifies the sender, whom we assume to be Alice.
For Alice to sign a message (m), she follows these steps [6]:
● Calculate e = H(m);
● Select a nonce integer "k" randomly from the range [1, n-1];
● Calculate the point (x1, y1) = kG;
● Calculate r ≡ x1 (mod n);
● Calculate s = k-1(e + rdA);
● The signature is the pair (r, s). Thus, Alice will send the messages(m), QA, r and s to Bob.
Note that it is not only required for "k" to be secret, but it is also crucial to select a different "k" for each signature.
Bob follows these steps to verify Alice's signature:
● Calculate e = H(m);
● Calculate u1≡ es-1 (mod n) and u2≡ rs-1 (mod n);
● Calculate the point (x1, y1) = u1G+ u2QA;
● Alice's signature is valid just if (x1, y1) ≡ kG.
Proof of the correctness of the algorithm:
(x1, y1) = u1G+ u2QA, since u1≡ es-1 (mod n) and u2≡ rs-1 (mod n), then:
(x1, y1) = es-1G+ rs-1QA = s-1(eG + rQA) = eG+rQAs,
since s = k-1(e + rdA), then: (x1, y1) = eG+rQAK−1(e+rdA) = k(eG+rQA)e+rdA,
since QA = dAG, then: (x1, y1) = k(eG+rdAG)e+rdA = kG(e+rdA)(e+rdA) = kG.
Note that the ECDSA is susceptible to the nonce reuse attack. This means that if Alice uses the same nonce when signing different messages, an attacker, or the opponent (whom we will refer to as Oscar), can potentially discover Alice's private key (dA). If Alice reuses the same nonce for different message signings, Oscar can carry out the following steps to expose Alice's private key (dA):
![]() |
If Oscar, who was listening to this conversation, can perform a subtraction operation between s1 and s2, the resulting outcome will reveal Alice's private key (dA) in the following manner:
s1- s2 = k-1(e1+ rdA) – (k-1(e2+ rdA)) = k-1e1+ k-1rdA - k-1e2- k-1rdA = k-1e1- k-1e2,
s1- s2 = k-1(e1 - e2) = (e1−e2)k, k = e1−e2s1−s2 = (e1 - e2) (s1- s2)-1.
By knowing the nonce "k", Oscar now knows (s1, s2, e1 = H (m1) and e2 = H (m2)). By substituting them into the equations for (s1(or)s2), Oscar can obtain Alice's private key (dA) as follows:
s1 = k-1(e1 + rdA), s1 = (e1+rdA)k, ks1 = e1+ rdA, rdA = ks1 - e1, dA = ks1−e1r,
dA = (ks1 - e1) r-1.
A nonce reuse attack, caused by a random number generator failure, was used to extract the signing key for the PlayStation 3 gaming console [14]. Additionally, a failure in random number generation caused users of the Android Bitcoin Wallet to lose their funds in August 2013 [15]. These incidents emphasize the importance of robust and secure random number generation in cryptographic systems. Thorough testing, evaluation, and implementation of reliable random number generators are crucial to preventing such failures and associated risks.
Understanding the proposed method in this study requires a thorough explanation of the EdDSA mechanism, as it is one of the cornerstone fundamentals of our approach. The signature generation and verification algorithms in EdDSA are as follows [5]:
For Alice to sign a message (m), she follows these steps:
● Select a Private Key (secrete key "Sk") and calculate the public key Pk = SkG;
● Calculate h = H (Sk);
● Calculate the nonce (r) by concatenating (h) with the message (m) and calculate the hash value for them, r = H (h || m), where || means concatenating h with m;
● Calculate R = x-coordinate of (rG);
● Calculate s = r + H (R||Pk||m)Sk;
● The signature is the pair (R, s), so Alice will send the message (m), Pk, R and s to Bob.
Bob follows these steps to verify Alice's signature:
● Calculate ˜s = H (R||Pk|| m);
● Calculate V1 = sG, and V2 = R + Pk˜s;
● The signature is valid just if V1 = V2.
Proof of the correctness of the algorithm:
V2 = R + Pk˜s, R = rG and ˜s = H (R||Pk||m), then:
V2 = rG + PkH (R ||Pk|| m), since Pk = SkG, then:
V2 = rG + SkG H (R ||Pk|| m) = G (r + SkH (R ||Pk|| m)),
since s = r + H (R ||Pk|| m)Sk, then: V2 = sG = V1.
As observed, EdDSA chooses the nonce deterministically as the hash of a part of the private key and the message. Thus, once a private key is generated, EdDSA has no further need for a random number generator to make signatures. In other words, EdDSA is resistant to nonce reuse attacks if an appropriate hashing function is chosen.
However, it is essential to consider the implications of signing the same message multiple times, leading to the reuse of the same nonce [7]. Repeating the signing process with the same message multiple times utilizes the same nonce repeatedly. This occurs because neither the private key nor the message changes, and hashing them multiple times results in the same hash value.
Nonetheless, this repetition does not compromise the security of the system. The reason lies in the fact that the generated signatures remain identical. Consequently, if Oscar attempts to compare these signatures, the result will be zero, indicating that they are indistinguishable.
For a more comprehensive understanding, let us examine the steps that Oscar might follow to implement a nonce reuse attack:
![]() |
Since the two signatures are identical, when Oscar subtracts (s1) from (s2), the result would be zero (s1-s2 = 0). Consequently, Oscar does not receive any benefit or information from these duplicate signatures.
Understanding the proposed method in this study requires a thorough explanation of the Schnorr Digital Signature Algorithm, as it is one of the cornerstone fundamentals of our approach. The interesting aspect of Schnorr signatures lies in their linearity, which offers several advantageous properties. Schnorr signatures follow a specific structure (s = r+ck), where (s) represents the signature, (r) represents the random number, (c) represents the challenge, and (k) represents the secret key. This construction also exhibits linearity, thereby aligning harmoniously with the linear nature of elliptic curve mathematics. The linearity exhibited by Schnorr signatures adds to their appeal and suitability for signature aggregation.
The signature generation and verification algorithms in Schnorr are as follows [16]:
For Alice to sign a message (m), she follows these steps:
● Given a cyclic group G of prime order p with generator g. select a private key (x) such that 0 < x < p;
● Calculate the public key (X), such that X = gx;
● Choose a private nonce (r) randomly, such that 0 < r < p;
● Calculate public nonce R = gr;
● Calculate c = H (X, R, m);
● Calculate s≡(r + cx) mod p;
● The signature is the pair (R, s). So, Alice will send the message (m), Public Key (X), R and s to Bob.
Bob can calculate (c) since he knows Alice's public key (X), (R), and the message (m). Bob considers Alice's signature valid if gs = RXc.
Proof of the correctness of the algorithm:
gs = RXc, since R = gr and X = gx, then:
gs = gr (gx)c = gr+xc = gs, because s = r + xc.
Note that Schnorr is susceptible to the nonce reuse attack. Oscar can carry out the following steps to expose Alice's private key (x) if she reuses the same nonce for different message signings:
![]() |
If Oscar performs the subtraction operation between s1 and s2, the resulting outcome will reveal Alice's private key (x) in the following manner:
s1- s2 = r + c1x – (r + c2x) = r + c1x – r–c2x = c1x –c2x,
s1- s2 = x (c1–c2),
x = s1−s2c1−c2 = (s1- s2) (c1 – c2)-1.
By knowing all the parameters (s1, s2, c1 = H (X, R, m1) and c2 = H (X, R, m2)), Oscar can obtain Alice's private key (x).
To comprehend the reason behind the existence of three rounds in multi-signature schemes and how the proposed methodology in this research can eliminate the second round by demonstrating the knowledge of private keys, it is necessary to explain the basic principles related to signature aggregation, its inherent weaknesses, and the potential for exploitation. First of all, it is essential to familiarize oneself with some fundamental concepts.
The process for creating signatures consistently follows this recipe:
● Generate a secret nonce (r);
● Create a public nonce R, where R = rG;
● Alice sends the message (m), R, and the public key (P = private key(k)G) to Bob.
The actual signature is created by hashing the combination of all the public information above to create a challenge, c = H(R||P||m). The hashing function is chosen so that (e) has the same range as private keys.
The actual signature is created by hashing the combination of all the public information mentioned above to create a challenge, c = H(R||P||m). The hashing function is chosen so that (e) has the same range as the private keys. Now, the signature is constructed using the private information (s = r + ck).
Bob can calculate (c), since he already knows (m), (R), and (P). However, he doesn't know the private key or the nonce.
Given the equation sG = (r+ck) G, this expression is expanded to sG = rG + ckG. It is further simplified to sG = rG + (kG)c. With R = rG and P = kG denoted, the equation simplifies to sG = R + Pc.
So, Bob needs to calculate (sG) and check if this calculated value matches the right-hand side of the equation (R + Pc). Bob already has all the necessary information to perform these steps.
After a brief explanation of the approach used to create signatures and how the receiver can verify their authenticity, let us now discuss signature aggregation:
To gain a simple understanding of this, let's explore the application of the linear property of Schnorr signatures to create a two-of-two multi-signature. In this scenario, Alice and Bob want to co-sign a message without completely trusting each other. They need a way to prove ownership of their individual keys, and the combined signature is valid only if both Alice and Bob contribute to it.
Assuming private keys are denoted ki and public keys Pi. If we ask Alice and Bob to each supply a nonce, we can try:
Pagg=Pa+Pb, | (1) |
c=H(Ra‖Rb‖Pa‖Pb‖m), | (2) |
sagg=ra+rb+(ka+kb)c, | (3) |
sagg=(ra+kac)+(rb+kbc)=sa+sb. | (4) |
It appears that both Alice and Bob have the ability to contribute their own (R) values. Additionally, it is possible for anyone to create a two-of-two signature by combining these (R) values with the corresponding public keys. However, it is crucial to note that this scheme suffers from a security vulnerability known as the Key Cancellation Attack.
To understand the key cancellation attack, let us reconsider the previous scenario from a different perspective. This time, Bob has prior knowledge of Alice's public key and public nonce. He waits until she reveals them, then proceeds to deceive by claiming his public key is P′b = Pb - Pa and his public nonce is R′b = Rb - Ra. It is important to note that Bob does not possess the private keys corresponding to these bogus values.
Despite this deception, everyone assumes that the aggregated signature expression remains sagg = Ra+R′b+ c(Pa+P′b) in accordance with the aggregation scheme. However, Bob has the ability to create this signature by himself.
To illustrate, we will utilize the equation (sG = R + Pc) to explain the vulnerability:
saggG = Ra+R′b+ c(Pa+ P′b) = Ra+ (Rb-Ra) + c (Pa+Pb-Pa) = Rb + cPb = rbG + ckbG,
saggG = G (rb+ ckb),
sagg = (rb+ ckb), Therefore, sagg = sb.
Bob could be compelled to authenticate by signing a message, proving his knowledge of the private keys. This method works, but it requires an additional round of messaging between parties. To prevent this attack, the multi-signature method involves three rounds.
Design of the Schnorr multi-signature scheme:
The primary approach for designing a Schnorr multi-signature scheme can be described as follows:
Consider a scenario involving a group of (n) signers who intend to co-sign a given message (m). Initially, each co-signer randomly calculates and shares a unique value Ri = gri, where (g) is the generator of the underlying group and ri is a randomly chosen exponent associated with each co-signer.
Subsequently, each cosigner proceeds to compute two values: R = ∏ni=1Ri and c = H (˜X, R, m). Here, ˜X represents the product of the individual public keys, Xi, of all the cosigners, ˜X = ∏ni=1Xi (aggregated public key).
Moving on, the partial signature for each cosigner is computed as si = ri+ cxi, where xi represents the secret key associated with cosigner i. Each cosigner independently calculates their respective partial signature.
Finally, all partial signatures are merged into a single signature using the relation s≡∑ni=1si(modp), where (p) is the group's prime modulus.
The verification process of a signature, denoted as (R, s), on a message (m), with respect to a set of public keys {X1, ..., Xn}, can be expressed equivalently as the equation gs = R˜X.
It should be noted that this verification equation corresponds precisely to the verification equation utilized in Schnorr signatures with respect to the public key represented by ˜X. This particular property is commonly referred to as key aggregation. However, it is essential to acknowledge that these protocols are susceptible to a rogue-key attack [17]. This attack occurs when a malicious signer deliberately sets their public key to X1 = gx1(∏ni=2Xi)-1, thereby enabling the signer to generate signatures for the individual public keys {X1, ..., Xn} independently.
MuSig signature scheme:
MuSig is a Schnorr-based multi-signature scheme that allows a group of signers to produce a short, joint signature on a common message. MuSig is provably secure in the plain public-key model.
The signature generation and verification algorithms in MuSig are as follows [18]:
MuSig is parameterized by group parameters (G, p, g) and three hash functions (Hcom, Haggand Hsig). These three hash functions can be either identical or distinct, with the decision depending on the desired security level. Utilizing distinct hash functions enhances the level of security.
- Round 1:
A group of (n) signers wants to co-sign a message (m). Let X1 and x1 be the public and private keys of a specific signer, where X1 = gx1. Let X2, …, Xn be the public keys of the other co-signers and let (L) be the multi-set of all public keys involved in the signing process.
For i∈{1, …, n}, the signer computes ai = Hagg (L, Xi) as well as the "aggregated" public key ˜X = ∏ni=1Xaii.
- Round 2:
The signer generates a random private nonce r1, computes the public nonce R1 = gr1, and the commitment t1 = Hcom(R1), then sends t1 to all other cosigners.
Upon receiving the commitments t2, …, tn from other cosigners, the signer sends R1 to all other cosigners. This ensures that the public nonce is not exposed until all commitments have been received.
Upon receiving R2, …, Rn from other cosigners, the signer verifies that ti = Hcom(Ri) for all i∈{2, …, n}.
By sending the commitments first, the signers can ensure that no one can change their public nonce after seeing the others. This prevents a rogue-key attack, as a malicious signer would need to know the public nonces of the other signers in advance to construct a rogue public key. If any signer detects a mismatch, they abort the protocol. This ensures that the signers are using the same set of public nonces to compute the aggregated signature, which is important for the security and correctness of MuSig.
- Round 3:
If all commitment and random challenge pairs can be verified with Hagg, the next step involves computing R = ∏ni=1Ri, c = Hsig(˜X, R, m) and s1≡ (r1+ ca1x1) mod p.
Signature s1 is sent to all other cosigners. Upon receiving s2, …, sn from other cosigners, the signer can compute s ≡∑ni=1si(mod p). The signature is the pair (R, s).
In order to verify the aggregated signature, the message (m), multi-set of public keys (L), (R), and (s) will be sent to the receiver.
The receiver follows these steps to verify the aggregated signature:
● ai = Hagg (L, Xi) for i∈{1, …, n};
● ˜X = ∏ni=1Xaii;
● c = Hsig (˜X, R, m);
● The signature is accepted if gs = R ∏ni=1Xcaii = R˜Xc.
Proof of the correctness of the algorithm:
gs = R ˜Xc, since R = ∏ni=1Ri = ∏ni=1gri, and since ˜X = ∏ni=1Xaii = ∏ni=1(gxi)ai, then:
gs = ∏ni=1gri∏ni=1(gxiai)c = ∏ni=1gri+xiaic = gr1+x1a1c+ … + grn+xnanc = g∑ni=1si = gs, because s = ∑ni=1si.
This method is immune to key cancellation attacks and rogue key attacks, but it is vulnerable to the nonce reuse attack. To understand how MuSig is susceptible to this attack, consider the scenario where Alice, among a group of cosigners, reuses the same nonce for signing different messages. In this case, Oscar can carry out the following steps to expose Alice's private key (x):
![]() |
If Oscar listens to this conversation, he can perform the subtraction operation between these two signings (s1) and (s⃓1), and the resulting outcome will reveal Alice's private key (x1) in the following manner:
s1 - s⃓1 = r1 + ca1x1 – (r1+ c⃓a1x1) = r1 + ca1x1 – r1 – c⃓a1x1,
s1 - s⃓1 = ca1x1 – c⃓a1x1 = a1x1 (c – c⃓),
x1 = (s1-s⃓1) (a1(c – c⃓))-1.
Since Oscar knows (s1, s⃓1, R, m1 and m2) and can calculate c = Hsig (˜X, R, m1), c⃓ = Hsig(˜X, R, m2) and a1 = Hagg (L, X1), he can then calculate Alice's private key (x1).
To gain a different perspective on the problem, we can examine it from an alternative angle. It is essential to consider the following scenario where Alice and Bob try to co-sign a message (m1):
![]() |
If Oscar listens to this conversation, then he can perform the subtraction operation between Alice's two signatures. The resulting outcome will reveal Alice's private key (x1) in the following manner:
s1 - s⃓1 = r1+ ca1x1 - r1 - c⃓a1x1 = ca1x1 - c⃓a1x1 = x1 a1 (c-c⃓),
x1 = s1−s⃓1a1(c−c⃓) = (s1 - s⃓1)(a1(c-c⃓))-1.
This highlights the vulnerability of the MuSig protocol to nonce reuse attacks when the same nonce is utilized in multiple signature operations.
Based on the previous explanation, the novelty in the MuSig signature scheme involves the addition of the component ai to address the issue of key cancellation attacks in key aggregation for multi-signature schemes. Additionally, the MuSig signature scheme adopts a three-round signing process to counter rogue key attacks, which represent the main drawback of this method. As a result, alternative models for multi-signature schemes that require only two rounds, such as MuSig-DN and MuSig2, have been proposed.
As mentioned in the Introduction section [12], the complexity of the NIZK proof in the MuSig-DN protocol renders it impractical for use on dedicated signing devices like hardware wallets, which are typically employed for storing bitcoins.
Additionally, according to the Introduction section of this study [13], MuSig2 can use different numbers of nonces depending on the specific configuration:
● MuSig2 can use one nonce, but this configuration may have limitations in terms of security guarantees.
● MuSig2 can use two nonces to be secure under the Algebraic One-More Discrete Logarithm (AOMDL) assumption in the ROM when AGM is additionally assumed.
● MuSig2 can use four or more nonces to be proven secure under the (OMDL) assumption in the ROM (Random Oracle Model).
Thus, each signer in MuSig2 provides a list of at least two nonces, which are then combined to form the aggregate nonce for the signing operation.
In the ROM, each cosigneri utilizes four or more nonces (R‘i,R‘‘i,R‘‘‘i,R‘‘‘‘i,…,Rnn), . Then, the cosigneri uses a random combination Ri = R‘i(R‘‘i)b(R‘‘‘i)b2 (R‘‘‘‘i)b3, where the exponent b is set by hashing essentially the entire protocol input and transcript after the nonce exchange round (the aggregated public key, the message, and the nonces of all signers):
b=H(˜X,m,(∏ni=1R‘i,∏ni=1R‘‘i,∏ni=1R‘‘‘i,∏ni=1R‘‘‘‘i,…,∏ni=1Rni)). | (5) |
In the AGM, each cosigneri utilizes two nonces (R‘i,R‘‘i). Then, the cosigneri uses a random combination Ri = R‘i(R‘‘i)b, where b = H (˜X, m, (R‘1R‘2, R‘‘1R‘‘2)).
When using two or four nonces in the MuSig2 scheme, as compared to using a single nonce, there is some additional computational complexity involved. This is because each signer, providing two or four nonces in MuSig2, faces an overhead in combining these nonces to form the aggregate nonce. This process involves additional computations to derive the scalar b via a hash function. Additionally, the signer's complexity increases slightly due to the need to handle multiple nonces and perform the necessary calculations for nonce aggregation.
This section elucidates the proposed solution for addressing the nonce generation problem existing in Schnorr's Digital Signature and Schnorr's Multi Signature schemes, as explained in Sections 2.3 and 2.4. The proposed solution includes:
● Utilizing a similar private key generation approach as seen in the digital signature algorithm (EdDSA) to generate deterministic private nonces. This study suggests generating the private nonce by combining the message with the hashed value of the private key (x).
● Excluding the public nonce (R) from the calculation of the challenge c = Hsig(X, R, m). To ensure the uniqueness of each signature, additional context and protocol-level safeguards akin to those utilized in the EdDSA framework (which falls beyond the purview of this study) should be implemented. This includes the integration of sequence numbers, timestamps, and other session-specific data into the messages. These components, which operate externally to the digital signature mechanism, are intended to mitigate certain attacks, notably replay attacks.
● In the proposed multi-signature scheme, the aggregated public key ˜X has been utilized instead of a NIZK proof to demonstrate that the owner of the public keys knows the corresponding secret keys. Therefore, if the aggregated public key ˜X matches any of the public keys of one or more cosigners, then the signing process is rejected.
The process for implementing these solutions is described in two sections:
First: Schnorr Digital Signature algorithm:
The signature generation and verification process in Schnorr is as follows:
To sign a message (m), Alice follows these steps:
● Select a Private Key (x) such that 0 < x < p;
● Calculate the Public Key (X), such that X = gx;
● Calculate h = H(x);
● Calculate the private nonce r = H (h||m);
● Calculate the public nonce R = gr;
● Calculate c = H (X, m);
● Calculate s≡ (r + cx) mod p;
● The signature is the pair (R, s). Thus, Alice will send the message (m), public key (X), (R), and (s) to Bob.
Bob considers Alice's signature valid only if gs = RXc.
Proof of the correctness of the algorithm:
gs = RXc, since R = gr and X = gx, then gs = gr (gx)c = gr+xc = gs, where s = r + xc.
In the current scenario, Alice is unable to sign two different messages using the same nonce. This is because the private nonce changes when the message changes. However, if Alice signs the same message twice, it implies that she is using the same nonce. This raises a concern about the potential compromise of system security. For a more comprehensive understanding, let us examine the steps that Oscar might follow to implement a nonce reuse attack:
![]() |
This shows that the two signatures, s1 and s2, are identical, and subtracting one from the other results in zero (s1-s2 = 0). Therefore, there is no benefit or information gained from duplicate signatures. This means that the security of the system is not compromised when the same message is signed twice with the same nonce. The proposed method effectively prevents nonce reuse attacks by deterministically calculating the private nonce, ensuring it changes with each new message. Even if the same message is signed multiple times, the process remains secure.
In addition, the proposed method for signing messages does not require storing any information during the signing process. The necessary calculations can be made from the inputs and received messages, eliminating the risk of manipulation through virtual machine rewinding attacks.
To prevent potential exploitation of collision probabilities, it is recommended to use appropriate cryptographic hashing functions.
Second: Proposed multi-signature scheme:
In order to differentiate multi-signature schemes, the classification is as follows:
● Multi-signature schemes, wherein n-of-n signers are required to collectively produce a valid signature.
● Threshold signature schemes wherein any subset of size t-of-n signers out of n total signers can collectively produce a valid signature.
It should be noted that this section exclusively addresses multi-signature schemes.
The proposed multi-signature generation and verification scheme is as follows:
- Round 1:
A group of n signers want to co-sign a message m. Let X1 and x1 be the public and private key of a specific signer, where X1 = gx1. Let X2, …, Xn be the public keys of the other co-signers, and let (L) be the hash value of the multi-set of all public keys involved in the signing process, L = Hagg (X1||…||Xn):
● For i∈{1, …, n}, each signer computes the following: ai = Hagg (L, Xi), as well as the aggregated public key: ˜X = ∏ni=1Xaii. The signer must check if (˜X = Xaii); if so, then the signing operation is terminated.
● The signer calculates h = Hagg(x1), computes the private nonce r1 = Hagg(h||m), computes the public nonce R1 = gr1, and sends R1 to all other co-signers and receives R2, …, Rn from other co-signers.
- Round 2:
● Calculate c = Hsig (˜X, m) and s1≡ r1+ca1x1 (mod p);
● Signature s1 is sent to all other co-signers. Upon receiving s2, …, sn from other co-signers, they then calculate R = ∏ni=1Ri and s ≡ ∑ni=1si(mod p). The signature will be the pair (R, s). The message (m) and signature pair (R, s) will be sent to the receiver.
The receiver follows these steps to verify the aggregated signature:
● ai = Hagg(L, Xi) for i∈{1, …, n};
● ˜X = ∏ni=1Xaii;
● c = Hsig (˜X, m);
● The signature is accepted if gs = R ˜Xc.
Proof of the correctness of the algorithm:
gs = R˜Xc, since R = ∏ni=1Ri = ∏ni=1gri, and since ˜X = ∏ni=1Xaii = ∏ni=1(gxi)ai, then:
gs = ∏ni=1gri (∏ni=1gxiai)c = ∏ni=1gri+xiaic = gr1+x11c + … + grn+xnanc,
gs = g∑ni=1si = gs, because s = ∑ni=1si.
To enhance comprehension of the operational mechanism of the proposed method and its resilience against the rogue key attack, a simple example is employed to elucidate it:
Suppose that Alice and Bob want to co-sign a message (m) and then send this multi-signature to Robert (the receiver). The steps for the proposed multi-signature scheme are as follows:
- Round 1:
Let Xa and xa be the public and private keys of Alice, where Xa = gxa, and let Xb and xb be the public and private keys of Bob, where Xb = gxb, then L = Hagg (Xa||Xb):
● Alice computes aa = Hagg (L, Xa), and because she already knows Bob's public key Xb (which is publicly available), she can calculate ab = H(L||Xb). After this, Alice calculates the aggregated public key ˜X = Xaaa⋅Xabb.
If Alice finds that ˜X = Xabb, then the protocol is terminated because the public key that Bob uses is fake, equating to Xb = (gxb)ab⋅(Xaaa)−1. This manipulation suggests Bob's attempt to execute a rogue key attack, exploiting his knowledge of Alice's public key to undermine the integrity of the aggregated public key, calculated as ˜X = Xaaa⋅Xabb = Xaaa⋅gxb⋅(Xaaa)−1 = gxb=Xabb. By halting the signing process at this juncture, the protocol effectively prevents Bob from forging the signature by nullifying Alice's public key contribution, thus safeguarding against potential signature forgery by Bob.
Similarly, Bob computes ab = Hagg (L, Xb), and because he already knows Alice's public key Xa(which is publicly available), he can calculate aa = H(L||Xa). After this, Bob calculates the aggregated public key ˜X = Xaaa⋅Xabb.
If Bob finds that ˜X = Xabb, then the protocol is terminated, indicating that Alice might be attempting a rogue key attack.
● If neither Alice nor Bob are performing a rogue key attack, then the multi-signature steps will proceed. Alice calculates h = Hagg(xa), private nonce ra = Hagg(h||m), Public nonce Ra = gra, and sends Ra to Bob and receives Rb from him, who calculated Rbin the same way as Alice did.
- Round 2:
● Alice calculates R = ∏ni=1Ri, c = Hsig(˜X, m) and sa≡ (ra+caaxa) mod p.
● Alice sends the signature sa to Bob and receiving sb from him, who calculates sb in the same manner as Alice did.
● The aggregated signature will be s = sa +sb (mod p). Then, the multi-signature will be the pair (R, s). Subsequently, the message (m) and the signature pair (R, s), will be sent to Robert.
Robert will consider the multi-signature to be valid only if gs = R ˜Xc
When evaluating the efficacy of the proposed method against nonce reuse attacks, it should be noted that Alice is unable to sign two different messages using the same nonce. This is because the private nonce changes when the message does. However, if Alice signs the same message twice, it indicates she is using the same nonce. This raises concern about whether this compromises the security of the system.
Let us assess whether the security of the system would be compromised in instances where Alice co-signs a message (m) twice with Bob while utilizing the same nonce:
![]() |
![]() |
Since the two signatures (s⃓a and sa) are identical, this means that when Oscar subtracts one signature (sa) from the other (s⃓a), the result is zero (sa-s⃓a = 0). Consequently, this indicates that the system's security remains uncompromised when signing the same message with the same nonce multiple times, as the duplicate signatures yield no new information.
Now, the effectiveness of the proposed method in addressing the issue explained in the second scenario in Section 2.4 will be assessed as follows:
![]() |
![]() |
In the suggested approach, Bob cannot choose different nonces for the same message. Even if Bob attempts to do so intentionally, Alice will still sign the same message with the same unique nonce, resulting in identical signatures. Specifically, the signatures (s⃓a and sa) are identical because we excluded the public nonce from the challenge calculations. Consequently, subtracting one signature from the other results in zero (sa-s⃓a = 0). This means that Oscar gains no benefit or information from these duplicate signatures.
Thus, the proposed method effectively thwarts nonce reuse attacks by deterministically calculating and changing the private nonce for each new message. Additionally, the method does not require storing any information during the signing process, as all necessary calculations can be derived from the inputs and received messages. This eliminates the risk of manipulation through virtual machine rewinding attacks. To mitigate the potential exploitation of collision probabilities, employing suitable cryptographic hashing functions is recommended.
The method proposed to enhance the Schnorr digital signature and two-round MuSig shows promise in achieving several important objectives. First, it improves the Schnorr digital signature by combining the private key and the message through hashing, then it hashes the result again to generate a private nonce, inspired by the method used in EdDSA.
The proposed method excludes the public nonce (R) from the challenge calculations (c = Hsig(X, R, m)), ensuring the uniqueness of each signature. Moreover, removing (R) from these calculations reduces the computational complexity, a crucial factor in constrained resources devices where every computational step matters. A significant advantage of this method is that it ensures the private nonce will be different for each new message. Even if the same message is signed multiple times with the same nonce, it will not make the system insecure, thus effectively solving the issue of random number generation failures.
In multi-signature schemes, the proposed method compares to the MuSig signature scheme. While MuSig is resistant to key cancellation and rogue key attacks, it involves three rounds and is susceptible to nonce reuse attacks. In contrast, the proposed method is a two-round scheme that is immune to key cancellation, rogue key, and nonce reuse attacks, offering enhanced security with lower computational complexity.
When compared to MuSig-DN, it is clear that MuSig-DN introduces inherent complexity due to the necessity of deploying NIZK proofs to validate the deterministic generation of nonces. This requirement not only increases computational overhead but also adds complexity to the implementation, making the protocol less practical for devices with constrained resources. In contrast, the proposed method utilizes the aggregated public key ˜X to demonstrate ownership of the corresponding secret keys. This approach eliminates the need to compute and send NIZK proofs along with signatures, leading to reduced computational complexity and bandwidth usage. Thus, the proposed method is more efficient in terms of computational complexity and bandwidth utilization, especially for devices with constrained resources.
Comparing the proposed method to MuSig2, the key difference lies in how they handle nonces. MuSig2 allows for the use of multiple nonces based on a configured set where each signer needs to provide at least two nonces. These nonces are then combined to create an aggregated nonce for the signing process. Thus, generating and using multiple nonces in MuSig2 adds computational complexity, particularly in deriving the scalar "b" using a hash function. Also, sending multiple nonces in MuSig2 leads to higher bandwidth usage. In contrast, the proposed method employs only a single nonce. This streamlined approach eliminates additional computational tasks and minimizes bandwidth requirements, making the process more efficient and straightforward compared to MuSig2.
Although this study does not definitively assert superiority over the established and proven MuSig-DN and MuSig2 methods, it represents a valuable contribution to ongoing efforts to improve digital signature technology. In the proposed method, the public nonce (R) serves the receiver's verification process to ensure the signature's validity. Additionally, the proposed method removes the need to store any information between signing rounds, meaning signers don't have to remember details such as the nonce or partial signature. They can generate these values again using public inputs and messages. This benefit reduces storage and computational requirements for signers and enhances resistance against virtual machine rewinding attacks. As a result, this approach prevents cheating in the public keys, reduces computational complexity, and minimizes the amount of information sent combined with NIZK proof, leading to better utilization of bandwidth.
Nawras H. Sabbry: Conceptualization, methodology, formal analysis, investigation, writing (original draft preparation and visualization); Alla Levina: Supervision, writing (review and editing), project administration, funding acquisition. All authors have read and agreed to the published version of the manuscript.
The authors declare they have not used Artificial Intelligence (AI) tools in the creation of this article.
This research was funded by the Ministry of Science and Higher Education of the Russian Science Foundation (Project "Goszaadanie" No.075-00003-24-02, FSEE-2024-0003).
The authors declare that there are no conflicts of interest regarding the publication of this article.
[1] |
W. Diffie, M. Hellman, New directions in cryptography, IEEE Trans. Inf. Theory, 22 (1976), 644–654. https://doi.org/10.1109/TIT.1976.1055638 doi: 10.1109/TIT.1976.1055638
![]() |
[2] |
R. L. Rivest, A. Shamir, L. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Commun. ACM, 21 (1978), 120–126. https://doi.org/10.1145/359340.359342 doi: 10.1145/359340.359342
![]() |
[3] | F. Pub, Digital signature standard (DSS), 1994. Available from: https://csrc.nist.gov/pubs/fips/186/upd1/final |
[4] |
C. P. Schnorr, Efficient signature generation by smart cards. J. Cryptol., 4 (1991), 161–174. https://doi.org/10.1007/BF00196725 doi: 10.1007/BF00196725
![]() |
[5] |
D. J. Bernstein, N. Duif, T. Lange, P. Schwabe, B. Y. Yang, High-speed high-security signatures, J. Cryptogr. Eng., 2 (2012), 77–89. https://doi.org/10.1007/s13389-012-0027-1 doi: 10.1007/s13389-012-0027-1
![]() |
[6] | D. B. Johnson, A. Menezes, S. A. Vanstone, The elliptic curve digital signature algorithm (ECDSA), Int. J. Inf. Secur., 1 (2001), 36–63. |
[7] |
S. Josefsson, I. Liusvaara, Edwards-curve digital signature algorithm (EdDSA), IRTF. RFC, 2017, 8032. https://doi.org/10.17487/RFC8032.ISSN2070-1721 doi: 10.17487/RFC8032.ISSN2070-1721
![]() |
[8] |
M. Beunardeau, A. Connolly, H. Ferradi, R. Géraud-Stewart, D. Naccache, D. Vergnaud, Reusing nonces in Schnorr signatures, Pro. Cryptology-AFRI., 2017,224–241. https://doi.org/10.1007/978-3-319-66402-6_14 doi: 10.1007/978-3-319-66402-6_14
![]() |
[9] |
Y. Romailler, S. Pelissier, Practical fault attack against the Ed25519 and EdDSA signature schemes, Proc. Workshop Fault Diag. Tole. Cryp., 2017, 17–24. https://doi.org/10.1109/FDTC.2017.12 doi: 10.1109/FDTC.2017.12
![]() |
[10] |
K. Chalkias, F. Garillot, Y. Kondi, V. Nikolaenko, Non-interactive half-aggregation of EdDSA and variants of Schnorr signatures, Lecture Notes Comp. Sci., 2021, 12704. https://doi.org/10.1007/978-3-030-75539-3_24 doi: 10.1007/978-3-030-75539-3_24
![]() |
[11] |
Y. Kondi, C. Orlandi, L. Roy, Two-round stateless deterministic two-party Schnorr signatures from pseudorandom correlation functions, Lecture Notes Comp. Sci., 2023, 14081. https://doi.org/10.1007/978-3-031-38557-5_21 doi: 10.1007/978-3-031-38557-5_21
![]() |
[12] |
J. Nick, T. Ruffing, Y. Seurin, P. Wuille, MuSig-DN: Schnorr multi-signatures with verifiably deterministic nonces, Conf. Comput. Commun. Security, 2020, 1717–1731. https://doi.org/10.1145/3372297.3417236 doi: 10.1145/3372297.3417236
![]() |
[13] |
J. Nick, T. Ruffing, Y. Seurin, MuSig2: Simple two-round Schnorr multi-signatures, Lecture Notes Comp. Sci., 2021, 12825. https://doi.org/10.1007/978-3-030-84242-0_8 doi: 10.1007/978-3-030-84242-0_8
![]() |
[14] |
P. Q. Nguyen, I. E. Shparlinski, The insecurity of the elliptic curve digital signature algorithm with partially known nonces, Des. Codes Cryptogr., 30 (2003), 201–217. https://doi.org/10.1023/A:1025436905711 doi: 10.1023/A:1025436905711
![]() |
[15] | Online content: Android security vulnerability, 2013. Available from: https://bitcoin.org/en/alert/2013-08-11-android |
[16] |
D. Boneh, Schnorr digital signature scheme, Lecture Notes Comp. Sci., 2005,541–542. https://doi.org/10.1007/0-387-23483-7_369 doi: 10.1007/0-387-23483-7_369
![]() |
[17] | M. Michels, P. Horster, On the risk of disruption in several multiparty signature schemes, Lecture Notes Comp. Sci., 1996. |
[18] |
G. Maxwell, A. Poelstra, Y. Seurin, P. Wuille, Simple Schnorr multi-signatures with applications to Bitcoin, Des. Codes Cryptogr., 2019. https://doi.org/10.1007/s10623-019-00608-x doi: 10.1007/s10623-019-00608-x
![]() |