Accelerated Key Agreement With Assisted Computations
First Claim
1. A method of obtaining a secret value for use in a cryptographic operation, the secret value combining a private key, x, of one computing device with a public key, Y, of another computing device to obtain a secret value xY, the method comprising:
- the one computing device computing a pair of scalars xo, x1 such that x=xo+x1t where t is a scaling factor;
the one computing device receiving a supplementary public key tY;
the one computing device combining the scalars and the public keys to compute the secret value xY as a linear combination of the scalars and the public keys; and
the one computing device utilising the secret value as a key in a cryptographic operation.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for obtaining a secret value for use as a key in a cryptographic operation, the secret value combining a private key, x, of one computing device with a public key, Y, of another computing device to obtain a secret value xY. The method includes obtaining a pair of scalars xo, x1 such that x=xo+x1 t where t is a scaling factor; obtaining a supplementary public key t Y; combining the scalars and the public keys to obtain a representation of the secret value xY as a linear combination of the scalars and the public keys; and utilising the secret value as a key in a cryptographic operation performed by the one computing device.
48 Citations
25 Claims
-
1. A method of obtaining a secret value for use in a cryptographic operation, the secret value combining a private key, x, of one computing device with a public key, Y, of another computing device to obtain a secret value xY, the method comprising:
-
the one computing device computing a pair of scalars xo, x1 such that x=xo+x1t where t is a scaling factor; the one computing device receiving a supplementary public key tY; the one computing device combining the scalars and the public keys to compute the secret value xY as a linear combination of the scalars and the public keys; and the one computing device utilising the secret value as a key in a cryptographic operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computing device comprising a cryptographic unit and a memory, the computing device configured to communicate with another computing device, and the computing device storing computer readable instructions to obtain a secret value for use in a cryptographic operation, the secret value combining a private key, x, of the computing device with a public key, Y, of the other computing device to obtain a secret value xY, the computer readable instructions comprising:
-
computing a pair of scalars xo, x1 such that x=xo+x1t where t is a scaling factor; receiving a supplementary public key tY; combining the scalars and the public keys to compute the secret value xY as a linear combination of the scalars and the public keys; and utilising the secret value as a key in a cryptographic operation performed by the computing device.
-
-
14. A method of obtaining a secret value for use in a cryptographic operation, the secret value combining,
from one computing device, a private static key a, a private ephemeral key x, and a representation X of an ephemeral, public key X, the ephemeral public key corresponding to the ephemeral private key,with, from another computing device, an ephemeral public key Y, a representation Y of the ephemeral public key Y, and a static public key B,to obtain a secret value (x+a X ) (Y+Y B), the method comprising:-
the one computing device computing a pair of scalars α
o, α
1 such that α
=α
o+α
1t where t is a scaling factor and where α
=(x+aX );the one computing device computing another pair of scalars γ
o, γ
1 such that γ
=γ
o+γ
1t and γ
=α
Y ;
1the one computing device receiving a supplementary ephemeral public key tY and a supplementary static public key tB; the one computing device combining the scalars and the public keys to compute the secret value (x+a X ) (Y+Y B) as a linear combination of the scalars and the public keys; andthe one computing device utilising the secret value as the key in the cryptographic operation. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computing device comprising a cryptographic unit and a memory, the computing device configured to communicate with another computing device, and the computing device storing computer readable instructions to obtain a secret value for use in a cryptographic operation, the secret value combining,.
from the computing device, a private static key a, an ephemeral private key x, and a representation X of an ephemeral public key X, the ephemeral public key corresponding to the ephemeral private key,with, from another computing device, an ephemeral public key Y, a representation Y of the ephemeral public key Y, and a static public key B,to obtain (x+a X ) (Y+Y B), the computer readable instructions comprising:-
computing a pair of scalars α
o, α
1 such that α
+α
o+α
1t where t is a scaling factor and where α
=(x+aX );computing another pair of scalars γ
o, γ
1 such that γ
=γ
0+γ
1t and γ
=α
Y ;receiving a supplementary ephemeral public key t Y and a supplementary static public key tB; combining the scalars and the public keys to compute the secret value (x+a X ) (Y+Y B) as a linear combination of the scalars and the public keys; andutilising the secret value as the key in the cryptographic operation performed by the computing device.
-
Specification