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
Contents
- Fundamentals of XTR
- Arithmetic operations in G F p 2 displaystyle GFp2
- Traces over G F p 2 displaystyle GFp2
- Algorithm for the quick computation of T r g n displaystyle Trgn given T r g displaystyle Trg
- Finite field and subgroup size selection
- Subgroup selection
- Cryptographic schemes
- XTR DH key agreement
- XTR ElGamal encryption
- Security
- Discrete logarithms in a general G F p t displaystyle GFleftpt ight
- Security of XTR
- References
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
Fundamentals of XTR
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
Arithmetic operations in G F ( p 2 ) {displaystyle GF(p^{2})}
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
Considering that p ≡ 2 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":
Lemma
Traces over G F ( p 2 ) {displaystyle GF(p^{2})}
The trace in XTR is always considered over
Note that
Consider now the generator
and thus
Note also that the product of the conjugates of
The crucial observation in XTR is that the minimal polynomial of
simplifies to
which is fully determined by
and this polynomial is completely determined by
The idea behind using traces is to replace
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. All the definitions and lemmas necessary for the algorithm and the algorithm itself presented here, are taken from that paper.
Definition For c in
Definition Let
Properties of
-
c = c 1 -
c − n = c n p = c n p -
c n ∈ G F ( p 2 ) for n ∈ Z -
c u + v = c u c v − c v p c u − v + c u − 2 v for u , v ∈ Z - Either all
h j p 2 − p + 1 and> 3 or allh j G F ( p 2 ) . In particular,F ( c , X ) is irreducible if and only if its roots have order divingp 2 − p + 1 and> 3 . -
F ( c , X ) is reducible overG F ( p 2 ) if and only ifc p + 1 ∈ G F ( p )
Lemma Let
- Computing
c 2 n = c n 2 − 2 c n p G F ( p ) . - Computing
c n + 2 = c n + 1 ⋅ c − c p ⋅ c n + c n − 1 G F ( p ) . - Computing
c 2 n − 1 = c n − 1 ⋅ c n − c p ⋅ c n p + c n + 1 p G F ( p ) . - Computing
c 2 n + 1 = c n + 1 ⋅ c n − c ⋅ c n p + c n − 1 p G F ( p ) .
Definition Let
Algorithm 1 for computation of
When these iterations finish,
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
We denote with
A first easy algorithm to compute such primes
Algorithm A
- Find
r ∈ Z such thatq = r 2 − r + 1 is aQ -bit prime. - Find
k ∈ Z such thatp = r + k ⋅ q is aP -bit prime withp ≡ 2 mod 3 .
Algorithm A is very fast and can be used to find primes
On the other hand, such
The following Algorithm B doesn't have this disadvantage, but it also doesn't have the fast arithmetic modulo
Algorithm B
- Select a
Q -bit primeq so thatq ≡ 7 mod 12 . - Find the roots
r 1 r 2 X 2 − X + 1 mod q . - Find a
k ∈ Z such thatp = r i + k ⋅ q is aP -bit prime withp ≡ 2 mod 3 fori ∈ { 1 , 2 }
Subgroup selection
In the last paragraph we have chosen the sizes
However, we do not need to find an explicit
An initial approach is to select
Lemma: For a randomly selected
Now the basic algorithm to find a suitable
Outline of the algorithm
- Pick a random
c ∈ G F ( p 2 ) ∖ G F ( p ) . - If
F ( c , X ) is reducible, then return to Step 1. - Use Algorithm 1 to compute
d = c ( p 2 − p + 1 ) / q - If
d is not of orderq , return to Step 1. - Let
T r ( g ) = d .
It turns out that this algorithm indeed computes an element of
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.
Cryptographic schemes
In this section it is explained how the concepts above using traces of elements can be applied to cryptography. In general, XTR can be used in any cryptosystem that relies on the (subgroup) Discrete Logarithm problem. Two important applications of XTR are the Diffie-Hellman key agreement and the ElGamal encryption. We will start first with Diffie-Hellman.
XTR-DH key agreement
We suppose that both Alice and Bob have access to the XTR public key data
- Alice picks
a ∈ Z randomly with1 < a < q − 2 , computes with Algorithm 1S a ( T r ( g ) ) = ( T r ( g a − 1 ) , T r ( g a ) , T r ( g a + 1 ) ) ∈ G F ( p 2 ) 3 T r ( g a ) ∈ G F ( p 2 ) to Bob. - Bob receives
T r ( g a ) from Alice, selects at randomb ∈ Z with1 < b < q − 2 , applies Algorithm 1 to computeS b ( T r ( g ) ) = ( T r ( g b − 1 ) , T r ( g b ) , T r ( g b + 1 ) ) ∈ G F ( p 2 ) 3 T r ( g b ) ∈ G F ( p 2 ) to Alice. - Alice receives
T r ( g b ) from Bob, computes with Algorithm 1S a ( T r ( g b ) ) = ( T r ( g ( a − 1 ) b ) , T r ( g a b ) , T r ( g ( a + 1 ) b ) ) ∈ G F ( p 2 ) 3 K based onT r ( g a b ) ∈ G F ( p 2 ) . - Bob analogously applies Algorithm 1 to compute
S b ( T r ( g a ) ) = ( T r ( g a ( b − 1 ) ) , T r ( g a b ) , T r ( g a ( b + 1 ) ) ) ∈ G F ( p 2 ) 3 K based onT r ( g a b ) ∈ G F ( p 2 ) .
XTR ElGamal encryption
For the ElGamal encryption we suppose now that Alice is the owner of the XTR public key data
- Bob selects randomly a
b ∈ Z with1 < b < q − 2 and computes with Algorithm 1S b ( T r ( g ) ) = ( T r ( g b − 1 ) , T r ( g b ) , T r ( g b + 1 ) ) ∈ G F ( p 2 ) 3 - Bob next applies Algorithm 1 to compute
S b ( T r ( g k ) ) = ( T r ( g ( b − 1 ) k ) , T r ( g b k ) , T r ( g ( b + 1 ) k ) ) ∈ G F ( p 2 ) 3 - Bob determines a symmetric encryption key
K based onT r ( g b k ) ∈ G F ( p 2 ) . - Bob uses an agreed upon symmetric encryption method with key
K to encrypt his messageM , resulting in the encryptionE . - Bob sends
( T r ( g b ) , E ) to Alice.
Upon receipt of
- Alice computes
S k ( T r ( g b ) ) = ( T r ( g b ( k − 1 ) ) , T r ( g b k ) , T r ( g b ( k + 1 ) ) ) ∈ G F ( p 2 ) 3 - Alice determines the symmetric key
K based onT r ( g b k ) ∈ G F ( p 2 ) . - Alice uses the agreed upon symmetric encryption method with key
K to decryptE , resulting in the original messageM .
The here described encryption scheme is based on a common hybrid version of the ElGamal encryption, where the secret key
In the more traditional ElGamal encryption the message is restricted to the key space, which would here be
Concretely this means if Bob wants to encrypt a message
Security
In order to say something about the security properties of the above explained XTR encryption scheme, first it is important to check the security of the XTR group, which means how hard it is to solve the Discrete Logarithm problem there. The next part will then state the equivalency between the Discrete Logarithm problem in the XTR group and the XTR version of the discrete logarithm problem, using only the traces of elements.
Discrete logarithms in a general G F ( p t ) {displaystyle GFleft(p^{t} ight)}
Let now
The DL problem is at least as difficult as the DH problem and it is generally assumed that if the DL problem in
Given the prime factorization of
For a subgroup
For both approaches the difficulty of the DL problem in
The XTR parameters are now chosen in such a way that
Security of XTR
Cryptographic protocols that are based on Discrete Logarithms can use many different types of subgroups like groups of points of elliptic curves or subgroups of the multiplicative group of a finite field like the XTR group. As we have seen above the XTR versions of the Diffie-Hellman and ElGamal encryption protocol replace using elements of the XTR group by using their traces. This means that the security of the XTR versions of these encryption schemes is no longer based on the original DH, DHD or DL problems. Therefore, the XTR versions of those problems need to be defined and we will see that they are equivalent (in the sense of the next definition) to the original problems.
Definitions:
After introducing the XTR versions of these problems the next theorem is an important result telling us the connection between the XTR and the non-XTR problems, which are in fact equivalent. This implies that the XTR representation of elements with their traces is, as can be seen above, faster by a factor of 3 than the usual representation without compromising security.
Theorem The following equivalencies hold:
i. The XTR-DL problem is (1,1)-equivalent to the DL problem inThis means that an algorithm solving either XTR-DL, XTR-DH or XTR-DHD with non-negligible probability can be transformed into an algorithm solving the corresponding non-XTR problem DL, DH or DHD with non-negligible probability and vice versa. In particular part ii. implies that determining the small XTR-DH key (being an element of