Abstract
We present the first linkable ring signature scheme with both unconditional anonymity and forward-secure key update: a powerful tool which has direct applications in elegantly addressing a number of simultaneous constraints in remote electronic voting. We propose a comprehensive security model, and construct a scheme based on the hardness of finding discrete logarithms, and (for forward security) inverting bilinear or multilinear maps of moderate degree to match the time granularity of forward security. We prove efficient security reductions—which, of independent interest, apply to, and are much tighter than, linkable ring signatures without forward security, thereby vastly improving the provable security of these legacy schemes. If efficient multilinear maps should ever admit a secure realisation, our contribution would elegantly address a number of problems heretofore unsolved in the important application of (multi-election) practical Internet voting. Even if multilinear maps are never obtained, our minimal two-epoch construction instantiated from bilinear maps can be combinatorially boosted to synthesise a polynomial time granularity, which would be sufficient for Internet voting and more.
1. Introduction
Ring signatures, and especially linkable ring signatures, garner much interest in the applied cryptographic community for their promise to simplify certain aspects of the notoriously hard problem of remote electronic voting, which has conflicting and often frustrating security requirements. In particular, linkability [1] or the closely related notion of traceability [2], make it easy to detect when the same signer has signed twice on the same matter, thereby preventing double spending in an electronic cash system, double voting in the same election. This, when combined with the anonymity properties of ring signatures, provides a secure mechanism to validate votes without breaking privacy. This paper is an extended version of our work in [3].
However, thus far, these signatures have not assisted in simultaneously resolving two critical issues in electronic voting. These two issues are: (1) how to register voters; and (2) how to ensure the voters’ long term privacy. Indeed, at present, most proposed electronic voting schemes use cryptography which is likely to allow adversaries to break the privacy of the voters at some point in the future.
To address these issues, an offline key update mechanism would allow the potentially costly registration of a voter’s public key to happen once, whereafter the corresponding private key can be refreshed or updated multiple times, efficiently and non-interactively, for use in subsequent elections. In this context, forward security refers to the notion that the leakage or compromise of an updated private key will not compromise one’s privacy in a past election—or let an attacker forge signatures ostensibly in the past, which could be linked to real votes. For practical electoral systems in particular, it is important that the public-key update mechanism be efficient and non-interactive. The ideal public-key update is the identity function, or “no-op.” The private-key update serves to provide forward security to protect old elections against future data exposure and compromises.
The related but different notion of unconditional anonymity refers to the inability, even by a computationally unbounded attacker, to identify a signer without knowledge of their private key. This notion is important to protect the voter against future increases in computational power (or cryptanalytic attacks, or quantum computers), once they have destroyed their private key after it is no longer needed. Together with linkability, these features make substantially easier the task of designing a secure and useable remote election protocol. Our forward-secure linkable ring signature scheme, when dropped into a number of existing election protocols, directly results in a straightforward and secure electronic voting solution without the cumbersome and procedurally risky steps that would normally be necessary to manage a dedicated key for each election. The additional improvements we detail in this extended version mean that, in many cases, the new scheme would also be more efficient.
Unfortunately—as often with the contradictory requirements of voting—it is easy to convince oneself that anonymity can only hold unconditionally if no authentic private key for the relevant signing ring is ever leaked, not even after having been updated. Indeed, if an adversary knows a voter’s authentic private key, he can always trivially deanonymise their current and future votes using the linkability feature. The same is true for past votes if a past private key can be recovered, by brute force or by breaking a hardness assumption, from a current key. It is an interesting area of future research to see if a key update mechanism, perhaps context dependent, could be developed which would prevent the discovery of past private keys from future keys even for a computationally unbounded adversary. However, such a mechanism would seem to have too many interesting applications to not have been discovered already, unless it were highly non-trivial. In light of this, we deliberately choose to focus on the problem of achieving unconditional anonymity against outsiders, but only computational forward security against insiders in the sense of unforgeability and anonymity after key update.
1.1. Our Results
We present the first linkable ring signature with unconditional anonymity and forward-secure key update, which is a tool that enables significantly more simple and secure remote electronic voting, even within the framework of existing electronic voting protocols, and opens the door to a number of simplified general anonymous authentication protocols for online systems.
To achieve our result, we construct a linkable ring signature from unconditionally hiding commitments, and make sparing use of a bilinear pairing or multilinear map [4,5] to lift it to multiple time periods or “epochs”. Without forward security or key update, our results are inspired by the linkable ring scheme from [1]—which we incidentally vastly improve via much tighter security reductions. (The original linkable ring signatures of Liu et al. [1,6] had proofs with losses exponential in the number of users, due to nested use of the forking lemma [7] on Pedersen commitments [8] in the random-oracle model. Our updated proofs and reductions are independent of the number of users, thanks to a single consolidated use of the forking lemma, and the same techniques directly apply to their construction.)
To get forward security, we build from an l-multilinear map an -time one-way private-key update mechanism which requires no public-key update—for some choice of k. We prove the scheme information-theoretically anonymous, and its other security properties from Discrete Logarithm and two multilinear-map hardness assumptions—one of which amounts to a natural generalisation of the neo-classic Multilinear Decoding Problem [4] and the other is a natural generalisation of Decisional Diffie–Hellman. Notably, a mere 2-linear map (also known as bilinear pairing) already gives us forward security for time periods.
This extended paper expands on our original [3] in numerous ways. The main new technical contribution is a new combinatorial trick which allows us to gain a quadratic number of time periods from bilinear maps. This is accompanied by updated and improved definitions and proofs. The updated definitions increase the adversary’s powers, to better model insider attacks in particular. We have also taken advantage of the increased space available to provide more detailed discussion, including complexity analysis.
1.2. Related Work
Group signatures were introduced by Chaum et al. [9]. They allow the members of a group to generate signatures which can only be verified as emanating from one authorised signer within that group, with the additional property that the signature can be “opened” to reveal the true signer. The ability to open a signature is an important requirement in certain managed applications, but presents an unacceptable privacy loophole in the context of electronic voting. (In the UK, there is a requirement that a judge be able to order a voter’s ballot revealed. Group signatures would be perfect for such subtle voter intimidation, although Continentals would of course disapprove.)
Ring signatures are a variation of group signatures which allow neither pre-authorisation of keys nor deanonymisation of signatures, and hence, do not have those privacy issues. Ring signatures were first presented by Rivest et al. [10] as a way to leak secrets anonymously. Rivest et al.’s initial suggested application was the leaking of information by a cabinet minister. Their scheme also had the nice property that the keys involved could belong to different public key schemes, which made setup very flexible. Since then, many variants have been proposed to suit a large number of applications. For elections, double voting is a major issue which vanilla ring signatures are not readily able to rectify. Linkable ring signatures [6] and traceable ring signatures [2] have been proposed as a way to address this issue. Nevertheless, neither of [2,6] or their variants provides forward security; hence, in a voting application they would require impractically frequent re-registration of new keys to ensure acceptable levels of privacy.
Subsequent notable results in that area include Liu et al. [1], who presented a linkable ring signature with unconditional anonymity, but still without forward security. Our scheme addresses this shortcoming, by providing an offline (non-interactive) private-key-update mechanism with forward security (as well as much improved security reduction tightness over the previous schemes). There are also emerging variants based on cryptographic accumulators as well as post-quantum variants.
1.2.1. Multilinear Maps
Following the blockbuster impact of bilinear maps on cryptography, the question of using multilinear maps for cryptographic applications was first studied at a theoretical level by Boneh and Silverberg [11]. Nearly a decade later, Garg et al. [4] proposed the first practical candidate construction, based on lattice problems. There have since been several additional candidates from lattice- and number-based assumptions, as well as attacks and repair attempts [5,12,13,14,15], with the side of the “offence” presently having the upper hand.
Generally speaking, multilinear maps are useful in allowing more complicated structures in cryptographic constructions. For instance, Diffie–Hellman key exchange in a group supports two parities, with a bilinear map three parties, but on an l-linear map would support l parties. The added structure also allows new techniques to be used which have no equivalence on bilinear maps or standard groups.
Our basic scheme relies on a multilinear generalisation of the Discrete Logarithm problem, which is a weaker assumption than the myriad of Diffie–Hellman variants and extensions typically found in cryptographic constructions based on bilinear or multilinear maps. Our combinatorially boosted version relies on natural generalisations of Computational and Decisional Diffie–Hellman. However, it should be noted that there are no currently unbroken candidates for multilinear maps, and hence the construction in this work is currently only realisable with bilinear pairings.
Our vastly improved security reductions for this class of unconditionally anonymous linkable ring signature scheme with or without forward security still apply, although, providing substantial improvements to the concrete security of [1,6]. We discuss in Section 3.2 the major issues at hand regarding the known multilinear-map candidate constructions.
1.2.2. Voting Systems
In the world of election systems research, the recent Helios [16] protocol is, perhaps, the best known secure Internet voting scheme. It has seen a significant variety of expansions and applications [17,18], but one of its shortcomings is that the voters have to place (too) much trust on the election authority. Our linkable ring signature construction would fit nicely within the Helios protocol to enable powerful anonymous authentication and achieve privacy against the election authority, a property which is not achieved by most implementations of Helios. (In its standardised version [19], Helios relies on a mixnet technique to distribute the election authority’s ability to deanonymise. Even for Helios implementations that use this technique, the ability to enforce anonymity in the authentication mechanism itself would provide stronger privacy guarantees.) More generally, and beyond election systems, our new signature scheme can be used as a general rate-limited (rate limitation in the context of authentication refers to an intentional bound on the number of uses, typically one, that can be made of a credential on a given target) anonymous authentication system with forward secrecy and information-theoretic privacy.
2. Definitions
A forward secure linkable ring signature (FS-LRS) scheme is a tuple of three probabilistic polynomial time algorithms (Setup, KeyGen, and Sign) and four deterministic polynomial time algorithms (Verify, Link, PubKeyUpd, and PriKeyUpd). (Our definitions are fairly direct forward-secure variants of Liu et al. [1].)
- param ← Setup() on input security parameter and number of time periods , returns a public setup param.
- KeyGen(param) given param returns a key pair .
- given an event-id , a group size n, a set of n public keys, a private key whose corresponding public key is in , a message M and a time t, produces a signature .
- accept|reject ← Verify given an event-id , a group size n, a set of n public keys, a message-signature pair , and time t, returns accept or reject. We define a signature as valid for () if Verify outputs accept.
- linked|unlinked←Link given an event-id , time t, two group sizes two sets of public keys respectively, and two valid signature and message pairs outputs linked or unlinked.
- PubKeyUpd given a public key, Z at time t, produces a public key for time .
- PriKeyUpd given a private key at time t, produces the corresponding private key for time .
We stress that in our current definitions PubKeyUpd and PriKeyUpd are deterministic functions. While it is interesting to consider systems where these functions might be randomised, this would need to be carefully considered. We are particularly concerned that randomised functions might severely limit the applications in which the signatures could be deployed.
2.1. Correctness Notions
To be functional, an FS-LRS scheme must satisfy the following:
- Verification correctness: Signatures signed correctly will verify.
- Updating correctness: For any time period of the system, the secret key derived from the private-key update function will create a valid signature on a ring, verifiable using the public key derived using the public-key update.
- Linking correctness: Two honestly created signatures on the same event and time period will link if and only if they have the same signer. (This is implied by the two security notions of linkability and non-slanderability; see below.)
2.2. Security Model
Security of FS-LRS has five aspects: unconditional anonymity, linkability, non-slanderability, forward-secure unforgeability, and forward-secure anonymity. (Ideally, we would be able to achieve forward-secure unconditional anonymity, and hence combine the first and last security properties. However, intuitively this property appears to be too strong to be achievable.)
2.2.1. Reflections
In our initial paper, we presented our definitions following fairly directly from Liu et al. in [1]. In this paper, we have made a few changes; primarily, we have strengthened the adversary’s powers in the anonymity definitions. We have also modified the signing oracle to allow the adversary access to genuine signatures where the adversary does not know who the signer is. This is to better reflect the real adversary’s powers in electronic voting. We note that our definitions and reductions are strictly stronger and tighter than Liu et al.
If a forward-secure linkable ring signature could be developed with much stronger privacy than any present solution, this would dramatically simply the security definitions. However, at present it is difficult to write definitions which closely match the expected level of security without being overly verbose. For instance, Liu et al.’s definition of privacy does not provide the adversary with access to genuine signatures, other than the challenge. In any deployed scheme, the adversary would having access to such signatures and hence the model clearly fails to capture reality. However, Liu et al.’s scheme appears to have a minimal loss of privacy under a differential privacy attack. This case highlights both the inadequacies of the model and the strength of the scheme. In summary, we believe our definitions capture well the intuitive definition of security; nevertheless, it is an interesting area of future research to present a scheme with stronger privacy that allows the simplification of the security model.
2.2.2. Oracles
The following oracles model the ability of the adversary to break the scheme:
- . The Joining Oracle, upon request, adds a new user to the system, and returns the public key of the new user at the time t.
- . The Corruption Oracle, on input a previously joined public key , returns the matching secret key at the time t.
- . The Signing Oracle, on input an event-id , a group size n, a set of n public keys, a set of public keys of possible signers , a message M, and a time t, returns a valid signature .
We omit the time and user subscripts when clear from context. In particular, our public key does not undergo updating, so will be independent of t.
- The Random Oracle, on input x, returns h independently and uniformly at random. If an x is repeated, the same h will be returned again.
2.2.3. Unconditional Anonymity
It should not be possible for an adversary to tell the public key of the signer with a probability larger than , where is the number of uncorrupted keys in the ring, even if the adversary has unlimited computing resources. Specifically, FS-LRS unconditional anonymity is defined in a game between a challenger and an unbounded adversary with access to , , :
- generates and gives the system parameters param.
- may query ,, and according to any adaptive strategy.
- gives an event-id e, a time t, a group size n, a set of of n public keys such that all of the public keys in are query outputs of and no key in has been input to in a set which was not a superset of , a message M, and a time t. Parsing the set as {}, picks {} uniformly from the uncorrupted subset and computes Sign(), where is a valid private key corresponding to at time t. The signature is given to .
- outputs a guess {}.
We denote the adversary’s advantage by .
Definition 1.
Unconditional Anonymity. AnFS-LRS scheme is unconditionally anonymous if, for all unbounded adversaries, is zero.
2.2.4. Linkability
It should be infeasible for the same signer to generate two signatures for the same event and time, such that they are determined to be unlinked. Linkability for an FS-LRS scheme is defined in a game between a challenger and an adversary with access to oracles , , and :
- generates and gives the system parameters param.
- may query the oracles according to any adaptive strategy.
- gives an event-id , a time t, two sets of public keys of sizes , two messages , and two signatures .
wins the game if:
- All of the public keys in are query outputs of ;
- Verifyt for not outputs of ;
- At most one query has been made to ; and
- Link(, ) = unlinked.
We denote the adversary’s advantage as .
Definition 2.
Linkability. AnFS-LRSscheme is linkable if for all Probabilistic Polynomial-Time (PPT) adversaries, is negligible.
2.2.5. Non-Slanderability
Non-slanderability ensures that no signer can generate a signature which is determined to be linked with another signature not generated by the signer. FS-LRS non-slanderabilty is defined in a game between a challenger and an adversary with access to the oracles , , and :
- generates and gives the system parameters param.
- may query the oracles according to any adaptive strategy.
- gives an event-id , a time t, a group size n, a message M, a set of n public keys , and the public key of an insider . uses the private key correspoing to to run Sign() and to produce a signature given to .
- queries oracles adaptively. In particular, is allowed to query any public key which is not to .
- outputs , public keys , a message , and a signature .
A wins the game if:
- Verify(, t) = accept on not an output of ;
- all of the public keys in , are query outputs of ;
- has not been queried to ; and
- Link() = linked.
We denote the adversary’s advantage by .
Definition 3.
Non-slanderabilty. AnFS-LRSscheme is non-slanderable if for any PPT adversaries, is negligible.
2.2.6. Forward-Secure Unforgeability
Forward-secure unforgeability ensures that it is not feasible for an adversary with a private key for a time period strictly greater than t to create valid signatures for any period less than or equal to t. Forward-secure unforgeability is defined in the following game between a challenger and an adversary given access to the oracles , , and :
- generates and gives the system parameters param.
- may query the oracles according to any adaptive strategy.
- gives an event-id e, a group size n, a set of n public keys, a message M, a time t and a signature .
A wins the game if:
- Verify;
- all of the public keys in are query outputs of ;
- no public keys in have been input to at time t or earlier; and
- is not a query output of .
We denote the adversary’s advantage by .
Definition 4.
Forward-Secure Unforgability. AnFS-LRSscheme is forward-secure against forgeries if for PPT adversaries, is negligible.
2.2.7. Forward-Secure Anonymity
Forward-secure anonymity ensures that it is not feasible for an adversary with a private key for a time period strictly greater than t to de-anonymise signatures for any time period less than or equal to t. Forward-secure anonymity is defined in a game between a challenger and an adversary given access to oracles , , and and the random oracle:
- generates and gives the system parameters param.
- may query the oracles according to any adaptive strategy.
- gives an event-id e, a time t, a group size n, a set of of n public keys such that all of the public keys in are query outputs of , and a message M, Parsing the set as {}. randomly picks {}, and computes Sign(), where is a valid private key corresponding to at time t. The signature is given to .
- outputs a guess {}.
A wins the game if:
- ;
- e and t have never been input together to ; and
- no public keys in have been input to at time t or earlier.
We denote the adversary’s advantage by .
Definition 5.
Forward-Secure Anonymity. AnFS-LRSscheme is forward-secure anonymous if for any PPT adversaries, is negligible.
3. Multilinear Maps
Since multilinear maps can be naturally presented as a generalisation of bilinear maps, and conversely bilinear maps as a concrete case of multilinear maps, we present the rest of our work using the the following multilinear map notation.
Our notation is similar to that used by Zhandry in [20]. Let be an linear map over additive cyclic groups of prime order q, where and all for are homomorphic to . Let denote the element raised to the level-i group , for . Let denote the random sampling of an element in . We have access to efficient functions:
- Addition, Add or +: Given two elements returns .
- Negation, Neg or −: Given one element returns .
- Cross-level multiplication or multilinear Map, denoted : Given two elements , returns .
The cryptographic security of multilinear maps requires, among other things, that multiplication within any be hard for .
We generalise the notation above and denote by a vector of n elements in . Such a vector is then also denoted by .
3.1. Multilinear Assumptions
The discrete log problem when stated using multilinear map notation is as follows:
Definition 6
(Multilinear Discrete-log Problem (MDLP) [4]). For any PPT algorithm , the probability is negligible, where .
This definition generalises to i-Decoding Problem (i-DP) to which the unforgability of our initial results reduced.
Definition 7
(i-Decoding Problem (i-DP) [4]).
For any PPT algorithm , the probability is negligible, where and .
A related assumption to i-Decoding Problem is the k-Sub-exponent Multilinear Decoding Problem (k-SMDP). We note in passing that a specific case of k-SMDP where on a Bilinear pairing is the Bilinear Computational Diffie–Hellman Problem.
Definition 8
(k-Sub-exponent Multilinear Decoding Problem.). For any PPT algorithm , the probability is negligible, where , and . The adversary is given access to an oracle which given returns . only wins if cannot be trivially derived from any .
It is to the k-Sub-exponent Multilinear Decoding Problem that our combinatorial boosted variant’s unforgability reduces. All three of the definitions presented so far are specific cases of the ()-Generalised Multilinear Decoding Problem (()-GMDP).
Definition 9
(()-Generalised Multilinear Decoding Problem.). For any PPT algorithm , the probability is negligible, where and b . The adversary is given access to an oracle which given returns . only wins if cannot be trivially derived from any .
In our unforgeability-related reductions, we reduce to the ()-Generalised Multilinear Decoding Problem for convenience and conciseness. Depending on the parameters with which our scheme was instantiated, this means the proof implies a reduction to one of the three specific cases:
- If configured similar to Liu et al. [1], it reduces to .
- If configured similar to our initial results, it reduces to i-DP.
- If configured to exploit the combinatorial trick, it reduces to k-SMDP.
In the same way that the Discrete Log Problem is generalised to Multilinear Discrete Log Problem (MDLP), the Decisional Diffie–Hellman problem generalises to Multilinear Decisional Diffie–Hellman (MDDH) problem. Intuitively, given three group elements, it is infeasible to tell if one is the product of the others, provided that the sum of any two levels is greater than maximum allowed.
Definition 10
(Multilinear Decisional Diffie–Hellman Problem i-(MDDH)). For any PPT , the distinguishing probability is negligible, where and .
The parallel to k-SMDP for anonymity is k-Sub-exponent Multilinear Decisional Diffie–Hellman. We, again, note in passing that a specific case of k-SMDDH where on a Bilinear pairing is the Bilinear Decisional Diffie–Hellman Problem.
Definition 11
(Sub-exponent Multilinear Decisional Diffie–Hellman Problem k-(SMDDH)). For any PPT , the distinguishing probability is negligible, where and and . The adversary is given access to an oracle which given returns . only wins if cannot be trivially derived from any .
As with the previous set of assumptions we present a generalised assumption which includes both MDDH and SMDDH as specific cases. We call this assumption Generalised Sub-exponent Multilinear Decisional Diffie–Hellman Problem .
Definition 12
(Generalised Sub-exponent Multilinear Decisional Diffie–Hellman Problem -(GMDDH)). For any PPT , the distinguishing probability is negligible, where and and . The adversary is given access to an oracle which given returns . only wins if cannot be trivially derived from any .
In our forward-anonymity reduction, we reduce to the ()-Generalised Sub-exponent Multilinear Decisional Diffie–Hellman Problem for convenience and conciseness. Depending on the parameters with which our scheme was instantiated, this means the proof implies a reduction to one of the three specific cases:
- If configured similar to Liu et al. [1], it reduces to .
- If configured similar to our initial results, it reduces to i-MDDH.
- If configured to exploit the combinatorial trick, it reduces to k-SMDDH.
3.2. Is Multilinearity Achievable?
Three major multilinear map candidates have been proposed in [4,14,15]. Since their introduction, they have been the targets of many attacks, patches, and more attacks that remain unpatched.
One powerful class of attacks on multilinear maps are the so-called “zeroising” attacks; they run in polynomial time but require the availability of an encoding of zero in the lower levels of the multilinear ladder [4,21]. There are also sub-exponential and quantum attacks [22,23,24]. Further to this, recently Miles et al. introduced a class of “annihilation” attacks on multilinear maps [25].
There are reasons to believe that multilinear maps may be unrealisable. In particular, their near-equivalence to indistinguishability obfuscation [26]—an extremely powerful tool which in an even stronger variant is known not to exist [27]—is worrying. Furthermore, Boneh and Silverberg [11], in their original paper on applications of hypothetical multilinear maps, presented several results which cast doubt on the likeliness of multilinear maps’ existence, and soberingly conclude that “such maps might have to either come from outside the realm of algebraic geometry, or occur as ‘unnatural’ computable maps arising from geometry.”
If multilinear maps fail to be repaired, bilinear maps still give us an efficient two-period FS-LRS scheme that can be combinatorially boosted to multiple periods.
4. Construction
4.1. Notation
For conciseness, we use a number of specific notations. We use to denote the remainder of a divided by b. Given two vectors of group elements of equal length and we will use to refer to , we also let refer to .
4.2. Intuition
We now give the basic intuition of the scheme. We note that the first two paragraphs apply to almost all schemes following from Liu et al. [1]. The formal details follow in Section 4.6.
To ensure unconditional anonymity in spite of linkability, a Pedersen commitment can provide unconditional hiding with computational binding of the private key in the public key. The Pedersen commitment uses a common reference string consisting of two elements and of unknown relation. The private key is a pair and whose commitment, is the public key. A multilinear map can then raise and ratchet the private key at each time period, which provides forward security.
In the signature, we use the Fiat–Shamir heuristic on two knowledge-of-discrete-logarithm proofs, rolled into one. Using a topic specific value d, the signer proves firstly that they know x behind , and secondly that they know x and y such that is one of the public keys. Random challenges serve as decoys for the other public keys. Since both the real challenge c and the decoy challenges are uniformly random, an adversary is unable to discern which party signed.
This basic system, described above, is adapted with a combinatorial trick which, for a choice of k, leverages an l-linear map for time periods. (See our preliminary results in [3] for a clean presentation of the basic system with full details. We stress that the general system, presented here, implies the preliminary results but is more complicated in its presentation.) The value may be freely chosen but the public key and private key sizes are linear in k.
4.3. Explanation of Parameters
We wish to avoid presenting, and proving, the generalised version—based on the combinatorial trick—separately from our initial result. For this reason, the presentation that follows is deliberately abstract and parameterised so that both the general version and the original result are special cases. This is necessary since neither version is a special cases of the other. The abstract presentation also means that the proofs are the same for both. We parameterise on four inputs:
- The multilinear map size l
- The combinatorial constant k
- The initial public key level b
- The number of time periods
Our initial result in [3] is a special case of the following construction where k and b . The variant including the combinatorial trick is a special case where b . To make the paper easier to read, we present a slightly simplified construction which requires that b is either 1 or l. We believe that the more general construction for an arbitrary choice of b ≤ l works but since it significantly complicates the presentation we omit the details.
4.4. Time t to Key Indices
The public key for a time period t is a particular multiplicative combination of public key vector. For instance, for the case of l k b , the initial public key vector is and private key vector is ,). After the signer generates the initial private key vector, they store for the length of the election, and temporally store . We call the vector stored for the length of the election the semi-private key vector since it need only be kept secret for unconditional anonymity but even if it where public, it would not allow an adversary to break privacy without breaking (k,b)-GMDDH.
To sign at time t, the signer needs the private key for that time and the semi-private key vector. The nine time periods have the following states, shown in Table 1.
Table 1.
Overview of state changes.
We denote ) the function which when given a time period t returns the set of indices needed to generate public key for that time period. We denote the output of as and the cardinality of as . This function is very easy to evaluate if the value for is known, so in high-use situations it would be practical to remember the previous value and increment. However, if a more direct method is desirable, one possible implementation follows in Algorithm 1.
| Algorithm 1: Index generation for time period t. |
![]() |
4.5. Public Key Structure
When b = l, as in our original results, the public keys have a very simple structure. However, the public key in the extended version, for a time t and = , is of the form . For example, if , then the public key is . To simply the presentation, we let . In the example above, and . The public key can be generated as . We sometimes just write , when are clear from context.
4.6. Formal Description
4.6.1. Setup()(k,l,b)
Take as input: The multilinear map size l, the combinatorial constant k, the initial key level b, and the number of time periods . It is required that bk . Denote by the current time period. Run a multilinear map setup algorithm to construct a bounded-level l-multilinear map and obtain its public parameters mmpp. Let denote the ith element in a family of hash functions H such that : . Construct “Generator-g”) and “Generator-h”). The public param are “Generator-g”,“Generator-h”).
4.6.2. KeyGen(param)
Sample and let , where . The public key is and initial secret key . Store for the duration of the election and temporarily.
4.6.3. Sign
On input , with: some description, n the ring size, the ring public keys, the signer’s secret key with public key (without loss of generality (w.l.o.g.) ), M the message, and t the time period. The signer runs and gets whose cardinality we denote , and generates the specific public keys for time t as where Let = + ( mod b) − 1. The signer (holder of ) does the following:
- Hash , and multilinearly map .
- For sample and .
- Compute = , and = .
- Find s.t. .
- Compute and .
- Output the signature .
4.6.4. Verify
On input , first run and get , and generate the specific public keys for time t as where . Let = + (b) − 1 and and, using the components of , compute
then check and output whether .
4.6.5. Link
On input two signatures and , two messages and , an event description , and a time t, first check whether the two signatures are valid. If yes, output linked if ; else output unlinked.
4.6.6. Private-Key Update(param, )
In a given time period t, to update the private key store for time period , run and get . Let = + (b) − 1. Remove from the private key store and, if l.
If , for all add to the store , else add to the store . (We note again that this can be done very efficiently incrementally but we present a more general approach).
If = l no update is required.
4.6.7. Public-Key Update(param, )
The public key does not need to be updated in our scheme.
4.7. Space and Time Complexity
We briefly detail the complexity of the scheme when instantiated on bilinear maps. The complexity is parameterised over the size of the ring n and the number of time periods . The complexity is shown in Table 2.
Table 2.
Space and time complexity analysis.
The exact complexity of the signing and verifying algorithms depends on what optimisations are used, which in turn depends on the context of deployment, in all cases the constant is small. The table makes clear the main advantage of our construction; namely, that the key size is sublinear in the number of time periods which preserving the asymptotic complexity of singing and verifying.
5. Correctness
5.1. Verification Correctness
For verification correctness, it suffices to show that the verification values K and calculated by each party are the same. We denote by and , K as calculated by the signer and verifier respectively; we adopt the same notation for . The equations below show that and by applying the definitions of and .
For K:
For :
5.2. Linking Correctness
For a given event , time t, and private key, the linking component , computed from , is completely deterministic. Since the linking component is deterministic, under the above conditions, given any two signatures a simple equality check on the linking component suffices. Conversely, for a given event , time t, and two different private keys, the linking element will be different. (While it is possible for two different private keys to have the same public key, violating the assertion above, this would also break the Pedersen commitments and reveal the relationship between g and h. It is also possible for the hash function to collide. These events are assumed of negligible probability.)
5.3. Update Correctness
To simplify the presentation we present the argument for b and b = l separately.
If b = l, the “effective” public key for the first l time periods will be and then for the next l and so on. At every time period, the signer must be able to calculate the private key . The private key update ensures the signer will always be able to generate private keys for the remaining “effective” public keys. First, notice that the signer always has and that they start with . Secondly, the private key update for a time t removes from the private key store and, and adds to the store .
If , then the public keys are defined as a multiplicative combination of the initial public keys . Although the order in which the keys are used is optimised to reduce the private key size, the set of public keys for all time periods is composed of all the ways to choose k initial keys, with replacement, at level k for all ; we denote these combinations by . For each public key denoted , the corresponding private key is . To see that private key update ensures the signer will always be able to generate private key for the remaining public keys: First, notice that the signer always has and that they start with . Secondly, the private key update removes the current private key from the private key store, and adds to the store for .
6. Security
The proofs (other than the forward security ones) are similar to those of Liu et al. [1]. Despite the structural similarities, all of our reductions are exponentially more efficient.
Theorem 1.
The FS-LRS scheme is forward-secure against forgeries in the random-oracle model, if (k,b)-GMDP is hard.
Proof.
We show that the ability of the adversary to make corruption queries at times later than t does not allow it to calculate the private key or forge signatures at time t, without breaking ()-GMDP.
Given an ()-GMDP instance , is asked to output some () where . picks and sets . simulates the oracles thus:
- Random Oracles: For query input (“GENERATOR-g”), returns . For query input (“GENERATOR-h”), returns . For other queries, randomly picks sets and returns .
- Joining Oracle: Assume can only query for a maximum times, where . W.l.o.g., () will be the indices for which does not know the private keys and embeds the challenge, and () be the indices for which a private key is known. For the first n indices, chooses and sets where . For the remaining indices it generates the public/private key pair as in the scheme. Upon the jth query, returns the matching public key.
- Corruption Oracle: On input a public key obtained from , and a time t, checks whether it is corresponding to , if yes, then returns the private key. Otherwise, calls returns .
- Signing Oracle: On input a signing query for event , a set of public key , the public key for the signer , where , and a message M, and time t, simulates as follows:
- If the query of has not been made, carry out the H-query of as described above. Set to . Note that knows the that corresponds to . sets , which it can compute from the challenge .
- If , knows the private key and computes the signature according to the algorithm.
- Otherwise, randomly chooses and and for all and sets the oracle output of
- returns the signature . cannot distinguish between ’s simulation and real life.
For one successful simulation, suppose the forgery returned by , on an event , time t and a set of public keys , is . In the random-oracle model, must have queried , denoted by , and queried where
After a successful rewind, we get another . Note that and must be the same in both signatures since we rewind only to the point of random oracle query. In the rewound execution, we force a change in the oracle output to the query which determines . Let denote those points where . We can the extract as . We demonstrate the correctness of the extraction, below, by showing that since simultaneously satisfies two equations the correctness follows by simple algebraic manipulation and the format of the keys.
We begin by substituting for the two equations it satisfies,
By subtraction, we have
By definition of ,
By subtraction, we have
By division,
By the forking lemma [7], the chance of each successful rewind simulation is at least , where is the probability that successfully forges a signature. Hence, the probability that for a given adversary we can extract is times the probability that . □
Theorem 2.
The FS-LRS scheme is unconditionally anonymous.
Proof.
The proof of unconditional anonymity is largely unchanged from [1], since both schemes rely on Pederson commitments. For each query, a value where is returned for some random pair . The challenge signature is created from the key of a random user in the ring. In contrast to Liu et al., we do allow the adversary access to the signing oracle. The access we grant gives the adversary the ability to learn, and therefore we assume knowledge of, the set of all genuine in the challenge ring. Crucially, it does not grant the ability to learn which key part belongs to which public key.
In what follows, we show that the advantage of the adversary is information- theoretically zero. The proof is divided into three parts. First, we show that given a signature for a ring on message M, event and time t, there exists a matching private key for each possible public key , for any that can construct the linking tag . That is, , where . Second, given a private key , there exists a tuple so that matches using randomness . Finally, for any , the distribution of the tuple () defined in parts one and two is identical.
Therefore, in the view of the adversary, the signature is independent to the value , the index of the actual signer. We conclude that even an unbounded adversary cannot guess the value of better than at random. In details:
- Part I. Let be so that and . Let be so that for to n. For each , consider the valuesandObviously, () corresponds to the private key related to the public key (since ) and .
- Part II. For each possible defined in Part I, consider the valuesIt can be seen that can be created by the private key using the randomness , for any .
- Part III. The distribution of for each possible is identical to that of a signature created by a signer with public key .
In other words, the signatures can be created by any signer equipped with private key for any using randomness . Even if the unbounded adversary can compute for all , it cannot discern, amongst the possible unknown choices, who the signer is.
We use the fact that a public key in our construction corresponds to multiple secret keys. For each public key in the ring of possible signers, there exists a unique corresponding private key, possibly unknown, that fits the given linking tag. □
Theorem 3.
The FS-LRS scheme is linkable in the Random Oracle Model (ROM), if the (k,b)-GMDP is hard.
Proof.
If can produce two valid and unlinked signatures from just one private key, we can use this successfully to break GMDP.
Given an ()-GMDP instance , is asked to output some () where . picks and sets . simulates the oracles thus:
- Random Oracles: For query input (“GENERATOR-g”), returns . For query input (“GENERATOR-h”), returns . For other queries, randomly picks sets and returns .
- Joining Oracle: generates the public/private key pair as in the scheme. Upon the jth query, returns the matching public key.
- Corruption Oracle: On input a public key obtained from , and a time t, returns the private key.
- Signing Oracle: On input a signing query for event , a set of public key , the public key for the signer , where , and a message M, and time t, simulates as follows:
- If the query of has not been made, carry out the H-query of as described above. Set to . Note that knows the that corresponds to . sets , which it can compute from the challenge .
- computes the signature according to the algorithm.
If given a pair of on an event , time t, two sets of public keys , and two messages , then, in the random-oracle model, must have queried which are denoted by , and two queries where
Since and they are unlinked, by definition of linkability, we have . Since, by definition of the game, the are both valid for the same time and event, . Write as , where we have shown . Hence, . Therefore, at most one , and hence , encodes the pair which we gave to the adversary. We extract on the unrelated signature. Therefore, we have and find a response to the GMDP challenge as:
We demonstrate the correctness of the extraction, below, by showing that since simultaneously satisfies two equations the correctness follows by simple algebraic manipulation and the format of the keys.
We begin by substituting for the two equations it satisfies,
By subtraction, we have
By definition of ,
By subtraction, we have
By distributivity, we have
By division, we have
By the forking lemma [7], the chance of each successful rewind simulation is at least , where is the probability that successfully forges a signature. Hence, the probability that for a given adversary we can extract is . □
Theorem 4.
The FS-LRS is non-slanderable in the ROM, if (k,b)-GMDP is hard.
Proof.
We use the setting of Theorem 1. can query any oracle other than to submit a chosen public key to or include to . It then gives : the key , a list of public keys (w.l.o.g., we have ), a message M, a description , and a time t. In return, generates a signature using the standard method for the signing oracle, and gives it back to . Recall, we let . continues to query various oracles, expect that it is not allowed to submit to .
Suppose produces another valid signature that was not an output from but is linkable to . Since they are linkable, we have and hence . Recall that, by definition of the game, which implies that and hence . We then extract from as outlined in Theorem 1.
The probability that, for a given adversary , we can extract is . □
Theorem 5.
The FS-LRS scheme is forward-secure anonymous in the random-oracle model, if MDDH is hard.
Proof.
We show that the ability of the adversary to make corruption queries at times later than t does not allow it to de-anonymise signatures at time t or earlier, without breaking (,b)-MDDH, and hence the system achieves forward-secure anonymity. In this proof, we start by guessing the break point t at which the adversary’s will choose to be challenged.
Given an MDDH instance , is asked to decide whether . Where produces the same selection of keys as = . picks and sets . simulates:
- Random Oracles: For query input (“GENERATOR-g”), returns . For query input (“GENERATOR-h”), returns . For other queries, randomly picks sets and returns .
- Joining Oracle: Assume can only query for a maximum times, where . W.l.o.g., () will be the indices for which does not know the private keys and embeds the challenge, and () be the indices for which a private key is known. For the first n indices, chooses and sets where . For the remaining indices it generates the public/private key pair as in the scheme. Upon the jth query, returns the matching public key.
- Corruption Oracle: On input a public key obtained from , and a time t, checks whether it is corresponding to , if yes, then returns the private key. Otherwise, calls returns .
- Signing Oracle: On input a signing query for event , a set of public keys , the public key for the signer where , a message M, and a time t, simulates as follows:
- If the query of has not been made, carry out the H-query of as described above. Set to . Note that knows the that corresponds to .
- randomly chooses and and for all and sets the oracle output of
- returns the signature . cannot distinguish between ’s simulation and real life.
At some point, requests to be challenged on . sets , samples , sets , and then performs the remaining steps of the signing oracle as above. Notice that if is equal to then this signature is normally formed; however, if is a random group element than the linking element is random, while the rest of the signature is independent of the signer. If successfully guesses i then guesses that , otherwise guesses that is random. □
7. Conclusions
We have presented the first linkable ring signature scheme with both unconditional anonymity and forward-secure key update. By expanding upon of our work in [3], we have shown how a combinatorial trick can allow bilinear pairings to synthesise a polynomial time granularity for forward security. This is a powerful tool which has direct applications in elegantly addressing a number of simultaneous constraints in remote electronic voting. We have also presented a comprehensive security model which better reflects real requirements than existing definitions. We then proved our construction secure under these definitions by reducing to natural bilinear or multilinear generalisations of the computational and decisional Diffie–Hellman Problems.
Author Contributions
Conceptualization, X.B. and T.H.; Formal Analysis, X.B. and T.H.; Writing, X.B. and T.H.
Funding
Xavier Boyen is a Future Fellow of the Australian Research Council, under ARC grant FT140101145.
Conflicts of Interest
The authors declare no conflict of interest.
List of Symbols
| KP | . We sometimes just write KP(i), when are clear from context. |
| PK | The function which when given a time period t returns the set of indices needed to generate the public key for that time period. |
| κ | The cardinality of τ. |
| The Corruption Oracle, on input a previously joined public key pki, returns the matching secret key ski at the time t. | |
| ε | An l—linear map over additive cyclic groups of prime order q. |
| An Helper Oracle—Used in the definition of k-SMDP, (k,b)-GMDP, k-SMDDH and (k,b)-GMDDH. | |
| The Random Oracle, on input x, returns h independently and uniformly at random. If an x is repeated, the same h will be returned again. | |
| The Joining Oracle, upon request, adds a new user to the system, and returns the public key pk of the new user at the time t. | |
| Landau’s symbol—An asymptoptic bound on the function’s growth. | |
| The Signing Oracle, on input an event-id event, a group size n, a set of n public keys, a set of public keys of possible signers , a message M, and a time t, returns a valid signature σ′. | |
| The number of time periods. | |
| ν | The level at which the genuine signer should know the secret key, κ + ( mod b) −1. |
| τ | The set of indices used to generate a public key for a given time period. |
| b | The initial public key level. |
| k | The combinatorial constant. |
| l | The multilinear map size. |
| t | The current time period. |
References
- Liu, J.K.; Au, M.H.; Susilo, W.; Zhou, J. Linkable ring signature with unconditional anonymity. IEEE Trans. Knowl. Data Eng. 2014, 26, 157–165. [Google Scholar] [CrossRef]
- Fujisaki, E.; Suzuki, K. Traceable ring signature. In Proceedings of the 10th International Conference on Practice and Theory in Public-Key Cryptography, Beijing, China, 16–20 April 2007; pp. 181–200. [Google Scholar]
- Boyen, X.; Haines, T. Forward-Secure Linkable Ring Signatures. In Australasian Conference on Information Security and Privacy; Springer: Cham, Switzerland, 2018; pp. 245–264. [Google Scholar]
- Garg, S.; Gentry, C.; Halevi, S. Candidate multilinear maps from ideal lattices. In Proceedings of the 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, 26–30 May 20132; pp. 1–17. [Google Scholar]
- Langlois, A.; Stehlé, D.; Steinfeld, R. GGHlite: More efficient multilinear maps from ideal lattices. In Proceedings of the 33rd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Copenhagen, Denmark, 11–15 May 2014; pp. 239–256. [Google Scholar]
- Liu, J.K.; Wei, V.K.; Wong, D.S. Linkable spontaneous anonymous group signature for ad hoc groups. In Information Security and Privacy; Springer: Berlin, Germany, 2004. [Google Scholar]
- Pointcheval, D.; Stern, J. Security proofs for signature schemes. In Eurocrypt; Springer: Berlin, Germany, 1996; Volume 96, pp. 387–398. [Google Scholar]
- Pedersen, T.P. Non-interactive and information-theoretic secure verifiable secret sharing. In Proceedings of the Annual International Cryptology Conference (CRYPTO ’91), Santa Barbara, CA, USA, 11–15 August 1991. [Google Scholar]
- Chaum, D.; van Heyst, E. Group signatures. In Lecture Notes in Computer Science; Davies, D.W., Ed.; Springer: Berlin, Germany, 1991; Volume 547, pp. 257–265. [Google Scholar]
- Rivest, R.L.; Shamir, A.; Tauman, Y. How to leak a secret. In Proceedings of the 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, 9–13 December 2001. [Google Scholar]
- Boneh, D.; Silverberg, A. Applications of multilinear forms to cryptography. Contemp. Math. 2003, 324, 71–90. [Google Scholar]
- Boneh, D.; Wu, D.J.; Zimmerman, J. Immunizing multilinear maps against zeroizing attacks. IACR Cryptol. ePrint Arch. 2014, 2014, 930. [Google Scholar]
- Cheon, J.H.; Han, K.; Lee, C.; Ryu, H.; Stehlé, D. Cryptanalysis of the multilinear map over the integers. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, 26–30 April 2015; pp. 3–12. [Google Scholar]
- Coron, J.S.; Lepoint, T.; Tibouchi, M. Practical multilinear maps over the integers. In Advances in Cryptology—CRYPTO; Springer: Berlin, Germany, 2013; pp. 476–493. [Google Scholar]
- Gentry, C.; Gorbunov, S.; Halevi, S. Graph-induced multilinear maps from lattices. In Theory of Cryptography; Springer: Berlin, Germany, 2015; pp. 498–527. [Google Scholar]
- Adida, B. Helios: Web-based open-audit voting. In Proceedings of the USENIX Security, San Jose, CA, USA, 28 July–1 August 2008. [Google Scholar]
- Demirel, D.; Van De Graaf, J.; Araújo, R. Improving helios with everlasting privacy towards the public. In Proceedings of the eVOTE/Trustworthy Elections (USENIX), Bellevue, WA, USA, 6–7 August 2012. [Google Scholar]
- Tsoukalas, G.; Papadimitriou, K.; Louridas, P.; Tsanakas, P. From helios to zeus. USENIX J. Elect. Technol. Syst. 2013, 1, 1–17. [Google Scholar]
- Adida, B. Helios v3 Verification Specs; Technical Report; Helios Voting: Boston, MA, USA, 2010. [Google Scholar]
- Zhandry, M. Adaptively secure broadcast encryption with small system parameters. IACR Cryptol. ePrint Arch. 2014, 2014, 757. [Google Scholar]
- Hu, Y.; Jia, H. Cryptanalysis of GGH map. In Proceedings of the 35th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, 8–12 May 2016; pp. 537–565. [Google Scholar]
- Albrecht, M.R.; Bai, S.; Ducas, L. A subfield lattice attack on overstretched NTRU assumptions. In Proceedings of the 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2016. [Google Scholar]
- Cheon, J.H.; Jeong, J.; Lee, C. An algorithm for NTRU problems and cryptanalysis of the GGH multilinear map without a low level encoding of zero. LMS J. Comput. Math. 2016, 19, 255–266. [Google Scholar] [CrossRef]
- Cramer, R.; Ducas, L.; Peikert, C.; Regev, O. Recovering short generators of principal ideals in cyclotomic rings. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, 8–12 May 2016. [Google Scholar]
- Miles, E.; Sahai, A.; Zhandry, M. Annihilation attacks for multilinear maps: Cryptanalysis of indistinguishability obfuscation over GGH13. In Proceedings of the 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2016. [Google Scholar]
- Paneth, O.; Sahai, A. On the equivalence of obfuscation and multilinear maps. IACR Cryptol. ePrint Arch. 2015, 2015, 791. [Google Scholar]
- Barak, B.; Goldreich, O.; Impagliazzo, R.; Rudich, S.; Sahai, A.; Vadhan, S.P.; Yang, K. On the (im)possibility of obfuscating programs. J. ACM 2012, 59, 6. [Google Scholar] [CrossRef]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
