ABSTRACT
Abstract
Operational n-state digital circuits and n-state switching operations with n and integer greater than 2 execute Finite Lab-transformed (FLT) n-state switching functions to process n-state signals provided on at least 2 inputs to generate an n-state signal on an output. The FLT is an enhancement of a computer architecture. Cryptographic apparatus and methods apply circuits that are characterized by FLT-ed addition and/or multiplication over finite field GF(n) or by addition and/or multiplication modulo-n that are modified in accordance with reversible n-state inverters, and are no longer known operations. Cryptographic methods processed on FLT modified machine instructions include encryption/decryption, public key generation, and digital signature methods including Post-Quantum methods. They include modification of isogeny based, NTRU based and McEliece based cryptographic machines.
Description
COPYRIGHT NOTICE
A portion of the instant disclosure contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/172,584 filed on Oct. 26, 2018. This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/717,691 filed on Dec. 17, 2019. This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 17/240,635 filed on Apr. 26, 2021. Application Ser. No. 17/240,635 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/532,489 filed on Aug. 6, 2019 now abandoned. U.S. patent application Ser. No. 16/532,489 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 15/499,849 filed on Apr. 27, 2017 now U.S. Pat. No. 10,375,252. Application Ser. No. 16/172,584 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 14/975,841 filed on Dec. 20, 2015, now abandoned. U.S. patent application Ser. No. 16/172,584 claims the benefit of and is a continuation-in-part of patent application Ser. No. 15/442,556 filed on Feb. 24, 2017, U.S. patent application Ser. No. 16/172,584 claims the benefit of U.S. Provisional Patent Application No. 62/610,921 filed on Dec. 27, 2017, which is incorporated herein by reference. U.S. patent application Ser. No. 15/442,556 claims the benefit of U.S. Provisional Patent Application No. 62/299,935 filed on Feb. 25, 2016, and of U.S. Provisional Patent Application No. 62/435,814 filed on Dec. 18, 2016, and of U.S. Provisional Patent Application No. 62/455,555 filed on Feb. 6, 2017. This application claims the benefit of U.S. Provisional Patent Application No. 63/067,281 filed on Aug. 18, 2020 and of U.S. Provisional Patent Application No. 63/118,374 filed on Nov. 25, 2020 and of U.S. Provisional Patent Application No. 63/162,995 filed on Mar. 18, 2021. U.S. patent application Ser. No. 16/717,691 claims the benefit of U.S. Provisional Patent Application No. 62/902,350 filed on Sep. 18, 2019. All the above Provisional and Non-provisional U.S. Patent Applications and Patents are incorporated herein by reference in their entirety.
BACKGROUND OF THE INVENTION
The present invention relates to apparatus and methods for computer cryptography that provide increased security of data exchange by modifying aspects of proven cryptography methods. The looming appearance of Quantum Computers require better resistance of computer data exchange against cryptanalysis and other attacks. Novel and improved cryptographic computers and methods are required.
SUMMARY OF THE INVENTION
In accordance with an aspect of the present invention, cryptographic apparatus and methods are provided that perform modified known cryptographic methods, including encryption/decryption, public-key cryptography, message digest cryptography and elliptic curve cryptography, wherein at least one known n-state switching operation is replaced by a modified n-state switching operation, wherein a modification is achieved by modifying the n-state operation in accordance with a Finite Lab-Transform (FLT). The FLT includes transforming input n-state data which represent input signals with a first n-state reversible inverter and transforming data outputted by the n-state switching operation by a second n-state reversible inverter. In one embodiment a combination of the first and second n-state inverter establish an n-state identity inverter. Herein n is a positive integer with n>2 or n>5 or n>64 or n>256 or n is very large with n being a positive integer having more than 50 digits.
The n-state switching operation is one of several n-state switching operations in a computer device as commonly used in cryptography and are usually characterized by one of the following operations: a modulo-n addition, a known addition over a finite field GF(n), a modulo-n multiplication and a known multiplication over a finite field GF(n). A known operation over a finite field GF(n) is either a modulo-n addition or modulo-n multiplication when n is a prime number, or it is defined by a primitive polynomial when n=q p with q being prime >1 and p is 2 or greater. In accordance with an aspect of the present invention, application of the FLT creates a modified n-state switching operation that is no longer known as defined above. Certain FLTs do create known additions and/or multiplications over GF(n=q p ). In accordance with an aspect of the present invention such FLTs are discarded and are not applied. That is: if an FLT of an n-state operation creates a modified n-state switching operation that is a known n-state switching operation then that modified n-state operation is not applied as a replacement in a cryptographic operation.
In accordance with an aspect of the present invention an FLT based modification is applied to public data in data exchange between computing machines. The modification may be generating an FLTed multiplicative inverse.
DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates in diagram a device that performs in accordance with a Finite Lab Transform;
FIGS. 2 and 3 are screenshots of computer programs that execute instructions in accordance with aspects of the present invention;
FIG. 4 illustrates a cryptographic device in accordance with an aspect of the present invention;
FIG. 5 is a screenshot of an output generated by a cryptographic device performing an isogeny based operation in accordance with an aspect of the present invention;
FIG. 6 illustrates a sequence generator in accordance with an aspect of the present invention;
FIGS. 7 is a screenshot of a correlation graph generated from a maximum length signal sequence generated by a sequence generator in accordance with an aspect of the present invention;
FIG. 8 is a screenshot of a computer stored program that computes an FLT modified inverse matrix in accordance with an aspect of the present invention;
FIG. 9 is a screenshot of a computer stored program that computes an FLT modified determinant of a matrix in accordance with an aspect of the present invention;
FIG. 10 illustrates a processor based computer system; and
FIG. 11 illustrates a network of computer devices.
DESCRIPTION OF A PREFERRED EMBODIMENT
An n-state inverter is a machine circuit or a machine operation based on physical instructions wherein an input signal having one of n states with n an integer greater than 2 generates an output signal having one of n states. A reversible n-state inverter uniquely modifies each of n states into one of n states. Identity is a reversible n-state inverter. A reversing n-state inverter of a reversible n-state inverter reverses the modification of the n-state reversible inverter. The combination of n-state reversible inverter with corresponding reversing inverter is the identity. An n-state inverter may be a combinational circuit, an addressable memory or a set of machine instructions. An example of a rule based reversible n-state inverter, for instance for input signals that have 100 or more bits, may be represented as an arithmetical operation: inv(i)=a*i+b mod-n with n being prime or i being relative prime to n or the * and +operation being defined over GF(n). Inverter rules may include reversible permutations, shuffles or interleaves.
The Finite Lab Transform machine operation is illustrated in FIG. 1 . A computer device 100 , which may be a programmable processor, an addressable memory or a custom switching device has inputs
108 and 109 and output 110 and is configured to execute an n-state operation, such as an operation represented as an addition or a multiplication over GF(n) or any other 2-input n-state operation. Both inputs are provided with identical n-state reversible inverters
101 and 102 with respective inputs
105 and 106 . The output 110 is provided with n- state reversing inverter 103 with output 103 which reverses 101 to identity. FIG. 2 is a screenshot of a Matlab program that generates a reversing n-state inverter and FIG. 3 is a screenshot of a Matlab program that performs an Finite Lab Transform (FLT).
Several cryptographic operations are recognized. 1) reversible encryption usually coupled with decryption; 2) one way encryption; 3) hashing; 4) authentication; 5) digital signature generation and verification. All these operations (also sometimes known as primitives) generally include exchange of information between two machines or part of machines, such as processor and storage medium.
Aspects of the present disclosure relate to âpublic key generation.â The âpublicâ in âpublic key generationâ herein means that data related to a key, which is secret, takes place over a public channel that can be accessed, surreptitiously or not, by an attacker. It is recognized that there are different methods to establish a common key. In a Diffie Hellman (DH) process two machines exchange different data that allows both machines to create a common keyword. Another way is that one machine creates a keyword that is encrypted and transmitted to a second machine using for instance a public key from the second machine, such as in RSA. In Post Quantum cryptography key encryption and/or DH exchange may include a Key Encapsulating Mechanism (KEM). The term âpublic key generationâ and related terms are used to mean all cryptographic processes that intend to create a secret key that is established between two machines and then used to further encrypt a message that is exchanged. The term âpublic key generationâ thus covers for instance DH, RSA, ElGamal, Isogeny based DH, SIKE, Classic McEliece, NTRU, lattice based encryption, GGH encryption.
Digital signatures operations also include exchange of publicly transmitted data. It usually involves a public key and a signature of a document transmitted from a first to a second device. The second device may verify the signature by applying the public key to the signature to find a verified authentication such as a hash of the document. In a variant there are zero-knowledge schemes that are based on certain challenges. The term âdigital signaturesâ herein is fully intended to cover all possible signature and identification machine operations.
Basic cryptographic operations are often considered as primitives and are designated by a name of their developer(s) or abbreviation and/or may be considered to be exemplary representations of an approach. Examples are Diffie-Hellman, ElGamal, RSA, McEliece, Schnorr, NTRU, LWE, Fiat-Shamir and Feige-Fiat-Shamir, and so on, which may all be modified in accordance with one or more aspects of the present invention as disclosed herein. For instance isogeny based public key exchange has SIDH/SIKE but also variant CSIDH. NTRU comes in different flavors and so does McEliece. Referral to such a name herein refers to a basic and identifiable operation or sets of operations that is part of a cryptographic operation. For instance DH, ECDH and SIDH all use at least the exchange of partial components between machines that in combination generate identical secret keywords. DH is distinctly different from RSA. McEliece is distinct from NTRU. One of ordinary skill knows what these distinctions are. If confusion exists then a name refers to in order: 1) a most recent specification in the NIST PQ program; or if the name does not exist in that program then it refers 2) to a cryptographic method and/or circuit described in a publication that admits it is related to, similar to or derived from a published original disclosure with such a name or designation.
One approach in creating a common and secret keyword is to find some intractable processing problem that is very hard to attack without access to some private keys. In accordance with an aspect of the present invention, each machine has one or more common n-state inverters or n-state inverter rules that are synchronized in use so two machines use the same inverter or inverter rule in a message exchange. Synchronization may be organized by a third machine, or by one of the two machines, or may be rules by a common rule for the two machines. A simple toy example. Each machine has 100 or 1000 or any other useful amount of different n-state inverter rules or n-state inverters stored in memory in a same order. Each stored inverter may have a unique, but to the outside world, meaningless, ID code. Meaningless means that no order of a code can be derived from the code.
When a data exchange is started, one of the machines selects a code from the series of codes and sends it to the other machine. Now both machines know which inverter or inverter rule to use. Preferably, a code and thus the corresponding inverter or inverter rule is used a limited number of times, after which a machine activates a new code and thus a new inverter or inverter rule. An inverter or inverter rule may be used only once and then be changed or k pre-set times and then modified or changed every hour, day, week or every pre-set time.
The machines have a common proof-of-work rule that both have to execute to arrive at a common keyword. This may be called a common expression rule. The common expression rule may be represented by a polynomial expression like a0+a1*x+a2*x 2 + . . . ak*x k . Preferably, the expression includes at least one multiplicative inverse term like ap*x âp . In one embodiment of the present invention a rational function of the form (a0+a1*x+a2*x 2 + . . . ak*x k )/(b0+b1*x+b2*x 2 + . . . bp*x p ) with preferably irreducible polynomials is provided. In one embodiment of the present invention one may use (a0+a1*x+a2*x 2 + . . . ak*x k )/(b0+b1*y+b2*y 2 + . . . bp*y p ) wherein two variable are applied. In one embodiment one may apply an expression with multivaria
COPYRIGHT NOTICE
A portion of the instant disclosure contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/172,584 filed on Oct. 26, 2018. This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/717,691 filed on Dec. 17, 2019. This application claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 17/240,635 filed on Apr. 26, 2021. Application Ser. No. 17/240,635 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 16/532,489 filed on Aug. 6, 2019 now abandoned. U.S. patent application Ser. No. 16/532,489 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 15/499,849 filed on Apr. 27, 2017 now U.S. Pat. No. 10,375,252. Application Ser. No. 16/172,584 claims the benefit and is a continuation-in-part of U.S. patent application Ser. No. 14/975,841 filed on Dec. 20, 2015, now abandoned. U.S. patent application Ser. No. 16/172,584 claims the benefit of and is a continuation-in-part of patent application Ser. No. 15/442,556 filed on Feb. 24, 2017, U.S. patent application Ser. No. 16/172,584 claims the benefit of U.S. Provisional Patent Application No. 62/610,921 filed on Dec. 27, 2017, which is incorporated herein by reference. U.S. patent application Ser. No. 15/442,556 claims the benefit of U.S. Provisional Patent Application No. 62/299,935 filed on Feb. 25, 2016, and of U.S. Provisional Patent Application No. 62/435,814 filed on Dec. 18, 2016, and of U.S. Provisional Patent Application No. 62/455,555 filed on Feb. 6, 2017. This application claims the benefit of U.S. Provisional Patent Application No. 63/067,281 filed on Aug. 18, 2020 and of U.S. Provisional Patent Application No. 63/118,374 filed on Nov. 25, 2020 and of U.S. Provisional Patent Application No. 63/162,995 filed on Mar. 18, 2021. U.S. patent application Ser. No. 16/717,691 claims the benefit of U.S. Provisional Patent Application No. 62/902,350 filed on Sep. 18, 2019. All the above Provisional and Non-provisional U.S. Patent Applications and Patents are incorporated herein by reference in their entirety.
BACKGROUND OF THE INVENTION
The present invention relates to apparatus and methods for computer cryptography that provide increased security of data exchange by modifying aspects of proven cryptography methods. The looming appearance of Quantum Computers require better resistance of computer data exchange against cryptanalysis and other attacks. Novel and improved cryptographic computers and methods are required.
SUMMARY OF THE INVENTION
In accordance with an aspect of the present invention, cryptographic apparatus and methods are provided that perform modified known cryptographic methods, including encryption/decryption, public-key cryptography, message digest cryptography and elliptic curve cryptography, wherein at least one known n-state switching operation is replaced by a modified n-state switching operation, wherein a modification is achieved by modifying the n-state operation in accordance with a Finite Lab-Transform (FLT). The FLT includes transforming input n-state data which represent input signals with a first n-state reversible inverter and transforming data outputted by the n-state switching operation by a second n-state reversible inverter. In one embodiment a combination of the first and second n-state inverter establish an n-state identity inverter. Herein n is a positive integer with n>2 or n>5 or n>64 or n>256 or n is very large with n being a positive integer having more than 50 digits.
The n-state switching operation is one of several n-state switching operations in a computer device as commonly used in cryptography and are usually characterized by one of the following operations: a modulo-n addition, a known addition over a finite field GF(n), a modulo-n multiplication and a known multiplication over a finite field GF(n). A known operation over a finite field GF(n) is either a modulo-n addition or modulo-n multiplication when n is a prime number, or it is defined by a primitive polynomial when n=q p with q being prime >1 and p is 2 or greater. In accordance with an aspect of the present invention, application of the FLT creates a modified n-state switching operation that is no longer known as defined above. Certain FLTs do create known additions and/or multiplications over GF(n=q p ). In accordance with an aspect of the present invention such FLTs are discarded and are not applied. That is: if an FLT of an n-state operation creates a modified n-state switching operation that is a known n-state switching operation then that modified n-state operation is not applied as a replacement in a cryptographic operation.
In accordance with an aspect of the present invention an FLT based modification is applied to public data in data exchange between computing machines. The modification may be generating an FLTed multiplicative inverse.
DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates in diagram a device that performs in accordance with a Finite Lab Transform;
FIGS. 2 and 3 are screenshots of computer programs that execute instructions in accordance with aspects of the present invention;
FIG. 4 illustrates a cryptographic device in accordance with an aspect of the present invention;
FIG. 5 is a screenshot of an output generated by a cryptographic device performing an isogeny based operation in accordance with an aspect of the present invention;
FIG. 6 illustrates a sequence generator in accordance with an aspect of the present invention;
FIGS. 7 is a screenshot of a correlation graph generated from a maximum length signal sequence generated by a sequence generator in accordance with an aspect of the present invention;
FIG. 8 is a screenshot of a computer stored program that computes an FLT modified inverse matrix in accordance with an aspect of the present invention;
FIG. 9 is a screenshot of a computer stored program that computes an FLT modified determinant of a matrix in accordance with an aspect of the present invention;
FIG. 10 illustrates a processor based computer system; and
FIG. 11 illustrates a network of computer devices.
DESCRIPTION OF A PREFERRED EMBODIMENT
An n-state inverter is a machine circuit or a machine operation based on physical instructions wherein an input signal having one of n states with n an integer greater than 2 generates an output signal having one of n states. A reversible n-state inverter uniquely modifies each of n states into one of n states. Identity is a reversible n-state inverter. A reversing n-state inverter of a reversible n-state inverter reverses the modification of the n-state reversible inverter. The combination of n-state reversible inverter with corresponding reversing inverter is the identity. An n-state inverter may be a combinational circuit, an addressable memory or a set of machine instructions. An example of a rule based reversible n-state inverter, for instance for input signals that have 100 or more bits, may be represented as an arithmetical operation: inv(i)=a*i+b mod-n with n being prime or i being relative prime to n or the * and +operation being defined over GF(n). Inverter rules may include reversible permutations, shuffles or interleaves.
The Finite Lab Transform machine operation is illustrated in FIG. 1 . A computer device 100 , which may be a programmable processor, an addressable memory or a custom switching device has inputs
108 and 109 and output 110 and is configured to execute an n-state operation, such as an operation represented as an addition or a multiplication over GF(n) or any other 2-input n-state operation. Both inputs are provided with identical n-state reversible inverters
101 and 102 with respective inputs
105 and 106 . The output 110 is provided with n- state reversing inverter 103 with output 103 which reverses 101 to identity. FIG. 2 is a screenshot of a Matlab program that generates a reversing n-state inverter and FIG. 3 is a screenshot of a Matlab program that performs an Finite Lab Transform (FLT).
Several cryptographic operations are recognized. 1) reversible encryption usually coupled with decryption; 2) one way encryption; 3) hashing; 4) authentication; 5) digital signature generation and verification. All these operations (also sometimes known as primitives) generally include exchange of information between two machines or part of machines, such as processor and storage medium.
Aspects of the present disclosure relate to âpublic key generation.â The âpublicâ in âpublic key generationâ herein means that data related to a key, which is secret, takes place over a public channel that can be accessed, surreptitiously or not, by an attacker. It is recognized that there are different methods to establish a common key. In a Diffie Hellman (DH) process two machines exchange different data that allows both machines to create a common keyword. Another way is that one machine creates a keyword that is encrypted and transmitted to a second machine using for instance a public key from the second machine, such as in RSA. In Post Quantum cryptography key encryption and/or DH exchange may include a Key Encapsulating Mechanism (KEM). The term âpublic key generationâ and related terms are used to mean all cryptographic processes that intend to create a secret key that is established between two machines and then used to further encrypt a message that is exchanged. The term âpublic key generationâ thus covers for instance DH, RSA, ElGamal, Isogeny based DH, SIKE, Classic McEliece, NTRU, lattice based encryption, GGH encryption.
Digital signatures operations also include exchange of publicly transmitted data. It usually involves a public key and a signature of a document transmitted from a first to a second device. The second device may verify the signature by applying the public key to the signature to find a verified authentication such as a hash of the document. In a variant there are zero-knowledge schemes that are based on certain challenges. The term âdigital signaturesâ herein is fully intended to cover all possible signature and identification machine operations.
Basic cryptographic operations are often considered as primitives and are designated by a name of their developer(s) or abbreviation and/or may be considered to be exemplary representations of an approach. Examples are Diffie-Hellman, ElGamal, RSA, McEliece, Schnorr, NTRU, LWE, Fiat-Shamir and Feige-Fiat-Shamir, and so on, which may all be modified in accordance with one or more aspects of the present invention as disclosed herein. For instance isogeny based public key exchange has SIDH/SIKE but also variant CSIDH. NTRU comes in different flavors and so does McEliece. Referral to such a name herein refers to a basic and identifiable operation or sets of operations that is part of a cryptographic operation. For instance DH, ECDH and SIDH all use at least the exchange of partial components between machines that in combination generate identical secret keywords. DH is distinctly different from RSA. McEliece is distinct from NTRU. One of ordinary skill knows what these distinctions are. If confusion exists then a name refers to in order: 1) a most recent specification in the NIST PQ program; or if the name does not exist in that program then it refers 2) to a cryptographic method and/or circuit described in a publication that admits it is related to, similar to or derived from a published original disclosure with such a name or designation.
One approach in creating a common and secret keyword is to find some intractable processing problem that is very hard to attack without access to some private keys. In accordance with an aspect of the present invention, each machine has one or more common n-state inverters or n-state inverter rules that are synchronized in use so two machines use the same inverter or inverter rule in a message exchange. Synchronization may be organized by a third machine, or by one of the two machines, or may be rules by a common rule for the two machines. A simple toy example. Each machine has 100 or 1000 or any other useful amount of different n-state inverter rules or n-state inverters stored in memory in a same order. Each stored inverter may have a unique, but to the outside world, meaningless, ID code. Meaningless means that no order of a code can be derived from the code.
When a data exchange is started, one of the machines selects a code from the series of codes and sends it to the other machine. Now both machines know which inverter or inverter rule to use. Preferably, a code and thus the corresponding inverter or inverter rule is used a limited number of times, after which a machine activates a new code and thus a new inverter or inverter rule. An inverter or inverter rule may be used only once and then be changed or k pre-set times and then modified or changed every hour, day, week or every pre-set time.
The machines have a common proof-of-work rule that both have to execute to arrive at a common keyword. This may be called a common expression rule. The common expression rule may be represented by a polynomial expression like a0+a1*x+a2*x 2 + . . . ak*x k . Preferably, the expression includes at least one multiplicative inverse term like ap*x âp . In one embodiment of the present invention a rational function of the form (a0+a1*x+a2*x 2 + . . . ak*x k )/(b0+b1*x+b2*x 2 + . . . bp*x p ) with preferably irreducible polynomials is provided. In one embodiment of the present invention one may use (a0+a1*x+a2*x 2 + . . . ak*x k )/(b0+b1*y+b2*y 2 + . . . bp*y p ) wherein two variable are applied. In one embodiment one may apply an expression with multivariate components such as c l *x p *y k or c q *x p *y âk or c r *x âp *y k , or any arithmetical modification, including square roots, or other roots, inverses or powers of constants and the like. Expressions may be stored as secret expressions in a way similar to inverters or inverter rules.
In according with an aspect of the present invention, expressions may be published as public keys. One condition may be that a certain amount of work is needed to generate an outcome of an expression in unmodified operations over modulo-n or GF(n). This has as a consequence that brute force attacks, wherein an execution of an expression requires Ci processor cycles an attacker would need to spend in the order of Ninv*Ci cycles to break the common keyword, wherein Ninv is roughly the number of possible n-state inverters or inverter rules. Thus the public key may contain the expression, including all coefficients, and the required unknowns and may include the code for an inverter or inverter rule, if needed for synchronization. The execution of the expression may take place by FLTed operations by both machines. The factor n as in modulo-n or GF(n) or GF(n=p q ) may be published, but may also be kept secret as part of the n-state inverter or inverter rule.
In accordance with an aspect of the present invention the FLTed square root of a modulo-n number is applied to generate a cryptographic message, or a common keyword that is part of or processed in a cryptographic message. One may, if so desired even form a common keyword from the square root. There are several methods to develop a square root over GF(n) or in a composite modulo-n. These methods are documented in the known literature. For relatively small values of n, such as n<10,000 or n<10 12 +1 or n<10 20 +1 or any n that is considered relatively small compared to a machine on which a square root over GF(n) or modulo-n is determined. For instance 30 minutes processor time for computing a square root may not be desirable when the processor is needed for other tasks.
A naïve way for determining a square root is to find an x for which x 2 mod-n or over GF(n) exists. One can make the decision to only use the positive roots. There is a well known square root program for n=3 mod-4 and a slower program when n=1 mod-4. One first checks if the Legendre Symbol (x (pâ1)/2 ) is 1 (or Quadratic Residue) and the compute sqrt(c)=c (p+1)/4 in Zp. One may do the same operations under FLT but with x (pâ1)/2 is not 1 but rinv(1) wherein rinv is the reversing inverter of the FLT. The square root is determined as sqrtFLT(c)=c (p+1)/4 under FLT multiplication.
Take GF(47) and c=18. The Legendre symbol of c is 18 (47â1)/2 =18 23 =1, so the square root exists and can be computed with the above steps as: sqrt(c)=21, which can be easily verified. Use an FLT over GF(47) with inv(i)=23*i+17 mod 47. This has a corresponding reversing inverter for which rinv(1)=32. Compute 18 23 under FLT which is 18
18
. . .
18 (22 times) wherein 0 is the FLT of * mod-47. The result is 32, so 18 is a quadratic residue under FLT. Using equivalent 18 12 generates 6 as the FLT square root of 18.
Isogeny Based Cryptography
The Costello article: Craig Costello, Supersingular isogeny key exchange for beginner, Microsoft Research, USA is incorporated herein by reference. This article provides a 431-state Elliptic Curve isogeny based key exchange. P=431. The finite field is for n=k1*r+k2*i as Gaussian integers. And the Montgomery curve y 2 =x 3 +ax 2 +x with a=329i+423 and generator points Pa=(100i+248, 304i+199); Qa=(426i+394, 51i+79); Pb=(358i+275, 410i+10) and Qb=(20i+185, 281i+239). Selected private keys are ka=11 and kb=2. Because p=2 4 3 3 â1 Alice has to perform 4 isogenies on Pb and Qb and Bob 3 isogenies on Pa and Qa. Alice generates public key PKa=[423i+179 (isogeny of a), (142i+183, 119i+360) (isogeny of Pb); and (22i+314, 289i+10) (isogeny of Qb). Bob generates public key PKb=[273i+76 (isogeny of a), (187i+226, 43i+360) (isogeny of Pa); and (325i+415, 322i+254) (isogeny of Qa).
Alice uses public key of Bob, Bob uses public key of Alice to both perform isogenies to generate an=[230] and j-invariant [234].
Create an 431-state inverter inv(i)=19*i+270 and the corresponding reversing 431-state inverter rinv(i) wherein inv(rinv(i))=i. Modify all parameters with rinv, including the operations over GF(431) applied to F p2 . This creates terma=[298i+371] for the inverted parameter âaâ in the Montgomery curve. And the rinv inverted curve points Par=[354i+203, 274i+87], Qar=[167i+188, 238i+58], Pbr=[50i+91, 393i+82], and Qbr=[191i+177, 114i+384].
Using the same private keys ka=11 and kb=2 and the same number of isogenies but using the FLTed operations in accordance with âinvâ and ârinvâ will generate the following public keys KAflt=[271i+154, (84i+313, 161i+171), (383i+25, 84i+76)], and KBflt=[227i+262, (41i+406, 351i+345), (139i+53, 343i+226)] which is used by 2 machines to generate common curve term [258i+134] or common j-invariant [258i+293]. As one uses the reverse inverter to get from clear to FLT, the inverter inv is used to get from FLT to clear. And inv(258)=0 and inv(293)=234 which was the clear result of the DH isogeny computations.
The generated public keys in FLTed form are the rinv inverted versions of the open or clear versions of the public keys. Because ka and kb are private keys it is believed to be very hard to reverse engineer the results. However, if one applies the FLT as described above, it may be beneficial to operate publicly in clear mode on starting parameters and points and apply the secret FLTed multiplicative inversion for public exchange. This prevents an attacker from finding cribs on the inverter or inverter rule. However, if it is unlikely for an attacker to find the ka and kb for an open isogeny based DH operation it is even more unlikely to find it for an FLTed system. Furthermore it is highly unlikely that the secret FLT will be broken. One simple precheck is to compute if provided points are on a curve. If not, it may be an indication that an FLT was used. However, this doesn't help an attacker much as now both the secret key and the secret FLT have to be found.
Isogeny Based Key Exchange
One problem with key exchange systems like SIDH/SIKE is that they work from the same public keys. In case of SIDH/Sike both parties use the same starting curve E0 (y 2 =x 3 +ax 2 +x) and the same initial points and the same value of n=f*2 e2 *3 e3 ±1. The âcustomizationâ herein is the selection of âmultiplication factorsâ ka and kb to create the first and thus following isogenies. The Costello article provides the starting curve for p=431 being a=229i+423 and initial points pa=248+100i, 199+304i; qa=394+426i; pb=275+358i; qa=394+426i, 79+51 i. In the general literature the real and imaginary points in Gaussian integers are exchanged. In general points are represented like pa=100i+248. However, for calculating purposes in for instance Matlab the x and y coordinates of points may be represented by two coordinates each [real imaginary] and in origin 1. This means that pa=[249 101 200 305] being [xpa ypa] and xpa=[249 101] and ypa=[200 305]. The factor âaâ in y 2 =x 3 +ax 2 +x in a p-state Montgomery curve is then a=term=[424 330] in Matlab.
In accordance with an aspect of the present invention, a cryptographic operation, including key exchange, encryption, digital signature and message digest is modified so it is privatized or customized so it is only useful for computers that have the custom or private parameters and the modified methods are more safe and secure than de cryptographic methods that they are derived from. In accordance with an aspect of the present invention, public data such as public keys between machines are enciphered as FLTed multiplicative inverses. Characterized by kp
kpf 1 =onef, wherein kp is a public key,
is the FLT of n-state *, kpf â1 is the FLTed multiplicative inverse of kp, and onef is the one-element (or neutral element) of
.
The Costello article explains and provides a relatively small example (p=431) of a Diffie Hellman isogeny based key exchange. The method starts with calculating p as p=2 eA *3 eB â1=431 wherein eA=4 and eB=3. This means that A (=Alice) has to perform 4 2-level isogenies (
factor
16, 8, 4 and 2) and B (=Bob) 3 3-level isogenies ( factor 27, 9 and 3). Initial points pa and qa of order 16 and pb and qb of level 27 are determined as a basis for further computations. The NIST submitted version SIKE of SIDH specification is Supersingular Isogeny Key Encapsulation, Oct. 1, 2020, downloaded from https://sike.org/files/SIDH-spec.pdf and is incorporated herein by reference. How to determine generating points is provided in section 1.3.3 of this specification. SIKE uses as curve y 2 =x 3 +6x 2 +x or with term [0i+6] or in Matlab [7 1]. For instance for term=[7 1] and p=431 one finds base points P2=[177 191 237 130]; Q2=[108 307 131 403]; P3=[152 1 357 1]; Q3=[313 1 1 429] in [r1 i1 r2 i2] originâ1 notation. For p=863 one determines for term=[7 1]: pay=[40 27 291 476]; qay=[768 70 680 672]; pby=[224 1 860 1]; qby=[625 1 1 427].
In accordance with an aspect of the present invention one or more additional initial conditions for a key exchange procedure are stored in a memory for two devices, a status of the starting conditions between the two devices being synchronized so that both devices apply the same initial conditions. In the Costello article and elsewhere one or more graphs are used to illustrate the working of an isogeny based key generating procedure. The vertices of these graphs are commonly the so called j-invariants of the terms that determine the elliptic curves of the isogenies. The formula for a j-invariant is provided for instance in the Costello article. However, the curves and the point generation in isogenies are determined by the terms of the elliptic curves. For instance the starting curve in the Costello article has term a0=329i+423 or j-invariant j(Ea0)=87i+190. For computation of the isogenies the terms should be used. Some intermediate curves in the 2-level isogenies in Costello are for instance: a1=275i+132 and a2=273i+76 with corresponding j-invariants j(Ea1)=107 and j(Ea2)=344i+190.
In an article Christopher Leonardi A note on the Ending Elliptic Curve in SIDH downloaded from https://eprint.iacr.org/2020/262.pdf and which is incorporated herein by reference, explains that isogenies in a SIDH/SIKE protocol, especially when de isogenies are of a degree 2 and 3, ends not only on identical j-invariants but actually on the same and identical curves. This aspect will be used.
If one starts an isogeny based key exchange, it is desirable that both devices (named Alice and Bob) start with the same curve and common initial points. For instance, in the small toy example in the Costello article, both the 2-level isogeny public key generation (Alice) and the 3-level isogeny public key generation, go through vertex with j-invariant 344i+190 which is an intermediate point for Alice and the end-point for Bob for public key generation. This j-invariant in both cases is based on term ac=273i+76 with point Pa'=(187i+226, 43i+360), Qa'=(325i+415, 322i+254) generated by device Bob and Pb'=(274i+251, 318i+59) and Qb'=(214i+94, 354i+193). This will generate common secret key (209i+118) which is not on the path of either Alice or Bob in the original example. This illustrates that it is beneficial for security to use different initial conditions for common key generation. Using stored and non-published initial conditions will greatly improve security, because an attacker only has the exchange of public keys to work with.
In accordance with an aspect of the present invention, a series of curves that are part of a valid isogeny graph are computed. For large values of p, no common shared curves may exist or very difficult to find. However, each one of all possible curves crossed during isogeny computations may be applied as a common curve. To limit initial point and term computation, one may run through an Alice (or a Bob) isogeny and designate one of the intermediate curves as a starting curve. Alice will automatically provide Bob's related initial curve points Pbâ² and Qbâ² and if Bob is applied Paâ² and Qaâ². In that case only one set of corresponding points for Bob or Alice has to be determined. One may store for instance 100 or more, or 1000 or more or 1,000,000 or more initial curves and related generating points in synchronized memories.
In accordance with an aspect of the present invention, both devices thus have a list of secret initial conditions in a same order. One machine may provide a public index of the list to the other device so both will use the same initial conditions. One may also store a formula on both devices that operate modulo-k for instance when k initial conditions are stored. For instance assume 101 initial conditions are stored. One may use as expression (g) h - mod 101 with secret g and k=101 wherein g is a generator element and one machine provides h, on which basis initial conditions in secret ordered position (g) h - mod 101 is activated. Preferably an specific value hi for h is used only once or once in at least k times or k/2 times or in only a few times so that no pattern can be determined. Because all initial conditions are secret, all information has to be derived from the public key exchange in the SIDH/SIKE procedure.
In order to further protect security of key exchange, one may modify public key information in accordance with the FLT. If the amount of public key data warrants this it may be beneficial to apply a reversible n-state inverter to encode the public key data. This may apply to the isogeny computer public key exchange. One may also maintain on both computing devices one or a list of two or more p-state reversible inverters. SIDH/SIKE starts always in curve y 2 =x 3 +6x 2 +x according to its specification with preset generating points and 2-level isogeny factor eA and 3-level isogeny factor eB. If one sticks to the same curve, it has limited use to apply the n-state reversible inverters on the initial states, but would be beneficial to encode the isogeny generated public keys. These inverted states are then reversed by the reversing inverter at the receiving side. Additional security comes for selection of secret multiplication factor Na for the Alice machine and Nb for the Bob machine. However, if one uses one of multiple possible starting curves and generating points then inverting public starting conditions may be helpful. There is a relation between starting curve and related generating points. In accordance with an aspect of the present invention, one applies at least two different p-state reversing inverters (or p-state inversion rules) for inverting public data. For instance a first p-state reversible inverter for the curve term and one for the generating points. More preferably one uses different p-state inverters for the Alice points and a different p-state inverter for the Bob points. Even more preferably one uses a first reversible p-state inverter for the real component of the first generator Alice point, a second reversible p-state inverter for the real component of the second generator Alice point, a third reversible p-state inverter for the i-component of the first generator Alice point, a fourth reversible p-state inverter for the i-component of the second generator Alice point, etc.
The above modifies the working of the computer in an unconventional way. It provides an extremely high level of security in Diffie-Hellman (DH) key exchange. While it is applied to isogeny based Diffie Hellman key exchange one may apply it with appropriate adaption to any key exchange procedure. For instance one may encode generator elements and/or public key elements in classical DH key exchange, and in elliptic curve DH exchange.
In certain cases it is impossible or undesirable to store and/or synchronize custom data. In accordance with an aspect of the present invention one uses a SIDH/SIKE procedure for instance with initial data for curve y 2 =x 3 +6x 2 +x as published in the specification or determined and published by a network connected machine. One preferred condition is that the end condition of the isogeny based DH procedures not only ends on the same j-invariant but also on a same curve. Security of the method/procedure is created by the secret private keys Na and Nb and the large size of p. The initial generating points have order Alice 2 eA and Bob 3 eB . In the Costello example eA=4 and eB=3 and Alice points have order 16 and Bob's generating points have order 27 . During the isogeny process each point that is mapped during the isogeny diminishes in order. Points of lesser order are annihilated during multiple isogeny steps. Furthermore, Bob's points are left initially unmodified in order during Alice isogeny and Alice point are order constant during Bob isogeny. However, the public points lose in order once they get into their base isogenies.
In accordance with an aspect of the present invention, an initial curve point is determined with an order at least as great as a Bob or Alice order and preferably greater than that order. For instance determine a points that is not a multiple of Bob or Alice and has an order 100 in the Costello example. This point is a common point to both machines Alice and Bob and is public or secret. Assume it to be public. In a first step Alice and Bob go through the SIDH/SIKE isogeny and public keys are published. In a second step only the new common point of high order is published and is moved through the isogenies as required in SIDH/SIKE and its public key result is published. The public key is applied in shared secret key computation and the computation ends at the previously computed end state and j-invariant. However, the computation in the selected isogenies ends at the same curve and thus the isogeny moved the public point in both machine and generates the same secret point on the shared end-curve. Both the Alice and Bob machines already have the required public keys and no key exchange (unless Na and/or Nb are changed) on the isogenies are required. Only the public key for the isogeny on the single point has to be published. The new shared secret is based on the shared common curve point (and not on the curve).
A toy example using the Costello toy example. The Costello example uses Na=11 and Nb=2 for respectively the 2-level (Alice) and 3-level (Bob) isogenies. The generated and transmitted public keys (Bob computer receives and stores (423i+179, (142i++183, 119i+360), (220i+314, 289i+10) generated by Alice and Alice receives and stores (273i+76, (187i+226, 43i+360), (325i+415, 322i+254)) generated by Bob. Using the combined SIDH isogenies on point X=[100i+4, 76i+145] will generate Y1=[139i+46, 15i+412] at Alice and Y2=[139i+46, 416i+19] at Bob. One can see that Y1=âY2 or when Y1=[x, y] then Y2=[x, ây]. Alice and Bob may use only the x-coordinate of the common endpoint. In addition, a rule may require that one of the parties inverts the y-coordinate. In that case both parties may use both the x- and y-coordinates as a common key or as the base for a common keyword. It is believed that using a separate point (separate from being a generating or base point) to carry through 2 multi-step isogenies to generate a common keyword is novel.
As a toy example, the Costello example is modified to p=863 thus enforcing a 32-step isogeny for Alice (as compared to 16-step isogeny for Alice for p=431). Using the SIDH/ SIKE phase 3 procedure for generating base points, the following points, using from here on the [xr xi yr yi] notation using Matlab originâ1, with starting term [7 1] and points P2=[40 27 291 476]; Q2=[768 70 680 672]; P3=[224 1 860 1]; and Q3=[625 1 1 427]. Using ka=5 and kb=21 will generate end-curve in SIDH with common term [763 450] and end j-invariant [759 241. Both the Alice and Bob machine use the above starting curve and points and ka and kb and further carry through till the end curve one of the starting points, for instance P2. This will provide as end point for the Alice machine the point AA=[440 301 60 364] and the Bob machine BB=[440 301 805 501] which have the same x-coordinate and opposing (negative) y-coordinates. Both points are on the end-curve and have order 32. Carrying through the Q points have as result end points with order 27. One may thus use at least the x-coordinate as common key. And/or use the y-coordinate wherein one party is designated to change the y-coordinate modulo-p.
In accordance with a further aspect of the present invention, a starting point on the starting curve is selected with an order greater than 2 ea or 3 eb or any other isogeny order greater than the greatest term in q eq with q prime and that does not divide p. This starting selection forces all intermediate points during isogeny being on an isogeny curve. For instance a point XP=[132 435 357 115] is on curve [7 1]. Using valid terms ka and kb, for instance again ka=5 and kb=21, with generate as end points [749 237 48 735] on Alice and [749 237 817 130] on Bob.
Furthermore a very unusual and also novel aspect has not been disclosed elsewhere, it is believed. It is using point any point, for instance SP=[101 102 103 104], which is NOT on the starting curve [7 1] and will generate in p=863 SIDH the points [636 555 863 863] for Alice and [636 555 592 830] for the Bob machine, which are not on ending curve [759 241]. It turns out that a random starting point, using valid starting conditions, even when not on the starting curve will generate at least identical x-coordinates of a point on the end-curve in the SIDH isogeny common key generation.
For instance the point [121 207 403 774] on curve [7 1] with valid starting conditions using ka=5 and kb=21 will still generate end curve [759 241], of course, but the starting point after isogenies is carried to [419 386 863 863] for Alice and [419 386 97 593] for Bob and the x-coordinates may be basis for a secret key. All in originâ1 Matlab notation.
The above can be used in different manners. It is known that isogeny computations may take too long, while the exchange of public data may take too much bandwidth, which may be addressed by encapsulation and coding tricks. Once a valid connection is established over a network between machines named Alice and Bob, it may be easier to re-establish secure connection in current sections, interrupted sessions or re-established sessions in a limited timeframe using previous data rather than going through a complete SIDH cycle. That is, establishing a common keyword is done by re-using the previous session parameters, but for security reasons using a new security starting point. For instance, one of the Alice/Bob machines may generate a common starting point SP=[xr xi yr yi] that is driven through isogeny as described above. All intermediate data are already known and may be retrieved from memory, so republishing, unless changed, it not required. This pertains in particular for the public intermediate data of the isogenies that may be stored and re-used. In the case of a SIDH protocol, this means that the Alice and Bob computer only publish the result of their local SP isogeny results. For instance, in the isogeny of SP=[101 102 103 104] Alice published public intermediate point [169 115 863 863] for use by machine Bob, and Bob publishes public key [121 138 747 486] for use by Alice. (all in originâ1 and [xr xi yr yi] notation.). For security purposes, these public key may be enciphered in FLTed multiplicative inverses.
In one embodiment of the present the Alice and Bob computers may store all intermediate isogenies (that is their kernels and perhaps terms) so that mappings for each isogeny of the keypoint can be computed without recalculating the kernel and curve term, as these already have been calculated previously. This can make computation of a secret common key lightning fast, if one makes all data for instance available through a cache memory.
In one embodiment of the present invention the two machines are provided with one or more sets of initial data for an isogeny exchange. For instance ka and kb are pre-programmed, as well as the generating points. In one embodiment of the present invention, the public keys related to for instance a SIDH/SIKE protocol are pre-computed and stored in the receiving machine. This prevents the machines from having to exchange the public key data. In that case one machine, which may be one of Alice or Bob or an external machine may publish a starting point that may or may not be on a curve. One may keep the starting curve a secret as well as p. Both machines use the published point to compute and then publish a public key which is then used to generate a new secret common key that is applied in further secure communication either directly or in a derived form.
A disadvantage of public key exchange is that public data still offers a (be it a very small and usually negligible) opportunity to derive the private key and/or the secret keyword. One way to address that is to publish upfront starting data and based on that determine a secret common keyword without additional intervening key exchange. Sticking to isogeny based key exchange or at least elliptic curve based key generation. One way to prevent intermediate or intervening data exchange is to make sure all data is generated after providing initial public data.
The more familiar or related two devices are, the better one can hide data or keep it private, ranging from the value p in GF(p) or mod-p, the generator or base elements G, G 1 , G 2 etc. and the factors k for determining k*G for instance. An incidental connection of an unknown device that wants to connect securely to another device in a network, for instance under an TLS protocol is different from a chipcard user that charges to an account or wants to withdraw money from an ATM machine. In the first case almost no shared information is available a priori except the protocol for data exchange. In the latter case a chip is configured and some private information like a PIN is available.
In the first case a SIDH/SIKE protocol may be applied with public keys and exchange of public keys as in DH related protocols. In the latter case it may be assumed that as soon as one machine (or chipcard) is identified by the other machine, commonly shared data and protocols may be assumed and retrieved for which no data exchange is needed. To make sure that successful attacks, including stealing of data, is prevented or rendered moot, it may be beneficial to modify exchanged data per connection, even if the same rules are applied.
In the âunknown relationshipâ connection a full blown DH protocol is applied. This may be enhanced after an initial full SIDH/SIKE protocol with a reduced public data exchange by one machine publishing a single starting point on or off the starting curve, which is used to maintain or restore a connection by keeping all other starting data, including ka and kb the same, but deriving the secret shared key from the isogeny of the starting point. This includes an exchange of intervening public data.
One example: a wireless cardoor opener and a car based computer that controls the car lock. The cardoor opener is presumably in possession of an authorized user and is assigned or designated to a car. That is the cardoor opener, when activated, can unlock (and lock) one or more doors on a specific car. The car âknowsâ so to speak the cardoor opener and the cardoor opener âknowsâ the car and both controlling computing devices may have stored common data and computer instructions. In that case an incidental pass-by device should specifically NOT be able to open or unlock that car. Nor allow a malfeasant who wants to enter the car unauthorized. In that case a door opener and specifically a wireless door opener should provide a unique signal that works only once to instruct a device on the car to unlock the door. The signal should only work once so it cannot be picked up and re-used by an attacker. Furthermore, it should be impossible to interfere with a signal, for instance block it and then resend it to gain time to attack. Furthermore, the signals should be of an unspecified format (for instance a varying length) so an attacker cannot be successful in transmitting variants of a known signal format to try at random to influence the car computer to unlock the door. The example is initially directed at a cardoor. However, it is known that hackers are working on hacking autonomously operating vehicles, including cars, trucks aircraft and the like, to influence their performance. Accordingly, security is required for all forms of access to a computing device on a vehicle.
A first step to increase security is to use a system that does not require public key exchange between computing devices, perhaps after providing initial data. In accordance with an aspect of the present invention, both devices will perform operations on data that may be public but may also be kept private. For instance, both machine have access to an elliptic curve and have programmed instructions for processing data that is private or public. For instance, both machines have instructions to compute k*G. The private data may be the parameters of the elliptic curve, and/or the factor k and/or the point G. Private data may be stored in an ordered way at both the Alice and Bob machine for different computations of a secret common keyword. For instance, there may be 3 instances of a keyword computation:
Stage 1: n-value: p1 term=term1; factor=k1 generator=G1 code1 active:N]; Stage 2: n-value: p2 term=term2; factor=k2 generator=G2 code2 active:Y]; Stage 3: n-value:p3 term=term3; factor=k3 generator=G3 code3 active:Y]; Stage v: n-value: pv term=termv; factor=kv generator=Gv codev active: Y];
It should be clear that more than 3 parameter sets may be included. For instance there may be 100 or more sets of parameters, 1000 or more sets of parameters or one million or more sets of parameters. An arbitrary order is assumed in the stored set of parameters. Both machines may have the same order of parameters. No order can be derived from the individual parameters. A unique identifying code may be included with the set of parameters. In accordance with an aspect of the present invention, a parameter set is retrieved at each machine in its order of storage. An external event, such as a date, a time, or an external instruction may instruct each of both machines which of the parameter sets to use. One field associated in the parameter set indicates if the set is active. The above example shows that set associated with codel is no longer active. In a data management step the active code may be changed from Y to N. In a follow on step, the memory elements associated with the parameters marked as Active:N may be further deactivated by overwriting the memory with for instance all 1 or all 0 or any pattern that overw
CLAIMS
Claims ( 20 )
The invention claimed is:
1. A cryptographic system, comprising:
a processor configured to exchange over a physical communication channel to a device a message that is generated as part of a cryptographic machine operation that includes an n-state Finite Lab Transform (FLT) based modification of an n-state computer operation having at least 2 inputs, the n-state FLT modification includes each of the at least 2 inputs of the n-state computer operation having an identical n-state reversible inverter not being identity and at an output of the n-state computer operation a reversing n-state reversible inverter, the n-state reversible inverter and the reversing n-state reversible inverter in combination form identity, with n an integer greater than 2.
2. The cryptographic system of claim 1 , wherein:
the n-state computer operation is selected from the group of n-state computer operations characterized by operations in the group consisting of a modulo-n multiplication, a modulo-n addition, a multiplication over GF (n) and an addition over GF (n), wherein GF (n) is a finite field with n elements.
3. The cryptographic system of claim 2 , wherein the cryptographic machine operation is a digital signature operation.
4. The cryptographic system of claim 3 , wherein the cryptographic machine operation is a Schnorr signature based system.
5. The cryptographic system of claim 3 , wherein the cryptographic machine operation is a digital signature based system that includes a Fiat-Shamir heuristic.
6. The cryptographic system of claim 3 , wherein the cryptographic machine operation is a digital signature system that performs a Feige-Fiat-Shamir identification operation.
7. The cryptographic system of claim 1 , wherein the Finite Lab Transform (FLT) modification of the n-state computer operation is stored as a table on a memory.
8. The cryptographic system of claim 1 , wherein a data element is processed by the n-state FLT modification as a Gaussian integer.
9. The cryptographic system of claim 1 , wherein the message is a ciphertext in the cryptographic machine operation.
10. The cryptographic system of claim 1 , wherein the cryptographic machine operation is a public key system operation.
11. The cryptographic system of claim 10 , wherein the cryptographic machine operation is an isogeny based operation.
12. The cryptographic system of claim 11 , wherein the isogeny based operation includes an input data element that is a point on an elliptic curve on which the isogeny operation is based and of an order not being a power of 2 or 3.
13. The cryptographic system of claim 11 , wherein the isogeny based operation includes an input data element that is processed as a point on an elliptic curve on which the isogeny operation is based but is not a point on the elliptic curve of isogeny computation.
14. The cryptographic system of claim 11 , wherein one or more computed kernel points are stored after a prior computation and are used in processing the input data.
15. The cryptographic system of claim 10 , wherein the cryptographic machine operation is a Goppa-code based operation.
16. The cryptographic system of claim 15 , further comprising:
the processor is configured to generate data as a first matrix with p-state elements, p being an integer greater than 2, based on the Goppa code, the first matrix being modified into a first modified matrix by at least a machine multiplication with a scrambling matrix;
data based on the first modified matrix is transmitted over the physical communication channel; and
the processor is configured to modify one or more rows in the first modified matrix and to transmit data based only on the modified one or more rows to the second processor.
17. The cryptographic system of claim 10 , wherein the cryptographic machine operation is a N-th degree Truncated polynomial Ring Units (NTRU) based operation.
18. The cryptographic system of claim 10 , wherein the cryptographic machine operation is a Feedback Shift Register modeled system.
19. The cryptographic system of claim 18 , wherein the cryptographic machine operation is an n-state Feedback Shift Register in a Galois configuration.
20. The cryptographic system of claim 10 , wherein publicly exchanged data is processed as an invertible matrix.
US17/402,968
2015-12-20
2021-08-16
Cryptographic computer machines with novel switching devices
Active
2037-04-19
US12143468B2
( en )
Priority Applications (2)
Application Number
Priority Date
Filing Date
Title
US17/402,968
US12143468B2
( en )
2015-12-20
2021-08-16
Cryptographic computer machines with novel switching devices
US18/097,396
US12425189B1
( en )
2015-12-20
2023-01-16
Cryptographic computer machines with novel switching devices
Applications Claiming Priority (16)
Application Number
Priority Date
Filing Date
Title
US14/975,841
US20160112069A1
( en )
2003-09-09
2015-12-20
Methods and Apparatus in Alternate Finite Field Based Coders and Decoders
US201662299935P
2016-02-25
2016-02-25
US201662435814P
2016-12-18
2016-12-18
US201762455555P
2017-02-06
2017-02-06
US15/442,556
US10515567B2
( en )
2010-06-01
2017-02-24
Cryptographic machines with N-state lab-transformed switching devices
US15/499,849
US10375252B2
( en )
2010-06-01
2017-04-27
Method and apparatus for wirelessly activating a remote mechanism
US201762610921P
2017-12-27
2017-12-27
US16/172,584
US11093213B1
( en )
2010-12-29
2018-10-26
Cryptographic computer machines with novel switching devices
US201916532489A
2019-08-06
2019-08-06
US201962902350P
2019-09-18
2019-09-18
US16/717,691
US11336425B1
( en )
2010-06-01
2019-12-17
Cryptographic machines characterized by a Finite Lab-Transform (FLT)
US202063067281P
2020-08-18
2020-08-18
US202063118374P
2020-11-25
2020-11-25
US202163162995P
2021-03-18
2021-03-18
US17/240,635
US12056549B1
( en )
2015-06-28
2021-04-26
Method and apparatus for activating a remote device
US17/402,968
US12143468B2
( en )
2015-12-20
2021-08-16
Cryptographic computer machines with novel switching devices
Related Parent Applications (4)
Application Number
Title
Priority Date
Filing Date
US16/172,584
Continuation-In-Part
US11093213B1
( en )
2010-06-01
2018-10-26
Cryptographic computer machines with novel switching devices
US201916532489A
Continuation-In-Part
2010-06-01
2019-08-06
US16/717,691
Continuation-In-Part
US11336425B1
( en )
2010-06-01
2019-12-17
Cryptographic machines characterized by a Finite Lab-Transform (FLT)
US17/240,635
Continuation-In-Part
US12056549B1
( en )
2015-06-28
2021-04-26
Method and apparatus for activating a remote device
Related Child Applications (1)
Application Number
Title
Priority Date
Filing Date
US18/097,396
Continuation-In-Part
US12425189B1
( en )
2015-12-20
2023-01-16
Cryptographic computer machines with novel switching devices
Publications (2)
Publication Number
Publication Date
US20230125560A1
US20230125560A1 ( en )
2023-04-27
US12143468B2
true
US12143468B2 ( en )
2024-11-12
Family
ID=86056276
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US17/402,968
Active
2037-04-19
US12143468B2
( en )
2015-12-20
2021-08-16
Cryptographic computer machines with novel switching devices
Country Status (1)
Country
Link
US
( 1 )
US12143468B2
( en )
Families Citing this family (9)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US12609809B2
( en )
*
2015-06-28
2026-04-21
Peter Lablans
Method and apparatus for activating a remote device
US12425189B1
( en )
*
2015-12-20
2025-09-23
Peter Lablans
Cryptographic computer machines with novel switching devices
WO2021107515A1
( en )
*
2019-11-28
2021-06-03
Seoul National University R&Db Foundation
Identity-based encryption method based on lattices
CN116166218B
( en )
*
2022-07-06
2024-12-24
温å·å¤§å¦
Quantum computing attack-resistant multiplier based on Karatsuba algorithm
KR102474891B1
( en )
*
2022-09-01
2022-12-06
(주)ë ¸ë¥´ë§
A virtual private network generating method providing the virtual private network by using key generated by post quantum cryptography algorithm and a virtual private network operating system performing the same
KR102830741B1
( en )
*
2022-11-30
2025-07-08
ìì¸ëíêµì°ííë ¥ë¨
Elctronic apparatus and method for verifying encrypted data
US20250158803A1
( en )
*
2023-11-11
2025-05-15
Peter Lablans
Encryption Cloaking with a Modified Radix-n Function for Enhanced Security
US12476789B1
( en )
*
2024-04-02
2025-11-18
Peter Lablans
Computational function transformation (CFT) in computer implemented cryptography
CN119561675B
( en )
*
2024-09-25
2025-11-11
å±±ä¸äºæµ·å½åäºè®¡ç®è£ å¤äº§ä¸åæ°ä¸å¿æéå ¬å¸
Data decryption method, device, equipment and medium based on SP network structure
Citations (56)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US3958081A
( en )
*
1975-02-24
1976-05-18
International Business Machines Corporation
Block cipher system for data security
US3962539A
( en )
*
1975-02-24
1976-06-08
International Business Machines Corporation
Product block cipher system for data security
US4165444A
( en )
*
1976-12-11
1979-08-21
National Research Development Corporation
Apparatus for electronic encypherment of digital data
US4405829A
( en )
1977-12-14
1983-09-20
Massachusetts Institute Of Technology
Cryptographic communications system and method
US4597083A
( en )
1984-04-06
1986-06-24
Ampex Corporation
Error detection and correction in digital communication systems
US4995082A
( en )
1989-02-24
1991-02-19
Schnorr Claus P
Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system
US5054066A
( en )
*
1988-11-16
1991-10-01
Grumman Corporation
Error correcting public key cryptographic method and program
US5995539A
( en )
*
1993-03-17
1999-11-30
Miller; William J.
Method and apparatus for signal transmission and reception
US6052704A
( en )
*
1998-01-12
2000-04-18
National Science Council
Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m)
US6111952A
( en )
*
1996-01-26
2000-08-29
Bull Cp8
Asymmetrical cryptographic communication method and portable object therefore
US20020038420A1
( en )
*
2000-04-13
2002-03-28
Collins Timothy S.
Method for efficient public key based certification for mobile and desktop environments
US20030106014A1
( en )
2001-10-12
2003-06-05
Ralf Dohmen
High speed syndrome-based FEC encoder and decoder and system using same
US20040078555A1
( en )
2002-10-22
2004-04-22
Joshua Porten
Processor having a finite field arithmetic unit
US20040202317A1
( en )
2002-12-20
2004-10-14
Victor Demjanenko
Advanced encryption standard (AES) implementation as an instruction set extension
US20050058285A1
( en )
2003-09-17
2005-03-17
Yosef Stein
Advanced encryption standard (AES) engine with real time S-box generation
US20050094806A1
( en )
*
2003-11-03
2005-05-05
Microsoft Corporation
Use of isogenies for design of cryptosystems
US20050267926A1
( en )
*
2004-05-27
2005-12-01
King Fahd University Of Petroleum And Minerals
Finite field serial-serial multiplication/reduction structure and method
US20060149962A1
( en )
*
2003-07-11
2006-07-06
Ingrian Networks, Inc.
Network attached encryption
US20070011453A1
( en )
*
2005-07-07
2007-01-11
Nokia Corporation
Establishment of a trusted relationship between unknown communication parties
US20070150794A1
( en )
2002-10-17
2007-06-28
Mats Naslund
Error correction using finite fields of odd characteristic on binary hardware
US20070152710A1
( en )
*
2004-02-25
2007-07-05
Peter Lablans
Single and composite binary and multi-valued logic functions from gates and inverters
US20080013716A1
( en )
*
2005-01-11
2008-01-17
Jintai Ding
Method to produce new multivariate public key cryptosystems
US20080069345A1
( en )
*
2006-10-11
2008-03-20
Frank Rubin
Device, System and Method for Cryptographic Key Exchange
US20080130873A1
( en )
2006-12-04
2008-06-05
Lsi Corporation
Flexible hardware architecture for ECC/HECC based crytography
US20080143561A1
( en )
*
2006-12-15
2008-06-19
Yoshikazu Miyato
Operation processing apparatus, operation processing control method, and computer program
US20080180987A1
( en )
*
2004-02-25
2008-07-31
Peter Lablans
Multi-State Latches From n-State Reversible Inverters
US20080244274A1
( en )
*
2004-02-25
2008-10-02
Peter Lablans
Methods and Systems for Processing of n-State Symbols with XOR and EQUALITY Binary Functions
US20080273695A1
( en )
*
2007-05-02
2008-11-06
Al-Gahtani Theeb A
Method for elliptic curve scalar multiplication using parameterized projective coordinates
US20090092250A1
( en )
*
2007-04-04
2009-04-09
Peter Lablans
Methods and Systems for N-State Signal Processing with Binary Devices
US20090220083A1
( en )
*
2008-02-28
2009-09-03
Schneider James P
Stream cipher using multiplication over a finite field of even characteristic
US20090310775A1
( en )
*
2008-06-13
2009-12-17
Shay Gueron
Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US20100057823A1
( en )
2008-08-28
2010-03-04
Filseth Paul G
Alternate galois field advanced encryption standard round
US20100086132A1
( en )
*
2007-01-26
2010-04-08
Thales
Data encoding method
US20100115017A1
( en )
*
2008-10-30
2010-05-06
Chih-Hsu Yen
Semi-Sequential Galois Field Multiplier And The Method For Performing The Same
US20100208885A1
( en )
*
2007-10-04
2010-08-19
Julian Philip Murphy
Cryptographic processing and processors
US7831895B2
( en )
2006-07-25
2010-11-09
Communications Coding Corporation
Universal error control coding system for digital communication and data storage systems
US20100306299A1
( en )
2009-06-02
2010-12-02
Itt Manufacturing Enterprises, Inc.
Circuits and Methods for Performing Exponentiation and Inversion of Finite Field Elements
US20100306525A1
( en )
*
2009-05-28
2010-12-02
Microsoft Corporation
Efficient distribution of computation in key agreement
US20110016321A1
( en )
*
2009-07-14
2011-01-20
Sundaram Ganapathy S
Automated Security Provisioning Protocol for Wide Area Network Communication Devices in Open Device Environment
US20110033046A1
( en )
*
2008-06-04
2011-02-10
Masao Nonaka
Encryption device and encryption system
US20110213982A1
( en )
*
2010-02-26
2011-09-01
Certicom Corp.
Elgamal signature schemes
US20110211691A1
( en )
*
2007-08-06
2011-09-01
Nec Corporation
Common key block encryption device, common key block encryption method, and program
US20110243320A1
( en )
*
2010-03-30
2011-10-06
International Business Machines Corporation
Efficient Homomorphic Encryption Scheme For Bilinear Forms
US20120023336A1
( en )
*
2009-12-10
2012-01-26
Vijayarangan Natarajan
System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
US20120027210A1
( en )
*
2009-04-24
2012-02-02
Nippon Telegraph And Telephone Corp.
Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
US20120027198A1
( en )
*
2008-02-13
2012-02-02
Dr. ZHIJIANG HE
System and method for cryptographic communications using permutation
US20120121084A1
( en )
*
2010-11-16
2012-05-17
Martin Tomlinson
Public key encryption system using error correcting codes
US8332727B2
( en )
*
2008-09-12
2012-12-11
Samsung Electronics Co., Ltd.
Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit
US8666062B2
( en )
*
2001-12-31
2014-03-04
Certicom Corp.
Method and apparatus for performing finite field calculations
US9485087B2
( en )
2011-05-05
2016-11-01
Proton World International N.V.
Method and circuit for cryptographic operation
US9652200B2
( en )
2015-02-18
2017-05-16
Nxp B.V.
Modular multiplication using look-up tables
US20170169735A1
( en )
*
2010-06-01
2017-06-15
Peter Lablans
Cryptographic Machines With N-state Lab-transformed Switching Devices
US20170230509A1
( en )
*
2010-06-01
2017-08-10
Peter Lablans
Method and Apparatus for Wirelessly Activating a Remote Mechanism
US11093213B1
( en )
*
2010-12-29
2021-08-17
Ternarylogic Llc
Cryptographic computer machines with novel switching devices
US20210405518A1
( en )
*
2008-05-19
2021-12-30
Peter Lablans
Camera system with a plurality of image sensors
US11336425B1
( en )
*
2010-06-01
2022-05-17
Ternarylogic Llc
Cryptographic machines characterized by a Finite Lab-Transform (FLT)
2021
2021-08-16
US
US17/402,968
patent/US12143468B2/en
active
Active
Patent Citations (60)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US3958081A
( en )
*
1975-02-24
1976-05-18
International Business Machines Corporation
Block cipher system for data security
US3962539A
( en )
*
1975-02-24
1976-06-08
International Business Machines Corporation
Product block cipher system for data security
US4165444A
( en )
*
1976-12-11
1979-08-21
National Research Development Corporation
Apparatus for electronic encypherment of digital data
US4405829A
( en )
1977-12-14
1983-09-20
Massachusetts Institute Of Technology
Cryptographic communications system and method
US4597083A
( en )
1984-04-06
1986-06-24
Ampex Corporation
Error detection and correction in digital communication systems
US5054066A
( en )
*
1988-11-16
1991-10-01
Grumman Corporation
Error correcting public key cryptographic method and program
US4995082A
( en )
1989-02-24
1991-02-19
Schnorr Claus P
Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system
US5995539A
( en )
*
1993-03-17
1999-11-30
Miller; William J.
Method and apparatus for signal transmission and reception
US6111952A
( en )
*
1996-01-26
2000-08-29
Bull Cp8
Asymmetrical cryptographic communication method and portable object therefore
US6052704A
( en )
*
1998-01-12
2000-04-18
National Science Council
Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m)
US20020038420A1
( en )
*
2000-04-13
2002-03-28
Collins Timothy S.
Method for efficient public key based certification for mobile and desktop environments
US20030106014A1
( en )
2001-10-12
2003-06-05
Ralf Dohmen
High speed syndrome-based FEC encoder and decoder and system using same
US8458575B2
( en )
2001-10-12
2013-06-04
Agere Systems Llc
High speed syndrome-based FEC encoder and system using same
US6990624B2
( en )
2001-10-12
2006-01-24
Agere Systems Inc.
High speed syndrome-based FEC encoder and decoder and system using same
US8666062B2
( en )
*
2001-12-31
2014-03-04
Certicom Corp.
Method and apparatus for performing finite field calculations
US20070150794A1
( en )
2002-10-17
2007-06-28
Mats Naslund
Error correction using finite fields of odd characteristic on binary hardware
US20040078555A1
( en )
2002-10-22
2004-04-22
Joshua Porten
Processor having a finite field arithmetic unit
US7343472B2
( en )
2002-10-22
2008-03-11
Broadcom Corporation
Processor having a finite field arithmetic unit utilizing an array of multipliers and adders
US20040202317A1
( en )
2002-12-20
2004-10-14
Victor Demjanenko
Advanced encryption standard (AES) implementation as an instruction set extension
US20060149962A1
( en )
*
2003-07-11
2006-07-06
Ingrian Networks, Inc.
Network attached encryption
US20050058285A1
( en )
2003-09-17
2005-03-17
Yosef Stein
Advanced encryption standard (AES) engine with real time S-box generation
US20050094806A1
( en )
*
2003-11-03
2005-05-05
Microsoft Corporation
Use of isogenies for design of cryptosystems
US20070152710A1
( en )
*
2004-02-25
2007-07-05
Peter Lablans
Single and composite binary and multi-valued logic functions from gates and inverters
US20080180987A1
( en )
*
2004-02-25
2008-07-31
Peter Lablans
Multi-State Latches From n-State Reversible Inverters
US20080244274A1
( en )
*
2004-02-25
2008-10-02
Peter Lablans
Methods and Systems for Processing of n-State Symbols with XOR and EQUALITY Binary Functions
US20050267926A1
( en )
*
2004-05-27
2005-12-01
King Fahd University Of Petroleum And Minerals
Finite field serial-serial multiplication/reduction structure and method
US20080013716A1
( en )
*
2005-01-11
2008-01-17
Jintai Ding
Method to produce new multivariate public key cryptosystems
US20070011453A1
( en )
*
2005-07-07
2007-01-11
Nokia Corporation
Establishment of a trusted relationship between unknown communication parties
US7831895B2
( en )
2006-07-25
2010-11-09
Communications Coding Corporation
Universal error control coding system for digital communication and data storage systems
US20080069345A1
( en )
*
2006-10-11
2008-03-20
Frank Rubin
Device, System and Method for Cryptographic Key Exchange
US20080130873A1
( en )
2006-12-04
2008-06-05
Lsi Corporation
Flexible hardware architecture for ECC/HECC based crytography
US20080143561A1
( en )
*
2006-12-15
2008-06-19
Yoshikazu Miyato
Operation processing apparatus, operation processing control method, and computer program
US20100086132A1
( en )
*
2007-01-26
2010-04-08
Thales
Data encoding method
US20090092250A1
( en )
*
2007-04-04
2009-04-09
Peter Lablans
Methods and Systems for N-State Signal Processing with Binary Devices
US20080273695A1
( en )
*
2007-05-02
2008-11-06
Al-Gahtani Theeb A
Method for elliptic curve scalar multiplication using parameterized projective coordinates
US20110211691A1
( en )
*
2007-08-06
2011-09-01
Nec Corporation
Common key block encryption device, common key block encryption method, and program
US20100208885A1
( en )
*
2007-10-04
2010-08-19
Julian Philip Murphy
Cryptographic processing and processors
US20120027198A1
( en )
*
2008-02-13
2012-02-02
Dr. ZHIJIANG HE
System and method for cryptographic communications using permutation
US20090220083A1
( en )
*
2008-02-28
2009-09-03
Schneider James P
Stream cipher using multiplication over a finite field of even characteristic
US20210405518A1
( en )
*
2008-05-19
2021-12-30
Peter Lablans
Camera system with a plurality of image sensors
US20110033046A1
( en )
*
2008-06-04
2011-02-10
Masao Nonaka
Encryption device and encryption system
US20090310775A1
( en )
*
2008-06-13
2009-12-17
Shay Gueron
Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US20100057823A1
( en )
2008-08-28
2010-03-04
Filseth Paul G
Alternate galois field advanced encryption standard round
US8332727B2
( en )
*
2008-09-12
2012-12-11
Samsung Electronics Co., Ltd.
Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit
US20100115017A1
( en )
<span