Next Article in Journal
An Attack Bound for Small Multiplicative Inverse of φ(N) mod e with a Composed Prime Sum p + q Using Sublattice Based Techniques
Previous Article in Journal
An Enhanced Key Management Scheme for LoRaWAN
Previous Article in Special Issue
Revocable Identity-Based Encryption and Server-Aided Revocable IBE from the Computational Diffie-Hellman Assumption
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Forward-Secure Linkable Ring Signatures from Bilinear Maps

1
Queensland University of Technology, Brisbane 4000, Australia
2
Polyas GmbH, 10179 Berlin, Germany
*
Author to whom correspondence should be addressed.
Cryptography 2018, 2(4), 35; https://doi.org/10.3390/cryptography2040035
Submission received: 14 September 2018 / Revised: 31 October 2018 / Accepted: 1 November 2018 / Published: 8 November 2018
(This article belongs to the Special Issue Public Key Cryptography)

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 O ( k l ) -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 O ( k 2 ) 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].)
  • paramSetup( λ , T ) on input security parameter λ and number of time periods T , returns a public setup param.
  • ( s k i , p k i ) KeyGen(param) given param returns a key pair ( s k i , p k i ) .
  • σ Sign ( param , e v e n t , n , p k t , s k , M , t ) given an event-id e v e n t , a group size n, a set p k t of n public keys, a private key s k whose corresponding public key is in p k t , a message M and a time t, produces a signature σ .
  • accept|rejectVerify ( param , e v e n t , n , p k t , M , σ , t ) given an event-id e v e n t , a group size n, a set p k t of n public keys, a message-signature pair ( M , σ ) , and time t, returns accept or reject. We define a signature σ as valid for ( e v e n t , n , p k t , M , t ) if Verify outputs accept.
  • linked|unlinkedLink ( param , e v e n t , t , n 1 , n 2 , p k t 1 , p k t 2 , M 1 , M 2 , σ 1 , σ 2 ) given an event-id e v e n t , time t, two group sizes n 1 , n 2 , two sets p k t 1 , p k t 2 of n 1 , n 2 public keys respectively, and two valid signature and message pairs ( M 1 , σ 1 , M 2 , σ 2 ) , outputs linked or unlinked.
  • Z t + 1 PubKeyUpd ( param , Z t ) given a public key, Z at time t, produces a public key for time t + 1 .
  • s k t + 1 PriKeyUpd ( param , s k t ) given a private key s k at time t, produces the corresponding private key for time t + 1 .
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:
  • p k i , t JO ( t ) . The Joining Oracle, upon request, adds a new user to the system, and returns the public key p k of the new user at the time t.
  • s k i , t CO ( p k i , t ) . The Corruption Oracle, on input a previously joined public key p k i , returns the matching secret key s k i at the time t.
  • σ SO ( e v e n t , n , p k t , p k Π , M , t ) . The Signing Oracle, on input an event-id e v e n t , a group size n, a set p k t of n public keys, a set of public keys of possible signers p k Π p k t , a message M, and a time t, returns a valid signature σ .
We omit the time and user subscripts t , i when clear from context. In particular, our public key does not undergo updating, so p k t will be independent of t.
  • h H ( x ) . 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 A to tell the public key of the signer with a probability larger than 1 / n , where n 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 C and an unbounded adversary A with access to JO , SO , CO :
  • C generates and gives A the system parameters param.
  • A may query JO , SO , and CO according to any adaptive strategy.
  • A gives C an event-id e, a time t, a group size n, a set of p k t of n public keys such that all of the public keys in p k t are query outputs of JO and no key in p k t has been input to SO in a set which was not a superset of p k t , a message M, and a time t. Parsing the set p k t as { p k 1 , , p k n }, C picks π { 1 , , n } uniformly from the uncorrupted subset and computes σ π = Sign( e , n , p k t , s k π , M , t ), where s k π is a valid private key corresponding to p k π at time t. The signature σ π is given to A .
  • A outputs a guess π { 1 , , n }.
We denote the adversary’s advantage by Adv A A n o n ( λ ) = | P r [ π = π ] 1 n | .
Definition 1.
Unconditional Anonymity. AnFS-LRS scheme is unconditionally anonymous if, for all unbounded adversaries A , Adv A A n o n ( λ ) 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 C and an adversary A with access to oracles JO , CO , SO and H :
  • C generates and gives A the system parameters param.
  • A may query the oracles according to any adaptive strategy.
  • A gives C an event-id e v e n t , a time t, two sets p k t 1 , p k t 2 of public keys of sizes n 1 , n 2 , two messages M 1 , M 2 , and two signatures σ 1 , σ 2 .
A wins the game if:
  • All of the public keys in p k t i are query outputs of JO ;
  • Verify ( e v e n t , n i , p k t i , M i , σ i , t ) = accept for σ 1 , σ 2 not outputs of SO ;
  • At most one query has been made to CO ; and
  • Link( σ 1 , σ 2 ) = unlinked.
We denote the adversary’s advantage as Adv A L i n k ( λ ) = P r [ A wins the game ] .
Definition 2.
Linkability. AnFS-LRSscheme is linkable if for all Probabilistic Polynomial-Time (PPT) adversaries A , Adv A L i n k ( λ ) 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 C and an adversary A with access to the oracles JO , CO , SO and H :
  • C generates and gives A the system parameters param.
  • A may query the oracles according to any adaptive strategy.
  • A gives C an event-id e v e n t , a time t, a group size n, a message M, a set of n public keys p k t , and the public key of an insider p k π p k t . C uses the private key s k π correspoing to p k π to run Sign( e v e n t , n , p k t , s k π , M , t ) and to produce a signature σ given to A .
  • A queries oracles adaptively. In particular, A is allowed to query any public key which is not p k π to CO .
  • A outputs n , n public keys p k t , a message M , and a signature σ σ .
A wins the game if:
  • Verify( e v e n t , n , p k t , M , σ , t) = accept on σ not an output of SO ;
  • all of the public keys in p k t , p k t are query outputs of JO ;
  • p k π has not been queried to CO ; and
  • Link( σ , σ ) = linked.
We denote the adversary’s advantage by Adv A N S ( λ ) = P r [ A wins the game ] .
Definition 3.
Non-slanderabilty. AnFS-LRSscheme is non-slanderable if for any PPT adversaries A , Adv A N S ( λ ) 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 C and an adversary A given access to the oracles JO , CO , SO and H :
  • C generates and gives A the system parameters param.
  • A may query the oracles according to any adaptive strategy.
  • A gives C an event-id e, a group size n, a set p k t of n public keys, a message M, a time t and a signature σ .
A wins the game if:
  • Verify ( e , n , p k t , M , σ , t ) = accept ;
  • all of the public keys in p k t are query outputs of JO ;
  • no public keys in p k t have been input to CO at time t or earlier; and
  • σ is not a query output of SO .
We denote the adversary’s advantage by Adv A F S U n f ( λ ) = P r [ A wins the game ] .
Definition 4.
Forward-Secure Unforgability. AnFS-LRSscheme is forward-secure against forgeries if for PPT adversaries A , Adv A F S U n f ( λ ) 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 C and an adversary A given access to oracles JO , CO , and SO and the random oracle:
  • C generates and gives A the system parameters param.
  • A may query the oracles according to any adaptive strategy.
  • A gives C an event-id e, a time t, a group size n, a set of p k t of n public keys such that all of the public keys in p k t are query outputs of JO , and a message M, Parsing the set p k t as { p k 1 , , p k n }. C randomly picks π { 1 , , n }, and computes σ π = Sign( e , n , p k t , s k π , M , t ), where s k π is a valid private key corresponding to p k π at time t. The signature σ π is given to A .
  • A outputs a guess π { 1 , , n }.
A wins the game if:
  • π = π ;
  • e and t have never been input together to SO ; and
  • no public keys in p k t have been input to CO at time t or earlier.
We denote the adversary’s advantage by Adv A F S A n o n ( λ ) = P r [ A wins the game ] .
Definition 5.
Forward-Secure Anonymity. AnFS-LRSscheme is forward-secure anonymous if for any PPT adversaries A , Adv A F S A n o n ( λ ) 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 l linear map over additive cyclic groups [ G ] 1 , . . , [ G ] l of prime order q, where [ G ] 0 = Z q and all [ G ] i for i = 1 , , l are homomorphic to ( Z q , + ) . Let [ α ] i denote the element α Z q raised to the level-i group [ G ] i , for i ( 0 , . . , l ) . Let α R [ G ] i denote the random sampling of an element in [ G ] i . We have access to efficient functions:
  • Addition, Add or +: Given two elements [ α ] i , [ β ] i returns [ α + β ] i .
  • Negation, Neg or −: Given one element [ α ] i returns [ α ] i .
  • Cross-level multiplication or multilinear Map, denoted ε : Given two elements [ α ] i , [ β ] j , returns [ α β ] i + j .
The cryptographic security of multilinear maps requires, among other things, that multiplication within any [ G ] i be hard for i > 0 .
We generalise the notation above and denote by [ a ] i [ G n ] i a vector of n elements in [ G ] i . Such a vector [ a ] i is then also denoted by ( [ a 1 ] i , , [ a n ] i ) .

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 A , the probability P r [ A ( [ α ] 1 ) = [ α ] 0 ] is negligible, where α R Z q .
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 A , the probability P r [ A ( [ δ ] i ) = [ δ ] j ] is negligible, where j < i and δ R Z q .
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 k = 3 on a Bilinear pairing is the Bilinear Computational Diffie–Hellman Problem.
Definition 8
(k-Sub-exponent Multilinear Decoding Problem.). For any PPT algorithm A , the probability P r [ A ( [ α ] 1 ) = ( [ e ] 0 , [ a i e i ] e i 1 ) ] is negligible, where [ α ] 1 R [ G k ] 1 , and e i l . The adversary A is given access to an oracle HO which given [ w ] 0 returns [ a i w i ] w i 1 . A only wins if [ e ] cannot be trivially derived from any [ w ] .
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 ( k , b )-Generalised Multilinear Decoding Problem (( k , b )-GMDP).
Definition 9
(( k , b )-Generalised Multilinear Decoding Problem.). For any PPT algorithm A , the probability P r [ A ( [ α ] b ) = ( [ e ] 0 , [ a i e i ] b e i 1 ) ] is negligible, where [ α ] b R [ G k ] b and b e i l . The adversary A is given access to an oracle HO which given [ w , q ] 0 returns [ a i w i ] q . A only wins if [ a i e i ] b e i 1 cannot be trivially derived from any [ a i w i ] q .
In our unforgeability-related reductions, we reduce to the ( k , b )-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 M D L P .
  • 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 A , the distinguishing probability P r [ A ( [ α ] i , [ β ] l i + 1 , [ γ ] l ) = true A ( [ α ] i , [ β ] l i + 1 , [ α β ] l ) = true ] is negligible, where α , β , γ R Z q and i 1 .
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 k = 3 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 A , the distinguishing probability P r [ A ( [ e ] 0 , [ α ] 1 , [ β ] l e i + 1 , [ γ ] l ) = true A ( [ e ] 0 , [ α ] 1 , [ β ] l e i + 1 , [ α i e i β ] l ) = true ] is negligible, where [ α ] 1 r [ G k ] 1 and β , γ R Z q and e i 1 . The adversary A is given access to an oracle HO which given [ w ] 0 returns [ a i w i ] w i 1 . A only wins if [ e ] cannot be trivially derived from any [ w ] .
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 ( k , b ) .
Definition 12
(Generalised Sub-exponent Multilinear Decisional Diffie–Hellman Problem ( k , b ) -(GMDDH)). For any PPT A , the distinguishing probability P r [ A ( [ e ] 0 , [ α ] b , [ β ] l b e i + 1 , [ γ ] l ) = true A ( [ e ] 0 , [ α ] b , [ β ] l b e i + 1 , [ α i e i β ] l ) = true ] is negligible, where [ α ] b r [ G k ] b and β , γ R Z q and b e i 1 . The adversary A is given access to an oracle HO which given [ w , q ] 0 returns [ a i w i ] q . A only wins if [ a i e i ] b e i 1 cannot be trivially derived from any [ a i w i ] q .
In our forward-anonymity reduction, we reduce to the ( k , b )-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 D D H .
  • 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 a mod b to denote the remainder of a divided by b. Given two vectors of group elements of equal length a 1 and a 2 we will use a δ to refer to ( a 1 1 - a 1 2 , , a n 1 - a n 2 ) , we also let a δ refer to ( a 1 2 - a 1 1 , , a n 2 - a n 1 ) .

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 [ g ] and [ h ] of unknown relation. The private key is a pair [ x ] and [ y ] whose commitment, [ g x + h y ] 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 f = d x , and secondly that they know x and y such that g x + h y is one of the public keys. Random challenges c i serve as decoys for the other public keys. Since both the real challenge c and the decoy challenges c i 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 i = 1 l k + i - 1 i 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 k 1 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 T
Our initial result in [3] is a special case of the following construction where k = 1 and b = l . The variant including the combinatorial trick is a special case where b = 1 . 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 bl 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 = 2 , k = 3 , b = 1 , the initial public key vector is [ Z 1 ] 1 , [ Z 2 ] 1 , [ Z 3 ] 1 and private key vector is ( [ x 1 ] 0 , [ y 1 ] 0 ) , ( [ x 2 ] 0 , [ y 2 ] 0 ) , ( [ x 3 ] 0 , [ y 3 ] 0 ). After the signer generates the initial private key vector, they store [ x 1 ] 1 , [ x 2 ] 1 , [ x 3 ] 1 , [ x 1 h ] 1 , [ x 2 h ] 1 , [ x 3 h ] 1 , [ y 1 ] 0 , [ y 2 ] 0 , [ y 3 ] 0 for the length of the election, and temporally store [ x 1 ] 0 , [ x 2 ] 0 , [ x 3 ] 0 . 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 P K ( t T ) 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 P K ( t ) as τ and the cardinality of τ as κ . This function is very easy to evaluate if the value for t - 1 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.
Cryptography 02 00035 i001

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 τ = P K ( t ) , is of the form [ i τ Z i ] κ . For example, if τ = ( 1 , 2 ) , then the public key is [ g 2 x 1 x 2 + g x 1 h y 2 + g x 2 h y 1 + h 2 y 1 y 2 ] . To simply the presentation, we let K P ( i , τ , x , y ) = j τ i j τ / j k - i ( ι j x ι ι j y ι ) . In the example above, K P ( 0 , ( 1 , 2 ) , x , y ) = y 1 y 2 , K P ( 1 , ( 1 , 2 ) , x , y ) = x 1 y 2 + x 2 y 1 and K P ( 2 , ( 1 , 2 ) , x , y ) = x 1 x 2 . The public key can be generated as i = 0 κ g i h κ - i K P ( i , τ , x , y ) . We sometimes just write K P ( i ) , when τ , x , y are clear from context.

4.6. Formal Description

4.6.1. Setup( λ , T )(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 T 1 . It is required that bk + i = b + 1 l k + i - 1 i T . Denote by t ( 0 , 1 , 2 , , T - 1 ) 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 H i denote the ith element in a family of hash functions H such that H i : { 0 , 1 } [ G ] i . Construct [ g ] 0 = H 0 ( “Generator-g”) and [ h ] b = H b ( “Generator-h”). The public param are ( mmpp , k , b , [ g ] 0 , [ h ] b , H , “Generator-g”,“Generator-h”).

4.6.2. KeyGen(param)

Sample [ x ] 0 , [ y ] 0 R [ G k ] 0 and let [ Z ] b = ( [ Z 1 ] b , , [ Z k ] b ) , where [ Z i ] b = ε ( ε ( [ g ] 0 , [ x i ] 0 ) , [ 1 ] b ) + ε ( [ h ] b , [ y i ] 0 ) = [ g x i + h y i ] b . The public key is p k = [ Z ] b and initial secret key s k = ( [ x ] 0 , [ y ] 0 ) . Store ( [ x ] b , ( [ x 0 h ] b , , [ x k h ] b ) , [ y ] 0 ) for the duration of the election and [ x ] 0 temporarily.

4.6.3. Sign ( param , e v e n t , n , p k t , s k π , M , t )

On input ( e v e n t , n , p k t , s k π , M , t ) , with: e v e n t some description, n the ring size, p k = { p k 1 , , p k n } = { [ Z 1 ] b , , [ Z n ] b } the ring public keys, s k π the signer’s secret key with public key p k π p k t (without loss of generality (w.l.o.g.) π [ 1 , n ] ), M the message, and t the time period. The signer runs P K ( t ) and gets τ whose cardinality we denote κ , and generates the specific public keys for time t as [ p k ] κ b where [ p k i ] κ b = [ j τ Z i , j ] κ b . Let ν = κ + ( T mod b) − 1. The signer (holder of s k π = ( [ j τ x j ] ν , , [ j τ y j ] 0 ) does the following:
  • Hash [ d ] l - ν = H l - ν ( t | | e v e n t ) , and multilinearly map [ f ] l = ε ( [ d ] l - ν , [ i = 1 κ g i - κ h κ - i K P ( i ) ] ν ) .
  • For i ( 0 , , κ ) sample [ r i ] 0 R [ G ] 0 and [ c 1 ] 0 , , [ c π - 1 ] 0 , [ c π + 1 ] 0 , , [ c n ] 0 R [ G ] 0 .
  • Compute [ K ] l = i = 0 κ ε ( [ r i ] i , [ g i h κ - i ] l - i ) + i = 1 , i π n ε ( [ p k i ] l , [ c i ] 0 ) , and [ K ] l = ε ( [ d ] l - ν , [ i = 1 κ g i - κ h κ - i r i ] ν ) + ε ( [ f ] l , i = 1 , i π n [ c i ] 0 ) .
  • Find [ c π ] 0 s.t. [ c π ] 0 = H 0 ( p k t | | e v e n t | | [ f ] l | | M | | [ K ] l | | [ K ] l | | t ) - i = 1 , i π n [ c i ] 0 .
  • Compute [ r ˜ 0 ] 0 = [ r 0 - c π K P ( 0 ) ] 0 and [ r ˜ 1 ] ν = i = 1 κ ε ( [ g i - κ h κ - i ] , [ r i - c π K P ( i ) ] ) .
  • Output the signature σ = ( [ f ] l , [ r ˜ 0 ] 0 , [ r ˜ 1 ] ν , [ c 1 ] 0 , , [ c n ] 0 ) .

4.6.4. Verify ( param , e v e n t , n , p k t , M , σ , t )

On input ( e v e n t , n , p k t , M , σ , t ) , first run P K ( t ) and get τ , and generate the specific public keys for time t as [ p k ] κ b where [ p k i ] κ b = [ j τ Z i , j ] κ b . Let ν = κ + ( T mod b) − 1 and [ d ] l - ν = H l - ν ( t | | e v e n t ) and, using the components of σ = ( [ f ] l , [ r ˜ 0 ] 0 , [ r ˜ 1 ] ν , [ c 1 ] 0 , , [ c n ] 0 ) , compute
[ K ] l = ε ( [ r ˜ 0 ] 0 , [ h κ ] l ) + ε ( [ r ˜ 1 ] ν , [ g κ ] l - ν + 1 ) + i = 1 n ε ( [ p k i ] l , [ c i ] 0 )
[ K ] l = ε ( [ d ] l - ν , [ r ˜ 1 ] ν ) + ε ( [ f ] l , i = 1 n [ c i ] 0 )
and [ c 0 ] 0 = H 0 ( p k t | | e v e n t | | [ f ] l | | M | | [ K ] l | | [ K ] l | | t )
then check and output whether i = 1 n [ c i ] 0 = [ c 0 ] 0 .

4.6.5. Link ( param , e v e n t , t , n 1 , n 2 , p k t 1 , p k t 2 , M 1 , M 2 , σ 1 , σ 2 )

On input two signatures σ 1 = ( [ f 1 ] l , ) and σ 2 = ( [ f 2 ] l , ) , two messages M 1 and M 2 , an event description e v e n t , and a time t, first check whether the two signatures are valid. If yes, output linked if [ f 1 ] l = [ f 2 ] l ; else output unlinked.

4.6.6. Private-Key Update(param, s k t )

In a given time period t, to update the private key store for time period t + 1 , run P K ( t ) and get τ . Let ν = κ + ( T mod b) − 1. Remove ( [ j τ x j ] ν from the private key store and, if ν < l.
If b = 1 , for all α ( 1 , , τ κ ) add to the store [ x α j τ x j ] ν + 1 , else add to the store [ j τ x j ] ν + 1 . (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, Z t )

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 T . 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 K calculated by each party are the same. We denote by [ K s ] and [ K v ] , K as calculated by the signer and verifier respectively; we adopt the same notation for K . The equations below show that [ K s ] = [ K v ] and [ K s ] = [ K v ] by applying the definitions of [ r ˜ 0 ] and [ r ˜ 1 ] .
For K:
[ K s ] = i = 0 κ [ r i g i h κ - i ] + i = 1 , i π n [ p k i c i ] = [ r ˜ 0 h κ ] + [ h κ c π K P ( 0 ) ] + [ r ˜ 1 g κ ] + [ i = 1 κ c π K P ( i ) g i h κ - i ] + i = 1 , i π n [ p k i c i ] = [ r ˜ 0 h κ ] + [ r ˜ 1 g κ ] + i = 1 n [ p k i c i ] = [ K v ]
For K :
[ K s ] = [ d i = 1 κ g i - κ h κ - i r i ] + [ f i = 1 , i π n c i ] ) = [ d r ˜ 1 ] + [ c π d i = 1 κ g i - κ h κ - i K P ( i ) ] + [ f i = 1 , i π n c i ] = [ d r ˜ 1 ] + [ f i = 1 n c i ] = [ K v ]

5.2. Linking Correctness

For a given event e v e n t , time t, and private key, the linking component [ f ] l , computed from [ d ] l - ν = H l - ν ( t | | e v e n t ) , 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 e v e n t , 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 = 1 and b = l separately.
If b = l, the “effective” public key for the first l time periods will be [ x 1 g + y 1 h ] l and then [ x 2 g + y 2 h ] l for the next l and so on. At every time period, the signer must be able to calculate the private key ( [ x t / l ] t mod l , [ y t / l ] 0 ) . 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 [ y ] 0 and that they start with [ x ] 0 . Secondly, the private key update for a time t removes [ x t / l ] t mod l from the private key store and, and adds to the store [ x t / l ] ( t mod l ) + 1 .
If b = 1 , then the public keys are defined as a multiplicative combination of the initial public keys ( [ Z 1 ] 1 , , [ Z k ] 1 ) . 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 k ( 1 , , l ) ; we denote these combinations by τ . For each public key denoted [ j τ Z j ] κ , the corresponding private key is ( [ j τ x j ] ν , , [ j τ y j ] 0 ) . 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 [ y ] 0 and that they start with [ x ] 0 . Secondly, the private key update removes the current private key [ j τ x j ] ν from the private key store, and adds to the store [ x α j τ x j ] ν + 1 for α ( 1 , , τ κ ) .

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 ( k , b )-GMDP.
Given an ( k , b )-GMDP instance ( [ α ] b ) , B is asked to output some ( [ e ] 0 , [ α i e i ] b e i - 1 ) where e i l ) . B picks [ g ] 0 , [ h ] 0 R [ G ] 0 and sets [ h ] b = ε ( [ h g ] 0 , [ 1 ] b ) . B simulates the oracles thus:
  • Random Oracles H i : For query input H 0 (“GENERATOR-g”), B returns [ g ] 0 . For query input H b (“GENERATOR-h”), B returns [ h ] b . For other queries, B randomly picks [ λ ] 0 R [ G ] 0 , sets [ a ] i = ε ( [ λ ] 0 , [ 1 ] i ) and returns [ a ] i .
  • Joining Oracle JO : Assume A can only query JO for a maximum n times, where n n . W.l.o.g., ( 1 , , n ) will be the indices for which B does not know the private keys and embeds the challenge, and ( n + 1 , , n ) be the indices for which a private key is known. For the first n indices, B chooses [ x ] 0 , [ y ] 0 R [ G k ] 0 and sets [ Z ] b = ( [ Z 1 ] b , , [ Z k ] b ) where [ Z i ] b = [ g α i x i ] b + [ h y i ] b . For the remaining indices it generates the public/private key pair as in the scheme. Upon the jth query, B returns the matching public key.
  • Corruption Oracle CO : On input a public key p k i obtained from JO , and a time t, B checks whether it is corresponding to [ n + 1 , n ] , if yes, then B returns the private key. Otherwise, B calls O ( τ , ν ) returns s k i = ( [ j τ x i , j α j ] ν , , [ j τ y i , j ] 0 ) .
  • Signing Oracle SO : On input a signing query for event e v e n t , a set of public key p k t = { [ Z 1 ] b , , [ Z n ] b } , the public key for the signer [ Z π ] b , where π [ 1 , n ] , and a message M, and time t, B simulates as follows:
    • If the query of H l - ν ( t | | e v e n t ) has not been made, carry out the H-query of t | | e v e n t as described above. Set [ d ] l - ν to H l - ν ( t | | e v e n t ) . Note that B knows the [ λ ] 0 that corresponds to [ d ] l - ν . B sets [ f ] l = [ d i = 1 κ g i - κ h κ - i K P ( i ) ] l , which it can compute from the challenge [ α ] b .
    • If π ( n + 1 , , n ) , B knows the private key and computes the signature according to the algorithm.
    • Otherwise, B randomly chooses [ r ˜ 0 ] 0 R [ G ] 0 and [ r ˜ 1 ] ν R [ G ] ν and [ c i ] 0 R [ G ] 0 for all i [ 1 , n ] and sets the H 0 oracle output of
      H 0 ( p k t | | e v e n t | | [ f ] l | | M | | ε ( [ r ˜ 0 ] 0 , [ h κ ] 1 ) + ε ( [ r ˜ 1 ] ν , [ g κ ] l - ν ) + i = 1 n ε ( [ p k i ] l , [ c i ] 0 ) | | ε ( [ d ] l - ν , [ r ˜ 1 ] ν ) + ε ( [ f ] l , i = 1 n [ c i ] 0 ) | | t )
    • B returns the signature σ = ( [ f ] l , [ r ˜ 0 ] 0 , [ r ˜ 1 ] ν , [ c 1 ] 0 , , [ c n ] 0 ) . A cannot distinguish between B ’s simulation and real life.
For one successful simulation, suppose the forgery returned by A , on an event e v e n t , time t and a set of public keys p k t [ 1 , , n ] , is σ 1 = ( [ f ] l , [ r ˜ 0 1 ] 0 , [ r ˜ 1 1 ] ν , [ c 1 1 ] 0 , , [ c n 1 ] 0 ) . In the random-oracle model, A must have queried H l - ν ( t | | e v e n t ) , denoted by [ d ] l - ν , and queried H 0 ( p k | | e v e n t | | [ f ] l | | M | | [ K ] l | | [ K ] l | | t ) where
[ K ] l = ε ( [ r ˜ 0 1 ] 0 , [ h κ ] l ) + ε ( [ r ˜ 1 1 ] ν , [ g κ ] l - ν ) + i = 1 n ε ( [ p k i ] l , [ c i 1 ] 0 )   and
[ K ] l = ε ( [ d ] l - ν , [ r ˜ 1 1 ] ν ) + ε ( [ f ] l , i = 1 n [ c i 1 ] 0 )
After a successful rewind, we get another σ 2 = ( [ f ] l , [ r ˜ 0 2 ] 0 , [ r ˜ 1 2 ] ν , [ c 1 2 ] 0 , , [ c n 2 ] 0 ) . Note that [ f ] l , [ K ] l , and [ K ] l 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 H 0 oracle output to the query which determines i = 1 n [ c i ] . Let λ denote those points ( 1 , , n ) where c i 1 c i 2 . We can the extract [ j τ α j ] ν as [ r ˜ 0 δ h κ + r ˜ 1 δ g κ - i λ c i δ j = 0 κ - 1 g j h κ - j K P ( j ) g κ i λ c i δ j τ x i , j ] ν . We demonstrate the correctness of the extraction, below, by showing that since [ K ] simultaneously satisfies two equations the correctness follows by simple algebraic manipulation and the format of the keys.
[ K ] = [ K ]
We begin by substituting [ K ] for the two equations it satisfies,
[ r ˜ 0 1 h κ ] + [ r ˜ 1 1 g κ ] + i = 1 n [ p k i c i 1 ] = [ r ˜ 0 2 h κ ] + [ r ˜ 1 2 g κ ] + i = 1 n [ p k i c i 2 ]
By subtraction, we have
[ r ˜ 0 δ h κ ] + [ r ˜ 1 δ g κ ] = [ i λ p k i c i δ ]
By definition of p k i ,
[ r ˜ 0 δ h κ ] + [ r ˜ 1 δ g κ ] = [ i λ c i δ ( g κ j τ x i , j a j + j = 0 κ - 1 g j h κ - j K P ( j ) ) ] l
By subtraction, we have
[ r ˜ 0 δ h κ + r ˜ 1 δ g κ - i λ c i δ j = 0 κ - 1 g j h κ - j K P ( j ) ] = [ i λ c i δ g κ j τ x i , j α j ]
By division,
[ r ˜ 0 δ h κ + r ˜ 1 δ g κ - i λ c i δ j = 0 κ - 1 g j h κ - j K P ( j ) g κ i λ c i δ j τ x i , j ] ν = [ j τ α j ] ν
By the forking lemma [7], the chance of each successful rewind simulation is at least ξ / 4 , where ξ is the probability that A successfully forges a signature. Hence, the probability that for a given adversary A we can extract [ j τ α j ] ν is ξ 4 times the probability that p k t ( 1 , , n ) . □
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 JO query, a value [ Z ] = ( [ Z 1 ] , , [ Z k ] ) where [ Z i ] = ( ε ( [ g ] , [ x i ] ) + ε ( [ h ] , [ y i ] ) is returned for some random pair ( [ x ] , [ y ] ) . 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 [ x i ] 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 σ = ( [ f ] l , [ r ˜ 0 ] 0 , [ r ˜ 1 ] ν , [ c 1 ] 0 , , [ c n ] 0 ) for a ring ( [ p k 1 ] , , [ p k n ] ) on message M, event e v e n t and time t, there exists a matching private key ( [ K P ( κ ) ] , , [ K P ( 0 ) ] ) for each possible public key [ i τ Z π , i ] , for any π { 1 , , n } , that can construct the linking tag [ f ] . That is, [ f ] = ε ( H l - ν ( t | | e v e n t ) , [ i = 1 κ g i - κ h κ - i K P ( i ) ] ν ) = ε ( [ d ] , [ i = 1 κ g i - κ h κ - i K P ( i ) ] ) , where [ d ] = H l - ν ( t | | e v e n t ) . Second, given a private key ( [ i τ x π , i ] , , [ i τ y π , i ] ) , there exists a tuple ( [ r 0 π ] , , [ r κ π ] ) so that σ matches ( [ i τ x π , i ] , , [ i τ y π , i ] ) using randomness ( [ r 0 π ] , , [ r κ π ] ) . Finally, for any π { 1 , , n } , the distribution of the tuple ( [ i τ x π , i ] , , [ i τ y π , i ] , [ r 0 π ] , , [ r κ π ] ) 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 x , y be so that [ f ] = ε ( [ d ] , [ x ] ) and [ g ] = ε ( [ h ] , [ y ] ) . Let [ z i ] be so that [ p k i ] = ε ( [ g κ ] , [ z i ] ) for i = 1 to n. For each π { 1 , , n } , consider the values
    [ i = 1 κ g i - κ h κ - i K P ( i ) ] = [ x ] , and [ g - κ K P ( 0 ) ] = ε ( [ z π ] - [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ y κ ] )
    Obviously, ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] ) corresponds to the private key related to the public key [ p k π ] (since [ p k π ] = ε ( [ g κ ] , [ z π ] ) = ε ( [ g κ ] , [ i = 1 κ g i - κ h κ - i K P ( i ) ] + [ h κ g - κ K P ( 0 ) ] ) = [ i = 0 κ g i h k - i K P ( i ) ] ) ) and [ f ] = ε ( [ d ] , [ x ] ] ) = ε ( [ d ] , [ i = 1 κ g i - κ h k - i K P ( i ) ] ) .
  • Part II. For each possible ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] ) defined in Part I, consider the values
    [ r 0 π ] : = [ r ˜ 0 ] + ε ( [ c π ] , [ g - κ K P ( 0 ) ] ) ,    and [ i = 1 κ g κ - i h κ - i r i π ] : = [ r ˜ 1 ] + ε ( [ c π ] , [ i = 1 κ g i - κ h κ - i K P ( i ) ] ) ,
    It can be seen that σ can be created by the private key ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] ) using the randomness ( [ r 0 π ] , [ i = 1 κ g κ - i h κ - i r i π ] ) , for any π { 1 , , n } .
  • Part III. The distribution of ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] , [ r 0 π ] , [ i = 1 κ g κ - i h κ - i r i π ] ) for each possible π is identical to that of a signature created by a signer with public key [ p k π ] .
In other words, the signatures σ can be created by any signer equipped with private key ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] ) for any π { 1 , , n } using randomness ( [ r 0 π ] , [ i = 1 κ g κ - i h κ - i r i π ] ) . Even if the unbounded adversary can compute ( [ i = 1 κ g i - κ h κ - i K P ( i ) ] , [ g - κ K P ( 0 ) ] , [ r 0 π ] , [ i = 1 κ g κ - i h κ - i r i π ] ) for all π [ n ] , it cannot discern, amongst the n 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 A can produce two valid and unlinked signatures from just one private key, we can use this successfully to break GMDP.
Given an ( 1 , b )-GMDP instance ( [ α ] b ) , B is asked to output some ( [ e ] 0 , [ α e ] b e - 1 ) where e l ) . B picks [ g ] 0 , R [ G ] 0 and sets [ h ] b = ε ( [ α ] b ) . B simulates the oracles thus:
  • Random Oracles H i : For query input H 0 (“GENERATOR-g”), B returns [ g ] 0 . For query input H b (“GENERATOR-h”), B returns [ h ] b . For other queries, B randomly picks [ λ ] 0 R [ G ] 0 , sets [ a ] i = ε ( [ λ ] 0 , [ 1 ] i ) and returns [ a ] i .
  • Joining Oracle JO : B generates the public/private key pair as in the scheme. Upon the jth query, B returns the matching public key.
  • Corruption Oracle CO : On input a public key p k i obtained from JO , and a time t, B returns the private key.
  • Signing Oracle SO : On input a signing query for event e v e n t , a set of public key p k t = { [ Z 1 ] b , , [ Z n ] b } , the public key for the signer [ Z π ] b , where π [ 1 , n ] , and a message M, and time t, B simulates as follows:
    • If the query of H l - ν ( t | | e v e n t ) has not been made, carry out the H-query of t | | e v e n t as described above. Set [ d ] l - ν to H l - ν ( t | | e v e n t ) . Note that B knows the [ λ ] 0 that corresponds to [ d ] l - ν . B sets [ f ] l = [ d j τ α j x π , j ] l , which it can compute from the challenge [ α ] b .
    • B computes the signature according to the algorithm.
If given a pair of σ i = ( [ f i ] l , [ r ˜ 0 i ] 0 , [ r ˜ 1 i ] ν , [ c 1 i ] 0 , , [ c n i ] 0 ) on an event e v e n t , time t, two sets of public keys p k t i , and two messages M i , then, in the random-oracle model, A must have queried H l - ν ( t | | e v e n t ) which are denoted by [ d ] l - ν , and two queries H 0 ( p k t i | | e v e n t | | [ f ] l | | M i | | [ K i ] l | | [ K i ] l | | t ) where
[ K i ] l = ε ( [ r ˜ 0 i ] 0 , [ h κ ] l ) + ε ( [ r ˜ 1 i ] ν , [ g κ ] l - ν ) + i = 1 n ε ( [ p k t j ] l , [ c j i ] 0 )
[ K i ] l = ε ( [ d ] l - ν , [ r ˜ 1 i ] ν ) + ε ( [ f ] l , j = 1 n [ c j i ] 0 )
Since σ 1 σ 2 and they are unlinked, by definition of linkability, we have [ f 1 ] l [ f 2 ] l . Since, by definition of the game, the σ i are both valid for the same time and event, [ d 1 ] l - ν = H l - ν ( t | | e v e n t ) = [ d 2 ] l - ν . Write [ f i ] l as [ d i x i ] l , where we have shown [ d 1 ] l - ν = [ d 2 ] l - ν . Hence, [ x 1 ] ν [ x 2 ] ν . Therefore, at most one [ f i ] l , and hence σ i , encodes the pair ( i τ x π , i , , i τ y π , i ) which we gave to the adversary. We extract on the unrelated signature. Therefore, we have [ r ˜ 0 1 ] κ - 1 [ r ˜ 0 2 ] κ - 1 and find a response [ α ] κ - 1 to the GMDP challenge as:
[ α κ ] ν = [ i λ c i δ ( j = 1 κ g j h κ - j K P ( j ) ) - r ˜ 1 δ g κ r ˜ 0 δ - i λ c i δ K P ( 0 ) ]
We demonstrate the correctness of the extraction, below, by showing that since [ K ] simultaneously satisfies two equations the correctness follows by simple algebraic manipulation and the format of the keys.
[ K ] = [ K ]
We begin by substituting [ K ] for the two equations it satisfies,
[ r ˜ 0 1 α κ ] + [ r ˜ 1 1 g κ ] + i = 1 n [ p k i c i 1 ] = [ r ˜ 0 2 α κ ] + [ r ˜ 1 2 g κ ] + i = 1 n [ p k i c i 2 ]
By subtraction, we have
[ r ˜ 0 δ α κ ] + [ r ˜ 1 δ g κ ] = [ i λ p k i c i δ ]
By definition of p k i ,
[ r ˜ 0 δ α κ ] + [ r ˜ 1 δ g κ ] = [ i λ c i δ ( α κ K P ( 0 ) + j = 1 κ g j h κ - j K P ( j ) ) ] l
By subtraction, we have
[ r ˜ 0 δ α κ ] - [ i λ c i δ ( α κ K P ( 0 ) ) ] = [ i λ c i δ ( j = 1 κ g j h κ - j K P ( j ) ) ] - [ r ˜ 1 δ g κ ]
By distributivity, we have
[ α κ ( r ˜ 0 δ - i λ c i δ K P ( 0 ) ) ] = [ i λ c i δ ( j = 1 κ g j h κ - j K P ( j ) ) - r ˜ 1 δ g κ ]
By division, we have
[ α κ ] = [ i λ c i δ ( j = 1 κ g j h κ - j K P ( j ) ) - r ˜ 1 δ g κ r ˜ 0 δ - i λ c i δ K P ( 0 ) ]
By the forking lemma [7], the chance of each successful rewind simulation is at least ξ / 4 , where ξ is the probability that A successfully forges a signature. Hence, the probability that for a given adversary A we can extract [ j τ α j ] ν is ξ 4 1 2 . □
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. A can query any oracle other than to submit a chosen public key p k π to CO or include p k π p k π to SO . It then gives B : the key p k π , a list of public keys p k t p k π (w.l.o.g., we have | p k t | = n ), a message M, a description e v e n t , and a time t. In return, B generates a signature σ ( [ f ] l , ) using the standard method for the signing oracle, and gives it back to A . Recall, we let [ f ] l = [ d j τ a j x π , j ] l . A continues to query various oracles, expect that it is not allowed to submit p k π to CO .
Suppose A produces another valid signature σ = ( [ f ] l , . ) that was not an output from SO but is linkable to σ . Since they are linkable, we have [ f ] l = [ f ] l and hence [ i τ a i x π , i ] l [ d ] 0 = [ i τ a i x π , i ] l [ d ] 0 . Recall that, by definition of the game, σ σ which implies that [ r ˜ i ] [ r ˜ i ] and hence [ r i ] [ r i ] . We then extract [ j τ α j ] ν from σ as outlined in Theorem 1.
The probability that, for a given adversary A , we can extract [ j τ α j ] ν is ξ 4 n . □
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 ( [ e ] 0 , [ α ] ν / κ , [ β ] l - ν , [ γ ] l ) , B is asked to decide whether [ γ ] l = [ i k α i e i β ] l . Where e produces the same selection of keys as τ = P K ( t ) . B picks [ g ] 0 , [ h ] 0 R [ G ] 0 and sets [ h ] b = ε ( [ h ] 0 , [ 1 ] b ) . B simulates:
  • Random Oracles H i : For query input H 0 (“GENERATOR-g”), B returns [ g ] 0 . For query input H b (“GENERATOR-h”), B returns [ h ] b . For other queries, B randomly picks [ λ ] 0 R [ G ] 0 , sets [ a ] i = ε ( [ λ ] 0 , [ 1 ] i ) and returns [ a ] i .
  • Joining Oracle JO : Assume A can only query JO for a maximum n times, where n n . W.l.o.g., ( 1 , , n ) will be the indices for which B does not know the private keys and embeds the challenge, and ( n + 1 , , n ) be the indices for which a private key is known. For the first n indices, B chooses [ x ] 0 , [ y ] 0 R [ G k ] 0 and sets [ Z ] b = ( [ Z 1 ] b , , [ Z k ] b ) where [ Z i ] b = [ g α i x i ] b + [ h y i ] b . For the remaining indices it generates the public/private key pair as in the scheme. Upon the jth query, B returns the matching public key.
  • Corruption Oracle CO : On input a public key p k i obtained from JO , and a time t, B checks whether it is corresponding to [ n + 1 , n ] , if yes, then B returns the private key. Otherwise, B calls O ( τ , ν ) returns s k i = ( [ j τ x i , j α j ] ν , , [ j τ y i , j ] 0 ) .
  • Signing Oracle SO : On input a signing query for event e v e n t , a set of public keys p k t = { [ Z 1 ] l , , [ Z n ] l } , the public key for the signer [ Z π ] l where π [ 1 , n ] , a message M, and a time t, B simulates as follows:
    • If the query of H l - ν ( t | | e v e n t ) has not been made, carry out the H-query of t | | e v e n t as described above. Set [ d ] l - ν to H l - ν ( t | | e v e n t ) . Note that B knows the [ λ ] 0 that corresponds to [ d ] l - ν .
    • B randomly chooses [ r ˜ 0 ] 0 R [ G ] 0 and [ r ˜ 1 ] ν R [ G ] ν and [ c i ] 0 R [ G ] 0 for all i [ 1 , n ] and sets the H 0 oracle output of
      H 0 ( p k t | | e v e n t | | [ f ] l | | M | | ε ( [ r ˜ 0 ] 0 , [ h κ ] l ) + ε ( [ r ˜ 1 ] ν , [ g κ ] l - ν ) + i = 1 n ε ( [ p k i ] l , [ c i ] 0 ) | | ε ( [ d ] l - ν , [ r ˜ 1 ] ν ) + ε ( [ f ] l , i = 1 n [ c i ] 0 ) | | t )
    • B returns the signature σ = ( [ f ] l , [ r ˜ 0 ] 0 , [ r ˜ 1 ] ν , [ c 1 ] 0 , , [ c n ] 0 ) . A cannot distinguish between B ’s simulation and real life.
At some point, A requests to be challenged on e , t , n , p k t , M . B sets H l - ν ( e | | t ) = [ β ] l - ν , samples i [ n ] , sets [ f ] l = [ γ i τ x i + β i = 1 κ - 1 g i - κ h κ - i K P ( i ) ] l , and then performs the remaining steps of the signing oracle as above. Notice that if [ γ ] l is equal to [ i = 1 κ a i e i β ] l then this signature is normally formed; however, if [ γ ] l is a random group element than the linking element is random, while the rest of the signature is independent of the signer. If A successfully guesses i then B guesses that [ γ ] = [ α β ] , otherwise B 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 ( i , τ , x , y ) = j τ i j τ / j k - i ( ι j x ι ι j y ι ) . We sometimes just write KP(i), when τ , x , y are clear from context.
PKThe 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 τ.
CO 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 [ G ] 1 , , [ G ] l of prime order q.
HO An Helper Oracle—Used in the definition of k-SMDP, (k,b)-GMDP, k-SMDDH and (k,b)-GMDDH.
H 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.
JO 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.
O Landau’s symbol—An asymptoptic bound on the function’s growth.
SO The Signing Oracle, on input an event-id event, a group size n, a set p k t of n public keys, a set of public keys of possible signers p k Π p k t , a message M, and a time t, returns a valid signature σ′.
T The number of time periods.
νThe level at which the genuine signer should know the secret key, κ + ( T mod b) −1.
τThe set of indices used to generate a public key for a given time period.
bThe initial public key level.
kThe combinatorial constant.
lThe multilinear map size.
tThe current time period.

References

  1. 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]
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. 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]
  7. Pointcheval, D.; Stern, J. Security proofs for signature schemes. In Eurocrypt; Springer: Berlin, Germany, 1996; Volume 96, pp. 387–398. [Google Scholar]
  8. 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]
  9. 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]
  10. 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]
  11. Boneh, D.; Silverberg, A. Applications of multilinear forms to cryptography. Contemp. Math. 2003, 324, 71–90. [Google Scholar] [Green Version]
  12. Boneh, D.; Wu, D.J.; Zimmerman, J. Immunizing multilinear maps against zeroizing attacks. IACR Cryptol. ePrint Arch. 2014, 2014, 930. [Google Scholar]
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. Tsoukalas, G.; Papadimitriou, K.; Louridas, P.; Tsanakas, P. From helios to zeus. USENIX J. Elect. Technol. Syst. 2013, 1, 1–17. [Google Scholar]
  19. Adida, B. Helios v3 Verification Specs; Technical Report; Helios Voting: Boston, MA, USA, 2010. [Google Scholar]
  20. Zhandry, M. Adaptively secure broadcast encryption with small system parameters. IACR Cryptol. ePrint Arch. 2014, 2014, 757. [Google Scholar]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. Paneth, O.; Sahai, A. On the equivalence of obfuscation and multilinear maps. IACR Cryptol. ePrint Arch. 2015, 2015, 791. [Google Scholar]
  27. 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] [Green Version]
Table 1. Overview of state changes.
Table 1. Overview of state changes.
Time PeriodPublic KeyPrivate KeyPrivate Store
0 [ Z 1 ] 1 [ x 1 ] 0 [ x 1 2 ] 1 , [ x 2 ] 0 , [ x 3 ] 0
1 [ Z 1 2 ] 2 [ x 1 2 ] 1 [ x 2 ] 0 , [ x 3 ] 0
2 [ Z 2 ] 1 [ x 2 ] [ x 2 x 1 ] 1 , [ x 2 2 ] 1 [ x 3 ] 0
3 [ Z 2 Z 1 ] 2 [ x 2 x 1 ] [ x 2 2 ] 1 [ x 3 ] 0
4 [ Z 2 2 ] 2 [ x 2 2 ] [ x 3 ] 0
5 [ Z 3 ] 1 [ x 3 ] 0 [ x 3 x 1 ] 1 , [ x 3 x 2 ] 1 , [ x 3 2 ] 1
6 [ Z 3 Z 1 ] 2 [ x 3 x 1 ] 1 [ x 3 x 2 ] 1 , [ x 3 2 ] 1
7 [ Z 3 Z 2 ] 2 [ x 3 x 2 ] 1 [ x 3 2 ] 1
8 [ Z 3 2 ] 2 [ x 3 2 ] 1
Table 2. Space and time complexity analysis.
Table 2. Space and time complexity analysis.
Complexity Analysis
PropertyComplexity
Signature Size (Group Elements) n + 3
Public Key Size (Group Elements) T
Secret Key Size (Group Elements) 3 T
Signing Complexity (Pairings and Multiplications) O ( n )
Verifying Complexity (Pairings and Multiplications) O ( n )
Link Complexity (on Verified Signatures)1
Private-Key Update Complexity (Pairings and Multiplications) T
Public-Key Update Complexity (Pairings and Multiplications)0

Share and Cite

MDPI and ACS Style

Boyen, X.; Haines, T. Forward-Secure Linkable Ring Signatures from Bilinear Maps. Cryptography 2018, 2, 35. https://doi.org/10.3390/cryptography2040035

AMA Style

Boyen X, Haines T. Forward-Secure Linkable Ring Signatures from Bilinear Maps. Cryptography. 2018; 2(4):35. https://doi.org/10.3390/cryptography2040035

Chicago/Turabian Style

Boyen, Xavier, and Thomas Haines. 2018. "Forward-Secure Linkable Ring Signatures from Bilinear Maps" Cryptography 2, no. 4: 35. https://doi.org/10.3390/cryptography2040035

APA Style

Boyen, X., & Haines, T. (2018). Forward-Secure Linkable Ring Signatures from Bilinear Maps. Cryptography, 2(4), 35. https://doi.org/10.3390/cryptography2040035

Article Metrics

Back to TopTop