Data transmission method, device, and system
By encoding and encrypting data packets, and using the encoding coefficient matrix to encode and decode sub-data packets within the data packets, the problem of insufficient underlying signaling protection in existing technologies is solved, achieving low-complexity and low-overhead secure encryption, and meeting the security requirements of latency-sensitive services.
Patent Information
- Application Number
- PCT/CN2025/095052
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-27
- Filing Date
- 2025-05-15
- Publication Date
- 2025-12-04
AI Technical Summary
Existing wireless communication networks and systems fail to effectively protect the underlying signaling below the PDCP layer, resulting in excessive overhead when encryption functions are deployed at the lower layers, which is unbearable for actual systems.
A method based on encoding coefficient matrix is adopted to encode and encrypt data packets. By encrypting at least two sub-data packets in the data packet to form encrypted sub-data packets, and using an N*N encoding coefficient matrix for encoding and decoding, it is ensured that a third party without the encryption key cannot demodulate the original data packet, thereby achieving encryption of the underlying signaling.
It reduces the complexity and security overhead of encryption while improving the security strength of the system, meeting the security requirements of latency-sensitive services.
Smart Images

Figure CN2025095052_04122025_PF_FP_ABST
Abstract
Description
Data transmission method and device, system
[0001] The present application claims priority to the Chinese patent application No. 202410668681.2, filed on May 27, 2024, with the State Intellectual Property Office of China, and entitled “Data transmission method and device, system”, the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a data transmission method and device, system. BACKGROUND
[0003] Communication security and protection of user privacy are basic functions that communication networks and systems should have. The 3rd Generation Partnership Project (3GPP) Technical Specification (TS) 33.105 clearly states that communication networks should have encryption functions to ensure the security of services when providing services, and the security level of the encryption function must meet certain requirements.
[0004] Existing wireless communication networks and systems deploy encryption functions at the packet data convergence protocol (PDCP) layer. The plaintext data at the upper layer is first compressed by the header, then adds integrity protection information, and finally sent to the Advanced Encryption Standard (AES) encryption to get the ciphertext, and then sent to the lower layer. For the ciphertext data at the lower layer, after removing its PDCP header, it is decrypted and then reported to the upper layer after integrity verification.
[0005] However, the current technology does not provide protection for the underlying signaling below the PDCP layer. For example, deploying the upper layer encryption mechanism at the underlying layer will result in a large air interface overhead, which the actual system cannot bear. SUMMARY
[0006] The present application discloses a data transmission method and device, system, which can provide a low-complexity encryption scheme and reduce security overhead.
[0007] In a first aspect, an embodiment of the present application provides a data transmission method applied to a first communication device, the method comprising: encoding a first data packet based on a first encoding coefficient matrix to obtain a second data packet. The second data packet comprises a plurality of second sub-packets. At least two second sub-packets of the plurality of second sub-packets are encrypted to obtain at least two encrypted sub-packets. Then, a third data packet is output, which comprises the at least two encrypted sub-packets and other second sub-packets of the second data packet except the at least two second sub-packets.
[0008] The first encoding coefficient matrix is an N*N matrix, where N is an integer not less than 2. The elements in the first encoding coefficient matrix are first values or second values.
[0009] When N is an even number, the first encoding coefficient matrix satisfies a first condition or a second condition. The first condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The second condition is that the i-th row and the j-th column include one first value and N-1 second values respectively, other rows and columns except the i-th row and the j-th column include N-2 first values and 2 second values respectively, and a matrix obtained by adding the elements of other rows except the i-th row to the i-th row satisfies the first condition, and a matrix obtained by adding the elements of other columns except the j-th column to the j-th column also satisfies the first condition.
[0010] When N is an odd number, the i-th row of the first encoding coefficient matrix includes N second values, and other rows except the i-th row include N-2 first values and 2 second values. The j-th column of the first encoding coefficient matrix includes N second values, and the positions of the second values in other rows except the i-th row are different. The positions of the second values in other columns except the j-th column are different. The i-th row is any row in the first encoding coefficient matrix, and the j-th column is any column in the first encoding coefficient matrix.
[0011] The first communication device encodes the first data packet based on the first encoding coefficient matrix provided in the scheme to obtain a second data packet. After encrypting any at least two second sub-data packets, for a third party who cannot obtain the encryption key, any one original data packet (i.e., the first sub-data packet) cannot be demodulated from the remaining N-2 encoding data packets (i.e., the unencrypted second sub-data packets), so that the security communication of the entire data packet can be realized by encrypting only at least two sub-data packets in the data packet. Moreover, the algorithm complexity is low, the security overhead is small, and the security strength is comparable to that of the encryption method.
[0012] In a possible implementation, the first numerical value is 0, and the second numerical value is 1.
[0013] In a possible implementation, the first encoding coefficient matrix is obtained by processing a second encoding coefficient matrix, and the second encoding coefficient matrix is an N*N matrix.
[0014] In a possible implementation, the first encoding coefficient matrix is directly obtained based on a second encoding coefficient matrix.
[0015] For example, the second encoding coefficient matrix is a preset matrix. The elements on the main diagonal of the second encoding coefficient matrix are the first numerical value, and the elements other than the elements on the main diagonal in the second encoding coefficient matrix are the second numerical value.
[0016] When N is an even number, in a first possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing the positions of the elements of at least two rows in the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the positions of the elements of at least two columns in the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the positions of the elements of at least two rows in the second encoding coefficient matrix and replacing the positions of the elements of at least two columns in the obtained matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the positions of the elements of at least two columns in the second encoding coefficient matrix and replacing the positions of the elements of at least two rows in the obtained matrix.
[0017] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by adding the elements corresponding to other rows except an xth row to the elements of the xth row in the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding the elements corresponding to other columns except a yth column to the elements of the yth column in the second encoding coefficient matrix. The xth row is any one row in the second encoding coefficient matrix, and the yth column is any one column in the second encoding coefficient matrix.
[0018] In a third possible implementation, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows in the third encoding coefficient matrix to elements of the s-th row. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns in the third encoding coefficient matrix to elements of the k-th column. The s-th row is any row in the third encoding coefficient matrix, and the k-th column is any column in the third encoding coefficient matrix.
[0019] The third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the second encoding coefficient matrix and exchanging positions of elements of at least two columns in the obtained matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the second encoding coefficient matrix and exchanging positions of elements of at least two rows in the obtained matrix.
[0020] In a fourth possible implementation, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the fourth encoding coefficient matrix and exchanging positions of elements of at least two columns in the obtained matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the fourth encoding coefficient matrix and exchanging positions of elements of at least two rows in the obtained matrix.
[0021] The fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows in the second encoding coefficient matrix to elements of the x-th row. Alternatively, the fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns in the second encoding coefficient matrix to elements of the y-th column.
[0022] When N is an odd number, in a first possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the w-th row in the fifth encoding coefficient matrix with the second value. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the t-th column in the fifth encoding coefficient matrix with the second value.
[0023] The fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except for the xth row to the xth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except for the yth column to the yth column. The xth row is any row in the second encoding coefficient matrix, and the yth column is any column in the second encoding coefficient matrix.
[0024] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except for the cth row to the cth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except for the u column to the u column.
[0025] The sixth encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the second encoding coefficient matrix and exchanging positions of elements of at least two columns in the obtained matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the second encoding coefficient matrix and exchanging positions of elements of at least two rows in the obtained matrix. In the fifth encoding coefficient matrix, the wth row corresponds to the xth row in the second encoding coefficient matrix and the cth row in the sixth encoding coefficient matrix, and the tth column corresponds to the yth column in the second encoding coefficient matrix and the u column in the sixth encoding coefficient matrix. The cth row is any row in the sixth encoding coefficient matrix, and the u column is any column in the sixth encoding coefficient matrix.
[0026] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows in the seventh encoding coefficient matrix and exchanging positions of elements of at least two columns in the obtained matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns in the seventh encoding coefficient matrix and exchanging positions of elements of at least two rows in the obtained matrix.
[0027] The seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the a-th row of the eighth encoding coefficient matrix with the second value. Alternatively, the seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the b-th column of the eighth encoding coefficient matrix with the second value.
[0028] The eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the rows other than the x-th row of the second encoding coefficient matrix to the x-th row. Alternatively, the eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the columns other than the y-th column of the second encoding coefficient matrix to the y-th column. The a-th row of the eighth encoding coefficient matrix corresponds to the x-th row of the second encoding coefficient matrix, and the b-th column of the eighth encoding coefficient matrix corresponds to the y-th column of the second encoding coefficient matrix.
[0029] In a possible implementation, the first encoding coefficient matrix is obtained based on the second encoding coefficient matrix and a ninth encoding coefficient matrix.
[0030] The ninth encoding coefficient matrix includes N-1 first values and one second value in each row and / or column, and the positions of the second values in different rows and / or columns are different.
[0031] When N is even, the second encoding coefficient matrix satisfies a third condition or a fourth condition. The third condition is that the x-th row and / or the y-th column include N second values, the rows and / or columns other than the x-th row and / or the y-th column include one first value and N-1 second values respectively, and the positions of the first values in different rows and / or columns are different.
[0032] The fourth condition is that each row and / or column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different.
[0033] When N is odd, the second encoding coefficient matrix satisfies the third condition.
[0034] In a possible implementation, the first encoding coefficient matrix is obtained based on multiplication of the second encoding coefficient matrix and a ninth encoding coefficient matrix.
[0035] For example, A=G -1 I. A is the first encoding coefficient matrix, G is the second encoding coefficient matrix, and I is the ninth encoding coefficient matrix.
[0036] In a possible implementation, the first data packet is a data packet of a physical layer. For example, the first data packet is a transport block (TB), a code block group (CBG), a code block (CB), or the like of the physical layer.
[0037] Using the scheme at the physical layer, on one hand, encryption of underlying signaling can be implemented, and security strength of the system can be improved; on the other hand, data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0038] In another possible implementation, the first data packet is a data packet of a packet data convergence protocol (PDCP) layer. For example, the first data packet is a service data unit (SDU) of the PDCP layer.
[0039] Using the scheme at the PDCP layer, since only two data packets need to be encrypted, the complexity and security overhead of the system can be reduced.
[0040] In yet another possible implementation, the first data packet is a data packet of a medium access control (MAC) layer. For example, the first data packet is a MAC-SDU of the MAC layer.
[0041] Using the scheme at the MAC layer, on one hand, encryption of underlying signaling can be implemented, and security strength of the system can be improved; on the other hand, data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0042] In yet another possible implementation, the first data packet is a data packet of a radio link control (RLC) layer. For example, the first data packet is an RLC-SDU of the RLC layer.
[0043] Using the scheme at the RLC layer, on one hand, encryption of underlying signaling can be implemented, and security strength of the system can be improved; on the other hand, data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0044] In one possible implementation, the first data packet includes N first sub-data packets, where N is determined based on at least one of service requirements and encryption algorithms. The service requirements could be, for example, Ultra-Reliable Low Latency Communications (URLLC); or, for example, a wireless-aware environment reconfiguration service.
[0045] In one possible implementation, N is determined based on at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, the key length of the encryption algorithm, the decryption algorithm, and the key length of the decryption algorithm.
[0046] Here, the maximum allowable transmission delay can be the maximum allowable transmission delay required by the business logic. The number of data packets N corresponding to this maximum allowable transmission delay is also considered. max By setting N to satisfy: 2≤N≤N max , and we can get N.
[0047] For the key length of this encryption algorithm, N satisfies: N = L / K, where L is the length of the first data packet and K is the key length of the encryption algorithm.
[0048] The encryption algorithm could be, for example, AES, and the aforementioned K could be determined based on a standard, and then N could be calculated based on the aforementioned N = L / K.
[0049] For methods of determining N based on decryption algorithms and their key lengths, please refer to the method of determining N based on encryption algorithms and their key lengths; it will not be elaborated upon here.
[0050] In one possible implementation, N can be determined by the first communication device.
[0051] Optionally, the first communication device receives first information, which includes at least one of the following: the number of data packets corresponding to the maximum allowable transmission delay, a decryption algorithm, and the key length of the decryption algorithm. Then, the first communication device determines N based on the first information.
[0052] For example, the first communication device determines N based on at least one of the following: the number of data packets corresponding to the maximum allowable transmission delay, the encryption algorithm, and the key length of the encryption algorithm, and sends second information, the second information including N.
[0053] In another possible implementation, N can also be determined by the second communication device.
[0054] Optionally, the first communication device receives third information, which includes the N.
[0055] For another example, the first communication device sends fourth information, the fourth information including at least one of a data packet quantity corresponding to the maximum allowed transmission delay, an encryption algorithm, and a key length of the encryption algorithm. The first communication device receives fifth information, the fifth information including the N.
[0056] In a possible implementation, the first communication device multiplies the first encoding coefficient matrix with the first data packet to obtain the second data packet. The second data packet satisfies the following form: X = AM.
[0057] In the form, X is the second data packet, A is the first encoding coefficient matrix, M is the first data packet,
[0058] X = (x1, x2, …, xN); M = (m1, m2, …, mN). N T M = (m1, m2, …, mN). N T
[0059] x r is a second sub-data packet, r is 1, 2, …, N; m p is a first sub-data packet, p is 1, 2, …, N; or, X = MA.
[0060] X = (x1, x2, …, xN); M = (m1, m2, …, mN). N N
[0061] In a possible implementation, the first communication device sends sixth information, the sixth information including an identifier of the at least two encrypted sub-data packets.
[0062] The sixth information may, for example, include a parameter (i, j). The parameter (i, j) indicates that the encrypted sub-data packet is an i-th sub-data packet and a j-th sub-data packet.
[0063] Optionally, the sixth information may be the same as the aforementioned second information. Alternatively, the sixth information may be the same as the aforementioned fourth information.
[0064] In another possible implementation, the identifier of the at least two encrypted sub-data packets may also be exchanged in a high-layer key distribution stage.
[0065] In a possible implementation, the first communication device sends a first encoding coefficient matrix.
[0066] In another possible implementation, the first communication device sends indication information of the first encoding coefficient matrix.
[0067] The indication information can be a number (index) of the encoded coefficient matrix. For another example, the indication information specifically includes a sequence used to indicate positions of the first values or the second values in each row or each column in the first encoded coefficient matrix. For another example, the first communication device sends first indication information used to indicate a processing manner, the processing manner including swapping or summing. The first communication device also sends second indication information used to indicate a processing procedure, the processing procedure including a specific procedure of swapping or a specific procedure of summing.
[0068] In a second aspect, an embodiment of the present application provides a data transmission method applied to a second communication device, the method comprising: receiving a third data packet, the third data packet comprising at least two encrypted sub-packets and other sub-packets in a second data packet except the at least two second sub-packets. The second data packet comprises a plurality of second sub-packets, and the at least two encrypted sub-packets are obtained by encrypting the at least two second sub-packets; decrypting the at least two encrypted sub-packets to obtain the at least two second sub-packets; and then decoding based on a first encoded coefficient matrix, the at least two second sub-packets and the other sub-packets in the second data packet except the at least two second sub-packets to obtain a first data packet.
[0069] The first encoded coefficient matrix is an N*N matrix, N is an integer not less than 2, and elements in the first encoded coefficient matrix are first values or second values.
[0070] When N is an even number, the first encoded coefficient matrix satisfies a first condition or a second condition. The first condition is that each row and / or each column includes one first value and N-1 second values, and positions of the first values in different rows and / or columns are different. The second condition is that the i-th row and the j-th column respectively include one first value and N-1 second values, other rows and columns except the i-th row and the j-th column respectively include N-2 first values and 2 second values, a matrix obtained by adding elements of other rows except the i-th row and the i-th row in correspondence satisfies the first condition, and a matrix obtained by adding elements of other columns except the j-th column and the j-th column in correspondence also satisfies the first condition.
[0071] When N is an odd number, the i-th row in the first encoding coefficient matrix comprises N second numerical values, other rows comprise N-2 first numerical values and 2 second numerical values, and the j-th column in the first encoding coefficient matrix comprises N second numerical values, the positions of the second numerical values in other rows than the i-th row are different, and the positions of the second numerical values in other columns than the j-th column are different. The i-th row in the first encoding coefficient matrix is any row in the first encoding coefficient matrix, and the j-th column is any column in the first encoding coefficient matrix.
[0072] In the embodiment, the second communication device only decrypts at least two encrypted sub-packets in the third data packet, and decodes the second data packet based on the first encoding coefficient matrix to obtain the first data packet. By using the method, the secure communication of the entire data packet can be realized. Moreover, the algorithm complexity is low, the security overhead is small, and the security strength is equivalent to that of the encryption method.
[0073] In a possible implementation, the first numerical value is 0, and the second numerical value is 1.
[0074] In a possible implementation, the first encoding coefficient matrix is obtained by processing a second encoding coefficient matrix, and the second encoding coefficient matrix is an N*N matrix.
[0075] In a first possible implementation, the first encoding coefficient matrix is directly obtained based on a second encoding coefficient matrix.
[0076] For example, the second encoding coefficient matrix is a preset matrix. Elements on the main diagonal of the second encoding coefficient matrix are the first numerical values, and elements other than those on the main diagonal in the second encoding coefficient matrix are the second numerical values.
[0077] When N is an even number, in the first possible implementation, the first encoding coefficient matrix is obtained by exchanging the positions of elements in at least two rows of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is obtained by exchanging the positions of elements in at least two columns of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is obtained by exchanging the positions of elements in at least two rows of the second encoding coefficient matrix and exchanging the positions of elements in at least two columns of the obtained matrix. Alternatively, the first encoding coefficient matrix is obtained by exchanging the positions of elements in at least two columns of the second encoding coefficient matrix and exchanging the positions of elements in at least two rows of the obtained matrix.
[0078] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows of the second encoding coefficient matrix to elements of an xth row of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns of the second encoding coefficient matrix to elements of a yth column of the second encoding coefficient matrix. The xth row is any row of the second encoding coefficient matrix, and the yth column is any column of the second encoding coefficient matrix.
[0079] In a third possible implementation, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows of a third encoding coefficient matrix to elements of an s th row of the third encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns of the third encoding coefficient matrix to elements of a k th column of the third encoding coefficient matrix. The s th row is any row of the third encoding coefficient matrix, and the k th column is any column of the third encoding coefficient matrix.
[0080] The third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix and exchanging positions of elements of at least two columns of the matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix and exchanging positions of elements of at least two rows of the matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix.
[0081] In a fourth possible implementation, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of a fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the fourth encoding coefficient matrix and exchanging positions of elements of at least two columns of the matrix obtained by exchanging positions of elements of at least two rows of the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix and exchanging positions of elements of at least two rows of the matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix.
[0082] The fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row and the xth row.
[0083] When N is an odd number, in a first possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the wth row of the fifth encoding coefficient matrix with the second value. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the tth column of the fifth encoding coefficient matrix with the second value.
[0084] The fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row and the xth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the yth column and the yth column. The xth row is any row in the second encoding coefficient matrix, and the yth column is any column in the second encoding coefficient matrix.
[0085] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the cth row and the cth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the uth column and the uth column.
[0086] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix and replacing positions of elements of at least two columns in the obtained matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix and replacing positions of elements of at least two rows in the obtained matrix. The wth row in the fifth encoding coefficient matrix corresponds to the xth row in the second encoding coefficient matrix and the cth row in the sixth encoding coefficient matrix, and the tth column in the fifth encoding coefficient matrix corresponds to the yth column in the second encoding coefficient matrix and the uth column in the sixth encoding coefficient matrix. The cth row is any row in the sixth encoding coefficient matrix, and the uth column is any column in the sixth encoding coefficient matrix.
[0087] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix and replacing positions of elements of at least two columns in the matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix and replacing positions of elements of at least two rows in the matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix.
[0088] The seventh encoding coefficient matrix is a matrix obtained by replacing the first values included in the eighth encoding coefficient matrix with the second values. Alternatively, the seventh encoding coefficient matrix is a matrix obtained by replacing the first values included in the eighth encoding coefficient matrix with the second values.
[0089] The eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows except the xth row in the second encoding coefficient matrix to elements of the xth row. Alternatively, the eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns except the yth column in the second encoding coefficient matrix to elements of the yth column. The ath row in the eighth encoding coefficient matrix corresponds to the xth row in the second encoding coefficient matrix, and the bth column in the eighth encoding coefficient matrix corresponds to the yth column in the second encoding coefficient matrix.
[0090] In a possible implementation, the first encoding coefficient matrix is obtained based on the second encoding coefficient matrix and a ninth encoding coefficient matrix.
[0091] The ninth encoding coefficient matrix includes N-1 first values and one second value in each row and / or column, and the positions of the second values in different rows and / or columns are different.
[0092] When N is even, the second encoding coefficient matrix satisfies a third condition or a fourth condition. The third condition is that the xth row and / or the yth column include N second values, other rows and / or columns except the xth row and / or the yth column respectively include one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different.
[0093] The fourth condition is that each row and / or column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns in the second encoding coefficient matrix are different.
[0094] When N is an odd number, the second encoding coefficient matrix satisfies the third condition.
[0095] In a possible implementation, the first data packet is a data packet of at least one of a physical layer, a packet data convergence protocol (PDCP) layer, a medium access control (MAC) layer, and a radio link control (RLC) layer.
[0096] In a possible implementation, the first data packet includes N first sub-data packets, and the N is determined based on at least one of a service requirement and an encryption algorithm.
[0097] In a possible implementation, the N is determined based on at least one of a maximum allowed transmission delay corresponding data packet quantity, an encryption algorithm, a key length of the encryption algorithm, a decryption algorithm, and a key length of the decryption algorithm.
[0098] In a possible implementation, the N can be determined by the first communication device.
[0099] For example, the second communication device sends first information, and the first information includes at least one of a maximum allowed transmission delay corresponding data packet quantity, a decryption algorithm, and a key length of the decryption algorithm.
[0100] For another example, the second communication device receives second information, and the second information includes the N.
[0101] In another possible implementation, the N can also be determined by the second communication device.
[0102] For example, the second communication device determines the N based on at least one of a maximum allowed transmission delay corresponding data packet quantity, a decryption algorithm, and a key length of the decryption algorithm, and sends third information, and the third information includes the N.
[0103] For another example, the second communication device receives fourth information, and the fourth information includes at least one of a maximum allowed transmission delay corresponding data packet quantity, an encryption algorithm, and a key length of the encryption algorithm. Furthermore, the second communication device determines the N based on at least one of a maximum allowed transmission delay corresponding data packet quantity, a decryption algorithm, and a key length of the decryption algorithm, and sends fifth information, and the fifth information includes the N.
[0104] In a possible implementation, the second communication device multiplies the first encoding coefficient matrix and the second data packet to obtain the first data packet, and the first data packet satisfies the following form: M=A -1 X;
[0105] Wherein, M is the first data packet, A is the first encoding coefficient matrix, X is the second data packet,
[0106] M=(m1, m2, …, m N ) T ; X=(x1, x2, …, x N ) T ;
[0107] m p is a first sub-data packet, p is 1, 2, … N; x r is a second sub-data packet, r is 1, 2, … N; or, M=XA -1 ;
[0108] M=(m1, m2, …, m N ), X=(x1, x2, …, x N );
[0109] In a possible implementation, the second communication device receives sixth information, and the sixth information comprises the identification of the at least two encrypted sub-data packets.
[0110] The sixth information may, for example, comprise a parameter (i, j). The parameter (i, j) indicates that the encrypted sub-data packet is the i th sub-data packet and the j th sub-data packet.
[0111] Optionally, the sixth information may be the same information as the aforementioned second information. Alternatively, the sixth information may be the same information as the aforementioned fourth information.
[0112] In another possible implementation, the identification of the at least two encrypted sub-data packets may also be exchanged in the high-layer key distribution stage.
[0113] In a third aspect, an embodiment of the present application provides a first communication device, which can be a user equipment, a network device, etc., can also be a chip in the user equipment, the network device, etc., or a chip system, or a circuit, etc., or an apparatus capable of being used in matching with the aforementioned user equipment, network device, etc., and can also be a logic module or software capable of realizing all or part of the functions.
[0114] In a possible implementation, the apparatus can comprise a module or unit corresponding to each of the methods / operations / steps / actions described in the first aspect, which can be a hardware circuit, can also be software, or can be a combination of hardware circuit and software.
[0115] In a possible implementation, the apparatus comprises a processing module configured to encode a first data packet based on a first encoding coefficient matrix to obtain a second data packet, wherein the second data packet comprises a plurality of second sub-packets, the first encoding coefficient matrix is an N*N matrix, N is an integer greater than or equal to 2, and elements in the first encoding coefficient matrix are first values or second values; wherein
[0116] When N is an even number, the first encoding coefficient matrix satisfies a first condition or a second condition, wherein the first condition is that each row and / or each column comprises one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different; and the second condition is that the i th row and the j th column respectively comprise one first value and N-1 second values, other rows and columns except the i th row and the j th column respectively comprise N-2 first values and 2 second values, and a matrix obtained by adding corresponding elements of other rows except the i th row and the i th row satisfies the first condition, and a matrix obtained by adding corresponding elements of other columns except the j th column and the j th column also satisfies the first condition.
[0117] When N is an odd number, the i th row in the first encoding coefficient matrix comprises N second values, other rows except the i th row comprise N-2 first values and 2 second values, the j th column in the first encoding coefficient matrix comprises N second values, the positions of the second values in other rows except the i th row are different, and the positions of the second values in other columns except the j th column are different; the i th row in the first encoding coefficient matrix is any row in the first encoding coefficient matrix, and the j th column is any column in the first encoding coefficient matrix.
[0118] The processing module is further configured to perform encryption processing on at least two second sub-packets in the plurality of second sub-packets to obtain at least two encrypted sub-packets.
[0119] The communication module is configured to output a third data packet, wherein the third data packet comprises the at least two encrypted sub-packets and other second sub-packets in the second data packet except the at least two second sub-packets.
[0120] In a possible implementation, the first encoding coefficient matrix is obtained by processing a second encoding coefficient matrix, and the second encoding coefficient matrix is an N*N matrix.
[0121] In a possible implementation, elements on a main diagonal line of the second encoding coefficient matrix are the first values, and elements except the main diagonal line in the second encoding coefficient matrix are the second values.
[0122] When N is even, in a first possible implementation, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two rows of the elements in the second coding coefficient matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two columns of the elements in the second coding coefficient matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two rows of the elements in the second coding coefficient matrix and then swapping the positions of at least two columns of the resulting matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two columns of the elements in the second coding coefficient matrix and then swapping the positions of at least two rows of the resulting matrix.
[0123] In a second possible implementation, the first coding coefficient matrix is a matrix obtained by adding the elements of the second coding coefficient matrix to each row except the x-th row. Alternatively, the first coding coefficient matrix is a matrix obtained by adding the elements of the second coding coefficient matrix to each column except the y-th column. The x-th row is any row in the second coding coefficient matrix, and the y-th column is any column in the second coding coefficient matrix.
[0124] In a third possible implementation, the first coding coefficient matrix is a matrix obtained by adding the elements of the third coding coefficient matrix to each row except the s-th row. Alternatively, the first coding coefficient matrix is a matrix obtained by adding the elements of the third coding coefficient matrix to each column except the k-th column. The s-th row is any row in the third coding coefficient matrix, and the k-th column is any column in the third coding coefficient matrix.
[0125] The third coding coefficient matrix is obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix. Alternatively, the third coding coefficient matrix is obtained by replacing the positions of at least two columns of elements in the second coding coefficient matrix. Alternatively, the third coding coefficient matrix is obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix. Alternatively, the third coding coefficient matrix is obtained by replacing the positions of at least two columns of elements in the second coding coefficient matrix and replacing the positions of at least two rows of elements in the resulting matrix.
[0126] In a fourth possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the fourth encoding coefficient matrix and replacing positions of elements of at least two columns in the obtained matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the fourth encoding coefficient matrix and replacing positions of elements of at least two rows in the obtained matrix.
[0127] The fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of rows other than the xth row in the second encoding coefficient matrix to elements of the xth row. Alternatively, the fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of columns other than the yth column in the second encoding coefficient matrix to elements of the yth column.
[0128] When N is an odd number, in a first possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the wth row in the fifth encoding coefficient matrix with the second value. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the tth column in the fifth encoding coefficient matrix with the second value.
[0129] The fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of rows other than the xth row in the second encoding coefficient matrix to elements of the xth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of columns other than the yth column in the second encoding coefficient matrix to elements of the yth column. The xth row is any row in the second encoding coefficient matrix, and the yth column is any column in the second encoding coefficient matrix.
[0130] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of rows other than the cth row in the sixth encoding coefficient matrix to elements of the cth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of columns other than the u th column in the sixth encoding coefficient matrix to elements of the u th column.
[0131] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix and replacing positions of elements of at least two columns in the matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix and replacing positions of elements of at least two rows in the matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix. The w th row in the fifth encoding coefficient matrix corresponds to the x th row in the second encoding coefficient matrix and the c th row in the sixth encoding coefficient matrix, and the t th column in the fifth encoding coefficient matrix corresponds to the y th column in the second encoding coefficient matrix and the u th column in the sixth encoding coefficient matrix. The c th row is any row in the sixth encoding coefficient matrix, and the u th column is any column in the sixth encoding coefficient matrix.
[0132] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix and replacing positions of elements of at least two columns in the matrix obtained by replacing positions of elements of at least two rows in the seventh encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix and replacing positions of elements of at least two rows in the matrix obtained by replacing positions of elements of at least two columns in the seventh encoding coefficient matrix.
[0133] The seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the a th row in the eighth encoding coefficient matrix with the second value. Alternatively, the seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the b th column in the eighth encoding coefficient matrix with the second value.
[0134] The eighth encoding coefficient matrix is a matrix obtained by adding elements corresponding to the x th row in the second encoding coefficient matrix to elements of other rows except the x th row in the second encoding coefficient matrix. Alternatively, the eighth encoding coefficient matrix is a matrix obtained by adding elements corresponding to the y th column in the second encoding coefficient matrix to elements of other columns except the y th column in the second encoding coefficient matrix. The a th row in the eighth encoding coefficient matrix corresponds to the x th row in the second encoding coefficient matrix, and the b th column in the eighth encoding coefficient matrix corresponds to the y th column in the second encoding coefficient matrix.
[0135] In a possible implementation, the first encoding coefficient matrix is obtained based on the second encoding coefficient matrix and a ninth encoding coefficient matrix.
[0136] wherein each row and / or each column in the ninth encoding coefficient matrix includes N-1 first values and one second value, and the positions of the second values in different rows and / or columns in the ninth encoding coefficient matrix are different.
[0137] When N is even, the second encoding coefficient matrix satisfies a third condition or a fourth condition. The third condition is that the xth row and / or yth column includes N second values, other rows and / or columns except the xth row and / or yth column respectively include one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different.
[0138] The fourth condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns in the second encoding coefficient matrix are different.
[0139] When N is odd, the second encoding coefficient matrix satisfies the third condition.
[0140] In a possible implementation, the first encoding coefficient matrix is obtained based on multiplication of the second encoding coefficient matrix and the ninth encoding coefficient matrix.
[0141] For example, A = G -1 I. A is the first encoding coefficient matrix, G is the second encoding coefficient matrix, and I is the ninth encoding coefficient matrix.
[0142] In a possible implementation, the first data packet is a data packet of a physical layer. For example, the first data packet is a transport block TB, a code block group CBG, or a code block CB of the physical layer.
[0143] In another possible implementation, the first data packet is a data packet of a packet data convergence protocol PDCP layer. For example, the first data packet is a service data unit SDU of the PDCP layer.
[0144] In yet another possible implementation, the first data packet is a data packet of a medium access control MAC layer. For example, the first data packet is a MAC service data unit MAC-SDU of the MAC layer.
[0145] In yet another possible implementation, the first data packet is a data packet of a radio link control RLC. For example, the first data packet is a RLC service data unit RLC-SDU of the RLC layer.
[0146] In a possible implementation, the first data packet comprises N first sub-data packets, and the N is determined based on at least one of a service requirement and an encryption algorithm.
[0147] In a possible implementation, the N is determined based on at least one of a data packet quantity corresponding to a maximum allowed transmission delay, an encryption algorithm, a key length of the encryption algorithm, a decryption algorithm, and a key length of the decryption algorithm.
[0148] In a possible implementation, the communication module is further configured to receive first information, and the first information comprises at least one of a data packet quantity corresponding to a maximum allowed transmission delay, a decryption algorithm, and a key length of the decryption algorithm.
[0149] The processing module is further configured to determine the N based on the first information.
[0150] In another possible implementation, the communication module is further configured to send second information, and the second information comprises the N.
[0151] In another possible implementation, the communication module is further configured to receive third information, and the third information comprises the N.
[0152] In another possible implementation, the communication module is further configured to send fourth information, and the fourth information comprises at least one of a data packet quantity corresponding to a maximum allowed transmission delay, an encryption algorithm, and a key length of the encryption algorithm.
[0153] The communication module is further configured to receive fifth information, and the fifth information comprises the N.
[0154] In a possible implementation, the processing module is further configured to: obtain the second data packet by multiplying the first encoding coefficient matrix and the first data packet, and the second data packet satisfies the following form: X=AM.
[0155] wherein X is the second data packet, A is the first encoding coefficient matrix, and M is the first data packet.
[0156] X=(x1,x2,…,x N ) T ; M=(m1,m2,…,m N ) T ;
[0157] x r is a second sub-data packet, r is 1, 2, …, N; m p is a first sub-data packet, p is 1, 2, …, N; or X=MA.
[0158] X = (x1, x2, …, x N );M = (m1, m2, …, m N );
[0159] In a possible implementation, the communication module is further configured to send sixth information, where the sixth information includes the identification of the at least two encrypted sub-packets.
[0160] The sixth information may, for example, include a parameter (i, j). The parameter (i, j) indicates that the encrypted sub-packet is the i-th sub-packet and the j-th sub-packet.
[0161] Optionally, the sixth information may be the same as the second information. Alternatively, the sixth information may be the same as the fourth information.
[0162] In a fourth aspect, the present application provides a second communication device, which can be a user equipment, a network device, etc., can be a chip, a chip system, or a circuit, etc., in the user equipment, the network device, etc., or can be a device capable of being used in matching with the user equipment, the network device, etc., and can also be a logic module or software capable of realizing all or part of the functions.
[0163] In a possible implementation, the device can include a module or unit corresponding to each of the methods / operations / steps / actions described in the second aspect, which can be a hardware circuit, software, or a combination of hardware circuit and software.
[0164] In a possible implementation, the device includes a communication module configured to receive a third data packet, where the third data packet includes at least two encrypted sub-packets and other second sub-packets in a second data packet except the at least two second sub-packets, the second data packet includes a plurality of second sub-packets, and the at least two encrypted sub-packets are obtained by performing encryption processing on the at least two second sub-packets.
[0165] The device further includes a processing module configured to perform decryption processing on the at least two encrypted sub-packets to obtain the at least two second sub-packets.
[0166] The processing module is further configured to perform decoding based on a first encoding coefficient matrix, the at least two second sub-packets, and the other second sub-packets in the second data packet except the at least two second sub-packets to obtain a first data packet, the first encoding coefficient matrix is an N*N matrix, N is an integer greater than or equal to 2, and elements in the first encoding coefficient matrix are first values or second values; and
[0167] When N is even, the first encoding coefficient matrix satisfies a first condition or a second condition, wherein the first condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different; the second condition is that the i-th row and the j-th column respectively include one first value and N-1 second values, other rows and columns respectively include N-2 first values and 2 second values except the i-th row and the j-th column, and a matrix obtained by adding corresponding elements of other rows to the i-th row satisfies the first condition, and a matrix obtained by adding corresponding elements of other columns to the j-th column also satisfies the first condition.
[0168] When N is odd, the i-th row of the first encoding coefficient matrix includes N second values, other rows include N-2 first values and 2 second values except the i-th row, and the j-th column of the first encoding coefficient matrix includes N second values, the positions of the second values in other rows except the i-th row are different, and the positions of the second values in other columns except the j-th column are different; the i-th row is any row in the first encoding coefficient matrix, and the j-th column is any column in the first encoding coefficient matrix.
[0169] In a possible implementation, the first encoding coefficient matrix is obtained by processing a second encoding coefficient matrix, and the second encoding coefficient matrix is an N*N matrix.
[0170] In a possible implementation, elements on a main diagonal of the second encoding coefficient matrix are the first values, and elements other than those on the main diagonal are the second values.
[0171] When N is even, in a first possible implementation, the first encoding coefficient matrix is obtained by exchanging positions of elements in at least two rows of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is obtained by exchanging positions of elements in at least two columns of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is obtained by exchanging positions of elements in at least two rows of the second encoding coefficient matrix and exchanging positions of elements in at least two columns of the matrix obtained by exchanging positions of elements in the at least two rows. Alternatively, the first encoding coefficient matrix is obtained by exchanging positions of elements in at least two columns of the second encoding coefficient matrix and exchanging positions of elements in at least two rows of the matrix obtained by exchanging positions of elements in the at least two columns.
[0172] In a second possible implementation, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows of the second encoding coefficient matrix to elements of an xth row of the second encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns of the second encoding coefficient matrix to elements of a yth column of the second encoding coefficient matrix. The xth row is any row of the second encoding coefficient matrix, and the yth column is any column of the second encoding coefficient matrix.
[0173] In a third possible implementation, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows of a third encoding coefficient matrix to elements of an s th row of the third encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns of the third encoding coefficient matrix to elements of a k th column of the third encoding coefficient matrix. The s th row is any row of the third encoding coefficient matrix, and the k th column is any column of the third encoding coefficient matrix.
[0174] wherein the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix and exchanging positions of elements of at least two columns of the matrix obtained by exchanging positions of elements of at least two rows of the second encoding coefficient matrix. Alternatively, the third encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix and exchanging positions of elements of at least two rows of the matrix obtained by exchanging positions of elements of at least two columns of the second encoding coefficient matrix.
[0175] In a fourth possible implementation, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of a fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two rows of the fourth encoding coefficient matrix and exchanging positions of elements of at least two columns of the matrix obtained by exchanging positions of elements of at least two rows of the fourth encoding coefficient matrix. Alternatively, the first encoding coefficient matrix is a matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix and exchanging positions of elements of at least two rows of the matrix obtained by exchanging positions of elements of at least two columns of the fourth encoding coefficient matrix.
[0176] The fourth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row and the xth row.
[0177] When N is an odd number, in a first possible implementation, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the wth row of the fifth encoding coefficient matrix with the second value. Alternatively, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the tth column of the fifth encoding coefficient matrix with the second value.
[0178] The fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row and the xth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the yth column and the yth column. The xth row is any row in the second encoding coefficient matrix, and the yth column is any column in the second encoding coefficient matrix.
[0179] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the cth row and the cth row. Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the uth column and the uth column.
[0180] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two rows in the second encoding coefficient matrix and replacing positions of elements of at least two columns in the obtained matrix. Alternatively, the sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the second encoding coefficient matrix and replacing positions of elements of at least two rows in the obtained matrix. The wth row in the fifth encoding coefficient matrix corresponds to the xth row in the second encoding coefficient matrix and the cth row in the sixth encoding coefficient matrix, and the tth column in the fifth encoding coefficient matrix corresponds to the yth column in the second encoding coefficient matrix and the uth column in the sixth encoding coefficient matrix. The cth row is any row in the sixth encoding coefficient matrix, and the uth column is any column in the sixth encoding coefficient matrix.
[0181] In a second possible implementation, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two rows of elements in the seventh coding coefficient matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two columns of elements in the seventh coding coefficient matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two rows of elements in the seventh coding coefficient matrix and then swapping the positions of at least two columns of the resulting matrix. Alternatively, the first coding coefficient matrix is a matrix obtained by swapping the positions of at least two columns of elements in the seventh coding coefficient matrix and then swapping the positions of at least two rows of elements in the resulting matrix.
[0182] The seventh coding coefficient matrix is obtained by replacing the first value in the a-th row of the eighth coding coefficient matrix with the second value. Alternatively, the seventh coding coefficient matrix is obtained by replacing the first value in the b-th column of the eighth coding coefficient matrix with the second value.
[0183] The eighth coding coefficient matrix is obtained by adding the elements of the second coding coefficient matrix (excluding the x-th row) to the corresponding elements of the x-th row. Alternatively, the eighth coding coefficient matrix is obtained by adding the elements of the second coding coefficient matrix (excluding the y-th column) to the corresponding elements of the y-th column. The a-th row of the eighth coding coefficient matrix corresponds to the x-th row of the second coding coefficient matrix, and the b-th column of the eighth coding coefficient matrix corresponds to the y-th column of the second coding coefficient matrix.
[0184] In one possible implementation, the first coding coefficient matrix is obtained based on the second coding coefficient matrix and the ninth coding coefficient matrix.
[0185] The ninth coding coefficient matrix includes N-1 first values and one second value in each row and / or column, and the second value is in different positions in different rows and / or columns of the ninth coding coefficient matrix.
[0186] When N is even, the second coding coefficient matrix satisfies either the third or fourth condition. The third condition is that the x-th row and / or y-th column contains N of the second values, and the other rows and / or columns, excluding the x-th row and / or y-th column, each contain one of the first values and N-1 of the second values, with the positions of the first values in different rows and / or columns being different.
[0187] The fourth condition is: each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns of the second coding coefficient matrix are not the same.
[0188] When N is an odd number, the second encoding coefficient matrix satisfies the third condition.
[0189] In a possible implementation, the first encoding coefficient matrix is obtained based on multiplication of the second encoding coefficient matrix and a ninth encoding coefficient matrix.
[0190] For example, A = G -1 I. A is the first encoding coefficient matrix, G is the second encoding coefficient matrix, and I is the ninth encoding coefficient matrix.
[0191] In a possible implementation, the first data packet is a data packet of a physical layer. For example, the first data packet is a transport block TB, a code block group CBG, or a code block CB of the physical layer.
[0192] In another possible implementation, the first data packet is a data packet of a packet data convergence protocol PDCP layer. For example, the first data packet is a service data unit SDU of the PDCP layer.
[0193] In yet another possible implementation, the first data packet is a data packet of a medium access control MAC layer. For example, the first data packet is a MAC-SDU of the MAC layer.
[0194] In yet another possible implementation, the first data packet is a data packet of an RLC layer. For example, the first data packet is an RLC-SDU of the RLC layer.
[0195] In a possible implementation, the first data packet includes N first sub data packets, and the N is determined based on at least one of a service requirement or an encryption algorithm.
[0196] In a possible implementation, the N is determined based on at least one of a maximum allowed transmission delay corresponding data packet quantity, an encryption algorithm, a key length of the encryption algorithm, a decryption algorithm, or a key length of the decryption algorithm.
[0197] In a possible implementation, the communication module is further configured to:
[0198] send first information, the first information including at least one of a maximum allowed transmission delay corresponding data packet quantity, a decryption algorithm, or a key length of the decryption algorithm.
[0199] In another possible implementation, the communication module is further configured to: receive second information, the second information including the N.
[0200] In another possible implementation, the communication module is further configured to: send third information, the third information including the N.
[0201] In a possible implementation, the communication module is further configured to receive fourth information, the fourth information including at least one of a data packet quantity corresponding to the maximum allowed transmission delay, an encryption algorithm, and a key length of the encryption algorithm.
[0202] The communication module is further configured to send fifth information, the fifth information including the N.
[0203] In a possible implementation, the processing module is further configured to multiply the first encoding coefficient matrix and the second data packet to obtain the first data packet, the first data packet satisfying the following form: M=A -1 X;
[0204] wherein M is the first data packet, A is the first encoding coefficient matrix, X is the second data packet,
[0205] M=(m1, m2, …, m N ) T ; X=(x1, x2, …, xr N ) T ;
[0206] m p is a first sub-data packet, p is 1, 2, … N; x r is a second sub-data packet, r is 1, 2, … N; or, M=XA -1 ;
[0207] M=(m1, m2, …, m N ), X=(x1, x2, …, xr N );
[0208] In a possible implementation, the communication module is further configured to receive sixth information, the sixth information including an identification of the at least two encrypted sub-data packets.
[0209] The sixth information may, for example, include a parameter (i, j). The parameter (i, j) indicates that the encrypted sub-data packet is an i-th sub-data packet and a j-th sub-data packet.
[0210] Optionally, the sixth information may be the same information as the aforementioned second information. Alternatively, the sixth information may be the same information as the aforementioned fourth information.
[0211] In a fifth aspect, the present application provides a communication apparatus, comprising a processor configured to cause the apparatus to perform the method according to the first aspect and any possible implementation of the first aspect, or perform the method according to the second aspect and any possible implementation of the second aspect.
[0212] In a possible implementation, the apparatus further comprises a memory.
[0213] In a possible implementation, the processor and the memory are integrated together.
[0214] In another possible implementation, the memory is located outside the apparatus.
[0215] The apparatus further comprises a communication interface configured to enable the apparatus to communicate with other devices, such as transmitting or receiving data and / or signals. For example, the communication interface can be a transceiver, a circuit, a bus, a module or other types of communication interface.
[0216] In a sixth aspect, the present application provides a communication system, comprising the first communication apparatus according to any possible implementation of the third aspect, and the second communication apparatus according to any possible implementation of the fourth aspect.
[0217] In a seventh aspect, the present application provides a computer readable storage medium, storing a computer program, which, when executed on a processor, causes the processor to perform the method according to any possible implementation of the first aspect or the method according to any possible implementation of the second aspect.
[0218] In an eighth aspect, the present application provides a computer program product, which, when run on a computer, causes the computer to perform the method according to any possible implementation of the first aspect or the method according to any possible implementation of the second aspect.
[0219] It is to be understood that the apparatus according to the third aspect, the apparatus according to the fourth aspect, the apparatus according to the fifth aspect, the system according to the sixth aspect, the computer readable storage medium according to the seventh aspect, or the computer program product according to the eighth aspect are all configured to perform the method according to any of the first aspect or the method according to any of the second aspect. Therefore, the beneficial effects achievable by the apparatuses or the system or the computer readable storage medium or the computer program product are similar to the beneficial effects achievable by the corresponding method, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0220] The drawings used by the embodiments of the present application are described as follows.
[0221] FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present application;
[0222] FIG. 2 is a flow diagram of a data transmission method according to an embodiment of the present application;
[0223] FIG. 3 is a schematic diagram of a data transmission method according to an embodiment of the present application;
[0224] FIG. 4 is a schematic diagram of another data transmission method according to an embodiment of the present application;
[0225] FIG. 5 is a schematic diagram of a first communication device according to an embodiment of the present application;
[0226] FIG. 6 is a schematic diagram of a second communication device according to an embodiment of the present application;
[0227] FIG. 7 is a schematic diagram of another communication device according to an embodiment of the present application. DETAILED DESCRIPTION
[0228] The embodiments of the present application will be described below in conjunction with the drawings of the embodiments of the present application. The terms used in the implementation manner part of the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0229] At least one (item) referred to in the present application indicates one (item) or more (items). More (items) refers to two (items) or more than two (items). "And / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. The character " / " generally represents that the front and rear associated objects are in an "or" relationship. In addition, it should be understood that although the terms first, second, etc. may be used to describe various objects in the present application, these objects should not be limited by these terms. These terms are only used to distinguish the objects from each other.
[0230] The terms "include" and "have" and any variations thereof mentioned in the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but can optionally include other steps or units not listed, or can optionally include other steps or units inherent to the process, method, product or device. It should be noted that the words "exemplary" or "for example" in the present application are used to mean an example, illustration or description. Any method or design scheme described as "exemplary" or "for example" in the present application should not be interpreted as more preferred or more advantageous than other methods or design schemes. On the contrary, the use of "exemplary" or "for example" is intended to present the relevant concept in a specific manner.
[0231] The technology provided by the present application can be applied to various communication systems. For example, the communication system can be a fourth generation (4G) communication system (e.g., a long term evolution (LTE) system), a fifth generation (5G) communication system, a wireless local area network (WLAN) system, a satellite communication system, a converged system of multiple systems, or a future communication system. The 5G communication system can also be referred to as a new radio (NR) system.
[0232] A network element in a communication system can send or receive a signal to or from another network element. The signal can include information, signaling, data, and the like. The network element can also be replaced by an entity, a network entity, a device, a communication device, a communication module, a node, a communication node, and the like. In the present application, the network element is taken as an example for description. For example, the communication system can include at least one terminal and at least one access network device. The access network device can send a downlink signal to the terminal, and / or the terminal can send an uplink signal to the access network device. In addition, it can be understood that if the communication system includes multiple terminals, the terminals can also send signals to each other, that is, the sending network element and the receiving network element of the signal can be terminals.
[0233] Referring to FIG. 1, FIG. 1 is a simplified schematic diagram of a wireless communication system provided by an embodiment of the present application. As shown in FIG. 1, the wireless communication system includes a wireless access network 100. The wireless access network 100 can be a future wireless access network, or an existing (e.g., 5G or 4G) wireless access network. One or more communication devices (120a-120j, collectively referred to as 120) can be connected to each other or connected to one or more network devices (110a, 110b, collectively referred to as 110) in the wireless access network 100. FIG. 1 is only a schematic diagram, and the wireless communication system can also include other devices, such as core network devices, wireless relay devices, and / or wireless backhaul devices, which are not shown in FIG. 1.
[0234] Exemplarily, in actual applications, the wireless communication system can include multiple network devices (also referred to as access network devices) at the same time, and can also include multiple communication devices at the same time. One network device can serve one or more communication devices at the same time. One communication device can also access one or more network devices at the same time. The number of communication devices and network devices included in the wireless communication system is not limited by the embodiments of the present application.
[0235] The network device can be an entity for transmitting or receiving signals on the network side. The network device can be an access device for a communication device to access the wireless communication system by a wireless manner. For example, the network device can be a base station. The base station can be referred to as a node B (Node B), an evolved Node B (eNB), a next generation Node B (gNB), an access network device in an open radio access network (O-RAN), a relay station, an access point, a transmitting and receiving point (TRP), a transmitting point (TP), a master eNB (MeNB), a secondary eNB (SeNB), a multi-mode wireless node, a home base station, a network controller, an access node, a wireless node, an access point (AP), a transmission node, a transceiver node, a base band unit (BBU), a remote radio unit (RRU), an active antenna unit (AAU), a remote radio head (RRH), a centralized unit (CU), a distributed unit (DU), a radio unit (RU), a CU control plane (CU-CP) node, a CU user plane (CU-UP) node, a positioning node, and the like. The base station can be a macro base station, a micro base station, a relay node, a donor node, or the like, or a combination thereof. The network device can also refer to a communication module, a modem, or a chip for being arranged in the foregoing devices or apparatuses. The network device can also be a mobile switching center, a device-to-device (D2D) device, a vehicle-to-everything (V2X) device, a machine-to-machine (M2M) device, a device assuming a base station function in a future communication system, and the like. The network device can support networks of the same or different access technologies. The embodiments of the present application do not limit specific technologies and specific device forms adopted by the network device.
[0236] All or part of the functions of the network device in the present application can also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform, such as a cloud platform. The network device in the present application can also be a logical node, a logical module or software capable of implementing all or part of the functions of the network device.
[0237] The network device can be fixed or mobile. For example, the base stations 110a, 110b are stationary and are responsible for wireless transmission and reception in one or more cells from the communication devices 120. The helicopter or drone 120i shown in Figure 1 can be configured to act as a mobile base station, and one or more cells can move according to the location of the mobile base station 120i. In other examples, the helicopter or drone (120i) can be configured to function as a communication device that communicates with the base station 110b.
[0238] In the present application, the communication device for implementing the access network function as described above can be an access network device, or a network device having part of the function of the access network, or a device capable of supporting the implementation of the access network function, such as a chip system, a hardware circuit, a software module, or a hardware circuit plus a software module, which can be installed in or matched with the access network device. In the method of the present application, the communication device for implementing the function of the access network device is described by taking the access network device as an example.
[0239] The communication device can be an entity on the user side for receiving or transmitting signals, such as a mobile phone. The communication device can be used to connect people, things and machines. The communication device can communicate with one or more core networks through a network device. The communication device includes a handheld device with a wireless connection function, another processing device connected to a wireless modem, or a vehicle-mounted device, etc. The communication device can be a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device. The communication device 120 can be widely used in various scenarios, such as cellular communication, device-to-device, vehicle-to-everything (V2X), point-to-point (P2P), machine-to-machine (M2M), machine type communication (MTC), internet of things (IoT), virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, unmanned aerial vehicle, robot, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobile, etc.Some examples of the communication device 120 are: a user equipment (UE) of the 3rd generation partnership project (3GPP) standard, a fixed device, a mobile device, a handheld device, a wearable device, a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a notebook, a personal computer, a smart book, a vehicle, a satellite, a global positioning system (GPS) device, a drone, a helicopter, an aircraft, a ship, a remote control device, a smart home device, an industrial device, a personal communication service (PCS) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a wireless webcam, a tablet, a palm computer, a mobile internet device (MID), a wearable device such as a smart watch, a smart point of sale (POS) machine, a customer-premises equipment (CPE), a light UE, a reduced capability UE (REDCAP UE), a wireless terminal in industrial control, a terminal in Internet of Things (IoT) system, a wireless terminal in self driving, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city such as a smart fuel dispenser, a terminal on a high-speed train, and a wireless terminal in a smart home such as a smart speaker, a smart coffee machine, a smart printer, etc. The communication device 120 can be a wireless device in the above scenarios or an apparatus for setting in a wireless device, e.g., a communication module, a modem, or a chip in the above devices. The communication device can also be a vehicle apparatus, e.g., a whole vehicle apparatus, a vehicle-mounted module, a vehicle-mounted chip, an on board unit (OBU), or a telematics box (T-BOX), etc. The communication device can also be referred to as a terminal, a terminal device, a UE, a mobile station (MS), a mobile terminal (MT), etc. The communication device can also be a communication device in a future wireless communication system.The communication device can be used in a dedicated network device or a general device. The embodiments of the present application do not limit the specific technology and specific device form of the communication device.
[0240] Exemplarily, the communication device can be used to act as a base station. For example, the UE can act as a scheduling entity which provides sidelink signals between UEs in V2X, D2D or P2P, etc. As shown in FIG. 1, the cell phone 120a and the car 120b communicate with each other by using the sidelink signals. The cell phone 120a and the smart home device 120e communicate without relaying the communication signals through the base station 110b.
[0241] In the present application, the communication apparatus for realizing the function of the communication device can be a terminal, a terminal with part of the function of the above communication device, or an apparatus capable of supporting the realization of the function of the above communication device, such as a chip system, which can be installed in or matched with the terminal. In the present application, the chip system can be composed of a chip or include a chip and other discrete devices. In the technical solutions provided in the present application, the communication apparatus is exemplarily taken as a terminal or a UE for description.
[0242] Exemplarily, a wireless communication system is generally composed of a cell, and a base station provides management of the cell and provides communication services to multiple MSs in the cell. The base station includes a BBU and a RRU. The BBU and the RRU can be placed in different places, for example, the RRU is pulled away and placed in a high traffic area, and the BBU is placed in a central machine room. The BBU and the RRU can also be placed in the same machine room. The BBU and the RRU can also be different components under one rack. Exemplarily, one cell can correspond to one carrier or a member carrier.
[0243] It can be understood that the present application can be applied between a network device and a communication device, between network devices, or between communication devices, i.e., between a master device and a slave device. The master device can be a network device or a communication device. When the master device is a network device, the slave device can be another network device or a communication device. When the master device is a communication device, the slave device can be another communication device.
[0244] The communication between the access network device and the terminal follows a certain protocol layer structure. The protocol layer structure can include a control plane protocol layer structure and a user plane protocol layer structure. For example, the control plane protocol layer structure can include the functions of protocol layers such as a radio resource control (RRC) layer, a PDCP layer, a radio link control (RLC) layer, a medium access control (MAC) layer, and a physical layer. For example, the user plane protocol layer structure can include the functions of protocol layers such as a PDCP layer, an RLC layer, a MAC layer, and a physical layer, and in one possible implementation, a service data adaptation protocol (SDAP) layer can be further included above the PDCP layer.
[0245] Exemplarily, the protocol layer structure between the access network device and the terminal can further include an artificial intelligence (AI) layer for transmitting data related to AI functions.
[0246] Taking the data transmission between the access network device and the terminal as an example, the data transmission needs to pass through the user plane protocol layers, such as the SDAP layer, the PDCP layer, the RLC layer, the MAC layer, and the physical layer. Among them, the SDAP layer, the PDCP layer, the RLC layer, the MAC layer, and the physical layer can also be collectively referred to as an access layer. According to the transmission direction of the data, each layer is divided into a sending part and a receiving part. Taking the following downlink data transmission as an example, the PDCP layer obtains data from the upper layer, transmits the data to the RLC layer and the MAC layer, generates a transport block by the MAC layer, and then performs wireless transmission through the physical layer. The data is encapsulated in each layer. For example, the data received by a layer from the upper layer of the layer is regarded as the SDU of the layer, and after encapsulation by the layer, it becomes a PDU, and is then transmitted to the next layer.
[0247] Exemplarily, the terminal can also have an application layer and a non-access layer. Among them, the application layer can be used to provide services to the application programs installed in the terminal, for example, the downlink data received by the terminal can be transmitted by the physical layer to the application layer in turn, and then provided to the application programs by the application layer; for another example, the application layer can obtain the data generated by the application programs, and transmit the data to the physical layer in turn to send to other communication devices. The non-access layer can be used to forward user data, such as forwarding the uplink data received from the application layer to the SDAP layer or forwarding the downlink data received from the SDAP layer to the application layer.
[0248] The access network device can include a CU and a DU. A plurality of DUs can be centrally controlled by one CU. As an example, the interface between the CU and the DU can be referred to as an F1 interface. Among them, the control panel (CP) interface can be F1-C, and the user panel (UP) interface can be F1-U. The CU and the DU can be divided according to the protocol layer of the wireless network: for example, the functions of the PDCP layer and above protocol layers are arranged in the CU, and the functions of the protocol layers below the PDCP layer (such as the RLC layer and the MAC layer, etc.) are arranged in the DU; for another example, the functions of the protocol layers above the PDCP layer are arranged in the CU, and the functions of the protocol layers at and below the PDCP layer are arranged in the DU.
[0249] It can be understood that the above-mentioned processing functions of the CU and the DU according to the division of the protocol layer are only an example, and can also be divided in other ways, for example, the CU or the DU can be divided into functions with more protocol layers, and for another example, the CU or the DU can also be divided into partial processing functions with protocol layers. In one design, part of the functions of the RLC layer and the functions of the protocol layers above the RLC layer are arranged in the CU, and the remaining functions of the RLC layer and the functions of the protocol layers below the RLC layer are arranged in the DU. In another design, the functions of the CU or the DU can also be divided according to the service type or other system requirements, for example, according to the delay, the functions that need to meet the delay requirement of the processing time are arranged in the DU, and the functions that do not need to meet the delay requirement are arranged in the CU. In another design, the CU can also have one or more functions of the core network. For example, the CU can be arranged at the network side for centralized management. In another design, the RU of the DU is remotely arranged. Among them, the RU has a radio frequency function.
[0250] Exemplarily, the DU and the RU can be divided at a physical layer (PHY). For example, the DU can implement high-layer functions in the PHY, and the RU can implement low-layer functions in the PHY. Wherein, for transmission, the functions of the PHY can include adding a cyclic redundancy check (CRC) code, channel coding, rate matching, scrambling, modulation, layer mapping, precoding, resource mapping, physical antenna mapping, and / or radio frequency transmission functions. For reception, the functions of the PHY can include CRC, channel decoding, de-rate matching, descrambling, demodulation, de-layer mapping, channel detection, resource demapping, physical antenna demapping, and / or radio frequency reception functions. Wherein, the high-layer functions in the PHY can include part of the functions of the PHY, for example, the part of the functions is closer to the MAC layer, and the low-layer functions in the PHY can include another part of the functions of the PHY, for example, the part of the functions is closer to the radio frequency functions. For example, the high-layer functions in the PHY can include adding a CRC code, channel coding, rate matching, scrambling, modulation, and layer mapping, and the low-layer functions in the PHY can include precoding, resource mapping, physical antenna mapping, and radio frequency transmission functions; or the high-layer functions in the PHY can include adding a CRC code, channel coding, rate matching, scrambling, modulation, layer mapping, and precoding, and the low-layer functions in the PHY can include resource mapping, physical antenna mapping, and radio frequency transmission functions.
[0251] Exemplarily, the functions of the CU can be implemented by one entity, or can also be implemented by different entities. For example, the functions of the CU can be further divided, that is, the control plane and the user plane are separated and implemented by different entities, respectively, as a control plane CU entity (that is, a CU-CP entity) and a user plane CU entity (that is, a CU-UP entity). The CU-CP entity and the CU-UP entity can be coupled with the DU to jointly complete the functions of the access network device.
[0252] In the above architecture, the signaling generated by the CU can be transmitted to the terminal through the DU, or the signaling generated by the terminal can be transmitted to the CU through the DU. For example, the signaling of the RRC or the PDCP layer is finally processed as the signaling of the physical layer to be transmitted to the terminal, or is converted from the received physical layer signaling. In this architecture, the signaling of the RRC or the PDCP layer can be considered as being transmitted through the DU, or being transmitted through the DU and the RU.
[0253] Exemplarily, any of the above DU, CU, CU-CP, CU-UP and RU can be a software module, a hardware structure, or a software module + hardware structure, without limitation. Among them, the existence forms of different entities can be different, without limitation. For example, the DU, CU, CU-CP, CU-UP are software modules, and the RU is a hardware structure. These modules and the methods they perform are also within the protection scope of the present application.
[0254] In different systems, the CU (or CU-CP and CU-UP), DU or RU can also have different names, but those skilled in the art can understand their meanings. For example, in the O-RAN system, the CU can also be referred to as O-CU (open CU), the DU can also be referred to as O-DU, the CU-CP can also be referred to as O-CU-CP, the CU-UP can also be referred to as O-CU-UP, and the RU can also be referred to as O-RU.
[0255] It should be understood that the number and type of devices in the communication system shown in FIG. 1 are only illustrative, and the present application is not limited thereto. In actual applications, more terminals, more access network devices, and other network elements, such as core network devices and / or network elements for implementing artificial intelligence functions, can also be included in the communication system.
[0256] It can be understood that all or part of the functions implemented by one or more of the terminal, the access network device, the core network device, or the network element for implementing artificial intelligence functions can be virtualized, that is, implemented by one or more of a special processor or a general processor and a corresponding software module. Among them, the terminal and the access network device involve the interface of air interface transmission, and the transceiving function of the interface can be realized by hardware. The core network device, such as the operation administration and maintenance (OAM) network element, can be virtualized. Exemplarily, one or more functions of the virtualized terminal, access network device, core network device, or network element for implementing artificial intelligence functions can be implemented by a cloud device, such as a cloud device in an over the top (OTT) system.
[0257] The method provided by the present application can be used for communication between the access network device and the terminal, and can also be used for communication between other communication devices, such as communication between a macro base station and a micro base station in a wireless backhaul link, and communication between two terminals in a sidelink (SL), without limitation.
[0258] In this application, the phrase "sending information to... (e.g., a terminal)" or the related illustrations in the accompanying drawings can be understood as the destination of the information being the terminal. This can include sending information directly or indirectly to the terminal. Similarly, the phrase "receiving information from... (e.g., a terminal)" or "receiving information from... (e.g., a terminal)" or the related illustrations in the accompanying drawings can be understood as the source of the information being the terminal. This can include receiving information directly or indirectly from the terminal. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be interpreted similarly, and will not be elaborated further here.
[0259] The following explains the terminology used in the embodiments of this application:
[0260] 1. Coding coefficient matrix
[0261] The coding coefficient matrix is used to perform linear processing on the original data packets, resulting in a coded data packet that is a linear combination of the original data packets. This linear processing includes operations such as multiplication and addition, all implemented within a binary finite field. The addition operation within this binary finite field is the XOR operation.
[0262] The architecture of the embodiments of this application has been described above. The methods of the embodiments of this application will be described in detail below.
[0263] Referring to Figure 2, a flowchart illustrating a data transmission method according to an embodiment of this application is shown. Optionally, this method can be applied to the aforementioned communication system, such as the communication system shown in Figure 1. The data transmission method shown in Figure 2 may include steps 201-205. Steps 201-205 are as follows:
[0264] 201. The first communication device encodes the first data packet based on the first coding coefficient matrix to obtain a second data packet. The second data packet includes multiple second sub-data packets.
[0265] First, the first coding coefficient matrix is described. This first coding coefficient matrix is an N*N matrix, where N is an integer not less than 2. The elements in the first coding coefficient matrix are either a first value or a second value. In one possible implementation, the first value is 0 and the second value is 1. Optionally, the first and second values can also be other values.
[0266] Among them, (1) when N is even, the first coding coefficient matrix satisfies the first condition or the second condition.
[0267] The first condition is that: each row includes one first value and N-1 second values, and the positions of the first values in different rows are different; or each column includes one first value and N-1 second values, and the positions of the first values in different columns are different; or each row and each column includes one first value and N-1 second values, and the positions of the first values in different rows are different, and the positions of the first values in different columns are also different.
[0268] The positions of the first values in different rows or the positions of the first values in different columns are different. The different can be understood as that the positions of the first values between any two rows are different. The position of the first value refers to the column index and / or row index where the first value is located.
[0269] For example, the first encoding coefficient matrix can be: etc.
[0270] The second condition is that: the ith row and the jth column include one first value and N-1 second values respectively, the other rows except the ith row include N-2 first values and 2 second values, the other columns except the jth column include N-2 first values and 2 second values, and the matrix obtained by adding the elements of the other rows corresponding to the ith row satisfies the first condition, and the matrix obtained by adding the elements of the other columns corresponding to the jth column also satisfies the first condition. The ith row in the first encoding coefficient matrix is any row in the first encoding coefficient matrix, and the jth column is any column in the first encoding coefficient matrix.
[0271] That is, there is a row and a column in the first encoding coefficient matrix that respectively include one first value and N-1 second values. Except for the row and the column, the other rows and the other columns respectively include N-2 first values and 2 second values. And the matrix obtained by adding the elements of the other rows corresponding to the row satisfies the first condition, or the matrix obtained by adding the elements of the other columns corresponding to the column satisfies the first condition.
[0272] For example, the first encoding coefficient matrix can be:
[0273] (2) When N is an odd number, the ith row in the first encoding coefficient matrix includes N second values, the other rows except the ith row include N-2 first values and 2 second values, and the jth column in the first encoding coefficient matrix includes N second values, the positions of the second values in the other rows except the ith row are different, and the positions of the second values in the other columns except the jth column are also different.
[0274] For example, the first encoding coefficient matrix can be: etc.
[0275] The specific implementation of obtaining the first encoding coefficient matrix for the first communication device can refer to the description below, and will not be described here.
[0276] In a possible implementation, the first data packet is a data packet of a physical layer. For example, the first data packet is a TB, a CBG, a CB, or the like of the physical layer.
[0277] By using the scheme at the physical layer, on the one hand, the encryption of the underlying signaling can be implemented, and the security strength of the system can be improved; on the other hand, the data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and the security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0278] In another possible implementation, the first data packet is a data packet of a packet data convergence protocol (PDCP) layer. For example, the first data packet is a service data unit (SDU) of the PDCP layer.
[0279] By using the scheme at the PDCP layer, since only two data packets need to be encrypted, the complexity and security overhead of the system can be reduced.
[0280] In yet another possible implementation, the first data packet is a data packet of a medium access control (MAC) layer. For example, the first data packet is a MAC-SDU of the MAC layer.
[0281] By using the scheme at the MAC layer, on the one hand, the encryption of the underlying signaling can be implemented, and the security strength of the system can be improved; on the other hand, the data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and the security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0282] In yet another possible implementation, the first data packet is a data packet of a radio link control (RLC) layer. For example, the first data packet is an RLC-SDU of the RLC layer.
[0283] By using the scheme at the RLC layer, on the one hand, the encryption of the underlying signaling can be implemented, and the security strength of the system can be improved; on the other hand, the data can be encrypted at the underlying layer, and the data does not need to be transmitted to the PDCP layer for encryption, so that the processing delay of the data can be reduced, and the security requirements of some delay-sensitive services (such as environment reconstruction based on wireless sensing) can be met.
[0284] Of course, the first data packet can also be a data packet of another layer, and the scheme does not limit this.
[0285] In a possible implementation, the first data packet comprises N first sub data packets. Optionally, the N first sub data packets can be obtained by splitting the first data packet into N parts.
[0286] In a possible implementation, the N is determined based on at least one of a service requirement and an encryption algorithm. For example, the service requirement can be URLLC (Ultra-Reliable and Low Latency Communication), or a wireless perception based environment reconstruction service. The encryption algorithm can be AES (Advanced Encryption Standard), or XOR algorithm.
[0287] In a possible implementation, the N is determined based on at least one of a maximum allowed transmission latency corresponding data packet quantity, an encryption algorithm, a key length of the encryption algorithm, a decryption algorithm, and a key length of the decryption algorithm.
[0288] For example, the maximum allowed transmission latency can be a maximum allowed transmission latency of a service requirement. The N corresponding to the maximum allowed transmission latency can be determined based on the maximum allowed transmission latency. max For example, the N can be determined by setting 2≤N≤N max
[0289] For example, the key length of the encryption algorithm can be determined based on a length L of the first data packet and a key length K of the encryption algorithm. For example, the encryption algorithm can be AES, and the K can be determined based on a standard, and then the N can be calculated based on N=L / K. For example, when the key length K of the encryption algorithm is 128 bits, and the length L of the first data packet is 1024, the N can be 1024 / 128=8. For example, when L / K=7.2, the N can be 8.
[0290] For example, the key length of the decryption algorithm can be determined based on the key length of the encryption algorithm, and details are not repeated here.
[0291] For example, the N can be determined by the first communication device.
[0292] For example, the second communication device can send first information, and the first information can comprise at least one of a maximum allowed transmission latency corresponding data packet quantity, a decryption algorithm, and a key length of the decryption algorithm. Correspondingly, the first communication device can receive the first information, and then determine the N based on the first information.
[0293] For example, the first communication device determines N based on at least one of the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm. For example, the first communication device determines N as 5 based on the number of data packets corresponding to the maximum allowed transmission delay (5). max For example, the first communication device determines N based on at least one of the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm. For example, the first communication device determines N as 5 based on the number of data packets corresponding to the maximum allowed transmission delay (5).
[0294] Further, the first communication device sends second information including N. Accordingly, the second communication device receives the second information.
[0295] In another possible implementation, N can also be determined by the second communication device.
[0296] For example, the second communication device determines N based on at least one of the number of data packets corresponding to the maximum allowed transmission delay, the decryption algorithm, and the key length of the decryption algorithm, and sends third information including N. Accordingly, the first communication device receives the third information.
[0297] For example, the first communication device sends fourth information including at least one of the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm. Accordingly, the second communication device receives the fourth information. Further, the second communication device determines N based on at least one of the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm, and sends fifth information including N. Accordingly, the first communication device receives the fifth information.
[0298] It should be noted that the encryption algorithm and the decryption algorithm of the present scheme are corresponding. For example, the AES encryption algorithm is used, and accordingly, the AES decryption algorithm is used. For example, the encryption algorithm is XOR operation, and accordingly, the decryption algorithm is also XOR operation. The key length of the encryption algorithm and the key length of the decryption algorithm of the present scheme are the same.
[0299] The second data packet includes a plurality of second sub-data packets. For example, the second data packet includes N second sub-data packets. The N first sub-data packets are encoded based on the first encoding coefficient matrix to obtain the N second sub-data packets.
[0300] In one possible implementation, the second data packet is obtained by multiplying the first encoding coefficient matrix and the first data packet. The second data packet satisfies the following form: X = AM.
[0301] X is the second data packet, A is the first encoding coefficient matrix, and M is the first data packet.
[0302] X = (x1, x2, …, x N ) T ; M = (m1, m2, …, m N ) T ;
[0303] wherein x r is the second sub-packet, r is 1, 2, … N; m p is the first sub-packet, p is 1, 2, … N.
[0304] That is, x r = a r1 m1+a r2 m2+…+a rN m N .
[0305] Alternatively, the second data packet satisfies the following form: X = MA.
[0306] X = (x1, x2, …, x N ); M = (m1, m2, …, m N );
[0307] That is, x r = a 1r m1+a 2r m2+…+a Nr m N .
[0308] 202. The first communication device encrypts at least two of the plurality of second sub-packets to obtain at least two encrypted sub-packets.
[0309] In a possible implementation, two or more of the plurality of second sub-packets in the second data packet are randomly selected, and an Advanced Encryption Standard (AES) encryption algorithm is used to encrypt the two or more second sub-packets to obtain at least two encrypted sub-packets.
[0310] For example, an AES encryption function is E, and a ciphertext C = E(P, K), where P is plaintext (e.g., the two or more second sub-packets randomly selected), and K is a key. For example, the first communication device calculates the key for AES encryption by using a root key stored in a Unified Data Management (UDM). The second communication device can obtain the root key from a universal subscriber identity module (USIM) and calculate the key for AES encryption by using the root key.
[0311] Optionally, other encryption algorithms can also be used, such as directly performing XOR operation between the key and the plaintext.
[0312] 203、the first communication device outputs a third data packet, the third data packet including the at least two encrypted sub-packets and the other second sub-packets in the second data packet except the at least two second sub-packets. Correspondingly, the second communication device receives the third data packet.
[0313] In a possible implementation, when the third data packet is output, a CRC code is added to the third data packet, code block segmentation is performed, and then channel coding, rate matching, code block concatenation, scrambling, modulation mapping, layer mapping, antenna port mapping, beamforming, resource mapping, and the like are performed to generate an Orthogonal Frequency Division Multiplexing (OFDM) signal, and the signal is transmitted through a physical layer.
[0314] As shown in FIG. 3, the first data packet is a transport block TB of a physical layer in this example. First, the physical layer cuts the first data packet TB into N blocks. Optionally, the cutting is uniform cutting, that is, each block has the same size. When the first data packet TB cannot be uniformly cut into N blocks, for the Nth block, 0s are padded at the end thereof to obtain a block having the same size as the aforementioned N-1 blocks. Then, the first data packet TB is precoded (that is, encoded by using a first encoding coefficient matrix) to obtain a second data packet TB, and optionally 2 sub-packets (Xi and Xj) in the second data packet TB are encrypted by using AES (AES is deployed in the physical layer). Finally, the sending end splices the encrypted encoded data packet and the unencrypted encoded data packet to obtain a new transport block TB of a third data packet TB, and transmits the third data packet TB. Optionally, the third data packet TB can also include a CRC, for example, a CRC is added after the new TB to obtain the third data packet TB.
[0315] As shown in FIG. 4, the first data packet is a service data unit (SDU) of a PDCP layer in this example. First, the PDCP layer cuts the first data packet SDU into N blocks. For the cutting process, refer to the description of the embodiment shown in FIG. 3, which will not be repeated here. Then, the first data packet SDU is pre-encoded (i.e., encoded by using a first encoding coefficient matrix), to obtain a second data packet SDU. In the second data packet SDU, two optional sub-packets (Xi and Xj) are encrypted by using AES. Finally, the sending end splices the encrypted encoded data packet and the unencrypted encoded data packet into a new SDU, to obtain a third data packet SDU, and transmits the third data packet SDU. Optionally, the third data packet further includes protocol control information (PCI), for example, adding the PCI before the new SDU to obtain a protocol data unit (PDU), i.e., to obtain a third data packet PDU.
[0316] In this example, the third data packet includes at least two encrypted sub-packets, and other sub-packets in the second data packet except the at least two encrypted sub-packets. That is, the third data packet includes the at least two encrypted sub-packets and the unencrypted sub-packets in the second data packet.
[0317] Since any N-2 rows in the first encoding coefficient matrix provided by the present scheme cannot obtain a vector with only one element being 1 by linear combination in any form, i.e., any linear combination of any N-2 encoded data packets x i cannot obtain any original data packet m i . For example, the first encoding coefficient matrix A obtained by summing any two rows of the first encoding coefficient matrix A has two 0s and two 1s, so based on any two rows, decoding cannot be achieved. For example, based on the first encoding coefficient matrix A, the second sub-packets x1, x2, x3, and x4 can be obtained, which are respectively represented as: x1=m2+m3+m4, x2=m1+m3+m4, x3=m1+m2+m4, and x4=m1+m2+m3.
[0318] If the second sub-packets x3 and x4 are encrypted, the second sub-packets x1 and x2 are not encrypted.
[0319] Wherein, for the third party who cannot obtain the encryption key, it can only directly obtain x1 and x2. Based on x1 and x2, it can only obtain x1, x2 and x1+x2. Since x1=m2+m3+m4, x2=m1+m3+m4, x1+x2=m1+m2, for the third party who cannot obtain the encryption key, it must crack two encrypted coded data packets, otherwise it can only obtain m2+m3+m4, m1+m3+m4 and m1+m2, but cannot obtain m1, m2, m3 or m4 alone.
[0320] Therefore, based on the first coded coefficient matrix provided by the present scheme, after encrypting any two second sub-data packets, for the third party who cannot obtain the encryption key, it cannot demodulate any original data packet (i.e. the first sub-data packet) according to the remaining N-2 coded data packets (i.e. the unencrypted second sub-data packets), so that the secure communication of the entire data packet can be realized by encrypting only at least two sub-data packets in the data packet.
[0321] 204、the second communication device decrypts the at least two encrypted sub-data packets in the third data packet to obtain the at least two second sub-data packets.
[0322] In a possible implementation, the second communication device decrypts the at least two encrypted sub-data packets in the third data packet based on the AES decryption algorithm to obtain the decrypted at least two second sub-data packets.
[0323] For example, assuming that the AES decryption function is D, the plaintext P=D(C, K), wherein C is the ciphertext and K is the key. Of course, other decryption algorithms can also be used, such as directly performing XOR operation between the ciphertext and the key.
[0324] In a possible implementation, the first communication device sends sixth information, and the sixth information includes the identification of the at least two encrypted sub-data packets. Correspondingly, the second communication device receives the sixth information. The second communication device decrypts the encrypted sub-data packet corresponding to the identification.
[0325] The sixth information may, for example, include a parameter (i, j). The parameter (i, j) indicates that the encrypted sub-data packet is the i th sub-data packet and the j th sub-data packet.
[0326] Optionally, the sixth information can be the same information as the aforementioned second information. Alternatively, the sixth information can be the same information as the aforementioned fourth information.
[0327] In another possible implementation, the identification of the at least two encrypted sub-data packets can also be interacted in the high-layer key distribution stage, and the present scheme does not limit this.
[0328] 205、the second communication device decodes the first data packet based on the first encoding coefficient matrix, the at least two second sub-packets, and other second sub-packets in the second data packet except the at least two second sub-packets.
[0329] That is, the second communication device decodes the first data packet based on the first encoding coefficient matrix and the second data packet (including the at least two second sub-packets obtained after decryption, and other second sub-packets).
[0330] In a possible implementation, the first communication device sends the first encoding coefficient matrix. Correspondingly, the second communication device receives the first encoding coefficient matrix. For example, the first communication device and the second communication device interact through Radio Resource Control (RRC) connection reconfiguration information Reconfiguration or Downlink Control Information (DCI), a MAC Control Element (MAC CE), or other control signaling. Further, the second communication device decodes the second data packet based on the first encoding coefficient matrix to obtain the first data packet.
[0331] In another possible implementation, the first communication device sends indication information of the first encoding coefficient matrix. The indication information can be a number (index) of the encoding coefficient matrix, sequence information, or the like.
[0332] For example, the standard predefines a plurality of encoding coefficient matrices in a plurality of dimensions, and numbers (indexes) the encoding coefficient matrices. The first communication device and the second communication device can only interact the number (index) of the encoding coefficient matrix.
[0333] For another example, the indication information specifically includes a sequence, which is used to indicate the position of the first value or the second value in each row or each column of the first encoding coefficient matrix.
[0334] For example, when N is even:
[0335] When the first encoding coefficient matrix satisfies the first condition, each row and each column of the first encoding coefficient matrix has one 0 and N-1 1s. In this case, the legitimate parties can interact a sequence (c0, c1, c2, …, c N ), where c0=0 represents c1, c2, …, c N represents c1, c2, …, c NThe description is for the column; when c0=0, c1 represents the 0 in the first row in the c1th column, c2 represents the 0 in the second row in the c2th column, and so on; similarly, when c0=1, c1 represents the 0 in the first column in the c1th row, c2 represents the 0 in the second column in the c2th row, and so on.
[0336] For example, N=4, the legitimate parties interact a sequence (0, 1, 3, 2, 4), which is used to indicate in which position the 0 in each row is, the sequence (0, 1, 3, 2, 4) indicates that the first encoding coefficient matrix can be:
[0337] When the first encoding coefficient matrix satisfies the second condition, there is one 0 and N-1 1s in a certain row and column of the first encoding coefficient matrix, and there are N-2 0s and 2 1s in other rows and columns, at this time, the legitimate parties can interact a sequence (i, j, c0, c1, c2, …, c N ), where i represents the i th row with one 0 and N-1 1s, j represents the j th column with one 0 and N-1 1s, c0=0 represents c1, c2, …, c N The description is for the row, c0=1 represents c1, c2, …, c N The description is for the column; when c0=0, c1 represents the 1s in the first row except the j th column in the c1th column, c2 represents the 1s in the second row except the j th column in the c2th column, and so on; in particular, c i =0 (because the i th row has one 0 and N-1 1s, c i is set to 0 here to indicate that this is the i th row). Similarly, when c0=1, c1 represents the 1s in the first column except the i th row in the c1th row, c2 represents the 1s in the second column except the i th row in the c2th row, and so on; in particular, c j =0 (because the j th column has one 0 and N-1 1s, c j is set to 0 here to indicate that this is the j th column).
[0338] For example, N=4, the legitimate parties interact a sequence (1, 2, 0, 0, 1, 3, 4), the first two elements of the sequence are used to indicate which row and which column contain one 0 and N-1 1s (i.e., the first element 1 of the sequence indicates that the first row contains one 0 and N-1 1s, and the second element 2 indicates that the second column contains one 0 and N-1 1s), the third element is 0, indicating that the remaining elements are used to indicate in which column the other 1 in the remaining rows is, in particular, the fourth element of the sequence is 0, indicating that the first row is the i th row (i.e., i=1), the fifth element is 1 indicating that the second row contains another 1 in the first column, the sixth element is 3, indicating that the third row contains another 1 in the third column, and the seventh element 4 indicates that the fourth row contains another 1 in the fourth column. The sequence indicates that the first encoding coefficient matrix can be:
[0339] When N is odd:
[0340] The first encoding coefficient matrix has one row and one column all of 1, and other rows and columns have N-2 zeros and 2 ones, at this time, the legitimate parties can exchange a sequence (i, j, c0, c1, c2, …, c N ), where i represents the i-th row all of 1, j represents the j-th column all of 1, c0=0 represents that c1, c2, …, c N represent the remaining 1 of the first row except the j-th column, c2 represents the remaining 1 of the second row except the j-th column, and so on. In particular, c N =0 (because the i-th row is all of 1, c i is set to 0 here to indicate that it is the i-th row); similarly, when c0=1, c1 represents the remaining 1 of the first column except the i-th row, c2 represents the remaining 1 of the second column except the i-th row, and so on. In particular, c i =0 (because the j-th column is all of 1, c j is set to 0 here to indicate that it is the j-th column). j
[0341] For example, N=5, the legitimate parties exchange a sequence (2, 2, 0, 1, 0, 3, 4, 5), the first two elements of the sequence are used to indicate which row and which column are all of 1 (i.e. the first element 2 of the sequence indicates that the second row is all of 1, and the second element 2 indicates that the second column is all of 1), the third element is 0, indicating that the remaining elements are used to indicate where the other 1 of the remaining rows is in the column, in particular, the fourth element of the sequence is 1, indicating that the other 1 of the first row is in the first column, the fifth element is 0, indicating that the second row is the i-th row (i.e. i=2), the sixth element 3 indicates that the other 1 contained in the third row is in the third column, the seventh element 4 indicates that the other 1 contained in the fourth row is in the fourth column, and the eighth element 5 indicates that the other 1 contained in the fifth row is in the fifth column. The first encoding coefficient matrix indicated by the sequence can be:
[0342] Further, the indication information can include first indication information and second indication information. The first communication device sends the first indication information, which is used to indicate the processing mode, the processing mode including exchanging or summing. The first communication device also sends the second indication information, which is used to indicate the processing process, the processing process including the specific process of exchanging, or the specific process of summing.
[0343] For example, the first indication information can be a first sequence, and the second indication information can be a second sequence. The legitimate parties can exchange the first sequence, which indicates the processing manner of the row or column, such as exchanging the first sequence (0, 0, 1), where the first element 0 indicates the processing manner of the row (when the first element is 1, it indicates the processing manner of the column), and the remaining elements 0 and 1 indicate that the exchange is performed first and then the summation (0 represents exchange, and 1 represents summation). The legitimate parties also exchange the second sequence, which indicates the processing procedure, such as the specific procedure of the exchange operation, for example, when N = 4, (2, 3, 1, 4) indicates that the first row is exchanged to the third row, the second row is exchanged to the first row, the third row is exchanged to the second row, and the fourth row remains unchanged. The second sequence also includes the specific procedure of the summation operation, for example, the exchanged sequence (2) indicates that the second row is added to the other rows.
[0344] For example, based on the preset second encoding coefficient matrix (N = 4, the main diagonal element is 0), and the exchanged sequences (0, 0, 1) and (2, 3, 1, 4), the following can be obtained: Then, based on the exchanged sequence (2), that is, the second row is added to the other rows, the first encoding coefficient matrix is obtained as follows:
[0345] For example, the second communication device multiplies the first encoding coefficient matrix and the second data packet to obtain the first data packet, which satisfies the following form: M = AX. -1 X;
[0346] X is the second data packet, A is the first encoding coefficient matrix, and M is the first data packet.
[0347] X = (x1, x2, …, xN); M = (m1, m2, …, mN). N ) T ; M = (m1, m2, …, mN). N ) T ;
[0348] wherein x r is the second sub-data packet, r is 1, 2, …, N; m p is the first sub-data packet, and p is 1, 2, …, N.
[0349] Alternatively, the first data packet satisfies the following form: M = AX. -1 ;
[0350] X = (x1, x2, …, xN); M = (m1, m2, …, mN). N ) N ;
[0351] In this embodiment, the first communication device encodes the first data packet based on the first encoding coefficient matrix provided by this scheme, which satisfies the first or second condition described above, to obtain the second data packet. After encrypting any two second sub-data packets, a third party unable to obtain the encryption key cannot demodulate any of the original data packets (i.e., the first sub-data packets) from the remaining N-2 encoded data packets (i.e., the unencrypted second sub-data packets). Therefore, secure communication of the entire data packet can be achieved by encrypting only at least two sub-data packets within the data packet. Furthermore, this algorithm has low complexity, low security overhead, and security strength comparable to that of encryption methods. Moreover, it only involves encoding and encryption, and has no impact on communication rate, signal-to-noise ratio, bit error rate, etc., thus having minimal impact on the communication performance of legitimate links.
[0352] The following describes how the first communication device provided in the embodiments of this application obtains the first coding coefficient matrix.
[0353] In one possible implementation, the first coding coefficient matrix is obtained by processing a second coding coefficient matrix, which is an N*N matrix.
[0354] Example 1: The first communication device can directly process the second coding coefficient matrix to obtain the first coding coefficient matrix.
[0355] For example, the second coding coefficient matrix is a preset, initialized matrix, wherein the first communication device and the second communication device can negotiate in advance and both have pre-saved the second coding coefficient matrix.
[0356] Optionally, the elements on the main diagonal of the second coding coefficient matrix are the first value, and the elements in the second coding coefficient matrix other than those on the main diagonal are the second value.
[0357] For example, the elements on the main diagonal of the second coding coefficient matrix are 0, and the elements outside the main diagonal are 1. For instance, when N is 4, the second coding coefficient matrix can be:
[0358] When N is even, in the first possible implementation:
[0359] The first coding coefficient matrix is obtained by changing the positions of the elements in at least two rows of the second coding coefficient matrix.
[0360] Alternatively, the first coding coefficient matrix can be obtained by changing the positions of elements in at least two columns of the second coding coefficient matrix.
[0361] Or, the first encoding coefficient matrix is a matrix obtained by exchanging the positions of elements in at least two rows of the second encoding coefficient matrix and exchanging the positions of elements in at least two columns of the obtained matrix.
[0362] Or, the first encoding coefficient matrix is a matrix obtained by exchanging the positions of elements in at least two columns of the second encoding coefficient matrix and exchanging the positions of elements in at least two rows of the obtained matrix.
[0363] For example, N is 4, the elements in the second row and the third row of the second encoding coefficient matrix are exchanged to obtain the first encoding coefficient matrix, as shown in the following table:
[0364] For example, the elements in the first column and the third column of the second encoding coefficient matrix are exchanged to obtain the first encoding coefficient matrix, as shown in the following table:
[0365] For example, the elements in the second row and the third row of the second encoding coefficient matrix are exchanged, and the elements in the first column and the third column of the obtained matrix are exchanged to obtain the first encoding coefficient matrix, as shown in the following table:
[0366] For example, the elements in the second column and the fourth column of the second encoding coefficient matrix are exchanged, and the elements in the first row and the second row of the obtained matrix are exchanged to obtain the first encoding coefficient matrix, as shown in the following table:
[0367] In a second possible implementation manner:
[0368] The first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other rows except the xth row and the xth row of the second encoding coefficient matrix.
[0369] Or, the first encoding coefficient matrix is a matrix obtained by adding corresponding elements of other columns except the yth column and the yth column of the second encoding coefficient matrix.
[0370] The xth row is any row in the second encoding coefficient matrix, and the yth column is any column in the second encoding coefficient matrix.
[0371] For example, x is 1 and y is 2. The first encoding coefficient matrix is obtained by adding corresponding elements of other rows except the first row and the first row of the second encoding coefficient matrix, as shown in the following table:
[0372] For example, the second encoding coefficient matrix is obtained by adding the elements in the second column of the first encoding coefficient matrix to the elements in the other columns of the first encoding coefficient matrix.
[0373] In a third possible implementation manner:
[0374] The first encoding coefficient matrix is a matrix obtained by adding the elements in the s-th row of the third encoding coefficient matrix to the elements in the other rows of the third encoding coefficient matrix.
[0375] Or, the first encoding coefficient matrix is a matrix obtained by adding the elements in the k-th column of the third encoding coefficient matrix to the elements in the other columns of the third encoding coefficient matrix.
[0376] The s-th row is any row in the third encoding coefficient matrix, and the k-th column is any column in the third encoding coefficient matrix.
[0377] The third encoding coefficient matrix is a matrix obtained by exchanging the positions of the elements in at least two rows of the second encoding coefficient matrix.
[0378] Or, the third encoding coefficient matrix is a matrix obtained by exchanging the positions of the elements in at least two columns of the second encoding coefficient matrix.
[0379] Or, the third encoding coefficient matrix is a matrix obtained by exchanging the positions of the elements in at least two rows of the second encoding coefficient matrix and exchanging the positions of the elements in at least two columns of the matrix obtained by exchanging the positions of the elements in the at least two rows.
[0380] Or, the third encoding coefficient matrix is a matrix obtained by exchanging the positions of the elements in at least two columns of the second encoding coefficient matrix and exchanging the positions of the elements in at least two rows of the matrix obtained by exchanging the positions of the elements in the at least two columns.
[0381] For example, the elements in the second row and the elements in the third row of the second encoding coefficient matrix are exchanged to obtain the third encoding coefficient matrix as follows:
[0382] Then, the elements in the first row (for example, s is 1) of the third encoding coefficient matrix are added to the elements in the other rows of the third encoding coefficient matrix to obtain the first encoding coefficient matrix as follows:
[0383] In a fourth possible implementation manner:
[0384] The first encoding coefficient matrix is a matrix obtained by exchanging the positions of the elements in at least two rows of the fourth encoding coefficient matrix.
[0385] Or, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the fourth encoding coefficient matrix.
[0386] Or, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the fourth encoding coefficient matrix, and replacing positions of elements of at least two columns in the obtained matrix.
[0387] Or, the first encoding coefficient matrix is a matrix obtained by replacing positions of elements of at least two columns in the fourth encoding coefficient matrix, and replacing positions of elements of at least two rows in the obtained matrix.
[0388] Or, the fourth encoding coefficient matrix is a matrix obtained by correspondingly adding elements of other rows except the xth row to elements of the xth row in the second encoding coefficient matrix.
[0389] Or, the fourth encoding coefficient matrix is a matrix obtained by correspondingly adding elements of other columns except the yth column to elements of the yth column in the second encoding coefficient matrix.
[0390] For example, y is 2, elements of other columns except the 2th column are correspondingly added to elements of the 2th column in the second encoding coefficient matrix to obtain the fourth encoding coefficient matrix, as shown in the following table:
[0391] Then, elements of the 1th row and elements of the 3th row in the fourth encoding coefficient matrix are replaced to obtain the first encoding coefficient matrix, as shown in the following table:
[0392] The above only takes several examples of N being even 4, and other rows, other columns, other even numbers, etc. can also be used, and the present solution does not limit this.
[0393] When N is an odd number, in the first possible implementation manner:
[0394] The first encoding coefficient matrix is a matrix obtained by replacing the first value included in the wth row of the fifth encoding coefficient matrix with the second value.
[0395] Or, the first encoding coefficient matrix is a matrix obtained by replacing the first value included in the tth column of the fifth encoding coefficient matrix with the second value.
[0396] In a possible implementation, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row to the xth row. The xth row is any row in the second encoding coefficient matrix, and the wth row in the fifth encoding coefficient matrix corresponds to the xth row in the second encoding coefficient matrix. That is, the wth row in the fifth encoding coefficient matrix is the same as the xth row in the second encoding coefficient matrix. For example, when x is 2, w is also 2.
[0397] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the second encoding coefficient matrix except the yth column to the yth column. The yth column is any column in the second encoding coefficient matrix, and the tth column in the fifth encoding coefficient matrix corresponds to the yth column in the second encoding coefficient matrix. That is, the tth column in the fifth encoding coefficient matrix is the same as the yth column in the second encoding coefficient matrix. For example, when y is 3, t is also 3.
[0398] For example, N is 5, and the second encoding coefficient matrix is The first encoding coefficient matrix is obtained by adding corresponding elements of the second encoding coefficient matrix except the xth row (for example, the 2th row) to the xth row, as shown in the following table.
[0399] Further, the first encoding coefficient matrix is obtained by replacing the first value included in the wth row (that is, the 2th row) in the fifth encoding coefficient matrix with the second value, as shown in the following table.
[0400] In another possible implementation, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the cth row to the cth row. The cth row is any row in the sixth encoding coefficient matrix, and the wth row in the fifth encoding coefficient matrix corresponds to the cth row in the sixth encoding coefficient matrix. That is, the wth row in the fifth encoding coefficient matrix is the same as the cth row in the sixth encoding coefficient matrix. For example, when c is 4, w is also 4.
[0401] Alternatively, the fifth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the sixth encoding coefficient matrix except the uth column to the uth column. The uth column is any column in the sixth encoding coefficient matrix, and the tth column in the fifth encoding coefficient matrix corresponds to the uth column in the sixth encoding coefficient matrix. That is, the tth column in the fifth encoding coefficient matrix is the same as the uth column in the sixth encoding coefficient matrix. For example, when u is 2, t is also 2.
[0402] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two rows of the second encoding coefficient matrix.
[0403] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two columns of the second encoding coefficient matrix.
[0404] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two rows of the second encoding coefficient matrix and replacing positions of elements in at least two columns of the matrix obtained by replacing positions of elements in at least two rows of the second encoding coefficient matrix.
[0405] The sixth encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two columns of the second encoding coefficient matrix and replacing positions of elements in at least two rows of the matrix obtained by replacing positions of elements in at least two columns of the second encoding coefficient matrix.
[0406] For example, N is 5, the second encoding coefficient matrix is The sixth encoding coefficient matrix is obtained by replacing positions of elements in at least two rows (for example, the second row and the third row) of the second encoding coefficient matrix, such as
[0407] The fifth encoding coefficient matrix is obtained by adding elements corresponding to the cth row (for example, the fourth row) in the sixth encoding coefficient matrix to elements in other rows except the cth row, such as
[0408] The first encoding coefficient matrix is obtained by replacing the first value included in the wth row (that is, the fourth row) in the fifth encoding coefficient matrix with the second value, such as
[0409] In a second possible implementation manner:
[0410] The first encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two rows of the seventh encoding coefficient matrix.
[0411] The first encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two columns of the seventh encoding coefficient matrix.
[0412] The first encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two rows of the seventh encoding coefficient matrix and replacing positions of elements in at least two columns of the matrix obtained by replacing positions of elements in at least two rows of the seventh encoding coefficient matrix.
[0413] The first encoding coefficient matrix is a matrix obtained by replacing positions of elements in at least two columns of the seventh encoding coefficient matrix and replacing positions of elements in at least two rows of the matrix obtained by replacing positions of elements in at least two columns of the seventh encoding coefficient matrix.
[0414] The seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the a-th row of the eighth encoding coefficient matrix with the second value.
[0415] Alternatively, the seventh encoding coefficient matrix is a matrix obtained by replacing the first value included in the b-th column of the eighth encoding coefficient matrix with the second value.
[0416] The eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the rows other than the x-th row of the second encoding coefficient matrix to the x-th row.
[0417] Alternatively, the eighth encoding coefficient matrix is a matrix obtained by adding corresponding elements of the columns other than the y-th column of the second encoding coefficient matrix to the y-th column.
[0418] For example, N is 5, and the second encoding coefficient matrix is When x is 1, the eighth encoding coefficient matrix is obtained by adding corresponding elements of the rows other than the x-th row of the second encoding coefficient matrix to the x-th row, as shown in the following table:
[0419] Then, the first value included in the a-th row (i.e., the first row) of the eighth encoding coefficient matrix is replaced with the second value to obtain the seventh encoding coefficient matrix, as shown in the following table:
[0420] Further, the positions of the elements in at least two rows (e.g., the first and second rows) of the seventh encoding coefficient matrix are exchanged, and the positions of the elements in at least two columns (e.g., the third and fourth columns) of the exchanged matrix are exchanged to obtain the first encoding coefficient matrix, as shown in the following table:
[0421] The above is only an example in which N is an odd number 5. Other rows, other columns, other odd numbers, etc. can also be used, and the present solution does not limit this.
[0422] Example 2: The first communication device can process the second encoding coefficient matrix and the ninth encoding coefficient matrix to obtain the first encoding coefficient matrix.
[0423] The second encoding coefficient matrix provided in the example is described below.
[0424] When N is an even number, the second encoding coefficient matrix satisfies the third condition or the fourth condition.
[0425] The third condition is that the xth row includes N second values, other rows each include one first value and N-1 second values, and the positions of the first values in different rows are different.
[0426] Or, the yth column includes N second values, other columns each include one first value and N-1 second values, and the positions of the first values in different columns are different.
[0427] Or, the xth row and the yth column each include N second values, other rows each include one first value and N-1 second values, other columns each include one first value and N-1 second values, and the positions of the first values in different rows are different, and the positions of the first values in different columns are different.
[0428] The fourth condition is that each row includes one first value and N-1 second values, and the positions of the first values in different rows of the second encoding coefficient matrix are different.
[0429] Or, each column includes one first value and N-1 second values, and the positions of the first values in different columns of the second encoding coefficient matrix are different.
[0430] Or, each row and each column each includes one first value and N-1 second values, and the positions of the first values in different rows of the second encoding coefficient matrix are different, and the positions of the first values in different columns of the second encoding coefficient matrix are different.
[0431] For example, assuming that N is 4, x is 1, the elements of the first row are all 1, and the second encoding coefficient matrix is:
[0432] For another example, the second encoding coefficient matrix is:
[0433] Wherein, when N is an odd number, the second encoding coefficient matrix satisfies the third condition described above.
[0434] For example, N is 5, x is 3, the elements of the third row are all 1, and the second encoding coefficient matrix can be:
[0435] The ninth encoding coefficient matrix is described below.
[0436] Wherein, each row of the ninth encoding coefficient matrix includes N-1 first values and one second value, and the positions of the second values in different rows of the ninth encoding coefficient matrix are different.
[0437] Or, each column in the ninth encoding coefficient matrix includes N-1 first values and one second value, and the positions of the second values in different columns in the ninth encoding coefficient matrix are different.
[0438] Or, each row and each column in the ninth encoding coefficient matrix includes N-1 first values and one second value respectively, and the positions of the second values in different rows in the ninth encoding coefficient matrix are different, and the positions of the second values in different columns are also different.
[0439] For example, when N is an even number (such as 4), the ninth encoding coefficient matrix can be:
[0440] When N is an odd number (such as 5), the ninth encoding coefficient matrix can be:
[0441] In a possible implementation, the first encoding coefficient matrix is obtained based on multiplication of the second encoding coefficient matrix and the ninth encoding coefficient matrix.
[0442] For example, A = G -1 I. A is the first encoding coefficient matrix, G is the second encoding coefficient matrix, and I is the ninth encoding coefficient matrix.
[0443] The above-mentioned several ways of obtaining the first encoding coefficient matrix are only examples, and other ways can also be used, which are not limited by the present application.
[0444] Based on the first encoding coefficient matrix obtained by the above-mentioned way, the first data packet is encoded to obtain the second data packet. After encryption of any at least two second sub-packets, for a third party who cannot obtain the encryption key, any one original data packet (i.e. the first sub-packet) cannot be demodulated according to the remaining N-2 encoding data packets (i.e. the unencrypted second sub-packet), so that the security communication of the entire data packet can be realized by only encrypting at least two sub-packets in the data packet. The algorithm complexity is low, the communication performance of the legal link is less affected, the security overhead is small, and the security strength is comparable to that of the encryption method.
[0445] It should be noted that in each embodiment of the present application, the terms and / or descriptions of different embodiments are consistent and can be mutually referred to if there is no special description and logical conflict. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0446] The above describes the method of the embodiments of the present application in detail. The apparatus of the embodiments of the present application is provided below. It can be understood that the division of multiple units or modules in each apparatus embodiment of the present application is only a logical division according to functions, and does not limit the specific structure of the apparatus. In a specific implementation, some of the function modules can be subdivided into more detailed function modules, and some of the function modules can be combined into one function module, but regardless of whether the function modules are subdivided or combined, the general flow performed by the apparatus is the same. For example, some of the apparatuses include a receiving unit and a sending unit. In some designs, the sending unit and the receiving unit can also be integrated into a communication unit, which can implement the functions implemented by the receiving unit and the sending unit. Generally, each unit corresponds to a respective program code (or program instruction), and the respective program code of each unit, when running on a processor, causes the unit to be controlled by the processing unit to perform the corresponding flow to implement the corresponding function.
[0447] The embodiments of the present application also provide an apparatus for implementing any of the above methods, for example, a communication apparatus including a module (or means) for implementing each step performed by the first communication device or the second communication device in any of the above methods.
[0448] For example, referring to FIG. 5, which is a structural schematic diagram of a first communication device provided by an embodiment of the present application. The first communication device is used to implement the data transmission method described above, for example, the steps performed by the first communication device in the data transmission method shown in FIG. 2.
[0449] As shown in FIG. 5, the first communication device can include a processing module 501 and a communication module 502, specifically as follows:
[0450] The processing module 501 is configured to encode a first data packet based on a first encoding coefficient matrix to obtain a second data packet, wherein the second data packet includes multiple second sub-data packets, the first encoding coefficient matrix is an N*N matrix, N is an integer not less than 2, and the elements in the first encoding coefficient matrix are first values or second values; wherein,
[0451] When N is even, the first encoding coefficient matrix satisfies a first condition or a second condition. The first condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The second condition is that the ith row and the jth column include one first value and N-1 second values respectively, other rows and columns except the ith row and the jth column include N-2 first values and 2 second values respectively, a matrix obtained by adding corresponding elements of other rows except the ith row to the ith row satisfies the first condition, and a matrix obtained by adding corresponding elements of other columns except the jth column to the jth column also satisfies the first condition.
[0452] When N is odd, the ith row of the first encoding coefficient matrix includes N second values, other rows except the ith row include N-2 first values and 2 second values, and the jth column of the first encoding coefficient matrix includes N second values, the positions of the second values in other rows except the ith row are different, and the positions of the second values in other columns except the jth column are different. The ith row of the first encoding coefficient matrix is any row in the first encoding coefficient matrix, and the jth column is any column in the first encoding coefficient matrix.
[0453] The processing module 501 is further configured to perform encryption processing on at least two second sub-packets in the plurality of second sub-packets to obtain at least two encrypted sub-packets.
[0454] The communication module 502 is configured to output a third data packet, the third data packet including the at least two encrypted sub-packets and other second sub-packets in the second data packet except the at least two second sub-packets.
[0455] The above description of the modules can refer to the description of the embodiment shown in FIG. 2, which will not be repeated here.
[0456] For example, referring to FIG. 6, which is a structural schematic diagram of a second communication device provided by an embodiment of the present application. The second communication device is configured to implement the data transmission method described above, for example, the steps performed by the second communication device in the data transmission method shown in FIG. 2.
[0457] As shown in FIG. 6, the second communication device can include a communication module 601 and a processing module 602, which are specifically as follows.
[0458] The communication module 601 is configured to receive a third data packet, the third data packet comprising at least two encrypted sub-packets and other second sub-packets in the second data packet except the at least two second sub-packets, wherein the second data packet comprises a plurality of second sub-packets, and the at least two encrypted sub-packets are obtained by encrypting the at least two second sub-packets;
[0459] The processing module 602 is configured to decrypt the at least two encrypted sub-packets to obtain the at least two second sub-packets.
[0460] The processing module 602 is further configured to decode, based on a first encoding coefficient matrix, the at least two second sub-packets and the other second sub-packets in the second data packet except the at least two second sub-packets, to obtain a first data packet; the first encoding coefficient matrix is an N*N matrix, N is an integer greater than or equal to 2, and elements in the first encoding coefficient matrix are first values or second values; wherein,
[0461] When N is an even number, the first encoding coefficient matrix satisfies a first condition or a second condition. The first condition is that each row and / or each column comprises one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The second condition is that the i-th row and the j-th column respectively comprise one first value and N-1 second values, other rows and columns except the i-th row and the j-th column respectively comprise N-2 first values and 2 second values, a matrix obtained by adding corresponding elements of other rows except the i-th row and the i-th row satisfies the first condition, and a matrix obtained by adding corresponding elements of other columns except the j-th column and the j-th column also satisfies the first condition.
[0462] When N is an odd number, the i-th row in the first encoding coefficient matrix comprises N second values, other rows except the i-th row comprise N-2 first values and 2 second values, the j-th column in the first encoding coefficient matrix comprises N second values, the positions of the second values in other rows except the i-th row are different, and the positions of the second values in other columns except the j-th column are different. The i-th row in the first encoding coefficient matrix is any row in the first encoding coefficient matrix, and the j-th column is any column in the first encoding coefficient matrix.
[0463] The above description of each module can refer to the description of the embodiment shown in FIG. 2, which will not be repeated here.
[0464] It should be understood that the division of each module in each of the above devices is only a logical functional division, and all or part of the modules can be integrated into one physical entity or physically separated in actual implementation. In addition, the modules in the communication device can be implemented in the form of processor calling software; for example, the communication device includes a processor, the processor is connected with a memory, the memory stores instructions, and the processor calls the instructions stored in the memory to implement any one of the above methods or to realize the functions of the modules of the device, wherein the processor is, for example, a general processor such as a central processing unit (CPU) or a microprocessor, and the memory is an internal memory of the device or an external memory of the device. Alternatively, the modules in the device can be implemented in the form of hardware circuit, and the functions of part or all of the units can be realized by the design of the hardware circuit, which can be understood as one or more processors; for example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functions of part or all of the units are realized by the design of the logical relationship of the elements in the circuit; for example, in another implementation, the hardware circuit is a programmable logic device (PLD), and a field programmable gate array (FPGA) is taken as an example, which can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured by a configuration file, so as to realize the functions of part or all of the units. All the modules of the above device can be implemented in the form of processor calling software, or all the modules can be implemented in the form of hardware circuit, or part of the modules can be implemented in the form of processor calling software, and the remaining part can be implemented in the form of hardware circuit.
[0465] Referring to FIG. 7, a hardware structure of another communication device provided by the embodiment of the application is shown. As shown in FIG. 7, the communication device 700 includes one or more processors 701 (one processor is shown in the figure).
[0466] The processor 701 is a circuit with a processing capability of signals. In one implementation, the processor 701 can be a circuit with an instruction reading and running capability, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), a digital signal processor (DSP), and the like. In another implementation, the processor 701 can implement certain functions through a logic relationship of a hardware circuit, which is fixed or reconfigurable. For example, the processor 701 is an ASIC or a programmable logic device (PLD) such as an FPGA. In the reconfigurable hardware circuit, the processor loads a configuration document to implement the hardware circuit configuration. It can be understood that the processor loads an instruction to implement the functions of the above modules. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), and the like. The processor 701 is configured to execute a related program to implement the functions required by the units in the communication device according to the embodiments of the present application, or execute the data transmission method according to the method embodiments of the present application.
[0467] Optionally, the communication device 700 can further include a memory (for example, the memory 703, the memory 704, and the memory 705) (indicated by a dashed line in the figure). The memory is configured to store instructions executed by the processor 701, or store input data required by the processor 701 for running the instructions, or store data generated after the processor 701 runs the instructions.
[0468] Optionally, the memory can be located in the one or more processors (for example, the memory 703), or located outside the one or more processors (for example, the memory 704 and the memory 705), or can include a memory part located in the one or more processors and a memory part located outside the one or more processors.
[0469] In the embodiments of the present application, the memory (for example, the memory 703, the memory 704, and the memory 705) can include, but is not limited to, a cache, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a synchronous dynamic random access memory (synchronous dynamic random access memory, SDRAM), a hard disk drive (hard disk drive, HDD) or a solid-state drive (solid-state drive, SSD), an erasable programmable read-only memory (Erasable Programmable ROM, EPROM), or a compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), and the like. The memory can be any other medium capable of carrying or storing desired program codes in the form of instructions or data structures and capable of being accessed by a computer, but is not limited thereto. The memory in the embodiments of the present application can also be a circuit or any other device capable of realizing a storage function, used for storing computer programs or instructions and / or data.
[0470] Optionally, the communication device 700 can further include a communication interface 702 (indicated by a dashed line in the figure). The processor 701 and the communication interface 702 are coupled to each other. The communication interface 702 can be a transceiver or interface circuit, a bus, a module, or other types of communication interfaces.
[0471] The memory can store programs, and when the programs stored in the memory are executed by the processor 701, the processor 701 and the communication interface 702 are used to execute various steps of the data transmission method in the embodiments of the present application.
[0472] It can be seen that each module in the above device can be one or more processors (or processing circuits) configured to implement the above method, for example: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms or part of the processing circuits in these processors.
[0473] In addition, each module in the above device can be integrated together or can be independently implemented. In one implementation, the modules are integrated together to form a system-on-a-chip (system-on-a-chip, SOC). The SOC can include at least one processor for implementing any of the above methods or the functions of the modules of the device, and the at least one processor can be different, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, and the like.
[0474] It should be noted that although the apparatus 700 shown in FIG. 7 only shows the memory, the processor, the communication interface, in the specific implementation process, those skilled in the art should understand that the apparatus 700 also includes other devices necessary for normal operation. At the same time, according to the specific needs, those skilled in the art should understand that the apparatus 700 can also include hardware devices that realize other additional functions. In addition, those skilled in the art should understand that the apparatus 700 can also only include devices necessary for the embodiments of the present application, and does not have to include all the devices shown in FIG. 7.
[0475] The embodiments of the present application also provide a computer readable storage medium, the computer readable storage medium stores instructions, when the instructions run on the computer or the processor, make the computer or the processor execute one or more steps in any one of the above methods.
[0476] The embodiments of the present application also provide a computer program product containing instructions. When the computer program product runs on the computer or the processor, makes the computer or the processor execute one or more steps in any one of the above methods.
[0477] It should be understood that in the description of the present application, unless otherwise specified, " / " represents that the objects associated before and after are in a "or" relationship, for example, A / B can represent A or B; Wherein A, B can be singular or plural. And in the description of the present application, unless otherwise specified, "multiple" means two or more than two. "At least one of the following" or its similar expression refers to any combination of these items, including any combination of single item (s) or multiple items (s). For example, at least one of a, b, or c, can represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c can be single or multiple. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same function and role are distinguished by using "first", "second" and the like. Those skilled in the art can understand that "first", "second" and the like do not limit the quantity and execution order, and "first", "second" and the like do not limit the difference. At the same time, in the embodiments of the present application, "exemplary" or "for example" and the like are used to represent as an example, illustration or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Exactly, the use of "exemplary" or "for example" and the like aims to present the relevant concept in a specific way, for understanding.
[0478] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the division of the units is only a logical function division, and there can be another division manner for actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The displayed or discussed mutual couplings between or among the units, or the direct couplings or communication connections between the units, can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0479] The units described as separated components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments of the present application.
[0480] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed by a computer, the computer instructions generate all or part of the processes or functions according to the embodiments of the present application. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted by the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium can be ROM, RAM, or a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape, a magnetic disk, or an optical medium, such as a digital versatile disc (DVD), or a semiconductor medium, such as a solid state disk (SSD), etc.
[0481] The above merely illustrates the specific implementation of the embodiments of the present application, but the protection scope of the embodiments of the present application is not limited to this. Any change or replacement within the technical scope disclosed by the embodiments of the present application should be covered in the protection scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application should be subject to the protection scope of the claims.
Claims
1. A data transmission method, characterized in that, include: The first data packet is encoded based on the first coding coefficient matrix to obtain the second data packet, wherein the second data packet includes multiple second sub-data packets. The first coding coefficient matrix is an N*N matrix, where N is an integer not less than 2, and the elements in the first coding coefficient matrix are either a first value or a second value. When N is even, the first coding coefficient matrix satisfies either a first condition or a second condition. The first condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The second condition is that the i-th row and j-th column each include one first value and N-1 second values, and the other rows and columns (excluding the i-th row and j-th column) each include N-2 first values and 2 second values. Furthermore, the matrix obtained by adding the elements of the other rows (excluding the i-th row) to the elements of the i-th row satisfies the first condition, and the matrix obtained by adding the elements of the other columns (excluding the j-th column) to the elements of the j-th column also satisfies the first condition. Alternatively, When N is odd, the i-th row of the first coding coefficient matrix includes N second values, and the other rows except the i-th row include N-2 first values and 2 second values. The j-th column of the first coding coefficient matrix includes N second values, and the positions of the second values in the other rows except the i-th row are different, and the positions of the second values in the other columns except the j-th column are different. In the first coding coefficient matrix, the i-th row is any row in the first coding coefficient matrix, and the j-th column is any column in the first coding coefficient matrix; At least two of the plurality of second sub-data packets are encrypted to obtain at least two encrypted sub-data packets; Output a third data packet, which includes the at least two encrypted sub-data packets and other second sub-data packets in the second data packet besides the at least two second sub-data packets.
2. The method according to claim 1, characterized in that, The first coding coefficient matrix is obtained by processing the second coding coefficient matrix, which is an N*N matrix.
3. The method according to claim 2, characterized in that, The elements on the main diagonal of the second coding coefficient matrix are the first values, and the elements in the second coding coefficient matrix other than those on the main diagonal are the second values.
4. The method according to claim 2 or 3, characterized in that, When N is even, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the second coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the second coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the second coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the second coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; or... The first coding coefficient matrix is obtained by adding the elements of the second coding coefficient matrix (excluding the x-th row) to the corresponding elements of the x-th row, or by adding the elements of the second coding coefficient matrix (excluding the y-th column) to the corresponding elements of the y-th column, where the x-th row is any row in the second coding coefficient matrix and the y-th column is any column in the second coding coefficient matrix; or... The first coding coefficient matrix is obtained by adding the elements of the third coding coefficient matrix (excluding the s-th row) to the corresponding elements of the s-th row, or by adding the elements of the third coding coefficient matrix (excluding the k-th column) to the corresponding elements of the k-th column. The s-th row is any row in the third coding coefficient matrix, and the k-th column is any column in the third coding coefficient matrix. The third coding coefficient matrix is obtained by swapping the positions of at least two rows of the elements in the second coding coefficient matrix, or by swapping the positions of at least two columns of the elements in the second coding coefficient matrix; or, by swapping the positions of at least two rows of the elements in the first coding coefficient matrix and then swapping the positions of at least two columns of the resulting matrix; or, by swapping the positions of at least two columns of the elements in the second coding coefficient matrix and then swapping the positions of at least two rows of the resulting matrix; or... The first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the fourth coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the fourth coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the fourth coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the fourth coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; the fourth coding coefficient matrix is obtained by adding the elements of the x-th row to the elements of the other rows of the second coding coefficient matrix (excluding the x-th row), or by adding the elements of the y-th column to the elements of the other columns of the second coding coefficient matrix (excluding the y-th column).
5. The method according to any one of claims 2 to 4, characterized in that, When N is odd, the first coding coefficient matrix is obtained by replacing the first value in the w-th row of the fifth coding coefficient matrix with the second value, or by replacing the first value in the t-th column of the fifth coding coefficient matrix with the second value; the fifth coding coefficient matrix is obtained by adding the elements of the x-th row to the elements of the other rows except the x-th row of the second coding coefficient matrix, or by adding the elements of the y-th column to the elements of the other columns except the y-th column of the second coding coefficient matrix, where the x-th row is any row in the second coding coefficient matrix and the y-th column is any column in the second coding coefficient matrix; or, the fifth coding coefficient matrix is obtained by adding the elements of the c-th row to the elements of the other rows except the c-th row of the sixth coding coefficient matrix, or by adding the elements of the u-th column to the elements of the other columns except the u-th column of the sixth coding coefficient matrix, where the c-th row is any column in the sixth coding coefficient matrix. The sixth coding coefficient matrix is a matrix obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix, or by replacing the positions of at least two columns of elements in the second coding coefficient matrix; or, the sixth coding coefficient matrix is obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix and replacing the positions of at least two columns of elements in the resulting matrix; or, the sixth coding coefficient matrix is obtained by replacing the positions of at least two columns of elements in the second coding coefficient matrix and replacing the positions of at least two rows of elements in the resulting matrix, wherein the w-th row of the fifth coding coefficient matrix corresponds to the x-th row of the second coding coefficient matrix and the c-th row of the sixth coding coefficient matrix, and the t-th column of the fifth coding coefficient matrix corresponds to the y-th column of the second coding coefficient matrix and the u-th column of the sixth coding coefficient matrix; or... The first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the seventh coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the seventh coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the seventh coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the seventh coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; the seventh coding coefficient matrix is obtained by replacing the positions of the elements in the eighth coding coefficient matrix. The first value in row a of the code coefficient matrix is replaced with the second value, or the first value in column b of the eighth code coefficient matrix is replaced with the second value. The eighth code coefficient matrix is obtained by adding the elements of the xth row to the other rows of the second code coefficient matrix except for the xth row, or by adding the elements of the yth column to the other columns of the second code coefficient matrix except for the yth column. The ath row of the eighth code coefficient matrix corresponds to the xth row of the second code coefficient matrix, and the bth column of the eighth code coefficient matrix corresponds to the yth column of the second code coefficient matrix.
6. The method according to claim 2, characterized in that, The first coding coefficient matrix is obtained based on the second coding coefficient matrix and the ninth coding coefficient matrix. The ninth coding coefficient matrix includes N-1 first values and one second value in each row and / or column, and the position of the second value in different rows and / or columns of the ninth coding coefficient matrix is different. When N is even, the second coding coefficient matrix satisfies either the third or fourth condition. The third condition is that the x-th row and / or y-th column includes N second values, and the other rows and / or columns, excluding the x-th row and / or y-th column, each include one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The fourth condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns of the second coding coefficient matrix are different. When N is odd, the second coding coefficient matrix satisfies the third condition.
7. The method according to any one of claims 1 to 6, characterized in that, The first data packet is a data packet of at least one of the physical layer, the packet data convergence layer protocol (PDCP) layer, the media access control (MAC) layer, and the radio link control (RLC) layer.
8. The method according to any one of claims 1 to 7, characterized in that, The first data packet includes N first sub-data packets, where N is determined based on at least one of the following: business requirements and encryption algorithm.
9. The method according to claim 8, characterized in that, The N is determined based on at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, the key length of the encryption algorithm, the decryption algorithm, and the key length of the decryption algorithm.
10. The method according to any one of claims 1 to 9, characterized in that, The method further includes: Receive first information, the first information including at least one of the following: the number of data packets corresponding to the maximum allowable transmission delay, the decryption algorithm, and the key length of the decryption algorithm; The N is determined based on the first information; or... Send a second message, the second message including the N; or, Receive third information, the third information including N; or, Send a fourth message, which includes at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm; Receive the fifth information, which includes the N.
11. The method according to any one of claims 1 to 10, characterized in that, The process of encoding the first data packet based on the first coding coefficient matrix to obtain the second data packet includes: The second data packet is obtained by multiplying the first coding coefficient matrix by the first data packet, and the second data packet satisfies the following form: X = AM; Where X is the second data packet, A is the first coding coefficient matrix, and M is the first data packet. X=(x1,x2,…,x N ) T ; M=(m1,m2,…,m N ) T ; x r For the second sub-data packet, r is 1, 2, ... N; m p For the first sub-data packet, p is 1, 2, ... N; or, X = MA; X=(x1,x2,…,x N );M=(m1,m2,…,m N ); 12. A data transmission method, characterized in that, include: Receive a third data packet, the third data packet including at least two encrypted sub-data packets, and other second sub-data packets in the second data packet other than the at least two second sub-data packets, wherein the second data packet includes multiple second sub-data packets, and the at least two encrypted sub-data packets are obtained by encrypting the at least two second sub-data packets; Decrypt the at least two encrypted sub-data packets to obtain the at least two second sub-data packets; The first data packet is obtained by decoding the first coding coefficient matrix, the at least two second sub-data packets, and the other second sub-data packets in the second data packet excluding the at least two second sub-data packets; the first coding coefficient matrix is an N*N matrix, where N is an integer not less than 2, and the elements in the first coding coefficient matrix are either a first value or a second value; wherein... When N is even, the first coding coefficient matrix satisfies either a first condition or a second condition. The first condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The second condition is that the i-th row and j-th column each include one first value and N-1 second values, and the other rows and columns (excluding the i-th row and j-th column) each include N-2 first values and 2 second values. Furthermore, the matrix obtained by adding the elements of the other rows (excluding the i-th row) to the elements of the i-th row satisfies the first condition, and the matrix obtained by adding the elements of the other columns (excluding the j-th column) to the elements of the j-th column also satisfies the first condition. Alternatively, When N is odd, the i-th row of the first coding coefficient matrix includes N second values, and the other rows except the i-th row include N-2 first values and 2 second values. The j-th column of the first coding coefficient matrix includes N second values, and the positions of the second values in the other rows except the i-th row are different, and the positions of the second values in the other columns except the j-th column are different. In the first coding coefficient matrix, the i-th row is any row in the first coding coefficient matrix, and the j-th column is any column in the first coding coefficient matrix.
13. The method according to claim 12, characterized in that, The first coding coefficient matrix is obtained by processing the second coding coefficient matrix, which is an N*N matrix.
14. The method according to claim 13, characterized in that, The elements on the main diagonal of the second coding coefficient matrix are the first values, and the elements in the second coding coefficient matrix other than those on the main diagonal are the second values.
15. The method according to claim 13 or 14, characterized in that, When N is even, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the second coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the second coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the second coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the second coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; or... The first coding coefficient matrix is obtained by adding the elements of the second coding coefficient matrix (excluding the x-th row) to the corresponding elements of the x-th row, or by adding the elements of the second coding coefficient matrix (excluding the y-th column) to the corresponding elements of the y-th column, where the x-th row is any row in the second coding coefficient matrix and the y-th column is any column in the second coding coefficient matrix; or... The first coding coefficient matrix is obtained by adding the elements of the third coding coefficient matrix (excluding the s-th row) to the corresponding elements of the s-th row, or by adding the elements of the third coding coefficient matrix (excluding the k-th column) to the corresponding elements of the k-th column. The s-th row is any row in the third coding coefficient matrix, and the k-th column is any column in the third coding coefficient matrix. The third coding coefficient matrix is obtained by swapping the positions of at least two rows of the elements in the second coding coefficient matrix, or by swapping the positions of at least two columns of the elements in the second coding coefficient matrix; or, by swapping the positions of at least two rows of the elements in the first coding coefficient matrix and then swapping the positions of at least two columns of the resulting matrix; or, by swapping the positions of at least two columns of the elements in the second coding coefficient matrix and then swapping the positions of at least two rows of the resulting matrix; or... The first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the fourth coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the fourth coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the fourth coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the fourth coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; the fourth coding coefficient matrix is obtained by adding the elements of the x-th row to the elements of the other rows of the second coding coefficient matrix (excluding the x-th row), or by adding the elements of the y-th column to the elements of the other columns of the second coding coefficient matrix (excluding the y-th column).
16. The method according to any one of claims 13 to 15, characterized in that, When N is odd, the first coding coefficient matrix is obtained by replacing the first value in the w-th row of the fifth coding coefficient matrix with the second value, or by replacing the first value in the t-th column of the fifth coding coefficient matrix with the second value. The fifth coding coefficient matrix is obtained by adding the elements of the x-th row to the elements of the other rows except the x-th row of the second coding coefficient matrix, or by adding the elements of the y-th column to the elements of the other columns except the y-th column of the second coding coefficient matrix. The x-th row is any row in the second coding coefficient matrix, and the y-th column is any column in the second coding coefficient matrix. Alternatively, the fifth coding coefficient matrix is obtained by adding the elements of the c-th row to the elements of the other rows except the c-th row of the sixth coding coefficient matrix, or by adding the elements of the u-th column to the elements of the other columns except the u-th column of the sixth coding coefficient matrix. The c-th row is any column in the sixth coding coefficient matrix. The sixth coding coefficient matrix is a matrix obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix, or by replacing the positions of at least two columns of elements in the second coding coefficient matrix; or, the sixth coding coefficient matrix is obtained by replacing the positions of at least two rows of elements in the second coding coefficient matrix and replacing the positions of at least two columns of elements in the resulting matrix; or, the sixth coding coefficient matrix is obtained by replacing the positions of at least two columns of elements in the second coding coefficient matrix and replacing the positions of at least two rows of elements in the resulting matrix, wherein the w-th row of the fifth coding coefficient matrix corresponds to the x-th row of the second coding coefficient matrix and the c-th row of the sixth coding coefficient matrix, and the t-th column of the fifth coding coefficient matrix corresponds to the y-th column of the second coding coefficient matrix and the u-th column of the sixth coding coefficient matrix; or... The first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the seventh coding coefficient matrix, or by replacing the positions of at least two columns of the elements in the seventh coding coefficient matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two rows of the elements in the seventh coding coefficient matrix and replacing the positions of at least two columns of the resulting matrix; or, the first coding coefficient matrix is obtained by replacing the positions of at least two columns of the elements in the seventh coding coefficient matrix and replacing the positions of at least two rows of the resulting matrix; the seventh coding coefficient matrix is obtained by replacing the positions of the elements in the eighth coding coefficient matrix. The first value in row a of the code coefficient matrix is replaced with the second value, or the first value in column b of the eighth code coefficient matrix is replaced with the second value. The eighth code coefficient matrix is obtained by adding the elements of the xth row to the other rows of the second code coefficient matrix except for the xth row, or by adding the elements of the yth column to the other columns of the second code coefficient matrix except for the yth column. The ath row of the eighth code coefficient matrix corresponds to the xth row of the second code coefficient matrix, and the bth column of the eighth code coefficient matrix corresponds to the yth column of the second code coefficient matrix.
17. The method according to claim 13, characterized in that, The first coding coefficient matrix is obtained based on the second coding coefficient matrix and the ninth coding coefficient matrix. The ninth coding coefficient matrix includes N-1 first values and one second value in each row and / or column, and the position of the second value in different rows and / or columns of the ninth coding coefficient matrix is different. When N is even, the second coding coefficient matrix satisfies either the third or fourth condition. The third condition is that the x-th row and / or y-th column includes N second values, and the other rows and / or columns, excluding the x-th row and / or y-th column, each include one first value and N-1 second values, and the positions of the first values in different rows and / or columns are different. The fourth condition is that each row and / or each column includes one first value and N-1 second values, and the positions of the first values in different rows and / or columns of the second coding coefficient matrix are different. When N is odd, the second coding coefficient matrix satisfies the third condition.
18. The method according to any one of claims 12-17, characterized in that, The first data packet is a data packet of at least one of the physical layer, the packet data convergence layer protocol (PDCP) layer, the media access control (MAC) layer, and the radio link control (RLC) layer.
19. The method according to any one of claims 12 to 18, characterized in that, The first data packet includes N first sub-data packets, where N is determined based on at least one of the following: business requirements and encryption algorithm.
20. The method according to claim 19, characterized in that, The N is determined based on at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, the key length of the encryption algorithm, the decryption algorithm, and the key length of the decryption algorithm.
21. The method according to any one of claims 12 to 20, characterized in that, The method further includes: Send first information, the first information including at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the decryption algorithm, and the key length of the decryption algorithm; or, Receive second information, the second information including the N; or, Send a third message, the third message including the N; or, Receive fourth information, the fourth information including at least one of the following: the number of data packets corresponding to the maximum allowed transmission delay, the encryption algorithm, and the key length of the encryption algorithm; Send a fifth message, which includes the N.
22. The method according to any one of claims 12 to 21, characterized in that, The first data packet is obtained by decoding based on the first coding coefficient matrix, the at least two second sub-data packets, and other second sub-data packets in the second data packet excluding the at least two second sub-data packets. This includes: The first data packet is obtained by multiplying the first coding coefficient matrix with the second data packet, and the first data packet satisfies the following form: M=A -1 X; Where M is the first data packet, A is the first coding coefficient matrix, and X is the second data packet. M=(m1,m2,…,m N ) T ; X=(x1,x2,…,x N ) T ; m p For the first sub-data packet, p is 1, 2, ... N; x r For the second sub-data packet, r is 1, 2, ... N; or, M=XA -1 ; M=(m1,m2,…,m N ),X=(x1,x2,…,x N ); 23. A communication device, characterized in that, Includes modules or units for implementing the method as described in any one of claims 1-11.
24. A communication device, characterized in that, Includes modules or units for implementing the method as described in any one of claims 12-22.
25. A communication device, characterized in that, The device includes a processor configured to perform the method as described in any one of claims 1-11 by executing a computer program or computer-executable instructions stored in a memory, and / or by logic circuitry.
26. A communication device, characterized in that, The device includes a processor configured to perform the method as described in any one of claims 12-22 by executing a computer program or computer-executable instructions stored in a memory, and / or by logic circuitry.
27. The apparatus according to claim 25 or 26, characterized in that, It also includes the memory.
28. A communication system, characterized in that, The system includes the communication device as described in claim 25 and the communication device as described in claim 26.
29. A computer-readable storage medium, characterized in that, The device contains a computer program that, when executed by a processor, causes the method described in any one of claims 1-11 to be implemented; or causes the method described in any one of claims 12-22 to be implemented.
30. A computer program product comprising instructions that, when executed on a processor, cause the method of any one of claims 1-11 to be implemented; or cause the method of any one of claims 12-22 to be implemented.
Citation Information
Patent Citations
Data encryption method and device, data decryption method and device and storage medium
CN115051790A
Confidential transmission method and device of upgrade data packet, electronic equipment and storage medium
CN116506848A
Network coding method and device
CN116800370A
Secure Data Transmission
US20190215150A1