In-homomorphic network computation

CN122932935APending Publication Date: 2026-10-16MELLANOX TECHNOLOGIES LTD(IL)
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202610424248.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-10-16
Filing Date
2026-04-01
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

在网络本身内高效执行这些求和的能力可能会提高大规模机器学习系统的性能

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122932935A_ABST
    Figure CN122932935A_ABST
Patent Text Reader

Abstract

The present disclosure relates to network devices. In one embodiment, a network device includes a network interface and a processor to receive, via the network interface, first homomorphically encrypted data from a first device, receive second homomorphically encrypted data from a second device, and perform a homomorphic arithmetic operation based at least on the first homomorphically encrypted data and the second homomorphically encrypted data to generate a homomorphically encrypted arithmetic result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to computing systems, and more specifically, but not exclusively, to computing within a secure network using homomorphic encryption. Background Technology

[0002] Significant progress has been made in network computing in recent years, particularly in "intra-network" computing. As distributed systems and large-scale data processing become increasingly prevalent, there is growing interest in efficient methods for handling complex computations across networks. Traditional methods typically involve transmitting large amounts of data to centralized processing units, which leads to increased latency, bandwidth consumption, and overall system inefficiency.

[0003] In-network computing has emerged as a potential solution to these challenges. By leveraging the computing power inherent in network devices such as switches and routers, certain operations can be performed directly within the network infrastructure. This approach may reduce the amount of data that needs to be transmitted, thereby improving performance and reducing resource utilization.

[0004] One area where computation within a network shows promise is machine learning workloads. Distributed machine learning algorithms often require aggregating model parameters from multiple nodes, and summation is a fundamental component of many learning processes. The ability to efficiently perform these summations within the network itself could improve the performance of large-scale machine learning systems.

[0005] For example, network nodes (such as graphics processing units (GPUs)) can initiate parallel computing jobs with other GPUs over the network. In addition to other GPUs participating in the parallel computing job, switches in the network can also participate in parallel computing tasks by providing various GPUs with the data needed to execute the parallel computing job and performing tasks such as addition. Switches can perform reduction processing (e.g., adding two numbers) and aggregation on data received from other network switches and / or GPUs.

[0006] Bloch et al. provided examples of reduction and aggregation in U.S. Patent 10,284,383, which describes a switch in a data network configured to mediate data exchange between network elements. The device also includes a processor that organizes the network elements into a hierarchical tree having a root node network element, vertex node network elements, and child node network elements including leaf node network elements. Leaf node network elements generate aggregated data and transmit this aggregated data to their respective parent vertex node network elements. Vertex node network elements combine at least a portion of the aggregated data from their child node network elements and transmit the combined aggregated data from the vertex node network elements to their parent vertex node network elements. The root node network element is operable to initiate a reduction operation on the aggregated data. Summary of the Invention

[0007] An apparatus is provided according to embodiments of the present disclosure, including a network interface and a processor, the processor being configured to: homomorphically encrypt input data using a homomorphic encryption scheme; transmit the homomorphically encrypted input data to a network device via the network interface; receive a homomorphically encrypted result from the network device via the network interface, wherein the homomorphically encrypted result represents at least one homomorphic arithmetic operation performed by the network device at least based on the homomorphically encrypted input data and other homomorphically encrypted data; and homomorphically decrypt the homomorphically encrypted result to obtain a plaintext result of performing at least one arithmetic operation on the input data and other data.

[0008] Further according to embodiments of the present disclosure, the result of homomorphic encryption is based on homomorphic arithmetic reduction operations performed by multiple network devices during data reduction and aggregation processes.

[0009] Furthermore, according to embodiments of the present disclosure, the homomorphic encryption scheme supports at least one type of homomorphic arithmetic operation on encrypted data without decryption.

[0010] Furthermore, according to embodiments of this disclosure, the at least one type of homomorphic arithmetic operation includes at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) quandle operation, log-linear quandle operation, or any operation based on the quandle axiom.

[0011] Furthermore, according to embodiments of this disclosure, the homomorphic encryption scheme is based on Kund's encryption scheme.

[0012] Further, according to embodiments of this disclosure, the homomorphic encryption scheme is an asymmetric homomorphic encryption scheme.

[0013] Furthermore, according to embodiments of this disclosure, the processor is configured to homomorphically encrypt input data using the public keys of multiple nodes, and homomorphically decrypt the homomorphically encrypted result using the public and private keys of multiple nodes.

[0014] Furthermore, according to embodiments of this disclosure, the processor is configured to homomorphically encrypt input data using the corresponding public keys of multiple nodes, and homomorphically decrypt the homomorphically encrypted result using the device's private key.

[0015] Furthermore, according to embodiments of this disclosure, the processor is used to select different homomorphic encryption schemes for different types of homomorphic arithmetic operations.

[0016] According to embodiments of this disclosure, a network device is provided, including a network interface and a processor. The processor is configured to: receive first homomorphically encrypted data from a first device via the network interface, and receive second homomorphically encrypted data from a second device; perform homomorphic arithmetic operations based at least on the first and second homomorphically encrypted data to generate a homomorphically encrypted arithmetic result; and transmit the homomorphically encrypted arithmetic result to another network device via the network interface for further homomorphic arithmetic processing.

[0017] Further according to embodiments of the present disclosure, the processor is used to perform homomorphic arithmetic operations as part of a data reduction and aggregation process.

[0018] Furthermore, according to embodiments of the present disclosure, the processor is configured to receive another homomorphically encrypted arithmetic result from another network device via a network interface, and transmit the received homomorphically encrypted result to a destination device via the network interface.

[0019] In addition, according to embodiments of this disclosure, homomorphic arithmetic operations include at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operation, log-linear Kund operation, or any operation based on the Kund axiom.

[0020] Furthermore, according to embodiments of this disclosure, the processor is configured to perform homomorphic arithmetic operations based on Kund-based operations.

[0021] According to another embodiment of this disclosure, a system is also provided, comprising multiple nodes and multiple network devices. Each node includes: a first processor, configured to homomorphically encrypt first data using a homomorphic encryption scheme and decrypt the first result of the homomorphic encryption; and a first network interface, configured to provide the homomorphically encrypted first data to a given network device and receive the homomorphically encrypted first result from the given network device. Each network device includes a second network interface and a second processor. The second processor is configured to: receive homomorphically encrypted second data from at least one of the multiple nodes or at least one of the multiple network devices via the second network interface; perform a homomorphic arithmetic operation based at least on the received homomorphically encrypted second data; and transmit the result of the homomorphic arithmetic operation to another network device or another node via the second network interface.

[0022] According to further embodiments of the present disclosure, the second processor of the network device is configured to: receive homomorphically encrypted second data, perform homomorphic arithmetic operations, and transmit the result of the homomorphic operations as part of a data reduction and aggregation process.

[0023] Furthermore, according to embodiments of this disclosure, multiple network devices are implemented in a network switch.

[0024] Additionally, according to embodiments of this disclosure, the system supports multiple tenants, each associated with a separate encrypted data stream.

[0025] Furthermore, according to embodiments of this disclosure, the homomorphic encryption scheme supports performing at least one type of homomorphic arithmetic operation on encrypted data without decryption.

[0026] In addition, according to embodiments of this disclosure, homomorphic arithmetic operations include at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operation, log-linear Kund operation, or any operation based on the Kund axiom.

[0027] Furthermore, according to embodiments of this disclosure, the homomorphic encryption scheme is a Kund-based encryption scheme.

[0028] Further embodiments of the present disclosure provide a system wherein the homomorphic encryption scheme is an asymmetric homomorphic encryption scheme.

[0029] Furthermore, according to embodiments of the present disclosure, a system is provided in which a first processor is configured to homomorphically encrypt first data using public keys of multiple nodes, and homomorphically decrypt the first result of the homomorphic encryption using public and private keys of multiple nodes.

[0030] Furthermore, an embodiment of this disclosure provides a system in which a first processor is configured to homomorphically encrypt input data using the public keys of each of the plurality of nodes, and homomorphically decrypt a first result of the homomorphic encryption using the private key of one of the plurality of nodes.

[0031] Furthermore, embodiments of this disclosure provide a system in which a first processor is configured to select different homomorphic encryption schemes for different types of homomorphic arithmetic operations.

[0032] Further embodiments of the present disclosure provide a system in which a second processor is configured to perform homomorphic arithmetic operations based on Kund-based operations.

[0033] According to another embodiment of this disclosure, a method is provided, comprising: homomorphically encrypting input data using a homomorphic encryption scheme; transmitting the homomorphically encrypted input data to a network device; receiving a homomorphically encrypted result from the network device, wherein the homomorphically encrypted result represents at least one homomorphic arithmetic operation performed by the network device at least based on the homomorphically encrypted input data and other homomorphically encrypted data; and homomorphically decrypting the homomorphically encrypted result to obtain a plaintext result of performing at least one arithmetic operation on the input data and other data.

[0034] According to another embodiment of the present disclosure, a method is also provided, comprising: receiving first homomorphically encrypted data from a first device and receiving second homomorphically encrypted data from a second device; performing homomorphic arithmetic operations based at least on the first and second homomorphically encrypted data to generate a homomorphically encrypted arithmetic result; and transmitting the homomorphically encrypted arithmetic result to another network device for further homomorphic arithmetic processing.

[0035] According to another embodiment of this disclosure, a method for secure computation is also provided, the method comprising: specifying an input variable and an arithmetic computation to be performed on the input variable, the input variable including one or more first elements of a quintet; encrypting the input variable using a first pair of quintet operations, the first operation being performed on the input variable together with an encoded variable, the encoded variable including one or more non-unit second elements of a quintet; applying the arithmetic computation to the encrypted input variable to produce an encrypted output variable; and decrypting the encrypted output variable using the encoded variable and a second quintet operation to obtain the result of the arithmetic computation on the variable, wherein the input variable is encrypted by a source computer, the source computer transmits the encrypted input variable to an intermediate computer via a communication network, the intermediate computer applies the arithmetic computation to the encrypted input variable, the intermediate computer transmits the encrypted output variable to a receiving computer via the communication network, and the receiving computer decrypts the encrypted output variable.

[0036] A method is further provided according to embodiments of the present disclosure, wherein the receiving computer is a source computer.

[0037] Furthermore, according to embodiments of the present disclosure, a method is provided in which encrypted output variables are decrypted using a key that cannot be accessed by an intermediate computer. Attached Figure Description

[0038] This disclosure will be understood from the following detailed description taken in conjunction with the accompanying drawings, in which: Figure 1 This is a block diagram illustrating a system for secure computing according to embodiments of the present disclosure; Figure 2 This is a schematic diagram of a braid for encryption and decryption according to an embodiment of the present disclosure; Figure 3 This is a simplified illustrated description of a computer system including network devices and processing nodes according to embodiments of the present disclosure; Figure 4 It is constructed and operated according to embodiments of this disclosure. Figure 3 A more detailed view of a part of the computer system; Figure 5 The diagram shows... Figure 3A block diagram of the processing nodes in the system; Figure 6 It includes Figure 5 A flowchart of the steps in the operation method for processing nodes; Figure 7 The diagram shows... Figure 3 A block diagram of network devices in the system; Figure 8 It includes Figure 7 A flowchart of the steps in the operation method of network devices; and Figure 9 This is a block diagram illustrating a computing system (e.g., a data center or a high-performance computing (HPC) cluster) according to embodiments of this disclosure. Detailed Implementation

[0039] Example Implementation Overview Confidential computing has become a feature of interest in modern cloud infrastructure, aiming to ensure the integrity and privacy of tenant services hosted on computing infrastructure. Traditional approaches involve encrypting tenant data during storage, memory access, and network transmission, and utilizing secure CPU enclaves to run tenant code. However, applying these security measures to in-network computing faces numerous challenges due to power and area requirements.

[0040] Integrating network-based computing power into cloud environments that support confidential computing is an ongoing area of ​​research and development. Balancing security, efficiency, and computing power in such systems remains an interesting topic in the fields of network computing and data privacy.

[0041] Therefore, embodiments of this disclosure address at least some of the aforementioned drawbacks by providing a system and method for secure computation within a network using homomorphic encryption. This method enables the performance of arithmetic operations on encrypted data within a network device without compromising privacy or security. Homomorphic encryption is a cryptographic technique that allows computations to be performed on encrypted data without first decrypting it. This property makes it potentially useful in secure data processing across a variety of scenarios, including cloud computing and data analytics.

[0042] In some embodiments, the system includes an encryption module configured to encrypt tenant data using an encryption protocol that supports homomorphic arithmetic operations. The system also includes an in-network computing engine implemented in a network device, such as a switch, router, or smart NIC, capable of performing arithmetic operations on the encrypted tenant data without decrypting it. In some embodiments, the encryption-decryption process may include homomorphism with respect to key multiplication. In some embodiments, the encryption-decryption process may include a multi-step process using different encryption / decryption keys, and possibly even different Kund structures, allowing for the insertion of additional hard layers from an eavesdropper's perspective.

[0043] In some cases, homomorphic encryption schemes are based on the Kund structure, which provides support for a variety of arithmetic operations while maintaining security.

[0044] This method allows operations to be performed directly on encrypted data as it flows through the network, such as addition, multiplication, modular arithmetic, conjugation, linear (Alexander) Kund operations, log-linear Kund operations, and other operations based on Kund axioms.

[0045] In some embodiments, homomorphic encryption schemes can be implemented as asymmetric encryption systems utilizing public and private keys. This system can support flexible key management methods to adapt to various security requirements and operational scenarios. In some cases, multiple processing nodes can use a public key to encrypt their input data, and the nodes share corresponding public and private keys to decrypt the final result. Alternatively, the system can use separate public and private keys for each processing node. The choice between a public key pair or individual key pairs can depend on factors such as the required security level, the complexity of key management, and the specific requirements of the distributed computing environment.

[0046] The advantages of embodiments of this disclosure may include improved data privacy, reduced latency, and increased efficiency in a distributed computing environment. By performing computations on encrypted data within the network infrastructure, the need for data decryption and re-encryption at intermediate points is eliminated, thereby improving security and performance.

[0047] Overview of Encryption Based on Kund Kund is a mathematical structure that encodes the topological properties and symmetries of knots and braids. For example, Moskovich and Carmi describe these concepts in *The Knot Machine*. Proceedings of the Royal Society A 471: 20150111 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 "Kunde".

[0048] Formally, Kund 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... QxQ Q. For example, the elements of Q 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: .

[0049] Reversibility: Inverse operation and This is referred to as the complementary operation in this paper.

[0050] Distributiveness: .

[0051] Moskovich and Carmi described several specific examples of Kund that conform to these criteria, including: Conjugate Kund: Linear Kund: Log-linear Kund: Other sets of elements and operations that satisfy the above Kund definition are identified in the description below.

[0052] 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.

[0053] This disclosure describes a method for secure computation, the method comprising: receiving a specification of an input variable comprising one or more first elements of a kunde algorithm and an arithmetic computation to be performed on the input variable. The method comprises: encrypting the input variable using a first pair of kunde operations, the first operation being performed on the input variable together with an encoded variable comprising one or more non-unit second elements of the kunde algorithm. The arithmetic computation is applied to the encrypted input variable to produce an encrypted output variable. The method further comprises: decrypting the encrypted output variable using the encoded variable and a second kunde operation to obtain the result of the arithmetic computation on the variable.

[0054] The elements of the Kund can include non-integer rational numbers, or 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.

[0055] Arithmetic calculations may include one or more multiplications, and may also include one or more modular additions. In some cases, encrypted input variables may include applying a series of multiple Kund operations together with the input variables and the encoded variables. The series of multiple Kund operations may include at least a first operation belonging to a first Kund and a second operation belonging to a second Kund different from the first Kund.

[0056] In some examples, Kund's first operation is: , And Kund's second operation is: , where x and y are the first and second elements of Kund, respectively, c is the encrypted input variable, and e and f are complementary encryption keys. In other embodiments, the first and second operations are conjugate operations, linear operations, or logarithmic-linear operations.

[0057] System Description The embodiments of this disclosure described herein use Kund to encrypt and decrypt data. For example, depending on the type of Kund selected, the data may include integers, rational numbers, vectors, or matrices. In the disclosed embodiments, the computer uses a first Kund operation (which is performed on the input variable along with the encoded variable y (which includes one or more other non-identity elements of the Kund, i.e., y ≠ 1)) to encrypt the input variable x (which is an element of the Kund). That is, the variable x is encrypted to pass through the Kund operation. Create codeword c. The secret key used in encryption may include parameters of the Kund operation (such as the value s in the linear and logarithmic linear Kund operations mentioned above) and / or encoded variable y.

[0058] The encrypted value is decrypted using Kund's second complementary operation: Depending on the type of quend operation used, encryption can be symmetric, meaning decryption uses the same key as encryption; 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 quend operation can be either the public or private key of the asymmetric cryptographic scheme.

[0059] As mentioned above, Kund-based encryption can be applied to a variety of data types and can be more complex and harder to crack than existing schemes. To increase complexity and resistance to attacks, multiple consecutive Kund operations can be applied to the input and encoded variables, where each strand crosses a specific binary operation involving traversing the elements of those strands. This series of multiple Kund operations can even include operations belonging to two or more different Kund schemes. Additionally or alternatively, the series can include multiple different encoded and / or input variables, woven together by consecutive Kund operations in different combinations (which can be arbitrarily chosen).

[0060] Kund-based encryption also has the advantage of supporting homomorphic computation. Kund-based encryption using linear or log-linear Kund (and in some cases conjugate Kund) is inherently homomorphic with respect to multiplication, meaning that for a pair of input variables... x 1 and x 2, Linear Kund is also homomorphic with respect to addition.

[0061] Through some adjustments discovered by the inventors, encryption based on log-linear Kund can also be homomorphic relative to modular addition. Specifically, for log-linear Kund, it can be proven that: = , in p and q It is a prime number, and Using this method, the sum can be calculated, for example, by combining the decrypted messages using the following formula. : Then divide by The desired sum is obtained.

[0062] prime number and This can be used to generate keys for encryption schemes based on asymmetric Kund. To prevent the potential leakage of the secret key, some rational numbers can be used. In homomorphic computation, and To hide, in order to compute and Then, the values ​​p' and q' can be compared with... and The same approach is used for homomorphic computation. More generally, and It can be a cyclic group Or the zero divisor in any group isomorphic to it.

[0063] Although this specification specifically addresses the homomorphic properties of log-linear Kunds, the principles of these embodiments can be applied to other Kunds with necessary modifications. For example, as stated above, linear Kunds are homomorphic with respect to multiplication and addition, and other Kund structures can also be proven to be homomorphic.

[0064] The disclosed embodiments utilize the homomorphic properties of Kund-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 Kund algorithm and an arithmetic computation to be performed on that variable. The system encrypts the input variable by performing a first Kund operation on the input variable together with an encoded variable, the encoded variable itself comprising one or more non-identity elements of a Kund algorithm.

[0065] 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 Kund to obtain the result of the arithmetic computation on the input variables.

[0066] Any suitable type of kunde can be used for encryption and decryption operations. For example, kunde operations used for encryption can include conjugate operations, linear operations, logarithmic-linear operations, or a series of kunde operations belonging to the same kunde or different kunde.

[0067] As another example, the first Kund operation used to encrypt the input variable x can be of the following form: Given an encrypted input variable c, The second Kund operation takes the form of: .

[0068] In this example, e and f are complementary encryption keys. Specifically, e and f 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 p and q are chosen, given the modulus n = pq and the Euler totient function φ(n) = (p - 1)(q - 1). Keys e and f are chosen such that e < φ(n) and ef = 1 mod φ(n). Alternatively, the Carmichael totient function can be used. (n) is used instead of φ(n). Despite using known key generation algorithms, the more complex functional form of these Kund operations (including the non-unit encoded variable y) makes Kund-based encryption schemes less vulnerable to attack. This Kund is homomorphic relative to modular addition performed using a modulus n.

[0069] Figure 1 This is a block diagram illustrating a system 20 for secure computing according to embodiments of the present disclosure. 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 an 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.

[0070] The client computer 22 includes a processor 34 and a memory 36. The processor 34 typically includes a microprocessor programmed in software to execute the functions described herein, including the Kund-based encoding and decoding functions 38. The software can be downloaded to the 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 Kund-based encoding and decoding functions 38 can be implemented in dedicated or programmable hardware logic circuitry.

[0071] Memory 36 stores message 40, which includes an input variable x and an encryption key 42, for use by a Kund-based encoding and decoding function 38 when encrypting variable x to generate a corresponding encrypted input variable c. Client computer 22 encrypts variable x using a first Kund operation (or a series of Kund operations) performed on the input variable x together with an encoded variable y, the encoded variable y including one or more non-identity elements of the Kund. The client computer then transmits the encrypted input variable c to server 24 via communication link 26 in the network.

[0072] Server 24 applies specified arithmetic calculations to the encrypted input variable c in a series of computation stages 44, 46, 48, ... 50. The computations are performed homomorphically, meaning that although the computation is specified for the input variable x, server 24 applies computation stages 44, 46, 48, ... 50 to the encrypted input variable c to produce the encrypted output variable P. n (c)

[0073] Server 24 transmits the encrypted output variable to receiving computer via communication link 28 in the network. The receiving computer decrypts the encrypted output variable using an appropriate complementary Kund operation and a decryption key. Therefore, the receiving computer obtains the arithmetic operation P performed on the original variable x. n The result 52 of (x) 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 originating 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 capability to decrypt the encrypted output variable P. n (c) Required key and Kund decryption capability.

[0074] As mentioned above, the Kund-based encoding and decoding function 38 can encrypt the input variable x and decrypt the encrypted output variable P. n (c) When applying a symmetric or asymmetric encryption scheme. However, due to the homomorphic nature of encryption, the key used in the decryption operation 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.

[0075] Figure 2 This is a schematic diagram of a braid 58 for encryption and decryption according to an embodiment of the present disclosure. Braid 58 graphically represents an input variable x (received at input 64) and a set of encoded variables y. i (Received at inputs 66, 68, 70) A series of Kund operations are performed. Encoded variables can be randomly chosen, or they can represent additional input variables that are encrypted together with the input variable x to produce a combined encrypted result. Braid 58 comprises a series of crosses 72, 74, 76, 78…, each cross representing a binary Kund operation performed between a pair of variables using a corresponding secret key. Kund operations can belong to the same Kund or different Kunds, and can use the same or different keys. However, Kund operations are chosen so that at the end of braid 58, the knot is untied to return the original plaintext input at outputs 64a, 66a, 68a, and 70a, respectively.

[0076] Bracket 58 is divided into cryptographic bracket 60 and decryption bracket 62. Cryptographic bracket 60 can be used as a public encryption function, just like the public key in an asymmetric encryption scheme, and outputs the encrypted codewords at outputs 80a, 80b, 80c, and 80d. Decryption bracket 62 is needed to decrypt these codewords, therefore decryption bracket 62 is kept like a private key.

[0077] 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 Kund-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 computation result can be decrypted using sub-braid 62.

[0078] More formally, users define and Complementary Kund 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 untied. It can be public, used for encryption, and kept secret. 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).

[0079] 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 function is extremely difficult to invert. Only... Know: (1) how the black box is generated, (2) how to algebraically invert each Kund operation, and (3) how to topologically invert. And untie the knot. In this embodiment, D uses these capabilities to decrypt the message sent by one or more other users E. j The result of homomorphic computation performed on encoded data.

[0080] Now for reference Figure 3 This is a simplified illustrated description of a computer system 100 constructed and operated according to embodiments of the present disclosure.

[0081] Computer system 100 includes multiple network devices 102 arranged in a hierarchical tree structure and multiple processing nodes 104. The network devices 102 can be configured as switches, and the switches are interconnected (e.g., using network cables) to facilitate data communication and processing operations. At the bottom layer of the hierarchical structure, the multiple processing nodes 104 are connected to the network devices 102.

[0082] In some cases, processing node 104 may include any one or more of the following: accelerator devices, central processing units (CPUs), graphics processing units (GPUs), host devices, peripheral devices, network interface controllers (NICs), or data processing units (DPUs). Figure 3 In the example shown, each processing node 104 is implemented as a GPU.

[0083] Network device 102 can be implemented as a network switch. Figure 3 The network devices 102 shown are arranged in a multi-level hierarchy, with a single network device 102 at the top layer, three network devices 102 in the middle layer, and four network devices 102 at the bottom layer directly connected to the processing nodes 104. Each network device 102 at the bottom layer can be connected to two processing nodes 104. System 100 may include any suitable number of levels, any suitable number of network devices 102, and any suitable number of processing devices 104 connected in any suitable topology.

[0084] The interconnection between network devices 102 forms data paths that enable communication and data transmission throughout the computer system 100. As information flows upward through the hierarchical structure, network devices 102 can perform operations such as data reduction and aggregation. Each processing node 104 can transmit data through its connected network device 102, which can then process and forward the data through higher-level hierarchical structures.

[0085] In some cases, computer system 100 can support multiple tenants, each associated with one or more separate encrypted data streams. This multi-tenancy support can provide secure and isolated data processing for different users or applications within the same system infrastructure.

[0086] Computer system 100 can be implemented in a data center environment. This environment may include a cooling system to maintain optimal operating temperatures for network devices 102 and processing nodes 104. The data center may also provide a power system to ensure consistent and reliable power delivery to all components of computer system 100. Additionally, the data center environment may combine physical and network protections (such as access controls and security measures) to protect computer system 100 and its data from unauthorized access or threats. Figure 9 System 900 describes an example data center environment.

[0087] This hierarchical arrangement of network devices 102 and processing nodes 104 allows for distributed processing and efficient data movement within the computer system 100, enabling complex computing and data processing tasks to be performed on the network infrastructure.

[0088] Now for reference Figure 4 This is a simplified diagram illustrating a portion of a computer system 100, which includes network devices 102 and processing nodes 104 arranged in a distributed configuration.

[0089] Computer system 100 includes a first network device 1021, a second network device 1022, a third network device 1023, and a fourth network device 1024. Computer system 100 also includes a first processing node 1041 and a second processing node 1042. Network devices 1021, 1022, 1023, and 1024 can be arranged in a distributed manner to enable communication between the network devices and the processing nodes.

[0090] In some cases, the first processing node 1041 and the second processing node 1042 can act as source computers, encrypting the input variables using a homomorphic encryption scheme. Network devices 1021, 1022, 1023, and 1024 can act as intermediate computers, applying arithmetic operations to the encrypted input variables. For example, the fourth network device 1024 can receive first homomorphically encrypted data from the first processing node 1041 and second homomorphically encrypted data from the second processing node 1042. The fourth network device 1024 can then perform homomorphic arithmetic operations based on the first and second homomorphically encrypted data.

[0091] In some cases, homomorphic arithmetic operations performed by network devices can be part of a data reduction and aggregation process. For example, a fourth network device 1024 can generate a homomorphically encrypted arithmetic result based on data received from a first processing node 1041 and a second processing node 1042. This result can then be transmitted to a second network device 1022 for further homomorphic arithmetic processing.

[0092] Similarly, the third network device 1023 can be based on other processing nodes 104 ( Figure 4 The received data (not shown) generates a homomorphically encrypted arithmetic result, and the result of the arithmetic operation is passed to the second network device 1022. The second network device 1022 can perform additional homomorphic arithmetic operations based on the data received from the fourth network device 1024 and the third network device 1023, thereby producing a new result that can be passed to the first network device 1021.

[0093] The first network device 1021 can process data received from the second network device 1022 and data received from another network device 102 ( Figure 4 (Not shown in the image) Other received data is used to perform further arithmetic operations. The process of performing homomorphic arithmetic operations and transferring the results between network devices can continue until the data is completely reduced and aggregated.

[0094] Once the data reduction and aggregation process is complete, the final homomorphically encrypted result can be transmitted over the network back to one or more of the multiple processing nodes 104. In some cases, the first processing node 1041 or the second processing node 1042 can be used as a receiving computer to decrypt the encrypted output variables to obtain the result of the arithmetic calculation.

[0095] In some implementations, the receiving computer can be the same as the originating computer. For example, the first processing node 1041 can encrypt the input variables, transmit the encrypted input variables to the network device for processing, and then receive and decrypt the final encrypted output variables.

[0096] To maintain security throughout the process, encrypted output variables can be decrypted using a secret key that is inaccessible to intermediate computers (i.e., network devices 1021, 1022, 1023, and 1024). This ensures that network devices can perform arithmetic operations on encrypted data without accessing the underlying plaintext information.

[0097] like Figure 4 The configuration of the computer system 100 shown allows for efficient distributed processing and secure data disposal using homomorphic encryption. Network devices can perform complex arithmetic operations on encrypted data as part of reduction and aggregation processes, while processing nodes handle the initial encryption and final decryption of the data.

[0098] Now for reference Figure 5 This is a simplified block diagram illustrating the structure of processing node 104. Processing node 104 may include a processor 106 and a network interface 108. Processing node 104 may also include memory (not shown). In some cases, processor 106 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), or any other suitable processing device. Network interface 108 may include various hardware components such as Ethernet ports, packet processing circuitry, memory, firmware, LED indicators, bus interfaces, heat sinks, power management circuitry, and connector pins.

[0099] Processor 106 can be configured to perform various operations related to homomorphic encryption and decryption. In some cases, processor 106 can homomorphically encrypt input data using a homomorphic encryption scheme. The homomorphic encryption scheme can support performing at least one type of homomorphic arithmetic operation on encrypted data without decryption. In some cases, the homomorphic encryption scheme can be a Kund-based encryption scheme or an asymmetric homomorphic encryption scheme.

[0100] Processor 106 can transmit homomorphically encrypted input data to a network device via network interface 108. Subsequently, processor 106 can receive homomorphically encrypted results from the network device via network interface 108. The homomorphically encrypted result can represent at least one homomorphic arithmetic operation, which is performed by the network device based on the homomorphically encrypted input data and other homomorphically encrypted data.

[0101] In some cases, processor 106 can homomorphically decrypt the result of homomorphic encryption to obtain plaintext, which is the result of performing at least one arithmetic operation on the input data and other data. The decryption process may involve using the private key of processing node 104 or a public private key shared among multiple nodes.

[0102] Now for reference Figure 6 The flowchart 600 illustrates the process of homomorphic encryption, data transmission, and result decryption performed by processing node 104. Flowchart 600 includes multiple steps, including step 602610.

[0103] In step 602, the processor 106 can be configured to select a homomorphic encryption scheme. In some cases, the processor 106 can select different homomorphic encryption schemes for different types of homomorphic arithmetic operations. For example, homomorphic encryption scheme A can be applied to homomorphic arithmetic operations B or C, etc.

[0104] In step 604, processor 106 can be configured to homomorphically encrypt the input data using a selected homomorphic encryption scheme. The encryption process may involve using the public keys of multiple nodes or the respective public keys of multiple nodes.

[0105] In step 606, processor 106 may be configured to transmit homomorphically encrypted input data to one of a plurality of network devices 102 via network interface 108.

[0106] In step 608, processor 106 may be configured to receive homomorphically encrypted results from network device 102 via network interface 108.

[0107] In step 610, processor 106 can be configured to homomorphically decrypt the homomorphically encrypted result to obtain the plaintext result. The decryption process may involve using the public and private keys of multiple nodes or the private key of processing node 104.

[0108] In some cases, homomorphic arithmetic operations can include homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operations, log-linear Kund operations, or any operation based on the Kund axiom.

[0109] In some cases, the processing node 104 can be implemented using software instructions executed by a computer using any suitable operating system or cloud-based platform. The system can support implementation using hardwired or programmable devices, or a combination of both.

[0110] Now for reference Figure 7 This is a block diagram illustrating network device 102. Network device 102 may include a processor 110, a network interface 112, and optional memory (not shown). In some cases, network device 102 may be implemented as a network switch.

[0111] Network interface 112 may include a port for network cable connection, enabling communication with other devices on the network. In some cases, network interface 112 may include a switching structure for data transmission between management ports, a MAC address table storing device addresses and port information, and a forwarding engine for directing data packets to the correct port.

[0112] Processor 110 can be configured to perform various operations on homomorphically encrypted data. In some cases, processor 110 can receive first homomorphically encrypted data from a first device and second homomorphically encrypted data from a second device via network interface 112. Processor 110 can perform homomorphic arithmetic operations based on the first and second homomorphically encrypted data (i.e., without decrypting the first and second homomorphically encrypted data) to generate a homomorphically encrypted arithmetic result.

[0113] In some cases, homomorphic arithmetic operations may include at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operation, log-linear Kund operation, or any operation based on the Kund axiom. The processor 110 may perform homomorphic arithmetic operations based on Kund-based operations.

[0114] After generating a homomorphically encrypted arithmetic result, processor 110 can transmit the result to another network device via network interface 112 for further homomorphic arithmetic processing. In some cases, processor 110 can receive another homomorphically encrypted arithmetic result from another network device via network interface 112. Processor 110 can then transmit the received homomorphically encrypted result to the destination device via network interface 112.

[0115] Now for reference Figure 8 The flowchart 800 illustrates the process of receiving, processing, and transmitting homomorphically encrypted data between a network device and a processing node. Flowchart 800 includes multiple steps that can be executed by the processor 110 of the network device 102.

[0116] In step 802, the processor 110 may receive first homomorphic encrypted data from the first device and second homomorphic encrypted data from the second device via the network interface 112. These devices may be other network devices or processing nodes in the network.

[0117] In step 804, the processor 110 may perform homomorphic arithmetic operations (without decrypting the first and second homomorphic encrypted data) based on the first and second homomorphic encrypted data to generate a homomorphically encrypted arithmetic result. As previously mentioned, this operation can be performed based on Kund-based operations.

[0118] In step 806, the processor 110 may optionally transmit the homomorphically encrypted arithmetic result to another network device via the network interface 112 for further homomorphic arithmetic processing.

[0119] In step 808, processor 110 may receive another homomorphically encrypted arithmetic result from another network device via network interface 112.

[0120] Finally, in step 810, the processor 110 can transmit the received homomorphically encrypted result to the destination device via the network interface 112. The destination device can be a processing node in the network or another network device.

[0121] In some cases, network device 102 may include additional components such as buffer memory for temporarily storing data to manage traffic, management processor for handling configuration and monitoring, power supply, cooling system, firmware for controlling network device 102, LED indicators for displaying status and activity, and network modules that allow additional ports or features.

[0122] This process allows for secure computation across the entire network because data remains encrypted throughout the transmission and processing phases, enabling complex computations to be performed on multiple network devices while maintaining privacy and security.

[0123] Now for reference Figure 9 It is a block diagram illustrating a computing system 900 (e.g., a data center or a high-performance computing (HPC) cluster) according to embodiments of the present disclosure.

[0124] According to at least one embodiment, system 900 includes multiple subsystems, such as multiple processing devices, multiple network devices, and multiple networks coupled to each other. The computing system 900 is designed with multiple integrated circuits (referred to as processing devices), each of which may include one or more CPUs and GPUs, forming a powerful and flexible architecture.

[0125] Various processing devices are interconnected via NVLink or other high-speed interconnects to enable high-speed communication between subsystems, and are also connected via NICs or DPUs to ensure efficient data transmission across computing system 900 and one or more external networks 930, 936. In this example, system 900 includes a packet switch 948 that connects NIC / DPU 928 to network 930, and a packet switch 950 that connects NIC / DPU 932 to network 936.

[0126] Seamless data exchange and parallel processing are achieved through NVLink-coupled processing devices, thereby improving overall computing performance. The processing devices connect to multiple networks via one or more Network Interface Cards (NICs) or Data Processing Units (DPUs), enabling the system to handle complex multi-network tasks with high bandwidth and low latency. This configuration is highly suitable for demanding applications requiring massive processing power, such as artificial intelligence (AI), machine learning (ML), and data-intensive computing, while ensuring robust connectivity and scalability across various network environments. The integrated circuits of the Computing System 900 may include one or more CPUs and one or more GPUs.

[0127] Figure 9 An example architecture of a multi-GPU architecture is also demonstrated. As shown in the figure, the computing system 900 includes a processing device 902 with a multi-GPU architecture. Specifically, the processing device 902 may be a system-on-a-chip and includes multiple subsystems, such as a CPU 906, a GPU 908, and a GPU 910. The CPU 906 can be coupled to the GPU 908 via a die-to-die (D2D) or chip-to-chip (C2C) interconnect 912 (e.g., a ground reference signaling interconnect (GRS interconnect)). The CPU 906 can be coupled to the GPU 910 via a D2D or C2C interconnect 914. The CPU 906 can also be coupled to the GPU 908 and GPU 910 via a PCIe interconnect.

[0128] The CPU 906 can be coupled to one or more NICs or DPUs, which in turn are coupled to one or more networks. For example, as Figure 9 As shown, CPU 906 is coupled to a first NIC / DPU 926, which in turn is coupled to network 930. CPU 906 is also coupled to a second NIC / DPU 928, which is coupled to network 930 via switch 948. NIC / DPU 926 and NIC / DPU 928 can be coupled to network 930 via Ethernet (ETH), NVLINK, or InfiniBand (IB) connections.

[0129] The computing system 900 also includes a processing device 904 with a multi-GPU architecture. Specifically, the processing device 904 includes multiple subsystems, including a CPU 916, a GPU 918, and a GPU 920. The CPU 916 can be coupled to the GPU 918 via a D2D or C2C interconnect 922. The CPU 916 can be coupled to the GPU 920 via a D2D or C2C interconnect 924. The CPU 916 can also be coupled to the GPU 918 and GPU 920 via a PCIe interconnect. The CPU 916 can be coupled to one or more NICs or DPUs, which in turn are coupled to one or more networks. For example, as... Figure 9 As shown, CPU 916 is coupled to a first NIC / DPU 932, which is coupled to network 936. CPU 916 is also coupled to a second NIC / DPU 934, which is coupled to network 936 via switch 950. NIC / DPU 932 and NIC / DPU 934 can be coupled to network 936 via Ethernet (ETH), NVLINK, or InfiniBand (IB) connections.

[0130] In at least one embodiment, processing device 902 and processing device 904 can communicate with each other via NIC / DPU 938 (e.g., via PCIe interconnect). Processing device 902 and processing device 904 can also communicate with each other via high-bandwidth communication interconnect 940 (e.g., NVLink interconnect or other high-speed interconnect). Figure 9 The packet switches in the diagram can include, for example, Nvidia Quantum2 switches. The NIC / DPU in the diagram can include, for example, Nvidia Bluefield DPUs.

[0131] Referenced above Figures 3 to 8 The described processing device can be any suitable device, such as: an accelerator device; a processing device including a central processing unit (CPU) and / or a graphics processing unit (GPU); a host device connected to one or more peripheral devices; a peripheral device, a data processing unit (DPU), or a smart NIC including a NIC and one or more processing cores connected to another peripheral device and / or one or more host devices.

[0132] Referenced above Figures 3 to 8 The network device described herein can be any suitable network device, such as a network interface controller (NIC) device, a data processing unit (DPU), or a smart NIC that includes a NIC and one or more processing cores, or a network switch. One or more processing steps described herein can be performed by a CPU, GPU, DPU, NIC, or any suitable combination thereof.

[0133] A NIC may include any of the following: an Ethernet port (RJ45 connector), which is the physical interface through which a network cable (usually an Ethernet cable) connects to the NIC for wired network connections; packet processing hardware or circuitry responsible for handling network communications and processing incoming and outgoing data packets, and managing network interface functions; memory (such as RAM or ROM) for storing temporary data (such as network packet buffers, configuration settings, and firmware), and helping to speed up data transfer and processing; firmware, which is software-programmed into the NIC's memory and controls hardware operation, and can be updated to improve performance or add new features to the NIC; and LED indicators. It provides visual indicators of network status, commonly including power status, network activity, and link speed; a bus interface (e.g., PCI or PCIe) for connecting the NIC to the host computer's motherboard; a processor for handling network processing tasks and other processing tasks to offload work from the host device's main CPU and improve network performance; a heatsink or cooling mechanism (e.g., for high-performance NICs), particularly heatsinks or cooling mechanisms used in servers, to prevent overheating; a power management circuitry to ensure the NIC receives the correct amount of power and manages power consumption efficiently; and / or connector pins and circuitry, including internal connections and paths for routing signals between NIC components.

[0134] The packet processing hardware or circuitry is the core component of the NIC, responsible for handling network communications. It can include several key components that work together to manage and process network data, such as any one or more of the following: the MAC (Media Access Control) layer, which handles the data link layer of the OSI model and manages how data packets are formatted, addressed, and transmitted over the network; the MAC address register, which stores the NIC's unique hardware address (MAC address); the frame buffer, which temporarily stores data frames as they are processed; the PHY (Physical Layer) interface, which connects to the physical medium (such as an Ethernet cable) and is responsible for actually transmitting and receiving data bits over the network; a transceiver, used to convert data between digital signals used at the MAC layer and analog signals used for transmission over the network medium; a DMA (Direct Memory Access) controller, which manages data transfer between the NIC and computer memory (without involving the CPU), helping to offload processing tasks from the CPU and improve data transfer efficiency; and a packet processing engine, which handles the encapsulation and decapsulation of network packets, processes incoming and outgoing packets, and manages... Tasks such as error checking and packet filtering; buffer management, which includes memory areas for temporary packet storage, such as a transmit buffer for storing packets being sent from the computer to the network, and a receive buffer for storing packets received from the network before they are processed by the system; an interrupt controller, which manages and generates interrupts to notify the CPU of events such as packet reception or transmission completion, and helps to efficiently handle network events; a clock generator, which provides timing signals to the various components of the NIC to synchronize their operation; a power management unit, which regulates power consumption and manages the power-saving features of the NIC chip to improve energy efficiency; error handling and correction logic, which detects and corrects errors in data transmission and reception, and may include features of error checking protocols such as CRC (Cyclic Redundancy Check); configuration registers, which store configuration settings and parameters that control NIC operation, such as speed settings, interrupt configuration, and buffer size; and firmware / ROM, which contains embedded software that controls NIC operation and manages network protocols.

[0135] A network switch may include any of the following: ports for connecting network cables; a switching fabric for managing data transmission between ports; a MAC address table that stores device addresses and port information; a forwarding engine that directs data packets to the correct ports; a buffer cache for temporarily storing data to manage traffic; a management processor for handling configuration and monitoring within the managed switch; a power supply for providing power; a cooling system to prevent the switch from overheating; firmware for controlling the switch; LED indicators for displaying status and activity; and network modules (in modular switches) for allowing additional ports or features.

[0136] In practice, some or all of the functions of the processor described herein may be combined in a single physical component, or alternatively, implemented using multiple physical components. These physical components may include hardwired or programmable devices, or a combination of both. In some embodiments, at least some functions of the processing circuitry may be executed by a programmable processor under the control of appropriate software. For example, the software may be downloaded to the device electronically via a network. Alternatively or additionally, the software may be stored in a tangible, non-transitory computer-readable storage medium, such as optical, magnetic, or electronic memory.

[0137] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various examples of this disclosure. In this regard, each box in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing one or more specified logical functions. It should also be noted that in some alternative implementations, the functions recorded in the boxes may occur in an order other than that shown in the diagram. For example, in practice, two boxes shown sequentially may be executed substantially simultaneously, or the boxes may sometimes be executed in reverse order. The block diagrams and / or flowchart illustrations, and combinations of boxes in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that perform specific functions or actions. The description of various examples of this disclosure has been presented for illustrative purposes but is not intended to be exhaustive or limited to the disclosed examples. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described examples.

[0138] For clarity, the various features of this disclosure described in the context of individual embodiments may also be provided in combination in a single embodiment. Conversely, for brevity, the various features of this disclosure described in the context of a single embodiment may also be provided individually or in any suitable sub-combination.

[0139] The above embodiments are cited by way of example, and this disclosure is not limited to the content specifically shown and described above. Rather, the scope of this disclosure 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 network device, comprising: Network interface; and Processor, the processor being used for: The device receives first homomorphic encrypted data from a first device and second homomorphic encrypted data from a second device via the network interface. as well as Homomorphic arithmetic operations are performed based on at least the first homomorphic encrypted data and the second homomorphic encrypted data to generate a homomorphically encrypted arithmetic result.

2. The device of claim 1, wherein the processor is configured to transmit the homomorphically encrypted arithmetic result to another network device via the network interface for further homomorphic arithmetic processing.

3. The apparatus of claim 2, wherein the processor is configured to perform the homomorphic arithmetic operation as part of a data reduction and aggregation process.

4. The device of claim 1, wherein the processor is configured to: Receive another homomorphically encrypted arithmetic result from the other network device via the network interface; and The received homomorphically encrypted result is transmitted to the destination device via the network interface.

5. The apparatus of claim 1, wherein the homomorphic arithmetic operation includes at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operation, log-linear Kund operation, or any operation based on the Kund axiom.

6. The apparatus of claim 1, wherein the processor is configured to perform the homomorphic arithmetic operation based on a Kund-based operation.

7. A system comprising: Multiple nodes, each node includes: At least one first processor is configured to homomorphically encrypt first data using a homomorphic encryption scheme and / or decrypt the first result of the homomorphic encryption; and A first network interface is configured to: provide homomorphically encrypted first data to a given network device; and / or receive the homomorphically encrypted first result from the given network device; and Multiple network devices, each network device including: Second network interface; and At least one second processor is configured to: receive homomorphically encrypted second data from at least one of the plurality of nodes or at least one of the plurality of network devices via the second network interface; perform a homomorphic arithmetic operation based at least on the received homomorphically encrypted second data; and transmit the result of the homomorphic arithmetic operation to another network device or another node of the plurality of nodes via the second network interface.

8. The system according to claim 7, wherein: The at least one first processor is configured to: homomorphically encrypt the first data using a homomorphic encryption scheme, and decrypt the first result of the homomorphic encryption; and The first network interface is configured to: provide the homomorphically encrypted first data to a given network device; and receive the homomorphically encrypted first result from the given network device.

9. The system of claim 7, wherein the at least one second processor of the plurality of network devices is configured to: receive the homomorphically encrypted second data, perform the homomorphic arithmetic operation, and transmit the result of the homomorphic arithmetic operation as part of a data reduction and aggregation process.

10. The system of claim 7, wherein the plurality of network devices are implemented in a network switch.

11. The system of claim 7, wherein the system supports multiple tenants, each tenant being associated with a separate encrypted data stream.

12. The system of claim 7, wherein the homomorphic encryption scheme supports at least one type of homomorphic arithmetic operation on encrypted data without decryption.

13. The system of claim 12, wherein the at least one type of homomorphic arithmetic operation includes at least one of the following: homomorphic modular addition, homomorphic modular multiplication, homomorphic conjugation, linear (Alexander) Kund operation, log-linear Kund operation, or any operation based on the Kund axiom.

14. The system according to claim 7, wherein the homomorphic encryption scheme is based on the Kund encryption scheme.

15. The system according to claim 7, wherein the homomorphic encryption scheme is an asymmetric homomorphic encryption scheme.

16. The system of claim 15, wherein the at least one first processor is configured to: The first data is homomorphically encrypted using the public keys of the multiple nodes; and The first result of the homomorphic encryption is homomorphically decrypted using the public and private keys of the multiple nodes.

17. The system of claim 15, wherein the at least one first processor is configured to: The input data is homomorphically encrypted using the public keys of each of the plurality of nodes; and The first result of the homomorphic encryption is homomorphically decrypted using the private key of one of the multiple nodes.

18. The system of claim 7, wherein the at least one first processor is configured to select different homomorphic encryption schemes for different types of homomorphic arithmetic operations.

19. The system of claim 7, wherein the at least one second processor is configured to perform the homomorphic arithmetic operation based on Kund-based operations.

20. A method comprising: Use a homomorphic encryption scheme to homomorphically encrypt the input data; The homomorphically encrypted input data is transmitted to the network device; Receive homomorphically encrypted results from the network device, wherein the homomorphically encrypted results represent at least one homomorphic arithmetic operation performed by the network device at least based on the homomorphically encrypted input data and other homomorphically encrypted data; as well as The homomorphically encrypted result is homomorphically decrypted to obtain the plaintext result of performing at least one arithmetic operation on the input data and other data.

21. A method comprising: Receive first homomorphic encrypted data from the first device, and receive second homomorphic encrypted data from the second device; as well as Homomorphic arithmetic operations are performed based on at least the first homomorphic encrypted data and the second homomorphic encrypted data to generate a homomorphically encrypted arithmetic result.

Citation Information

Patent Citations

  • Aggregation protocol

    US10284383B2