Home New Zémor-Tillich Type Hash Functions Over GL2 (𝔽pn)
Article Open Access

New Zémor-Tillich Type Hash Functions Over GL2 (𝔽pn)

  • Hayley Tomkins , Monica Nevins and Hadi Salmasian
Published/Copyright: August 1, 2020
Become an author with De Gruyter Brill

Abstract

We present a large class of new Zémor-Tillich type hash functions whose target space is the finite group GL2(𝔽pn) for any prime p and power n. To do so, we use a novel group-theoretic approach that uses Tits’ “Ping-Pong Lemma” to outline conditions under which a set of matrices in PGL2(𝔽p((x))) generates a free group. The hash functions we form are secure against known attacks, and simultaneously preserve many of the desired features of the Zémor-Tillich hash function. In particular, our hash functions retain the mall modifications property.

MSC 2010: 11T71; 20E05; 11Z05

1 Introduction

Hash functions are an essential part of many cryptographic schemes, principally as tools of message authentication and modification detection. In [1] and [2] Gilles Zémor introduced the idea of building hash functions from Cayley graphs of large girth. The remarkable property of these Cayley graph hash functions, known as the small modifications property, is that any small modification of a message necessarily changes its hash value. This idea was popularized by a later construction due to Tillich and Zémor [3]. Recalling that {0, 1}* denotes the set of all finite sequences of 0s and 1s, the fundamental construction is as follows.

Associated hash: Given a groupGandg1, g2G, the associated [Cayley] hashHis the map defined for any messagem = m1mk ∈ {0, 1}*byH(m) = H(m1) ⋯ H(mk) ∈ GwhereH(0) = g1andH(1) = g2.

Formally one chooses N ∼ log(∣G∣) and an injective map ψ : G → {0, 1}N, then uses ψ(H(m)) as a hash value. However, we will consider the hash values as elements of G. Seeing our hash values in this way allows notions such as collision, second preimage, and preimage resistance to be easily restated as mathematical problems that for a general group are believed to be hard. As an example, the notion of collision resistance is the group-theoretic balance problem: Given a set of elements S generating a group G, find an efficient algorithm that returns two distinct reduced words over S (with lengths bounded by some parameter L) whose products are equal in G [4].

Following Zémor’s original motivation, our goal in this paper is to preserve the property of the Zémor-Tillich hash function that small modifications of text are detected. As conventional, we write q = pn, and view 𝔽q as the quotient 𝔽q ≅ 𝔽p[x]/〈rn(x)〉 for some irreducible polynomial rn(x) of degree n. Further, we write 𝔽p((x)) for the field of formal Laurent series over 𝔽p and write M2×2(𝔽p[x]) for the set of matrices with entries in the polynomial ring 𝔽p[x] ⊆ 𝔽p((x)).

Our hash function construction: LetA, BM2×2(𝔽p[x]) and set

D=MM2×2(Fp[x])rn(x)det(M).

Define the projection map

πrn:DGL2(Fq)

to be the map taking entries of a matrix to their projections in 𝔽qunder the quotient byrn(x)〉. We then construct a hash functionHby taking the associated hash forg1 = πrn(A), g2 = πrn(B), andG = GL2(𝔽pn).

To make such choices of A and B, we use our novel Free Generators Theorem (Theorem 1, Section 2), which we will prove in Sections 2.2 and 2.3 using the geometry of projective space over 𝔽p((x)). We present a simplified version here.

Free Generators Theorem, SimplifiedLetpbe a prime and letd ∈ ℕ0be such thatd ≠ 0 ifp = 2. Furthermore, fix nonzerof, x2d+1𝔽p[x], c ∈ {0, 1}, anda, b, ã, ∈ 𝔽p[x] such that

ghmodxd+1foreachg,h{b,a~,b~}ifc=0{a,b,a~,b~}ifc=1.

Then the matrices

A=cbafc(f1)ab(1f)cbfaandB=b~a~f~f~1a~b~(1f~)b~f~a~

generate a free monoid inM2×2(𝔽p[x]) and a free subgroup of GL2(𝔽p((x))).

Corollary

LetA, BM2×2(𝔽p[x]) be matrices produced using the Free Generators Theorem such thatrn(x) ∤ det(A) andrn(x) ∤ det(B). LetHbe the associated hash forg1 = πrn(A), g2 = πrn(B), andG = GL2(𝔽pn). ThenHsatisfies thesmall modifications property for alterations of up ton/δbits, whereδis the maximum degree of entries ofAandB(Proposition 9). In particular, this implies thatHhasno collisions for messages of length at mostn/δ.

Note that from now on we assume rn(x) does not divide det(A) or det(B), so that πrn(A) and πrn(B) are defined. In Section 3, we take A and B to have entries of degree much smaller than n, so this condition will hold automatically. Moreover, when clear from context we use π instead of πrn.

The Free Generators Theorem allows us to create infinitely many hash functions over GL2(𝔽q) as we vary p and n. For example, notice that for p > 2, taking c = 0, a = 1, and b, ã, and to be −1, 0, and 1 in some order satisfies the (Simplified) Free Generators Theorem for any choice of d ≥ 0. These possible choices of b, ã, and give us 6 different pairs (A, B), and are shown in Table 1. With each of these choices, we can take d = 0 and any f, ∈ 𝔽p[x] such that f and have a zero constant term. We let S1(f, ), …, S6(f, ) be these choices of {A, B}. The (Simplified) Free Generators Theorem then gives the following.

Table 1

The matrices A and B produced using the (Simplified) Free Generators Theorem for p > 2, d = 0, a = 1, c = 0, f, ∈ x𝔽p[x], and given choices of b, ã, and .

{A, B}ABbã
S1(f, )f001f~+11f~1f~f~+101−1
S2(f, )f001f~+1f~1f~1f~+10−11
S3(f, )f0f11f~f~1011−10
S4(f, )f0f1111f~0f~10−1
S5(f, )f01f1f~1f~01−110
S6(f, )f01f11f~10f~−101

Corollary

Each pair of matricesSi(f, ) in Table 1 generates a free group in GL2(𝔽p((x))). In particular, Si(f, ) also generates a free monoid inM2×2(𝔽p[x]).

For an example of generators with p = 2, take d = 1, a = 1, c = 0, b = 0, ã = 1, and = x. Then, for any f, x3𝔽2[x], the (Simplified) Free Generators Theorem implies that A=f001 and B=f~+xf~+1xf~+xxf~+1 generate a free subgroup in GL2(𝔽2((x))).

In this work, we show that educated choices of generators produced using the Free Generators Theorem give hash functions that both are resistant to the previous attacks on the Zémor-Tillich hash function and possess numerous useful properties, including many that popularized the Zémor-Tillich hash function (see Section 1.1). For instance, using the Free Generators Theorem affords us a stronger version of the property that small modifications are detected (Proposition 10), as well as a new method of preventing against specific small relations (Proposition 12), such as the relation used in an initial attack in [5]. More broadly, the Free Generators Theorem provides many choices of g1 and g2 over any characteristic and offers a great amount of control in the degrees and form of the entries in our generators. The Free Generators Theorem also extends to allow an arbitrary number of generators (Theorem 4). Further, as Cayley hashes, our constructions are both calable, meaning we can control the size of the output, and possess the concatenation property; H(m1m2) = H(m1)H(m2), which easily allows for hash values to be computed in parallel. The concatenation property also has a real-life application: in [6] Quisquater and Joye showed it made the Zémor-Tillich hash function ideal for authenticating video sequences.

To further highlight the strength of the Free Generators Theorem, we note that the inductive degree argument Tillich and Zémor use to show that their matrices A and B generate a free monoid [3, Lemma 3.5] can only be extended to matrices with a particular relation between the degrees of their entries. Our method of choosing generators using the Free Generators Theorem, Theorem 1, is preferable in many ways. For example, in Section 3 we find precise conditions on our parameters for generating a large enough set of hash values (Propostions 15 and 16), and see that the freeness allows us to prevent against attacks using short relations (Proposition 12). As well, our theorem substantially increases freedom in the choice of generators, which we believe should make the corresponding hash function less susceptible to attacks that are dependent on the structure of the generators themselves, such as Grassl et al’s palindrome attack [7]. Moreover, the Free Generators Theorem provides many choices of generators that could not be produced using the extended degree argument alluded to above, such as any of the sets S1(f, ), …, S6(f, ) from Table 1.

The ideas in this paper are also mathematically interesting beyond their immediate application to hash functions. For one, the use of Breuillard and Gelander’s [8] version of Tits’ Ping-Pong argument in our proof of the Free Generators Theorem (see Sections 2.2 and 2.3) offers a concrete mechanism by which to apply their results to generate free subgroups of PGLn(𝕂), for any n and any local field 𝕂. For another, when 𝕂 is non-Archimedean one can interpret A and B as acting by translations on the Bruhat-Tits tree of PGL2(𝕂); it would be an interesting question to interpret the conditions for freeness of the group they generate to the geometry of this building.

This work is organized as follows. In Section 1.1 we give a brief review of prior work related to this paper. In Section 2 we state the Free Generators Theorem and give its proof. In Section 3 we analyse our hash function constructions and their beneficial properties in great detail, including presenting the stronger version of the small modification property (Proposition 10) and our method of preventing against given sets of small relations (Proposition 12). We then consider some potential attacks in Section 4, and summarize the robustness of our proposed hash functions in Section 5. Appendix A serves as a mathematical background and is auxiliary.

1.1 Previous Work

Zémor originally suggested generators g1=1101 and g2=1011 and the target group G = SL2(𝔽p) [1, 2], and though soon broken in [9], his construction inspired numerous subsequent hash functions, with many constructions using expander graphs [10, 11, 12, 13, 14, 15]. In particular we note that Lauter, Charles, and Goren [16] proposed two constructions for a patent, one using Pizer graphs over elliptic curves, and another using LPS expander graphs.

Most recently, Bromberg et al. [17] suggested extending a pair of generators proposed in [9] to pairs of the form g1=1r01 and g2=10s1 in SL2(𝔽p) for p a large prime, and showed that for r = s = 2 and r = s = 3 these choices remain impervious to known attacks, including the lifting attack presented in [9]. However, we note that our approach produces a much larger and more flexible class of generators, and further it is applicable to the GL2(𝔽q) setting.

Zémor’s construction also inspired our hash function of interest, the Zémor-Tillich hash function. This hash function was introduced in 1994 by Tillich and Zémor [3] and is defined as the associated hash of G = SL2(𝔽2n) and

g1:=x110,g2:=xx+111

where x is a root of the defining polynomial of 𝔽2n.

From its introduction the Zémor-Tillich hash function was well-received for many reasons. Remarkably, the Zémor-Tillich hash function was comparable in computation speed to current cryptographic standards [18]. In a world where computational speed is usually sacrificed for having security based on some mathematical problem, or vice versa, it is rare to satisfy both these properties. Further, the Zémor-Tillich hash function retained the property that made Zémor’s original construction so appealing: mall modifications of messages are detected [3]. Another noteworthy feature of the Zémor-Tillich hash function is that the distribution of all possible hash values of messages of length approaches the uniform distribution as approaches infinity [3].

The first attack on the Zémor-Tillich hash function was made by Charnes and Pieprzyk [5], which was later followed by [19]. However, these attacks were easily avoided as they were specific to the choice of polynomial used to define the finite field 𝔽2n. The first attack defined independently of this choice was by Geiselmann, but was considered impractical [20]. It was not until 2011 that a feasible attack was found on Tillich and Zémor’s construction by Grassl et al. [7], which was later extended into a preimage attack [21]. However, this attack was very specific to both the characteristic of the underlying finite field, and Tillich and Zémor’s choice of generators.

Some general attacks on hash functions over SL2(𝔽q) have been investigated [22, 23], including an approach utilizing factoring techniques over SL2(𝔽2n) [24, 25], but they are infeasible for a sufficiently large pn. Consequently Tillich and Zémor’s construction is still considered of interest for G = SL2(𝔽pn) [4, 26]. This leaves an open question: what choices of generating matrices and underlying finite fields produce, based on Tillich and Zémor’s initial construction, a hash function which retains the strengths of the Zémor-Tillich hash function but is more robust to attacks?

While some alternative generators for the Zémor-Tillich hash function have been suggested [4, 21], few have been presented with thorough analysis, and almost all suggestions are in SL2(𝔽2n). Expanding the search for alternative generators to characteristic p, an odd prime, or the larger group GL2(𝔽), where 𝔽 is a finite field, appears to be almost entirely new and is the aim of this work.

2 Statement of the Free Generators Theorem

In this section we present and prove the Free Generators Theorem (Theorem 1), which provides an abundant source of pairs of matrices that generate a free subgroup of GL2(𝔽p((x))), and from which we can algorithmically construct infinitely many pairs of generators as we vary p and n.

In the following ∣ ⋅ ∣ denotes the norm in 𝔽p((x)), [u] and [u1 : u2] denote the respective images of a vector u and a vector (u1, u2) in ℙ1, and d(⋅, ⋅) is the distance we equip to ℙ1. Precise definitions are given in Appendix A.

Theorem 1

(Free Generators Theorem)Letpbe a prime and letd ∈ ℕ0be such thatd > 0 ifp = 2. Choose anya, b, c, ã, ∈ 𝔽p((x)), f, ∈ 𝔽p((x))×, such that

  1. d([u], [v]) > 1pd+1for each pair of [u], [v] in {[a : c], [1 : b], [1: ã], [1: ]}, and

  2. min {∣f∣, ∣f−1∣} ≤ 1p2d+1, and min{∣∣, ∣−1∣} ≤ 1p2d+1.

Then the matrices

A=abcfa(f1)cb(1f)abfcandB=b~a~f~f~1a~b~(1f~)b~f~a~(1)

generate a free group in PGL2(𝔽p((x))). In particular, any inverse images ofAandBin GL2(𝔽p((x))) also generate a free group.

Note that this last statement follows because PGL2(𝔽p((x))) = GL2(𝔽p((x)))/Z where Z is the subgroup of invertible scalar matrices.

Notation

Given a prime p, we define 𝔖p to be the set of pairs of matrices S = (Ã, ) such that Ã, M2×2(𝔽p[x]) are preimages of the matrices A, B in PGL2(𝔽p((x))) described by Theorem 1. Further, we write 𝔖 when p is clear from context. We take ℌ to be the set of all hash functions constructed from Theorem 1 using the construction presented in Section 1.

2.1 Notes on parameters and extensions of the Free Generators Theorem

We first note that to satisfy condition Ξ2, we need only take f and to be elements of sufficiently small norm in 𝔽p((x)), for instance any elements of x2d+1𝔽p[x]. To understand the feasibility of satisfying condition Ξ1, we present the following proposition about the extraordinary geometry of ℙ1 [27, Proposition 4.3.7]. Note that 𝓞 denotes 𝔽p[[x]], the set of series in 𝔽p((x)) with no negative powers. Write N(u, ε) = {[v] ∈ ℙ1d([u], [v]) ≤ ε} for the closed ball of radius epsilon centred at u.

Proposition 2

For eachd ∈ ℕ0there existpd(p + 1) disjoint neighbourhoods of radius1pd+1such that for any point [u] ∈ ℙ1, N[u],1pd+1is precisely one of these neighbourhoods. They are

  1. for each (a0, a1, …, ad) Fpd+1, {[1 : a0 + a1x + … + adxd + r] ∣ rxd+1𝓞}, and

  2. for each (0, a1, …, ad) Fpd+1, {[a1x + … + adxd + r : 1] ∣ rxd+1𝓞}.

Interestingly, we can obtain the neighbourhoods of radius 1pd+1 by partitioning each of the pd(p + 1) neighbourhoods of radius 1pd+1 into p new ones.

Note that [1 : g] = [g−1 : 1]. Proposition 2 not only guarantees the existence of elements satisfying condition Ξ1, but also explicitly shows how to choose such elements. Further, we see the case d = 0 is excluded when p = 2 as it would be impossible to satisfy condition Ξ1; when p = 2 and d = 0 there are only 3 distinct 1pd+1-neighbourhoods in ℙ1, and at least four are needed.

For [1 : g] ∈ ℙ1 such that ∣g∣ ≤ 1, the condition d([u], [v]) > 1pd+1 can be seen more intuitively in terms of congruences modulo powers of x, which we state as a lemma below.

Lemma 3

For arbitraryg, h ∈ 𝔽p((x)) such thath ∈ 𝓞 andd ∈ ℕ0we haved([1 : g], [1 : h]) ≤ 1pd+1if and only ifgh mod xd+1.

Proof

As h ∈ 𝓞, we can write h = h0 + h1x + … + hdxd + h′ for some h0, …,hd ∈ 𝔽p and h′ ∈ xd+1𝓞. By Proposition 2, there is a unique neighbourhood of radius 1pd+1 containing h, namely {[1 : h0 + h1x + … + hdxd + r] ∣ rxd+1𝓞}. We see this set is precisely the set of elements [1 : g] in ℙ1 such that g is congruent to h modulo xd+1.□

Extension to non-binary hash functions: The proof of the Free Generators Theorem extends to a larger set of generators. Namely, for any > 0 we can replace the matrix B in the Free Generators Theorem with the set of distinct matrices

{Bi:=biaififi1aibi(1fi)bifiai1i}

where

  1. d([u], [v]) > 1pd+1 for each pair of [u], [v] in

    {[a:c],[1:b]}{[1:ai],[1:bi]1i}, and
  2. min{∣f∣, ∣f−1∣} ≤ 1p2d+1, and min{|fi|,|fi1|}1p2d+1 for 1 ≤ i ≤

for some d ≥ 0 such that pd(p + 1) ≥ 2+3.

Theorem 4

The set of matrices {A, B1, …, B} is a set of free generators of a free group in PGL2(𝔽p((x))). In particular, any inverse images of {A, B1, …, B} in GL2(𝔽p((x))) form free generators of a free group.

This provides + 1 generators, allowing us to hash messages written in base +1. We note the proof of this result follows the proof of Theorem 1 identically, and is sketched in [27, Proposition 5.8.1].

The asymmetry in the generator set given by Theorem 4 corresponds to the asymmetry of the description of points in ℙ1; we can view ℙ1 as {[1 : g] ∣ g ∈ 𝔽p((x))} ∪ {[0 : 1]}. The matrix A allows for the choice of [0 : 1] as an eigenvector, and thus provides a slightly more general statement than having only elements of the form Bi.

Extensions to other groups and fields: The methods here can be extended to finding generators of free groups in GL (𝔽p((x))) or PGL (𝔽p((x))) for > 2. For this extension there are some subtle technical issues that need to be addressed. A more straightforward extension would be applying the ideas of the proof of the Free Generators Theorem to produce free generators of general linear groups over other local fields, such as ℚp, by equipping them with an analogous distance. However, = 2 and GL2(𝔽p((x))) seem to be the most cryptographically applicable choices.

Keyed hash functions: As the Free Generators Theorem produces not one, but many hash functions, we could also use the Free Generators Theorem to produce a keyed hash function, by choosing hash functions from a subset of hash functions in ℌ that satisfy the desired conditions we present in Section 3.3.

2.2 The strategy for the proof of the Free Generators Theorem

The motivation behind the proof of the Free Generators Theorem is to use Tits’ “Ping-Pong Lemma”, recalled here as Proposition 6. To this end, we are inspired by Breuillard and Gelander’s [8] consideration of the Ping-Pong Lemma for projective linear groups over local fields. Breuillard and Gelander consider such groups as acting on an associated projective space, and show free groups can be found using group elements which map points of sufficient distance from a specified repulsing point close to a specified attracting point. With this in mind, we consider the action of A and B on ℙ1 by considering the action of the preimages of A and B in GL2(𝔽p((x))) on ℙ1. Again, we emphasize that our applications of this idea in this section are new.

To see how a general matrix U ∈ GL2(𝔽p((x))) acts on ℙ1, suppose that U has eigenvectors u1 and u2, with corresponding eigenvalues λ1 and λ2. Then, given a general vector [v] = [ru1+su2] ∈ ℙ1, we have that

U[v]=[rλ1u1+sλ2u2]=[ru1+sλ2λ1u2].

We notice that if ∣λ2∣ > ∣λ1∣ and s ≠ 0, then U moves [v] closer to [u2] and away from [u1]. This motivates us to investigate what a general form for A and B looks like in terms of the eigenvectors and eigenvalues of their preimages.

Lemma 5

LetÃ, ∈ GL2(𝔽p((x))). Suppose thatÃhas distinct eigenvectors (a, c), (1, b) ∈ Vwith corresponding eigenvaluesg, h ∈ 𝔽p((x)) and thathas distinct eigenvectors (1, ã), (1, ) ∈ Vwith corresponding eigenvalues, ∈ 𝔽p((x)). Then the respective images ofÃandin PGL2(𝔽p((x))) are

A=abcfa(f1)cb(1f)abfcandB=b~a~f~f~1a~b~(1f~)b~f~a~(2)

wheref=hg,f~=h~g~Fp((x)).

Proof

We show this for Ã, as the proof for is identical. By linear algebra A=a1cbg00hb1ca ∈ PGL2(𝔽p((x))), where the last matrix has been scaled by abc, which is invertible as [a : c] and [1 : b] are necessarily distinct.

As we are working over GL2(𝔽p((x))) we note the eigenvalues of à are nonzero, and in particular g ≠ 0. Thus, up to PGL2(𝔽p((x))) we can scale by 1g, obtaining A=a1cb100fb1ca=abcfa(f1)cb(1f)abfc, where f=hg.

We note that, by Remark 18, we can assume that any four distinct elements of ℙ1 are represented by the points [a : c], [1 : b], [1 : ã], and [1 : ] for some a, b, c, ã, ∈ 𝔽p((x)). Thus, for elements A and B in PGL2(𝔽p((x))), Lemma 5 is as general as possible.

Lemma 5 greatly simplifies our main argument: to find conditions for which A and B generate a free subgroup of PGL2(𝔽p((x))) it is sufficient to consider A and B of the form in equation (2) as done in Free Generators Theorem. The proof of Theorem 1 uses the following proposition due to Jacques Tits [28, Prop 1.1], known as the Ping-Pong Lemma.

Proposition 6

(Ping-Pong Lemma)LetPbe a set, Ian index set, Ga group acting onP, (Gi)iIa family of subgroups generatingG, (Pi)iIa family of subsets ofPand [z] a point ofPiIPi.Assume that for alli, jIwithijand allgGGi ∖ {1}, one hasgG(Pj ∪ {[z]}) ⊂ Pi. ThenGis the free product of the subgroupsGi (iI).

In what follows, we take P = ℙ1, I = {A, B}, GA = 〈A〉 = {Akk ∈ ℤ}, GB = 〈B〉 = {Bkk ∈ ℤ}, and G to be the subgroup of PGL2(𝔽p((x))) generated by A and B.

Let à and be respective preimages of A and B in GL2(𝔽p((x))). By Lemma 5, up to scaling à has eigenvectors (a : c) and (1 : b) with respective eigenvalues 1 and f ∈ 𝔽p((x)). Correspondingly, has eigenvectors (1: ã) and (1 : ) with respective eigenvalues 1 and ∈ 𝔽p((x)).

By condition Ξ2 we know that either ∣f∣ or ∣f−1∣ ≤ 1p2d+1, and that ∣∣ or ∣−1∣ ≤ 1p2d+1. For our argument we assume that ∣f∣, ∣∣ ≤ 1p2d+1. To see that we are able to make this assumption, notice that if A and B generate a free group in PGL2(𝔽p((x))), then so do A−1 and B. Further, notice that by the construction in Lemma 5, A−1 is obtained from A by replacing f with f−1.

As we are assuming the case that ∣f∣ ≤ 1p2d+1, we have that the eigenvalue corresponding to [a : c] is large in absolute value compared to the corresponding eigenvalue of [1 : b], and so A will map elements of ℙ1 towards [a : c]. An analogous observation can be made for B, as we are assuming ∣∣ ≤ 1p2d+1. That is, B will map elements of ℙ1 towards [1 : ã].

With this in mind we consider the closed neighbourhoods of radius 1p2d+1 centred at each of these eigenvectors:

N[a:c]=N[a:c],1pd+1andN[1:b]=N[1:b],1pd+1.

Similarly, we consider

N[1:a~]=N[1:a~],1pd+1andN[1:b~]=N[1:b~],1pd+1.

We note that neighbourhoods in ℙ1 take one of two forms, as given in Proposition 2. With this intuition, we choose

PA=N[a:c]N[1:b]andPB=N[1:a~]N[1:b~].(3)

We also need a point [z] ∈ ℙ1 such that [z] ∈ ℙ1 ∖ (PAPB). The existence of such a point is guaranteed by Proposition 2 by noting that pd(p + 1) > 4, except when p = 3 and d = 0. The proof of Theorem 1 in the case p = 3 and d = 0 can be done instead by a slightly modified argument, as shown in [27, Proposition 4.7.3].

Figure 1 allows us to visualize the neighbourhoods composing PA and PB as subsets of ℙ1; however, we caution this image is of ℙ1(ℝ) (the unit circle with antipodal points identified) and not of our non-Archimedean setting. With Proposition 2, condition Ξ1 implies that our 1pd+1-neighbourhoods are necessarily disjoint. This will be important for the proof of the Free Generators Theorem.

Figure 1 A visual representation of the 1pd+1$\begin{array}{}
\frac{1}{p^{d+1}}
\end{array}$-neighbourhoods of the eigenvectors of A and B and the point [z] ∈ ℙ1. To satisfy conditions Ξ1 and Ξ2 of Theorem 1 these neigbourhoods must be disjoint and the point [z] must lie outside each neighbourhood.
Figure 1

A visual representation of the 1pd+1-neighbourhoods of the eigenvectors of A and B and the point [z] ∈ ℙ1. To satisfy conditions Ξ1 and Ξ2 of Theorem 1 these neigbourhoods must be disjoint and the point [z] must lie outside each neighbourhood.

Of final importance in the proof of Theorem 1 will be ensuring A and B indeed map the constructed neighbourhoods as intended. Namely, looking at A, we would like A to map elements outside of N[1,b] to inside of N[a,c]. This property, and a useful corollary, are shown below.

Proposition 7

SupposeA ∈ PGL2(𝔽p((x))) is as in Theorem 1, and [u] ∈ ℙ1N[1:b]. ThenA ⋅ [u] ∈ N[a:c].

Proof

We suppose that [u] ∉ N[1:b]; we wish to show that [Au] ∈ N[a:c]. By scaling appropriately, we may choose the eigenvectors representing [1 : b] and [a : c] to be in the form (1, x) or (x, 1) with ∣x∣ ≤ 1; this defines four cases. We treat the first one, where a ≠ 0 and ∣b∣, ∣ca−1∣ ≤ 1.

Since [u] ∉ N[1:b], we may choose its representative from {e2, (1, g) ∣ ∣gb∣ ≥ pd, by Proposition 2. We use Cramer’s rule to write u in terms of the eigenvectors as

u=rca1b1b+sca1b1ca1

for some r, s ∈ 𝔽p((x)) so that Au = fr(1, b) + s(1, ca−1) = (fr + s, frb + sca−1) up to scaling. Note that ∣bca−1∣ ≤ 1.

We claim fr + s ≠ 0. If u = e2, then r = −1 and s = 1, whence ∣fr + s∣ = 1. If u = (1, g), with ∣gb∣ ≥ pd, then s = gb and r = ca−1g = (ca−1b) − s, whence fr + s = f(ca−1b) + (1 − f)(gb). Since ∣f(ca−1b)∣ ≤ ∣f∣ ≤ p−(2d+1) but ∣(1 − f)(bg)∣ = ∣bg∣ ≥ pd, by the ultrametric inequality the sum fr + s has norm at least pd, and in particular is nonzero.

Write [Au]=[1:frb+sca1fr+s]=[1:ca1+fr(bca1)fr+s]=[1:ca1+μ], setting μ=fr(bca1)fr+s. To prove that [Au] lies in N[1:ca−1] we need to show that ∣μ∣ ≤ p−(d+1) (for all u as above).

If u = e2 then since ∣fr + s∣ = 1, we have ∣μ∣ = ∣−f(bca−1)∣ ≤ ∣f∣ ≤ p−(2d+1)p−(d+1). If u = (1, g), with ∣gb∣ ≥ pd, then there are two possibilities. If ∣bg∣ ≤ 1, then also ∣r∣ ≤ 1 by the ultrametric inequality. Thus ∣fr(bca−1)∣ ≤ p−2d−1 while ∣fr + s∣ ≥ pd, whence ∣μ∣ ≤ p−2d−1pdp−(d+1). If instead ∣gb∣ > 1, then since ∣b∣ ≤ 1 we deduce ∣s∣ = ∣g∣ > 1. It follows also that ∣r∣ = ∣s∣ = ∣fr + s∣ = ∣g∣. Thus ∣r/(fr + s)∣ = 1, whence ∣μ∣ = ∣fbca−1∣ ≤ p−2d−1p−(d+1), as required.

An analogous careful analysis gives each of the other three cases. We refer the reader to [27, Section 4.6] for the full proof.□

Corollary 8

SupposeAis as in Theorem 1. ThenA−1(ℙ1N[a:c] ) ⊂ N[1:b].

Proof

Suppose that A−1(ℙ1N[a:c]) ⧸ ⊂ N[1:b]. Then there exists an element [u] ∈ ℙ1N[a:c] such that A−1 ⋅ [u] ∈ ℙ1N[1:b]. Since A−1 ⋅ [u] ∈ ℙ1N[1:b], by Proposition 7 we have A ⋅ (A−1 ⋅ [u]) = [u] ∈ N[a:c]. As we know [u] ∈ ℙ1N[a:c], this is a contradiction.□

2.3 Proof of the Free Generators Theorem

To show that the conditions of Proposition 6 are satisfied, and thus prove Theorem 1, we need to show that for all gAGA ∖ {1}, gA(PB ∪ {[z]}) ⊂ PA and for all gBGB ∖ {1}, gB(PA ∪ {[z]}) ⊂ PB. We notice that if we replace [a : c] with [1 : ã], [1 : b] with [1 : ], and f with , we obtain B from A. As B has the same form as A, we thus need only show that for any gAGA ∖ {1} we have gA(PB ∪ {[z]}) ⊂ PA.

We prove a stronger statement. More specifically, in Proposition 7 we showed that

AP1N[1:b]N[a:c](4)

and in Corollary 8 that

A1P1N[a:c]N[1:b].(5)

These mappings are illustrated in Figure 2.

Figure 2 A visual representation of the action of A (left figure) and the action of A−1 (right figure) on ℙ1. We see that A maps ℙ1 ∖ N[1:b] to N[a:c] and that A−1 maps ℙ1 ∖ N[a:c] to N[1:b].
Figure 2

A visual representation of the action of A (left figure) and the action of A−1 (right figure) on ℙ1. We see that A maps ℙ1N[1:b] to N[a:c] and that A−1 maps ℙ1N[a:c] to N[1:b].

Suppose that gAGA ∖ {1}. Then either gA = A or gA = A for some ∈ ℕ. Since the proof is identical, we assume without loss of generality that gA = A. We proceed by induction on .

Note that [z] ∈ ℙ1N[1:b]. Condition Ξ1 implies that PB = N[1:ã]N[1:] ⊆ ℙ1N[1:b]. By (4) we have that A maps ℙ1N[1:b] into N[a:c]. Thus we have A(PB ∪ {[z]}) ⊂ N[a:c].

Now suppose that A−1(PB ∪ {[z]}) ⊂ N[a:c]. Again, condition Ξ1 of Theorem 1 implies that N[a:c] ⊂ ℙ1N[1:b], so A−1(PB ∪ {[z]}) ⊂ ℙ1N[1:b]. By (4) we therefore have A(PB ∪ {[z]}) = A(A−1(PB ∪ {[z]})) ⊂ N[a:c]PA, as required. Thus A and B generate a free group in in PGL2(𝔽p((x))).

3 Properties of our hash functions

In this section we investigate three properties of the hash functions constructed from Theorem 1 (in ℌ). First, we show that if the degrees of the entries of A and B are small compared to n, then the small modifications property holds (Proposition 9), as well as a slightly stronger result (Proposition 10). We note that Proposition 9 is applicable to any choice of A and B that generate a free monoid in M2×2(𝔽p[x]), and that our construction of such a hash function could also extend to any such choices, such as those alluded to in Section 1. Second, we show that given a relation in π(A), π(B) and their inverses (where we recall π from Section 1), we can find a new choice of defining polynomial under which such a relation does not hold (Proposition 12). This ensures that, unlike for the Zémor-Tillich generators, there are no general relations to be exploited. Third, we show that under certain easily satisfiable conditions the group generated by π(A) and π(B) contains PGL2(𝔽q) (Propositions 15 and 16), which is to say, the set of hash values is a sufficiently large subset of GL2(𝔽q) (and in some cases will be the entire group).

3.1 The small modifications property holds

Recall that, as in Tillich and Zémor’s construction, one of the main goals of our construction is to preserve the small modifications property. With this in mind, suppose that A and B generate a free monoid in M2×2(𝔽p[x]), and let δ = max{deg(A), deg)B}. Let H be the hash function associated to πrn(x)(A) and πrn(x)(B) with values in GL2(𝔽q) where 𝔽q = 𝔽p[x]/〈rn(x)〉.

Our first result is that small modifications are detected.

Proposition 9

For every distinct pair of bitstringsm ∈ {0, 1}andm′ ∈ {0, 1}where 0 ≤ , ′ < n/δ, we haveH(m) ≠ H(m′).

Proof

Let M and M′ be the respective products yielding H(m) and H(m′) in M2×2(𝔽p[x]) before they are projected into GL2(𝔽q), so that π(M) = H(m) and π(M′) = H(m′). We see the entries of M are of degree at most δ and the entries of M′ are of degree at most δ. Since ,′ < n/δ, we know that each of the entries of M and M′ has degree less than n = deg(rn(x)), and therefore π(M) = π(M′) ∈ GL2(𝔽q) if and only if M = M′ ∈ M2×2(𝔽p[x]).

We know that M, M′ ∈ 〈A, B〉, and by our hypothesis that A, B generate a free monoid in M2×2(𝔽p[x]). This implies that MM′ since m and m′ are distinct. Thus it is impossible that π(M) = π(M′) in GL2(𝔽q).□

We in fact have a stronger property for the sets of generators we have produced. Recall that each k in 𝔽q is the image of a unique polynomial in 𝔽p[x] of degree less than n; let the degree be denoted deg(k).

Proposition 10

Suppose (A, B) ∈ 𝔖. Then for every distinct pair of bitstringsm ∈ {0, 1}andm′ ∈ {0, 1}where 0 ≤ , {′} < n/δ, we have thatH(m) ≠ kH(m′) for anyk ∈ 𝔽qsuch that (deg(k) + δ) < n. In particular, H(m) ≠ kIfor anyk ∈ 𝔽q, whence as elements of GL2(𝔽q), π(A) andπ(B) have order at leastn/δ.

Proof

Notice that since (A, B) are in 𝔖, their images in PGL2(𝔽p((x))) generate a free subgroup of PGL2(𝔽p((x))). This implies that M ≠ gM′ for any g ∈ 𝔽p((x)).

Suppose that π(M) = (M′) in GL2(𝔽q) for some k ∈ 𝔽q. Viewing k as its inverse image in 𝔽p[x] of lowest degree, we then have that M = kM′+rn(x) T for some TM2×2(𝔽p[x]). By our hypothesis we know that deg(k) + deg(M′) < n, so deg(kM′) < n. Since the entries of M each also have degree less than n, this implies T = 0, thus M = kM′, which is a contradiction.

Finally, note that if one takes m′ to be the identity string, we have ′ = 0, so deg k < n for any k ∈ 𝔽q. The last assertion of the proposition follows.□

We interpret these propositions concretely for the case of our generators in Table 1.

Corollary 11

Suppose A and B are from Table 1. If m and m′ are bitstrings in {0, 1}* such that H(m) = H(m′) then at least one of m, m′ has length at least n/max{deg(f), deg()}.

3.2 Guarding against attacks using known identities

Here we prove a property which allows us to prevent against specific relations of the form W(π(A), π(B)) = kI, where kFq× and W(π(A), π(B)) is a nontrivial word in {π(A), π(B), π(A)−1, π(B)−1}*. This is important in verifying attack resistance in a broader setting. As an example, considering A and B as the Zémor-Tillich generators, Grassl et al. [7] use the relation B−1A = A−1B, which was independent of rn(x), to find non-palindromic collisions from their original palindromic ones. We use this as motivation for the following proposition.

Proposition 12

Let (A, B) ∈ 𝔖pand letW(A, B) ∈ {A, A−1, B, B−1}*be a nontrivial word. Then there exists a choice of irreduciblern(x) ∈ 𝔽p[x] of degreensuch that

W(πrn(A),πrn(B))kIGL2(Fq)

for anykFq×when 𝔽q = 𝔽p[x]/〈rn(x)〉.

Proof

Define ϕ : = det(AB) ∈ 𝔽p[x]. Let 𝔽p[x]1/ϕ be the localization of 𝔽p[x] at ϕ, that is 𝔽p[x]1/ϕ = {g/ϕg ∈ 𝔽p[x], ≥ 0}.

Since 1detA=detBϕ, we have 1detA ∈ 𝔽p[x]1/ϕ. Similarly 1detB ∈ 𝔽p[x]1/ϕ. As well, we note that 𝔽p[x]1/ϕ is contained in the fraction field 𝔽p(x) and thus in 𝔽p((x)). Consequently, we have that A, B ∈ GL2(𝔽p[x]1/ϕ) ⊆ GL2(𝔽p((x))), allowing us to work in a group setting rather than in the monoid M2×2(𝔽p[x]).

For any irreducible polynomial r ∈ 𝔽p[x], we define the ideal

p:=r=rggFp[x]Fp[x]

and, assuming rϕ, let 𝔭1/ϕ be the localization of 𝔭 at ϕ, that is the ideal of 𝔽p[x]1/ϕ defined by 𝔭1/ϕ = {rg/ϕg ∈ 𝔽p[x], ≥ 0} ⊆ 𝔽p[x]1/ϕ.

Further, our quotient map 𝔽p[x] → 𝔽q extends naturally to another surjective map ψr: 𝔽p[x]1/ϕ → 𝔽q induced by xξ where ξ is a root of r.

The kernel of ψr is 𝔭1/ϕ. Thus by the first isomorphism theorem we have

Fp[x]1/ϕ/p1/ϕFq.

Further, we observe that the natural images of A and B ∈ GL2(𝔽p[x]1/ϕ) under this homomorphism are πr(A) and πr(B) respectively.

Since A, B ∈ 𝔖, the images of A, B in PGL2(𝔽p((x))) generate a free group. This implies that no nontrivial word in {A, B, A−1, B−1} can be I or any scalar multiple kI of I for any k ∈ 𝔽p((x)). We thus observe that W(πr(A), πr(B)) = kI in GL2(𝔽q) for some kFq× if and only if, viewing k as an element of 𝔽p[x] ⊂ 𝔽p[x]1/ϕ,

W(A,B)=k+αβγk+δGL2(Fp[x]1/ϕ)

for some α, β, γ, δ ∈ 𝔽p[x]1/ϕ such that ψr(α) = ψr(δ) = ψr(β) = ψr(γ) = 0, and not all of α, β, γ, δ are the zero polynomial.

Hence it suffices to choose rn(x) ∈ 𝔽p[x] such that at least one of ψrn(α), ψrn(δ), ψrn(β), ψrn(γ) is nonzero. For instance, one could choose rn(x) relatively prime to one choice of nonzero α, β, γ, or δ.□

We note that rn(x) could also be chosen to simultaneously satisfy the last line of the above proof for each of multiple choices of words, thus allowing us to avoid any finite collection of pre-chosen relations.

3.3 The size of the subgroup 〈π(A), π(B)〉

In [3], Tillich and Zémor showed that their choice of A and B generates all of SL2(𝔽2n). It has been shown that for a randomly chosen pair of elements from SL2(𝔽2n) (or PSL2(𝔽pn)), the probability that they generate the whole group approaches 1 as the size of SL2(𝔽2n) approaches infinity [4]. However, this argument does not apply to our case as we are taking elements from ℌ, and thus not choosing A and B randomly.

A well-known result of Dickson [29] determines all possible subgroups of PSL2(𝔽q). As in [3], we use its presentation by Suzuki in [30], who gives an elegant exposition of Dickson’s proof. Because we do not restrict our argument to specific choices of generators, we have to do a bit more work than was needed for the argument in [3]. We now present Dickson’s result [30, Theorem 6.25]. Note that SL2(𝔽q) ⊆ GL2(𝔽q); we have PSL2(𝔽q) = SL2(𝔽q)/{± 1} and PGL2(𝔽q) = GL2(𝔽q)/Z, but can naturally identify PSL2(𝔽q) as the subgroup of PGL2(𝔽q) consisting of all matrices whose determinant is a square.

Theorem 13

Letpbe a prime andq = pn. Each subgroup of PSL2(𝔽q) is isomorphic to one of the following groups:

  1. a dihedral group or one of its subgroups;

  2. a groupK of order q(q − 1)/dwhered = gcd(2, q − 1) and any Sylowp-subgroup ofKis normal inK, or its subgroups;

  3. the symmetric group on four elementsS4, or the alternating group on four or five elements, A4orA5;

  4. PSL2(𝔽p) or PGL2(𝔽p) for somen, where PGL2(𝔽p) is embedded into PSL2(𝔽q) as described in [30, Theorem 6.25 part (x)].

In [27, Lemma 5.3.6] the following lemma is proven using the theory of Sylow subgroups.

Lemma 14

LetKbe as in (b) of Theorem 13. Then up to conjugationKlies inside the Borel subgroup

B=MPSL2(Fq)Misuppertriangular.

Consider now the images [π(A)] and [π(B)] of our hash function generators in PGL2(𝔽q). We show that the subgroup they generate contains PSL2(𝔽q), and so has index at most 2 in PGL2(𝔽q).

Proposition 15

Let (A, B) ∈ 𝔖 andδ = max{degA, degB}. Assume that at least one of the following holds:

  1. forfis a primitive root of 𝔽q, nis odd andn/δ > 5 or

  2. nis prime andn/δ > p(p2 − 1).

Then PSL2(𝔽q) ⊆ 〈[π(A)], [π(B)]〉.

Proof

To simplify notation, we write Π(A) for [π(A)] ∈ PGL2(𝔽q) and Π(B) for [π(B)] ∈ PGL2(𝔽q). We note that p(p2 − 1) > 5 holds for all choices of p, so we can assume n/δ > 5.

Let G = PSL2(𝔽q) ∩ 〈Π(A), Π(B)〉. We determine if G = PSL2(𝔽q), by ruling out all possible proper subgroups of PSL2(𝔽q) as presented in Theorem 13.

  1. We notice that the group 〈Π(A)2, Π(B)2〉 is a subgroup of G. Thus, if G is a dihedral group, or a subgroup of a dihedral group, then so is 〈Π(A)2, Π(B)2〉. In particular, this means 〈Π(A)2, Π(B)2〉 is either dihedral or cyclic. As n/δ > 4, Proposition 10 gives that (Π(A)2)2I and (Π(B)2)2) ≠ I, so this subgroup is not dihedral, since neither generator has order two.

    To see that 〈Π(A)2, Π(B)2〉 is not cyclic, suppose, that Π(A)2Π(B)2 = Π(B)2Π(A)2. Then, we know that π(A)2π(B)2 = (B)2π(A)2 in GL2(𝔽q). Notice the determinants of π(A)2π(B)2 and π(B)2π(A)2 are equal, so k = ± 1 ∈ 𝔽q must hold. Since n/δ > 4 and deg(k) = 0, Proposition 10 implies that π(A)2π(B)2(B)2π(A)2 for k = ± 1, so this is a contradiction. Therefore, Π(A)2 and Π(B)2 do not commute, so this subgroup is in particular not cyclic. So G cannot fall under case (a).

  2. Suppose now that GK as in case (b). By Lemma 14, we know that K is contained in P𝔅P−1 for some P ∈ PSL2(𝔽q). Since K is conjugate to a subgroup of 𝔅, the upper triangular matrices, all elements share a common eigenvector. By construction, A and B have different eigenvectors, respectively [a : c], [1 : b] and [1 : ã], [1: ]. Since δ < n, we know that a, b, c, ã, all must have entries of degree less than n. Thus, when we quotient by rn(x), the eigenvectors remain distinct. As a consequence G cannot be isomorphic to a subgroup of K.

  3. We note that any element in A4 or S4 has order at most 4, while any element in A5 has order at most 5. In particular if 〈Π(A), Π(B)〉 were a subgroup of one of these, either Π(A)4 = I or Π(A)5 = I must hold. Thus, using Proposition 10, G cannot be in case (c) since n/δ > 5.

  4. To show that G is not a subgroup of the form PSL2(𝔽p) or PGL2(𝔽p), for some n, we suggest two methods that are each sufficient on their own.

    First, suppose that either f or f′ is a primitive root of 𝔽q and that n is odd. We suppose without loss of generality that f is a primitive root. We recall that by construction (see Lemma 5) there is a P ∈ PGL2(𝔽q) such that

    Π(A)=P100fP1PGL2(Fq).

    Thus, since f is a primitive root, Π(A) has order pn − 1.

    Suppose that G ≤ slant PGL2(𝔽p) for some n. Noting that ∣PGL2(𝔽p)∣ = p(p2 − 1), we have Π(A)p(p2−1) = 1, so pn − 1 ∣ p(p2 − 1). We note that gcd(pn − 1, pn) = 1, so gcd(pn − 1, p) = 1 must hold, thus pn − 1∣(p2 − 1).

    In particular, this implies that pn − 1 ∣ gcd(pn − 1, p2 − 1). We note that gcd(pn − 1, p2 − 1) = pgcd(n,2) − 1 = pgcd(n,) − 1 since n is odd. Combining these, we have pn − 1 ∣ pgcd(n,) − 1, so in particular gcd(, n) ≥ n. Since n, this implies gcd(, n) = n, so n = must hold. So G does not fall under case (d).

    Suppose now instead that n is prime, and n/δ > p(p2 − 1), noting neither f nor is now required to be a primitive root. Since n is prime, the only possible subgroups in (d) are those for = 1, that is PGL2(𝔽p) and PSL2(𝔽p). Note that ∣PGL2(𝔽p)∣ = p(p2 − 1), and ∣PSL2(𝔽p)∣ = p(p2 − 1) if p = 2 and p(p2 − 1)/2 if p is odd. Thus in particular Π(A)p(p2−1) = I, so by Proposition 10, if n/δ > p(p2 − 1) case (d) cannot hold.□

    To further ensure that [π(A)] and [π(B)] generate all of PGL2(𝔽q), we state the following as a corollary of [27, Lemma 2.2.3].

Proposition 16

LetAandBbe matrices in PGL2(𝔽q) such that, as in Proposition 15, PSL2(𝔽q) ⊆ 〈[π(A)], [π(B)]〉. If either det(π(A)) or det(π(B)) is not a square in 𝔽q, then 〈[π(A)], [π(B)]〉 = PGL2(𝔽q).

Under the hypotheses of Propositions 15 and 16, the subgroup GL2(𝔽q) generated by π(A) and π(B) has order at least ∣PGL2(𝔽q)∣ = q(q2 − 1), since it is the preimage under a quotient map; for individual choices of generators, one could use ad-hoc techniques to verify if the group generated was all of GL2(𝔽q).

We note that the two alternative hypotheses of Proposition 15 are in practice very reasonable. For instance, we already would like to choose n, δ, such that n/δ is much larger than 5 so that our small modifications property given by Proposition 9 is practical. As well, choosing n to be prime has already been suggested to prevent against the small order attack proposed in [19].

Further, the hypothesis in Proposition 16 that one of α = det(π(A)) or β = det(π(B)) is not a square in 𝔽q is satisfied when p is odd if α = det(π(A)) and β = det(π(B)) are primitive roots. Namely, suppose that p is odd and αγ2 for some γ ∈ 𝔽q. Since γFq×, we know γq−1 = 1. It follows then that αq12=(γ2)q12=1, so ord(α)∣ q12, so α cannot be a primitive root.

Choosing π(A) and π(B) such that det(π(A)) and det(π(B)) are primitive roots is useful for another reason. Namely, we want to ensure π(A) and π(B) have large enough order to prevent small collisions of the form π(A)ord(π(A)) = I and π(B)ord(π(B)) = I, as well as Charnes and Pieprzyk’s short relations attack [5]. In [31], Abdukhalikov and Kim suggest A and B should be of order of at least q − 1 to prevent against these collisions. For our hash functions, we observe that if det(π(A)) is a primitive root then we necessarily have ord(π(A)) ≥ q − 1, (and the analogous statement is true for π(B)).

Though finding a primitive root of small degree is not straightforward for a general case of finite field, we note that the maximum degree of such a primitive root is bounded [32]. Further, certain choices of rn(x) could make this easier. For example, many packages, such as GAP [33] and Magma [34], use Conway polynomials for rn(x), which guarantee that x itself is indeed a primitive root.

4 Possible Attacks

Unlike the Zémor-Tillich hash function, our hash functions take values in GL2(𝔽q), in which the determinant is nontrivial. In this section we briefly present four potential attacks that take advantage of information leaked by the determinant, and discuss the effect of the determinant on the distribution of hash values. Concurrently, we present methods for preventing each of these possible issues. We then consider the applicability of previous attacks on the Zémor-Tillich hash function to elements of ℌ.

For this section, let π(A), π(B) ∈ GL2(𝔽q) and let m be a message in {0, 1} with 1 zeros and 2 ones, so that 1 + 2 = . Let α = det(π(A)), β = det(π(B)), and M = H(m) ∈ GL2(𝔽q).

Under these conditions, the determinant takes on the value det(M) = α1β2. Utilizing this relationship yields the possible attacks given in Table 2. More details of these are given in [27, Section 5.5.1].

Table 2

Possible attacks via the determinant.

AttackConditionInformation Leaked
1α = β
2gcd(ord(α), ord(β)) is close to ord(α) or ord(β) in sizesome divisors of 1 and 2
3α is a primitive root, and β = ατ for some τ such that 1 < τ and 1 + 2τ < pn − 11 and 2
4α is a primitive rootsome divisors of 1 and

We note that Attacks 1, 3, and 4 depend on being able to calculate discrete logs in 𝔽q, which can be computationally difficult. As well, Attacks 1, 2, and 3 are prevented by choosing α to be a primitive root, and β = ατ for some τ of size 𝓞(pn/2) such that gcd(τ, pn − 1) = 1, so β is also a primitive root. Choosing α and β to be primitive roots was already suggested in Section 3.3. However, assuming dlog_α is efficiently computable, careful choices of parameters can only mitigate the amount of information leaked by Attack 4.

The determinant introduces a further problem; the hash values of messages of length cannot be distributed uniformly among all possible determinants, as their determinants must be among the + 1 possible values of α1β1. We would like the hash values of our hash function to be uniformly distributed as tends to infinity, as was true of the Zémor-Tillich hash function [3].

One common option in cryptography for preventing attacks based on the weaknesses mentioned above is by padding messages with some bits to obscure the original determinant of the hash value. As an example, one of the most standard forms of padding is PKCS #5, which pads messages to be a multiple of a given block length based on the amount of padding needed [35].

For elements of ℌ, we propose padding our messages as follows. Namely, suppose we wish to hash messages of length at most N. We could then pad our messages to bitstrings of length 2N with precisely N ones and N zeros. This would ensure all outputs had determinant αN(1+τ), thus completely eliminating the effect of the determinant on the security and the distribution, and in particular preventing Attacks 1-4. If we choose elements of ℌ such that π(A), π(B) generate all of GL2(𝔽q), the number of possible hash values would be q(q2 − 1). This is the same size as SL2(𝔽q), and so is comparable to Zémor-Tillich for p = 2 and the extension of Zémor-Tillich given in [31] for p odd.

Note in the case α = β, any choice of padding to a fixed length would remove the above distribution issue and prevent against the discussed attacks in Table 2.

Remark 17

A second method considered in [27, Section 5.5.4] to obscure the determinant is to take our hash functionHto be the associated hash function in PGL2(𝔽q) = GL2(𝔽q)/Zof the images ofπ(A) andπ(B). While this has some advantages, including that many of the desirable properties of our hash functions carry over, some padding is still necessary.

Small Order Attacks: The first attacks on the Zémor-Tillich hash function depended on rn(x) being either such that A or B had small order [5] or such that rn(x) was decomposable (a composition of two nontrivial polynomials) [19], and thus easily extend to elements of GL2(𝔽q) [36].

For the Zémor-Tillich hash function, a randomly chosen rn(x) yields A and B with order large enough (at least q − 1) with an extremely high probability for Tillich and Zémor’s generators, so the first of these attacks was not a concern [31]. For elements in ℌ, we saw in Section 3.3 that choosing det(A) and det(B) to be primitive roots will ensure A and B have order at least q − 1. Similiarly, Regenscheid shows that in 𝔽2 the probability that a randomly chosen irreducible polynomial of degree n is decomposable approaches 0 as n approaches infinity [36]; these methods extend to irreducible polynomials over 𝔽p. The second of these attacks can also be avoided simply choosing n prime [19]. Therefore we conclude that the choices discussed at the end of Section 3.3 suffice to prevent these attacks against elements of ℌ.

Embedding Attack: Geiselmann’s embedding attack (see [20, 36]) could also apply for generators over SL2(𝔽q) for a general choice of q = pn. The alternative proof in [36] can be easily extended to the case p > 2 when the generators are diagonalizable, as in the case of elements S ∈ 𝔖. The computation time of this attack depends on the computation time of computing discrete logs in GL2(𝔽2n); a strategy to avoid computing discrete logs is given in [13]. However, in practice Geiselmann’s algorithm is considered unrealistic as a result of the extremely long strings of zeros and ones in the collisions produced [20].

Density Attack: The Zémor-Tillich hash function was proved to be resistant to density attacks [3]. Though not done here, the argument in [3] easily generalizes to elements of ℌ that satisfy the conditions in Section 3.3.

General Attacks: Assuming that Mullan’s general attack in [23] is extendible to the case of GL2(𝔽q), which has not been shown, this would be the best known attack on the functions in ℌ. This attack had running time O(q) and produced collisions of length 𝓞((log q)2/log(log q)) for a general characteristic p. Other options for attacks on elements of ℌ are an optimization of the birthday attack as in [37] or an attack such as the meet-in-the-middle approach in [22]. Each of these are standard attacks that have no advantage, and may be even more difficult, for our hash functions.

5 Final Notes

We saw in Section 3 that for A and B of reasonably small degree, the hash functions in ℌ preserve the small modifications property. Further, we note that as our construction is a Cayley hash function it is naturally parallelizable. Elements of ℌ are also scalable, meaning we are able to control the size of the output. In Section 3 and 4 we saw that under certain easily satisfiable conditions our hash functions are secure against all previous efficient attacks on the Zémor-Tillich hash function and any potential weaknesses from a badly chosen determinant. The distribution and efficiency of elements in ℌ are both properties we hope to study further in future work. We note in the literature very little is presented numerically on these points. We have done some initial implementation using GAP, and hope to extend our computational analysis of elements of ℌ.


Throughout this work the research of Monica Nevins was supported by an NSERC Discovery Grant (RGPIN-2015-06294) and the research of Hadi Salmasian was supported by an NSERC Discovery Grant (RGPIN-2018-04044).


References

[1] G. Zémor, Hash functions and graphs with large girths, Advances in Cryptology EUROCRYPT’91, Springer (1991), 508–511.10.1007/3-540-46416-6_44Search in Google Scholar

[2] G. Zémor, Hash functions and Cayley graphs, Designs, Codes and Cryptography, 4 (1994), no. 3, 381–394.10.1007/BF01388652Search in Google Scholar

[3] J.P. Tillich and G. Zémor, Hashing with SL2, Annual International Cryptology Conference, Springer (1994), 40–49.10.1007/3-540-48658-5_5Search in Google Scholar

[4] C. Petit and J.J. Quisquater, Rubik’s for cryptographers, Notices Amer. Math. Soc. 60 (2013), no. 6, 733–740.10.1090/noti1001Search in Google Scholar

[5] C. Charnes and J. Pieprzyk, Attacking the SL2 hashing scheme, Advances in Cryptology ASIACRYPT’94 (1995), 322–330.10.1007/BFb0000444Search in Google Scholar

[6] J.J. Quisquater and M. Joye, Authentication of sequences with the SL2 hash function: Application to video sequences, Journal of Computer Security 5 (1997), no. 3, 213–223.10.3233/JCS-1997-5303Search in Google Scholar

[7] M. Grassl, I. Ilić, S. Magliveras, and R. Steinwandt, Cryptanalysis of the Tillich-Zémor hash function, Journal of Cryptology 24 (2011), no. 1, 148–156.10.1007/s00145-010-9063-0Search in Google Scholar

[8] E. Breuillard and T. Gelander, On dense free subgroups of Lie groups, Journal of Algebra 261 (2003), no. 2, 448–467.10.1016/S0021-8693(02)00675-0Search in Google Scholar

[9] J.P. Tillich and G. Zémor, Group-theoretic hash functions, Algebraic Coding (1994), pp. 90–110.10.1007/3-540-57843-9_12Search in Google Scholar

[10] D.X. Charles, K.E. Lauter, and E.Z. Goren, Cryptographic hash functions from expander graphs, Journal of Cryptology 22 (2009), no. 1, 93–113.10.1007/s00145-007-9002-xSearch in Google Scholar

[11] H. Jo, Cryptanalysis on Hash Functions Based on Ramanujan Graphs, Ph.D. thesis, Kyushu University (2017).10.1007/978-981-10-5065-7_4Search in Google Scholar

[12] H. Jo, Hash functions based on Ramanujan graphs, Mathematical Modelling for Next-Generation Cryptography, Springer (2018) 63–79.10.1007/978-981-10-5065-7_4Search in Google Scholar

[13] C. Petit, K. Lauter, and J.J. Quisquater, Cayley hashes: A class of efficient graph-based hash functions, Preprint (2007 (Accessed from https://wwwcsbhamacuk/petitcz/, May 2017)).Search in Google Scholar

[14] C. Petit, K. Lauter, and J.J. Quisquater, Full cryptanalysis of LPS and Morgenstern hash functions, International Conference on Security and Cryptography for Networks, Springer (2008), 263–277.10.1007/978-3-540-85855-3_18Search in Google Scholar

[15] J.P. Tillich and G. Zémor, Collisions for the LPS expander graph hash function, Annual International Conference on the Theory and Applications of Cryptographic Techniques, Springer (2008), 254–269.10.1007/978-3-540-78967-3_15Search in Google Scholar

[16] K.E. Lauter, D.X. Charles, and E.Z. Goren, Hash function constructions from expander graphs (Jun 3 2008), US Patent 7,382,876.Search in Google Scholar

[17] L. Bromberg, V. Shpilrain, and A. Vdovina, Navigating in the Cayley graph of SL2(𝔽p and applications to hashing, Semigroup Forum, Springer, 94 (2017) no. 2, 314–324.Search in Google Scholar

[18] G. De Meulenaer, C. Petit, and J.J. Quisquater, Hardware implementations of a variant of the Zémor-Tillich hash function: Can a provably secure hash function be very efficient?, IACR Cryptology ePrint Archive 2009 (2009), no. 229.Search in Google Scholar

[19] R. Steinwandt, M. Grassl, W. Geiselmann and T. Beth, Weaknesses in the SL2(𝔽2n) hashing scheme, Annual International Cryptology Conference, Springer (2000) 287–299.10.1007/3-540-44598-6_18Search in Google Scholar

[20] W. Geiselmann, A note on the hash function of Tillich and Zémor, IMA International Conference on Cryptography and Coding, Springer (1995), 257–263.10.1007/3-540-60693-9_27Search in Google Scholar

[21] C. Petit and J.J. Quisquater, Preimages for the Tillich-Zémor hash function, International Workshop on Selected Areas in Cryptography, Springer (2010), 282–301.10.1007/978-3-642-19574-7_20Search in Google Scholar

[22] C. Mullan, Some Results in Group-based crytography, Ph.D. thesis, University of London (2011).Search in Google Scholar

[23] C. Mullan and B. Tsaban, SL2 homomorphic hash functions: Worst case to average case reduction and short collision search, Designs, Codes and Cryptography 81 (2016), no. 1, 83–107.10.1007/s10623-015-0129-8Search in Google Scholar

[24] J.C. Faugere, L. Perret, C. Petit, and G. Renault, New subexponential algorithms for factoring in SL(2, 𝔽2n), Preprint (2011 (Accessed from https://wwwcsbhamacuk/petitcz/, May 2017)).Search in Google Scholar

[25] C. Petit, Towards factoring in SL2. Designs, Codes and Cryptography, 71 (2014), no. 3, 1–23.Search in Google Scholar

[26] C. Petit and J.J. Quisquater, Cryptographic hash functions and expander graphs: The end of the story?, The New Codebreakers, Lecture Notes in Computer Science, Springer, 9100 (2016), 304–311.Search in Google Scholar

[27] H. Tomkins, Alternative Generators of the Zémor-Tillich Hash Function: A Quest for Freedom in Projective Linear Groups, Master’s thesis, Université ďOttawa/University of Ottawa (2018).Search in Google Scholar

[28] J. Tits, Free subgroups in linear groups. Journal of Algebra, 20 (1972), no. 2, 250–270.10.1016/0021-8693(72)90058-0Search in Google Scholar

[29] L.E. Dickson, Linear groups with an exposition of the Galois field theory, Dover (1958).Search in Google Scholar

[30] M. Suzuki, Group theory, Volume I, Springer-Verlag, New York (1982).Search in Google Scholar

[31] K. Abdukhalikov and C. Kim, On the security of the hashing scheme based on SL2, Fast Software Encryption, Springer (1998) 93–102.10.1007/3-540-69710-1_7Search in Google Scholar

[32] V. Shoup, Searching for primitive roots in finite fields, Proceedings of the twenty-second annual ACM symposium on theory of computing, ACM (1990), 546–554.10.1145/100216.100293Search in Google Scholar

[33] The GAP Group: GAP – Groups, Algorithms, and Programming, Version 4.9.1 (2018 (Accessed from https://wwwgap-systemorg/, June 2018))Search in Google Scholar

[34] W. Bosma, J. Cannon, and C. Playoust, The Magma algebra system I: The user language, J. Symbolic Comput, 24 (1997), no.3-4, 235–265.10.1006/jsco.1996.0125Search in Google Scholar

[35] J. Katz and Y. Lindell, Introduction to modern cryptography, CRC press (2014).10.1201/b17668Search in Google Scholar

[36] A.R. Regenscheid, An algebraic hash function based on SL2, Master’s thesis, Iowa State University (2007).10.31274/rtd-180813-15958Search in Google Scholar

[37] C. Petit, J.J. Quisquater, J.P. Tillich, and G. Zémor, Hard and easy components of collision search in the Zémor-Tillich hash function: New attacks and reduced variants with equivalent security, Cryptographers’ Track at the RSA Conference, Springer (2009) 182–194.Search in Google Scholar

A Topology of 𝔽p((x))

Here we define the projective space ℙ1 = ℙ1(𝔽p((x))) and equip it with a metric, and take note of some key facts about the neighbourhoods in this space.

Let p be a prime, 𝔽p be the field with p elements, 𝔽p((x)) be the field of formal Laurent series over 𝔽p, and 𝔽p((x))× the group of invertible elements of 𝔽p((x)). The elements of 𝔽p((x)) are series of the form g(x) = k=mgkxk for gi ∈ 𝔽p and m ∈ ℤ. Because we want to see elements of 𝔽p((x)) as elements of an abstract field, not as functions, we write g for an element g(x) ∈ 𝔽p((x)). With this notation, we use g−1 to mean the multiplicative inverse of g ∈ 𝔽p((x))×, not g−1(x).

We denote the valuationv(g) of an element g ∈ 𝔽p((x)) as

v(g)=min{kgk0}if g0;if g=0.

With this, we define the absolute value as ∣g∣ = pv(g). For instance, the element f = x3 + x6 would have ∣f∣ = p−3, while g = x−5+x−2 would have ∣g∣ = p5. This absolute value is multiplicative, that is ∣fg∣ = ∣fg∣ for any f, g ∈ 𝔽p((x)). As well, this absolute value is non-Archimedean, meaning it satisfies the ultrametric (or non-Archimedean) triangle inequality ∣g + h∣ ≤ max {∣g∣, ∣h∣} for all g, h ∈ 𝔽p((x)). To see this, notice that for g, h ∈ 𝔽p((x)) the smallest index for which the Laurent series of g + h could have a nonzero term cannot be strictly less than min{v(g), v(h)}.

Consider the 2−dimensional vector space over 𝔽p((x))

V=(u1,u2)u1,u2Fp((x)).

Then, the 1-dimensional projective space over 𝔽p((x)) is

P1=P1(Fp((x))):=(V{0})/

where ∼ is the equivalence relation (u1, u2) ∼ (v1, v2) if there exists a k ∈ 𝔽p((x))× such that (u1, u2) = (kv1, kv2). In particular, for (u1, u2) ≠ (0, 0) we define [u] = [u1 : u2] ∈ ℙ1 to be the equivalence class

[u1:u2]={k(u1,u2)VkFp((x))×}.

Remark 18

The equivalence classes [1 : 0] and [0 : 1] will be denoted by [e1] and [e2] respectively. Note that [f : g] = [1 : gf−1] forf ≠ 0.

We let GL2(𝔽p((x))) act on V by matrix multiplication. This action factors to a well-defined action on ℙ1 by setting g ⋅ [u] = [gu]; we note here that the subgroup GL2(𝓞) acts transitively on ℙ1. Since the centre of GL2(𝔽p((x))) acts trivially on ℙ1, the resulting action further factors to an action of PGL2(𝔽p((x))) (and its subgroups) on ℙ1.

We take the norm in V to be the sup-norm ∥(u1, u2)∥ = max{∣u1∣, ∣u2∣}, which is GL2(𝓞)-invariant. The following definition of distance is taken from Breuillard and Gelander [8].

Definition 19

Let [u], [v] ∈ ℙ1be such that [u] = [u1 : u2] and [v] = [v1 : v2]. Then the distance between [u] and [v] is defined to be

d([u],[v])=uvuv=|u1v2u2v1|max{|u1|,|u2|}max{|v1|,|v2|}.(6)

Note that the alternating tensor product uv is one-dimensional, and we take the absolute value as its norm.

This distance is independent of the choice of representatives of the classes [u] and [v], and can only take value zero or a nonpositive power of p. Further, GL2(𝓞) acts by isometries on ℙ1 relative to this distance. Another property of our distance is that it is an ultra-metric, which is expected since our absolute value is non-Archimedean.

Received: 2019-07-15
Accepted: 2020-03-04
Published Online: 2020-08-01

© 2020 H. Tomkins et al., published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Articles in the same Issue

  1. MathCrypt 2018
  2. Preface to the First Annual MathCrypt Proceedings Volume
  3. Multiparty Non-Interactive Key Exchange and More From Isogenies on Elliptic Curves
  4. Recovering Secrets From Prefix-Dependent Leakage
  5. Quasi-subfield Polynomials and the Elliptic Curve Discrete Logarithm Problem
  6. A signature scheme from the finite field isomorphism problem
  7. Efficiently Processing Complex-Valued Data in Homomorphic Encryption
  8. Flattening NTRU for Evaluation Key Free Homomorphic Encryption
  9. Self-dual DeepBKZ for finding short lattice vectors
  10. Designing Efficient Dyadic Operations for Cryptographic Applications
  11. Characterizing overstretched NTRU attacks
  12. New Techniques for SIDH-based NIKE
  13. A subexponential-time, polynomial quantum space algorithm for inverting the CM group action
  14. Nutmic JMC Special Edition
  15. Preface for the Number-Theoretic Methods in Cryptology conferences
  16. A framework for cryptographic problems from linear algebra
  17. Improved cryptanalysis of the AJPS Mersenne based cryptosystem
  18. New number-theoretic cryptographic primitives
  19. New Zémor-Tillich Type Hash Functions Over GL2 (𝔽pn)
  20. Protecting ECC Against Fault Attacks: The Ring Extension Method Revisited
  21. Hash functions from superspecial genus-2 curves using Richelot isogenies
  22. Can we Beat the Square Root Bound for ECDLP over 𝔽p2 via Representation?
  23. A variant of the large sieve inequality with explicit constants
  24. CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes
  25. Equidistribution Among Cosets of Elliptic Curve Points in Intervals
  26. Integer factoring and compositeness witnesses
  27. Short Principal Ideal Problem in multicubic fields
  28. Algorithms for CRT-variant of Approximate Greatest Common Divisor Problem
  29. Orienting supersingular isogeny graphs
  30. Delegating a Product of Group Exponentiations with Application to Signature Schemes (Submission to Special NutMiC 2019 Issue of JMC)
  31. Complexity bounds on Semaev’s naive index calculus method for ECDLP
  32. Regular Articles
  33. An elementary proof of Fermat’s last theorem for all even exponents
  34. Retraction of: An elementary proof of Fermat’s Last Theorem for all even exponents
  35. Survey on SAP and its application in public-key cryptography
  36. Privacy-preserving verifiable delegation of polynomial and matrix functions
  37. New approach to practical leakage-resilient public-key cryptography
Downloaded on 22.11.2025 from https://www.degruyterbrill.com/document/doi/10.1515/jmc-2019-0033/html
Scroll to top button