En criptografía , XTR es un algoritmo para el cifrado de clave pública . XTR significa 'ECSTR', que es una abreviatura de Efficient and Compact Subgroup Trace Representation (Representación de traza de subgrupo eficiente y compacta). Es un método para representar elementos de un subgrupo de un grupo multiplicativo de un cuerpo finito . Para ello, utiliza la traza sobrepara representar elementos de un subgrupo de.
Desde el punto de vista de la seguridad, XTR se basa en la dificultad de resolver problemas relacionados con el logaritmo discreto en el grupo multiplicativo completo de un cuerpo finito. A diferencia de muchos protocolos criptográficos que se basan en el generador del grupo multiplicativo completo de un cuerpo finito, XTR utiliza el generador.de un subgrupo relativamente pequeño de algún orden primo de un subgrupo deCon la elección correcta de, calculando logaritmos discretos en el grupo, generado por , es, en general, tan difícil como lo es en y por lo tanto, aplicaciones criptográficas del uso de XTRaritmética mientras se logra el plenoLa seguridad permite un ahorro sustancial tanto en la comunicación como en la carga computacional sin comprometer la seguridad. Otras ventajas de XTR son su rápida generación de claves, su pequeño tamaño y su velocidad.
Fundamentos de XTR
XTR utiliza un subgrupo , comúnmente denominado subgrupo XTR o simplemente grupo XTR , de un subgrupo llamado supergrupo XTR , del grupo multiplicativo de un cuerpo finito.conelementos. El supergrupo XTR es de ordendonde p es un primo tal que un primo q suficientemente grande divide a. El subgrupo XTR ahora tiene orden q y es, como subgrupo de, un grupo cíclicocon el generador g . Los siguientes tres párrafos describirán cómo se pueden representar los elementos del supergrupo XTR utilizando un elemento deen lugar de un elemento dey cómo se realizan las operaciones aritméticas enen lugar de en.
Operaciones aritméticas en
Sea p un número primo tal que p ≡ 2 mod 3 y p 2 - p + 1 tiene un factor primo q suficientemente grande . Como p 2 ≡ 1 mod 3, vemos que p genera y por lo tanto el tercer polinomio ciclotómico es irreductible sobreDe ello se deduce que las raícesyformar una base normal óptima paraencimay
Considerando que p ≡ 2 mod 3 podemos reducir los exponentes módulo 3 para obtener
El costo de las operaciones aritméticas se da ahora en el siguiente lema, etiquetado como Lema 2.21 en "Una descripción general del sistema de clave pública XTR" : [ 1 ]
Lema
- El cálculo de x p se realiza sin utilizar la multiplicación.
- Calcular x 2 requiere dos multiplicaciones en
- Calcular xy requiere tres multiplicaciones en
- Calcular xz-yz p requiere cuatro multiplicaciones en.
Rastros sobre
El rastro en XTR siempre se considera terminado. En otras palabras, los conjugados deencimasonyy el rastro dees su suma:
Tenga en cuenta quedesde
Consideremos ahora el generador.del subgrupo XTR de un orden primoRecuerda quees un subgrupo del supergrupo XTR de orden, entoncesEn la siguiente sección veremos cómo elegiry, pero por ahora basta con suponer quePara calcular la traza detenga en cuenta que módulotenemos
- y
y por lo tanto
El producto de los conjugados deigual, es decir, quetiene norma 1.
La observación crucial en XTR es que el polinomio mínimo deencima
simplifica a
que está totalmente determinado por. En consecuencia, los conjugados de, como raíces del polinomio mínimo deencima, están completamente determinados por el rastro de. Lo mismo es cierto para cualquier potencia de: conjugados deson raíces de polinomios
y este polinomio está completamente determinado por.
La idea detrás del uso de trazas es reemplazaren protocolos criptográficos, por ejemplo el intercambio de claves Diffie-Hellman pory así obtener una reducción de un factor de 3 en el tamaño de la representación. Sin embargo, esto solo es útil si hay una forma rápida de obtenerlo.dado. El siguiente párrafo presenta un algoritmo para el cálculo eficiente deAdemás, la computacióndadoresulta ser más rápido que la computacióndado. [ 1 ]
Algoritmo para el cálculo rápido dedado
A. Lenstra y E. Verheul presentan este algoritmo en su artículo titulado El sistema de clave pública XTR en [ 2 ] . Todas las definiciones y lemas necesarios para el algoritmo, así como el algoritmo mismo que se presenta aquí, se han tomado de dicho artículo.
Definición Para c endefinir
Definición Dejemosdenotan las raíces, no necesariamente distintas, deeny dejarestar en. Definir
Propiedades dey
- O todotener orden dividiendoyo todosestán en. En particular,es irreducible si y solo si sus raíces tienen orden divergentey.
- es reducible sobresi y solo si
Lemma Dejemos be given.
- Computing takes two multiplication in .
- Computing takes four multiplication in .
- Computing takes four multiplication in .
- 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
- Find such that is a -bit prime.
- 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
- Select a -bit prime so that .
- Find the roots and of .
- 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 que se ha definido anteriormente . Para encontrar talpodemos echar un vistazo a la propiedad 5 deaquí afirmando que las raíces detener un orden de divisiónsi y solo sies irreductible . Después de encontrar talNecesitamos comprobar si realmente está en orden., pero primero nos centraremos en cómo seleccionarde tal manera quees irreductible.
Un enfoque inicial es seleccionaraleatoriamente, lo cual se justifica por el siguiente lema.
Lema: Para un elemento seleccionado aleatoriamentela probabilidad de quees irreducible es aproximadamente un tercio.
Ahora bien, el algoritmo básico para encontrar uno adecuadoes el siguiente:
Esquema del algoritmo
- Elige uno al azar.
- SiSi es reducible, entonces vuelva al Paso 1.
- Utilice el algoritmo 1 para calcular.
- Sino está de orden, vuelva al paso 1.
- Dejar.
Resulta que este algoritmo efectivamente calcula un elemento deeso es igual apara algunosdel orden.
Se pueden encontrar más detalles sobre el algoritmo, su corrección, tiempo de ejecución y la demostración del lema en "Una descripción general del sistema de clave pública XTR" en [ 1 ] .
Esquemas criptográficos
En esta sección se explica cómo se pueden aplicar a la criptografía los conceptos anteriores que utilizan trazas de elementos. En general, XTR se puede usar en cualquier criptosistema que se base en el problema del logaritmo discreto (de subgrupos). Dos aplicaciones importantes de XTR son el intercambio de claves Diffie-Hellman y el cifrado ElGamal . Comenzaremos con Diffie-Hellman.
Acuerdo clave XTR-DH
Suponemos que tanto Alice como Bob tienen acceso a los datos de la clave pública XTR.y tienen la intención de acordar una clave secreta compartida.Pueden hacerlo utilizando la siguiente versión XTR del intercambio de claves Diffie-Hellman:
- Alice eligealeatoriamente con, se calcula con el Algoritmo 1y envíaa Bob.
- Bob recibeDe Alicia, selecciona al azarcon, aplica el Algoritmo 1 para calculary envía a Alicia.
- Alicia recibeDe Bob, calcula con el Algoritmo 1y determinaResidencia en.
- Bob aplica de forma análoga el Algoritmo 1 para calculary también determinaResidencia en.
Cifrado XTR ElGamal
Para el cifrado ElGamal, suponemos ahora que Alice es la propietaria de los datos de la clave pública XTR.y que ha seleccionado un número entero secreto, calculadoy publicó el resultado. Dados los datos de clave pública XTR de AliceBob puede cifrar un mensaje, destinado a Alice, utilizando la siguiente versión XTR del cifrado ElGamal:
- Bob selecciona al azar uncony calcula con el Algoritmo 1.
- A continuación, Bob aplica el Algoritmo 1 para calcular.
- Bob determina una clave de cifrado simétrico.Residencia en.
- Bob utiliza un método de cifrado simétrico acordado con clavepara encriptar su mensajelo que da como resultado el cifrado.
- Bob envíaa Alicia.
Al recibirAlice descifra el mensaje de la siguiente manera:
- Alice calcula.
- Alice determina la clave simétrica.Residencia en.
- Alice utiliza el método de cifrado simétrico acordado con clavepara descifrarlo que da como resultado el mensaje original.
El esquema de cifrado aquí descrito se basa en una versión híbrida común del cifrado ElGamal, donde la clave secretase obtiene mediante un sistema de clave pública asimétrica y luego el mensaje se cifra con un método de cifrado de clave simétrica acordado por Alice y Bob.
En el cifrado ElGamal más tradicional, el mensaje está restringido al espacio de claves, que en este caso sería, porqueEl cifrado en este caso es la multiplicación del mensaje por la clave, que es una operación invertible en el espacio de claves..
Concretamente, esto significa que si Bob quiere cifrar un mensaje, primero tiene que convertirlo en un elementodey luego calcular el mensaje cifradocomoTras la recepción del mensaje cifradoAlice puede recuperar el mensaje original.mediante computación, dóndees lo inverso deen.
Seguridad
Para analizar las propiedades de seguridad del esquema de cifrado XTR descrito anteriormente , primero es importante verificar la seguridad del grupo XTR, es decir, la dificultad de resolver el problema del logaritmo discreto en dicho grupo. A continuación, se establecerá la equivalencia entre el problema del logaritmo discreto en el grupo XTR y la versión XTR del mismo problema, utilizando únicamente las trazas de los elementos.
Logaritmos discretos en general
Dejemos que ahoraser un grupo multiplicativo de orden. La seguridad del protocolo Diffie-Hellman enSe basa en el problema de Diffie-Hellman (DH) de computación.. Nosotros escribimos. Hay otros dos problemas relacionados con el problema DH. El primero es el problema de decisión de Diffie-Hellman (DHD) para determinar sipara dadoy el segundo es el problema del logaritmo discreto (DL) para encontrarpara un dado.
El problema DL es al menos tan difícil como el problema DH y generalmente se supone que si el problema DL enSi es intratable, entonces también lo son los otros dos.
Dada la factorización prima deel problema DL enpuede reducirse al problema DL en todos los subgrupos decon orden primo debido al algoritmo de Pohlig-Hellman . Por lo tantoSe puede asumir con seguridad que es primo.
Para un subgrupode orden primodel grupo multiplicativode un campo de extensióndepara algunosAhora existen dos formas posibles de atacar el sistema. Se puede enfocar en todo el grupo multiplicativo o en el subgrupo. Para atacar el grupo multiplicativo, el método más conocido es la variante del logaritmo discreto de la criba de cuerpos numéricos o, alternativamente, en el subgrupo se puede utilizar uno de varios métodos que tomanoperaciones en, como el método rho de Pollard .
Para ambos enfoques la dificultad del problema DL endepende del tamaño del subcampo circundante mínimo dey en el tamaño de su orden primo. Sien sí mismo es el subcampo circundante mínimo deyes suficientemente grande, entonces el problema DL enes tan difícil como el problema general de DL en.
Los parámetros XTR ahora se eligen de tal manera queno es pequeño,es suficientemente grande yno puede estar integrado en un verdadero subcampo de, desdeyes un divisor depero no dividey por lo tantono puede ser un subgrupo depara. De ello se deduce que el problema DL en el grupo XTR puede considerarse tan difícil como el problema DL en.
Seguridad de XTR
Los protocolos criptográficos basados en logaritmos discretos pueden utilizar diversos subgrupos, como grupos de puntos de curvas elípticas o subgrupos del grupo multiplicativo de un cuerpo finito, como el grupo XTR. Como vimos anteriormente, las versiones XTR de los protocolos de cifrado Diffie-Hellman y ElGamal sustituyen el uso de elementos del grupo XTR por el uso de sus trazas. Esto significa que la seguridad de las versiones XTR de estos esquemas de cifrado ya no se basa en los problemas DH, DHD o DL originales. Por lo tanto, es necesario definir las versiones XTR de dichos problemas, y veremos que son equivalentes (en el sentido de la siguiente definición) a los problemas originales.
Definiciones:
- Definimos el problema XTR-DH como el problema de computación.dadoyy escribimos.
- El problema XTR-DHD es el problema de determinar sipara.
- Dado, el problema XTR-DL es encontrar, es decirde tal manera que.
- Decimos que ese problemaes (a,b)-equivalente al problema, si se presenta algún problema(o) se puede resolver con como máximo a (o b) llamadas a un algoritmo de resolución de problemas(o).
Tras presentar las versiones XTR de estos problemas, el siguiente teorema revela un resultado importante que establece la conexión entre los problemas XTR y los que no lo son, los cuales, de hecho, son equivalentes. Esto implica que la representación XTR de los elementos con sus trazas es, como se ha visto anteriormente, tres veces más rápida que la representación habitual sin comprometer la seguridad.
Teorema: Se cumplen las siguientes equivalencias:
- i. El problema XTR-DL es (1,1)-equivalente al problema DL en.
- ii. El problema XTR-DH es (1,2)-equivalente al problema DH en.
- iii. El problema XTR-DHD es (3,2)-equivalente al problema DHD en.
Esto significa que un algoritmo que resuelve XTR-DL, XTR-DH o XTR-DHD con una probabilidad no despreciable puede transformarse en un algoritmo que resuelve el problema no XTR correspondiente DL, DH o DHD con una probabilidad no despreciable y viceversa. En particular, la parte ii. implica que determinar la clave pequeña XTR-DH (siendo un elemento de) es tan difícil como determinar toda la clave DH (siendo un elemento de) en el grupo de representación.
Referencias
- 1 2 3 Lenstra, Arjen K.; Verheul, Eric R. "Una descripción general del sistema de clave pública XTR" (PDF) . CiteSeerX 10.1.1.104.2847 . Archivado del original (PDF) el 15 de abril de 2006. Recuperado el 22 de marzo de 2008 .
- ↑ Lenstra, Arjen K.; Verheul, Eric R., El sistema de clave pública XTR , CiteSeerX 10.1.1.95.4291
- Algoritmos de clave asimétrica
- Campos finitos