Homomorphic encryption

Through the use of homogenous encryption methods in the circular artificial neural network, the binary data is processed and analyzed, and the problem of data security and availability in certain calculation scenarios is solved. Analysis and deep learning.

CN113812114BActive Publication Date: 2025-01-21INAIT SA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080035412.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-18
Filing Date
2020-03-12
Publication Date
2025-01-21
Estimated Expiration
2040-03-12

AI Technical Summary

Technical Problem

Existing encryption technologies are difficult to achieve data security and availability in some computing scenarios, especially when statistical analysis or deep learning of ciphertext is required.

Method used

The use of homogenous encryption methods to process and analyze binary data by circulating artificial neural networks, identify the activity mode and store it as a neurological topology code, and conduct statistical analysis to draw conclusions about security data.

Benefits of technology

It enables statistical analysis and deep learning of ciphertext without decrypting it, ensuring data security and computing availability. It is suitable for situations where sensitive data needs to be accessed but does not require complete decryption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113812114B_ABST
    Figure CN113812114B_ABST
Patent Text Reader

Abstract

Methods, systems, and devices for homomorphic encryption. In one implementation, the method includes: inputting first data into a recurrent artificial neural network; identifying a pattern of activity in the recurrent artificial neural network in response to the input of security data; storing second data indicating whether the identified pattern of activity is commensurate with a topological pattern; and performing a statistical analysis on the second data to draw conclusions about the first data.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Cryptographic encryption provides secure communications between parties even in the event that a third party (often referred to as an "adversary") intercepts the communications. Encrypted communications are encoded so that only authorized recipients can access the communications. Often, the communications themselves are referred to as "plaintext," a term that encompasses both text messages and other messages. The algorithm that encrypts the communications is often referred to as a "cipher," and the encrypted communications are referred to as "ciphertext." Although ciphertext may be intercepted or otherwise available to an adversary, it is often very difficult to decrypt the ciphertext to access the encrypted communications.

[0002] In general, encryption can be categorized as either "symmetric key" or "public key". In symmetric key encryption, the same key is used to encrypt plaintext and decrypt ciphertext. Since both the sender and the receiver must have access to the same symmetric key, this must be ensured by exchanging the symmetric key over a secure channel. In public key encryption, the encryption key can be made public and used by multiple parties to encrypt plaintext. However, only the intended recipient will have access to the decryption key that enables the ciphertext to be decrypted.

[0003] In some instances, a party can use ciphertext in a computation without fully decrypting it. In so-called "homomorphic encryption," operations performed on ciphertext can produce results that, when decrypted, match the results of similar operations performed on the corresponding plaintext. Examples of operations include linear and nonlinear statistical analysis, as well as deep learning and other AI-based techniques.

[0004] Homomorphic encryption is particularly useful in scenarios where computation is performed by parties that do not have unrestricted access to plaintext. For example, a party performing statistical analysis on medical data may not have access to patient identifying information. However, the results of the analysis should be as accurate as if the party had access to the full identifying information. Summary of the invention

[0005] This document relates to homomorphic encryption and systems and techniques for performing homomorphic encryption. For example, in one implementation, a homomorphic encryption method includes: storing binary data, wherein each digit in the binary data represents whether activity in a recurrent artificial neural network is commensurate with a corresponding pattern, wherein the activity is responsive to an input of security data; and performing statistical analysis on the binary data to draw conclusions about the security data. The method may be implemented in hardware, in software, or a combination thereof.

[0006] This and other homomorphic encryption methods may include one or more of the following features. The pattern of activity in the recurrent artificial neural network may include a simplex pattern of activity in the network, for example, wherein the simplex pattern is a directional simplex or wherein the simplex pattern encloses a cavity. The method may include identifying the pattern of activity in the recurrent artificial neural network. Identifying the pattern of activity may include: determining a specific timing of activity having a complexity distinguishable from other activities in response to the input; and identifying the pattern based on the specific timing of the activity having the distinguishable complexity. The method may include: receiving data that customizes the input of the security data into the network; and inputting plaintext into the network according to the data. The data may characterize the synapses and nodes into which bits of the plaintext will be injected, or the order in which bits of the plaintext will be injected. The method may also include customizing the response of the network to the input of the security data, for example by creating or removing nodes or links in the network or by changing one or more properties of nodes or links in the network.

[0007] In another implementation, a homomorphic encryption method includes: inputting first data into a recurrent artificial neural network; identifying a pattern of activity in the recurrent artificial neural network in response to the input of security data; storing second data indicating whether the identified pattern of activity is commensurate with a topological pattern; and performing statistical analysis on the second data to draw conclusions about the first data. The method may be implemented in hardware, in software, or a combination thereof.

[0008] This and other homomorphic encryption methods may include one or more of the following features. The pattern of activity in the recurrent artificial neural network may include a simplex pattern of activity in the network, for example, wherein the simplex pattern is a directional simplex or wherein the simplex pattern encloses a cavity. Identifying the pattern of activity may include: determining a specific time of activity having a complexity distinguishable from other activities in response to the input; and identifying the pattern based on the specific time of the activity having the distinguishable complexity. The method may include: receiving data that customizes the input of the security data into the network; and inputting plaintext into the network based on the data. The data may characterize the synapses and nodes into which bits of the plaintext will be injected, or the order in which bits of the plaintext will be injected. The method may include customizing the response of the network to the input of the security data, for example by creating or removing nodes or links in the network or by changing one or more properties of nodes or links in the network.

[0009] In some implementations, a non-transitory computer-readable storage medium may have instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform any of the homomorphic encryption methods described above.

[0010] In some implementations, a homomorphic encryption device can be configured to perform any of the homomorphic encryption methods described above.

[0011] The details of one or more embodiments are set forth in the accompanying drawings and the description below.Other features, objects, and advantages will be apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is a schematic representation of the process for homomorphic encryption of data.

[0013] Figure 2 and Figure 3 It is a representation of patterns of activity that can be recognized and read in a recurrent artificial neural network.

[0014] Figure 4 It is a schematic representation of a specific time determination of an activity pattern with a distinguishable complexity. DETAILED DESCRIPTION

[0015] Figure 1 1 is a schematic representation of a process 100 for homomorphic encryption of data. Process 100 may be performed by one or more computing devices autonomously or under human operational supervision.

[0016] In process 100, a collection of data has been stored in one or more data storage devices 105. As illustrated, the stored data may include, for example, image data, video data, text data, audio data, and / or structured or unstructured database data. In some cases, the data storage device 105 may form a data center for a company or other entity. An entity or entities that owns the data stored on the data storage device 105 may wish to restrict access to the data by others for one or more reasons. For example, the stored data may include trade secrets or other data that is commercially important to the owner. As another example, access to the data may be subject to legal supervision, such as when the stored data is non-anonymous medical data.

[0017] Data stored at the storage device 105 can be injected into the artificial recurrent neural network 110. An artificial neural network is a device inspired by the structure and functional aspects of biological neural networks but implemented in hardware, software, or a combination thereof. In particular, an artificial neural network uses a system of interconnected structures called nodes to simulate the information encoding and other processing capabilities of biological neural networks. The arrangement and strength of the connections between the nodes in the artificial neural network determine the results of information processing or information storage by the artificial neural network.

[0018] A neural network can be trained to produce a desired signal flow in the network and achieve a desired information processing or information storage result. Typically, training a neural network will change the arrangement and / or strength of connections between nodes during a learning phase. A neural network is considered trained when it achieves sufficiently appropriate processing results for a given set of inputs.

[0019] Artificial neural networks can be used in a variety of different devices to perform nonlinear data processing and analysis. Nonlinear data processing does not satisfy the superposition principle, ie the variable to be determined cannot be written as a linear sum of independent components.

[0020] In a recurrent artificial neural network, the connections between nodes form a directed graph along a time sequence, and the network exhibits temporal dynamic behavior.

[0021] The data stored at the storage device 105 can be input into the recurrent artificial neural network 110 in a variety of different ways. In general, a user may be able to uniquely specify the manner in which the data stored at the storage device 105 is injected into a particular network to provide a degree of security against undesired access. For example, the recurrent artificial neural network 110 need not be constrained to receive input at a well-defined input layer. Instead, in some implementations, a user may specify that the data stored at the storage device 105 is to be injected into specific nodes or links distributed throughout the network 110. As another example, the recurrent artificial neural network 110 need not be constrained to receive input in a known, previously defined manner (e.g., always inject the first bit into the first node, the second bit into the second node, ..., etc.). Instead, a user may specify that certain bits of the data stored at the storage device 105 are to be injected into synapses rather than neurons, that the order of injection does not need to follow the order in which the bits appear, or a combination of these and other parameters.

[0022] In some implementations, data stored at storage device 105 may be input into a recurrent artificial neural network 110 that has been customized using one or more settings 115 that customize the response of network 110 to input. These settings may, for example, create or remove nodes or links within network 110 and / or change the properties of individual nodes or links within network 110. For example, the settings may change the strength and / or directionality of links within network 110. As another example, the settings may change the signal accumulation or firing threshold in a node operating according to an integrate-and-fire model. The nature of these changes can be sufficient to customize the responsiveness of network 110 to input in a manner that is hidden from, for example, other parties that may have access to network 110 but not to settings 115. In this way, settings 115 may be viewed as a “private key” that—together with the unchanged properties of network 110—determines the encoding of data stored at storage device 105. For didactic purposes, settings 115 are described in detail in the accompanying drawings. Figure 1 Schematically represented as a key.

[0023] In response to input of data stored at the storage device 105, the recurrent artificial neural network 110 responds with a pattern of activity. The topological pattern that occurs in this activity can be "read" as a neural topology code 120. In more detail, the neural topology code 120 can represent topological features corresponding to the pattern of activity that occurs in the neural network when the neural network is provided with a given input. In other words, the neural network can be represented as a graph. A graph is a set of nodes and a set of edges between these nodes. A node can correspond to, for example, an artificial neuron in a neural network. An edge can correspond to a certain relationship between nodes. Examples of relationships include, for example, a structural connection or an activity along the connection. In the context of a neural network, artificial neurons can be associated by structural connections between neurons or by the transmission of information along the structural connection. Therefore, an edge can characterize a relatively short-lived "activity" characteristic that occurs within a defined time frame.

[0024] The neural topology code 120 may use a series of binary bits to indicate the presence or absence of a topological feature in an activity. The feature whose presence or absence is indicated by a bit in the neural topology code 120 may be, for example, activity in a node, a group of nodes, a set of multiple groups of nodes, a set of edges, a set of multiple groups of edges, and / or additional hierarchically more complex features (e.g., a set of multiple sets of multiple groups of nodes). The bits in the neural topology code 120 generally indicate the presence or absence of features at different hierarchical levels. For example, a first bit may indicate the presence or absence of activity at a group of five nodes, while a second bit may indicate the presence or absence of activity at a group of eight nodes. In some implementations, a bit may indicate the presence or absence of a multidimensional simplex pattern of activity in a graph representing the activity.

[0025] In some implementations, the format of the neural topology code 120 can be customized by the user. For example, the order of the bits can be selected by the user.

[0026] In some implementations, bits in the neural topology code 120 may represent information about features in the graph other than just the presence or absence of those features. For example, a bit may represent that a feature is not only present but also has a certain characteristic at a threshold level. For example, a bit may represent not only that a simplex pattern of activity is present in a set of edges, but also that this activity is above or below a threshold level of activity.

[0027] In a reductive sense, the data from storage device 105 that is input into neural network 110 is plain text, and the responsive neural topology code 120 homomorphically encrypts the plain text.

[0028] The neural topology code 120 may be stored in one or more data storage devices 125. Typically, the data storage device 125 is different from the data storage device 105. For example, the data storage device 125 may be a cloud data storage or vertical database accessible to parties other than the one or more entities that own the data stored on the data storage device 105. This accessibility is schematically indicated in the figure by an unlocked symbol on the data storage device 125.

[0029] An entity with access rights can access the data stored on the data storage device 125 to perform one or more data analyses 130, 135, 140. The results of the data analysis 130, 135, 140 on the neural topology code 120 can produce results that, when decrypted, match the results of similar operations performed on the corresponding data stored on the data storage device 125. Examples of suitable data analyses include linear and nonlinear statistical analysis, as well as deep learning and other AI-based techniques. These results can be achieved without providing entities with unrestricted access to the data stored on the data storage device 125.

[0030] Figure 2 is identifiable and “read” to be obtained from the neural network 100 ( Figure 1 ) generates a representation of a pattern 400 of activity of a neural topology code 120.

[0031] Pattern 400 is a representation of activity in a recurrent artificial neural network. In order to read pattern 400, a functional graph is considered as a topological space with nodes as points. The activities in the nodes and links that are commensurate with pattern 400 can be identified as ordered, regardless of the identity of the specific nodes and / or links participating in the activity. In the illustrated implementation, pattern 400 is all directed groups or directed simplexes. In such a pattern, the activity originates from a source node that transmits a signal to each other node in the pattern. In pattern 400, such a source node is designated as point 0, and other nodes are designated as points 1, 2, ... In addition, in a directed group or simplex, one of the nodes acts as a sink and receives signals transmitted from each other node in the pattern. In pattern 400, such a sink node is designated as the highest numbered point in the pattern. For example, in pattern 405, the sink node is designated as point 2. In pattern 410, the sink node is designated as point 3. In pattern 415, the sink node is designated as point 3, and so on. Thus, the activities represented by pattern 400 are ordered in a distinguishable manner.

[0032] Each of the patterns 400 has a different number of points and reflects ordered activity in a different number of nodes. For example, pattern 405 is a two-dimensional simplex and reflects activity in three nodes, pattern 410 is a three-dimensional simplex and reflects activity in four nodes, and so on. As the number of points in the pattern increases, the degree of ordering and complexity of the activity also increases. For example, for a large set of nodes with a certain degree of random activity within the window, some of the activities may coincide with pattern 405 by chance. However, random activity will gradually become less and less likely to coincide with the corresponding patterns in patterns 410, 415, 420... The presence of activity that coincides with pattern 430 therefore indicates a relatively higher degree of ordering and complexity in the activity than the presence of activity that coincides with pattern 405.

[0033] Different duration windows may be defined for different determinations of the complexity of an activity. For example, when an activity commensurate with pattern 430 is to be identified, a longer duration window may be used than when an activity commensurate with pattern 405 is to be identified.

[0034] Figure 3 is identifiable and “read” to be obtained from the neural network 100 ( Figure 1 ) generates a representation of a pattern 500 of activity of a neural topology code 120.

[0035] Pattern 500 is a group of directed cliques or directed simplices of the same dimension (ie, having the same number of points) that defines a pattern involving more points than a single clique or simplex and encloses a cavity within the group of directed simplices.

[0036] By way of example, pattern 505 includes six different three-point, two-dimensional patterns 405 that together define a homology class of level 2, while pattern 510 includes eight different three-point, two-dimensional patterns 405 that together define a second homology class of level 2. Each of the three-point, two-dimensional patterns 405 in patterns 505, 510 can be considered to enclose a corresponding cavity. The nth Betti number associated with a directed graph provides a count of such homology classes in a topological representation.

[0037] The activity represented by a pattern such as pattern 500 represents a relatively high degree of ordering of activity in a network that is unlikely to occur by random chance. Pattern 500 can be used to characterize the complexity of the activity.

[0038] In some implementations, only some patterns of activity are identified and / or some portion of the identified patterns of activity are discarded or otherwise ignored during identification of decision moments. Figure 2, activities commensurate with the five-point, four-dimensional simplex pattern 415 inherently include activities commensurate with the four-point, three-dimensional and three-point, two-dimensional simplex patterns 410, 405. For example, Figure 4 Points 0, 2, 3, 4 and points 1, 2, 3, 4 in the four-dimensional simplex pattern 415 of are all commensurate with the three-dimensional simplex pattern 410. In some implementations, patterns containing fewer points - and therefore having lower dimensions - can be discarded or otherwise ignored during identification at a decision moment.

[0039] As another example, only some patterns of activity need to be recognized. For example, in some implementations, only patterns with an odd number of points (3, 5, 7, ...) or an even number of dimensions (2, 4, 6, ...) are recognized.

[0040] Figure 4 It is a schematic representation of the specific timing of activity patterns with distinguishable complexity. Figure 4 The determination represented in can be performed as part of the recognition or "reading" of a pattern of activity to obtain information from the neural network 110 ( Figure 1 ) generates a neural topology code 120.

[0041] Figure 4 The diagram includes a graph 605 and a graph 610. Graph 605 shows the occurrence of a pattern as a function of time along the x-axis. In particular, each occurrence is schematically represented as a vertical line 606, 607, 608, 609. Each row of occurrences may be an instance of an activity matching a corresponding pattern or a class of patterns. For example, the top row of occurrences may be an instance of an activity matching pattern 405 ( Figure 2 ), the second row occurrence may be an activity matching pattern 410 ( Figure 2 ), the occurrence of the third line may be an activity matching pattern 415 ( Figure 2 ), and so on.

[0042] Graph 605 also includes dashed rectangles 615, 620, 625 schematically depicting different time windows when activity patterns have distinguishable complexity. As shown, during the windows depicted by dashed rectangles 615, 620, 625, the likelihood that activity in the recurrent artificial neural network matches a pattern indicative of complexity is higher than outside of those windows.

[0043] Graph 610 represents the complexity associated with these occurrences as a function of time along the x-axis. Graph 610 includes a first peak 630 of complexity that coincides with the window depicted by dashed rectangle 615, and a second peak 635 of complexity that coincides with the window depicted by dashed rectangles 620, 625. As shown, the complexity represented by peaks 630, 625 is distinguishable from the complexity of what may be considered a baseline level 640 of complexity.

[0044] In some implementations, the output of the recurrent artificial neural network will be read at a time that coincides with the occurrence of an activity pattern with distinguishable complexity. Figure 4 In the illustrative scenario of , the output of the recurrent artificial neural network may be read at peaks 630 , 625 , ie, during the windows depicted by dashed rectangles 615 , 620 , 625 .

[0045] In some implementations, not only the specific time of the output of the recurrent artificial neural network but also the content of the output of the recurrent artificial neural network is given by the activity pattern with distinguishable complexity. In particular, the identity and activity of the nodes participating in the activity commensurate with the activity pattern can be considered as the output of the recurrent artificial neural network. Therefore, the identified activity pattern can represent the result of processing through the neural network, as well as the specific time when this decision will be read.

[0046] The content of the decision can be expressed in a variety of different forms. For example, in some implementations, the content of the decision can be expressed as a binary vector of 1s and 0s, where each number indicates whether the corresponding mode is active or inactive for a predefined group of nodes. In such an implementation, the content of the decision is expressed in binary and can be compatible with traditional digital data processing infrastructure.

[0047] The operations and embodiments of the subject matter described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them. The embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, which are encoded on a computer storage medium for execution by a data processing device or to control the operation of a data processing device. Alternatively or additionally, program instructions may be encoded on an artificially generated propagation signal (e.g., a machine-generated electrical signal, optical signal, or electromagnetic signal), which is generated to encode information for transmission to a suitable receiver device for execution by a data processing device. The computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them or included therein. In addition, although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagation signal. The computer storage medium can also be or be included in one or more separate physical components or media (eg, multiple CDs, disks, or other storage devices).

[0048] The operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0049] The term "data processing apparatus" encompasses all kinds of apparatus, devices and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or a plurality of the foregoing or a combination of the foregoing. The apparatus may include dedicated logic circuitry, for example, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of these. The apparatus and execution environment may implement a variety of different computing model infrastructures, such as network services, distributed computing, and grid computing infrastructures.

[0050] A computer program (also referred to as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store portions of one or more modules, subroutines, or code). A computer program may be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.

[0051] The processes and logic flows described in this specification can be performed by one or more programmable processors that execute one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by special-purpose logic circuits (e.g., FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits)), and the apparatus can also be implemented as special-purpose logic circuits (e.g., FPGAs (field programmable gate arrays) or ASICs (application-specific integrated circuits)).

[0052] Processors suitable for executing computer programs include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or be operatively coupled to receive data from one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or to transfer data to one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or both. However, a computer need not have such a device. In addition, a computer can be embedded in another device (e.g., a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game controller, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name a few). Devices suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and storage devices, including by way of example semiconductor memory devices, such as EPROM, EEPROM and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0053] To provide for interaction with a user, embodiments of the subject matter described herein may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and pointing device (e.g., a mouse or tracking ball) through which the user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, voice, or tactile input. In addition, a computer may interact with a user by sending documents to and receiving documents from a device used by the user; for example, by sending a web page to a web browser on a user's client device in response to a request received from the web browser.

[0054] Although this specification includes many specific implementation details, these details should not be interpreted as limiting the scope of any invention or the content that may be claimed, but should be understood as a description of the features of a specific embodiment specific to a specific invention. Certain features described in the scene of a separate embodiment in this specification may also be implemented in combination in a single embodiment. On the contrary, a plurality of features described in the scene of a single embodiment may also be implemented individually or in any suitable sub-combination in a plurality of embodiments. In addition, although the features may be described above as working in certain combinations and even initially claimed in this way, one or more features from the claimed combination may be deleted from the combination in some cases, and the claimed combination may point to a variant of a sub-combination or a sub-combination.

[0055] Similarly, although operations are described in a particular order in the accompanying drawings, this should not be understood as requiring such operations to be performed in the particular order shown or in a continuous order, or requiring the execution of all illustrated operations to obtain desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of the various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can be integrated together or packaged into multiple software products in a single software product.

[0056] Thus, a particular implementation of the subject matter has been described. Other implementations are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Additionally, the processes depicted in the accompanying drawings do not necessarily require the particular order or sequential order shown to achieve the desired results. In some implementations, multitasking and parallel processing may be advantageous.

[0057] A number of implementations have been described. However, various modifications may be made. Therefore, other implementations are within the scope of the following claims.

Claims

1. A method implemented in hardware, software or a combination thereof, the method comprising: Homomorphically encrypt data, including identifying a pattern of signaling activity in a recurrent artificial neural network, wherein the signaling activity is responsive to an input of security data; storing binary data, wherein each digit in the binary data indicates whether the signal transmission activity in the recurrent artificial neural network is commensurate with a corresponding pattern; as well as The stored binary data is made accessible for statistical analysis of the binary data to draw conclusions about the security data.

2. The method of claim 1, wherein the pattern of signal transmission activity in the recurrent artificial neural network comprises a simplex pattern of signal transmission activity in the recurrent artificial neural network. The method of claim 2 , wherein the simplex pattern encloses a cavity.

4. The method of claim 1 , wherein identifying a pattern of signal transmission activity comprises: determining a specific time of a signal transmission activity having a complexity distinguishable from other signal transmission activities in response to the input; as well as The pattern is identified based on the specific timing of the signal transmission activity having the distinguishable complexity.

5. The method according to claim 1, wherein the method further comprises: receiving data for custom characterization of the security data as an input into the recurrent artificial neural network; as well as The security data is input into the recurrent artificial neural network based on the data characterizing the customization.

6. The method of claim 5, wherein the data: characterize the synapses and nodes into which the bits of security data will be injected, or The order in which the bits of the security data will be injected is characterized.

7. The method according to claim 1, wherein the method further comprises: The response of the recurrent artificial neural network to the input of the security data is customized by changing one or more properties of nodes or links in the recurrent artificial neural network.

8. A method implemented in hardware, software or a combination thereof, the method comprising: Homomorphically encrypt secure data, including inputting said security data into a recurrent artificial neural network, identifying a pattern of signaling activity between three or more nodes in the recurrent artificial neural network, wherein the pattern of signaling activity is responsive to the input of the security data; storing second data indicating whether the identified pattern of signal transmission activity is commensurate with the topological pattern; as well as The stored second data is made accessible for statistical analysis of the second data to draw conclusions about the security data.

9. The method of claim 8, wherein the identified pattern of signal transmission activity in the recurrent artificial neural network comprises a simplex pattern of signal transmission activity in the recurrent artificial neural network.

10. The method of claim 9, wherein the simplex pattern encloses a cavity.

11. The method of claim 8, wherein identifying a pattern of signal transmission activity comprises: determining a specific time of a signal transmission activity having a complexity distinguishable from other signal transmission activities in response to the input; as well as The pattern is identified based on the specific timing of the signal transmission activity having the distinguishable complexity.

12. The method according to claim 8, wherein the method further comprises: receiving data for custom characterization of the security data as an input into the recurrent artificial neural network; as well as The security data is input into the recurrent artificial neural network based on the data characterizing the customization.

13. The method of claim 12, wherein the data: characterize the synapses and nodes into which the bits of security data will be injected, or The order in which the bits of the security data will be injected is characterized.

14. The method according to claim 8, wherein the method further comprises: The response of the recurrent artificial neural network to the input of the security data is customized by changing one or more properties of nodes or links in the recurrent artificial neural network.

15. A homomorphic encryption system, comprising: a recurrent artificial neural network comprising an input configured to receive security data, wherein the input comprises an input layer to one or more injection sites within nodes or links in the recurrent artificial neural network; a data processing device configured to identify a pattern of signal transmission activity in the recurrent artificial neural network in response to input of security data; A data storage device stores second data representing whether the identified pattern of signal transmission activity is commensurate with the topological pattern, and makes the stored second data accessible for performing statistical analysis to draw conclusions about the security data.

16. The homomorphic encryption system of claim 15, wherein the pattern of signal transmission activity in the recurrent artificial neural network comprises a simplex pattern of signal transmission activity in the recurrent artificial neural network, wherein the simplex pattern encloses a cavity.

17. The homomorphic encryption system according to claim 15, wherein the homomorphic encryption system is configured as follows: determining a specific time of signaling activity having a complexity distinguishable from other signaling activities responsive to the input; and The pattern is identified based on the specific timing of the signal transmission activity having the distinguishable complexity.

18. The homomorphic encryption system according to claim 15, wherein the homomorphic encryption system is configured as follows: receiving data for custom characterizing the security data as an input into the recurrent artificial neural network; and The security data is input into the recurrent artificial neural network based on the data.

19. The homomorphic encryption system according to claim 15, wherein the homomorphic encryption system is configured as follows: The response of the recurrent artificial neural network to the input of the security data is customized by changing one or more properties of nodes or links in the recurrent artificial neural network.

Citation Information

Patent Citations

  • Sensory event recoding and decoding

    US20090012581A1