Posts Tagged ‘tori’



the crypto lattice

Saturday, January 12th, 2008

Last time we have seen that tori are dual (via their group of characters) to lattices with a Galois action. In particular, the Weil descent torus R_n=R^1_{\mathbb{F}_{p^n}/\mathbb{F}_p} \mathbb{G}_m corresponds to the permutation lattices R_n^* = \mathbb{Z}[x]/(x^n-1). The action of the generator \sigma (the Frobenius) of the Galois group Gal(\mathbb{F}_{p^n}/\mathbb{F}_p) acts on the lattice by multiplication with x.

An old result of Masuda (1955), using an even older lemma by Speiser (1919), asserts than whenever the character-lattice T^* of a torus T is a permutation-lattice, the torus is rational, that is, the function-field of the torus \mathbb{F}_p(T) is purely trancendental

\mathbb{F}_p(y_1,\hdots,y_d) = \mathbb{F}_p(T) = (\mathbb{F}_{q^n}(T^*))^{Gal}

(recall from last time that the field on the right-hand side is the field of fractions of the Gal-invariants of the group-algebra of the free Abelian group T^* = \mathbb{Z} \oplus \hdots \oplus \mathbb{Z} where the rank is equal to the dimension d of the torus).

The basic observation made by Rubin and Silverberg was that the known results on crypto-compression could be reformulated in the language of algebraic tori as : the tori T_2 (LUC-system) and T_6 (CEILIDH-system) are rational! So, what about the next cryptographic challenges? Are the tori T_{30}, T_{210} etc. also rational varieties?

Recall that as a group, the \mathbb{F}_p-points of the torus T_n, is the subgroup of \mathbb{F}_{p^n}^* corresponding to the most crypto-challenging cyclic subgroup of order \Phi_n(p) where \Phi_n(x) is the n-th cyclotomic polynomial. The character-lattice of this crypto-torus T_n we call the crypto-lattice and it is

T_n^* = \mathbb{Z}[x]/(\Phi_n(x))

(again the action of the Frobenius is given by multiplication with x) and hence has rank \phi(n), explaining that the torus T_n has dimension \phi(n) and hence that we can at best expect a compression from n-pits to \phi(n)-pits. Note that the lattice T_n^* is no longer a permutation lattice, so we cannot use the Masuda-Speiser result to prove rationality of T_n.

What have mathematicians proved on T_n before it became a hot topic? Well, there is an old conjecture by V. E. Voskresenskii asserting that all T_n should be rational! Unfortunately, he could prove this only when n is a prime power. Further, he proved that for all n, the lattice T_n is at least stably-rational meaning that it is rational upto adding free parameters, that is

\mathbb{F}_p(T_n)(z_1,\hdots,z_l) = \mathbb{F}_p(y_1,\hdots,y_{d+l})

which, sadly, is only of cryptographic-use if l is small (see below). A true rationality result on T_n was proved by A.A. Klyashko : T_n is rational whenever n=p^a.q^b a product of two prime powers.But then, 30=2 \times 3 \times 5 the first unknown case…

At Crypto 2004, Marten van Dijk and David Woodruff were able to use an explicit form of Voskresenskii stable rationality result to get an asymptotic optimal crypto-compression rate of n/\phi(n), but their method was of little practical use in the T_{30}, for what their method gave was a rational map

T_{30} \times \mathbb{A}^{32}_{\mathbb{F}_p} \rightarrow \mathbb{A}^{40}_{\mathbb{F}_p}

and the number of added parameters (32) is way too big to be of use.

But then, one can use century-old results on cyclotomic polynomials to get a much better bound, as was shown in the paper Practical cryptography in high dimensional tori by the collective group of all people working (openly) on tori-cryptography. The idea is that whenever q is a prime and a is an integer not divisible by q, then on the level of cyclotomic polynomials we have the identity

\Phi_{aq}(x) \Phi_a(x) = \Phi_a(x^q)

On the level of tori this equality implies (via the character-lattices) an ismorphism (with same assumptions)

T_{aq}(\mathbb{F}_p) \times T_a(\mathbb{F}_p) \simeq (R^1_{\mathbb{F}_{p^q}/\mathbb{F}_p} T_a)(\mathbb{F}_p) = T_a(\mathbb{F}_{p^q})

whenever aq is not divisible by p. Apply this to the special case when q=5,a=6 then we get

T_{30}(\mathbb{F}_p) \times T_6(\mathbb{F}_p) \simeq R^1_{\mathbb{F}_{p^5}/\mathbb{F}_p} T_6(\mathbb{F}_p)

and because we know that T_6 is a 2-dimensional rational torus we get, using Weil descent, a rational map

T_{30} \times \mathbb{A}^2_{\mathbb{F}_p} \rightarrow  \mathbb{A}^{10}_{\mathbb{F}_p}

which can be used to get better crypto-compression than the CEILIDH-system!

This concludes what I know of the OPEN state of affairs in tori-cryptography. I’m sure ‘people in hiding’ know a lot more at the moment and, if not, I have a couple of ideas I’d love to check out. So, when I seem to have disappeared, you know what happened…

Weil descent

Wednesday, January 9th, 2008

A classic Andre Weil-tale is his narrow escape from being shot as a Russian spy

The war was a disaster for Weil who was a conscientious objector and so wished to avoid military service. He fled to Finland, to visit Rolf Nevanlinna, as soon as war was declared. This was an attempt to avoid being forced into the army, but it was not a simple matter to escape from the war in Europe at this time. Weil was arrested in Finland and when letters in Russian were found in his room (they were actually from Pontryagin describing mathematical research) things looked pretty black. One day Nevanlinna was told that they were about to execute Weil as a spy, and he was able to persuade the authorities to deport Weil instead.

However, Weil’s wikipedia entry calls this a story too good to be true, and continues

In 1992, the Finnish mathematician Osmo Pekonen went to the archives to check the facts. Based on the documents, he established that Weil was not really going to be shot, even if he was under arrest, and that Nevanlinna probably didn’t do - and didn’t need to do - anything to save him. Pekonen published a paper on this with an afterword by Andre Weil himself. Nevanlinna’s motivation for concocting such a story of himself as the rescuer of a famous Jewish mathematician probably was the fact that he had been a Nazi sympathizer during the war. The story also appears in Nevanlinna’s autobiography, published in Finnish, but the dates don’t match with real events at all. It is true, however, that Nevanlinna housed Weil in the summer of 1939 at his summer residence Korkee at Lohja in Finland - and offered Hitler’s Mein Kampf as bedside reading.

This old spy-story gets a recent twist now that it turns out that Weil’s descent theory of tori has applications to cryptography. So far, I haven’t really defined what tori are, so let us start with some basics.

The simplest (and archetypical) example of an algebraic torus is the multiplicative group(scheme) \mathbb{G}_m over a finite field \mathbb{F}_q which is the affine variety

\mathbb{V}(xy-1) \subset \mathbb{A}^2_{\mathbb{F}_q}. that is, the \mathbb{F}_q points of \mathbb{G}_m are precisely the couples \{ (x,\frac{1}{x})~:~x \in \mathbb{F}_q^* \} and so are in one-to-one correspondence with the non-zero elements of \mathbb{F}_q. The coordinate ring of this variety is the ring of Laurant polynomials \mathbb{F}_q[x,x^{-1}] and the fact that multiplication induces a group-structure on the points of the variety can be rephrased by saying that this coordinate ring is a Hopf algebra which is just the Hopf structure on the group-algebra \mathbb{F}_q[\mathbb{Z}] = \mathbb{F}_q[x,x^{-1}]. This is the first indication of a connection between tori defined over \mathbb{F}_q and lattices (that is free \mathbb{Z}-modules with an action of the Galois group Gal(\overline{F}_q/F_q). In this correspondence, the multiplicative group scheme \mathbb{G}_m corresponds to \mathbb{Z} with the trivial action.

Now take a field extension \mathbb{F}_q \subset \mathbb{F}_{q^n}, is there an affine variety, defined over \mathbb{F}_q whose \mathbb{F}_q-points are precisely the invertible elements \mathbb{F}_{q^n}^*? Sure! Just take the multiplicative group over \mathbb{F}_{q^n} and write the elements x and y as x = x_1 + x_2 a_2 + \hdots + x_n a_n (and a similar expression for y with \{ 1,a_2,\hdots,a_n \}[tex] being a basis of [tex]\mathbb{F}_{q^n}/\mathbb{F}_q and write the defning equation xy-1 out, also with respect to this basis and this will then give you the equations of the desired variety, which is usually denoted by R^1_{\mathbb{F}_{q^n}/\mathbb{F}_q} \mathbb{G}_m and called the Weil restriction of scalars torus.

A concrete example? Take \mathbb{F}_9 = \mathbb{F}_3(\sqrt{-1}) and write x=x_1+x_2 \sqrt{-1} and y=y_1+y_2 \sqrt{-1}, then the defining equation xy-1 becomes

~(x_1y_1-x_2y_2) + (x_1y_2-x_2y_1) \sqrt{-1} = 1

whence R^1_{\mathbb{F}_9/\mathbb{F}_3} = \mathbb{V}(x_1y_1-x_2y_2-1,x_1y_2-x_2y_1) \subset \mathbb{A}^4_{\mathbb{F}_3}, the intersection of two quadratic hypersurfaces in 4-dimensional space.

Why do we call R^1 \mathbb{G}_m a _torus? Well, as with any variety defined over \mathbb{F}_q we can also look at its points over a field-extension, for example over the algebraic closure \overline{\mathbb{F}}_q and then it is easy to see that

R^1_{\mathbb{F}_{q^n}/\mathbb{F}_q} \mathbb{G}_m (\overline{\mathbb{F}}_q) = \overline{\mathbb{F}}_q^* \times \hdots \times \overline{\mathbb{F}}_q^* (n copies)

and such algebraic groups are called tori. (To understand terminology, the compact group corresponding to \mathbb{C}^* \times \mathbb{C}^* is U_1 \times U_1 = S^1 \times S^1, so a torus).

In fact, it is already the case that the \mathbb{F}_{q^n} points of the restriction of scalar torus are \mathbb{F}_{q^n}^* \times \hdots \times \mathbb{F}_{q^n}^* and therefore we call this field a splitting field of the torus.

This is the general definition of an algebraic torus : a torus T over \mathbb{F}_q is an affine group scheme over \mathbb{F}_q such that, if we extend scalars to the algebraic closure (and then it already holds for a finite extension) we get an isomorphism of affine group schemes

T \times_{\mathbb{F}_q} \overline{\mathbb{F}}_q = \overline{\mathbb{F}}_q^* \times \hdots \times \overline{\mathbb{F}}_q^* = (\overline{\mathbb{F}}_q^*)^{n}

in which case we call T a torus of dimension n. Clearly, the Galois group Gal(\overline{\mathbb{F}}_q^*/\mathbb{F}_q) acts on the left hand side in such a way that we recover T as the orbit space for this action.

Hence, anther way to phrase this is to say that an algebraic torus is the Weil descent of an action of the Galois group on the algebraic group \overline{\mathbb{F}}_q^* \times \hdots \times \overline{\mathbb{F}}_q^*.

Of course we can also rephrase this is more algebraic terms by looking at the coordinate rings. The coordinate ring of the algebraic group ~(\overline{\mathbb{F}}_q^*)^n is the group-algebra of the rank n lattice \mathbb{Z}^n = \mathbb{Z} \oplus \hdots \oplus \mathbb{Z} (the free Abelian group of rank n), that is, \overline{\mathbb{F}}_q [ \mathbb{Z}^n ]. Now the Galois group acts both on the field \overline{\mathbb{F}}_q as on the lattice \mathbb{Z}^n coming from the action of the Galois group on the extended torus T \times_{\mathbb{F}_q} \overline{\mathbb{F}}_q. In fact, it is best to denote this specific action on \mathbb{Z}^n by T^_ and call T^_ the character group of T. Now, we recover the coordinate ring of the \mathbb{F}_q-torus T as the ring of invariants

\mathbb{F}_q[T] = \overline{\mathbb{F}}_q [T^*]^{Gal(\overline{\mathbb{F}}_q/\mathbb{F}_q)}

Hence, the restriction of scalars torus R^1_{\mathbb{F}_{q^n}/\mathbb{F}_q} \mathbb{G}_m is an n-dimensional torus over \mathbb{F}_q and its corresponding character group is the free Abelian group of rank n which can be written as \mathbb{Z}[x]/(x^n-1) = \mathbb{Z}1 \oplus \mathbb{Z}x \oplus \hdots \oplus \mathbb{Z}x^{n-1} and where the action of the cyclic Galois group Gal(\mathbb{F}_{q^n}/\mathbb{F}_q) = C_n = \langle \sigma \rangle s such that the generator \sigma as as multiplication by x. That is, in this case the character group is a permutation lattice meaning that the \mathbb{Z}-module has a basis which is permuted under the action of the Galois group. Next time we will encounter more difficult tori sich as the crypto-torus T_n.

A cat called CEILIDH

Monday, January 7th, 2008

We will see later that the cyclic subgroup T_6 \subset \mathbb{F}_{p^6}^* is a 2-dimensional torus.

Take a finite set of polynomials f_i(x_1,\hdots,x_k) \in \mathbb{F}_p[x_1,\hdots,x_k] and consider for every fieldextension \mathbb{F}_p \subset \mathbb{F}_q the set of all k-tuples satisfying all these polynomials and call this set

X(\mathbb{F}_q) = \{ (a_1,\hdots,a_k) \in \mathbb{F}_q^k~:~f_i(a_1,\hdots,a_k) = 0~\forall i \}

Then, T_6 being a 2-dimensional torus roughly means that we can find a system of polynomials such that T_6 = X(\mathbb{F}_p) and over the algebraic closure \overline{\mathbb{F}}_p we have X(\overline{\mathbb{F}}_p) = \overline{\mathbb{F}}_p^* \times \overline{\mathbb{F}}_p^* and T_6 is a subgroup of this product group.

It is known that all 2-dimensional tori are rational. In particular, this means that we can write down maps defined by rational functions (fractions of polynomials) f~:~T_6 \rightarrow \mathbb{F}_p \times \mathbb{F}_p and j~:~\mathbb{F}_p \times \mathbb{F}_p \rightarrow T_6 which define a bijection between the points where f and j are defined (that is, possibly excluding zeroes of polynomials appearing in denumerators in the definition of the maps f or j). But then, we can use to map f to represent ‘most’ elements of T_6 by just 2 pits, exactly as in the XTR-system.

Making the rational maps f and j explicit and checking where they are ill-defined is precisely what Karl Rubin and Alice Silverberg did in their CEILIDH-system. The acronym CEILIDH (which they like us to pronounce as ‘cayley’) stands for Compact Efficient Improves on LUC, Improves on Diffie-Hellman

A Cailidh is a Scots Gaelic word meaning ‘visit’ and stands for a ‘traditional Scottish gathering’.

Between 1997 and 2001 the Scottish ceilidh grew in popularity again amongst youths. Since then a subculture in some Scottish cities has evolved where some people attend ceilidhs on a regular basis and at the ceilidh they find out from the other dancers when and where the next ceilidh will be.
Privately organised ceilidhs are now extremely common, where bands are hired, usually for evening entertainment for a wedding, birthday party or other celebratory event. These bands vary in size, although are commonly made up of between 2 and 6 players. The appeal of the Scottish ceilidh is by no means limited to the younger generation, and dances vary in speed and complexity in order to accommodate most age groups and levels of ability.

Anyway, let us give the details of the Rubin-Silverberg approach. Take a large prime number p congruent to 2,6,7 or 11 modulo 13 and such that \Phi_6(p)=p^2-p+1 is again a prime number. Then, if \zeta is a 13-th root of unity we have that \mathbb{F}_{p^{12}} = \mathbb{F}_p(\zeta). Consider the elements

\begin{cases} z = \zeta + \zeta^{-1} \\ y = \zeta+\zeta^{-1}+\zeta^5+\zeta^{-5} \end{cases}

Then, for every ~(u,v) \in \mathbb{F}_p \times \mathbb{F}_p define the map j to T_6 by

j(u,v) = \frac{r-s \sqrt{13}}{r+s \sqrt{13}} \in T_6

and one can verify that this is indeed an element of T_6 provided we take

\begin{cases} r = (3(u^2+v^2)+7uv+34u+18v+40)y^2+26uy-(21u(3+v)+9(u^2+v^2)+28v+42) \\
s = 3(u^2+v^2)+7uv+21u+18v+14 \end{cases}

Conversely, for t \in T_6 write t=a + b \sqrt{13} using the basis \mathbb{F}_{p^6} = \mathbb{F}_{p^3}1 \oplus \mathbb{F}_{p^3} \sqrt{13}, so a,b \in \mathbb{F}_{p^3} and consequently write

\frac{1+a}{b} = w y^2 + u (y + \frac{y^2}{2}) + v

with u,v,w \in \mathbb{F}_p using the basis \{ y^2.y+\frac{y^2}{2},1 \} of \mathbb{F}_{p^3}/\mathbb{F}_p. Okay, then the invers of j iis the map f~:~T_6 \rightarrow \mathbb{F}_p \times \mathbb{F}_p given by

f(t) = (\frac{u}{w+1},\frac{v-3}{w+1})

and it takes some effort to show that f and j are indeed each other inverses, that j is defined on all points of \mathbb{F}_p \times \mathbb{F}_p and that f is defined everywhere except at the two points \{ 1,-2z^5+6z^3-4z-1 \} \subset T_6. Therefore, as long as we avoid these two points in our Diffie-Hellman key exchange, we can perform it using just 2=\phi(6) pits : I will send you f(g^a) allowing you to compute our shared key f(g^{ab}) or g^{ab} from my data and your secret number b.

But, where’s the cat in all of this? Unfortunately, the cat is dead…

ECSTR aka XTR

Saturday, January 5th, 2008

The one thing that makes it hard for an outsider to get through a crypto-paper is their shared passion for using nonsensical abbreviations. ECSTR stands for “Efficient Compact Subgroup Trace Representation” and we are fortunate that Arjen Lenstra and Eric Verheul shortened it in their paper The XTR public key system to just XTR. As both of them speak Dutch, they will know why Ive chosen a magpie-picture on the left… Btw. there is a nice MSRI-talk by Lenstra, starting off with a couple of jokes on what ECSTR is NOT meant to abbreviate (one of them being ‘Elliptic Curve Systems Too Risky’…1 ).

The XTR-system uses safety of \mathbb{F}_{p^6} in the Diffie-Hellman key exchange while transmitting only 2=\phi(6) pits. The first question one asks is : why the jump from N=2 from last time to N=6? Well, remember that (conjecturally) we want to use safety of \mathbb{F}_q for q=p^N while using only \phi(N) pits. That is, we want to have N log(p) large (for safety) while at the same time \phi(N) log(p) small (for efficiency). Thus, the most useful N’s to consider are those in the sequence

N=1,~2,~6=2.3,~30=2.3.5,~210=2,3,5,7,~\hdots

that is, the products of the first so many prime numbers. The number of elements of the cyclic group \mathbb{F}_q^* is equal to

p^6-1 = (p-1)(p+1)(p^2+p+1)(p^2-p+1)

and that the subgroup of order p-1 can be embedded in \mathbb{F}_p^*, that of order p+1 can be embedded in \mathbb{F}_{p^2}^_, that of order p^2+p+1 can be embedded in \mathbb{F}_{p^3}^_, BUT that the subgroup of order \Phi_6(p)=p^2-p+1 CANNOT be embedded in any \mahbb{F}_{p^i}^_ for i = 1,2,3, or in other words, the p^2-p+1 subgroup is as hard as \mathbb{F}_{p^6}^_. So, let us take a generator g of the subgroup T_6 of order p^2-p+1 and do the Diffie-Hellman trick with it in a modified manner.

Galois groups of finite fields are cyclic and generated by the Frobenius x \mapsto x^p. In particular, the Galois group Gal(\mathbb{F}_{p^6}/\mathbb{F}_{p^2}) = C_3 is cyclic of order three and consists of the auromorphisms \{ 1=id, \sigma = (x \mapsto x^{p^2}), \sigma^2 = (x \mapsto x^{p^4}) \}, so the corresponding trace map is given by

Tr~:~\mathbb{F}_{p^6} \rightarrow \mathbb{F}_{p^2} \qquad Tr(x) = x + x^{p^2} + x^{p^4}

So, how do we perform our key-exchange using my secret number a and yours b? Well, I’ll send you Tr(g^a) and as this is an element of the quadratic extension \mathbb{F}_{p^2} I’ll need just 2 pits instead of 6 and you will send me likewise Tr(g^b). I claim that the common key we (and only we) can compute is Tr(g^{ab}). How does this work?

Given any element x \in T_6 \subset \mathbb{F}_{p^6}^* we can compute the 3-element set C_x = \{ x,\sigma(x),\sigma(x^2) \} and hence the characteristic polynomial ~(t-x)(t-\sigma(x))(t-\sigma^2(x))

 = t^3 - (x+\sigma(x)+\sigma^2(x))t^2 + (x \sigma(x)+ x\sigma^2(x)+\sigma(x)\sigma^2(x))t - x \sigma(x)\sigma^2(x)

The first coefficient x+\sigma(x)+\sigma^2(x) is the trace Tr(x) and the second and third coefficients are respectively Tr(x \sigma(x)) and the norm N(x). Now, if x \in T_6 one can show that

Tr(x \sigma(x)) = Tr(x)^p and N(x)=1

That is, from knowing only Tr(x) we can compute the characteristic polynomial and hence recover the 3-element set \{ h,\sigma(h),\sigma^2(h) \}!

If I give you Tr(g^a) you can compute from it the 3-set \{ g^a,\sigma(g^a),\sigma^2(g^a) \} and raise them all the the b-th power (b being your secret number) to obtain

\{ g^{ab},\sigma(g^a)^b,\sigma^2(g^a)^b \} = \{ g^{ab},\sigma(g^{ab}),\sigma^2(g^{ab}) \}

but then you also know our shared key Tr(g^{ab}) = g^{ab}+\sigma(g^{ab})+\sigma^2(g^{ab})… Done!

  1. I may even start to share their passion… []

key-compression

Friday, January 4th, 2008

The main application of tori to cryptography is to exchange keys more efficiently while preserving the same security standards.

In the Diffie-Hellman key-exchange one interchanges elements of the finite field \mathbb{F}_q where q=p^N is a prime-power of a large prime number p. If we call an element of the prime field \mathbb{F}_p a pit (similar to bit when p=2) then we can measure transmssions in pits. An element h \in \mathbb{F}_q requires N pits, for we can write the finite field as the quotient of ring of polynomials \mathbb{F}_p[x]

\mathbb{F}_q = \frac{\mathbb{F}_p[x]}{(f(x))}

modulo an irreducible polynomial f(x) of degree N. Hence, any h \in \mathbb{F}_q can be written as a polynomial of degree < N, h = a_1 + a_2 x + \hdots + a_N x^{N-1} with all a_i \in \mathbb{F}_p, so we can represent h=(a_1,a_2,\hdots,a_N) as N pits. Now, we are going to limit this number of pits (from N to about \phi(N) where \phi is the Euler totient function, that is the number of integers smaller than N and coprime to it) by restricting the elements h to be transfered to a subgroup of the group of units of the finite field \mathbb{F}_q^_ while not compromising on the security of the public key system (the large order of the basic element g \in \mathbb{F}_q^_ of which h is a power).

To see that this is indeed possible, let us consider the easiest case (that of N=2) and keep the discussion tori-free (those of you who know more will realize that Hilbert’s Satz 90 is never too far away…). If q=p^2 then the order of the cyclic group \mathbb{F}_q^* is p^2-1 = (p-1)(p+1) so in order to get a safe system let us choose the large prime number p such that also tex/2=r[/tex] is a prime number.

Right, now define T_2 to be the subgroup of \mathbb{F}_q^_ of order p+1 and let g be a generator of it that we will use in the Diffie-Hellman exchange. Can we describe the element of T_2 (our torus in disguise)? Take d \in \mathbb{F}_p^_ a non-square element, then we can write \mathbb{F}_q = \mathbb{F}_p(\sqrt{d}) and T_2 = \{ a+b\sqrt{d}~:~(a+b\sqrt{d})^{p+1}=1 \} (here, a,b \in \mathbb{F}_p). But we claim that ~(a+b\sqrt{d})^p = a -b \sqrt{d}. Indeed, a^p=a,b^p=b and from Fermat’s little theorem we deduce that

 -1 = (\tfrac{d}{p}) \equiv d^{\tfrac{p-1}{2}}~mod(p)

where the middle term is the Legendre symbol which is equal to -1 because d was a non-square modulo p. That is, we can then write T_2 as the algebraic variety of dimension one defined over \mathbb{F}_p and given by the equation

T_2 = \{ a+b\sqrt{d} \in \mathbb{F}_q^*~\mid~(a,b) \in \mathbb{F}^2~:~a^2-db^2=1 \}

Because T_2 is of dimension one over \mathbb{F}_p we can hope that most of its elements can be represented by just one pit (instead of the two pits necessary to represent them as elements of \mathbb{F}_q). This is indeed the case, for we have explicit maps (in geometric terms, these maps show that T_2 is a rational variety)

j~:~\mathbb{F}_p \rightarrow T_2~\quad~j(a) = \frac{a+\sqrt{d}}{a-\sqrt{d}}=\frac{a^2+d}{a^2-d}+\frac{2a}{a^2-d}\sqrt{d}

which has a well-defined invers on the complement of \{ 1,-1 \}

f~:~T_2 - \{ 1,-1 \} \rightarrow \mathbb{F}_p~\quad~f(a+b\sqrt{d}) = \frac{1+a}{b}

From the right-hand description of j(a) one deduces that indeed we have that f(j(a))=a. Using this we can indeed compress the Diffie-Hellman exchange by a factor 2.

Instead of giving you the element g^a \in T_2 computed using my secret number a, I’ll send you (using only one pit) the number f(g^a) \in \mathbb{F}_p. On this number, you can apply the j-function to recover g^a and then compute the common key ~(g^a)^b = g^{ab} using your secret number b). Still, we didnt compromise on security because we used the most difficult elements around in \mathbb{F}_q^*. By going to higher dimensional tori one can even improve on the efficiency rate!