Abstract
Commitment schemes are important tools in cryptography and used as building blocks in many cryptographic protocols. We propose two commitment schemes by using Rubik’s groups. Our proposals do not lay the security on the taken-for-granted hardness of the word problem over Rubik’s groups. Instead, our first proposal is based on a symmetric encryption algorithm that is secure based on the hardness of the conjugacy search problem over Rubik’s groups, while our second proposal is based on the hardness of a newly derived problem—the functional towering conjugacy search problem over Rubik’s groups. The former is proved secure in the sense of both computational hiding and binding, while the latter is proved even secure in the sense of perfect hiding and computational binding. Furthermore, the proposed schemes have a remarkable performance advantage: a linear commitment/opening speed. We also evaluate the efficiency of the commitment schemes and show that they are considerably fast.
1. Introduction
The commitment scheme is one of the most important cryptographic primitives and has been widely used as an essential building block in many cryptographic protocols, such as the verifiable secret sharing scheme [] and zero-knowledge protocols []. Meanwhile, the commitment scheme itself can be used in many privacy-preserving scenarios such as e-voting [], e-auction [], GIS-supported location services [], etc. Over the last two decades, many commitment schemes have been developed. To the best of our knowledge, the security of almost all explicit constructions for commitment schemes is based on number-theoretic hardness assumptions, such as the IFP-based scheme due to Goldreich [] and the DLP-based scheme due to Pedersen [], which imposes heavy computational burdens. Recently, the Rubik’s cube, as a mechanical puzzle game tool, has been used by researchers to construct many cryptographic schemes, such as Cayley hash functions [], key agreement protocols [], and encryption schemes []. However, some of them establish their security on a taken-for-granted hardness assumption: the recovery of a Rubik’s cube with a random configuration. Today, computer programs can solve Rubik’s cubes instantaneously, and even human champions can solve them within 20 steps under a configuration. Therefore, designing new Rubik’s cryptographic protocols by using falsifiable intractability assumptions is of interest.
This paper proposes two new fast commitment schemes that use Rubik’s cube rotation operations. To the best of our knowledge, one of them is the first commitment scheme based on a symmetric encryption algorithm from a non-Abelian group. The other scheme can be regarded as a non-Abelian variant of the Pedersen commitment scheme, the security of which depends on the intractability assumption of the FT-CSP problem over the Rubik’s group. Furthermore, we evaluate the efficiency of the schemes and show that they are more efficient than the Pedersen commitment scheme in terms of the computational cost.
The rest of the paper is organized as follows: in Section 2, we introduce necessary notations and preliminaries, including the relevant concepts of commitment scheme, Rubik’s group, and intractability assumptions. In Section 3, we briefly review two building blocks: the encoding/decoding methods and the encryption/decryption algorithms. Two commitment schemes are presented in Section 4. Performance evaluations are provided in Section 5, and concluding remarks are given in Section 6.
2. Background
2.1. Notations
We adopt the following notations from []. The notation indicates an algorithm A on input x, and randomness r outputs y. We use to represent the process of picking randomness r at random and setting and write for sampling y uniformly at random from the set S. Without loss of generality, all algorithms in this paper take as input a security parameter (that is usually written in unary as ), and sometimes we do not explicitly write , but we always need to assume that it is implicitly available, and the larger the , the more secure the cryptographic protocols. Finally, given two functions , the notation indicates that holds for every constant , and we say f is negligible (resp. overwhelming) if (resp. ).
2.2. Commitment Scheme
A commitment scheme is a two-party scheme between a committer and a receiver and runs in two phases: In the commitment phase, the committer computes a confidential commitment value and sends c to the receiver, where s is the corresponding plaintext commitment, and r is a random salt used for ensuring the freshness of the commitment; In the opening phase, the committer reveals , and the receiver verifies and accepts the commitment only if holds. The commitment scheme is said to be consistent if for each run of the above two-phase commitment protocol, the committed value s is accepted (with overwhelming probability), assuming that both the committer and the receiver are honest. The commitment protocol requires the following two security properties:
- Hiding (against an adversarial receiver). The receiver cannot learn any non-trivial information of s from c before the opening phrase.
- Binding (against an adversarial committer). The committer cannot open another commitment value without being detected by the receiver, or equivalently, s is uniquely bound to c.
Furthermore, a commitment protocol is said to be perfect hiding (resp. perfect binding) if no adversarial receiver (resp. committer) can break the hiding (resp. binding) property, while it is said to be computational hiding (resp. computational binding) if no probabilistic polynomial-time (PPT for short) adversarial receiver (resp. committer) can break the hiding (resp. binding) property with non-negligible probability.
2.3. Rubik’s Group and the Intractability Assumptions
Let us take a Rubik’s cube as an example. The Rubik’s cube surface is divided into 54 small facets, numbered from 1 to 54, located on its six faces. The six sides of the cube are called U, L, F, R, D, and B, representing the upper face, left face, front face, right face, down face, and back face, respectively. Each side of a Rubik’s cube can be rotated as a whole. A rotation is called a basic operation, denoted in as . A counterclockwise rotation is basically an inverse operation, denoted in as . The composition of a series of base operations and base inverse operations constitutes a configuration. (See Figure 1).
Figure 1.
Facet numbers on original configuration [].
All the possible configurations of a Rubik’s cube comprise a group, denoted by , with identity 1 that indicates an empty rotation or, equivalently, doing nothing. That is, one finite-generated representation of is given by
According to [], we know that the cardinality of this group is approximated by ·. Apparently, is a non-Abelian group, and thus, the following problems over are non-trivial.
Definition 1
(Conjugacy Decision Problem, CDP). Given a group G and two elements , decide whether x and y are conjugate to each other, denoted by , i.e., such that .
Definition 2
(Conjugator Search Problem, CSP). Given a group G and two elements with , find such that .
Now, in this paper, we would like to propose the following problem:
Definition 3
(Functional Towering Conjugacy Search Problem, FT-CSP). Given a group G, a function , and three elements with , find such that , assuming such exists.
Remark 1
(Hardness of CDP and CSP). Note that for any Abelian group G, all the above problems are trivial: we can answer all CDP instances with YES since every pair is conjugated and answers all CSP instances with arbitrary , while any FT-CSP instance with admits solutions for arbitrary . However, for non-Abelian groups, the above problems are non-trivial. In fact, in the generic group model, the CDP problem is unsolvable []. On the one hand, we know that for the permutation group, the CDP problem has no corresponding polynomial time method []. On the other hand, over the last few years, several cryptographic schemes based on the intractability assumption of the CSP problem and CDP problem over braid groups have been proposed [,]. Considering that the Rubik’s group is a subgroup of the permutation group , which is in turn a subgroup of the braid group , this progress gives us the confidence to establish the security of our new encryption scheme on the intractability assumptions of the conjugacy problems, including the CDP problem and CSP problem, over the Rubik’s groups.
Remark 2
(Hardness of FT-CSP). As for the FT-CSP problem, we have the following consideration:
- Suppose the conjugator, denoted by c, of the pair is unique. Then, we have . Now, one possible way that we can conceive is to pick at random and check whether holds.
- Suppose the conjugators of the pair are not unique. Then, for each conjugator , we face a similar group equation .
That is, in both the above cases, solving an FT-CSP instance would be observably harder than solving a CSP instance.
Moreover, the hardness of FT-CSP might be tightly related to the choices of function v. Say, the simplest case is to set for , then the FT-CSP problem is nothing but the so-called double conjugator search problem (DCSP) that aims to find so that for given . On the contrary, a much more complex case might be to set as an unpredictable function, say a random oracle that in practice could be instantiated by a collision-resistant hash (CRH for short) function or a pseudo-random function (PRF for short). Then, for solving the FT-CSP problem, we face two obstacles simultaneously: solving the CSP problem, and guessing the output of in advance. Thus, in this case, the unpredictability of the function v suggests that the success probability for solving the given FT-CSP instance is negligible.
Now, let us consider another trick, called after sampling, for defeating an FT-CSP solver : if the function is undetermined, say v is sampled from a CHF or PRF family but kept unrevealed to in advance. Then, after outputs their answer for a partially given FT-CSP instance , let us sample v at random and then check whether u is a correct solution towards the fully given FT-CSP instance . Clearly, before specifying v, it is totally undetermined whether ’s answer is correct. Therefore, we conclude as follows:
Claim 1.
The FT-CSP problem, with the after-sampling trick on v, is intractable even for a solver with unbounded computational power.
This enhanced hardness would play the underlying security basis of our second proposal given later in this paper.
Remark 3
(Rubik’s group vs. Braid group). As aforementioned, the Rubik’s group can be viewed as a special subgroup of the braid group . However, in this work, we use the term of rotating Rubik’s cubes, instead of weaving braids, in describing our proposals, considering the following advantages of doing so:
- Even secure encoding method. For cryptographic applications, the involved group elements should be represented in an unambiguous way, i.e., the so-called canonical form that can be viewed as an encoding method on group elements. For braid-based cryptographic applications, typical canonical forms reveal partial information of the word length of the involved braids, suffering from to the so-called length-based attacks []. As for the Rubik’s cube given in Figure 1, no matter how many rotations are done, its canonical form is always a permutation in . Thus, each element in a Rubik’s group admits a fixed-length canonical form, and this property makes the length-based attacks useless.
- Even fast implementation. The typical implementation of Rubik-based cryptosystems can be finished approximately in microseconds [], while the reported braid-based cryptosystems require milliseconds [].
3. Reviewing of Building Blocks: Encoding and Encryption Using Rubik’s Cubes
To proceed, let us review the encoding/decoding methods and encryption/decryption algorithms given in [] (See Figure 2). They are the building blocks of our proposal given in the next section.
Figure 2.
Left: Arrows on original configuration; Right: Arrows updating with rotating face B.
3.1. Encoding/Decoding over Rubik’s Cubes
To commit messages by using the Rubik’s cube, we need to introduce a method for encoding/decoding messages on a Rubik’s cube, which is different from the traditional method of describing message letters directly on the Rubik’s cube facets. The key idea of the encoding/decoding methods is to map two bits to four arrows with different directions as follows []:
- Encode. Assume that each message is a 108-bit string and can be divided into 54 pairs. Then, each pair of bits can be translated to one of four arrows. For example, let 00, 01, 10, and 11 be translated to ↑, →, ↓ and ←, respectively. Next, the translated 54 arrows are assigned to the 54 facets one by one. Finally, the 54 facets are assigned to the six faces of Rubik’s cube as if they were the original configuration.
- Decode. The reverse process of encoding: given a configuration with 54 faces assigned with arrows, at first, each arrow is translated back to a 2-bit pair accordingly. Furthermore, then, output a 108-bit string by piecing together all these 2-bit pairs in the 54 facets one by one.
More formal descriptions on the encoding/decoding methods can be found in [].
3.2. Encryption/Decryption over Rubik’s Cubes
The first encryption scheme in [] is used as a building block in our first construction of the commitment protocol. The scheme consists of the following four algorithms:
- Setup. Over a Rubik’s cube, let and be the space of messages and ciphertext, respectively.
- KeyGen. Randomly generate a secret key as a random rotating sequence with the proper word length.
- Encrypt. Input a secret key k and message m, then perform the following:
- –
- Choose a random rotation sequence r;
- –
- Encode the message m to the 54 facets of the Rubik’s cube;
- –
- Perform rotation (i.e., the reverse rotation of k);
- –
- Perform rotation r;
- –
- Perform rotation k;
- –
- Decode the arrows on the 54 facets of the Rubik’s cube to a 108-bit string ;
- –
- Output a ciphertext .
- Decrypt. Input the secret key k and the ciphertext , and then perform the following:
- –
- Check whether is a 108-bit string: if not, return ⊥, which indicates that c is an invalid ciphertext; otherwise, continue;
- –
- Check whether r is a valid rotating sequence: if not, return ⊥; otherwise, continue;
- –
- Encode to the 54 facets of the Rubik’s cube;
- –
- Perform rotation ;
- –
- Perform rotation ;
- –
- Perform rotation k;
- –
- Decode the arrows on the 54 facets of the Rubik’s cube to a 108-bit message m;
- –
- Output a message m.
In Ref. [], the above encryption scheme is proved to be indistinguishable against chosen plaintext attack (IND-CPA for short), assuming that the CDP problem is intractable over the Rubik’s group .
4. Our Proposals: The Commitment Schemes Using Rubik’s Cubes
Now, let us propose two commitment schemes, one of which is based on an enhanced version of the above symmetric encryption algorithm, and the other of which can be viewed as a non-Abelian analog of the Pedersen commitment scheme [].
4.1. Commitment Scheme Based on the CDP Problem
Over a Rubik’s cube , let be the space of messages to commit to and a cryptographic hash function . Then, the first commitment scheme, denoted by , involves the following two phases:
- Commitment phase. The committer commits to a message as follows:
- –
- Choose a random rotation sequence r;
- –
- Compute ;
- –
- Randomly choose a secret key k, i.e., a random rotating sequence with the proper word length;
- –
- , i.e., encrypt s with secret key k and random rotation r;
- –
- , i.e., encrypt h with k and r;
- –
- Send the commitment value to the receiver.
- Opening phase. To open a commitment to the receiver, the committer sends to the receiver directly. Furthermore, upon receiving sent by the committer, the receiver performs the following steps:
- –
- ;
- –
- ;
- –
- Check whether holds: if not, reject the commitment and return ⊥; otherwise, accept the commitment and return s.
Consistency. Note that the commitment process consists of two encryption algorithms; thus, the commitment value is encoded in the two configurations and . The opening process consists of two decryption algorithms. Therefore, we obtain the confirmation as, respectively,
which are just the original configurations for encoding message s and hash value h during the commitment process.
Security. Our proposal is based on an enhanced version of the aforementioned probabilistic encryption algorithm. Note that the commitment process is nothing but two encryption processes, the security of which are based on the intractable assumption of the CDP problem over the Rubik’s group, and that the commitment value is two ciphertext components in and where another ciphertext component r is a public random. The receiver would like to learn any non-trivial information of s from c before the opening phrase; then, the receiver has to operate a decryption process. Therefore, to break the hiding property of the commitment is nothing but solving the CDP problem that is kept unrevealed to the receiver. Thus, no receiver can learn information from the commitment about the message s. This suggests that the above commitment scheme is computational hiding.
Now, let us consider the binding property. Suppose that an adversarial committer wants to open a commitment with another value, say , without being detected. That is,
Or equivalently,
where .
Additionally,
where .
According to Theorem 3 in [], if the committer extracts a valid message s from the ciphertext c or the commitment c, then the committer can solve the CDP problem over the Rubik’s group that is kept unrevealed to the committer. Therefore, the commitment scheme is computational binding.
4.2. Commitment Scheme Based on the FT-CSP Problem
Since the rotation sequence is composed of 12 basic operations , and is well-known to be suitable for the transformation between binary and 12-adic numbers, a bit string message can be converted into a rotation sequence accordingly. Now, for a Rubik’s cube , let be two random public rotation sequences. Let be the space of messages to be committed. Then, our second commitment scheme, denoted by , involves the following two phases:
- Commitment phase.The committer commits to a message as follows:
- (1)
- Encode the message s to the 54 facets of the Rubik’s cube;
- (2)
- Convert s into a rotation sequence t;
- (3)
- Choose a random rotation sequence r;
- (4)
- Perform the rotation ;
- (5)
- Decode the arrows on the 54 facets of the Rubik’s cube to a 108-bit string c;
- (6)
- Send commitment value c to the receiver.
- Opening phase. To open a commitment to the receiver, the committer sends to the receiver directly. Furthermore, upon receiving sent by the committer, the receiver performs the following steps:
- (1)∼(4)
- Same as (1)∼(4) in the commitment phase;
- (5)
- Decode the arrows on the 54 facets of the Rubik’s cube to a 108-bit string ;
- (6)
- Check whether holds: if not, reject the commitment and return ⊥; otherwise, accept the commitment and return s.
Consistency. The consistency of the commitment protocol is straightforward, since the main body of the opening phase is nothing but a repeat of the corresponding steps of the commitment phase.
Security. The key point is that the rotation sequence specified in step (4) is nothing but a functional towering conjugate action . For mapping this action to an FT-CSP instance, we need to regard as , respectively, where r, picked at random, could be looked at as , i.e., a one-time output of a PRF function v that is independent of u. Therefore, breaking the hiding property of the commitment is nothing but solving the FT-CSP instance where is a PRF function that is kept unrevealed to the receiver. This suggests that the above commitment scheme is perfect hiding according to Claim 1.
Now, let us consider the binding property. Suppose an adversarial committer wants to open a commitment with another value, say , without being detected. That is,
Or equivalently,
where should be a valid encoding of . Unlike the adversarial receiver who faces an FT-CSP instance with the after-sampling trick on v, the committer has the freedom to choose . To proceed, let us consider the following four cases:
- (1)
- Given , finding is to solve the CSP instance with the setting and .
- (2)
- Given , finding is to solve the FT-CSP instance with the setting and for .
- (3)
- Given , finding r is similar to case (1).
- (4)
- Given , finding t is similar to case (2).
At this point, we can safely conclude that the commitment protocol is computational binding, assuming that the FT-CSP problem over the Rubik’s group is intractable.
5. Performance Evaluation
Let us proceed to evaluate the performance of our proposal based on the asymptotic complexity and the running time.
The asymptotic performance with respect to the system security parameter is summarized in Table 1. Our commitment scheme is based on the symmetric encryption algorithms from the Rubik’s group, which have linear encryption/decryption speeds. Regarding the commitment scheme , we note that the commitment value is the result of performing a series of rotations . Therefore, our proposals have a remarkable performance advantage: a linear commitment/opening speed.
Table 1.
Asymptotic performance.
According to [], we find that the average running time for each basic rotation is approximately 0.015 microseconds (or equivalently, 15 nanoseconds). Thus, with the suggested parameter settings, i.e., to ensure 100-bit entropy in the involved random rotations, the main workload of commitment/opening of our commitment scheme (resp.) can be completed within (resp. ) microseconds.
Recalling the Pedersen commitment scheme based on the discrete logarithm problem over the finite field , we find that the best computational complexities of the commitment/opening phases are , where q is the length of the modulus. Therefore, our two commitment schemes are considerably fast.
6. Conclusions
We propose new commitment schemes that achieve secure computational/perfect hiding and computational binding assuming the difficulty of the CDP problem or the FT-CSP problem over Rubik’s group, respectively. To the best of our knowledge, one of them is the first commitment scheme based on the symmetric encryption algorithm over a Rubik’s group. The other is regarded as a non-Abelian variant of the Pedersen commitment scheme. Furthermore, we evaluate the efficiency of the schemes. Our proposals are highly efficient in terms of the computational cost and have a linear commitment/opening speed.
Author Contributions
Conceptualization, P.P. and J.Y.; methodology, P.P., Y.P., and L.G.; validation, P.P., L.G., and L.W.; formal analysis, P.P. and L.W.; writing—original draft preparation, P.P.; writing—review and editing, all; visualization, J.Y.; supervision and project administration, Y.P.; funding acquisition, P.P., L.G., and L.W. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Natural Science Foundation of China (NSFC) (Grant NO. 61972050), the SNUT Doctoral Research Foundation (Grant No. SLGQD13-24), and the Open Foundation of State Key Laboratory of Networking and Switching Technology (Beijing University of Posts and Telecommunications) (SKLNST-2020-2-16).
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Acknowledgments
We thank the anonymous reviewers for giving us valuable suggestions.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Pedersen, T.P. Non-interactive and information theoretic secure verifiable secret sharing. In Proceedings on Advances in Cryptology–CRYPTO, LNCS 576; Springer: Berlin, Germany, 1992; pp. 129–140. [Google Scholar]
- Goldreich, O.; Krawczyk, H. On the composition of zero-knowledge proof systems. SIAM J. Comput. 1996, 25, 169–192. [Google Scholar] [CrossRef]
- Schoenmakers, B. A simple publicly verifiable secret sharing scheme and its application to electronic voting. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 1999; pp. 148–164. [Google Scholar]
- Dreier, J.; Dumas, J.G.; Jonker, H.; Lafourcade, P. Verifiability in e-Auction Protocols & Brandt’s Protocol Revisited. In Proceedings of the 1st Workshop on Hot Issues in Security Principles and Trust (HOTSPOT’13), Rome, Italy, 16 March 2013. [Google Scholar]
- Liu, L.; Kong, X.; Li, G.; Gao, L. Location of public service facilities based on GIS. In Proceedings of the 19th International Conference on Geoinformatics, Shanghai, China, 24–26 June 2011; pp. 1–4. [Google Scholar] [CrossRef]
- Goldwasser, S.; Micali, S.; Rivest, R.L. A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks. SIAM J. Comput. 1988, 17, 281–308. [Google Scholar] [CrossRef]
- Petit, C.; Quisquater, J.-J. Rubik’s for cryptographers. Not. AMS 2013, 60, 733–739. [Google Scholar] [CrossRef]
- Naik, S.C.; Mahalle, P.N. Rubik’s cube based private key management in wireless networks. In Proceedings of the 2013 15th International Conference on Advanced Computing Technologies (ICACT), Rajampet, India, 10–11 August 2013; pp. 1–6. [Google Scholar]
- Pan, P.; Pan, Y.; Wang, Z.; Wang, L. Provably Secure Encryption Schemes with Zero Setup and Linear Speed by Using Rubik’s Cubes. IEEE Access 2020, 8, 122251–122258. [Google Scholar] [CrossRef]
- Chaidos, P.; Groth, J. Making Sigma-Protocols Non-interactive without Random Oracles. In Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2015; pp. 650–670. [Google Scholar]
- Miller, C.F., III. Decision Problems for Groups—Survey and Reflections; Algorithms and Classification in Combinatorial Group Theory; Springer: Berlin/Heidelberg, Germany, 1992. [Google Scholar]
- Seress, A. Permutation Group Algorithms; Cambridge University Press: Cambridge, UK, 2002. [Google Scholar]
- Wang, L.; Wang, L.; Cao, Z.; Yang, Y.; Niu, X. Conjugate adjoining problem in braid groups and new design of braid-based signatures. Sci. China Inf. Sci. 2010, 53, 524–536. [Google Scholar] [CrossRef][Green Version]
- Wang, L.; Tian, Y.; Pan, Y.; Yang, Y. New construction of blind signatures from braid groups. IEEE Access 2019, 7, 36549–36557. [Google Scholar] [CrossRef]
- Myasnikov, A.G.; Ushakov, A. Random subgroups and analysis of the length-based and quotient attacks. J. Math. Cryptol. 2008, 1, 29–61. [Google Scholar] [CrossRef]
- Cha, J.C.; Ko, K.H.; Lee, S.; Han, J.W.; Cheon, J.H. An Efficient Implementation of Braid Groups. In International Conference on the Theory and Application of Cryptology and Information Security; Springer: Berlin/Heidelberg, Germany, 2001; pp. 144–156. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).