Sending data between devices

A data transmission system using dynamic systems and artificial spiking neural networks addresses security issues in data transmission by enhancing data security through event-based comparisons.

JP2025534440APending Publication Date: 2025-10-15SYNAPTRAIN TECH INC +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025519611
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-05
Filing Date
2023-10-05
Publication Date
2025-10-15

AI Technical Summary

Technical Problem

Methods of transmitting data between devices may be insecure.

Method used

Implementing a data transmission system that includes a data transmitting device and a data receiving device, both equipped with dynamic systems that compare and generate transmission data based on dynamic system events, using artificial spiking neural networks to enhance security.

Benefits of technology

Enhances data transmission security by utilizing dynamic system events and artificial spiking neural networks to secure data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025534440000001_ABST
    Figure 2025534440000001_ABST
Patent Text Reader

Abstract

The present disclosure provides methods and apparatus for transmitting data between multiple devices. Such methods and apparatus may include at least one data receiving device for receiving at least one data transmission signal from at least one data transmitting device implementing a data transmitting dynamic system. At least a portion of the transmitted data transmitted by the at least one data transmission signal may be compared to at least some outputs of the data receiving dynamic system implemented by the at least one data receiving device. One aspect of the present disclosure may relate to a method for generating a cryptographic hash output, wherein at least one device receives at least one input signal encoding at least one input value, implements a dynamic system including a plurality of node values, identifies a plurality of dynamic system events associated with the respective node values ​​and propagation stages, and generates at least one output signal identifying the events.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims the benefit of and priority to Canadian Patent Application Publication No. 3178441, filed October 5, 2022, the entire contents of which are incorporated herein by reference.

[0002] TECHNICAL FIELD This disclosure relates generally to transmitting data between devices. [Background technology]

[0003] Methods of transmitting data between devices may be insecure. Summary of the Invention

[0004] According to at least one embodiment, a data transmission method includes causing at least one data receiving device to receive at least one data transmission signal from at least one data transmitting device implementing a data transmission dynamic system, and causing the at least one data receiving device to compare (a) at least a portion of the transmitted data being transmitted by the at least one data transmission signal with (b) an output of at least a portion of the data reception dynamic system implemented by the at least one data receiving device.

[0005] According to at least one embodiment, a data transmission method includes causing at least one data transmitting device to generate transmission data at least in accordance with at least some outputs of a data transmitting dynamic system implemented by the at least one data transmitting device, and causing the at least one data transmitting device to transmit at least one data transmission signal transmitting at least the transmission data to at least one data receiving device implementing a data receiving dynamic system.

[0006] According to at least one embodiment, a method for generating a cryptographic hash output includes having at least one device receive at least one input signal that encrypts at least one input value, the at least one device implementing a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable at least according to the at least one input value; having the at least one device identify at least a plurality of dynamic system events, each event of the plurality of dynamic system events being associated with a respective node value of the plurality of node values ​​and with a respective propagation stage of the dynamic system if the node value satisfies a discretization criterion; and having the at least one device generate at least one output signal identifying the at least a plurality of dynamic system events.

[0007] According to at least one embodiment, the data transmission apparatus comprises at least one data receiving device, the at least one data receiving device configured to at least receive at least one data transmission signal from the at least one data transmitting device configured to implement a data transmission dynamic system, and (a) compare at least a portion of the transmission data being transmitted by the at least one data transmission signal with (b) an output of at least a portion of the data reception dynamic system implemented by the at least one data receiving device.

[0008] According to at least one embodiment, a data transmission apparatus comprises at least one data transmitting device, the at least one data transmitting device configured to at least generate transmission data at least in accordance with at least some outputs of a data transmitting dynamic system implemented by the at least one data transmitting device, and to transmit at least one data transmitting signal transmitting at least the transmission data to at least one data receiving device configured to implement a data receiving dynamic system.

[0009] According to at least one embodiment, an apparatus for generating a cryptographic hash output comprises at least one device configured to at least: receive at least one input signal that encrypts at least one input value, the at least one device configured to implement a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable according to at least the at least one input value; identify at least a plurality of dynamic system events, each event of the plurality of dynamic system events being associated with a respective node value of the plurality of node values ​​and with a respective propagation stage of the dynamic system if the node value satisfies a discretization criterion; and generate at least one output signal identifying the at least a plurality of dynamic system events.

[0010] Other aspects and features will become apparent to those skilled in the art upon review of the following description of illustrative embodiments in conjunction with the accompanying figures. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a schematic diagram illustrating a data transmission system according to one embodiment. [Figure 2] 2 is a schematic diagram illustrating some exemplary program code in the program memory of a data storage device of the data transmission device of the data transmission system of FIG. 1. [Figure 3] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data transmission device of the data transmission system of FIG. [Figure 4] FIG. 4 is a schematic diagram illustrating the operation of the program code of FIG. 3. [Figure 5] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data transmission device of the data transmission system of FIG. [Figure 6]FIG. 6 is a schematic diagram illustrating an example of the operation of the program code of FIG. [Figure 7] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data transmission device of the data transmission system of FIG. [Figure 8] FIG. 8 is a schematic diagram illustrating an example of the operation of the program code of FIG. 7. [Figure 9] FIG. 8 is a schematic diagram illustrating the operation of an alternative to the program code of FIG. 7. [Figure 10] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data transmission device of the data transmission system of FIG. [Figure 11] FIG. 11 is a schematic diagram illustrating an example of the operation of the program code of FIG. 10. [Figure 12] FIG. 11 is a schematic diagram illustrating an example of the operation of an alternative to the program code of FIG. 10. [Figure 13] 2 is a schematic diagram illustrating some exemplary program code in the program memory of a data storage device of the data receiving device of the data transmission system of FIG. 1. [Figure 14] FIG. 14 is a schematic diagram illustrating an example of the operation of the program code of FIG. 13. [Figure 15] FIG. 14 is a schematic diagram illustrating the operation of an alternative to the program code of FIG. 13. [Figure 16] 1. FIG. 4 is a schematic diagram illustrating the operation of another exemplary program code in the program memory of the data storage device of the data receiving device of the data transmission system of FIG. [Figure 17] 1. FIG. 4 is a schematic diagram illustrating the operation of another exemplary program code in the program memory of the data storage device of the data receiving device of the data transmission system of FIG. [Figure 18] FIG. 1 is a schematic diagram illustrating a data transmission system according to another embodiment. [Figure 19]1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data transmission device of the data transmission system of FIG. [Figure 20] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data receiving device of the data transmission system of FIG. [Figure 21] FIG. 10 is a schematic diagram illustrating a data transmission device according to another embodiment. [Figure 22] 22 is a schematic diagram showing a display device of the data transmission device of FIG. 21. [Figure 23] 1. FIG. 4 is a schematic diagram illustrating another exemplary program code in the program memory of the data storage device of the data receiving device of the data transmission system of FIG. [Figure 24] FIG. 10 is a schematic diagram illustrating a data transmission device according to another embodiment. [Figure 25] FIG. 1 is a schematic diagram illustrating a data transmission system according to another embodiment. [Figure 26] FIG. 1 is a schematic diagram illustrating blocks in a public ledger according to one embodiment. [Figure 27] FIG. 10 is a schematic diagram illustrating a data transmission device according to another embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] 1, a data transmission system according to one embodiment is shown generally at 100 and includes a data transmitting device 101 and a data receiving device 102. System 100 is illustrative only, and alternative embodiments (including alternative embodiments described herein) may vary.

[0013] As used herein, "data" may refer to any type of information, which may be coded, uncoded, or both, in one or more signals. Generally, a "signal" herein may be electrical, optical, electromagnetic, or otherwise non-transitory.

[0014] Also, herein, "data transmitting" and "data receiving" are simply descriptions of possible device functionality and do not require that any device actually be transmitting or receiving all the time or at any given time. In other words, devices described herein as "data transmitting" and "data receiving" do not necessarily need to be transmitting or receiving data all the time or at any given time. Rather, a "data transmitting device" herein includes a device that can transmit data even when it is not actually transmitting data, and a "data receiving device" herein includes a device that can receive data even when it is not actually receiving data.

[0015] Data transmission device The data transmitting device 101 is a computing device and, in various embodiments, may include one or more other devices, or a combination of two or more thereof, including a user computing device, a server computing device, a personal computer, a laptop computer, a tablet computer, a smartphone, a smart watch, a network node of a computer network, a router of a computer network, a mobile device, a telephone, or one or more other computing devices as described herein.

[0016] Data transmission device 101 includes processor circuitry, generally indicated at 103, including central processing unit (CPU) 104. However, alternative embodiments may include one or more alternatives to CPU 104, such as, for example, one or more microprocessors, one or more analog circuits, one or more configurable logic blocks, one or more application specific integrated circuits (ASICs), or one or more field programmable gate arrays (FPGAs). Processor circuitry 103 also includes input / output (I / O) interface 105 and data storage device 106 that communicate with CPU 104.

[0017] I / O interface 105 may include, for example, various signal interfaces, analog-to-digital converters (ADCs), receivers, transmitters, and / or other circuitry for receiving, generating, and transmitting signals as described herein. Generally, signals as described herein may include one or more wireless signals, one or more optical signals, one or more electrical signals, or a combination of two or more thereof. In the illustrated embodiment, I / O interface 105 is operable to send and receive signals to computer network 107 using one or more networks, such as, for example, the Internet, one or more wired networks, one or more wireless networks, or a combination of two or more thereof. However, alternative embodiments may differ and, for example, transmit signals using wireless signals.

[0018] I / O interface 105 may be operable to receive signals from one or more input devices, such as input device(s) 108, which may include, for example, a keyboard, a mouse, a touchscreen, a microphone, another user input device, another input device, or a combination of two or more thereof, for receiving input, such as user input, from a user of data transmission device 101. In embodiments where data transmission device 101 is a router or other network node of a computer network, I / O interface 105 may be operable to receive signals from the computer network, transmit signals to the computer network, or do both. Also, in embodiments where data transmission device 101 is a camera, input device 108 may include a camera image sensor. Also, I / O interface 105 may be operable to transmit signals to one or more output devices, such as output device(s) 109, which may include a display screen, an audio speaker, a projector, another user output device, another output device, or a combination of two or more thereof, to, for example, control one or more such output devices to generate output for a user of data transmission device 101. Although input device 108 and output device 109 are shown as separate devices, collectively they may be a single device, such as a touchscreen or a combination microphone and audio speaker. Also, although input device 108 and output device 109 are shown in FIG. 1 as being separate from data transmission device 101, in alternative embodiments, one or more input devices, one or more output devices, or both may be part of data transmission device 101.

[0019] Data storage device 106 may, in various embodiments, include one or more of the same or different computer-readable and / or computer-writable data storage media, which may include one or more of read-only memory (ROM), random access memory (RAM), hard disk drives (HDD), solid-state drives (SSD), and other computer-readable and / or computer-writable data storage media.

[0020] The processor circuit 103 is illustrative only, and alternative embodiments may differ. For example, alternative embodiments may include more, fewer, or different components. Also, in alternative embodiments, the components described herein may be combined or separated into separate components. Alternative embodiments may include one or more alternatives to the components described herein. Furthermore, alternatives to data transmission device 101 may include multiple devices that collectively function as a data transmission device.

[0021] Data storage devices 106 include system data store 110. Generally, a store as described herein describes data that may be stored on one or more computer-readable and / or computer-writable data storage media, but a store as described herein is not necessarily limited to any manner of data storage. For example, data in a store as described herein is not necessarily stored together.

[0022] The system data store 110 may store data defining a data transmission dynamic system that may be implemented by the data transmission device 101 and data indicating the state of the data transmission dynamic system that may be implemented by the data transmission device 101.

[0023] Generally, a dynamic system is a system that changes either in real time or by stepwise propagation that is not necessarily associated with real time. Generally, at any given propagation step (which may be in real time or another propagation measure), the dynamic system has states that may be represented by various numbers, and such states may change as the dynamic system propagates. Also, generally, such states of the dynamic system at one propagation step depend at least in part on such states of the dynamic system at previous propagation steps. Also, generally, the dynamic system can generate outputs that may change as the dynamic system propagates.

[0024] The data transmitting dynamic system implemented by the data transmitting device 101 is an artificial spiking neural network, although alternative embodiments may differ.

[0025] Artificial Spiking Neural Networks In some embodiments, an artificial spiking neural network may simulate N artificial neurons, each of which has a respective node value (or simulated voltage) v i (i∈{1,2,3,...,N}), and the node value is determined by N input values ​​r j (j∈{1,2,3,...,N}) and weights w ij may be modified during propagation in an artificial spiking neural network according to: E(w ij )=0 (Equation 1) where E is the expectation operator and the result, weight w ij is effectively random, and in some embodiments: E(w ij 2 )=O(N -1 ) (Formula 2) where O indicates the order of approximation, and the resulting weight w ijThe variance of the weights w scales with the size of the artificial spiking neural network. However, Equations 1 and 2 are illustrative only. In some embodiments, the weights w ij may be generated randomly, pseudo-randomly, or in other manners, and the weights do not necessarily follow Equation 1, Equation 2, or both.

[0026] In some embodiments, the artificial spiking neural network may implement a leaky integrate-and-fire model. For example, in some embodiments, during propagation in the artificial spiking neural network, the node value of artificial neuron i∈{1, 2, 3, ..., N} is determined by v i (of the current propagation stage of an artificial spiking neural network) to v' i (immediately following the propagation stage of an artificial spiking neural network).

number

[0027] Furthermore, spikes can be generated during propagation in an artificial spiking neural network. For example, the node value v of an artificial neuron j∈{1,2,3,...,N} j is the constant threshold T of the artificial neuron j If the k-th spike of the j-th artificial neuron is greater than or equal to the propagation stage t of the artificial spiking neural network, jk can be generated by the j-th artificial neuron of

[0028] The spikes generated during propagation in an artificial spiking neural network are examples of dynamical system events of a dynamical system. In general, a dynamical system event of a dynamical system may respond to one or more discretization criteria of the dynamical system. j is an example of a discretization criterion for artificial spiking neural networks.

[0029] Propagation stage of artificial spiking neural networks jk In , when the jth artificial neuron generates the kth spike of the jth artificial neuron, the node value v of the jth artificial neuron j is the constant starting node value s of the jth artificial neuron j can be reset to

[0030] The k-th spike of the i-th artificial neuron is recorded by the artificial neuron that generated the spike (e.g., an identifier that identifies the artificial neuron that generated the spike, i∈{1, 2, 3, ..., N}) and the propagation stage t of the artificial spiking neural network when the artificial neuron generated the spike. jk Such an ordered pair can be represented by data (e.g., an ordered pair) that represents both (i, t ik )

[0031] In some embodiments, the input value r j Also, during the propagation of the artificial spiking neural network, r j (of the current propagation stage of an artificial spiking neural network) to r' j (immediately following the propagation stage of an artificial spiking neural network).

number

Number

[0032] Equations 1 - 4 are merely examples, and alternative embodiments may implement other spiking neural networks or other dynamic systems. Such other dynamic systems may generate other dynamic system events, for example, according to one or more discretization criteria.

[0033] In some embodiments, the weights w as described above ij as well as the constants τ s τ m I, T j and s j <may not change as a result of the propagation of the artificial spiking neural network and may change for other reasons, such as to update or change the artificial spiking neural network. Thus, constants as described herein (constants τ as described above s τ m I, T j and s j ​The weights (e.g., weights) are not necessarily values ​​that never change, but instead may be values ​​that do not change as a result of propagation through an artificial spiking neural network, but may nevertheless change for other reasons. In other words, in some embodiments, a plurality of data transmitting weights remain constant during implementation of the data transmitting dynamic system, and a plurality of data receiving weights remain constant during implementation of the data receiving dynamic system.

[0034] The system data store 110 stores the node values ​​v as described above and as values ​​that change during propagation of the data transmission dynamic system implemented by the data transmission device 101. i and input value r j The system data store 110 may store data representing the weights w as described above and as values ​​that may or may not change over time. ij and the constant τ s , τ m , I, T j and s j It is also possible to store data representing

[0035] In some embodiments, the weights w as described above ij may be important for the security of data transmission. Therefore, in some embodiments, the weight w ij The data representing the weights w may be stored in a manner intended to be secure. For example, the weights w in the system data store 110 may be stored in a manner intended to be secure. ij The data representing the weights w in the system data store 110 ij may be encrypted such that data representing the weight w can only be decrypted in response to entry of a correct password using an input device such as input device 108. ij The data representing the weights w may reside in a separate data storage device that is removable from the rest of the data transmitting device 101. In some embodiments, the weights w ij The value of may be encoded into multiple resistors or other circuit elements. In some embodiments, the resistors or other circuit elements are encoded with weights w ijThe processor circuit 103 (or an alternative to the processor circuit 103) determines the weights w ij It is possible to perform the operation by

[0036] The system data store 110 may also store data representing the propagation stage t of the data transmitting dynamic system implemented by the data transmitting device 101. For example, the propagation stage T of the data transmitting dynamic system implemented by the data transmitting device 101 may be incrementally or otherwise updated each time the artificial spiking neural network is propagated according to Equations 3 and 4 above. In other embodiments, the propagation stage t may simply be identified from the clock of the data transmitting device 101.

[0037] Weight w ij and the constant τ s , τ m , I, T j and s j may collectively define a data transmission dynamic system implemented by the data transmission device 101, and the node values ​​v i and input value r j may collectively define the state of the data transmitting dynamic system implemented by the data transmitting device 101. Furthermore, the initial state of the data transmitting dynamic system implemented by the data transmitting device 101 may be defined by the initial node values ​​v i and the initial input value r j However, alternative embodiments may differ.

[0038] The data storage device 106 includes a program code store 111 that stores program code that, when executed by the CPU 104, causes the processor circuitry 103 to perform functions of the data transmission device 101, such as those described herein.

[0039] For example, with reference to Figures 1 and 2, the program code stored in the program code store 111 may include blocks of program code generally indicated at 112 that, when executed by the CPU 104, cause the processor circuitry 103 to propagate the data transmission dynamic system implemented by the data transmission dynamic system 101.

[0040] Block 112 may begin at block 113 with program code that, when executed by CPU 104, causes I / O interface 105 to receive one or more data transmitting device initial state indication signals 114 that indicate an initial state of the data transmitting dynamic system implemented by data transmitting device 101. Further, one or more data transmitting device initial state indication signals 114 may include an initial node value v i and the initial input value r j may also be indicated, but alternative embodiments may differ.

[0041] The one or more data transmitting device initial state indication signals 114 may also indicate other information, such as, for example, a range of propagation stages during which the output of the data transmitting dynamic system implemented by the data transmitting device 101 may be associated with a data transmission as described herein. Generally, a range of propagation stages as described herein may be a range of propagation stages after any initial or transient propagation stages. Such one or more data transmitting device initial state indication signals, when also indicating a range of such propagation stages, may also be considered to be one or more propagation identification signals.

[0042] After block 113, block 112 may continue at block 115, which includes program code that, when executed by CPU 104, causes processor circuit 103 to store data in system data store 110 representing the initial state as indicated in one or more data transmission device initial state indication signals 114.

[0043] The one or more data transmitting device initial state indication signals 114 may be transmitted from the data receiving device 102 or from one or more other devices. In some embodiments, the data receiving device 102 may generate the initial state of the data transmitting dynamic system implemented by the data transmitting device 101 using, for example, a pseudo-random number generator. However, the initial state of the data transmitting dynamic system may be generated in other manners.

[0044] For example, in some embodiments, data transmitting device 101 may generate, e.g., using a pseudo-random number generator, an initial state of the data transmitting dynamic system implemented by data transmitting device 101. Such generation of the initial state of the data transmitting dynamic system implemented by data transmitting device 101 may occur in response to data transmitting device 101 receiving one or more signals.

[0045] Also, in some embodiments, data transmitting device 101 may generate an initial state of the data transmitting dynamic system implemented by data transmitting device 101 in response to a username, password, or both (or, more generally, according to a key, which may be any input and may not necessarily be a username or password), which may be entered by a user of data transmitting device 101 using an input device such as input device 108. In such embodiments, processor circuit 103 may, for example, apply a hash function to the username, password, or both (or, more generally, the key). Such a hash function may generate an integer according to the username, password, or both (or, more generally, according to the key), and such integer may be a seed for a pseudo-random number generator. The pseudo-random number generator, initialized by such a seed, then generates an initial node value v according to such output from the hash function. i and the initial input value r j However, alternative embodiments may differ.

[0046] In summary, data transmitting device 101 may generate an initial state for a data transmitting dynamic system implemented by data transmitting device 101 in response to user input to data transmitting device 101 or in other manners. Therefore, blocks 113 and 115 and one or more data transmitting device initial state indication signals 114 are merely illustrative and alternative embodiments may differ.

[0047] After block 115, or in some other manner, after the initial state of the data transmission dynamic system implemented by the data transmitting device 101, block 112 may continue at block 116, which includes program code that, when executed by CPU 104, causes processor circuit 103 to propagate the data transmission dynamic system implemented by data transmitting device 101 to the immediately following state. For example, the program code of block 116, when executed by CPU 104, may cause CPU 104 to calculate the node value v according to equations 3 and 4 above. i and the input value r j , may cause the CPU 104 to incrementally or otherwise update the propagation stage T of the artificial spiking neural network as stored in the system data store 110 to reflect the propagation of the data transmitting dynamic system implemented by the data transmitting device 101 in block 116.

[0048] After block 116, block 112 may continue at block 117, which includes program code that, when executed by CPU 104, causes CPU 104 to determine whether any spikes were generated in the recent propagation at block 116. For example, the program code at block 117, when executed by CPU 104, may cause CPU 104 to determine whether, for any artificial neuron i, v, as defined above, i and T i Based on vi ≧T i It can be determined whether or not

[0049] After block 117, if no spikes were generated in the most recent propagation in block 116, block 112 may continue at block 116 as previously described.

[0050] However, after block 117, if one or more spikes were generated in the recent propagation in block 116, block 112 may continue at block 118, which includes program code that, when executed by CPU 104, causes CPU 104 to store data representing the one or more spikes in spike store 119 in data storage device 106. For example, as described above, for each of one or more spikes, the program code in block 118, when executed by CPU 104, may cause CPU 104 to store the name of the artificial neuron that generated the spike (e.g., an identifier i identifying the spiking artificial neuron) and the propagation stage t of the artificial spiking neural network when the spike was generated. ik The data representing both the i and t pairs (e.g., as stored in the system data store 110) can be used to represent, for example, an ordered pair (i,t ik ) can be stored in the Spike Store 119.

[0051] After block 118, block 112, when executed by CPU 104, causes CPU 104 to calculate the v of each artificial neuron that generated a spike. i is the constant starting node value s of the i-th artificial neuron as described above. i The process may continue at block 120, which contains program code to reset the

[0052] After block 120, block 112 may continue at block 116 as described above. Block 112 may continue for any propagation range. For example, block 112 may continue for a propagation range identified by one or more data transmitting device initialization indication signals 114 as described above. As another example, block 112 may continue for a propagation range identified by program code stored in program code store 111.

[0053] In summary, block 112, when executed by CPU 104, causes processor circuit 103 to propagate the data transmission dynamic system implemented by data transmitting device 101 according to the data in system data store 110 by updating the data in system data store 110 and spike store 119 to reflect the propagation of the data transmission dynamic system implemented by data transmitting device 101, and the data in spike store 119 represents some or all of the spikes generated by the data transmission dynamic system implemented by data transmitting device 101.

[0054] The data in spike store 119 does not necessarily represent all of the spikes generated by the data transmission dynamic system implemented by data transmission device 101. Rather, in some embodiments, the data in spike store 119 may represent only spikes recently generated by the data transmission dynamic system implemented by data transmission device 101, up to a maximum number of spikes, or the data in spike store 119 may represent only spikes generated by the data transmission dynamic system implemented by data transmission device 101 within a particular propagation stage range. Such propagation stage ranges may be identified, for example, by one or more data transmission device initial state indication signals 114 or by program code stored in program code store 111.

[0055] Spike Changes The program code store 111 may also contain other blocks of program code.

[0056] For example, referring back to Figure 1, the program code stored in program code store 111 may include blocks of program code that, when executed by CPU 104, cause processor circuit 103 to encode or encrypt data stored in data store 121 in data storage device 106 and transmit the encoded or encrypted data. Generally, the program code stored in program code store 111, when executed by CPU 104, causes processor circuit 103 to encode or encrypt data stored in data store 121 by modifying spikes represented by data stored in spike store 119 according to the data stored in data store 121, and store data representing the modified spikes in modified spike store 122 of data storage device 106.

[0057] Modified spike store 122 is similar to spike store 119, except that the spikes represented by the data stored in modified spike store 122 have been modified according to the data stored in data store 121. Modified spike store 122 stores the artificial neuron that generated the spike (e.g., an identifier i that identifies the artificial neuron that spiked) and the propagation stage t of the artificial spiking neural network at the time the spike was generated. ik data representing both (e.g., an ordered pair (i,t)) (e.g., as stored in the system data store 110) ik ) etc.) can be stored.

[0058] Embodiments such as those described herein do not necessarily involve altering all spikes generated by the data transmission dynamic system implemented by the data transmitting device 101. Rather, in some embodiments, only spikes most recently generated by the data transmission dynamic system implemented by the data transmitting device 101, up to a maximum number of spikes, may be altered, or only spikes generated by the data transmission dynamic system implemented by the data transmitting device 101 within a particular propagation stage range may be altered. Again, such propagation stage ranges may be identified, for example, by one or more data transmitting device initial state indication signals 114 or by program code stored in the program code store 111.

[0059] Spike Elimination Method For example, in some embodiments, modifying the spikes may involve a spike cancellation method that iterates through bits of data stored in data store 121 and iterates through some or all of the spikes stored in spike store 119; and 1. For each bit that is 1, storing in the modified spike store 122 the spike represented by the data stored in the spike store 119; and For each bit that is 2.0, the change involves not storing in spike store 122 the spike (or dynamic system event that is omitted) represented by the data stored in spike store 119.

[0060] 1 and 3, blocks of program code that may be stored in program code store 111 for modifying spikes according to such a spike cancellation method are shown generally at 123 and may begin at block 124 with program code that, when executed by CPU 104, causes CPU 104 to retrieve a first spike represented by data stored in spike store 119 and a first data bit from data store 121. Such a first spike is not necessarily the first spike in spike store 119, and such a first bit is not necessarily the first data bit from data store 121. Rather, the first spike and first bit in block 124 simply represent an arbitrary beginning of an iterative process of the spike cancellation method.

[0061] After block 124, block 123 may continue with block 125, which includes program code that, when executed by CPU 104, causes CPU 104 to determine whether the bit retrieved in block 124 is one.

[0062] After block 125, if the bit retrieved in block 124 is not 1 in block 125, block 123 may continue at block 126 (without storing data representing the spike most recently retrieved in block 124 or 126 in modified spike store 122) which includes program code that, when executed by CPU 104, causes CPU 104 to retrieve the next spike represented by data stored in spike store 119 and the next data bit from data store 121. Such next bit in block 126 is the next spike represented by data stored in spike store 119 after the most recent spike in block 124 or 126 in the iteration process of the spike cancellation method, and such next data bit is the next data bit from data store 121 after the most recent spike in block 124 or 126 in the iteration process of the spike cancellation method. Such next spikes are not necessarily contiguous in spike store 119, and such next data bits are not necessarily contiguous in data store 121.

[0063] After block 126, block 123 may continue at block 125 as described above, except that when block 125 follows block 126, the program code in block 125, when executed by CPU 104, causes CPU 104 to determine whether the bit retrieved in block 126 (instead of the bit retrieved in block 124) is 1.

[0064] After block 125, if the bit most recently retrieved in block 124 or 126 is 1 in block 125, block 123 may continue at block 127 which includes program code that, when executed by CPU 104, causes CPU 104 to store data representing the spike most recently retrieved in block 124 or 126 in modified spike store 122.

[0065] Figure 4 shows an example of the spike cancellation method of Figure 3. In Figure 4, example spikes represented by data stored in spike store 119 are shown generally at 128 and include ordered pairs of artificial neuron identifiers and the propagation stages of each of those artificial neuron's spikes. Also in Figure 4, example data bits from within data store 121 are shown generally at 129, and example spikes represented by data stored in modified spike store 122 are shown generally at 130 and include ordered pairs of artificial neuron identifiers and the propagation stages of each of those artificial neuron's spikes.

[0066] 4, according to the spike elimination method, spikes represented by data stored in modified spike store 122 are modified in accordance with the data stored in data store 121 such that 0's in the data from data store 121 are represented by spikes represented by data stored in spike store 119 that are not represented by the data stored in modified spike store 122, and 1's in the data from data store 121 are represented by spikes represented by data stored in spike store 119 that are represented by the data stored in modified spike store 122. Thus, spikes represented by data stored in modified spike store 122 are modified in accordance with the data from data store 121, encoding and / or encrypting this data.

[0067] However, alternative embodiments may differ. For example, according to different spike cancellation methods, spikes represented by data stored in modified spike store 122 are modified according to the data stored in data store 121 such that a 0 in the data from data store 121 is represented by a spike represented by data stored in spike store 119 that is represented by data stored in modified spike store 122, and a 1 in the data from data store 121 is represented by a spike represented by data stored in spike store 119 that is not represented by data stored in modified spike store 122.

[0068] How to insert spikes As another example, in some embodiments, modifying spikes may involve a spike insertion method, and a spike elimination method may involve iterating through bits of data stored in data store 121 and iterating through some or all of the spikes stored in spike store 119; 1. For each bit that is 1, storing in a modified spike store 122 the spike represented by the data stored in the spike store 119 and additional spikes (or additional dynamic system events); and For each bit that is 2.0, the change involves not storing in spike store 122 the spike (or dynamic system event that is omitted) represented by the data stored in spike store 119.

[0069] 1 and 5, a block of program code that may be stored in program code store 111 for modifying spikes according to such a spike insertion method is shown generally at 131 and may begin at block 132 with program code that, when executed by CPU 104, causes CPU 104 to retrieve a first spike represented by data stored in spike store 119 and a first data bit from data store 121. Such a first spike is not necessarily the first spike in spike store 119, and such a first bit is not necessarily the first data bit from data store 121. Rather, the first spike and first bit in block 132 simply represent an arbitrary beginning of an iterative process of the spike insertion method.

[0070] After block 132, block 131 may continue with block 133, which includes program code that, when executed by CPU 104, causes CPU 104 to determine whether the bit retrieved in block 132 is one.

[0071] After block 133, if the bit retrieved in block 132 is not 1 in block 133, block 131 may continue at block 134 (without storing data representing the most recently retrieved spike in block 132 or 134 into spike store 122) which includes program code that, when executed by CPU 104, causes CPU 104 to retrieve the next spike represented by data stored in spike store 119 and the next data bit from data store 121. Such next bit in block 134 is the next spike represented by data stored in spike store 119 after the most recent spike in block 132 or 134 in the iteration process of the spike insertion method, and such next data bit is the next data bit from data store 121 after the most recent spike in block 132 or 134 in the iteration process of the spike insertion method. Such next spikes are not necessarily contiguous in spike store 119, and such next data bits are not necessarily contiguous in data store 121.

[0072] After block 134, block 131 may continue at block 133 as described above, except that when block 133 follows block 134, the program code in block 133, when executed by CPU 104, causes CPU 104 to determine whether the bit retrieved in block 134 (instead of the bit retrieved in block 132) is 1.

[0073] After block 133, if the bit most recently retrieved in block 132 or 134 is 1 in block 133, block 131 may continue at block 135 which includes program code which, when executed by CPU 104, causes CPU 104 to store in modified spike store 122 data representing the spike most recently retrieved in block 132 or 134 and additional spikes 126. Such additional spikes may be created according to a pseudo-random number generator or may otherwise be created to appear to be spikes represented by data stored in spike store 119, without actually being the spikes represented by the data stored in spike store 119.

[0074] Figure 6 shows an example of the spike injection method of Figure 5. In Figure 6, example spikes represented by data stored in spike store 119 are shown generally at 136 and include ordered pairs of artificial neuron identifiers and the propagation stages of each of those artificial neuron's spikes. Also in Figure 6, example data bits from within data store 121 are shown generally at 137, and example spikes represented by data stored in modified spike store 122 are shown generally at 138 and include ordered pairs of artificial neuron identifiers and the propagation stages of each of those artificial neuron's spikes.

[0075] In the example of Figure 6, the spikes represented by the data stored in modified spike store 122 include additional spikes (i.e., (3084, 46), (2907, 79), (3687, 98), (977, 147), and (4803, 195)) that are not each represented by the data stored in spike store 119 and are inserted to represent ones in the data stored in data store 121.

[0076] 6, according to the spike insertion method, spikes represented by data stored in modified spike store 122 are modified in accordance with the data stored in data store 121 such that 0's in the data from data store 121 are represented by spikes represented by data stored in spike store 119 that are not represented by data stored in modified spike store 122, and 1's in the data from data store 121 are represented by spikes represented by data stored in modified spike store 122 that are not represented by data stored in spike store 119. Thus, spikes represented by data stored in modified spike store 122 are modified in accordance with the data from data store 121, encoding and / or encrypting this data.

[0077] However, alternative embodiments may differ. For example, according to a different spike insertion method, spikes represented by data stored in modified spike store 122 are modified according to the data stored in data store 121 such that a 0 in the data from data store 121 is represented by a spike represented by data stored in modified spike store 122 that is not represented by data stored in spike store 119, and a 1 in the data from data store 121 is represented by a spike represented by data stored in spike store 119 that is not represented by data stored in modified spike store 122.

[0078] Basis Function Method As another example, in some embodiments, modifying the spikes may involve a basis function propagation shift method.

[0079] In general, the basis functions may be elements of a function space, and the basis functions may have respective amplitudes, such that the basis functions are aggregated according to their respective amplitudes to represent data from the data store 121.

[0080] 1 and 7, a block of program code that may be stored in program code store 111 for modifying spikes according to such a basis function propagation shift method is shown generally at 139 and may begin at block 140 containing program code that, when executed by CPU 104, causes CPU 104 to identify basis functions for data from data store 121.

[0081] After block 140, block 139 may continue at block 141, which includes program code that, when executed by CPU 104, causes CPU 104 to identify the amplitudes of each of the basis functions of the data from data store 121.

[0082] After block 141, block 139 may continue with block 142, which includes program code that, when executed by CPU 104, causes CPU 104 to associate a basis function with each artificial neuron of an artificial neural network, for example, as described above.

[0083] After block 142, block 139 may continue at block 143 which includes program code that, when executed by CPU 104, causes CPU 104 to store in modified spike store 122, for each spike represented by the data stored in spike store 119, data representing the spike but with the propagation stage shifted according to the amplitude of the basis function associated with the artificial neuron that generated the spike (hence, a shifted dynamic system event).

[0084] Figure 8 shows an example of the basis function propagation shift method of Figure 7. In Figure 8, example spikes represented by data stored in spike store 119 are shown generally at 144 and include ordered pairs of artificial neuron identifiers and the propagation stages of the spikes of those artificial neurons. Also in Figure 8, example data bits from within data store 121 are shown generally at 145, and example spikes represented by data stored in modified spike store 122 are shown generally at 146 and include ordered pairs of artificial neuron identifiers and the propagation stages of the spikes of those artificial neurons. In the example of Figure 8, the spikes represented by data stored in modified spike store 122 are shifted in propagation stages from the spikes represented by data stored in spike store 119 according to the amplitude of the basis function associated with the artificial neuron that generated the spike. Thus, spikes represented by data stored in modified spike store 122 are modified according to data from data store 121, encoding and / or encrypting this data.

[0085] However, alternative embodiments may differ. For example, according to a basis function neuron shifting method, spikes represented by data stored in modified spike store 122 may be shifted (instead of being shifted in the propagation phase) to other artificial neurons (and thus may be shifted dynamic system events) from spikes represented by data stored in spike store 119 according to the amplitude of the basis function associated with the artificial neuron that generated the spike. Figure 9 shows an example of the basis function neuron shifting method. In the example of Figure 9, spikes represented by data stored in modified spike store 122 are shifted (instead of being shifted in the propagation phase) to other artificial neurons from spikes represented by data stored in spike store 119 according to the amplitude of the basis function associated with the artificial neuron that generated the spike.

[0086] Also, in the illustrated embodiment, basis functions with no amplitude are represented by spikes from the artificial neuron associated with the basis function with a shift of zero. However, in alternative embodiments, basis functions with no amplitude may be represented by omitting spikes from the artificial neuron associated with the basis function from the modified spikes.

[0087] Other shift methods As another example, in some embodiments, modifying a spike may involve shifting some or all of the spikes represented by the data stored in spike store 119 in other ways. For example, with reference to FIGS. 1 and 10, a block of program code that may be stored in program code store 111 for modifying spikes according to a multi-bit propagation shift method is shown generally at 147 and may begin at block 148 with program code that, when executed by CPU 104, causes CPU 104 to retrieve a first spike represented by data stored in spike store 119 and the first n data bits from data store 121. Such first spike is not necessarily the first spike in spike store 119, and such n bits are not necessarily the first n data bits from data store 121. Rather, the first spike and first n bits in block 148 simply represent an arbitrary beginning of an iterative process of the multi-bit propagation shift method.

[0088] In the illustrated embodiment, n is four, but in alternative embodiments, n may be greater or less, or even one.

[0089] After block 148, block 147 may continue with block 149, which includes program code that, when executed by CPU 104, causes CPU 104 to determine a shift amount according to the bits retrieved in block 148. The shift amount may simply be the binary value of the bits retrieved in block 148. For example, a shift amount from four bits 0010 may be 2, and a shift amount from four bits 0110 may be 6.

[0090] After block 149, block 147 may continue at block 150 which contains program code which, when executed by CPU 104, causes CPU 104 to store in modified spike store 122 data representing the spike retrieved in block 148 but with the propagation stage shifted according to the shift determined in block 149.

[0091] After block 150, block 147 may continue at block 151, which includes program code that, when executed by CPU 104, causes CPU 104 to retrieve the next spike represented by data stored in spike store 119 and the next n data bits from the data store. Such next spike in block 151 is the next spike represented by data stored in spike store 119 after the most recent spike in block 148 or 151 in the iteration process of the multi-bit propagation shift method, and such next n data bits are the next n data bits from data store 121 after the most recent spike in block 148 or 151 in the iteration process of the multi-bit propagation shift method. Such next spikes are not necessarily contiguous within spike store 119, and such next data bits are not necessarily contiguous within data store 121.

[0092] After block 151, block 147 may continue at block 149 as described above, except that when block 149 follows block 151, the program code in block 149, when executed by CPU 104, causes CPU 104 to determine the shift amount according to the bit retrieved in block 151 (instead of the bit retrieved in block 148), and when block 150 follows block 151, the program code in block 150, when executed by CPU 104, causes CPU 104 to store in modified spike store 122 data representing the spike retrieved in block 151 (instead of the spike retrieved in block 148) but with the propagation stage shifted according to the shift determined in block 149.

[0093] FIG. 11 illustrates an example of the bit propagation shift method of FIG. 10. In FIG. 10, example spikes represented by data stored in spike store 119 are generally indicated at 152 and include ordered pairs of artificial neuron identifiers and the propagation stages of the spikes of those artificial neurons. Also in FIG. 11, example data bits from within data store 121 are generally indicated at 153, and example shift amounts by those bits are generally indicated at 154. Also in FIG. 11, example spikes represented by data stored in modified spike store 122 are generally indicated at 155 and include ordered pairs of artificial neuron identifiers and the propagation stages of the spikes of those artificial neurons. In the example of FIG. 11, spikes represented by data stored in modified spike store 122 are shifted in propagation stages from spikes represented by data stored in spike store 119 according to respective sets of four data bits stored in modified spike store 122. Thus, spikes represented by data stored in modified spike store 122 are modified according to data from data store 121, encoding and / or encrypting this data.

[0094] However, alternative embodiments may differ. For example, according to a multi-bit neuron shifting method, spikes represented by data stored in modified spike store 122 may be shifted (instead of being shifted in the propagation stage) to other artificial neurons from spikes represented by data stored in spike store 119 according to respective sets of data bits stored in modified spike store 122. Figure 12 shows an example of a multi-bit neuron shifting method. In the example of Figure 12, spikes represented by data stored in modified spike store 122 are shifted (instead of being shifted in the propagation stage) to other artificial neurons from spikes represented by data stored in spike store 119 according to respective sets of data bits stored in modified spike store 122.

[0095] More generally, the examples of Figures 3-12 are examples only, and alternative embodiments may vary. In general, an embodiment according to the examples or alternatives of Figures 3-12 may involve modifying the output of a dynamic system by modifying it with data to encode the data, encrypt the data, or both.

[0096] Data receiving device Referring back to FIG. 1 , the data receiving device 102 is a computing device, and in various embodiments may include one or more other devices, including a user computing device, a server computing device, a personal computer, a laptop computer, a tablet computer, a smartphone, a smart watch, a network node of a computer network, a router of a computer network, a mobile device, a telephone, a camera, or one or more other computing devices as described herein, or a combination of two or more thereof.

[0097] The data receiving device 102 includes processor circuitry, generally indicated at 156, including a CPU 157. However, alternative embodiments may include one or more alternatives to the CPU 157, such as, for example, one or more microprocessors, one or more analog circuits, one or more configurable logic blocks, one or more ASICs, or one or more FPGAs.

[0098] Processor circuitry 156 also includes an I / O interface 158 and a data storage device 159 that communicate with CPU 157. I / O interface 158 may include, for example, various signal interfaces, ADCs, receivers, transmitters, and / or other circuitry for receiving, generating, and transmitting signals as described herein. In the illustrated embodiment, I / O interface 158 is operable to transmit signals to and receive signals from computer network 107. However, as noted above, alternative embodiments may differ and may, for example, transmit signals using wireless signals.

[0099] Data storage device 159 may include one or more of the same or different computer-readable and / or computer-writable data storage media, which in various embodiments may include one or more of ROM, RAM, HDD, SSD, and other computer-readable and / or computer-writable data storage media.

[0100] The processor circuit 156 is illustrative only, and alternative embodiments may differ. For example, alternative embodiments may include more, fewer, or different components. Also, in alternative embodiments, the components described herein may be combined or separated into separate components. Alternative embodiments may include one or more alternatives to the components described herein. Furthermore, alternatives to the data receiving device 102 may include multiple devices that collectively function as a data receiving device.

[0101] The data storage device 159 includes a system data store 160 that stores data defining the data receiving dynamic system implemented by the data receiving device 102 and data indicative of the state of the data receiving dynamic system implemented by the data receiving device 102. The data receiving dynamic system implemented by the illustrated data receiving device 102 is a spiking neural network as described above, and the system data store 160 may store data such as that described above with respect to the system data store 110, although alternative embodiments may differ.

[0102] The data storage device 159 also includes a program code store 161 that stores program code that, when executed by the CPU 157, causes the processor circuitry 156 to perform functions of the data receiving device 102, such as those described herein.

[0103] For example, the program code stored in the program code store 161 may include blocks of program code similar to block 112 that, when executed by the CPU 157, cause the processor circuit 156 to propagate the data reception dynamic system implemented by the data receiving device 102. Like block 112, the program code stored in the program code store 161, when executed by the CPU 157, cause the processor circuit 156 to propagate the data reception dynamic system implemented by the data receiving device 102 according to the data in the system data store 160 by updating the data in the system data store 160 and by updating the data in the spike store 162 (similar to the spike store 119 of the data sending device 101) to reflect the propagation of the data reception dynamic system implemented by the data receiving device 102.

[0104] Similar to the data transmission dynamic system implemented by the data transmitting device 101, the data in spike store 162 does not necessarily represent all of the spikes generated by the data reception dynamic system implemented by the data receiving device 102. Rather, in some embodiments, the data in spike store 162 may represent only spikes recently generated by the data reception dynamic system implemented by the data receiving device 102, up to a maximum number of spikes, or the data in spike store 162 may represent only spikes generated by the data reception dynamic system implemented by the data receiving device 102 within a particular propagation phase range.

[0105] Synchronization of Dynamic Systems As a result, the system data store 110 of the data sending device 101 and the system data store 160 of the data receiving device 102 are 1. Both have the same weight w ij and the constant τ s , τ m , I, T j and s jand 2. Both have the same initial state (e.g., the same initial node value v i and the same initial input value r j ) and 3. Both are propagated in the same propagation stage, At this time, the spike represented by the data stored in the spike store 119 of the data transmitting device 101 will be the same as the spike represented by the data stored in the spike store 162 of the data receiving device 102.

[0106] In some embodiments, the data transmitting dynamic system implemented by the data transmitting device 101 and the data receiving dynamic system implemented by the data receiving device 102 can be considered synchronized when the spikes represented by the data stored in the spike store 119 of the data transmitting device 101 are the same as the spikes represented by the data stored in the spike store 162 of the data receiving device 102.

[0107] Thus, in some embodiments, synchronizing the data transmission dynamic system implemented by the data transmitting device 101 and the data reception dynamic system implemented by the data receiving device 102 involves synchronizing both the system data store 110 of the data transmitting device 101 and the system data store 160 of the data receiving device 102: 1. The same weight w ij and the constant τ s , τ m , I, T j and s j and 2. The same initial state (e.g., the same initial node value v i and the same initial input value r j ) and 3. It may involve making them propagate to the same propagation stage.

[0108] However, in some embodiments, the system data store 110 of the data sending device 101 and the system data store 160 of the data receiving device 102 may both be initialized to only a portion of the initial state (e.g., the same initial node value v i and the same input value r j In such an embodiment, the data transmitting dynamic system implemented by the data transmitting device 101 and the data receiving dynamic system implemented by the data receiving device 102 may nevertheless converge and synchronize after sufficient propagation.

[0109] In some embodiments, the one or more data transmitting device initial state indication signals 114 can facilitate causing the system data store 110 of the data transmitting device 101 and the system data store 160 of the data receiving device 102 to both be initialized to some or all of the same initial state. Thus, in some embodiments, the one or more data transmitting device initial state indication signals 114 can cause the data transmitting dynamic system implemented by the data transmitting device 101 and the data receiving dynamic system implemented by the data receiving device 102 to be synchronized.

[0110] In some embodiments, synchronization of the data transmitting dynamic system implemented by the data transmitting device 101 and the data receiving dynamic system implemented by the data receiving device 102 may involve the Fast Identity Online (FIDO) protocol.

[0111] Identifying spike differences The processor circuit 103 can cause the I / O interface 105 (and thus the data transmitting device 101) to transmit one or more data transmit signals 163 to the I / O interface 158 (and thus to the data receiving device 102) that include transmit data representing some or all of the spikes represented by the data stored in the modified spike store 122. The spikes represented by the data stored in the modified spike store 122 represent data from the data store 121, and therefore the one or more data transmit signals 163 also represent data from the data store 121.

[0112] As indicated above, in some embodiments, the data transmitting device 101 can generate an initial state of the data transmitting dynamic system implemented by the data transmitting device 101. In such embodiments, the one or more data transmitting signals 163 can also encode the initial state of the data transmitting dynamic system implemented by the data transmitting device 101, such that the one or more data transmitting signals 163 can encode a key-response pair. In such embodiments, in response to receiving the one or more data transmitting signals 163, the processor circuit 156 can cause the data in the system data store 160 encoded in the one or more data transmitting signals 163 to reflect the initial state as received from the one or more data transmitting signals 163, and the one or more data transmitting signals 163 can be considered to be one or more data receiving device initial state indicating signals that indicate, at least, the initial state of the data receiving dynamic system implemented by the data receiving device 102. However, in other embodiments, one or more other data receiving device initial state indicating signals may indicate at least the initial state of the data receiving dynamic system implemented by the data receiving device 102 .

[0113] In embodiments where the data transmitting device 101 generates the initial state of the data transmitting dynamic system implemented by the data transmitting device 101, the transmission of the key-response pair may be intercepted and retransmitted. Thus, in such embodiments, the data receiving device 102 can ensure that the key-response pair has not been previously transmitted.

[0114] As also indicated above, in some embodiments, the output of the data transmission dynamic system implemented by data transmission device 101 may be from a certain propagation stage range of the data transmission dynamic system implemented by data transmission device 101. In some embodiments, one or more data transmission signals 163 may also encode such a propagation stage range. In such embodiments, one or more data transmission signals 163 may be considered to be one or more propagation identification signals.

[0115] In response to receiving one or more data transmission signals 163, processor circuit 156 can store data representing spikes represented by the transmitted data of one or more data transmission signals 163 in modified spike store 164 of data storage device 159, and processor circuit 156 can cause data receiving device 102 to identify data from data store 121 by identifying a difference between the spike represented by the data stored in spike store 162 and the spike represented by the data stored in modified spike store 164 (which is the spike represented by the data in modified spike store 122, which is the spike represented by the transmitted data in one or more data transmission signals 163).

[0116] For example, if the spikes represented by the data in modified spike store 122 (and therefore the spikes represented by the data in modified spike store 164) had been modified according to the spike elimination method of FIG. 4, the differences between the spikes represented by the data stored in spike store 162 and the spikes represented by the data stored in modified spike store 164 may be identified according to blocks of program code, shown generally at 165, which may be stored in program code store 161.

[0117] 13, block 165 may begin at block 166 with program code that, when executed by CPU 157, causes CPU 157 to retrieve the first spike represented by data stored in spike store 162. Such first spike is not necessarily the first spike in spike store 162, but rather the first spike in the iterative process of the spike elimination method.

[0118] After block 166, block 165 may continue at block 167 which includes program code that, when executed by CPU 157, causes CPU 157 to determine whether the spike retrieved in block 166 is one of the spikes represented by data stored in modified spike store 164.

[0119] After block 167, if the spike retrieved in block 166 was one of the spikes represented by the data stored in modified spike spike store 164 in block 167, block 165 may continue at block 168 which includes program code that, when executed by CPU 157, causes CPU 157 to store a 1 in data store 169 in data storage device 159.

[0120] However, after block 167, if the spike retrieved in block 166 was not one of the spikes represented by the data stored in modified spike spike store 164 in block 167, block 165 may continue at block 170 which includes program code that, when executed by CPU 157, causes CPU 157 to store a zero in data store 169 in data storage device 159.

[0121] After block 168 or after block 170, block 165 may continue at block 171, which includes program code that, when executed by CPU 157, causes CPU 157 to retrieve the next spike represented by data stored in spike store 162. Such next spike in block 171 is the next spike represented by data stored in spike store 162 after the most recent spike in blocks 166 or 171 of the spike elimination method. Such next spikes are not necessarily contiguous in spike store 162.

[0122] After block 171, block 165 may continue at block 167 as described above, except that when block 167 follows block 171, the program code in block 167, when executed by CPU 157, causes CPU 157 to determine whether the bit retrieved in block 171 (instead of the bit retrieved in block 166) is one of the spikes represented by the data stored in modified spike spike store 164.

[0123] FIG. 14 shows an example of identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike spike store 164 by the method of FIG. 13 when the spikes represented by data in modified spike store 122 (and therefore the spikes represented by data in modified spike spike store 164) have been modified according to the spike elimination method of FIG. 4.

[0124] 14, an example of a spike represented by data stored in spike store 162 is shown generally at 172 and includes an ordered pair of artificial neuron identifiers and the respective propagation stages of spikes of those artificial neurons. In the illustrated embodiment, the data receiving dynamic system implemented by data receiving device 102 is synchronized with the data transmitting dynamic system implemented by data transmitting device 101, so that the data stored in spike store 162 (as shown at 172) represents the same spike as the data stored in spike store 119 (as shown at 128).

[0125] Also in Figure 14, example spikes represented by data stored in modified spike store 164 are shown generally at 173, and include ordered pairs of artificial neuron identifiers and the respective propagation stages of spikes of those artificial neurons. Also in Figure 14, example bits identified and stored in data store 169 by identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike store 164 according to the method of Figure 13 are shown generally at 174.

[0126] FIG. 15 is similar to FIG. 14 but shows an example of identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike spike store 164 when the spikes represented by data in modified spike store 122 (and therefore the spikes represented by data in modified spike spike store 164) have been modified according to the spike insertion method of FIG. 5.

[0127] FIG. 16 shows an example of identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike spike store 164 when the spikes represented by data in modified spike store 122 (and therefore the spikes represented by data in modified spike spike store 164) have been modified according to the basis function propagation shift method of FIG. 7.

[0128] In Figure 16, example spikes represented by data stored in spike store 162 are shown generally at 175 and include ordered pairs of artificial neuron identifiers and the respective propagation stages of the spikes of those artificial neurons. Also in Figure 16, example spikes represented by data stored in modified spike store 164 are shown generally at 176 and include ordered pairs of artificial neuron identifiers and the respective propagation stages of the spikes of those artificial neurons. Also in Figure 16, example amplitudes of basis functions identified by identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike store 164 and stored in data store 169 are shown generally at 177.

[0129] FIG. 17 shows an example of identifying the difference between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike spike store 164 when the spikes represented by data in modified spike store 122 (and therefore the spikes represented by data in modified spike spike store 164) have been modified according to the multi-bit neuron shift method of FIG. 12.

[0130] In Figure 17, example spikes represented by data stored in spike store 162 are shown generally at 178 and include ordered pairs of artificial neuron identifiers and the respective propagation stages of the spikes of those artificial neurons. Also in Figure 17, example spikes represented by data stored in modified spike store 164 are shown generally at 179 and include ordered pairs of artificial neuron identifiers and the respective propagation stages of the spikes of those artificial neurons. Also in Figure 17, example shift amplitudes identified by identifying differences between spikes represented by data stored in spike store 162 and spikes represented by data stored in modified spike store 164 are shown generally at 180. Also in Figure 17, example bits identified from the identified shifts and stored in data store 169 are shown generally at 181.

[0131] Communication data 1-17, data from data store 121 of data transmitting device 101 may be transmitted to data store 169 of data receiving device 102. Such data may be considered communications data. In various embodiments, such communications data may include one or more documents, audio data, video data, other data, or a combination of two or more thereof. In some embodiments, data such as audio data or video data may be communicated in real time as described herein to, for example, enable secure discussions by audio, video, or both.

[0132] 1-17, however, transmission of such communication data between data transmitting device 101 and data receiving device 102 involves transmission of one or more data transmissions 163 including transmission data representing some or all of the spikes represented by the data stored in modified spike store 122. If another party intercepts one or more data transmissions 163, and if the other party does not have any information about the data transmission dynamic system implemented by data transmitting device 101 (such as information from system data store 110) or the data reception dynamic system implemented by data receiving device 102 (such as information from system data store 160), then the one or more data transmissions 163 may, at best, indicate only the spikes represented by the data stored in modified spike store 122, and it may be very difficult or impossible for the other party to determine the communication data transmitted from data store 121 to data store 169. Therefore, the spike changes in the examples of Figures 3 to 12 are examples of encryption (or more generally encoding) of data from the data store 121 of the data transmitting device 101, and the examples of Figures 13 to 17 are examples of decryption (or more generally decoding) of data from the data store 121 of the data transmitting device 101 by the data receiving device 102.

[0133] In some embodiments, the data stored in system data store 110 can be altered to create a different data transmission dynamic system, and the spikes represented by the data stored in modified spike store 122 can be replaced with spikes altered according to the different data transmission dynamic system. As a result, altering the data stored in system data store 110 can prevent data receiving device 102 from further decoding or decrypting data from data store 121 that has not had a corresponding alteration made to the data in system data store 160.

[0134] Example System 100 and Some Alternative Embodiments The implementation of the system 100 may vary, and alternative implementations may differ.

[0135] For example, while system 100 as described above includes one-way communication from data transmitting device 101 to data receiving device 102, alternative embodiments may differ. For example, some embodiments may include two or more devices, each of which may function as a data transmitting device, a data receiving device, or both, as described above, to enable two-way communication, communication between two or more devices, or both. For example, system 100 may facilitate encryption within a virtual private network (VPN).

[0136] Also, in some embodiments, the data transmitting device 101 and the data receiving device 102 may communicate for short periods of time, intermittently, or constantly to communicate such communication data. To do so, the data transmitting device 101 and the data receiving device 102 may propagate their respective dynamic systems intermittently, constantly, or in any other manner as may be needed to generate sufficient spikes for whatever communication may be desired.

[0137] In some embodiments, the data receiving device 102 may be a medical device (such as a pacemaker or insulin pump), and the data transmitting device 101 may transmit communication data for controlling the medical device. Such a medical device may also function as a data transmitting device as described herein.

[0138] Also, in some embodiments, the data receiving device 102 may be a drone, an autonomous vehicle, another vehicle, an Internet of Things (IoT) device, or another device, and the data transmitting device 101 may transmit communication data for controlling such a vehicle or device. Such a vehicle or device may also function as a data transmitting device as described herein.

[0139] Also, in some embodiments, the data transmitting device 101 may include or be in communication with one or more sensors, and the communication data as described above may indicate measurements of the one or more sensors.

[0140] Additionally, in some embodiments, the data receiving device 102 may generate an output signal 182 that may include some or all of the communication data or may otherwise respond to some or all of the communication data, for example, to control a medical device, a drone, an autonomous vehicle, another vehicle, or another device, as described above.

[0141] Other embodiments of system 100 may differ. In general, an embodiment or alternative embodiment of system 100 may modify the output of a data transmitting dynamic system with modifications due to the communication data to encode the communication data, to encrypt the communication data, or both, and an embodiment of system 100 may compare the modified output of the data transmitting dynamic system (received as the transmitted data) with the output of a data receiving dynamic system synchronized with the data transmitting dynamic system to decode, decrypt, or both decode and decrypt the communication data.

[0142] Sending and receiving within the device The examples of Figures 1-17 are examples only, and alternative embodiments may differ. For example, in the examples of Figures 1-17, data transmitting device 101 and data receiving device 102 are shown as physically separate devices.

[0143] 18 , a data transmission system according to another embodiment is shown generally at 183 and includes a computing device 184. Computing device 184 may, in various embodiments, include one or more other devices, including a user computing device, a server computing device, a personal computer, a laptop computer, a tablet computer, a smartphone, a smart watch, or one or more other computing devices as described herein, or a combination of two or more thereof.

[0144] Computing device 184 is generally indicated at 185 and includes processor circuitry including CPU 186. However, alternative embodiments may include one or more alternatives to CPU 186, such as, for example, one or more microprocessors, one or more analog circuits, one or more configurable logic blocks, one or more ASICs, or one or more FPGAs. Processor circuitry 185 also includes I / O interface 187 and data storage device 188, both of which communicate with CPU 186.

[0145] I / O interface 187 may be similar to I / O interface 105 and may be operable to send signals to and receive signals from computer network 189. I / O interface 187 may also be operable to receive signals from one or more input devices, such as input device 190, and to send signals to one or more output devices, such as output device 191.

[0146] The processor circuitry 185 is illustrative only, and alternative embodiments may differ. For example, alternative embodiments may include more, fewer, or different components. Also, in alternative embodiments, the components described herein may be combined or separated into separate components. Alternative embodiments may include one or more alternatives to the components described herein.

[0147] Data storage device 188 may be similar to data storage device 106 and may include modified spike store 192, which may be similar to modified spike store 164. Modified spike store 192 may store data representing spikes that have been modified according to a method such as one of the methods of Figures 3-12, such that modified spike store 192 may store encoded or encrypted data.

[0148] Data storage device 188 may be similar to system data store 160 and may also include system data store 193 capable of storing data defining a data reception dynamic system implemented by CPU 186 and data indicating the state of the data defining the data reception dynamic system implemented by CPU 186.

[0149] Data storage device 188 may also include program code store 194, which may be similar to program code store 161. The program code stored in program code store 194 may include blocks of program code that, when executed by CPU 186, cause processor circuit 156 to propagate a data receiving dynamic system implemented by CPU 186 according to data stored in system data store 193, and to decode or interpret data stored as change spikes in change spike store 192 according to a method such as one of the methods of Figures 13-17.

[0150] As a result, data storage device 188 may be a data transmitting device, and CPU 186 may be a data receiving device. Generally, the data transmitting device and the data receiving device may be within a single device, such as computing device 184. In this embodiment, the data encrypted as a change spike in change spike store 192 is stored in computing device 184 as coded or encrypted data and is only in decoded or decrypted form when temporarily accessed as described above. As a result, obtaining the decrypted data may be more difficult.

[0151] System 183 also includes computing device 195, which in various embodiments may include one or more other devices, including a user computing device, a server computing device, a personal computer, a laptop computer, a tablet computer, a smartphone, a smart watch, or one or more other computing devices as described herein, or a combination of two or more thereof. Computing device 195 may also communicate with computer network 189 and may transmit state change signal 196 to computing device 184. Computing device 184 may be programmed such that, in response to receiving state change signal 196, processor circuitry 156 changes data stored in system data store 193 such that CPU 186 is no longer able to decode or interpret data stored as change spikes in change spike store 192.

[0152] As a result, in some embodiments, computing device 184 may be able to decode or decrypt the data in modified spike store 192 until computing device 184 receives state change signal 196, and thus computing device 195 may be able to control whether computing device 184 is able to decode or decrypt the data in modified spike store 192.

[0153] In some embodiments, program code stored in program code store 194 can generate the modification spikes represented by data stored in modification spike store 192. For example, as described above with respect to the embodiment of FIG. 1, system data store 193 can store the constant weights w as described above. ij , but the processor circuitry 185 may store the initial node value v according to at least a username, password, or both as entered by a user of the computing device 184 (or more generally according to a key). i and the initial input value r j In such an embodiment, the processor circuitry 185 may, for example, apply a hash function to the username, password, or both (or more generally to the key) and determine an initial node value v according to the output of the hash function. i and the initial input value r j can be generated.

[0154] For example, such a hash function may generate an integer according to the password (or, more generally, according to a key) as input and received in block 198, and such integer may be a seed for a pseudorandom number generator. The pseudorandom number generator, initialized with such a seed, then generates the initial node value v i and the initial input value r j However, alternative embodiments may differ.

[0155] In such an embodiment, after data representing the change spike is stored in the change spike store 192, the node value v i Some or all of the input value r j Some or all of, or both, of the initial node values ​​v may be deleted from the system data store 193. Subsequently, to decode or decrypt the data in the modified spike store 192, the initial node values ​​v may be deleted as needed to simulate the same dynamic system that was used to generate the spikes represented by the data stored in the modified spike store 192. i and input value r j As a result, data may be encrypted using the username, password, username and password, or other key and stored on computing device 184, and the same username, password, username and password, or other key may be required to decrypt the data.

[0156] User Authentication 1-18, communication data may be encoded or encrypted for transmission from a data transmitting device to a data receiving device and may be decoded or decrypted by the data receiving device, however, alternative embodiments do not necessarily involve encryption or decryption.

[0157] 1 and 19, a user of data transmission device 101 may enter a password (or, more generally, a key, which may be any input and not necessarily a password) using an input device such as input device 108. Program code stored in program code store 111 may include blocks of program code generally indicated at 197 that, when executed by CPU 104, cause processor circuitry 103 to generate user authentication data in response to the password.

[0158] Block 197 may begin at block 198 which includes program code that, when executed by CPU 104 , causes processor circuit 103 to receive a password from an input device, such as input device 108 .

[0159] After block 198, block 197 may continue at block 199, which includes program code that, when executed by CPU 104, causes processor circuit 103 to modify data in system data store 110 according to at least the password as entered and received in block 198. For example, in some embodiments, system data store 110 may contain a constant weight w as described above. ij , while the program code in block 199, when executed by the CPU 104, causes the processor circuit 103 to store the node value v according to at least the password (or, more generally, according to the key) as entered and received in block 198. i and input value r j Change the following.

[0160] For example, in some embodiments, the program code in block 199, when executed by the CPU 104, causes the processor circuit 103 to apply a hash function to the password (or, more generally, to a key) as input and received in block 198. Such a hash function may generate an integer according to the password (or, more generally, to a key) as input and received in block 198, and such integer may be a seed for a pseudo-random number generator. The pseudo-random number generator, initialized with such a seed, then generates an initial node value v i and the initial input value r j However, alternative embodiments may differ.

[0161] After block 199, block 197 may continue at block 200, which includes program code that, when executed by CPU 104, causes processor circuit 103 to propagate a dynamic system (in this example, a data transmission dynamic system implemented by data transmission device 101 as described above, although alternative embodiments may differ) according to the data in system data store 110 as modified in block 199. For example, in some embodiments, the program code in block 200, when executed by CPU 104, may cause processor circuit 103 to generate spikes within a particular propagation stage range and store data representing some or all such spikes in spike store 119.

[0162] After block 200, block 197 may continue at block 201, which includes program code that, when executed by CPU 104, causes processor circuit 103 to transmit at least some outputs of the data transmission dynamic system implemented by data transmitting device 101 from spike store 119 to data receiving device 102. For example, the program code in block 201, when executed by CPU 104, may cause processor circuit 103 to transmit one or more data transmission signals (which may be similar to one or more data transmission signals 163, for example). The one or more data transmission signals may include transmission data including at least some outputs of the data transmission dynamic system implemented by data transmitting device 101 from spike store 119 and may be transmitted to data receiving device 102 using computer network 107.

[0163] 1, 19, and 20, the program code stored in the program code store 161 may include a block of program code generally indicated at 202 that, when executed by the CPU 157, causes the processor circuitry 156 to authenticate a user in response to user authentication data (or transmission data) transmitted in block 201.

[0164] Block 202 may begin at block 203 which includes program code that, when executed by CPU 157 , causes processor circuit 156 to receive the user authentication data (or transmission data) transmitted in block 201 .

[0165] After block 203, block 202 may continue at block 204, which includes program code that, when executed by CPU 157, causes processor circuit 156 to compare the user authentication data received in block 203 with user authentication data stored in user data store 205 within data storage device 159. For example, user data store 205 may store the user authentication data as transmitted in block 201 in response to receiving a correct password in block 198. Such user authentication data in user data store 205 may be generated by simulating a dynamic system synchronized with the dynamic system propagated in block 200. In some embodiments, a user of data transmitting device 101 may be authenticated if the user authentication data associated with the user and stored in user data store 205 matches the user authentication data received in block 203.

[0166] After block 204, block 202 may continue at block 206, which includes program code that, when executed by the CPU 157, causes the processor circuit 156 to provide access to the user of the data transmitting device 101 if the user of the data transmitting device 101 is authenticated in block 204.

[0167] If the user is authenticated in block 206, the data receiving device 102 may generate an output signal 182 indicating that the user is authenticated, or the data receiving device 102 may grant the user access in other manners. For example, if the user is authenticated in block 206, the data receiving device 102 may grant the user access to one or more physical spaces (e.g., through a building or vehicle door), to one or more physical objects (such as a computer), to one or more documents, or to one or more websites, applications, data storage devices, computer networks, computing devices, or other electronic resources that may, for example, enable the user to access information, provide information, or conduct financial or other transactions. As used herein, "enabling" does not require directly enabling and may include directly or indirectly enabling or permitting access.

[0168] Document authentication Another embodiment may involve document authentication. In such an embodiment, the program code in block 201, when executed by CPU 104, may cause processor circuit 103 to transmit one or more data transmissions as described above, but the one or more data transmissions may include transmissions representing both: 1. At least some output of the data transmission dynamic system implemented by the data transmission device 101 from the spike store 119 as described above, and 2. Documents that may be stored in the data store 121.

[0169] Such documents may include photographs. For example, in embodiments in which data transmission device 101 is a camera, such documents may include photographs captured by an image sensor of data transmission device 101. Of course, alternative embodiments may vary, and such documents may include one or more of a variety of different documents.

[0170] At least some outputs of such data transmission dynamic systems for document authentication may be referred to as watermarks. In some embodiments, such watermarks may verify that the document was generated by the data transmission device 101. In some embodiments, such watermarks may be stored in the document's metadata. Also, in some embodiments, if the document is a photograph or other image, the watermark may be embedded in the image, for example, using steganography.

[0171] As a result, transmitted data sent in one or more data transmissions from the data transmitting device 101 to the data receiving device 102 can represent a document and can also represent an authentication of the document. Such data representing both the document and the authentication of the document can be stored on the data storage device 159 or elsewhere and can represent an authenticated document.

[0172] For example, in some embodiments, the data receiving device 102 may receive the transmitted data as described above and verify the authenticity of the document by verifying the transmitted data representing at least some output of the data transmitting dynamic system implemented by the data transmitting device 101 against authentication data, e.g., from the spike store 119 as described above, as in block 204 as described above. In some embodiments, the data receiving device 102 may generate an output signal 182 indicating that the document is authenticated.

[0173] The data transmitting device 101 as described above performs functions including data encoding or encryption, user authentication, and document authentication, and the data receiving device 102 as described above performs similar related functions. However, alternative embodiments need not perform all such functions or the same functions. Rather, alternative embodiments may perform one, more, or all such functions, or may perform alternative or other functions, such as those described below or further functions.

[0174] Device Authentication Other embodiments may involve authentication of possession of the output of the device, or authentication of the device.

[0175] 21, a data transmission device according to another embodiment is generally indicated at 207 and includes a card 208. Card 208 may be similar in size to a credit card, for example. Card 208 may be powered, for example, by battery power, by light, or by induction.

[0176] Card 208 includes FPGA 209, which can be configured to implement a data-transmitting dynamic system, such as an artificial spiking neural network, as described above. However, FPGA 209 is illustrative only, and alternative embodiments may vary. For example, data-transmitting device 225 (described below) includes ASIC 226, which can function similarly to FPGA 209, and yet other embodiments may vary.

[0177] The FPGA 209 calculates the node value v i and input value r j , as their values ​​change during propagation in an artificial spiking neural network. The FPGA 209 also stores the weights w ij and the constant τ s , τ m , I, T j and s j Data representing the weights w may also be stored when their values ​​may or may not change over time. ij The value of may be encoded into multiple resistors or other circuit elements. In some embodiments, the resistors or other circuit elements are encoded with weights w ij The FPGA 209 calculates the weights w while the actual values ​​of w may be difficult or impossible to determine. ij It is possible to perform the operations according to the above.

[0178] As indicated above, one or more data transmitting device initial state indication signals 114 may be transmitted from the data receiving device 102 or from one or more other devices. In some embodiments, the data receiving device 102 may generate the initial states of the data transmitting dynamic system implemented by the data transmitting device 101, for example, using a pseudo-random number generator. For example, in the embodiment of FIG. 21 , the data receiving device 102 generates the initial node values ​​v of the data transmitting dynamic system implemented by the FPGA 209 (and thus by the data transmitting device 207). i and the initial input value r j The data transmitting device 207 may generate one or more data transmitting device initial state indication signals indicative of the weights w stored by the FPGA 209. The outputs generated by such a data transmitting dynamic system may be transmitted back to the data receiving device 102 from the data transmitting device 207, which may then transmit the weights w stored by the FPGA 209. ij can be used to simulate such a data transmitting dynamic system, and the output transmitted from the data transmitting device 207 back to the data receiving device 102 can be calculated using the weights w stored by the FPGA 209 by the data receiving device 102. ij By comparing the output of the simulation of the data transmitting dynamic system using the eigenvalues, the data receiving device 102 can determine whether the output transmitted to the data receiving device 102 was transmitted from the data transmitting device 207.

[0179] Card 208 also includes a display device 210 that can be controlled by FPGA 209 to cause display device 210 to display, for example, a quick response (QR) code 211 as shown in FIG. 22 . Display device 210 may be a liquid crystal display (LCD) or any other display device capable of displaying an optical output, such as QR code 211. QR code 211 is illustrative only, and alternative embodiments may include other outputs, such as other types of optical outputs. However, in general, the output of a data transmission dynamic system implemented by FPGA 209 (and thus by data transmission device 207) may be encoded into an output, such as a QR code, and FPGA 209 can control display device 210 to cause display device 210 to display an optical output indicative of at least some output of the data transmission dynamic system implemented by data transmission device 207. Also, display device 210 is illustrative only, and alternative embodiments may include one or more other output types. For example, transmitter 221 (described below) may output a wireless output, and yet other alternative embodiments may differ.

[0180] In some embodiments, FPGA 209 can receive at least one signal that instructs FPGA 209 to propagate the data transmission dynamical system implemented by data transmitting device 207 to a particular propagation stage. In such embodiments, in response to receiving at least one such signal, FPGA 209 can propagate the data transmission dynamical system implemented by data transmitting device 207 to a particular propagation stage and cause display device 210 to display an optical output indicative of at least some output of the data transmission dynamical system implemented by data transmitting device 207 when propagated to the particular propagation stage. For example, such output can include a representation of some or all of the spikes generated by the artificial spiking neural network implemented by data transmitting device 207.

[0181] In other embodiments, FPGA 209 may periodically or for other reasons propagate the data transmission dynamic system implemented by data transmission device 207. In some such embodiments, FPGA 209 may cause display device 210 to display optical outputs indicating at least some outputs of the data transmission dynamic system implemented by data transmission device 207, and also indicating the propagation stages of the data transmission dynamic system implemented by data transmission device 207 that produced such outputs.

[0182] In some embodiments, display device 210 may always display the output as described above. In other embodiments, display device 210 may display the output as needed, for example, in response to one or more signals received at FPGA 209 or in response to user actuation of a user input device of card 208.

[0183] The output of display device 210 may be presented to camera 212 (shown in FIG. 1 ) or one or more other devices that may send one or more data transmissions 213 to data receiving device 102 (e.g., using computer network 107). The one or more data transmissions 213 may include transmitted data from camera 212 representing QR code 211 or any other visible or optical output of display device 210.

[0184] 1 and 23, the program code stored in the program code store 161 may include blocks of program code generally indicated at 214 that, when executed by the CPU 157, cause the processor circuit 156 to authenticate possession of an output of the data transmission device 207 (or of the card 208) in response to receiving one or more data transmission signals 213.

[0185] Block 214 may begin at block 215 which includes program code that, when executed by CPU 157 , causes processor circuit 156 to receive one or more data transmissions 213 .

[0186] After block 215, block 214 may continue at block 216, which includes program code that, when executed by CPU 157, causes processor circuit 156 to identify an output of a data transmission dynamic system implemented by data transmitting device 207 from the transmitted data of one or more data transmission signals 213. For example, if the data transmission dynamic system implemented by data transmitting device 207 includes spikes generated by an artificial spiking neural network implemented by data transmitting device 207, the program code in block 216, when executed by CPU 157, may cause processor circuit 156 to identify the spikes generated by the artificial spiking neural network implemented by data transmitting device 207 from the transmitted data of one or more data transmission signals 213. Such identification may involve decoding QR code 211 or other output displayed by display device 210, represented in the transmitted data from camera 212, and included in one or more data transmission signals 213.

[0187] The program code in block 216, when executed by the CPU 157, can cause the processor circuit 156 to compare the output of a data transmission dynamic system implemented by the data transmission device 207 with a simulated output of the same dynamic system as the data transmission dynamic system implemented by the data transmission device 207.

[0188] As indicated above, in some embodiments, FPGA 209 may receive at least one signal that instructs FPGA 209 to propagate a data transmitting dynamic system implemented by data transmitting device 207 to a particular propagation stage. In such embodiments, the simulated output in block 216 may be a simulated output of the same dynamic system to the same particular propagation stage.

[0189] As also indicated above, in some embodiments, FPGA 209 may cause display device 210 to display optical outputs indicating at least some outputs of a data transmission dynamic system implemented by data transmission device 207, and also indicating the propagation stages of the data transmission dynamic system implemented by data transmission device 207 that produced such outputs. In such embodiments, the program code in block 216, when executed by CPU 157, may cause processor circuitry 156 to identify propagation stages of a data transmission dynamic system from transmitted data in one or more data transmission signals 213, and the simulated output may be a simulated output of the same dynamic system for the propagation stages identified from the data from one or more data transmission signals 213.

[0190] However, in other embodiments, FPGA 209 may propagate the data transmission dynamic system implemented by data transmitting device 207 periodically or at other times that may be determined by data receiving device 102, so that the simulated output in block 216 may be simulated for the correct propagation stage (taking into account any delays in the transmission of one or more data transmission signals 213, as may be appropriate).

[0191] In block 216, if the output of the data transmission dynamic system implemented by the data transmission device 207, as identified from the transmitted data of one or more data transmission signals 213, matches the simulated output of the same dynamic system as the data transmission dynamic system implemented by the data transmission device 207, possession of the output of the data transmission device 207 (or card 208) can be authenticated.

[0192] After block 216, block 214 may continue at block 217 which contains program code that, when executed by the CPU 157, causes the processor circuit 156 to authorize the transaction or allow access if possession of the output of the data transmission device 207 (or card 208) is authenticated in block 216.

[0193] For example, in some embodiments, the card 208 may be a debit or credit card, and one or more data transmissions 213 may be generated and transmitted to the data receiving device 102 in response to holding the card 208 near a point of sale (POS) device.

[0194] In other embodiments, card 208 may be an access card for accessing a physical space (e.g., through a door or structure, or in a vehicle) or a physical object (such as a computer), and one or more data transmission signals 213 may be generated and transmitted to data receiving device 102 in response to holding card 208 near an access point to the physical space or object.

[0195] In other examples, authentication of possession of the output of card 208 (and therefore data transmission device 207) can be used to grant access to one or more physical objects, one or more documents, or one or more websites, applications, data storage devices, computer networks, computing devices, or other electronic resources that, for example, can enable a user to access information, provide information, or conduct financial or other transactions. For example, camera 212 may be a camera on a personal computer, smartphone, tablet, or other computing device; when using the computing device to sign on to a webpage or sign in to an application, when attempting to access a restricted document, or when authorizing a transaction, such as a financial transaction, a user may hold data transmission device 207 within the field of view of camera 212; successful authentication of possession of the output of data transmission device 207 (alone or in combination with other authentication data, such as a username and password for two-factor or multi-factor authentication) can enable access to that webpage, other application, or document, or can authorize the transaction.

[0196] For example, the social media website may request the presentation of the output of the data transmission device 207 from time to time (e.g., after a certain period of time since the last time the output of the data transmission device 207 was presented, or after a certain number of posts to the social media website since the last time the output of the data transmission device 207 was presented), which may allow the social media website to verify that the posts to the social media website are not automated, which may allow the social media website to enforce any bans or otherwise limit posts to individuals who possess data transmission devices that authorize them to post to the social media website.

[0197] In other embodiments, authentication of possession of the data transmission device can indicate the authenticity of the product. In such embodiments, the data transmission device 207 may not be a card, but instead may be a device embedded in, attached to, or otherwise associated with the product, and authentication of possession of the output of the data transmission device 207 can authenticate the product to distinguish it from any counterfeit products that do not produce the same output.

[0198] In other embodiments where the data transmitting device includes a telephone or another communication device, such as a mobile communication device, authentication of possession of the data transmitting device can indicate possession of the telephone or other communication device. In such embodiments, authentication of possession of an output of the telephone or other communication device can be more reliable than voice recognition or traditional caller identification. In such embodiments, the other telephone or other communication device can be a data receiving device that can authenticate the telephone or other communication device as the data transmitting device.

[0199] In some embodiments, the data receiving device 102 may generate an output signal 182 indicating that the device has been authenticated, for example, to grant access or authorize a transaction as described above.

[0200] Thus, data transmitting device 207 may be used to authorize a financial transaction, to authorize access to a physical location, or for one or more other purposes in response to authentication of possession of an output of data transmitting device 207 as described above. One or more data transmissions 213 include transmissions representing the output of a dynamic system implemented by data transmitting device 207, and creating a replica of data transmitting device 207 (or otherwise creating one or more data transmissions that appear to be from data transmitting device 207) involves the use of weights w ijBecause it would be difficult or impossible without the actual value of {overscore (R)}, data transmission device 207 can facilitate relatively secure authentication of possession of the output of data transmission device 207.

[0201] As shown above, the weights w ij The value of is the weight w ij It may be difficult or impossible to determine the actual values ​​of the weights w ij , where the weights w may be encoded into a plurality of resistors or other circuit elements that may enable the weights w to be implemented according to ij The actual value of may be difficult or impossible to determine from the data transmitting device 207 itself.

[0202] Also, even if one or more data transmissions 213 are intercepted, the weights w ij The actual value of may be difficult or impossible to determine from one or more data transmissions 213.

[0203] The data transmission device 207 is illustrative only, and alternative embodiments may differ. For example, referring to FIG. 24, a data transmission device according to another embodiment is shown generally at 218 and includes a card 219. The card 219 may be similar in size to a credit card, for example. The card 219 includes an ASIC 220 that can function like the FPGA 209 described above.

[0204] Card 219 also includes a transmitter 221 that may be controlled by ASIC 220 to cause transmitter 221 to transmit an output 222, such as a near field communication (NFC) wireless signal, a radio frequency identification (RFID) wireless signal, a Bluetooth™ wireless signal, or other output, such as other wireless output. The output from transmitter 221 may function like the output of display device 210 as described above.

[0205] In some embodiments, data transmission device 218 may be magnetically attached to a smartphone or may be embedded in or otherwise attached to a smartphone case. In such embodiments, transmitter 221 may transmit output 223 to such a smartphone, thereby enabling the smartphone to transmit such data and be authenticated for possession of the output of data transmission device 218, for example, as described herein. In some embodiments, data transmission device 218 may be a wearable device or may be embedded in or otherwise attached to a wearable device.

[0206] Data transmission devices 207 and 218 include cards, although alternative embodiments may differ. For example, alternative embodiments may include a user computing device, a server computing device, a personal computer, a laptop computer, a tablet computer, a smartphone, a smart watch, or one or more other devices that can function similarly to data transmission devices 207 and 218 as described above.

[0207] 25, a data transmission system according to another embodiment is shown generally at 224 and includes a data transmission device 225, which may be similar to data transmission devices 207 and 218. Data transmission device 225 includes an ASIC 226, which may be similar to ASIC 220 as described above. Data transmission device 225 is therefore capable of implementing a data transmission dynamic system as described above. Data transmission device 225 also includes a display device 227, which may be similar to display device 210 as described above.

[0208] However, the data transmission device 225 also includes an optical sensor 228 that can receive one or more optical signals that can indicate some or all of the initial states of the data transmission dynamic system implemented by the data transmission device 225. For example, the display device 229 can blink or otherwise transmit one or more optical signals to the optical sensor 228. Such one or more optical signals transmitted from the display device 229 to the optical sensor 228 can function as one or more data transmission device initial state indicator signals as described herein. In other words, the computing device can use such one or more optical signals transmitted from the display device 229 to the optical sensor 228 to transmit some or all of the initial states of the data transmission dynamic system implemented by the data transmission device 225. The display device 227 can then display optical outputs that indicate at least some of the outputs of the data transmission dynamic system implemented by the data transmission device 207 as described above.

[0209] In the embodiment of FIG. 25, holding the data transmitting device 225 near both the display device 229 and the camera 212 can facilitate the transmission of both one or more data transmitting device initial state indication signals from the display device 229 to the optical sensor 228 and outputs indicative of at least some outputs of the data transmitting dynamic system implemented by the data transmitting device 207 from the display device 227 to the camera 212 for relatively fast and easy authentication of possession of the output of the data transmitting device 225.

[0210] Other embodiments may differ. For example, another embodiment may include FPGA 209 as described above and transmitter 221 as described above, or even other alternatives. For example, an alternative embodiment may include one or more alternatives for FPGA 209 or one or more alternatives for ASIC 220, such as one or more analog circuits or one or more configurable logic blocks. As another example, an alternative embodiment may include one or more alternatives for display 210 or one or more alternatives for transmitter 221, and the outputs in such alternatives may include one or more alternatives for optical or wireless outputs as described above.

[0211] In some embodiments, a device may be authenticated, e.g., periodically, to determine whether the device is authorized to access one or more websites, applications, data storage devices, computer networks, computing devices, or other electronic resources. For example, the data transmitting device 101 may, e.g., periodically, generate an output of a data transmitting dynamic system implemented by the data transmitting device 101 similar to the output of a data transmitting dynamic system implemented by the FPGA 209 described above. In some embodiments, each time the data transmitting device 101 generates such an output, such output may be transmitted to the data receiving device 102 in one or more data transmission signals. In response to receiving such one or more data transmission signals, the data receiving device 102 may authenticate the data transmitting device 101, and the data transmitting device 101 may access the computer network or other electronic resource only for a limited period of time after each such authentication. Such repeated or periodic authentication may allow the data transmitting device 101 to maintain access to such computer network or other electronic resource.

[0212] In embodiments such as those described herein, a data transmitting device may be prevented from further authentication, for example, if the data receiving device 102 is configured to no longer accept authentication according to the output of a data transmission dynamic system implemented by the data transmitting device. Such prevention of further device authentication may be desirable, for example, to prevent use of a debit or credit card that is a data transmitter as described herein if the card has been reported lost or is otherwise no longer authorized for use. As another example, such prevention of further device authentication may be desirable to prevent a data transmitting device from accessing one or more electronic resources or from enabling access to one or more physical spaces or physical objects if the data transmitting device has been reported lost or is in the possession of an employee who has been terminated or is otherwise no longer authorized for such access.

[0213] Multiple data transmission devices In some embodiments, two or more data transmission devices may collectively function as a data transmission device as described above, and such data transmission devices may be independent data transmission devices that implement a data transmission dynamic system.

[0214] 27, a data transmission device according to another embodiment is shown generally at 238 and includes data transmission device 239, data transmission device 240, and data transmission device 241. Alternative examples may include more or fewer data transmission devices.

[0215] In the illustrated embodiment, each of data transmitting devices 239, 240, and 241 may function similarly to data transmitting device 101 or any other data transmitting device as described herein. Data transmitting device 239 may be similar to data storage device 106 and includes a data storage device including system data store 242, which may be similar to system data store 110. Data transmitting device 240 may be similar to data storage device 106 and includes a data storage device including system data store 243, which may be similar to system data store 110. Data transmitting device 241 may be similar to data storage device 106 and includes a data storage device including system data store 244, which may be similar to system data store 110.

[0216] However, unlike data transmission device 101, system data stores 242, 243, and 244 collectively store all of the data that defines a data transmission dynamic system, rather than individually storing all of the data that defines the data transmission dynamic system. As a result, data transmission devices 239, 240, and 241 can collectively implement a data transmission dynamic system, for example, as described elsewhere herein.

[0217] In such an embodiment, for example, the transmission data as described herein may indicate the involvement of all of data transmitting devices 239, 240, and 241 in generating the transmission data. Such an indication of involvement may indicate, for example, that a particular device (e.g., data transmitting devices 239, 240, and 241) or a particular individual (e.g., a user of data transmitting devices 239, 240, and 241) participated in generating the transmission data as described herein.

[0218] One-way entire functions An artificial neural network such as the one described above may generate M spikes during the propagation phase of the artificial neural network. Each spike k∈{1,2,3,...,M} of the M spikes is a function of (i,t ik ), where i∈{1,2,3,...,N} is the identifier that identifies the artificial neuron i that generated spike k, and t ik represents the propagation stage of the artificial spiking neural network when spike k is generated. M such spikes generated by the artificial neural network are represented by M-tuples s i =((i,t i1 ),(i,t i2 ),(i,t i3 ),...,(i,t iM )). Such an M-tuple s i is a sequence r consisting of 2M input values. i,1 ,r i,2 ,r i,3 ,...,r i,2M which is the input value r for further propagation in the artificial neural network. j It can be part of (j∈{1,2,3,...,N}).

[0219] Other input values ​​r i,2M+1 ,r i,2M+2 ,r i,2M+3 ,...,T i,N Some or all of r can be determined from other inputs. For example, other input values ​​r 2M+1 ,r 2M+2 ,r 2M+3 ,...,r N Some or all of may be determined from the input to a one-way hash function or another one-way function.

[0220] A sequence of such M-tuples s1,s2,s3,... is a function f that i+1 =f(s i ,r i,2M+1, r i,2M+2 ,r i,2M+3, ...,r i,N ), where ri,2M+1 , r i,2M+2 , r i,2M+3 , ..., r i,N are other input values ​​as described above. According to such a function, s i+1 is the input to the artificial neural network as described above j (j∈{1,2,3,...,N}) is r i,1 ,r i,2 ,r i,3, ...,r i,2M (As shown above, s i (which can be converted from M spikes of 2M+1 ,r 2M+2 ,r 2M+3 ,...,r N It can represent spikes generated by an artificial neural network when it includes some or all of the other input values.

[0221] In one embodiment, such a function f may be used to define a public ledger, such as a blockchain, as shown in Figure 26. Such a function may be implemented by one or more devices, such as data transmission device 101, and such a public ledger may be stored in a storage device, such as data storage device 106.

[0222] In the example of Figure 26, a first block 230 stores a previous hash value 231 of a previous block in the blockchain. Block 230 also stores some data 232 and a hash value 233. The hash value 233 may be a function of the previous hash value 231 and the data 232. For example, the previous hash value 231 may be a hash value 232 from a previous block. i =((i,t i1 ),(i,t i2 ),(i,t i3 ),...,(i,t iM )), and the data 232 may be r i,2M+1, r i,2M+2 ,r i,2M+3 ,...,r i,N, and the hash value 233 may be calculated using the function s as described above. i+1 =f(s i ,r i,2M+1 ,r i,2M+2 ,r i,2M+3 ,...,r i,N ) Similarly, in the example of FIG. 26, a second block 234 stores a previous hash value 235 that is equal to the hash value 233 of the previous block 230. Block 234 also stores some data 236 and a hash value 237. The hash value 237 is calculated using the function s as described above. i+2 =f(s i+1 ,r i+1,2M+1 ,r i+1,2M+2 ,r i+1,2M+3 ,...,r i+1,N ) may also be used.

[0223] In some embodiments, hash values ​​such as those described above may be transmitted between devices in transmissions representing at least one or more blocks of the public ledger (e.g., blocks 230 and 234). ij The value of w may be publicly available or available to at least some participants or users of the public ledger. ij The value of can be used by some or all such participants or users to add blocks (such as blocks 230 and 234) to the public ledger that contain hash values ​​as described above.

[0224] However, s i+1 =f(s i ,r i,2M+1 ,r i,2M+2 ,r i,2M+3 ,...,r i,N ) is stored in a block (hashing value s 233 in block 230 as the preceding hash value 235 in block 234). i+1 =f(s i ,r i,2M1 ,r i,2M+2 ,r i,2M+3 ,...,ri,N ), any changes to data 232 in block 230 will become apparent when considering block 234 (and any blocks that follow block 230) because the preceding hash value 235 in block 234 (and the preceding hash value in any blocks that follow block 230) will no longer match any changes to data 232 in block 230.

[0225] Therefore, the function f as described above can be expressed as, for example, s i+1 =f(s i ,r i,2M+1 ,r i,ZM+2 ,r i,2M+3 ,...,r i,N The function f may be a one-way cryptographic hash function that may be used in a blockchain or other distributed ledger when an additional block containing a hash value such as f is represented in transmitted data that may be transmitted between devices. The function f may be more efficient than at least some other one-way cryptographic hash functions.

[0226] conclusion The above-described embodiments are illustrative only, and alternative embodiments may differ. For example, an alternative embodiment may include one or more components from one of the above-described embodiments and one or more components from one or more other of the above-described embodiments. The above-described components may be interchanged or varied. Also, one or more components of the above-described embodiments may be combined or separated into separate components. For example, an embodiment described with an FPGA may instead include an ASIC, and vice versa. Similarly, an embodiment described with an FPGA or an ASIC may instead include a microprocessor, and vice versa.

[0227] In general, one or more devices may be configured to perform functions such as those described herein through program code as described above, through FPGA or ASIC configuration, through one or more other ways of configuring one or more devices, or through a combination of two or more thereof.

[0228] Generally, embodiments such as those described herein can facilitate the transmission of data between devices.

[0229] At least some of the embodiments described above, such as those including one or more ASICs or one or more analog circuits, may facilitate data transmission between devices with relatively low power requirements. Additionally, embodiments including one or more FPGAs or one or more analog circuits may implement dynamic systems using parallel processing, which may facilitate data transmission in a relatively efficient manner.

[0230] While particular embodiments have been described and illustrated, such embodiments should be considered as illustrative only and not as limiting the invention as construed according to the appended claims.

[0231] Further examples The present disclosure also includes the following non-limiting examples, including examples of the embodiments described and illustrated herein. 1. A data transmission method, comprising: causing at least one data receiving device to receive at least one data transmission signal from at least one data transmitting device implementing a data transmission dynamic system; At least one data receiving device (a) transmitting at least a portion of transmitted data being transmitted by at least one data transmission signal; (b) comparing the output of at least some of the data receiving dynamic systems implemented by the at least one data receiving device; A data transmission method, including: 2. A data transmission method comprising: causing at least one data transmitting device to generate transmit data at least in accordance with at least some outputs of a data transmitting dynamic system implemented by the at least one data transmitting device; causing at least one data transmitting device to transmit at least one data transmission signal transmitting at least the transmission data to at least one data receiving device implementing the data receiving dynamic system; A data transmission method, including: 3. At least one data receiving device is (a) at least a portion of the transmitted data, 3. The method of claim 2, further comprising: (b) comparing the received data with at least some outputs of a dynamic system. 4. The method of any one of Examples 1, 2, or 3, further comprising having at least one data receiving device authenticate a user of at least one data transmitting device. 5. The method of Example 4 when dependent on Example 1 or 3, wherein having at least one data receiving device authenticate the user includes having at least one data receiving device authenticate the user in response to at least a comparison of at least some of the transmitted data with at least some of the outputs of the data receiving dynamic system. 6. The method of Example 5, wherein having at least one data receiving device authenticate the user includes having at least one data receiving device authenticate the user further in response to at least a password entered by the user. 7. The method of any one of Examples 5 to 6, further comprising causing at least one data receiving device to enable the user to access at least one electronic resource in response to at least authenticating the user. 8. The method of any one of Examples 5, 6, or 7, further comprising causing at least five data receiving devices to enable a user to access at least one physical space in response to at least authenticating the user. 9. The method of any one of Examples 5, 6, 7, or 8, further comprising causing at least one data receiving device to allow authorization of at least a financial transaction by the user in response to at least authenticating the user. 10. The method of any one of Examples 1, 2, or 3, further comprising having at least one data receiving device authenticate at least one data transmitting device. 11. The method of Example 10, wherein having the at least one data receiving device authenticate the at least one data transmitting device includes having the at least one data receiving device authenticate possession of an output of the at least one data transmitting device. 12. The method of Example 10 or 11 when dependent on Example 1 or 3, wherein having the at least one data receiving device authenticate the at least one data transmitting device includes having the at least one data receiving device authenticate the at least one data transmitting device in response to at least a comparison of at least some of the transmitted data with at least some of the outputs of the data receiving dynamic system. 13. The method of Examples 10, 11, or 12, further comprising causing at least one data receiving device to enable at least one data transmitting device to access at least one electronic resource in response to authentication of at least one data transmitting device. 14. The method of any one of Examples 1, 2, or 3, further comprising having at least one data transmission device authenticate the document. 15. The method of Example 14, wherein the document includes a photograph. 16. The method of Example 14 or 15 when dependent on Example 2 or 3, wherein having at least one data transmission device authenticate the document includes having the document encode at least some output of the data transmission dynamic system. 17. The method of any one of Examples 14, 15, or 16, further comprising having at least one data receiving device verify the authenticity of the document. 18. The method of any one of Examples 1, 2, or 3, further comprising having at least one data receiving device verify the authenticity of the document. 19. The method of Example 17 or 18 when dependent on Example 1 or 3, wherein having at least one data receiving device confirm the authenticity of the document includes having at least one data receiving device confirm the authenticity of the document in response to at least a comparison of at least some of the transmitted data with at least some of the output of the data receiving dynamic system. 20. The method of Example 2 or 3, wherein causing at least one data transmitting device to generate the transmission data includes causing the at least one data transmitting device to encrypt the communication data transmitted from the at least one data transmitting device to the at least one data receiving device by at least modifying at least some outputs of the data transmitting dynamic system according to the communication data to create a difference between at least some outputs of the data transmitting dynamic system and the transmission data. 21. The method of Example 20 when dependent on Example 3, wherein having at least one data receiving device compare at least some of the transmitted data with at least some outputs of the data receiving dynamic system includes having at least one data receiving device decipher the communication data by at least identifying differences between the transmitted data and at least some outputs of the data receiving dynamic system. 22. The method of Example 1 or 3, or Example 20 when dependent on Example 3, wherein having at least one data receiving device compare at least some of the transmitted data with at least some outputs of the data receiving dynamic system includes having at least one data receiving device decipher communication data transmitted from at least one data transmitting device to at least one data receiving device by at least identifying differences between the transmitted data and at least some outputs of the data receiving dynamic system. 23. The method of Example 22, further comprising: making it impossible for at least one data receiving device to decrypt the communication data; and making it impossible for the at least one data receiving device to decrypt the communication data comprising causing the at least one data receiving device to modify a data reception dynamic system implemented by the at least one data receiving device. 24. The method of any one of Examples 22 to 23, wherein the at least one data transmitting device is at least one data storage device of the at least one data receiving device. 25. The method of any one of Examples 1 to 23, wherein the at least one data transmitting device is physically separate from the at least one data receiving device. 26. The method of any one of Examples 1 to 25, wherein the data transmitting dynamic system and the data receiving dynamic system are synchronized. 27. The method of Example 26, further comprising causing the data sending dynamic system and the data receiving dynamic system to be synchronized. 28. The method of any one of Examples 1 to 27, further comprising causing at least one data transmitting device to receive at least one data transmitting device initial state indication signal that indicates at least a portion of an initial state of the data transmitting dynamic system. 29. The method of any one of Examples 1 to 27, further comprising causing at least one data transmitting device to generate at least a portion of the initial state of the data transmitting dynamic system. 30. The method of Example 29, wherein causing at least one data transmitting device to generate at least a portion of the initial state of the data transmitting dynamic system includes causing the at least one data transmitting device to generate at least a portion of the initial state of the data transmitting dynamic system at least in response to user input to the at least one data transmitting device. 31. The method of example 30, wherein the user input includes a password. 32. The method of Example 29, wherein causing at least one data transmitting device to generate at least a portion of the initial state of the data transmitting dynamic system includes causing the at least one data transmitting device to generate at least a portion of the initial state of the data transmitting dynamic system in response to a pseudorandom number generator implemented by the at least one data transmitting device. 33. The method of Example 29, wherein causing at least one data receiving device to generate at least a portion of the initial state of the data transmission dynamic system includes causing the at least one data receiving device to generate at least a portion of the initial state of the data transmission dynamic system in response to a pseudorandom number generator implemented by the at least one data receiving device. 34. The method of any one of Examples 29-33, wherein at least one data transmission signal further encodes at least a portion of an initial state of the data transmission dynamic system. 35. The method of Example 34, when directly or indirectly dependent on Example 1 or 3, further comprising causing at least one data receiving device to generate at least some outputs of the data receiving dynamic system according to at least a portion of the initial state. 36. The method of Example 34 or 35, when directly or indirectly dependent on Example 2, further comprising causing at least one data transmission device to generate at least some outputs of the data transmission dynamic system according to at least a portion of the initial state. 37. The method of any one of Examples 1 to 36, further comprising causing at least one data receiving device to receive at least one data receiving device initial state indication signal that indicates at least a portion of an initial state of the data receiving dynamic system. 38. The method of any one of Examples 1 to 37, wherein at least one data transmission signal further encodes at least an identification of a range of a propagation stage of the data transmission dynamic system that results in an output of the data transmission dynamic system. 39. The method of any one of Examples 1 to 37, further comprising causing at least one data transmitting device to receive at least one propagation identification signal that identifies at least a range of a propagation stage of the data transmitting dynamic system for generating an output of the data transmitting dynamic system. 40. The method of any one of Examples 38 or 39, when directly or indirectly dependent on Example 2, further comprising causing at least one data transmission device to generate at least some outputs of the data transmission dynamic system according to at least the range of the propagation stage. 41. A data transmission dynamic system includes a data transmission artificial neural network having a plurality of data transmission node values ​​associated with respective artificial neurons of a plurality of data transmission artificial neurons of the data transmission artificial neural network, each node value of the plurality of data transmission node values ​​being modifiable according to at least one of a plurality of data transmission input values; 41. The method of any one of Examples 1 to 40, wherein the data receiving dynamic system comprises a data receiving artificial neural network having a plurality of data receiving node values ​​associated with respective artificial neurons of a plurality of data receiving artificial neurons of the data receiving artificial neural network, each node value of the plurality of data receiving node values ​​being modifiable according to at least one of a plurality of data receiving input values. 42. A data transmission dynamic system includes a plurality of data transmission node values, each node value of the plurality of data transmission node values ​​being modifiable according to at least one of a plurality of data transmission input values; 41. The method of any one of Examples 1 to 40, wherein the data reception dynamic system includes a plurality of data reception node values, each node value of the plurality of data reception node values ​​being modifiable according to at least one of a plurality of data reception input values. 43. The data transmission dynamic system is defined at least in part by a plurality of data transmission weights, each weight of the plurality of data transmission weights defining at least a portion of an effect of a respective data transmission input value of a plurality of data transmission input values ​​on a respective node value of a plurality of data transmission node values; 43. The method of Example 41 or 42, wherein the data reception dynamic system is at least partially defined by a plurality of data reception weights, each weight of the plurality of data reception weights defining at least a portion of the effect of a respective data reception input value of a plurality of data reception input values ​​on a respective node value of a plurality of data reception node values. 44. The method of example 43, wherein the plurality of data transmit weights and the plurality of data receive weights are synchronized. 45. The method of any one of Examples 43 to 44, wherein the plurality of data transmission weights remain constant during implementation of the data transmission dynamic system, and the plurality of data reception weights remain constant during implementation of the data reception dynamic system. 46. ​​A data-transmitting artificial neural network is a data-transmitting spiking artificial neural network that, when implemented, identifies a plurality of data-transmitting dynamic system events, each of the plurality of data-transmitting dynamic system events being associated with a plurality of data-transmitting artificial neurons and a respective propagation stage of the data-transmitting spiking artificial neural network when each of the artificial neurons meets a data-transmitting spiking criterion; The data-receiving artificial neural network, when implemented, is a data-receiving spiking artificial neural network that identifies a plurality of data-receiving dynamic system events, each of the plurality of data-receiving dynamic system events being associated with a plurality of data-receiving artificial neurons and a respective propagation stage of the data-receiving spiking artificial neural network when each of the artificial neurons meets a data-receiving spiking criterion; 46. ​​The method of example 41, or example 43, 44, or 45, when the transmitted data identifies at least some dynamic system event, or is directly or indirectly dependent on example 41. 47. When implemented, the data transmission dynamic system identifies a plurality of data transmission dynamic system events, each event of the plurality of data transmission dynamic system events being associated with a respective node value of a plurality of data transmission node values ​​and a respective propagation stage of the data transmission dynamic system when the respective node value satisfies a data transmission discretization criterion; When implemented, the data receiving dynamic system identifies a plurality of data receiving dynamic system events, each event of the plurality of data receiving dynamic system events being associated with a respective node value of the plurality of data receiving node values ​​and a respective propagation stage of the data receiving dynamic system when the respective node value satisfies a data receiving discretization criterion; 46. ​​The method of example 42, or example 43, 44, or 45, when the transmitted data identifies at least some dynamic system event, or is directly or indirectly dependent on example 42. 48. The data transmission dynamic system, when implemented, identifies a plurality of data transmission dynamic system events, each event of the plurality of data transmission dynamic system events being associated with the data transmission dynamic system satisfying a data transmission discretization criterion; The data receiving dynamic system, when implemented, identifies a plurality of data receiving dynamic system events, each event of the plurality of data receiving dynamic system events being associated with the data receiving dynamic system satisfying a data receiving discretization criterion; Illustrative examples 1-45 include a method as recited in any one of examples 1-45, wherein the transmitted data identifies at least some dynamic system events. 49. The method of any one of Examples 46, 47, or 48, wherein the output of the data receiving dynamic system includes identification information of at least some of the multiple data receiving dynamic system events, and is directly or indirectly dependent on Example 1 or 3. 50. The method of Example 49 when dependent on Example 22, wherein the difference between the transmitted data and at least some outputs of the data receiving dynamic system includes a difference between a dynamic system event identified by the transmitted data and at least some of the multiple data receiving dynamic system events. 51. A method according to any one of Examples 46 to 50, when the output of the data transmitting dynamic system is directly or indirectly dependent on Example 2, including identification information of at least some of the multiple data transmitting dynamic system events. 52. The method of Example 51 when dependent on Example 20, wherein the difference between at least some outputs of the data transmitting dynamic system and the transmitted data includes a difference between at least some of the multiple data transmitting dynamic system events and the dynamic system events identified by the transmitted data. 53. The method of example 50 or 52, or example 51 when dependent on example 50, wherein the difference includes at least one additional dynamic system event added to the dynamic system event identified by the transmitted data. 54. The method of example 53, wherein each additional dynamic system event of the at least one additional dynamic system event encodes a respective bit of communication data. 55. The method of example 50, 52, 53, or 54, or example 51 when dependent on example 50, wherein the difference includes at least one omitted dynamic system event that is omitted from the dynamic system events identified by the transmitted data. 56. The method of example 55, wherein each omitted dynamic system event of the at least one omitted dynamic system event encodes a respective bit of communication data. 57. The method of Example 50, Example 51 when dependent on Example 50, or any one of Examples 52 to 56, wherein the difference includes at least one shift dynamic system event, and each shift dynamic system of the at least one shift dynamic system event is shifted by a respective shift amount to a respective different propagation stage. 58. The method of any one of Examples 50 to 56 when dependent on Example 41 or 42, wherein the difference includes at least one shift dynamic system event, and each shift dynamic system of the at least one shift dynamic system event is shifted by a respective shift amount to a respective different data transmission node value. 59. The method of example 57 or 58, wherein each shift amount of at least one shift dynamic system event indicates a respective amplitude of a respective basis function of the communication data. 60. The method of example 57 or 58, wherein each shift amount of at least one shift dynamic system event encodes at least one bit of communication data. 61. The method of any one of Examples 49 to 60 when dependent on Example 46, wherein the identification information of the dynamic system event includes identification information of the artificial neuron and propagation stage associated with the dynamic system event. 62. A method according to any one of Examples 49 to 60 when directly or indirectly dependent on Example 47, wherein the identification information of the dynamic system event includes identification information of a node value and a propagation stage associated with the dynamic system event. 63. The method of any one of Examples 1 to 62, wherein the at least one data transmission device is a single device. 64. The method of any one of Examples 1 to 63, wherein at least one data transmission device includes a mobile device. 65. The method of any one of Examples 1 to 63, wherein the at least one data transmission device includes a telephone. 66. The method of any one of Examples 1 to 63, wherein at least one data transmission device includes a camera. 67. The method of any one of Examples 1 to 63, wherein at least one data transmission device is a card. 68. The method of any one of Examples 1 to 63, wherein the at least one data transmitting device includes a data transmitting medical device. 69. The method of any one of Examples 1 to 63, wherein at least one data transmission device comprises a network node of a computer network. 70. The method of any one of Examples 1 to 63, wherein at least one data transmission device includes a router of the computer network. 71. The method of any one of Examples 1 to 70, wherein at least one data receiving device includes a mobile device. 72. The method of any one of Examples 1 to 70, wherein the at least one data receiving device includes a telephone. 73. The method of any one of Examples 1 to 70, wherein at least one data receiving device comprises a network node of a computer network. 74. The method of any one of Examples 1 to 70, wherein at least one data receiving device includes a router of a computer network. 75. The method of any one of Examples 1 to 72, wherein at least one data receiving device includes a user computing device. 76. The method of any one of Examples 1 to 66, wherein at least one data transmission device includes a user computing device. 77. The method of any one of Examples 1 to 70, wherein at least one data receiving device includes a server computing device. 78. The method of any one of Examples 1 to 73, wherein at least one data transmission device includes a server computing device. 79. The method of any one of Examples 1 to 78, wherein the at least one data receiving device includes a data receiving medical device. 80. The method of any one of Examples 1 to 79, wherein at least one data transmission device is independent of one another and includes a plurality of data transmission devices that collectively implement a data transmission dynamic system. 81. The method of any one of Examples 1 to 80, wherein the at least one data transmission signal includes at least one wireless signal. 82. The method of any one of Examples 1 to 81, wherein the at least one data transmission signal includes at least one optical signal displayed by the at least one data transmission device. 83. The method of example 82, wherein at least one optical signal includes a QR code. 84. The method of any one of Examples 1 to 83, wherein the at least one data transmission device includes at least one data transmission processor circuit that simulates a data transmission dynamic system. 85. The method of Example 84 when dependent on Example 43, wherein the at least one data transmit processor circuit includes at least one computer-readable data transmit memory that stores a plurality of data transmit weights. 86. The method of example 85, wherein the plurality of data transmission weights are encrypted in at least one computer-readable data transmission memory. 87. The method of any one of Examples 1 to 83, wherein the at least one data transmission device includes at least one data transmission circuit that directly implements the data transmission dynamic system. 88. The method of example 87, wherein the at least one data transmission circuit includes at least one data transmission analog circuit. 89. The method of Example 88 when dependent on Example 43, wherein at least one data transmission analog circuit comprises a plurality of resistors defining a plurality of data transmission weights. 90. The method of example 87, wherein at least one data transmission circuit includes a data transmission configurable logic block. 91. The method of example 90, wherein the at least one data transmission circuit includes a data transmission field programmable gate array (FPGA) including a data transmission configurable logic block. 92. The method of any one of Examples 1 to 91, wherein the at least one data receiving device includes at least one data receiving processor circuit that simulates a data receiving dynamic system. 93. The method of Example 92 when dependent on Example 43, wherein the at least one data reception processor circuit includes at least one computer-readable data reception memory that stores a plurality of data reception weights. 94. The method of example 93, wherein the plurality of data reception weights are encrypted in at least one computer-readable data reception memory. 95. The method of any one of Examples 1 to 91, wherein the at least one data receiving device includes at least one data receiving circuit that directly implements the data receiving dynamic system. 96. The method of example 95, wherein the at least one data receiving circuit includes at least one data receiving analog circuit. 97. The method of Example 96 when dependent on Example 43, wherein at least one data receiving analog circuit comprises a plurality of resistors defining a plurality of data receiving weights. 98. The method of example 95, wherein the at least one data receiving circuit includes a data receiving configurable logic block. 99. The method of example 98, wherein the at least one data receiving circuit includes a data receiving FPGA including a data receiving configurable logic block. 100. The method of any one of Examples 1 or 3, or Examples 4 to 99, when depending directly or indirectly on Example 1 or 3, including causing at least one data receiving device to generate at least one output signal in response to at least a comparison of at least some of the transmitted data with at least some outputs of the data receiving dynamic system. 101. The method of example 100 when directly or indirectly dependent on example 4, wherein at least one output signal indicates at least whether the user has been successfully authenticated. 102. The method of example 100 when at least one output signal indicates at least whether the document is authenticated or not, when directly or indirectly dependent on example 17 or 18. 103. The method of example 100 when at least one output signal is directly or indirectly dependent on example 21 or 22, at least indicative of at least a portion of the communication data. 104. A method for generating a cryptographic hash output, comprising: causing at least one device to receive at least one input signal encoding at least one input value, the at least one device implementing a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable according to at least the at least one input value; causing at least one device to identify at least a plurality of dynamic system events, each event of the plurality of dynamic system events being associated with a respective node value of a plurality of node values ​​and a respective propagation stage of the dynamic system when the node value satisfies a discretization criterion; causing at least one device to generate at least one output signal that identifies at least a plurality of dynamic system events; 1. A method for generating a cryptographic hash output, comprising: 105. The method of example 104, wherein the dynamic system is defined at least in part by a plurality of weights, each weight of the plurality of weights defining at least a portion of an effect of a respective input value of at least one input value on a respective node value of a plurality of node values. 106. The method of Example 105, wherein the dynamical system is a spiking artificial neural network, each node value of the plurality of node values ​​is associated with a respective artificial neuron of the plurality of artificial neurons, and each event of the plurality of dynamical system events is associated with a respective artificial neuron of the plurality of artificial neurons and a respective propagation stage of the spiking artificial neural network when the respective artificial neuron satisfies a spiking criterion. 107. Further comprising causing at least one device to create a new entry in a ledger that includes an existing entry; the at least one input value includes at least a portion of data from an existing entry; 17. The method of example 104, 105, or 106, wherein the new entry includes identification information for at least some of the plurality of dynamic system events. 108. The method of example 104, 105, 106, or 107, wherein the ledger is a public ledger. 109. The method of example 108, wherein the public ledger is a blockchain. 110. At the very least, receiving at least one data transmission signal from at least one data transmission device configured to implement a data transmission dynamic system; (a) transmitting at least a portion of transmitted data being transmitted by at least one data transmission signal; (b) comparing the output of at least some of the data receiving dynamic systems implemented by the at least one data receiving device; A data transmission apparatus comprising at least one data receiving device configured to perform the following: 111. At least, generating transmission data at least in accordance with at least some outputs of a data transmission dynamic system implemented by at least one data transmission device; transmitting at least one data transmission signal transmitting at least transmission data to at least one data receiving device configured to implement a data receiving dynamic system; A data transmission apparatus comprising at least one data transmission device configured to perform the following: 112. Further comprising at least one data receiving device, wherein the at least one data receiving device includes at least: (a) at least a portion of the transmitted data, (b) The apparatus described in Example 111, configured to compare the data received with at least some outputs of the dynamic system. 113. The apparatus of Example 110, 111, or 112, wherein the at least one data receiving device is further configured to at least authenticate a user of the at least one data transmitting device. 114. The apparatus of Example 113 when dependent on Example 110 or 112, wherein at least one data receiving device is configured to authenticate a user by authenticating the user in response to at least a comparison of at least some of the transmitted data with at least some of the output of the data receiving dynamic system. 115. The apparatus of Example 114, wherein the at least one data receiving device is configured to authenticate the user by at least further authenticating the user in response to at least a password entered by the user. 116. The apparatus of Example 114 or 115, wherein the at least one data receiving device is further configured to at least allow the user to access the at least one electronic resource in response to at least authentication of the user. 117. The apparatus of Example 114, 115, or 116, wherein the at least one data receiving device is further configured to at least allow a user to access the at least one physical space in response to at least authentication of the user. 118. The apparatus of Example 114, 115, 116, or 117, wherein the at least one data receiving device is further configured to at least permit authorization of at least a financial transaction by the user in response to at least authenticating the user. 119. The apparatus of Example 110, 111, or 112, wherein the at least one data receiving device is further configured to at least authenticate the at least one data transmitting device. 120. The apparatus of Example 119, wherein the at least one data receiving device is configured to authenticate the at least one data transmitting device by at least authenticating possession of an output of the at least one data transmitting device. 121. The apparatus of Example 119 or 120 when dependent on Example 110 or 112, wherein the at least one data receiving device is configured to authenticate the at least one data transmitting device by authenticating the at least one data transmitting device in response to a comparison of at least some of the transmitted data with at least some of the outputs of the data receiving dynamic system. 122. The apparatus of Examples 119, 120, or 121, wherein the at least one data receiving device is further configured to enable the at least one data transmitting device to access the at least one electronic resource in response to authentication of the at least one data transmitting device. 123. The apparatus of Example 110, 111, or 112, wherein the at least one data transmission device is further configured to at least authenticate the document. 124. The device of example 123, wherein the document includes a photograph. 125. The apparatus of Example 123 or 124, when dependent on Example 111 or 112, wherein at least one data transmission device is configured to authenticate the document by at least causing the document to encode at least some output of the data transmission dynamic system. 126. The apparatus of Example 123, 124, or 125, wherein the at least one data receiving device is further configured to at least verify the authenticity of the document. 127. The apparatus of Examples 110, 111, or 112, wherein the at least one data receiving device is further configured to at least verify the authenticity of the document. 128. The apparatus of Example 126 or 127 when dependent on Example 110 or 112, wherein the at least one data receiving device is configured to verify the authenticity of the document in response to at least a comparison of at least some of the transmitted data with at least some of the output of the data receiving dynamic system. 129. The apparatus of Example 111 or 112, wherein the at least one data transmitting device is configured to generate the transmission data by encrypting the communication data transmitted from the at least one data transmitting device to the at least one data receiving device by modifying at least some outputs of the data transmitting dynamic system according to the communication data to create a difference between the at least some outputs of the data transmitting dynamic system and the transmission data. 130. The apparatus of Example 129 when dependent on Example 112, wherein the at least one data receiving device is configured to compare at least a portion of the transmitted data with at least some outputs of the data receiving dynamic system by at least identifying differences between the transmitted data and at least some outputs of the data receiving dynamic system to decipher the communication data. 131. The apparatus of Example 110 or 112, or Example 129 when dependent on Example 112, wherein the at least one data receiving device is configured to compare at least a portion of the transmitted data with at least some outputs of the data receiving dynamic system by at least identifying differences between the transmitted data and at least some outputs of the data receiving dynamic system by deciphering the communication data transmitted from the at least one data transmitting device to the at least one data receiving device. 132. The apparatus of Example 131, wherein the at least one data receiving device is further configured to at least render the communication data indecipherable by modifying a data reception dynamic system implemented by the at least one data receiving device. 133. The apparatus of Example 131 or 132, wherein the at least one data transmitting device is at least one data storage device of the at least one data receiving device. 134. The apparatus of any one of Examples 110-132, wherein the at least one data transmitting device is physically separate from the at least one data receiving device. 135. The apparatus of any one of Examples 110 to 134, wherein the data transmitting dynamic system and the data receiving dynamic system are configured to be synchronized. 136. The apparatus of any one of Examples 110 to 135, wherein the at least one data transmitting device is further configured to receive at least one data transmitting device initial state indication signal that indicates at least a portion of an initial state of the data transmitting dynamic system. 137. The apparatus of any one of Examples 110-135, wherein the at least one data transmission device is further configured to generate at least a portion of the initial state of the data transmission dynamic system. 138. The apparatus of Example 137, wherein the at least one data transmission device is configured to generate at least a portion of the initial state of the data transmission dynamic system by generating at least a portion of the initial state of the data transmission dynamic system in response to user input to the at least one data transmission device. 139. The device of example 138, wherein the user input includes a password. 140. The apparatus of Example 137, wherein the at least one data transmission device is configured to generate at least a portion of the initial state of the data transmission dynamic system by generating at least a portion of the initial state of the data transmission dynamic system in response to a pseudorandom number generator implemented by the at least one data transmission device. 141. The apparatus of Example 137, wherein the at least one data receiving device is configured to generate at least a portion of the initial state of the data transmission dynamic system by generating at least a portion of the initial state of the data transmission dynamic system in response to a pseudorandom number generator implemented by the at least one data receiving device. 142. The apparatus of any one of Examples 137-141, wherein the at least one data transmission signal further encodes at least a portion of an initial state of the data transmission dynamic system. 143. The apparatus of Example 142 when directly or indirectly dependent on Example 110 or 112, wherein at least one data receiving device is further configured to at least generate at least some outputs of the data receiving dynamic system according to at least a portion of the initial state. 144. The apparatus of Example 142 or 143 when directly or indirectly dependent on Example 111, wherein at least one data transmission device is further configured to at least generate at least some outputs of the data transmission dynamic system according to at least a portion of the initial state. 145. The apparatus of any one of Examples 110 to 144, wherein the at least one data receiving device is further configured to receive at least one data receiving device initial state indication signal that indicates at least a portion of an initial state of the data receiving dynamic system. 146. The apparatus of any one of Examples 110 to 145, wherein the at least one data transmission signal further encodes at least an identification of a range of a propagation stage of the data transmission dynamic system that results in an output of the data transmission dynamic system. 147. The apparatus of any one of Examples 110 to 145, wherein the at least one data transmitting device is further configured to receive at least one propagation identification signal that identifies a range of a propagation stage of the data transmitting dynamic system for generating at least an output of the data transmitting dynamic system. 148. The apparatus of Example 146 or 147 when directly or indirectly dependent on Example 111, wherein at least one data transmission device is further configured to generate at least some outputs of the data transmission dynamic system according to at least a range of the propagation stage. 149. A data-transmitting dynamic system includes a data-transmitting artificial neural network having a plurality of data-transmitting node values ​​associated with respective artificial neurons of a plurality of data-transmitting artificial neurons of the data-transmitting artificial neural network, each node value of the plurality of data-transmitting node values ​​being modifiable according to at least one of a plurality of data-transmitting input values; 149. The apparatus of any one of Examples 110 to 148, wherein the data receiving dynamic system comprises a data receiving artificial neural network having a plurality of data receiving node values ​​associated with respective artificial neurons of a plurality of data receiving artificial neurons of the data receiving artificial neural network, each node value of the plurality of data receiving node values ​​being modifiable according to at least one of a plurality of data receiving input values. 150. A data transmission dynamic system includes a plurality of data transmission node values, each node value of the plurality of data transmission node values ​​being modifiable according to at least one of a plurality of data transmission input values; The apparatus of any one of Examples 110 to 148, wherein the data reception dynamic system includes a plurality of data reception node values, each node value of the plurality of data reception node values ​​being modifiable according to at least one of a plurality of data reception input values. 151. The data transmission dynamic system is defined at least in part by a plurality of data transmission weights, each weight of the plurality of data transmission weights defining at least a portion of an effect of a respective data transmission input value of a plurality of data transmission input values ​​on a respective node value of a plurality of data transmission node values; The apparatus of Example 149 or 150, wherein the data reception dynamic system is defined at least in part by a plurality of data reception weights, each weight of the plurality of data reception weights defining at least a portion of the effect of a respective data reception input value of a plurality of data reception input values ​​on a respective node value of a plurality of data reception node values. 152. The apparatus of example 151, wherein the plurality of data transmit weights and the plurality of data receive weights are configured to be synchronized. 153. The apparatus of example 151 or 152, wherein the plurality of data transmission weights remain constant during implementation of the data transmission dynamic system, and the plurality of data reception weights remain constant during implementation of the data reception dynamic system. 154. A data-transmitting artificial neural network is a data-transmitting spiking artificial neural network that, when implemented, identifies a plurality of data-transmitting dynamic system events, each of the plurality of data-transmitting dynamic system events being associated with a plurality of data-transmitting artificial neurons and a respective propagation stage of the data-transmitting spiking artificial neural network when each of the artificial neurons meets a data-transmitting spiking criterion; The data-receiving artificial neural network, when implemented, is a data-receiving spiking artificial neural network that identifies a plurality of data-receiving dynamic system events, each of the plurality of data-receiving dynamic system events being associated with a plurality of data-receiving artificial neurons and a respective propagation stage of the data-receiving spiking artificial neural network when each of the artificial neurons meets a data-receiving spiking criterion; The apparatus of example 151, 152, or 153, when the transmitted data identifies at least some dynamic system event of example 149 or is directly or indirectly dependent on example 149. 155. When implemented, the data transmission dynamic system identifies a plurality of data transmission dynamic system events, each event of the plurality of data transmission dynamic system events being associated with a respective node value of a plurality of data transmission node values ​​and a respective propagation stage of the data transmission dynamic system when the respective node value satisfies a data transmission discretization criterion; When implemented, the data receiving dynamic system identifies a plurality of data receiving dynamic system events, each event of the plurality of data receiving dynamic system events being associated with a respective node value of the plurality of data receiving node values ​​and a respective propagation stage of the data receiving dynamic system when the respective node value satisfies a data receiving discretization criterion; The apparatus of example 151, 152, or 153, when the transmitted data identifies at least some dynamic system events or is directly or indirectly dependent on example 150. 156. The data transmission dynamic system, when implemented, identifies a plurality of data transmission dynamic system events, each event of the plurality of data transmission dynamic system events being associated with the data transmission dynamic system satisfying a data transmission discretization criterion; The data receiving dynamic system, when implemented, identifies a plurality of data receiving dynamic system events, each event of the plurality of data receiving dynamic system events being associated with the data receiving dynamic system satisfying a data receiving discretization criterion; Illustrative examples 110-153 show an apparatus according to any one of examples 110-153, wherein the transmitted data identifies at least some dynamic system events. 157. The apparatus of example 154, 155, or 156, when the output of the data receiving dynamic system is directly or indirectly dependent on example 110 or 112, and includes identification information for at least a portion of a plurality of data receiving dynamic system events. 158. The apparatus described in Example 157 when dependent on Example 131, wherein the difference between the transmitted data and at least some outputs of the data receiving dynamic system includes a difference between a dynamic system event identified by the transmitted data and at least some of the plurality of data receiving dynamic system events. 159. The apparatus of any one of examples 154 to 158, when the output of the data transmission dynamic system is directly or indirectly dependent on example 111, including identification information for at least some of the multiple data transmission dynamic system events. 160. The apparatus described in Example 159 when dependent on Example 129, wherein the difference between at least some outputs of the data transmitting dynamic system and the transmitted data includes a difference between at least some of the plurality of data transmitting dynamic system events and the dynamic system events identified by the transmitted data. 161. The apparatus of example 158 or 160, or example 159 when dependent on example 158, wherein the difference includes at least one additional dynamic system event added to the dynamic system event identified by the transmitted data. 162. The apparatus of example 161, wherein each additional dynamic system event of the at least one additional dynamic system event encodes a respective bit of communication data. 163. The apparatus of example 158, 160, 161, or 162, or example 159 when dependent on example 158, wherein the difference includes at least one omitted dynamic system event that is omitted from the dynamic system events identified by the transmitted data. 164. The apparatus of example 163, wherein each omitted dynamic system event of the at least one omitted dynamic system event encodes a respective bit of communication data. 165. The apparatus of example 158, example 159 when dependent on example 158, or any one of examples 160 to 164, wherein the difference includes at least one shift dynamic system event, and each shift dynamic system of the at least one shift dynamic system event is shifted by a respective shift amount to a respective different propagation stage. 166. The apparatus of any one of examples 158 to 164 when subject to example 149 or 150, wherein the difference includes at least one shift dynamic system event, and each shift dynamic system of the at least one shift dynamic system event is shifted by a respective shift amount to a respective different data transmission node value. 167. The apparatus of example 165 or 166, wherein each shift amount of at least one shift dynamic system event indicates a respective amplitude of a respective basis function of the communication data. 168. The apparatus of example 165 or 166, wherein each shift amount of at least one shift dynamic system event encodes at least one bit of communication data. 169. The apparatus of any one of Examples 49 to 60 when subordinate to Example 154, wherein the identification information of the dynamic system event includes identification information of the artificial neuron and propagation stage associated with the dynamic system event. 170. An apparatus described in any one of examples 49 to 60 when directly or indirectly dependent on example 155, wherein the identification information of the dynamic system event includes identification information of a node value and a propagation stage associated with the dynamic system event. 171. The apparatus of any one of Examples 110 to 170, wherein the at least one data transmission device is a single device. 172. The apparatus of any one of Examples 110 to 171, wherein at least one data transmission device includes a mobile device. 173. The apparatus of any one of Examples 110 to 171, wherein the at least one data transmission device includes a telephone. 174. The apparatus of any one of Examples 110 to 171, wherein the at least one data transmission device includes a camera. 175. The apparatus of any one of Examples 110 to 171, wherein at least one data transmission device is a card. 176. The apparatus of any one of Examples 110 to 171, wherein the at least one data transmitting device includes a data transmitting medical device. 177. The apparatus of any one of Examples 110 to 171, wherein at least one data transmission device comprises a network node of a computer network. 178. The apparatus of any one of Examples 110 to 171, wherein at least one data transmission device includes a router of a computer network. 179. The apparatus of any one of Examples 110 to 178, wherein at least one data receiving device includes a mobile device. 180. The apparatus of any one of Examples 110 to 178, wherein the at least one data receiving device includes a telephone. 181. The apparatus of any one of Examples 110 to 178, wherein at least one data receiving device comprises a network node of a computer network. 182. The apparatus of any one of Examples 110 to 178, wherein at least one data receiving device includes a router of a computer network. 183. The apparatus of any one of Examples 110 to 180, wherein at least one data receiving device includes a user computing device. 184. The apparatus of any one of Examples 110 to 174, wherein at least one data transmission device includes a user computing device. 185. The apparatus of any one of Examples 110 to 178, wherein at least one data receiving device includes a server computing device. 186. The apparatus of any one of Examples 110 to 181, wherein at least one data transmission device includes a server computer device. 187. The apparatus of any one of Examples 110 to 186, wherein the at least one data receiving device includes a data receiving medical device. 188. The apparatus of any one of Examples 110 to 187, wherein the at least one data transmission device is independent of one another and includes a plurality of data transmission devices that collectively implement a data transmission dynamic system. 189. The apparatus of any one of Examples 110-188, wherein the at least one data transmission signal includes at least one wireless signal. 190. The apparatus of any one of Examples 110 to 189, wherein the at least one data transmission signal includes at least one optical signal displayed by the at least one data transmission device. 191. The device of example 190, wherein at least one optical signal includes a QR code. 192. The apparatus of any one of Examples 110-191, wherein the at least one data transmission device includes at least one data transmission processor circuit configured to simulate a data transmission dynamic system. 193. The apparatus of Example 192 when dependent on Example 151, wherein the at least one data transmit processor circuit includes at least one computer-readable data transmit memory that stores a plurality of data transmit weights. 194. The apparatus of example 193, wherein the plurality of data transmission weights are encrypted in at least one computer-readable data transmission memory. 195. The apparatus of any one of Examples 110-191, wherein the at least one data transmission device includes at least one data transmission circuit configured to directly implement the data transmission dynamic system. 196. The apparatus of Example 195, wherein the at least one data transmission circuit includes at least one data transmission analog circuit. 197. The apparatus of Example 196 when dependent on Example 151, wherein at least one data transmission analog circuit comprises a plurality of resistors defining a plurality of data transmission weights. 198. The apparatus of example 195, wherein the at least one data transmission circuit includes a data transmission configurable logic block. 199. The apparatus of example 198, wherein the at least one data transmission circuit includes a data transmission FPGA including a data transmission configurable logic block. 200. The apparatus of any one of Examples 110-199, wherein the at least one data receiving device includes at least one data receiving processor circuit configured to simulate a data receiving dynamic system. 201. The apparatus of Example 200 when dependent on Example 151, wherein the at least one data reception processor circuit includes at least one computer-readable data reception memory that stores a plurality of data reception weights. 202. The apparatus of example 201, wherein the plurality of data reception weights are encrypted in at least one computer-readable data reception memory. 203. The apparatus of any one of Examples 110-199, wherein the at least one data receiving device includes at least one data receiving circuit configured to directly implement the data receiving dynamic system. 204. The apparatus of example 203, wherein the at least one data receiving circuit includes at least one data receiving analog circuit. 205. The apparatus of Example 204 when dependent on Example 151, wherein at least one data receiving analog circuit comprises a plurality of resistors defining a plurality of data receiving weights. 206. The apparatus of example 203, wherein the at least one data receiving circuit includes a data receiving configurable logic block. 207. The apparatus of example 206, wherein the at least one data reception circuit includes a data reception FPGA including a data reception configurable logic block. 208. The apparatus of any one of Examples 110 or 112, or when directly or indirectly dependent on Example 110 or 112, of Examples 113 to 207, wherein the at least one data receiving device is further configured to generate at least one output signal in response to a comparison of at least some of the transmitted data with at least some outputs of the data receiving dynamic system. 209. The apparatus of example 208 when at least one output signal is directly or indirectly dependent on example 113, indicating at least whether the user has been successfully authenticated. 210. The apparatus of example 208 when at least one output signal is directly or indirectly dependent on example 126 or 127 indicating at least whether the document is authenticated. 211. The apparatus of example 208 when at least one output signal is directly or indirectly dependent on example 130 or 131, at least indicative of at least a portion of the communication data. 212. An apparatus for generating a cryptographic hash output, comprising: at least one device, the at least one device comprising at least: receiving at least one input signal encoding at least one input value, wherein the at least one device implements a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable according to at least the at least one input value; identifying at least a plurality of dynamic system events, each event of the plurality of dynamic system events being associated with a respective node value of a plurality of node values ​​and a respective propagation stage of the dynamic system when the node value satisfies a discretization criterion; generating at least one output signal that identifies at least a plurality of dynamic system events; 1. An apparatus for generating a cryptographic hash output configured to: 213. The apparatus of example 212, wherein the dynamic system is at least partially defined by a plurality of weights, each weight of the plurality of weights defining at least a portion of an effect of a respective input value of at least one input value on a respective node value of a plurality of node values. 214. The apparatus of Example 213, wherein the dynamical system is a spiking artificial neural network, each node value of the plurality of node values ​​is associated with a respective artificial neuron of the plurality of artificial neurons, and each event of the plurality of dynamical system events is associated with a respective artificial neuron of the plurality of artificial neurons and a respective propagation stage of the spiking artificial neural network when the respective artificial neuron satisfies a spiking criterion. 215. The at least one device is further configured to at least create a new entry in the ledger that includes an existing entry; the at least one input value includes at least a portion of data from an existing entry; Illustrative examples 212, 213, or 214, wherein the new entry includes identification information for at least some of the plurality of dynamic system events. 216. The apparatus of example 212, 213, 214, or 215, wherein the ledger is a public ledger. 217. The apparatus of example 216, wherein the public ledger is a blockchain.

Claims

1. 1. A data transmission method, comprising: causing at least one data receiving device to receive at least one data transmission signal from at least one data transmitting device implementing a data transmission dynamic system; to said at least one data receiving device, (a) transmitting at least a portion of the transmitted data being transmitted by the at least one data transmission signal; (b) comparing the output of at least some of the data receiving dynamic systems implemented by the at least one data receiving device; A data transmission method, including:

2. 1. A data transmission method, comprising: causing at least one data transmitting device to generate transmitted data at least in accordance with at least some outputs of a data transmitting dynamic system implemented by said at least one data transmitting device; causing the at least one data transmitting device to transmit at least one data transmission signal transmitting at least the transmission data to at least one data receiving device implementing a data receiving dynamic system; A data transmission method, including:

3. to said at least one data receiving device, (a) at least a portion of the transmission data, 3. The method of claim 2, further comprising: (b) comparing the data received with at least some outputs of a dynamic system.

4. The method of claim 1 , 2 or 3 further comprising having the at least one data receiving device authenticate a user of the at least one data transmitting device.

5. The method of claim 1 , 2 or 3 further comprising having the at least one data receiving device authenticate the at least one data transmitting device.

6. The method of claim 1 , 2 or 3 further comprising having the at least one data transmission device authenticate a document.

7. 4. The method of claim 2 or 3, wherein causing the at least one data transmitting device to generate the transmission data includes causing the at least one data transmitting device to encrypt the communication data to be transmitted from the at least one data transmitting device to the at least one data receiving device by at least modifying the at least some outputs of the data transmitting dynamic system according to communication data to create a difference between the at least some outputs of the data transmitting dynamic system and the transmission data.

8. the data transmitting dynamic system comprises a data transmitting artificial neural network having a plurality of data transmitting node values ​​associated with respective artificial neurons of a plurality of data transmitting artificial neurons of the data transmitting artificial neural network, each node value of the plurality of data transmitting node values ​​being modifiable according to at least one of a plurality of data transmitting input values; 8. The method of claim 1, wherein the data-receiving dynamic system comprises a data-receiving artificial neural network having a plurality of data-receiving node values ​​associated with respective artificial neurons of a plurality of data-receiving artificial neurons of the data-receiving artificial neural network, each node value of the plurality of data-receiving node values ​​being modifiable in accordance with at least one of a plurality of data-receiving input values.

9. the data transmission dynamic system includes a plurality of data transmission node values, each node value of the plurality of data transmission node values ​​being modifiable according to at least one of a plurality of data transmission input values; 8. The method of claim 1, wherein the data reception dynamic system includes a plurality of data reception node values, each node value of the plurality of data reception node values ​​being modifiable according to at least one of a plurality of data reception input values.

10. The data transmission dynamic system is defined at least in part by a plurality of data transmission weights, each weight of the plurality of data transmission weights comprising: defining at least a portion of an effect of each of the plurality of data receiving input values ​​on a node value of each of the plurality of data receiving node values; 10. The method of claim 8 or 9, wherein the data reception dynamic system is at least partially defined by a plurality of data reception weights, each weight of the plurality of data reception weights defining at least a portion of the effect of a respective data reception input value of the plurality of data reception input values ​​on a respective node value of the plurality of data reception node values.

11. The method of claim 10 , wherein the plurality of data transmission weights remain constant during performance of the data transmission dynamic system, and the plurality of data reception weights remain constant during performance of the data reception dynamic system.

12. the data transmission dynamic system, when implemented, identifies a plurality of data transmission dynamic system events, each event of the plurality of data transmission dynamic system events being associated with the data transmission dynamic system satisfying a data transmission discretization criterion; the data reception dynamic system, when implemented, identifies a plurality of data reception dynamic system events, each event of the plurality of data reception dynamic system events being associated with the data reception dynamic system satisfying a data reception discretization criterion; The method of claim 1 , wherein the transmitted data identifies at least some dynamic system events.

13. 13. The method of claim 12 when directly or indirectly dependent on claim 1 or claim 3, wherein the output of the data receiving dynamic system includes identification of at least some of the plurality of data receiving dynamic system events.

14. 14. The method of claim 12 or 13 when directly or indirectly dependent on claim 2, wherein the output of the data transmitting dynamic system includes identification of at least some of the plurality of data transmitting dynamic system events.

15. 15. The method of claim 14 when directly or indirectly dependent on claim 7, wherein the difference between the at least some outputs of the data transmitting dynamic system and the transmitted data comprises a difference between the at least some of the plurality of data transmitting dynamic system events and the dynamic system events identified by the transmitted data.

16. 16. The method of claim 15, wherein the difference comprises at least one additional dynamic system event added to the dynamic system event identified by the transmitted data, at least one omitted dynamic system event omitted from the dynamic system event identified by the transmitted data, or at least one shifted dynamic system event, each shifted dynamic system event of the at least one shifted dynamic system event being shifted by a respective shift amount to a respective different propagation stage.

17. 1. A method for generating a cryptographic hash output, comprising: causing at least one device to receive at least one input signal encoding at least one input value, the at least one device implementing a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable according to at least the at least one input value; causing the at least one device to identify at least a plurality of dynamic system events, each event of the plurality of dynamic system events being associated with a respective node value of the plurality of node values ​​and a respective propagation stage of the dynamic system when the node value satisfies a discretization criterion; causing said at least one device to generate at least one output signal identifying said plurality of dynamic system events; 1. A method for generating a cryptographic hash output, comprising:

18. at least, receiving at least one data transmission signal from at least one data transmitting device configured to implement a data transmitting dynamic system; (a) transmitting at least a portion of the transmitted data being transmitted by the at least one data transmission signal; (b) comparing with at least some outputs of a data receiving dynamic system implemented by said at least one data receiving device; A data transmission apparatus comprising at least one data receiving device configured to:

19. at least, generating transmission data at least in accordance with at least some outputs of a data transmission dynamic system implemented by at least one data transmission device; transmitting at least one data transmission signal transmitting at least said transmission data to at least one data receiving device configured to implement a data reception dynamic system; A data transmission apparatus comprising at least one data transmission device configured to:

20. 1. An apparatus for generating a cryptographic hash output, comprising: at least one device, the at least one device comprising at least: receiving at least one input signal encoding at least one input value, the at least one device implementing a dynamic system including a plurality of node values, each node value of the plurality of node values ​​being modifiable according to at least the at least one input value; identifying at least a plurality of dynamic system events, each of the plurality of dynamic system events being associated with a respective node value of the plurality of node values ​​and a respective propagation stage of the dynamic system when the node value satisfies a discretization criterion; generating at least one output signal identifying at least said plurality of dynamic system events; 1. An apparatus for generating a cryptographic hash output configured to: