MX2008013557A - Metodo para validacion criptografica de clave publica de curva eliptica. - Google Patents

Metodo para validacion criptografica de clave publica de curva eliptica.

Info

Publication number
MX2008013557A
MX2008013557A MX2008013557A MX2008013557A MX2008013557A MX 2008013557 A MX2008013557 A MX 2008013557A MX 2008013557 A MX2008013557 A MX 2008013557A MX 2008013557 A MX2008013557 A MX 2008013557A MX 2008013557 A MX2008013557 A MX 2008013557A
Authority
MX
Mexico
Prior art keywords
message
point
product
information
coordinate
Prior art date
Application number
MX2008013557A
Other languages
English (en)
Inventor
Ronald F Buskey
Barbara B Frosik
Douglas A Kuhlman
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of MX2008013557A publication Critical patent/MX2008013557A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

La comunicación y validación de transferencia de información desde un transmisor hacia un receptor se logra al generar una cifra (400) a partir de un mensaje m (410) utilizando los parámetros de una curva elíptica, un punto generador P (406) en la curva elíptica y una clave pública Q (416) del receptor. La cifra incluye un primer elemento que es el producto kP de un número aleatorio k (404) con el punto generador P y un segundo elemento que es el producto de m y la coordenada x del producto kQ. El mensaje m se genera a partir de dos representaciones matemáticamente independientes de la información y, opcionalmente, un número aleatorio. La cifra se comunica al receptor y se decodifica para recuperar un mensaje m´ (502). Una ficha de validación (500) es generada por el receptor y se le pasa al transmisor, el cual valida la comunicación de la información al receptor si el producto mkQ es igual a la ficha de validación.

Description

"MÉTODO PARA VALIDACIÓN CRIPTOGRÁFICA DE CLAVE PÚBLICA DE CURVA ELÍPTICA" CAMPO DE LA INVENCIÓN Los dispositivos de nodo de red con recursos limitados frecuentemente requieren autenticar un dispositivo externo, tal como un servidor de red, para ejecutar una función critica. Por ejemplo, un dispositivo de nodo puede desear que se proporcionen datos privados, tal como una medición, ubicación o información de ID, a un sistema que se encuentra autorizado para recibirlos.
ANTECEDENTES DE LA INVENCIÓN Un planteamiento anterior proporciona un nodo con un método que busca el permiso de una autoridad, o controlador de confianza, dentro de una red. Por ejemplo, el nodo puede crear un mensaje único y enviar ese mensaje al controlador de confianza para el sistema, donde el controlador pudiese firmar el mensaje único y devolverlo al nodo. Cuando el nodo verifica la firma para el mensaje, puede continuar suponiendo que fue concedido por la autoridad por el controlador de confianza. También son conocidos los algoritmos para controlar diferentes niveles de acceso (o permisos) en la entidad huésped. Cada nivel se relaciona con un par de claves privada-pública. La capacidad de ofrecer múltiples niveles de acceso con una sola clave ofrece la ventaja de limitar el almacenamiento de múltiples claves en un sistema incorporado . También son conocidas las soluciones que utilizan protocolos de comunicación donde el dispositivo encriptar el mensaje de desafio y el servidor calcula una firma digital y la devuelve al dispositivo. Este planteamiento requiere que el dispositivo soporte múltiples funciones matemáticas, incluyendo multiplicaciones de punto de curva elíptica e inversiones de campo finito. Un planteamiento adicional encripta un mensaje de desafío que se encuentra restringido a incluir un componente aleatorio más el mensaje. El servidor puede des encriptar el mensaje y devolver la parte aleatoria del mensaje de desafío no encriptado. Este planteamiento o resuelve el tema de la simplicidad, pero entonces se ve comprometido el nivel de seguridad si el sistema requiere que un gran porcentaje del mensaje será información privada más que un valor aleatorio. Es bien sabido que los datos pueden encriptarse y después desencriptarse utilizando un par de claves, una de las cuales es pública y la otra privada. Las claves se relacionan matemáticamente de manera tal que los datos encriptados que utilizan la clave pública puedan desencriptarse utilizando la clave privada. También es sabido que puede verificarse una firma creada con la clave privada utilizando la clave pública, y que cualquiera sin la clave privada no puede generar una firma que habrá de ser validada. Los criptosistemas de clave pública más conocidos son aquellos basados en la factorización de enteros y logaritmos discretos en grupos finitos. Es bien sabido que al utilizar los cálculos en una curva elíptica definida sobre un campo finito en lugar de un criptosistema de RSA, es posible alcanzar un mayor nivel de seguridad para el mismo tamaño de clave o, inversamente, el mismo nivel de seguridad para una clave más pequeña en comparación con el criptosistema de RSA.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Consecuentemente, los esquemas de encriptación de curva elíptica son muy adecuados para el ambiente incorporado, dado que los tamaños de clave son mucho más pequeños que en los esquemas de RSA ampliamente utilizados y requieren menos memoria. En un esquema de encriptación de clave pública basado en curva elíptica, existe un cierto número de parámetros de sistema que deben ser compartidos por todos los participantes con objeto de realizar el trabajo del esquema. El conjunto de parámetros del sistema consiste típicamente de los términos de definición de la curva elíptica a utilizar, así como también un punto generador designado P, representado por las coordenadas x y y, conocidas como coordenadas afines. Los parámetros que definen la curva elíptica se designan típicamente como a y b, donde el grupo de puntos en la curva elíptica se define por el grupo Ep(a,j ) para el cual y2 = x3 + ax + b, módulo p o el grupo E2m(a,J ) para el cual y2 + xy = x3 + ax2 + b, módulo 2m. El parámetro p o m (que define el campo finito de definición) también es parte del conjunto de parámetros del sistema. La curva elíptica también puede definirse en términos de coordenadas proyectivas X, Y y Z. Después, las curvas se definen por el grupo Ep(a,jb) para el cual Y2Z = X2 + aXZ2 + bZ3 , módulo p, o el grupo E2m(a,jb) para el cual Y2Z + XYZ = X3 + aX Z + bZ3 , módulo 2m. Las coordenadas afines y proyectivas se encuentran relacionadas por x = X/Z y y = Y/Z.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Los rasgos novedosos considerados característicos de la invención se exponen en las reivindicaciones anexas. Sin embargo, la invención misma, así como también las modalidades preferidas de uso, y objetos adicionales y ventajas de las mismas, se comprenderán mejor haciendo referencia a la siguiente descripción detallada de una modalidad ilustrativa al ser leída en conjunto con el (los) dibujos anexos, en el (los) cual(es) : La Figura 1 es un diagrama de flujo de un método consistente con algunas modalidades de la invención. La Figura 2 es un diagrama de secuencia de un método consistente con algunas modalidades de la invención. La Figura 3 es un diagrama de secuencia de un método adicional consistente con algunas modalidades de la invención . La Figura 4 es un diagrama que muestra la generación de una cifra, c, consistente con algunas modalidades de la invención, para la transmisión y validación de información desde un transmisor hacia un receptor . La Figura 5 es un diagrama que muestra la generación de una ficha de validación, V, consistente con algunas modalidades de la invención, para la validación de la transferencia de información desde un transmisor hacia un receptor .
DESCRIPCION DETALLADA DE LA INVENCION Aunque esta invención susceptible a modalidades de muy diversas formas, muestra en los dibujos y se describirán en la presente detalladamente una o más modalidades específicas, en el entendimiento de que la presente descripción debe considerarse a manera de ejemplo de los principios de la invención y de que no pretende limitar la invención a las modalidades específicas mostradas y descritas. En la descripción expuesta a continuación, se utilizan números de referencia similares para describir las mismas partes, similares o correspondientes, en las diversas vistas de los dibujos. Un aspecto de la presente invención se refiere a un método para un dispositivo de nodo de una red a fin de compartir datos privados con un dispositivo externo, tal como un servidor remoto en la red, y para validar la recepción de los datos. De acuerdo con una modalidad, el dispositivo de nodo (algunas veces referido a continuación como el "transmisor") genera un mensaje que utiliza los datos a compartir. Después utiliza la encriptación de curva elíptica para construir un desafío para el servidor remoto y le envía ese desafío al servidor remoto. El servidor remoto (algunas veces referido en lo sucesivo como el "receptor") solamente es capaz de desencriptar el desafío y recuperar el mensaje si tiene la clave privada coincidente. El receptor genera después una ficha de validación utilizando el mensaje original y operaciones de curva elíptica con la clave privada, y envía la ficha de validación de regreso al dispositivo. Después, el dispositivo puede validar que los datos privados originales han sido devueltos exitosamente. Típicamente, el transmisor y los receptores son porciones de dispositivos electrónicos inalámbricos. Un dispositivo electrónico que comprende el transmisor puede, por ejemplo, ser un pequeño sensor de radiofrecuencia de baja potencia del tipo utilizado en las redes de radiofrecuencia ad hoc, un ejemplo de las cuales es una red Zigbee®. En otro ejemplo, un dispositivo electrónico que comprende el transmisor puede ser un controlador de equipo de radio frecuencia equipado con Bluetooth. La Figura 1 es un diagrama de flujo de un método consistente con algunas modalidades. El método se refiere a dos entidades separadas lógicamente, una con una clave pública (esta entidad es llamada "transmisor") y la otra con la clave privada correspondiente (el "receptor") . Después del bloque de inicio 102 en la Figura 1, el transmisor genera dos números aleatorios, k y r, en el bloque 104. También en el bloque 104, el transmisor genera un mensaje m que contiene identificadores de mensaje, información, i, y un número aleatorio, r. En el bloque 106, el transmisor genera una cifra c a partir del número aleatorio k, un punto generador público P, el mensaje m, y una clave pública Q del receptor. El mensaje de cifra c también actúa como un desafío para el receptor. En el bloque 108, el transmisor le envía el mensaje de cifra al receptor. En el bloque 110, el receptor descifrar el mensaje de cifra para recuperar el mensaje m' . El mensaje m' será igual al mensaje original m, visto que el receptor tiene conocimiento de la clave privada, q, que corresponde a la clave pública Q. El receptor también puede validar la información si la información de validación es incluida en el mensaje de cifra. En el bloque 112, el receptor genera una ficha de validación a partir del mensaje descifrado m' , su propia clave privada q, y la primera porción de la cifra kP. En el bloque 114, el transmisor le envía la ficha de validación al transmisor y, en el bloque 116, el transmisor verifica la ficha de validación. Si la ficha no es validada, como se representa gráficamente por la rama negativa del bloque de decisiones 118, ha ocurrido un error en la transmisión y el error es indicado con una bandera en el bloque 120. Si la ficha es validada, como se representa gráficamente por la rama positiva del bloque de decisiones 118, el éxito de la transmisión se indica con una bandera en el bloque 122 y se verifica que los datos han sido recibidos por un receptor autenticado. El proceso termina en el bloque 124. Este proceso puede utilizarse en los sistemas de tipo de red de sensor para enviarle datos confidenciales a un servidor de confianza y para verificar que el servidor recibió los datos. Además, el proceso puede utilizarse como control. Por ejemplo, el dispositivo de nodo transmitirá la información privada hasta que reciba esta ficha de validación y después dejará de enviarla ya sea para ahorrar energía o para utilizar la menor cantidad posible de energía de radiofrecuencia (RF) . El proceso requiere un procesamiento limitado y requisitos de memoria en el dispositivo, pero aún proporciona una fuerte protección criptográfica para la información en los casos en que la cantidad de datos aleatorios sea muy pequeña para considerarse criptográficamente significativa. El proceso de encriptación y validación descrito continuación se basa en una aritmética de curva elíptica y un esquema de claves públicas-y privadas. Esto garantiza que la información relacionada con la función protegida en el dispositivo que fue solicitado se transmita al servidor y no pueda ser alterada por un intermediario. También proporciona una verificación basada en una respuesta de desafío fuertemente criptográfica, y limita simultáneamente las funciones matemáticas requeridas a utilizarse por el nodo . El método comienza con un proceso de encriptación de curva elíptica, durante el cual un mensaje que contiene la información i y el valor de encriptación r es encriptado por una parte transmisora. El mensaje es desencriptado por una parte receptora. Son conocidos diversos procesos de encriptación de curva elíptica por aquellos expertos en la mat Consistente con una modalidad de la presente invención, la parte receptora válida el mensaje desencriptado m' y, si es validada positivamente, crea una ficha de validación por la multiplicación escalar del mensaje desencriptado m' y un punto en la curva elíptica conocida solamente por el transmisor y el receptor. Este punto compartido (qkP o kqP, por ejemplo) existe después de de las dos partes intercambian datos mediante el algoritmo de curva elíptica. Es bien sabido que la respuesta puede construirse utilizando el mensaje de texto plano o la parte aleatoria del mismo. El presente método no revela el mensaje de texto plano y, consecuentemente, es útil para proteger la información que fue enviada en el mensaje de desafío contra filtraciones del sistema para aquellos casos en los que el largo de la información no permita utilizar un valor aleatorio criptográficamente significativo para la respuesta. El receptor comunica la ficha de validación como respuesta al transmisor. A su vez, el transmisor válida la respuesta por la multiplicación escalar de ese punto conocido y el mensaje m. En una modalidad, se utilizan las coordenadas proyectivas en la aritmética de curva elíptica. El uso de las coordenadas proyectivas para aritmética de curva elíptica es conocido por aquellos expertos en la materia. Esta modalidad es adecuada para aplicaciones en las cuales el transmisor es un dispositivo incorporado con recursos muy limitados. El uso de coordenadas proyectivas le permite al transmisor ejecutar algoritmos de suma y multiplicación de campo finito sin una operación de inversión de campo finito computacionalmente cara. Solamente el receptor, que generalmente posee más potencia de cálculo, es requerido para ejecutar una operación de inversión de campo finito. Este planteamiento puede utilizarse para soportar tecnología de arquitectura de seguridad que puede aplicarse a procesadores utilizados para redes ad hoc y de sensor y proporciona una manera para enviarle al receptor información privada y confidencial y le permite al transmisor autenticar la recepción de esa información sin filtraciones de información confidencial. El uso de una ficha de validación, en lugar de una firma digital, requiere únicamente que el dispositivo de recursos limitados sea capaz de ejecutar un pequeño conjunto de operaciones matemáticas a fondo (en lugar de múltiples operaciones matemáticas) . En general, el método implica dos entidades separadas lógicamente, una con la clave pública, y la otra con la clave privada. La parte A con una clave pública tiene información i que necesita ser validada (o procesada en un resultado de s /no) . La información puede representar i cualquier cosa - datos, función, acceso, etc. La parte B con la clave privada posee la potencia para validar la información . El método descrito en la presente proporciona un método seguro para delegar el procesamiento en una entidad separada lógicamente. La entidad de confianza, la parte B, posee una clave privada g, la cual es un número entre 0 y el orden de la curva elíptica. La parte A, que delega el procesamiento en la parte B, posee la clave pública {P, Q) que consiste en el punto generador P en la curva elíptica (definida sobre los grupos Ep o E2m, por ejemplo) y el punto Q = qP, el cual es la multiplicación escalar del punto generador P por la clave privada q. La Figura 2 es un diagrama de secuencia de un método consistente con algunas modalidades de la invención. Este método utiliza coordenadas afines en la aritmética de curva elíptica. Haciendo referencia a la Figura 2, el transmisor 202 (parte A) tiene la información i, junto con los parámetros de sistema de la curva elíptica (los valores a y b, por ejemplo, y un punto generador P) y una clave pública Q del receptor 204 (parte B) . El receptor 204 (parte B) tiene los parámetros de sistema de la curva elíptica (los valores a y b, por ejemplo, y un punto generador P) y una clave privada q. El proceso es el siguiente . a . En 206, la parte A genera los números aleatorios k y r. b. En 208, la parte A transforma la información i en un mensaje m. En la figura, ' 1 1 ' denota concatenación. En esta modalidad, el mensaje m se limita al tamaño del campo finito al incluir el prefijo 0x01 en el mensaje. Esto evita el sobre flujo de futuras operaciones. El mensaje incluye dos representaciones, aritméticamente independientes, de la información. Esto puede ser, por ejemplo, la misma información y una versión encriptada de la información. La encriptación puede alcanzarse utilizando técnicas conocidas tales como una operación OR exclusiva' o multiplicación con un punto en una curva elíptica. Opcionalmente , el mensaje puede rellenarse con datos aleatorios, r. Esto es particularmente útil cuando la información es predecible o de alcance limitado. Los datos aleatorios pueden comprender más de la mitad del mensaj e . c. En 210, la parte A encripta el mensaje m utilizando la encriptación de curva elíptica. El mensaje de cifra c = E (m) se genera consistiendo en las coordenadas x y y de un punto R = kP (este punto se obtiene por multiplicación escalar del número aleatorio k por el punto generador P) y el mensaje multiplicado por la coordenada x del punto T = kQ (el punto obtenido por la multiplicación escalar del número aleatorio k por el punto Q) . En esta modalidad, se utilizan las coordenadas afines. d. En 212, el mensaje de cifra c se comunica a la parte B (el receptor) . Además de pasar la información, el mensaje de cifra c proporciona un desafío que se comunica a la parte B (el receptor) . En algunas modalidades, la parte A puede comunicar adicionalmente credenciales. e. En 214, la parte B desencripta el mensaje de cifra para obtener el mensaje m' y, opcionalmente, valida la información i utilizando las dos representaciones aritméticamente independientes que se incluyeron en el mensaje. En algunas modalidades, la información i se valida adicionalmente contra un conjunto de valores predeterminados. La parte A también puede haber proporcionado credenciales que los autorizan a procesar la información i. En esencia, las credenciales le ayudan a la parte B a determinar el conjunto de valores aceptables de i . Un punto G se calcula por la multiplicación escalar de una clave privada q, y el punto R (incluido en la cifra) . Se observa que T - qR = qkP = kQ. El mensaje m' es recuperado al multiplicar la coordenada x inversa del punto G y la parte numérica del desafío. f. Si el resultado del procesamiento es exitoso, la parte B crea una ficha de validación V en 216, donde V es un punto obtenido por la multiplicación escalar del mensaje m' y el punto T.
El punto V es una ficha de validación de respuesta al desafío c. g. En 218, la ficha de validación de respuesta V se le comunica a la parte A. h. En 220, la parte A, la cual tiene tanto el mensaje m como el punto T, valida la respuesta. La validación verifica la igualdad del punto recibido V y el punto obtenido por una multiplicación de m y el punto T. La Figura 3 es un diagrama de secuencia de un método adicional consistente con algunas modalidades de la invención. Este método utiliza coordenadas proyectivas en la aritmética de curva elíptica. Esta modalidad del proceso requiere recursos computacionales limitados y es adecuada para su uso en un sistema en el cual la parte A con una clave pública es un dispositivo incorporado con recursos muy limitados. El uso de coordenadas proyectivas le permite a la parte A evitar una operación costosa de inversión de campo finito. La inversión se delega a la parte B, la cual puede poseer una mayor potencia de cálculo. Haciendo referencia a la Figura 2, el transmisor 202 (parte A) tiene la información i, junto con los parámetros del sistema de la curva elíptica (los valores a y b, por ejemplo, y un punto generador P) y una clave pública Q del receptor 204 (parte B) . El receptor 204 (parte B) tiene los parámetros del sistema de la curva elíptica (los valores a y b, por ejemplo, y un punto generador P) y una clave privada q. El proceso es el siguiente : a. En 206, la parte A genera los números aleatorios k y r. b. En 208, la parte A transforma la información i en un mensaje m al rellenar con datos aleatorios, r. En la figura, 4 | | ' denota concatenación. El mensaje m se limita al tamaño del campo finito. Esto se realiza en esta modalidad utilizando el prefijo 0x01 en el mensaje. El mensaje incluye dos representaciones, aritméticamente independientes, de la información. c. En 302, la parte A encripta el mensaje m utilizando encriptación de curva elíptica. El mensaje de cifra c = E (m) comprende las coordenadas proyectivas X, Y y Z de un punto R = kP (un punto obtenido por la multiplicación escalar de un número aleatorio k por el punto generador P) y el mensaje m multiplicado por la coordenada x (kQ?X) del punto G = kQ (un punto obtenido por la multiplicación escalar de un número aleatorio k por el punto Q) así como también la coordenada Z del punto G. d. En 212, el mensaje de cifra c se comunica a la parte B (el receptor) . En algunas modalidades, la parte A puede comunicar adicionalmente credenciales . e. En 304, la parte B desencripta el mensaje m' y, opcionalmente , valida la información i utilizando las dos representaciones aritméticamente independientes de la información que fueron incluidas en el mensaje. En algunas modalidades, la información i se valida adicionalmente contra un conjunto de valores predeterminados. La parte A también puede haber proporcionado credenciales que los autorizan a procesar la información i. En esencia, las credenciales le ayudan a la parte B a determinar el conjunto de valores aceptables de i . Un punto G = qkP = kQ se calcula por la multiplicación escalar de la clave privada q de la parte B, y el punto R = kP (que se incluye en la cifra) . El mensaje m' se recupera utilizando aritmética de coordenadas proyectivas o afines. Por ejemplo, la cifra puede multiplicarse por el inverso de la coordenada Z de kQ para entregar la coordenada x (afín) de kQ = kqP y se multiplica después por la coordenada x inversa (afín) del punto G = qkP para entregar el mensaje, m' . f. Si el resultado del procesamiento es exitoso, la parte B crear una ficha de validación V en 216, donde V es un punto obtenido por la multiplicación escala de m' y el punto T. El punto V, en coordenadas afines, es una ficha de validación de respuesta al desafío c. g. En 218, la ficha de validación de respuesta V se comunica a la parte A. h. En 220, la parte A, que tiene tanto el mensaje m como el punto T, valida la respuesta. La validación verifica la igualdad del punto recibido V y el punto obtenido por una multiplicación escalar de m y el punto T. El punto recibido V se encuentra en coordenadas afines, donde el punto calculado por T se encuentra en coordenadas proyectivas. Con objeto de comparar sin inversión, las coordenadas afines x- y y-del punto V se multiplican por la coordenada Z del punto calculado y comparado con las coordenadas proyectivas X- y Y- del punto calculado por mT, respectivamente . Este método de validación reduce los requisitos de procesamiento y recursos del dispositivo al eliminar los pasos matemáticos complejos y el almacenamiento de múltiples claves públicas. El método de validación le permite también al transmisor continuar enviando información hasta que se confirma el acuse de recibo. Algunos de los planteamientos anteriores requieren que el transmisor realice una encriptación de clave pública de un valor aleatorio y la envíe al receptor. Después, el receptor utiliza la clave privada para desencriptar el valor aleatorio y ejecuta una operación de firma sobre ese mensaje y lo devuelve al dispositivo, o devuelve potencialmente sólo el valor aleatorio desencriptado al dispositivo. Estos métodos anteriores requerirían que el dispositivo ejecute al menos dos tipos principales de cálculos matemáticos de campo finito (multiplicación de campo finito e inversión de campo finito) o colocarían los datos privados enviados desde el dispositivo al servidor en el vacío como parte del método de devolución. Al utilizar la ficha de validación junto con la validación por el transmisor, puede alcanzarse el mismo nivel de seguridad con únicamente la multiplicación de punto proyectivo requerida en el transmisor (que no requiere inversión de campo finito) . Este planteamiento protege los datos privados contra filtraciones del sistema. Para dispositivos transmisores de recursos limitados, tales como bloques de control de acceso de hardware o dispositivos de sensor, esto puede ser una mejora significativa en el rendimiento. La Figura 4 es un diagrama que muestra la generación de una cifra c, consistente con algunas modalidades de la invención, para la transmisión y validación de información desde un transmisor hacia un receptor. La cifra 400 incluye un primer elemento 402 que es igual a un producto kP de un primer número aleatorio k (404) con un punto P (406) en una curva elíptica y un segundo elemento 408 igual a un producto m{kQ?x) de un mensaje m (410) con la coordenada x 412 de un punto kQ (414) en la curva elíptica. El punto Q (416) es una clave pública del receptor y es un punto en la curva elíptica. El mensaje m (410) es dependiente de la información o datos 418 a transmitirse. La coordenada x del punto kQ puede ser una coordenada afín o una coordenada proyectiva. Si se utilizan coordenadas proyectivas, como se representa gráficamente en la Figura 4, la cifra 400 incluye también la coordenada proyectiva Z 420 del punto kQ (414) . El mensaje m (410) comienza con una cabecera de mensaje fijo para evitar el sobreflujo, incluye un segundo número aleatorio, r (422) , la coordenada X iP?X (424) y la información i 418 a transmitirse. La coordenada X proyectiva iP?X (424) puede generarse en la parte receptora utilizando el algoritmo idéntico u otras restricciones del sistema de manera tal que la coordenada Z no tenga que transmitirse en el mensaje. En algunas modalidades, el valor proyectivo iP?X puede reemplazarse equivalentemente por la coordenada afín x de iP. El mensaje 410 puede rellenarse, con bits aleatorios adicionales 428 para hacerla de un largo especificado. La Figura 5 es un diagrama que muestra la generación de una ficha de validación V (500) , consistente con algunas modalidades de la invención, para la validación de transferencia de información entre un transmisor (parte A) y un receptor (parte B) . Haciendo referencia a la Figura 5, la cifra 400 se desencripta para obtener un mensaje m' (502) . En el ejemplo mostrado en la Figura 5, se utilizan coordenadas proyectivas. El segundo elemento 408 de la cifra 400 se divide por el tercer elemento 420 (la coordenada Z del producto kQ) a fin de entregar la coordenada x afín 504 del producto m(kQ?X) . Dado Q=qP, mkQ=mkqP. Como es conocido por aquellos expertos en la materia, la operación de división es equivalente a una multiplicación por el inverso multiplicativo. La coordenada afín x 506 del producto qkP (508) se genera al multiplicar el primer elemento 402 de la cifra {kP) por la clave privada, q (510), del receptor. El mensaje m' (502) decodificado de la cifra 400 se encuentra al dividir el cociente de datos cifrados 504 de las porciones segunda 408 y tercera 420 de la cifra por la coordenada x afín del producto qkP (506) . Finalmente, la ficha de validación V (500) se calcula como la multiplicación del mensaje decodificado m' (502) con el producto qkP (506) . La presente invención, como se describe en las modalidades de la presente, puede implementarse utilizando un procesador programado que ejecute instrucciones de programación que se describen ampliamente con anterioridad en forma de diagrama de flujo que puede almacenarse en cualquier medio de almacenamiento electrónico adecuado. Sin embargo, aquellos expertos en la materia observarán que los procesos descritos anteriormente pueden implementarse en cualquier número de variaciones y en muchos idiomas de programación adecuados sin aislarse de la presente invención. Por ejemplo, el orden algunas operaciones llevadas a cabo, frecuentemente puede variar, pueden añadirse operaciones adicionales o pueden eliminarse operaciones sin aislarse de la invención. El atrapado de errores, mejoras y variaciones puede añadirse sin aislarse de la presente invención. Tales variaciones se contemplan y se consideran equivalentes. La presente invención podría implementarse utilizando hardware de propósito especial y/o procesadores dedicados. De manera similar, las computadoras de propósito general, computadoras basadas en microprocesadores, procesadores de señales digitales, microcontroladores , procesadores dedicados, circuitos personalizados, ASICS y/o puede utilizarse una lógica alámbrica dedicada para construir modalidades equivalentes alternativas de la presente invención. Aquellos expertos en la materia observarán que los pasos de programa y datos asociados utilizados para implementar las modalidades descritas con anterioridad pueden implementarse utilizando el almacenamiento de disco asi como también otras formas de almacenamiento, tales como, por ejemplo, dispositivos de memoria de sólo lectura (ROM - Read Only Memory) , dispositivos de memoria de acceso aleatorio (RAM - Random Access Memory) , elementos de almacenamiento óptico, elementos de almacenamiento magnético, elementos de almacenamiento magneto-óptico, memoria flash y/u otras tecnologías de almacenamiento equivalentes sin aislarse de la presente invención. Tales dispositivos de almacenamiento alternativos deben considerarse equivalentes. Aunque la invención se ha descrito en conjunto con modalidades específicas, es evidente que muchas alternativas, modificaciones, permutaciones y variaciones se volverán aparentes para aquellos expertos en la materia en virtud de la descripción anterior. De acuerdo con lo anterior, se pretende que la presente invención abarque tales alternativas, modificaciones y variaciones dentro del alcance de las reivindicaciones anexas.

Claims (16)

  1. NOVEDAD DE LA INVENCIÓN Habiéndose descrito la invención como antecedente, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
  2. REIVINDICACIONES 1. Un método para validar el intercambio de información de manera segura utilizando una curva elíptica con un punto P y un punto Q, comprendiendo cada punto al menos una coordenada x y una coordenada y, caracterizado el método porque comprende: generar un mensaje m a partir de la información i generar una cifra que comprende un primer valor que comprende el producto kP de un valor aleatorio k y el punto de curva elíptica P, y un segundo valor que comprende el mensaje m encriptado con la coordenada x del producto kQ del valor aleatorio k y el punto Q de la curva elíptica; transmitir la cifra a un receptor; recibir una ficha de validación; y validar el intercambio de información si la ficha de validación comprende el producto del mensaje m y el punto kQ. 2. Un método según la reivindicación 1, caracterizado además porque comprende: generar un segundo número aleatorio, r; y generar el mensaje m a partir de la información, el número aleatorio r y al menos una porción de la coordenada x de un punto iP que es el producto de la información a enviarse al receptor y el punto P en la curva elíptica .
  3. 3. Un método según la reivindicación 1, caracterizado porque validar la comunicación de la información al receptor comprende: multiplicar la coordenada x afín de la ficha de validación V por la coordenada Z proyectiva del producto mkQ para generar un primer valor; multiplicar la coordenada y afín de la ficha de validación V por la coordenada Z proyectiva del producto mkQ para generar un segundo valor; y validar la comunicación de la información al receptor si la coordenada X proyectiva del producto mkQ es igual al primer valor y la coordenada Y proyectiva del producto mkQk es igual al segundo valor.
  4. 4. Un método según la reivindicación 1, caracterizado porque la coordenada x del producto kQ comprende una coordenada afín.
  5. 5. Un método según la reivindicación 1, caracterizado además porque comprende calcular el producto kP y el producto kQ utilizando coordenadas proyectivas.
  6. 6. Un método según la reivindicación 1, caracterizado porque el mensaje m comprende: una cabecera; un segundo número aleatorio, r; al menos una porción de la coordenada x P—x de un producto de la información i que se envía al receptor con el punto P; y la información i a transmitirse.
  7. 7. Un método según la reivindicación 1, caracterizado porque la cifra c comprende el mensaje m encriptado con la coordenada x del producto kQ.
  8. 8. Un dispositivo móvil operativo para ejecutar el método según la reivindicación 1.
  9. 9. Un método para proporcionar información de validación en un intercambio de información, que utiliza una curva elíptica con un punto P y un punto Q que es el producto de la clave privada q y el punto P, comprendiendo cada punto al menos una coordenada x y una coordenada y, caracterizado el método porque comprende: recibir una cifra que comprende al menos una porción primera y segunda proveniente de un emisor; multiplicar la primera porción de la cifra por la clave privada q, a fin de obtener un punto T en la curva elíptica; desencriptar la segunda porción de la cifra utilizando la coordenada x del punto T para obtener un mensaje m'; generar una ficha de validación V que comprende el producto m' T de m' y el punto T, y transmitir la ficha de validación V al emisor.
  10. 10. Un método según la reivindicación 9, caracterizado porque el mensaje m' es igual al producto de la segunda porción de la cifra con el inverso de la coordenada x del punto T.
  11. 11. Un método según la reivindicación 9, caracterizado porque la cifra comprende además una tercera porción y el mensaje m' es igual al producto del segundo elemento de la cifra con el inverso de la tercera porción de la cifra y con el inverso de la coordenada x afín del punto G.
  12. 12. Un método según la reivindicación 9, caracterizado porque el mensaje m' comprende una porción de cabecera, una porción de información encriptada y una porción de información, caracterizado el método porque comprende: invalidar el mensaje si la porción de cabecera no corresponde con una cabecera predeterminada para el mensaje; e invalidar el mensaje si la porción de información encriptada del mensaje no corresponde al menos con un subconjunto de la coordenada x del producto de la porción de información del mensaje y el punto P; donde no se genera ninguna ficha de validación si el mensaje es invalidado.
  13. 13. Una cifra para la transmisión y validación de información i desde un transmisor hacia un receptor, caracterizada la cifra porque comprende: un primer elemento de cifra igual a un producto kP de un primer número aleatorio k con un punto P en una curva elíptica; y un segundo elemento de cifra igual a un producto m{kQ?x) de un mensaje m con la coordenada x de un punto kQ en la curva elíptica, donde Q es una clave pública del receptor y es un punto en la curva elíptica, donde el mensaje m comprende: un primer elemento de mensaje dependiente de la información i a transmitirse; y un segundo elemento de mensaje que comprende una representación aritméticamente independiente de información i a transmitirse.
  14. 14. Una ficha de validación V derivada de la cifra según la reivindicación 13, caracterizado porque la ficha de validación comprende un producto m' qkP de un mensaje m' decodificado de la cifra, una clave privada q del receptor y el primer elemento kP de la cifra, donde la - 3 O - clave pública Q es igual al producto de la clave privada q con el punto P.
  15. 15. Un dispositivo receptor operativo para generar una ficha de validación según la reivindicación 14.
  16. 16. Un dispositivo operativo para generar una cifra según la reivindicación 13.
MX2008013557A 2006-04-24 2007-03-30 Metodo para validacion criptografica de clave publica de curva eliptica. MX2008013557A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/379,815 US8311214B2 (en) 2006-04-24 2006-04-24 Method for elliptic curve public key cryptographic validation
PCT/US2007/065588 WO2007127576A2 (en) 2006-04-24 2007-03-30 Method for elliptic curve public key cryptographic validation

Publications (1)

Publication Number Publication Date
MX2008013557A true MX2008013557A (es) 2008-11-04

Family

ID=38619505

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008013557A MX2008013557A (es) 2006-04-24 2007-03-30 Metodo para validacion criptografica de clave publica de curva eliptica.

Country Status (6)

Country Link
US (1) US8311214B2 (es)
EP (1) EP2014000B1 (es)
KR (1) KR101492644B1 (es)
CN (1) CN101427500B (es)
MX (1) MX2008013557A (es)
WO (1) WO2007127576A2 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738704B2 (en) * 2003-03-07 2010-06-15 Technology, Patents And Licensing, Inc. Detecting known video entities utilizing fingerprints
US7694318B2 (en) 2003-03-07 2010-04-06 Technology, Patents & Licensing, Inc. Video detection and insertion
US7809154B2 (en) 2003-03-07 2010-10-05 Technology, Patents & Licensing, Inc. Video entity recognition in compressed digital video streams
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
WO2006076804A1 (en) 2005-01-21 2006-07-27 Certicom Corp. Elliptic curve random number generation
US20060195859A1 (en) * 2005-02-25 2006-08-31 Richard Konig Detecting known video entities taking into account regions of disinterest
US20060195860A1 (en) * 2005-02-25 2006-08-31 Eldering Charles A Acting on known video entities detected utilizing fingerprinting
US7690011B2 (en) 2005-05-02 2010-03-30 Technology, Patents & Licensing, Inc. Video stream modification to defeat detection
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures
DE102007001070B3 (de) * 2006-09-29 2008-04-30 Siemens Ag Verfahren zum verschlüsselten Datenausgleich eines Systems mit mindestens einem Datenträger und einem Lesegerät
US8243933B2 (en) * 2007-08-29 2012-08-14 Red Hat, Inc. Method for sharing secret information among cooperating parties
US8068606B2 (en) * 2007-08-29 2011-11-29 Red Hat, Inc. Embedding a secret in a bit string for safeguarding the secret
KR100965813B1 (ko) 2007-12-28 2010-06-24 경원대학교 산학협력단 유비쿼터스 환경에서 안전한 메시지 전송을 위한타원곡선기반의 rfid 암호 방법
US8117447B2 (en) * 2008-01-10 2012-02-14 Industrial Technology Research Institute Authentication method employing elliptic curve cryptography
EP2124382A1 (de) * 2008-05-20 2009-11-25 Siemens Aktiengesellschaft Verfahren zum verschlüsselten Datenaustausch und Kommunikationssystem
US8615084B2 (en) * 2008-05-29 2013-12-24 Red Hat, Inc. Extending a secret bit string to safeguard the secret
US9106635B2 (en) * 2012-03-01 2015-08-11 Certicom Corp. System and method for connecting client devices to a network
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
US9391781B2 (en) * 2013-06-04 2016-07-12 Altera Corporation Systems and methods for intermediate message authentication in a switched-path network
WO2018102382A1 (en) * 2016-11-29 2018-06-07 ZeroDB, Inc. Method and system for switching public keys in ciphertexts
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
US10749692B2 (en) 2017-05-05 2020-08-18 Honeywell International Inc. Automated certificate enrollment for devices in industrial control systems or other systems
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
CN113364585B (zh) * 2021-06-04 2022-09-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc认证方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5159632A (en) * 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
EP0804758B1 (en) * 1994-07-29 2005-11-09 Certicom Corp. Elliptic curve encryption systems
WO1999030458A1 (en) * 1997-12-05 1999-06-17 Secured Information Technology, Inc. Transformation methods for optimizing elliptic curve cryptographic computations
CN1108041C (zh) * 1999-12-01 2003-05-07 陈永川 运用椭圆曲线加密算法的数字签名方法
EP1425874B1 (en) * 2001-08-13 2010-04-21 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US7139396B2 (en) * 2002-06-27 2006-11-21 Microsoft Corporation Koblitz exponentiation with bucketing
GB2394388B (en) * 2002-10-14 2005-10-19 Toshiba Res Europ Ltd Methods and systems for flexible delegation
EP1561195B1 (en) * 2002-10-26 2007-01-24 The Additional Director (IPR), Defence Research & Development Organisation A method of elliptic curve encryption
CN100440776C (zh) * 2002-11-29 2008-12-03 北京华大信安科技有限公司 椭圆曲线签名和验证签名方法和装置
US7298839B2 (en) * 2003-07-25 2007-11-20 Microsoft Corporation Squared Weil and Tate pairing techniques for use with elliptic curves
GB2404486A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
JP4284320B2 (ja) * 2003-08-06 2009-06-24 富士通株式会社 楕円曲線暗号装置,楕円曲線暗号方法および楕円曲線暗号プログラム
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography

Also Published As

Publication number Publication date
EP2014000A4 (en) 2015-03-18
WO2007127576A2 (en) 2007-11-08
EP2014000B1 (en) 2018-10-03
WO2007127576A3 (en) 2008-04-17
CN101427500A (zh) 2009-05-06
US20070248224A1 (en) 2007-10-25
EP2014000A2 (en) 2009-01-14
KR20090005041A (ko) 2009-01-12
KR101492644B1 (ko) 2015-02-12
CN101427500B (zh) 2013-06-05
US8311214B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
US8311214B2 (en) Method for elliptic curve public key cryptographic validation
US11573769B2 (en) Homogenous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography
Xie et al. Chaotic maps-based three-party password-authenticated key agreement scheme
US8908866B2 (en) Method and apparatus to provide authentication and privacy with low complexity devices
US8139766B2 (en) Pseudo public key encryption
WO2018236908A1 (en) SECURE COMMUNICATIONS PROVIDING PERSISTENT CONFIDENTIALITY
US20080240443A1 (en) Method and apparatus for securely processing secret data
US20100172493A1 (en) Method and device for processing data
US20050005121A1 (en) Cryptographic method and apparatus
GB2401012A (en) Identifier-based encryption
Park et al. Anonymous authentication scheme based on NTRU for the protection of payment information in NFC mobile environment
WO2018073685A1 (en) Composite digital signatures
CN111586142A (zh) 一种安全多方计算方法及系统
Tsai et al. An ECC-based blind signcryption scheme for multiple digital documents
Ali et al. RFID authentication scheme based on hyperelliptic curve signcryption
Singh et al. Elliptic curve signcryption based security protocol for RFID
Sarwar et al. Lightweight ECC with Fragile Zero-Watermarking for Internet of Things Security
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
US20050021973A1 (en) Cryptographic method and apparatus
US7415110B1 (en) Method and apparatus for the generation of cryptographic keys
Ullah et al. A perspective trend of hyperelliptic curve cryptosystem for lighted weighted environments
Thakur An access control protocol for wireless sensor network using double trapdoor chameleon hash function
KR100401063B1 (ko) 패스워드 기반 키교환 방법 및 그 시스템
CN115001741B (zh) 一种数据加密方法及相关组件
Zhou et al. A Conditionally Anonymous Linkable Ring Signature for Blockchain Privacy Protection

Legal Events

Date Code Title Description
FG Grant or registration
GB Transfer or rights