Communication method, system, apparatus, storage medium, and chip

CN117879796BActive Publication Date: 2026-08-21IFLYTEK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311727602.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-14
Publication Date
2026-08-21
Estimated Expiration
2043-12-14

AI Technical Summary

Technical Problem

[0003]但是,随着计算机计算能力的提升,单纯地通过提高加密算法的复杂度来保障数据安全,已经不再可靠

Benefits of technology

[0040]本申请提出的通信方法使得数据发送端与数据接收端每传输一个数据帧时,都实时生成不可预测的随机数,然后根据该随机数来选择加密策略对待传输的数据帧进行加密,这样使得在数据传输过程中,对每个数据帧进行加密的加密策略都是变化的,并且是相互独立以及随机不可预测的。由于整个数据传输过程所采用的加密策略实时变化、相互独立且不可预测,因此相对于采用固定的加密算法而言,本申请实施例所提出的通信方法进一步增加了通信数据被破解的难度,提高了通信数据的安全性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117879796B_ABST
    Figure CN117879796B_ABST
Patent Text Reader

Abstract

The application provides a communication method, system, device, storage medium and chip. The method comprises the following steps: when a first random number sent by a data receiving end is received, a first encryption strategy is determined based on the first random number, the first encryption strategy comprising a data encryption algorithm and a data transmission protocol; a first data frame to be transmitted is encrypted according to the first encryption strategy, so that an encrypted first data frame is obtained; and the encrypted first data frame is sent to the data receiving end. The above scheme can significantly improve the security of communication data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a communication method, system, device, storage medium and chip. Background Technology

[0002] Encryption of communication data is a crucial means of ensuring communication data security. Current communication data encryption schemes largely focus on developing more complex encryption algorithms, aiming to improve data communication security by increasing the difficulty of cracking these algorithms.

[0003] However, with the improvement of computing power, simply increasing the complexity of encryption algorithms to ensure data security is no longer reliable. It is necessary to explore more reliable methods for encrypting communication data. Summary of the Invention

[0004] Based on the above-mentioned technological status, this application proposes a communication method, system, device, storage medium, and chip that can significantly improve the security of communication data.

[0005] The first aspect of this application proposes a communication method, including:

[0006] Upon receiving a first random number sent by the data receiving end, a first encryption strategy is determined based on the first random number. The first encryption strategy includes a data encryption algorithm and a data transmission protocol.

[0007] According to the first encryption strategy, the first data frame to be transmitted is encrypted to obtain the encrypted first data frame.

[0008] The encrypted first data frame is sent to the data receiving end.

[0009] In some implementations of the first aspect, the first random number is a random number encrypted using a second encryption strategy; the second encryption strategy is the encryption strategy used when encrypting the second data frame, and the second data frame is the data frame preceding the first data frame.

[0010] Before determining the first encryption strategy based on the first random number, the method further includes:

[0011] The first random number is decrypted according to the second decryption strategy corresponding to the second encryption strategy; the second decryption strategy includes a data decryption algorithm and a data transmission protocol parsing algorithm.

[0012] In some implementations of the first aspect, determining the first encryption strategy based on the first random number includes:

[0013] Perform a preset operation on the first random number to obtain the operation result;

[0014] Select a data encryption algorithm corresponding to the operation result from a preset encryption algorithm library, and select a data transmission protocol corresponding to the operation result from a preset transmission protocol library.

[0015] In some implementations of the first aspect, upon receiving the first random number sent by the data receiver, the method further includes:

[0016] The first random number is verified to determine whether it is a pseudo-random number.

[0017] When it is determined that the first random number is a pseudo-random number, a retransmission message is sent to the data receiving end. The retransmission message is used to trigger the data receiving end to regenerate and send the random number.

[0018] When it is determined that the first random number is not a pseudo-random number, a first encryption strategy is determined based on the first random number.

[0019] The second aspect of this application proposes another communication method, including:

[0020] A first random number is generated and sent to the data sending end; the first random number is used to trigger the data sending end to determine a first encryption strategy based on the first random number, and to encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; the first encryption strategy includes a data encryption algorithm and a data transmission protocol;

[0021] Receive the encrypted first data frame sent by the data sending end.

[0022] In some implementations of the second aspect, generating the first random number includes:

[0023] A first random number is generated based on the current parameter value of the preset time-varying parameters.

[0024] In some implementations of the second aspect, sending the first random number to the data sender includes:

[0025] The second encryption strategy used to encrypt the second data frame is determined based on the generated second random number, where the second random number is the previous random number generated, and the second data frame is the data frame adjacent to the first data frame.

[0026] The first random number generated is encrypted according to the second encryption strategy;

[0027] The encrypted first random number is sent to the data sending end.

[0028] In some implementations of the second aspect, the method further includes:

[0029] Based on the first random number, a first decryption strategy corresponding to the first encryption strategy is determined. The first decryption strategy includes a data decryption algorithm and a data transmission protocol parsing algorithm.

[0030] The encrypted first data frame is decrypted according to the first decryption strategy.

[0031] In some implementations of the second aspect, the method further includes:

[0032] After decrypting the encrypted first data frame and confirming that data transmission is incomplete, a third random number is generated and sent to the data sending end. The third random number triggers the data sending end to determine a third encryption strategy based on the third random number, and encrypts the third data frame to be transmitted according to the third encryption strategy to obtain an encrypted third data frame. The third encryption strategy includes a data encryption algorithm and a data transmission protocol. The third data frame is the next adjacent data frame of the first data frame.

[0033] Receive the encrypted third data frame sent by the data sending end.

[0034] A third aspect of this application proposes a communication system, including a data transmitter and a data receiver;

[0035] The data receiving end is configured to generate a first random number and send the first random number to the data sending end, and to receive an encrypted first data frame sent by the data sending end.

[0036] The data sending end is configured to, upon receiving the first random number sent by the data receiving end, determine a first encryption strategy based on the first random number, wherein the first encryption strategy includes a data encryption algorithm and a data transmission protocol; encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; and send the encrypted first data frame to the data receiving end.

[0037] A fourth aspect of this application provides a communication device configured to implement the communication method described above.

[0038] The fifth aspect of this application provides a storage medium storing a computer program, which, when executed by a processor, implements the aforementioned communication method.

[0039] The sixth aspect of this application discloses a chip including a processor and a data interface, wherein the processor reads and runs a program stored in a memory through the data interface to implement the above-described communication method.

[0040] The communication method proposed in this application generates unpredictable random numbers in real time for each data frame transmitted between the data sender and receiver. These random numbers are then used to select an encryption strategy to encrypt the data frame to be transmitted. This ensures that the encryption strategy used for each data frame changes, is independent, and is random and unpredictable throughout the data transmission process. Because the encryption strategy used throughout the data transmission process changes in real time, is independent, and unpredictable, the communication method proposed in this application further increases the difficulty of cracking the communication data and improves the security of the communication data compared to using a fixed encryption algorithm.

[0041] Furthermore, in the aforementioned communication process, the generation of random numbers is completely random and unpredictable. Moreover, a time-varying encryption strategy is employed when transmitting random numbers, ensuring that the encryption strategy used each time a random number is transmitted is different and unpredictable. This greatly increases the difficulty of intercepting and cracking random numbers during communication, further enhancing the difficulty of cracking data frame encryption strategies and thus improving the security of communication data. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0043] Figure 1 This is a flowchart illustrating a communication method provided in an embodiment of this application.

[0044] Figure 2 This is a flowchart illustrating another communication method provided in an embodiment of this application.

[0045] Figure 3 This is a flowchart illustrating another communication method provided in an embodiment of this application.

[0046] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0047] The technical solutions proposed in this application are applicable to communication data transmission scenarios, specifically to data communication scenarios between a data sender and a data receiver. Using the technical solutions of this application can improve data security during communication between the data sender and the data receiver.

[0048] The data sending end and the data receiving end can be connected via a wired or wireless data link to enable data transmission.

[0049] The aforementioned data sender and receiver can be either party in any communication scenario. For example, they could be the cloud and mobile device in an OTA (Over-the-Air Technology) scenario, such as the OTA cloud and vehicle when performing system upgrades on a vehicle via OTA, or the two components communicating with each other within a device, such as different communication components within a computer, or different communication chips or controllers within a vehicle, etc.

[0050] This application does not limit the specific forms of the data sending end and data receiving end described above, nor does it limit the specific type of communication system or communication scenario composed of the data sending end and data receiving end described above. This application aims to improve the data communication process between the data sending end and data receiving end in any communication scenario, thereby enhancing data security during the communication process between the two parties. This solution can be applied to the communication process in any type of communication system or communication scenario.

[0051] Currently, encrypting communication data is a common technical means to ensure communication data security. Furthermore, research on communication data security is also focused on developing more complex encryption algorithms to improve the security of communication data by increasing the difficulty of cracking these algorithms.

[0052] However, with the significant improvement in computing power, simply increasing the complexity of encryption algorithms is no longer sufficient to fundamentally prevent them from being cracked. Furthermore, overly complex encryption algorithms also complicate the normal decryption of encrypted data.

[0053] Based on the above-mentioned technical status, the embodiments of this application have optimized the communication data transmission process. Specifically, the encryption method of communication data during transmission has been optimized, making the encryption method of communication data during transmission more uncertain, increasing the difficulty of cracking the encryption algorithm, thereby improving the security of communication data.

[0054] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0055] This application first proposes a communication method that can be applied to both parties in any communication scenario, i.e., to a data sender and a data receiver in any communication system or scenario. In some exemplary application scenarios, the aforementioned data sender can be an OTA cloud in an OTA vehicle upgrade scenario, and the aforementioned data receiver can be the vehicle end in the same OTA vehicle upgrade scenario; alternatively, the data sender can be a chip or controller inside the vehicle end in the OTA vehicle upgrade scenario, and the data receiver can be another chip or controller inside the vehicle end in the same OTA vehicle upgrade scenario.

[0056] Both the data sender and receiver are pre-configured with resource files for encrypting and decrypting communication data. These files include specific encryption and decryption algorithms and the necessary databases. This ensures that both the sender and receiver have unified data encryption / decryption permissions and resources. In other words, the sender can recognize the encryption algorithm used by the receiver and execute the corresponding decryption algorithm, and vice versa. This allows the sender and receiver to perform legitimate data encryption and decryption operations on each other.

[0057] The following describes the specific processing procedure of the communication method proposed in the embodiments of this application through the communication process between the data sending end and the data receiving end.

[0058] See Figure 1 As shown in the embodiments of this application, the communication method includes:

[0059] S101, The data sending end sends a data transmission notification message to the data receiving end.

[0060] Specifically, before sending data to the data receiver, the data sender first sends a data transmission notification message in plaintext to the data receiver. This data transmission notification message is used to inform the data receiver that data transmission is about to take place.

[0061] When the data receiving end receives the data transmission notification message, it executes step S102, generates a random number, and sends the random number to the data sending end.

[0062] Specifically, the data receiving end can use any method to generate a non-repeatable, unpredictable, and unspecified random number, and send the generated random number in plaintext to the data sending end.

[0063] As an example implementation, the data receiver collects preset time-varying parameters from the system in real time. When the data receiver receives a data transmission notification message, it generates a random number based on the specific parameter value of the time-varying parameter collected when the data transmission notification message was received.

[0064] The time-varying parameters mentioned above refer to parameters that change randomly and unpredictably over time. For example, these time-varying parameters can be analog parameters collected by the data receiver from its physical environment, such as temperature sensing parameters, wind speed sensing parameters, etc.

[0065] Each time the data receiving end generates a random number, it is based on the current parameter value of the time-varying parameters collected in real time, thus ensuring that the generated random number is a completely non-repeatable and unpredictable random number.

[0066] S103. The data sending end verifies the received random number to determine whether the random number is a pseudo-random number.

[0067] If the random number is determined to be a pseudo-random number, the data sending end executes step S104 and sends a retransmission message to the data receiving end. This retransmission message is used to trigger the data receiving end to re-execute step S102 and regenerate and send the random number.

[0068] If it is determined that the random number is not a pseudo-random number, the data sending end executes step S105 to determine the encryption strategy based on the random number.

[0069] The encryption strategy mentioned above refers to the encryption strategy used to encrypt the data frame to be transmitted.

[0070] The aforementioned encryption strategy specifically includes a data encryption algorithm for encrypting the data frame, and a data transmission protocol used when transmitting the data frame.

[0071] In some implementations, the data sender and receiver are pre-configured with the same encryption strategy selection mechanism, encryption algorithm library, and transmission protocol library. The encryption strategy selection mechanism includes rules for selecting a data encryption algorithm from the encryption algorithm library based on a received random number, and rules for selecting a communication transmission protocol from the transmission protocol library.

[0072] The aforementioned encryption algorithm library contains a variety of different data encryption algorithms. The aforementioned transmission protocol library contains a variety of different data transmission protocols. These different data transmission protocols can be obtained by randomly arranging or adjusting the header, data content, header length, and data content length of data packets.

[0073] Therefore, when the data sending end receives the random number sent by the data receiving end, it selects a data encryption algorithm from the encryption algorithm library and a data transmission protocol from the transmission protocol library according to the encryption strategy selection mechanism described above.

[0074] In some implementations, the above-mentioned encryption strategy selection mechanism pre-configures the correspondence between the random number operation result and the data encryption algorithm in the encryption algorithm library and the data transmission protocol in the transmission protocol library. Based on this, a calculation result is obtained by performing a preset operation on the random number, such as a modulo operation or a remainder operation. Then, the data encryption algorithm corresponding to the calculation result is selected from the encryption algorithm library, and the data transmission protocol corresponding to the calculation result is selected from the transmission protocol library.

[0075] When the data sender receives a random number from the data receiver, it performs the aforementioned preset operation on the random number to obtain the result. Then, according to the correspondence between the random number operation result and the data encryption algorithms in the encryption algorithm library and the data transmission protocols in the transmission protocol library, as specified in the encryption strategy selection mechanism, it selects the data encryption algorithm corresponding to the operation result from the encryption algorithm library and the data transmission protocol corresponding to the operation result from the transmission protocol library.

[0076] S106. The data sending end encrypts the data frame to be transmitted according to the determined encryption strategy to obtain the encrypted data frame.

[0077] Specifically, the data sending end encrypts the next data frame to be transmitted according to the determined data encryption algorithm, and then encapsulates the encrypted data frame according to the determined communication transmission protocol to obtain the encrypted data frame.

[0078] S107. The data sending end sends the encrypted data frame to the data receiving end.

[0079] S108. The data receiver receives the encrypted data frame sent by the data sender.

[0080] S109. The data receiving end determines the decryption strategy corresponding to the encryption strategy used by the data sending end when encrypting the data frame, based on the previously generated random number.

[0081] Specifically, as mentioned above, both the data sender and receiver are pre-configured with the same encryption strategy selection mechanism, encryption algorithm library, and transmission protocol library. The encryption strategy selection mechanism includes rules for selecting a data encryption algorithm from the encryption algorithm library based on a received random number, and rules for selecting a communication transmission protocol from the transmission protocol library.

[0082] When the data receiving end receives an encrypted data frame sent by the data sending end, it determines the encryption strategy used by the data sending end for the encrypted data frame according to the random number previously sent to the data sending end before receiving the encrypted data frame (that is, the random number generated during step S102), following the encryption strategy selection mechanism described above. This determines the encryption strategy used by the data sending end during step S106. Furthermore, based on pre-configured resource files related to encrypting and decrypting communication data, it determines the decryption strategy corresponding to the encryption strategy.

[0083] The decryption strategies described above include data decryption algorithms and transmission protocol parsing algorithms.

[0084] It is understandable that because resource files for encrypting and decrypting communication data are pre-configured at both the data sending and receiving ends, both ends have unified data encryption and decryption permissions and resources. This means the data sending end can recognize the data encryption algorithm used by the data receiving end and execute the corresponding decryption algorithm, and vice versa. This allows the data sending and receiving ends to perform legitimate data encryption and decryption operations on each other.

[0085] The encryption strategy used by the data sending end to encrypt data frames is determined based on the random numbers generated by the data receiving end. Therefore, the data receiving end can determine the encryption strategy used by the data sending end to encrypt data frames based on its own generated random numbers, and thus determine the decryption strategy to decrypt the received encrypted data frames.

[0086] S110. The data receiving end decrypts the received encrypted data frame according to the decryption strategy.

[0087] Specifically, after determining the decryption strategy, the data receiving end first performs protocol parsing on the received encrypted data frame according to the data transmission protocol parsing algorithm, and then performs data decryption on the encrypted data frame according to the data decryption algorithm, thereby obtaining the real data content of the data frame.

[0088] S111 The data receiving end determines whether the data transmission is complete based on the data frame decryption result.

[0089] Specifically, after the data receiving end parses and obtains the specific data content of the data frame, it first determines whether the received data frame is the last data frame based on the data content, thereby determining whether the data transmission is complete.

[0090] If the receiving end determines that the received data frame is the last data frame, it can be determined that the data transmission is complete; if the received data frame is not the last data frame, it can be determined that the data transmission is incomplete.

[0091] For example, an end-of-data identifier can be carried at the end of the last data frame. When the data receiver detects this end-of-data identifier in the received data frame, it can determine that the received data frame is the last data frame. If the data receiver does not detect the end-of-data identifier in the received data frame, it can determine that the received data frame is not the last data frame.

[0092] If data transmission is complete, proceed to step S115 to end the communication process.

[0093] If data transmission is incomplete, the data receiving end executes step S112, generates a random number, and determines the encryption strategy to be used when encrypting the data frame based on the previously generated random number.

[0094] Specifically, if the data receiving end confirms that the data transmission is not complete after receiving a data frame, it generates a random number again in the same way as in step S102.

[0095] Then, the data receiving end determines the encryption strategy to be used when encrypting the received data frame based on the previously generated random number.

[0096] That is, based on the random number generated during step S102, the data receiving end determines the encryption strategy used by the data sending end when sending the previous data frame to the data receiving end according to the above-mentioned pre-configured encryption strategy selection mechanism. In other words, it determines the encryption strategy used by the data sending end when encrypting the data frame during step S106.

[0097] S113. The data receiving end encrypts the generated random number according to the determined encryption strategy used when encrypting the data frame, and sends the encrypted random number to the data sending end.

[0098] Specifically, the data receiving end encrypts the random number generated in step S112 according to the encryption strategy used by the data sending end when encrypting the previous data frame. Then, it sends the encrypted random number to the data sending end.

[0099] S114. The data sending end decrypts the received random number according to the decryption strategy corresponding to the encryption strategy used when encrypting the data frame.

[0100] Specifically, after receiving the encrypted random number sent by the data sending end, the receiving end decrypts the received random number according to the decryption strategy corresponding to the encryption strategy used when encrypting the previous data frame, thus obtaining the specific content of the random number. That is, the data receiving end first determines the encryption strategy used when encrypting the previous sent data frame in step S106, and then determines the decryption strategy corresponding to that encryption strategy based on the configured resource files related to encrypting and decrypting communication data. This decryption strategy is the same as the decryption strategy determined by the data receiving end in step S109.

[0101] Then, the data sending end decrypts the received encrypted random number according to the decryption strategy. Specifically, the data receiving end first performs protocol parsing on the encrypted random number according to the transmission protocol decryption algorithm in the decryption strategy, and then performs data decryption on the encrypted random number according to the data decryption algorithm in the decryption strategy to obtain the specific random number content.

[0102] It's understandable that the data receiver encrypts the random number sent to the data sender, thus enhancing the security of that random number. Furthermore, the encryption strategy used to encrypt the random number is determined based on the previous random number; that is, the specific encryption strategy is different each time. Since external parties cannot accurately predict the random number, nor know the encryption strategy selection mechanism, encryption algorithm library, or transmission protocol library, the encrypted random number is virtually impossible to crack.

[0103] After decrypting the new random number sent by the data receiver, the data sender returns to step S103 to begin the encrypted transmission of the next data frame.

[0104] The steps S103 to S114 are executed repeatedly until the data receiving end confirms that the data transmission is complete, that is, until the data receiving end confirms that the last data frame has been transmitted. Then, step S115 is executed to end the communication process.

[0105] As described above, the communication method proposed in this application generates unpredictable random numbers in real time for each data frame transmitted between the data sender and receiver. These random numbers are then used to select an encryption strategy to encrypt the data frame to be transmitted. This ensures that the encryption strategy used for each data frame changes during data transmission, and that these strategies are independent, random, and unpredictable. Because the encryption strategies used throughout the data transmission process change in real time, are independent, and unpredictable, the communication method proposed in this application further increases the difficulty of cracking communication data and improves the security of communication data compared to using a fixed encryption algorithm.

[0106] Furthermore, in the aforementioned communication process, the generation of random numbers is completely random and unpredictable. Moreover, a time-varying encryption strategy is employed when transmitting random numbers, ensuring that the encryption strategy used each time a random number is transmitted is different and unpredictable. This greatly increases the difficulty of intercepting and cracking random numbers during communication, further enhancing the difficulty of cracking data frame encryption strategies and thus improving the security of communication data.

[0107] Based on the above embodiments, this application also proposes a communication method for a data sending end and a communication method for a data receiving end.

[0108] Among them, see Figure 2 As shown, the communication method applied to the data sending end includes:

[0109] S201. Upon receiving a first random number sent by the data receiving end, a first encryption strategy is determined based on the first random number. The first encryption strategy includes a data encryption algorithm and a data transmission protocol. This first random number is generated instantly by the data receiving end based on the current parameter value of the collected time-varying parameters; that is, the first random number is a random number generated by the data receiving end at the current moment. The value of this first random number is not fixed but completely random, unpredictable, and unreproducible. Therefore, the random number received by the data sending end from the data receiving end is different each time.

[0110] S202. According to the first encryption strategy, the first data frame to be transmitted is encrypted to obtain the encrypted first data frame.

[0111] S203. Send the encrypted first data frame to the data receiving end.

[0112] Through the above processing, the data sender encrypts and transmits the first data frame. When the data sender needs to send the next data frame, it first waits for the data receiver to send the next random number, and then selects an encryption strategy based on the next random number to encrypt and transmit the next data frame. This process is repeated. Because the data sender selects an encryption strategy based on a different random number each time it sends a data frame, the encryption strategy for each data frame is different, independent, and unpredictable. This increases the difficulty of cracking the encrypted data frames and improves the security of the communication data.

[0113] In some implementations, the first random number is a random number encrypted using a second encryption strategy; the second encryption strategy is the encryption strategy used when encrypting the second data frame, and the second data frame is the data frame preceding the first data frame.

[0114] Before determining the first encryption strategy based on the first random number, the method further includes:

[0115] The first random number is decrypted according to the second decryption strategy corresponding to the second encryption strategy; the second decryption strategy includes a data decryption algorithm and a data transmission protocol parsing algorithm.

[0116] In some implementations, determining the first encryption strategy based on the first random number includes:

[0117] Perform a preset operation on the first random number to obtain the operation result;

[0118] Select a data encryption algorithm corresponding to the operation result from a preset encryption algorithm library, and select a data transmission protocol corresponding to the operation result from a preset transmission protocol library.

[0119] In some implementations, upon receiving the first random number sent by the data receiver, the method further includes:

[0120] The first random number is verified to determine whether it is a pseudo-random number.

[0121] When it is determined that the first random number is a pseudo-random number, a retransmission message is sent to the data receiving end. The retransmission message is used to trigger the data receiving end to regenerate and send the random number.

[0122] When it is determined that the first random number is not a pseudo-random number, a first encryption strategy is determined based on the first random number.

[0123] See Figure 3 As shown in the embodiments of this application, the communication method applied to a data receiving end includes:

[0124] S301. Generate a first random number and send the first random number to the data sending end; the first random number is used to trigger the data sending end to determine a first encryption strategy based on the first random number, and encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; the first encryption strategy includes a data encryption algorithm and a data transmission protocol.

[0125] The first random number is generated instantly by the data receiver based on the current value of the acquired time-varying parameters. In other words, the first random number is a newly generated random number at the current moment. The value of this first random number is not fixed, but completely random, unpredictable, and unreproducible. Therefore, the random number sent by the data receiver to the data sender is different each time.

[0126] S302, Receive the encrypted first data frame sent by the data sending end.

[0127] Through the above process, the data receiver sends a random number to the data sender to trigger the sender to transmit a data frame. Each time the data sender transmits a data frame, it selects an encryption strategy in real-time based on the random number sent by the receiver. The data sender continuously executes this process, generating a different random number each time and sending it to the data receiver. Because the data sender selects an encryption strategy based on a different random number each time it transmits a data frame, the encryption strategy for each data frame is different, independent, and unpredictable. This increases the difficulty of cracking the encrypted data frame and improves the security of the communication data.

[0128] In some implementations, generating the first random number includes:

[0129] A first random number is generated based on the current parameter value of the preset time-varying parameters.

[0130] In some implementations, sending the first random number to the data sender includes:

[0131] The second encryption strategy used to encrypt the second data frame is determined based on the generated second random number, where the second random number is the previous random number generated, and the second data frame is the data frame adjacent to the first data frame.

[0132] The first random number generated is encrypted according to the second encryption strategy;

[0133] The encrypted first random number is sent to the data sending end.

[0134] In some implementations, the method further includes:

[0135] Based on the first random number, a first decryption strategy corresponding to the first encryption strategy is determined. The first decryption strategy includes a data decryption algorithm and a data transmission protocol parsing algorithm.

[0136] The encrypted first data frame is decrypted according to the first decryption strategy.

[0137] In some implementations, the method further includes:

[0138] After decrypting the encrypted first data frame and confirming that data transmission is incomplete, a third random number is generated and sent to the data sending end. The third random number triggers the data sending end to determine a third encryption strategy based on the third random number, and encrypts the third data frame to be transmitted according to the third encryption strategy to obtain an encrypted third data frame. The third encryption strategy includes a data encryption algorithm and a data transmission protocol. The third data frame is the next adjacent data frame of the first data frame.

[0139] Receive the encrypted third data frame sent by the data sending end.

[0140] Specifically, in the above embodiments, the specific processing procedures of the data sending end and the data receiving end can be found in [reference needed]. Figure 1 The specific processing procedures for the data sender and receiver in the illustrated communication method will not be repeated here. By performing the above processing, the data sender and receiver can improve the security of communication data. The beneficial effects achieved by the data sender and receiver performing the above processing can also be found in [reference needed]. Figure 1 An example of the communication method shown is described.

[0141] Corresponding to the communication method described above, this application also proposes a communication system, which includes a data transmitter and a data receiver. The data transmitter and data receiver can be data senders and receivers performing data transmission in any communication scenario, and can be any device or apparatus, etc., which is not limited in this application.

[0142] The data transmitter in this communication system is configured to perform the above-described embodiments. Figure 2 The communication method shown in the diagram, wherein the data receiving end in the communication system is configured to perform the above embodiments. Figure 3 The communication method shown.

[0143] Specifically, the data receiving end in the communication system is used to generate a first random number and send the first random number to the data sending end, and to receive an encrypted first data frame sent by the data sending end;

[0144] The data transmitting end in the communication system is configured to, upon receiving the first random number sent by the data receiving end, determine a first encryption strategy based on the first random number, wherein the first encryption strategy includes a data encryption algorithm and a data transmission protocol; encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; and send the encrypted first data frame to the data receiving end.

[0145] The specific workings of the data sending and receiving ends of this communication system can be found in the above-described method embodiments, and will not be repeated here.

[0146] Another embodiment of this application also proposes a communication device, which can be any device with data communication function, such as a data transceiver chip, an electronic device with communication function, or a communication function module in an electronic device, etc.

[0147] The communication device is configured to implement the communication methods described in any of the above method embodiments, specifically to implement the communication methods applied to the data sending end described in any of the above method embodiments, and / or to implement the communication methods applied to the data receiving end described in any of the above method embodiments.

[0148] The communication device provided in this embodiment belongs to the same concept as the communication method provided in the above embodiments of this application. It can execute the communication method provided in any of the above embodiments of this application and has the corresponding functional modules and beneficial effects of the execution method. Technical details not described in detail in this embodiment can be found in the specific processing content of the communication method provided in the above embodiments of this application, and will not be repeated here.

[0149] It should be understood that the above communication devices can be implemented in the form of a processor calling software. For example, the device includes a processor connected to a memory containing instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to realize the function of the communication device. The processor can be a general-purpose processor, such as a CPU or microprocessor, and the memory can be internal or external to the device. Alternatively, the communication device can be implemented in the form of hardware circuitry. Partial or complete communication functions can be implemented through the design of the hardware circuitry, which can be understood as one or more processors. For example, in one implementation, the hardware circuitry is an ASIC, and partial or complete communication functions are implemented through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuitry can be implemented using a PLD (Plug-in Logic Device), such as an FPGA (Field-Programmable Gate Array), which can include a large number of logic gates. The connection relationships between the logic gates are configured through a configuration file to realize partial or complete communication functions. All units of the above device can be implemented entirely through processor-calling software, entirely through hardware circuitry, or partially through processor-calling software with the remaining parts implemented through hardware circuitry.

[0150] In this application embodiment, a processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction reading and execution capabilities, such as a CPU, microprocessor, GPU, or DSP. In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. These logical relationships are fixed or reconfigurable. For example, the processor may be a hardware circuit implemented as an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and configuring the hardware circuit can be understood as the processor loading instructions to implement the functions of some or all of the above units. Furthermore, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, or DPU.

[0151] As can be seen, the communication device can be one or more processors (or processing circuits) configured to implement the above communication methods, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor types.

[0152] This application also proposes a control device, which includes a processor and an interface circuit. The processor in the control device is connected to a communication component through the interface circuit of the control device.

[0153] The communication component specifically refers to a hardware functional component capable of performing data sending and receiving actions to achieve data communication.

[0154] The aforementioned interface circuit can be any interface circuit capable of implementing data communication functions, such as a USB interface circuit, a Type-C interface circuit, a serial port circuit, a PCIe circuit, etc.

[0155] The processor in this control device is also a circuit with signal processing capabilities. It controls the data communication process of the communication components by executing any of the communication methods described in the above embodiments. The specific implementation of this processor can be found in the processor implementation methods described above; this application does not impose strict limitations on the embodiments.

[0156] When this control device is applied to a communication device, the communication component connected to the control device can be a communication function component within the communication device. For example, when the control device is applied to a mobile phone, the communication component connected to the control device can be the radio frequency unit within the mobile phone. Simultaneously, the processor of the control device can be the CPU or GPU integrated into the communication device, and the interface circuit of the control device can be the interface circuit between the communication component of the communication device and the CPU or GPU processor.

[0157] This application provides a communication device, which includes a communication function component and a processor connected to the communication function component.

[0158] The communication function component is used to perform data transmission and reception operations under the control of the processor.

[0159] The processor is configured to control the communication function component to perform data transmission and reception processing by executing any of the communication methods described in any of the above embodiments.

[0160] The aforementioned communication function components can be any communication function components, such as Wi-Fi modules, ZigBee communication modules, 4G or 5G mobile communication modules, IoT communication modules, and so on.

[0161] For details on the specific processing steps of the processor described above, please refer to the description of the above method embodiments. For details on the specific implementation of the processor, please refer to the description of the above embodiments.

[0162] The communication device can specifically be a terminal device with communication functions, such as a handheld mobile terminal, a wearable terminal, a computer with communication functions, a smart terminal, etc.

[0163] Another embodiment of this application also provides an electronic device, see [link to relevant documentation] Figure 4 As shown, the device includes:

[0164] Memory 200 and processor 210;

[0165] The memory 200 is connected to the processor 210 and is used to store programs;

[0166] The processor 210 is configured to implement the communication method disclosed in any of the above embodiments by running the program stored in the memory 200.

[0167] Specifically, the aforementioned electronic device may also include: a bus, a communication interface 220, an input device 230, and an output device 240.

[0168] The processor 210, memory 200, communication interface 220, input device 230, and output device 240 are interconnected via a bus. Among them:

[0169] A bus can include a pathway for transmitting information between various components of a computer system.

[0170] The processor 210 can be a general-purpose processor, such as a general-purpose central processing unit (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0171] Processor 210 may include a main processor, as well as a baseband chip, modem, etc.

[0172] The memory 200 stores a program that executes the technical solution of this invention, and may also store an operating system and other key business functions. Specifically, the program may include program code, which includes computer operation instructions. More specifically, the memory 200 may include read-only memory (ROM), other types of static storage devices capable of storing static information and instructions, random access memory (RAM), other types of dynamic storage devices capable of storing information and instructions, disk storage, flash memory, etc.

[0173] Input device 230 may include a device for receiving user input data and information, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, pedometer, or gravity sensor.

[0174] Output device 240 may include devices that allow information to be output to a user, such as a display screen, printer, speaker, etc.

[0175] The communication interface 220 may include a device that uses any transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.

[0176] The processor 210 executes the program stored in the memory 200 and calls other devices, which can be used to implement the various steps of any of the communication methods provided in the above embodiments of this application.

[0177] This application also proposes a chip including a processor and a data interface. The processor reads and runs a program stored in a memory through the data interface to execute the communication method described in any of the above embodiments. For details of the processing and its beneficial effects, please refer to the embodiments of the above communication method.

[0178] In addition to the methods and devices described above, embodiments of this application may also be computer program products, which include computer program instructions that, when executed by a processor, cause the processor to perform the steps of the communication methods described in any of the above embodiments of this specification.

[0179] The computer program product can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this application. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0180] Furthermore, embodiments of this application may also be storage media storing a computer program, which is executed by a processor of the steps in the communication method described in any of the above embodiments of this specification.

[0181] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0182] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For apparatus embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0183] The steps in the methods of the various embodiments of this application can be adjusted, merged, or deleted in order according to actual needs, and the technical features described in each embodiment can be replaced or combined.

[0184] The modules and sub-modules in the various embodiments of the present application's devices and terminals can be merged, divided, and deleted according to actual needs.

[0185] It should be understood that the disclosed terminals, devices, and methods can be implemented in other ways, given the several embodiments provided in this application. For example, the terminal embodiments described above are merely illustrative. For instance, the division of modules or sub-modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple sub-modules or modules may be combined or integrated into another module, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.

[0186] The modules or submodules described as separate components may or may not be physically separate. The components that constitute a module or submodule may or may not be physical modules or submodules; that is, they may be located in one place or distributed across multiple network modules or submodules. Some or all of the modules or submodules can be selected to achieve the purpose of this embodiment's solution, depending on actual needs.

[0187] Furthermore, the functional modules or sub-modules in the various embodiments of this application can be integrated into one processing module, or each module or sub-module can exist physically separately, or two or more modules or sub-modules can be integrated into one module. The integrated modules or sub-modules described above can be implemented in hardware or in the form of software functional modules or sub-modules.

[0188] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0189] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software unit executed by a processor, or a combination of both. The software unit can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0190] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0191] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A communication method, characterized in that, include: Upon receiving the first random number sent by the data receiving end, the first random number is decrypted according to the second decryption strategy corresponding to the second encryption strategy; The first random number is a random number encrypted using the second encryption strategy; the second encryption strategy is the encryption strategy used when encrypting the second data frame, and the second data frame is the data frame adjacent to the first data frame to be transmitted. A first encryption strategy is determined based on the first random number, and the first encryption strategy includes a data encryption algorithm and a data transmission protocol. According to the first encryption strategy, the first data frame to be transmitted is encrypted to obtain the encrypted first data frame. The encrypted first data frame is sent to the data receiving end.

2. The method according to claim 1, characterized in that, Determining a first encryption strategy based on the first random number includes: Perform a preset operation on the first random number to obtain the operation result; Select a data encryption algorithm corresponding to the operation result from a preset encryption algorithm library, and select a data transmission protocol corresponding to the operation result from a preset transmission protocol library.

3. The method according to claim 1, characterized in that, Upon receiving the first random number sent by the data receiver, the method further includes: The first random number is verified to determine whether it is a pseudo-random number. When it is determined that the first random number is a pseudo-random number, a retransmission message is sent to the data receiving end. The retransmission message is used to trigger the data receiving end to regenerate and send the random number. When it is determined that the first random number is not a pseudo-random number, a first encryption strategy is determined based on the first random number.

4. A communication method, characterized in that, include: A first random number is generated, and a second encryption strategy is determined based on the generated second random number when encrypting the second data frame. The second random number is the previous random number generated, and the second data frame is the data frame adjacent to the first data frame to be transmitted. The first random number generated is encrypted according to the second encryption strategy; Send the encrypted first random number to the data sending end; The first random number is used to trigger the data sending end to determine a first encryption strategy based on the first random number, and to encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; the first encryption strategy includes a data encryption algorithm and a data transmission protocol; Receive the encrypted first data frame sent by the data sending end.

5. The method according to claim 4, characterized in that, The generation of the first random number includes: A first random number is generated based on the current parameter value of the preset time-varying parameters.

6. The method according to claim 4 or 5, characterized in that, The method further includes: Based on the first random number, a first decryption strategy corresponding to the first encryption strategy is determined. The first decryption strategy includes a data decryption algorithm and a data transmission protocol parsing algorithm. The encrypted first data frame is decrypted according to the first decryption strategy.

7. The method according to claim 4 or 5, characterized in that, The method further includes: After decrypting the encrypted first data frame and confirming that data transmission is incomplete, a third random number is generated and sent to the data sending end. The third random number triggers the data sending end to determine a third encryption strategy based on the third random number, and encrypts the third data frame to be transmitted according to the third encryption strategy to obtain an encrypted third data frame. The third encryption strategy includes a data encryption algorithm and a data transmission protocol. The third data frame is the next adjacent data frame of the first data frame. Receive the encrypted third data frame sent by the data sending end.

8. A communication system, characterized in that, Includes the data sender and the data receiver; The data receiving end is configured to generate a first random number, and determine a second encryption strategy for encrypting the second data frame based on the generated second random number, wherein the second random number is the previous random number generated, and the second data frame is the preceding adjacent data frame of the first data frame to be transmitted; encrypt the generated first random number according to the second encryption strategy; send the encrypted first random number to the data sending end; and receive the encrypted first data frame sent by the data sending end. The data sending end is configured to, upon receiving the first random number sent by the data receiving end, decrypt the first random number according to a second decryption strategy corresponding to the second encryption strategy; determine a first encryption strategy based on the first random number, the first encryption strategy including a data encryption algorithm and a data transmission protocol; encrypt the first data frame to be transmitted according to the first encryption strategy to obtain an encrypted first data frame; and send the encrypted first data frame to the data receiving end.

9. A communication device, characterized in that, The device includes a processor and a memory, the processor being connected to the memory, the memory storing instructions, and the processor calling the instructions stored in the memory to implement the communication method as described in any one of claims 1 to 7.

10. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the communication method as described in any one of claims 1 to 7.

11. A chip, characterized in that, It includes a processor and a data interface, wherein the processor reads and runs a program stored in memory through the data interface to implement the communication method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Full-dynamic encryption and decryption method and encryption and decryption device

    CN108616351A

  • Encryption verification method, device and equipment based on digital signature algorithm selection

    CN116881939A