WO2017119668A1 - Data transmission apparatus and method enabling non-repudiation for transmission message - Google Patents

Data transmission apparatus and method enabling non-repudiation for transmission message Download PDF

Info

Publication number
WO2017119668A1
WO2017119668A1 PCT/KR2016/015458 KR2016015458W WO2017119668A1 WO 2017119668 A1 WO2017119668 A1 WO 2017119668A1 KR 2016015458 W KR2016015458 W KR 2016015458W WO 2017119668 A1 WO2017119668 A1 WO 2017119668A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash value
hash
message
random strings
random
Prior art date
Application number
PCT/KR2016/015458
Other languages
French (fr)
Korean (ko)
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 조선대학교산학협력단
Publication of WO2017119668A1 publication Critical patent/WO2017119668A1/en

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/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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Definitions

  • the present invention relates to a security technique for providing a non-repudiation function for a transmission message transmitted by a data transmission device to a data reception device in a network system.
  • a security environment such as verifying the integrity of the message or encrypting the message needs to be established.
  • a security service for checking whether a message delivered from a specific user is delivered by a true user is called a non-repudiation service.
  • non-repudiation services introduced in general online banking services or network systems are mainly digital signature systems using public key cryptography.
  • the message forwarding party encrypts the hash value of the message with its own private key, and then transmits the message and the value encrypted with the private key to the message receiving party.
  • a receiver decrypts the encrypted value with a public key corresponding to the private key, calculates a hash value for the message received from a message transmitter, and compares the decrypted value with the public key to a hash value for the message. If it is determined that the two values are equal to each other, it is proved that the encrypted value received from the message transmission side is really encrypted by the private key of the message transmission side, so that the message is transmitted from the true message transmission side. It is a system to confirm that.
  • An apparatus and method for non-repudiation of a transmission message generate predetermined random strings and perform a chain hash value operation process on the random strings.
  • the generated hash values are stored in a key storage unit, and the chain hash value calculation process is additionally performed on the random strings, thereby generating a verification key and transmitting the verification key to a data receiving apparatus.
  • a data transmission apparatus capable of non repudiation of a transmission message generates t (t is a natural number) random strings and then the t random strings for each of the t random strings
  • a random string generator for allocating sequence information indicating each of the two information sequences; and a chain hash value calculation process based on a predetermined first hash function for each of the t random strings, wherein k is a natural number. Storing the hash values generated in the k chain hash value calculation processes and the number of chain hash value calculations performed to generate the hash values so as to correspond to each other on the key storage unit.
  • a hash value storage unit configured to generate a message hash value by inputting a message to be transmitted to the data receiving device as an input to the selected second hash function, and n data (n is a natural number) of the message hash values.
  • a data converter for generating n numbers by dividing the data contained in the groups into i (i is a natural number) digits, and each of the n numbers among the t random strings; N is selected from the key storage unit with reference to n predetermined operation numbers that are preset to select n random strings to which the same sequence information is assigned and to extract one hash value for each of the n random strings.
  • a concatenation hash value corresponding to a predetermined number of operations corresponding to each random string among the n predetermined numbers of operations A hash value extractor for extracting a total of n hash values by extracting one hash value corresponding to the number of operations and a data transmitter for transmitting the message and the n hash values to the data receiving apparatus; do.
  • a non-repudiable data transmission method for generating a transmission message generates t (t is a natural number) random strings and then, for each of the t random strings, the t random strings Allocating sequence information indicating each of the plurality of random strings, and performing k (k is a natural number) times of a chain hash value calculation process based on a selected first hash function for each of the t random strings;
  • the t random strings are stored on the key storage unit by storing the hash values generated in the operation process and the number of consecutive hash value operations performed to generate the hash values so as to correspond to each other on the key storage unit.
  • n numbers by converting i (i is a natural number) to a number, selecting n random strings to which the same sequence information as each of the n numbers is allocated among the t random strings, and For each of the n random strings, the n random strings are selected from the key storage unit with reference to the n predetermined number of operations that are set in advance to extract one hash value for each of the n random strings.
  • extracting one hash value in which a chain hash value corresponding to a predetermined number of operations corresponding to a random string is stored Extracting a total of n hash values and transmitting the message and the n hash values to the data receiving apparatus.
  • An apparatus and method for non-repudiation of a transmission message generate predetermined random strings and perform a chain hash value operation process on the random strings.
  • the generated hash values are stored in a key storage unit, and the chain hash value calculation process is additionally performed on the random strings, thereby generating a verification key and transmitting the verification key to a data receiving apparatus.
  • sending a message to be transmitted to the data receiving device by digitally signing the message to be transmitted based on the hash values stored in the key storage unit, by inducing the data receiving device to verify the digital signature value based on the verification key,
  • the non-repudiation function for the transmitted message can be provided.
  • FIG. 1 is a diagram illustrating a structure of a data transmission apparatus capable of non-repudiation of a transmission message according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a structure of a data transmission apparatus capable of non-repudiation of a transmission message according to an embodiment of the present invention.
  • a non-repudiable data transmission apparatus 110 for a transmission message may include a random string generator 111, a hash value storage 112, and a message hash value.
  • a generator 114, a data converter 115, a hash value extractor 116, and a data transmitter 117 are included.
  • the random string generator 111 generates t (t is a natural number) random strings and allocates sequence information indicating each of the t random strings to each of the t random strings.
  • the hash value storage unit 112 performs k (k is a natural number) times of a chain hash value calculation process based on a predetermined first hash function for each of the t random strings, and performs k times.
  • k is a natural number
  • the key storage unit 113 is stored.
  • K hash values for each of the t random strings and a number of concatenation hash value operations corresponding to each of the k hash values are stored.
  • the hash value storage unit 112 applies the t random strings to each of the t random strings as input to the selected first hash function to supply a hash value. And performing the k-threshold hash value calculation process of calculating the additional hash value by applying the calculated hash value to the selected first hash function again as an input.
  • the message hash value generator 114 generates a message hash value by applying a message to be transmitted to the data receiving apparatus 120 as an input to the selected second hash function.
  • the data converter 115 divides the message hash value into n data groups (n is a natural number), converts the data contained in each group into a number of i (i is a natural number) digits, and converts the number to n numbers. Create them.
  • the hash value extractor 116 selects n random strings to which the same order information is allocated among the n numbers among the t random strings, and extracts one hash value for each of the n random strings. For each of the n random strings, the predetermined number of operations corresponding to each random string among the n predetermined operation numbers is determined from the key storage unit 113 with reference to the n predetermined operation numbers that are set in advance. A total of n hash values are extracted by extracting one hash value corresponding to the number of matching chain hash value operations.
  • the data transmitter 117 transmits the message and the n hash values to the data receiver 120.
  • the data transmission apparatus 110 capable of non repudiation of a transmission message may further include a verification key generator 118 and a verification key transmitter 119.
  • the verification key generator 118 performs k + 1 concatenation hash values on each of the t random strings and computes a k + 1 th concatenation hash value, respectively, for each of the t random strings.
  • the computed k + 1 th concatenation hash value is determined as a verification key for each of the t random strings, and is assigned to each of the t random strings for a verification key for each of the t random strings. Assign the same sequence information as the sequence information.
  • the verification key transmitter 119 transmits a verification key for each of the t random strings to the data receiving apparatus 120.
  • the data receiving device 120 is the predetermined first hash function, the predetermined second hash function, the n predetermined number of operations and the t random number on the memory
  • the message and the n hash values are received from the data transmission apparatus 110 capable of storing non-repudiation of the transmission message, the message is stored in the selected second hash function.
  • the random string generator 111 may generate t (t is a natural number) random strings and then allocate sequence information indicating each of the t random strings to each of the t random strings. Assuming that t is 1024, the random string generator 111 may generate 1024 random strings “s 1 , s 2 ,..., S 1024 ”, and the 1024 random strings may be generated. The order information "1" through "1024" can be allocated, respectively.
  • the hash value storage unit 112 applies the 1024 random strings to each of the 1024 random strings as an input to “f (x)”, which is a selected first hash function, for the 1024 random strings. It is possible to generate hash values "f 1 (s 1 ), f 1 (s 2 ), ..., f 1 (s 1024 )" for each.
  • the hash value storage unit 112 returns the hash values " f 1 (s 1 ), f 1 (s 2 ), ..., f 1 (s 1024 ) "
  • the second hash values "f 2 (s 1 ), f 2 (s 2 ), ..., f 2 (s 1024 )” may be generated as an input to "f (x)".
  • the hash value storage unit 112 performs k (k is a natural number) times of a chain hash value calculation process based on the selected first hash function, for each of the 1024 random strings, and performs the k chain hashes. Each hash value generated in a value calculation process may be generated.
  • the hash value storage unit 112 may select the selected first hash for each of the 1024 random strings.
  • the key storage unit 113 stores the hash values generated in the eight chain hash value calculation processes by performing the chain hash value calculation process based on a function eight times and the number of chain hash value calculations performed to generate the respective hash values.
  • the images may be stored to correspond to each other.
  • information may be stored on the key storage 113 as shown in Table 1 below.
  • the number indicated by the superscript of the hash value indicates the number of consecutive hash value calculations, and the number indicated by the subscript of the random string indicates sequence information indicating each random string.
  • f 3 (s 2 ) means a hash value generated by performing a 3 ′ chain hash value operation on the second random string.
  • the hash value storage unit 112 performs a total hash value calculation process based on the selected first hash function for each of the 1024 random strings a total of eight times, thereby generating hash values generated in each operation process.
  • the number of concatenation hash value calculations for each hash value may be stored on the key storage 113.
  • the verification key generation unit 118 performs the concatenation hash value calculation process nine times on each of the 1024 random strings, calculates a ninth concatenation hash value, and calculates the concatenation of the 1024 random strings.
  • the ninth concatenation hash value is determined as a verification key for each of the 1024 random strings, and at the same time, the same sequence number information is allocated to each of the 1024 random strings for the verification key for each of the 1024 random strings. Order information can be assigned.
  • the verification key generation unit 118 performs the concatenation hash value calculation process nine times on each of the 1024 random strings, as shown in Table 2 below, and performs a ninth concatenation hash on each of the 1024 random strings. You can generate a value.
  • the verification key generation unit 118 determines the ninth concatenation hash value calculated for each of the 1024 random strings as a verification key for each of the 1024 random strings, and at the same time, the 1024 random strings. For each verification key, the same sequence information as the sequence information allocated to each of the 1024 random strings may be allocated.
  • the verification key generation unit 118 performs the random string "s 1 for" f 9 (s 1 ) "".
  • Order information which is the same order information as "”, may be allocated.
  • the verification key transmission unit 119 determines that "f 9 is a verification key for each of the 1024 random strings. (s 1 ), f 9 (s 2 ), ..., f 9 (s 1024 ) "may be transmitted to the data receiving device 120.
  • the data receiving apparatus 120 receives “f 9 (s 1 ), f 9 (s 2 ), ..., f 9 (s 1024 ),” which are verification keys for each of the 1024 random strings. Can be stored in memory.
  • Hash values for each of the 1024 random strings as shown in Table 2 are utilized as key values for generating the digital signature value for the message to be transmitted to the data receiving apparatus 110 by the data transmitting apparatus 110, as shown in Table 2 above.
  • a verification key for each of the 1024 random strings is used as a verification key value for the data receiving apparatus 120 to verify the digital signature value.
  • the message hash value generator 114 transmits the message “m” to a predetermined second hash function "h". (x) "as an input to generate the message hash value” h (m) ".
  • the data converter 115 divides the message hash value " h (m) " into n data groups (n is a natural number) and divides data contained in each group by i (i is a natural number). You can generate n numbers by converting them to decimal numbers.
  • the data converter 115 divides the message hash value "h (m)" into eight data groups, A total of eight numbers may be generated by converting data included in each of the eight data groups into a decimal number.
  • the data converter 115 may convert the message hash value "h (m)" into 8 data groups by 1 byte. After dividing by, converting one-byte data included in each data group into a decimal number, a total of eight numbers can be generated.
  • the hash value extractor 116 may select eight random strings to which the same order information is allocated among the eight numbers among the 1024 random strings.
  • the hash value extractor 116 performs one hash value for each of the eight random strings "s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , s 814 ".
  • the predetermined operation corresponding to each of the eight predetermined strings from the key storage unit 113 by referring to the eight selected predetermined number of operations to extract the A total of eight hash values can be extracted by extracting one hash value that corresponds to the number of consecutive hash value calculations corresponding to the number of times.
  • the eight predetermined number of operations that are preset to extract one hash value for each of the eight random strings are " 8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times. Times, once ".
  • the hash value extractor 116 may be configured with respect to “s 32 ” among the eight random strings s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814.
  • Eight hash values generated from the key storage 113 storing the information shown in Table 1 corresponding to the random string "s 32 " are "f 1 (s 32 ), f 2 (s 32 ), and f 3.
  • the hash value extracting unit 116 which are the eight random string "s 32, s 592, s 164, s 7, s 985, s 223, s 327, s 814" of said for "s 592" of Eight hash values "f 1 (s 592 ), f 2 (s 592 ), and f 3 generated from the key storage unit 113 that store the information shown in Table 1 corresponding to the random string" s 592 "are stored.
  • the hash value extractor 116 may select “s 164 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”. Eight hash values "f 1 (s 164 ), f 2 (s 164 ), and f 3 generated from the key storage unit 113 having the information shown in Table 1 corresponding to the random string" s 164 "are stored.
  • the hash value extractor 116 may be configured with respect to “s 7 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”.
  • the hash value extractor 116 may be configured with respect to “s 985 ” among the eight random strings s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814.
  • the hash value extractor 116 may be configured with respect to “s 223 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”.
  • Eight hash values "f 1 (s 223 ), f 2 (s 223 ), and f 3 generated from the key storage unit 113 that store the information shown in Table 1 corresponding to the random string" s 223 "are stored.
  • the hash value extractor 116 may select “s 327 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”.
  • the hash value extracting unit 116 is for the "s 814" of the "s 32, s 592, s 164, s 7, s 985, s 223, s 327, s 814" which includes the eight random string Eight hash values "f 1 (s 814 ), f 2 (s 814 ), f generated from the key storage unit 113 storing the information shown in Table 1 corresponding to the random string” s 814 ", f 3 (s 814 ), f 4 (s 814 ), f 5 (s 814 ), f 6 (s 814 ), f 7 (s 814 ), f 8 (s 814 ) ""F 1 ( s814 )" corresponding to the number of consecutive hash value calculations corresponding to the number of times may be extracted.
  • the hash value extractor 116 eventually ends with " f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f from the key store 113. 8 hash values " 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 )" may be extracted.
  • the data transmitter 117 transmits the message “m” to the data receiving apparatus 120, and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), and f 6 ( s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ".
  • the eight hash values “f 8 (s 32 ), f 7 (s 592 ), and f 6 ( s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ".
  • the data receiving apparatus 120 transmits the message “m” and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), from the data transmission apparatus 110.
  • f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "are received from the data transmission apparatus 110 in advance and
  • the eight hash values "f 8 (s 32 ), f 7 (s 592 ) and f 6 (s) based on the verification key for each of the 1024 random strings shown in Table 2 already stored in memory.
  • the memory of the data receiving apparatus 120 includes not only a verification key for each of the 1024 random strings shown in Table 2, but also the selected first hash function " f (x) " In the hash function "h (x)" and the hash value extractor 116, the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and 814 " respectively.
  • the eight selected operations “8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times, 1 times" which were used to extract the hash value for are stored in advance.
  • the data receiving apparatus 120 may transmit the message “m” and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), and f 5 (s 7 ). , f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ”, the message“ m ”is converted into the selected second hash function“ h ( x) "to generate the message hash value" h (m) ".
  • the data receiving apparatus 120 divides the message hash value "h (m)" into eight data groups and converts the data contained in each group into a decimal number to convert the eight verification numbers. Can be generated.
  • the data receiving apparatus 120 and the eight verification numbers "32, 592, 164, 7, 985, 223, 327, 814" out of the verification keys for each of the 1024 random strings shown in Table 2 Eight verification keys assigned with the same sequence number may be selected.
  • the data receiving apparatus 120 may select “f 9 (s 32 ), f 9 (s 592 ), f 9 as the eight verification keys from among the verification keys for each of the 1024 random strings shown in Table 2 above. 164 , f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) ”can be selected.
  • the data receiving device 120 refers to the eight hashes by referring to the eight predetermined operations "8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times, 1 times".
  • the data receiving device 120 may generate the eight hash values because the eight predetermined number of operations are "eight times, seven times, six times, five times, four times, three times, two times, one time.”
  • f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) may be performed to perform a chain hash value calculation process corresponding to" eight times, seven times, six times, five times, four times, three times, two times, and one time ", respectively.
  • the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985). ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ", further performs a chain hash value calculation process based on the first hash function" f (x) "selected above.
  • the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985), f 3 (s 223 ), f 2 (s 327), f 1 (s 814) " of the" f 8 (s 32), "a total of” eight times “the chain hash value calculation process is performed to the generated hash by performing "f 8 (s 32)” the chain hash value calculation process once more for because it can determine that the value can be calculated by the ninth chain hash value of "f 9 (s 32)” .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 7 (s 592 ) "hash values generated by performing a total of" seven times “chain hash value calculation processes. because it can not confirm the "f 7 (s 592)" by further performing the hash chain value calculation process 2 only once, it is possible to calculate a ninth chain hash value of "f 9 (s 592)" .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 6 (s 164 ) "hash values generated by performing a total” six times “chain hash value calculation process. because be confirmed by "f 6 (s 164)" performed only three times more to the chain hash value calculation process for a can be calculated by the ninth chain hash value of "f 9 (s 164)” .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 5 (s 7 ) "hash values generated by performing a total of" five times "chain hash value calculation processes. because it is confirmed by "f 5 (s 7)" performs the chain hash value calculation process four times more for a can be calculated by the ninth chain hash value of "f 9 (s 7)" .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ).
  • "f 4 (s 985 )" of f 3 (s 223 ), f 2 (s 327 ) and f 1 (s 814 ) "are hash values generated by performing a total of" four times "chain hash value calculation processes. because be confirmed by performing "f 4 (s 985)” to the hash chain value calculation process once more for 5, it is possible to calculate a ninth chain hash value of "f 9 (s 985)” .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223), f 2 (s 327), f 1 (s 814) " of the” f 3 (s 223), "a total of” three times "chain hash value computation process is performed to the generated hash value that because be confirmed by performing "f 3 (s 223)” to the hash chain value calculation process once more for 6, it is possible to calculate a ninth chain hash value of "f 9 (s 223)" .
  • the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 2 (s 327 ) "hash values generated by performing a total” two "chain hash value calculation process. because it can be calculated to check a ninth chain hash value of "f 2 (s 327)” , "f 9 (s 327)” by further performing the hash chain value calculation process only once for 7.
  • the data receiving device 120 is the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ), where "f 1 (s 814 )" is a "one time” chain hash value. Because it can be confirmed that the "f 1 (s 814 )" by performing the chain hash value calculation process only eight more times, it is possible to calculate the ninth chain hash value "f 9 (s 814 )".
  • the data receiving device 120 eventually receives the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 ( s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "as the ninth chained hash values for" f 9 (s 32 ), f 9 (s 592 ), f 9 ( 164 ), f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) ”.
  • the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985). ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "for the ninth chained hash values" f 9 (s 32 ), f 9 (s 592 ), f 9 ( 164 ), f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) "and the 1024 random numbers shown in Table 2 above.
  • f 9 (s 223 ), f 9 (s 327 ), and f 9 (s 814 ) are compared to each other and both values are found to be identical, the message “m” is stored in the data transmission apparatus 110. It can be confirmed that the digital signature is based on the hash values that are really stored on the key storage 113, and finally, the authentication for the message "m” can be completed.
  • the data transmission apparatus 110 capable of non repudiation of a transmission message according to an embodiment of the present invention generates predetermined random strings and performs a hash hash operation on the random strings to generate the hash.
  • a verification key is generated to transmit the verification key to the data receiving apparatus 120 and then the data.
  • the data reception device 120 based on the verification key.
  • FIG. 2 is a flowchart illustrating a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention.
  • step S210 after generating t (t is a natural number) random strings, sequence information indicating each of the t random strings is allocated to each of the t random strings.
  • each of the t random strings is generated in the k chain hash value calculation process by performing a chain hash value calculation process based on the selected first hash function k times (k is a natural number).
  • K hashes for each of the t random strings on the key storage unit by storing the hash values of and the number of concatenation hash value operations performed to generate the respective hash values corresponding to each other on the key storage unit. Store the values and the number of concatenation hash value operations corresponding to each of the k hash values.
  • step S220 a hash value is calculated by applying the t random strings to the selected first hash function for each of the t random strings.
  • the k hash value calculation process of the method of calculating an additional hash value by applying the calculated hash value as an input back to the selected first hash function may be performed k times.
  • a message hash value is generated by applying a message to be transmitted to the data receiving device as an input to the selected second hash function.
  • step S240 the message hash value is divided into n data groups (n is a natural number), and the data contained in each group is converted into a number of i (i is a natural number) digits to generate n numbers. do.
  • step S250 n random strings to which the same order information is allocated among the n numbers among the t random strings are selected, and in advance to extract one hash value for each of the n random strings.
  • a total of n hash values are extracted by extracting one hash value corresponding to the number of operations.
  • step S260 the message and the n hash values are transmitted to the data receiving device.
  • the data transmission method capable of non repudiation of the transmission message includes k + 1 times the concatenation hash value calculation process for each of the t random strings before step S230. Calculate a k + 1 th concatenation hash value, determine the k + 1 th concatenation hash value calculated for each of the t random strings as a verification key for each of the t random strings, and at the same time, Allocating the same sequence information as the sequence information allocated to each of the t random strings with respect to the verify key for each of the plurality of random strings, and transmitting the verify key for each of the t random strings to the data receiving apparatus.
  • the method may further include transmitting.
  • the data receiving apparatus is configured to store the selected first hash function, the selected second hash function, the n predetermined number of operations and the t random strings on a memory. It may store a verification key for each.
  • the data receiving device when the message and the n hash values are received, the data receiving device generates the message hash value by applying the message as an input to the selected second hash function, and converts the message hash value into n data. After dividing the data into groups, the data contained in each group is converted into the number of i-numbers to generate n verification numbers, and each of the n verification numbers from among the verification keys for each of the t random strings. After selecting n verification keys to which the same sequence information is assigned, the number of concatenation hash value calculations for each of the n hash values is checked with reference to the n predetermined operation numbers, and concatenation for each of the n hash values is performed.
  • the non-repudiation data transmission method according to an embodiment of the present invention may correspond to the configuration of the operation of the non-repudiation data transmission apparatus 110 described above with reference to FIG. 1. Therefore, more detailed description thereof will be omitted.
  • the non-repudiable data transmission method according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution by combining with a computer.
  • a data transmission method capable of non repudiation of a transmission message may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Magneto-optical media and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

Abstract

Disclosed are a data transmission apparatus and method enabling non-repudiation for a transmission message. According to one embodiment of the present invention, the data transmission apparatus and method enabling the non-repudiation for the transmission message: generate predetermined random strings; store hash values, which are generated by performing a chain hash value calculation process for the random strings, in a key storage unit; additionally perform the chain hash value calculation process for the random strings, so as to generate a verification key; transmit the verification key to a data reception device; perform an electronic signature for the message to be transmitted to the data reception device, on the basis of the hash values stored in the key storage unit; and transmit the message having the electronic signature to the data reception device so as to induce the data reception device to verify an electronic signature value on the basis of the verification key, thereby providing a non-repudiation function for the transmission message.

Description

전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법Data transmission device and method capable of non repudiation of transmission message
본 발명은 네트워크 시스템에서 데이터 전송 장치가 데이터 수신 장치로 전송하는 전송 메시지에 대한 부인 방지 기능을 제공하기 위한 보안 기술과 관련된다.The present invention relates to a security technique for providing a non-repudiation function for a transmission message transmitted by a data transmission device to a data reception device in a network system.
최근, 인터넷 기술이 발전함에 따라, 다양한 인터넷 가능 단말 간에 데이터를 송수신할 수 있는 환경이 구축되고 있다. 이러한 인터넷 기술의 발달로 인해 사물인터넷 기술이나 스마트 그리드(smart grid) 관련 기술들이 등장하고 있다.Recently, with the development of Internet technology, an environment capable of transmitting and receiving data between various Internet-enabled terminals has been established. Due to the development of the Internet technology, IoT technology or smart grid related technologies are emerging.
네트워크 시스템에서 단말 간에 메시지를 주고받을 때에는 메시지에 대한 무결성을 검증하거나 메시지에 대한 암호화 등을 수행하는 것과 같은 보안 환경이 구축될 필요가 있다. 특히, 특정 사용자로부터 전달되는 메시지가 진정한 사용자에 의해서 전달되는 것인지 여부를 확인하기 위한 보안 서비스를 부인 방지 서비스라고 칭한다.When a message is exchanged between terminals in a network system, a security environment such as verifying the integrity of the message or encrypting the message needs to be established. In particular, a security service for checking whether a message delivered from a specific user is delivered by a true user is called a non-repudiation service.
보통, 일반적인 온라인 뱅킹 서비스나 네트워크 시스템에서 도입하고 있는 부인 방지 서비스는 공개키 암호화 방식을 이용한 전자서명 시스템이 주를 이루고 있다.In general, non-repudiation services introduced in general online banking services or network systems are mainly digital signature systems using public key cryptography.
공개키 암호화 방식의 전자서명 시스템이란 메시지를 전달하는 측에서 해당 메시지에 대한 해시 값에 대해 자신의 개인키로 암호화를 수행한 후 해당 메시지와 상기 개인키로 암호화한 값을 메시지 수신측에 전달하면, 메시지 수신측에서 상기 개인키에 대응하는 공개키로 상기 암호화한 값을 복호화하고, 메시지 전송측으로부터 수신한 상기 메시지에 대한 해시 값을 연산한 후 상기 공개키로 복호화한 값과 상기 메시지에 대한 해시 값을 비교하여 두 값이 서로 동일한 것으로 판단되면, 메시지 전송측으로부터 수신된 상기 암호화한 값이 상기 메시지 전송측의 개인키에 의해서 정말로 암호화된 값임이 입증됨에 따라, 상기 메시지가 진정한 메시지 전송측으로부터 전달된 메시지임을 확인하는 시스템이다.In the digital signature system of the public key encryption method, the message forwarding party encrypts the hash value of the message with its own private key, and then transmits the message and the value encrypted with the private key to the message receiving party. A receiver decrypts the encrypted value with a public key corresponding to the private key, calculates a hash value for the message received from a message transmitter, and compares the decrypted value with the public key to a hash value for the message. If it is determined that the two values are equal to each other, it is proved that the encrypted value received from the message transmission side is really encrypted by the private key of the message transmission side, so that the message is transmitted from the true message transmission side. It is a system to confirm that.
이러한 공개키 암호화 방식의 전자서명 시스템은 메시지 전송측의 부인 방지를 구현하는데 매우 용이하게 사용될 수 있지만, 매우 많은 연산량을 요구하기 때문에 연산에 사용할 수 있는 하드웨어 또는 소프트웨어 자원이 매우 부족한 환경에서는 공개키 암호화 방식을 사용할 수 없는 단점이 있다.Such public key cryptography digital signature system can be used very easily to implement non repudiation of the message sender. However, since it requires a large amount of computation, public key encryption can be used in an environment where there is very little hardware or software resources available for computation. There is a drawback to not using the method.
특히, 최근에는 일반 컴퓨터와 같은 장치들뿐만 아니라, 수많은 사물들이 인터넷에 연결되는 사물 인터넷 시스템이나 네트워크 기반의 전력 시스템인 스마트 그리드 시스템이 도입되고 있는 추세이지만, 이러한 환경에서 사용되는 대부분의 단말 장치들은 연산 자원이 부족하다는 점에서, 기존의 공개키 암호화 기반의 부인 방지 기능을 사용하기 어려울 것으로 예상된다.In particular, in recent years, not only devices such as general computers, but also Internet of Things (IoT) system or a network-based power system smart grid system is being introduced, but most terminal devices used in such an environment In view of the lack of computing resources, it is expected that it will be difficult to use non-repudiation based on public key encryption.
따라서, 기존의 공개키 암호화 기반의 부인 방지 기능이 아닌 새로운 형태의 방식을 통해서 부인 방지 기능을 제공할 수 있는 시스템에 대한 연구가 필요하다.Therefore, there is a need for a system that can provide a non-repudiation function through a new form of non-repudiation function based on existing public key encryption.
본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법은 소정의 랜덤 스트링(string)들을 생성하고, 상기 랜덤 스트링들에 대해 연쇄(chain) 해시 값 연산 과정을 수행하여 생성된 해시 값들을 키 저장부 상에 저장해 놓고, 상기 랜덤 스트링들에 대해 상기 연쇄 해시 값 연산 과정을 추가적으로 수행함으로써, 검증키를 생성하여 상기 검증키를 데이터 수신 장치로 전송한 후 상기 데이터 수신 장치로 전송할 메시지를 상기 키 저장부에 저장되어 있는 해시 값들을 기초로 전자서명하여 상기 데이터 수신 장치로 전송하면, 상기 데이터 수신 장치가 상기 검증키를 기초로 전자서명 값을 검증할 수 있도록 유도함으로써, 상기 전송 메시지에 대한 부인 방지 기능을 제공할 수 있도록 한다.An apparatus and method for non-repudiation of a transmission message according to an embodiment of the present invention generate predetermined random strings and perform a chain hash value operation process on the random strings. The generated hash values are stored in a key storage unit, and the chain hash value calculation process is additionally performed on the random strings, thereby generating a verification key and transmitting the verification key to a data receiving apparatus. By sending a message to be transmitted to the data receiving device by digitally signing the message to be transmitted based on the hash values stored in the key storage unit, by inducing the data receiving device to verify the digital signature value based on the verification key, It is possible to provide a non-repudiation function for the transmission message.
본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치는 t(t는 자연수)개의 랜덤 스트링(string)들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당하는 랜덤 스트링 생성부, 상기 t개의 랜덤 스트링들 각각에 대해서, 선정된(predetermined) 제1 해시 함수에 기초한 연쇄(chain) 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부 상에 서로 대응되도록 저장함으로써, 상기 키 저장부 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장하는 해시 값 저장부, 데이터 수신 장치로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성하는 메시지 해시 값 생성부, 상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성하는 데이터 변환부, 상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 상기 키 저장부로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출하는 해시 값 추출부 및 상기 데이터 수신 장치에 대해 상기 메시지와 상기 n개의 해시 값들을 전송하는 데이터 전송부를 포함한다.A data transmission apparatus capable of non repudiation of a transmission message according to an embodiment of the present invention generates t (t is a natural number) random strings and then the t random strings for each of the t random strings A random string generator for allocating sequence information indicating each of the two information sequences; and a chain hash value calculation process based on a predetermined first hash function for each of the t random strings, wherein k is a natural number. Storing the hash values generated in the k chain hash value calculation processes and the number of chain hash value calculations performed to generate the hash values so as to correspond to each other on the key storage unit. In the storage unit, k hash values for each of the t random strings and a chain hash value operation number corresponding to each of the k hash values are stored. A hash value storage unit configured to generate a message hash value by inputting a message to be transmitted to the data receiving device as an input to the selected second hash function, and n data (n is a natural number) of the message hash values. A data converter for generating n numbers by dividing the data contained in the groups into i (i is a natural number) digits, and each of the n numbers among the t random strings; N is selected from the key storage unit with reference to n predetermined operation numbers that are preset to select n random strings to which the same sequence information is assigned and to extract one hash value for each of the n random strings. A concatenation hash value corresponding to a predetermined number of operations corresponding to each random string among the n predetermined numbers of operations A hash value extractor for extracting a total of n hash values by extracting one hash value corresponding to the number of operations and a data transmitter for transmitting the message and the n hash values to the data receiving apparatus; do.
또한, 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법은 t(t는 자연수)개의 랜덤 스트링들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당하는 단계, 상기 t개의 랜덤 스트링들 각각에 대해서, 선정된 제1 해시 함수에 기초한 연쇄 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부 상에 서로 대응되도록 저장함으로써, 상기 키 저장부 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장하는 단계, 데이터 수신 장치로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성하는 단계, 상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성하는 단계, 상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 상기 키 저장부로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출하는 단계 및 상기 데이터 수신 장치에 대해 상기 메시지와 상기 n개의 해시 값들을 전송하는 단계를 포함한다.Further, according to an embodiment of the present invention, a non-repudiable data transmission method for generating a transmission message generates t (t is a natural number) random strings and then, for each of the t random strings, the t random strings Allocating sequence information indicating each of the plurality of random strings, and performing k (k is a natural number) times of a chain hash value calculation process based on a selected first hash function for each of the t random strings; The t random strings are stored on the key storage unit by storing the hash values generated in the operation process and the number of consecutive hash value operations performed to generate the hash values so as to correspond to each other on the key storage unit. Storing k hash values for each and the number of concatenation hash value operations corresponding to each of the k hash values, to the data receiving apparatus Generating a message hash value by applying a message to be transmitted as an input to the selected second hash function, dividing the message hash value into n data groups (n is a natural number), and storing the data contained in each group. generating n numbers by converting i (i is a natural number) to a number, selecting n random strings to which the same sequence information as each of the n numbers is allocated among the t random strings, and For each of the n random strings, the n random strings are selected from the key storage unit with reference to the n predetermined number of operations that are set in advance to extract one hash value for each of the n random strings. By extracting one hash value in which a chain hash value corresponding to a predetermined number of operations corresponding to a random string is stored Extracting a total of n hash values and transmitting the message and the n hash values to the data receiving apparatus.
본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법은 소정의 랜덤 스트링(string)들을 생성하고, 상기 랜덤 스트링들에 대해 연쇄(chain) 해시 값 연산 과정을 수행하여 생성된 해시 값들을 키 저장부 상에 저장해 놓고, 상기 랜덤 스트링들에 대해 상기 연쇄 해시 값 연산 과정을 추가적으로 수행함으로써, 검증키를 생성하여 상기 검증키를 데이터 수신 장치로 전송한 후 상기 데이터 수신 장치로 전송할 메시지를 상기 키 저장부에 저장되어 있는 해시 값들을 기초로 전자서명하여 상기 데이터 수신 장치로 전송하면, 상기 데이터 수신 장치가 상기 검증키를 기초로 전자서명 값을 검증할 수 있도록 유도함으로써, 상기 전송 메시지에 대한 부인 방지 기능을 제공할 수 있다.An apparatus and method for non-repudiation of a transmission message according to an embodiment of the present invention generate predetermined random strings and perform a chain hash value operation process on the random strings. The generated hash values are stored in a key storage unit, and the chain hash value calculation process is additionally performed on the random strings, thereby generating a verification key and transmitting the verification key to a data receiving apparatus. By sending a message to be transmitted to the data receiving device by digitally signing the message to be transmitted based on the hash values stored in the key storage unit, by inducing the data receiving device to verify the digital signature value based on the verification key, The non-repudiation function for the transmitted message can be provided.
도 1은 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치의 구조를 도시한 도면이다1 is a diagram illustrating a structure of a data transmission apparatus capable of non-repudiation of a transmission message according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법을 도시한 순서도이다.2 is a flowchart illustrating a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치의 구조를 도시한 도면이다1 is a diagram illustrating a structure of a data transmission apparatus capable of non-repudiation of a transmission message according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지 가능한 데이터 전송 장치(110)는 랜덤 스트링(string) 생성부(111), 해시 값 저장부(112), 메시지 해시 값 생성부(114), 데이터 변환부(115), 해시 값 추출부(116) 및 데이터 전송부(117)를 포함한다.1, a non-repudiable data transmission apparatus 110 for a transmission message according to an embodiment of the present invention may include a random string generator 111, a hash value storage 112, and a message hash value. A generator 114, a data converter 115, a hash value extractor 116, and a data transmitter 117 are included.
랜덤 스트링 생성부(111)는 t(t는 자연수)개의 랜덤 스트링(string)들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당한다.The random string generator 111 generates t (t is a natural number) random strings and allocates sequence information indicating each of the t random strings to each of the t random strings.
해시 값 저장부(112)는 상기 t개의 랜덤 스트링들 각각에 대해서, 선정된(predetermined) 제1 해시 함수에 기초한 연쇄(chain) 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부(113) 상에 서로 대응되도록 저장함으로써, 키 저장부(113) 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장한다.The hash value storage unit 112 performs k (k is a natural number) times of a chain hash value calculation process based on a predetermined first hash function for each of the t random strings, and performs k times. By storing the respective hash values generated in the chain hash value calculation process and the number of chain hash value calculations performed to generate the respective hash values on the key storage unit 113, the key storage unit 113 is stored. K hash values for each of the t random strings and a number of concatenation hash value operations corresponding to each of the k hash values are stored.
이때, 본 발명의 일실시예에 따르면, 해시 값 저장부(112)는 상기 t개의 랜덤 스트링들 각각에 대해서, 상기 t개의 랜덤 스트링들을 상기 선정된 제1 해시 함수에 입력으로 인가하여 해시 값을 연산하고, 상기 연산된 해시 값을 상기 선정된 제1 해시 함수에 다시 입력으로 인가하여 추가 해시 값을 연산하는 방식의 상기 연쇄 해시 값 연산 과정을 상기 k회 수행할 수 있다.At this time, according to an embodiment of the present invention, the hash value storage unit 112 applies the t random strings to each of the t random strings as input to the selected first hash function to supply a hash value. And performing the k-threshold hash value calculation process of calculating the additional hash value by applying the calculated hash value to the selected first hash function again as an input.
메시지 해시 값 생성부(114)는 데이터 수신 장치(120)로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성한다.The message hash value generator 114 generates a message hash value by applying a message to be transmitted to the data receiving apparatus 120 as an input to the selected second hash function.
데이터 변환부(115)는 상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성한다.The data converter 115 divides the message hash value into n data groups (n is a natural number), converts the data contained in each group into a number of i (i is a natural number) digits, and converts the number to n numbers. Create them.
해시 값 추출부(116)는 상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 키 저장부(113)로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출한다.The hash value extractor 116 selects n random strings to which the same order information is allocated among the n numbers among the t random strings, and extracts one hash value for each of the n random strings. For each of the n random strings, the predetermined number of operations corresponding to each random string among the n predetermined operation numbers is determined from the key storage unit 113 with reference to the n predetermined operation numbers that are set in advance. A total of n hash values are extracted by extracting one hash value corresponding to the number of matching chain hash value operations.
데이터 전송부(117)는 데이터 수신 장치(120)에 대해 상기 메시지와 상기 n개의 해시 값들을 전송한다.The data transmitter 117 transmits the message and the n hash values to the data receiver 120.
이때, 본 발명의 일실시예에 따르면, 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치(110)는 검증키 생성부(118) 및 검증키 전송부(119)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the data transmission apparatus 110 capable of non repudiation of a transmission message may further include a verification key generator 118 and a verification key transmitter 119.
검증키 생성부(118)는 상기 t개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 k+1회 수행하여 k+1번째 연쇄 해시 값을 연산하고, 상기 t개의 랜덤 스트링들 각각에 대해서 연산된 상기 k+1번째 연쇄 해시 값을 상기 t개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 t개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 t개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당한다.The verification key generator 118 performs k + 1 concatenation hash values on each of the t random strings and computes a k + 1 th concatenation hash value, respectively, for each of the t random strings. The computed k + 1 th concatenation hash value is determined as a verification key for each of the t random strings, and is assigned to each of the t random strings for a verification key for each of the t random strings. Assign the same sequence information as the sequence information.
검증키 전송부(119)는 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 데이터 수신 장치(120)로 전송한다.The verification key transmitter 119 transmits a verification key for each of the t random strings to the data receiving apparatus 120.
이때, 본 발명의 일실시예에 따르면, 데이터 수신 장치(120)는 메모리 상에 상기 선정된 제1 해시 함수, 상기 선정된 제2 해시 함수, 상기 n개의 선정된 연산 횟수들 및 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 저장하고 있고, 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치(110)로부터 상기 메시지와 상기 n개의 해시 값들이 수신되면, 상기 메시지를 상기 선정된 제2 해시 함수에 입력으로 인가하여 상기 메시지 해시 값을 생성하고, 상기 메시지 해시 값을 n개의 데이터 그룹들로 분할한 후 각 그룹내에 포함되어 있는 데이터를 상기 i진수의 숫자로 변환하여 n개의 검증 숫자들을 생성하며, 상기 t개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 n개의 검증 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 검증키들을 선택한 후 상기 n개의 선정된 연산 횟수들을 참조하여 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 확인하고, 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 기초로 상기 k+1번째 연쇄 해시 값이 연산될 때까지 상기 n개의 해시 값들 각각에 대해 상기 선정된 제1 해시 함수에 기초한 상기 연쇄 해시 값 연산 과정을 수행하여 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값을 연산한 후 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값이 상기 n개의 검증키들과 모두 일치하는 것으로 확인되면, 상기 메시지에 대한 인증을 완료할 수 있다.At this time, according to an embodiment of the present invention, the data receiving device 120 is the predetermined first hash function, the predetermined second hash function, the n predetermined number of operations and the t random number on the memory When the message and the n hash values are received from the data transmission apparatus 110 capable of storing non-repudiation of the transmission message, the message is stored in the selected second hash function. Generates the message hash value by applying the input, divides the message hash value into n data groups, converts the data contained in each group into the number of the binary number, and generates n verification numbers, After selecting n verification keys to which the same order information as each of the n verification numbers is assigned among the verification keys for each of the t random strings A chain hash value operation count for each of the n hash values is determined by referring to the n predetermined operation counts, and the k + 1 th chain hash is performed based on the chain hash value operation count for each of the n hash values. Compute the k + 1 th concatenation hash value for each of the n hash values by performing the concatenation hash value calculation process based on the selected first hash function for each of the n hash values until a value is calculated. Then, if it is confirmed that the k + 1 th chain hash value for each of the n hash values matches all of the n verification keys, authentication for the message may be completed.
이하에서는 본 발명에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치(110)의 동작에 대해 예를 들어 상세히 설명하기로 한다.Hereinafter, an operation of the data transmission apparatus 110 capable of non repudiation of a transmission message according to the present invention will be described in detail.
우선, 랜덤 스트링 생성부(111)는 t(t는 자연수)개의 랜덤 스트링들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당할 수 있는데, 상기 t를 1024라고 가정하면, 랜덤 스트링 생성부(111)는 1024개의 랜덤 스트링들인 "s1, s2, ...., s1024"를 생성할 수 있고, 상기 1024개의 랜덤 스트링들에 대해 각각 "1"부터 "1024"라는 순번 정보를 할당할 수 있다.First, the random string generator 111 may generate t (t is a natural number) random strings and then allocate sequence information indicating each of the t random strings to each of the t random strings. Assuming that t is 1024, the random string generator 111 may generate 1024 random strings “s 1 , s 2 ,..., S 1024 ”, and the 1024 random strings may be generated. The order information "1" through "1024" can be allocated, respectively.
그리고, 해시 값 저장부(112)는 상기 1024개의 랜덤 스트링들 각각에 대해서, 상기 1024개의 랜덤 스트링들을 선정된 제1 해시 함수인 "f(x)"에 입력으로 인가하여 상기 1024개의 랜덤 스트링들 각각에 대한 해시 값인 "f1(s1), f1(s2), ..., f1(s1024)"를 생성할 수 있다.In addition, the hash value storage unit 112 applies the 1024 random strings to each of the 1024 random strings as an input to “f (x)”, which is a selected first hash function, for the 1024 random strings. It is possible to generate hash values "f 1 (s 1 ), f 1 (s 2 ), ..., f 1 (s 1024 )" for each.
그러고 나서, 해시 값 저장부(112)는 상기 해시 값 "f1(s1), f1(s2), ..., f1(s1024)"를 다시 상기 선정된 제1 해시 함수인 "f(x)"에 입력으로 인가하여 두 번째 해시 값들인 "f2(s1), f2(s2), ..., f2(s1024)"를 생성할 수 있다. 이러한 방식으로 해시 값 저장부(112)는 상기 1024개의 랜덤 스트링들 각각에 대해서, 상기 선정된 제1 해시 함수에 기초한 연쇄 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들을 생성할 수 있는데, 상기 k를 "8"로 가정하면, 해시 값 저장부(112)는 상기 1024개의 랜덤 스트링들 각각에 대해서, 상기 선정된 제1 해시 함수에 기초한 연쇄 해시 값 연산 과정을 8회 수행하여 상기 8회의 연쇄 해시 값 연산 과정에서 생성되는 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부(113) 상에 서로 대응되도록 저장할 수 있다.Then, the hash value storage unit 112 returns the hash values " f 1 (s 1 ), f 1 (s 2 ), ..., f 1 (s 1024 ) " The second hash values "f 2 (s 1 ), f 2 (s 2 ), ..., f 2 (s 1024 )" may be generated as an input to "f (x)". In this manner, the hash value storage unit 112 performs k (k is a natural number) times of a chain hash value calculation process based on the selected first hash function, for each of the 1024 random strings, and performs the k chain hashes. Each hash value generated in a value calculation process may be generated. Assuming k is “8”, the hash value storage unit 112 may select the selected first hash for each of the 1024 random strings. The key storage unit 113 stores the hash values generated in the eight chain hash value calculation processes by performing the chain hash value calculation process based on a function eight times and the number of chain hash value calculations performed to generate the respective hash values. The images may be stored to correspond to each other.
관련해서, 키 저장부(113) 상에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.In this regard, information may be stored on the key storage 113 as shown in Table 1 below.
랜덤 스트링들Random strings 1회 1 time 연산 calculate 해시 값Hash value 2회 Episode 2 연산 calculate 해시 값Hash value 3회 3rd time 연산 calculate 해시 값Hash value 4회 4 times 연산 calculate 해시 값Hash value 5회 5th 연산 calculate 해시 값Hash value 6회 6th 연산 calculate 해시 값Hash value 7회 7th 연산 calculate 해시 값Hash value 8회 8th 연산 calculate 해시 값Hash value
s1 s 1 f1(s1)f 1 (s 1 ) f2(s1)f 2 (s 1 ) f3(s1)f 3 (s 1 ) f4(s1)f 4 (s 1 ) f5(s1)f 5 (s 1 ) f6(s1)f 6 (s 1 ) f7(s1)f 7 (s 1 ) f8(s1)f 8 (s 1 )
s2 s 2 f1(s2)f 1 (s 2 ) f2(s2)f 2 (s 2 ) f3(s2)f 3 (s 2 ) f4(s2)f 4 (s 2 ) f5(s2)f 5 (s 2 ) f6(s2)f 6 (s 2 ) f7(s2)f 7 (s 2 ) f8(s2)f 8 (s 2 )
...... ...... ...... ...... ...... ...... ...... ...... ......
s1024 s 1024 f1(s1024)f 1 (s 1024 ) f2(s1024)f 2 (s 1024 ) f3(s1024)f 3 (s 1024 ) f4(s1024)f 4 (s 1024 ) f5(s1024)f 5 (s 1024 ) f6(s1024)f 6 (s 1024 ) f7(s1024)f 7 (s 1024 ) f8(s1024)f 8 (s 1024 )
상기 표 1에서 해시 값의 위 첨자로 표기된 숫자가 연쇄 해시 값 연산 횟수를 의미하고, 랜덤 스트링의 아래 첨자로 표기된 숫자가 각 랜덤 스트링을 지시하는 순번 정보를 의미한다.In Table 1, the number indicated by the superscript of the hash value indicates the number of consecutive hash value calculations, and the number indicated by the subscript of the random string indicates sequence information indicating each random string.
예컨대, "f3(s2)"의 경우에는 2번째 랜덤 스트링에 대해서 3홰 연쇄 해시 값 연산이 수행되어 생성된 해시 값을 의미한다.For example, “f 3 (s 2 )” means a hash value generated by performing a 3 ′ chain hash value operation on the second random string.
이러한 방식으로 해시 값 저장부(112)는 상기 1024개의 랜덤 스트링들 각각에 대해서 상기 선정된 제1 해시 함수에 기초한 연쇄 해시 값 연산 과정을 총 8회 수행함으로써, 각 연산 과정에서 생성되는 해시 값들과 각 해시 값들에 대한 연쇄 해시 값 연산 횟수를 키 저장부(113) 상에 저장할 수 있다.In this manner, the hash value storage unit 112 performs a total hash value calculation process based on the selected first hash function for each of the 1024 random strings a total of eight times, thereby generating hash values generated in each operation process. The number of concatenation hash value calculations for each hash value may be stored on the key storage 113.
이때, 검증키 생성부(118)는 상기 1024개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 9회 수행하여 9번째 연쇄 해시 값을 연산하고, 상기 1024개의 랜덤 스트링들 각각에 대해서 연산된 상기 9번째 연쇄 해시 값을 상기 1024개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 1024개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 1024개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당할 수 있다.In this case, the verification key generation unit 118 performs the concatenation hash value calculation process nine times on each of the 1024 random strings, calculates a ninth concatenation hash value, and calculates the concatenation of the 1024 random strings. The ninth concatenation hash value is determined as a verification key for each of the 1024 random strings, and at the same time, the same sequence number information is allocated to each of the 1024 random strings for the verification key for each of the 1024 random strings. Order information can be assigned.
즉, 검증키 생성부(118)는 하기의 표 2와 같이, 상기 1024개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 9회 수행하여 상기 1024개의 랜덤 스트링들 각각에 대한 9번째 연쇄 해시 값을 생성할 수 있다.That is, the verification key generation unit 118 performs the concatenation hash value calculation process nine times on each of the 1024 random strings, as shown in Table 2 below, and performs a ninth concatenation hash on each of the 1024 random strings. You can generate a value.
랜덤 스트링들Random strings 9회 연산된 해시 값Hash value computed 9 times
s1 s 1 f9(s1)f 9 (s 1 )
s2 s 2 f9(s2)f 9 (s 2 )
...... ......
s1024 s 1024 f9(s1024)f 9 (s 1024 )
그러고 나서, 검증키 생성부(118)는 상기 1024개의 랜덤 스트링들 각각에 대해서 연산된 상기 9번째 연쇄 해시 값을 상기 1024개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 1024개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 1024개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당할 수 있다.Thereafter, the verification key generation unit 118 determines the ninth concatenation hash value calculated for each of the 1024 random strings as a verification key for each of the 1024 random strings, and at the same time, the 1024 random strings. For each verification key, the same sequence information as the sequence information allocated to each of the 1024 random strings may be allocated.
즉, 랜덤 스트링 "s1"에 대한 9번째 연쇄 해시 값은 "f9(s1)"이므로, 검증키 생성부(118)는 "f9(s1)""에 대해서 랜덤 스트링 "s1"과 동일한 순번 정보인 1번 순번 정보를 할당할 수 있다.That is, since the ninth chain hash value for the random string "s 1 " is "f 9 (s 1 )", the verification key generation unit 118 performs the random string "s 1 for" f 9 (s 1 ) "". Order information, which is the same order information as "", may be allocated.
이렇게, 검증키 생성부(118)에서 상기 1024개의 랜덤 스트링들 각각에 대한 검증키의 생성이 완료되면, 검증키 전송부(119)는 상기 1024개의 랜덤 스트링들 각각에 대한 검증키인 "f9(s1), f9(s2), ..., f9(s1024)"를 데이터 수신 장치(120)로 전송할 수 있다.As such, when generation of the verification key for each of the 1024 random strings is completed in the verification key generation unit 118, the verification key transmission unit 119 determines that "f 9 is a verification key for each of the 1024 random strings. (s 1 ), f 9 (s 2 ), ..., f 9 (s 1024 ) "may be transmitted to the data receiving device 120.
이때, 데이터 수신 장치(120)는 상기 1024개의 랜덤 스트링들 각각에 대한 검증키인 "f9(s1), f9(s2), ..., f9(s1024)"을 수신하여 메모리 상에 저장해 둘 수 있다.In this case, the data receiving apparatus 120 receives “f 9 (s 1 ), f 9 (s 2 ), ..., f 9 (s 1024 ),” which are verification keys for each of the 1024 random strings. Can be stored in memory.
이렇게, 상기 표 1에 나타낸 바와 같은 상기 1024개의 랜덤 스트링들 각각에 대한 해시 값들과 상기 표 2에 나타낸 바와 같은 상기 1024개의 랜덤 스트링들 각각에 대한 검증키의 생성이 완료되면, 상기 표 1에 나타낸 바와 같은 상기 1024개의 랜덤 스트링들 각각에 대한 해시 값들은 데이터 전송 장치(110)가 데이터 수신 장치(120)로 전송할 메시지에 대한 전자서명 값을 생성하기 위한 키 값으로 활용되고, 상기 표 2에 나타낸 바와 같은 상기 1024개의 랜덤 스트링들 각각에 대한 검증키는 데이터 수신 장치(120)가 상기 전자서명 값을 검증하기 위한 검증키 값으로 활용된다.Thus, when generation of the hash values for each of the 1024 random strings as shown in Table 1 and the verification key for each of the 1024 random strings as shown in Table 2 is completed, it is shown in Table 1 above. Hash values for each of the 1024 random strings as shown in FIG. 2 are utilized as key values for generating the digital signature value for the message to be transmitted to the data receiving apparatus 110 by the data transmitting apparatus 110, as shown in Table 2 above. As described above, a verification key for each of the 1024 random strings is used as a verification key value for the data receiving apparatus 120 to verify the digital signature value.
관련해서, 데이터 전송 장치(110)가 데이터 수신 장치(120)로 메시지 "m"을 전송하는 경우, 메시지 해시 값 생성부(114)는 상기 메시지 "m"을 선정된 제2 해시 함수인 "h(x)"에 입력으로 인가하여 메시지 해시 값인 "h(m)"을 생성할 수 있다.In relation to this, when the data transmission device 110 transmits the message "m" to the data reception device 120, the message hash value generator 114 transmits the message "m" to a predetermined second hash function "h". (x) "as an input to generate the message hash value" h (m) ".
그러고 나서, 데이터 변환부(115)는 상기 메시지 해시 값인 "h(m)"을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성할 수 있다.Then, the data converter 115 divides the message hash value " h (m) " into n data groups (n is a natural number) and divides data contained in each group by i (i is a natural number). You can generate n numbers by converting them to decimal numbers.
관련해서, 상기 n을 "8"이라고 하고, 상기 i진수를 "10진수"라고 하면, 데이터 변환부(115)는 상기 메시지 해시 값 "h(m)"을 8개의 데이터 그룹들로 분할하고, 상기 8개의 데이터 그룹들 각각에 포함되어 있는 데이터를 10진수의 숫자로 변환하여 총 8개의 숫자들을 생성할 수 있다.In relation to this, when n is "8" and the i-number is "decimal", the data converter 115 divides the message hash value "h (m)" into eight data groups, A total of eight numbers may be generated by converting data included in each of the eight data groups into a decimal number.
예컨대, 상기 메시지 해시 값 "h(m)"이 8바이트의 크기를 갖는 데이터라고 하는 경우, 데이터 변환부(115)는 상기 메시지 해시 값 "h(m)"을 1바이트씩 8개의 데이터 그룹들로 분할한 후 각 데이터 그룹에 포함되어 있는 1바이트의 데이터를 10진수의 숫자로 변환함으로써, 총 8개의 숫자들을 생성할 수 있다.For example, when the message hash value "h (m)" is data having a size of 8 bytes, the data converter 115 may convert the message hash value "h (m)" into 8 data groups by 1 byte. After dividing by, converting one-byte data included in each data group into a decimal number, a total of eight numbers can be generated.
그 이후, 해시 값 추출부(116)는 상기 1024개의 랜덤 스트링들 중 상기 8개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 8개의 랜덤 스트링들을 선택할 수 있다.Thereafter, the hash value extractor 116 may select eight random strings to which the same order information is allocated among the eight numbers among the 1024 random strings.
관련해서, 데이터 변환부(115)에 의해서 생성된 상기 8개의 숫자가 "32, 592, 164, 7, 985, 223, 327, 814"라고 가정하면, 해시 값 추출부(116)는 상기 1024개의 랜덤 스트링들 중 "32, 592, 164, 7, 985, 223, 327, 814"라는 순번이 할당되어 있는 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"를 선택할 수 있다.Relatedly, assuming that the eight numbers generated by the data converter 115 are " 32, 592, 164, 7, 985, 223, 327, 814, " Eight random strings assigned the sequence "32, 592, 164, 7, 985, 223, 327, 814" among the random strings "s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , s 814 "can be selected.
그러고 나서, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 각각에 대해 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 8개의 선정된 연산 횟수들을 참조하여 키 저장부(113)로부터 상기 8개의 랜덤 스트링들 별로, 상기 8개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 8개의 해시 값들을 추출할 수 있다.Then, the hash value extractor 116 performs one hash value for each of the eight random strings "s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , s 814 ". For each of the eight random strings, the predetermined operation corresponding to each of the eight predetermined strings from the key storage unit 113 by referring to the eight selected predetermined number of operations to extract the A total of eight hash values can be extracted by extracting one hash value that corresponds to the number of consecutive hash value calculations corresponding to the number of times.
관련해서, 상기 8개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 상기 8개의 선정된 연산 횟수들을 "8회, 7회, 6회, 5회, 4회, 3회, 2회, 1회"라고 가정하자.In this regard, the eight predetermined number of operations that are preset to extract one hash value for each of the eight random strings are " 8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times. Times, once ".
이때, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s32"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s32"라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s32), f2(s32), f3(s32), f4(s32), f5(s32), f6(s32), f7(s32), f8(s32)" 중에서 "8회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "8회"가 대응되어 저장되어 있는 "f8(s32)"를 추출할 수 있다.In this case, the hash value extractor 116 may be configured with respect to “s 32 ” among the eight random strings s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814. Eight hash values generated from the key storage 113 storing the information shown in Table 1 corresponding to the random string "s 32 " are "f 1 (s 32 ), f 2 (s 32 ), and f 3. (s 32 ), f 4 (s 32 ), f 5 (s 32 ), f 6 (s 32 ), f 7 (s 32 ), f 8 (s 32 ) ""F 8 (s 32 )" corresponding to "8 times", which is the number of consecutive hash value calculations corresponding to, may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s592"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s592"라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s592), f2(s592), f3(s592), f4(s592), f5(s592), f6(s592), f7(s592), f8(s592)" 중에서 "7회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "7회"가 대응되어 저장되어 있는 "f7(s592)"를 추출할 수 있다.Then, the hash value extracting unit 116, which are the eight random string "s 32, s 592, s 164, s 7, s 985, s 223, s 327, s 814" of said for "s 592" of Eight hash values "f 1 (s 592 ), f 2 (s 592 ), and f 3 generated from the key storage unit 113 that store the information shown in Table 1 corresponding to the random string" s 592 "are stored. (s 592 ), f 4 (s 592 ), f 5 (s 592 ), f 6 (s 592 ), f 7 (s 592 ), f 8 (s 592 ) ""F 7 (s 592 )" corresponding to "7 times", which is the number of consecutive hash value calculations corresponding to, may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s164"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s164"라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s164), f2(s164), f3(s164), f4(s164), f5(s164), f6(s164), f7(s164), f8(s164)" 중에서 "6회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "6회"가 대응되어 저장되어 있는 "f6(s164)"를 추출할 수 있다.In addition, the hash value extractor 116 may select “s 164 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”. Eight hash values "f 1 (s 164 ), f 2 (s 164 ), and f 3 generated from the key storage unit 113 having the information shown in Table 1 corresponding to the random string" s 164 "are stored. (s 164 ), f 4 (s 164 ), f 5 (s 164 ), f 6 (s 164 ), f 7 (s 164 ), f 8 (s 164 ) ""F 6 (s 164 )" corresponding to "6 times", which is the number of consecutive hash value calculations corresponding to, may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s7"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s7"이라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s7), f2(s7), f3(s7), f4(s7), f5(s7), f6(s7), f7(s7), f8(s7)" 중에서 "5회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "5회"가 대응되어 저장되어 있는 "f5(s7)"를 추출할 수 있다.In addition, the hash value extractor 116 may be configured with respect to “s 7 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”. Eight hash values "f 1 (s 7 ), f 2 (s 7 ), and f 3 generated from the key storage unit 113 storing the information shown in Table 1 corresponding to the random string" s 7 ""5times" of the number of operations selected from (s 7 ), f 4 (s 7 ), f 5 (s 7 ), f 6 (s 7 ), f 7 (s 7 ), f 8 (s 7 ) ""F 5 (s 7 )" corresponding to "5 times", which is the number of consecutive hash value calculations corresponding to, may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s985"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s985"라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s985), f2(s985), f3(s985), f4(s985), f5(s985), f6(s985), f7(s985), f8(s985)" 중에서 "4회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "4회"가 대응되어 저장되어 있는 "f4(s985)"를 추출할 수 있다.In addition, the hash value extractor 116 may be configured with respect to “s 985 ” among the eight random strings s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814. Eight hash values "f 1 (s 985 ), f 2 (s 985 ), and f 3 generated from the key storage unit 113 storing the information shown in Table 1 corresponding to the random string" s 985 " (s 985 ), f 4 (s 985 ), f 5 (s 985 ), f 6 (s 985 ), f 7 (s 985 ), f 8 (s 985 ) ""F 4 (s 985 )" corresponding to "4 times", which is the number of consecutive hash value calculations corresponding to, may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s223"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s223"이라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s223), f2(s223), f3(s223), f4(s223), f5(s223), f6(s223), f7(s223), f8(s223)" 중에서 "3회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "3회"가 대응되어 저장되어 있는 "f3(s223)"를 추출할 수 있다.In addition, the hash value extractor 116 may be configured with respect to “s 223 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”. Eight hash values "f 1 (s 223 ), f 2 (s 223 ), and f 3 generated from the key storage unit 113 that store the information shown in Table 1 corresponding to the random string" s 223 "are stored. (s 223 ), f 4 (s 223 ), f 5 (s 223 ), f 6 (s 223 ), f 7 (s 223 ), f 8 (s 223 ) ""F 3 (s 223 )" corresponding to "three times" of the number of chain hash value calculations corresponding to and may be extracted.
그리고, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s327"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s327"이라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s327), f2(s327), f3(s327), f4(s327), f5(s327), f6(s327), f7(s327), f8(s327)" 중에서 "2회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "2회"가 대응되어 저장되어 있는 "f2(s327)"를 추출할 수 있다.In addition, the hash value extractor 116 may select “s 327 ” among the eight random strings “s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and s 814 ”. Eight hash values "f 1 (s 327 ), f 2 (s 327 ), and f 3 generated from the key storage unit 113 storing the information shown in Table 1 corresponding to the random string" s 327 " (s 327 ), f 4 (s 327 ), f 5 (s 327 ), f 6 (s 327 ), f 7 (s 327 ), f 8 (s 327 ) ""F 2 (s 327 )" corresponding to "twice", which is the number of consecutive hash value calculations corresponding to, may be extracted.
마지막으로, 해시 값 추출부(116)는 상기 8개의 랜덤 스트링들인 "s32, s592, s164, s7, s985, s223, s327, s814"들 중 "s814"에 대해서는 상기 표 1과 같은 정보가 저장되어 있는 키 저장부(113)로부터 "s814"이라는 랜덤 스트링에 대응하여 생성된 8개의 해시 값들인 "f1(s814), f2(s814), f3(s814), f4(s814), f5(s814), f6(s814), f7(s814), f8(s814)" 중에서 "1회"라는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수인 "1회"가 대응되어 저장되어 있는 "f1(s814)"를 추출할 수 있다.Finally, the hash value extracting unit 116 is for the "s 814" of the "s 32, s 592, s 164, s 7, s 985, s 223, s 327, s 814" which includes the eight random string Eight hash values "f 1 (s 814 ), f 2 (s 814 ), f generated from the key storage unit 113 storing the information shown in Table 1 corresponding to the random string" s 814 ", f 3 (s 814 ), f 4 (s 814 ), f 5 (s 814 ), f 6 (s 814 ), f 7 (s 814 ), f 8 (s 814 ) ""F 1 ( s814 )" corresponding to the number of consecutive hash value calculations corresponding to the number of times may be extracted.
이러한 방식으로 결국, 해시 값 추출부(116)는 키 저장부(113)로부터 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"라는 8개의 해시 값들을 추출할 수 있다.In this way, the hash value extractor 116 eventually ends with " f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f from the key store 113. 8 hash values " 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 )" may be extracted.
그러고 나서, 데이터 전송부(117)는 데이터 수신 장치(120)에 대해 상기 메시지 "m"을 전송하면서 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"을 상기 메시지 "m"에 대한 부인 방지를 위한 전자서명 값으로 전송할 수 있다.Then, the data transmitter 117 transmits the message “m” to the data receiving apparatus 120, and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), and f 6 ( s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ". Can be sent as a digital signature value.
이때, 데이터 수신 장치(120)는 데이터 전송 장치(110)로부터 상기 메시지 "m"과 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"이 수신되면, 데이터 전송 장치(110)로부터 미리 수신하여 상기 메모리 상에 이미 저장해 둔 상기 표 2에서 나타낸 상기 1024개의 랜덤 스트링들 각각에 대한 검증키를 기초로 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"에 대한 검증을 수행함으로써, 상기 메시지 "m"이 진정으로 데이터 전송 장치(110)로부터 전송된 메시지가 맞는지 여부를 확인할 수 있다.In this case, the data receiving apparatus 120 transmits the message “m” and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), from the data transmission apparatus 110. f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "are received from the data transmission apparatus 110 in advance and The eight hash values "f 8 (s 32 ), f 7 (s 592 ) and f 6 (s) based on the verification key for each of the 1024 random strings shown in Table 2 already stored in memory. 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ", thereby performing the message" m " This truly checks whether or not the message transmitted from the data transmission device 110 is correct.
관련해서, 데이터 수신 장치(120)의 상기 메모리에는 상기 표 2에서 나타낸 상기 1024개의 랜덤 스트링들 각각에 대한 검증키뿐만 아니라, 상기 선정된 제1 해시 함수 "f(x)", 상기 선정된 제2 해시 함수 "h(x)"와 해시 값 추출부(116)에서 상기 8개의 랜덤 스트링들 "s32, s592, s164, s7, s985, s223, s327, s814" 각각에 대한 해시 값을 추출하는데 사용하였던 상기 8개의 선정된 연산 횟수들인 "8회, 7회, 6회, 5회, 4회, 3회, 2회, 1회"가 미리 저장되어 있다.In relation to this, the memory of the data receiving apparatus 120 includes not only a verification key for each of the 1024 random strings shown in Table 2, but also the selected first hash function " f (x) " In the hash function "h (x)" and the hash value extractor 116, the eight random strings "s 32 , s 592 , s 164 , s 7 , s 985 , s 223 , s 327 , and 814 " respectively. The eight selected operations "8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times, 1 times" which were used to extract the hash value for are stored in advance.
이러한 상황하에서 데이터 수신 장치(120)는 상기 메시지 "m"과 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"가 수신되면, 상기 메시지 "m"을 상기 선정된 제2 해시 함수인 "h(x)"에 입력으로 인가하여 메시지 해시 값 "h(m)"을 생성할 수 있다.In this situation, the data receiving apparatus 120 may transmit the message “m” and the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), and f 5 (s 7 ). , f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ”, the message“ m ”is converted into the selected second hash function“ h ( x) "to generate the message hash value" h (m) ".
그러고 나서, 데이터 수신 장치(120)는 상기 메시지 해시 값 "h(m)"을 8개의 데이터 그룹들로 분할한 후 각 그룹내에 포함되어 있는 데이터를 10진수의 숫자로 변환하여 8개의 검증 숫자들을 생성할 수 있다.Then, the data receiving apparatus 120 divides the message hash value "h (m)" into eight data groups and converts the data contained in each group into a decimal number to convert the eight verification numbers. Can be generated.
상기 메시지 "m"이 위조되거나 변조되지 않았다고 가정하면, 상기 8개의 검증 숫자들은 앞서, 데이터 변환부(115)에서 생성된 숫자들과 동일한 "32, 592, 164, 7, 985, 223, 327, 814"가 될 것이다.Assuming that the message "m" has not been forged or tampered with, the eight verification digits are the same as the "32, 592, 164, 7, 985, 223, 327," 814 ".
이때, 데이터 수신 장치(120)는 상기 표 2에서 나타낸 상기 1024개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 8개의 검증 숫자들인 "32, 592, 164, 7, 985, 223, 327, 814"와 동일한 순번 정보가 할당되어 있는 8개의 검증키들을 선택할 수 있다.At this time, the data receiving apparatus 120 and the eight verification numbers "32, 592, 164, 7, 985, 223, 327, 814" out of the verification keys for each of the 1024 random strings shown in Table 2 Eight verification keys assigned with the same sequence number may be selected.
관련해서, 데이터 수신 장치(120)는 상기 표 2에서 나타낸 상기 1024개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 8개의 검증키들로 "f9(s32), f9(s592), f9(164), f9(s7), f9(s985), f9(s223), f9(s327), f9(s814)"를 선택할 수 있다.In this regard, the data receiving apparatus 120 may select “f 9 (s 32 ), f 9 (s 592 ), f 9 as the eight verification keys from among the verification keys for each of the 1024 random strings shown in Table 2 above. 164 , f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) ”can be selected.
그러고 나서, 데이터 수신 장치(120)는 상기 8개의 선정된 연산 횟수들인 "8회, 7회, 6회, 5회, 4회, 3회, 2회, 1회"를 참조하여 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대한 연쇄 해시 값 연산 횟수를 확인하고, 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대한 연쇄 해시 값 연산 횟수를 기초로 9번째 연쇄 해시 값이 연산될 때까지 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대해 상기 선정된 제1 해시 함수인 "f(x)"에 기초한 연쇄 해시 값 연산 과정을 수행하여 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대한 9번재 연쇄 해시 값을 연산할 수 있다.Then, the data receiving device 120 refers to the eight hashes by referring to the eight predetermined operations "8 times, 7 times, 6 times, 5 times, 4 times, 3 times, 2 times, 1 times". Values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ) , f 1 (s 814 ) ", and the number of chain hash value operations for each of the eight hash values" f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 ( s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "The 9th concatenation hash value is calculated based on the number of concatenation hash value operations for each. The eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ) , f 2 (s 327 ) and f 1 (s 814 ) "for each of the eight hash values" f 8 "by performing a chain hash value calculation process based on the selected first hash function" f (x) ". (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "can be calculated for the 9th concatenation hash value.
관련해서, 상기 8개의 선정된 연산 횟수들이 "8회, 7회, 6회, 5회, 4회, 3회, 2회, 1회"이기 때문에 데이터 수신 장치(120)는 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"가 각각 "8회, 7회, 6회, 5회, 4회, 3회, 2회, 1회"에 해당하는 연쇄 해시 값 연산 과정을 수행했음을 확인할 수 있다.In relation to this, the data receiving device 120 may generate the eight hash values because the eight predetermined number of operations are "eight times, seven times, six times, five times, four times, three times, two times, one time." f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "may be performed to perform a chain hash value calculation process corresponding to" eight times, seven times, six times, five times, four times, three times, two times, and one time ", respectively.
이를 기초로, 데이터 수신 장치(120)는 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)"에 대해서 상기 선정된 제1 해시 함수인 "f(x)"에 기초한 연쇄 해시 값 연산 과정을 추가로 수행함으로써, 상기 8개의 해시 값들 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대한 9번째 해시 값을 연산할 수 있다.Based on this, the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985). ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) ", further performs a chain hash value calculation process based on the first hash function" f (x) "selected above. Whereby the eight hash values " f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327), f 1 (s 814) " can be calculated by the ninth hash value for each.
이와 관련하여, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f8(s32)"가 총 "8회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f8(s32)"에 대해서는 상기 연쇄 해시 값 연산 과정을 1회만 더 수행함으로써, "f9(s32)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In this regard, the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985), f 3 (s 223 ), f 2 (s 327), f 1 (s 814) " of the" f 8 (s 32), "a total of" eight times "the chain hash value calculation process is performed to the generated hash by performing "f 8 (s 32)" the chain hash value calculation process once more for because it can determine that the value can be calculated by the ninth chain hash value of "f 9 (s 32)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f7(s592)"가 총 "7회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f7(s592)"에 대해서는 상기 연쇄 해시 값 연산 과정을 2회만 더 수행함으로써, "f9(s592)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 7 (s 592 ) "hash values generated by performing a total of" seven times "chain hash value calculation processes. because it can not confirm the "f 7 (s 592)" by further performing the hash chain value calculation process 2 only once, it is possible to calculate a ninth chain hash value of "f 9 (s 592)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f6(s164)"가 총 "6회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f6(s164)"에 대해서는 상기 연쇄 해시 값 연산 과정을 3회만 더 수행함으로써, "f9(s164)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 6 (s 164 ) "hash values generated by performing a total" six times "chain hash value calculation process. because be confirmed by "f 6 (s 164)" performed only three times more to the chain hash value calculation process for a can be calculated by the ninth chain hash value of "f 9 (s 164)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f5(s7)"가 총 "5회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f5(s7)"에 대해서는 상기 연쇄 해시 값 연산 과정을 4회만 더 수행함으로써, "f9(s7)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 5 (s 7 ) "hash values generated by performing a total of" five times "chain hash value calculation processes. because it is confirmed by "f 5 (s 7)" performs the chain hash value calculation process four times more for a can be calculated by the ninth chain hash value of "f 9 (s 7)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f4(s985)"가 총 "4회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f4(s985)"에 대해서는 상기 연쇄 해시 값 연산 과정을 5회만 더 수행함으로써, "f9(s985)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , "f 4 (s 985 )" of f 3 (s 223 ), f 2 (s 327 ) and f 1 (s 814 ) "are hash values generated by performing a total of" four times "chain hash value calculation processes. because be confirmed by performing "f 4 (s 985)" to the hash chain value calculation process once more for 5, it is possible to calculate a ninth chain hash value of "f 9 (s 985)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f3(s223)"이 총 "3회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f3(s223)"에 대해서는 상기 연쇄 해시 값 연산 과정을 6회만 더 수행함으로써, "f9(s223)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223), f 2 (s 327), f 1 (s 814) " of the" f 3 (s 223), "a total of" three times "chain hash value computation process is performed to the generated hash value that because be confirmed by performing "f 3 (s 223)" to the hash chain value calculation process once more for 6, it is possible to calculate a ninth chain hash value of "f 9 (s 223)" .
그리고, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f2(s327)"이 총 "2회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f2(s327)"에 대해서는 상기 연쇄 해시 값 연산 과정을 7회만 더 수행함으로써, "f9(s327)"라는 9번째 연쇄 해시 값을 연산할 수 있다.In addition, the data receiving apparatus 120 may include the eight hash values “f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985 ). , f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ) "are the" f 2 (s 327 ) "hash values generated by performing a total" two "chain hash value calculation process. because it can be calculated to check a ninth chain hash value of "f 2 (s 327)" , "f 9 (s 327)" by further performing the hash chain value calculation process only once for 7.
마지막으로, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 중 "f1(s814)"가 총 "1회" 연쇄 해시 값 연산 과정이 수행되어 생성된 해시 값임을 확인할 수 있기 때문에 "f1(s814)"에 대해서는 상기 연쇄 해시 값 연산 과정을 8회만 더 수행함으로써, "f9(s814)"라는 9번째 연쇄 해시 값을 연산할 수 있다.Finally, the data receiving device 120 is the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 (s 985 ), f 3 (s 223 ), f 2 (s 327 ), and f 1 (s 814 ), where "f 1 (s 814 )" is a "one time" chain hash value. Because it can be confirmed that the "f 1 (s 814 )" by performing the chain hash value calculation process only eight more times, it is possible to calculate the ninth chain hash value "f 9 (s 814 )".
이러한 방식으로 결국, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대한 9번째 연쇄 해시 값들로 "f9(s32), f9(s592), f9(164), f9(s7), f9(s985), f9(s223), f9(s327), f9(s814)"를 연산할 수 있다.In this way, the data receiving device 120 eventually receives the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), f 4 ( s 985 ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "as the ninth chained hash values for" f 9 (s 32 ), f 9 (s 592 ), f 9 ( 164 ), f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) ”.
그 이후, 데이터 수신 장치(120)는 상기 8개의 해시 값들인 "f8(s32), f7(s592), f6(s164), f5(s7), f4(s985), f3(s223), f2(s327), f1(s814)" 각각에 대해서 연산된 9번째 연쇄 해시 값들인 "f9(s32), f9(s592), f9(164), f9(s7), f9(s985), f9(s223), f9(s327), f9(s814)"와 상기 표 2에서 나타낸 상기 1024개의 랜덤 스트링들 각각에 대한 검증키 중에서 선택된 상기 8개의 검증키들인 "f9(s32), f9(s592), f9(164), f9(s7), f9(s985), f9(s223), f9(s327), f9(s814)"를 서로 비교하여 양 값이 모두 일치하는 것으로 확인되면, 상기 메시지 "m"이 데이터 전송 장치(110)에 저장되어 있는 키 저장부(113) 상에 정말로 저장되어 있는 해시 값들을 기초로 전자서명되었음을 확인할 수 있어, 최종적으로 상기 메시지 "m"에 대한 인증을 완료할 수 있다.Thereafter, the data receiving apparatus 120 may determine the eight hash values "f 8 (s 32 ), f 7 (s 592 ), f 6 (s 164 ), f 5 (s 7 ), and f 4 (s 985). ), f 3 (s 223 ), f 2 (s 327 ), f 1 (s 814 ) "for the ninth chained hash values" f 9 (s 32 ), f 9 (s 592 ), f 9 ( 164 ), f 9 (s 7 ), f 9 (s 985 ), f 9 (s 223 ), f 9 (s 327 ), f 9 (s 814 ) "and the 1024 random numbers shown in Table 2 above. The eight verification keys selected from among the verification keys for each of the strings "f 9 (s 32 ), f 9 (s 592 ), f 9 ( 164 ), f 9 (s 7 ), f 9 (s 985 ), When f 9 (s 223 ), f 9 (s 327 ), and f 9 (s 814 ) are compared to each other and both values are found to be identical, the message “m” is stored in the data transmission apparatus 110. It can be confirmed that the digital signature is based on the hash values that are really stored on the key storage 113, and finally, the authentication for the message "m" can be completed.
결국, 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치(110)는 소정의 랜덤 스트링들을 생성하고, 상기 랜덤 스트링들에 대해 연쇄 해시 값 연산 과정을 수행하여 생성된 해시 값들을 키 저장부(113) 상에 저장해 놓고, 상기 랜덤 스트링들에 대해 상기 연쇄 해시 값 연산 과정을 추가적으로 수행함으로써, 검증키를 생성하여 상기 검증키를 데이터 수신 장치(120)로 전송한 후 데이터 수신 장치(120)로 전송할 메시지를 키 저장부(113)에 저장되어 있는 해시 값들을 기초로 전자서명하여 데이터 수신 장치(120)로 전송하면, 데이터 수신 장치(120)가 상기 검증키를 기초로 전자서명 값을 검증할 수 있도록 유도함으로써, 상기 전송 메시지에 대한 부인 방지 기능을 제공할 수 있다.As a result, the data transmission apparatus 110 capable of non repudiation of a transmission message according to an embodiment of the present invention generates predetermined random strings and performs a hash hash operation on the random strings to generate the hash. By storing the values in the key storage unit 113 and additionally performing the chain hash value calculation process on the random strings, a verification key is generated to transmit the verification key to the data receiving apparatus 120 and then the data. When a message to be transmitted to the reception device 120 is electronically signed based on the hash values stored in the key storage unit 113 and transmitted to the data reception device 120, the data reception device 120 based on the verification key. By inducing the digital signature value to be verified, a non-repudiation function for the transmitted message can be provided.
도 2는 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법을 도시한 순서도이다.2 is a flowchart illustrating a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention.
단계(S210)에서는 t(t는 자연수)개의 랜덤 스트링들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당한다.In step S210, after generating t (t is a natural number) random strings, sequence information indicating each of the t random strings is allocated to each of the t random strings.
단계(S220)에서는 상기 t개의 랜덤 스트링들 각각에 대해서, 선정된 제1 해시 함수에 기초한 연쇄 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부 상에 서로 대응되도록 저장함으로써, 상기 키 저장부 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장한다.In step S220, each of the t random strings is generated in the k chain hash value calculation process by performing a chain hash value calculation process based on the selected first hash function k times (k is a natural number). K hashes for each of the t random strings on the key storage unit by storing the hash values of and the number of concatenation hash value operations performed to generate the respective hash values corresponding to each other on the key storage unit. Store the values and the number of concatenation hash value operations corresponding to each of the k hash values.
이때, 본 발명의 일실시예에 따르면, 단계(S220)에서는 상기 t개의 랜덤 스트링들 각각에 대해서, 상기 t개의 랜덤 스트링들을 상기 선정된 제1 해시 함수에 입력으로 인가하여 해시 값을 연산하고, 상기 연산된 해시 값을 상기 선정된 제1 해시 함수에 다시 입력으로 인가하여 추가 해시 값을 연산하는 방식의 상기 연쇄 해시 값 연산 과정을 상기 k회 수행할 수 있다.In this case, according to an embodiment of the present invention, in step S220, a hash value is calculated by applying the t random strings to the selected first hash function for each of the t random strings, The k hash value calculation process of the method of calculating an additional hash value by applying the calculated hash value as an input back to the selected first hash function may be performed k times.
단계(S230)에서는 데이터 수신 장치로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성한다.In operation S230, a message hash value is generated by applying a message to be transmitted to the data receiving device as an input to the selected second hash function.
단계(S240)에서는 상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성한다.In step S240, the message hash value is divided into n data groups (n is a natural number), and the data contained in each group is converted into a number of i (i is a natural number) digits to generate n numbers. do.
단계(S250)에서는 상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 상기 키 저장부로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출한다.In step S250, n random strings to which the same order information is allocated among the n numbers among the t random strings are selected, and in advance to extract one hash value for each of the n random strings. A chain hash value corresponding to a predetermined number of operations corresponding to each random string among the n predetermined operations, for each of the n random strings from the key storage unit with reference to the set n predetermined operations; A total of n hash values are extracted by extracting one hash value corresponding to the number of operations.
단계(S260)에서는 상기 데이터 수신 장치에 대해 상기 메시지와 상기 n개의 해시 값들을 전송한다.In step S260, the message and the n hash values are transmitted to the data receiving device.
이때, 본 발명의 일실시예에 따르면, 상기 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법은 단계(S230)이전에 상기 t개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 k+1회 수행하여 k+1번째 연쇄 해시 값을 연산하고, 상기 t개의 랜덤 스트링들 각각에 대해서 연산된 상기 k+1번째 연쇄 해시 값을 상기 t개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 t개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 t개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당하는 단계 및 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 상기 데이터 수신 장치로 전송하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the data transmission method capable of non repudiation of the transmission message includes k + 1 times the concatenation hash value calculation process for each of the t random strings before step S230. Calculate a k + 1 th concatenation hash value, determine the k + 1 th concatenation hash value calculated for each of the t random strings as a verification key for each of the t random strings, and at the same time, Allocating the same sequence information as the sequence information allocated to each of the t random strings with respect to the verify key for each of the plurality of random strings, and transmitting the verify key for each of the t random strings to the data receiving apparatus. The method may further include transmitting.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 메모리 상에 상기 선정된 제1 해시 함수, 상기 선정된 제2 해시 함수, 상기 n개의 선정된 연산 횟수들 및 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 저장하고 있을 수 있다.In this case, according to an embodiment of the present invention, the data receiving apparatus is configured to store the selected first hash function, the selected second hash function, the n predetermined number of operations and the t random strings on a memory. It may store a verification key for each.
이때, 상기 데이터 수신 장치는 상기 메시지와 상기 n개의 해시 값들이 수신되면, 상기 메시지를 상기 선정된 제2 해시 함수에 입력으로 인가하여 상기 메시지 해시 값을 생성하고, 상기 메시지 해시 값을 n개의 데이터 그룹들로 분할한 후 각 그룹내에 포함되어 있는 데이터를 상기 i진수의 숫자로 변환하여 n개의 검증 숫자들을 생성하며, 상기 t개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 n개의 검증 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 검증키들을 선택한 후 상기 n개의 선정된 연산 횟수들을 참조하여 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 확인하고, 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 기초로 상기 k+1번째 연쇄 해시 값이 연산될 때까지 상기 n개의 해시 값들 각각에 대해 상기 선정된 제1 해시 함수에 기초한 상기 연쇄 해시 값 연산 과정을 수행하여 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값을 연산한 후 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값이 상기 n개의 검증키들과 모두 일치하는 것으로 확인되면, 상기 메시지에 대한 인증을 완료할 수 있다.In this case, when the message and the n hash values are received, the data receiving device generates the message hash value by applying the message as an input to the selected second hash function, and converts the message hash value into n data. After dividing the data into groups, the data contained in each group is converted into the number of i-numbers to generate n verification numbers, and each of the n verification numbers from among the verification keys for each of the t random strings. After selecting n verification keys to which the same sequence information is assigned, the number of concatenation hash value calculations for each of the n hash values is checked with reference to the n predetermined operation numbers, and concatenation for each of the n hash values is performed. For each of the n hash values until the k + 1 th chain hash value is computed based on the number of hash value operations Performing the concatenation hash value calculation process based on the selected first hash function to calculate the k + 1 th concatenation hash value for each of the n hash values, and then the k + 1 th for each of the n hash values If the chain hash value is found to match all of the n verification keys, authentication of the message may be completed.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법은 도 1을 이용하여 설명한 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention has been described with reference to FIG. 2. Here, the non-repudiation data transmission method according to an embodiment of the present invention may correspond to the configuration of the operation of the non-repudiation data transmission apparatus 110 described above with reference to FIG. 1. Therefore, more detailed description thereof will be omitted.
본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The non-repudiable data transmission method according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution by combining with a computer.
또한, 본 발명의 일실시예에 따른 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, a data transmission method capable of non repudiation of a transmission message according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all the things that are equivalent to or equivalent to the claims as well as the following claims will belong to the scope of the present invention. .

Claims (10)

  1. t(t는 자연수)개의 랜덤 스트링(string)들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당하는 랜덤 스트링 생성부;a random string generation unit generating t (t is a natural number) random strings and then assigning sequence information indicating each of the t random strings to each of the t random strings;
    상기 t개의 랜덤 스트링들 각각에 대해서, 선정된(predetermined) 제1 해시 함수에 기초한 연쇄(chain) 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부 상에 서로 대응되도록 저장함으로써, 상기 키 저장부 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장하는 해시 값 저장부;For each of the t random strings, a chain hash value calculation process based on a predetermined first hash function is performed k times, where k is a natural number, and is generated in the k chain hash value calculation processes. By storing the respective hash values and the number of concatenation hash value operations performed to generate the respective hash values corresponding to each other on the key storage unit, k numbers for each of the t random strings on the key storage unit are stored. A hash value storage unit for storing hash values and the number of consecutive hash value operations corresponding to each of the k hash values;
    데이터 수신 장치로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성하는 메시지 해시 값 생성부;A message hash value generator for generating a message hash value by applying a message to be transmitted to the data receiving device as an input to the selected second hash function;
    상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성하는 데이터 변환부;A data converter for dividing the message hash value into n data groups (n is a natural number), and converting the data contained in each group into i (i is a natural number) digit to generate n numbers;
    상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 상기 키 저장부로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출하는 해시 값 추출부; 및N preset random strings are selected to select the same random information as the n number of t random strings, and extract one hash value for each of the n random strings. For each of the n random strings from the key storage unit with reference to a predetermined number of operations, a chain hash value operation number corresponding to a predetermined operation number corresponding to each random string among the n predetermined operation numbers is associated. A hash value extracting unit which extracts a total of n hash values by extracting one stored hash value; And
    상기 데이터 수신 장치에 대해 상기 메시지와 상기 n개의 해시 값들을 전송하는 데이터 전송부A data transmitter for transmitting the message and the n hash values to the data receiving apparatus
    를 포함하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치.Data transmission device capable of non-repudiation of the transmission message comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 해시 값 저장부는The hash value storage unit
    상기 t개의 랜덤 스트링들 각각에 대해서, 상기 t개의 랜덤 스트링들을 상기 선정된 제1 해시 함수에 입력으로 인가하여 해시 값을 연산하고, 상기 연산된 해시 값을 상기 선정된 제1 해시 함수에 다시 입력으로 인가하여 추가 해시 값을 연산하는 방식의 상기 연쇄 해시 값 연산 과정을 상기 k회 수행하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치.For each of the t random strings, apply the t random strings to the selected first hash function as an input to calculate a hash value, and input the calculated hash value back to the selected first hash function. And a non-repudiation of the transmission message for performing the concatenation hash value calculation process k times by applying an additional hash value.
  3. 제1항에 있어서,The method of claim 1,
    상기 t개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 k+1회 수행하여 k+1번째 연쇄 해시 값을 연산하고, 상기 t개의 랜덤 스트링들 각각에 대해서 연산된 상기 k+1번째 연쇄 해시 값을 상기 t개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 t개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 t개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당하는 검증키 생성부; 및The k-first concatenation hash value is computed by performing k + 1 concatenation hash value calculation processes on each of the t random strings, and the k + 1-th concatenated operation is performed on each of the t random strings. The hash value is determined as a verification key for each of the t random strings, and at the same time, the same sequence information as the sequence information allocated to each of the t random strings is assigned to the verification key for each of the t random strings. A verification key generation unit; And
    상기 t개의 랜덤 스트링들 각각에 대한 검증키를 상기 데이터 수신 장치로 전송하는 검증키 전송부A verification key transmitter for transmitting the verification keys for each of the t random strings to the data receiving apparatus
    를 더 포함하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치.Data transmission device capable of non-repudiation of the transmission message further comprising.
  4. 제3항에 있어서,The method of claim 3,
    상기 데이터 수신 장치는The data receiving device
    메모리 상에 상기 선정된 제1 해시 함수, 상기 선정된 제2 해시 함수, 상기 n개의 선정된 연산 횟수들 및 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 저장하고 있고,Storing a verification key for each of the predetermined first hash function, the predetermined second hash function, the n predetermined number of operations, and the t random strings in a memory;
    상기 메시지와 상기 n개의 해시 값들이 수신되면, 상기 메시지를 상기 선정된 제2 해시 함수에 입력으로 인가하여 상기 메시지 해시 값을 생성하고, 상기 메시지 해시 값을 n개의 데이터 그룹들로 분할한 후 각 그룹내에 포함되어 있는 데이터를 상기 i진수의 숫자로 변환하여 n개의 검증 숫자들을 생성하며, 상기 t개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 n개의 검증 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 검증키들을 선택한 후 상기 n개의 선정된 연산 횟수들을 참조하여 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 확인하고, 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 기초로 상기 k+1번째 연쇄 해시 값이 연산될 때까지 상기 n개의 해시 값들 각각에 대해 상기 선정된 제1 해시 함수에 기초한 상기 연쇄 해시 값 연산 과정을 수행하여 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값을 연산한 후 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값이 상기 n개의 검증키들과 모두 일치하는 것으로 확인되면, 상기 메시지에 대한 인증을 완료하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치.When the message and the n hash values are received, the message is applied as an input to the selected second hash function to generate the message hash value, and the message hash value is divided into n data groups. Converts the data contained in the group to the number of i-numbers to generate n verification numbers, and the same order information as each of the n verification numbers is assigned among the verification keys for each of the t random strings. After selecting n verification keys, the number of chained hash value calculations for each of the n hash values is determined by referring to the n predetermined number of operations, and based on the number of chained hash value operations for each of the n hash values. Based on the predetermined first hash function for each of the n hash values until the k + 1 th chain hash value is computed. The k + 1 th hash value for each of the n hash values is calculated after the k + 1 th hash value for each of the n hash values is performed by performing the chain hash value calculation process. And a non-repudiation of the transmission message which completes authentication for the message if it is confirmed that all of the keys match.
  5. t(t는 자연수)개의 랜덤 스트링(string)들을 생성한 후 상기 t개의 랜덤 스트링들 각각에 대해 상기 t개의 랜덤 스트링들 각각을 지시하는 순번 정보를 할당하는 단계;generating t (t is a natural number) random strings and assigning sequence information indicating each of the t random strings to each of the t random strings;
    상기 t개의 랜덤 스트링들 각각에 대해서, 선정된(predetermined) 제1 해시 함수에 기초한 연쇄(chain) 해시 값 연산 과정을 k(k는 자연수)회 수행하여 상기 k회의 연쇄 해시 값 연산 과정에서 생성되는 각각의 해시 값들과 상기 각각의 해시 값들을 생성하기 위해서 수행된 연쇄 해시 값 연산 횟수를 키 저장부 상에 서로 대응되도록 저장함으로써, 상기 키 저장부 상에 상기 t개의 랜덤 스트링들 각각에 대한 k개의 해시 값들과 상기 k개의 해시 값들 각각에 대응하는 연쇄 해시 값 연산 횟수를 저장하는 단계;For each of the t random strings, a chain hash value calculation process based on a predetermined first hash function is performed k times, where k is a natural number, and is generated in the k chain hash value calculation processes. By storing the respective hash values and the number of concatenation hash value operations performed to generate the respective hash values corresponding to each other on the key storage unit, k numbers for each of the t random strings on the key storage unit are stored. Storing hash values and the number of concatenation hash value operations corresponding to each of the k hash values;
    데이터 수신 장치로 전송할 메시지를 선정된 제2 해시 함수에 입력으로 인가하여 메시지 해시 값을 생성하는 단계;Generating a message hash value by applying a message to be transmitted to the data receiving device as an input to the selected second hash function;
    상기 메시지 해시 값을 n개(n은 자연수)의 데이터 그룹들로 분할하고, 각 그룹내에 포함되어 있는 데이터를 i(i는 자연수)진수의 숫자로 변환하여 n개의 숫자들을 생성하는 단계;Dividing the message hash value into n data groups (n is a natural number), and converting the data contained in each group into a number of i (i is a natural number) digits to generate n numbers;
    상기 t개의 랜덤 스트링들 중 상기 n개의 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 랜덤 스트링들을 선택하고, 상기 n개의 랜덤 스트링들 별로 하나의 해시 값을 추출하기 위해서 미리 설정되어 있는 n개의 선정된 연산 횟수들을 참조하여 상기 키 저장부로부터 상기 n개의 랜덤 스트링들 별로, 상기 n개의 선정된 연산 횟수들 중 각 랜덤 스트링에 대응하는 선정된 연산 횟수와 일치하는 연쇄 해시 값 연산 횟수가 대응되어 저장되어 있는 하나의 해시 값을 추출함으로써, 총 n개의 해시 값들을 추출하는 단계; 및N preset random strings are selected to select the same random information as the n number of t random strings, and extract one hash value for each of the n random strings. For each of the n random strings from the key storage unit with reference to a predetermined number of operations, a chain hash value operation number corresponding to a predetermined operation number corresponding to each random string among the n predetermined operation numbers is associated. Extracting a total of hash values by extracting one stored hash value; And
    상기 데이터 수신 장치에 대해 상기 메시지와 상기 n개의 해시 값들을 전송하는 단계Transmitting the message and the n hash values to the data receiving device.
    를 포함하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법.Data transmission method capable of non-repudiation of the transmission message comprising a.
  6. 제5항에 있어서,The method of claim 5,
    상기 연쇄 해시 값 연산 횟수를 저장하는 단계는The step of storing the chain hash value operation number is
    상기 t개의 랜덤 스트링들 각각에 대해서, 상기 t개의 랜덤 스트링들을 상기 선정된 제1 해시 함수에 입력으로 인가하여 해시 값을 연산하고, 상기 연산된 해시 값을 상기 선정된 제1 해시 함수에 다시 입력으로 인가하여 추가 해시 값을 연산하는 방식의 상기 연쇄 해시 값 연산 과정을 상기 k회 수행하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법.For each of the t random strings, apply the t random strings to the selected first hash function as an input to calculate a hash value, and input the calculated hash value back to the selected first hash function. And a non-repudiation of the transmission message for performing the concatenation hash value calculation process k times by applying an additional hash value.
  7. 제5항에 있어서,The method of claim 5,
    상기 t개의 랜덤 스트링들 각각에 대해서 상기 연쇄 해시 값 연산 과정을 k+1회 수행하여 k+1번째 연쇄 해시 값을 연산하고, 상기 t개의 랜덤 스트링들 각각에 대해서 연산된 상기 k+1번째 연쇄 해시 값을 상기 t개의 랜덤 스트링들 각각에 대한 검증키로 결정함과 동시에 상기 t개의 랜덤 스트링들 각각에 대한 검증키에 대해 상기 t개의 랜덤 스트링들 각각에 할당되어 있는 순번 정보와 동일한 순번 정보를 할당하는 단계; 및The k-first concatenation hash value is computed by performing k + 1 concatenation hash value calculation processes on each of the t random strings, and the k + 1-th concatenated operation is performed on each of the t random strings. The hash value is determined as a verification key for each of the t random strings, and at the same time, the same sequence information as the sequence information allocated to each of the t random strings is assigned to the verification key for each of the t random strings. Doing; And
    상기 t개의 랜덤 스트링들 각각에 대한 검증키를 상기 데이터 수신 장치로 전송하는 단계Transmitting a verification key for each of the t random strings to the data receiving device
    를 더 포함하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법.Non-repudiation data transmission method further comprising a transmission message.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 데이터 수신 장치는The data receiving device
    메모리 상에 상기 선정된 제1 해시 함수, 상기 선정된 제2 해시 함수, 상기 n개의 선정된 연산 횟수들 및 상기 t개의 랜덤 스트링들 각각에 대한 검증키를 저장하고 있고,Storing a verification key for each of the predetermined first hash function, the predetermined second hash function, the n predetermined number of operations, and the t random strings in a memory;
    상기 메시지와 상기 n개의 해시 값들이 수신되면, 상기 메시지를 상기 선정된 제2 해시 함수에 입력으로 인가하여 상기 메시지 해시 값을 생성하고, 상기 메시지 해시 값을 n개의 데이터 그룹들로 분할한 후 각 그룹내에 포함되어 있는 데이터를 상기 i진수의 숫자로 변환하여 n개의 검증 숫자들을 생성하며, 상기 t개의 랜덤 스트링들 각각에 대한 검증키 중에서 상기 n개의 검증 숫자들 각각과 동일한 순번 정보가 할당되어 있는 n개의 검증키들을 선택한 후 상기 n개의 선정된 연산 횟수들을 참조하여 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 확인하고, 상기 n개의 해시 값들 각각에 대한 연쇄 해시 값 연산 횟수를 기초로 상기 k+1번째 연쇄 해시 값이 연산될 때까지 상기 n개의 해시 값들 각각에 대해 상기 선정된 제1 해시 함수에 기초한 상기 연쇄 해시 값 연산 과정을 수행하여 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값을 연산한 후 상기 n개의 해시 값들 각각에 대한 상기 k+1번째 연쇄 해시 값이 상기 n개의 검증키들과 모두 일치하는 것으로 확인되면, 상기 메시지에 대한 인증을 완료하는 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 방법.When the message and the n hash values are received, the message is applied as an input to the selected second hash function to generate the message hash value, and the message hash value is divided into n data groups. Converts the data contained in the group to the number of i-numbers to generate n verification numbers, and the same order information as each of the n verification numbers is assigned among the verification keys for each of the t random strings. After selecting n verification keys, the number of chained hash value calculations for each of the n hash values is determined by referring to the n predetermined number of operations, and based on the number of chained hash value operations for each of the n hash values. Based on the predetermined first hash function for each of the n hash values until the k + 1 th chain hash value is computed. The k + 1 th hash value for each of the n hash values is calculated after the k + 1 th hash value for each of the n hash values is performed by performing the chain hash value calculation process. And a non-repudiation of the transmission message that completes authentication for the message if it is determined that all of the keys match.
  9. 제5항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 5 to 8.
  10. 제5항 내지 제8항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 5 to 8 in combination with a computer.
PCT/KR2016/015458 2016-01-06 2016-12-29 Data transmission apparatus and method enabling non-repudiation for transmission message WO2017119668A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160001362A KR101768605B1 (en) 2016-01-06 2016-01-06 Data transmission apparatus and method for non-repudiation of the transmission message
KR10-2016-0001362 2016-01-06

Publications (1)

Publication Number Publication Date
WO2017119668A1 true WO2017119668A1 (en) 2017-07-13

Family

ID=59273849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/015458 WO2017119668A1 (en) 2016-01-06 2016-12-29 Data transmission apparatus and method enabling non-repudiation for transmission message

Country Status (2)

Country Link
KR (1) KR101768605B1 (en)
WO (1) WO2017119668A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428253A (en) * 2020-03-24 2020-07-17 福建福链科技有限公司 Data protection method and system suitable for block chain
CN111586035A (en) * 2020-05-05 2020-08-25 莆田市烛火信息技术有限公司 Hash operation service method and system for block chain mining machine
CN111641651A (en) * 2020-05-29 2020-09-08 南方电网科学研究院有限责任公司 Access verification method and device based on Hash chain
WO2020245830A1 (en) * 2019-06-05 2020-12-10 Nitromia Ltd Dictionary-attack-resistant database encryption
CN113761586A (en) * 2020-06-28 2021-12-07 北京同邦卓益科技有限公司 Method and device for randomly sampling and inspecting articles based on block chain
CN115913787A (en) * 2023-02-16 2023-04-04 国网浙江省电力有限公司 File encryption and decryption transmission method suitable for electric power data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101933551B1 (en) * 2017-09-27 2019-04-05 이니그마(주) Internet alert message sending service apparatus capable of checking whether a message has been confirmed and operating method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057922A (en) * 2009-11-25 2011-06-01 재단법인대구경북과학기술원 Surrounding vehicles position identifying system using base station and identifying method between the base station and the vehicles
KR101076747B1 (en) * 2009-09-21 2011-10-26 한국과학기술원 Method and apparatus for random accessible encryption and decryption by using a hierarchical tree structure of stream cipher module
KR20150133038A (en) * 2014-05-19 2015-11-27 숭실대학교산학협력단 Method and apparatus for detecting illegally copied application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101076747B1 (en) * 2009-09-21 2011-10-26 한국과학기술원 Method and apparatus for random accessible encryption and decryption by using a hierarchical tree structure of stream cipher module
KR20110057922A (en) * 2009-11-25 2011-06-01 재단법인대구경북과학기술원 Surrounding vehicles position identifying system using base station and identifying method between the base station and the vehicles
KR20150133038A (en) * 2014-05-19 2015-11-27 숭실대학교산학협력단 Method and apparatus for detecting illegally copied application

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAN SHEN: "Enhanced Secure Sensor Association and Key Management in Wireless Body Area Networks", JOURNAL OF COMMUNICATIONS AND NETWORKS, vol. 17, no. 5, October 2015 (2015-10-01), pages 453 - 462, XP011589574, DOI: doi:10.1109/JCN.2015.000083 *
SUNG JONG YEOP ET AL.: "Mutual Authentification Protocol Using One Time Password for Mobile RFID System", JOURNAL OF THE KOREA INSTITUTE OF INFORMATION AND COMMUNICATION ENGINEERING, vol. 18, no. 7, July 2014 (2014-07-01), pages 1634 - 1642 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020245830A1 (en) * 2019-06-05 2020-12-10 Nitromia Ltd Dictionary-attack-resistant database encryption
CN111428253A (en) * 2020-03-24 2020-07-17 福建福链科技有限公司 Data protection method and system suitable for block chain
CN111428253B (en) * 2020-03-24 2023-04-07 福建福链科技有限公司 Data protection method and system suitable for block chain
CN111586035A (en) * 2020-05-05 2020-08-25 莆田市烛火信息技术有限公司 Hash operation service method and system for block chain mining machine
CN111586035B (en) * 2020-05-05 2022-04-19 莆田市烛火信息技术有限公司 Hash operation service method and system for block chain mining machine
CN111641651A (en) * 2020-05-29 2020-09-08 南方电网科学研究院有限责任公司 Access verification method and device based on Hash chain
CN111641651B (en) * 2020-05-29 2022-08-02 南方电网科学研究院有限责任公司 Access verification method and device based on Hash chain
CN113761586A (en) * 2020-06-28 2021-12-07 北京同邦卓益科技有限公司 Method and device for randomly sampling and inspecting articles based on block chain
CN115913787A (en) * 2023-02-16 2023-04-04 国网浙江省电力有限公司 File encryption and decryption transmission method suitable for electric power data

Also Published As

Publication number Publication date
KR101768605B1 (en) 2017-08-17
KR20170082222A (en) 2017-07-14

Similar Documents

Publication Publication Date Title
WO2017119668A1 (en) Data transmission apparatus and method enabling non-repudiation for transmission message
US10880732B2 (en) Authentication of phone caller identity
WO2014069778A1 (en) Id-based encryption and decryption method, and apparatus for executing same
WO2018043865A2 (en) Blockchain-based file management/search system and file management/search method
WO2018030707A1 (en) Authentication system and method, and user equipment, authentication server, and service server for performing same method
WO2016137304A1 (en) Trust-zone-based end-to-end security
WO2019093574A1 (en) Block chain system and method employing hash-based signature scheme
WO2018147673A1 (en) Symmetric key-based user authentication method for ensuring anonymity in wireless sensor network environment
WO2019009492A1 (en) E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium
WO2014003497A1 (en) Generation and verification of alternate data having specific format
WO2019139200A1 (en) Method for intention expression identification using block chain, by which anonymity can be guaranteed and sybil attack can be prevented
WO2017105072A1 (en) Authentication device on the basis of biometric information and operation method therefor
CN105337736A (en) Fully-homomorphic message authentication method, device and system
WO2019182377A1 (en) Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
CN111435913A (en) Identity authentication method and device for terminal of Internet of things and storage medium
CN109474616B (en) Multi-platform data sharing method and device and computer readable storage medium
CN102724211A (en) Key agreement method
CN113742709B (en) Information processing method and device, readable medium and electronic equipment
CN109962777A (en) The key in block catenary system is permitted to generate, obtain the method and apparatus of key
US20210367772A1 (en) Computer implemented system and method for sharing a common secret
WO2015178597A1 (en) System and method for updating secret key using puf
WO2017116062A1 (en) Method and server for authenticating and verifying file
WO2018038445A1 (en) Method for mobile device for managing encoded file and encoded file management system comprising same
WO2020032351A1 (en) Method for establishing anonymous digital identity
CN107249002B (en) Method, system and device for improving safety of intelligent electric energy meter

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: 16884051

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16884051

Country of ref document: EP

Kind code of ref document: A1