Automorphism of signal samples within a transmitter or receiver

Automorphic transformations using random or pseudo-random generators for data blocks in telecommunications systems address noise issues in nonlinear transformations, ensuring error-free encrypted data transmission.

JP7871275B2Active Publication Date: 2026-06-08RAMPART COMMUNICATIONS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
RAMPART COMMUNICATIONS INC
Filing Date
2022-02-10
Publication Date
2026-06-08

AI Technical Summary

Technical Problem

Existing data transmission methods in telecommunications introduce errors due to nonlinear transformations based on data sample values, particularly in encryption contexts, leading to noise introduction.

Method used

Applying automorphic transformations generated by random or pseudo-random number generators, independent of data sample values, using linear or antilinear operations on data blocks to generate transformed data blocks for transmission, which are then inverted upon reception.

Benefits of technology

This approach avoids noise introduction by ensuring transformations are linear, maintaining data integrity and reducing errors in encrypted data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007871275000015
    Figure 0007871275000015
  • Figure 0007871275000016
    Figure 0007871275000016
  • Figure 0007871275000001
    Figure 0007871275000001
Patent Text Reader

Abstract

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 ​​or a plurality of pseudo-random values. 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.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , ,

[0003] , , ,

[0001] Cross - Reference to Related Applications This application claims the priority and benefit of U.S. Provisional Patent Application No. 63 / 147,919, filed on February 10, 2021, entitled "Automorphic Transformations of Signal Samples Within a Transmitter or Receiver", which is hereby incorporated by reference in its entirety.

[0002] The present disclosure relates to encryption in data communication, and more specifically, to applying automorphic transformations to signal samples within a signal processing context.

Background Art

[0003] Telecommunications involves the transmission of data within wired or wireless systems. Wireless communication involves using electromagnetic waves and not using conductors to exchange data between points within a communication channel. 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, and the receiver 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 ​​in 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 an automorphism based on the plurality of values ​​via the processor, and partitioning the data into a plurality of data blocks via the processor. The automorphism includes at least one of a linear transformation or an inverse linear transformation. Each data block from the plurality of data blocks may have a predefined size. The method also includes applying the automorphism to each data block from the plurality of data blocks via the processor to generate a plurality of transformed data blocks, and generating the transmission of signals representing the plurality of transformed data blocks. Upon reception, the inverse of the automorphism can be applied to the plurality of transformed data blocks to convert the plurality of transformed data blocks back to the original data.

[0005] In some embodiments, the system includes a processor and memory for storing processor-executable instructions. Processor-executable instructions include instructions for receiving a plurality of values ​​and instructions for generating an automorphism based on the plurality of values. The plurality of values ​​include one of a plurality of random values ​​or a plurality of pseudorandom values. Processor-executable instructions also include instructions for dividing a dataset into a plurality of data blocks such that each data block from the plurality of data blocks has a predefined size. Processor-executable instructions also include instructions for applying an automorphism to each data block from the plurality of data blocks, instructions for generating a plurality of transformed data blocks, and instructions for generating the transmission of signals representing the plurality of transformed data blocks. [Brief explanation of the drawing]

[0006] [Figure 1]Figure 1 is a flowchart illustrating a method for applying automorphism to data for transmission within a communication system, according to one embodiment. [Figure 2] Figure 2 is a diagram of a system for applying automorphism to data for transmission within a communication system, according to one embodiment. [Modes for carrying out the invention]

[0007] In some known communication systems, received data samples are transformed based on the values ​​of the data samples themselves. For example, a transformation applied to a first sample may be based on the phase or magnitude of a second sample. Such approaches can introduce errors, for example, if implemented in an encryption context where the transformation may be nonlinear. In contrast, embodiments of the present disclosure transform the received data based on the output of a random number generator (RNG) or pseudo-random number generator (PRNG), regardless of the values ​​of the received data samples themselves, as will be discussed below. Since the RNG and / or PRNG output is nonlinear in itself, the transformation applied to the received data can be linear, thereby avoiding the introduction of noise into the data.

[0008] According to some embodiments, the systems of the 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, as herein also called, an automorphism transformation) is generated, each automorphism being generated based on one of the random values ​​(i.e., the output of the RNG), the pseudorandom values ​​(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 (represented, for example, as real signal samples and / or complex signal samples such as baseband I / Q) is received (e.g., via a receiver) and divided into multiple blocks of data ("data blocks"). Each data block from the multiple data blocks may have a predefined size (e.g., a user-defined size or a processor-determined size) such that the data blocks are automorphic compatible. Each data block contains a subset of the incoming data. In some implementations, data blocks do not contain bits. Automorphisms are generated based on one or more random and / or pseudorandom values ​​and applied to each of the data blocks in the context of the signal transmitter or receiver (i.e., internally).

[0010] As used herein, automorphism, or "automorphism," means an isomorphism from a data block to itself, where the isomorphism is a structure-preserving map between two structures of the same type that can be inverted by an inverse map. In the particular context of this application, an automorphism means an invertible map from the space of signal sample blocks to itself, viewed as a point in complex Hilbert space. Since such blocks are always dimensionally finite, automorphisms can be viewed as elements of a general linear group acting on the signal sample blocks.

[0011] In some embodiments, the RNG generates complex values ​​of pairs (z1, z2). Each pair is then used to form a related unitary matrix, for example, as follows:

number

[0012] In other embodiments, the RNG is formula

number

number

number

[0013] In some embodiments, the automorphism is a linear or inverse transformation generated based on the RNG output and / or PRNG output, and is not based on any values ​​in the incoming data or data block. Alternatively or additionally, the automorphism may be generated based on other factors, 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 involve a hierarchy (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 automorphisms is not based on received (and subsequently transformed) data, and therefore does not involve splitting the received data into magnitude and sign vectors, rearranging the magnitudes, or applying a series of nonlinear layers to the sign vectors. Rather, the automorphisms of this disclosure are generated based on the RNG / PRNG output, are linear / antilinear, and are applied to blocks of received data.

[0016] Figure 1 is a flowchart illustrating a method for applying automorphisms to data for transmission within a communication system, according to one embodiment. As shown in Figure 1, method 100 includes receiving data (e.g., including real-valued data and / or complex-valued data) in 102 and dividing or subdividing the data into multiple data blocks in 104. Method 100 also includes receiving at least one value in 106, which includes at least one random value (e.g., generated by and / or received from a random number generator) or a pseudo-random value (e.g., generated by and / or received from a pseudo-random number generator). Method 100 also includes generating an automorphism in 108 based on at least one value (and not based on the received data). The automorphism may include linear transformations and / or anti-linear transformations. In some implementations, each data block from the multiple data blocks has a common, predefined size. In other implementations, data blocks from multiple data blocks may have different sizes, for example, within multiple data blocks at a given time, or change over time according to a predefined pattern that modifies the data block size. In some such implementations, the representation of the block size may be transmitted / communicated in the transformed data blocks. Method 100 also includes, in 110, applying an automorphism to each data block from multiple data blocks to generate multiple transformed data blocks, and in 112, transmitting a signal representing the multiple transformed data blocks. Optionally, steps 106-110 are repeated a predefined number of times (e.g., 2, 3, 4, etc.) before transmission in 112.

[0017] In some embodiments, the method includes receiving data (e.g., including real-valued data and / or complex-valued data) and dividing or subdividing the data into a plurality of data blocks. A series of or consecutive automorphisms (e.g., two, three, four, or more automorphisms) can then be applied to each data block from the plurality of data blocks before transmission. For example, in one embodiment, during conversion, a first automorphism (e.g., generated by a first PRNG output) is applied to a given data block to generate a first converted data block. Next, a second automorphism (e.g., generated by a second PRNG output different from the first PRNG output) is applied to the first converted data block to generate a second converted data block. Next, a third automorphism (e.g., generated based on a first external factor) is applied to the second converted data block to generate a third converted data block. Next, a fourth automorphism (e.g., generated based on a second external factor different from the first external factor) is applied to the third converted data block to generate a fourth converted data block. When the aforementioned procedure is applied to all data blocks, multiple fourth transformed data blocks are obtained, and this method may include generating the transmission of signals representing multiple fourth transformed data blocks (for example, to a remote receiver).

[0018] Figure 2 is a diagram of a system 200 for applying an automorphism transformation to data for transmission within a communication system, according to one embodiment. As shown in Figure 2, system 200 includes a transmitter 220, a receiver 240, and optionally, a computing device 230 that includes 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 a data block 226A (e.g., such as obtained in step 108 of method 100 of Figure 1), a block size 226B, an automorphism 226C (e.g., such as generated in step 106 of method 100 of Figure 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 a 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., when larger data blocks take more time to process than smaller data blocks). Similar to the transmitter 220, the receiver 240 includes a processor 242, a reception 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 pseudorandom number generator 246E.

[0019] In some embodiments, a method (e.g., for data transmission) 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 an automorphism based on the plurality of values via the processor, and partitioning the data into a plurality of data blocks via the processor. 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 the automorphism to each data block from the plurality of data blocks via the processor to generate a plurality of transformed data blocks, and causing transmission of a signal representing the plurality of transformed data blocks.

[0020] In some embodiments, no data block from the plurality of 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), such that the automorphism is applied to real / complex signal samples rather than individual bits. In other words, from a mathematical perspective, the automorphism does not perform a binary operation on the plurality of data blocks. This is in contrast to other techniques that involve direct action on bits (e.g., encryption, scrambling, etc.).

[0021] In some embodiments, the plurality of values includes a plurality of random values, and the plurality of random values includes pairs of complex-valued numbers. In some such embodiments, the automorphism is defined as follows.

Number

[0022] In some embodiments, multiple values ​​include multiple random values, and each random value from the multiple random values ​​is expressed as

number

[0023] In some embodiments, the system (e.g., a transmitter such as transmitter 220 in Figure 2) includes a processor and memory for storing processor-executable instructions. Processor-executable instructions include instructions for receiving a plurality of values ​​and instructions for generating an automorphism based on the plurality of values. The plurality of values ​​include one of a plurality of random values ​​or a plurality of pseudorandom values. Processor-executable instructions also include instructions for dividing a dataset into a plurality of data blocks such that each data block from the plurality of data blocks has a predefined size. Processor-executable instructions also include instructions for applying an automorphism to each data block from the plurality of data blocks, instructions for generating a plurality of transformed data blocks, and instructions for generating the transmission of signals representing the plurality of transformed data blocks (e.g., to a receiver such as receiver 240 in Figure 2).

[0024] In some embodiments, the automorphism consists of a single matrix (e.g., a unitary matrix) rather than a combination or hierarchy of matrices.

[0025] In some embodiments, the automorphism includes at least one of a linear transformation or an antilinear transformation.

[0026] In some embodiments, the dataset includes real samples and complex samples of baseband signal data.

[0027] In some embodiments, no data block from multiple data blocks consists of individual bits.

[0028] In some embodiments, the multiple values ​​include multiple random values, and the multiple random values ​​include pairs of complex values.

[0029] In some embodiments, automorphisms are defined as follows.

number

[0030] In some embodiments, multiple values ​​include multiple random values, and each random value from the multiple random values ​​is expressed as

number

[0031] In some embodiments, the multiple values ​​are multiple values ​​generated by a random number generator.

[0032] In some embodiments, the multiple values ​​are multiple values ​​generated by a pseudo-random number generator.

[0033] In some embodiments, the system (e.g., a receiver such as receiver 240 in Figure 2) includes a processor and memory. The memory stores instructions for the processor to receive or generate multiple values, including one of multiple random or pseudorandom values, and instructions for generating an automorphism based on the multiple values. The memory also stores instructions for the processor to receive a signal representing a data block (e.g., from a transmitter such as transmitter 220 in Figure 2), and instructions for applying the inverse automorphism to the data block to obtain a modified data block. The received data block may include transformed data, and the application of the inverse automorphism can reverse / undo the previously applied transformation to return the transformed data to the original data. In some such embodiments, the transmitter and receiver can be synchronized so that each of them generates or receives the same random or pseudorandom value at the same time, or at a predefined time shift from each other.

[0034] As used herein, “transmitter” or “signal transmitter” may include any combination of components used to transmit a signal, including any combination of antennas, amplifiers, cables, digital-to-analog converters, filters, upconverters, and processors. Similarly, as used herein, “receiver” or “signal receiver” may include any combination of components used to receive a signal, including any combination of antennas, amplifiers, cables, analog-to-digital converters, filters, downconverters, and processors.

[0035] Implementations of the various techniques described herein may be carried out in digital electronic circuits, or in computer hardware, firmware, software (executed in or stored in hardware), or a combination thereof. Implementations may also be carried out as computer program products, i.e., computer programs tangibly embodied in machine-readable storage devices (computer-readable media, non-temporary computer-readable storage media, tangible computer-readable storage media, e.g., media 112 and 114 in Figure 1) for processing by data processing devices, e.g., programmable processors, computers, or multiple computers, or for controlling their operations. Computer programs, such as those described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, such as standalone programs, modules, components, subroutines, or other units suitable for use in a computing environment. Computer programs can be deployed to be processed on a single computer, or on multiple computers located in one site, or distributed across multiple sites, and interconnected by a communication network.

[0036] The process may be carried out by one or more programmable processors that execute a computer program to perform their function by manipulating input data and generating an output. The process may also be carried out by a special-purpose logic circuit, such as an FPGA (Field-Programmable Gate Array) or ASIC (Application-Specific Integrated Circuit), and the device may be implemented as a special-purpose logic circuit, such as an FPGA or ASIC.

[0037] Examples of processors suitable for processing computer programs include both general-purpose and special-purpose microprocessors, and any one or more processors in any type of digital computer. Generally, a processor receives instructions and data from read-only memory or 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. Generally, a computer may also include one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or may be operablely coupled for receiving data from them, transferring data to them, or both. Examples of information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, such as 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. Processors and memory may be complemented by or incorporated into special-purpose logic circuits.

[0038] To provide user interaction, the implementation may be implemented on a computer having a display device for displaying information to the user, such as a liquid crystal display (LCD or LED) monitor, a touchscreen display, and a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. User interaction can also be provided using other types of devices. For example, the feedback provided to the user can be any form of perceptual feedback, such as visual feedback, auditory feedback, or haptic feedback, and input from the user can be received in any form, including acoustic, verbal, or haptic input.

[0039] The implementation may be implemented within a computing system that includes, for example, a backend component as a data server, or a middleware component, such as an application server, or a frontend component, such as a client computer having a graphical user interface or a web browser that allows the user to interact with the implementation, or any combination of such backend, middleware, or frontend components. The components may be interconnected by digital data communication in any form or medium, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0040] While certain features of the implementation are illustrated as described herein, those skilled in the art will see that many modifications, substitutions, changes, and equivalents will arise. It will be understood that the appended claims are intended to encompass all such modifications and changes within the scope of the implementation. Naturally, they are presented for illustrative purposes only, and not for limiting purposes, and various modifications in form and detail may be made. Any part of the apparatus and / or method described herein may be combined in any combination, except for any combinations that conflict with each other. The implementation described herein may include various combinations and / or subcombinations of the functions, components, and / or features of the different implementations described.

Claims

1. It is a method, Receiving data in a processor, The processor receives a pair of complex values ​​(z1, z2), The process involves generating an automorphism based on the pair of complex values ​​(z1, z2) via the aforementioned processor, wherein the automorphism is defined as follows: [Math 1] In the formula, * represents complex conjugate, meaning generation and The process involves dividing the data into multiple data blocks via the aforementioned processor, wherein each data block includes a pair of samples. The process involves applying the automorphism to the pairs of samples from each of the plurality of data blocks via the processor to generate a plurality of transformed data blocks, A method comprising generating the transmission of signals representing the plurality of converted data blocks.

2. The method according to claim 1, wherein no data block from the plurality of data blocks consists of individual bits.

3. The method according to claim 1, wherein the data includes real numerical data.

4. The method according to claim 1, wherein the data includes complex number data.

5. The method according to claim 1, wherein the data includes baseband data.

6. The method according to claim 1, wherein the automorphism further includes at least one of a linear transformation or an antilinear transformation.

7. The method according to claim 1, wherein the pair of complex values ​​(z1, z2) is received from a random number generator or a pseudo-random number generator.

8. It is a system, Processor and A memory for storing instructions, wherein the processor Receive a pair of complex values ​​(z1, z2), An automorphism is generated based on the aforementioned pair of complex values ​​(z1, z2), and the automorphism is defined as follows: [Math 2] In the formula, * represents the complex conjugate. The dataset is divided into multiple data blocks, and from the multiple data blocks Each data block has a pair of complex samples, The automorphism is applied to the pairs of complex samples within each data block from a plurality of data blocks to generate a plurality of transformed data blocks, and Stores an instruction to generate the transmission of signals representing the multiple converted data blocks. A system equipped with memory.

9. The system according to claim 8, wherein the automorphism further includes at least one of a linear transformation or an antilinear transformation.

10. The system according to claim 8, wherein the dataset includes real and complex samples of baseband signal data.

11. The system according to claim 8, wherein no data block from the plurality of data blocks consists of individual bits.

12. The system according to claim 8, wherein the pair of complex values ​​(z1, z2) is a pair of complex values ​​generated by a random number generator.

13. The system according to claim 8, wherein the pair of complex values ​​(z1, z2) is a pair of complex values ​​generated by a pseudorandom number generator.

14. It is a system, Processor and A memory for storing instructions, wherein the processor Receive a pair of complex values ​​(z1, z2), An automorphism is generated based on the aforementioned pair of complex values ​​(z1, z2), and the automorphism is defined as follows: [Math 3] In the formula, * represents the complex conjugate. It receives a signal representing a data block, and The inverse of the aforementioned automorphism is applied to the data block to obtain a modified data block. A system comprising memory for storing instructions to perform actions.