CA2129203A1 - Public key cryptography utilizing elliptic curves - Google Patents
Public key cryptography utilizing elliptic curvesInfo
- 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
Links
- 239000013598 vector Substances 0.000 claims abstract 22
- 238000000034 method Methods 0.000 claims 4
- 125000004122 cyclic group Chemical group 0.000 claims 3
- 230000003134 recirculating effect Effects 0.000 claims 3
- 238000007792 addition Methods 0.000 abstract 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
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.
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,
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)
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 |
-
1994
- 1994-07-29 CA CA 2129203 patent/CA2129203C/en not_active Expired - Lifetime
Cited By (12)
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 |
US8666070B2 (en) | 1999-01-11 | 2014-03-04 | 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 |
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/) | |
US6141420A (en) | Elliptic curve encryption systems | |
US8504602B2 (en) | Modular multiplication processing apparatus | |
EP2350811B1 (en) | Method and apparatus for modulus reduction | |
US8719324B1 (en) | Spectral modular arithmetic method and apparatus | |
JP3726966B2 (en) | Multiplier and encryption circuit | |
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 | |
CN111897578A (en) | Parallel processing method and device for scalar multiplication on elliptic curve with characteristic of 2 | |
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 | |
Bansal et al. | Implementation of modular exponentiation using montgomery algorithms | |
KR20060037941A (en) | Apparatus for hybrid multiplier in gf(2^m) and method for multiplying | |
Reyhani-Masoleh et al. | On efficient normal basis multiplication | |
CA2640641A1 (en) | Public key cryptography utilizing elliptic curves | |
JP3129525B2 (en) | Multiplication circuit over integers | |
US11924321B1 (en) | System and method for encrypting and compressing blocks of data | |
CA2711188A1 (en) | Public key cryptography utilizing elliptic curves | |
Gutub | High Speed Low Power GF (2k) Elliptic Curve Cryptography Processor Architecture | |
JP3626315B2 (en) | Remainder calculation apparatus, information processing apparatus, and remainder calculation method | |
Huzaifa et al. | Low latency Montgomery multiplier for cryptographic applications | |
Okada et al. | Coprocessor over GF (2”) on an FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20140729 |