CN115834027B - Message filling method, device, equipment and computer readable storage medium - Google Patents

Message filling method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN115834027B
CN115834027B CN202310015106.8A CN202310015106A CN115834027B CN 115834027 B CN115834027 B CN 115834027B CN 202310015106 A CN202310015106 A CN 202310015106A CN 115834027 B CN115834027 B CN 115834027B
Authority
CN
China
Prior art keywords
message
length
filling
value
spliced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310015106.8A
Other languages
Chinese (zh)
Other versions
CN115834027A (en
Inventor
卢圣才
刘伟
王洪良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202310015106.8A priority Critical patent/CN115834027B/en
Publication of CN115834027A publication Critical patent/CN115834027A/en
Application granted granted Critical
Publication of CN115834027B publication Critical patent/CN115834027B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The application discloses a message filling method, a device, equipment and a computer readable storage medium, wherein an initial message to be filled is obtained; acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet; performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block; splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message; and performing bit sequence conversion on the target message to obtain a filling result of the initial message. According to the method and the device, the initial message is converted into the corresponding data block by means of the FPGA according to the target bit width, and when the length of the spliced message obtained by splicing is smaller than the length of the message packet, the spliced message is filled based on the preset byte to obtain the target message, so that the message is filled in units of bytes, and the message filling efficiency is improved.

Description

Message filling method, device, equipment and computer readable storage medium
Technical Field
The present invention relates to the field of information processing technologies, and in particular, to a method, an apparatus, a device, and a computer readable storage medium for message stuffing.
Background
The hash function is an important branch of cryptography, and is a single cipher system which converts an arbitrary-length message input into a fixed-length abstract output and is irreversible. The hash functions commonly used at present comprise MD5 algorithm, SM3 algorithm, SHA series algorithm and the like. In addition, in the operation process of the hash function, the message needs to be filled, for example, 128 bits, 256 bits or 512 bits are filled, and for achieving the purpose, single-bit '1' can be added after the message, multiple-bit '0' can be added in the middle, and finally single-bit '1' can be added. However, the message stuffing process is addressed by bits, the minimum unit of input is bits, and the message stuffing rate is slow.
In view of the above, how to improve the message filling efficiency is a problem to be solved by those skilled in the art.
Disclosure of Invention
The purpose of the application is to provide a message filling method, which can solve the technical problem of how to improve the message filling efficiency to a certain extent. The application also provides a message populating device, an electronic device and a computer readable storage medium.
In order to achieve the above object, the present application provides the following technical solutions:
A message stuffing method, comprising:
acquiring an initial message to be filled;
acquiring filling parameters of the initial message, wherein the filling parameters comprise a message packet length;
performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length being the message grouping length;
and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
Preferably, the message packet length includes a packet length determined based on a message digest length;
and splicing the data blocks according to the message packet length, wherein if the length of the spliced message obtained by splicing is smaller than the message packet length, the method comprises the following steps:
the data blocks are shifted and registered into a preset buffer register for splicing, and the length of the buffer register is equal to the length of the message packet;
and if the buffer register buffer is not full, judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet.
Preferably, the padding parameter comprises a message packet count threshold comprising a ratio of the message packet length to the target bit width;
after the data block is shifted and registered into a preset buffer register for splicing, the method further comprises the following steps:
recording the splicing number of the current wheel in the buffer register cache;
the filling the spliced message based on the preset byte to obtain a target message with the length being the message packet length, which comprises the following steps:
and determining a comparison result of the splicing sub-value and the message grouping counting threshold, and filling the spliced message based on the preset byte according to the comparison result to obtain the target message with the length of the message grouping length.
Preferably, the determining the comparison result of the concatenation order value and the message packet count threshold, according to the comparison result, fills the concatenation message based on the preset byte, and obtains the target message with the length of the message packet length, where the method includes:
judging whether the splicing sub-value is equal to the message packet counting threshold value or not;
and if the value of the splicing times is equal to the message grouping counting threshold value, determining a first length difference value between the data block spliced last time in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of the preset byte, and if the first length difference value is equal to the length value of the preset byte, filling 0x86 after the message is spliced to obtain the target message with the length of the message grouping length.
Preferably, after the determining whether the first length difference is equal to the length value of the preset byte, the method further includes:
and if the first length difference value is greater than the length value of the preset byte, filling 0x80 after the message is spliced, determining a second length difference value between the data block spliced for the last time in the spliced message and the target bit width, judging whether the second length difference value is equal to the length values of the two preset bytes, if the second length difference value is equal to the length values of the two preset bytes, filling 0x06 after the message is spliced, and returning to the step of judging whether the splicing number value is equal to the message packet count threshold or not until the target message with the length equal to the message packet length is obtained.
Preferably, after determining whether the second length difference is equal to the length value of two preset bytes, the method further includes:
if the second length difference value is greater than the length value of the two preset bytes, calculating a first ratio between the second length difference value and the length value of the preset bytes, calculating a first difference value between the first ratio and 2, filling a value equal to 0x00 of the first difference value after the message is spliced, filling 0x06 after the message is spliced, and returning to execute the step of judging whether the splicing sub-value is equal to the message packet counting threshold value until the target message with the length equal to the message packet length is obtained.
Preferably, after the determining whether the concatenation order value is equal to the message packet count threshold, the method further includes:
if the concatenation order value is smaller than the message packet counting threshold, calculating a second difference value between the message packet length and the concatenation message, calculating a second ratio between the second difference value and the length value of the preset byte, calculating a second difference value between the second ratio and 2, filling a value equal to 0x00 of the second difference value after the message is spliced, filling 0x06 after the message is spliced, and returning to execute the step of judging whether the concatenation order value is equal to the message packet counting threshold or not until the target message with the length equal to the message packet length is obtained.
Preferably, after determining that the length of the spliced message obtained by splicing is smaller than the message packet length if the buffer is not full, the method further includes:
and if the buffer register is full, performing bit sequence conversion on the spliced message to obtain the filling result of the initial message.
Preferably, the initial message includes a message for performing SHA-3 operation; the target bit width comprises 64 bits; the preset bytes include 8-bit bytes.
A message stuffing apparatus, comprising:
the acquisition module is used for acquiring the initial message to be filled; acquiring filling parameters of the initial message, wherein the filling parameters comprise a message packet length;
the dividing module is used for carrying out proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
the filling module is used for splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length being the message grouping length; and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
Preferably, the stuffing module includes a shift register connected to the dividing module, a packet counter and a buffer register buffer connected to the shift register, a configuration register connected to the packet counter and the buffer register buffer, a stuffing state machine connected to the packet counter, a stuffing connected to the stuffing state machine and the configuration register, a data selector connected to the buffer register buffer and the stuffing, and a bit sequence converter connected to the data selector:
The shift register is used for receiving the data blocks sent by the dividing module;
the grouping counter is used for shifting and registering the data blocks in the shift register into the buffer register buffer for splicing, and recording the splicing number of the current wheel in the buffer register buffer;
the filling state machine is used for judging that the length of the spliced message obtained by splicing is smaller than the message grouping length if the buffer register is not full, and controlling the filler to fill the spliced message based on a preset byte to obtain a target message with the length being the message grouping length;
the data selector is used for transmitting the target message to the bit sequence converter;
the bit sequence converter is used for carrying out bit sequence conversion on the target message to obtain a filling result of the initial message;
the configuration register is used for storing the filling parameters.
Preferably, the filling state machine is configured to: and determining a comparison result of the splicing sub-value and the message grouping counting threshold value, and controlling the populator to populate the spliced message based on the preset byte according to the comparison result to obtain the target message with the length of the message grouping length.
Preferably, the bit sequence converter is configured to: and if the buffer register is full, performing bit sequence conversion on the spliced message transmitted by the data selector to obtain the filling result of the initial message.
An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the message stuffing method as described in any of the above when executing the computer program.
A computer readable storage medium having stored therein a computer program which when executed by a processor performs the steps of the message populating method of any of the preceding claims.
The method for filling the message obtains an initial message to be filled; acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet; performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block; splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length of the message grouping length; and performing bit sequence conversion on the target message to obtain a filling result of the initial message. According to the method and the device, the initial message is converted into the corresponding data block according to the target bit width, the data block is spliced according to the message grouping length conveniently to obtain the target message with the length being the message grouping length, when the length of the spliced message obtained by splicing is smaller than the message grouping length, the spliced message can be filled based on the preset byte to obtain the target message with the length being the message grouping length, finally, the target message is subjected to bit sequence conversion, so that the filling result of the initial message can be obtained, the filling of the message in byte units is realized, and the message filling efficiency is improved. The application provides a message filling system, electronic equipment and a computer readable storage medium, which also solve the corresponding technical problems.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings may be obtained according to the provided drawings without inventive effort to a person skilled in the art.
Fig. 1 is a flowchart of a message filling method provided in an embodiment of the present application;
fig. 2 is a schematic structural diagram of a message filling device according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an interface of a partition module and a fill module;
fig. 4 is a schematic structural diagram of a filling module in a message filling device according to an embodiment of the present application;
FIG. 5 is a control schematic of a fill state machine;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 7 is another schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The hash function is an important branch of cryptography, and is a single cipher system which converts an arbitrary-length message input into a fixed-length abstract output and is irreversible. The hash functions commonly used at present include MD5 algorithm, SM3 algorithm, SHA (Secure Hash Algorithm, secure hash) series algorithm, and the like. But since MD5 algorithm and SHA algorithm have been successively subjected to collision attacks in recent years, NIST (National Institute of standards and Technology ) selected Keccak algorithm from the 64 algorithms originally submitted in 2012 as a new generation hash function standard and named SHA-3 algorithm.
Keccak can generate hash values of any length, but to match the hash value length of SHA-2, four versions of SHA3-224, SHA3-256, SHA3-384, SHA3-512 are specified in the SHA-3 standard, with message packet lengths of 1152bit, 1088bit, 832bit, 576bit, respectively. If the actual message packet length is smaller than the packet lengths corresponding to the four versions, corresponding padding is needed at the tail of the data.
Currently, the bit width of data transmitted by DMA (Direct Memory Access ) is generally 128 bits/256 bits/512 bits and other large bit widths, and if the data of the DMA is filled to be the packet data length of SHA-3, the bit width conversion of non-integer multiple is needed, so that the direct realization is relatively difficult. At present, message filling is mainly realized through upper computer software, the message length is filled into integral multiple of the required packet length, and then the message is issued through DMA. And in the Keccak algorithm, the padding rule used is called multiple bit rate padding, denoted as "pad10 x 1", where x indicates that "0" that needs padding can be omitted or repeated multiple times. The specific rule is that a single-bit '1' is added after the message, a multi-bit '0' is added in the middle, and a single-bit '1' is added finally, so that the length of the filled message is the length of a message packet, however, the message filling process is that the message is addressed according to the bit, the minimum input unit is the bit, and the message filling rate is slow. The message filling method provided by the application can improve the message filling efficiency.
Referring to fig. 1, fig. 1 is a flowchart of a message filling method according to an embodiment of the present application.
The message filling method provided by the embodiment of the application can comprise the following steps:
step S101: an initial message to be filled is obtained.
In practical application, the initial message to be filled can be obtained first, the length, the type and the like of the initial message can be determined according to practical needs, for example, the initial message can comprise a message for carrying out SHA-3 operation and the like, in a specific application scene, the message filling method provided by the application can be applied to an FPGA (Field Programmable Gate Array ), at this time, the FPGA can obtain the initial message to be filled and the like from a DMA connected with the FPGA, and in addition, a data interface of the FPGA can be an AMBA AXI4-stream data interface and the like, so that the application is not limited in detail.
Step S102: a padding parameter of the initial message is obtained, the padding parameter comprising a message packet length.
In practical application, after the initial message to be filled is obtained, the filling parameter of the initial message can be obtained, and the filling parameter can include a message packet length, that is, a length value of the filled message, where a specific value of the message packet length can be determined according to actual needs, and the application is not limited specifically herein.
Step S103: and performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block.
In practical application, after the filling parameters of the initial message are obtained, the initial message can be subjected to proportional bit width conversion according to the target bit width to obtain corresponding data blocks, so that the data blocks can be used for efficient data splicing. It should be noted that, the value of the target bit width may be determined according to actual needs, for example, the target bit width may be 64 bits.
Step S104: and splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length of the message grouping length.
In practical application, after the initial message is subjected to proportional bit width conversion according to the target bit width to obtain a corresponding data block, the data block can be spliced according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, the spliced message is filled based on a preset byte to obtain the target message with the length being the message grouping length. It should be noted that, in the present application, the length of the preset byte may be determined according to actual needs, for example, the preset byte may include an 8-bit byte, etc., which is not specifically limited herein.
In a specific application scenario, in order to facilitate the management and control of the message filling process, the message packet length may be set to include a packet length determined based on the finally output message digest length, for example, when the message digest length is 512 bits, the message packet length may be 576 bits or the like; correspondingly, in the process of splicing the data blocks according to the message grouping length, if the length of the spliced message obtained by splicing is smaller than the message grouping length, the data blocks can be shifted and registered into a preset buffer (buffer register) for caching, for example, a database is shifted and registered into a buffer cache of an FPGA for splicing, and the length of the buffer cache is equal to the message grouping length; if the buffer cache is not full, judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet.
In a specific application scenario, in order to improve the efficiency of message filling, a filling parameter may be set to include a message packet count threshold, where the message packet count threshold includes a ratio of a message packet length to a target bit width; correspondingly, after the data block is shifted and registered into a preset buffer cache for splicing, the splicing number of the current wheel in the buffer cache can be recorded; and then in the process of filling the spliced message based on the preset byte to obtain the target message with the length of the message grouping, the comparison result of the spliced sub-value and the message grouping counting threshold value can be determined, and the spliced message is filled based on the preset byte according to the comparison result to obtain the target message with the length of the message grouping.
In a specific application scene, in the process of determining a comparison result of the splicing order value and the message grouping counting threshold value, filling the spliced message based on a preset byte according to the comparison result to obtain a target message with the length of the message grouping length, whether the splicing order value is equal to the message grouping counting threshold value or not can be judged; if the value of the splicing time is equal to the message grouping counting threshold value, determining a first length difference value between the last spliced data block in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of a preset byte, and if the first length difference value is equal to the length value of the preset byte, filling 0x86 after the message is spliced to obtain the target message with the length being the message grouping length; at this time, the preset byte is 0x86. Accordingly, after determining whether the first length difference value is equal to the length value of the preset byte, the following steps may be further performed: if the first length difference is greater than the length value of the preset bytes, filling 0x80 after the message is spliced, determining a second length difference between target bit widths of the data blocks spliced for the last time in the spliced message, judging whether the second length difference is equal to the length values of the two preset bytes, if the second length difference is equal to the length values of the two preset bytes, indicating that the two preset bytes need to be filled, filling 0x06 after the message is spliced, and returning to execute the step of judging whether the splicing number is equal to the message grouping count threshold value until the target message with the length equal to the message grouping length is obtained. At this time, the preset bytes are 0x80 and 0x06.
In a specific application scenario, after determining whether the second length difference value is equal to the length value of two preset bytes, the following steps may be further performed: if the second length difference is greater than the length value of the two preset bytes, it indicates that a plurality of bytes greater than two bytes need to be filled, at this time, a first ratio between the second length difference and the length value of the preset bytes can be calculated, a first difference between the first ratio and 2 is calculated, a filling value is equal to 0x00 of the first difference after the message is spliced, and then 0x06 is filled after the message is spliced, and the step of judging whether the splicing number is equal to the message packet count threshold is performed again until a target message with the length equal to the message packet length is obtained. At this time, the preset bytes are 0x00 and 0x06.
In a specific application scenario, after judging whether the splicing order value is equal to the message grouping count threshold, if the splicing order value is smaller than the message grouping count threshold, a second difference value between the message grouping length and the spliced message can be calculated, a second ratio between the second difference value and a length value of a preset byte is calculated, a second difference value between the second ratio and 2 is calculated, after the message is spliced, the filling order value is equal to 0x00 of the second difference value, then after the message is spliced, the filling order value is 0x06, and the step of judging whether the splicing order value is equal to the message grouping count threshold is performed again until a target message with the length of the message grouping length is obtained. At this time, the preset bytes are 0x00 and 0x06.
In a specific application scenario, if the buffer is not full, after determining that the length of the spliced message obtained by splicing is smaller than the length of the message packet, the following steps may be further executed: if the buffer cache is full, performing bit sequence conversion on the spliced message to obtain a filling result of the initial message.
It should be noted that, as the method proceeds, the spliced message and the data block spliced last time have changed many times, but no matter how the spliced message changes, the spliced message and the data block spliced last time involved in executing the corresponding steps refer to the latest spliced message at the current time.
Step S105: and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
In practical application, after obtaining the target message, the FPGA may perform bit sequence conversion on the target message to obtain a filling result of the initial message. After the padding result is obtained, the padding message may be processed, for example, the padding result may be calculated based on the SHA-3 algorithm, which is not specifically limited herein.
The method for filling the message obtains an initial message to be filled; acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet; performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block; splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length of the message grouping length; and performing bit sequence conversion on the target message to obtain a filling result of the initial message. According to the method and the device, the initial message is converted into the corresponding data block according to the target bit width, the data block is spliced according to the message grouping length conveniently to obtain the target message with the length being the message grouping length, when the length of the spliced message obtained by splicing is smaller than the message grouping length, the spliced message can be filled based on the preset byte to obtain the target message with the length being the message grouping length, finally, the target message is subjected to bit sequence conversion, so that the filling result of the initial message can be obtained, the filling of the message in byte units is realized, and the message filling efficiency is improved.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a message filling apparatus according to an embodiment of the present application.
The message filling device provided in the embodiment of the application may include:
an obtaining module 101, configured to obtain an initial message to be filled; acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet;
the dividing module 102 is configured to perform proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
a filling module 103, configured to splice the data blocks according to the message packet length, and if the length of the spliced message obtained by splicing is smaller than the message packet length, fill the spliced message based on a preset byte, so as to obtain a target message with the length being the message packet length; and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
It should be noted that, the interfaces of the partition module and the filling module may be determined according to actual needs, for example, an interface schematic diagram of the partition module and the filling module may be shown in fig. 3, where Valid, ready, strb, keep, last represents a corresponding control signal, valid_ (signal type 1) represents a host data Valid signal; ready_ (signal type 2) represents a reception Ready signal sent from the slave; data represents a corresponding Data signal, and data_ (Data) represents Data sent by the host; strb_ (signal type 3) indicates the content of the relevant byte in the data as a digital byte or a position byte; keep_ (signal type 4) indicates whether the content of the relevant byte in the data is processed as part of the data stream; last_ (signal type 5) represents the Last data flag of the data packet; byte represents the corresponding Byte signal and byte_num is a multiple of the number of bytes representing the last data block in the concatenated message and 8 bytes. And the value of m in fig. 3 may depend on the DMA data bit width, generally 16, 32, 64, etc., and when the initial message is a message for performing the SHA-3 method operation, the value of n may depend on the packet length of the SHA-3 message, and may take on values of 9, 12, 17, 18, etc., which are not specifically limited herein.
Referring to fig. 4, a message filling apparatus provided in the embodiments of the present application may include a shift register connected to a dividing module, a packet counter and a buffer connected to the shift register, a configuration register connected to the packet counter and the buffer, a filling state machine connected to the packet counter, a filler connected to the filling state machine and the configuration register, a data selector connected to the buffer and the filler, and a bit sequence converter connected to the data selector:
the shift register is used for receiving the data blocks sent by the dividing module;
the grouping counter is used for shifting the data blocks in the shift register into the buffer cache for splicing and recording the splicing number of the current wheel in the buffer cache;
the filling state machine is used for judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet if the buffer cache is not full, and controlling the filler to fill the spliced message based on a preset byte to obtain a target message with the length being the length of the message packet;
a data selector for transmitting the target message to the bit sequence transformer;
the bit sequence converter is used for carrying out bit sequence conversion on the target message to obtain a filling result of the initial message;
And the configuration register is used for storing the filling parameters, and in a specific application scene, the filling parameters can be updated to the configuration register through an axite 2apb (high-level extensible interface low-throughput bus to peripheral bus).
The embodiment of the application provides a message filling device, and a filling state machine is used for: and determining a comparison result of the splicing sub-value and the message grouping counting threshold value, and controlling a stuffer to fill the spliced message based on a preset byte according to the comparison result to obtain a target message with the length of the message grouping length.
The embodiment of the application provides a message filling device, and a bit sequence converter is used for: if the buffer cache is full, performing bit sequence conversion on the spliced message transmitted by the data selector to obtain a filling result of the initial message.
The embodiment of the application provides a message filling device, and a filling state machine is used for: judging whether the splicing number is equal to a message grouping counting threshold value or not; if the value of the splicing time is equal to the message grouping counting threshold value, determining a first length difference value between the last spliced data block in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of a preset byte, and if the first length difference value is equal to the length value of the preset byte, controlling a stuffer to fill 0x86 after the message is spliced, so as to obtain the target message with the length of the message grouping length.
The embodiment of the application provides a message filling device, and a filling state machine is used for: after judging whether the first length difference value is equal to the length value of the preset byte, if the first length difference value is greater than the length value of the preset byte, controlling the stuffer to fill 0x80 after splicing the message, simultaneously determining a second length difference value between a data block spliced for the last time in the spliced message and the target bit width, judging whether the second length difference value is equal to the length values of the two preset bytes, if the second length difference value is equal to the length values of the two preset bytes, filling 0x06 after splicing the message by the controller stuffer, and returning to execute the step of judging whether the splicing number value is equal to the message grouping counting threshold value until the target message with the length being the message grouping length is obtained.
The embodiment of the application provides a message filling device, and a filling state machine is used for: after judging whether the second length difference value is equal to the length value of the two preset bytes, if the second length difference value is greater than the length value of the two preset bytes, calculating a first ratio between the second length difference value and the length value of the preset bytes, calculating a first difference value between the first ratio and 2, controlling the filler to fill a value equal to 0x00 of the first difference value after splicing the message, controlling the filler to fill a value of 0x06 after splicing the message, and returning to execute the step of judging whether the value of the splicing time is equal to the message grouping counting threshold value until the target message with the length of the message grouping length is obtained.
The embodiment of the application provides a message filling device, and a filling state machine is used for: after judging whether the splicing order value is equal to the message grouping counting threshold value or not, if the splicing order value is smaller than the message grouping counting threshold value, calculating a second difference value between the message grouping length and the spliced message, calculating a second ratio between the second difference value and a length value of a preset byte, calculating a second difference value between the second ratio and 2, controlling the filler to fill the value after the message is spliced by 0x00 of the second difference value, controlling the filler to fill the value after the message is spliced by 0x06, and returning to execute the step of judging whether the splicing order value is equal to the message grouping counting threshold value or not until the target message with the length of the message grouping length is obtained.
It should be noted that, in a specific application scenario, in order to facilitate the operation of the padding state machine to control the padding device, the state of the padding state machine in different situations may be set, and the padding device may be set to perform different operations in different states of the padding state machine, for convenience of understanding, assuming that whether the buffer is full is represented by a last signal, a concatenation number value of a current round in the buffer is represented by pk_cnt, a message packet count threshold is represented by pk_num, a multiple value of a byte of a last data block in the concatenated message and 8 bytes is represented by byte_num, and byte_num counts from 0 to 7, a control schematic of the padding state machine may be as shown in fig. 5, and may include the following operations:
(1) The initial state S0 of the filling state machine is an IDLE state, and when the last signal is detected to be valid, namely, the condition 1: when is_last is established, jumping to the S1 state;
(2) The padding state machine determines in S1 state whether the counter of the current packet counter pk_cnt reaches a preset threshold pk_num, if pk_cnt is equal to pk_num, i.e. condition 2: when pk_cnt= pk_num is true, then jump to S2 state; if pk_cnt is smaller than pk_num, i.e. condition 3: when pk_cnt < pk_num is established, jumping to the S4 state;
(3) The filling state machine determines in S2 state whether the current byte_num is 6, if it is equal to 6, namely, condition 4: when byte_num= 6 is up, it indicates that one Byte of data padding is needed, and then jumps to S3 state, indicating that the padding completes 0x86 data padding for the concatenated message; if byte_num is not equal to 6, i.e., condition 5: when byte_num |=6 is established, it indicates that data padding of a plurality of bytes is required, and then the process goes to S4;
(4) The stuffing state machine firstly controls the stuffing machine to stuff one byte 0x80 for the spliced message in the S4 state, and simultaneously judges whether the value of byte_num is equal to 5 and whether the value of pk_cnt is equal to a preset threshold pk_num, if both conditions are satisfied, namely, condition 6: when byte_num= 5 &pk_cnt= pk_num holds, it means that the packet needs 2 bytes of data padding, and then jumps to S6; if the two conditions are not satisfied, a padding of a plurality of bytes (more than 2) is required, and then the process goes to S5;
(5) The fill state machine controls the filler to finish filling byte 0x00 for the splice message mainly at S5, i.e. at condition 7: in the process that byte_cnt <7 is established, firstly, 0x00 of integer multiple of padding 8 is determined according to the value of current pk_cnt, for example, the value of current pk_cnt is 7, the value of pk_num is 9, and the target bit width is 64 bits, and padding (9-7) is required to be performed for 64/8=16 0x00; then, determining 0x00 of the remaining number (less than 8) according to the value of byte_num, and filling (7-4-2) =1 0x00 if the value of byte_num is 4; finally, in condition 8: byte_cnt= 7 is true and jumps to S6 state.
(6) The fill state machine controls the filler to complete filling of byte 0x06 for the splice message at S6, after which it returns to S1 state.
The message filling device provided by the embodiment of the application, wherein the initial message comprises a message for carrying out SHA-3 operation; the target bit width includes 64 bits; the preset bytes include 8-bit bytes.
The application also provides electronic equipment and a computer readable storage medium, which have the corresponding effects of the message filling method. Referring to fig. 6, fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program:
acquiring an initial message to be filled;
acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet;
performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length of the message grouping length;
and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: the message packet length includes a packet length determined based on the message digest length; the data block shift register is put into a preset buffer cache for splicing, and the length of the buffer cache is equal to the length of a message packet; if the buffer cache is not full, judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: the padding parameter comprises a message packet count threshold comprising a ratio of message packet length to target bit width; after the data block shift register is put into a preset buffer cache for splicing, the splicing number of the current wheel in the buffer cache is recorded; and determining a comparison result of the splicing sub-value and the message grouping counting threshold value, and filling the spliced message based on a preset byte according to the comparison result to obtain a target message with the length of the message grouping length.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: judging whether the splicing number is equal to a message grouping counting threshold value or not; if the value of the splicing time is equal to the message grouping counting threshold value, determining a first length difference value between the last spliced data block in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of a preset byte, and if the first length difference value is equal to the length value of the preset byte, filling 0x86 after the message is spliced, so as to obtain the target message with the length of the message grouping length.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: after judging whether the first length difference value is equal to the length value of the preset byte, if the first length difference value is greater than the length value of the preset byte, filling 0x80 after splicing the message, simultaneously determining a second length difference value between a data block spliced last time in the spliced message and the target bit width, judging whether the second length difference value is equal to the length value of the two preset bytes, if the second length difference value is equal to the length value of the two preset bytes, filling 0x06 after splicing the message, and returning to execute the step of judging whether the splicing number value is equal to the message grouping count threshold value until the target message with the length of the message grouping length is obtained.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: after judging whether the second length difference value is equal to the length value of the two preset bytes, if the second length difference value is greater than twice the length value of the two preset bytes, calculating a first ratio between the second length difference value and the length value of the preset bytes, calculating a first difference value between the first ratio and 2, filling a value equal to 0x00 of the first difference value after splicing the message, filling 0x06 after splicing the message, and returning to execute the step of judging whether the splicing number value is equal to the message grouping counting threshold value until the target message with the length of the message grouping length is obtained.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: after judging whether the splicing order value is equal to the message grouping counting threshold value, if the splicing order value is smaller than the message grouping counting threshold value, calculating a second difference value between the message grouping length and the spliced message, calculating a second ratio between the second difference value and a length value of a preset byte, calculating a second difference value between the second ratio and 2, filling the value after the message is spliced to be equal to 0x00 of the second difference value, filling the value after the message is spliced to be 0x06, and returning to execute the step of judging whether the splicing order value is equal to the message grouping counting threshold value until the target message with the length of the message grouping length is obtained.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: if the buffer cache is not full, after judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet, if the buffer cache is full, performing bit sequence conversion on the spliced message to obtain a filling result of the initial message.
The electronic device provided in the embodiment of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the following steps when executing the computer program: the initial message comprises a message for carrying out SHA-3 operation; the target bit width includes 64 bits; the preset bytes include 8-bit bytes.
Referring to fig. 7, another electronic device provided in an embodiment of the present application may further include: an input port 203 connected to the processor 202 for transmitting an externally input command to the processor 202; a display unit 204 connected to the processor 202, for displaying the processing result of the processor 202 to the outside; and the communication module 205 is connected with the processor 202 and is used for realizing communication between the electronic device and the outside. The display unit 204 may be a display panel, a laser scanning display, or the like; communication means employed by the communication module 205 include, but are not limited to, mobile high definition link technology (HML), universal Serial Bus (USB), high Definition Multimedia Interface (HDMI), wireless connection: wireless fidelity (WiFi), bluetooth communication, bluetooth low energy communication, ieee802.11s based communication.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
Acquiring an initial message to be filled;
acquiring filling parameters of an initial message, wherein the filling parameters comprise the length of a message packet;
performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length of the message grouping length;
and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: the message packet length includes a packet length determined based on the message digest length; the data block shift register is put into a preset buffer cache for splicing, and the length of the buffer cache is equal to the length of a message packet; if the buffer cache is not full, judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: the padding parameter comprises a message packet count threshold comprising a ratio of message packet length to target bit width; after the data block shift register is put into a preset buffer cache for splicing, the splicing number of the current wheel in the buffer cache is recorded; and determining a comparison result of the splicing sub-value and the message grouping counting threshold value, and filling the spliced message based on a preset byte according to the comparison result to obtain a target message with the length of the message grouping length.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: judging whether the splicing number is equal to a message grouping counting threshold value or not; if the value of the splicing time is equal to the message grouping counting threshold value, determining a first length difference value between the last spliced data block in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of a preset byte, and if the first length difference value is equal to the length value of the preset byte, filling 0x86 after the message is spliced, so as to obtain the target message with the length of the message grouping length.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: after judging whether the first length difference value is equal to the length value of the preset byte, if the first length difference value is greater than the length value of the preset byte, filling 0x80 after splicing the message, simultaneously determining a second length difference value between a data block spliced last time in the spliced message and the target bit width, judging whether the second length difference value is equal to the length value of the two preset bytes, if the second length difference value is equal to the length value of the two preset bytes, filling 0x06 after splicing the message, and returning to execute the step of judging whether the splicing number value is equal to the message grouping count threshold value until the target message with the length of the message grouping length is obtained.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: after judging whether the second length difference value is equal to the length value of the two preset bytes, if the second length difference value is greater than the length value of the two preset bytes, calculating a first ratio between the second length difference value and the length value of the preset bytes, calculating a first difference value between the first ratio and 2, filling a value equal to 0x00 of the first difference value after splicing the message, filling 0x06 after splicing the message, and returning to execute the step of judging whether the splicing number value is equal to the message grouping counting threshold value until the target message with the length of the message grouping length is obtained.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: after judging whether the splicing order value is equal to the message grouping counting threshold value, if the splicing order value is smaller than the message grouping counting threshold value, calculating a second difference value between the message grouping length and the spliced message, calculating a second ratio between the second difference value and a length value of a preset byte, calculating a second difference value between the second ratio and 2, filling the value after the message is spliced to be equal to 0x00 of the second difference value, filling the value after the message is spliced to be 0x06, and returning to execute the step of judging whether the splicing order value is equal to the message grouping counting threshold value until the target message with the length of the message grouping length is obtained.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: if the buffer cache is not full, after judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet, if the buffer cache is full, performing bit sequence conversion on the spliced message to obtain a filling result of the initial message.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: the initial message comprises a message for carrying out SHA-3 operation; the target bit width includes 64 bits; the preset bytes include 8-bit bytes.
The computer readable storage medium referred to in this application includes Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The description of the relevant parts in the message filling device, the electronic device and the computer readable storage medium provided in the embodiments of the present application refers to the detailed description of the corresponding parts in the message filling method provided in the embodiments of the present application, and will not be repeated here. In addition, the parts of the above technical solutions provided in the embodiments of the present application, which are consistent with the implementation principles of the corresponding technical solutions in the prior art, are not described in detail, so that redundant descriptions are avoided.
It is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended 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 (15)

1. A method of message stuffing comprising:
acquiring an initial message to be filled, wherein the initial message comprises a message for hash function operation;
acquiring filling parameters of the initial message, wherein the filling parameters comprise a message packet length;
performing proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length being the message grouping length;
and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
2. The method of claim 1, wherein the message packet length comprises a packet length determined based on a message digest length;
and splicing the data blocks according to the message packet length, wherein if the length of the spliced message obtained by splicing is smaller than the message packet length, the method comprises the following steps:
the data blocks are shifted and registered into a preset buffer register for splicing, and the length of the buffer register is equal to the length of the message packet;
And if the buffer register buffer is not full, judging that the length of the spliced message obtained by splicing is smaller than the length of the message packet.
3. The method of claim 2, wherein the padding parameter comprises a message packet count threshold comprising a ratio of the message packet length to the target bit width;
after the data block is shifted and registered into a preset buffer register for splicing, the method further comprises the following steps:
recording the splicing number of the current wheel in the buffer register cache;
the filling the spliced message based on the preset byte to obtain a target message with the length being the message packet length, which comprises the following steps:
and determining a comparison result of the splicing sub-value and the message grouping counting threshold, and filling the spliced message based on the preset byte according to the comparison result to obtain the target message with the length of the message grouping length.
4. A method according to claim 3, wherein said determining a comparison of said concatenation order value and said message packet count threshold, according to which said concatenated message is padded based on said preset byte to obtain said target message having a length equal to a length of said message packet, comprises:
Judging whether the splicing sub-value is equal to the message packet counting threshold value or not;
and if the value of the splicing times is equal to the message grouping counting threshold value, determining a first length difference value between the data block spliced last time in the spliced message and the target bit width, judging whether the first length difference value is equal to the length value of the preset byte, and if the first length difference value is equal to the length value of the preset byte, filling 0x86 after the message is spliced to obtain the target message with the length of the message grouping length.
5. The method of claim 4, wherein after determining whether the first length difference is equal to the length value of the preset byte, further comprising:
and if the first length difference value is greater than the length value of the preset byte, filling 0x80 after the message is spliced, determining a second length difference value between the data block spliced for the last time in the spliced message and the target bit width, judging whether the second length difference value is equal to the length values of the two preset bytes, if the second length difference value is equal to the length values of the two preset bytes, filling 0x06 after the message is spliced, and returning to the step of judging whether the splicing number value is equal to the message packet count threshold or not until the target message with the length equal to the message abstract length is obtained.
6. The method of claim 5, wherein after determining whether the second length difference is equal to the length value of two of the preset bytes, further comprising:
if the second length difference value is greater than the length value of the two preset bytes, calculating a first ratio between the second length difference value and the length value of the preset bytes, calculating a first difference value between the first ratio and 2, filling a value equal to 0x00 of the first difference value after the message is spliced, filling 0x06 after the message is spliced, and returning to execute the step of judging whether the splicing sub-value is equal to the message packet counting threshold value until the target message with the length equal to the message packet length is obtained.
7. The method of claim 6, wherein after said determining if said splice count value is equal to said message packet count threshold, further comprising:
if the concatenation order value is smaller than the message packet counting threshold, calculating a second difference value between the message packet length and the concatenation message, calculating a second ratio between the second difference value and the length value of the preset byte, calculating a second difference value between the second ratio and 2, filling a value equal to 0x00 of the second difference value after the message is spliced, filling 0x06 after the message is spliced, and returning to execute the step of judging whether the concatenation order value is equal to the message packet counting threshold or not until the target message with the length equal to the message packet length is obtained.
8. The method according to claim 2, wherein after determining that the length of the spliced message obtained by splicing is smaller than the message packet length if the buffer is not full, further comprising:
and if the buffer register is full, performing bit sequence conversion on the spliced message to obtain the filling result of the initial message.
9. The method according to any one of claims 1 to 8, wherein the initial message comprises a message for SHA-3 operations; the target bit width comprises 64 bits; the preset bytes include 8-bit bytes.
10. A message stuffing apparatus, comprising:
the acquisition module is used for acquiring initial messages to be filled, wherein the initial messages comprise messages for hash function operation; acquiring filling parameters of the initial message, wherein the filling parameters comprise a message packet length;
the dividing module is used for carrying out proportional bit width conversion on the initial message according to the target bit width to obtain a corresponding data block;
the filling module is used for splicing the data blocks according to the message grouping length, and if the length of the spliced message obtained by splicing is smaller than the message grouping length, filling the spliced message based on a preset byte to obtain a target message with the length being the message grouping length; and performing bit sequence conversion on the target message to obtain a filling result of the initial message.
11. The message stuffing apparatus of claim 10, wherein said stuffing module comprises a shift register coupled to said dividing module, a packet counter and a buffer register buffer coupled to said shift register, a configuration register coupled to said packet counter and said buffer register buffer, a stuffing state machine coupled to said packet counter, a stuffing coupled to said stuffing state machine and said configuration register, a data selector coupled to said buffer register buffer and said stuffing, a bit sequence converter coupled to said data selector:
the shift register is used for receiving the data blocks sent by the dividing module;
the grouping counter is used for shifting and registering the data blocks in the shift register into the buffer register buffer for splicing, and recording the splicing number of the current wheel in the buffer register buffer;
the filling state machine is used for judging that the length of the spliced message obtained by splicing is smaller than the message grouping length if the buffer register is not full, and controlling the filler to fill the spliced message based on a preset byte to obtain a target message with the length being the message grouping length;
The data selector is used for transmitting the target message to the bit sequence converter;
the bit sequence converter is used for carrying out bit sequence conversion on the target message to obtain a filling result of the initial message;
the configuration register is used for storing the filling parameters.
12. The message stuffing apparatus of claim 11, wherein said stuffing state machine is configured to: and determining a comparison result of the splicing sub-value and the message grouping counting threshold value, and controlling the populator to populate the spliced message based on the preset byte according to the comparison result to obtain the target message with the length of the message grouping length.
13. The message stuffing apparatus of claim 11, wherein said bit sequence transformer is configured to: and if the buffer register is full, performing bit sequence conversion on the spliced message transmitted by the data selector to obtain the filling result of the initial message.
14. An electronic device, comprising:
a memory for storing a computer program;
processor for implementing the steps of the message stuffing method according to any of the claims 1 to 9 when executing said computer program.
15. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when executed by a processor, implements the steps of the message stuffing method according to any of claims 1 to 9.
CN202310015106.8A 2023-01-06 2023-01-06 Message filling method, device, equipment and computer readable storage medium Active CN115834027B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310015106.8A CN115834027B (en) 2023-01-06 2023-01-06 Message filling method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310015106.8A CN115834027B (en) 2023-01-06 2023-01-06 Message filling method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN115834027A CN115834027A (en) 2023-03-21
CN115834027B true CN115834027B (en) 2023-05-19

Family

ID=85520215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310015106.8A Active CN115834027B (en) 2023-01-06 2023-01-06 Message filling method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN115834027B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455530B (en) * 2023-06-20 2023-11-03 中星联华科技(北京)有限公司 Error code instrument, code pattern generation method and device, electronic equipment and medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786331A (en) * 2017-09-28 2018-03-09 平安普惠企业管理有限公司 Data processing method, device, system and computer-readable recording medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011080476A1 (en) * 2011-08-05 2013-02-07 Robert Bosch Gmbh Method and apparatus for improving data transmission security in serial data transmission with flexible message size
CN110489370B (en) * 2019-07-15 2023-05-23 广东工业大学 Hardware filling method for preprocessing SHA256 message of hash algorithm
CN112464258B (en) * 2020-11-02 2024-03-19 中国银联股份有限公司 Data encryption and decryption methods, devices, equipment and storage medium
CN112822265A (en) * 2021-01-05 2021-05-18 树根互联技术有限公司 Data encoding method, device, equipment end and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786331A (en) * 2017-09-28 2018-03-09 平安普惠企业管理有限公司 Data processing method, device, system and computer-readable recording medium

Also Published As

Publication number Publication date
CN115834027A (en) 2023-03-21

Similar Documents

Publication Publication Date Title
KR101745456B1 (en) Ecu for transmitting large data in hil test environment, system including the same and method thereof
CN110928483B (en) Data storage method, data acquisition method and equipment
CN115834027B (en) Message filling method, device, equipment and computer readable storage medium
KR20220119468A (en) Decoding method, apparatus, network device and storage medium
CN108062235B (en) Data processing method and device
CN111491169B (en) Digital image compression method, device, equipment and medium
KR20110121597A (en) Apparatus and method of encoding and decoding control information in a medium access control protocol data unit
CN111865557A (en) Check code generation method and device
US20150149746A1 (en) Arithmetic processing device, information processing device, and a method of controlling the information processing device
WO2024124843A1 (en) Data processing method and apparatus, and device and readable storage medium
CN111464386A (en) Communication conversion method and device for data transmission and communication system
CN115550442A (en) Data packet transmission method and device, electronic equipment and storage medium
CN106657097B (en) A kind of data transmission method for uplink and device
CN113438226B (en) Message generating and analyzing method, device and system based on hybrid transmission protocol
CN110769049B (en) Power distribution terminal and SOE data uploading method thereof
CN116893987B (en) Hardware acceleration method, hardware accelerator and hardware acceleration system
CN112035866A (en) Data encryption and decryption method, device, equipment and computer readable storage medium
JP6398241B2 (en) Packet generating apparatus and program
CN116665836B (en) Editing and storing method, reading and playing method and electronic equipment for sequence data
CN111417920A (en) Data processing method and device
CN115037514B (en) Hash algorithm-based efficient data integrity verification method
CN114944889B (en) Multifunctional communication data verification system and method based on parameterizable configuration
WO2017012415A1 (en) Packet slicing method and apparatus, and computer-readable medium
WO2022056884A1 (en) Line coding method and device
CN116861448A (en) Heterogeneous encryption data processing method, system and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant