ES2410679B1 - METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION - Google Patents

METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION Download PDF

Info

Publication number
ES2410679B1
ES2410679B1 ES201130840A ES201130840A ES2410679B1 ES 2410679 B1 ES2410679 B1 ES 2410679B1 ES 201130840 A ES201130840 A ES 201130840A ES 201130840 A ES201130840 A ES 201130840A ES 2410679 B1 ES2410679 B1 ES 2410679B1
Authority
ES
Spain
Prior art keywords
mod
public key
key
information
users
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn - After Issue
Application number
ES201130840A
Other languages
Spanish (es)
Other versions
ES2410679A2 (en
ES2410679R1 (en
Inventor
Luis HERNÁNDEZ ENCINAS
Jaime MUÑOZ MASQUÉ
José Raúl DURÁN DÍAZ
Fausto Montoya Vitini
Fernando HERNÁNDEZ ÁLVAREZ
Víctor GAYOSO MARTÍNEZ
Agustín MARTÍN MÚÑOZ
David PRIETO MARQUÉS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonica SA
Original Assignee
Telefonica SA
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 Telefonica SA filed Critical Telefonica SA
Priority to ES201130840A priority Critical patent/ES2410679B1/en
Priority to PCT/EP2012/059442 priority patent/WO2012160046A1/en
Priority to ARP120101820 priority patent/AR086534A1/en
Publication of ES2410679A2 publication Critical patent/ES2410679A2/en
Publication of ES2410679R1 publication Critical patent/ES2410679R1/en
Application granted granted Critical
Publication of ES2410679B1 publication Critical patent/ES2410679B1/en
Withdrawn - After Issue legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Método para proteger información confidencial.#Comprende:#i) cifrar información por medio de una clave pública generada por una tercera parte de confianza (T); y#ii) descifrar, un usuario o miembro (U{sub,1}, U{sub,2}, ?, U{sub,t}) de un grupo de usuarios autorizados (U), dicha información cifrada por medio de una clave privada generada por dicha tercera parte de confianza (T).#Comprende además generar, por dicha tercera parte de confianza (T), dicha clave pública como una clave pública común y una pluralidad de claves privadas diferentes, una para cada uno de dichos usuarios (U{sub,1}, U{sub,2}, ?, U{sub,t}), estando asociadas cada una de dicha pluralidad de claves privadas diferentes a dicha clave pública común y pudiendo utilizarse para dicha etapa de descifrado ii).Method to protect confidential information. # Includes: #i) encrypt information by means of a public key generated by a trusted third party (T); and # ii) decipher, a user or member (U {sub, 1}, U {sub, 2},?, U {sub, t}) of a group of authorized users (U), said encrypted information by means of a private key generated by said third party trust (T). # Also comprises generating, by said third party trust (T), said public key as a common public key and a plurality of different private keys, one for each of said users (U {sub, 1}, U {sub, 2},?, U {sub, t}), each of said plurality of different private keys being associated with said common public key and can be used for said step of decryption ii).

Description

Método para cifrar y descifrar información. Method to encrypt and decrypt information.

Campo de la técnica Technical field

La presente invención se refiere, en general, a un método para cifrar y descifrar información en un criptosistema asimétrico y, más particularmente, a un método que comprende claves privadas diferentes, una para cada usuario de un grupo de usuarios autorizados o miembros, asociadas a una clave pública común. The present invention relates, in general, to a method for encrypting and decrypting information in an asymmetric cryptosystem and, more particularly, to a method comprising different private keys, one for each user of a group of authorized users or members, associated with A common public key.

Estado de la técnica anterior Prior art

Todos los sistemas de cifrado y descifrado publicados hasta la fecha (DES, TDES, AES, RSA, ECC, etc.) comparten la propiedad de que cada cable de cifrado tiene una y sólo una clave de descifrado correspondiente, que permite la recuperación del texto sencillo cifrado con la primera [1] [2] [3] [4] [5] [6] [7]. All encryption and decryption systems published to date (DES, TDES, AES, RSA, ECC, etc.) share the property that each encryption cable has one and only one corresponding decryption key, which allows text retrieval Simple encrypted with the first [1] [2] [3] [4] [5] [6] [7].

En criptografía simétrica, se usa la misma clave tanto para cifrar como para descifrar un mensaje o documento. Esta clave debe mantenerse secreta y los participantes (emisor/receptor) deben disponer de medios (transmisión a través de canales privados, etc.) para garantizar que sólo ellos conocen esta clave. In symmetric cryptography, the same key is used both to encrypt and decrypt a message or document. This key must be kept secret and the participants (sender / receiver) must have means (transmission through private channels, etc.) to ensure that only they know this key.

En criptografía asimétrica o pública, cada usuario tiene una clave asignada, la clave pública, conocida por la comunidad de usuarios, permitiendo así que cualquier usuario de la comunidad envíe un mensaje a un usuario particular usando su clave pública ampliamente conocida. Esta clave pública tiene una clave privada asociada, que pertenece al receptor y que sólo él conoce, que permite el descifrado de los mensajes cifrados recibidos. El sistema está diseñado de tal manera que derivar la clave privada a partir de la clave pública es un problema matemático computacionalmente irresoluble. En este caso además, cada clave pública tiene una y sólo una clave privada correspondiente. In asymmetric or public cryptography, each user has an assigned key, the public key, known by the user community, thus allowing any user in the community to send a message to a particular user using their widely known public key. This public key has an associated private key, which belongs to the recipient and that only he knows, that allows decryption of the encrypted messages received. The system is designed in such a way that deriving the private key from the public key is a computationally irresolvable mathematical problem. In this case, in addition, each public key has one and only one corresponding private key.

Para ambos sistemas, simétrico y asimétrico, los procedimientos de cifrado y descifrado siguen las mismas etapas, tal como se indican a continuación: For both systems, symmetric and asymmetric, the encryption and decryption procedures follow the same steps, as indicated below:

--
Generación de claves. Key Generation

--
Cifrado de la información. Este proceso requiere un protocolo o algoritmo que usa como entradas tanto la clave de cifrado como el mensaje sencillo que va a cifrarse. Information encryption. This process requires a protocol or algorithm that uses both the encryption key and the simple message to be encrypted as inputs.

--
Descifrado y recuperación de la información original. Este proceso requiere un protocolo o algoritmo que usa como entradas tanto la clave de descifrado como el mensaje cifrado. Decryption and recovery of the original information. This process requires a protocol or algorithm that uses both the decryption key and the encrypted message as inputs.

Tal como se ha indicado anteriormente, se han propuesto muchos otros sistemas de cifrado, tal como DES, TDES, AES, RSA, ECC, etc., y algunos de ellos se han patentado. Sin embargo, ninguno aborda el problema que soluciona la presente invención, ya que en todos los casos a cada clave de cifrado está asociada una y sólo una clave de descifrado. Esto significa que si varios usuarios necesitan compartir cierta información cifrada, se ven obligados a compartir sus claves privadas también, lo que supone un grave inconveniente desde el punto de vista de la seguridad, la privacidad y la autenticidad. As indicated above, many other encryption systems have been proposed, such as DES, TDES, AES, RSA, ECC, etc., and some of them have been patented. However, none addresses the problem that the present invention solves, since in each case one and only one decryption key is associated with each encryption key. This means that if several users need to share certain encrypted information, they are forced to share their private keys as well, which is a serious inconvenience from the point of view of security, privacy and authenticity.

--
Problemas con las soluciones existentes Problems with existing solutions

Los criptosistemas convencionales, tanto simétricos como asimétricos, permiten la transmisión en red de información confidencial por medio de claves de cifrado. En los criptosistemas simétricos, las claves se mantienen secretas y se comparten tanto por el emisor como por el receptor: el primero cifra la información y el segundo la descifra. Este tipo de criptosistemas presentan ventajas, tales como velocidad, eficacia, longitud reducida de las claves y fácil implementación; pero también desventajas, tales como intercambio de claves difícil, claves con una corta vida útil y problemas para firmar información cifrada. La seguridad de estos criptosistemas se basa en el mantenimiento de las claves en secreto: en la práctica, una búsqueda exhaustiva es la única opción viable para violar este tipo de criptosistemas. Conventional cryptosystems, both symmetric and asymmetric, allow the transmission of confidential information via encryption keys. In symmetric cryptosystems, the keys are kept secret and shared by both the sender and the receiver: the first encrypts the information and the second deciphers it. These types of cryptosystems have advantages, such as speed, efficiency, reduced key length and easy implementation; but also disadvantages, such as difficult key exchange, keys with a short service life and problems signing encrypted information. The security of these cryptosystems is based on keeping the keys secret: in practice, an exhaustive search is the only viable option to violate this type of cryptosystems.

En los criptosistemas asimétricos, existen dos claves diferentes. Una de ellas se conoce públicamente (la clave pública), mediante la cual se cifra la información; mientras que la otra se mantiene en secreto por el receptor (la clave privada), permitiendo así el descifrado sólo a su propietario. En este tipo de criptosistemas, la seguridad se basa en la dificultad de derivar la clave privada a partir de la clave pública. Tal dificultad está fundamentada normalmente por algún tipo de problema matemático, cuya solución se considera irresoluble. In asymmetric cryptosystems, there are two different keys. One of them is publicly known (the public key), by which the information is encrypted; while the other is kept secret by the recipient (the private key), thus allowing decryption only to its owner. In this type of cryptosystems, security is based on the difficulty of deriving the private key from the public key. Such difficulty is normally based on some kind of mathematical problem, whose solution is considered irresolvable.

En algunos de los criptosistemas descritos anteriormente, cada clave de cifrado está asociada con una única clave de descifrado, la única que puede invertir el proceso de cifrado llevado a cabo usando la clave de cifrado. Si debe permitirse a dos personas distintas descifrar una determinada información cifrada, no existe otra posibilidad más que compartir la clave de descifrado. In some of the cryptosystems described above, each encryption key is associated with a single decryption key, the only one that can reverse the encryption process carried out using the encryption key. If two different people must be allowed to decipher a certain encrypted information, there is no other possibility but to share the decryption key.

Sin embargo, compartir una clave secreta conlleva graves riesgos para la seguridad de todo el sistema. Sería muy interesante tener un criptosistema en el que cualquier información cifrada con una clave dada pudiera descifrarse usando claves distintas. Esto permitiría a varias personas descifrar la misma información usando distintas claves, que pueden mantenerse secretas. However, sharing a secret key carries serious security risks for the entire system. It would be very interesting to have a cryptosystem in which any information encrypted with a given key could be decrypted using different keys. This would allow several people to decipher the same information using different keys, which can be kept secret.

Descripción de la invención Description of the invention

Es necesario ofrecer una alternativa al estado de la técnica que supere los problemas mencionados anteriormente que sufren las soluciones existentes. It is necessary to offer an alternative to the state of the art that overcomes the aforementioned problems suffered by existing solutions.

Con este fin, la presente invención proporciona un método para proteger información confidencial, que comprende: To this end, the present invention provides a method of protecting confidential information, comprising:

i) cifrar información por medio de una clave pública generada por una tercera parte de confianza (T); y i) encrypt information through a public key generated by a trusted third party (T); Y

ii) descifrar, un usuario o miembro (U1, U2, …, Ut) de un grupo de usuarios autorizados (U), dicha información cifrada por medio de una clave privada generada por dicha tercera parte de confianza (T). ii) decipher, a user or member (U1, U2, ..., Ut) of a group of authorized users (U), said encrypted information by means of a private key generated by said third party of trust (T).

A diferencia de las propuestas conocidas, el método de la invención comprende generar, por dicha tercera parte de confianza (T), dicha clave pública como una clave pública común y una pluralidad de claves privadas diferentes, una para cada uno de dichos usuarios (U1, U2, …, Ut), estando asociadas cada una de dicha pluralidad de claves privadas diferentes a dicha clave pública común y pudiendo utilizarse para dicha etapa de descifrado ii). Unlike the known proposals, the method of the invention comprises generating, by said third party trust (T), said public key as a common public key and a plurality of different private keys, one for each of said users (U1 , U2, ..., Ut), each of said plurality of different private keys being associated with said common public key and may be used for said decryption stage ii).

Esta invención propone un nuevo tipo de criptosistema que puede considerarse como una variante de un criptosistema de clave pública ya que emplea diferentes claves para los procesos de cifrado y descifrado (y por tanto es asimétrico). Sin embargo, en esta propuesta cada clave pública tiene una serie de claves privadas asociadas diferentes, de tal manera que cualquiera de éstas puede usarse para descifrar un mensaje cifrado con la primera. Por tanto, la correspondencia entre claves privadas y públicas no es de una a una sino de muchas a una. This invention proposes a new type of cryptosystem that can be considered as a variant of a public key cryptosystem since it uses different keys for encryption and decryption processes (and is therefore asymmetric). However, in this proposal each public key has a series of different associated private keys, so that any of these can be used to decrypt a message encrypted with the first one. Therefore, the correspondence between private and public keys is not one to one but many to one.

Esta invención permite que cualquier usuario que pertenezca a un conjunto de usuarios autorizados descifre un documento que se ha cifrado con una clave pública dada, pero usando su propia clave privada, que es diferente de la clave privada del resto de usuarios. La tercera parte de confianza (T) es responsable de la generación de la clave pública común y la clave privada de cada usuario. This invention allows any user belonging to a set of authorized users to decrypt a document that has been encrypted with a given public key, but using its own private key, which is different from the private key of other users. The third part of trust (T) is responsible for the generation of the common public key and the private key of each user.

La invención soluciona el problema de acceder a información confidencial en entornos corporativos, donde tal información habitualmente debe mantenerse reservada a un conjunto (normalmente pequeño) de usuarios autorizados. The invention solves the problem of accessing confidential information in corporate environments, where such information should usually be kept reserved for a (normally small) set of authorized users.

Otras realizaciones del procedimiento de la invención se describen según las reivindicaciones 2 a 7 adjuntas y en una sección posterior relativa a la descripción detallada de varias realizaciones. Other embodiments of the process of the invention are described according to the attached claims 2 to 7 and in a later section relating to the detailed description of various embodiments.

La nueva característica del sistema propuesto es la posibilidad de generar un número arbitrario de claves privadas asociadas a la misma clave pública. Cada vez que un nuevo usuario se une al grupo de usuarios autorizados, se le proporciona una clave privada totalmente nueva que corresponde a la misma clave pública común, compartida por todos los usuarios en el grupo. El nuevo usuario puede acceder a cualquier información cifrada con la clave pública común usando su propia clave privada. The new feature of the proposed system is the possibility of generating an arbitrary number of private keys associated with the same public key. Each time a new user joins the group of authorized users, a completely new private key is provided that corresponds to the same common public key, shared by all users in the group. The new user can access any information encrypted with the common public key using their own private key.

Breve descripción de los dibujos Brief description of the drawings

Las anteriores y otras ventajas y características se entenderán más completamente a partir de la siguiente descripción detallada de realizaciones, con referencia a los dibujos adjuntos, que deben considerarse de manera ilustrativa y no limitativa, en los que: The foregoing and other advantages and features will be more fully understood from the following detailed description of embodiments, with reference to the accompanying drawings, which should be considered in an illustrative and non-limiting manner, in which:

La figura 1 muestra el esquema general para cifrar y descifrar información. Figure 1 shows the general scheme to encrypt and decrypt information.

La figura 2 muestra el protocolo propuesto para el cifrado/descifrado, según el método de la presente invención en una realización, con sus diferentes fases. Figure 2 shows the proposed protocol for encryption / decryption, according to the method of the present invention in one embodiment, with its different phases.

Descripción detallada de varias realizaciones Detailed description of various embodiments

Este documento presenta un procedimiento que consiste en un sistema de cifrado y descifrado que implementa varias claves privadas, mantenidas en secreto por sus propietarios, asociadas a una única clave pública. El sistema permite, entonces, cifrar cualquier mensaje con una clave pública dada y descifrarlo con cualquiera de las claves privadas asociadas a la clave pública de cifrado. This document presents a procedure that consists of an encryption and decryption system that implements several private keys, kept secret by their owners, associated with a single public key. The system then allows you to encrypt any message with a given public key and decrypt it with any of the private keys associated with the public encryption key.

La presente invención soluciona el problema de protección de información confidencial en entornos corporativos de tal manera que nadie excepto un conjunto de usuarios tenga acceso a la misma. La información confidencial se protege cifrándola con la clave pública. Cada usuario en el conjunto de usuarios autorizados tiene una clave privada personal (diferente de la clave privada de cualquier otro usuario) que le permite acceder a la información confidencial. The present invention solves the problem of protecting confidential information in corporate environments so that no one except a set of users has access to it. Confidential information is protected by encrypting it with the public key. Each user in the set of authorized users has a personal private key (different from the private key of any other user) that allows you to access confidential information.

Este procedimiento permite generar las claves para una tercera parte de confianza (T), que a su vez generará la clave pública común y la clave privada de cada usuario en el conjunto de usuarios autorizados a acceder a la información confidencial. T envía la clave privada al correspondiente usuario autorizado a través de un canal privado. El usuario debe mantener su clave privada en secreto. This procedure allows the generation of the keys for a trusted third party (T), which in turn will generate the common public key and the private key of each user in the set of users authorized to access the confidential information. T sends the private key to the corresponding authorized user through a private channel. The user must keep his private key secret.

Además, una tercera parte de confianza (T) tal como la requerida es fácil de implementar en el contexto de una empresa, corporación o institución gubernamental, donde tales entidades normalmente ya existen. In addition, a third party of trust (T) such as that required is easy to implement in the context of a company, corporation or government institution, where such entities normally already exist.

El procedimiento general que permite el cifrado y descifrado de un documento sigue las siguientes etapas, tal como se muestra en la figura 1: The general procedure that allows the encryption and decryption of a document follows the following steps, as shown in Figure 1:

--
Generación de claves.  Key Generation

--
Cifrado de la información que debe protegerse usando la clave apropiada.  Encryption of the information to be protected using the appropriate password.

--
Descifrado del texto cifrado usando la clave apropiada.  Decryption of encrypted text using the appropriate key.

Esta invención propone un procedimiento para llevar a cabo los procesos de cifrado y descifrado de la información, una vez generadas las claves por T, de tal manera que una clave de cifrado generada tiene un número arbitrario de claves de descifrado correspondientes, permitiendo todas ellas el descifrado de cualquier texto cifrado con la clave de cifrado. This invention proposes a method for carrying out the processes of encryption and decryption of the information, once the keys have been generated by T, such that a generated encryption key has an arbitrary number of corresponding decryption keys, all of them allowing the decryption of any encrypted text with the encryption key.

La seguridad del criptosistema propuesto se basa en la naturaleza computacionalmente irresoluble de tres problemas matemáticos. Estos problemas son los siguientes: The security of the proposed cryptosystem is based on the computationally irresolvable nature of three mathematical problems. These problems are as follows:

--
Problema de factorización de enteros (IFP): Dado un entero positivo n, hallar su factorización prima; es decir, escribir n = p1 e1 · p2 e2 ··· pkek donde los pi son primos distintos por pares y cada ei ≥ 1.  Integer Factoring Problem (IFP): Given a positive integer n, find its prime factorization; that is, write n = p1 e1 · p2 e2 ··· pkek where pi are cousins distinct by pairs and each ei ≥ 1.

--
Problema de logaritmo discreto (DLP): Dado un número primo p, un generador g de Zp * y un elemento y en Zp *, hallar el entero x, 1 < x < p–1, de manera que gx = y (mod p).  Problem of discrete logarithm (DLP): Given a prime number p, a generator g of Zp * and an element y in Zp *, find the integer x, 1 <x <p – 1, so that gx = y (mod p ).

--
Problema de logaritmo discreto en subgrupo (SDLP): Sea p un primo y q un divisor primo de p–1. Sea G el subgrupo cíclico único de Zp * de orden q y sea g un generador de G. El problema de logaritmo discreto en subgrupo en G es el siguiente: Dados p, q, g y y en G, hallar el único entero x, 1< x < q–1, de manera que gx = y (mod p).  Subgroup discrete logarithm problem (SDLP): Let p be a cousin and q be a prime divisor of p – 1. Let G be the unique cyclic subgroup of Zp * of order q and let g be a generator of G. The problem of discrete logarithm in subgroup in G is as follows: Given p, q, gyy in G, find the only integer x, 1 <x <q – 1, so that gx = y (mod p).

Una vez que T genera y verifica las claves, las fases del protocolo propuesto en esta invención son las siguientes, tal como se muestra en la figura 2: Once T generates and verifies the keys, the phases of the protocol proposed in this invention are as follows, as shown in Figure 2:

--
T cifra la información que debe protegerse usando la clave de cifrado generada. T encrypts the information that must be protected using the generated encryption key.

--
Descifrado de la información almacenada o transmitida, llevado a cabo por cualquier usuario por medio de su  Decryption of the information stored or transmitted, carried out by any user through their

propia clave de descifrado, personal y secreta, que es distinta del resto de claves privadas. A continuación se presentará una descripción más detallada de cada fase. La corporación, empresa o institución gubernamental se considera como la T, que desea distribuir de manera restringida ciertos documentos o información corporativa. own decryption key, personal and secret, which is different from other private keys. A more detailed description of each phase will be presented below. The corporation, company or government institution is considered as the T, which wishes to distribute in a restricted way certain documents or corporate information.

Los siguientes párrafos describen el protocolo que va a seguirse según el procedimiento propuesto. Generación de claves Sea T la tercera parte de confianza y sea U el conjunto de usuarios autorizados para el descifrado. Para generar sus The following paragraphs describe the protocol to be followed according to the proposed procedure. Key generation Let T be the third trusted party and let U be the set of authorized users for decryption. To generate your

claves, T sigue las siguientes etapas: keys, T follows the following stages:

a) T selecciona dos números primos grandes, p y q, que satisfacen p = u1 · r · p1 + 1, q = u2 · r · q1 + 1, a) T selects two large prime numbers, p and q, that satisfy p = u1 · r · p1 + 1, q = u2 · r · q1 + 1,

siendo r, p1 y q1 números primos, u1 y u2 número enteros pares, cuyo máximo común divisor es mcd(u1, u2) = 2, es where r, p1 and q1 are prime numbers, u1 and u2 even integers, whose greatest common factor is gcf (u1, u2) = 2, is

decir, de manera que u1 = 2 · v1 y u2 = 2 · v2 y mcd(v1, v2) = 1. Para garantizar la seguridad del protocolo, el tamaño de r, es decir, su longitud de bits, debe ser lo bastante grande para que el problema de logaritmo discreto en subgrupo de orden r de los enteros módulo n, Zn *, sea computacionalmente irresoluble. say, so that u1 = 2 · v1 and u2 = 2 · v2 and mcd (v1, v2) = 1. To ensure the security of the protocol, the size of r, that is, its bit length, must be large enough so that the problem of discrete logarithm in subgroup of order r of the integers module n, Zn *, is computationally irresolvable.

b) T calcula n = p · q, b) T calculates n = p · q,

φ(n) = (p–1)(q–1) = u1 · u2 · r2 · p1 · q1, λ(n) = mcm(p–1, q–1) = 2 · v1 · v2 · r · p1 · q1, donde mcm representa el mínimo común múltiplo, φ(n) es la función phy de Euler y λ(n) es la función de Carmichael. φ (n) = (p – 1) (q – 1) = u1 · u2 · r2 · p1 · q1, λ (n) = mcm (p – 1, q – 1) = 2 · v1 · v2 · r · p1 · q1, where mcm represents the least common multiple, φ (n) is Euler's phy function and λ (n) is Carmichael's function.

c) A continuación, T selecciona un número entero α c) Next, T selects an integer α

* de manera que su orden multiplicativo módulo n es r y se cumple la siguiente fórmula: mcd(α, φ(n)) = mcd(α, u1 · u2 · r2 · p1 · q1) = 1. * so that its multiplicative order modulo n is r and the following formula is met: mcd (α, φ (n)) = mcd (α, u1 · u2 · r2 · p1 · q1) = 1.

El subgrupo Zn * generado por α se indicará como Sr. El generador α puede obtenerse de manera eficaz [8]. De hecho, según [8], la primera etapa es determinar un elemento gThe subgroup Zn * generated by α will be indicated as Mr. Generator α can be obtained efficiently [8]. In fact, according to [8], the first stage is to determine an element g

* cuyo orden es λ(n). El procedimiento consiste en elegir aleatoriamente un elemento g* y verificar que g elevado a todos los posibles divisore s de λ(n), módulo n, es diferente de 1 en todos los casos. * whose order is λ (n). The procedure consists of randomly choosing an element g * and verifying that g raised to all possible divisors s of λ (n), module n, is different from 1 in all cases.

Este procedimiento es rápido ya que la factorización de λ(n) se conoce y sólo tiene unos pocos factores primos, de modo que la lista de sus divisores puede calcularse fácilmente. En caso de que el elemento elegido aleatoriamente no satisfaga esta condición, tiene que elegirse otro y repetirse el procedimiento. This procedure is fast since the factorization of λ (n) is known and only has a few prime factors, so that the list of its divisors can be easily calculated. In case the randomly chosen element does not satisfy this condition, another must be chosen and the procedure repeated.

Una vez determinado el elemento g con orden λ(n), el generador α buscado se calcula como α = g2 · v1 · v2 · p1 · q1 (mod n). Once the element g has been determined with order λ (n), the generator α searched is calculated as α = g2 · v1 · v2 · p1 · q1 (mod n).

d) T genera un número secreto aleatorio s en Sr de Zn * y calcula d) T generates a random secret number s in Sr of Zn * and calculates

β = αs (mod n) (1) β = αs (mod n) (1)

Los valores (α, β, r, n) se hacen públicos, mientras que T mantiene los valores (p, q, s) en secreto. Aunque el factor r de p–1 y q–1 se conoce y n es el producto de dos primos, p y q, en la actualidad no hay ningún algoritmo eficaz que pueda extraer los dos factores del entero n. The values (α, β, r, n) are made public, while T keeps the values (p, q, s) secret. Although the r-factor of p – 1 and q – 1 is known and n is the product of two cousins, p and q, there is currently no effective algorithm that can extract the two factors from the integer n.

Para generar las claves de los miembros del conjunto U, T lleva a cabo el siguiente proceso: To generate the keys of the members of the set U, T carries out the following process:

a) En primer lugar, T determina su clave privada generando aleatoriamente cuatro números enteros a0, b0, c0, d0 Zr. A continuación, obtiene la clave pública común para todos los usuarios, (P, Q), calculando a) First, T determines its private key by randomly generating four integers a0, b0, c0, d0 Zr. He then obtains the common public key for all users, (P, Q), calculating

P = αa0 · βb0 (mod n), (2) P = αa0 · βb0 (mod n), (2)

Q = αc0 · βd0 (mod n). (3) Puesto que P y Q son elementos en el subgrupo Sr, se deduce que Q = αc0 · βd0 (mod n). (3) Since P and Q are elements in the Sr subgroup, it follows that

P = αa0 (αs)b0 (mod n) = αa0 + s · b0 (mod n), P = αa0 (αs) b0 (mod n) = αa0 + s · b0 (mod n),

Q = αc0 (αs)d0 (mod n) = αc0 + s · d0 (mod n), Q = αc0 (αs) d0 (mod n) = αc0 + s · d0 (mod n),

y, por tanto, existen dos enteros h, k Zr, de manera que h = (a0 + s · b0) (mod r), k = (c0 + s · d0) (mod r). and therefore there are two integers h, k  Zr, so that h = (a0 + s · b0) (mod r), k = (c0 + s · d0) (mod r).

b) A continuación, T determina la clave privada para cada usuario del conjunto U, teniendo en cuenta que todos los usuarios compartirán una clave pública común ( P, Q). Para cada usuario Ui en U, T calcula cuatro número enteros ai, bi, ci, di Zr, verificando que b) Next, T determines the private key for each user of the set U, taking into account that all users will share a common public key ( P, Q). For each user Ui in U, T calculates four integers ai, bi, ci, di Zr, verifying that

h = (ai + s · bi) (mod r), k = (ci + s · di) (mod r). h = (ai + s · bi) (mod r), k = (ci + s · di) (mod r).

o, de manera equivalente, ai = (h – s · bi) (mod r), (4) ci = (k – s · di) (mod r), (5) or, equivalently, ai = (h - s · bi) (mod r), (4) ci = (k - s · di) (mod r), (5)

Puesto que T conoce los valores s, h y k, determina tantas claves privadas como considere necesario para proporcionar a todos los usuarios en U su clave privada personal. Para ello, T genera pares de números aleatorios, bi, di Zr y, entonces, calcula los correspondientes valores para ai, ci Zr según lo que se presentó anteriormente. Since T knows the values s, h and k, it determines as many private keys as it deems necessary to provide all users in U your personal private key. For it, T generates pairs of random numbers, bi, di Zr and, then, calculates the corresponding values for ai, ci Zr according to what was presented above.

Una vez que T ha obtenido las claves privadas, las distribuye, a petición, a los usuarios autorizados a través de algún canal seguro. Cada usuario Ui puede verificar que la clave de T es correcta comprobando las siguientes identidades: α ≠ 1 (mod n), Once T has obtained the private keys, it distributes them, upon request, to authorized users through a secure channel. Each user Ui can verify that the T key is correct by checking the following identities: α ≠ 1 (mod n),

αr = 1 (mod n). Además, cada usuario debe comprobar si la clave pública conocida corresponde a su clave privada. Para ello, basta con comprobar que se cumplen las dos ecuaciones siguientes: αr = 1 (mod n). In addition, each user must check if the known public key corresponds to their private key. To do this, just check that the following two equations are met:

P = αai · βbi (mod n), P = αai · βbi (mod n),

Q = αci · βdi (mod n). Q = αci · βdi (mod n).

Siguiendo este protocolo, cada usuario está en posesión de una clave privada personal que corresponde a una clave Following this protocol, each user is in possession of a personal private key that corresponds to a key

pública compartida por todos los usuarios en U. public shared by all users in U.

Cifrado Encryption

Para cifrar un documento, mensaje, o cualquier otra información, mTo encrypt a document, message, or any other information, m
Zn, T sigue las siguientes etapas:  Zn, T follows the following stages:

a) T genera un número aleatorio x a) T generates a random number x
Zr. Zr.

b) T calcula los siguientes valores: b) T calculates the following values:

A = αx (mod n),A = αx (mod n),
(6)  (6)

B = βx (mod n),B = βx (mod n),
(7)  (7)

C = m (P · Q)x (mod n). C = m (P · Q) x (mod n).

T publica el mensaje cifrado como el triplete: (A, B, C). T publishes the encrypted message as the triplet: (A, B, C).

Descifrado Decoded

Un mensaje cifrado, (A, B, C), puede descifrarse por un usuario autorizado Ui siguiendo las siguientes etapas: An encrypted message, (A, B, C), can be decrypted by an authorized user Ui by following the following steps:

a) El usuario Ui solicita una de las claves privadas ya generadas por T. a) User Ui requests one of the private keys already generated by T.

b) T comprueba si el usuario está autorizado a descifrar el mensaje. Si es así, le envía una de las claves b) T checks if the user is authorized to decrypt the message. If so, send one of the keys

privadas, ya sea (ai, bi, ci, di). private, either (ai, bi, ci, di).

c) Ui verifica que la clave de T es correcta comprobando si se cumplen las siguientes ecuaciones: c) Ui verifies that the key of T is correct by checking if the following equations are met:

α ≠ 1 (mod n), α ≠ 1 (mod n),

αr = 1 (mod n). d) Ui verifica que su clave privada realmente corresponde a la clave pública determinada por T comprobando si se cumplen las siguientes ecuaciones: P = αai · βbi (mod n), (8) αr = 1 (mod n). d) Ui verifies that its private key really corresponds to the public key determined by T by checking if the following equations are met: P = αai · βbi (mod n), (8)

Q =αci · βdi (mod n). (9) Q = αci · βdi (mod n). (9)

e) Por medio de su clave privada (ai, bi, ci, di), el usuario Ui calcula los siguientes valores: e) By means of its private key (ai, bi, ci, di), the user Ui calculates the following values:

H = A–(ai + ci) (mod n), (10) H = A– (ai + ci) (mod n), (10)

K = B–(bi + di) (mod n). (11) K = B– (bi + di) (mod n). (eleven)

f) Finalmente, Ui recupera el mensaje sencillo original, m, calculando el producto f) Finally, Ui retrieves the original simple message, m, calculating the product

H · K · C (mod n) = m. (12) H · K · C (mod n) = m. (12)

Teniendo en cuenta las formulas dadas en (6) y (7), el protocolo descrito realmente recupera el mensaje original a partir del texto cifrado ya que las ecuaciones (10) y (11) son equivalentes, respectivamente, a las siguientes expresiones: Taking into account the formulas given in (6) and (7), the described protocol actually retrieves the original message from the encrypted text since equations (10) and (11) are equivalent, respectively, to the following expressions:

H = α–x(ai + ci) (mod n), H = α – x (ai + ci) (mod n),

K = β–x(bi + di) (mod n). K = β – x (bi + di) (mod n).

Considerando ahora las ecuaciones (8) y (9), el producto en (12) da lugar al mensaje m como sigue: Considering now equations (8) and (9), the product in (12) gives rise to the message m as follows:

H · K · C (mod n) = α–x(ai + ci) · β–x(bi + di) · m (P · Q)x (mod n) H · K · C (mod n) = α – x (ai + ci) · β – x (bi + di) · m (P · Q) x (mod n)

= α–x · ai · α–x · ci · β–x · bi · β–x · di · m (P · Q)x (mod n) = α – x · ai · α – x · ci · β – x · bi · β – x · di · m (P · Q) x (mod n)

= (αai · βbi)–x (αci · βdi)–x · m · Px · Qx (mod n) = (αai · βbi) –x (αci · βdi) –x · m · Px · Qx (mod n)

= P–x · Q–x · m · Px · Qx (mod n) = m (mod n). Seguridad A menos que un usuario pueda solucionar el DLP, no puede determinar ni el valor secreto s de T ni su clave privada, = P – x · Q – x · m · Px · Qx (mod n) = m (mod n). Security Unless a user can solve the DLP, he cannot determine the secret value of T or his private key,

sólo a partir del conocimiento de su propia clave privada y la clave pública común. Por tanto, el esquema es seguro. De hecho, calcular s a partir de α y β = αs (mod n) implicaría la capacidad de calcular logaritmos discretos en el only from the knowledge of its own private key and the common public key. Therefore, the scheme is safe. In fact, calculating s from α and β = αs (mod n) would imply the ability to calculate discrete logarithms in the

subgrupo Sr, de orden r generado por α, lo cual es imposible ya que r se selecciona con el fin de hacer el problema irresoluble. Además, a partir de los datos conocidos por Ui, concretamente, subgroup Sr, of order r generated by α, which is impossible since r is selected in order to do the problem irresolvable. In addition, from the data known to Ui, specifically,

A = αx (mod n), B = βx (mod n), C = m (P · Q)x (mod n), A = αx (mod n), B = βx (mod n), C = m (P · Q) x (mod n),

no es posible determinar ninguno de los valores secretos generados por la T. Es incluso imposible determinar x, el valor elegido por T para cifrar el mensaje, ya que esto implicaría que el usuario pudiese resolver el SDLP en el subgrupo Sr de orden r. It is not possible to determine any of the secret values generated by T. It is even impossible to determine x, the value chosen by T to encrypt the message, since this would imply that the user could resolve the SDLP in the subgroup Sr of order r.

La clave privada de T, (a0, b0, c0, d0), se generó aleatoriamente y se sabe que las ecuaciones (2) y (3) se cumplen. The private key of T, (a0, b0, c0, d0), was generated randomly and it is known that equations (2) and (3) are met.

Sin embargo, calcular cualquiera de los valores en esta clave implicaría resolver el DLP. Además, dos usuarios, Ui y Uj, en posesión de las claves privadas (ai, bi, ci, di) y (aj, bj, cj, dj), respectivamente y que por tanto pueden recuperar el mensaje m, podrían conspirar para intentar obtener el valor secreto s de T. Cada uno de ellos podría calcular: However, calculating any of the values in this key would imply resolving the DLP. In addition, two users, Ui and Uj, in possession of the private keys (ai, bi, ci, di) and (aj, bj, cj, dj), respectively and that therefore can retrieve the message m, they could conspire to try to obtain the secret value s of T. Each one of them could calculate:

Ai = A–(ai + ci) (mod n), Ai = A– (ai + ci) (mod n),

Bi = B–(bi + di) (mod n), Aj = A–(aj + cj) (mod n), Bi = B– (bi + di) (mod n), Aj = A– (aj + cj) (mod n),

Bj = B–(bj + dj) (mod n). Bj = B– (bj + dj) (mod n).

Compartiendo el conocimiento de los valores anteriores, podrían calcular además: Ai · Aj = A–(ai + ci + aj + cj) (mod n) = α–x(ai + ci + aj + cj) (mod n), Sharing knowledge of the previous values, they could also calculate: Ai · Aj = A– (ai + ci + aj + cj) (mod n) = α – x (ai + ci + aj + cj) (mod n),

Bi · Bj = B–(bi + di + bj + dj) (mod n) = α–x · s(bi + di + bj + dj) (mod n), Bi · Bj = B– (bi + di + bj + dj) (mod n) = α – x · s (bi + di + bj + dj) (mod n),

Ai · Bj = A–(ai + ci) B–(bj + dj) (mod n) = α–x(ai + ci + s · bj + s · dj) (mod n), Ai · Bj = A– (ai + ci) B– (bj + dj) (mod n) = α – x (ai + ci + s · bj + s · dj) (mod n),

Bi · Aj = B–(bi + di) A–(aj + cj) (mod n) = α–x(s · bi + s · di + aj + cj) (mod n). Bi · Aj = B– (bi + di) A– (aj + cj) (mod n) = α – x (s · bi + s · di + aj + cj) (mod n).

Sin embargo, ninguno de estos valores pone en peligro el criptosistema, ya que la determinación de s o x sería de nuevo equivalente a resolver el DLP o el SDLP. However, none of these values jeopardizes the cryptosystem, since the determination of s or x would again be equivalent to resolving the DLP or the SDLP.

A continuación se presenta un ejemplo de una posible implementación de todo el proceso para la invención propuesta. Below is an example of a possible implementation of the entire process for the proposed invention.

El ejemplo incluye la generación de claves, el proceso de cifrado llevado a cabo por la tercera parte de confianza y el proceso de descifrado llevado a cabo por dos usuarios distintos, con sus propias claves privadas. Las longitudes de clave para este ejemplo se seleccionarán en el intervalo recomendado en la actualidad, con el fin de frustrar posibles ataques, incluyendo los relacionados con la factorización de enteros del módulo n, o los relacionados con el problema de logaritmo discreto, ya sea en el grupo multiplicativo de entero módulo n o en un subgrupo del mismo, de orden r. The example includes key generation, the encryption process carried out by the trusted third party and the decryption process carried out by two different users, with their own private keys. The key lengths for this example will be selected in the currently recommended range, in order to thwart possible attacks, including those related to the factorization of integers of module n, or those related to the discrete logarithm problem, whether in the multiplicative group of integer module not in a subgroup thereof, of order r.

En lo que sigue, la tercera parte de confianza es T y el número de usuarios con acceso permitido es de, como máximo, 5: In the following, the third part of trust is T and the number of users with allowed access is a maximum of 5:

U = {U1, U2, U3, U4, U5} U = {U1, U2, U3, U4, U5}

1. Generación de claves 1. Key generation

Procediendo tal como se ha explicado previamente, T genera su clave privada y la clave pública común para todos los usuarios: u1 = 74, u2 = 188, r = 7438317952 9767870861 1026433250 5488611319 37882039, p1 = 1314733836 0857434496 4640010127 2860788933 1152206812 7752380069 2253819002 5632104871 Proceeding as explained previously, T generates its private key and the common public key for all the users: u1 = 74, u2 = 188, r = 7438317952 9767870861 1026433250 5488611319 37882039, p1 = 1314733836 0857434496 4640010127 2860788933 1152206812 7752380069 2253819002 5632104871

1052604345 8673641821 29767, 1052604345 8673641821 29767,

q1 = 4311478116 4195091430 0085436277 2362821135 0636990601 1576213821 1969700369 0148313634 2531804130 4755111666 5333, p = 7236762139 2935431996 9367198184 4410156272 1688576612 5012505794 5070152182 4340805762 q1 = 4311478116 4195091430 0085436277 2362821135 0636990601 1576213821 1969700369 0148313634 2531804130 4755111666 5333, p = 7236762139 2935431996 9367198184 4410156272 1688576612 5012505794 5070152182 4340805762

2714032432 2349209627 0209823621 5406755829 5365497108 3719198837 6535750506 3563, 2714032432 2349209627 0209823621 5406755829 5365497108 3719198837 6535750506 3563,

q = 6029187274 5191980699 0447101873 4773030526 7231922444 8917525115 3597251095 2557421185 2251019755 3803367506 3943419251 8447741361 8120140073 2466480557 6929019494 9557, n = 4363179419 8950958945 0412860891 8377911366 9214605945 2842779060 7437338443 7118414617 q = 6029187274 5191980699 0447101873 4773030526 7231922444 8917525115 3597251095 2557421185 2251019755 3803367506 3943419251 8447741361 8120140073 2466480557 6929019494 9557, n = 4363179419 8950958945 0412860891 8377911366 9214605945 2842779060 7437338443 7118414617

5012051953 6765703406 0058967948 3435575027 1137371636 9008870975 1279697114 4880061358 7086501562 6071069685 9755169437 2296989016 3615215423 5147515243 9413820875 8772002353 4948388985 1656965911 9781817769 5516844273 2303919938 2509390368 63691591, 5012051953 6765703406 0058967948 3435575027 1137371636 9008870975 1279697114 4880061358 7086501562 6071069685 9755169437 2296989016 3615215423 5147515243 9413820875 8772002353 49483891991991991991991991991991991991991991991991991991991991991999091691908909169198

φ = 4363179419 8950958945 0412860891 8377911366 9214605945 2842779060 7437338443 7118414617 φ = 4363179419 8950958945 0412860891 8377911366 9214605945 2842779060 7437338443 7118414617

5012051953 6765703406 0058967948 3435575027 1137371636 9008870975 1279697114 4878734763 7672688821 3375088255 9697251118 5498096966 4557822420 4237648503 6136131053 1824505848 2760773727 4523550587 6908432319 8325495709 5122301370 3114043891 63678472, 5012051953 6765703406 0058967948 3435575027 1137371636 9008870975 1279697114 4878734763 7672688821 3375088255 9697251118 5498096966 4557822420 4237648503 6136131053 1824505848 276077372749270213991 0273302909302309302309302160330230330230316031603309303302

λ = 2932907310 1459502503 4117915023 0340597126 9675989883 4302201719 3903654559 2056585776 λ = 2932907310 1459502503 4117915023 0340597126 9675989883 4302201719 3903654559 2056585776

7207452081 2691825954 3014169335 3870661004 6711098360 4688296052 3713645978 9253123648 5164260805 3691444645 5998189178 1931265555 5320404827 7591597993 6439912145 4808237724. 7207452081 2691825954 3014169335 3870661004 6711098360 4688296052 3713645978 9253123648 5164260805 3691444645 5998189178 1931265555 5320404827 7591597993 6439912145 4808237724.
5620408701 4857952624 5620408701 4857952624

A continuación, T genera un elemento gThen, T generates an element g
Zn* de orden λ y obtiene un elemento α Zn*, de orden r:  Zn * of order λ and get an element α Zn *, of order r:

g = 2164498313 9869584125 6410712031 4740007684 9077106429 2929895130 9579827420 0664446080 7278283833 8019227369 4680458823 2229234249 5660670911 2464738702 3970764967 8647569232 1560534483 9104695237 0488739787 2974540826 2017118129 4519740462 3866925242 2940233312 8724281995 9553099264 3896691499 9549847095 5036223286 2006116775 85801540, 2164498313 9869584125 6410712031 g = 4740007684 9077106429 2929895130 9579827420 0664446080 7278283833 8019227369 4680458823 2229234249 5660670911 2464738702 3970764967 8647569232 1560534483 9104695237 0488739787 2974540826 2017118129 4519740462 3866925242 2940233312 8724281995 9553099264 3896691499 9549847095 5036223286 2006116775 85801540,

α = 3625102795 0399630232 7243202122 7054926820 1500268509 4754142275 0960569458 2402444770 3441186307 8520471079 3351085505 5514820801 4655475548 7879710693 2661678657 4798165267 4144163197 8707743301 1545277581 7488689226 99380598194231405486 9393493279 4866136131 2570552511 7567522121 2809706163 7591387712 1152713144 1176644785 2169067. 3625102795 0399630232 7243202122 α = 7054926820 1500268509 4754142275 0960569458 2402444770 3441186307 8520471079 3351085505 5514820801 4655475548 7879710693 2661678657 4798165267 4144163197 8707743301 1545277581 7488689226 99380598194231405486 9393493279 4866136131 2570552511 7567522121 2809706163 7591387712 1152713144 1176644785 2169067.

Entonces, T genera un número secreto s Sr y el elemento β: Then, T generates a secret number s Sr and the element β:

s = α6601654491 6585025442 2657696824 5166944130 62149908 (mod n) = 2681968120 2107353020 5798673029 4162972399 s = α6601654491 6585025442 2657696824 5166944130 62149908 (mod n) = 2681968120 2107353020 5798673029 4162972399

0725592471 3979107913 4626943945 2004604672 3482881696 4576072567 6963835490 9274802212 2162568035 2786052251 2398465926 2571427181 0704907717 2283544315 2771442322 1108219877 3315613189 7998437356 4827671064 1830023651 1353196532 0001574387 7276767548 4834654245 8075436849 7481664401 72746669, 0725592471 3979107913 4626943945 2004604672 3482881696 4576072567 6963835490 9274802212 2162568035 2786052251 2398465926 2571427181 0704907717 2283544315 2771442322 1108219877 3315613189 7998437356 4827671064 1830023651 1353196532 0001574387 7276767548 4834654245 8075436849 7481664401 72746669,

β = αs (mod n) = 1185871960 8387311474 7737702957 6834008361 7309967117 0956454977 2596350617 8232059847 1528998015 9538624841 2276515005 5328123748 1186140375 7026276625 7459027199 0502279460 0147277231 3872568779 4654912511 8237013979 5638125847 6757647789 4859651759 β = αs (mod n) = 1185871960 8387311474 7737702957 6834008361 7309967117 0956454977 2596350617 8232059847 1528998015 9538624841 2276515005 5328123748 1186140375 7026276625 7459027199 05022799597279797279277279277279277279277279277279277279277279277279277279277279277279277279777279779777279777279777279777279579277279277279579277279579277279777279777279777279779777297279777279779479777279177277125

9541117943 3970693292 1868728850 8878698501 7409392198 6555369477 4658586426 0532404. Después de esto, T determina su clave privada, (a0, b0, c0, d0) (Zn*)4 y la clave pública, (P, Q), que se compartirá con los usuarios en el conjunto G: 9541117943 3970693292 1868728850 8878698501 7409392198 6555369477 4658586426 0532404. After this, T determines its private key, (a0, b0, c0, d0) (Zn *) 4 and the public key, (P, Q), to be shared with users in the G set:

a0 = 4679513566 8507790231 4543634446 6248896569 95348145, b0 = 1345675385 8221926194 4657694619 0592536072 11273321, c0 = 6698082883 5922341861 0590460419 6627086807 34096935, d0 = 4736269886 2863214987 2218775699 5600011595 68030325, P = 8199045698 3670940934 6677579071 1886972220 5576992566 5022761329 7926803447 6447869477 a0 = 4679513566 8507790231 4543634446 6248896569 95348145, b0 = 1345675385 8221926194 4657694619 0592536072 11273321, c0 = 6698082883 5922341861 0590460419 6627086807 34096935, d0 = 4736269886 2863214987 2218775699 5600011595 68030325, P = 8199045698 3670940934 6677579071 1886972220 5576992566 5022761329 7926803447 6447869477

5704488453 6135876830 4130915724 5367085687 4098780703 7927442194 2102687545 2930169412 7641230284 7844794287 6203772092 2684322687 2602675172 5196830546 5649643822 8563180087 1040733082 4202055576 0484903447 3785070334 7503620274 6700682518 4994789, 5704488453 6135876830 4130915724 5367085687 4098780703 7927442194 2102687545 2930169412 7641230284 7844794287 6203772092 2684322687 2602675172 5196830546 5649643822 8563180087 1040733082 0909479209349479274709509349474207

Q = 3163797974 2161631365 3950234045 1614154674 1314039919 9775479720 8330784248 6751487194 Q = 3163797974 2161631365 3950234045 1614154674 1314039919 9775479720 8330784248 6751487194

5599373588 7388357141 0850439496 7875884459 9771127223 9226385271 8268225474 6882363214 5975200065 8888545328 0841640112 3511407492 5174762706 7579269446 2576945749 4759214362 63125535. 5599373588 7388357141 0850439496 7875884459 9771127223 9226385271 8268225474 6882363214 5975200065 8888545328 0841640112 3511407492 5174762706 7579269446 2576945749 4759235236362.
3881972212 8712683684 2894355328 7639408814 6886524359 0632974921 3881972212 8712683684 2894355328 7639408814 6886524359 0632974921

Con el fin de generar las claves privadas para los usuarios en G, T calcula los siguientes valores: In order to generate private keys for users in G, T calculates the following values:

h = 4244110345 8795196102 8205118610 3409296250 46897225, h = 4244110345 8795196102 8205118610 3409296250 46897225,

k = 5637717146 8220933286 3177216054 1806285120 89709035. k = 5637717146 8220933286 3177216054 1806285120 89709035.

A continuación, T genera los valores aleatorios bi, di Zr*, para i = 1, 2, 3, 4, 5 y determina los valores correspondientes para ai y ci, obteniendo así 5 claves privadas, que se distribuirán a cada usuario en el conjunto G a través de algún canal privado y seguro: Then, T generates the random values bi, di Zr *, for i = 1, 2, 3, 4, 5 and determines the corresponding values for ai and ci, thus obtaining 5 private keys, which will be distributed to each user in the G set through some private and secure channel:

(a1, b1, c1, d1) = (6014506049 5012852928 5945795214 3629017944 26055953, 2902525644 5567828321 5671620197 7765564567 96519371, 7420158040 5607970356 1432064981 5630058768 61772396, 5005267039 0133729624 0276867079 2758238416 63753348), (a1, b1, c1, d1) = (6014506049 5012852928 5945795214 3629017944 26055953, 2902525644 5567828321 5671620197 7765564567 96519371, 7420158040 5607970356 1432064981 5630058768 61772396, 027701627 0276276276276276276276276276276276276276276276276276276276276276276276276276276276276276276276276276167

(a2, b2, c2, d2) = (7209544318 7722408270 3069088620 8038057623 50753376, 6718235058 1732404851 5818700544 4641902795 42615363, 3908373869 5915470192 0038378154 2944092998 59784736, 4698490838 1984878020 7416473421 1754654410 0074799), (a2, b2, c2, d2) = (7209544318 7722408270 3069088620 8038057623 50753376, 6718235058 1732404851 5818700544 4641902795 42615363, 3908373869 5915470192 0038378154 2944092998 59784736477907477107477107477107477107477107477107477107477107477107477107447

(a3, b3, c3, d3) = (5601368956 1085871119 5128418965 5924675078 71446397, 1704606299 1437129766 4878059339 0894327534 08456867, 7242755884 2976609103 0900265413 4673195920 99651027, 8720210892 8989504170 2455081010 2003015203 4557230), (a3, b3, c3, d3) = (5601368956 1085871119 5128418965 5924675078 71446397, 1704606299 1437129766 4878059339 0894327534 08456867, 7242755884 2976609103 0900265413 4673195920 9951010303021091010303023091010303023091010302

(a4, b4, c4, d4) = (3696000002 0793852112 4685131772 4223122989 31651096, 5503112277 3916718420 0616799984 7970621310 21179114, 1527811699 8925450092 5338793815 5352799704 89782922, 7310685151 9399017050 9725883112 2876041533 45460517), (a4, b4, c4, d4) = (3696000002 0793852112 4685131772 4223122989 31651096, 5503112277 3916718420 0616799984 7970621310 21179114, 1527811699 8925450092 5338793815 5352799704 897829609601307175, 97109601305

(a5, b5, c5, d5) = (4529917007 3496264189 7364413586 3469884461 08575890, 6186850548 3596866239 1480835652 6440051070 15566256, 5454203136 4176524793 2860241601 8812583423 62220317, 5223502146 6785553884 8409043501 2598241138 82444887). (a5, b5, c5, d5) = (4529917007 3496264189 7364413586 3469884461 08575890, 6186850548 3596866239 1480835652 6440051070 15566256, 5454203136 4176524793 2860241601 881258344 6225041488888408406404408382408408408408382304408388348408382

2. Cifrado El mensaje que va a cifrarse se codifica como un número decimal: m = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107 2. Encryption The message to be encrypted is encoded as a decimal number: m = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107

9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 8172. Suponiendo que lo que sigue es un número aleatorio: x = 9739468663 6610809772 5706652055 8459594466 54280704. Entonces, el cifrado del mensaje m es el siguiente triplete: (A, B, C): A = 2819778566 1388673464 1463579694 5586390662 3130602093 0277044170 1337064856 7238551278 9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 8172. Assuming that the following is a random number: x = 9739468663 6610809772 5706652055 8459594466 54280704. Then, the encryption of the message m is the following triplet: (A, B, C): A = 2819778566 1388673464 1463579694 5586390662 3130602093 0277044170 1337064856 7238551278

6820137425 0630794558 7734114911 5279575220 8142451933 8456584695 5668461828 6560029868 2921269625 0131674878 1625102816 0589967306 6473445245 6769759378 0116314767 4263972484 5280153155 8333496763 8139826809 9783232117 1267476362 2819284125 4534600, 6820137425 0630794558 7734114911 5279575220 8142451933 8456584695 5668461828 6560029868 2921269625 0131674878 1625102816 0589967306 6473445245 6769759378 0116314767 4263972484 528015915 8986199288289119289283125

B = 7256162148 9673809419 1722988397 3191066211 6929405288 7819615962 4889440142 7755536684 6424341685 9276463632 3803409057 2973998842 7952620252 0481696301 1793668973 6377053331 0083077474 3459633072 9786129194 8087952561 4345827196 7018899322 8106484802 4157994258 1193963010 4910072873 9587012872 1842233053 3550384531 5589650927 5017179, 7256162148 9673809419 1722988397 B = 3191066211 6929405288 7819615962 4889440142 7755536684 6424341685 9276463632 3803409057 2973998842 7952620252 0481696301 1793668973 6377053331 0083077474 3459633072 9786129194 8087952561 4345827196 7018899322 8106484802 4157994258 1193963010 4910072873 9587012872 1842233053 3550384531 5589650927 5017179,

C = 3360842406 1555838153 2453052561 6775892634 0404039481 5096372532 7539220906 1397833066 2815708593 9411969347 0248312333 4941794062 3005932403 7404058108 0795737291 4522671935 4876580560 4096305842 4390758039 5142794954 3517564108 8758541659 6388872251 1361788436 0578767256 9930795637 1490007365 7776855993 4429959956 0423911131 85252076. 3360842406 1555838153 2453052561 C = 6775892634 0404039481 5096372532 7539220906 1397833066 2815708593 9411969347 0248312333 4941794062 3005932403 7404058108 0795737291 4522671935 4876580560 4096305842 4390758039 5142794954 3517564108 8758541659 6388872251 1361788436 0578767256 9930795637 1490007365 7776855993 4429959956 0423911131 85252076.

3. Descifrado 3. Decryption

Cualquier usuario en U, al que se le ha atribuido la clave privada correcta, puede llevar a cabo el protocolo de descifrado, recuperando así el mensaje. Tómese, por ejemplo, el usuario U1. Éste calcula Any user in U, to whom the correct private key has been attributed, can carry out the decryption protocol, thus recovering the message. Take, for example, user U1. This one calculates

H = A–(a1 + c1) (mod n) = 2796367158 2895655510 3971358808 0149744555 6836342717 7796269235 3602075650 4134017517 0981615719 1532170058 4655732297 7849751789 2244780523 3932246389 4909233463 3633778624 8654974042 8322408644 31007633465826677492 6070627265 0508224469 9085657406 5693437051 8700099106 8356679316 0890952697 8672434058 7512258039 3425102356 79949585, H = A- (a1 + c1) (mod n) = 2796367158 2895655510 3971358808 0149744555 6836342717 7796269235 3602075650 4134017517 0981615719 1532170058 4655732297 7849751789 2244780523 3932246389 4909233463 3633778624 8654974042 8322408644 31007633465826677492 6070627265 0508224469 9085657406 5693437051 8700099106 8356679316 0890952697 8672434058 7512258039 3425102356 79949585,

K = B–(b1 + d1) (mod n).= 2916355102 8946222268 9397655322 9573284939 6469049240 0836696742 5101160851 5257582540 0528544232 9876921254 1225913026 0339135113 2302192917 4978619543 9083704341 6039308292 7244141272 2188306282 9138241224 8998241983 1970813044 9333754486 9391440516 1743584259 5525814471 8091975786 6372306645 9308145588 8312827513 9434654682 41222144. K = B- (b1 + d1) (mod n). = 2916355102 8946222268 9397655322 9573284939 6469049240 0836696742 5101160851 5257582540 0528544232 9876921254 1225913026 0339135113 2302192917 4978619543 9083704341 6039308292 7244141272 2188306282 9138241224 8998241983 1970813044 9333754486 9391440516 1743584259 5525814471 8091975786 6372306645 9308145588 8312827513 9434654682 41222144.

Entonces, So,

H · K · C (mod n) = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107 9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 8172, H · K · C (mod n) = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107 9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 83030161021

que coincide exactamente con el mensaje m. that exactly matches the message m.

Lo mismo puede hacer el usuario, por ejemplo, U2. Al igual que antes, éste calcula The same can be done by the user, for example, U2. As before, it calculates

H = A–(a2 + c2) (mod n) = 2062567170 5611172382 5337702759 4771582431 9839382717 4582185263 2710773644 1928238653 2792435512 2215851604 4822378783 5806481464 2719929158 5778481541 7530501372 5197755557 2815818829 8914896658 4262007329 0240598805 3054018471 7530588323 9540907214 1937981052 8005184075 0574113956 2316915667 0182895581 4949695680 6947370140 30634459, H = A- (a2 + c2) (mod n) = 2062567170 5611172382 5337702759 4771582431 9839382717 4582185263 2710773644 1928238653 2792435512 2215851604 4822378783 5806481464 2719929158 5778481541 7530501372 5197755557 2815818829 8914896658 4262007329 0240598805 3054018471 7530588323 9540907214 1937981052 8005184075 0574113956 2316915667 0182895581 4949695680 6947370140 30634459,

K = B–(b2 + d2) (mod n) = 2983975104 1977880600 7007890392 9756072314 3839750053 6922971610 7549113523 9997935032 0578710081 2759726729 0882534025 7675151581 9636139672 1948791315 0695887623 1901512586 1856596558 0170014780 9608893797 9161510082 8174103089 5088359788 2391667036 1891622628 8448035420 9404235319 9223835190 9829709937 2240861005 7432117529 58246106. K = B- (b2 + d2) (mod n) = 2983975104 1977880600 7007890392 9756072314 3839750053 6922971610 7549113523 9997935032 0578710081 2759726729 0882534025 7675151581 9636139672 1948791315 0695887623 1901512586 1856596558 0170014780 9608893797 9161510082 8174103089 5088359788 2391667036 1891622628 8448035420 9404235319 9223835190 9829709937 2240861005 7432117529 58246106.

Entonces, So,

H · K · C (mod n) = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107 9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 8172, H · K · C (mod n) = 3917849503 6550893685 6866292013 9758128030 8861662846 6182308361 5964747188 8962740107 9018758326 4096547013 3619340696 3702063268 8061438861 3019152478 8630161021 83030161021

que de nuevo coincide exactamente con el mensaje m. which again exactly matches the message m.

Ventajas de la invención: Advantages of the invention:

Tal como ya se ha mencionado, la presente invención permite que múltiples usuarios descifren un texto cifrado usando una clave privada personal, habiéndose cifrado dicho texto usando una clave pública común. No hay necesidad en absoluto de que los usuarios compartan sus claves privadas. As already mentioned, the present invention allows multiple users to decrypt an encrypted text using a personal private key, said text having been encrypted using a common public key. There is no need at all for users to share their private keys.

Además, el protocolo propuesto disfruta de las siguientes propiedades: In addition, the proposed protocol enjoys the following properties:

--
Es eficaz, ya que todos los cálculos pueden llevarse a cabo en tiempo polinomial.  It is effective, since all calculations can be carried out in polynomial time.

--
Es seguro ya que violarlo es equivalente a resolver uno o más de IFP, DLP y SDLP. Estos problemas se consideran computacionalmente irresolubles con las herramientas y la tecnología conocidas actualmente.  It is safe since violating it is equivalent to resolving one or more IFP, DLP and SDLP. These problems are considered computationally irresolvable with the tools and technology currently known.

--
No es falsificable.  It is not falsifiable.

--
Es fuerte frente a la conspiración de dos o más usuarios.  It is strong against the conspiracy of two or more users.

--
El número de usuarios es arbitrario. Además, pueden unirse nuevos usuarios al esquema en cualquier momento: basta con que T genere una clave privada totalmente nueva para cada usuario recién unido.  The number of users is arbitrary. In addition, new users can join the scheme at any time: it is enough that T generates a totally new private key for each newly joined user.

Aplicaciones de la invención: Applications of the invention:

Las aplicaciones de la invención se refieren principalmente a cualquier entorno en el que una entidad deba cifrar una The applications of the invention mainly refer to any environment in which an entity must encrypt a

5 determinada información usando una clave dada, de modo que cualquier usuario de un conjunto, a los que se les ha atribuido a cada uno su propia clave privada, pueda descifrar y recuperar la información original. Entre otras, pueden enumerarse las siguientes aplicaciones: 5 determined information using a given key, so that any user of a set, to whom each has been assigned their own private key, can decrypt and retrieve the original information. Among others, the following applications can be listed:

--
Acceso a información confidencial en casos en los que sólo puede concederse acceso a un conjunto de  Access to confidential information in cases where access to only a set of

usuarios autorizados o que reúnan unos requisitos. La concesión puede concebirse como estar en posesión de 10 una clave privada asociada a la clave pública común usada para cifrar la información confidencial. authorized users or who meet some requirements. The concession can be conceived as being in possession of a private key associated with the common public key used to encrypt confidential information.

--
Acceso a documentos corporativos confidenciales cuando se este autorizado para ello.  Access to confidential corporate documents when authorized to do so.

Estas aplicaciones son útiles y típicas en entornos tales como los siguientes: These applications are useful and typical in environments such as the following:

--
Administración del estado, agencias públicas, instituciones gubernamentales locales, regionales o nacionales.  State administration, public agencies, local, regional or national government institutions.

Acceso a información restringida o documentos clasificados en diferentes niveles de seguridad. Sólo se 15 concederá acceso a tal información o documentos a quienes posean claves adecuadas. Access to restricted information or documents classified in different security levels. Only those who have adequate passwords will be granted access to such information or documents.

--
Corporaciones, empresas, sociedades. De manera similar, las corporaciones o empresas conceden diferentes niveles de acceso a diferentes gerentes, según sus cargos en el contexto de la organización, permitiendo así una ordenación en el nivel de seguridad para documentos confidenciales o estratégicos.  Corporations, companies, societies. Similarly, corporations or companies grant different levels of access to different managers, according to their positions in the context of the organization, thus allowing an ordering at the security level for confidential or strategic documents.

Un experto en la técnica puede introducir cambios y modificaciones en las realizaciones descritas sin alejarse del 20 alcance de la invención tal como se define en las reivindicaciones adjuntas. One skilled in the art can make changes and modifications to the described embodiments without departing from the scope of the invention as defined in the appended claims.

SIGLAS DLP Discrete Logarithm Problem; Problema de logaritmo discreto IFP Integer Factorización Problem; Problema de factorización de enteros SDLP Subgrupo Discrete Logarithm Problem; Problema de logaritmo discreto en subgrupo BIBLIOGRAFÍA ACRONYMS DLP Discrete Logarithm Problem; Problem of discrete logarithm IFP Integer Factorization Problem; Factorization of integers SDLP Subgroup Discrete Logarithm Problem; Problem of discrete logarithm in subgroup BIBLIOGRAPHY

[1] R. Durán Díaz, L. Hernández Encinas y J. Muñoz Masqué, El criptosistema RSA, RA-MA, Madrid, 2005. [1] R. Durán Díaz, L. Hernández Encinas and J. Muñoz Masqué, The RSA Cryptosystem, RA-MA, Madrid, 2005.

[2] T. ElGamal, A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Trans. Inform. Theory 31 (1985), 469-472. [2] T. ElGamal, A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Trans. Inform. Theory 31 (1985), 469-472.

[3] A. Fúster Sabater, D. de la Guía Martínez, L. Hernández Encinas, F. Montoya Vitini y J. Muñoz Masqué, 5 Técnicas criptográficas de protección de datos, 3a ed., RA-MA, Madrid, 2004. [3] A. Fúster Sabater, D. de la Guía Martínez, L. Hernández Encinas, F. Montoya Vitini and J. Muñoz Masqué, 5 Cryptographic Data Protection Techniques, 3rd ed., RA-MA, Madrid, 2004.

[4] D. Hankerson, A.J. Menezes, S. Vanstone, Guide to elliptic curve cryptography, Springer-Verlag, Nueva York, NY, 2004. [4] D. Hankerson, A.J. Menezes, S. Vanstone, Guide to elliptic curve cryptography, Springer-Verlag, New York, NY, 2004.

[5] A. Menezes, P. van Oorschot, S. Vanstone, Handbook of applied cryptography, CRC Press, Boca Raton, FL, EE.UU., 1997. [5] A. Menezes, P. van Oorschot, S. Vanstone, Handbook of applied cryptography, CRC Press, Boca Raton, FL, USA, 1997.

10 [6] R. L. Rivest, A. Shamir y L. Adleman, A method for obtaining digital signatures and public-key cryptosystem, Commun. ACM 21 (1978), 120-126. 10 [6] R. L. Rivest, A. Shamir and L. Adleman, A method for obtaining digital signatures and public-key cryptosystem, Commun. ACM 21 (1978), 120-126.

[7] D.R. Stinson, Cryptography: Theory and practice, 3rd ed., Chapman & Hall(CRC, Boca Raton, FL., 2006. [7] D.R. Stinson, Cryptography: Theory and practice, 3rd ed., Chapman & Hall (CRC, Boca Raton, FL., 2006.

[8] W. Susilo, Short fail-stop signature scheme based on factorization and discrete logarithm assumptions, Theor. Comput. Sci. 410 (2009), 736-744. [8] W. Susilo, Short fail-stop signature scheme based on factorization and discrete logarithm assumptions, Theor. Comput Sci. 410 (2009), 736-744.

Claims (8)

REIVINDICACIONES 1. Método para cifrar y descifrar información, que comprende: i) cifrar información por medio de una clave pública generada por una tercera parte de confianza (T); y ii) descifrar, un usuario o miembro (U1, U2, …, Ut) de un grupo de usuarios autorizados (U), dicha información 1. Method for encrypting and decrypting information, which comprises: i) encrypting information by means of a public key generated by a trusted third party (T); and ii) decipher, a user or member (U1, U2, ..., Ut) of a group of authorized users (U), said information cifrada por medio de una clave privada generada por dicha tercera parte de confianza (T); en el que el procedimiento está caracterizado porque comprende generar, por dicha tercera parte de confianza (T): encrypted by means of a private key generated by said third party trust (T); in which the procedure is characterized in that it comprises generating, by said third part of trust (T):
--
dicha clave pública como una clave pública común; y  said public key as a common public key; Y
--
una pluralidad de claves privadas diferentes, una para cada uno de dichos usuarios (U1, U2, …, Ut), estando asociadas cada una de dicha pluralidad de claves privadas diferentes a dicha clave pública común y pudiendo utilizarse para dicha etapa de descifrado ii).  a plurality of different private keys, one for each of said users (U1, U2, ..., Ut), being each of said plurality of different private keys associated with said common public key and being able to be used for said decryption stage ii).
2. 2.
Método según la reivindicación 1, en el que dicho cifrado de información se calcula como: A = αx (mod n), B = βx (mod n), C = m (P · Q)x (mod n) Method according to claim 1, wherein said information encryption is calculated as: A = αx (mod n), B = βx (mod n), C = m (P · Q) x (mod n)
donde A, B, C son la información cifrada; α es un número entero elegido por dicha tercera parte de confianza (T) usado como generador; β = αs (mod n); s es un número secreto aleatorio generado por dicha tercera parte de confianza (T); n es un número entero calculado como el producto de dos números primos; m es la información que va a cifrarse; P, Q forman dicha clave pública común generada por dicha tercera parte de confianza. where A, B, C are the encrypted information; α is an integer chosen by said third party trust (T) used as a generator; β = αs (mod n); s is a random secret number generated by said third party trust (T); n is an integer calculated as the product of two prime numbers; m is the information to be encrypted; P, Q form said common public key generated by said third party trust.
3. 3.
Método según la reivindicación 2, en el que: P = α a0 · βb0 (mod n); Method according to claim 2, wherein: P = α a0 · βb0 (mod n);
Q = αc0 · βd0 (mod n); Q = αc0 · βd0 (mod n); a0, b0, c0, d0 son números enteros generados aleatoriamente por la tercera parte de confianza (T); a0, b0, c0, d0 are integers randomly generated by the third party trust (T); α = g2 · v1 · v2 · p1 · q1 (mod n); α = g2 · v1 · v2 · p1 · q1 (mod n); β = αs (mod n); n = p · q; g es un elemento elegido aleatoriamente que cumple que g Zn * cuyo orden es λ(n) r, p1 y q1 son números primos; u1 y u2 son números enteros, donde u1 = 2 · v1 y u2 = 2 · v2; v1, v2 son primos entre sí; p = u1 · r · p1 +1; q = u2 · r · q1 +1; φ(n) = (p–1)(q–1) = u1 · u2 · r2 · p1 · q1; donde φ(n) es la función de Euler; λ(n) = mcm(p–1, q–1) = 2 · v1 · v2 · r · p1 · q1 donde mcm representa el mínimo común múltiplo y λ(n) es la β = αs (mod n); n = p · q; g is a randomly chosen element that meets that g  Zn * whose order is λ (n) r, p1 and q1 are prime numbers; u1 and u2 are integers, where u1 = 2 · v1 and u2 = 2 · v2; v1, v2 are cousins to each other; p = u1 · r · p1 +1; q = u2 · r · q1 +1; φ (n) = (p – 1) (q – 1) = u1 · u2 · r2 · p1 · q1; where φ (n) is Euler's function; λ (n) = mcm (p – 1, q – 1) = 2 · v1 · v2 · r · p1 · q1 where mcm represents the least common multiple and λ (n) is the función de Carmichael; y Carmichael function; Y α cumple la condición: mcd(α, φ(n)) = mcd(α, u1 · u2 · r2 · p1 · q1) = 1 donde mcd es el máximo común divisor. α meets the condition: mcd (α, φ (n)) = mcd (α, u1 · u2 · r2 · p1 · q1) = 1 where mcd is the greatest common divisor.
4. Método según las reivindicaciones anteriores, en el que dicho descifrado de información se calcula como: 4. Method according to the preceding claims, wherein said decryption of information is calculated as: H · K · C (mod n) = m donde H · K · C (mod n) = m where H = A–(ai + ci) (mod n); H = A– (ai + ci) (mod n); K = B–(bi + di) (mod n); K = B– (bi + di) (mod n); siendo ai, ci, bi, di la clave privada asociada a uno (Ui) de los usuarios (U1, U2, …, Ut). being ai, ci, bi, say the private key associated with one (Ui) of the users (U1, U2, ..., Ut).
5. Método según la reivindicación 4, en el que ai, ci, bi, di Zr y satisfacen que: h = (ai + s · bi) (mod r); y 5. Method according to claim 4, wherein ai, ci, bi, di  Zr and satisfy that: h = (ai + s · bi) (mod r); Y
k = (ci + s · di) (mod r); donde Zr es el conjunto de enteros módulo r; h=(a0+s · b0) (mod r); k=(c0 + s · d0) (mod r); r es un número primo. k = (ci + s · di) (mod r); where Zr is the set of integers module r; h = (a0 + s · b0) (mod r); k = (c0 + s · d0) (mod r); r is a prime number.
6. 6.
Método, según las reivindicaciones anteriores, en el que dichos usuarios (U1, U2, …, Ut) verifican dicha clave pública común comprobando: Method according to the preceding claims, wherein said users (U1, U2, ..., Ut) verify said common public key by checking:
α ≠ 1 (mod n) αr = 1 (mod n) α ≠ 1 (mod n) αr = 1 (mod n)
7. 7.
Método según las reivindicaciones anteriores, en el que dichos usuarios (U1, U2, …, Ut) verifican dicha clave privada comprobando: Method according to the preceding claims, wherein said users (U1, U2, ..., Ut) verify said private key by checking:
P = αai · βbi (mod n) P = αai · βbi (mod n) Q = αci · βdi (mod n) Q = αci · βdi (mod n) Figura 1 Figure 1 Figura 2 Figure 2 OFICINA ESPAÑOLA DE PATENTES Y MARCAS SPANISH OFFICE OF THE PATENTS AND BRAND N.º solicitud: 201130840 Application no .: 201130840 ESPAÑA SPAIN Fecha de presentación de la solicitud: 24.05.2011 Date of submission of the application: 24.05.2011 Fecha de prioridad: Priority Date: INFORME SOBRE EL ESTADO DE LA TECNICA REPORT ON THE STATE OF THE TECHNIQUE 51 Int. Cl. : H04L9/30 (2006.01) 51 Int. Cl.: H04L9 / 30 (2006.01) DOCUMENTOS RELEVANTES  RELEVANT DOCUMENTS
Categoría Category
56 Documentos citados Reivindicaciones afectadas 56 Documents cited Claims Affected
X X
SUSILO et al. Short fail-stop signature scheme based on factorization and discrete logarithm assumptions. THEORETICAL COMPUTER SCIENCE, 20090301 AMSTERDAM, NL 01.03.2009 VOL: 410 No: 8-10 Págs: 736-744 ISSN 0304-3975 Doi: doi:10.1016/j.tcs.2008.10.025 1-7 SUSILO et al. Short fail-stop signature scheme based on factorization and discrete logarithm assumptions. THEORETICAL COMPUTER SCIENCE, 20090301 AMSTERDAM, NL 01.03.2009 VOL: 410 No: 8-10 Pages: 736-744 ISSN 0304-3975 Doi: doi: 10.1016 / j.tcs.2008.10.025 1-7
X X
BONEH D; et al. Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys, http://www.eprint.iacr.org/2005/018 1 BONEH D; et al. Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys, http://www.eprint.iacr.org/2005/018 one
Categoría de los documentos citados X: de particular relevancia Y: de particular relevancia combinado con otro/s de la misma categoría A: refleja el estado de la técnica O: referido a divulgación no escrita P: publicado entre la fecha de prioridad y la de presentación de la solicitud E: documento anterior, pero publicado después de la fecha de presentación de la solicitud Category of the documents cited X: of particular relevance Y: of particular relevance combined with other / s of the same category A: reflects the state of the art O: refers to unwritten disclosure P: published between the priority date and the date of priority submission of the application E: previous document, but published after the date of submission of the application
El presente informe ha sido realizado • para todas las reivindicaciones • para las reivindicaciones nº: This report has been prepared • for all claims • for claims no:
Fecha de realización del informe 11.09.2013 Date of realization of the report 11.09.2013
Examinador M. Muñoz Sánchez Página 1/4 Examiner M. Muñoz Sánchez Page 1/4
INFORME DEL ESTADO DE LA TÉCNICA REPORT OF THE STATE OF THE TECHNIQUE Nº de solicitud: 201130840 Application number: 201130840 Documentación mínima buscada (sistema de clasificación seguido de los símbolos de clasificación) H04L Bases de datos electrónicas consultadas durante la búsqueda (nombre de la base de datos y, si es posible, términos de Minimum documentation sought (classification system followed by classification symbols) H04L Electronic databases consulted during the search (name of the database and, if possible, terms of búsqueda utilizados) INVENES, EPODOC, WPI XPI3E, XPIEE, NPL search used) INVENES, EPODOC, WPI XPI3E, XPIEE, NPL Informe del Estado de la Técnica Página 2/4 State of the Art Report Page 2/4 OPINIÓN ESCRITA  WRITTEN OPINION Nº de solicitud: 201130840 Application number: 201130840 Fecha de Realización de la Opinión Escrita: 11.09.2013 Date of Completion of Written Opinion: 11.09.2013 Declaración Statement
Novedad (Art. 6.1 LP 11/1986) Novelty (Art. 6.1 LP 11/1986)
Reivindicaciones Reivindicaciones 1-7 SI NO Claims Claims 1-7 IF NOT
Actividad inventiva (Art. 8.1 LP11/1986) Inventive activity (Art. 8.1 LP11 / 1986)
Reivindicaciones Reivindicaciones 1-7 SI NO Claims Claims 1-7 IF NOT
Se considera que la solicitud cumple con el requisito de aplicación industrial. Este requisito fue evaluado durante la fase de examen formal y técnico de la solicitud (Artículo 31.2 Ley 11/1986). The application is considered to comply with the industrial application requirement. This requirement was evaluated during the formal and technical examination phase of the application (Article 31.2 Law 11/1986). Base de la Opinión.-  Opinion Base.- La presente opinión se ha realizado sobre la base de la solicitud de patente tal y como se publica. This opinion has been made on the basis of the patent application as published. Informe del Estado de la Técnica Página 3/4 State of the Art Report Page 3/4 OPINIÓN ESCRITA  WRITTEN OPINION Nº de solicitud: 201130840 Application number: 201130840 1. Documentos considerados.-  1. Documents considered.- A continuación se relacionan los documentos pertenecientes al estado de la técnica tomados en consideración para la realización de esta opinión. The documents belonging to the state of the art taken into consideration for the realization of this opinion are listed below.
Documento Document
Número Publicación o Identificación Fecha Publicación Publication or Identification Number publication date
D01 D01
SUSILO et al. Short fail-stop signature scheme based on factorization and discrete logarithm assumptions. THEORETICAL COMPUTER SCIENCE, 20090301 AMSTERDAM, NL 01.03.2009 VOL: 410 No: 8-10 Págs: 736-744 ISSN 0304-3975 Doi: doi:10.1016/j.tcs.2008.10.025 01.03.2009 SUSILO et al. Short fail-stop signature scheme based on factorization and discrete logarithm assumptions. THEORETICAL COMPUTER SCIENCE, 20090301 AMSTERDAM, NL 01.03.2009 VOL: 410 No: 8-10 Pages: 736-744 ISSN 0304-3975 Doi: doi: 10.1016 / j.tcs.2008.10.025 01.03.2009
D02 D02
BONEH D; et al. Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys, http://www.eprint.iacr.org/2005/018 12.03.2005 BONEH D; et al. Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys, http://www.eprint.iacr.org/2005/018 12.03.2005
2. Declaración motivada según los artículos 29.6 y 29.7 del Reglamento de ejecución de la Ley 11/1986, de 20 de marzo, de Patentes sobre la novedad y la actividad inventiva; citas y explicaciones en apoyo de esta declaración  2. Statement motivated according to articles 29.6 and 29.7 of the Regulations for the execution of Law 11/1986, of March 20, on Patents on novelty and inventive activity; quotes and explanations in support of this statement Se considera D01 el documento más próximo del estado de la técnica al objeto de la solicitud. D01 is considered the closest document of the state of the art to the object of the request. Reivindicaciones independientes  Independent claims Reivindicación 1: El documento D01, divulga un método de firma de clave pública y clave privada, en el que se verifica la firma de un mensaje hecha por un número de usuarios. La clave pública es común a todos los usuarios mientras que cada uno de ellos posee una clave privada propia. Las claves las genera una tercera parte de confianza. Por otra parte y como es comúnmente conocido los sistemas de clave pública y clave privada se pueden utilizar, además de para la verificación de firmas, también para la encriptación, como ilustra el documento D02 para el contexto de la solicitud. Por tanto, la combinación el documento D01 afecta a la actividad inventiva de la reivindicación 1 según el artículo 8.1 de la Ley de Patentes. Claim 1: Document D01 discloses a method of signing a public key and private key, in which the signature of a message made by a number of users is verified. The public key is common to all users while each of them has its own private key. The keys are generated by a third party of trust. On the other hand and as is commonly known, the public key and private key systems can be used, in addition to signature verification, also for encryption, as document D02 illustrates for the context of the request. Therefore, the combination of document D01 affects the inventive activity of claim 1 according to article 8.1 of the Patent Law. Reivindicaciones dependientes  Dependent Claims Reivindicaciones 2-7: las operaciones incluidas en estas reivindicaciones forman parte del modelo de generación y comprobación de claves del documento D01. Por tanto, el documento D01 afecta a la actividad inventiva de las reivindicaciones 2-7 según el artículo 8.1 de la Ley de Patentes. Claims 2-7: the operations included in these claims are part of the generation model and checking keys of document D01. Therefore, document D01 affects the inventive activity of claims 2-7 according to article 8.1 of the Law on Patents Informe del Estado de la Técnica Página 4/4 State of the Art Report Page 4/4
ES201130840A 2011-05-24 2011-05-24 METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION Withdrawn - After Issue ES2410679B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ES201130840A ES2410679B1 (en) 2011-05-24 2011-05-24 METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION
PCT/EP2012/059442 WO2012160046A1 (en) 2011-05-24 2012-05-22 Method for ciphering and deciphering information
ARP120101820 AR086534A1 (en) 2011-05-24 2012-05-23 METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201130840A ES2410679B1 (en) 2011-05-24 2011-05-24 METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION

Publications (3)

Publication Number Publication Date
ES2410679A2 ES2410679A2 (en) 2013-07-02
ES2410679R1 ES2410679R1 (en) 2013-09-25
ES2410679B1 true ES2410679B1 (en) 2014-04-25

Family

ID=46229438

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201130840A Withdrawn - After Issue ES2410679B1 (en) 2011-05-24 2011-05-24 METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION

Country Status (3)

Country Link
AR (1) AR086534A1 (en)
ES (1) ES2410679B1 (en)
WO (1) WO2012160046A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865349B (en) * 2023-02-24 2023-05-09 蓝象智联(杭州)科技有限公司 Data encryption and decryption method for one-party encryption and multiparty joint decryption

Also Published As

Publication number Publication date
AR086534A1 (en) 2014-01-08
ES2410679A2 (en) 2013-07-02
WO2012160046A1 (en) 2012-11-29
ES2410679R1 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
Wang et al. Cost-effective secure E-health cloud system using identity based cryptographic techniques
US8429408B2 (en) Masking the output of random number generators in key generation protocols
ES2365887B1 (en) METHOD OF VERIFICATION OF DEFRYING PROCESSES
CN107733648A (en) The RSA digital signature generation method and system of a kind of identity-based
WO2007076659A1 (en) Id based cyptographical method and system
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
Kallam Diffie-hellman: key exchange and public key cryptosystems
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
CN106453253A (en) Efficient identity-based concealed signcryption method
Zhang et al. An attribute-based encryption scheme secure against malicious KGC
Pugila et al. An efficeient encrpytion algorithm based on public key cryptography
Azaim et al. Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
ES2410679B1 (en) METHOD FOR ENCRYPTING AND DESCIRATING INFORMATION
Nithya et al. Survey on asymmetric key cryptography algorithms
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm
Grewal ElGamal: public-key cryptosystem
Deore et al. Hybrid encryption for database security
Shah et al. Efficient Cryptography for data security
Basu et al. Secured hierarchical secret sharing using ECC based signcryption
Sheth et al. Analysis of cryptography techniques
Kaur A Double layer encryption algorithm based on DNA and RSA for security on cloud
Sharma A Novel Approach to combine Public-key encryption with Symmetric-key encryption
JP2007208410A (en) Id base encryption communication system
Hemamalini et al. A Survey on Elementary, Symmetric and Asymmetric Key Cryptographic Techniques

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2410679

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20140425

FA2A Application withdrawn

Effective date: 20140918