XZ-elliptic curve cryptography system and method
AssigneeKing Fahd University of Petroleum and Minerals
InventorsLahouari Ghouti, Mohammad K. Ibrahim, Abdulaziz M. Al-Khoraidly
Life of this patent
Estimating the term…
Abstract
The XZ-elliptic curve cryptography system and method provides a computerized method that allows for the encryption of messages through elliptic polynomial cryptography and, particularly, with the embedding of either a symmetric secret key or a public key in the message bit string. The method of performing XZ-elliptic polynomial cryptography is based on the elliptic polynomial discrete logarithm problem. It is well known that an elliptic polynomial discrete logarithm problem is a computationally “difficult” or “hard” problem.
Claims13
A computerized method of performing XZ-elliptic curve cryptography, comprising the steps of:
- (a) a sending correspondent and a receiving correspondent selecting and agreeing upon an elliptic curve set EC3;
- (b) the sending correspondent and the receiving correspondent further agreeing upon a random scalar k and a random shared secret key for communication Es, and agreeing upon a base point (XB,YB,ZB)εEC3;
- the sending correspondent then performs the following steps:
- (c) embedding a first secret message bit string into an elliptic curve message point (Xm,Ym,Zm);
- (d) computing a scalar multiplication between the base point (XB,YB,ZB) and the scalar k as (XBk,YBk,ZBk)=k(XB,YB,ZB);
- (e) computing a cipher point (Xc,Yc,Zc) as (Xc,Yc,Zc)=(Xm,Ym,Zm)+k(XB,YB,ZB);
- (f) embedding a second secret message bit string into a data transformation index Em;
- (g) transforming the cipher point coordinates Xc and Zc as {circumflex over (X)}C=XCEs and {circumflex over (Z)}C=ZCEm, respectively;
- (h) calculating a cipher transformation index Ec as
- E
- c
- =
- E
- s
- E
- m
- ;
- (i) sending a set of appropriate bits of {circumflex over (X)}c, {circumflex over (Z)}c, and Êc to the receiving correspondent;
- the receiving correspondent then performs the following steps:
- (j) calculating the data transformation index Em as
- E
- m
- =
- E
- s
- E
- c
- ;
- (k) calculating the cipher point coordinates Xc and Zc as XC={circumflex over (X)}CEs−1 and ZC={circumflex over (Z)}CEm−1, respectively;
- (l) computing a scalar multiplication between the base point (XB,YB,ZB) and the scalar k as (XBk,YBk,ZBk)=k(XB,YB,ZB);
- (m) computing the elliptic curve message point (Xm,Ym,Zm) as (Xm,Ym,Zm)=(Xc,Yc,Zc)−k(XB,YB,ZB);
- and
- (n) retrieving the first secret message bit string from the elliptic curve message point (Xm,Ym,Zm).
A computerized method of performing XZ-elliptic curve cryptography with a public key, comprising the steps of:
- (a) a sending correspondent and a receiving correspondent selecting and agreeing upon an elliptic curve set EC3, the sending correspondent further establishing a private key pair (kSPr,eSPr);
- (b) the sending correspondent and the receiving correspondent further agreeing upon a base point (XB,YB,ZB)εEC3 and sharing a public key pair (kSPr(XB,YB,ZB),EbeSPr);
- the sending correspondent then performs the following steps:
- (c) calculating a shared key as (kSPr(kRPr(XB,YB,ZB)),(EbeRPr)eSPr)
- (d) embedding a first secret message bit string into an elliptic curve message point (Xm,Ym,Zm);
- (e) computing a cipher point (Xc,Yc,Zc) as (Xc,Yc,Zc)=(Xm,Ym,Zm)+kSPr(kRPr(XB,YB,ZB));
- (f) embedding a second secret message bit string into a data transformation index Em;
- (g) transforming the cipher point coordinates Xc and Zc as {circumflex over (X)}C=XC(EbeRPr)eSPr and {circumflex over (Z)}C=ZCEm, respectively;
- (h) calculating a cipher transformation index Ec as
- E
- c
- =
- (
- E
- b
- e
- RPr
- )
- e
- SPr
- E
- m
- ;
- (i) sending a set of appropriate bits of {circumflex over (X)}c, {circumflex over (Z)}c and Ec to the receiving correspondent;
- the receiving correspondent then performs the following steps:
- (j) calculating the shared key as (kRPr(kSPr(XB,YB,ZB)),(EbeSPr)eRPr);
- (k) calculating the data transformation index Em as
- E
- m
- =
- (
- E
- b
- e
- RPr
- )
- e
- SPr
- E
- c
- ;
- (l) calculating the cipher point coordinates Xc and Zc as XC={circumflex over (X)}C(EbeRPr)eSPr)−1 and ZC={circumflex over (Z)}CEm−1, respectively;
- (m) computing the elliptic curve message point (Xm,Ym,Zm) as (Xm,Ym,Zm)=(Xc,Yc,Zc)−kRPr(kSPr(XB,YB,ZB));
- and
- (n) retrieving the first secret message bit string from the elliptic curve message point (Xm,Ym,Zm).
A system for performing XZ-elliptic curve cryptography, wherein a sending correspondent and a receiving correspondent select and agree upon an elliptic curve set EC3, wherein the sending correspondent further establishes a private key pair (kSPr,eSPr), the sending correspondent and the receiving correspondent further agreeing upon a base point (XB,YB,ZB)εEC and sharing a public key pair (kSPr(XB,YB,ZB),EbeSPr), the system comprising:
- a processor;
- computer readable memory coupled to the processor;
- a user interface coupled to the processor;
- a display coupled to the processor;
- software stored in the memory and executable by the processor, the software having:
- means for calculating a shared key as (kSPr(kRPr(XB,YB,ZB)),(EbeRPr)eSPr) at the sending correspondent;
- means for embedding a first secret message bit string into an elliptic curve message point (Xm,Ym,Zm) at the sending correspondent;
- means for computing a cipher point (Xc,Yc,Zc) as (Xc,Yc,Zc)=(Xm,Ym,Zm)+kSPr(kRPr(XB,YB,ZB)) at the sending correspondent;
- means for embedding a second secret message bit string into a data transformation index Em, at the sending correspondent;
- means for transforming the cipher point coordinates Xc and Zc as {circumflex over (X)}C=XC(EbeRPr)eSPr and {circumflex over (Z)}C=ZCEm, respectively, at the sending correspondent;
- means for calculating a cipher transformation index Ec as
- E
- c
- =
- (
- E
- b
- e
- RPr
- )
- e
- SPr
- E
- m
- at the sending correspondent;
- means for sending a set of appropriate bits of {circumflex over (X)}c, {circumflex over (Z)}c, and Ec, to the receiving correspondent;
- means for calculating the shared key as (kRPr(kSPr(XB,YB,ZB)),(EbeSPr)eRPr) at the receiving correspondent;
- means for calculating the data transformation index Em as
- E
- m
- =
- (
- E
- b
- e
- RPr
- )
- e
- SPr
- E
- c
- at the receiving correspondent;
- means for calculating the cipher point coordinates Xc and Zc as XC={circumflex over (X)}C(EbeRPr)eSPr)−1 and ZC={circumflex over (Z)}CEm−1, respectively, at the receiving correspondent;
- means for computing the elliptic curve message point (Xm,Ym,Zm) as (Xm,Ym,Zm)=(Xc,Yc,Zc)−kRPr(kSPr(XB,YB,ZB)) at the receiving correspondent;
- and
- means for retrieving the first secret message bit string from the elliptic curve message point (Xm,Ym,Zm).
Dependencies are inferred from the claim text.