Patent ID: 8787563

Claim:
A data converter, comprising: a receiver which receives message data; and a processor, which executes a data conversion process to generate a hash value, the data conversion process including a plurality of compression-function execution sections and a plurality of respective process sequences in which a plurality of divided data blocks constituting the message data are processed in parallel, wherein each compression-function execution section performs: a message scheduling process, using a message scheduling section, which receives a corresponding divided data block of the message data, the message scheduling section including a first transposition-function executing section, which repeatedly executes a transposition process to output a first intermediate value; and a chaining variable process, using a chaining variable processing section including a second transposition-function executing section, which: receives the first intermediate value and a second intermediate value having a first number of bits, the second intermediate value being an output from a preceding processing section, and generates output data having a second number of bits, which is the same as the first number of bits, wherein the compression-function execution sections, respectively performing parallel processing in the process sequences, are configured to commonly use one or both of the message scheduling section and the chaining variable processing section, and to allow a single message scheduling section or a single chaining variable processing section to be utilized, and wherein: the compression-function execution sections include a single common chaining variable processing section which is commonly used by the compression-function execution sections, the message scheduling sections in the compression-function execution sections receive the same divided data block and provide an output to the common chaining variable processing section, and the common chaining variable processing section receives both of the output and a third intermediate value as an output from a preceding compression-function execution section.