La criptografía elíptica de la curva (ECC) del es un acercamiento a la criptografía de la Público-llave basada en la estructura algebraica de las curvas elípticas sobre los campos finitos que el uso de curvas elípticas en criptografía fue sugerido independiente por el Neal Koblitz y el vencedor S.

Las curvas elípticas también se utilizan en varios algoritmos de la facturización del número entero tal como los cuales tener usos en criptografía, por ejemplo, la facturización elíptica de la curva de Lenstra, pero este uso de curvas elípticas es el no designado generalmente " curva elíptica cryptography."

Introducción

La criptografía de llave pública se basa en la creación de los rompecabezas matemáticos que son difíciles de solucionar sin cierto conocimiento sobre cómo fueron creadas. Las subsistencias del creador que secreto del conocimiento (la llave privada) y publican el rompecabezas (la llave pública). El rompecabezas se puede entonces utilizar para revolver un mensaje de una manera que solamente el creador pueda descifrar. Sistemas dominantes públicos tempranos, tales como el algoritmo del RSA, productos usados de dos números primeros grande como el rompecabezas: un usuario escoge dos al azar grandes prepara como su llave privada, y publica su producto como su llave pública. La dificultad de descomponer en factores se asegura de que ninguna otra puede derivar la llave privada (es decir, los dos factores primeros) el público dentro de una cantidad de tiempo razonable. Sin embargo, debido al progreso reciente en descomponer en factores, llaves públicas del RSA debe ahora ser millares de pedacitos de largo para proporcionar seguridad adecuada.

Otra clase de rompecabezas implica el solucionar del de la ecuación ab = c para el b cuando se saben el un y el c . Tales ecuaciones que implican números verdaderos o complejos se solucionan fácilmente usar los logaritmos sin embargo, en algunos grupos finitos grande encontrar soluciones a tales ecuaciones es absolutamente difícil y se conoce como el problema discreto del logaritmo .

Una curva elíptica es una curva plana definida por una ecuación del y del de la forma 2 = el x 3 + un x de + el b .

El sistema de puntos en tal curva (es decir, todas las soluciones de la ecuación junto con un punto en el infinito ) se puede demostrar para formar un grupo abeliano (con el punto en el infinito como elemento de identidad). Si el x de los coordenadas y el y se eligen de un campo finito grande, las soluciones forman a grupo abeliano finito. El problema discreto del logaritmo en tales grupos elípticos de la curva se cree para ser más difícil que el problema correspondiente en (el grupo multiplicativo de elementos diferentes a cero de) el campo finito subyacente. Así las llaves en criptografía elíptica de la curva se pueden elegir para ser mucho más cortas para un nivel de seguridad comparable. (el considera: longitud dominante criptográfica de )

En cuanto a otros sistemas criptográficos populares de la llave pública, no se ha publicado ninguna prueba matemática de la dificultad para el del ECC en fecha 2006 . Sin embargo, la agencia de seguridad nacional de los E. ha endosado tecnología del ECC incluyéndola en su sistema de la habitación B de algoritmos recomendados. Aunque el RSA patente haya expirado, allí sea patentes en vigor que cubre algunos aspectos del ECC.

Introducción matemática

Las curvas elípticas usadas en criptografía se definen típicamente sobre dos tipos de campos de los campos finitos impar característico ( \ mathbb {F} _p, donde está un gran número el p > 3 primero) y de campos de la característica dos (el _ del \ del mathbb {F} {los 2^m} ). Cuando la distinción no es importante nosotros denota ambos ellos como el \ mathbb {F} _q, donde q=p o q=2^m. En el \ el mathbb {F} _p los elementos son los números enteros (0 \ le x < p) que se combinan usar la aritmética modular . El caso del _ del \ del mathbb {F} {los 2^m} es levemente más complicado (véase el campo finito aritmético para los detalles): uno obtiene diversas representaciones de los elementos del campo como bitstrings para cada opción del f polinómico binario irreducible (x) del grado m.

El sistema de todos los pares de afina el de los coordenadas (x, y) para el x, y \ en \ forma del mathbb {F} _q el _q del \ del mathbb del plano de la afinación {F} \ las épocas \ mathbb {F} _q. Una curva elíptica es el lugar geométrico de puntos en el plano de la afinación cuyos coordenadas satisfacen cierta ecuación cúbica junto con un punto en el infinito O (el punto en el cual el lugar geométrico en el plano descriptivo interseca la línea en el infinito). En el caso de característico p > 3 el que define la ecuación del E (\ del _p del mathbb {F}) puede ser escrito: y^2 = x^3 + x + b \, donde están constantes el a \ en \ mathbb {F} _p y b \ en \ mathbb {F} _p tales que 4 a^3 + 27 b^2 \ ne 0. En el caso binario la ecuación de definición del E (\ del _ del mathbb {F} {los 2^m}) puede ser escrita: y^2 + x y = x^3 + x^2 + b \, donde está los constantes y el b el a \ en \ el _ del mathbb {F} {los 2^m} y b \ en \ el _ del mathbb {F} {los 2^m} \ ne 0. Aunque el punto en el infinito O tenga ningún afinar coordenadas, es conveniente representarlo usar un par de coordenadas que no satisfagan la ecuación de definición, por ejemplo, O= (0.0) si el b \ ne 0 y O= (0.1) de otra manera. Según el teorema de Hasse en las curvas elípticas el número de puntos en una curva está cercano al tamaño del campo subyacente; más exacto: (\ raíz cuadrada q - 1)^2 \ leq |E (\ _q del mathbb {F})| \ leq (\ raíz cuadrada q + 1)^2.

Los puntos en una curva elíptica forman un del grupo abeliano (E (\ mathbb {F}), +) con O, el punto en el infinito distinguido, desempeñando el papel de la identidad aditiva. Es decir dado dos puntos del P, Q \ en E (\ _q del mathbb {F}) , hay un tercer punto, denotado por P+Q \, en el E (\ el _q del mathbb {F}) , y las relaciones siguientes celebran para todo el P, Q, R \ en E (\ _q del mathbb {F}) P+Q = Q+P (commutativity del )
(P+Q) +R = P+ (Q+R) (associativity del )
P+O = O+P = P (existencia del de un elemento de identidad )
existe el (- P) tales que -P + P = P + (- P) = O (existencia del de lo contrario )

Especificamos ya cómo se define O. Si definimos la negativa de un P del punto = (x, y) a ser -P = (x, - y) para el P \ en E (\ _p del mathbb {F}) y -P = (x, x+y) para el P \ en E (\ el _ del mathbb {F} {los 2^m}) , podemos definir la operación de la adición como sigue:
si Q = P de O entonces + Q = P
si Q = - P de P entonces + Q = O
si P del Q \ ne P entonces + Q = R, donde en = primero \ lambda^2 - x_P del x_R del caso - x_Q, = \ lambda (x_P - x_R) del y_R - y_P, y \ lambda = \ frac {y_Q-y_P} {x_Q-x_P} , o
en = binario \ lambda^2 del x_R del caso + \ lambda + x_P + x_Q + a, = \ lambda (x_P + x_R) del y_R + x_R + y_P, y \ lambda = \ frac {y_P + y_Q} {x_P + x_Q} (Geométrico, P+Q es lo contrario del tercer punto de la intersección del cúbico con la línea con P y Q.)

si Q = P de P entonces + Q = R, donde en = primero \ lambda^2 - 2 x_P, = \ lambda (x_P - x_R) - y_P del y_R, y \ lambda del x_R del caso = \ frac {3 x_P^2 + a} {y_P 2} , o
en = binario \ lambda^2 del x_R del caso + \ lambda + a, y_R = x_P^2 + (\ lambda + 1) x_R, y \ + \ frac {y_P} {x_P} de la lambda = del x_P (Geométrico, 2P es lo contrario del tercer punto de la intersección del cúbico con su línea de tangente en P.)

La clase particular en línea del ECC de Certicom contiene un Java applet Que se pueda utilizar para experimentar con la adición en diversos grupos de la EC.

Describimos ya el del campo \ el mathbb subyacente {F} _q y el grupo de puntos del E elíptico de la curva (\ del _q del mathbb {F}) pero hay otra más estructura matemática de uso general en &mdash de la criptografía; un subgrupo cíclico del E (\ de _q del mathbb {F}) . Para cualquier punto G el del del sistema (O, G, G+G, G+G+G, G+G+G+G, \ ldots) es un grupo cíclico. Es conveniente utilizar la notación siguiente: 0 G = O, 1 G = G, 2G = G+G, 3G = G+G+G, etc. El cálculo del k G, donde está un número entero k y G es un punto, se llama la multiplicación escalar del .

Esquemas criptográficos

Puesto que el grupo cíclico (aditivo) descrito arriba puede ser considerado similar al grupo (multiplicativo) de energías de una prima p del modulo del número entero g: el (g^0, g, g^2, g^3, g^4, \ ldots) , el problema de encontrar k dado señala el k G y G se llama el problema discreto (ECDLP) del logaritmo de la curva elíptica del . La dureza presunta de varios problemas relacionados con el logaritmo discreto en el subgrupo del E (\ de _q del mathbb {F}) permite el uso criptográfico de curvas elípticas. La mayor parte de los esquemas criptográficos de la curva elíptica se relacionan con los esquemas discretos del logaritmo que fueron formulados original para la aritmética modular generalmente:
el esquema dominante elíptico del acuerdo de Diffie-Hellman de la curva se basa en el esquema de Diffie-Hellman,
el algoritmo elíptico de la firma de Digitaces de la curva se basa en el algoritmo de la firma de Digitaces,
el esquema dominante del acuerdo ECMQV se basa en el esquema dominante del acuerdo MQV . No todos los esquemas del DLP se deben virar hacia el lado de babor al dominio elíptico de la curva. Por ejemplo, el esquema bien conocido de la encripción de ElGamal nunca fue estandardizado por los cuerpos oficiales y no se debe utilizar directo sobre una curva elíptica (el esquema estándar de la encripción para el ECC se llama el esquema integrado de la encripción Elliptic Curve). La razón principal es que aunque sea directo convertir un mensaje arbitrario (de la longitud limitada) a un modulo p del número entero, no es ésa simple convertir bitstring a un punto de una curva (no es verdad que para cada x hay y tales que el (x, y) \ en E (\ _q del mathbb {F}) ). (Otro factor es que el esquema de ElGamal es vulnerable a los ataques del elegir-texto cifrado.)

¡Algunos creen que la criptografía ECDLP-basada va a substituir la criptografía basada en la facturización del número entero (e., RSA) y la criptografía del finito-campo (e., DSA ) . En la conferencia 2005 del RSA, la agencia de seguridad nacional (NSA) anunció la habitación B que utiliza exclusivamente a ECC para la generación de la firma digital y el intercambio de la llave. La habitación se piensa para proteger los sistemas de seguridad nacionales clasificados y sin clasificar e información.

Otra fuente importante de usos criptográficos de curvas elípticas es el operador bilineario (basado en el Weil que aparea o el Tate que aparea ) que permite, por ejemplo, hacer la criptografía Identificación-basada eficiente (véase también el salón Crypto Aparear-Basado).

Consideraciones de la puesta en práctica

Aunque los detalles de cada esquema elíptico particular de la curva se describan en el artículo referido sobre algunas consideraciones comunes de la puesta en práctica se discutan aquí.

Parámetros del dominio

Para utilizar a ECC que todos los partidos deben estar de acuerdo con todos los elementos que definen la curva elíptica, de que es los parámetros del dominio del del esquema. El campo es definido por p en el caso primero y los pares de m y f en el caso binario. La curva elíptica es definida por los constantes a y b usados en su ecuación de definición. Finalmente, su generador (aka del define al subgrupo cíclico. punto bajo ) G del . Para el uso criptográfico la orden de G, de que es el número no negativo más pequeño n tales que el n G = O, debe ser primero. Puesto que n es el tamaño de un subgrupo del E (\ de _q del mathbb {F}) sigue del teorema del Lagrange ese el h del número = \ el

del frac Tamaños dominantes

Puesto que todos los algoritmos sabidos más rápidos que permiten solucionar el ECDLP (gigante-paso del Bebé-paso, rho del árbol descopado, etc.), O de la necesidad (\ raíz cuadrada {n}) caminan, sigue que el tamaño del campo subyacente será áspero dos veces el parámetro de seguridad. Por ejemplo, porque la seguridad una de 128 pedacitos necesita una curva sobre el \ el mathbb {F} _q, donde q \ aproximadamente 2^ {256} . Esto se puede poner en contraste con la criptografía del finito-campo (e., DSA ) que requiere 3072 llaves públicas del pedacito y 256 llaves privadas del pedacito, y la criptografía de la facturización del número entero (e., RSA ) que requiere el público de 3072 pedacitos y llaves privadas. El ECC más duro proyecta (público) roto hasta la fecha tenía un pedacito 109 dominante (que sea cerca de 55 pedacitos de seguridad). Para el caso del campo primero, era cercano quebrado el principio 2003 usando sobre 10.000 PC de la clase del Pentium que funcionaban continuamente por más de 540 días (véase). Para el caso binario del campo, estaba quebrado en abril de 2004 usar 2600 computadoras por 17 meses (véase).

Coordenadas descriptivos

Una examinación cercana de las reglas de la adición demuestra que para agregar dos puntos uno necesita no sólo varias adiciones y multiplicaciones en \ el mathbb {F} _q pero también una operación de la inversión. La inversión (para el x dado \ en \ hallazgo del mathbb {F} _q y \ en \ mathbb {F} _q tales que x y = 1) es una a dos órdenes de la magnitud más lentas que la multiplicación. Afortunadamente, los puntos en una curva se pueden representar en diversos sistemas coordinados que no requieran una operación de la inversión agregar dos puntos. Varios tales sistemas fueron propuestos: en el sistema descriptivo del cada punto es representado por el de tres coordenadas (X, Y, Z) usar la relación siguiente: = \ frac {X} {Z} , = y \ frac {Y} {Z} del x; en el sistema de Jacobian del al punto también se representa con el de tres coordenadas (se utiliza X, Y, Z), pero una diversa relación: = \ frac {X} {Z^2} , = y \ frac {Y} {Z^3} del x; en el se utiliza el sistema modificado de Jacobian las mismas relaciones pero cuatro coordenadas se almacenan y se utilizan para el de los cálculos (X, Y, Z, aZ^4); y en el sistema cinco de Chudnovsky Jacobian del los coordenadas son el usado (X, Y, Z, Z^2, Z^3). Observar que hay puede ser diversas convenciones de nombramiento, por ejemplo, " de las aplicaciones del estándar de IEEE P1363 -2000; coordinates" descriptivo; ¡para referirse a qué comúnmente se llama Jacobian coordinates. un adicional acelera es posible si se utilizan los coordenadas mezclados.

Reducción rápida (curvas del NIST)

El modulo p (que de la reducción es necesario para la adición y la multiplicación) se puede ejecutar mucho más rápidamente si el p primero es un pseudo- Mersenne primero que es p \ aproximadamente 2^d, por ejemplo, p = 2^ {521} - 1 o p = 2^ {256} - 2^ {32} - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1. Comparado a la reducción de Barrett puede haber una orden de la magnitud acelera. Las curvas sobre el \ el mathbb {F} _p con pseudo-Mersenne p son recomendadas por el NIST. Otra más ventaja de las curvas del NIST es el hecho de que utilizan a = -3 que mejore la adición en los coordenadas de Jacobian.

Curvas elípticas NIST-Recomendadas

El NIST recomienda 15 curvas elípticas. Específicamente, los PAA 186-2 tienen 10 campos finitos recomendados. Hay de 5 campos primeros \ el mathbb {F} _p para p192, p224, p256, p284 y p521. Para cada uno de los campos primeros se recomienda una curva elíptica aleatoriamente seleccionada. Allí de cinco campos \ _ binarios del mathbb {F} {los 2^m} para 2^ {163} , 2^ {233} , 2^ {283} , 2^ {409} , y 2^ {571} . Para cada uno de los campos binarios una curva elíptica aleatoriamente seleccionada y una curva de Koblitz fueron seleccionadas. Así 5 curvas primeras y 10 curvas binarias. Las curvas fueron elegidas para la eficacia óptima de la seguridad y de la puesta en práctica.

ataques del Lado-canal

Desemejante de sistemas del DLP (donde está posible utilizar el mismo procedimiento para ajustar y la multiplicación) la adición de la EC es perceptiblemente diferente para doblar (P = Q) y la adición general (P \ ne Q). Por lo tanto, es importante contrariar los ataques laterales (e., el medir el tiempo y ataques simples del canal del análisis de la energía) usar, por ejemplo, ventana fija del patrón (aka. métodos del peine) (nota que esto no aumenta el tiempo del cómputo).

Patentes

considera también: el ECC patenta el

Por lo menos un ECC proyecta (ECMQV) y algunas técnicas de la puesta en práctica son cubiertas por patentes. La incertidumbre sobre la disponibilidad del ECC descargado ha limitado la aceptación del ECC.

Puestas en práctica

Fuente abierta


OpenSSL: Biblioteca fuente abierta escrita en C con la biblioteca del ECC
NSS: Bibliotecas crypto de la fuente abierta con el ECC
Crypto++: Paquete Crypto de la fuente abierta escrito en C++ con la biblioteca del ECC
MIRACL: Número entero Multiprecision y biblioteca racional de la aritmética C/C++
seccure: el ECC mínimo de GPLed de la huella filetea con la encripción de llave pública y firmas digitales
SKS: herramienta muy pequeña de la fuente abierta para el ECC (como un PGP simplificado)
eccGnuPG: Un remiendo experimental a GnuPG
Curve25519: Una función avanzada de Diffie-Hellman de Dan Bernstein
TinyECC: un paquete de programas informáticos que proporciona operaciones del ECC en TinyOS
libecc: Biblioteca del ECC de la fuente abierta
Castillo animoso: Paquete crypto de la fuente abierta para Java y C# que incluye a ECC

Propietario/anuncio publicitario

CNG API en el Windows Vista y el servidor 2008 de Windows
Marco 3.NET
Web server 7.0 del sistema de Sun Java y más adelante
SE 6 de Java
Tarjeta de Java

.

  • Zenithic
  • Kraus House
    Random links:Datos demográficos de los Comoro | Lipovans | El mago (novela de Maugham) | Roberto Burnham | Casco de Kent

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">