ABSTRACT
Abstract
A system and method generate private keys for devices participating in a self-certified identity based encryption scheme. A private key is used by the devices to establish a common session key for encoding digital communications between devices.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of International Application No. PCT/SG2018/050050, filed on Feb. 7, 2018, which claims priority to Singaporean Patent Application No. SG10201701044S, filed on Feb. 9, 2017. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
FIELD OF TECHNOLOGY
This application relates to a system and method for generating private keys for devices participating in self-certified identity based signature schemes whereby the private keys are used by the devices to establish a common session key for encoding digital communications between devices. In particular, the private keys generated in accordance with the system and methods of the application are only made known to the devices themselves and not by any other third parties.
BACKGROUND
Due to a convergence of multiple technologies, an ever increasing number of devices are now able to seamlessly communicate wirelessly with the Internet or wirelessly exchange communications between themselves. This convergence has resulted in the vision of the Internet of Things (IoT) gaining more traction through recent years. In the Internet of Things, millions of entities or devices (i.e. Things) will be connected to one another. These devices, which comprise devices or entities such as smart chips, smart plugs, smart watches, smart phones, smart vehicles, smart buildings, and etc., either communicate directly with one another or via the Internet.
As the Internet of Things spreads into more areas, these devices become more prone to cyber-attacks from hackers or unauthorized users as a compromised device would grant a malicious user access to the network to which the device belongs. Hence, it is of utmost importance that a security protocol be set in place to allow one entity to verify the authenticity of a peer entity, with which it communicates with, before data is exchanged between these two entities. In addition to the above, once the authenticity of the entities have been verified, a secret key known to only these two entities, has to be established to facilitate the signing of data messages between these entities. This is to ensure that data communicated between these two entities will not be compromised even if the data were intercepted or redirected.
A common method of establishing a secret key for signing data communications between entities involves the pre-sharing of a common symmetric secret key between the relevant parties. For such a method, data messages that are to be transmitted between the entities will be signed using this pre-shared or pre-agreed-upon secret key. If the receiving entity is able to decrypt the received message using this pre-shared secret key, this implies that the authenticity of the sender has been verified and the receiver may then proceed to process the decrypted message accordingly. Unfortunately, this method is not scalable and is quite inflexible as it requires the common secret to be pre-shared or communicated to all trusted entities or devices before the entities or devices may communicate with one another. In the IoT setting, the high mobility of devices is a norm and devices that are required to exchange data with one another may not have had the opportunity to establish a secret key beforehand.
Another approach that has been proposed utilizes public key infrastructure (PKI) based solutions whereby key-pairs allocated to each authorized entity are bound to its holders by means of a public key certificate. The key pair then utilizes a public key cryptosystem such as public-key encryption or digital signature methodologies to sign data messages or to verify the authenticity of a sender by validating the public key certificate of the sender. The setup and maintenance of such public key infrastructures are notoriously expensive and require entities to constantly maintain contact with a PKI server to validate the respective public key certificates.
Yet another approach that has been proposed utilizes identity based cryptography methodologies to authenticate entities and to sign data messages. Such identity based cryptosystems are special public key cryptosystems, which are based on bilinear pairing and utilize an entity's identity, such as user name, email address, telephone number, IP address, etc. as the public key and a corresponding private key is then derived from the entity's identity by a Key Generation Centre which contains a master secret key, which is utilized in the generation of private keys for entities. The downside of this approach is that bilinear pairing is an expensive and time consuming computation process.
Another inherent weakness of existing identity based cryptographic schemes is that users' private keys are usually generated by a Key Generation Centre. As the users' private keys are escrowed to the key generation centre, this means that the key generation centre will possess all the private keys of the users of the scheme. If the key generation centre were ever to become compromised, this would mean that all the users of the system would be compromised as well.
For the above reasons, those skilled in the art are constantly striving to come up with a system and method to generate private keys for users of an identity based signature scheme whereby the private keys are only made known to each respective user. The private keys are then utilized with the identity based signature scheme to verify the authenticity of users of the scheme and to generate a common session key that is to be used to encode data messages between verified users.
SUMMARY
The above and other problems are solved and an advance in the art is made by systems and methods provided by embodiments in accordance with the application.
A first advantage of embodiments of systems and methods in accordance with the application is that the private keys of devices or entities belonging to the self-certified identity based signature scheme are made known only to the devices themselves and are not escrowed out to any external third parties such as a Key Generating Centre.
A second advantage of embodiments of systems and methods in accordance with the application is that the private keys generated in accordance with embodiments of the application are of the same form as in existing self-certified identity based signature schemes and thus may be used in existing self-certified identity based signature schemes without changing the operation of existing self-certified identity based signature schemes.
A third advantage of embodiments of systems and methods in accordance with the application is that the application allows cross-domain authenticated key exchange to take place whereby users' or entities' respective private keys may be issued by different key generation centres whereby each centre has its own unique system parameters.
A fourth advantage of embodiments of systems and methods in accordance with the application is that the application may be utilized in Transport Layer Security (TLS) or Datagram Transport Layer Security (DTLS) protocols whereby a self-certified identity based signature scheme in accordance with embodiments of the application may be used to sign messages for TLS protocol or DTLS protocol.
The above advantages are provided by embodiments of a method in accordance with the application operating in the following manner. For brevity, in the subsequent description of the embodiments of the application, although multiplicative notations are utilized for finite field arithmetic operations; it should be straightforward for a person skilled in the art to realize that the arithmetic operations should be described using additive notations when implemented over elliptic curves.
According to a first aspect of the application, a system for computing a private key sk for a device participating in a self-certified identity based signature system comprises a secure server configured to: compute parameters for the device based on a second random number r i2 generated by the secure server, a first set of components received from the device, a master secret key x and parameters associated with a master public key mpk, wherein the first set of components comprises a first random number r i1 generated by the device, transmit the computed parameters to the device; and the device configured to compute the private key sk based on the received computed parameters and the random number r i1 .
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the parameters for the device comprises: retrieving an arbitrary first value R i1 and an identity of the device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; computing an arbitrary value of the device R i and a first integer s i1 ; and setting the computed arbitrary value of the device R i1 and the first integer s i1 ; as the parameters for the device, whereby the arbitrary value of the device R i1 is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value of the device R i , the identity of the device id i and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the private key sk comprises: computing an integer s i based on the first integer s i1 as retrieved from the computed parameters transmitted from the secure server, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and forming the private key sk based on the arbitrary value of the device R i and the integer s i .
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =R i1 ·g r
i2 or R i =R i1 /g r
i2 , the arbitrary first value R i1 is defined by R i1 =g r
is and the first integer s i1 is defined by s i1 =r i2 +xH(R i , id i )(mod q) or s i1 =âr i2 +xH(R i , id i )(mod q) where H( ) is a collision-resistant hash function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =s i1 +r i1 (mod q).
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =g r
i2 /R i1 , the arbitrary first value R i1 is defined by R i1 =g r
i1 and the first integer s i1 is defined by s i1 =r i2 +xH(R i , id i )(mod q) where H( ) is a collision-resistant hash function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =s i1 âr i1 (mod q).
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the parameters for the device comprises: retrieving an arbitrary first value R i1 , an identity of the device id i and a homomorphic encryption value c from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 and the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); setting an arbitrary value of the device R i and a first integer s i1 as the parameters for the device, whereby the arbitrary value of the device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value of the device R i , the identity of the device id i and the prime number q to the additive homomorphic encryption function HEnc( ).
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the private key sk comprises: computing an integer s i by applying a complementary homomorphic decryption function to the first integer s i1 as retrieved from the computed parameters transmitted from the secure server; and forming the private key sk based on the arbitrary value of the device R i and the integer s i .
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 ) r
i2 , the arbitrary first value R i1 is defined by R i1 =g r
i1 , the homomorphic encryption value c is defined by c=HEnc(r i1 â1 mod q) and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i,
id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 ) r
i1
â1 , the arbitrary first value R i1 is defined by R i1 =g r
i1 the homomorphic encryption value c is defined by c=HEnc(r i1 â1 ) and the first integer s i1 is defined by s i1 =HEnc(r i2 â1 )·c xH(R
i,
id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i1 =r i1 HDec(s i1 ); where HDec( ) is the complementary homomorphic decryption function.
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 )r i2 , the arbitrary first value R i1 is defined by R i1 =g r
i1
â1 , the homomorphic encryption value c is defined by c=HEnc(r i1 ) and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i
,id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =r i1 â1 HDec(s i1 ) where HDec( ) is the complementary homomorphic decryption function.
According to a second aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in a self-certified identity based signature scheme is disclosed, the system comprising: a secure server configured to instruct: the first device to compute a private key ski based on a first set of parameters received from the secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components comprising the first random number r i1 , a master secret key x and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, and the second device to compute a private key sk j based on a sec
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of International Application No. PCT/SG2018/050050, filed on Feb. 7, 2018, which claims priority to Singaporean Patent Application No. SG10201701044S, filed on Feb. 9, 2017. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
FIELD OF TECHNOLOGY
This application relates to a system and method for generating private keys for devices participating in self-certified identity based signature schemes whereby the private keys are used by the devices to establish a common session key for encoding digital communications between devices. In particular, the private keys generated in accordance with the system and methods of the application are only made known to the devices themselves and not by any other third parties.
BACKGROUND
Due to a convergence of multiple technologies, an ever increasing number of devices are now able to seamlessly communicate wirelessly with the Internet or wirelessly exchange communications between themselves. This convergence has resulted in the vision of the Internet of Things (IoT) gaining more traction through recent years. In the Internet of Things, millions of entities or devices (i.e. Things) will be connected to one another. These devices, which comprise devices or entities such as smart chips, smart plugs, smart watches, smart phones, smart vehicles, smart buildings, and etc., either communicate directly with one another or via the Internet.
As the Internet of Things spreads into more areas, these devices become more prone to cyber-attacks from hackers or unauthorized users as a compromised device would grant a malicious user access to the network to which the device belongs. Hence, it is of utmost importance that a security protocol be set in place to allow one entity to verify the authenticity of a peer entity, with which it communicates with, before data is exchanged between these two entities. In addition to the above, once the authenticity of the entities have been verified, a secret key known to only these two entities, has to be established to facilitate the signing of data messages between these entities. This is to ensure that data communicated between these two entities will not be compromised even if the data were intercepted or redirected.
A common method of establishing a secret key for signing data communications between entities involves the pre-sharing of a common symmetric secret key between the relevant parties. For such a method, data messages that are to be transmitted between the entities will be signed using this pre-shared or pre-agreed-upon secret key. If the receiving entity is able to decrypt the received message using this pre-shared secret key, this implies that the authenticity of the sender has been verified and the receiver may then proceed to process the decrypted message accordingly. Unfortunately, this method is not scalable and is quite inflexible as it requires the common secret to be pre-shared or communicated to all trusted entities or devices before the entities or devices may communicate with one another. In the IoT setting, the high mobility of devices is a norm and devices that are required to exchange data with one another may not have had the opportunity to establish a secret key beforehand.
Another approach that has been proposed utilizes public key infrastructure (PKI) based solutions whereby key-pairs allocated to each authorized entity are bound to its holders by means of a public key certificate. The key pair then utilizes a public key cryptosystem such as public-key encryption or digital signature methodologies to sign data messages or to verify the authenticity of a sender by validating the public key certificate of the sender. The setup and maintenance of such public key infrastructures are notoriously expensive and require entities to constantly maintain contact with a PKI server to validate the respective public key certificates.
Yet another approach that has been proposed utilizes identity based cryptography methodologies to authenticate entities and to sign data messages. Such identity based cryptosystems are special public key cryptosystems, which are based on bilinear pairing and utilize an entity's identity, such as user name, email address, telephone number, IP address, etc. as the public key and a corresponding private key is then derived from the entity's identity by a Key Generation Centre which contains a master secret key, which is utilized in the generation of private keys for entities. The downside of this approach is that bilinear pairing is an expensive and time consuming computation process.
Another inherent weakness of existing identity based cryptographic schemes is that users' private keys are usually generated by a Key Generation Centre. As the users' private keys are escrowed to the key generation centre, this means that the key generation centre will possess all the private keys of the users of the scheme. If the key generation centre were ever to become compromised, this would mean that all the users of the system would be compromised as well.
For the above reasons, those skilled in the art are constantly striving to come up with a system and method to generate private keys for users of an identity based signature scheme whereby the private keys are only made known to each respective user. The private keys are then utilized with the identity based signature scheme to verify the authenticity of users of the scheme and to generate a common session key that is to be used to encode data messages between verified users.
SUMMARY
The above and other problems are solved and an advance in the art is made by systems and methods provided by embodiments in accordance with the application.
A first advantage of embodiments of systems and methods in accordance with the application is that the private keys of devices or entities belonging to the self-certified identity based signature scheme are made known only to the devices themselves and are not escrowed out to any external third parties such as a Key Generating Centre.
A second advantage of embodiments of systems and methods in accordance with the application is that the private keys generated in accordance with embodiments of the application are of the same form as in existing self-certified identity based signature schemes and thus may be used in existing self-certified identity based signature schemes without changing the operation of existing self-certified identity based signature schemes.
A third advantage of embodiments of systems and methods in accordance with the application is that the application allows cross-domain authenticated key exchange to take place whereby users' or entities' respective private keys may be issued by different key generation centres whereby each centre has its own unique system parameters.
A fourth advantage of embodiments of systems and methods in accordance with the application is that the application may be utilized in Transport Layer Security (TLS) or Datagram Transport Layer Security (DTLS) protocols whereby a self-certified identity based signature scheme in accordance with embodiments of the application may be used to sign messages for TLS protocol or DTLS protocol.
The above advantages are provided by embodiments of a method in accordance with the application operating in the following manner. For brevity, in the subsequent description of the embodiments of the application, although multiplicative notations are utilized for finite field arithmetic operations; it should be straightforward for a person skilled in the art to realize that the arithmetic operations should be described using additive notations when implemented over elliptic curves.
According to a first aspect of the application, a system for computing a private key sk for a device participating in a self-certified identity based signature system comprises a secure server configured to: compute parameters for the device based on a second random number r i2 generated by the secure server, a first set of components received from the device, a master secret key x and parameters associated with a master public key mpk, wherein the first set of components comprises a first random number r i1 generated by the device, transmit the computed parameters to the device; and the device configured to compute the private key sk based on the received computed parameters and the random number r i1 .
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the parameters for the device comprises: retrieving an arbitrary first value R i1 and an identity of the device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; computing an arbitrary value of the device R i and a first integer s i1 ; and setting the computed arbitrary value of the device R i1 and the first integer s i1 ; as the parameters for the device, whereby the arbitrary value of the device R i1 is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value of the device R i , the identity of the device id i and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the private key sk comprises: computing an integer s i based on the first integer s i1 as retrieved from the computed parameters transmitted from the secure server, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and forming the private key sk based on the arbitrary value of the device R i and the integer s i .
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =R i1 ·g r
i2 or R i =R i1 /g r
i2 , the arbitrary first value R i1 is defined by R i1 =g r
is and the first integer s i1 is defined by s i1 =r i2 +xH(R i , id i )(mod q) or s i1 =âr i2 +xH(R i , id i )(mod q) where H( ) is a collision-resistant hash function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =s i1 +r i1 (mod q).
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =g r
i2 /R i1 , the arbitrary first value R i1 is defined by R i1 =g r
i1 and the first integer s i1 is defined by s i1 =r i2 +xH(R i , id i )(mod q) where H( ) is a collision-resistant hash function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =s i1 âr i1 (mod q).
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the parameters for the device comprises: retrieving an arbitrary first value R i1 , an identity of the device id i and a homomorphic encryption value c from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 and the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); setting an arbitrary value of the device R i and a first integer s i1 as the parameters for the device, whereby the arbitrary value of the device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value of the device R i , the identity of the device id i and the prime number q to the additive homomorphic encryption function HEnc( ).
With reference to the first aspect, in accordance with embodiments of the application, the step of computing the private key sk comprises: computing an integer s i by applying a complementary homomorphic decryption function to the first integer s i1 as retrieved from the computed parameters transmitted from the secure server; and forming the private key sk based on the arbitrary value of the device R i and the integer s i .
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 ) r
i2 , the arbitrary first value R i1 is defined by R i1 =g r
i1 , the homomorphic encryption value c is defined by c=HEnc(r i1 â1 mod q) and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i,
id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 ) r
i1
â1 , the arbitrary first value R i1 is defined by R i1 =g r
i1 the homomorphic encryption value c is defined by c=HEnc(r i1 â1 ) and the first integer s i1 is defined by s i1 =HEnc(r i2 â1 )·c xH(R
i,
id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i1 =r i1 HDec(s i1 ); where HDec( ) is the complementary homomorphic decryption function.
With reference to the first aspect, in accordance with embodiments of the application, the arbitrary value of the device R i is defined by R i =(R i1 )r i2 , the arbitrary first value R i1 is defined by R i1 =g r
i1
â1 , the homomorphic encryption value c is defined by c=HEnc(r i1 ) and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i
,id
i
) mod q where HEnc( ) is the additive homomorphic encryption function.
With reference to the first aspect, in accordance with embodiments of the application, the integer s i is defined by s i =r i1 â1 HDec(s i1 ) where HDec( ) is the complementary homomorphic decryption function.
According to a second aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in a self-certified identity based signature scheme is disclosed, the system comprising: a secure server configured to instruct: the first device to compute a private key ski based on a first set of parameters received from the secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components comprising the first random number r i1 , a master secret key x and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, and the second device to compute a private key sk j based on a second set of parameters received from the secure server, and a random number r j1 generated by the second device, wherein the second set of parameters is generated by the secure server based on a second random number r j2 generated by the secure server, a second set of components comprising the first random number r j1 , the master secret key x and the parameters associated with a master public key mpk, wherein the second set of components is generated by the second device and transmitted to the secure server; the first device configured to: sign a group element g a using a self-certified Identity Based Signature Scheme and the private key ski, where a is a random number generated by the first device and g is a generator of a cyclic group G; transmit an identity of the first device id i , the group element g a and the signed group element g a to the second device; upon receiving the transmission, the second device is configured to: verify the signed group element g a using a verification function associated with the self-certified Identity Based Signature Scheme and the identity of the first device id i , sign group elements (g a â¥g b ) using the self-certified Identity Based Signature Scheme and the private key sk j , where b is a random number generated by the first device, when the signed group element g a is verified, and transmit the signed group elements (g a â¥g b ) and a group element g b to the first device; the first device is configured to: verify the signed group elements (g a ⥠g b ) using the verification function associated with the self-certified Identity Based Signature Scheme and the identity of the second device id j ; compute a first shared secret k ij based on the group element a and the group element g b , compute a first key vk i by providing the first shared secret k ij to a Key Deriving Function, and compute a first authentication data Ad i by providing the first key vk i to an Authentication Data Deriving Function, when the signed group elements (g a â¥g b ) are verified; generate the common session key SK by providing the first shared secret k ij to the Key Deriving Function; transmit the first authentication data Ad i to the second device, such that upon receiving the first authentication data Ad i , the second device is configured to: compute a second shared secret k ji based on the group element g a and the group element b, compute a second key vk j by providing the second shared secret k ji to the Key Deriving Function, compute a second authentication data Ad j by providing the key vk j to the Authentication Data Deriving Function, determine if the second authentication data Ad j matches with the first authentication data Ad i ; and generate the common session key SK by providing the second shared secret k ji to the Key Deriving Function, when the second authentication data Ad j matches with the first authentication data Ad i .
With reference to the second aspect, in accordance with embodiments of the application, the step of generating the first set of parameters for the first device comprises: the secure server being configured to: retrieve an arbitrary first value R i1 and an identity of the first device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; compute an arbitrary value of the first device R i and a first integer s i1 ; and set the computed arbitrary value of the first device R i and the first integer s i1 as the parameters for the first device, whereby the arbitrary value of the first device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value of the first device R i , the identity of the first device id i and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the second aspect, in accordance with embodiments of the application, the computing the private key ski comprises: the first device being configured to: compute an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk.; and form the private key ski based on the arbitrary value of the first device R i and the integer s i .
With reference to the second aspect, in accordance with embodiments of the application, the generating the second set of parameters for the second device comprises: the secure server being configured to: retrieve an arbitrary first value R j1 and an identity of the second device id j from the second set of components, wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; compute an arbitrary value of the second device R j and a first integer s j1 ; and set the computed arbitrary value of the second device R j and the first integer s j1 as the parameters for the second device, whereby the arbitrary value of the second device R j is computed based on the arbitrary first value R j1 and the second random number r j2 ; and whereby the first integer s j1 is computed based on the second random number r j2 , the master secret key x, the arbitrary value of the second device R j , the identity of the second device id j and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the second aspect, in accordance with embodiments of the application, the computing the private key sk j comprises: the second device being configured to: compute an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and form the private key sk j based on the arbitrary value of the second device R j and the integer s j .
According to a third aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j participating in a self-certified identity based signature scheme is provided, the system comprising: a secure server configured to instruct: the first device to compute a private key sk i based on a first set of parameters received from the secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components comprising the first random number r i1 , a master secret key x and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, and the second device to compute a private key sk j based on a second set of parameters received from the secure server, and a random number r j1 generated by the second device, wherein the second set of parameters is generated by the secure server based on a second random number r j2 generated by the secure server, a second set of components comprising the first random number r j1 , the master secret key x and the parameters associated with a master public key mpk, wherein the second set of components is generated by the second device and transmitted to the secure server; the first device configured to: sign a cryptographic nonce Ni using a self-certified Identity Based Signature Scheme and the private key sk i ; transmit an identity of the first device id i , the cryptographic nonce N i and the signed cryptographic nonce N i to the second device; upon receiving the transmission, the second device is configured to: verify the signed cryptographic nonce N i using a verification function associated with the self-certified Identity Based Signature Scheme and the identity of the first device id i , sign cryptographic nonces (N i â¥N j ) using the self-certified Identity Based Signature Scheme and the private key sk j , where N j is a cryptographic nonce, when the signed cryptographic nonce N i is verified, and transmit the signed cryptographic nonces (N i N j ) and the cryptographic nonce N j to the first device; the first device is configured to: verify the signed cryptographic nonces (N i â¥N j ) using the verification function associated with the self-certified Identity Based Signature Scheme and the identity of the second device id j , compute a first shared secret k ij =g sj·si , compute a first key vk i by providing the first shared secret k ij to a Key Deriving Function, and compute a first authentication data Ad i by providing the cryptographic nonces N i and N j and the first key vk i to an Authentication Data Deriving Function, when the signed cryptographic nonces (N i â¥N j ) are verified; generate the common session key SK by providing the first shared secret k ij and the cryptographic nonces N i and N j to the Key Deriving Function; transmit the first authentication data Ad i to the second device; upon receiving the first authentication data Ad i , the second device is configured to: compute a second shared secret k ji =g sj·si , compute a second key vk j by providing the second shared secret k ji to the Key Deriving Function, compute a second authentication data Ad j by providing the key vk j and the cryptographic nonces N i and N j to the Authentication Data Deriving Function, determine if the second authentication data Ad j matches with the first authentication data Ad i ; and generate the common session key SK by providing the second shared secret k ji to the Key Deriving Function, when the second authentication data Ad j matches with the first authentication data Ad i .
With reference to the third aspect, in accordance with embodiments of the application, the generating the first set of parameters for the first device comprises: the secure server being configured to: retrieve an arbitrary first value R i1 and an identity of the first device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; compute an arbitrary value of the first device R i and a first integer s i1 ; and set the computed arbitrary value of the first device R i and the first integer s i1 as the parameters for the first device, whereby the arbitrary value of the first device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value of the first device R i , the identity of the first device id i and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the third aspect, in accordance with embodiments of the application, the computing the private key sk i comprises: the first device being configured to: compute an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and form the private key sk i based on the arbitrary value of the first device R i and the integer s i .
With reference to the third aspect, in accordance with embodiments of the application, the generating the second set of parameters for the second device comprises: the secure server being configured to: retrieve an arbitrary first value R j1 and an identity of the second device id j from the second set of components, wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; compute an arbitrary value of the second device R j and a first integer s j1 ; and set the computed arbitrary value of the second device R j and the first integer s j1 as the parameters for the second device, whereby the arbitrary value of the second device R j is computed based on the arbitrary first value R j1 and the second random number r j2 ; and whereby the first integer s j1 is computed based on the second random number r j2 , the master secret key x, the arbitrary value of the second device R j , the identity of the second device id j and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the third aspect, in accordance with embodiments of the application, the computing the private key sk j comprises: the second device being configured to: compute an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and form the private key sk j based on the arbitrary value of the second device R j and the integer s j .
According a fourth aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in a self-certified identity based signature scheme is provided, the system comprising: a first secure server configured to instruct: the first device to compute a private key sk i based on a first set of parameters received from the first secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the first secure server based on a second random number r i2 generated by the first secure server, a first set of components comprising the first random number r i1 , a master secret key x, and parameters associated with a master public key mpk i , wherein the first set of components is generated by the first device and transmitted to the first secure server; a second secure server configured to instruct: the second device to compute a private key sk j based on a second set of parameters received from the second secure server, and a random number r j1 generated by the second device, wherein the second set of parameters is generated by the second secure server based on a second random number r j2 generated by the second secure server, a second set of components comprising the first random number r j1 , a master secret key x j and the parameters associated with a master public key mpk j , wherein the second set of components is generated by the second device and transmitted to the second secure server, wherein the first secure server is located in a different domain from the second secure server; the first device configured to: sign a group element g a using a self-certified Identity Based Signature Scheme and the private key sk i , where a is a random number generated by the first device and g is a generator of a cyclic group G; transmit an identity of the first device id i , the group element g a and the signed group element g a to the second device; upon receiving the transmission, the second device is configured to: verify the signed group element g a using a verification function associated with the self-certified Identity Based Signature Scheme and the identity of the first device id i , sign group elements (g a â¥g b ) using the self-certified Identity Based Signature Scheme and the private key sk j , where b is a random number generated by the first device, when the signed group element g a is verified, and transmit the signed group elements (g a â¥g b ) and a group element g b to the first device; the first device is configured to: verify the signed group elements (g a â¥g b ) using the verification function associated with the self-certified Identity Based Signature Scheme and the identity of the second device id j ; compute a first shared secret k ij based on the group element a and the group element g b , compute a first key vk i by providing the first shared secret k ij to a Key Deriving Function, and compute a first authentication data Ad i by providing the first key vk i to an Authentication Data Deriving Function, when the signed group elements (g a g b ) are verified; generate the common session key SK by providing the first shared secret k ij to the Key Deriving Function; transmit the first authentication data Ad i to the second device; upon receiving the first authentication data Ad i , the second device is configured to: compute a second shared secret k ji based on the group element g a and the group element b, compute a second key vk j by providing the second shared secret k ji to the Key Deriving Function, compute a second authentication data Ad j by providing the key vk j to the Authentication Data Deriving Function, determine if the second authentication data Ad j matches with the first authentication data Ad i ; and generate the common session key SK by providing the second shared secret k ji to the Key Deriving Function, when the second authentication data Ad j matches with the first authentication data Ad i .
With reference to the fourth aspect, in accordance with embodiments of the application, the generating the first set of parameters for the first device comprises: the first secure server being configured to: retrieve an arbitrary first value R i1 and an identity of the first device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; compute an arbitrary value of the first device R i and a first integer s i1 ; and set the computed arbitrary value of the first device R i and the first integer s i1 as the parameters for the first device, whereby the arbitrary value of the first device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x i , the arbitrary value of the first device R i , the identity of the first device id i and a prime number q obtained from the parameters associated with the master public key mpk i .
With reference to the fourth aspect, in accordance with embodiments of the application, the computing the private key sk i comprises: the first device being configured to: compute an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk i ; and form the private key sk i based on the arbitrary value of the first device R i and the integer s i .
With reference to the fourth aspect, in accordance with embodiments of the application, the generating the second set of parameters for the second device comprises: the second secure server being configured to: retrieve an arbitrary first value R j1 and an identity of the second device id j from the second set of components, wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; compute an arbitrary value of the second device R j and a first integer s j1 ; and set the computed arbitrary value of the second device R j and the first integer s j1 as the parameters for the second device, whereby the arbitrary value of the second device R j is computed based on the arbitrary first value R j1 and the second random number r j2 ; and whereby the first integer s j1 is computed based on the second random number r j2 , the master secret key xi, the arbitrary value of the second device R j , the identity of the second device id j and a prime number q obtained from the parameters associated with the master public key mpk j .
With reference to the fourth aspect, in accordance with embodiments of the application, the computing the private key sk j comprises: the second device being configured to: compute an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk j ; and form the private key sk j based on the arbitrary value of the second device R j and the integer s j .
According to a fifth aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS) is provided, the system comprising: a secure server configured to instruct: the first device to compute a private key sk i based on a first set of parameters received from the secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components comprising the first random number r i1 , a master secret key x and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, and the second device to compute a private key sk j based on a second set of parameters received from the secure server, and a random number r j1 generated by the second device, wherein the second set of parameters is generated by the secure server based on a second random number r j2 generated by the secure server, a second set of components comprising the first random number r j1 , the master secret key x and the parameters associated with a master public key mpk, wherein the second set of components is generated by the second device and transmitted to the secure server; the first and second devices configured to use a self-certified Identity Based Signature Scheme to generate the common session key SK for the TLS protocol or the DTLS protocol between the first device and the second device, wherein an identity of the first device id i is included in the first device's Certificate message and the identity of the second device id i is included in the second device's Certificate message; wherein the self-certified Identity Based Signature Scheme are dictated by the sk i and sk j .
With reference to the fifth aspect, in accordance with embodiments of the application, the generating the first set of parameters for the first device comprises: the secure server being configured to: retrieve an arbitrary first value R i1 and the identity of the first device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; compute an arbitrary value of the first device R i and a first integer s i1 ; and set the computed arbitrary value of the first device R i and the first integer s i1 as the parameters for the first device, whereby the arbitrary value of the first device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value of the first device R i , the identity of the first device id i and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the fifth aspect, in accordance with embodiments of the application, the computing the private key sk i comprises: the first device being configured to: compute an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and form the private key sk i based on the arbitrary value of the first device R i and the integer s i .
With reference to the fifth aspect, in accordance with embodiments of the application, the generating the second set of parameters for the second device comprises: the secure server being configured to: retrieve an arbitrary first value R j1 and the identity of the second device id j from the second set of components, wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; compute an arbitrary value of the second device R j and a first integer s j1 ; and set the computed arbitrary value of the second device R j and the first integer s j1 as the parameters for the second device, whereby the arbitrary value of the second device R j is computed based on the arbitrary first value R j1 and the second random number r j2 ; and whereby the first integer s j1 is computed based on the second random number r j2 , the master secret key x, the arbitrary value of the second device R j , the identity of the second device id j and a prime number q obtained from the parameters associated with the master public key mpk.
With reference to the fifth aspect, in accordance with embodiments of the application, the computing the private key sk j comprises: the second device being configured to: compute an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk.; and form the private key sk j based on the arbitrary value of the second device R j and the integer s j .
According to a sixth aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS) is provided, the system comprising: a first secure server configured to instruct: the first device to compute a private key sk i based on a first set of parameters received from the first secure server, and a random number r i1 generated by the first device, wherein the first set of parameters is generated by the first secure server based on a second random number r i2 generated by the first secure server, a first set of components comprising the first random number r i1 , a master secret key x, and parameters associated with a master public key mpki, wherein the first set of components is generated by the first device and transmitted to the first secure server, a second secure server configured to instruct: the second device to compute a private key sk j based on a second set of parameters received from the second secure server, and a random number r j1 generated by the second device, wherein the second set of parameters is generated by the second secure server based on a second random number r j2 generated by the second secure server, a second set of components comprising the first random number r j1 , the master secret key x j and the parameters associated with a master public key mpk j , wherein the second set of components is generated by the second device and transmitted to the second secure server, wherein the first secure server is located in a different domain from the second secure server; the first and second devices configured to use a self-certified Identity Based Signature Scheme to generate the common session key SK ij for the TLS protocol between the first device and the second device, wherein an identity of the first device id i is included in the first device's Certificate message and the identity of the second device id j is included in the second device's Certificate message; wherein the self-certified Identity Based Signature Scheme are dictated by the sk i and sk j .
With reference to the sixth aspect, in accordance with embodiments of the application, the generating the first set of parameters for the first device comprises: the first secure server being configured to: retrieve an arbitrary first value R i1 and the identity of the first device id i from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; compute an arbitrary value of the first device R i and a first integer s i1 ; and set the computed arbitrary value of the first device R i and the first integer s i1 as the parameters for the first device, whereby the arbitrary value of the first device R i is computed based on the arbitrary first value R i1 and the second random number r i2 ; and whereby the first integer s i1 is computed based on the second random number r i2 , the master secret key x i , the arbitrary value of the first device R i , the identity of the first device id i and a prime number q obtained from the parameters associated with the master public key mpk i .
With reference to the sixth aspect, in accordance with embodiments of the application, the computing the private key sk i comprises: the first device being configured to: compute an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk i .; and form the private key sk i based on the arbitrary value of the first device R i and the integer s i .
With reference to the sixth aspect, in accordance with embodiments of the application, the generating the second set of parameters for the second device comprises: the second secure server being configured to: retrieve an arbitrary first value R j1 and the identity of the second device id j from the second set of components, wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; compute an arbitrary value of the second device R j and a first integer s j1 ; and set the computed arbitrary value of the second device R j and the first integer s j1 as the parameters for the second device, whereby the arbitrary value of the second device R j is computed based on the arbitrary first value R j1 and the second random number r j2 ; and whereby the first integer s j1 is computed based on the second random number r j2 , the master secret key x j , the arbitrary value of the second device R j , the identity of the second device id j and a prime number q obtained from the parameters associated with the master public key mpk j .
With reference to the sixth aspect, in accordance with embodiments of the application, the computing the private key sk j comprises: the second device being configured to: compute an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk j ; and form the private key sk j based on the arbitrary value of the second device R j and the integer s j .
With reference to the sixth aspect, in accordance with embodiments of the application, before the secure server is configured to compute parameters for the device based on the second random number r i2 generated by the secure server, the secure server is configured to: receive a zero-knowledge proof result from the device, whereby the zero-knowledge proof result is generated by the device using the first random number r i1 and a system parameter k; determine from the zero-knowledge proof result if the first random number r i1 is equal or less than the system parameter λ; and compute parameters for the device based on the second random number r i2 generated by the secure server, when the first random number r i1 is equal or less than the system parameter λ.
According to a seventh aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS) is provided, the system comprising: a secure server configured to: generate a private key sk i for the first device based on an identity of the first device id i and generate a private key sk j for the second device based on an identity of the second device id j , using a self-certified Identity Based Signature Scheme; and transmit the private key sk i to the first device and transmit the private key sk j to the second device; the first and second devices configured to use the same self-certified Identity Based Signature Scheme to generate the common session key SK for the TLS protocol or the DTLS protocol between the first device and the second device, wherein the identity of the first device id i is included in the Certificate message of the first device and the identity of the second device id j is included in the Certificate message of the second device; wherein the self-certified Identity Based Signature Scheme are dictated by the sk i and sk j .
According to an eighth aspect of the application, a system for generating a common session key SK for encoding digital communications between a first device i and a second device j that are participating in an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS) is provided, the system comprising: a first secure server configured to: generate a private key sk i for the first device based on an identity of the first device id i using a self-certified Identity Based Signature Scheme, and transmit the private key sk i to the first device; a second secure server configured to: generate a private key sk j for the second device based on an identity of the second device id j , using a self-certified Identity Based Signature Scheme, and transmit the private key sk j to the second device; wherein the first secure server is located in a different domain from the second secure server, the first and second devices configured to use the same self-certified Identity Based Signature Scheme with different parameters or different self-certified Identity Based Signature Schemes to generate the common session key SK for the TLS or DTLS protocol between the first device and the second device, wherein the identity of the first device id i is included in the Certificate message of the first device and the identity of the second device id j is included in the Certificate message of the second device; wherein the self-certified Identity Based Signature Scheme are dictated by sk i and sk j .
According to a ninth aspect of the application, a secure server configured to compute a private key sk for a device participating in a self-certified identity based signature system comprising: a processor; and a non-transitory media readable by the processor, the media storing instructions that when executed by the
CLAIMS
Claims ( 23 )
What is claimed is:
1. A system, comprising:
a secure server; and
a device;
wherein the secure server is configured to:
compute parameters for the device based on a second random number r i2 generated by the secure server, a first set of components received from the device, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components comprises a first random number r i1 generated by the device, an arbitrary first value R i , and an identity id i of the device, and wherein the arbitrary first value R i is generated based on the first random number r i1 ; and
transmit the computed parameters to the device; and
wherein the device is configured to compute a private key sk based on the received computed parameters and the first random number r i1 , wherein the private key sk is for the device to participate in a self-certified identity based signature system,
wherein computing the parameters for the device comprises:
retrieving the arbitrary first value R i1 , the identity id i of the device, and a homomorphic encryption value c from the first set of components, wherein the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); and
setting an arbitrary value R i of the device and a first integer s i1 as the parameters for the device, wherein the arbitrary value R i of the device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value R i of the device, the identity id i of the device and the prime number q to the additive homomorphic encryption function HEnc( ).
2. The system according to claim 1 , wherein computing the private key sk comprises:
computing an integer s i by applying a complementary homomorphic decryption function to the first integer s i1 as retrieved from the computed parameters transmitted from the secure server; and
forming the private key sk based on the arbitrary value R i of the device and the integer s i .
3. The system according to claim 1 , wherein the arbitrary value R i of the device is defined by R i =(R i1 ) r
i2 , the arbitrary first value R i1 is defined by R i1 =g r
i1 , the homomorphic encryption value c is defined by c=HEnc(r i1 â1 mod q), and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i
,id
i
) mod q , where HEnc( ) is the additive homomorphic encryption function.
4. The system according to claim 1 , wherein the arbitrary value R i of the device is defined by R i =(R i1 ) r
i2
â1 , the arbitrary first value R i1 is defined by R i1 =g r
i1 , the homomorphic encryption value c is defined by c=HEnc(r i1 â1 ), and the first integer s i1 is defined by s i1 =HEnc(r i2 â1 )·c xH(R
i
,id
i
) mod q , where HEnc( ) is the additive homomorphic encryption function.
5. The system according to claim 2 , wherein the integer s i is defined by s i =r i1 HDec(s i1 ), where HDec( ) is the complementary homomorphic decryption function.
6. The system according to claim 1 , wherein the arbitrary value R i of the device is defined by R i =(R i1 ) r
i2 , the arbitrary first value R i1 is defined by R i =g r
i1
â1 , the homomorphic encryption value c is defined by c=HEnc(r i1 ), and the first integer s i1 is defined by s i1 =HEnc(r i2 )·c xH(R
i
,id
i
) mod q , where HEnc( ) is the additive homomorphic encryption function.
7. The system according to claim 2 , wherein the integer s i is defined by s i =r i1 â1 HDec(s i1 ), where HDec( ) is the complementary homomorphic decryption function.
8. A system, comprising:
a secure server;
a first device; and
a second device;
wherein the secure server is configured to:
instruct the first device to compute a private key sk i based on a first set of parameters received from the secure server and based on a first random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, wherein the first set of components comprises the first random number r i1 , an arbitrary first value R i1 , and an identity id i of the first device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; and
instruct the second device to compute a private key sk j based on a second set of parameters received from the secure server and based on a first random number r j1 generated by the second device, wherein the second set of parameters is generated by the secure server based on a second random number r j2 generated by the secure server, a second set of components, the master secret key x, and the parameters associated with a master public key mpk, wherein the second set of components is generated by the second device and transmitted to the secure server, wherein the second set of components comprises the first random number r j1 , an arbitrary first value R j1 , and an identity id j of the second device, and wherein the arbitrary first value R j1 is generated based on the first random number r j1 ; and
wherein the first and second devices are configured to use a self-certified identity based signature scheme to generate a common session key SK for encoding digital communications between the first and second devices with respect to an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS), wherein the identity id i of the first device is included in a certificate message of the first device and the identity id j of the second device is included in a certificate message of the second device, and wherein the self-certified identity based signature scheme is dictated by the private keys sk i and sk j ,
wherein the secure server is configured to generate the second set of parameters for the second device, wherein generating the second set of parameters for the second device comprises:
retrieving the arbitrary first value R i and the identity id i of the second device from the second set of components;
computing an arbitrary value R j of the second device and a first integer s j1 ; and
setting the computed arbitrary value R j of the second device and the first integer s j1 as the second set of parameters for the second device, wherein the arbitrary value R j of the second device is computed based on the arbitrary first value R j and the second random number r j2 , and wherein the first integer s j1 is computed based on the second random number r j2 , the master secret key x, the arbitrary value R j of the second device, the identity id j of the second device, and a prime number q obtained from the parameters associated with the master public key mpk.
9. The system according to claim 8 , wherein the secure server is configured to generate the first set of parameters for the first device, wherein generating the first set of parameters for the first device comprises:
retrieving the arbitrary first value R i1 and the identity id i of the first device from the first set of components;
computing an arbitrary value R i of the first device and a first integer s i1 ; and
setting the computed arbitrary value R of the first device and the first integer s i1 as the first set of parameters for the first device, wherein the arbitrary value R i of the first device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value R i of the first device, the identity id i of the first device, and a prime number q obtained from the parameters associated with the master public key mpk.
10. The system according to claim 9 , wherein the first device is configured to compute the private key sk i , wherein computing the private key sk i comprises:
computing an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and
forming the private key sk i based on the arbitrary value R i of the first device and the integer s i .
11. The system according to claim 8 , wherein the second device is configured to compute the private key sk i , wherein computing the private key sk j comprises:
computing an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk; and
forming the private key sk j based on the arbitrary value R j of the second device and the integer s j .
12. A system, comprising:
a first secure server;
a second secure server;
a first device; and
a second device;
wherein the first secure server is configured to instruct the first device to compute a private key sk i based on a first set of parameters received from the first secure server and based on a first random number r i1 generated by the first device, wherein the first set of parameters is generated by the first secure server based on a second random number r i2 generated by the first secure server, a first set of components, a master secret key x i , and parameters associated with a master public key mpk i , and wherein the first set of components is generated by the first device and transmitted to the first secure server, wherein the first set of components comprises the first random number r i1 , an arbitrary first value R i1 , and an identity id i of the first device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ;
wherein the second secure server is configured to instruct the second device to compute a private key sk j based on a second set of parameters received from the second secure server and based on a first random number r j1 generated by the second device, wherein the second set of parameters is generated by the second secure server based on a second random number r j2 generated by the second secure server, a second set of components, the master secret key x j and the parameters associated with a master public key mpk j , wherein the second set of components is generated by the second device and transmitted to the second secure server, wherein the second set of components comprises the first random number r j1 , an arbitrary first value R j1 , and an identity id j of the second device, and wherein the arbitrary first value R j1 is generated based on the first random number r j1 ;
wherein the first secure server is located in a different domain from the second secure server;
wherein the first and second devices are configured to use a self-certified identity based signature scheme to generate a common session key SK ij for encoding digital communications between the first and second devices with respect to an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS), wherein the identity id i of the first device is included in a certificate message of the first device and the identity id j of the second device is included in a certificate message of the second device, and wherein the self-certified identity based signature scheme is dictated by the private keys sk i and sk j ;
wherein the first secure server is configured to generate the first set of parameters for the first device, wherein generating the first set of parameters for the first device comprises:
retrieving the arbitrary first value R i1 and the identity id i of the first device from the first set of components;
computing an arbitrary value R i of the first device and a first integer s i1 ; and
setting the computed arbitrary value R i of the first device and the first integer s i1 as the first set of parameters for the first device, wherein the arbitrary value R i of the first device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed based on the second random number r i2 , the master secret key x i , the arbitrary value R i of the first device, the identity id i of the first device and a prime number q obtained from the parameters associated with the master public key mpk i .
13. The system according to claim 12 , wherein the first device is configured to compute the private key sk i , wherein computing the private key sk i comprises:
computing an integer s i based on the first integer s i1 as retrieved from the first set of parameters, the first random number r i1 , and a prime number q as obtained from the parameters associated with the master public key mpk i ; and
forming the private key sk i based on the arbitrary value R i of the first device and the integer s i .
14. The system according to claim 12 , wherein the second secure server is configured to generate the second set of parameters for the second device, wherein generating the second set of parameters for the second device comprises:
retrieving the arbitrary first value R j1 and the identity id j of the second device from the second set of components;
computing an arbitrary value R j of the second device and a first integer s i1 ; and
setting the computed arbitrary value R j of the second device and the first integer s j1 as the second set of parameters for the second device, wherein the arbitrary value R j of the second device is computed based on the arbitrary first value R j1 and the second random number r j2 , and wherein the first integer s j1 is computed based on the second random number r j2 , the master secret key x j , the arbitrary value R j of the second device, the identity id j of the second device and a prime number q obtained from the parameters associated with the master public key mpk j .
15. The system according to claim 14 , wherein the second device is configured to compute the private key sk i , wherein computing the private key sk j comprises:
computing an integer s j based on the first integer s j1 as retrieved from the second set of parameters, the first random number r j1 , and a prime number q as obtained from the parameters associated with the master public key mpk j ; and
forming the private key sk j based on the arbitrary value R j of the second device and the integer s j .
16. The system according to claim 12 , wherein the secure server is configured to:
receive a zero-knowledge proof result from a respective device, wherein the zero-knowledge proof result is generated by the respective device using the first random number r i1 and a system parameter λ;
determine from the zero-knowledge proof result whether or not the first random number r i1 is less than or equal to the system parameter λ; and
based on the first random number r i1 being less than or equal to the system parameter λ, compute parameters for the respective device based on the second random number r i2 generated by the secure server.
17. A secure server, comprising:
a processor; and
a non-transitory medium readable by the processor having processor-executable instructions stored thereon, wherein the processor-executable instructions, when executed by the processor, facilitate:
computing parameters for a device based on a second random number r i2 generated by the secure server, a first set of components received from the device, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components comprises a first random number r i1 generated by the device, an arbitrary first value R i1 , and an identity id i of the device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; and
transmitting the computed parameters to the device to facilitate the device computing a private key sk based on the received computed parameters and the first random number r i1 , wherein the private key sk is for the device to participate in a self-certified identity based signature system,
wherein computing the parameters for the device comprises:
retrieving the arbitrary first value R i and the identity id i of the device from the first set of components;
computing an arbitrary value R i of the device and a first integer s i1 ; and
setting the computed arbitrary value R i of the device and the first integer s i1 as the parameters for the device, wherein the arbitrary value R i of the device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value R i of the device, the identity id i of the device, and a prime number q obtained from the parameters associated with the master public key mpk.
18. The secure server according to claim 17 , wherein computing the parameters for the device comprises:
retrieving the arbitrary first value R i , the identity id i of the device, and a homomorphic encryption value c from the first set of components, and wherein the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); and
setting an arbitrary value R i of the device and a first integer s i1 as the parameters for the device, wherein the arbitrary value R i of the device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value R i of the device, the identity id i of the device and the prime number q to the additive homomorphic encryption function HEnc( ).
19. The secure server according to claim 17 , wherein the processor-executable instructions, when executed by the processor, further facilitate:
receiving a zero-knowledge proof result from a respective device, wherein the zero-knowledge proof result is generated by the respective device using the first random number r i1 and a system parameter λ;
determining from the zero-knowledge proof result whether or not the first random number r i1 is less than or equal to the system parameter λ; and
based on the first random number r i1 being less than or equal to the system parameter λ, computing parameters for the respective device based on the second random number r i2 generated by the secure server.
20. A method, comprising:
computing, by a secure server, parameters for a device based on a second random number r i2 generated by the secure server, a first set of components received from the device, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components comprises a first random number r i1 generated by the device, an arbitrary first value R i1 , and an identity id i of the device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; and
transmitting, by the secure server, the computed parameters to the device to facilitate the device computing a private key sk based on the received computed parameters and the first random number r i1 , wherein the private key sk is for the device to participate in a self-certified identity based signature system,
wherein computing the parameters for the device comprises:
retrieving the arbitrary first value R i1 , the identity id i of the device, and a homomorphic encryption value c from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 and the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); and
setting an arbitrary value R i of the device and a first integer s i1 as the parameters for the device, wherein the arbitrary value R i of the device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value R i of the device, the identity id i of the device, and the prime number q to the additive homomorphic encryption function HEnc( ).
21. The method according to claim 20 , wherein computing the parameters for the device comprises:
retrieving the arbitrary first value R i1 and the identity id i of the device from the first set of components;
computing an arbitrary value R i of the device and a first integer s i1 ; and
setting the computed arbitrary value R i of the device and the first integer s i1 as the parameters for the device, wherein the arbitrary value R i of the device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value R i of the device, the identity id i of the device and a prime number q obtained from the parameters associated with the master public key mpk.
22. A method, comprising:
receiving, by a first device, instructions from a secure server to compute a private key sk i based on a first set of parameters received from the secure server and based on a first random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, wherein the first set of components comprises the first random number r i1 , an arbitrary first value R i1 , and an identity id i of the first device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; and
communicating, by the first device, with a second device to generate a common session key SK by using a self-certified identity based signature scheme, wherein the common session key SK is for encoding digital communications between the first and second devices with respect to an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS), wherein the identity id i of the first device is included in a certificate message of the first device and an identity id j of the second device is included in a certificate message of the second device, wherein the self-certified identity based signature scheme is dictated by the private key sk i and a private key sk j computed by the second device,
wherein the first set of parameters is generated based on:
retrieving the arbitrary first value R i1 and the identity id i of the first device from the first set of components;
computing an arbitrary value R i of the first device and a first integer s i1 ; and
setting the computed arbitrary value R i of the first device and the first integer s i1 as the first set of parameters for the first device, wherein the arbitrary value R i of the first device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed based on the second random number r i2 , the master secret key x, the arbitrary value R i of the first device, the identity id i of the first device, and a prime number q obtained from the parameters associated with the master public key mpk.
23. A first device, comprising:
a processor; and
a non-transitory medium readable having processor-executable instructions stored thereon, wherein the processor-executable instructions, when executed by the processor, facilitate:
receiving instructions from a secure server to compute a private key sk i based on a first set of parameters received from the secure server and based on a first random number r i1 generated by the first device, wherein the first set of parameters is generated by the secure server based on a second random number r i2 generated by the secure server, a first set of components, a master secret key x, and parameters associated with a master public key mpk, wherein the first set of components is generated by the first device and transmitted to the secure server, wherein the first set of components comprises the first random number r i1 , an arbitrary first value R i1 , and an identity id i of the first device, and wherein the arbitrary first value R i1 is generated based on the first random number r i1 ; and
communicating with a second device to generate a common session key SK by using a self-certified identity based signature scheme, wherein the common session key SK is for encoding digital communications between the first and second devices with respect to an extended Transport Layer Security (TLS) protocol or an extended Datagram Transport Layer Security protocol (DTLS), wherein the identity id i of the first device is included in a certificate message of the first device and an identity id j of the second device is included in a certificate message of the second device, wherein the self-certified identity based signature scheme is dictated by the private key sk i and a private key sk j computed by the second device,
wherein the first set of parameters is generated based on:
retrieving the arbitrary first value R i1 , the identity id i of the first device, and a homomorphic encryption value c from the first set of components, wherein the arbitrary first value R i1 is generated based on the first random number r i1 and the homomorphic encryption value c is generated by providing the first random number r i1 and a prime number q obtained from the parameters associated with the master public key mpk to an additive homomorphic encryption function HEnc( ); and
setting an arbitrary value R i of the first device and a first integer s i1 as the parameters for the first device, wherein the arbitrary value R i of the first device is computed based on the arbitrary first value R i1 and the second random number r i2 , and wherein the first integer s i1 is computed by providing the second random number r i2 , the homomorphic encryption value c, the master secret key x, the arbitrary value R i of the first device, the identity id i of the first device, and the prime number q to the additive homomorphic encryption function HEnc( ).
US16/535,437
2017-02-09
2019-08-08
System and method for computing private keys for self certified identity based signature schemes
Active
2039-06-03
US11563565B2
( en )
Applications Claiming Priority (3)
Application Number
Priority Date
Filing Date
Title
SG10201701044SA
SG10201701044SA
( en )
2017-02-09
2017-02-09
System and method for computing private keys for self certified identity based signature schemes
SG10201701044S
2017-02-09
PCT/SG2018/050050
WO2018147800A1
( en )
2017-02-09
2018-02-07
System and method for computing private keys for self certified identity based signature schemes
Related Parent Applications (1)
Application Number
Title
Priority Date
Filing Date
PCT/SG2018/050050
Continuation
WO2018147800A1
( en )
2017-02-09
2018-02-07
System and method for computing private keys for self certified identity based signature schemes
Publications (2)
Publication Number
Publication Date
US20190372763A1
US20190372763A1 ( en )
2019-12-05
US11563565B2
true
US11563565B2 ( en )
2023-01-24
Family
ID=61569320
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US16/535,437
Active
2039-06-03
US11563565B2
( en )
2017-02-09
2019-08-08
System and method for computing private keys for self certified identity based signature schemes
Country Status (5)
Country
Link
US
( 1 )
US11563565B2
( en )
EP
( 1 )
EP3574609B1
( en )
CN
( 1 )
CN110268676B
( en )
SG
( 1 )
SG10201701044SA
( en )
WO
( 1 )
WO2018147800A1
( en )
Cited By (21)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20240056438A1
( en )
*
2021-05-17
2024-02-15
Matrics2, Inc.
Using globally-unique numbers for all secure unique transactions, authentications, verifications, and messaging identities
US12143265B1
( en )
2023-10-31
2024-11-12
Dell Products L.P.
Managing entitlements for data processing systems using out of band communication channels
US12306708B2
( en )
2023-10-31
2025-05-20
Dell Products L.P.
Managing unrecoverable errors for data processing systems using out of band communication channels
US12326964B2
( en )
2023-10-31
2025-06-10
Dell Products L.P.
Management of configuration of data processing systems
US12341764B2
( en )
2023-10-31
2025-06-24
Dell Products L.P.
Registration of a management controller with a message broker
US12348569B2
( en )
2023-10-31
2025-07-01
Dell Products L.P.
Managing policies for data processing systems using out of band communication channels
US12348650B2
( en )
2023-10-31
2025-07-01
Dell Products L.P.
Managing entitlements using ownership vouchers
US12360851B2
( en )
2023-10-31
2025-07-15
Dell Products L.P.
Managing data backup for data processing systems using out-of-band methods
US12425452B2
( en )
2023-10-31
2025-09-23
Dell Products L.P.
Device authentication using out-of-band communications
US12432219B2
( en )
2023-10-31
2025-09-30
Dell Products L.P.
Managing data processing systems based on location using out-of-band communications
US12438713B2
( en )
2023-10-31
2025-10-07
Dell Products L.P.
Management controller registration using a trusted platform module
US12450400B2
( en )
2023-10-31
2025-10-21
Dell Products L.P.
Out of band component validation
US12461823B2
( en )
2023-10-31
2025-11-04
Dell Products L.P.
Data recovery using out-of-band communications
US12470499B2
( en )
2023-10-31
2025-11-11
Dell Products L.P.
Managing operation of a data processing system using a management controller and a network module
US12468553B2
( en )
2023-10-31
2025-11-11
Dell Products L.P.
Managing user personas using a management controller
US12476794B2
( en )
2023-10-31
2025-11-18
Dell Products L.P.
Managing data processing systems in a distributed environment using a management controller
US12483568B2
( en )
2023-10-31
2025-11-25
Dell Products L.P.
Policy management for data processing systems using a management controller
US12507147B2
( en )
2023-10-31
2025-12-23
Dell Products L.P.
Managing update events for data processing systems using out of band communication channels
US12531913B2
( en )
2023-10-31
2026-01-20
Dell Products L.P.
Managing an endpoint detection and response framework using out of band communication channels
US12598213B2
( en )
2023-10-31
2026-04-07
Dell Products L.P.
Location-based policy enforcement for data processing systems using out-of-band methods
US12632580B2
( en )
2023-10-31
2026-05-19
Dell Products L.P.
Managing sanitization of data processing systems using out-of-band methods
Families Citing this family (25)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US10812974B2
( en )
*
2017-05-06
2020-10-20
Vmware, Inc.
Virtual desktop client connection continuity
EP3656145B1
( en )
*
2017-07-17
2023-09-06
Sonova AG
Encrypted audio streaming
US20190318118A1
( en )
*
2018-04-16
2019-10-17
International Business Machines Corporation
Secure encrypted document retrieval
US11005656B2
( en )
*
2018-12-07
2021-05-11
Arris Enterprises Llc
Embedding information in elliptic curve base point
CN110011781B
( en )
*
2019-03-04
2020-05-19
åä¸ç§æå¤§å¦
Homomorphic encryption method and medium for transaction amount encryption and supporting zero knowledge proof
US11601284B2
( en )
*
2019-06-14
2023-03-07
Planetway Corporation
Digital signature system based on a cloud of dedicated local devices
CN110336664B
( en )
*
2019-07-10
2021-07-20
西å®çµåç§æå¤§å¦
Cross-domain authentication method of information service entity based on SM2 cryptographic algorithm
KR102315632B1
( en )
*
2019-08-08
2021-10-21
íêµê³¼í기ì ì
System and method for generating scalable group key based on homomorphic encryption with trust server
CN110798475B
( en )
*
2019-11-05
2021-08-03
åè°·çµåæéå ¬å¸ä¸æµ·åå ¬å¸
A security authentication method, device, device and storage medium
US12099997B1
( en )
2020-01-31
2024-09-24
Steven Mark Hoffberg
Tokenized fungible liabilities
US11722312B2
( en )
*
2020-03-09
2023-08-08
Sony Group Corporation
Privacy-preserving signature
CN111431723A
( en )
*
2020-03-26
2020-07-17
æ²é³ç工大å¦
Zero-knowledge-proof-based authentication strategy for industrial environment mobile charging equipment
CN111416715B
( en )
*
2020-04-09
2022-11-01
å京å¦è¬éåç§ææéå ¬å¸
Quantum secret communication identity authentication system and method based on secret sharing
CN111866547B
( en )
*
2020-07-30
2022-07-15
å京ä¸åéä¿¡æ¯ææ¯æéå ¬å¸
Novel video tamper-proofing method
CN112713992B
( en )
*
2020-12-22
2022-07-01
æ¹åå·¥ä¸å¤§å¦
Certificate-free anti-leakage authentication and key agreement method and system
US20220209949A1
( en )
*
2020-12-30
2022-06-30
Psdl
Secure communication device and secure communication program
KR102336068B1
( en )
*
2020-12-30
2021-12-07
주ìíì¬ í¼ìì¤ëì
Security Door-lock, Device for Controlling Door-lock, Program for Controlling Door-lock and Server for Managing Door-lock
CN112988237B
( en )
*
2021-04-21
2021-07-23
æ·±å³è´æç§ææéå ¬å¸
Paillier decryption system, chip and method
CN113162751B
( en )
*
2021-04-25
2023-06-20
éåºé½ä¼ä¿¡æ¯ç§ææéå ¬å¸
Encryption method, system and readable storage medium with homomorphism
CN113468614B
( en )
*
2021-07-23
2024-10-18
æé½åæç§ææéå ¬å¸
Bulletproofs-based Kerberos cross-domain authentication method
CN114124465A
( en )
*
2021-10-28
2022-03-01
æµåæµªæ½®æ°æ®ææ¯æéå ¬å¸
A data transmission method, system, device and computer-readable storage medium
WO2023126491A1
( en )
*
2021-12-30
2023-07-06
Poola Oskar
Method and system for generating digital signatures using universal composition
EP4459925A1
( en )
*
2023-05-02
2024-11-06
Nagravision Sarl
Method for pairing a content provider system and a receiving device, corresponding computer program product and devices
CN116915409B
( en )
*
2023-06-02
2025-08-05
ä¸å½ç§å¦é¢è½¯ä»¶ç ç©¶æ
Linkable double-ring signature method and system based on identification
CN117478329B
( en )
*
2023-10-16
2024-04-26
æ¦æ±å¤§å¦
Multi-user collusion-resistant ciphertext retrieval method and equipment based on identity key encapsulation
Citations (24)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US5521980A
( en )
*
1993-08-02
1996-05-28
Brands; Stefanus A.
Privacy-protected transfer of electronic information
EP0661846B1
( en )
*
1993-12-30
2001-10-24
Jacques Stern
Method for authenticating at least one identification device by a verification device using a zero-knowledge protocol
US20060215837A1
( en )
*
2004-12-18
2006-09-28
Hewlett-Packard Development Company, L.P.
Method and apparatus for generating an identifier-based public/private key pair
US20080000969A1
( en )
2004-03-25
2008-01-03
Cryptomathic A/S
Electronic Voting Systems
US7353395B2
( en )
*
2002-03-21
2008-04-01
Ntt Docomo Inc.
Authenticated ID-based cryptosystem with no key escrow
US7487539B2
( en )
*
2001-03-22
2009-02-03
Novell, Inc.
Cross domain authentication and security services using proxies for HTTP access
CN101547099A
( en )
2009-05-07
2009-09-30
å¼ é®çº¢
Elliptical curve-based method and elliptical curve-based device for self-authenticating signature
CN101702804A
( en )
2009-11-23
2010-05-05
西å®çµåç§æå¤§å¦
Two-party key agreement method based on self-certified public key
CN102017510A
( en )
2007-10-23
2011-04-13
ä¸ç´ è¬
Method and structure for self-sealed joint proof-of-knowledge and Diffie-Hellman key-exchange protocols
US7930542B2
( en )
*
2008-04-07
2011-04-19
Safemashups Inc.
MashSSL: a novel multi party authentication and key exchange mechanism based on SSL
JP2011232475A
( en )
2010-04-27
2011-11-17
Mitsubishi Electric Corp
Encryption processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device
US20110289319A1
( en )
*
2008-01-07
2011-11-24
John Elwell
Method for authenticating key information between terminals of a communication link
US8464058B1
( en )
*
2008-04-08
2013-06-11
Hewlett-Packard Development Company, L.P.
Password-based cryptographic method and apparatus
US20140331309A1
( en )
*
2011-04-18
2014-11-06
Bank Of America Corporation
Secure Network Cloud Architecture
CN104486307A
( en )
2014-12-03
2015-04-01
ä¸å½çµåç§æéå¢å ¬å¸ç¬¬ä¸åç ç©¶æ
Decentralized key management method based on homomorphic encryption
CN104539423A
( en )
2014-12-16
2015-04-22
çè£å
Achievement method of certificate-less public key cryptosystem without bilinear pairing operation
US9106410B2
( en )
*
2009-02-17
2015-08-11
Alcatel Lucent
Identity based authenticated key agreement protocol
CN105162585A
( en )
2015-08-25
2015-12-16
æ¸ å大å¦
Efficient privacy protecting session key agreement method
US20160072775A1
( en )
*
2014-09-05
2016-03-10
Samsung Sds Co., Ltd.
System and method for key exchange based on authentication information
CN105959269A
( en )
2016-04-25
2016-09-21
å京ç工大å¦
ID-based authenticated dynamic group key agreement method
US20160330017A1
( en )
*
2015-05-08
2016-11-10
Electronics And Telecommunications Research Institute
Method and system for additive homomorphic encryption scheme with operation error detection functionality
CN106161405A
( en )
2015-04-21
2016-11-23
䏿µ·äº¤é大å¦
Calculate safely implementation method based on the privacy protectable information of Homomorphic Encryption Scheme
US20160344557A1
( en )
*
2015-05-06
2016-11-24
Morpho
Method for generating a message signature from a signature token encrypted by means of a homomorphic encryption function
CN106341232A
( en )
2016-09-18
2017-01-18
ä¸å½ç§å¦é¢è½¯ä»¶ç ç©¶æ
Anonymous entity identification method based on password
2017
2017-02-09
SG
SG10201701044SA
patent/SG10201701044SA/en
unknown
2018
2018-02-07
CN
CN201880011027.7A
patent/CN110268676B/en
not_active
Expired - Fee Related
2018-02-07
WO
PCT/SG2018/050050
patent/WO2018147800A1/en
not_active
Ceased
2018-02-07
EP
EP18709096.4A
patent/EP3574609B1/en
active
Active
2019
2019-08-08
US
US16/535,437
patent/US11563565B2/en
active
Active
Patent Citations (24)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US5521980A
( en )
*
1993-08-02
1996-05-28
Brands; Stefanus A.
Privacy-protected transfer of electronic information
EP0661846B1
( en )
*
1993-12-30
2001-10-24
Jacques Stern
Method for authenticating at least one identification device by a verification device using a zero-knowledge protocol
US7487539B2
( en )
*
2001-03-22
2009-02-03
Novell, Inc.
Cross domain authentication and security services using proxies for HTTP access
US7353395B2
( en )
*
2002-03-21
2008-04-01
Ntt Docomo Inc.
Authenticated ID-based cryptosystem with no key escrow
US20080000969A1
( en )
2004-03-25
2008-01-03