WO2007052477A1 - メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 - Google Patents

メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 Download PDF

Info

Publication number
WO2007052477A1
WO2007052477A1 PCT/JP2006/320826 JP2006320826W WO2007052477A1 WO 2007052477 A1 WO2007052477 A1 WO 2007052477A1 JP 2006320826 W JP2006320826 W JP 2006320826W WO 2007052477 A1 WO2007052477 A1 WO 2007052477A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
block
hash
message authentication
output
Prior art date
Application number
PCT/JP2006/320826
Other languages
English (en)
French (fr)
Inventor
Kazuhiko Minematsu
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to EP06812014A priority Critical patent/EP1944907A4/en
Priority to JP2007542334A priority patent/JP4735644B2/ja
Priority to CA002627136A priority patent/CA2627136A1/en
Priority to US12/083,872 priority patent/US8589688B2/en
Publication of WO2007052477A1 publication Critical patent/WO2007052477A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the present invention is constructed by a combination of block cipher and partial processing of block cipher.
  • the present invention relates to a general-purpose and high-speed message authentication device, a message authentication method, a message authentication program, and a recording medium thereof.
  • Message authentication is a technique for guaranteeing that a message is legitimate by attaching a tag that can be calculated only by those who know the secret key to the message. For example, if message authentication is used, tampering by a third party during the communication can be detected in communication between two parties sharing a secret key.
  • the sender's message and tag are sent to the receiver, the message is received on the receiver side, and the message is received by calculating the tag and looking for a match with the received tag. It can be determined whether or not the proper sender power is also sent.
  • the recipient's authentication method is uniquely determined as long as the tag generation method is determined, so it is sufficient to describe only the tag generation method.
  • block cipher message authentication methods Many methods using block cipher are known as message authentication methods. These are also called block cipher message authentication modes, and include the classic CBC-MAC mode, EMAC, XCBC, and OMAC, which are improved CBC-MAC. It is known that CBC-MAC is not secure when accepting variable-length block messages, and that there is no provision for handling when the message is not a multiple of the block length.
  • FIG. 1 a block diagram of OMAC is shown in FIG. As shown in Figure 1, these modes It is necessary to operate the block cipher for the number of message blocks. Therefore, its speed does not always exceed that of block ciphers.
  • MT accepts any message whose length is an integral multiple of the block length, and its output is always
  • Non-Patent Document 3 the modified tree hash is realized using the MMH hash described in Non-Patent Document 2.
  • Carter In the Wegman authentication method, the speed of tag generation is a universal hash function. In general, it is faster than CBC—MAC and other block cipher only authentication modes.
  • CBC MAC
  • MAC block cipher only authentication modes.
  • Non-Patent Document 4 proposes a message authentication method based on such a combination. This is because a part of the block cipher function is iteratively processed like CBC-MAC, thereby realizing tag generation processing faster than the block cipher speed.
  • Patent Document 1 discloses a technique for reducing processing costs without compromising the safety in XCBC for message authentication.
  • this technology performs encryption by using one of the key K1 and another key K2 and an exclusive logical ring in the final block. If the data length of the digital data is not a multiple of the block length, add 1 to the end of the last block, and then add 0 to the block length so that the data is the key K1 and another key. Encryption is performed by taking an exclusive OR with either one of the keys K2 and K1, which is different from one of the keys K2.
  • Patent Document 1 Japanese Patent Laid-Open No. 2003-333036
  • Non-Patent Document 1 Satoru Iwata, Survey on Security of Block Cipher Usage Mode, Research Report on Information Technology Promotion Organization (IPA) Cryptographic Technology, 2003
  • Patent Document 2 S. Halevi and H. Krawczyk, MMH: Software Message Authentication i n the Gbit / second rates, Fast Software Encryption, 4th International Workshop, FS E '97, Lecture Notes in Computer Science; Vol. 1267, Feb. 1997
  • Non-Special Article 3 Martin Boesgaard, Ove Scavenius, Thomas Pedersen, Thomas Christensen, Erik Zenner, Badger-A Fast and Provably Secure MAC, Applied Cryptograp hy and Network Security (ACNS) 2005
  • Non-Patent Document 4 J. Daemen and V. Rijmen, A New MAC Construction ALRED and a Special Instance ALPHA-MAC Fast Software Encryption, International Workshop, FSE 2005, Lecture Notes in Computer science; Vol. 3557, Feb. 2005
  • the present invention combines a block cipher and some of its components, is faster than the existing block cipher authentication mode, has theoretical security, and is pre-processed.
  • Another object of the present invention is to provide a message authentication device, a message authentication method, a message authentication program and a recording medium that are efficient in terms of the amount of memory used.
  • the invention according to claim 1 includes an input means for inputting a message, a padding means for padding the message and always outputting the length as a block length constant as a padded message, and the padding.
  • a modified tree hash means for outputting a hash value of one block by repeating a process of arranging a hash function with a small input / output width created for a block cipher part by the amount corresponding to the message.
  • the encrypted value-added encryption means that encrypts the value to be a tag, and the tag and the message are concatenated.
  • a message authentication device provided with output means for outputting.
  • the invention according to claim 2 is an input means for inputting a message, a padding means for padding the message and always making its length a constant block length and outputting it as a padded message, and a block cipher And a replacement process derived from the partial strength of the block cipher, an alternating chain means for chaining the padded messages one block at a time and compressing them into a hash value of one block, and encrypting the hash value
  • the message authentication apparatus includes an encryption unit with an adjustment value as a tag, and an output unit that connects and outputs the tag and the message.
  • the invention according to claim 3 includes an input means for inputting a message, a padding means for padding the message and always outputting the length of the message as a block length constant, and the padding message.
  • Modified tree chain hash means for outputting a hash value for one block by compressing a completed message with a structure in which a part of the processing of the alternating chain means according to claim 2 is replaced by the modified tree hash means according to claim 1
  • a message authenticating device comprising: an encryption unit with adjustment value that encrypts the hash value into a tag; and an output unit that concatenates and outputs the tag and the message.
  • the modified tree hash means is configured using four or more repetitions of the AES stage function, and the adjustment value-added encryption means is configured using AES.
  • the message authentication device according to claim 1 is provided.
  • the invention according to claim 5 is characterized in that the alternating chain means is configured by combining AES and four or more repetitions of the stage function of AES, and the encryption means with adjustment value uses AES.
  • the message authentication device according to claim 2 is configured.
  • the modified tree chain hash means is configured by combining AES and four or more iterations of the AES stage function, and the adjustment value-encrypted means is AE S
  • the invention according to claim 7 is the message authentication device according to any one of claims 1 to 3, wherein the block cipher and a replacement process using a stage function of the block cipher are used. It is characterized by.
  • the invention according to claim 8 is the first step in which the input means inputs the message and the padding means power. The input message is padded and its length is always made a block length constant.
  • the invention according to claim 9 is the first step in which the input means inputs the message, and the padding means power.
  • the input message is padded and its length is always set to a block length constant.
  • the second step of outputting as a padded message and the alternative linking means add the block cipher and the replacement process derived from a part of the block cipher while adding the output padded message one block at a time.
  • Is a message authentication method comprising a fifth step of concatenating and outputting the encrypted tag and the message.
  • the invention according to claim 10 is the first step in which the input means inputs a message, and the padding means pads the input message so that the length is always a block length constant.
  • a message authentication method comprising a fifth step of connecting and outputting the encrypted tag and the message.
  • the invention according to claim 11 is characterized in that the modified tree hash means is not less than four times of the AES stage function.
  • the message authentication method according to claim 8 wherein the message authentication method is configured by using the above repetition, and the encryption unit with adjustment value is configured by using AES.
  • the invention according to claim 12 is characterized in that the alternating chain means is configured by combining AES and four or more repetitions of the stage function of AES, and the encryption means with adjustment value uses AES.
  • the message authentication method according to claim 9 is configured.
  • the invention according to claim 13 is characterized in that the modified tree chain hash means is configured by combining AES and four or more repetitions of the stage function of AES, and the encryption means with adjustment value is AES.
  • the invention according to claim 14 is the message authentication method according to any one of claims 8 to 10 using a block cipher and a replacement process using a stage function of the block cipher. It is characterized by.
  • the invention described in claim 15 is characterized in that the message authentication method according to any one of claims 8 to 10 is a message authentication program for causing a computer to execute the message authentication method.
  • the invention according to claim 16 is characterized in that it is a recording medium on which the message authentication program according to claim 15 is recorded.
  • the block cipher and some of its components are combined, which is faster than the existing block cipher authentication mode, has theoretical security, and is also suitable for preprocessing and the amount of memory used.
  • An efficient message authentication device, message authentication method, message authentication program, and recording medium thereof can be realized.
  • the best mode for carrying out the present invention includes an input means for inputting a message, and padding for padding a message and always making its length a constant block length and outputting it as a padded message. And a modified tree hash method that outputs a hash value of one block by repeating the process of arranging a small input / output width of the padded message based on the block cipher part and the shush function for the message. And the hash value It is assumed that the message authentication apparatus includes an adjustment value-added encryption unit that is encoded and used as a tag, and an output unit that connects the tag and the message to output.
  • FIG. 2 is a block diagram showing the configuration of the message authentication device of the present exemplary embodiment.
  • the message authentication device 10 of this embodiment includes an input unit 100, a padding unit 101, a modified tree hash unit 102, an adjustment value-added encryption unit 103, and an output unit 104.
  • the message authentication device 10 according to the present embodiment is realized by using a CPU (processing device), a memory (main storage device), a disk (auxiliary storage device), and the like that are generally provided in a computer. It is possible.
  • FIG. 3 is a block diagram showing a configuration of a general computer.
  • a general computer includes an input device 1 such as a keyboard and a mouse, a processing device (CPU) 2, a storage device 3, and an output device 4 such as a display and a printer.
  • the processing device (CPU) 2 includes a control device 5 and an arithmetic device 6, and is a central part that performs processing such as calculation.
  • the storage device 3 includes a main storage device 7 (main memory) and an auxiliary storage device 8, and stores data temporarily or Z and permanently.
  • Each means included in the message authentication device 10 of the present embodiment shown in FIG. 2 stores a program necessary for message authentication in a computer disk (auxiliary storage device 8 shown in FIG. 3). Can be realized by operating it on the CPU (processing device 2 shown in Fig. 3).
  • the input means 100 shown in FIG. 2 is a means for inputting a plaintext (message) to be tagged. This is realized by a character input device such as a keyboard (input device 1 shown in FIG. 3).
  • Padding means 101 is means for always converting the message length to a multiple of a block.
  • the block length is determined by the input width of the block cipher used. If one block is n bits, If the remainder of the plaintext length divided by n is (n ⁇ t), the length is made a multiple of the block by adding t bits with the first being 1 and the rest being all 0 to the plaintext. None is processed for plaintext that is already a multiple of a block.
  • the padding method is that the message length is a multiple of the block length! ,, Padding results between messages of different lengths are always different, and if the message length is a multiple of the block length, nothing will happen, even if the conditions are met
  • the padding method may be used.
  • the padding means 101 includes a padding message and an indicator that indicates whether padding has been performed in the padding means 101, that is, whether the original message length is a multiple of n. If not)
  • the modified tree hash means 102 arranges the padded messages output by the padding means 101 into small! /, Based on the block cipher parts, and a hash function of the input / output width for each message. It is a means to compress to 1 block by repeating the process. One block is n bits, and n bit block cipher is E. Also, let n be a definitive permutation.
  • the processing of the modified tree hash means 102 is composed of the following equation (2). This process is a keyed function with 2n-bit input and n-bit output. The key is the key of block cipher E
  • the maximum difference probability DP (f) of the n-bit function f represented by Expression (2) will be described.
  • the probability is calculated with X set to a uniformly random n-bit value.
  • addition and subtraction represent exclusive OR.
  • Equation (2) The n-bit function f expressed by Equation (2) is required to have a sufficiently small maximum difference probability DP (f), that is, sufficiently close to 2 ⁇ n).
  • DP (f) the maximum differential probability is theoretically known to be able to be reduced to 2 – n + 1).
  • the maximum differential probability is sufficiently small, and it is actually easy to make a permutation.
  • substitution instead of deterministic substitution, it is also possible to use substitution with a key (the collective power of several substitutions, a random key specifies one substitution). In this case, the average maximum differential probability EDP (f) described below is required to be small.
  • A is a non-zero ⁇ bit value
  • b is an arbitrary ⁇ bit value
  • Pr (f (X) — f (X + a) b
  • MT is called a modified tree hash value.
  • ⁇ (1), ⁇ (2), ⁇ ' ⁇ , ⁇ (5) are used to obtain MT and are called hash keys.
  • Key K is the key of block cipher E
  • Each D, D, ⁇ requires a hash key ⁇ (1), ⁇ (2), ⁇ May be generated.
  • ⁇ (1), ⁇ (2), ⁇ May be generated.
  • Non-Patent Document 3 it has been proposed to add length information to the modified tree hash value in order to prevent collision between the message lengths of messages of different lengths. Even if it is not, the probability of collision between inputs of different lengths is small. Therefore, when the modified tree hash means 102 is realized using the modified tree hash described in Non-Patent Document 3, length information is not added. Good.
  • the encryption value adding means 103 with adjustment value outputs TB [E] (Y, d), where Y is the output of the modified tree hash means 102.
  • the output unit 104 is a unit that uses the ciphertext output from the encryption key unit with adjustment value 103 as a tag and connects it to the message input to the input unit 100 and outputs it to a computer display, a printer, or the like.
  • Fig. 4 shows an operation example of the message authentication device 10 with m block input. In FIG. 4, it is assumed that the message is exactly m blocks long, and the input means 100, padding means 101, and output means 104 are omitted.
  • E is a block cipher and f is a deterministic or keyed substitution. If the encryption when the key is K and the message is X is E, the hash keys correspond to E 1, E 2,.
  • FIG. 5 is a flowchart for explaining the operation of the message authentication device 10 of the present exemplary embodiment.
  • step 101 it is checked whether the hash key and adjustment value used by the modified tree hash means 102 and the adjustment value-added encryption means means 103 are generated in advance. If it has already been generated, the process proceeds to step 103, and if not, a hash key and an adjustment value are generated (step 102).
  • a message is input (step 103), and padding is executed (step 104).
  • the modified tree hash is executed for the nominated message (step 105), and the adjusted value-encrypted encryption is applied to the output of the modified tree hash to form a tag (step 106).
  • the tag and message are concatenated and output (step 107).
  • FIG. 6 is a block diagram showing the configuration of the message authentication device of the present exemplary embodiment.
  • the message authentication device 20 of the present embodiment includes an input unit 200, a padding unit 201, an alternating chain unit 202, and an adjustment value-added encryption unit 203. And an output means 204.
  • the message authentication device 20 of the present embodiment is realized by using a CPU (processing device), a memory (main storage device), a disk (auxiliary storage device), etc., which are generally provided in a computer. Is possible.
  • FIG. 3 is a block diagram showing a configuration of a general computer.
  • a general computer includes an input device 1 such as a keyboard and a mouse, a processing device (CPU) 2, a storage device 3, and an output device 4 such as a display and a printer.
  • the processing device (CPU) 2 includes a control device 5 and an arithmetic device 6, and is a central part that performs processing such as calculation.
  • the storage device 3 includes a main storage device 7 (main memory) and an auxiliary storage device 8, and stores data temporarily or Z and permanently.
  • Each means included in the message authentication device 20 of the present embodiment shown in FIG. 6 stores a program necessary for message authentication in a computer disk (auxiliary storage device 8 shown in FIG. 3). Can be realized by operating it on the CPU (processing device 2 shown in Fig. 3).
  • the input means 200 shown in FIG. 6 is a means for inputting a plaintext (message) to be tagged. This is realized by a character input device such as a keyboard (input device 1 shown in FIG. 3).
  • Padding means 201 is means for always converting the message length to a multiple of a block.
  • the block length is determined by the input width of the block cipher used. If one block is n bits and the remainder of the plaintext length divided by n is (n ⁇ t), the length is made a multiple of the block by adding t bits that are 1 at the beginning and all the rest are 0 to the plaintext. To do. None is processed for plaintext that is already a multiple of a block.
  • the padding method is that the message length is a multiple of the block length! ,, Padding results between messages of different lengths are always different, and if the message length is a multiple of the block length, nothing will happen, even if the conditions are met
  • the padding method may be used.
  • the padding means 201 includes a padding message and an indicator indicating whether padding has been performed in the padding means 201, that is, whether the original message length is a multiple of n. If not)
  • the alternating chain means 202 is composed of an n-bit block cipher E and an n-bit derived from a partial force of E. This is a means for compressing the output of the padding means 201 into one block by chaining the permutation f with the message added one block at a time.
  • the processing of the alternating chain means 202 is composed of the following equation (5). This processing is a keyed function with n (t + 3) bit input and n bit output, where t is a non-negative integer. Key is block cipher E key and auxiliary key KAux, KA
  • the alternating chaining means 202 links the processing ACBC described in the above formula (5). That is, if the first (t + 3) input block is X, ACBC is applied to X and ACBC (X) is obtained according to equation (5), and ACBC (X) is connected to the next (t + 2) input block. Then input it to ACBC again. This process is repeated, and immediately stops when the last input block is added, and the result is output.
  • the auxiliary key corresponding to the last input block may or may not be added.
  • the auxiliary key may be a key independent of the block cipher key, but may be generated in accordance with processing using an adjustment value-added encryption unit 203 described later.
  • the replacement has a small maximum difference probability used in the ACBC in Equation (5).
  • the maximum self-difference probability SDP (f) of the n-bit function f described below is also required to be small.
  • the maximum self-difference probability SDP (f) of the n-bit function f is Pr when a is an arbitrary n-bit value
  • ⁇ -bit keyed function f (where K represents a key) mean maximum self-differential probability ESDP (f
  • the rate is calculated with X being uniformly random n-bit values and the key Kp being random. Also, addition and subtraction represent exclusive OR.
  • a block cipher stage function it is common to perform an exclusive OR operation on a key to an intermediate variable. In such a structure, it can be easily shown that the average maximum self-difference probability of the step function is minimized.
  • the average maximum self-difference probability is the minimum value 2 "(-128) no matter how many stages.
  • the output of the alternating chain means 202 is called the alternating chain hash value.
  • the adjustment value-added encryption means 203 encrypts the power of processing A shown below and the alternate chain hash value.
  • n bits u and u be different constants that are not 1 or 0. Any n-bit value
  • the adjustment value-added encryption means 203 encrypts the output of the alternating chain means 202 based on TTB [E, L], with the padding presence / absence indicator output by the padding means 201 being d. If the output of the alternating chaining means 202 is Y, the output of the encryption means with adjusted value 202 is E ((L * u) + Y) if d is 1, and E ((L * u) if d is 2. + Y). L * u and L * u saw
  • E (L + 0), E (L + 1), E (L + t-1) can be used as auxiliary keys KAux, ⁇ , KAux! / ⁇ . Also, in process A above
  • E ((L * u) + t- 1) may be used as auxiliary keys.
  • the output unit 204 is the same as the output unit 104 of the message authentication device 10 in the first exemplary embodiment.
  • Fig. 7 shows an example of the operation of the message authentication device 20 for a message of a certain length. Assume that the message length is exactly an integral multiple of the block length, and the input means 200, padding means 201, and output means 204 are omitted. The case where there is no auxiliary key and one case are described as examples.
  • E is a block cipher and f is a deterministic or keyed substitution.
  • FIG. 8 is a flowchart for explaining the operation of the message authentication device 20 of this embodiment.
  • step 201 it is checked whether the auxiliary key and the adjustment value used by the alternate chaining means 202 and the adjustment value-added encryption means means 203 are generated in advance (step 201). If it has already been generated, the process proceeds to step 203, and if not, an auxiliary key and an adjustment value are generated (step 202).
  • a message is input (step 203), and padding is executed (step 204).
  • the alternate chaining means 202 is executed on the message that has been reported (step 205), and the adjusted alternate chained encryption value is applied to the output alternate chaining hash value of the alternate chaining means 202 to form a tag ( Step 206). Finally, the tag and message are concatenated and output (step 20 7).
  • FIG. 9 is a block diagram showing the configuration of the message authentication device of the present exemplary embodiment.
  • the message authentication device 30 of this embodiment includes an input unit 300, a padding unit 301, a modified tree chain hash unit 302, an adjustment value-added encryption unit 303, and an output unit 304. Yes.
  • the message authentication device of this embodiment The device 30 can be realized by using a CPU (processing device), a memory (main storage device), a disk (auxiliary storage device) and the like that are generally provided in a computer.
  • FIG. 3 is a block diagram showing a configuration of a general computer.
  • a general computer includes an input device 1 such as a keyboard and a mouse, a processing device (CPU) 2, a storage device 3, and an output device 4 such as a display and a printer.
  • the processing device (CPU) 2 includes a control device 5 and an arithmetic device 6, and is a central part that performs processing such as calculation.
  • the storage device 3 includes a main storage device 7 (main memory) and an auxiliary storage device 8, and stores data temporarily or Z and permanently.
  • Each means included in the message authentication device 30 of the present embodiment shown in FIG. 9 stores a program necessary for message authentication in a computer disk (auxiliary storage device 8 shown in FIG. 3). Can be realized by operating it on the CPU (processing device 2 shown in Fig. 3).
  • the input unit 300 and the padding unit 301 shown in FIG. 9 are the same as the units of the message authentication device 10 of the first embodiment.
  • the adjustment value-added encryption means 303 is the same as the adjustment value-added encryption means 203 of the message authentication device 20 of the second embodiment.
  • the processing of the modified tree chain hash unit 302 is obtained by replacing a part of the processing in the alternating chain unit 102 of the first embodiment with the modified tree hash unit 202 of the second embodiment. First, an integer t greater than 1 is determined. Let t hash keys (R, R,..., R) be used.
  • Y is obtained by encrypting the first block with the block cipher E for the output of the padding means 301. Input the next 2 '(t + 1) blocks and select (R, R,..., R, Y)
  • a modified tree hash that uses (R, R,..., R, Y) as a noisy key
  • the output of the last modified tree hash becomes the output of the modified tree chain hash means 302. However, if the input to the last modified tree hash is shorter than the 2 '(t + 1) block, the output follows: Assuming that the above process is repeated s times, the hash key is (R, R,..., R, Y).
  • is used in the process of compressing to 1 block.
  • the modified tree hash is s in equation (1).
  • ⁇ , f must have a small average maximum difference probability and average maximum self-difference probability.
  • E (L + 0), E (L + 1),..., E (L + t ⁇ l) may be R,. .
  • the modified tree chain hash means 302 outputs the modified tree chain
  • the adjustment value-added encryption means 303 is the same as the adjustment value-added encryption means 203 of the second embodiment.
  • the output unit 304 is the same as the output unit 104 of the first embodiment.
  • FIG. 10 shows an operation example of the message authentication device 30 for a message having a certain length. Assuming that the message length is an integral multiple of the block length, the input means 300, the padding means 301, and the output means 304 are omitted.
  • E, f, g,... G are the same as those in FIGS.
  • FIG. 11 is a flowchart for explaining the operation of the message authentication device 30 of the present exemplary embodiment.
  • the process proceeds to step 301, and if it has not been generated, a hash key and an adjustment value are generated (step 302).
  • a message is input (step 303), and padding is executed (step 304).
  • the modified tree chain hash means 302 is executed for the nominated message (step 3 05), and the adjusted value-added encryption key ⁇ is applied to the output of the modified tree chain hash means 302 to form a tag (step 306). ). Finally, the tag and message are concatenated and output (step 307).
  • the first effect is the authentication mode of block cipher such as CBC-MAC. It is a high-speed process. The reason is the ability to extract a part of processing such as a block cipher stage function and use it for message processing. Except for a small amount of pre-processing time, it can be executed at any message length with less processing amount than CBC-MAC processing! When the message is one block, the power is almost the same as CBC-MAC. This is clearly an indispensable process.
  • the speed is about 1.3 to 2.5 times faster than the AES CBC-MAC, the degree of speed depends on the embodiment, and which embodiment is desirable depends on the dynamic It depends on the amount of memory and the allowable preprocessing time.
  • the second effect is that the program size is almost the same as the authentication mode for block ciphers such as CBC-MAC.
  • the reason is that only the block cipher and a part of it are used.
  • the only other necessary operation is a very simple function such as exclusive OR.
  • the third effect is that when the present invention is applied to a known block cipher, it has a theoretical security equivalent to that of an authentication mode of a block cipher such as CB C MAC. It can be done.
  • the reason for this is that if a part of the block cipher used in the present invention has theoretical security against differential attacks, that is, if the average maximum differential probability is sufficiently small, the present invention describes the theoretical security described in Non-Patent Document 1. This is because it is a secure authentication method.
  • the fact that several iterations of the block cipher stage function have a small average maximum difference probability is an essential condition for a block cipher with sufficient security.
  • the four-stage AES has a sufficiently small average maximum differential probability ⁇ S. Park, SH Sung, b. Lee, and J. Lim, Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003 ”.
  • an average maximum self-difference probability that is obtained only by the average maximum difference probability. It is a condition. In fact, in many block ciphers including AES, it can be shown that the stage function takes the theoretically smallest average maximum self-difference probability regardless of the number of iterations.
  • the present invention can be applied to uses such as preventing falsification in wireless or wired data communication, and uses such as preventing falsification of data on storage.
  • FIG. 1 is a block diagram showing an OMAC.
  • FIG. 2 is a block diagram showing a configuration of a message authentication device in the first exemplary embodiment.
  • FIG. 3 is a block diagram showing a configuration of a general computer.
  • FIG. 4 is a diagram showing an operation example with m block input in the message authentication device of the first exemplary embodiment.
  • FIG. 5 is a flowchart for explaining the operation of the message authentication device of the first exemplary embodiment.
  • FIG. 6 is a block diagram showing a configuration of a message authentication device in a second exemplary embodiment.
  • FIG. 7 is a diagram showing an operation example for a message of a certain length in the message authentication device of the second exemplary embodiment.
  • FIG. 8 is a flowchart for explaining the operation of the message authentication device of the second exemplary embodiment.
  • FIG. 9 is a block diagram showing a configuration of a message authentication device in a third exemplary embodiment.
  • FIG. 10 is a diagram showing an operation example for a message of a certain length in the message authentication device of the third exemplary embodiment.
  • FIG. 11 is a flowchart for explaining the operation of the message authentication device of the third exemplary embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

 ブロック暗号とその一部の部品を組合せて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用メモリ量の点で効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体を提供する。  メッセージを入力する入力手段100、メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段101、パディング済みメッセージをブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返し、1ブロックのハッシュ値を出力する修正木ハッシュ手段102、ハッシュ値を暗号化してタグとする調整値付暗号化手段103、及び、タグとメッセージとを連結して出力する出力手段104を備えたメッセージ認証装置とする。

Description

明 細 書
メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとそ の記録媒体
技術分野
[0001] 本発明は、ブロック暗号と、ブロック暗号の一部の処理との組合せにより構築された
、汎用的で高速な、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログ ラムとその記録媒体に関する。
背景技術
[0002] メッセージ認証とは、メッセージに対して秘密鍵を知るものだけが計算できるタグを 付与することであり、メッセージが正当であることを保証する技術である。例えば、メッ セージ認証を用いれば、秘密鍵を共有した 2者の通信において、通信の間に行われ た、第 3者による改ざんを検知することが可能となる。
[0003] 具体的には、送信者カ^ツセージとタグを受信者に送ったとき、受信者側では受け 取ったメッセージ力もタグを計算し、受信したタグとの一致をみることで、メッセージが 正当な送信者力も送られたものかどうかを判断することができる。なお、通常のメッセ ージ認証方式ではタグの生成方法さえ決まれば受信者側の認証方法は一意に定ま るため、タグの生成方法だけを記述すれば十分である。
[0004] メッセージ認証の方法として、ブロック暗号を用いた方式が数多く知られて 、る。こ れらはブロック暗号のメッセージ認証モードとも呼ばれ、古典的な CBC— MACモー ドをはじめとして、 CBC— MACを改良した EMAC、 XCBC、 OMACなどが知られ て 、る。 CBC— MACは可変長ブロックメッセージを受け入れた場合には安全でなく 、また、メッセージがブロック長の倍数でない場合の処理が定められていないという欠 点が知られている。
[0005] また、 EMAC、 XCBC、 OMACなどの改良されたモードは、 CBC— MACとほぼ 同等の処理量であり、任意の長さ(ビット)のメッセージについて安全である。 CBC- MACを含めたこれらのモードにっ 、ては、例えば非特許文献 1に記載されて 、る。
[0006] ここで、例として、 OMACのブロック図を図 1に示す。図 1に示すように、これらのモ ードはシンプルである力 タグの生成にぉ 、ておよそメッセージのブロック数だけブロ ック暗号を動作させる必要がある。そのため、その速度は常にブロック暗号の速度を 超えることはない。
[0007] 一方、ブロック暗号だけを用いるのではなぐユニバーサルハッシュ関数と呼ばれる 鍵つきの関数を組み合わせてメッセージ認証を実現する方法もよく知られて 、る。こ れはユニバーサルハッシュ関数の提案者の名前を取って、 Carter—Wegman認証 方式とも呼ばれる。実装環境に応じて最適化されたユニバーサルハッシュ関数は現 在よく使われるブロック暗号よりも数倍高速に動作することが報告されて ヽる。このよう なユニバーサルハッシュ関数は、例えば非特許文献 2に記載されて 、る。
[0008] また、小さな入出力幅のユニバーサルハッシュ関数を用いて、入力幅を任意に拡 大する(出力幅はそのまま)方法力 ^、くつか知られている。その一つの方式が非特許 文献 3に記載されている修正木ハッシュである。この修正木ハッシュを、 2ブロック入 力、 1ブロック出力のユニバーサルハッシュ関数 Hを用 、る場合で以下に説明する。 入力 Xが mブロック(X= (XI、 Χ2· · ·Χπι))であるとし、 Hi (但し、 i=l、 2· · をそれ ぞれ独立な鍵を用いる Ηの実現とする。 Ηによる修正木ハッシュを ΜΤΗとすると、以 下に示す式(1)で表される。
[0009] MT =G[H](G[H ](·· 'G[H ] (X) ···))···式(1)
H(X) S S-l 1
入力が偶数ブロック数の場合:
G[H](X)=H(X, X) ||H(X, X) ··· ||Η(Χ , X )
i i 1 2 i 3 4 II i m-1 m
入力が奇数ブロック数の場合:
G[H](X)=H(X, X) ||H(X, X)
i 1 2 i 3 4 II ··· ||Η(Χ , Χ ) || X
i i m-2 m-1 m
但し、 s=log(m) (対数の底は 2)以上の最小の整数
[0010] MTは、ブロック長の整数倍の長さの任意のメッセージを受け入れ、その出力は常
H
に 1ブロックの長さになる。
式(1)が示すように、 mブロック平文を処理するのに修正木ハッシュは高々 log (m) +1個の Hの鍵を用意すればよい。非特許文献 3では、修正木ハッシュを非特許文 献 2に記載の MMHハッシュを用いて実現して 、る。
[0011] Carter—Wegman認証方式では、タグ生成の速度はユニバーサルハッシュ関数 の速度にほぼ一致するため、一般的に CBC— MACなどのブロック暗号のみの認証 モードよりも高速である。しかし、どのような計算機環境でも実装可能で、かつ高速で あるユニバーサルハッシュ関数は知られていないため、ユニバーサルハッシュ関数が 高速に実装可能な環境でないと使用できないことと、二つの部品を実装するためプロ グラムのサイズが一般に大きくなることが問題となる。
[0012] これらの問題を解決する一つのアプローチ力 ブロック暗号とその部品とを組み合 わせることである。非特許文献 4において、そのような組合せによるメッセージ認証方 式が提案されている。これはブロック暗号の一部の段関数を CBC— MACのように反 復処理させることで、ブロック暗号の速度よりも高速なタグ生成処理を実現して 、る。
[0013] しかし、この方式には非特許文献 1に記載のブロック暗号認証モードや、ュ-バー サルハッシュ関数とブロック暗号を組み合わせる方式が持つ理論的な安全性の保証 力 Sないという大きな欠点がある。ここでの理論的安全性とは、認証方式の安全性が常 にブロック暗号そのものの安全性に帰着できると!、う性質を指す。詳 、定義などは 非特許文献 1に記載されている。理論的安全性を持たない認証方式の場合、使用し ているブロック暗号がどんなに強いものであろうとタグの偽造が容易にできてしまう可 能性がある。
[0014] また、特許文献 1には、メッセージ認証にぉ 、て、 XCBCにおける安全性を損なうこ となく処理コストを削減する技術が開示されている。本技術は、デジタルデータのデ ータ長がブロック長の倍数である場合は、最終ブロックに鍵 K1及び別の鍵 K2の ヽ ずれか一方の鍵と排他的論理輪をとつて暗号ィ匕を行 、、デジタルデータのデータ長 がブロック長の倍数でない場合は、最終ブロックの末尾に 1を付カ卩し、さらにブロック 長に収まるよう 0を付カ卩したデータを上記鍵 K1及び別の鍵 K2のいずれか一方の鍵 とは異なる別の鍵 K2及び鍵 K1のいずれか一方の鍵との排他的論理和をとつて暗号 化を行うものである。
特許文献 1:特開 2003 - 333036号公報
非特許文献 1:岩田 哲、ブロック暗号利用モードの安全性に関する調査、独立行政 法人情報処理推進機構 (IPA)暗号技術関連の調査報告、 2003年
特許文献 2 : S. Halevi and H. Krawczyk, MMH: Software Message Authentication i n the Gbit/second rates, Fast Software Encryption, 4th International Workshop, FS E '97, Lecture Notes in Computer Science; Vol. 1267, Feb. 1997
非特言午文献 3 : Martin Boesgaard, Ove Scavenius, Thomas Pedersen, Thomas Christe nsen, Erik Zenner, Badger - A Fast and Provably Secure MAC, Applied Cryptograp hy and Network Security (ACNS) 2005
非特許文献 4 :J. Daemen and V. Rijmen, A New MAC Construction ALRED and a S pecific Instance ALPHA-MAC Fast Software Encryption, International Workshop, FSE 2005, Lecture Notes in Computer science; Vol. 3557, Feb. 2005
発明の開示
発明が解決しょうとする課題
[0015] し力し、 CBC— MACなどの現在知られている安全なブロック暗号の認証モードで は、すべての入力されたメッセージの各ブロック毎にブロック暗号を適用するため、ブ ロック暗号そのものの速度を超えた速度は達成できないという問題点があった。
[0016] また、あらゆる環境で高速に動作するユニバーサルハッシュ関数は知られていない ということ、及び、ブロック暗号とユニバーサルハッシュ関数の両方を実装するために プログラムサイズが大きくなるという理由から、ブロック暗号モードよりも高速な Carter Wegman認証は、実装できる環境が限定されるという問題があった。
[0017] 本発明は、上記のような問題点に鑑み、ブロック暗号とその一部の部品を組み合わ せて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理 や使用するメモリ量の点でも効率のよい、メッセージ認証装置、メッセージ認証方法、 メッセージ認証プログラムとその記録媒体を提供することを目的とする。
課題を解決するための手段
[0018] 請求項 1に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパ デイングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして 出力するパディング手段と、前記パディング済みメッセージを、ブロック暗号の部品を 基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返 すことで、 1ブロックのハッシュ値を出力する修正木ハッシュ手段と、前記ハッシュ値を 暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセージとを連結し て出力する出力手段とを備えたメッセージ認証装置としたことを特徴とする。
[0019] 請求項 2に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパ デイングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして 出力するパディング手段と、ブロック暗号と該ブロック暗号の一部分力 導出される置 換処理とを、前記パディング済みメッセージを 1ブロックずつ足しながら連鎖させて 1 ブロックのハッシュ値へ圧縮する交替型連鎖手段と、前記ハッシュ値を暗号化してタ グとする調整値付暗号化手段と、前記タグと前記メッセージとを連結して出力する出 力手段とを備えたメッセージ認証装置としたことを特徴とする。
[0020] 請求項 3に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパ デイングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして 出力するパディング手段と、前記パディング済みメッセージを、請求項 2記載の交替 型連鎖手段の一部の処理を請求項 1記載の修正木ハッシュ手段で置き換えた構造 により圧縮して 1ブロック分のハッシュ値を出力する修正木連鎖ハッシュ手段と、前記 ハッシュ値を暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセ一 ジとを連結して出力する出力手段とを備えたメッセージ認証装置としたことを特徴とす る。
[0021] 請求項 4に記載の発明は、前記修正木ハッシュ手段が、 AESの段関数の 4回以上 の繰り返しを用いて構成され、前記調整値付暗号化手段が、 AESを用いて構成され る請求項 1記載のメッセージ認証装置としたことを特徴とする。
[0022] 請求項 5に記載の発明は、前記交替型連鎖手段が、 AESと AESの段関数の 4回 以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、 AESを用 いて構成される請求項 2記載のメッセージ認証装置としたことを特徴とする。
[0023] 請求項 6に記載の発明は、前記修正木連鎖ハッシュ手段が、 AESと AESの段関数 の 4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、 AE Sを用いて構成される請求項 3記載のメッセージ認証装置としたことを特徴とする。
[0024] 請求項 7に記載の発明は、ブロック暗号と、該ブロック暗号の段関数を利用した置 換処理とを用いる請求項 1から 3のいずれ力 1項に記載のメッセージ認証装置とした ことを特徴とする。 [0025] 請求項 8に記載の発明は、入力手段が、メッセージを入力する第 1のステップと、パ デイング手段力 前記入力されたメッセージをパデイングしてその長さを常にブロック 長の定数にしてパディング済みメッセージとして出力する第 2のステップと、修正木ハ ッシュ手段が、前記出力されたパディング済みメッセージを、ブロック暗号の部品を基 に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すこ とで、 1ブロックのノ、ッシュ値を出力する第 3のステップと、調整値付暗号化手段が、 前記出力されたハッシュ値を暗号ィ匕してタグとする第 4のステップと、出力手段が、前 記暗号ィ匕されたタグと前記メッセージとを連結して出力する第 5のステップとを有する メッセージ認証方法としたことを特徴とする。
[0026] 請求項 9に記載の発明は、入力手段が、メッセージを入力する第 1のステップと、パ デイング手段力 前記入力されたメッセージをパデイングしてその長さを常にブロック 長の定数にしてパディング済みメッセージとして出力する第 2のステップと、交替型連 鎖手段が、ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前 記出力されたパディング済みメッセージを 1ブロックずつ足しながら連鎖させて 1プロ ックのノ、ッシュ値へ圧縮する第 3のステップと、調整値付暗号化手段が、前記ハツシ ュ値を暗号ィ匕してタグとする第 4のステップと、出力手段が、前記暗号化されたタグと 前記メッセージとを連結して出力する第 5のステップとを有するメッセージ認証方法と したことを特徴とする。
[0027] 請求項 10に記載の発明は、入力手段が、メッセージを入力する第 1のステップと、 パディング手段が、前記入力されたメッセージをパデイングしてその長さを常にブロッ ク長の定数にしてパディング済みメッセージとして出力する第 2のステップと、修正木 連鎖ハッシュ手段が、前記出力されたパディング済みメッセージを、請求項 2記載の 交替型連鎖手段の一部の処理を請求項 1記載の修正木ハッシュ手段で置き換えた 構造により圧縮して 1ブロック分のハッシュ値を出力する第 3のステップと、調整値付 暗号化手段が、前記ハッシュ値を暗号化してタグとする第 4のステップと、出力手段 力 前記暗号ィ匕されたタグと前記メッセージとを連結して出力する第 5のステップとを 有するメッセージ認証方法としたことを特徴とする。
[0028] 請求項 11に記載の発明は、前記修正木ハッシュ手段が、 AESの段関数の 4回以 上の繰り返しを用いて構成され、前記調整値付暗号化手段が、 AESを用いて構成さ れる請求項 8記載のメッセージ認証方法としたことを特徴とする。
[0029] 請求項 12に記載の発明は、前記交替型連鎖手段が、 AESと AESの段関数の 4回 以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、 AESを用 いて構成される請求項 9記載のメッセージ認証方法としたことを特徴とする。
[0030] 請求項 13に記載の発明は、前記修正木連鎖ハッシュ手段が、 AESと AESの段関 数の 4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、 AESを用いて構成される請求項 10記載のメッセージ認証方法としたことを特徴とす る。
[0031] 請求項 14に記載の発明は、ブロック暗号と、該ブロック暗号の段関数を利用した置 換処理とを用いる請求項 8から 10のいずれか 1項に記載のメッセージ認証方法とした ことを特徴とする。
[0032] 請求項 15に記載の発明は、請求項 8から 10のいずれか 1項に記載のメッセージ認 証方法を、コンピュータに実行させるためのメッセージ認証プログラムとしたことを特 徴とする。
[0033] 請求項 16に記載の発明は、請求項 15記載のメッセージ認証プログラムを記録した 記録媒体としたことを特徴とする。
発明の効果
[0034] 本発明によれば、ブロック暗号とその一部の部品を組み合わせて、既存のブロック 暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用するメモリ量の 点でも効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログ ラムとその記録媒体を実現することができる。
発明を実施するための最良の形態
[0035] 本発明を実施するための最良の形態は、メッセージを入力する入力手段と、メッセ ージをパデイングしてその長さを常にブロック長の定数にしてパディング済みメッセ一 ジとして出力するパディング手段と、パディング済みメッセージをブロック暗号の部品 を基に作った小さい入出力幅のノ、ッシュ関数をメッセージ分だけ並べた処理を繰り 返すことで、 1ブロックのハッシュ値を出力する修正木ハッシュ手段と、ハッシュ値を喑 号化してタグとする調整値付暗号化手段と、タグとメッセージとを連結して出力する出 力手段とを備えたメッセージ認証装置とする。
[0036] 以下に、本発明の好適な実施形態を添付図面に基づいて詳細に説明する。尚、以 下に述べる実施形態は本発明の好適な具体例であるから、技術的に好ま 、種々 の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限 定する旨の記載がない限り、これらの実施形態に限られるものではない。
[0037] (実施形態 1)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能にっ ヽて添付図 面を用いて以下に説明する。図 2は、本実施形態のメッセージ認証装置の構成を示 すブロック図である。図 2に示すように、本実施形態のメッセージ認証装置 10は、入 力手段 100、パディング手段 101、修正木ハッシュ手段 102、調整値付暗号化手段 103、及び、出力手段 104を備えている。なお、本実施形態のメッセージ認証装置 1 0は、コンピュータが一般的に備えている、 CPU (処理装置)、メモリ(主記憶装置)、 及び、ディスク (補助記憶装置)等を用いることにより実現することが可能である。
[0038] 図 3は、一般的なコンピュータの構成を示したブロック図である。図 3に示すように、 一般的なコンピュータは、キーボード、マウス等の入力装置 1、処理装置(CPU) 2、 記憶装置 3、ディスプレイやプリンタ等の出力装置 4を備えている。処理装置 (CPU) 2は、制御装置 5、演算装置 6を備えており、計算などの処理を行う中心となる部分で ある。記憶装置 3は、主記憶装置 7 (メインメモリ)、補助記憶装置 8を備えており、デ ータを一時的又は Z及び永久的に記憶する。
[0039] 図 2に示す本実施形態のメッセージ認証装置 10の備える各手段は、メッセージ認 証に必要なプログラムをコンピュータのディスク(図 3に示す補助記憶装置 8)に格納 しておき、このプログラムを CPU (図 3に示す処理装置 2)上で動作させることにより実 現することができる。図 2に示す入力手段 100は、タグを付与する対象となる平文 (メ ッセージ)を入力する手段である。これは例えばキーボードなどの文字入力装置(図 3 に示す入力装置 1)により実現される。
[0040] パディング手段 101は、メッセージ長を常にブロックの倍数に変換する手段である。
ブロック長は用いるブロック暗号の入力幅によって決まる。もし 1ブロックが nビットで、 平文長を nで割った余りが(n— t)の場合、最初が 1で残りがすべて 0の tビットを平文 に付加することで長さをブロックの倍数にする。既にブロックの倍数である平文につい ては何も処理しない。
[0041] この方式に限らず、パデイングの仕方は、メッセージ長がブロック長の倍数でな!、、 異なる長さのメッセージ同士でパデイングした結果が常に異なり、メッセージ長がプロ ック長の倍数であるメッセージにつ ヽては何もしな ヽと 、う条件さえ守られるならばど のようなパディング方法でもよい。パディング手段 101は、パディングされたメッセージ と、パディング手段 101においてパデイングが行われたかどうか、すなわち元のメッセ ージ長が nの倍数だったかどうかを示すインジケータを d (1ならば nの倍数、 2ならば そうでない)として出力する。
[0042] 修正木ハッシュ手段 102は、パディング手段 101が出力するパディングされたメッセ ージを、ブロック暗号の部品を基に作った小さ!/、入出力幅のハッシュ関数をメッセ一 ジ分だけ並べた処理を繰り返すことで 1ブロックに圧縮する手段である。 1ブロックを n ビットとし、 nビットブロック暗号を Eとする。また、 nビットの決定的置換を fとする。
[0043] 修正木ハッシュ手段 102の処理は、以下に示す式(2)から成り立つている。この処 理は 2nビット入力、 nビット出力の鍵付き関数である。鍵はブロック暗号 Eの鍵である
X= (X , X )について、 D (X) =X +f (E (i) +X ) · · '式(2)
1 2 i 2 1
但し、 i= 2 n)— 1以下の非負整数、式 (2)において加算はビット毎の排他的論理 和を表す。
[0044] ここで、式(2)で示される nビット関数 fの最大差分確率 DP (f)につ 、て説明する。 n ビット関数 fの最大差分確率 DP (f)とは、 aは 0以外の nビット値、 bは任意の nビット値 としたときの Pr (f (X) -f (X+a) =b)の最小値を指す。ただし、確率は Xを一様にラ ンダムな nビット値としたもとで計算される。また、加算も減算も排他的論理和を表す。
[0045] 式(2)で示される nビット関数 fは、上記最大差分確率 DP (f)が十分小さい、つまり 2 — n)に十分近いことが要求される。 nビット置換の場合、最大差分確率は、理論的 に 2 ー n+ 1)まで小さくできることが知られている力 nが大きい場合に最大差分確 率が十分小さ 、置換を作ることは現実には容易ではな 、。 [0046] し力し、決定的置換のかわりに鍵つきの置換 ( 、くつかの置換の集合力 ランダムな 鍵がひとつの置換を指定する。)を用いることも可能である。このときは、以下に説明 する平均最大差分確率 EDP (f )が小さいことが求められる。
Κρ
[0047] ηビット鍵付き関数 f (ただし Kが鍵を表す。)の平均最大差分確率 EDP (f )とは
Kp Ρ Κρ
、 aは 0以外の ηビット値、 bは任意の ηビット値としたときの Pr (f (X)— f (X+a) =b
Kp Kp
)の最小値を指す。ただし、確率は Xを一様にランダムな nビット値とし、さらに鍵をラン ダムとしたもとで計算される。また、加算も減算も排他的論理和を表す。
[0048] ブロック暗号を差分攻撃から守るときには、ブロック暗号の上記平均最大差分確率 力 S小さ 、ことが必要であるため、平均最大差分確率の小さ 、鍵付き置換はブロック暗 号の部品となっていることが多い。例えばブロック暗号 AESの場合については 4段の 段関数が平均最大差分確率の小さい鍵付き置換となることが「S. Park, S. H. Sung, S . Lee, and J. Lim, Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Worksho p, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載さ れている。
[0049] 修正木ハッシュ手段 102は、非特許文献 3の修正木ハッシュを式 (2)に示す D;を用 いて実行することが可能である。すなわち、式(1)に従い、 mブロック入力 X= (X , X
1
• · ·Χ )について、 MT =G[D ] (G[D— 1] ( · · -G[D ] (X) · · ·) ) (但し、 s = log
2 m D(X) S S 1
(m) (対数の底は 2)以上の最小の整数)を求め、 1ブロックの MT を出力する。この
D(X)
MT を修正木ハッシュ値と呼ぶ。
D(X)
[0050] Ε (1)、Ε (2)、 · ' ·、Ε (5)は、 MT を求めるのに用いられ、ハッシュ鍵と呼ばれる。
D(X)
Kを鍵とした鍵付き置換 f を fの代わりとして用いる場合、式(2)において各 D、 D、
P Kp 1 2
• · ·の鍵 Kはそれぞれ同一である力 もしくはそれぞれ異なる独立な値であるかのい
P
ずれでもよいが、ランダムに生成されている必要がある。鍵 Kはブロック暗号 Eの鍵と
P
合わせてメッセージ認証装置の秘密鍵とする力、もしくは、ノ、ッシュ鍵が E (l)、 E (2) ゝ…、 E (s)である場合に、 E (s+ 1)、 E (s + 1)…を必要なだけ連結して Kとしても
P
よい。
[0051] 各 D、 D、 · · 'では、ハッシュ鍵 Ε (1)、 Ε (2)、 · · ·を必要とするが、これはあらかじ め生成しておいてもよい。非特許文献 3においては、異なる長さのメッセージ間での ノ、ッシュ値の衝突を防ぐために、修正木ハッシュ値に長さ情報を付加することが提案 されているが、長さ情報を付加しなくとも、異なる長さの入力間での衝突確率は小さ いため、非特許文献 3に記載の修正木ハッシュを利用して、修正木ハッシュ手段 102 を実現する場合、長さ情報を付加しなくてよい。
[0052] また、修正木ハッシュを変形して用いることも可能である。例えば、式(1)を変形した 、以下に示す式(3)を用いることができる。
MT =G[H](G[H ]('"G[H](X) ···))···式(3)
H(X) S S-l 1
入力が偶数ブロック数の場合:
G[H ] (X) =H (X , X )
1 i 1 2 II H (X , X )
i 3 4 II · · · II H (X , X )
i m-1 m
入力が奇数ブロック数の場合:
G[H ] (X) =H (X , X ) II H (X , x ) II · · · II Η (X , X ) || Η (X , 000· ·0)
1 i 1 2 i 3 4 i m-2 m-1 i m 但し、 s=log(m) (対数の底は 2)以上の最小の整数、 000· ·0は全てゼロの系列 [0053] これは非特許文献 3に記載されている、基本的な木ハッシュの構成である。ただし、 この木ハッシュを用いる場合は、異なる長さのメッセージ間でのハッシュ値の衝突を 防ぐため、もとのメッセージの長さ情報を最後に連結して、出力としなければならない
[0054] 調整値付暗号化手段 103は、修正木ハッシュ手段 102の出力である修正木ハツシ ュ値を暗号ィ匕する手段である。暗号ィ匕は、以下に示す式 (4)にしたがって行われる。 ΤΒ[Ε] (X, d)=E((L*u)+Y)'.'式(4)
d
nビッ卜の uと uを、互!ヽに異なる、 1力 0でな!/ヽ任意の定数とする。
1 2
任意の nビット値 a, bについて a*bを有限体 GF(2' (n))上の積とする。
ブロック暗号 Eについて、 L=E(0)とする(但し、 d=lもしくは 2)。
[0055] 調整値付暗号ィ匕手段 103は、修正木ハッシュ手段 102の出力を Yとすると、 TB[E ] (Y, d)を出力する。ここで dは、パディング手段 101が出力するパデイングの有無、 すなわちメッセージ長が nの倍数だつたかを示すインジケータである。 dが 1ならばメッ セージ長が nの倍数、 2ならばそうでないとする。 L=E(0)、もしくは L*uと L*uは
1 2 事前に計算してメモリに保持してぉ 、てもよ 、。 [0056] インジケータ dにより暗号化の処理内容が変わることから、 L * uと L * uのことを調
1 2 整値と呼ぶ。有限体上の積 *は、 Uと Uが定数であるため、ビットシフトと条件付の定
1 2
数との排他的論理和という、ごく簡単な演算で実行できる。例えば、 u = 2、と u =4と
1 2 した場合の計算が、「Tetsu Iwata, Kaoru Kurosawa, OMAC: One-Key CBC MAC, F ast Software Encryption, International Workshop, FSE 2003, Lecture Notes in Com puter Science; Vol. 2887, Feb. 2003」に記載されている。
[0057] 出力手段 104は、調整値付暗号ィ匕手段 103が出力したされた暗号文をタグとし、 入力手段 100に入力されたメッセージと連結してコンピュータディスプレイやプリンタ などへ出力する手段である。例として、 mブロック入力でのメッセージ認証装置 10の 動作例を図 4示す。図 4は、メッセージがちょうど mブロック分の長さだったとし、入力 手段 100、パディング手段 101、及び、出力手段 104は省略してある。図 1おいて、 E はブロック暗号、 fはある決定的置換もしくは鍵つき置換である。鍵が Kでメッセージ が Xの時の暗号化を E とすれば、ハッシュ鍵は E , E , · · · , E に相当する。
K(X) K(l) K(2) K(d)
[0058] 次に、本実施形態のメッセージ認証装置 10の動作について図 5を用いて以下に詳 細に説明する。図 5は、本実施形態のメッセージ認証装置 10の動作について説明す るためのフローチャートである。図 5に示すように、まず、修正木ハッシュ手段 102と調 整値付暗号ィ匕手段 103が用いるハッシュ鍵と調整値をあら力じめ生成されているか を調べる(ステップ 101)。もしすでに生成されているのであればステップ 103へ進み 、まだであればハッシュ鍵と調整値を生成する (ステップ 102)。
[0059] 次にメッセージを入力し (ステップ 103)、パディングを実行する(ステップ 104)。ノ デイングされたメッセージに対して修正木ハッシュを実行し (ステップ 105)、修正木ハ ッシュの出力に対して調整値付暗号化を適用してタグとする (ステップ 106)。最後に タグとメッセージを連結し、出力する (ステップ 107)。
[0060] (実施形態 2)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能にっ ヽて添付図 面を用いて以下に説明する。図 6は、本実施形態のメッセージ認証装置の構成を示 すブロック図である。図 6に示すように、本実施形態のメッセージ認証装置 20は、入 力手段 200、パディング手段 201、交替型連鎖手段 202、調整値付暗号化手段 203 、及び、出力手段 204を備えている。なお、本実施形態のメッセージ認証装置 20は、 コンピュータが一般的に備えている、 CPU (処理装置)、メモリ(主記憶装置)、及び、 ディスク (補助記憶装置)等を用いることにより実現することが可能である。
[0061] 図 3は、一般的なコンピュータの構成を示したブロック図である。図 3に示すように、 一般的なコンピュータは、キーボード、マウス等の入力装置 1、処理装置(CPU) 2、 記憶装置 3、ディスプレイやプリンタ等の出力装置 4を備えている。処理装置 (CPU) 2は、制御装置 5、演算装置 6を備えており、計算などの処理を行う中心となる部分で ある。記憶装置 3は、主記憶装置 7 (メインメモリ)、補助記憶装置 8を備えており、デ ータを一時的又は Z及び永久的に記憶する。
[0062] 図 6に示す本実施形態のメッセージ認証装置 20の備える各手段は、メッセージ認 証に必要なプログラムをコンピュータのディスク(図 3に示す補助記憶装置 8)に格納 しておき、このプログラムを CPU (図 3に示す処理装置 2)上で動作させることにより実 現することができる。図 6に示す入力手段 200は、タグを付与する対象となる平文 (メ ッセージ)を入力する手段である。これは例えばキーボードなどの文字入力装置(図 3 に示す入力装置 1)により実現される。
[0063] パディング手段 201は、メッセージ長を常にブロックの倍数に変換する手段である。
ブロック長は用いるブロック暗号の入力幅によって決まる。もし 1ブロックが nビットで、 平文長を nで割った余りが(n— t)の場合、最初が 1で残りがすべて 0の tビットを平文 に付加することで長さをブロックの倍数にする。既にブロックの倍数である平文につい ては何も処理しない。
[0064] この方式に限らず、パデイングの仕方は、メッセージ長がブロック長の倍数でな!、、 異なる長さのメッセージ同士でパデイングした結果が常に異なり、メッセージ長がプロ ック長の倍数であるメッセージにつ ヽては何もしな ヽと 、う条件さえ守られるならばど のようなパディング方法でもよい。パディング手段 201は、パディングされたメッセージ と、パディング手段 201においてパデイングが行われたかどうか、すなわち元のメッセ ージ長が nの倍数だったかどうかを示すインジケータを d (1ならば nの倍数、 2ならば そうでない)として出力する。
[0065] 交替型連鎖手段 202は、 nビットブロック暗号 Eと、 Eの一部分力 導出される nビット 置換 fとを、メッセージを一ブロックずつ足しながら連鎖させてパディング手段 201の 出力を 1ブロックへ圧縮する手段である。交替型連鎖手段 202の処理は、以下に示 す式(5)から成り立つている。 tをある非負の整数として、この処理は n(t+3)ビット入 力、 nビット出力の鍵付き関数である。鍵はブロック暗号 Eの鍵と補助鍵 KAux , KA
1 ux , · · ·, KAuxである。 tが 0であっても、つまり補助鍵がなしでもよい。
2 t
[0066] <処理 ACBC>
ACBC(X) = (S )+X ···式(5)
t+1 t+3
X=(X, X, ···, X )について、 S =f(E(X)+X)
1 2 t+3 1 1 2
l<i<t+2について、 S=f((S ) + (KAux )+X )
i i-1 i-1 i+1
[0067] 交替型連鎖手段 202は、上記式(5)に記載の処理 ACBCを連鎖する。すなわち最 初の(t+3)入力ブロックを Xとすると、 Xへ ACBCを適用し式(5)に従い ACBC(X) を求め、 ACBC(X)と次の(t+ 2)入力ブロックとを連結して、再度 ACBCへ入力する 。この処理を繰り返し、最後の入力ブロックを足した時点でただちに停止し、その結果 を出力する。最後の入力ブロックに対応する補助鍵は足してもよいし、足さなくてもよ い。
[0068] 補助鍵はブロック暗号の鍵と独立な鍵でもよいが、後述の調整値付暗号化手段 20 3を用いた処理にしたがって生成してもよ 、。実施形態 1における修正木ハッシュ手 段 102の場合と同様、式(5)の ACBCで用いる 最大差分確率の小さい置換であ ることが必要である。さらに、以下に説明する nビット関数 fの最大自己差分確率 SDP (f)が小さいことも必要となる。
[0069] nビット関数 fの最大自己差分確率 SDP (f)とは、 aは任意の nビット値としたときの Pr
(X-f(X) =a)の最小値を指す。但し、確率は、 Xを一様にランダムな nビット値とした もとで計算される。また、加算も減算も排他的論理和を表す。
[0070] また、実施形態 1における修正木ハッシュ手段 102の場合と同様に、 ACBCにおい て、 Kを鍵とする鍵付きの置換 f を fの代わりに使うことが可能である。この場合、 Kp
Κρ
は一度設定した後はずつと変更しないか、もしくは t+1個、つまり補助鍵の数 +1個
、の独立でランダムな値を用意し、メッセージブロックを処理するたびに周期的に変 更させてもよい。但し、鍵付きの置換 f を用いる場合、 f の平均最大差分確率と、以 下に説明する平均最大自己差分確率 ESDP (f )の両方が小さいことが必要となる。
Κρ
[0071] ηビット鍵付き関数 f (但し、 Kが鍵を表す。 )の平均最大自己差分確率 ESDP (f
Kp ρ Κρ
)とは、 aは任意の ηビット値としたときの Pr (X— f (X) =a)の最小値を指す。但し、確
Kp
率は、 Xを一様にランダムな nビット値とし、さらに鍵 Kpをランダムとしたもとで計算さ れる。また、加算も減算も排他的論理和を表す。
[0072] ブロック暗号の段関数において、鍵を中間変数へ排他的論理和することは一般的 である。このような構造の場合、段関数の平均最大自己差分確率は最小となることが 容易に示せる。例えば、 AESの段関数では、何段であれ平均最大自己差分確率が 最小値 2" (- 128)となる。交替型連鎖手段 202の出力を交替型連鎖ハッシュ値と呼 ぶことにする。
[0073] 調整値付暗号ィ匕手段 203は、以下に示す処理 Aにした力^、、交替型連鎖ハッシュ 値を暗号ィ匕する。
<処理 A>
nビットの uと uを、互いに異なる、 1か 0でない任意の定数とする。任意の nビット値
1 2
a, bについて a * bを有限体 GF (2' (n) )上の積とする。ブロック暗号 Eについて、 Lを ブロック暗号の鍵と独立でランダムな nビット値とする。 Lはブロック暗号の鍵と合わせ てメッセージ認証装置の鍵となる。 d力^), 1, 2のどれかをとるとし、 TTB[E, L] (Y, d )を、 d = 0なら E (L+Y)と、 d= 1なら E ( (L * u ) + Y)と、 d= 2なら E ( (L * u ) + Y)
1 2 と、する。
[0074] 調整値付暗号ィ匕手段 203は、パディング手段 201が出力するパデイングの有無の インジケータを dとして、交替型連鎖手段 202の出力を TTB[E, L]に基づき暗号ィ匕 する。交替型連鎖手段 202の出力を Yとすれば、調整値付暗号化手段 202の出力 は、 dが 1なら E ( (L * u ) +Y)、 dが 2なら E ( (L * u ) + Y)である。 L * uと L * uのこ
1 2 1 2 とを調整値と呼ぶ。実施形態 1における調整値付暗号ィ匕手段 103同様、 uと uの値
1 2 をそれぞれ 2と 4とした場合の計算方法は、「Tetsu Iwata, Kaoru Kurosawa, OMAC: One-Key CBC MAC、 Fast Software Encryption, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載されている。
[0075] 交替型連鎖手段 202における補助鍵が t個ある場合、 E (L + 0) , E (L+ 1) , · · · , E (L + t- 1)を補助鍵 KAux , · · · , KAuxとしてもよ!/ヽ。また、上記処理 Aにおける
1 t
dの値による場合分けの処理は、任意に入れ替えてもよい。例えば、パデイングの有 無のインジケータが dで交替型連鎖手段 202の出力が Yのとき、 d= 1で E (L+Y)を 、 d=2-CE(L*u + Y)を出カとし、補助鍵がt個ぁる場合、E((L*u)+0), E((L
1 2
*u)+l), ···, E((L*u)+t— 1)を補助鍵としてもよい。
2 2
[0076] 出力手段 204は、実施形態 1におけるメッセージ認証装置 10の出力手段 104と同 様である。例として、ある長さのメッセージに対するメッセージ認証装置 20の動作例 を図 7に示す。メッセージ長がちょうどブロック長の整数倍だったとし、入力手段 200、 パディング手段 201、及び、出力手段 204は省略してある。補助鍵がない場合と 1個 の場合を例として記載している。図 7において Eはブロック暗号、 fはある決定的置換 もしくは鍵つき置換を示す。
[0077] 次に、本実施形態のメッセージ認証装置 20の動作について図 8を用いて以下に詳 細に説明する。図 8は、本実施形態のメッセージ認証装置 20の動作について説明す るためのフローチャートである。図 8に示すように、まず、交替型連鎖手段 202と調整 値付暗号ィ匕手段 203が用いる補助鍵と調整値をあらかじめ生成されているかを調べ る(ステップ 201)。もしすでに生成されているのであればステップ 203へ進み、まだで あれば補助鍵と調整値を生成する (ステップ 202)。
[0078] 次にメッセージを入力し (ステップ 203)、パディングを実行する(ステップ 204)。ノ デイングされたメッセージに対して交替型連鎖手段 202を実行し (ステップ 205)、交 替型連鎖手段 202の出力交替型連鎖ハッシュ値に対して調整値付暗号化を適用し てタグとする (ステップ 206)。最後にタグとメッセージを連結し、出力する (ステップ 20 7)。
[0079] (実施形態 3)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能にっ ヽて添付図 面を用いて以下に説明する。図 9は、本実施形態のメッセージ認証装置の構成を示 すブロック図である。図 9に示すように、本実施形態のメッセージ認証装置 30は、入 力手段 300、パディング手段 301、修正木連鎖ハッシュ手段 302、調整値付暗号ィ匕 手段 303、及び、出力手段 304を備えている。なお、本実施形態のメッセージ認証装 置 30は、コンピュータが一般的に備えている、 CPU (処理装置)、メモリ(主記憶装置 )、及び、ディスク (補助記憶装置)等を用いることにより実現することが可能である。
[0080] 図 3は、一般的なコンピュータの構成を示したブロック図である。図 3に示すように、 一般的なコンピュータは、キーボード、マウス等の入力装置 1、処理装置(CPU) 2、 記憶装置 3、ディスプレイやプリンタ等の出力装置 4を備えている。処理装置 (CPU) 2は、制御装置 5、演算装置 6を備えており、計算などの処理を行う中心となる部分で ある。記憶装置 3は、主記憶装置 7 (メインメモリ)、補助記憶装置 8を備えており、デ ータを一時的又は Z及び永久的に記憶する。
[0081] 図 9に示す本実施形態のメッセージ認証装置 30の備える各手段は、メッセージ認 証に必要なプログラムをコンピュータのディスク(図 3に示す補助記憶装置 8)に格納 しておき、このプログラムを CPU (図 3に示す処理装置 2)上で動作させることにより実 現することができる。図 9に示す入力手段 300及びパディング手段 301は、実施形態 1のメッセージ認証装置 10の各手段と同様である。調整値付暗号ィ匕手段 303は、実 施形態 2のメッセージ認証装置 20の調整値付暗号ィ匕手段 203と同様である。
[0082] 修正木連鎖ハッシュ手段 302の処理は、実施形態 1の交替型連鎖手段 102におけ る一部の処理を、実施形態 2の修正木ハッシュ手段 202で置き換えたものである。ま ず 1以上の整数 tを定める。 t個のハッシュ鍵 (R , R , . . . , R )を用いるものとする。
1 2 t
この場合、パディング手段 301の出力に対し、最初の 1ブロック目をブロック暗号 Eで 暗号化し Yを得る。次の 2' (t+ 1)ブロック分の入力を、(R , R , . . . , R , Y )をノヽ
0 1 2 t O ッシュ鍵とした修正木ハッシュを適用する。但し、 Yは、最後の 2ブロックを 1ブロック
0
へ圧縮する処理に用いられるものとする。
[0083] この修正木ハッシュの出力をブロック暗号で暗号化し、 Yを得る。次の 2" (t+ 1)ブ
1
ロック分の入力を、今度は(R , R , . . . , R , Y )をノヽッシュ鍵とした修正木ハッシュ
1 2 t 1
で圧縮する。この処理を繰り返す。最後の修正木ハッシュの出力が修正木連鎖ハツ シュ手段 302の出力となる。但し、最後の修正木ハッシュへの入力が 2' (t+ 1)ブロッ クより短い場合は、その出力は以下に従う。上記の処理を s回繰り返したとして、ハツ シュ鍵を (R , R , . . . , R , Y )とする。
1 2 t S
[0084] 最後の修正木ハッシュへの入力が 1ブロックのみの Xである場合、(Y ) +xを出力 する。 2ブロック以上の入力の場合、修正木ハッシュにおいて常に最後の 2ブロックを
1ブロックへ圧縮する処理で γを用いるものとする。つまり修正木ハッシュが式(1)の s
処理を繰り返して入力を短くしていき、 2ブロック (z , z )を得たとき、 f (z +Y ) +Zが
1 2 1 S 2 出力となる。
[0085] 修正木ハッシュをある決定的置換 fで実現する場合、 fは最大差分確率と最大自己 差分確率が小さいことが求められる。また、 Kpを鍵としたもし鍵付きの置換 f で実現
Κρ する場合には、 f は平均最大差分確率と平均最大自己差分確率が小さいことが求
Kp
められる。 t個のハッシュ鍵 (R , R , . . . , R )はブロック暗号 Eの鍵と独立でもよいし
1 2 t
、実施形態 2における補助鍵と同様に E (L + 0) , E (L+ 1) , . . . , E (L + t—l)をそ れぞれ R , . . . , Rとしてもよい。修正木連鎖ハッシュ手段 302の出力を修正木連鎖
1 t
ノ、ッシュ値と呼ぶことにする。
[0086] 調整値付暗号ィ匕手段 303は、実施形態 2の調整値付暗号ィ匕手段 203と同様である 。出力手段 304は、実施形態 1の出力手段 104と同様である。例として、ある長さのメ ッセージに対するメッセージ認証装置 30の動作例を図 10に示す。メッセージ長がち ようどブロック長の整数倍だったとし、入力手段 300、パディング手段 301、及び、出 力手段 304は省略してある。図 10において E, f, g , . . . g は、図 4及び図 7と同様
Rl Rt
である。
[0087] 次に、本実施形態のメッセージ認証装置 30の動作について図 11を用いて以下に 詳細に説明する。図 11は、本実施形態のメッセージ認証装置 30の動作について説 明するためのフローチャートである。図 11に示すように、まず、修正木連鎖ハッシュ手 段 302と調整値付暗号ィ匕手段 303が用いるノ、ッシュ鍵と調整値をあら力じめ生成さ れているかを調べる(ステップ 301)。もしすでに生成されているのであればステップ 3 01へ進み、まだであればハッシュ鍵と調整値を生成する (ステップ 302)。
[0088] 次にメッセージを入力し (ステップ 303)、パディングを実行する(ステップ 304)。 ノ デイングされたメッセージに対して修正木連鎖ハッシュ手段 302を実行し (ステップ 3 05)、修正木連鎖ハッシュ手段 302の出力に対して調整値付暗号ィ匕を適用してタグ とする (ステップ 306)。最後にタグとメッセージを連結し、出力する (ステップ 307)。
[0089] 本発明によれば、第 1の効果は、 CBC— MACなどのブロック暗号の認証モードよ りも高速処理なことである。その理由は、ブロック暗号の段関数など、一部分の処理を 取り出してメッセージの処理に用いる力もである。わずかな事前処理の時間を除けば 、任意のメッセージ長にお 、て CBC— MACの処理量よりも少な!/、処理量で実行可 能である。メッセージが 1ブロックのときは CBC— MACとほぼ同等となる力 これは明 らかに必要不可欠な処理である。
[0090] 例として「J. Daemen and V. Rijmen, AES Proposal: Rijndael, AES submission, 1998 .Jに記載のブロック暗号 AESと、 AESの段関数の 4回の繰り返し (4段 AES)とを用い た場合、 AESの CBC— MACよりも約 1. 3から約 2. 5倍高速となる。高速化の度合 いは実施の形態によって異なり、どの実施の形態が望ましいかは使用可能な動的メ モリの量や、許容される事前処理の時間などで決まる。
[0091] 本発明によれば、第 2の効果は、 CBC— MACなどのブロック暗号の認証モードと ほぼ同等のプログラムサイズとなることである。その理由は、ブロック暗号とその一部 分のみを用いるためである。その他に必要な演算は排他的論理和などの極めて単純 な関数のみである。
[0092] 本発明によれば、第 3の効果は、本発明を既知のブロック暗号に適用したとき、 CB C MACなどのブロック暗号の認証モードと同等の理論的安全性を有するように構 成できることである。その理由は、本発明で用いるブロック暗号の一部分が差分攻撃 に理論的安全性を持つ、すなわち平均最大差分確率が十分小さい場合には、本発 明は非特許文献 1に記載の理論的安全性の意味で安全な認証方式となるからであ る。
[0093] ここで、ブロック暗号の段関数の数回の繰り返しが小さい平均最大差分確率を持つ ことは、十分な安全性を持つブロック暗号の必須条件と言えるため、近年提案された ブロック暗号の多くがこの性質を持つように設計されて!、ることに注意された 、。例え ば AESでは、 4段 AESが十分小さい平均最大差分確率を持つことが「S. Park, S. H. Sung, b. Lee, and J. Lim, Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」 に記載されている。 [0094] 本発明の実施の形態によっては、使用するブロック暗号の一部分に、平均最大差 分確率だけでなぐ平均最大自己差分確率と呼ばれる値が十分小さいことも要求さ れるが、これは弱い追加条件である。実際、 AESを含めた多くのブロック暗号で、段 関数が繰り返し回数に関わらず理論的に最小の平均最大自己差分確率をとることが 示せる。
[0095] 本発明は、無線もしくは有線のデータ通信における改ざんを防ぐといった用途や、 ストレージ上のデータの改ざん防止といった用途に適用することができる。
図面の簡単な説明
[0096] [図 l]OMACを示したブロック図である。
[図 2]第 1の実施形態におけるメッセージ認証装置の構成を示すブロック図である。
[図 3]—般的なコンピュータの構成を示したブロック図である。
[図 4]第 1の実施形態のメッセージ認証装置における、 mブロック入力での動作例を 示した図である。
[図 5]第 1の実施形態のメッセージ認証装置の動作について説明するためのフローチ ヤートである。
[図 6]第 2の実施形態におけるメッセージ認証装置の構成を示すブロック図である。
[図 7]第 2の実施形態のメッセージ認証装置における、ある長さのメッセージに対する 動作例を示した図である。
[図 8]第 2の実施形態のメッセージ認証装置の動作について説明するためのフローチ ヤートである。
[図 9]第 3の実施形態におけるメッセージ認証装置の構成を示すブロック図である。
[図 10]第 3の実施形態のメッセージ認証装置における、ある長さのメッセージに対す る動作例を示した図である。
[図 11]第 3の実施形態のメッセージ認証装置の動作について説明するためのフロー チャートである。
符号の説明
[0097] 1 入力装置
2 処理装置(CPU) 記憶装置
出力装置
制御装置
演算装置
主記憶装置
補助記憶装置
、 20、 30 メッセージ認証装置0、 200、 300 入力手段
1、 201、 301 パディング手段2 修正木ハッシュ手段
3、 203、 303 調整値付暗号化手段 、 204、 304 出力手段
2 交替型連鎖手段
2 修正木連鎖ハッシュ手段

Claims

請求の範囲
[1] メッセージを入力する入力手段と、
前記メッセージをパデイングしてその長さを常にブロック長の定数にしてパディング 済みメッセージとして出力するパディング手段と、
前記パディング済みメッセージを、ブロック暗号の部品を基に作った小さ!/、入出力 幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、 1ブロックのハツ シュ値を出力する修正木ハッシュ手段と、
前記ハッシュ値を暗号ィ匕してタグとする調整値付暗号ィ匕手段と、
前記タグと前記メッセージとを連結して出力する出力手段と、
を備えたことを特徴とするメッセージ認証装置。
[2] メッセージを入力する入力手段と、
前記メッセージをパデイングしてその長さを常にブロック長の定数にしてパディング 済みメッセージとして出力するパディング手段と、
ブロック暗号と該ブロック暗号の一部分力も導出される置換処理とを、前記パディン グ済みメッセージを 1ブロックずつ足しながら連鎖させて 1ブロックのハッシュ値へ圧 縮する交替型連鎖手段と、
前記ハッシュ値を暗号ィ匕してタグとする調整値付暗号ィ匕手段と、
前記タグと前記メッセージとを連結して出力する出力手段と、
を備えたことを特徴とするメッセージ認証装置。
[3] メッセージを入力する入力手段と、
前記メッセージをパデイングしてその長さを常にブロック長の定数にしてパディング 済みメッセージとして出力するパディング手段と、
前記パディング済みメッセージを、請求項 2記載の交替型連鎖手段の一部の処理 を請求項 1記載の修正木ハッシュ手段で置き換えた構造により圧縮して 1ブロック分 のノ、ッシュ値を出力する修正木連鎖ハッシュ手段と、
前記ハッシュ値を暗号ィ匕してタグとする調整値付暗号ィ匕手段と、
前記タグと前記メッセージとを連結して出力する出力手段と、
を備えたことを特徴とするメッセージ認証装置。
[4] 前記修正木ハッシュ手段が、 AESの段関数の 4回以上の繰り返しを用いて構成さ れ、前記調整値付暗号化手段が、 AESを用いて構成されることを特徴とする請求項
1記載のメッセージ認証装置。
[5] 前記交替型連鎖手段が、 AESと AESの段関数の 4回以上の繰り返しとを組み合わ せて構成され、前記調整値付暗号化手段が、 AESを用いて構成されることを特徴と する請求項 2記載のメッセージ認証装置。
[6] 前記修正木連鎖ハッシュ手段が、 AESと AESの段関数の 4回以上の繰り返しとを 組み合わせて構成され、前記調整値付暗号化手段が、 AESを用いて構成されること を特徴とする請求項 3記載のメッセージ認証装置。
[7] ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いることを特徴 とする請求項 1から 3のいずれか 1項に記載のメッセージ認証装置。
[8] 入力手段が、メッセージを入力する第 1のステップと、
パディング手段力 前記入力されたメッセージをパデイングしてその長さを常にプロ ック長の定数にしてパディング済みメッセージとして出力する第 2のステップと、 修正木ハッシュ手段が、前記出力されたパディング済みメッセージを、ブロック暗号 の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理 を繰り返すことで、 1ブロックのハッシュ値を出力する第 3のステップと、
調整値付暗号ィ匕手段が、前記出力されたハッシュ値を暗号ィ匕してタグとする第 4の ステップと、
出力手段が、前記暗号ィ匕されたタグと前記メッセージとを連結して出力する第 5のス テツプと、
を有することを特徴とするメッセージ認証方法。
[9] 入力手段が、メッセージを入力する第 1のステップと、
パディング手段力 前記入力されたメッセージをパデイングしてその長さを常にプロ ック長の定数にしてパディング済みメッセージとして出力する第 2のステップと、 交替型連鎖手段が、ブロック暗号と該ブロック暗号の一部分力 導出される置換処 理とを、前記出力されたパディング済みメッセージを 1ブロックずつ足しながら連鎖さ せて 1ブロックのハッシュ値へ圧縮する第 3のステップと、 調整値付暗号ィ匕手段が、前記ハッシュ値を暗号ィ匕してタグとする第 4のステップと、 出力手段が、前記暗号ィ匕されたタグと前記メッセージとを連結して出力する第 5のス テツプと、
を有することを特徴とするメッセージ認証方法。
[10] 入力手段が、メッセージを入力する第 1のステップと、
パディング手段力 前記入力されたメッセージをパデイングしてその長さを常にプロ ック長の定数にしてパディング済みメッセージとして出力する第 2のステップと、 修正木連鎖ハッシュ手段が、前記出力されたパディング済みメッセージを、請求項 2記載の交替型連鎖手段の一部の処理を請求項 1記載の修正木ハッシュ手段で置 き換えた構造により圧縮して 1ブロック分のハッシュ値を出力する第 3のステップと、 調整値付暗号ィ匕手段が、前記ハッシュ値を暗号ィ匕してタグとする第 4のステップと、 出力手段が、前記暗号ィ匕されたタグと前記メッセージとを連結して出力する第 5のス テツプと、
を有することを特徴とするメッセージ認証方法。
[11] 前記修正木ハッシュ手段が、 AESの段関数の 4回以上の繰り返しを用いて構成さ れ、前記調整値付暗号化手段が、 AESを用いて構成されることを特徴とする請求項
8記載のメッセージ認証方法。
[12] 前記交替型連鎖手段が、 AESと AESの段関数の 4回以上の繰り返しとを組み合わ せて構成され、前記調整値付暗号化手段が、 AESを用いて構成されることを特徴と する請求項 9記載のメッセージ認証方法。
[13] 前記修正木連鎖ハッシュ手段が、 AESと AESの段関数の 4回以上の繰り返しとを 組み合わせて構成され、前記調整値付暗号化手段が、 AESを用いて構成されること を特徴とする請求項 10記載のメッセージ認証方法。
[14] ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いることを特徴 とする請求項 8から 10のいずれか 1項に記載のメッセージ認証方法。
[15] 請求項 8から 10のいずれ力 1項に記載のメッセージ認証方法を、コンピュータに実 行させるためのメッセージ認証プログラム。
[16] 請求項 15記載のメッセージ認証プログラムを記録した記録媒体。
PCT/JP2006/320826 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 WO2007052477A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06812014A EP1944907A4 (en) 2005-11-04 2006-10-19 DEVICE, METHOD AND MESSAGE AUTHENTICATION AND RECORD MEDIUM DEVICE THEREFOR
JP2007542334A JP4735644B2 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
CA002627136A CA2627136A1 (en) 2005-11-04 2006-10-19 Message authentication device, message authentication method, message authentication program and storage medium therefor
US12/083,872 US8589688B2 (en) 2005-11-04 2006-10-19 Message authentication device, message authentication method, message authentication program and storage medium therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-321234 2005-11-04
JP2005321234 2005-11-04
JP2006-004812 2006-01-12
JP2006004812 2006-01-12

Publications (1)

Publication Number Publication Date
WO2007052477A1 true WO2007052477A1 (ja) 2007-05-10

Family

ID=38005629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/320826 WO2007052477A1 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Country Status (6)

Country Link
US (1) US8589688B2 (ja)
EP (1) EP1944907A4 (ja)
JP (1) JP4735644B2 (ja)
KR (1) KR20080058462A (ja)
CA (1) CA2627136A1 (ja)
WO (1) WO2007052477A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501579A (ja) * 2008-08-28 2012-01-19 アルカテル−ルーセント ユーエスエー インコーポレーテッド セキュアなメモリに応用するメッセージ認証コードの事前計算
WO2012011455A1 (ja) * 2010-07-20 2012-01-26 日本電気株式会社 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
JP2013506369A (ja) * 2009-09-29 2013-02-21 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング センサデータの操作を防止するための方法及びこのためのセンサ
JP2015158665A (ja) * 2014-02-21 2015-09-03 韓國電子通信研究院Electronics and Telecommunications Research Institute 形態保存暗号化のための可変長ブロック暗号装置および方法
US9787475B2 (en) 2013-03-04 2017-10-10 Nec Corporation Device, method, and program for message authentication tag generation
US10326589B2 (en) 2015-09-28 2019-06-18 Mitsubishi Electric Corporation Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
US11177936B2 (en) 2017-02-22 2021-11-16 Mitsubishi Electric Corporation Message authenticator generation apparatus
US11438137B2 (en) 2017-09-01 2022-09-06 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, and computer readable medium
US11522712B2 (en) 2018-08-30 2022-12-06 Mitsubishi Electric Corporation Message authentication apparatus, message authentication method, and computer readable medium

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213658B4 (de) * 2002-03-27 2005-10-13 Robert Bosch Gmbh Verfahren zur Datenübertragung zwischen Komponenten der Bordelektronik mobiler Systeme und solche Komponenten
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
KR100805273B1 (ko) * 2007-02-28 2008-02-20 고려대학교 산학협력단 무선 식별 시스템을 이용한 진열된 물품의 정보 확인 방법,무선 식별 시스템을 이용한 구매된 물품의 정보 확인방법, 그 기록매체 및 그 시스템
US8098816B2 (en) * 2008-10-17 2012-01-17 Qualcomm Incorporated Apparatus and method for evaluating a cipher structure's resistance to cryptanalysis
US8050404B2 (en) * 2008-12-29 2011-11-01 Nortel Networks Limited Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel
US8654969B2 (en) * 2009-02-26 2014-02-18 Lsi Corporation Cipher independent interface for cryptographic hardware service
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
CN102725737B (zh) * 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US20110222683A1 (en) * 2010-02-09 2011-09-15 Certicom Corp. Device and method for implementing a cryptographic hash function
US8694467B2 (en) * 2010-03-31 2014-04-08 Xerox Corporation Random number based data integrity verification method and system for distributed cloud storage
US9673983B2 (en) 2012-09-14 2017-06-06 Qualcomm Incorporated Apparatus and method for protecting message data
US9065632B2 (en) * 2013-02-20 2015-06-23 Qualcomm Incorporated Message authentication using a universal hash function computed with carryless multiplication
US10263783B2 (en) * 2013-08-23 2019-04-16 Nec Corporation Method and system for authenticating a data stream
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
EP3384406A4 (en) * 2015-12-04 2018-11-14 Hewlett-Packard Enterprise Development LP Combining hashes of data blocks
US9794025B2 (en) 2015-12-22 2017-10-17 Qualcomm Incorporated Systems and methods for communication and verification of data blocks
US11251965B2 (en) * 2017-04-17 2022-02-15 Nec Corporation Authentication tag generation apparatus, authentication tag verification apparatus, method and program
US11863304B2 (en) * 2017-10-31 2024-01-02 Unm Rainforest Innovations System and methods directed to side-channel power resistance for encryption algorithms using dynamic partial reconfiguration
US11080433B2 (en) * 2018-04-29 2021-08-03 Cryptowerk Corp. Cryptographic data storage
WO2020065820A1 (ja) * 2018-09-27 2020-04-02 日本電気株式会社 Macタグリスト生成装置、macタグリスト検証装置、集約mac検証システム及び方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6350223A (ja) * 1986-08-20 1988-03-03 Matsushita Electric Ind Co Ltd 認証子生成装置
JPH03266544A (ja) * 1990-03-15 1991-11-27 Nec Corp メッセージの暗号化および認証方式
JP2001519930A (ja) * 1998-02-04 2001-10-23 サンマイクロシステムズ インコーポレーテッド 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置
JP2003051821A (ja) * 2001-05-11 2003-02-21 Lucent Technol Inc 認証のためにメッセージを処理する方法
JP2003333036A (ja) 2002-05-09 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> メッセージ認証装置、メッセージ認証方法とメッセージ認証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0412268B1 (en) * 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
US5754659A (en) 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
JP3266544B2 (ja) 1997-06-02 2002-03-18 三菱電線工業株式会社 電力ケーブル用接続部の組立方法
JP2983533B1 (ja) * 1998-10-01 1999-11-29 株式会社高度移動通信セキュリティ技術研究所 ハッシュ関数方式
US20010034839A1 (en) * 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
US20060136728A1 (en) 2003-08-15 2006-06-22 Gentry Craig B Method and apparatus for authentication of data streams with adaptively controlled losses
EP1716663A1 (en) * 2004-02-10 2006-11-02 Cryptico A/S Methods for generating identification values for identifying electronic messages

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6350223A (ja) * 1986-08-20 1988-03-03 Matsushita Electric Ind Co Ltd 認証子生成装置
JPH03266544A (ja) * 1990-03-15 1991-11-27 Nec Corp メッセージの暗号化および認証方式
JP2001519930A (ja) * 1998-02-04 2001-10-23 サンマイクロシステムズ インコーポレーテッド 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置
JP2003051821A (ja) * 2001-05-11 2003-02-21 Lucent Technol Inc 認証のためにメッセージを処理する方法
JP2003333036A (ja) 2002-05-09 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> メッセージ認証装置、メッセージ認証方法とメッセージ認証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
J. DAEMEN; V. RIJMEN: "A New MAC Construction ALRED and a Specific Instance ALPHA-MAC, Fast Software Encryption, International Workshop, FSE 2005, Lecture Notes", COMPUTER SCIENCE, vol. 3557, February 2005 (2005-02-01)
S. HALEVI; H. KRAWCZYK: "MMH:Software Message Authentication in the Gbit/second rates, Fast Software Encryption, 4th International Workshop, FSE '97, Lecture Notes", COMPUTER SCIENCE, vol. 1267, February 1997 (1997-02-01)
S. PARK ET AL.: "Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003", LECTURE NOTES IN COMPUTER SCIENCE, February 2003 (2003-02-01), pages 2887
S. PART ET AL.: "Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003", LECTURE NOTES IN COMPUTER SCIENCE, vol. 2887, February 2003 (2003-02-01)
See also references of EP1944907A4 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501579A (ja) * 2008-08-28 2012-01-19 アルカテル−ルーセント ユーエスエー インコーポレーテッド セキュアなメモリに応用するメッセージ認証コードの事前計算
JP2013506369A (ja) * 2009-09-29 2013-02-21 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング センサデータの操作を防止するための方法及びこのためのセンサ
WO2012011455A1 (ja) * 2010-07-20 2012-01-26 日本電気株式会社 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
US9787475B2 (en) 2013-03-04 2017-10-10 Nec Corporation Device, method, and program for message authentication tag generation
JP2015158665A (ja) * 2014-02-21 2015-09-03 韓國電子通信研究院Electronics and Telecommunications Research Institute 形態保存暗号化のための可変長ブロック暗号装置および方法
US10326589B2 (en) 2015-09-28 2019-06-18 Mitsubishi Electric Corporation Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
US11177936B2 (en) 2017-02-22 2021-11-16 Mitsubishi Electric Corporation Message authenticator generation apparatus
US11438137B2 (en) 2017-09-01 2022-09-06 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, and computer readable medium
US11522712B2 (en) 2018-08-30 2022-12-06 Mitsubishi Electric Corporation Message authentication apparatus, message authentication method, and computer readable medium

Also Published As

Publication number Publication date
JP4735644B2 (ja) 2011-07-27
US8589688B2 (en) 2013-11-19
KR20080058462A (ko) 2008-06-25
EP1944907A1 (en) 2008-07-16
JPWO2007052477A1 (ja) 2009-04-30
EP1944907A4 (en) 2011-08-31
CA2627136A1 (en) 2007-05-10
US20090138710A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
JP4735644B2 (ja) メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
US9742557B2 (en) Compressing encrypted data without the encryption key
US8321675B2 (en) Method and apparatus for facilitating efficient authenticated encryption
WO2015015702A1 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
Rahim Combination of the Blowfish and Lempel-Ziv-Welch algorithms for text compression
JP3650611B2 (ja) 暗号化及び復号化するためのプログラム
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
US8060743B2 (en) Cryptographic method and apparatus
US20070028088A1 (en) Polymorphic encryption method and system
JP5079204B2 (ja) 対称鍵暗号のための線形変換
JP5704159B2 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
US20150244518A1 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
US20100067686A1 (en) Shared key block cipher apparatus, its method, its program and recording medium
WO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
WO2017056150A1 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
KR20170036100A (ko) 인코더, 디코더 및 방법
US8526602B2 (en) Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
JPWO2010024004A1 (ja) 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム
JP5365750B2 (ja) ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
KR20080072345A (ko) 암호화 장치 및 그 방법
Chandrika et al. Magnified cipher block chaining mode using DES to ensure data security in cloud computing
WO2009081975A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
KR20030001888A (ko) 키를 사용하지 않고 블록 정보만을 이용하는 암호알고리즘 설계 방법
Chabaud et al. CASSI/SCY/EC

Legal Events

Date Code Title Description
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006812014

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12083872

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2627136

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2007542334

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020087010697

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE