Automorphic transformation of signal samples in the transmitter or receiver
Patent Information
- Application Number
- JP2023548235
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-02-10
- Filing Date
- 2022-02-10
- Publication Date
- 2025-03-05
- Estimated Expiration
- 2042-02-10
AI Technical Summary
Existing communication systems introduce errors and noise when applying non-linear transformations to data samples, particularly in cryptographic contexts, due to transformations based on the values of the data samples themselves.
Applying automorphic transformations generated from random or pseudorandom values, independent of the data samples, using linear or antilinear mappings to partition and transform data blocks, ensuring noise-free data transmission.
The approach ensures error-free and noise-free data transmission by using automorphic transformations based on random or pseudorandom values, maintaining data integrity and security without introducing additional noise.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 147,919, entitled “Automorphic Transformations of Signal Samples Within a Transmitter or Receiver,” filed February 10, 2021, which is incorporated by reference in its entirety.
[0002] The present disclosure relates to encryption in data communications, and more particularly to applying automorphic transforms to signal samples within a signal processing context. [Background technology]
[0003] Telecommunications involves the transmission of data in a wired or wireless system. Wireless communication involves exchanging data between points in a communication channel using electromagnetic waves and no electrical conductors. A basic telecommunications system includes a transmitter, a transmission medium, and a receiver. The transmitter converts data into a signal. The transmission medium conveys the signal to the receiver, which then converts the signal back into data for the recipient. Summary of the Invention
[0004] In some embodiments, the method includes receiving data and a plurality of values at a processor. The data may include real-valued data and / or complex-valued data. The plurality of values may include one of a plurality of random values (e.g., generated by and / or received from a random number generator) or a plurality of pseudo-random values (e.g., generated by and / or received from a pseudo-random number generator). The method also includes generating, via the processor, an automorphism based on the plurality of values, and partitioning, via the processor, the data into a plurality of data blocks. The automorphism includes at least one of a linear transformation or an anti-linear transformation. Each data block from the plurality of data blocks may have a predefined size. The method also includes applying, via the processor, an automorphism to each data block from the plurality of data blocks to generate a plurality of transformed data blocks, and generating a transmission of a signal representative of the plurality of transformed data blocks. Once received, an inverse of the automorphism may be applied to the plurality of transformed data blocks to transform the plurality of transformed data blocks into the original data.
[0005] In some embodiments, a system includes a processor and a memory storing processor-executable instructions. The processor-executable instructions include instructions to receive a plurality of values and instructions to generate an automorphism based on the plurality of values. The plurality of values includes one of a plurality of random values or a plurality of pseudo-random values. The processor-executable instructions also include instructions to divide the data set into a plurality of data blocks, such that each data block from the plurality of data blocks has a predefined size. The processor-executable instructions also include instructions to apply an automorphism to each data block from the plurality of data blocks, instructions to generate a plurality of transformed data blocks, and instructions to generate a transmission of a signal representative of the plurality of transformed data blocks. [Brief description of the drawings]
[0006] [Figure 1]FIG. 1 is a flow chart illustrating a method for applying an automorphic transformation to data for transmission in a communication system, according to one embodiment. [Diagram 2] FIG. 2 is a diagram of a system for applying an automorphic transformation to data for transmission in a communication system, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] In some known communication systems, received data samples are transformed based on the value of the data sample itself. For example, a transformation applied to a first sample may be based on the phase or magnitude of a second sample. Such an approach may introduce errors, for example, when implemented in a cryptographic context where the transformation may be nonlinear. In contrast, embodiments of the present disclosure, as discussed below, transform the received data based on the output of a random number generator (RNG) or pseudorandom number generator (PRNG), regardless of the value of the received data sample itself. Because the RNG and / or PRNG output is itself nonlinear, the transformation applied to the received data may be linear, thereby avoiding the introduction of noise into the data.
[0008] According to some embodiments, the system of the present disclosure may include a random number generator (RNG), a pseudorandom number generator (PRNG), or any other source of random and / or pseudorandom values. The random and / or pseudorandom values may include binary values, real values, complex values, and / or values from any other mathematical ring or field. At least one automorphism (or "automorphic transformation", also referred to herein as a transformation) is generated, each automorphism being generated based on one of a random value (i.e., the output of the RNG), a pseudorandom value (i.e., the output of the PRNG), or an external factor. Each automorphism may be linear, antilinear, or a combination thereof.
[0009] In some embodiments, incoming data (e.g., represented as real signal samples and / or complex signal samples such as baseband I / Q) is received (e.g., via a receiver) and partitioned into multiple blocks of data ("data blocks"). Each data block from the multiple data blocks can have a predefined size (e.g., a user-defined size or a processor-determined size) such that the data blocks are compatible with the automorphism. Each data block includes a subset of the incoming data. In some implementations, the data block does not include any bits. The automorphism is generated based on one or more random and / or pseudorandom values and is applied to each of the data blocks within the context (i.e., internal to) the signal transmitter or receiver.
[0010] As used herein, an automorphic transformation, or "automorphism," refers to an isomorphic mapping of a block of data to itself, where an isomorphic mapping is a structure-preserving mapping between two structures of the same type that can be inverted by an inverse mapping. In the particular context of this application, an automorphism refers to an invertible mapping from a space of blocks of signal samples to itself, when viewed as a point in complex Hilbert space. Since such blocks are always finite in dimension, an automorphism can be viewed as an element of a general linear group operating on blocks of signal samples.
[0011] In some embodiments, the RNG generates pairs (z1, z2) of complex values. Each pair is then used to form an associated unitary matrix, for example, as follows:
number
[0012] In other embodiments, the RNG has the formula
number
number
number
[0013] In some embodiments, an automorphism is a linear or anti-linear transformation that is generated based on the RNG and / or PRNG output, and is not based on any values in the incoming data or data block. Alternatively or additionally, an automorphism can be generated based on another factor, such as the size of a given data block to which the automorphism is applied.
[0014] In some embodiments, the automorphism is an arbitrary linear / antilinear automorphism generated based on the RNG output and / or PRNG output and does not include layering (whether simultaneous, concurrent, or sequential) of two transformations (e.g., permutations and primitive matrices) from a predefined list of transformations.
[0015] In some embodiments, the generation of the automorphism is not based on the received (to be transformed) data, and therefore does not involve splitting the received data into magnitude and code vectors, reordering the magnitudes, or applying a series of non-linear layers to the code vectors. Rather, the automorphisms of the present disclosure are generated based on the RNG / PRNG output, are linear / anti-linear, and are applied to blocks of received data.
[0016] FIG. 1 is a flow chart illustrating a method for applying an automorphic transformation to data for transmission in a communication system, according to one embodiment. As shown in FIG. 1, the method 100 includes receiving data (e.g., including real-valued data and / or complex-valued data) at 102 and partitioning or subdividing the data into a plurality of data blocks at 104. The method 100 also includes receiving at least one value at 106, the at least one value including a random value (e.g., generated by and / or received from a random number generator) or a pseudorandom value (e.g., generated by and / or received from a pseudorandom number generator). The method 100 also includes generating an automorphism based on the at least one value (and not based on the received data) at 108. The automorphism may include a linear transformation and / or an antilinear transformation. In some implementations, each data block from the plurality of data blocks has a common predefined size. In other implementations, the data blocks from the plurality of data blocks may have different sizes that vary, for example, within the plurality of data blocks at a given time or over time according to a predefined pattern that changes the data block size. In some such implementations, a representation of the block size may be transmitted / communicated in the transformed data block. The method 100 also includes applying an automorphism to each data block from the plurality of data blocks to generate a plurality of transformed data blocks, at 110, and generating a transmission of a signal representing the plurality of transformed data blocks, at 112. Optionally, steps 106-110 are repeated a predefined number of times (e.g., 2 times, 3 times, 4 times, etc.) before the transmission at 112.
[0017] In some embodiments, a method includes receiving data (e.g., including real-valued data and / or complex-valued data) and partitioning or subdividing the data into a plurality of data blocks. A series or successive automorphisms (e.g., two, three, four, or more automorphisms) can then be applied to each data block from the plurality of data blocks prior to transmission. For example, in one embodiment, during transformation, a first automorphism (e.g., generated by a first PRNG output) is applied to a given data block to generate a first transformed data block. Then, a second automorphism (e.g., generated by a second PRNG output different from the first PRNG output) is applied to the first transformed data block to generate a second transformed data block. Then, a third automorphism (e.g., generated based on a first extrinsic factor) is applied to the second transformed data block to generate a third transformed data block. Then, a fourth automorphism (e.g., generated based on a second extrinsic factor different from the first extrinsic factor) is applied to the third transformed data block to generate a fourth transformed data block. When the above procedure is applied to all of the data blocks, a plurality of fourth transformed data blocks is obtained, and the method may include generating (e.g., to a remote receiver) a transmission of a signal representing the plurality of fourth transformed data blocks.
[0018] 2 is a diagram of a system 200 for applying an automorphic transformation to data for transmission in a communication system, according to one embodiment. As shown in FIG. 2, the system 200 includes a transmitter 220, a receiver 240, and, optionally, a computing device 230 including a random number generator (RNG) and / or a pseudorandom number generator (PRNG). The transmitter 220, the receiver 240, and the computing device 230 can communicate with each other via a communication network "N" (e.g., a wireless communication network or a wired communication network). The transmitter 220 includes a processor 222, a transmission circuit 224 (e.g., including one or more antennas), and a memory 226. The memory 226 stores the data block 226A (e.g., as obtained in step 108 of the method 100 of FIG. 1), the block size 226B, the automorphism 226C (e.g., as generated in step 106 of the method 100 of FIG. 1), and optionally a random number generator 226D and / or a pseudorandom number generator 226E. The block size 226B can be predefined by an administrator or user, for example, via a graphical user interface (GUI) of the transmitter 220, or can be automatically defined and changed based on one or more of, for example, the security level of the communication system, the nature of the communication system, or the desired processing time (e.g., if larger data blocks take longer to process than smaller data blocks). Similar to the transmitter 220, the receiver 240 includes a processor 242, a receiving circuit 244 (e.g., including one or more antennas), and a memory 246. The memory 246 stores a data block 246A, a block size 246B, an automorphism 246C, and optionally a random number generator 246D and / or a pseudo-random number generator 246E.
[0019] In some embodiments, a method (e.g., for transmitting data) includes receiving data and a plurality of values at a processor. The data can include real-valued data and / or complex-valued data. The plurality of values includes one of a plurality of random values (e.g., generated by and / or received from a random number generator) or a plurality of pseudo-random values (e.g., generated by and / or received from a pseudo-random number generator). The method also includes generating, via the processor, an automorphism based on the plurality of values, and partitioning, via the processor, the data into a plurality of data blocks. The automorphism includes at least one of a linear transformation or an anti-linear transformation. Each data block from the plurality of data blocks can have a predefined size. The method also includes applying, via the processor, an automorphism to each data block from the plurality of data blocks to generate a plurality of transformed data blocks, and generating a transmission of a signal representative of the plurality of transformed data blocks.
[0020] In some embodiments, no data block from the multiple data blocks consists of individual bits. Rather, each data block includes one or more real / complex signal samples (which may be represented by a set of bits), so that the automorphism is applied to the real / complex signal samples rather than to the individual bits. In other words, from a mathematical perspective, the automorphism does not perform a binary operation on the multiple data blocks. This is in contrast to other techniques (e.g., encryption, scrambling, etc.) that involve direct actions on bits.
[0021] In some embodiments, the plurality of values comprises a plurality of random values, and the plurality of random values comprises a pair of complex values. In some such embodiments, an automorphism is defined as follows:
number
[0022] In some embodiments, the plurality of values includes a plurality of random value values, and each random value from the plurality of random value values is represented by the formula
number
[0023] In some embodiments, a system (e.g., a transmitter, such as transmitter 220 of FIG. 2) includes a processor and a memory storing processor-executable instructions. The processor-executable instructions include instructions to receive a plurality of values and instructions to generate an automorphism based on the plurality of values. The plurality of values includes one of a plurality of random values or a plurality of pseudo-random values. The processor-executable instructions also include instructions to divide the data set into a plurality of data blocks, such that each data block from the plurality of data blocks has a predefined size. The processor-executable instructions also include instructions to apply an automorphism to each data block from the plurality of data blocks, generate a plurality of transformed data blocks, and generate a transmission (e.g., to a receiver, such as receiver 240 of FIG. 2) of a signal representative of the plurality of transformed data blocks.
[0024] In some embodiments, an automorphism consists of a single matrix (eg, a unitary matrix) rather than a combination or hierarchy of matrices.
[0025] In some embodiments, the automorphism comprises at least one of a linear transformation or an anti-linear transformation.
[0026] In some embodiments, the data set includes real samples and complex samples of baseband signal data.
[0027] In some embodiments, no data block from the plurality of data blocks is made up of individual bits.
[0028] In some embodiments, the plurality of values comprises a plurality of random values, and the plurality of random values comprises a pair of complex values.
[0029] In some embodiments, an automorphism is defined as follows:
number
[0030] In some embodiments, the plurality of values includes a plurality of random value values, and each random value from the plurality of random value values is represented by the formula
number
[0031] In some embodiments, the plurality of values is a plurality of values generated by a random number generator.
[0032] In some embodiments, the plurality of values is a plurality of values generated by a pseudo-random number generator.
[0033] In some embodiments, a system (e.g., a receiver such as receiver 240 of FIG. 2) includes a processor and a memory. The memory stores instructions for causing the processor to receive or generate a plurality of values, including one of a plurality of random or pseudorandom values, and to generate an automorphism based on the plurality of values. The memory also stores instructions for causing the processor to receive a signal representing a data block (e.g., from a transmitter such as transmitter 220 of FIG. 2), and to apply an inverse of the automorphism to the data block to obtain a modified data block. The received data block may include transformed data, and application of the inverse automorphism can undo / reverse a previously applied transformation to convert the transformed data into the original data. In some such embodiments, the transmitter and receiver can be synchronized such that each of the transmitter and receiver generates or receives the same random or pseudorandom values, either at the same time or at a predefined time shift from each other.
[0034] As used herein, a "transmitter" or "signal transmitter" can include any combination of components used to transmit a signal, including any combination of antennas, amplifiers, cables, digital-to-analog converters, filters, up-converters, and processors. Similarly, as used herein, a "receiver" or "signal receiver" can include any combination of components used to receive a signal, including any combination of antennas, amplifiers, cables, analog-to-digital converters, filters, down-converters, and processors.
[0035] Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software (executed by or stored in hardware), or in combinations thereof. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied in, for example, a machine-readable storage device (computer-readable medium, non-transitory computer-readable storage medium, tangible computer-readable storage medium, see, for example, media 112 and 114 in FIG. 1 ), for processing by or controlling the operation of a data processing device, for example, a programmable processor, a computer, or multiple computers. Computer programs, such as those described above, may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, such as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be processed on one computer, or on multiple computers at one site or distributed across multiple sites, and interconnected by a communication network.
[0036] The method steps may be performed by one or more programmable processors executing a computer program to perform functions by manipulating input data and generating output. The method steps may also be performed by, and an apparatus may be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0037] Processors suitable for processing computer programs include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from a read-only memory or a random access memory, or both. The elements of a computer may include at least one processor for executing instructions, and one or more memory devices for storing instructions and data. Typically, a computer may also include one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data, or may be operatively coupled to receive data therefrom or transfer data thereto, or both. Information carriers suitable for embodying computer program instructions and data include, by way of example, all forms of non-volatile memory, including semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices, magnetic disks, such as internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0038] To provide for interaction with a user, the implementation may be implemented on a computer having a display device, e.g., a liquid crystal display (LCD or LED) monitor, a touch screen display, for displaying information to the user, as well as a keyboard and a pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices may also be used to provide interaction with a user. For example, feedback provided to the user may be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, speech, or tactile input.
[0039] The implementation may be implemented within a computing system that includes a back-end component, e.g., a data server, or includes a middleware component, e.g., an application server, or includes a front-end component, e.g., a client computer having a graphical user interface or a web browser through which a user can interact with the implementation, or includes any combination of such back-end, middleware, or front-end components. The components may be interconnected by any form or medium of digital data communication, such as, for example, a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.
[0040] While certain features of the implementations have been illustrated as described herein, those skilled in the art will encounter many modifications, substitutions, changes, and equivalents. It will therefore be understood that the appended claims are intended to encompass all such modifications and changes as fall within the scope of the implementations. It will be understood that they are presented for purposes of illustration only, not limitation, and that various changes in form and details may be made. Any part of the apparatus and / or method described herein may be combined in any combination, except in combinations that are mutually inconsistent. The implementations described herein may include various combinations and / or subcombinations of the functions, components, and / or features of the different implementations described.
Claims
1. 1. A method comprising: Receiving data at a processor; receiving, via the processor, a plurality of values, the plurality of values including one of a plurality of random values or a plurality of pseudo-random values; generating an automorphism via the processor based on the plurality of values; partitioning, via said processor, said data into a plurality of data blocks; applying, via the processor, the automorphism to each data block from a plurality of data blocks to generate a plurality of transformed data blocks; generating a transmission of a signal representative of said plurality of transformed data blocks.
2. 2. The method of claim 1, wherein no data block from said plurality of data blocks consists of individual bits.
3. The method of claim 1 , wherein the plurality of values comprises the plurality of random value values, and the plurality of random value values comprises pairs of complex values.
4. The automorphism is defined as: [0010] In the formula, (z 1 , z 2 4. The method of claim 3, wherein * denotes a complex conjugate.
5. the plurality of values includes the plurality of random value values, and each random value from the plurality of random value values is formula [0025] is a random number, where [0030] The method of claim 1, wherein
6. The method of claim 1 , wherein the data comprises real-valued data.
7. The method of claim 1 , wherein the data comprises complex data.
8. The method of claim 1, wherein the data includes baseband data.
9. The method of claim 1 , wherein the automorphism comprises at least one of a linear transformation or an anti-linear transformation.
10. The method of claim 1 , wherein the plurality of values is received from a random number generator or from a pseudo-random number generator.
11. 1. A system comprising: A processor; a memory for storing instructions, the memory storing instructions being configured to include: receiving a plurality of values including one of a random value of a number or a plurality of pseudorandom values; generating an automorphism based on the plurality of values; Dividing the data set into a plurality of data blocks, each data block from the plurality of data blocks having a predefined size; applying the automorphism to each data block from a plurality of data blocks to generate a plurality of transformed data blocks; and a memory storing instructions causing transmission of signals representing the plurality of transformed data blocks.
12. The system of claim 11 , wherein the automorphism comprises a unitary matrix.
13. The system of claim 11 , wherein the automorphism comprises at least one of a linear transformation or an antilinear transformation.
14. The system of claim 11 , wherein the data set includes real and complex samples of baseband signal data.
15. Any data block from the plurality of data blocks may consist of individual bits. The system of claim 11, wherein the
16. The system of claim 11 , wherein the plurality of values comprises the plurality of random value values, and the plurality of random value values comprises pairs of complex values.
17. The automorphism is defined as: [0045] In the formula, (z 1 , z 2 12. The system of claim 11, wherein * denotes a complex conjugate.
18. The plurality of values includes the plurality of random value values, and each random value from the plurality of random value values is expressed by the formula [0050] is a random number, where [006] The system of claim 11 ,
19. The system of claim 11 , wherein the plurality of values is a plurality of values generated by a random number generator.
20. The system of claim 11 , wherein the plurality of values is a plurality of values generated by a pseudorandom number generator.
21. 1. A system comprising: A processor; a memory for storing instructions, the memory storing instructions being configured to include: receiving a plurality of values, the plurality of values including one of a plurality of random values or a plurality of pseudo-random values; generating an automorphism based on the plurality of values; receiving a signal representative of a data block; and and a memory storing instructions for applying the inverse of the automorphism to the data block to obtain a modified data block.