CA2129203A1 - Public key cryptography utilizing elliptic curves - Google Patents

Public key cryptography utilizing elliptic curves

Info

Publication number
CA2129203A1
CA2129203A1 CA 2129203 CA2129203A CA2129203A1 CA 2129203 A1 CA2129203 A1 CA 2129203A1 CA 2129203 CA2129203 CA 2129203 CA 2129203 A CA2129203 A CA 2129203A CA 2129203 A1 CA2129203 A1 CA 2129203A1
Authority
CA
Canada
Prior art keywords
vector
representing
shift registers
normal basis
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA 2129203
Other languages
French (fr)
Other versions
CA2129203C (en
Inventor
Gordon B. Agnew
Ronald C. Mullin
Scott A. Vanstone
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Certicom Corp
Original Assignee
Gordon B. Agnew
Ronald C. Mullin
Scott A. Vanstone
Cryptech Systems Inc.
Certicom Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gordon B. Agnew, Ronald C. Mullin, Scott A. Vanstone, Cryptech Systems Inc., Certicom Corp. filed Critical Gordon B. Agnew
Priority to CA 2129203 priority Critical patent/CA2129203C/en
Publication of CA2129203A1 publication Critical patent/CA2129203A1/en
Application granted granted Critical
Publication of CA2129203C publication Critical patent/CA2129203C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Abstract

An elliptic curve encryption system represents coordinates of a point on the curve as a vector of binary digits in a normal basis representation. A key is generated from multiple additions of one or more points in a finite field. Inverses of values are computed using a finite field multiplier and successive exponentiations.

Claims (3)

1. A method of computing an inverse of a number x with a finite field multiplier operating in the finite field GF(2M) and having elements A2i (oi<? that constitute a normal basis, said multiplier having a pair of m celled recirculating shift registers connected to a m celled recirculating accumulating register to generate in each of said accumulating register a respective grouped term of the normal basis representation of the product of a pair of elements located in respective ones of said recirculating shift registers, said method comprising the steps of a) representing the number x as a vector of binary digits xi where xi is the coefficient of A2i in the normal basis representation of x, b) loading in to each of said shift registers the vector of binary digits xi representing the normal basis representation of x2, c) cyclically shifting the binary digits of a first of said registers one cell to provide in said first register a vector representing X4, d) rotating said vectors in said shift registers and cojointly rotating said accumulating register with a m fold cyclic shift to generate in the cells of said accumulating register the m grouped terms representing the vector of the product of x2 and X4, e) loading the vector from the accumulating register to a second of said shift registers, f) repeating the steps of (c), (d), and (e) (g-2) times where g is a factor of m-1 to provide in said accumulating register a vector .gamma. which is the normal basis representation of the exponentiation of , g) loading the vector representing the normal basis representation of .gamma. in each of said shift registers, h) performing a g-fold cyclic shift the binary digits of the vector in one of said shift registers where g is a factor of m-1 and g.h = m-1 to provide a vector representing .gamma.2g in said one register, i) rotating said bit elements in said shift registers and said accumulating register to generate grouped terms of the vector representing the product of .gamma.
and .gamma.2g, j) loading the vector from the accumulating register to the other of said shift registers, k) repeating steps h), i), and j) a total of g(h-1)-1 times to provide in said accumulating cell a vector of binary digits of the coefficients of the normal basis representation of the inverse of x.
2. A method according to claim 1 including the step of loading the vector representing x into one of said registers, performing a 1 cell cyclic shift to provide x2 and copying the resultant vector in to the other of said registers.
3. In a data encryption system in which the data is considered with an encryption key to produce ciphertext, a method of generating a key comprising the steps of a) selecting an elliptic curve lying in the finite field GF2m and having elements A2i (oim) that constitute a normal basis, b) representing the coordinates of a point on said curve as a set of vectors, each vector representing a coordinate of said point and having m binary digits, each of which represents the coefficient of A2i in the normal basis representation of said vector, c) computing from addition of at least two sets of vectors an additional set of vectors to represent the coordinates of further point on said curve, and d) utilising said additional set of vectors to derive a key for encrypting data,
CA 2129203 1994-07-29 1994-07-29 Public key cryptography utilizing elliptic curves Expired - Lifetime CA2129203C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA 2129203 CA2129203C (en) 1994-07-29 1994-07-29 Public key cryptography utilizing elliptic curves

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA 2129203 CA2129203C (en) 1994-07-29 1994-07-29 Public key cryptography utilizing elliptic curves

Publications (2)

Publication Number Publication Date
CA2129203A1 true CA2129203A1 (en) 1996-01-30
CA2129203C CA2129203C (en) 2010-01-12

Family

ID=4154100

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2129203 Expired - Lifetime CA2129203C (en) 1994-07-29 1994-07-29 Public key cryptography utilizing elliptic curves

Country Status (1)

Country Link
CA (1) CA2129203C (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279110B1 (en) * 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US6307935B1 (en) * 1991-09-17 2001-10-23 Apple Computer, Inc. Method and apparatus for fast elliptic encryption with direct embedding
US8280048B2 (en) 1999-01-11 2012-10-02 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US8660264B2 (en) 1999-01-11 2014-02-25 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307935B1 (en) * 1991-09-17 2001-10-23 Apple Computer, Inc. Method and apparatus for fast elliptic encryption with direct embedding
US6279110B1 (en) * 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US7260723B2 (en) 1997-11-10 2007-08-21 Certicom Corp. Masked digital signatures
US7552329B2 (en) 1997-11-10 2009-06-23 Certicom Corp. Masked digital signatures
US7996676B2 (en) 1997-11-10 2011-08-09 Certicom Corp. Masked digital signatures
US8359468B2 (en) 1997-11-10 2013-01-22 Certicom Corp. Masked digital signatures
US8732467B2 (en) 1997-11-10 2014-05-20 Certicom Corp. Masked digital signatures
US8280048B2 (en) 1999-01-11 2012-10-02 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US8621239B2 (en) 1999-01-11 2013-12-31 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US8660264B2 (en) 1999-01-11 2014-02-25 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors
US8666063B2 (en) 1999-01-11 2014-03-04 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors
US8666070B2 (en) 1999-01-11 2014-03-04 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors

Also Published As

Publication number Publication date
CA2129203C (en) 2010-01-12

Similar Documents

Publication Publication Date Title
Okada et al. Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA
US6151393A (en) Device and method for modular multiplication
Lee et al. Low-complexity bit-parallel systolic Montgomery multipliers for special classes of GF (2/sup m/)
US8504602B2 (en) Modular multiplication processing apparatus
WO1996004602A1 (en) Elliptic curve encryption systems
EP2350811B1 (en) Method and apparatus for modulus reduction
JP2004280103A (en) Apparatus and method for performing montgomery type modular multiplication
JP3726966B2 (en) Multiplier and encryption circuit
US8719324B1 (en) Spectral modular arithmetic method and apparatus
JP3302043B2 (en) Encryption communication method and system
Sutikno et al. An implementation of ElGamal elliptic curves cryptosystems
CA2129203A1 (en) Public key cryptography utilizing elliptic curves
JP3396693B2 (en) Encryption / decryption device and public key encryption system
Sakai et al. Algorithms for efficient simultaneous elliptic scalar multiplication with reduced joint Hamming weight representation of scalars
KR20060037941A (en) Apparatus for hybrid multiplier in gf(2^m) and method for multiplying
Bansal et al. Implementation of modular exponentiation using montgomery algorithms
CN111897578A (en) Parallel processing method and device for scalar multiplication on elliptic curve with characteristic of 2
Reyhani-Masoleh et al. On efficient normal basis multiplication
CA2640641A1 (en) Public key cryptography utilizing elliptic curves
JP3129525B2 (en) Multiplication circuit over integers
CA2711188A1 (en) Public key cryptography utilizing elliptic curves
JP3626315B2 (en) Remainder calculation apparatus, information processing apparatus, and remainder calculation method
JP3210420B2 (en) Multiplication circuit over integers
Gutub High Speed Low Power GF (2k) Elliptic Curve Cryptography Processor Architecture
Okada et al. Coprocessor over GF (2”) on an FPGA

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20140729