WO2013121710A2 - 評価装置、評価方法、及び、評価プログラム - Google Patents

評価装置、評価方法、及び、評価プログラム Download PDF

Info

Publication number
WO2013121710A2
WO2013121710A2 PCT/JP2013/000443 JP2013000443W WO2013121710A2 WO 2013121710 A2 WO2013121710 A2 WO 2013121710A2 JP 2013000443 W JP2013000443 W JP 2013000443W WO 2013121710 A2 WO2013121710 A2 WO 2013121710A2
Authority
WO
WIPO (PCT)
Prior art keywords
amount
information
random number
basic information
pseudo
Prior art date
Application number
PCT/JP2013/000443
Other languages
English (en)
French (fr)
Inventor
照夫 齊藤
Original Assignee
北陸日本電気ソフトウェア株式会社
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 北陸日本電気ソフトウェア株式会社 filed Critical 北陸日本電気ソフトウェア株式会社
Priority to JP2014500076A priority Critical patent/JP5858503B2/ja
Publication of WO2013121710A2 publication Critical patent/WO2013121710A2/ja

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Definitions

  • the present invention relates to an evaluation device for evaluating the safety of a pseudorandom number generator.
  • a pseudo-random number generator that generates pseudo-random numbers is known.
  • the pseudo-random number generator described in Patent Document 1 generates a pseudo-random number based on basic information stored in a storage device including a feedback shift register; An update process for updating the basic information based on the basic information stored in the storage device is alternately repeated.
  • the pseudo-random number generator generates a pseudo-random number sequence based on the key information.
  • the key information is used to generate an initial value of basic information.
  • a guess-decision attack on a pseudo-random number generator is known.
  • the guess decision attack when the generated pseudo-random number is known, the basic information stored in the storage device is assumed, and the pseudo-random number generated based on the assumed basic information It is an attack that identifies true basic information based on whether or not they match.
  • Non-Patent Document 1 An example is described in Non-Patent Document 1 as an evaluation method for evaluating the safety against guess decision attacks.
  • the calculation load required for evaluating the safety of the pseudorandom number generator increases as the storage capacity of the storage device included in the pseudorandom number generator increases. Therefore, according to the evaluation apparatus to which the evaluation method is applied, there is a problem that the calculation load required for evaluating the safety of the pseudorandom number generator may be excessive.
  • the object of the present invention is to provide an evaluation apparatus that can solve the above-described problem that "the calculation load required for evaluating the safety of the pseudo-random number generator may become excessive" Is to provide.
  • an evaluation apparatus provides: A generation process for generating a pseudo-random number based on basic information stored in a storage device including a feedback shift register, and an update process for updating the basic information based on basic information stored in the storage device. It is an apparatus for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately.
  • this evaluation device Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process
  • An information amount receiving means for receiving a processing basic information amount U which is an amount of information used, a pseudo random number information amount m which is an amount of information of the pseudo random number, and a key information amount L which is an amount of the key information; , Based on the determination reference amount Um that is a value obtained by subtracting the received pseudo-random information amount m from the received processing basic information amount U, and the received key information amount L, the pseudo-random information amount m is used.
  • a determination means for determining whether the random number generator is safe against the speculative decision attack; Is provided.
  • An evaluation method is as follows.
  • This is a method for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately.
  • this evaluation method is Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process Receiving a processing basic information amount U which is an amount of information used, a pseudo random information amount m which is an amount of information of the pseudo random number, and a key information amount L which is an amount of the key information; Based on the determination reference amount Um that is a value obtained by subtracting the received pseudo-random information amount m from the received processing basic information amount U, and the received key information amount L, the pseudo-random information amount m is used. This is a method for determining whether or not the random number generator is safe against the guess-decision attack.
  • An evaluation program is In the information processing device, A generation process for generating a pseudo-random number based on basic information stored in a storage device including a feedback shift register, and an update process for updating the basic information based on basic information stored in the storage device. It is a program for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately.
  • this evaluation program In the information processing apparatus, Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process Receiving a processing basic information amount U which is an amount of information used, a pseudo random information amount m which is an amount of information of the pseudo random number, and a key information amount L which is an amount of the key information; Based on the determination reference amount Um that is a value obtained by subtracting the received pseudo-random information amount m from the received processing basic information amount U, and the received key information amount L, the pseudo-random information amount m is used.
  • This is a program for executing a process for determining whether or not the random number generator is safe against a guess decision attack.
  • the present invention is configured as described above, so that the calculation load required for evaluating the safety of the pseudorandom number generator can be reduced.
  • the evaluation apparatus 100 is an information processing apparatus.
  • the evaluation device 100 may be a personal computer, a mobile phone terminal, a PHS (Personal Handyphone System), a PDA (Personal Data Assistance, a Personal Digital Assistant), a smartphone, a car navigation terminal, or a game terminal.
  • PHS Personal Handyphone System
  • PDA Personal Data Assistance
  • the evaluation device 100 includes a central processing unit (CPU; Central Processing Unit), a storage device (memory and hard disk drive (HDD)), an input device (in this example, a keyboard and a mouse), and And an output device (in this example, a display).
  • CPU Central Processing Unit
  • HDD hard disk drive
  • input device in this example, a keyboard and a mouse
  • output device in this example, a display
  • the evaluation device 100 is configured to realize a function described later when the CPU executes a program stored in the storage device.
  • the evaluation apparatus 100 evaluates the safety of the pseudorandom number generator.
  • the pseudo-random number generator 200 includes a feedback shift register 201, a first conversion processing unit 202, a memory 203, a multiplexer 204, a second conversion processing unit 205, a buffer 206, , A third conversion processing unit 207.
  • the feedback shift register 201 is a linear feedback shift register (LFSR: Linear Feedback Shift Register).
  • LFSR Linear Feedback Shift Register
  • the feedback shift register 201 includes a plurality of register blocks. Each of the plurality of register blocks stores a predetermined number of unit bits. The number of unit bits is, for example, 32 or 64. Note that the information stored in the feedback shift register 201 is referred to as first basic information.
  • the memory 203 includes a plurality of memory blocks. Each of the plurality of memory blocks stores a predetermined number of unit bits.
  • the number of unit bits is, for example, 32 or 64.
  • the number of unit bits of the feedback shift register 201 is equal to the number of unit bits of the memory 203. Note that the information stored in the memory 203 is referred to as second basic information.
  • the feedback shift register 201 and the memory 203 constitute a storage device.
  • Information that is, first basic information and second basic information stored in the storage device is called basic information.
  • the storage device may be configured only by the feedback shift register 201.
  • the feedback shift register 201 may be a non-linear feedback shift register instead of the linear feedback shift register.
  • the first conversion processing unit 202 executes a first conversion process.
  • the first conversion processing converts the first update processing basic information stored in the feedback shift register 201 into first updated basic information according to a predetermined method, and converts the first updated basic information after conversion. This is a process for outputting information to the feedback shift register 201.
  • the first update processing basic information is information stored in a predetermined register block among information (first basic information) stored in a plurality of register blocks included in the feedback shift register 201. is there. Further, the amount (data size or number of bits) of the first updated basic information is the same as the amount of information stored in one register block.
  • the feedback shift register 201 transfers the information stored in each register block to the register block adjacent to one end when a plurality of register blocks are arranged in series. While updating to the stored information, the information stored in the register block constituting the one end is updated to the output first updated basic information.
  • the multiplexer 204 uses a part of the second update processing basic information stored in the feedback shift register 201 and the third update processing basic information stored in the memory 203 as fourth update processing basic information.
  • the data is output to the second conversion processing unit 205.
  • the second update processing basic information is information stored in a predetermined register block among information (first basic information) stored in a plurality of register blocks included in the feedback shift register 201. is there.
  • the third update processing basic information is information stored in a predetermined memory block among information (second basic information) stored in a plurality of memory blocks included in the memory 203. is there.
  • the second conversion processing unit 205 executes a second conversion process.
  • the fourth update process basic information output from the multiplexer 204 and the fifth update process basic information stored in the memory 203 are updated after the second update according to a predetermined method. This is a process of converting to basic information and outputting the converted second updated basic information to the memory 203.
  • the fifth update processing basic information is information stored in a predetermined memory block among information (second basic information) stored in a plurality of memory blocks included in the memory 203.
  • the memory 203 updates the information stored in a predetermined memory block among the plurality of memory blocks included in the memory 203 to the second updated basic information output by the second conversion processing unit 205. To do.
  • the buffer 206 stores the first generation processing basic information stored in the feedback shift register 201 and the second generation processing basic information stored in the memory 203.
  • the third conversion processing unit 207 executes a third conversion process.
  • the third conversion process is a process of converting the information stored in the buffer 206 into output information as a pseudo random number according to a predetermined method and outputting the converted output information.
  • the amount of output information is the same as the amount of information stored in one register block and the amount of information stored in one memory block.
  • the pseudo-random number generator 200 generates a pseudo-random number based on the basic information stored in the storage device, and updates the basic information based on the basic information stored in the storage device. Are alternately repeated. Thereby, the pseudo random number generator 200 generates a pseudo random number sequence based on the key information.
  • the pseudo random number generator 200 is configured to generate an initial value of basic information based on key information.
  • the pseudorandom number generator 200 may be configured to use key information in at least one of the first conversion process, the second conversion process, and the third conversion process.
  • the pseudo random number generator 200 is configured to operate in synchronization with the clock signal. That is, the pseudorandom number generator 200 is configured to execute one update process and one generation process in one clock cycle of the clock signal.
  • the update process includes a first update process and a second update process.
  • the first conversion processing unit 202 executes the first conversion processing, and the feedback shift register 201 is output from the first conversion processing unit 202. This is a process for updating the information stored in each register block based on the updated basic information.
  • the second conversion processing unit 205 executes the second conversion process, and the memory 203 outputs the second update output by the second conversion processing unit 205.
  • This is a process for updating the information stored in each memory block based on the post-basic information.
  • the generation process is a process in which the third conversion processing unit 207 executes the third conversion process as described above.
  • the pseudo-random number generator 200 updates the first basic information stored in the feedback shift register 201 based on only the first basic information and stores it in the memory 203 in the update process. It can be said that the second basic information being configured is configured to be updated based on the second basic information and the first basic information.
  • the pseudo random number generator 200 generates pseudo random numbers based on the first basic information stored in the feedback shift register 201 and the second basic information stored in the memory 203 in the generation process. It can be said that it is configured to.
  • the pseudo-random number generated by the pseudo-random number generator 200 may be used as a key stream in the stream encryption method. That is, the pseudo random number generator 200 may constitute a part of an encryption device that uses the generated pseudo random number as a key stream.
  • the security of the pseudo-random number generator 200 corresponds to the security of the stream encryption method using the pseudo-random number generated by the pseudo-random number generator 200 as a key stream. Therefore, according to the evaluation apparatus 100 according to the first embodiment, it is possible to reduce the calculation load required for evaluating the security of the encryption apparatus using the stream encryption method.
  • FIG. 3 is a block diagram showing an outline of the functions of the pseudorandom number generator 200.
  • the function of the pseudorandom number generator 200 includes a storage device G1, an update process execution unit G2, and a generation process execution unit G3.
  • the storage device G1 corresponds to the feedback shift register 201 and the memory 203.
  • the update process execution unit G2 executes an update process.
  • the generation process execution unit G3 executes a generation process.
  • the storage device G1 includes eight storage blocks (register blocks or memory blocks) s 0 to s 7 .
  • the update process basic information is information stored in the storage block s 2 and the storage block s 5
  • the generation process basic information is information stored in the storage block s 2 and the storage block s 4. Is assumed.
  • the update process basic information is information used to update the basic information in one update process.
  • the generation process basic information is information used for generating a pseudo random number in one generation process.
  • the processing basic information is information included in at least one of the update processing basic information and the generation processing basic information in the basic information. That is, the processing basic information is information stored in the storage block s 2 , the storage block s 4 , and the storage block s 5 .
  • a part of the processing basic information is assumed. For example, information (assumed part) stored in the storage block s 4 and the storage block s 5 is assumed. Then, by using the assumed part and the known pseudo-random number, the remainder (other than the assumed part) of the processing basic information (non-assumed part, that is, information stored in the storage block s 2 ) is obtained. It is calculated backward.
  • the determination reference amount Um is a value obtained by subtracting the pseudo random number information amount m from the processing basic information amount U.
  • the processing basic information amount U is the amount of processing basic information.
  • the pseudo random number information amount m is the amount of pseudo random number information.
  • the process of calculating back the non-assumed part from the assumed part and the known pseudo-random number is executed as many times as the amount of the assumed part increases. Accordingly, the calculation load in the first step in the guess decision attack increases as the determination reference amount Um increases.
  • the pseudo random number generator 200 is safe against the guess decision attack based on the determination reference amount U-m and the key information amount L (that is, the calculation load required for the guess decision attack is the brute force attack). It can be determined with sufficiently high accuracy whether or not the calculation load is higher than the required calculation load.
  • FIG. 1 is a block diagram illustrating functions of the evaluation apparatus 100.
  • the function of the evaluation apparatus 100 includes an information amount receiving unit (information amount receiving unit) 101, a determination unit (determination unit) 102, and an output unit 103.
  • the information amount receiving unit 101 receives the processing basic information amount U, the pseudo random number information amount m, and the key information amount L.
  • the processing basic information amount U is the amount of update processing basic information and generation processing basic information among the basic information stored in the storage device. That is, the processing basic information amount U is the amount of information included in at least one of the update processing basic information and the generation processing basic information in the basic information.
  • the update process basic information is information used to update the basic information in one update process. That is, in this example, the update process basic information includes the first update process basic information, the second update process basic information, the third update process basic information, and the fifth update process basic information among the basic information. Information included in at least one of the information.
  • the generation process basic information is information used for generating a pseudo random number in one generation process. That is, in this example, the generation processing basic information is information included in at least one of the first generation processing basic information and the second generation processing basic information in the basic information.
  • the pseudo random number information amount m is the amount of pseudo random number information.
  • the key information amount L is the amount of key information.
  • the information amount receiving means 101 receives information input by the user via the input device.
  • the information amount accepting unit 101 may be configured to accept information by receiving information from an external device.
  • the determination unit 102 obtains a determination reference amount Um that is a value obtained by subtracting the pseudorandom information amount m received by the information amount receiving unit 101 from the processing basic information amount U received by the information amount receiving unit 101 ( calculate.
  • the determination unit 102 determines whether or not the acquired determination reference amount Um is greater than or equal to the key information amount L received by the information amount reception unit 101.
  • the determination unit 102 determines that the pseudo random number generator 200 is safe against the guess decision attack. On the other hand, when the determination unit 102 determines that the determination reference amount Um is smaller than the key information amount L, the determination unit 102 determines that the pseudo random number generator 200 is not safe against the guess determination attack.
  • the determination unit 102 determines whether or not the pseudo random number generator 200 is safe against the guess determination attack based on the determination reference amount U ⁇ m and the key information amount L. be able to.
  • the output unit 103 outputs determination result information representing the result of determination by the determination unit 102 via the output device.
  • NLSv2 a pseudo-random number generator 200 called NLSv2 is known (see, for example, Non-Patent Document 2). Philip Hawkes, Cameron McDonald, Michael Paddon, Gregory G. Rose, Miriam Wiggers de Vries, "Specification for NLSv2", The eSTREAM Finalists 2008, Lecture Notes in Computer Science, Springer, 2008, Vol. 4986, pp. 57-68
  • the processing basic information is information stored in eight storage blocks (register block or memory block). Specifically, the information stored in the storage blocks A1 and A2 constitutes update processing basic information. Further, the information stored in the storage blocks B1 to B4 constitutes generation processing basic information. Further, the information stored in the storage blocks AB1 and AB2 constitutes update processing basic information and also constitutes generation processing basic information.
  • MUGI pseudo random number generator 200
  • MUGI a pseudo random number generator 200 called MUGI is known (see, for example, Non-Patent Document 3).
  • the basic processing information is information stored in 10 storage blocks. Specifically, the information stored in the storage blocks A1 to A7 constitutes update processing basic information. Further, the information stored in the storage blocks AB1 to AB3 constitutes update process basic information and constitutes generation process basic information.
  • a pseudo random number generator 200 called SNOW1.0 is known (see, for example, Non-Patent Document 4).
  • the processing basic information is information stored in six storage blocks. Specifically, the information stored in the storage blocks A1 and A2 constitutes update processing basic information. The information stored in the storage blocks AB1 to AB4 constitutes update process basic information and also constitutes generation process basic information.
  • a pseudo-random number generator 200 called SNOW 2.0 is known (see, for example, Non-Patent Document 5).
  • the processing basic information is information stored in six storage blocks. Specifically, the information stored in the storage blocks A1 and A2 constitutes update processing basic information. The information stored in the storage blocks AB1 to AB4 constitutes update process basic information and also constitutes generation process basic information.
  • Sosemanuk a pseudorandom number generator 200 called “Sosemanuk” is known (see, for example, Non-Patent Document 6).
  • Sosemanuk a pseudorandom number generator 200 called “Sosemanuk” is known (see, for example, Non-Patent Document 6).
  • the pseudo random number generator 200 is configured to execute one update process and one generation process in four consecutive clock cycles in the clock signal.
  • the pseudo-random number generator 200 uses the information stored in the storage blocks A1 to A3 as the basis for the second clock cycle following the first clock cycle. Used to update information. Further, in the first clock cycle, as shown in FIG. 8, the pseudo-random number generator 200 updates the information stored in the storage blocks AB1 to AB4 to the basic information in the second clock cycle. Used to generate pseudo-random numbers.
  • the information stored in the storage blocks A1 to A3 constitutes update processing basic information.
  • the information stored in the storage blocks AB1 to AB4 constitutes update processing basic information and generation processing basic information. That is, in the first clock cycle, the information stored in the storage blocks A1 to A3 and AB1 to AB4 constitutes processing basic information.
  • the pseudo random number generator 200 converts the information stored in the storage blocks A4 to A5 and C2 into the third clock cycle following the second clock cycle. Used to update basic information in the clock period. Further, in the second clock cycle, as shown in FIG. 9, the pseudo random number generator 200 updates the information stored in the storage blocks C1, C5 to C7 with the basic information in the third clock cycle. And used to generate pseudo-random numbers.
  • the information stored in the storage blocks C1 to C7 is based on information constituting the processing basic information in the first clock cycle (that is, information stored in the storage blocks A1 to A3 and AB1 to AB4). To be acquired. Therefore, in the second clock cycle, the information stored in the storage blocks A4 and A5 constitutes update processing basic information. That is, the information stored in the storage blocks A4 and A5 constitutes processing basic information.
  • the pseudo-random number generator 200 converts the information stored in the storage blocks A6, C9, and C13 into the fourth clock cycle following the third clock cycle. Used to update basic information in the clock period. Further, in the third clock cycle, as shown in FIG. 10, the pseudorandom number generator 200 updates the information stored in the storage blocks C8, C14 to C16 with the basic information in the fourth clock cycle. And used to generate pseudo-random numbers.
  • the information stored in the storage blocks C8 to C16 is stored in the information constituting the processing basic information in the first clock cycle and the second clock cycle (that is, stored in the storage blocks A1 to A5 and AB1 to AB4). Information). Therefore, in the third clock cycle, the information stored in the storage block A6 constitutes update processing basic information. That is, the information stored in the storage block A6 constitutes processing basic information.
  • the pseudo random number generator 200 uses the information stored in the storage blocks A7, C18, and C23 as the first clock following the fourth clock cycle. Used to update basic information in the clock period. Further, in the fourth clock cycle, as shown in FIG. 11, the pseudo random number generator 200 updates the information stored in the storage blocks C17 and C24 to C26 with the basic information in the first clock cycle. And used to generate pseudo-random numbers.
  • the information stored in the storage blocks C17 to C26 is information constituting processing basic information in the first clock cycle, the second clock cycle, and the third clock cycle (that is, the storage blocks A1 to A6). , Information stored in AB1 to AB4). Therefore, in the fourth clock cycle, the information stored in the storage block A7 constitutes update processing basic information. That is, the information stored in the storage block A7 constitutes processing basic information.
  • the processing basic information is information stored in 11 storage blocks.
  • the information stored in the storage blocks A1 to A7 constitutes update processing basic information.
  • the information stored in the storage blocks AB1 to AB4 constitutes update process basic information and also constitutes generation process basic information.
  • the evaluation apparatus 100 receives the processing basic information amount U, the pseudo random number information amount m, and the key information amount L input by the user.
  • the evaluation apparatus 100 acquires (calculates) a determination reference amount Um that is a value obtained by subtracting the received pseudorandom information amount m from the received processing basic information amount U.
  • the evaluation apparatus 100 determines whether or not the acquired determination reference amount Um is greater than or equal to the accepted key information amount L.
  • the evaluation device 100 determines that the pseudo-random number generator 200 is safe against the guess decision attack when it is determined that the determination reference amount Um is greater than or equal to the key information amount L. On the other hand, when it is determined that the determination reference amount Um is smaller than the key information amount L, the evaluation apparatus 100 determines that the pseudo random number generator 200 is not safe against the guess decision attack.
  • the evaluation device 100 outputs determination result information representing the determination result via the output device.
  • the safety of the pseudorandom number generator 200 is determined while determining the safety of the pseudorandom number generator 200 with sufficiently high accuracy. It is possible to reduce the calculation load required to evaluate
  • the amount of information stored in one register block, the amount of information stored in one memory block, and the information of the generated pseudorandom numbers The amount was the same.
  • the amount of information stored in one register block, the amount of information stored in one memory block, and the amount of generated pseudo-random information may be different from each other.
  • any one of the amount of information stored in one register block, the amount of information stored in one memory block, and the amount of pseudorandom number information generated is The amount may be different from the above two.
  • An evaluation apparatus 500 according to the second embodiment A generation process for generating a pseudo-random number based on basic information stored in a storage device including a feedback shift register, and an update process for updating the basic information based on basic information stored in the storage device. It is an apparatus for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately.
  • the evaluation device 500 includes: Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process An information amount receiving unit that receives a processing basic information amount U that is the amount of information to be used, a pseudo random number information amount m that is the amount of pseudorandom information, and a key information amount L that is the amount of key information. Information receiving means) 501, Based on the determination reference amount Um that is a value obtained by subtracting the received pseudo-random information amount m from the received processing basic information amount U, and the received key information amount L, the pseudo-random information amount m is used. A determination unit (determination means) 502 that determines whether or not the random number generator is safe against a guess-decision attack; Is provided.
  • the guess-decision attack first, a portion (assumed portion) having a criterion amount Um in the basic processing information is assumed. Then, by using the assumed part and the known pseudo-random number, a part other than the assumed part (non-assumed part) in the processing basic information is calculated backward. Therefore, the calculation load in the guess-decision attack up to this stage is well represented by the criterion amount Um.
  • the pseudo-random number generator By the way, by inputting each of all the key information to the pseudo-random number generator, the pseudo-random number is generated, and based on whether or not the generated pseudo-random number matches the known pseudo-random number,
  • the computational load required for an attack that specifies key information is often represented by a key information amount L.
  • each function of the evaluation apparatus 100 was implement
  • the program is stored in the storage device, but may be stored in a computer-readable recording medium.
  • the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.
  • the guess-decision attack first, a portion (assumed portion) having a criterion amount Um in the basic processing information is assumed. Then, by using the assumed part and the known pseudo-random number, a part other than the assumed part (non-assumed part) in the processing basic information is calculated backward. Therefore, the calculation load in the guess-decision attack up to this stage is well represented by the criterion amount Um.
  • the pseudo-random number generator By the way, by inputting each of all the key information to the pseudo-random number generator, the pseudo-random number is generated, and based on whether or not the generated pseudo-random number matches the known pseudo-random number,
  • the computational load required for an attack that specifies key information is often represented by a key information amount L.
  • the determination reference amount Um is greater than or equal to the key information amount L, it can be said that the calculation load required for the guess decision attack is greater than or equal to the calculation load required for the brute force attack. Therefore, according to the above configuration, the safety of the pseudorandom number generator can be determined with sufficiently high accuracy.
  • the evaluation apparatus according to Supplementary Note 1 or Supplementary Note 2, wherein
  • the storage device further includes a memory,
  • the basic information includes first basic information stored in the feedback shift register and second basic information stored in the memory,
  • the pseudo random number generator updates the first basic information stored in the feedback shift register based only on the first basic information, and stores the first basic information in the memory.
  • An evaluation device configured to update second basic information based on the second basic information and the first basic information.
  • Appendix 5 An evaluation apparatus according to any one of appendix 1 to appendix 4, The evaluation device, wherein the pseudo-random number generated by the pseudo-random number generator is used as a key stream in a stream encryption method.
  • the security of the pseudo random number generator corresponds to the security of the stream encryption method using the pseudo random number generated by the pseudo random number generator as a key stream. Therefore, according to the evaluation apparatus configured as described above, it is possible to reduce the calculation load required for evaluating the security of the encryption apparatus using the stream encryption method.
  • An evaluation method for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately, Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process Receiving a processing basic information amount U which is an amount of information used, a pseudo random number information amount m which is an amount of information of the pseudo random number, and a key information amount L which is an amount of the key information; On the basis of the determination reference amount Um that is a value obtained by subtracting the received pseudorandom information amount m from the received processing basic information amount U, and the received key information amount L.
  • An evaluation program for evaluating the safety of a pseudo random number generator that generates a pseudo random number sequence based on key information by repeating alternately In the information processing apparatus, Of the basic information stored in the storage device, information used for updating the basic information in one update process, and generating the pseudo-random number in one generation process Receiving a processing basic information amount U which is an amount of information used, a pseudo random number information amount m which is an amount of information of the pseudo random number, and a key information amount L which is an amount of the key information; On the basis of the determination reference amount Um that is a value obtained by subtracting the received pseudorandom information amount m from the received processing basic information amount U, and the received key information amount L.
  • the present invention is applicable to an evaluation apparatus for evaluating the safety of a pseudorandom number generator.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

評価装置、評価方法、及び、評価プログラム
 本発明は、擬似乱数生成器の安全性を評価する評価装置に関する。
 擬似乱数を生成する擬似乱数生成器が知られている。この種の擬似乱数生成器の一つとして、特許文献1に記載の擬似乱数生成器は、フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返す。これにより、擬似乱数生成器は、鍵情報に基づく疑似乱数列を生成する。例えば、鍵情報は、基礎情報の初期値を生成するために用いられる。
 また、擬似乱数生成器に対する推測決定攻撃が知られている。推測決定攻撃は、生成される擬似乱数が既知である場合に、記憶装置に記憶されている基礎情報を仮定し、その仮定した基礎情報に基づいて生成される擬似乱数が、既知の擬似乱数と一致するか否かに基づいて、真の基礎情報を特定する攻撃である。
 推測決定攻撃に対する安全性を評価するための評価手法として、非特許文献1に一例が記載されている。
特開2009-265961号公報
井手口恒太、渡辺大、「推測決定攻撃に対する安全性評価の一手法」、暗号と情報セキュリティシンポジウム、SCIS2008、2008年1月、3A1-4
 しかしながら、上記評価手法は、擬似乱数生成器の安全性を評価するために要する計算負荷が、擬似乱数生成器が有する記憶装置の記憶容量が大きくなるほど大きくなる。従って、上記評価手法が適用された評価装置によれば、擬似乱数生成器の安全性を評価するために要する計算負荷が過大になってしまう場合が生じる、という問題があった。
 このため、本発明の目的は、上述した課題である「擬似乱数生成器の安全性を評価するために要する計算負荷が過大になってしまう場合が生じること」を解決することが可能な評価装置を提供することにある。
 かかる目的を達成するため本発明の一形態である評価装置は、
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する装置である。
 更に、この評価装置は、
 上記記憶装置に記憶されている基礎情報のうちの、1回の上記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の上記生成処理において上記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、上記擬似乱数の情報の量である擬似乱数情報量mと、上記鍵情報の量である鍵情報量Lと、を受け付ける情報量受付手段と、
 上記受け付けられた処理基礎情報量Uから、上記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、上記受け付けられた鍵情報量Lと、に基づいて、上記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する判定手段と、
 を備える。
 また、本発明の他の形態である評価方法は、
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する方法である。
 更に、この評価方法は、
 上記記憶装置に記憶されている基礎情報のうちの、1回の上記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の上記生成処理において上記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、上記擬似乱数の情報の量である擬似乱数情報量mと、上記鍵情報の量である鍵情報量Lと、を受け付け、
 上記受け付けられた処理基礎情報量Uから、上記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、上記受け付けられた鍵情報量Lと、に基づいて、上記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する方法である。
 また、本発明の他の形態である評価プログラムは、
 情報処理装置に、
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価させるためのプログラムである。
 更に、この評価プログラムは、
 上記情報処理装置に、
 上記記憶装置に記憶されている基礎情報のうちの、1回の上記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の上記生成処理において上記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、上記擬似乱数の情報の量である擬似乱数情報量mと、上記鍵情報の量である鍵情報量Lと、を受け付け、
 上記受け付けられた処理基礎情報量Uから、上記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、上記受け付けられた鍵情報量Lと、に基づいて、上記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する、処理を実行させるためのプログラムである。
 本発明は、以上のように構成されることにより、擬似乱数生成器の安全性を評価するために要する計算負荷を低減することができる。
本発明の第1実施形態に係る評価装置の構成を表すブロック図である。 本発明の第1実施形態に係る疑似乱数生成器の構成を表すブロック図である。 擬似乱数生成器の機能の概要を示したブロック図である。 NLSv2と呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 MUGIと呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 SNOW1.0と呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 SNOW2.0と呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 Sosemanukと呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 Sosemanukと呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 Sosemanukと呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 Sosemanukと呼ばれる擬似乱数生成器の機能の概要を示した説明図である。 本発明の第2実施形態に係る評価装置の構成を表すブロック図である。
 以下、本発明に係る、評価装置、評価方法、及び、評価プログラム、の各実施形態について図1~図12を参照しながら説明する。
<第1実施形態>
(構成)
 図1に示したように、第1実施形態に係る評価装置100は、情報処理装置である。なお、評価装置100は、パーソナル・コンピュータ、携帯電話端末、PHS(Personal Handyphone System)、PDA(Personal Data Assistance、Personal Digital Assistant)、スマートフォン、カーナビゲーション端末、又は、ゲーム端末等であってもよい。
 評価装置100は、図示しない中央処理装置(CPU;Central Processing Unit)、記憶装置(メモリ及びハードディスク駆動装置(HDD;Hard Disk Drive))、入力装置(本例では、キーボード、及び、マウス)、及び、出力装置(本例では、ディスプレイ)を備える。
 評価装置100は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。本例では、評価装置100は、擬似乱数生成器の安全性を評価する。
 ここで、擬似乱数生成器について説明する。
 図2に示したように、擬似乱数生成器200は、フィードバックシフトレジスタ201と、第1の変換処理部202と、メモリ203と、マルチプレクサ204と、第2の変換処理部205と、バッファ206と、第3の変換処理部207と、を備える。
 本例では、フィードバックシフトレジスタ201は、線形帰還シフトレジスタ(LFSR;Linear Feedback Shift Register)である。フィードバックシフトレジスタ201は、複数のレジスタブロックを含む。複数のレジスタブロックのそれぞれは、予め定められた単位ビット数のビットを記憶する。単位ビット数は、例えば、32、又は、64等である。なお、フィードバックシフトレジスタ201に記憶されている情報は、第1の基礎情報と呼ばれる。
 メモリ203は、複数のメモリブロックを含む。複数のメモリブロックのそれぞれは、予め定められた単位ビット数のビットを記憶する。単位ビット数は、例えば、32、又は、64等である。本例では、フィードバックシフトレジスタ201の単位ビット数と、メモリ203の単位ビット数と、は等しい。なお、メモリ203に記憶されている情報は、第2の基礎情報と呼ばれる。
 また、フィードバックシフトレジスタ201及びメモリ203は、記憶装置を構成している。記憶装置に記憶されている情報(即ち、第1の基礎情報及び第2の基礎情報)は、基礎情報と呼ばれる。なお、記憶装置は、フィードバックシフトレジスタ201のみにより構成されていてもよい。また、フィードバックシフトレジスタ201は、線形帰還シフトレジスタに代えて、非線形帰還シフトレジスタであってもよい。
 第1の変換処理部202は、第1の変換処理を実行する。第1の変換処理は、フィードバックシフトレジスタ201に記憶されている第1の更新処理基礎情報を予め定められた方式に従って第1の更新後基礎情報に変換し、変換後の第1の更新後基礎情報をフィードバックシフトレジスタ201へ出力する処理である。
 第1の更新処理基礎情報は、フィードバックシフトレジスタ201に含まれる複数のレジスタブロックに記憶されている情報(第1の基礎情報)のうちの、予め定められたレジスタブロックに記憶されている情報である。また、第1の更新後基礎情報の量(データサイズ、又は、ビット数)は、1つのレジスタブロックに記憶される情報の量と同じである。
 フィードバックシフトレジスタ201は、第1の更新後基礎情報が出力される際、各レジスタブロックに記憶されている情報を、複数のレジスタブロックを直列に並べた場合における一端側にて隣接するレジスタブロックに記憶されている情報に更新するとともに、当該一端を構成するレジスタブロックに記憶されている情報を、出力された第1の更新後基礎情報に更新する。
 マルチプレクサ204は、フィードバックシフトレジスタ201に記憶されている第2の更新処理基礎情報、及び、メモリ203に記憶されている第3の更新処理基礎情報、の一部を第4の更新処理基礎情報として第2の変換処理部205へ出力する。
 第2の更新処理基礎情報は、フィードバックシフトレジスタ201に含まれる複数のレジスタブロックに記憶されている情報(第1の基礎情報)のうちの、予め定められたレジスタブロックに記憶されている情報である。また、第3の更新処理基礎情報は、メモリ203に含まれる複数のメモリブロックに記憶されている情報(第2の基礎情報)のうちの、予め定められたメモリブロックに記憶されている情報である。
 第2の変換処理部205は、第2の変換処理を実行する。第2の変換処理は、マルチプレクサ204により出力された第4の更新処理基礎情報、及び、メモリ203に記憶されている第5の更新処理基礎情報、を予め定められた方式に従って第2の更新後基礎情報に変換し、変換後の第2の更新後基礎情報をメモリ203へ出力する処理である。
 第5の更新処理基礎情報は、メモリ203に含まれる複数のメモリブロックに記憶されている情報(第2の基礎情報)のうちの、予め定められたメモリブロックに記憶されている情報である。
 メモリ203は、メモリ203に含まれる複数のメモリブロックのうちの予め定められたメモリブロックに記憶されている情報を、第2の変換処理部205により出力された第2の更新後基礎情報に更新する。
 バッファ206は、フィードバックシフトレジスタ201に記憶されている第1の生成処理基礎情報、及び、メモリ203に記憶されている第2の生成処理基礎情報を記憶する。
 第3の変換処理部207は、第3の変換処理を実行する。第3の変換処理は、バッファ206に記憶されている情報を、予め定められた方式に従って、擬似乱数としての出力情報に変換し、変換後の出力情報を出力する処理である。本例では、出力情報の量は、1つのレジスタブロックに記憶されている情報の量、及び、1つのメモリブロックに記憶されている情報の量と同じである。
 擬似乱数生成器200は、記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すように構成される。これにより、擬似乱数生成器200は、鍵情報に基づく疑似乱数列を生成する。
 例えば、擬似乱数生成器200は、鍵情報に基づいて基礎情報の初期値を生成するように構成される。また、擬似乱数生成器200は、第1の変換処理、第2の変換処理、及び、第3の変換処理の少なくとも1つにおいて、鍵情報を用いるように構成されていてもよい。
 また、本例では、擬似乱数生成器200は、クロック信号に同期して作動するように構成される。即ち、擬似乱数生成器200は、クロック信号における1つのクロック周期において、1回の更新処理と、1回の生成処理と、を実行するように構成される。
 更新処理は、第1の更新処理と、第2の更新処理と、を含む。
 第1の更新処理は、上述したように、第1の変換処理部202が第1の変換処理を実行し、且つ、フィードバックシフトレジスタ201が、第1の変換処理部202により出力された第1の更新後基礎情報に基づいて、各レジスタブロックに記憶されている情報を更新する処理である。
 第2の更新処理は、上述したように、第2の変換処理部205が第2の変換処理を実行し、且つ、メモリ203が、第2の変換処理部205により出力された第2の更新後基礎情報に基づいて、各メモリブロックに記憶されている情報を更新する処理である。
 また、生成処理は、上述したように、第3の変換処理部207が第3の変換処理を実行する処理である。
 このように、擬似乱数生成器200は、更新処理において、フィードバックシフトレジスタ201に記憶されている第1の基礎情報が、当該第1の基礎情報のみに基づいて更新され、且つ、メモリ203に記憶されている第2の基礎情報が、当該第2の基礎情報と第1の基礎情報とに基づいて更新されるように構成される、と言うことができる。
 また、擬似乱数生成器200は、生成処理において、フィードバックシフトレジスタ201に記憶されている第1の基礎情報と、メモリ203に記憶されている第2の基礎情報と、に基づいて擬似乱数を生成するように構成される、と言うことができる。
 なお、擬似乱数生成器200により生成された擬似乱数は、ストリーム暗号方式における鍵ストリームとして用いられてもよい。即ち、擬似乱数生成器200は、生成した擬似乱数を鍵ストリームとして用いる暗号化装置の一部を構成していてもよい。
 ところで、擬似乱数生成器200の安全性は、擬似乱数生成器200により生成された擬似乱数を鍵ストリームとして用いるストリーム暗号方式の安全性と対応している。従って、第1実施形態に係る評価装置100によれば、当該ストリーム暗号方式を用いる暗号装置の安全性を評価するために要する計算負荷を低減することもできる。
(推測決定攻撃)
 次に、推測決定攻撃について説明する。図3は、擬似乱数生成器200の機能の概要を示したブロック図である。擬似乱数生成器200の機能は、記憶装置G1と、更新処理実行部G2と、生成処理実行部G3と、を含む。
 即ち、記憶装置G1は、フィードバックシフトレジスタ201及びメモリ203に対応している。更新処理実行部G2は、更新処理を実行する。生成処理実行部G3は、生成処理を実行する。
 ここでは、説明を簡単にするために、記憶装置G1が、8つの記憶ブロック(レジスタブロック又はメモリブロック)s~sを備える場合を想定する。また、更新処理基礎情報が、記憶ブロックs及び記憶ブロックsに記憶されている情報であり、生成処理基礎情報が、記憶ブロックs及び記憶ブロックsに記憶されている情報である場合を想定する。
 ここで、更新処理基礎情報は、1回の更新処理において基礎情報を更新するために用いられる情報である。また、生成処理基礎情報は、1回の生成処理において擬似乱数を生成するために用いられる情報である。また、処理基礎情報は、基礎情報のうちの、更新処理基礎情報及び生成処理基礎情報の少なくとも一方に含まれる情報である。即ち、処理基礎情報は、記憶ブロックs、記憶ブロックs、及び、記憶ブロックsに記憶されている情報である。
 先ず、推測決定攻撃においては、処理基礎情報の一部が仮定される。例えば、記憶ブロックs及び記憶ブロックsに記憶されている情報(仮定部分)が仮定される。そして、仮定部分と、既知の擬似乱数と、を用いることにより、処理基礎情報のうちの残余(仮定部分以外)の部分(非仮定部分、即ち、記憶ブロックsに記憶されている情報)が逆算される。
 その後、同様の処理を繰り返すことにより、記憶装置G1に記憶されている情報のすべてが特定される。そして、更に、同様の処理を繰り返すことにより、鍵情報を特定することができる。
 ところで、推測決定攻撃における最初のステップにおいては、処理基礎情報のうちの、判定基準量U-mを有する部分(仮定部分)を仮定する必要がある。ここで、判定基準量U-mは、処理基礎情報量Uから擬似乱数情報量mを減じた値である。処理基礎情報量Uは、処理基礎情報の量である。また、擬似乱数情報量mは、擬似乱数の情報の量である。
 ところで、仮定部分と既知の擬似乱数とから非仮定部分を逆算する処理は、仮定部分の量が大きくなるほど多くなる回数だけ実行される。従って、推測決定攻撃における最初のステップにおける計算負荷は、判定基準量U-mが大きくなるほど大きくなる。
 ところで、擬似乱数生成器200に対して、すべての鍵情報のそれぞれを入力することにより、擬似乱数を生成させ、生成された擬似乱数と既知の擬似乱数とが一致しているか否かに基づいて、鍵情報を特定する攻撃(総当たり攻撃、又は、鍵の全数探索等とも呼ばれる)に要する計算負荷は、鍵情報量Lが大きくなるほど大きくなる。
 従って、判定基準量U-mと、鍵情報量Lと、に基づいて、擬似乱数生成器200が推測決定攻撃に対して安全である(即ち、推測決定攻撃に要する計算負荷が総当たり攻撃に要する計算負荷以上である)か否かを十分に高い精度にて判定することができる。
(機能)
 次に、評価装置100の機能について説明する。図1は、評価装置100の機能を表すブロック図である。評価装置100の機能は、情報量受付部(情報量受付手段)101と、判定部(判定手段)102と、出力部103と、を含む。
 情報量受付部101は、処理基礎情報量Uと、擬似乱数情報量mと、鍵情報量Lと、を受け付ける。
 処理基礎情報量Uは、記憶装置に記憶されている基礎情報のうちの、更新処理基礎情報及び生成処理基礎情報の量である。即ち、処理基礎情報量Uは、基礎情報のうちの、更新処理基礎情報及び生成処理基礎情報の少なくとも一方に含まれる情報の量である。
 ここで、更新処理基礎情報は、1回の更新処理において基礎情報を更新するために用いられる情報である。即ち、本例では、更新処理基礎情報は、基礎情報のうちの、第1の更新処理基礎情報、第2の更新処理基礎情報、第3の更新処理基礎情報、及び、第5の更新処理基礎情報の少なくとも1つに含まれる情報である。
 また、生成処理基礎情報は、1回の生成処理において擬似乱数を生成するために用いられる情報である。即ち、本例では、生成処理基礎情報は、基礎情報のうちの、第1の生成処理基礎情報、及び、第2の生成処理基礎情報の少なくとも1つに含まれる情報である。
 また、擬似乱数情報量mは、擬似乱数の情報の量である。鍵情報量Lは、鍵情報の量である。
 本例では、情報量受付手段101は、入力装置を介してユーザによって入力された情報を受け付ける。なお、情報量受付手段101は、外部の装置から情報を受信することにより情報を受け付けるように構成されていてもよい。
 判定部102は、情報量受付部101により受け付けられた処理基礎情報量Uから、情報量受付部101により受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mを取得(算出)する。
 更に、判定部102は、取得された判定基準量U-mが、情報量受付部101により受け付けられた鍵情報量L以上であるか否かを判定する。
 そして、判定部102は、判定基準量U-mが鍵情報量L以上であると判定された場合、擬似乱数生成器200が推測決定攻撃に対して安全であると判定する。一方、判定部102は、判定基準量U-mが鍵情報量Lよりも小さいと判定された場合、擬似乱数生成器200が推測決定攻撃に対して安全でないと判定する。
 このように、判定部102は、判定基準量U-mと、鍵情報量Lと、に基づいて擬似乱数生成器200が推測決定攻撃に対して安全であるか否かを判定する、と言うことができる。
 出力部103は、判定部102による判定の結果を表す判定結果情報を、出力装置を介して出力する。
 次に、擬似乱数生成器200に対する処理基礎情報量Uについて、具体例を参照しながら説明する。
 図4に示したように、NLSv2と呼ばれる擬似乱数生成器200が知られている(例えば、非特許文献2を参照)。
Philip Hawkes、Cameron McDonald、Michael Paddon、Gregory G. Rose、Miriam Wiggers de Vries、「Specification for NLSv2」、The eSTREAM Finalists 2008、Lecture Notes in Computer Science、Springer、2008年、Vol. 4986、pp.57-68
 この擬似乱数生成器200においては、処理基礎情報は、8個の記憶ブロック(レジスタブロック又はメモリブロック)に記憶されている情報である。具体的には、記憶ブロックA1~A2に記憶されている情報は、更新処理基礎情報を構成する。また、記憶ブロックB1~B4に記憶されている情報は、生成処理基礎情報を構成する。また、記憶ブロックAB1~AB2に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。
 従って、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、処理基礎情報量Uは、256(=8×32)ビットである。
 また、図5に示したように、MUGIと呼ばれる擬似乱数生成器200が知られている(例えば、非特許文献3を参照)。
Dai Watanabe、Soichi Furuya、Hirotaka Yoshida、Kazuo Takaragi、Bart Preneel、「A New Keystream Generator MUGI」、FSE 2002、Lecture Notes in Computer Science、Springer、2002年、Vol. 2365、pp.179-194
 この擬似乱数生成器200においては、処理基礎情報は、10個の記憶ブロックに記憶されている情報である。具体的には、記憶ブロックA1~A7に記憶されている情報は、更新処理基礎情報を構成する。また、記憶ブロックAB1~AB3に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。
 従って、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、処理基礎情報量Uは、320(=10×32)ビットである。
 また、図6に示したように、SNOW1.0と呼ばれる擬似乱数生成器200が知られている(例えば、非特許文献4を参照)。
Patrik Ekdahl、Thomas Johansson、「SNOW - a new stream cipher」、Proceedings of first NESSIE Workshop、Heverlee、Belgium、2000年
 この擬似乱数生成器200においては、処理基礎情報は、6個の記憶ブロックに記憶されている情報である。具体的には、記憶ブロックA1~A2に記憶されている情報は、更新処理基礎情報を構成する。また、記憶ブロックAB1~AB4に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。
 従って、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、処理基礎情報量Uは、192(=6×32)ビットである。
 また、図7に示したように、SNOW2.0と呼ばれる擬似乱数生成器200が知られている(例えば、非特許文献5を参照)。
Patrik Ekdahl、Thomas Johansson、「A New Version of the Stream Cipher SNOW」、Selected Areas inCryptography 2002、Lecture Notes in Computer Science、Springer、2003年、Vol. 2595、pp.47-61
 この擬似乱数生成器200においては、処理基礎情報は、6個の記憶ブロックに記憶されている情報である。具体的には、記憶ブロックA1~A2に記憶されている情報は、更新処理基礎情報を構成する。また、記憶ブロックAB1~AB4に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。
 従って、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、処理基礎情報量Uは、192(=6×32)ビットである。
 また、図8~図11に示したように、Sosemanukと呼ばれる擬似乱数生成器200が知られている(例えば、非特許文献6を参照)。
Come Berbain、Olivier Billet、Anne Canteaut、Nicolas Courtois、Henri Gilbert、Louis Goubin、Aline Gouget、Louis Granboulan、Cedric Lauradoux、Marine Minier、Thomas Pornin、Herve Sibert、「Sosemanuk, a Fast Software-Oriented Stream Cipher」、The eSTREAMFinalists 2008、Lecture Notes in Computer Science、Springer、2008年、Vol. 4986、pp.98-118
 この擬似乱数生成器200は、クロック信号における、連続する4つのクロック周期において、1回の更新処理と、1回の生成処理と、を実行するように構成される。
 第1のクロック周期において、図8に示したように、擬似乱数生成器200は、記憶ブロックA1~A3に記憶されている情報を、第1のクロック周期に後続する第2のクロック周期における基礎情報を更新するために用いる。更に、第1のクロック周期において、図8に示したように、擬似乱数生成器200は、記憶ブロックAB1~AB4に記憶されている情報を、第2のクロック周期における基礎情報を更新するために用いるとともに、擬似乱数を生成するために用いる。
 従って、第1のクロック周期においては、記憶ブロックA1~A3に記憶されている情報は、更新処理基礎情報を構成する。また、第1のクロック周期においては、記憶ブロックAB1~AB4に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。即ち、第1のクロック周期においては、記憶ブロックA1~A3,AB1~AB4に記憶されている情報は、処理基礎情報を構成する。
 更に、第2のクロック周期において、図9に示したように、擬似乱数生成器200は、記憶ブロックA4~A5,C2に記憶されている情報を、第2のクロック周期に後続する第3のクロック周期における基礎情報を更新するために用いる。更に、第2のクロック周期において、図9に示したように、擬似乱数生成器200は、記憶ブロックC1,C5~C7に記憶されている情報を、第3のクロック周期における基礎情報を更新するために用いるとともに、擬似乱数を生成するために用いる。
 なお、記憶ブロックC1~C7に記憶されている情報は、第1のクロック周期において処理基礎情報を構成する情報(即ち、記憶ブロックA1~A3,AB1~AB4に記憶されている情報)に基づいて取得される。従って、第2のクロック周期においては、記憶ブロックA4,A5に記憶されている情報は、更新処理基礎情報を構成する。即ち、記憶ブロックA4,A5に記憶されている情報は、処理基礎情報を構成する。
 更に、第3のクロック周期において、図10に示したように、擬似乱数生成器200は、記憶ブロックA6,C9,C13に記憶されている情報を、第3のクロック周期に後続する第4のクロック周期における基礎情報を更新するために用いる。更に、第3のクロック周期において、図10に示したように、擬似乱数生成器200は、記憶ブロックC8,C14~C16に記憶されている情報を、第4のクロック周期における基礎情報を更新するために用いるとともに、擬似乱数を生成するために用いる。
 なお、記憶ブロックC8~C16に記憶されている情報は、第1のクロック周期及び第2のクロック周期において処理基礎情報を構成する情報(即ち、記憶ブロックA1~A5,AB1~AB4に記憶されている情報)に基づいて取得される。従って、第3のクロック周期においては、記憶ブロックA6に記憶されている情報は、更新処理基礎情報を構成する。即ち、記憶ブロックA6に記憶されている情報は、処理基礎情報を構成する。
 更に、第4のクロック周期において、図11に示したように、擬似乱数生成器200は、記憶ブロックA7,C18,C23に記憶されている情報を、第4のクロック周期に後続する第1のクロック周期における基礎情報を更新するために用いる。更に、第4のクロック周期において、図11に示したように、擬似乱数生成器200は、記憶ブロックC17,C24~C26に記憶されている情報を、第1のクロック周期における基礎情報を更新するために用いるとともに、擬似乱数を生成するために用いる。
 なお、記憶ブロックC17~C26に記憶されている情報は、第1のクロック周期、第2のクロック周期、及び、第3のクロック周期において処理基礎情報を構成する情報(即ち、記憶ブロックA1~A6,AB1~AB4に記憶されている情報)に基づいて取得される。従って、第4のクロック周期においては、記憶ブロックA7に記憶されている情報は、更新処理基礎情報を構成する。即ち、記憶ブロックA7に記憶されている情報は、処理基礎情報を構成する。
 このように、この擬似乱数生成器200においては、処理基礎情報は、11個の記憶ブロックに記憶されている情報である。上述したように、記憶ブロックA1~A7に記憶されている情報は、更新処理基礎情報を構成する。また、記憶ブロックAB1~AB4に記憶されている情報は、更新処理基礎情報を構成するとともに、生成処理基礎情報を構成する。
 従って、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、処理基礎情報量Uは、352(=11×32)ビットである。
 また、この擬似乱数生成器200は、第4のクロック周期において、各記憶ブロックに記憶されている情報の量の4倍の量を有する擬似乱数(出力情報)を生成する。即ち、この擬似乱数生成器200においては、各記憶ブロックに記憶されるビットの数(単位ビット数)が32である場合、擬似乱数情報量mは、128(=4×32)ビットである。
(作動)
 次に、上述した評価装置100の作動について説明する。
 先ず、評価装置100は、ユーザにより入力された、処理基礎情報量Uと、擬似乱数情報量mと、鍵情報量Lと、を受け付ける。次いで、評価装置100は、受け付けられた処理基礎情報量Uから、受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mを取得(算出)する。
 そして、評価装置100は、取得された判定基準量U-mが、受け付けられた鍵情報量L以上であるか否かを判定する。
 次いで、評価装置100は、判定基準量U-mが鍵情報量L以上であると判定された場合、擬似乱数生成器200が推測決定攻撃に対して安全であると判定する。一方、評価装置100は、判定基準量U-mが鍵情報量Lよりも小さいと判定された場合、擬似乱数生成器200が推測決定攻撃に対して安全でないと判定する。
 そして、評価装置100は、判定の結果を表す判定結果情報を、出力装置を介して出力する。
 以上、説明したように、本発明の第1実施形態に係る評価装置100によれば、擬似乱数生成器200の安全性を十分に高い精度にて判定しながら、擬似乱数生成器200の安全性を評価するために要する計算負荷を低減することができる。
 なお、第1実施形態に係る評価装置100においては、1つのレジスタブロックに記憶されている情報の量と、1つのメモリブロックに記憶されている情報の量と、生成される擬似乱数の情報の量と、は同じであった。ところで、1つのレジスタブロックに記憶されている情報の量と、1つのメモリブロックに記憶されている情報の量と、生成される擬似乱数の情報の量と、は、互いに異なる量であってもよい。また、1つのレジスタブロックに記憶されている情報の量と、1つのメモリブロックに記憶されている情報の量と、生成される擬似乱数の情報の量と、のうちの任意の1つが、他の2つと異なる量であってもよい。
<第2実施形態>
 次に、本発明の第2実施形態に係る評価装置について図12を参照しながら説明する。
 第2実施形態に係る評価装置500は、
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する装置である。
 更に、この評価装置500は、
 上記記憶装置に記憶されている基礎情報のうちの、1回の上記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の上記生成処理において上記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、上記擬似乱数の情報の量である擬似乱数情報量mと、上記鍵情報の量である鍵情報量Lと、を受け付ける情報量受付部(情報量受付手段)501と、
 上記受け付けられた処理基礎情報量Uから、上記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、上記受け付けられた鍵情報量Lと、に基づいて、上記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する判定部(判定手段)502と、
 を備える。
 ところで、推測決定攻撃においては、先ず、処理基礎情報のうちの、判定基準量U-mを有する部分(仮定部分)が仮定される。そして、仮定部分と、既知の擬似乱数と、を用いることにより、処理基礎情報のうちの仮定部分以外の部分(非仮定部分)が逆算される。従って、この段階までの、推測決定攻撃における計算負荷は、判定基準量U-mによりよく表される。
 ところで、擬似乱数生成器に対して、すべての鍵情報のそれぞれを入力することにより、擬似乱数を生成させ、生成された擬似乱数と既知の擬似乱数とが一致しているか否かに基づいて、鍵情報を特定する攻撃(総当たり攻撃、又は、鍵の全数探索等とも呼ばれる)に要する計算負荷は、鍵情報量Lによりよく表される。
 従って、上記構成によれば、擬似乱数生成器の安全性を十分に高い精度にて判定しながら、擬似乱数生成器の安全性を評価するために要する計算負荷を低減することができる。
 以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
 なお、上記各実施形態において評価装置100の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
 また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
 また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
<付記>
 上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する評価装置であって、
 前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付ける情報量受付手段と、
 前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する判定手段と、
 を備える評価装置。
 ところで、推測決定攻撃においては、先ず、処理基礎情報のうちの、判定基準量U-mを有する部分(仮定部分)が仮定される。そして、仮定部分と、既知の擬似乱数と、を用いることにより、処理基礎情報のうちの仮定部分以外の部分(非仮定部分)が逆算される。従って、この段階までの、推測決定攻撃における計算負荷は、判定基準量U-mによりよく表される。
 ところで、擬似乱数生成器に対して、すべての鍵情報のそれぞれを入力することにより、擬似乱数を生成させ、生成された擬似乱数と既知の擬似乱数とが一致しているか否かに基づいて、鍵情報を特定する攻撃(総当たり攻撃、又は、鍵の全数探索等とも呼ばれる)に要する計算負荷は、鍵情報量Lによりよく表される。
 従って、上記構成によれば、擬似乱数生成器の安全性を十分に高い精度にて判定しながら、擬似乱数生成器の安全性を評価するために要する計算負荷を低減することができる。
(付記2)
 付記1に記載の評価装置であって、
 前記判定手段は、前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価装置。
 ところで、判定基準量U-mが鍵情報量L以上である場合、推測決定攻撃に要する計算負荷が、総当たり攻撃に要する計算負荷以上であると言うことができる。従って、上記構成によれば、擬似乱数生成器の安全性を十分に高い精度にて判定することができる。
(付記3)
 付記1又は付記2に記載の評価装置であって、
 前記記憶装置は、更に、メモリを備え、
 前記基礎情報は、前記フィードバックシフトレジスタに記憶されている第1の基礎情報と、前記メモリに記憶されている第2の基礎情報と、を含み、
 前記擬似乱数生成器は、前記更新処理において、前記フィードバックシフトレジスタに記憶されている第1の基礎情報が、当該第1の基礎情報のみに基づいて更新され、且つ、前記メモリに記憶されている第2の基礎情報が、当該第2の基礎情報と前記第1の基礎情報とに基づいて更新されるように構成された評価装置。
(付記4)
 付記3に記載の評価装置であって、
 前記擬似乱数生成器は、前記生成処理において、前記フィードバックシフトレジスタに記憶されている第1の基礎情報と、前記メモリに記憶されている第2の基礎情報と、に基づいて前記擬似乱数を生成するように構成された評価装置。
(付記5)
 付記1乃至付記4のいずれかに記載の評価装置であって、
 前記擬似乱数生成器により生成された擬似乱数は、ストリーム暗号方式における鍵ストリームとして用いられる、評価装置。
 ところで、擬似乱数生成器の安全性は、擬似乱数生成器により生成された擬似乱数を鍵ストリームとして用いるストリーム暗号方式の安全性と対応している。従って、上記のように構成された評価装置によれば、当該ストリーム暗号方式を用いる暗号装置の安全性を評価するために要する計算負荷を低減することもできる。
(付記6)
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する評価方法であって、
 前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付け、
 前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する、評価方法。
(付記7)
 付記6に記載の評価方法であって、
 前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価方法。
(付記8)
 情報処理装置に、
 フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価させるための評価プログラムであって、
 前記情報処理装置に、
 前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付け、
 前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する、処理を実行させるための評価プログラム。
(付記9)
 付記8に記載の評価プログラムであって、
 前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価プログラム。
 なお、本発明は、日本国にて2012年2月15日に特許出願された特願2012-030469の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
 本発明は、擬似乱数生成器の安全性を評価する評価装置等に適用可能である。
100 評価装置
101 情報量受付部
102 判定部
103 出力部
200 擬似乱数生成器
201 フィードバックシフトレジスタ
202 第1の変換処理部
203 メモリ
204 マルチプレクサ
205 第2の変換処理部
206 バッファ
207 第3の変換処理部
500 評価装置
501 情報量受付部
502 判定部

Claims (9)

  1.  フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する評価装置であって、
     前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付ける情報量受付手段と、
     前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する判定手段と、
     を備える評価装置。
  2.  請求項1に記載の評価装置であって、
     前記判定手段は、前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価装置。
  3.  請求項1又は請求項2に記載の評価装置であって、
     前記記憶装置は、更に、メモリを備え、
     前記基礎情報は、前記フィードバックシフトレジスタに記憶されている第1の基礎情報と、前記メモリに記憶されている第2の基礎情報と、を含み、
     前記擬似乱数生成器は、前記更新処理において、前記フィードバックシフトレジスタに記憶されている第1の基礎情報が、当該第1の基礎情報のみに基づいて更新され、且つ、前記メモリに記憶されている第2の基礎情報が、当該第2の基礎情報と前記第1の基礎情報とに基づいて更新されるように構成された評価装置。
  4.  請求項3に記載の評価装置であって、
     前記擬似乱数生成器は、前記生成処理において、前記フィードバックシフトレジスタに記憶されている第1の基礎情報と、前記メモリに記憶されている第2の基礎情報と、に基づいて前記擬似乱数を生成するように構成された評価装置。
  5.  請求項1乃至請求項4のいずれかに記載の評価装置であって、
     前記擬似乱数生成器により生成された擬似乱数は、ストリーム暗号方式における鍵ストリームとして用いられる、評価装置。
  6.  フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価する評価方法であって、
     前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付け、
     前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する、評価方法。
  7.  請求項6に記載の評価方法であって、
     前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価方法。
  8.  情報処理装置に、
     フィードバックシフトレジスタを備える記憶装置に記憶されている基礎情報に基づいて擬似乱数を生成する生成処理と、当該記憶装置に記憶されている基礎情報に基づいて当該基礎情報を更新する更新処理と、を交互に繰り返すことにより、鍵情報に基づく疑似乱数列を生成する擬似乱数生成器の安全性を評価させるための評価プログラムであって、
     前記情報処理装置に、
     前記記憶装置に記憶されている基礎情報のうちの、1回の前記更新処理において当該基礎情報を更新するために用いられる情報、及び、1回の前記生成処理において前記擬似乱数を生成するために用いられる情報の量である処理基礎情報量Uと、前記擬似乱数の情報の量である擬似乱数情報量mと、前記鍵情報の量である鍵情報量Lと、を受け付け、
     前記受け付けられた処理基礎情報量Uから、前記受け付けられた擬似乱数情報量mを減じた値である判定基準量U-mと、前記受け付けられた鍵情報量Lと、に基づいて、前記擬似乱数生成器が推測決定攻撃に対して安全であるか否かを判定する、処理を実行させるための評価プログラム。
  9.  請求項8に記載の評価プログラムであって、
     前記判定基準量U-mが、前記鍵情報量L以上である場合、前記擬似乱数生成器が推測決定攻撃に対して安全であると判定するように構成された評価プログラム。
PCT/JP2013/000443 2012-02-15 2013-01-29 評価装置、評価方法、及び、評価プログラム WO2013121710A2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014500076A JP5858503B2 (ja) 2012-02-15 2013-01-29 評価装置、評価方法、及び、評価プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012030469 2012-02-15
JP2012-030469 2012-02-15

Publications (1)

Publication Number Publication Date
WO2013121710A2 true WO2013121710A2 (ja) 2013-08-22

Family

ID=48984865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000443 WO2013121710A2 (ja) 2012-02-15 2013-01-29 評価装置、評価方法、及び、評価プログラム

Country Status (2)

Country Link
JP (1) JP5858503B2 (ja)
WO (1) WO2013121710A2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251376A (ja) * 1996-03-14 1997-09-22 Nippon Telegr & Teleph Corp <Ntt> 暗号/認証用疑似乱数生成器の安全性評価装置
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
JP4547534B2 (ja) * 2005-04-04 2010-09-22 独立行政法人情報通信研究機構 疑似乱数生成器強度評価装置及び暗号化装置

Also Published As

Publication number Publication date
JP5858503B2 (ja) 2016-02-10
JPWO2013121710A1 (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
JP5242560B2 (ja) 暗号化装置、復号化装置、暗号化方法及び集積回路
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
CN112152777B (zh) 一种面向同态密码运算的密钥转换方法、系统、设备及可读存储介质
JP5929905B2 (ja) 順序保存暗号化システム、装置、方法及びプログラム
WO2006098015A1 (ja) データ変換装置及びデータ変換方法
JPH1153173A (ja) 擬似乱数発生方法及び装置
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
WO2019043921A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP5858503B2 (ja) 評価装置、評価方法、及び、評価プログラム
JP6194136B2 (ja) 疑似乱数生成装置及び疑似乱数生成プログラム
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
JP2011119985A (ja) 暗号復号方法
JP5916246B2 (ja) 暗号評価装置、暗号評価方法、及び、暗号評価プログラム
JP2006338045A (ja) カオス・ニューラルネットワークを用いた乱数生成システム
JP5791562B2 (ja) 圧縮関数演算装置、圧縮関数演算方法、およびプログラム
JP2008286964A (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP2013037290A (ja) 情報処理システム、情報処理方法、及びプログラム
JP2013167729A (ja) 暗号化装置、暗号化回路、暗号化方法、及び、暗号化プログラム
JP4842694B2 (ja) ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム
JP4990843B2 (ja) 暗号演算装置、その方法、及びプログラム
Ding et al. New related key attacks on the RAKAPOSHI stream cipher
Jia et al. Research on ECDSA timing attack based on hidden Markov model
JP3881273B2 (ja) 暗号鍵生成装置、暗号鍵生成プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13749385

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase in:

Ref document number: 2014500076

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct app. not ent. europ. phase

Ref document number: 13749385

Country of ref document: EP

Kind code of ref document: A2