KR100858425B1 - Data Processing Device of using Hash Function and Data Processing Method of using the same - Google Patents
Data Processing Device of using Hash Function and Data Processing Method of using the same Download PDFInfo
- Publication number
- KR100858425B1 KR100858425B1 KR1020060001409A KR20060001409A KR100858425B1 KR 100858425 B1 KR100858425 B1 KR 100858425B1 KR 1020060001409 A KR1020060001409 A KR 1020060001409A KR 20060001409 A KR20060001409 A KR 20060001409A KR 100858425 B1 KR100858425 B1 KR 100858425B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- input data
- hash value
- hash
- length
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
해시 함수를 이용하여 강한 충돌 회피성을 가진 데이터를 획득하기 위한 장치 및 그 방법이 개시된다. 적어도 2개의 데이터 처리 경로를 가진 데이터 처리 장치는 입력 데이터를 논리 연산을 통해 변형하고, 변형된 데이터를 해시 알고리즘을 이용하여 해시값을 출력한다. 또한, 입력 데이터는 직접 해시 알고리즘에 입력되어 다른 해시값으로 출력될 수도 있다. 적어도 2개의 서로 다른 해시값은 직렬로 조합되어 강한 충돌 회피성을 가진다. 따라서, 해시 함수에 의해 생성된 해시값에 의해 데이터는 무결성을 확보할 수 있다.
An apparatus and method for obtaining data with strong collision avoidance using a hash function are disclosed. A data processing apparatus having at least two data processing paths transforms input data through logical operations and outputs hash values using the modified algorithm using a hash algorithm. In addition, the input data may be directly input to a hash algorithm and output as another hash value. At least two different hash values are combined in series to have strong collision avoidance. Therefore, data can be ensured by the hash value generated by the hash function.
Description
도 1은 종래 기술에 따라, 해시 함수를 이용하여 입력 데이터를 압축하여 해시값을 도출하는 방법을 도시한 블록도이다.1 is a block diagram illustrating a method of deriving a hash value by compressing input data using a hash function according to the related art.
도 2a 및 도 2b는 본 발명의 제1 실시예에 따라 해시값을 도출하는 데이터 처리 장치를 도시한 블록도들이다.2A and 2B are block diagrams illustrating a data processing apparatus for deriving a hash value according to a first embodiment of the present invention.
도 3은 본 발명의 제2 실시예에 따라 해시값을 도출하는 데이터 처리 장치를 도시한 블록도이다.3 is a block diagram showing a data processing apparatus for deriving a hash value according to a second embodiment of the present invention.
* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
200 : 입력 데이터 변형부 210,270,320 : 제1 데이터 처리부200: input
220,280,330 : 제2 데이터 처리부 230,290,350 : 결과 조합부220,280,330: second data processor 230,290,350: result combination unit
250, 300 : 제1 입력 데이터 변형부250 and 300: first input data transformation unit
260, 310 : 제2 입력 데이터 변형부260 and 310: second input data transformation unit
본 발명은 디지털 컨텐츠의 암호화에 관한 것으로, 더욱 상세하게는 해시 함수(Hash Function)를 이용하여 디지털 컨텐츠를 암호화하는 장치 및 암호화하는 방법에 관한 것이다.The present invention relates to encryption of digital content, and more particularly, to an apparatus and a method for encrypting digital content using a hash function.
일반적으로 해시 함수는 길이가 긴 데이터를 정해진 길이의 데이터로 줄여주는 함수를 지칭한다. 알고리즘인 해시 함수에 따라 데이터를 변환하는 동작을 해싱(Hashing)이라 지칭하는데, 이는 데이터베이스 내의 항목들은 색인하고 검색하는데 사용되거나, 전자 서명을 암호화하고 복호화하는데 사용된다.In general, a hash function refers to a function that reduces long data to fixed data. The operation of transforming data according to an algorithm's hash function is called hashing, where items in the database are used to index and search, or to encrypt and decrypt digital signatures.
특히, 상기 해시 함수는 전자 서명의 암호화에 주로 사용된다. 전자 서명은 해시 함수를 이용하여 해시값으로 변환된 다음, 해시값과 전자 서명은 수신자에게로 전송된다. 수신자는 송신자가 사용한 해시 함수와 동일한 해시 함수를 사용하여 수신된 전자 서명으로부터 해시값을 도출하고, 이를 수신된 해시값과 비교한다. 송신자로부터 수신된 해시값과 해시 함수에 의해 도출된 해시값이 동일한 경우, 상기 전자 서명은 유효한 것으로 판단된다.In particular, the hash function is mainly used for encrypting digital signatures. The digital signature is converted to a hash value using a hash function, and then the hash value and the digital signature are sent to the recipient. The receiver derives a hash value from the received digital signature using the same hash function as the hash function used by the sender and compares it with the received hash value. If the hash value received from the sender and the hash value derived by the hash function are the same, the digital signature is determined to be valid.
따라서, 해시 함수는 송수신되는 디지털 컨텐츠 또는 메시지의 무결성(integrity)을 확보하는데 사용된다. 무결성이라 함은 메시지가 전송되는 과정에서 불법적인 제3 자에 의해 의도적으로 변조되지 않았음을 확신케하는 요소이다. 즉, 무결성은 수신된 메시지가 실제 작성자가 보낸 것이고, 그 메시지가 전송되는 과정에서 불법적인 제3 자에 의해 조작되지 않았다는 것에 대한 확신을 수신자가 가지도록 하는 것이다.Thus, the hash function is used to ensure the integrity of the digital content or message being sent and received. Integrity is the assurance that a message has not been intentionally tampered with by an illegal third party in the course of its transmission. In other words, integrity means that the recipient has confidence that the received message was sent by the actual author and that the message was not tampered with by an illegal third party.
도 1은 종래 기술에 따라, 해시 함수를 이용하여 입력 데이터를 압축하여 해 시값을 도출하는 방법을 도시한 블록도이다.1 is a block diagram illustrating a method of deriving a hash value by compressing input data using a hash function according to the related art.
해시 알고리즘이 수행되는 데이터 처리기(100)에는 소정의 해시 함수에 상응하는 데이터 처리 알고리즘이 이식된다. 입력 데이터에 대해 해시 함수는 정해진 길이의 데이터로 축약하여 해시값을 출력한다. 상기 해시값은 출력 데이터가 된다. 즉, 출력 데이터는 입력 데이터에 비해 짧은 길이의 데이터가 된다. 이러한 해시 함수는 일방향 함수(one-way function)라는 특징을 가진다. 또한, 출력 데이터인 해시값은 입력 데이터의 길이에 비해 짧은 값을 가지므로, 데이터의 충돌 위험성을 가진다. 즉, 서로 다른 입력 데이터에 대해 동일한 해시값을 가질 가능성을 항상 가지고 있다.The
이러한 데이터의 충돌을 회피하는 성질을 충돌 회피성이라 한다. 해시 함수에서 충돌 회피성은 강한 충돌 회피성 및 약한 충돌 회피성으로 나누어진다.The nature of avoiding such data collision is called collision avoidance. Collision avoidance in hash functions is divided into strong collision avoidance and weak collision avoidance.
강한 충돌 회피성은 해시 함수 h에 대해 서로 다른 입력인 a 및 b의 해시값인 h(a) 및 h(b)가 동일할 확률이 매우 적은 경우를 지칭한다. 또한, 약한 충돌 회피성은 해시 함수 h에 대해 서로 다른 입력인 a 및 b의 해시값인 h(a) 및 h(b)가 동일한 경우를 찾기 쉬운 것을 지칭한다. 바람직하게는 해시 함수는 강한 충돌 회피성을 가져야 한다.Strong collision avoidance refers to the case where the hash values h (a) and h (b) of different inputs a and b are very unlikely for the hash function h. In addition, weak collision avoidance refers to a case where it is easy to find cases where the hash values h (a) and h (b) of different inputs a and b are the same for the hash function h. Preferably the hash function should have strong collision avoidance.
또한, 해시 함수가 제3 자에 의해 완전히 해독되거나, 약한 충돌 회피성을 가지는 경우, 메시지의 무결성은 확보되지 않는다. In addition, if the hash function is fully decrypted by a third party or has weak collision avoidance, the integrity of the message is not secured.
특히, 1990년에 Rivest에 의해 제안된 MD4(Message Digest 4) 해시 함수는 현재 완전히 해독되어 더 이상 안전하지 않으며, MD5 또한, 내부 취약성이 발견된 상태이다. 1995년에 유럽의 RIPE 컨소시엄에서 제안된 RIPEMD 또한 안전하지 않은 것으로 확인되었으며, 이를 개선한 RIPEMD-128/160이 제안된 상태이다. 또한, 미국표준기술연구소(National Institute of Standards and Technology; NIST)에서는 1993년에 SHA(Secure Hash Algorithm)를 공개하였으며, 1995년에는 이를 개선한 SHA-1을 발표하였으며, 현재 SHA-1이 미국 표준으로 공인되었다. 이 외에도 많은 해시 함수가 제안되었으나 현재 암호학적으로 안전하다고 간주되는 해시 함수로는 RIPEMD-160, SHA-1, HAVAL 등이 있다. 그러나, 이들 알고리즘도 컴퓨터의 성능이 발전함에 따라 취약성이 발견될 가능성이 상존한다.In particular, the Message Digest 4 (MD4) hash function proposed by Rivest in 1990 is now fully decrypted and no longer safe, and MD5 has also found internal vulnerabilities. The RIPEMD proposed by the European RIPE Consortium in 1995 was also found to be unsafe, and an improved RIPEMD-128 / 160 has been proposed. In addition, the National Institute of Standards and Technology (NIST) unveiled the Secure Hash Algorithm (SHA) in 1993, and in 1995 released SHA-1, an improved version of SHA-1. Was authorized as. In addition, many hash functions have been proposed, but the hash functions currently considered cryptographically secure include RIPEMD-160, SHA-1, and HAVAL. However, these algorithms also have the potential to find vulnerabilities as computer performance advances.
상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은, 입력 데이터를 변형한 다음, 변형된 데이터를 해시 함수를 통해 해시값을 도출하는 데이터 처리 장치를 제공하는데 있다.A first object of the present invention for solving the above problems is to provide a data processing apparatus that deforms the input data and then derives the hash value through the hash function.
또한, 본 발명의 제2 목적은 상기 제1 목적을 달성하기 위해 사용되는 데이터 처리 방법을 제공하는데 있다.In addition, a second object of the present invention is to provide a data processing method used to achieve the first object.
상기 제1 목적을 달성하기 위한 본 발명은, 해시 함수가 이식되고, 입력 데이터를 상기 해시 함수에 따라 축약하여 제1 해시값을 출력하기 위한 제1 데이터 처리부; 상기 입력 데이터를 수신하여 상기 입력 데이터를 논리 연산하여 변형하기 입력 데이터 변형부; 상기 입력 데이터 변형부의 출력을 수신하고, 상기 제1 데이터 처리부에 이식된 해시 함수와 동일한 해시 함수에 따라 축약하여 제2 해시값을 출력하기 위한 제2 데이터 처리부; 및 상기 제1 해시값과 상기 제2 해시값을 수신하고, 조합하여 상기 제1 해시값의 길이와 상기 제2 해시값의 길이를 더한 길이를 갖는 결과 데이터를 출력하기 위한 결과 조합부를 포함하는 데이터 처리 장치를 제공한다.The present invention for achieving the first object is a first data processing unit for implanting a hash function, and outputs a first hash value by reducing the input data according to the hash function; An input data transformation unit to receive the input data and logically transform the input data; A second data processing unit for receiving an output of the input data transformation unit and outputting a second hash value abbreviated according to the same hash function as the hash function implanted in the first data processing unit; And a result combiner for receiving the first hash value and the second hash value, combining the first hash value, and outputting the result data having a length obtained by adding up the length of the first hash value and the length of the second hash value. Provide a processing device.
또한, 상기 제1 목적을 달성하기 위한 본 발명은, 입력 데이터를 수신하고, 상기 입력 데이터를 제1 논리 연산하여 변형하기 위한 제1 입력 데이터 변형부; 상기 제1 입력 데이터 변형부의 출력을 수신하고, 이식된 해시 함수에 다라 축약하여 제1 해시값을 출력하기 위한 제1 데이터 처리부; 상기 입력 데이터를 수신하고, 상기 입력 데이터를 제2 논리 연산하여 변형하기 제2 입력 데이터 변형부; 상기 제2 입력 데이터 변형부의 출력을 수신하고, 상기 제1 데이터 처리부에 이식된 해시 함수와 동일한 해시 함수에 따라 축약하여 제2 해시값을 출력하기 위한 제2 데이터 처리부; 및 상기 제1 해시값과 상기 제2 해시값을 수신하고, 조합하여 상기 제1 해시값의 길이와 상기 제2 해시값의 길이를 더한 길이를 갖는 결과 데이터를 출력하기 위한 결과 조합부를 포함하는 데이터 처리 장치를 제공한다.In addition, the present invention for achieving the first object, the first input data transformation unit for receiving the input data, the first logical operation to transform the input data; A first data processor for receiving an output of the first input data transform unit and outputting a first hash value abbreviated according to an implanted hash function; A second input data transformation unit for receiving the input data and transforming the input data by performing a second logical operation; A second data processing unit for receiving the output of the second input data transformation unit and outputting a second hash value abbreviated according to the same hash function as the hash function implanted in the first data processing unit; And a result combiner for receiving the first hash value and the second hash value, combining the first hash value, and outputting the result data having a length obtained by adding up the length of the first hash value and the length of the second hash value. Provide a processing device.
또한, 본 발명의 상기 제1 목적은, 입력 데이터를 수신하고, 상기 입력 데이터를 제1 논리 연산하여 변형하기 위한 제1 입력 데이터 변형부; 상기 제1 입력 데이터 변형부의 출력을 수신하고, 이식된 제1 해시 함수에 다라 축약하여 제1 해시값을 출력하기 위한 제1 데이터 처리부; 상기 입력 데이터를 수신하고, 상기 제1 해시 함수와 다른 알고리즘을 가진 제2 해시 함수에 따라 축약하여 제2 해시값을 출력하기 위한 제2 데이터 처리부; 및 상기 제1 해시값과 상기 제2 해시값을 수신하고, 직렬로 조합하여 상기 제1 해시값의 길이와 상기 제2 해시값의 길이를 더한 길이를 갖는 결과 데이터를 출력하기 위한 결과 조합부를 포함하는 데이터 처리 장치의 제공을 통해서도 달성될 수 있다.In addition, the first object of the present invention, the first input data modification unit for receiving the input data, the first logical operation to transform the input data; A first data processor for receiving an output of the first input data transform unit and outputting a first hash value abbreviated according to the implanted first hash function; A second data processor for receiving the input data and outputting a second hash value abbreviated according to a second hash function having a different algorithm from the first hash function; And a result combination unit for receiving the first hash value and the second hash value and combining the serially and serially outputting the result data having the length of the first hash value plus the length of the second hash value. It can also be achieved through the provision of a data processing device.
또한, 상기 제2 목적을 달성하기 위한 본 발명은, 입력 데이터를 제1 논리 연산하여 변형하는 단계; 상기 제1 논리 연산에 의해 변형된 입력 데이터에 대해 제1 해시 함수를 이용하여 제1 해시값을 출력하는 단계; 상기 입력 데이터를 제2 해시 함수를 이용하여 제2 해시값을 출력하는 단계; 및 상기 제1 해시값의 길이와 상기 제2 해시값의 길이를 더한 길이를 갖는 결과 데이터를 출력하기 위해 상기 제1 해시값 및 제2 해시값을 직렬로 조합하는 단계를 포함하는 데이터 처리 방법을 제공한다.In addition, the present invention for achieving the second object, the first logical operation to transform the input data; Outputting a first hash value with respect to the input data modified by the first logical operation using a first hash function; Outputting a second hash value using the input data using a second hash function; And combining the first hash value and the second hash value in series to output the result data having the length of the first hash value plus the length of the second hash value. to provide.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제1 실시예First embodiment
도 2a 및 도 2b는 본 발명의 제1 실시예에 따라 해시값을 도출하는 데이터 처리 장치를 도시한 블록도들이다.2A and 2B are block diagrams illustrating a data processing apparatus for deriving a hash value according to a first embodiment of the present invention.
도 2a를 참조하면, 본 실시예에 따른 데이터 처리 장치는 입력 데이터 변형부(200), 제1 데이터 처리부(210), 제2 데이터 처리부(220) 및 결과 조합부(230)를 포함한다.Referring to FIG. 2A, the data processing apparatus according to the present exemplary embodiment includes an input
디지털 형태의 입력 데이터는 제1 데이터 처리부(210) 및 입력 데이터 변형부(200)로 입력된다. The digital input data is input to the first
먼저, 제1 데이터 처리부(210)는 소정의 알고리즘에 따라 해시값을 생성한다. 상기 제1 데이터 처리부(210)에 이식된 해시 함수로는 MD5, SHA-1 또는 RIPEMD-160 등이 사용될 수 있다. 따라서, 상기 제1 데이터 처리부(210)에 의해 출력되는 제1 해시값은 이식되는 해시 함수에 따라 다양한 값을 가질 수 있다.First, the
또한, 입력 데이터는 입력 데이터 변형부(200)로 입력된다. 상기 입력 데이터 변형부(200)는 입력 데이터에 대해 소정의 논리 연산을 수행하여 상기 입력 데이터와 다른 값을 출력한다. 상기 논리 연산은 다양한 형태로 구현될 수 있다. 즉, 현재의 입력조합에 의해 출력이 결정되는 조합 논리 연산, 소정의 지연 시간을 가지는 동기 순서 논리 연산 또는 비동기 순서 논리 연산일 수 있다. In addition, the input data is input to the input
상술한 논리 연산을 통해 입력 데이터는 입력 데이터 변형부(200)에 의해 변형된다. 따라서, 입력 데이터 변형부(200)의 출력은 다양한 형태로 구현될 수 있다.The input data is transformed by the input
바람직하게는 상기 입력 데이터 변형부(200)에 의해 출력되는 값은 상기 입력 데이터와 동일한 데이터 길이(data length)를 가진다. 예컨대, 상기 입력 데이터 변형부(200)가 "1111 1111 1111 1111"을 가지고 입력 데이터에 대해 XOR 연산을 수행하는 경우, 입력 데이터 값이 이진수로 "0001 0010 0011 0100" 이면, 상기 입력 데이터 변형부(200)의 출력값은 "1110 1101 1100 1011"이 된다. Preferably, the value output by the input
상기 입력 데이터 변형부(200)의 출력은 제2 데이터 처리부(220)로 입력된다. 상기 제2 데이터 처리부(220)에는 상기 제1 데이터 처리부(210)와 동일한 해시 함수가 이식된다. 따라서, 제2 데이터 처리부(220)에 입력되는 입력 데이터 변형부(200)의 출력이 상기 입력 데이터와 동일한 비트수를 가지는 경우, 제1 데이터 처리부(210)의 제1 해시값과 동일한 비트수를 가진 해시값을 출력한다. The output of the input
제1 데이터 처리부(210)의 출력인 제1 해시값 및 제2 데이터 처리부(220)의 출력인 제2 해시값은 결과 조합부(230)로 입력된다. 상기 결과 조합부(230)는 입력 되는 2개의 해시값을 조합하여 결과 데이터를 형성한다. 상기 2개의 해시값의 조합은 다양한 형태로 수행될 수 있다. 즉, 제1 해시값과 제2 해시값을 1비트씩 번갈아가며 조합할 수 있고, 소정의 비트 간격으로 제1 해시값과 제2 해시값을 번갈아가며 조합할 수도 있다. 또한, 제1 해시값과 제2 해시값을 직렬로 연결할 수도 있다. 바람직하게는, 상기 결과 조합부(230)는 입력값들을 직렬로 결합하여 비트 스트림 형태의 데이터로 형성한다. 비트 스트림 형태의 데이터는 결과 조합부(230)의 결과 데이터가 된다.The first hash value that is the output of the
또한, 상기 제1 데이터 처리부(210) 및 제2 데이터 처리부(220)에 이식되는 해시 함수는 서로 동일하다.In addition, the hash functions implanted in the
도 2b를 참조하면, 본 실시예에 따라 구성되는 다른 데이터 처리 장치는 제1 입력 데이터 변형부(250), 제2 입력 데이터 변형부(260), 제1 데이터 처리부(270), 제2 데이터 처리부(280) 및 결과 조합부(290)를 가진다.Referring to FIG. 2B, another data processing apparatus constructed according to the present embodiment may include a first input
입력 데이터는 제1 입력 데이터 변형부(250) 및 제2 입력 데이터 변형부(260)에 입력된다. 제1 입력 데이터 변형부(250)는 제1 논리 연산을 통해 입력 데이터를 변형한다. 따라서, 제1 논리 연산의 출력 데이터는 다양한 형태로 변형될 수 있으며, 출력 데이터의 길이도 다양하게 변경될 수 있다. 바람직하게는, 제1 논리 연산에 의해 출력되는 제1 입력 데이터 변형부(250)의 출력값의 길이는 입력 데이터의 길이와 동일하다. 또한, 제2 입력 데이터 변형부(260)는 상기 제1 논리 연산과 다른 제2 논리 연산을 통해 상기 입력 데이터를 변형한다. 따라서, 제2 논리 연산의 출력 데이터는 다양한 형태로 변형될 수 있으며, 출력 데이터의 길이도 다 양하게 변경될 수 있다. 바람직하게는, 제2 논리 연산에 의해 출력되는 제2 입력 데이터 변형부(260)의 출력값의 길이는 입력 데이터의 길이와 동일하다.The input data is input to the first
제1 입력 데이터 변형부(250)의 출력은 제1 데이터 처리부(270)로 입력되고, 제2 입력 데이터 변형부(260)의 출력은 제2 데이터 처리부(280)로 입력된다. 또한, 상기 제1 데이터 처리부(270) 및 상기 제2 데이터 처리부(280)에는 서로 동일한 해시 함수가 이식된다. The output of the first input
그러나, 각각의 데이터 처리부들에는 서로 다른 데이터 값이 입력되므로, 서로 다른 해시값이 출력된다. 즉, 제1 데이터 처리부(270)로부터 출력되는 제1 해시값과 제2 데이터 처리부(280)로부터 출력되는 제2 해시값은 서로 다른 값을 가짐이 바람직하다.However, since different data values are input to the respective data processing units, different hash values are output. That is, it is preferable that the first hash value output from the
제1 해시값 및 제2 해시값은 결과 조합부(290)로 입력된다. 상기 결과 조합부(290)는 제1 해시값 및 제2 해시값을 조합하여 결과 데이터를 형성한다. 상기 2개의 해시값의 조합은 다양한 형태로 수행될 수 있다. 즉, 제1 해시값과 제2 해시값을 1비트씩 번갈아가며 조합할 수 있고, 소정의 비트 간격으로 제1 해시값과 제2 해시값을 번갈아가며 조합할 수도 있다. 또한, 제1 해시값과 제2 해시값을 직렬로 연결할 수도 있다. 바람직하게는, 입력되는 2개의 해시값을 직렬로 연결한다. 즉, 상기 결과 조합부(290)는 입력값들인 제1 해시값 및 제2 해시값을 직렬로 결합하여 비트 스트림 형태의 데이터로 형성한다. 비트 스트림 형태의 데이터는 결과 조합부(290)의 결과 데이터가 된다.The first hash value and the second hash value are input to the
따라서, 본 실시예에 따르면, 입력 데이터는 해시 함수에 직접 입력되지 않 고, 먼저 입력 데이터 변형부에 의해 변형되며, 해시 함수를 통해 소정의 길이로 축약된다. 각각의 해시 함수의 출력인 해시값은 결과 조합부에 의해 조합되므로 데이터의 보안성 및 무결성을 향상시킬 수 있다.Therefore, according to the present embodiment, the input data is not directly input to the hash function, but is first deformed by the input data deformer, and is reduced to a predetermined length through the hash function. Hash values, which are outputs of the respective hash functions, are combined by the result combination unit, thereby improving the security and integrity of the data.
제2 실시예Second embodiment
도 3은 본 발명의 제2 실시예에 따라 해시값을 도출하는 데이터 처리 장치를 도시한 블록도이다.3 is a block diagram showing a data processing apparatus for deriving a hash value according to a second embodiment of the present invention.
도 3을 참조하면, 본 실시예에 따른 데이터 처리 장치는 제1 입력 데이터 변형부(300), 제2 입력 데이터 변형부(310), 제1 데이터 처리부(320), 제2 데이터 처리부(330), 제3 데이터 처리부(340) 및 결과 조합부(350)를 가진다. 상기 제1 데이터 처리부(320), 제2 데이터 처리부(330) 및 제3 데이터 처리부(340)에는 서로 다른 해시 함수들이 이식된다.Referring to FIG. 3, the data processing apparatus according to the present embodiment may include a first input
먼저, 입력 데이터는 제1 입력 데이터 변환부(300), 제2 입력 데이터 변환부(310) 및 제3 데이터 처리부(340)로 입력된다. First, the input data is input to the first
상기 제1 입력 데이터 변환부(300) 및 제2 입력 데이터 변환부(310)는 서로 동일한 논리 연산을 수행할 수도 있고, 서로 다른 논리 연산을 수행할 수도 있겠으나, 바람직하게는 서로 다른 논리 연산을 수행한다. 즉, 제1 입력 데이터 변환부(300)는 제1 논리 연산을 수행하고, 제2 입력 데이터 변환부(310)는 제1 논리 연산과 다른 제2 논리 연산을 수행한다. 또한, 상기 제1 논리 연산 및 제2 논리 연산은 다양한 형태로 구현될 수 있다. 즉, 현재의 입력조합에 의해 출력이 결정되는 조합 논리 연산, 소정의 지연 시간을 가지는 동기 순서 논리 연산 또는 비동기 순서 논리 연산일 수 있다. The first
또한, 제1 입력 데이터 변환부(300) 및 제2 입력 데이터 변환부(310)의 출력 데이터들은 다양한 형태로 변형될 수 있으며, 출력 데이터의 길이도 다양하게 변경될 수 있다. 바람직하게는, 서로 동일한 데이터 길이를 가지며, 입력 데이터와 동일한 데이터 길이를 가진다.In addition, the output data of the first
또한, 제3 데이터 처리부(340)에는 제3 해시 함수가 이식되어 입력 데이터에 대한 축약을 수행한다. 상기 제3 데이터 처리부(340)에 이식된 제3 해시 함수에 의해 축약되어 출력되는 제3 해시값은 결과 조합부(350)로 입력된다.In addition, a third hash function is implanted in the
또한, 제1 입력 데이터 변환부(300)의 출력은 제1 데이터 처리부(320)로 입력되고, 제2 입력 데이터 변환부(310)의 출력은 제2 데이터 처리부(330)로 입력된다. 제1 데이터 처리부(320)에는 제1 해시 함수가 이식되고, 제2 데이터 처리부(330)에는 제2 해시 함수가 이식된다. 상기 제1 해시 함수, 제2 해시 함수 및 제3 해시 함수는 서로 다른 알고리즘을 가진다.In addition, the output of the first
따라서, 제1 해시 함수에 의해 축약되어 제1 데이터 처리부(320)로부터 출력되는 제1 해시값은 동일한 입력 데이터에 대해 제2 데이터 처리부(330)의 출력인 제2 해시값 및 제3 데이터 처리부(340)의 출력인 제3 해시값과 다른 값을 가진다. 또한, 제1 해시값, 제2 해시값 및 제3 해시값은 결과 조합부(350)로 입력된다.Therefore, the first hash value abbreviated by the first hash function and output from the
상기 결과 조합부(350)는 입력되는 3개의 해시값들을 조합하여 결과 데이터를 형성한다. 상기 3개의 해시값의 조합은 다양한 형태로 수행될 수 있다. 즉, 제1 해시값, 제2 해시값 및 제3 해시값을 1비트씩 번갈아가며 조합할 수 있고, 소정의 비트 간격으로 제1 해시값, 제2 해시값 및 제3 해시값을 번갈아가며 조합할 수도 있다. 또한, 제1 해시값, 제2 해시값 및 제3 해시값을 직렬로 연결할 수도 있다. 바람직하게는, 상기 결과 조합부(350)는 입력되는 3개의 해시값들을 직렬로 연결한다. 즉, 상기 결과 조합부(350)는 입력값들인 제1 해시값, 제2 해시값 및 제3 해시값을 직렬로 결합하여 비트 스트림 형태의 데이터로 형성한다. 비트 스트림 형태의 데이터는 결과 조합부(350)의 결과 데이터가 된다.The
따라서, 본 실시예에 따르면, 입력 데이터는 해시 함수에 직접 입력되지 않고, 먼저 입력 데이터 변형부에 의해 변형되며, 해시 함수를 통해 소정의 길이로 축약된다. 각각의 해시 함수의 출력인 해시값은 결과 조합부에 의해 조합되므로 데이터의 보안성 및 무결성을 향상시킬 수 있다.Therefore, according to the present embodiment, the input data is not directly input to the hash function, but is first deformed by the input data deformer, and is reduced to a predetermined length through the hash function. Hash values, which are outputs of the respective hash functions, are combined by the result combination unit, thereby improving the security and integrity of the data.
또한, 상기 도 3에서는 병렬로 배치된 3개의 경로를 통해 입력 데이터가 처리되는 것으로 도시하였으나, 2개의 경로 또는 3개를 상회하는 경로를 통해 입력 데이터가 처리될 수 있다. In addition, although FIG. 3 illustrates that input data is processed through three paths arranged in parallel, the input data may be processed through two paths or more than three paths.
만일 2개의 경로를 통해 입력 데이터가 처리되는 경우, 데이터 처리 장치는 상기 도 2a 또는 도 2b의 구성을 가질 수 있다. 다만, 각각의 경로에 이식되는 해시 함수는 서로 다른 알고리즘을 가진다.If input data is processed through two paths, the data processing apparatus may have the configuration of FIG. 2A or 2B. However, the hash function ported to each path has a different algorithm.
상기와 같은 본 발명에 따르면, 기존의 해시 함수가 이식된 데이터 처리부에 입력 데이터를 입력하여 데이터에 대한 축약을 수행하기 이전에 입력 데이터에 대 한 논리 연산을 수행하여, 입력 데이터에 대한 1차적인 변형을 수행한다. 또한, 변형된 데이터를 해시 함수를 이용하여 축약하고, 동일한 입력 데이터에 대해 서로 다른 데이터 처리 경로를 거쳐 생성된 해시값들을 조합하여 출력한다.According to the present invention as described above, by inputting the input data to the data processing unit implanted with the existing hash function to perform a logical operation on the input data before performing the abbreviation for the data, the primary data for the input data Perform the transformation. In addition, the modified data is abbreviated using a hash function, and a combination of hash values generated through different data processing paths for the same input data is output.
따라서, 해시 함수를 이용하는 시스템의 보안성을 확보할 수 있으며, 본 발명에 의해 출력되는 결과 데이터는 강한 충돌 회피성을 가지므로 데이터의 무결성을 확보할 수 있다. Therefore, the security of the system using the hash function can be secured, and the result data output by the present invention has strong collision avoidance, thereby ensuring the integrity of the data.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060001409A KR100858425B1 (en) | 2006-01-05 | 2006-01-05 | Data Processing Device of using Hash Function and Data Processing Method of using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060001409A KR100858425B1 (en) | 2006-01-05 | 2006-01-05 | Data Processing Device of using Hash Function and Data Processing Method of using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070073465A KR20070073465A (en) | 2007-07-10 |
KR100858425B1 true KR100858425B1 (en) | 2008-09-17 |
Family
ID=38508059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060001409A KR100858425B1 (en) | 2006-01-05 | 2006-01-05 | Data Processing Device of using Hash Function and Data Processing Method of using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100858425B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102275868B1 (en) * | 2017-11-07 | 2021-07-12 | 한국전자기술연구원 | Apparatus and Method for Falsification Protection of Video Data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030174710A1 (en) * | 2002-03-14 | 2003-09-18 | Mark Gooch | Method and system for performing flow based hash transformation to generate hash pointers for a network device |
-
2006
- 2006-01-05 KR KR1020060001409A patent/KR100858425B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030174710A1 (en) * | 2002-03-14 | 2003-09-18 | Mark Gooch | Method and system for performing flow based hash transformation to generate hash pointers for a network device |
Also Published As
Publication number | Publication date |
---|---|
KR20070073465A (en) | 2007-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170308709A1 (en) | Method and apparatus for secure data transfer | |
EP2290872B1 (en) | Device for generating a message authentication code for authenticating a message | |
Rasjid et al. | A review of collisions in cryptographic hash function used in digital forensic tools | |
US8086860B2 (en) | Method for preventing and detecting hash collisions of data during the data transmission | |
US8195947B2 (en) | Method and system for conveying alternate acceptable canonicalizations of a digitally signed piece of electronic mail | |
JP6120961B2 (en) | Generation and verification of alternative data with a specific format | |
Maetouq et al. | Comparison of hash function algorithms against attacks: A review | |
Ganeshkumar et al. | Generating a digital signature based on new cryptographic scheme for user authentication and security | |
WO2019163032A1 (en) | Encryption device, encryption method, program, decryption device, and decryption method | |
Wang et al. | Implementation and comparison of two hash algorithms | |
Chandran et al. | Performance analysis of modified SHA-3 | |
US8290147B2 (en) | Systems and methods for efficiently creating digests of digital data | |
CN110995415A (en) | Encryption algorithm based on MD5 algorithm | |
KR101445339B1 (en) | Integrated cryptographic apparatus for providing confidentiality and integrity | |
Gupta et al. | Enhanced SHA-192 algorithm with larger bit difference | |
KR19990053174A (en) | How to Check Integrity of Information Using Hash Function | |
KR100858425B1 (en) | Data Processing Device of using Hash Function and Data Processing Method of using the same | |
JP2017073716A (en) | Tag list generation device, tag list verification device, tag list updating device, tag list generation method, and program | |
Leekha et al. | Implementation and comparison of the functions of building blocks in SHA-2 family used in secured cloud applications | |
Verma et al. | Robustness and security enhancement of SHA with modified message digest and larger bit difference | |
Tiwari et al. | A secure hash function MD-192 with modified message expansion | |
Rajeswari et al. | Performance Analysis of Hash Algorithms and File Integrity | |
Lakshmanan et al. | Security and robustness enhancement of existing Hash algorithm | |
Mathews et al. | Date time keyed-HMAC | |
Tiwari et al. | Cryptographic hash function: an elevated view |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120910 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130906 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140814 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150908 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160811 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |