USO0RE43 792E

(19) United States (12) Reissued Patent

(10) Patent Number: US RE43,792 E (45) Date of Reissued Patent: *Nov. 6, 2012

Lambert et a1. (54)

METHOD AND APPARATUS FOR COMPUTINGA SHARED SECRET KEY

5,999,627 A 6,122,736 A

12/1999 Lee et a1. 9/2000 Vanstone et a1.

6,490,352 B1

12/2002 Schroeppel

7,051,200 B1 7,062,044 B1

(75) Inventors: Robert Lambert, Cambridge (CA); Ashok Vadekar, RockWood (CA)

7,127,063 B2 *

(73) Assignee: Certicom Corp., Mississauga (CA)

7,215,780 B2 2002/ 0044649 A1 2003/0123655 A1

(*)

2005/0251680 A1*

Notice:

This patent is subject to a terminal dis claimer.

5/2006 Manferdelli et a1. 6/2006 Solinas 10/2006

Lambert et al. ............... .. 380/44

5/2007 Lambert et al. 4/2002 Gallant et a1. 7/2003 Lambert et al. 11/2005

Brown et al. ............... .. 713/171

OTHER PUBLICATIONS

Moller, Bodo; “Algorithms for Multi-Exponentiation”, Selected

(21) App1.No.: 13/075,988

Areas in CryptOgraphy?SAC 2001, Springer Verlag LNCS 2259, pp.

(22) Filed:

Mar. 30, 2011

165-180, ISBN 3-540-43066-0.

Yen, S.-M. et al.; "Multi-Exponentiation”, IEEE Proc. Comput. Digit. Tech, vol. 141, N0. 6, Nov. 1994; pp. 325-326.

Related US. Patent Documents

Reissue of:

(64) Patent No.: Issued:

Mar. 31, 2009

Appl. No.: Filed: US. Applications: (63)

* cited by examiner

7,512,233

Primary Examiner * Kaveh Abr‘ishamkar

11/519,207 Sep. 12, 2006

(74) Attorney, Agent, or Firm * Brett J. Slaney; John R. S.

Orange; Blake, Cassels & Graydon LLP

Continuation of application No. 10/058,213, ?led on Jan. 29, 2002, noW Pat. No. 7,127,063.

(60)

Provisional application No. 60/343,224, ?led on Dec. 31, 2001.

(51)

Int. Cl. H04L 9/00 H04L 9/28 H04L 9/30

(2006.01) (2006.01) (2006.01)

key is computable by a second correspondent. The method comprises the steps of: a) making available to the second correspondent a ?rst short term public key;

ond correspondent;

US. Cl. ............ .. 380/44; 380/28; 380/30; 713/169; 713/ 171

(58)

Field of Classi?cation Search ...................... .. None

See application ?le for complete search history.

c) computing a ?rst exponent derived from the ?rst short term private key, the ?rst short term public key, and the

?rst long term private key; d) computing a second exponent derived from the ?rst

short term private key, the ?rst [long] short term public key, the second short term public key and the ?rst long

References Cited

term private key; e) computing a simultaneous exponentiation of the ?rst exponent With the second short term public key and the second exponent With the second long term public key.

U.S. PATENT DOCUMENTS 5,761,305 A 5,889,865 A 5,896,455 A

5,987,131 A

ABSTRACT

b) obtaining a second short term public key from the sec

(52)

(56)

(57)

A method of generating a key by a ?rst correspondent. The

6/1998 Vanstone et a1. 3/1999 Vanstone et a1. 4/1999 Vanstone et a1.

20 Claims, 6 Drawing Sheets

11/1999 Clapp

59.2 503

A selects x

B selects y

I $04

A nomputna g‘ and sends to B

505

A computes as,‘ B (:HaRA) mod 1;

1 508

A compute! K using simulmneuua

multiple exponentiation

512

I

wax-u. s

B compules g’ and sends to A

514

1 B numpmei Kusing aixmllmneuus in

multiple emonenn'a?nn

US. Patent

Nov. 6, 2012

Sheet 1 0f 6

12

US RE43,792 E

14

16

l8

20‘ 19

Figure I

102 A selects x

I A computes g‘ and sends to B

104

I 13 selects y

ma

106

‘ B computes gy and sends to A

108

I A cumputes H = (x+aRA) mod q

no

I A computes K using simultananux multiple

112

expansntia?on

I Bcomputesea=(y+bRg)modq

“4

I B computes K using simultaneous multiple tiun

Figure 2

1 15

US. Patent

Nov. 6, 2012

Sheet 2 of6

US RE43,792 E

3911 301

Establish a window width w

304

Embushni, table

306

BstablishYB '8mB

308

Examine 5A and sARa

3“)

Retrieve uponm?ations

a

R‘:

/_'f_'___...../> B

\

“a

\

'

n-b



<—-—-‘

;

‘------------------ n

E

‘I P I V 1 U I F I I I I I U I - I I I I I I I l I I I I I I I I I:

312

Accumulme product 318

314

Square accumulator w times

316

Examine next window and repeat

32°

ProvideK

Figure 3

US. Patent

Nov. 6, 2012

Sheet 3 of6

US RE43,792 E

A selects X

202

A compubes g"

204

206

m

A makes 3'‘ available m B

Aobtainsgy?'omB

A computes 85 = (It-NRA) 111°‘: '1

A computes K using simultaneous multiple

exponentia?on

Figure 4

2°“

210

212

US. Patent

Nov. 6, 2012

Sheet 4 of6

US RE43,792 E

5m 50;

A selects a:

13 selects y

I

1

504

A computes g?‘ and sends to B

505

A computes ah == (x-HiRA) mod q

Us‘ I g

B computes g’ and sends to A

514

B computes an = (y + bRB) mind :1 515

1 50s

512

I

A commutes K using simulmnuoua

B computes K using ainrmltaneoua 518

multiple uponenciadcn

multiple eaqaonen?a?nn

Figure 5 602

6°‘

603

605

.620. 610

612

Mdtiplykg

Multipiy Ya

I 614

l

Figure 6

Accumulator

6'5

Square

Control

513

US. Patent

Nov. 6, 2012

Sheet 5 of6

US RE43,792 E

19.9 702

7

04

Ace

mp

A selects x

8 select: y

I

l

uteaxPaadscndswB ‘

4———yP---—-‘

706 A computes sA = (x-l-an (3,0) mm! q

mp

ulesyPandsendnoA

714

B computes s9 = (y + In?ll» mod q 716

l 708

Bee

7:3

J

A computes K using simultaneous

B computes K using simultaneous

multiple exponentia?au

muitiple evqumdation

Figure 7

718

US. Patent

Nov. 6, 2012

Sheet 6 of6

US RE43,792 E

.899. 802

Establish a window width w

s04

Establish)!» table

806

Establish YB mble

l!

B

\__

?-Re

BY”

\

808

*‘° an

Examine 3A and swag)

WWW“ Accumulate sum

‘s’

g

‘- n . - - i ------------- v v

2

<--

........................

8l8

814

Double amumulator w times

815

Examine next window and repeat

31°

ProvideK

Figure 8

US RE43,792 E 1

2 The following notation is used for the MQV protocol in a

METHOD AND APPARATUS FOR COMPUTINGA SHARED SECRET KEY

group G with a generator g

Matter enclosed in heavy brackets [ ] appears in the original patent but forms no part of this reissue speci?ca

Term

Meaning

tion; matter printed in italics indicates the additions made by reissue.

X

Alice’s ephemeral private key

y

Bob’s ephemeral private key

RA

Alice’s ephemeral public key g)r

RB

Bob’s ephemeral public key gy

a

Alice’s long-term private key

which issuedfrom U.S. Ser. No. 11/519,207, which is a con

b YA YB

Bob’s long-term private key Alice’s long-term public key g” Bob’s long-term public key g17

tinuation of US. patent application Ser. No. 10/058,213 ?led

sA

An intermediate component of the key computed by Alice An intermediate component of the key computed by Bob

This application is a reissue of US. Pat. No. 7,512,233,

on Jan. 29, 2002 now US. Pat. No. 7,127,063 which claims

priority from US. Provisional Application No. 60/343,224, An early version of the MQV protocol for sharing a key

?led on Dec. 31, 2001 the contents ofwhich are incorporated

herein by reference. BACKGROUND OF THE INVENTION

20

between a pair of correspondents Alice and Bob proceeds as follows in the multiplicative group of a ?nite ?eld having group order q.

25

2. Alice computes RAIg’C and sends it to Bob. 3. Bob selects y at random from the interval 1 to q—1. 4. Bob computes RBIgy and sends it to Alice. 5. Alice computes sA:(X+aRA)II1Od q and the shared secret

1. Alice selects X at random from the interval 1 to q—1.

1. Field of the Invention

The present invention relates to cryptographic systems, and more particularly to a method for computing a shared

K:(RB(YB)RB)SA' 6. Bob computes sB:(y+bRB)mod q and the shared secret K:(RA(YA)RA)SA'

secret key. 2. Description of the Prior Art Public key cryptography is used to provide security for information transmitted over public networks. Numerous

The computationally intense parts of the key agreement

30

cryptographic protocols are available to provide security, integrity and authentication. Their security is based on the

apparent intractability of certain mathematical problems, such as integer factorization and the discrete logarithm prob lem. Public key schemes sometimes require more computing power than is generally available in constrained environ

35

cards usually have limited computing power and battery

tography is particularly appealing since it provides security

1. Alice selects X at random from the interval 1 to q—1. 40

with parameters having a smaller number of bits. Computa tions are correspondingly faster because of the smaller amount of data that must be manipulated. In most crypto

graphic systems, parameters with a larger number of bits provide greater security at the cost of speed. Accordingly, there is a continual need to optimize cryptographic operations to run as quickly as possible, to make higher security imple mentations of the protocols feasible. 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 public key. The public key is

_

6. Bob computes sB:(y+bRB)mod q and the shared secret

50

The use of the truncation operation speeds up computa tions since the exponent is shorter. However, this means that only half of the bits of the truncated values are used. It is believed that this truncation does not affect the security of the

protocol, however it is generally preferable in the design of cryptographic methods to use as many bits of the random

values and private values as possible. 55

A version of the MQV protocol uses an elliptic curve group

as the underlying group G. The group generator is normally written as a point P, and additive notation is usually used

scheme provides assurance that only the owner of the private

key could generate a signature that will verify using the public

instead of multiplication notation. In the Elliptic Curve MQV

key. It is often of interest to share a key between two users of a

2. Alice computes RAIg’C and sends it to Bob. 3. Bob selects y at random from the interval 1 to q—1. 4. Bob computes RBIgy and sends it to Alice. 5. Alice computes SA:(X+2lR—A)II1Od q and the shared secret

45 1<:
made available and authenticated to other users through a certi?cate 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. The mathematics of the

X962 and IEEE P1363 standards, a truncation operation was introduced to make the protocol more ei?cient. The MQV protocol as standardized uses a truncation operation to reduce

the bit length of an exponent. The truncation operation is denoted by X and is de?ned as XIQi mod 28O)+28O. The protocol then proceeds as follows:

ments. Devices such as cellular phones, pagers, and smart

power available. In such environments, elliptic curve cryp

protocol are the eXponentiations that must be performed to determine K. When the MQV protocol was standardized in the ANSI

60

public key cryptosystem. This key can be used to secure

protocol, the value RA is then equal to XP, and the value RE is equal to yP. Each value RA, RE is thus a point on the elliptic curve. Since an elliptic curve point consists of two ?nite ?eld

future communications using a symmetric key cryptosystem.

elements, it is necessary to de?ne a function at to convert an

The MQV (Menezes, Qu, Vanstone) protocol provides a

elliptic curve point into an integer. One typical function that is used is to interpret the bit string representing the ?rst coordi

method of sharing a key between two users of a public key

cryptosystem that provides authentication of the key. This protocol is described in US. Pat. Nos. 5,761,305, 5,889,865,

5,896,455, and 6,122,736.

65

nate of the elliptic curve point as a bit string representing an integer. The component sA is equal to sA:Q(+arc(RA))mod q and the component sB is equal to sB:(y+bJ'c(RB))mod q. The

US RE43,792 E 3

4

shared key may then be expressed as K:SA(RB+J'|§(RB)YB). The shared key K is an elliptic curve point, and usually it will

cols from instructions provided by software. The software may be provided on a data carrier or in memory. Each corre

spondent has a long-term private key a, b and a corresponding long-term public key YA, YB. Each correspondent has access

be converted into another format for use in another protocol.

The conversion often involves interpreting the bit string rep resenting K as an integer. The corresponding two point mul tiplications are therefore necessary to compute the shared key

to an authentic copy of the other correspondent’s long-term

and are also computationally intensive. Accordingly, there is a need for a method of computing a

using the MQV protocol. It is recogniZed that the MQV

public key. It is desired to share a key between the correspondents

equations can be reorganiZed to provide e?icient computa tions without necessarily using the truncation operation. The reorganiZation proceeds as follows.

shared key using the MQV protocols that obviates or miti gates at least some of the above disadvantages.

The formula K:(RB(YB)RB)SA that is used to determine the

SUMMARY OF THE INVENTION

key can be rearranged as K:(RB(YB)RB)SA:RBSAYBSARB, using

simultaneous multiplication techniques.

the notation above. This rearrangement allows the key to be computed by using a technique known as simultaneous mul tiple exponentiation, which uses only one set of squares.

In accordance with one aspect of the present invention, there is provided a method of generating a key by a ?rst

exponents of RB andYB respectively of a predetermined width

In general terms, it has been recogniZed that the computa tion of the MQV shared key may be optimiZed by using

correspondent. The key is computable by a second correspon dent. The method comprises the steps of: a) making available to the second correspondent a ?rst

To compute the multiple KIRBSAYBSARB, two tables of small are ?rst established. The scalars s A and sARE are then exam 20

short term public key[,];

entries from the two windows is multiplied into an accumu

b) obtaining a second short term public key from the sec

ond correspondent; c) computing a ?rst exponent derived from the ?rst short term private key, the ?rst short term public key, and the

25

lator. The accumulator is then squared in accordance with the width of the window, and then the next window is examined. This process is repeated until each window has been exam

ined, and therefore terminates with the accumulator holding

?rst long term private key;

the value of K. Referring to FIG. 2, a method of computing a shared secret

d) computing a second exponent derived from the ?rst

short term private key, the ?rst [long] short term public key, the second short term public key and the ?rst long

ined using windows of the predetermined width. The mul tiples of RB and YB corresponding to each window are retrieved from each respective table. The product of the table

30

term private key[,];

key is shown generally by the numeral 100. Alice selects an ephemeral private key x at random from the interval 1 to q-l

(102). Alice computes the corresponding ephemeral public

e) computing a simultaneous exponentiation of the ?st exponent with the second short term public key and the second exponent with the second long term public key.

key g’C and sends it to Bob (104). Similarly, Bob selects an ephemeral private key y at random from the interval 1 to q-l 35

(106). Bob computes the corresponding ephemeral public key

BRIEF DESCRIPTION OF THE DRAWINGS

gy and sends it to Alice (108). Alice computes sA:(x+aRA) mod q and the shared secret KIRBSAYBSARB (110) using simul

These and other features of the preferred embodiments of the invention will become more apparent in the following detailed description in which reference is made to the

taneous multiple exponentiation, as described below. Bob computes sB:(y+bRB)mod q and the shared secret 40

appended drawings wherein:

KIRBSAYBSARB (112) using simultaneous multiple exponentia tion. Referring FIG. 3, a method of computing a simultaneous

FIG. 1 is a schematic representation of a cryptographic

multiple exponentiation is shown generally by the numeral

system. FIG. 2 is a ?owchart showing a method performed by the correspondents in FIG. 1. FIG. 3 is a ?owchart showing a method used by the method of FIG. 2. FIG. 4 is a ?owchart showing another embodiment of the method of FIG. 2. FIG. 5 is a ?owchart showing yet another embodiment of the method of FIG. 2.

300. A window width of a predetermined number of bits w is 45

?rst established (302). Then, a table of small [exponents 0t] exponenlialions of RE is established (3 04) and a table of small

[exponents [3] exponenlialions ofYB is established (306). The table entries consist of a column of possible bit combinations

(e.g. [(x:]l00l2), and a column of corresponding exponen 50

tiations (e.g. R5100”). Then, the scalars sA and sARE are exam

FIG. 6 is a ?owchart showing an alternative method of

ined using windows of the window width [w] w (308). The powers of RB and YB corresponding to ea—ch window are

performing the method of FIG. 3. FIG. 7 is a ?owchart showing another embodiment of the

table entries from the two windows is multiplied into an

method of FIG. 5. FIG. 8 is a ?owchart showing a method used in the method of FIG. 7.

retrieved from each respective table (310). The product of the 55

DESCRIPTION OF THE PREFERRED [EMBOD

IES] EMBODIMENTS

60

accumulator (312). The accumulator is then squared w times in accordance with the width w of the window (3 14), and then the next window is examined (316). The scalars are repeat edly examined and table entries multiplied into the accumu lator and the accumulator squared w times for each repetition as described above (318) until the shared secret K is com

puted (320). Referring to FIG. 1, a cryptographic system is shown gen

It will be noted that in this embodiment one simultaneous

erally by the numeral 10. A pair of correspondents 12, 14,

multiple exponentiation is used instead of two separate expo

nentiations. Accordingly, the number of squaring operations

referred to asAlice and Bob, communicate over a network 16.

Each correspondent has an arithmetic logic unit (ALU) 18, 20. The ALU can be a general-purpose computer, with a

cryptographic unit, which implements cryptographic proto

65

required corresponds to the number required for one expo nentiation instead of that required for two separate exponen tiations. It will be recogniZed that using the method of this

US RE43,792 E 5

6

embodiment, truncating the ?rst exponent in an attempt to save squarings is not effective, since these squaring can be shared With the second multiplication. The truncation then saves only multiplications, not squarings, When applied to

Referring therefore to FIG. 7, the method of FIG. 5 is shoWn in an elliptic curve setting by the numeral 700. The

multiple eXponentiation.

correspondents have common elliptic curve parameters com prising an elliptic curve, a ?nite ?eld, a base point P of order q, and a function at to convert elliptic curve points to integers, Each correspondent has a long term private key a, b and a

Referring to FIG. 4, an alternate embodiment is shoWn generally by the numeral 200. In this embodiment, Alice uses

selects an ephemeral private key X at random from the interval

this embodiment since this embodiment uses simultaneous

corresponding long term public key YAIaP, YBIbP. Alice 1 to q-l (702). Bob selects an ephemeral private key y at random from the interval 1 to q-l (712). Alice computes the

the improved method of computing the shared key, While Bob can compute the shared key by any method. Alice selects

ephemeral public key XP corresponding to the ephemeral private key X (704). Similarly, Bob computes his ephemeral public key yP (714). Alice sends XP to Bob and Bob sends yP

(202) X at random from the interval 1 to q-l. Then, Alice

computes (204) g’C and makes it available to Bob (206). Alice then obtains (208) gy from Bob. Alice computes (210) sA:(X+ aRA)mod q and then computes (212) the shared secret

to Alice. AfterAlice receives Bob’ s ephemeral public key, she computes sA:(X+2U'|§(RA))II1O(1 q (706). Then Alice computes

KIRBSAYBSARB using simultaneous multiple eXponentiation. Referring to FIG. 5, an alternate embodiment is shoWn generally by the numeral 500. In this embodiment, the corre spondents of FIG. 2 are shoWn carrying out the method in parallel. Alice selects an ephemeral private key X at random from the interval 1 to q-l (502). Bob selects an ephemeral

20

(FIG. 8). Referring to FIG. 8, a method of performing simultaneous multiple scalar multiplication used in this embodiment is

private key y at random from the interval 1 to q-l (106).Alice

computes the ephemeral public key g’C corresponding to the ephemeral private key X (504). Similarly, Bob computes his ephemeral public key gy (514). Alice sends g’C to Bob and Bob

25

shoWn generally by the numeral 800. A WindoW Width of a predetermined number of bits W is ?rst established (802).

30

Then, a table of small [eXponents a] scalar multiples of RE is established (804) and a table of small [eXponents [3] scalar multiples ofYB is established (806). The table entries consist of a column of possible bit combinations (e.g. [(x:]l00l2), and a column of corresponding scalar multiples (eg

sends gy to Alice. AfterAlice receives Bob’s ephemeral public key, she computes sA:(X+2lRA) mod q (506). Then Alice com putes the shared secret K as before (508). After Bob receives Alice’ s ephemeral public key, he computes sB as before (516). Then Bob computes K as before (518). Thus, it Will be under stood that the order of the computations is not critical and it is

1001 2RB). Then, the scalars sA and sArc(RB) are eXamined

using WindoWs of the WindoW Width [W] w (808). The scalar multiples of RB and YB corresponding to each WindoW are

only necessary that a correspondent have both its oWn private

key and the other correspondent’s, ephemeral public key before computing s and K. Referring to FIG. 6, an alternate method of computing a

retrieved from each respective table (810). The sum of the 35

simultaneous multiple eXponentiation is shoWn generally by the numeral 600. The eXponent sA is shoWn stored in a register

602. The eXponent sARE is shoWn stored in a register 604.

Each register has an associated pointer 603, 605. The pointers are aligned to designate corresponding bits in each eXponent. A pair of sWitches 606, 608 are provided. TWo multipliers 610, 612 are shoWn, although their functionality could be performed by one multiplier. An accumulator 614, a squaring operation 616, and a control 618 are provided. In use, the pointer 603 is an input to the sWitch 606 Which controls multiplier 610 so that When the corresponding bit of sA is set, the quantity RE is multiplied into the accumulator 514. Similarly, the pointer 605 is an input to the sWitch 608

Which operates the multiplier 612. The quantity YB is multi plied into the accumulator 614 When the corresponding bit of register 604 is set. After considering each eXponent, the accu mulator is squared 616, and the control 618 operates to set the pointers 603, 605 to the neXt bits of registers 602, 604. The process repeats until all the bits have been considered. In this Way, the bits of the tWo eXponents are considered simulta

40

45

50

[an] a MeneZes-Qu-Vanstone (MQV) key generation proto col, said system comprising a ?rst correspondent having a

?rst cryptographic unit con?gured for: a) making a ?rst short term public key available to a second correspondent over a communication channel; 55

b) obtaining a second short term public key from said

second correspondent; c) computing a ?rst eXponent derived from a ?rst short term

private key, said ?rst short term public key, and a ?rst

long term private key;

table. One eXample of such a group is an elliptic curve group, 60

tion is usually used instead of multiplicative notation. In the elliptic curve setting, group multiplication corresponds to addition of elliptic curve points, and group eXponentiation corresponds to scalar multiplication. In this case, the tables

cations (e.g. l00l2P).

thereof Will be apparent to those skilled in the art Without departing from the spirit and scope of the invention as out

lined in the claims appended hereto. The invention claimed is: 1. A cryptographic system for generating a shared key in

Where the discrete logarithm problem is believed to be intrac

(eg 10012), and a column of corresponding point multipli

lator (812). The accumulator is then doubled W times in accordance With the Width W of the WindoW (814), and then the neXt WindoW is eXamined (816). The scalars are repeat edly eXamined and table entries added into the accumulator and the accumulator doubled W times for each repetition as described above (818) until the shared secret K is computed

Although the invention has been described With reference to certain speci?c embodiments, various modi?cations

The above methods can be implemented in any group

Will contain a column possible bit combinations of the scalar

table entries from the tWo WindoWs is added into an accumu

(820).

neously, and only one set of squares is performed.

Where the method is very similar hoWever, the additive nota

the shared secret K:SARB+SAJ1§(RB)YB (708) using simulta neous multiple scalar multiplication (FIG. 8). After Bob receives Alice’s ephemeral public key, he computes sB:(y+ bJ1§(RB))II1Od q (716). Then Bob computes K:SBRA+SBTE(RA) YA (718) using simultaneous multiple scalar multiplication

d) computing a second eXponent derived from said ?rst short term private key, said ?rst short term public key, a second short term public key, and said ?rst long term

private key; e) computing a ?rst simultaneous eXponentiation [of], by 65

said ?rst eXponent [With], of said second short term

public key and, by said second eXponent [With], of a second long term public key; and

US RE43,792 E 8

7

graphic protocols from instructions provided by softWare,

f) generating said shared key using a result of said ?rst

simultaneous exponentiation.

said softWare being stored on a memory.

2. The cryptographic system of claim 1 comprising a sec ond correspondent having a second cryptographic unit con

10. A cryptographic unit for generating a shared key in [an]

a MeneZes-Qu-Vanstone (MQV) key generation protocol,

?gured for:

said cryptographic unit con?gured for: a) providing a ?rst short term public key; b) obtaining a second short term public key;

g) making said second short term public key available to said ?rst correspondent over said communication chan

nel;

c) computing a ?rst exponent derived from a ?rst short term

h) obtaining said ?rst short term public key from said ?rst

private key, said ?rst short term public key, and a ?rst

correspondent;

long term private key;

i) computing a one exponent derived from a second short

d) computing a second exponent derived from said ?rst short term private key, said ?rst short term public key, a second short term public key, and said ?rst long term

term private key, said second short term public key, and a second long term private key; j) computing another exponent derived from said second short term private key, said second short term public key, said second long term private key, and said ?rst short

private key; e) computing a simultaneous exponentiation [of], by said ?rst exponent [With], of said second short term public key and, by said second exponent [With], of a second long term public key; and

term public key; k) computing a second simultaneous exponentiation [of], by said one exponent [With], of said ?rst short term

public key and, by said another exponent [With], ofa ?rst long term public key; and

20

l) generating said shared key using a result of said second

simultaneous exponentiation. 3. The cryptographic system of claim 2 con?gured for

performing a) and g) in parallel, for performing b)and h)in parallel, for performing c)and d)in parallel With i) And j), and for performing k) and l) in parallel With e) and f).

25

4. The cryptographic system of claim 1 Wherein said ?rst

cryptographic unit is con?gured for performing said ?rst

simultaneous exponentiation by:

30

tographic unit is con?gured for performing said simultaneous

establishing a table of small exponentiations of said second short term public key, and a table of small exponentia tions of said second long term public key to provide a

exponentiation by: establishing a WindoW of Width W; 35

and second exponents; and examining said tables using said WindoW W until said

shared key is computed. 40

13. The cryptographic unit of claim 12 Wherein said exam

ining said tables includes retrieving the corresponding poW 45

storing values of said ?rst and second exponents in ?rst and

computed.

14. The cryptographic unit of claim 10 Wherein said cryp 50

storing values of said ?rst and second exponents in ?rst and

55

operations.

computed.

8. The cryptographic system of claim 7 Wherein said ?rst

15. The cryptographic unit of claim 10 Wherein said cryp 60

multiple [scaler] scalar multiplication using a WindoW of

16. The cryptographic unit of claim 15 Wherein said cryp

tographic unit is con?gured for performing said simultaneous

Width W and tables of small [exponentiations] scalar mul

exponentiation by performing simultaneous multiple scalar

Ziples of said second short term public key and said second 9. The cryptographic system of claim 1 Wherein said ?rst

tographic unit is con?gured for performing elliptic curve

operations.

simultaneous exponentiation by performing simultaneous

cryptographic unit is con?gured for implementing crypto

second registers respectively, each register having an associated pointer; using said pointers to selectively accumulate and multiply corresponding values stored in said registers; and repeatedly multiplying said values until said shared key is

cryptographic unit is con?gured for performing elliptic curve

long term public key.

tographic unit is con?gured for performing said simultaneous

exponentiation by:

7. The cryptographic system of claim 1 Wherein said ?rst

cryptographic unit is con?gured for performing said ?rst

ers of values of said second short term public key and said second long term public key Within said WindoW W, accumu

lating the product of corresponding entries from said tables and squaring said product W times, and examining further WindoWs repeatedly until said shared key is computed.

simultaneous exponentiation by: second registers respectively, each register having an associated pointer; using said pointers to selectively accumulate and multiply corresponding values stored in said registers; and repeatedly multiplying said values until said shared key is

and second exponents; and examining said tables using said WindoW W until said

shared key is computed.

ers of values of said second short term public key and said second long term public key Within said WindoW W, accumu

lating the product of corresponding entries from said tables and squaring said product W times, and examining further WindoWs repeatedly until said shared key is computed. 6. The cryptographic system of claim 1 Wherein said ?rst cryptographic unit is con?gured for performing said ?rst

establishing a table of small exponentiations of said second short term public key, and a table of small exponentia tions of said second long term public key to provide a

series of potential exponentiations representing said ?rst

5. The cryptographic system of claim 4 Wherein said exam

ining said tables includes retrieving the corresponding poW

formed by another cryptographic unit, for performing b) in parallel With a second corresponding step performed by said another cryptographic unit, for performing c) and d) in par allel With third and fourth corresponding steps performed by said another cryptographic unit, and for performing e) and f) in parallel With ?fth and sixth corresponding steps performed by said another cryptographic unit. 12. The cryptographic unit of claim 10 Wherein said cryp

establishing a WindoW of Width W;

series of potential exponentiations representing said ?rst

f) generating said shared key using a result of said simul taneous exponentiation. 11. The cryptographic unit of claim 10 con?gured for per forming a) in parallel With a ?rst corresponding step per

65

multiplication using a WindoW of Width W and tables of small

[exponentiations] scalar multiples of said second short term

public key and said second long term public key.

US RE43,792 E 9

10

17. The cryptographic unit of claim 10 wherein said cryp

19. The computer readable medium of claim 18 Wherein said instructions are con?gured for performing said simulta

tographic unit is con?gured for implementing cryptographic protocols from instructions provided by software, said soft

neous exponentiation by:

Ware being stored on a memory.

establishing a WindoW of Width W;

18. A non-transitory computer readable medium operable With a cryptographic unit, said computer readable medium having instructions for generating a shared key in

5

a

MeneZes-Qu-Vanstone (MQV) key generation protocol, said

series of potential exponentiations representing said ?rst

instructions comprising instructions for: a) providing a ?rst short term public key; b) obtaining a second short term public key;

and second exponents; and examining said tables using said WindoW W until said

shared key is computed.

c) computing a ?rst exponent derived from a ?rst short term

20. The computer readable medium of claim 18 Wherein said instructions are con?gured for performing said simulta

private key, said ?rst short term public key, and a ?rst

long term private key; d) computing a second exponent derived from said ?rst short term private key, said ?rst short term public key, a second short term public key, and said ?rst long term

15

private key; e) computing a simultaneous exponentiation [of], by said ?rst exponent [with], of said second short term public key and, by said second exponent [with], of a second long term public key; and f) generating said shared key using a result of said simul taneous exponentiation.

establishing a table of small exponentiations of said second short term public key, and a table of small exponentia tions of said second long term public key to provide a

20

neous exponentiation by: storing values of said ?rst and second exponents in ?rst and second registers respectively, each register having an

associated pointer; using said pointers to selectively accumulate and multiply corresponding values stored in said registers; and repeatedly multiplying said values until said shared key is

computed.

Method and apparatus for computing a shared secret key

Mar 30, 2011 - Digital signatures are a class of cryptographic protocols used to provide authentication. As in all public key systems, a sender has a private key ...

934KB Sizes 2 Downloads 203 Views

Recommend Documents

Scanning apparatus and method
Dec 24, 2009 - FOREIGN PATENT DOCUMENTS. DE. 3 938 714 A1. 5/1991. EP. 0159187 A1 10/1985. EP. 0159187. 10/1985. EP. 0 328 443. 8/1989. EP. 0 348 247. 12/1989. EP. 0 550 300. 7/1993. EP. 0 589 750. 3/1994. EP. 0 750 175. 12/1996. EP. 0 750 176. 12/19

Scanning apparatus and method
24 Dec 2009 - 29, 1991 from Mr. Stephen Crampton of 3D Scan ners Ltd. to Mr. Michel Brunet of Vision 3D, Marked as Page Nos. M0083274-M0083275. Vision 3D document labeled “Potential Partners”, addressed to 3D. Scanners Ltd., dated Jan. 10, 1991,

Method and apparatus for treating hemodynamic disfunction
Aug 8, 2002 - Funke HD, “[OptimiZed Sequential Pacing of Atria and. VentriclesiA ..... 140941417. Tyers, GFO, et al., “A NeW Device for Nonoperative Repair.

Apparatus and method for enhanced oil recovery
Nov 25, 1987 - The vapor phase of the steam ?ows into and is de?ected by the ?ngers of the impinge ment means into the longitudinal ?ow passageway ol.

Method and apparatus for RFID communication
Sep 28, 2007 - USPTO Transaction History 0 re ate U.S. App . No. 09-193,002, ...... purpose computer such as an IBM PC; a calculator, such as an HPZ I C; the ...

Apparatus and method for sealing vascular punctures
Oct 22, 1993 - (US); Hans Mische, St. Cloud, MN (US) .... 4,168,708 A * 9/1979 Lepley, Jr. et al. 5,035,695 A * 7/1991 ... 4,404,971 A * 9/1983 LeVeen et al.

Method and apparatus for treating hemodynamic disfunction
Aug 8, 2002 - Kass DA, et al., “Improved Left Ventricular mechanics From. Acute VDD ..... Ventricular Tachycardia,” J. Am. College of Cardiology, Vol. 5, No.

Method and apparatus for RFID communication
Nov 26, 2002 - 340/101. 3,713,148 A * 1/1973 Cardullo etal. . 342/42. 3,754,170 A * 8/1973 Tsudaet al. .. 257/659 ..... When a sheet of transponders is aligned, computer 86 directs RF sWitch ..... described in detail in r'Error Control Coding.

Method and apparatus for filtering E-mail
Jan 31, 2010 - Petition for Suspension of Rules Under CFR § 1.183; 2 ...... 36. The e-mail ?lter as claimed in claim 33 Wherein one of the plurality of rule ...

Method and apparatus for destroying dividing cells
Aug 27, 2008 - synovioma, mesothelioma, EWing's tumor, leiomyosarcoma, rhabdomyosarcoma, colon carcinoma, pancreatic cancer, breast cancer, ovarian ...

Method and apparatus for filtering E-mail
Jan 31, 2010 - Clark et a1., PCMAIL: A Distributed Mail System for Per. 6,052,709 A ..... keted as a Software Development Kit (hereinafter “SDK”). This Will ...

Apparatus and method for enhanced oil recovery
25 Nov 1987 - Appl. No.: Filed: [51} Int. Cl.5 pocket mandrel or other downhole tools. Along with the impingement device, a centralizer to guide tools. Nov. 1, 1985 through the impingement device and to cause a pressure. E21B 43/24. [52] US. Cl. 166/

Method and apparatus for RFID communication
Nov 26, 2002 - network interface 26 connect to individual peripheral con trollers 20a-20c via ... 16, as well as monitor 22 andperipheral controllers 20a20c are all conventional .... other media will be readily apparent to those skilled in the.

Apparatus and method for applying linerless labels
Aug 5, 1998 - 270; 428/418; 283/81; 226/195. References Cited. U.S. PATENT DOCUMENTS ... removal from said source of linerless label sheet, a die cutter and an anvil roller de?ning an area through Which ..... 6 is optionally advanced in the system to

Method and apparatus for RFID communication
Sep 28, 2007 - wireless communication protocol. 4 Claims ..... The aspects, advantages, and fea ... 15 is connected by cable 18 to subsystem 24 so that signals.

Method and apparatus for destroying dividing cells
Aug 27, 2008 - ing cleft (e.g., a groove or a notch) that gradually separates the cell into tWo neW cells. During this division process, there is a transient period ...

Method and apparatus for RFID communication
Sep 28, 2007 - mized, transponder identity and location are not confused, and test ...... suggestion is practical using the media access control scheme.

Television gaming apparatus and method
Apr 25, 1972 - IIA is a diagram of apparatus for a simulated ping>pong type game;. FIG. IIB is a sketch of a television screen illustrating the manner of play of ...

Television gaming apparatus and method
Apr 25, 1972 - embodiment a control unit. connecting means and in. Appl. No.: 851,865 ..... 10 is a schematic of a secondary ?ip-flop ar rangement used in ...

Music selecting apparatus and method
Feb 25, 2009 - A degree of chord change is stored as data for each of a plurality of music ...... average value Mave of the characteristic values C1 to Cj for.

Reverse osmosis method and apparatus
recovery of fluid pressure energy from the concentrate stream. ... reciprocating pump means, a drive means, inlet, outfeed and return ... The drive means is reciprocable and is me ...... izing the feed ?uid by a relatively low powered external.

Reverse osmosis method and apparatus
some of the concentrate stream pressure energy using recovery turbine devices .... partially in section, of an alternative crank shaft actuated apparatus according ...... friction sealing ring 180 which projects from the periph ery sufficiently to be