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.
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.
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.
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 .
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 values
and
Obviously, () corresponds to the private key related to the public key (since ) and .
Part II. For each possible
defined in Part I, consider the values
It 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. □