Patent ID: 8699701
Filing Date: 2014-04-15
Classification: H04L

Abstract:
1. A computer software product that includes a non-transitory storage medium readable by a processor, the non-transitory storage medium having stored thereon a set of instructions for performing public key XZ-elliptic curve cryptography for use with network security protocols, the instructions comprising: (a) a first set of instructions which, when loaded into main memory and executed by the processor, causes the processor to calculate a shared key as a scalar multiplication between a sending private key k (b) a second set of instructions which, when loaded into main memory and executed by the processor, causes the processor to embed a secret message bit string into an elliptic curve message point (X (c) a third set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a cipher point (X (d) a fourth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to record a set of appropriate bits of X (e) a fifth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to calculate the shared key as k (f) a sixth set of instructions which, when loaded into main memory and executed by the processor, causes the Processor to compute the elliptic curve message point (X (g) a seventh set of instructions which, when loaded into main memory and executed by the processor, causes the processor to retrieve the first secret message bit string from X (h) an eighth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to select a random integer k, wherein the random integer k is modulo p, wherein p is a selected integer at the sending correspondent; (i) a ninth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a scalar multiplication for a first signature point (X (j) a tenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to concatenate bit strings of X (k) an eleventh set of instructions which, when loaded into main memory and executed by the processor, causes the processor to convert the single bit string [X (l) a twelfth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a message digest digest(M), wherein digest(M) is a bit string dependent upon secret message M, and converting the bit string into an integer e at the sending correspondent; (m) a thirteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a signature value s as s=k (n) a fourteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to generate a digital signature of the message M as (r,s) at the sending correspondent; (o) a fifteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute the message digest digest(M) and converting the bit string into an integer e at the receiving correspondent; (p) a sixteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a pair of intermediate values u (q) a seventeenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to compute a scalar multiplication for a second signature point (X (r) an eighteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to concatenate bit strings of X (s) a nineteenth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to convert the single bit string [X (t) a twentieth set of instructions which, when loaded into main memory and executed by the processor, causes the processor to accept the digital signature if v=r at the receiving correspondent.