Cryptography based on quandles
Patent Information
- Application Number
- CN202610431546.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-11-27
- Filing Date
- 2026-04-02
- Publication Date
- 2026-10-16
Smart Images

Figure CN122932955A_ABST
Abstract
Description
Technical Field
[0001] This invention relates generally to cryptography, and more specifically to the use of quandle operations to perform cryptographic functions and other computational functions. Background Technology
[0002] A quandle is a mathematical structure that encodes the topological properties and symmetries of knots and braids. For example, Moskovich and Carmi in Royal Society Journal A 471:20150111 These concepts are described in “Tangle Machines.” The author explains how knots and braids are used in applications such as information processing and computing, and how they are symbolically represented using a formal system called “quandle.”
[0003] Formally, a quandle is defined as a set of elements Q (e.g., x, y, z). Q) and two binary operations It performs operations on the elements of Q, that is... For example, the elements of quandle can be integers, rational numbers, or multidimensional elements (such as vectors or matrices). Binary operations satisfy the following property for all elements in Q: Idempotency: Reversibility: Inverse operation and This is referred to as complementary operation in this paper. Distributiveness: Moskovich and Carmi described several specific examples of quandles that conform to these criteria, including: Conjugate quandle: Linear quandle: Log-linear quandle: The following description identifies other sets of elements and operations that satisfy the above quandle definition.
[0004] Homomorphic encryption schemes allow arithmetic computations to be performed on encrypted data, so that when the result is decrypted, it will be exactly the same as the result obtained by applying the same arithmetic computation to the original, unencrypted data. Therefore, homomorphic encryption allows owners of secret data to pass it in encrypted form to outsourced services (such as cloud-based computing or storage services) without providing the decryption key. Summary of the Invention
[0005] The embodiments of the present invention described herein provide methods, systems, and software for performing cryptographic calculations using quandle.
[0006] This disclosure provides a method for secure computation, the method comprising: a specification of an input variable including one or more first elements of a quandle, and an arithmetic computation to be performed on the input variable. The method includes: encrypting the input variable by performing a first operation of the quandle on the input variable together with an encoded variable, the encoded variable including one or more non-unit second elements of the quandle; applying the arithmetic computation to the encrypted input variable to produce an encrypted output variable. The method further includes: decrypting the encrypted output variable using the encoded variable and a second operation of the quandle to obtain the result of the arithmetic computation on the variable.
[0007] The elements of a quandle can include non-integer rational numbers and can be multidimensional. The method can include applying a first encryption key when performing a first operation and applying a second encryption key when performing a second operation. In some aspects, the first encryption key can be a public key, and the second encryption key can be a private key complementary to the public key. Encoded variables can be at least a portion of the first encryption key.
[0008] Arithmetic calculations may include one or more multiplications, or one or more modular additions. In some cases, encrypted input variables may include applying a series of quandle operations together to the input variable and the encoded variable. A series of quandle operations may include at least a first operation belonging to a first quandle and a second operation belonging to a second quandle different from the first quandle.
[0009] In some examples, the first operation of quandle is The second operation of quandle is ,in x and y These are the first and second elements of quandle, respectively. c These are encrypted input variables. e and fThese are complementary encryption keys. In other embodiments, the first and second operations are conjugate operations, linear operations, or logarithmic-linear operations.
[0010] This disclosure also provides a system for secure computing, the system including a memory for storing input variables and at least one processor, the input variables including one or more first elements of a quandle, the processor being used to execute the methods for secure computing described herein.
[0011] Furthermore, this disclosure provides a computer software product having instructions stored on a non-transitory computer-readable medium, which, when read by a computer, cause the computer to perform a method for secure computing. Attached Figure Description
[0012] The invention will be more fully understood from the following detailed description of embodiments of the invention taken in conjunction with the accompanying drawings.
[0013] Figure 1 This is a block diagram schematically illustrating a system for secure computing according to an embodiment of the present invention.
[0014] Figure 2 This is a schematic diagram of a braid used for encryption and decryption according to an embodiment of the present invention. Detailed Implementation
[0015] The embodiments of the invention described herein use quandle to encrypt and decrypt data. For example, depending on the type of quandle chosen, the data may include integers, rational numbers, vectors, or matrices. In the disclosed embodiments, the computer uses a pair of input variables and an encoded variable y (which includes one or more other non-unit elements of the quandle, i.e., ... y ≠1) The first operation of quandle, performed together, is used to encrypt the input variables. x (It is an element of quandle). That is to say, variables. x Encrypted for use via quandle operation Create codewords c The key used in encryption can include parameters of the quandle operation (such as the values in the linear and logarithmic quandle operations mentioned above). s ) and / or encoded variables y .
[0016] Using quandle's second complementary operation: The quandle operation is used to decrypt the encrypted value. Depending on the type of quandle operation used, encryption can be symmetric, meaning the same key is used for encryption and decryption; or it can be asymmetric, for example, using a public key for encryption and a complementary private key for decryption. In this case, the parameters of the quandle operation can be either the public or private key of the asymmetric cryptographic scheme.
[0017] As mentioned above, quandle-based encryption can be applied to a variety of data types and can be substantially more complex and harder to crack than existing schemes. To increase complexity and resistance to attacks, a series of consecutive quandle operations can be applied to the input and encoded variables, where each strand corresponds to a specific binary operation involving the elements passing through those strands. This series of multiple quandle operations can even include operations belonging to two or more different quandles. Additionally or alternatively, the series can include multiple different encoded and / or input variables, woven together by consecutive quandle operations in different combinations (which can be arbitrarily chosen).
[0018] Quandle-based encryption also has the advantage of supporting homomorphic computation. Quandle-based encryption using linear or log-linear quandle (and in some cases conjugate quandle) is inherently homomorphic with respect to multiplication, meaning that for a pair of input variables... x 1 and x 2 , Linear quandle is also homomorphic relative to addition.
[0019] Through some adjustments discovered by the inventors, encryption based on log-linear quandle can also be homomorphic relative to modular addition. Specifically, for log-linear quandle, it can be proven that: = , in p and q It is a prime number, and Using this method, the decrypted messages can be calculated, for example, by combining them using the following formula. : , Then divide by Get the required sum.
[0020] prime number and It can be used to generate keys for encryption schemes based on asymmetric quandle. To avoid potential key leakage, some rational numbers can be used. To calculate and In homomorphic computation, for p and q Hide it. Then, the value... p’ and q’ Can be with p and q The same approach is used for homomorphic computation. More generally, and It can be a cyclic group. Or the zero factor in any group isomorphic to it.
[0021] Although this specification specifically addresses the homomorphic properties of logarithmic linear quandles, the principles of these embodiments can be applied to other quandles with necessary modifications. For example, as mentioned above, linear quandles are homomorphic with respect to multiplication and addition, and other quandle structures can also be shown to be homomorphic.
[0022] The disclosed embodiments utilize the homomorphic properties of quandle-based encryption when performing secure computation. For this purpose, the user of the computing system specifies an input variable comprising one or more elements of a quandle and an arithmetic computation to be performed on that variable. The system encrypts the input variable by performing a first operation of the quandle on the input variable along with an encoded variable, the encoded variable itself comprising one or more non-identity elements of the quandle.
[0023] The specified arithmetic computation is then applied to the encrypted input variables to produce an encrypted output variable. For example, the computation might be applied by a network service that is not necessarily secure. The arithmetic computation may include one or more multiplications and / or one or more modular additions. The encrypted output variable is then decrypted using the encoded variable and a second operation of quandle to obtain the result of the arithmetic computation on the input variables.
[0024] Any suitable type of quandle can be used for encryption and decryption operations. For example, quandle operations used for encryption can include conjugate operations, linear operations, log-linear operations, or a series of quandle operations belonging to the same quandle or different quandles.
[0025] As another example, the first quandle operation used to encrypt the input variable x can be of the following form: Given encrypted input variablesc The second quandle operation takes the form of: In this example, e and f These are complementary encryption keys. Specifically, e and f These can be used as the public and private encryption keys respectively, and can be chosen in a manner similar to the key generation algorithm used in traditional asymmetric encryption schemes such as RSA. For this purpose, a pair of large prime numbers was chosen. p and q Given the model n=pq and Euler's totient function Choose keys e and f such that and Alternatively, the Carmichael totient function can be used. (n) to replace Although known key generation algorithms are used, these quandle operations take more complex functional forms (including non-uniform encoded variables). y This makes quandle-based encryption schemes less vulnerable to attacks. This quandle, compared to schemes using modules... n The modulo addition method being performed is homomorphic.
[0026] Figure 1 This is a block diagram schematically illustrating a system 20 for secure computing according to an embodiment of the present invention. In this example, system 20 includes a client computer 22 that communicates with a server 24 via a communication network (e.g., a switch structure in a data center). Server 24 may include a computing accelerator that provides high-speed computing services to clients on the network. In this example, client computer 22 is a source computer that receives a specification of input variable x and an arithmetic calculation P to be performed on that variable, while server 24 acts as an intermediate computer performing the specified calculation.
[0027] Client computer 22 includes processor 34 and memory 36. Processor 34 typically includes a microprocessor programmed in software to execute the functions described herein, including quandle-based encoding and decoding functions 38. The software can be downloaded to client computer 22 electronically, for example, via a network. Additionally or alternatively, the software can be stored on a tangible, non-transitory computer-readable storage medium. Further additionally or alternatively, at least some components of the quandle-based encoding and decoding functions 38 can be implemented in dedicated or programmable hardware logic circuitry.
[0028] Memory 36 stores message 40, which includes input variables. xAnd encryption key 42, used for quandle-based encoding and decoding functions 38 in encrypted variables. x Used to generate corresponding encrypted input variables. c Client computer 22 uses input variables x With encoded variables y (Encoded variables) y The first quandle operation (or a series of quandle operations) performed together with one or more non-identity elements of the quandle variable. x Encryption is performed. Then, the client computer transmits the input variables via communication link 26 in the network. c Transmitted to server 24.
[0029] Server 24 applies specified arithmetic calculations to encrypted input variables in a series of computation stages 44, 46, 48, ... 50. c The computation is performed homomorphically, meaning that although the computation is performed on the input variables... x The specified steps, but server 24, apply computation stages 44, 46, 48, ... 50 to the encrypted input variables. c To produce an encrypted output variable P n ( c ).
[0030] Server 24 transmits the encrypted output variable to the receiving computer via communication link 28 in the network. The receiving computer decrypts the encrypted output variable using an appropriate complementary quandle operation and a decryption key. Therefore, the receiving computer obtains the arithmetic operation P performed on the original variable x. n ( x The result 52 is the same as the result obtained by applying the specified operation to the original, unencrypted data. In the illustrated example, the receiving computer is the source computer, i.e., client computer 22. Alternatively or additionally, the encrypted output variable can be transmitted to another client computer 32 via another communication link 30, which has the decrypted output variable P. n ( c The required key and quandle decryption capability.
[0031] As mentioned above, the quandle-based encoding and decoding function 38 can encrypt the input variable x and decrypt the output variable P. n ( c When using encryption, either symmetric or asymmetric encryption schemes can be employed. However, due to the homomorphic nature of encryption, the key used in decryption does not need to be accessible to the server. Therefore, the server's computing power can be utilized without verifying and trusting the server's data security.
[0032] Figure 2 This is a schematic diagram of a braid 58 for encryption and decryption according to an embodiment of the present invention. The braid 58 graphically represents the input variable... x (It is received at input 64) and encoded variables y i The set (received at inputs 66, 68, 70) performs a series of quandle operations. The encoded variables can be randomly chosen, or they can represent additional input variables that are related to the input variables. x Together, they are encrypted to produce a combined encrypted result. Braid 58 comprises a series of crosses 72, 74, 76, 78…, each cross representing a binary quandle operation performed between the variable pairs using the corresponding key. Quandle operations can belong to the same quandle or different quandles, and can use the same key or different keys. However, quandle operations are chosen so that at the end of braid 58, the tangle is untangled to return the original plaintext input at outputs 64a, 66a, 68a, and 70a, respectively.
[0033] Braid 58 is divided into encryption braid 60 and decryption braid 62. Encryption braid 60 can be used as a public encryption function, just like the public key of an asymmetric encryption scheme, and outputs encrypted codewords at outputs 80a, 80b, 80c, and 80d. Decryption braid 62 is needed to decrypt these codewords, therefore decryption braid 62 is kept like a private key.
[0034] For example, codewords from outputs 80a, 80b, 80c, and 80d can be transmitted via a communication link and input into specified arithmetic operations. The homomorphic property of the quandle-based encryption scheme described above also applies to the sequential encryption scheme represented by braid 58. After applying arithmetic operations to the codewords output by sub-braid 60, the encrypted calculation result can be decrypted using sub-braid 62.
[0035] More formally, users define and complementary quandle operation strings , Prepare braid 58. These operation strings produce two vector-valued functions. (represented by braid 60) and (Represented by sub-braid 62). These functions are chosen such that... ,in It is an identity function, which means that at the end of the braid, all the strands are untangled. It can be public and used for encryption, while It is private and used for decryption. and Based on containing any number of rational numbers The strings, and the operations and parentheses inserted meaningfully between them (because the underlying algebraic structure is non-associative).
[0036] Therefore, the controlling party Can be used by all users Shared black-box functions They can use this black-box function for encoding, but for any This black-box function is extremely difficult to invert. Only... Know: (1) how the black box is generated, (2) how the black box performs algebraic inversion of each quandle operation, and (3) how it performs topological inversion. And untie the knot. In this embodiment, D Use these capabilities to decrypt by one or more other users E j The result of homomorphic computation performed on encoded data.
[0037] The above embodiments are cited by way of example, and the invention is not limited to the content specifically shown and described above. Rather, the scope of the invention includes combinations and sub-combinations of the various features described above, as well as variations and modifications that would occur to those skilled in the art upon reading the above description and that are not disclosed in the prior art.
Claims
1. A method for secure computing, the method comprising: Receive a specification of an input variable including one or more first elements of a quandle and an arithmetic calculation to be performed on the input variable; The input variable is encrypted using a first operation of the quandle performed on the input variable and the encoded variable together, the encoded variable including one or more non-unit second elements of the quandle; The arithmetic calculation is applied to the encrypted input variable to produce an encrypted output variable; as well as The encrypted output variable is decrypted using the encoded variable and the second operation of the quandle to obtain the result of the arithmetic calculation on the variable.
2. The method according to claim 1, wherein, The elements of the quandle include non-integer rational numbers.
3. The method according to claim 1, wherein, The elements of the quandle are multidimensional.
4. The method according to claim 1, wherein, Encrypting the input variable includes applying a first encryption key when performing the first operation, and decrypting the encrypted output includes applying a second encryption key when performing the second operation.
5. The method according to claim 4, wherein, The first encryption key is a public key, and the second encryption key is a private key that is complementary to the public key.
6. The method according to claim 4, wherein, The first encryption key is the same as the second encryption key.
7. The method according to claim 4, wherein, The encoded variable is at least a portion of the first encryption key.
8. The method according to claim 4, wherein, The encrypted output variable is decrypted by the first processor using the second encryption key, and the arithmetic calculation is performed by the second processor, which has no access to the second encryption key.
9. The method according to claim 1, wherein, The arithmetic calculations include one or more multiplications.
10. The method according to claim 9, wherein, The arithmetic calculations include one or more modular additions.
11. The method according to claim 1, wherein, Encrypting the input variable includes applying a series of multiple quandle operations, including the first operation, to the input variable and the encoded variable together.
12. The method according to claim 11, wherein, The series of multiple quandle operations includes at least a first operation belonging to a first quandle and a second operation belonging to a second quandle that is different from the first quandle.
13. The method according to claim 1, wherein, The first operation of the quandle is And the second operation of the quandle is ,in x and y These are the first and second elements of the quandle, respectively. c It is the encrypted input variable, e and f They are complementary encryption keys.
14. The method according to claim 1, wherein, The first operation and the second operation are conjugate operations.
15. The method according to claim 1, wherein, The first operation and the second operation are linear operations.
16. The method according to claim 1, wherein, The first operation and the second operation are logarithmic linear operations.
17. A method for secure computing, the method comprising: Receive a specification of an input variable including one or more first elements of a quandle and an arithmetic calculation to be performed on the input variable; The input variable is encrypted using a first operation of the quandle performed on the input variable and the encoded variable together, the encoded variable including one or more non-unit second elements of the quandle; as well as The arithmetic calculation is applied to the encrypted input variables to produce encrypted output variables. The encrypted output variable is decryptable using the encoded variable and the second operation of the quandle to obtain the result of the arithmetic calculation on the variable.
18. A method for secure computing, the method comprising: Receive an input variable comprising one or more first elements of a quandle and an arithmetic calculation to be performed on the input variable, wherein the input variable has been encrypted using a first operation of the quandle performed on the input variable together with an encoded variable, the encoded variable comprising one or more non-unit second elements of the quandle; The arithmetic calculation is applied to the encrypted input variables to produce an encrypted output variable; and The encrypted output variable is decrypted using the encoded variable and the second operation of the quandle to obtain the result of the arithmetic calculation on the variable.
19. A system for secure computing, the system comprising: Memory for storing input variables, including one or more first elements of quandle; as well as At least one processor is configured to: receive a specification of an arithmetic calculation to be performed on the input variable; encrypt the input variable using a first operation of the quandle performed on the input variable together with an encoded variable, the encoded variable comprising one or more non-unit second elements of the quandle; The arithmetic calculation is applied to the encrypted input variable to produce an encrypted output variable; and the encrypted output variable is decrypted using the encoded variable and the second operation of the quandle to obtain the result of the arithmetic calculation on the variable.
20. The system according to claim 19, wherein, The arithmetic calculations include one or more multiplications.
21. The system according to claim 20, wherein, The arithmetic calculations include one or more modular additions.
22. The system according to claim 19, wherein, The at least one processor includes a first processor for decrypting the encrypted output variable using an encryption key, and wherein the arithmetic calculation is applied by a second processor that has no access to the encryption key.
23. The system according to claim 19, wherein, The at least one processor is configured to encrypt the input variable by applying a series of multiple quandle operations, including the first operation, to the input variable and the encoded variable together.
24. A computer software product comprising a non-transitory computer-readable medium storing program instructions that, when read by a computer, cause the computer to: receive a specification of an input variable including one or more first elements of a quandle and an arithmetic calculation to be performed on the input variable; encrypt the input variable using a first operation of the quandle performed on the input variable together with an encoded variable, the encoded variable including one or more non-unit second elements of the quandle; cause the arithmetic calculation to be applied to the encrypted input variable to produce an encrypted output variable; and decrypt the encrypted output variable using the encoded variable and a second operation of the quandle to obtain the result of the arithmetic calculation on the variable.