XTR

From Wikipedia, the free encyclopedia

In cryptography, XTR is an algorithm for public-key encryption. XTR stands for 'ECSTR', which is an abbreviation for Efficient and Compact Subgroup Trace Representation. It is a method to represent elements of a subgroup of a multiplicative group of a finite field. To do so, it uses the trace over to represent elements of a subgroup of .

From a security point of view, XTR relies on the difficulty of solving Discrete Logarithm related problems in the full multiplicative group of a finite field. Unlike many cryptographic protocols that are based on the generator of the full multiplicative group of a finite field, XTR uses the generator of a relatively small subgroup of some prime order of a subgroup of . With the right choice of , computing Discrete Logarithms in the group, generated by , is, in general, as hard as it is in and thus cryptographic applications of XTR use arithmetics while achieving full security leading to substantial savings both in communication and computational overhead without compromising security. Some other advantages of XTR are its fast key generation, small key sizes and speed.

Arithmetic operations in G F ( p 2 ) {\displaystyle GF(p^{2})}

XTR uses a subgroup, commonly referred to as XTR subgroup or just XTR group, of a subgroup called XTR supergroup, of the multiplicative group of a finite field with elements. The XTR supergroup is of order , where p is a prime such that a sufficiently large prime q divides . The XTR subgroup has now order q and is, as a subgroup of , a cyclic group with generator g. The following three paragraphs will describe how elements of the XTR supergroup can be represented using an element of instead of an element of and how arithmetic operations take place in instead of in .

Let p be a prime such that p  2 mod 3 and p2 - p + 1 has a sufficiently large prime factor q. Since p2  1 mod 3 we see that p generates and thus the third cyclotomic polynomial is irreducible over . It follows that the roots and form an optimal normal basis for over and

Considering that p2 mod 3 we can reduce the exponents modulo 3 to get

The cost of arithmetic operations is now given in the following Lemma labeled Lemma 2.21 in "An overview of the XTR public key system":[1]

Lemma

  • Computing xp is done without using multiplication
  • Computing x2 takes two multiplications in
  • Computing xy takes three multiplications in
  • Computing xz-yzp takes four multiplications in .

Traces over G F ( p 2 ) {\displaystyle GF(p^{2})}

The trace in XTR is always considered over . In other words, the conjugates of over are and and the trace of is their sum:

Note that since

Consider now the generator of the XTR subgroup of a prime order . Remember that is a subgroup of the XTR supergroup of order , so . In the following section we will see how to choose and , but for now it is sufficient to assume that . To compute the trace of note that modulo we have

and

and thus

The product of the conjugates of equals , i.e., that has norm 1.

The crucial observation in XTR is that the minimal polynomial of over

simplifies to

which is fully determined by . Consequently, conjugates of , as roots of the minimal polynomial of over , are completely determined by the trace of . The same is true for any power of : conjugates of are roots of polynomial

and this polynomial is completely determined by .

The idea behind using traces is to replace in cryptographic protocols, e.g. the Diffie–Hellman key exchange by and thus obtaining a factor of 3 reduction in representation size. This is, however, only useful if there is a quick way to obtain given . The next paragraph gives an algorithm for the efficient computation of . In addition, computing given turns out to be quicker than computing given .[1]

Algorithm for the quick computation of T r ( g n ) {\displaystyle Tr(g^{n})} given T r ( g ) {\displaystyle Tr(g)}

A. Lenstra and E. Verheul give this algorithm in their paper titled The XTR public key system in.[2] All the definitions and lemmas necessary for the algorithm and the algorithm itself presented here, are taken from that paper.

Definition For c in define

Definition Let denote the, not necessarily distinct, roots of in and let be in . Define

Properties of and

  1. Either all have order dividing and or all are in . In particular, is irreducible if and only if its roots have order diving and .
  2. is reducible over if and only if

Lemma Let be given.

  1. Computing takes two multiplication in .
  2. Computing takes four multiplication in .
  3. Computing takes four multiplication in .
  4. Computing takes four multiplication in .

Definition Let .

Algorithm 1 for computation of given and

  • If apply this algorithm to and , and apply Property 2 to the resulting value.
  • If , then .
  • If , then .
  • If , use the computation of and to find and thereby .
  • If , to compute define
and if n is odd and otherwise. Let and compute using the Lemma above and . Let further
with and . For in succession, do the following:
  • If , use to compute .
  • If , use to compute .
  • Replace by .

When these iterations finish, and . If n is even use to compute .

Parameter selection

Finite field and subgroup size selection

In order to take advantage of the above described representations of elements with their traces and furthermore ensure sufficient security, that will be discussed below, we need to find primes and , where denotes the characteristic of the field with and is the size of the subgroup, such that divides .

We denote with and the sizes of and in bits. To achieve security comparable to 1024-bit RSA, we should choose about 1024, i.e. and can be around 160.

A first easy algorithm to compute such primes and is the next Algorithm A:

Algorithm A

  1. Find such that is a -bit prime.
  2. Find such that is a -bit prime with .
Correctness of Algorithm A:
It remains to check that because all the other necessary properties are obviously satisfied per definition of and . We easily see that which implies that .

Algorithm A is very fast and can be used to find primes that satisfy a degree-two polynomial with small coefficients. Such lead to fast arithmetic operations in . In particular if the search for is restricted to , which means looking for an such that both are prime and such that , the primes have this nice form. Note that in this case must be even and .

On the other hand, such may be undesirable from a security point of view because they may make an attack with the Discrete Logarithm variant of the Number Field Sieve easier.

The following Algorithm B doesn't have this disadvantage, but it also doesn't have the fast arithmetic modulo Algorithm A has in that case.

Algorithm B

  1. Select a -bit prime so that .
  2. Find the roots and of .
  3. Find a such that is a -bit prime with for
Correctness of Algorithm B:
Since we chose it follows immediately that (because and ). From that and quadratic reciprocity we can deduce that and exist.
To check that we consider again for and get that , since and are roots of and hence .

Subgroup selection

In the last paragraph we have chosen the sizes and of the finite field and the multiplicative subgroup of , now we have to find a subgroup of for some such that .

However, we do not need to find an explicit , it suffices to find an element such that for an element of order . But, given , a generator of the XTR (sub)group can be found by determining any root of which has been defined above. To find such a we can take a look at property 5 of here stating that the roots of have an order dividing if and only if is irreducible. After finding such we need to check if it really is of order , but first we focus on how to select such that is irreducible.

An initial approach is to select randomly which is justified by the next lemma.

Lemma: For a randomly selected the probability that is irreducible is about one third.

Now the basic algorithm to find a suitable is as follows:

Outline of the algorithm

  1. Pick a random .
  2. If is reducible, then return to Step 1.
  3. Use Algorithm 1 to compute .
  4. If is not of order , return to Step 1.
  5. Let .

It turns out that this algorithm indeed computes an element of that equals for some of order .

More details to the algorithm, its correctness, runtime and the proof of the Lemma can be found in "An overview of the XTR public key system" in.[1]

Cryptographic schemes

Security

References

Related Articles

Wikiwand AI