WO2010069063A1 - Acceleration of key agreement protocols - Google Patents
Acceleration of key agreement protocols Download PDFInfo
- Publication number
- WO2010069063A1 WO2010069063A1 PCT/CA2009/001846 CA2009001846W WO2010069063A1 WO 2010069063 A1 WO2010069063 A1 WO 2010069063A1 CA 2009001846 W CA2009001846 W CA 2009001846W WO 2010069063 A1 WO2010069063 A1 WO 2010069063A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- correspondent
- public key
- long
- term
- Prior art date
Links
- 230000001133 acceleration Effects 0.000 title description 6
- 230000007774 longterm Effects 0.000 claims abstract description 66
- 239000000654 additive Substances 0.000 claims abstract description 7
- 230000000996 additive effect Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 53
- 238000004891 communication Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 description 8
- 238000010200 validation analysis Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Definitions
- ECC elliptic curve cryptography
- Digital signatures are a class of cryptographic protocols used to provide authentication. As in all public key systems, a sender has a private key and a corresponding public key that are related to one another mathematically. The public key is made available and authenticated to other users through a certificate or a directory. The sender signs a message using their private key, and a recipient is able to verify the signature by using the authentic public key. Such systems are based on a "hard" mathematical problem, such as the factoring of numbers produced by products of large primes or the difficulty of taking logs in a finite field. The difficulty of the underlying problem provides assurance that only the owner of the private key could generate a signature that will verify using the owner's public key.
- the users are computing devices that exchange information over a data communication network and are generally referred to as correspondents. The correspondents are colloquially referred to by personal names Alice, Bob, etc. for ease of description.
- Figure 1 is a schematic representation of a cryptographic system
- Figure 2 is a flowchart showing a known method of key agreement using the ECMQV protocol
- Figure 3 is a flowchart showing details of an embedded key validation step from Figure 2;
- Figure 4 is a flowchart showing an embodiment of an accelerated key agreement according to ECMQV
- Figure 5 is a flowchart showing details of the accelerated computation of the shared secret key from Figure 4 performed by one correspondent
- Figure 6 is a flowchart showing details of the accelerated computation of the shared secret key from Figure 4 performed by one correspondent
- Figure 7 is a flowchart showing details of the accelerated computation of the shared secret key from Figure 4 performed by another correspondent
- Figure 8a is a flowchart showing a known method of simultaneous scalar multiplication using ECMQV protocols
- Figure 8b is a flowchart showing an accelerated method of simultaneous scalar multiplication using the techniques of Figure 6 and Figure 7;
- Figure 9 is a flowchart showing a known method of key agreement using MQV protocols over multiplicative groups
- Figure 10 is a flowchart showing an embodiment of accelerated key agreement using MQV protocols over multiplicative groups
- Figure 11 a is a flowchart showing a method of simultaneous exponentiation from Figure 9;
- Figure 1 Ib is a flowchart showing a method of accelerated simultaneous exponentiation from Figure 10;
- Figure 12 is a flowchart showing an alternative embodiment of accelerated key agreement using the MQV protocol with parallel architecture
- Figure 13 is a flowchart showing an alternative embodiment of accelerated key agreement using an MQV protocol with single key transfer
- Figure 14 is a flowchart showing an alternative embodiment of accelerated key agreement using MQV with parallel architecture and single key transfer.
- Figure 15 is a flowchart showing an another alternative embodiment of accelerated key agreement using an MQV protocol with single key transfer
- Figure 16 is a flowchart showing an another alternative embodiment of accelerated key agreement using MQV with parallel architecture and single key transfer.
- FIG. 17 is a flowchart showing an alternative embodiment of MTI protocol.
- the MQV (Menezes, Qu, Vanstone) protocol belongs to the family of key agreement protocols, which provides a method of sharing a key between two users of a public key cryptosystem and that provides authentication of the key. This protocol is described in U.S. Pat. No. 5,761,305, U.S. Pat. No. 5,889,865, U.S. Pat. No. 5,896,455, and U.S. Pat. No. 6,122,736.
- MQV key agreement protocol may be implemented in both multiplicative groups defined over a finite field, or using additive groups, such as elliptic curve groups.
- additive groups such as elliptic curve groups.
- Notation for MQV is given in the table below.
- a multiplicative group version of the MQV protocol is described below. Specifically, a pair of correspondents Alice and Bob use a two-pass MQV variant to share a key, denoted as K.
- Alice selects k ⁇ at random from the interval 1 to (#-1), where q is the order of the group.
- MQV Elliptic Curve MQV
- ECMQV Elliptic Curve MQV
- K hs B (R A + RAQ 4 ) , where h is the cofactor of the group.
- a ' is a point having coordinates (x,y) and Bob performs a Key Derivation Function (KDF) using the x-coordinate of K as its input to derive two ancillary keys, k ⁇ and £ 2 . This is denoted as ( ⁇ 1 , £ 2 ) ⁇ -KDF(x ⁇ ).
- MAC Message Authentication Code
- Alice performs embedded public key validation of R B to ensure R B is a point not located at infinite, is an element of the group, and is a point that lies on the elliptic curve. 10.
- Alice computes s A - ⁇ k A + d A R A ) mod q and K - hs ⁇ ⁇ R B + RBQ B ) , where h is the cofactor of the group.
- Alice computes ⁇ k ⁇ , ki) as described at step 6 above.
- the agreed session key then becomes £ 2 .
- a cryptographic system 10 generally comprises a first correspondent 12 referred to as “Alice”, that communicates with a second correspondent 14 referred to as “Bob", over a communication channel 16.
- Each correspondent 12,14 is a computing device, such as a computer, server, cell phone, PDA, ATM or the like, that includes processors, memory, power supplies, input and output devices necessary to perform the designated functions.
- Each correspondent 12,14 includes a cryptographic module 18, which either has its own memory 20 for storing inputs, outputs and intermediate portions of cryptographic operations, or has access to an external memory 20 that is part of the correspondent (12, 14).
- the first correspondent 12 includes a memory 20 external to the cryptographic module 18 and the second correspondent 14 includes memory 20 that is internal to the cryptographic module 18 to illustrate that the capability to store data can be provided in any suitable arrangement. It will also be appreciated that the memory 20 can be external to and accessible (e.g. via a network connection etc.) to the correspondent 12, 14 if necessary or desired.
- the cryptographic module 18 is configured to perform cryptographic operations such as encryption/decryption, signing and modular arithmetic, etc.
- the cryptographic module 18 includes a random number generator 22, secure storage 30 to store private keys and an arithmetic logic unit ALU 28 to perform cryptographic operations.
- the memory 30 may comprise all or part of the memory 20 (shown in Figure 1) or may be provided as a separate component in the cryptographic module 18 as shown.
- the memory 30 may include random access memory (RAM), read only memory (ROM) and/or any other type of suitable memory structure.
- Computational operations of the ALU 28 are controlled via hard- wired or programmed instructions residing in or accessible to a controller 24 and communicated to the ALU 28 via an instruction bus 35.
- a memory bus 36 is also provided to enable the controller 24 to utilize memory 30 when performing and outputting results of the operations of the ALU 28.
- the ALU 28 may be used to perform a variety of operations under the direction of controller 24.
- any module or component exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non- removable) such as, for example, magnetic disks, optical disks, or tape.
- Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the controller 24 or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.
- the cryptographic module also includes a comparator 39 to compare data stored in memory 20.
- the correspondents 12, 14, each share parameters of an elliptic curve cryptosystem with an elliptic curve group E defined over finite field Fp.
- the parameters which include a base point P, are stored in the memory 30 and accessible to the controller 24. Similar operations can implement elliptic curves over extension fields or higher genus curves, such as hyperelliptic curves.
- Each correspondent 12,14 has a long-term private key CI A , d ⁇ respectively in the form of computer readable bit strings representing integers, and a corresponding long- term public key QA, Q B , respectively.
- the public keys Q A , QB are each a pair of elements in the underlying field that satisfy the equation of the elliptic curve.
- the pubic keys represent points on the elliptic curve with the elements representing the (x,y) coordinates of the points.
- Each correspondent 12,14 has access to an authentic copy of the other correspondent's long- term public key, either as a certificate provided from one correspondent to the other, and signed by a certification authority, (CA), or directly from a CA.
- CA certification authority
- the first correspondent can accelerate the computation of the MQV shared secret key using a single scalar multiplication operation or single exponentiation operation, instead of two operations or a linear combination.
- the reduced number of intensive computations required to determine the shared secret key K accelerates the MQV protocol.
- the ephemeral public key and long-term public key of a correspondent may be identical either unintentionally or intentionally. There may be situations where it is suitable to intentionally set the ephemeral public key to be identical with the long-term public key.
- an authenticated public key also referred to as a certificate
- a financial bank's on-line server may operate using certificates, while the on-line banking client uses an Internet browser to securely connect to the server without a certificate. The client may not require a certificate to connect with the bank's server because the client's ephemeral key and long-term key are intentionally set to be identical.
- FIG. 2 A method of computing a shared secret key through the three-pass ECMQV protocol is shown in Figure 2 generally by numeral 200.
- the steps shown in Figure 2 represent the framework within which an acceleration of the ECMQV protocol may be obtained.
- Alice initiates the session and implements a set of instructions (210), in which she first randomly selects an integer as an ephemeral private key kj between 1 to (q- 1) (212), where q is the order of the group.
- Alice then sends her long-term public key QA and ephemeral public key R A to Bob (216).
- Bob then performs a set of instructions (220). He performs an embedded public key validation (300) on the received public key R A, before randomly selecting his own ephemeral private key, k ⁇ , between 1 and (q- ⁇ ) (224). Embedded key validation is shown in detail in Figure 3 by numeral 300.
- the public key in this case R A , is verified according to the condition that R A is not the point at infinity, i.e. R A ⁇ ⁇ (302). If this condition (302) is true, then the next condition (304) is verified, such that the Cartesian coordinates of RA are properly represented elements within the finite field F q .
- R B is a truncated version of R B in order to reduce the bit length, thereby increasing computing efficiency.
- the shared secret key, K is dependent on (R A + R A Q A ) .
- the x-coordinate of K is used to derive two other secret keys k ⁇ and A 2 through a suitable Key Derivation Function (KDF) (232). These secret keys kj, k 2 are used to compute authentication tags using a Message Authentication Code (MAC).
- MAC Message Authentication Code
- the string "2" is included in the MAC input to indicate that the tag originates from the responder. He then passes parameters Q B , R B , and t B to Alice (236).
- the string "3" is included in the MAC input to indicate that the tag originates from the initiator.
- the most computationally intensive aspect of the ECMQV protocol described above is the scalar multiplication operation, more commonly referred to as point- multiplication.
- the efficiency of a ECMQV protocol is measured using the number of scalar multiplications required to compute the shared secret key.
- both Alice and Bob each perform 1.5 scalar multiplications to compute K in the above format.
- the ALU (28) computes K - hs A (R B + R BQ B ) (246).
- the multiplication R BQ B is performed, where R B is an integer and Q B is a point on the elliptic curve. Since RB has been truncated and has a shorter bit length, the operation R BQ B costs half of a scalar multiplication, or 0.5 scalar multiplications.
- the next scalar multiplication occurs when calculating the product between integer hs A and elliptic curve point (R B + RBQ B ) , which costs 1 full scalar multiplication.
- FIG 4 an embodiment of accelerating an ECMQV protocol by reducing the number of scalar multiplications is shown when it is identified that a pair of identical public keys is used by a correspondent
- both Alice and Bob intentionally set their respective ephemeral public key to be identical to their long-term public key.
- the accelerated algorithm begins with Alice performing a block of instructions (211), including randomly selecting an ephemeral private key k ⁇ (212), intentionally selecting ephemeral public key RA to be equal to long-term key Q ⁇ (215), and sending Q ⁇ and RA to Bob (216).
- Bob determines whether the keys are identical. As shown in Figure 4, Bob begins to perform a series of instructions (610) by first comparing QA and R A (612). If Q A does not equal R A , Bob continues with the set of steps 221. Referring to FIG. 5, the set 221 is shown in more detail. Although set 221 is similar to the series of steps explained previously in the set 220, set 221 does not compute R B using the ephemeral private key kg. Instead, in the set 221 , Bob intentionally selects RB to equal Q B , as per step 227.
- Bob then computes the authentication tag t B using a MAC algorithm (724). He then sends Q B , R B , and t B to Alice (726). [0057] It is appreciated that Bob may carry out a public key comparison (612) if he is not certain that Alice may intentionally set her ephemeral public key RA to equal her long- term public key Q A - If Bob has determined that Alice's ephemeral and long-term public keys are identical, for example through some agreement established beforehand, then Bob may choose not to implement a public key comparison (612), thereby reducing the computational load. Therefore, upon receiving Alice's pair of public keys, Bob may directly employ an accelerated scalar multiplication format (701).
- step 216 may proceed directly to step 701 if it is understood beforehand that the public keys are identical. It is understood that Alice may also choose not to perform a comparison (616), given that Alice knows beforehand that Bob has intentionally set his ephemeral and long-term public keys to be identical. Similarly, from steps 236 or 726 the algorithm may proceed directly to step 800. In the specific example referred to in Figure 4, however, the determination is made by a comparison of both Alice and Bob.
- This pre-identified condition may be used to create a pre- computed table of multiples of the public key Q ⁇ , which are combined to provide the scalar uQ A . This will further accelerate the computation of the shared secret key K.
- the ability to determine whether or not the public keys are the same offers versatility in communication between the correspondents. For example, Alice may use two different public keys but Bob may use identical public keys if more convenient. For example, if Bob is a computing device with limited computing power he may choose not to perform the scalar multiplication associated with the ephemeral public key.
- Alice will ascertain this upon receipt of the data from Bob and can expedite the computation of the shared key.
- Alice may choose to use identical public keys, allowing Bob to expedite computation of the shared key, but Bob may choose to use different public keys for communicating with Alice.
- both Alice and Bob may each choose to use respective identical public keys and each will expedite computation of the shared key.
- tables may be used to further accelerate the MQV process.
- the cost savings gained by identifying pairs of identical public keys may be applied to the methods described for implementing simultaneous multiple point- multiplication.
- a method conventionally used to speed the computation is to employ multiple point-multiplication, also referred to as Shamir's trick.
- the original equation of the shared secret key i.e. K - hs A (R B + R BQ 8 )
- the original equation of the shared secret key i.e. K - hs A (R B + R BQ 8 )
- a window width of a predetermined number of bits w is first established (902). Then a table (920) of small multiples of a of R 8 is established (904) and a table (922) of small multiples of ⁇ of Q B is established (906).
- the above simultaneous multiple point-multiplication method may be further accelerated when a correspondent's pair of public keys are identical.
- two tables (920, 922) are required to perform simultaneous multiplication.
- the scalars hs A and hs A R ⁇ are examined using windows of the window width w (930).
- the scalar multiples of R B that correspond to each window are retrieved (932) and stored into an accumulator (934).
- the accumulator is then doubled w times in accordance with the width w of the window (936), and then the next window is examined (938).
- the scalars are repeatedly examined and table entries added into the accumulator and the accumulator is doubled w times for each repetition as described above (944) until the shared secret K is computed (940).
- the acceleration of the key agreement protocol using pairs of identical public keys is also applicable to implementations using multiplicative groups.
- the implementations described above utilise elliptic curve groups in which group operations are referred to by an additive notation.
- Other groups such as the group Fp, which is the set of non-zero integers module p, use multiplicative notation.
- the additive notation in an elliptic curve setting is replaced by multiplicative notation in a multiplicative group setting.
- the method for generally computing a shared secret key K using MQV in a multiplicative group setting is shown by the numeral 1000.
- an ephemeral private key K A is selected at random from the interval 1 to ⁇ q- ⁇ ) (1012), where q is the order of the group.
- an ephemeral private key k ⁇ is selected at random from the interval 1 to (q-1) (1022).
- FIG. 10 an embodiment for accelerating the implementation of Figure 9 for multiplicative groups is shown. Similar to the accelerated ECMQV described above, the number of intensive computations is reduced when the pair of public keys have the same value.
- Alice selects an ephemeral private key k A at random from the interval 1 to (q- ⁇ ). Alice intentionally selects the ephemeral public key R A to equal long- term public key Q A (1015), and sends R A and Q A to Bob (1016).
- Bob selects an ephemeral private key k ⁇ at random from the interval 1 to (q- ⁇ ).
- Bob intentionally selects the ephemeral public key R B to equal the long-term public key Q B (1025), and then sends R B and Q B to Alice (1026).
- R B ⁇ Q B
- the comparison process (1 114, 1126) may be required if Alice and Bob are uncertain if the other will use identical public keys. In the case when Alice and Bob are certain that pairs of identical public keys may be employed, then the comparison process (1114, 1126) may be avoided and the accelerated MQV protocol may be applied directly.
- This rearrangement allows the key to be computed by using a technique known as simultaneous multiple exponentiation, which uses only one set of squares.
- a window width of a predetermined number of bits w is first established (1202). Then a table (1220) of small exponents a of R B is established (1204) and a table (1222) of small exponents ⁇ o ⁇ Q B is established (1206).
- the exponents hs A and HSAR B are then examined using windows of the window width w (1208).
- the results of the exponentiation of R B and Q B by an exponent corresponding to each window are retrieved from each respective table (1210).
- the product of the table entries from the two windows is multiplied into an accumulator (1212).
- the value in the accumulator is then squared w times in accordance with the width w of the window (1214), after which the next window is examined (1216).
- the scalars are repeatedly examined, table entries multiplied and stored in the accumulator, and the accumulator squared w times for each repetition as described above (1224) until the shared secret K is computed (1218).
- a preferred embodiment of the accelerated MQV method eliminates one of the exponentiation tables (1222) if the pair of public keys are identical.
- steps 1120 and 1132 may use a corresponding accelerated algorithm described herein.
- the accelerated simultaneous exponentiation begins by establishing a window width of w bits (1226), followed by establishing a table of the result of exponentiation of R B by small exponents (1228, 1242).
- the exponents hs A and hs A R ⁇ are examined using windows of the window width w (1230).
- the powers of R 8 that correspond to each window are retrieved (1232) and stored into an accumulator (1234).
- the accumulator is then squared w times in accordance with the width w of the window (1236), and then the next window is examined (1238).
- the scalars are repeatedly examined and table entries added into the accumulator and the accumulator squared w times for each repetition as described above (1244) until the shared secret K is computed (1240).
- steps 1330 and 1340 may not be necessary if Alice and Bob know that an accelerated algorithm using pairs of identical keys is being used. In other words, Alice does not need to verify if Bob's keys pairs are identical (1330), if she already knows beforehand. Therefore, in the above case, from step 1320, the algorithm may proceed directly to step 1370. Similarly, from step 1310, the algorithm may proceed directly to step 1380.
- the data size savings may also be applied in a parallel architecture for accelerated MQV algorithms.
- each correspondent has the option of intentionally selecting the ephemeral public key to be identical with the long-term public key.
- the variable Equal may be a Boolean parameter of a small bit size, for example 1 bit, that indicates whether the pair of public keys are identical or not identical.
- a Boolean parameter of a small bit size for example 1 bit.
- the data-size savings may also be applied in a parallel architecture for accelerated MQV algorithms.
- Each of the above examples indicates that the public keys are sent from one correspondent to the other.
- the long-term public keys may be obtained alternatively from a certificate authority, from directories or stored within the memory 30 from previous exchanges. Where only long-term public keys are used, therefore, the direct transfer of information between the correspondents may originate with the exchange of the MAC, t ⁇ .
- acceleration based on identical public keys is not limited to MQV algorithms.
- Other algorithms comprising a linear combination of an ephemeral public key and a long-term public key may also be suitable.
- MTI protocols are the MTI protocols, as described at page 518 of the Handbook of Applied Cryptology, Menzes et al. ISBN 0-8493-8523-7.
- the MTI AO protocol may be implemented with Alice and Bob having respective long-term private/public keys a,Z ⁇ and 6,Z B and the long-term public keys Z A , Z B are exchanged with or made available to the other correspondent.
- Alice generates an ephemeral private key x, and computes a corresponding ephemeral public key, a x , which is sent to Bob.
- Bob similarly would normally generate an ephemeral private key y and send the ephemeral public key or y to Alice.
- the shared key K is computed at Alice from ( a y f Z/ and at Bob from ( a x ) b Z/.
- One exponentiation is performed at both Bob and Alice to reduce the overall computational load.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011541044A JP5329676B2 (en) | 2008-12-16 | 2009-12-16 | Accelerating key agreement protocols |
EP09832777.8A EP2359523B1 (en) | 2008-12-16 | 2009-12-16 | Acceleration of key agreement protocols |
CA2746830A CA2746830C (en) | 2008-12-16 | 2009-12-16 | Acceleration of key agreement protocols |
CN200980156789.7A CN102318260B (en) | 2008-12-16 | 2009-12-16 | The acceleration of key agreement protocol |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12293608P | 2008-12-16 | 2008-12-16 | |
US61/122,936 | 2008-12-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010069063A1 true WO2010069063A1 (en) | 2010-06-24 |
Family
ID=42242002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2009/001846 WO2010069063A1 (en) | 2008-12-16 | 2009-12-16 | Acceleration of key agreement protocols |
Country Status (6)
Country | Link |
---|---|
US (1) | US8639931B2 (en) |
EP (1) | EP2359523B1 (en) |
JP (1) | JP5329676B2 (en) |
CN (1) | CN102318260B (en) |
CA (1) | CA2746830C (en) |
WO (1) | WO2010069063A1 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2334008A1 (en) * | 2009-12-10 | 2011-06-15 | Tata Consultancy Services Limited | A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure |
WO2012003586A1 (en) * | 2010-07-08 | 2012-01-12 | Certicom Corp. | System and method for performing device authentication using key agreement |
EP2493112B1 (en) * | 2011-02-28 | 2018-02-28 | Certicom Corp. | Accelerated key agreement with assisted computations |
US8549299B2 (en) * | 2011-02-28 | 2013-10-01 | Certicom Corp. | Accelerated key agreement with assisted computations |
CN102412971B (en) | 2011-11-30 | 2015-04-29 | 西安西电捷通无线网络通信股份有限公司 | SM2 key exchange protocol based key agreement method and device |
US8787564B2 (en) | 2011-11-30 | 2014-07-22 | Certicom Corp. | Assessing cryptographic entropy |
US8989374B2 (en) * | 2012-06-15 | 2015-03-24 | Kabushiki Kaisha Toshiba | Cryptographic device for secure authentication |
US8948400B2 (en) * | 2012-06-15 | 2015-02-03 | Kabushiki Kaisha Toshiba | Host device |
US8898463B2 (en) * | 2012-06-15 | 2014-11-25 | Kabushiki Kaisha Toshiba | Device |
US8948386B2 (en) | 2012-06-27 | 2015-02-03 | Certicom Corp. | Authentication of a mobile device by a network and key generation |
US8971851B2 (en) | 2012-06-28 | 2015-03-03 | Certicom Corp. | Key agreement for wireless communication |
US9088408B2 (en) | 2012-06-28 | 2015-07-21 | Certicom Corp. | Key agreement using a key derivation key |
CN103414569B (en) * | 2013-08-21 | 2016-08-10 | 王威鉴 | A kind of method of the public key cryptography setting up attack resistance |
US9178699B2 (en) | 2013-11-06 | 2015-11-03 | Blackberry Limited | Public key encryption algorithms for hard lock file encryption |
US9591479B1 (en) * | 2016-04-14 | 2017-03-07 | Wickr Inc. | Secure telecommunications |
US10348502B2 (en) | 2016-09-02 | 2019-07-09 | Blackberry Limited | Encrypting and decrypting data on an electronic device |
US10341102B2 (en) | 2016-09-02 | 2019-07-02 | Blackberry Limited | Decrypting encrypted data on an electronic device |
JP6818220B2 (en) * | 2017-10-19 | 2021-01-20 | 三菱電機株式会社 | Key sharing device, key sharing method and key sharing program |
SG11202005567QA (en) * | 2017-12-13 | 2020-07-29 | Nchain Holdings Ltd | System and method for securely sharing cryptographic material |
WO2019231392A1 (en) * | 2018-05-30 | 2019-12-05 | 华为国际有限公司 | Key exchange system, method, and apparatus |
CN112468291A (en) * | 2020-11-02 | 2021-03-09 | 深圳依时货拉拉科技有限公司 | Method, device and system for synchronizing sensitive data, computer equipment and computer readable storage medium |
WO2022146437A1 (en) * | 2020-12-30 | 2022-07-07 | Pqsecure Technologies, Llc | High-performance systems to validate isogeny-based cryptography keys |
US20240048382A1 (en) * | 2022-08-03 | 2024-02-08 | 1080 Network, Llc | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761305A (en) | 1995-04-21 | 1998-06-02 | Certicom Corporation | Key agreement and transport protocol with implicit signatures |
US5889865A (en) | 1995-05-17 | 1999-03-30 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
CA2306282A1 (en) * | 1997-10-17 | 1999-04-29 | Certicom Corp. | Accelerated signature verification on an elliptic curve |
US6122736A (en) | 1995-04-21 | 2000-09-19 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
US20030123668A1 (en) * | 2001-12-31 | 2003-07-03 | Robert Lambert | Method and apparatus for computing a shared secret key |
CA2550362A1 (en) * | 2005-06-14 | 2006-12-14 | Certicom Corp. | Enhanced key agreement and transport protocol |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424712B2 (en) * | 1997-10-17 | 2002-07-23 | Certicom Corp. | Accelerated signature verification on an elliptic curve |
US7340600B1 (en) * | 2000-01-14 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Authorization infrastructure based on public key cryptography |
JP2003131568A (en) * | 2001-10-26 | 2003-05-09 | Hitachi Ltd | Method and device for elliptic curve signature verification and storage medium |
CA2592875C (en) * | 2005-01-18 | 2016-09-06 | Certicom Corp. | Accelerated verification of digital signatures and public keys |
US7747865B2 (en) * | 2005-02-10 | 2010-06-29 | International Business Machines Corporation | Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols |
US7908482B2 (en) * | 2005-08-18 | 2011-03-15 | Microsoft Corporation | Key confirmed authenticated key exchange with derived ephemeral keys |
CN101047494A (en) * | 2006-05-14 | 2007-10-03 | 华为技术有限公司 | Method and system of key consultation in PON system |
-
2009
- 2009-12-16 US US12/639,710 patent/US8639931B2/en active Active
- 2009-12-16 WO PCT/CA2009/001846 patent/WO2010069063A1/en active Application Filing
- 2009-12-16 EP EP09832777.8A patent/EP2359523B1/en active Active
- 2009-12-16 CN CN200980156789.7A patent/CN102318260B/en active Active
- 2009-12-16 JP JP2011541044A patent/JP5329676B2/en active Active
- 2009-12-16 CA CA2746830A patent/CA2746830C/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761305A (en) | 1995-04-21 | 1998-06-02 | Certicom Corporation | Key agreement and transport protocol with implicit signatures |
US6122736A (en) | 1995-04-21 | 2000-09-19 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
US5889865A (en) | 1995-05-17 | 1999-03-30 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
US5896455A (en) | 1995-05-17 | 1999-04-20 | Certicom Corporation | Key agreement and transport protocol with implicit signatures |
CA2306282A1 (en) * | 1997-10-17 | 1999-04-29 | Certicom Corp. | Accelerated signature verification on an elliptic curve |
US20030123668A1 (en) * | 2001-12-31 | 2003-07-03 | Robert Lambert | Method and apparatus for computing a shared secret key |
CA2550362A1 (en) * | 2005-06-14 | 2006-12-14 | Certicom Corp. | Enhanced key agreement and transport protocol |
Non-Patent Citations (1)
Title |
---|
See also references of EP2359523A4 |
Also Published As
Publication number | Publication date |
---|---|
CN102318260A (en) | 2012-01-11 |
EP2359523A4 (en) | 2013-12-25 |
JP2012512574A (en) | 2012-05-31 |
EP2359523B1 (en) | 2017-04-05 |
CA2746830C (en) | 2016-06-07 |
US20100153728A1 (en) | 2010-06-17 |
JP5329676B2 (en) | 2013-10-30 |
US8639931B2 (en) | 2014-01-28 |
CA2746830A1 (en) | 2010-06-24 |
CN102318260B (en) | 2016-04-20 |
EP2359523A1 (en) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8639931B2 (en) | Acceleration of key agreement protocols | |
Debiao et al. | An ID-based client authentication with key agreement protocol for mobile client–server environment on ECC with provable security | |
CN101641905B (en) | Implicit certificate verification | |
CA2525894C (en) | Key agreement and transport protocol | |
CA2228958C (en) | Data card verification system | |
CA2369545C (en) | Method and apparatus for elliptic curve scalar multiplication | |
US8549299B2 (en) | Accelerated key agreement with assisted computations | |
CA2855099C (en) | Key agreement protocol for generating a shared secret key for use by a pair of entities in a data communication system | |
Van Dijk et al. | Speeding up exponentiation using an untrusted computational resource | |
Tzeng et al. | Digital signature with message recovery and its variants based on elliptic curve discrete logarithm problem | |
Minh et al. | Blind signature protocol based on difficulty of simultaneous solving two difficult problems | |
US20160352689A1 (en) | Key agreement protocol | |
EP2493112B1 (en) | Accelerated key agreement with assisted computations | |
WO2016187690A1 (en) | Key agreement protocol | |
Mangipudi et al. | Authentication and Key Agreement Protocols Preserving Anonymity. | |
Thadvai et al. | A novel authenticated encryption scheme with convertibility | |
EP2315389A2 (en) | Key agreement and transport protocol with implicit signatures | |
Okyere-Gamfi et al. | An Enhanced Asymmetric Cryptosystem using Multiple Key System | |
Kar | Id-based deniable authentication protocol suitable for mobile devices | |
Yang et al. | A secure and efficient key exchange protocol for mobile communications | |
Hsu et al. | Provably secure message recovery limited verifier signature scheme with low cost | |
Bakuri | Security Analysis and Implementation of Password-based Cryptosystem | |
Kommera et al. | A Closer look at RSA and ECC | |
Tang et al. | Digital signature with message recovery and its variants based | |
Krishna et al. | Providing Information Security Using Public Key Cryptosystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980156789.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09832777 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2746830 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2009832777 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011541044 Country of ref document: JP Ref document number: 2009832777 Country of ref document: EP |