KR20200053010A - An apparatus and a method for generating a one-way encycripted image - Google Patents

An apparatus and a method for generating a one-way encycripted image Download PDF

Info

Publication number
KR20200053010A
KR20200053010A KR1020180135548A KR20180135548A KR20200053010A KR 20200053010 A KR20200053010 A KR 20200053010A KR 1020180135548 A KR1020180135548 A KR 1020180135548A KR 20180135548 A KR20180135548 A KR 20180135548A KR 20200053010 A KR20200053010 A KR 20200053010A
Authority
KR
South Korea
Prior art keywords
unit
hash code
information
image processing
image
Prior art date
Application number
KR1020180135548A
Other languages
Korean (ko)
Other versions
KR102627930B1 (en
Inventor
정훈희
Original Assignee
엔에이치엔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔 주식회사 filed Critical 엔에이치엔 주식회사
Priority to KR1020180135548A priority Critical patent/KR102627930B1/en
Publication of KR20200053010A publication Critical patent/KR20200053010A/en
Application granted granted Critical
Publication of KR102627930B1 publication Critical patent/KR102627930B1/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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Image Processing (AREA)

Abstract

Disclosed are an apparatus and method for generating an image in which information is encrypted in one direction. According to the present invention, an encrypted image processing apparatus comprises: a hash code generation unit which receives arbitrary information and generates a hash code encrypted with a fixed length by a predetermined hash function; a hash code division unit for dividing the input hash code into a plurality of character string blocks; and an image processing unit which converts the hash code into an encrypted image by determining a phenotype of a plurality of unit elements corresponding to each of the plurality of character string blocks.

Description

정보의 단방향 암호화 이미지 생성 장치 및 방법{AN APPARATUS AND A METHOD FOR GENERATING A ONE-WAY ENCYCRIPTED IMAGE}A device and method for generating a one-way encrypted image of information {AN APPARATUS AND A METHOD FOR GENERATING A ONE-WAY ENCYCRIPTED IMAGE}

본 발명은 정보를 단방향으로 암호화한 이미지의 생성 장치 및 방법에 관한 것이다. 보다 구체적으로, 본 발명은 입력 정보를 소정의 해시코드로 변환하고, 해시코드를 복수의 블록으로 분할하고, 각각의 블록 값에 대응하는 표현형을 결정하여 암호화된 이미지를 생성하는 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for generating an image in which information is encrypted in one direction. More specifically, the present invention relates to an apparatus and method for generating an encrypted image by converting input information into a predetermined hash code, dividing the hash code into a plurality of blocks, and determining a phenotype corresponding to each block value. will be.

컴퓨팅 기술 및 데이터 네트워크 기술의 발전으로 인해, 많은 정보들이 데이터 네트워크를 통해 유통되고 있다. 데이터 네트워크를 통해 유통되는 정보 중에는 사용자 개인에 관한 정보가 포함되는데, 이 중 일부 정보는 사용자의 선택에 의해 일반 대중에게 공개되기도 한다. 또한, 사용자의 프라이버시와 관련된 정보는 사용자의 동의가 없는 한 공개되지 않고 있다. With the development of computing technology and data network technology, a lot of information is distributed through the data network. Information distributed through the data network includes information about the individual user, some of which may be disclosed to the general public at the user's option. In addition, information related to the privacy of the user is not disclosed unless the user consents.

특수한 경우, 사용자는 공개되지 않은 개인정보를 다른 사람과 공유할 필요가 있을 수 있다. 예를 들어, 사용자의 접속 지역에 관한 정보가 공개의 대상에서 제외된 경우라도, 사용자는 자신과 동일한 접속 지역에 있는 다른 사용자를 식별하고 싶어할 수 있다. 또 다른 예로서, 밝히기 어려운 질환을 가진 환자는, 자신의 병명을 공개하고 싶어하지 않지만, 해당 질환의 치료법에 관한 정보를 교환하기 동일한 질환을 가진 다른 환자를 식별할 필요가 있을 수도 있다.In special cases, the user may need to share personal information that has not been disclosed. For example, even if information about a user's access area is excluded from disclosure, the user may want to identify another user in the same access area as himself. As another example, a patient with a disease that is difficult to reveal may not need to disclose his or her name, but may need to identify another patient with the same disease to exchange information about the treatment for that disease.

그러나, 상기와 같은 특수한 경우에도 해당 정보를 공개하지 않는다면 목적을 달성하기 불가능하므로 사용자는 어쩔 수 없이 해당 정보를 공개하던지, 아니면 다른 목적을 포기하던지 해야 한다.However, even in the special case described above, if the information is not disclosed, the purpose cannot be achieved, so the user is forced to disclose the information or give up another purpose.

따라서, 일반 대중에게 공개하기 어려운 민감한 정보의 경우, 일반 대중은 알아보기 어려우나 동일한 정보를 공유하는 타인에 의해서는 식별이 가능하도록 정보를 암호화할 필요가 있다.Therefore, in the case of sensitive information that is difficult to disclose to the general public, it is difficult to recognize the general public, but it is necessary to encrypt the information so that it can be identified by others who share the same information.

본 발명은 종래기술의 상기 문제점을 해결하기 위한 것으로, 민감한 정보를 단방향으로 암호화된 이미지로 변환하는 장치 및 방법을 제공하는 것을 그 목적으로 한다.The present invention aims to solve the above problems of the prior art, and an object thereof is to provide an apparatus and method for converting sensitive information into a one-way encrypted image.

본 발명의 일 실시 예에 의해 제공되는 암호화 이미지 처리 장치는, 임의의 정보를 입력 받아 소정의 해시 함수에 의해 고정된 길이로 암호화된 해시 코드를 생성하는 해시코드 생성부; 입력된 상기 해시코드를 복수의 문자열 블록으로 분할하는 해시코드 분할부;및 복수의 문자열 블록 각각에 대응하는 복수의 단위요소의 표현형을 결정함으로써 상기 해시코드를 암호화 이미지로 변환하는 이미지 처리부를 포함한다.An encryption image processing apparatus provided by an embodiment of the present invention includes a hash code generation unit that receives arbitrary information and generates a hash code encrypted with a fixed length by a predetermined hash function; A hash code division unit for dividing the inputted hash code into a plurality of character string blocks; and an image processing unit for converting the hash code into an encrypted image by determining a phenotype of a plurality of unit elements corresponding to each of the plurality of character string blocks. .

상기 이미지 처리부는, 상기 복수의 복수의 단위요소의 표현형을 조합하여 상기 암호화 이미지를 구성할 수 있다.The image processing unit may configure the encrypted image by combining expressions of the plurality of unit elements.

암호화 이미지 처리 장치는, 상기 문자열 블록의 값과 상기 단위요소의 표현형이 맵핑되어 저장된 단위요소 테이블을 더 포함할 수 있으며, 상기 이미지 처리부는 상기 단위요소 테이블을 조회함으로써 각각의 문자열 블록에 대응하는 단위요소의 표현형을 결정할 수 있다.The apparatus for encrypting an image processing may further include a unit element table in which the expression of the string element and the expression of the unit element are mapped, and the image processing unit may query the unit element table to determine a unit corresponding to each string block. The phenotype of the element can be determined.

본 발명의 일 실시예에 따르면, 상기 해시코드 분할부는, 상기 해시코드를 6자리의 문자열을 가지는 복수의 문자열 블록으로 분할하며, 상기 이미지 처리부는, 상기 문자열 그룹 각각을 2자리 문자열 3개의 순서쌍으로 구성하고, 각각의 순서쌍을 디스플레이의 3원색 계조값으로 변환하도록 구성될 수 있다.According to an embodiment of the present invention, the hash code division unit divides the hash code into a plurality of character string blocks having 6 character strings, and the image processing unit, each of the character string groups is a sequence pair of 2 character strings 3 It can be configured to convert each order pair to a grayscale value of the primary color of the display.

이 경우, 상기 이미지 처리부는, 변환된 상기 3원색 계조값에 대응하는 색상으로 처리된 복수의 단위 이미지를 생성하도록 구성될 수 있다.In this case, the image processing unit may be configured to generate a plurality of unit images processed with colors corresponding to the converted three primary color gradation values.

상기 해시코드는 MD5 코드일 수 있으며, 상기 해시코드 분할부는, 상기 MD5코드의 마지막 두 자리를 절사하고, 상기 MD5코드를 6자리의 문자열을 가지는 5개의 문자열 그룹으로 분할하도록 구성될 수 있다.The hash code may be an MD5 code, and the hash code division unit may be configured to cut the last two digits of the MD5 code and divide the MD5 code into five character string groups having six digit character strings.

한편, 본 발명의 일 실시 예에 의해 제공되는 암호화 이미지 처리 방법은, 해시코드 생성부, 이미지 처리부 및 단위 이미지 저장부를 포함하는 정보의 암호화 이미지 처리 장치에 의해 수행되는 정보의 암호화 이미지 처리 방법으로서, 임의의 정보를 수신하는 단계; 수신된 상기 임의의 정보를 소정의 해시 함수에 의해 고정된 길이로 암호화된 해시 코드를 생성하는 단계; 입력된 상기 해시코드를 복수의 문자열 블록으로 분할하는 단계; 및 복수의 문자열 블록 각각에 대응하는 복수의 단위요소의 표현형을 결정함으로써 상기 해시코드를 암호화 이미지로 변환하는 단계를 포함한다.On the other hand, the encryption image processing method provided by an embodiment of the present invention is an encryption image processing method of information performed by an encryption image processing apparatus of information including a hash code generation unit, an image processing unit, and a unit image storage unit, Receiving arbitrary information; Generating a hash code encrypted with the fixed length of the received arbitrary information by a predetermined hash function; Dividing the input hash code into a plurality of character string blocks; And converting the hash code into an encrypted image by determining a phenotype of a plurality of unit elements corresponding to each of the plurality of character string blocks.

본 발명에 의한 암호화 이미지 처리 장치 및 방법에 따르면, 타인에게 공개하기 어려운 민감한 정보를 단방향으로 암호화된 이미지로 변환함으로써, 일반 대중은 알아보기 어려우나 동일한 정보를 공유하는 타인에 의해서는 식별이 가능하도록 하는 이점이 있다. According to the encryption image processing apparatus and method according to the present invention, by converting sensitive information, which is difficult to disclose to others, into an encrypted image in one direction, it is difficult for the general public to recognize, but it can be identified by others who share the same information. There is an advantage.

도 1은 본 발명의 일 실시예에 따른 암호화 이미지 및 이를 구성하는 단위요소의 관계를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 정보의 암호화 처리 장치를 도시한 블록도이다.
도 3은 도 2의 정보의 암호화 이미지 처리 장치에서 해시코드를 암호화하는 과정을 도시한 개념도이다.
도 4는 도 3의 해시코드 블록값을 단위요소의 개별표현형에 1:1로 맵핑시킨 테이블을 도시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 정보 암호화 이미지 처리 장치에 의해 사용자의 접속 위치를 암호화된 이미지로 처리하는 예를 도시한 도면이다.
도 6는 본 발명의 또 다른 실시예에 따른 정보 암호화 이미지 처리 장치에 의해 사용자의 접속 위치를 암호화된 이미지로 처리하는 예를 도시한 도면이다.
1 is a diagram illustrating a relationship between an encrypted image and a unit element constituting the encrypted image according to an embodiment of the present invention.
2 is a block diagram showing an apparatus for encrypting information according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a process of encrypting a hash code in the encryption image processing apparatus of the information in FIG. 2.
FIG. 4 is a conceptual diagram illustrating a table in which the hash code block values of FIG. 3 are mapped 1: 1 to individual expression types of unit elements.
5 is a diagram illustrating an example of processing an access location of a user as an encrypted image by an information encryption image processing apparatus according to an embodiment of the present invention.
6 is a diagram illustrating an example of processing an access location of a user as an encrypted image by an information encryption image processing apparatus according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.The present invention can be variously changed and can have various forms, and specific embodiments will be illustrated in the drawings and described in detail in the text.

그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.However, this is not intended to limit the present invention to a specific disclosure form, and it should be understood as including all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

본 출원에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “include” or “have” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, or that one or more other features or It should be understood that the existence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예들을 보다 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 암호화 이미지 및 이를 구성하는 단위요소의 관계를 도시한 도면이고, 도 2는 본 발명의 일 실시예에 따른 정보의 암호화 이미지 처리 장치를 도시한 블록도이며, 도 3은 도 2의 정보의 암호화 이미지 처리 장치에서 해시코드를 암호화하는 과정을 도시한 개념도이다.1 is a diagram showing a relationship between an encrypted image and a unit element constituting the encrypted image according to an embodiment of the present invention, and FIG. 2 is a block diagram showing an encrypted image processing apparatus for information according to an embodiment of the present invention , FIG. 3 is a conceptual diagram illustrating a process of encrypting a hash code in the encryption image processing apparatus of the information in FIG. 2.

본 발명의 암호화된 이미지는 m개(m≥1)의 단위 요소로 구성될 수 있다. 단위 요소는 암호화된 이미지의 일부이거나, 암호화된 이미지를 생성하는데 필요한 정보일 수 있다. 각각의 단위요소는 복수의 표현형으로 표시된다. 표현형은 단위요소가 디스플레이를 통해 실제 표시된 것으로서, 단위요소의 형상, 크기, 색상 등이 디스플레이를 통해 구체적으로 표현된 상태이다. 각각의 표현형은 후술할 해시코드의 블록 문자열에 1:1로 대응하여 선택되는데, 블록 문자열로부터 연산에 의해 직접 계산되거나, 블록 문자열과 1:1로 맵핑되어 저장매체 등에 저장될 수 있다. 블록 문자열과 1:1로 맵핑되어 저장되는 경우, 각각의 표현형은 이미지 파일로 저장될 수도 있고, 크기, 모양, 색상 등에 관한 파라미터 값으로 저장될 수도 있으며, 이미지 또는 파라미터 값을 호출할 수 있는 URL로 저장될 수도 있다.The encrypted image of the present invention may be composed of m (m≥1) unit elements. The unit element may be part of an encrypted image or information necessary to generate an encrypted image. Each unit element is represented by a plurality of phenotypes. In the expression type, the unit element is actually displayed on the display, and the shape, size, and color of the unit element are specifically expressed on the display. Each expression type is selected in a 1: 1 correspondence to a block string of a hash code, which will be described later, or calculated directly by an operation from a block string, or mapped 1: 1 with a block string and stored in a storage medium or the like. When mapped and stored in 1: 1 with block string, each expression type can be saved as an image file, or as a parameter value for size, shape, color, etc., and a URL that can call an image or parameter value It can also be stored as.

예컨대, 도 1(a)를 참조하면, 본 발명의 암호화된 이미지는 아바타일 수 있으며, 단위 요소는 아바타의 얼굴형, 눈, 코, 입, 귀, 헤어스타일 및 의상일 수 있다. 도 1(a)의 예에서는 아바타의 얼굴형, 눈, 코, 입, 귀, 헤어스타일, 및 의상을 아바타를 구성하는 단위 요소로 하고 있으나, 단위 요소는 더 세분화되거나 통합될 수 있다. 예컨대, 헤어스타일을 얼굴형에 통합할 수 있으며, 반대로 눈을 눈의 형태와 눈의 색상 등으로 세분화할 수도 있다. 각각의 단위요소는 복수의 표현형을 가지는데, 예를 들어, 단위요소 '눈'은 눈1, 눈2, 눈3...눈k 등 k가지의 표현형으로 표시될 수 있다.For example, referring to FIG. 1 (a), the encrypted image of the present invention may be an avatar, and the unit element may be an avatar's face shape, eyes, nose, mouth, ears, hairstyle, and clothing. In the example of Fig. 1 (a), the avatar's face shape, eyes, nose, mouth, ears, hairstyle, and clothes are used as unit elements constituting the avatar, but the unit elements may be further subdivided or integrated. For example, the hairstyle can be integrated into the face shape, and conversely, the eye can be subdivided into the shape of the eye and the color of the eye. Each unit element has a plurality of phenotypes. For example, the unit element 'eye' may be represented by k expressions such as eye 1, eye 2, eye 3 ... eye k.

한편, 본 발명의 암호화된 이미지는 복수의 영역으로 구분되는 이미지일 수 있으며, 이 경우, 각각의 영역이 단위요소가 될 수 있다. 예컨대, 도 1(b)를 참조하면, 암호화된 이미지는 복수의 색상을 가지는 색상띠일 수 있다. 도 1(b)의 색상띠는 5개의 영역(A1~A5)으로 구분되며, 각각의 영역이 단위요소가 된다. 단위요소의 표현형은 각각의 영역의 색상인데, 색상은 해시코드의 블록으로부터 연산에 의해 결정될 수 있다. Meanwhile, the encrypted image of the present invention may be an image divided into a plurality of regions, and in this case, each region may be a unit element. For example, referring to FIG. 1 (b), the encrypted image may be a color band having a plurality of colors. The color strip of FIG. 1 (b) is divided into five regions A1 to A5, and each region is a unit element. The expression of the unit element is the color of each region, and the color can be determined by calculation from a block of hash codes.

도 2를 참조하면, 본 발명의 일 실시예에 따른 정보의 암호화 처리 장치는 해시코드 생성부(11), 해시코드 분할부(12) 및 이미지 처리부(13)을 포함하도록 구성될 수 있다.Referring to FIG. 2, an apparatus for encrypting information according to an embodiment of the present invention may be configured to include a hash code generation unit 11, a hash code division unit 12, and an image processing unit 13.

해시코드 생성부(11)는 임의의 정보를 입력 받고, 입력된 임의의 정보를 해시함수에 의해 변환하여 암호화된 고정 길이의 해시코드를 생성한다.The hash code generator 11 receives arbitrary information, converts the inputted arbitrary information by a hash function, and generates an encrypted fixed-length hash code.

임의의 정보는 사용자의 거주지역, 접속위치, 접속 IP 등의 위치와 관련된 정보일 수 있다. 또한, 임의의 정보는 사용자의 취미, 연령, 생일, 학교, 종교, 이상형 등의 개인적인 정보일 수도 있다. 임의의 정보는 병력, 고민 등 일반에 공개를 꺼리는 정보일 수도 있다. 한편, 임의의 정보는 사용자와 관련된 정보 이외의 다양한 유형의 정보가 될 수도 있다.The arbitrary information may be information related to the location of the user's residence area, access location, access IP, and the like. Also, the arbitrary information may be personal information such as a user's hobbies, age, birthday, school, religion, or ideal type. Arbitrary information may be information reluctant to disclose to the general public, such as medical history and distress. Meanwhile, the arbitrary information may be various types of information other than information related to the user.

해시 함수(hash function)는 임의의 길이의 데이터를 고정된 길이의 문자열로 매핑하는 함수이다. 이와 같은 해시 함수에 의해 얻어지는 값인 문자열을 해시 코드라고 한다. 일반적인 암호 알고리즘에는 키(key)가 사용되지만, 해쉬함수는 키를 사용하지 않으므로 같은 입력에 대해서는 항상 동일한 문자열이 출력된다. 또한, 어떤 입력값을 해시 함수에 넣어도 출력값의 길이는 변하지 않는 특성이 있다. 즉, 해시함수는 입력 정보의 길이에 무관하게 고정된 길이를 가지는 문자열을 생성하는 특성이 있다. 해시함수의 또 다른 중요한 특성은 출력값을 통해서 입력값을 찾을 수 없다는 것인데, 이를 단방향 암호화라 한다. 즉, 해시함수를 통해 생성된 해시코드만으로는 원래 입력된 정보가 무엇인지를 해독할 수 없는 특성이 있다. 본 발명의 해시코드 생성에는 다양한 해시함수가 사용될 수 있다. 해시함수의 대표적인 예로 MD5(Message-Digest algorithm 5)가 있다. MD5는 128비트 암호화 해시 함수로, RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. MD5는 임의의 길이의 메시지 (variable-length message)를 입력받아, 128비트짜리 고정 길이의 출력값을 낸다. 보다 구체적으로,입력 메시지는 512 비트 블록들로 분할되고, 메시지를 패딩하여 512로 나누어떨어질 수 있는 길이가 되게 한다. 메시지 패딩은, 우선 첫 단일 비트 1을 메시지 끝부분에 추가하고 512의 배수의 길이보다 64 비트가 적은 곳까지 0으로 채운 뒤, 나머지 64 비트는 최초의(오리지널) 메시지의 길이를 나타내는 64 비트 정수(integer)값으로 채워지는 식으로 수행된다. 메인 MD5 알고리즘은 A,B,C,D라고 이름이 붙은 32 비트 워드 네 개로 이루어진 하나의 128 비트 스테이트에 대해 동작한다. A,B,C,D는 소정의 상수값으로 초기화된다. 메인 MD5 알고리즘은 각각의 512 비트짜리 입력 메시지 블록에 대해 차례로 동작한다. 각 512 비트 입력 메시지 블록을 처리하고 나면 128 비트 스테이트(state)의 값이 변하게 된다. 하나의 메시지 블록을 처리하는 것은 4 단계로 나뉜다. 한 단계를 "라운드"(round)라고 칭하며, 각 라운드는 비선형 함수 F, 모듈라 덧셈, 레프트 로테이션(left rotation)에 기반한 16개의 동일 연산(similar operations)으로 이루어져 있다. MD5 알고리즘은 이와 같은 연산을 통해 128비트의 고정길이 출력을 생성한다.The hash function is a function that maps data of arbitrary length to a string of fixed length. A string that is a value obtained by such a hash function is called a hash code. A key is used in a general encryption algorithm, but since the hash function does not use a key, the same string is always output for the same input. In addition, there is a characteristic that the length of the output value does not change even if any input value is put in the hash function. That is, the hash function has a characteristic of generating a string having a fixed length regardless of the length of input information. Another important characteristic of hash functions is that the input value cannot be found through the output value, which is called one-way encryption. That is, the hash code generated through the hash function has a characteristic that it is not possible to decipher what information was originally input. Various hash functions can be used to generate the hash code of the present invention. A typical example of a hash function is MD5 (Message-Digest algorithm 5). MD5 is a 128-bit cryptographic hash function, specified by RFC 1321, and is mainly used for integrity checks to check whether a program or file is intact. MD5 receives a variable-length message and outputs a fixed-length output of 128 bits. More specifically, the input message is divided into 512 bit blocks, and the message is padded to a length that can be divided by 512. Message padding, first, adds the first single bit 1 to the end of the message, fills it with 0 to 64 bits less than the length of a multiple of 512, then the remaining 64 bits are a 64-bit integer representing the length of the original (original) message. (integer). The main MD5 algorithm operates on one 128-bit state consisting of four 32-bit words labeled A, B, C, D. A, B, C, and D are initialized to predetermined constant values. The main MD5 algorithm operates on each 512-bit input message block in turn. After processing each 512-bit input message block, the value of the 128-bit state changes. Processing a message block is divided into 4 steps. One step is called a "round," and each round consists of 16 similar operations based on the nonlinear function F, modular addition, and left rotation. The MD5 algorithm produces a 128-bit fixed-length output through this operation.

본 발명의 해시코드 생성부(11)는 상기와 같은 해시함수와 해시코드의 특성을 이용하여, 입력된 정보를 단방향 암호화한다. 도 3을 참조하면, 본 발명의 해시코드 생성부(11)에 의해 생성된 해시코드(HC)는 N개의 문자로 구성된다.The hash code generator 11 of the present invention uses the hash function and the characteristics of the hash code as described above to unidirectionally encrypt the input information. Referring to Figure 3, the hash code (HC) generated by the hash code generation unit 11 of the present invention is composed of N characters.

해시코드 분할부(12)는 해시코드 생성부에서 생성된 해시코드를, 암호화 이미지의 단위요소의 갯수와 동일한 m개의 블록으로 분할한다.The hash code division unit 12 divides the hash code generated by the hash code generation unit into m blocks equal to the number of unit elements of the encrypted image.

도 3을 참조하면, 해시코드(HC)는 N개의 문자로 구성되는 고정길이의 문자열인데, 해시코드 분할부(12)는, 해시코드(HC)를 m개의 블록(B1, B2, B3...Bm)으로 분할한다. 분할된 각각의 블록(B1, B2, B3,...,Bm)은, 전술한 단위요소(IE1, IE2,...IEm)에 1:1로 대응한다. 즉, 해시코드 분할부(12)는, 해시코드(HC)를 m개의 단위요소 각각에 대응하는 m개의 블록으로 분할한다. 각각의 블록(B1, B2,...,Bm)은 소정의 길이를 가진다. 예컨대, 도 3의 예에서 제1 블록(B1)은 문자 3개의 길이를, 제2 블록(B2)는 문자 2개의 길이를, 제i 블록(Bi)은 문자 1개의 길이를, 제m 블록(Bm)은 문자 2개의 길이를 가진다. 블록(B1, B2,...,Bm)의 길이는 블록에 대응하는 단위 요소(IE1, IE2,...IEm)의 표현형의 갯수에 의해 결정된다. 예컨대, 해시코드 생성부(11)에 의해 생성되는 해시코드 (HC)가 16진수 문자열이고, 제1 블록(B1)에 대응하는 제1 단위요소(IE1)의 표현형이 256가지인 경우, 제1 블록(B1)의 길이는 2자리로 결정된다. 각각의 블록은 단위 문자열(UCS1, UCS2,...USCm)을 값으로 가진다. 한편, 이미지 처리부(12)는 필요에 따라 해시코드의 일부를 절사할 수 있다. 예컨대, 이미지 처리부(12)가 해시코드(HC)를 각 단위요소(IE1, IE2,...,IEm)의 표현형의 갯수에 기초하여 m개의 블록으로 분할했을 때, 남는 문자열이 있다면, 그 문자열은 절사할 수 있다. Referring to Figure 3, the hash code (HC) is a fixed-length character string consisting of N characters, and the hash code division unit 12 hash codes (HC) m blocks (B1, B2, B3 .. .Bm). Each divided block (B1, B2, B3, ..., Bm) corresponds to the above-described unit elements (IE1, IE2, ... IEm) 1: 1. That is, the hash code division unit 12 divides the hash code HC into m blocks corresponding to each of the m unit elements. Each block (B1, B2, ..., Bm) has a predetermined length. For example, in the example of FIG. 3, the first block B1 is the length of three characters, the second block B2 is the length of two characters, the i block Bi is the length of one character, and the m block ( Bm) is two characters long. The length of the blocks B1, B2, ..., Bm is determined by the number of phenotypes of the unit elements IE1, IE2, ... IEm corresponding to the block. For example, when the hash code (HC) generated by the hash code generator 11 is a hexadecimal string, and the expression type of the first unit element IE1 corresponding to the first block B1 is 256, the first is The length of the block B1 is determined by two digits. Each block has a unit string (UCS1, UCS2, ... USCm) as a value. Meanwhile, the image processing unit 12 may cut a portion of the hash code as necessary. For example, when the image processing unit 12 divides the hash code HC into m blocks based on the number of expressions of each unit element (IE1, IE2, ..., IEm), if there is a remaining character string, the character string Can be cut off.

이엇, 이미지 처리부(13)는, 각각의 단위요소에 대응하는 분할된 블록의 값(즉, 단위 문자열)에 대응하는 표현형을 결정한다. 단위요소의 표현형은 소정의 표현형 결정 함수에 의해 선택된다. 표현형 결정함수는 단위요소마다 상이할 수도, 동일할 수도 있다. 예컨대, 도 1(a)의 예에서, 단위요소인 얼굴형과 눈은 서로 유사성이 없는 상이한 개체이므로 이들 단위요소의 표현형 결정함수는 서로 다르게 설정된다. 이와 달리, 도 1(b)의 예에서는, 각각의 단위요소의 표현형은 각 영역의 색상으로, 동일한 함수에 의해 산출될 수 있다. 도 3에서, [Bi]는 제i 블록의 값, 즉 제i 블록에 포함된 실제 문자열 Si이다. 예컨대, 도 3의 예에서 [B1]은 제1 블록에 포함된 실제 문자열 S1(C1C2C3)이고, [B2]는 제2 블록에 포함된 실제 문자열 S2(C4C5)가 된다. 임의의 단위요소 IEi는 ki개의 표현형(pi,1, pi,2, ... pi,ki)으로 표시될 수 있고, 각각의 표현형(pi,1, pi,2, ... pi,ki)은 단위요소에 대응하는 Bi의 값과 [Bi]에 1:1로 대응되는 함수관계를 가진다. 따라서 제i 단위요소의 표현형pi,j은 함수 fi([Bi])로 표현될 수 있으며, 이미지 처리부(13)는 임의의 단위요소 IEi에 대하여 블록 Bi의 실제값 Si에 해당하는 함수값인 fi(Si)를 출력 표현형 Pi으로 결정한다. 도 3의 예에서, 제1 표현형 IE1의 출력 표현형 P1은 제1 블록의 실제 값인 S1에 대응하는 함수값 f1(S1)으로, 제2 표현형 IE2의 출력 표현형 P2은 제2 블록의 실제 값인 S2에 대응하는 함수값 f2(S2)으로 결정된다. In this way, the image processing unit 13 determines a phenotype corresponding to a value (that is, a unit string) of a divided block corresponding to each unit element. The phenotype of the unit element is selected by a predetermined phenotype determination function. The phenotype determination function may be different or the same for each unit element. For example, in the example of FIG. 1 (a), since the face elements and eyes, which are unit elements, are different entities having no similarity to each other, the phenotype determination functions of these unit elements are set differently. In contrast, in the example of FIG. 1B, the phenotype of each unit element is the color of each region and may be calculated by the same function. In FIG. 3, [Bi] is the value of the i-th block, that is, the actual character string Si included in the i-th block. For example, in the example of FIG. 3, [B1] is the actual character string S1 (C1C2C3) included in the first block, and [B2] is the actual character string S2 (C4C5) included in the second block. Any unit element IEi may be represented by ki phenotypes (p i, 1 , p i, 2 , ... p i, ki ), and each phenotype (p i, 1 , p i, 2 , .. .p i, ki ) has a functional relationship corresponding to the value of Bi corresponding to the unit element and [Bi] 1: 1. Accordingly, the expression pi, j of the i-th unit element can be expressed by the function fi ([Bi]), and the image processing unit 13 is fi, which is a function value corresponding to the actual value Si of block Bi for any unit element IEi (Si) is determined by the output phenotype Pi. In the example of FIG. 3, the output phenotype P1 of the first phenotype IE1 is a function value f1 (S1) corresponding to the actual value S1 of the first block, and the output phenotype P2 of the second phenotype IE2 is the actual value S2 of the second block It is determined by the corresponding function value f2 (S2).

본 발명의 표현형 결정을 위한 함수 fi([Bi])는 [Bi]의 가능한 모든 값과 개별 표현형(pi,1, pi,2, ... pi,ki)과 1:1로 대응시키는 것이면 어떠한 형태라도 가능하다. 예컨대, 함수 fi([Bi])는 수식, 변환 알고리즘 등일 수도 있고, [Bi]와 개별표현형(pi,1, pi,2, ... pi,ki)을 1:1로 맵핑시킨 테이블일 수도 있다. 개별 표현형의 갯수 ki는 블록 Bi의 가능한 값 [Bi]의 갯수와 같은 것이 바람직하지만, [Bi]의 갯수보다 작더라도 상관없다.The function fi ([Bi]) for determining the phenotype of the present invention corresponds 1: 1 with all possible values of [Bi] and individual phenotypes (p i, 1 , p i, 2 , ... p i, ki ) Any form can be used. For example, the function fi ([Bi]) may be an expression, a conversion algorithm, or the like, and [Bi] and individual phenotypes (p i, 1 , p i, 2 , ... p i, ki ) are mapped 1: 1. It could be a table. The number of individual phenotypes ki is preferably the same as the number of possible values [Bi] of the block Bi, but may be smaller than the number of [Bi].

한편, 표현형의 결정은 각각의 블록에 대하여 병렬적으로 수행될 수도 있고, 해시코드 전체에 대하여 직렬로 수행될 수도 있다. 표현형의 결정이 각각의 블록에 대해 병렬적으로 수행되는 경우, 해시코드 전체를 m개의 블록으로 분할한 이후에 m개의 블록의 값을 대상으로 동시에, 대응하는 단위요소의 표현형을 결정한다. 반면, 표현형의 결정이 해시코드 전체에 대해 직렬로 수행되는 경우에는, 각각의 블록에 대한 표현형의 결정이 순차로 수행된다. Meanwhile, the expression may be determined in parallel for each block or may be performed in series for the entire hash code. When the phenotype is determined in parallel for each block, the entire hash code is divided into m blocks, and then the values of m blocks are simultaneously determined and the phenotype of the corresponding unit element is determined. On the other hand, when the phenotype determination is performed in series for the entire hash code, the phenotype determination for each block is sequentially performed.

도 4는 도 3의 해시코드 블록값[Bi]를 단위요소의 개별표현형(pi,1, pi,2, ... pi,ki)에 1:1로 맵핑시킨 테이블을 도시한 개념도이다.FIG. 4 is a conceptual diagram showing a table in which the hash code block value [Bi] of FIG. 3 is mapped 1: 1 to individual expression types (p i, 1 , p i, 2 , ... p i, ki ) of unit elements. to be.

임의의 단위요소 IEi에 대하여 테이블 Ti가 생성된다. 테이블 Ti는 단위요소 IEi에 대응하는 블록 Bi의 값 [Bi]와 개별 표현형 pi,j를 1:1로 맵핑한 것이다. 도 3 및 도 4를 참조하면, 제1 표현형 IE1에 대한 테이블 T1에는 제1 블록 B1의 값마다 1:1로 맵핑된 개별 표현형 p1,j가 기록되어 있다. 도 3의 제1 블록 B1의 값 [B1]은 C1C2C3이므로, 이미지 처리부(13)는 테이블 T1에서 C1C2C3 대응하는 개별 표현형 p1,k을 찾아 단위요소 IE1의 표현형(P1)으로 결정한다.Table Ti is generated for any unit element IEi. The table Ti is a 1: 1 mapping of the value [Bi] of the block Bi corresponding to the unit element IEi and the individual expression pi, j. 3 and 4, in the table T1 for the first phenotype IE1, individual phenotypes p1, j mapped 1: 1 to each value of the first block B1 are recorded. Since the value [B1] of the first block B1 in FIG. 3 is C1C2C3, the image processing unit 13 finds individual expressions p1, k corresponding to C1C2C3 in the table T1 and determines the expression P1 of the unit element IE1.

다시 도 3을 참조하면, 이미지 처리부(13)는, 결정된 각 단위요소의 표현형(P1, P2,...,Pm)을 조합하여 최종적인 암호화 이미지(EP)를 구성한다. 예컨대, 이미지 처리부는 결정된 얼굴형, 눈, 코, 입, 귀, 헤어스타일 및 의상의 표현형들을 조합하여 도 1(a)와 같은 아바타를 구성할 수 있다.Referring to FIG. 3 again, the image processing unit 13 configures the final encrypted image EP by combining the determined expressions P1, P2, ..., Pm of each unit element. For example, the image processing unit may configure the avatar as shown in FIG. 1 (a) by combining the determined facial shapes, eyes, nose, mouth, ears, hairstyle, and costume expressions.

이하에서는 상기 실시예에 따라 구성된 암호화 이미지 처리 장치를 이용하여, 입력 정보를 도 1(b)의 색상띠 이미지로 암호화하는 과정을 도 4 를 참조하여 보다 구체적으로 설명한다.Hereinafter, the process of encrypting the input information into the color band image of FIG. 1 (b) using the encrypted image processing apparatus configured according to the embodiment will be described in more detail with reference to FIG. 4.

도 5는 본 발명의 일 실시예에 따른 정보 암호화 이미지 처리 장치에 의해 사용자의 접속 위치를 암호화된 이미지로 처리하는 예를 도시한 도면이다. 5 is a diagram illustrating an example of processing an access location of a user as an encrypted image by an information encryption image processing apparatus according to an embodiment of the present invention.

먼저, 해시코드 생성부(11)는 사용자의 접속정보인 '미아동'을 입력 받아 소정의 해시함수를 사용하여 해시코드를 생성한다. 본 실시예에서 사용된 해시함수는 MD5 함수이다. 전술한 바와 같이 MD5는 128비트 암호화 해시 함수로, 출력값은 32자리의 16진수인 문자열이 된다. 도 5(a)를 참조하면, 입력 정보인 '미아동'의 MD5 출력은, 32자리의 16진수인 문자열 '0DA225621497C8C0CD840F78F1E26748'가 된다.First, the hash code generation unit 11 receives the user's access information, 'children', and generates a hash code using a predetermined hash function. The hash function used in this example is an MD5 function. As described above, MD5 is a 128-bit encrypted hash function, and the output value is a string of 32 hexadecimal digits. Referring to FIG. 5 (a), the MD5 output of the 'children' input information is a string '0DA225621497C8C0CD840F78F1E26748' which is a hexadecimal number of 32 digits.

도 1(b)의 예에서, 최종적으로 생성되는 암호화 이미지는 5개의 바(A1~A5)로 구성되며, 각각의 바(bar)는 단위요소에 해당한다. 각각의 바(A1~A5)는 삼원색 R, G, B 성분으로 구성된 색상에 의해 표현된다. 본 실시예에서 R, G, B 각각은 256계조를 가지는 것으로 설정된다. 따라서 각각의 색상바는 R, G, B 계조값의 가능한 모든 조합을 표현형으로 가지게 된다. 이때, 가능한 표현형의 갯수는 2563가지이다. 요약하면, 도 1(b)의 암호화 이미지는 각각 2563개의 표현형을 가지는 5개의 단위요소로 구성된다.In the example of FIG. 1 (b), the finally generated encrypted image is composed of five bars A1 to A5, and each bar corresponds to a unit element. Each bar (A1 to A5) is represented by a color composed of the three primary colors R, G, and B components. In this embodiment, each of R, G, and B is set to have 256 gradations. Therefore, each color bar has all possible combinations of R, G, and B gradation values in a phenotype. At this time, there are 256 three possible phenotypes. In summary, the encrypted image of FIG. 1 (b) is composed of 5 unit elements each having 256 3 phenotypes.

계속해서, 해시코드 분할부(12)는 생성된 MD5 해시코드를 단위요소의 갯수에 맞추어 5개의 블록으로 분할한다. 각각의 블록 길이는 표현형의 갯수에 맞게 결정되는데, 본 실시예에서는 MD5 해시코드는 각 자리는 16진수이고, 각 블록의 표현형의 갯수는 2563가지이므로, 블록의 길이는 L은, 16L=2563를 만족하도록 결정되며, 그 값은 L=6이다. 즉, 이미지 처리부는 해시코드를 각각의 길이가 6자리가 되도록 5개의 블록으로 분할한다. 이때, 생성된 MD5 코드는 32자리이고, 필요한 자릿수는 30자리이므로 마지막 2자리는 절사한다. 도 5(a)의 MD5 코드가 이미지 처리부(12)에 의해 분할된 결과는 도 5(b)에 도시된 바와 같다. 도 5(a)의 해시코드의 마지막 두 자리인 '48'이 절사되고, 절사 뒤 남은 30개의 자릿수에 대하여 순차로 6자리를 가지는 5개의 단위 문자열로 나누는 처리를 수행한다. 즉, 마지막 두 자리가 절사된 해시코드를 앞에서부터 6자씩 묶어 5개의 단위 블록으로 분할한다. 각각의 블록은 단위 문자열을 값으로 가지는데, 도 5(b)에 도시된 바와 같이, 각각의 단위 문자열은 ODA225(B1), 621497(B2), C8C0CD(B3), 840F78(B4) 및 F1E267(B5)이 된다. Subsequently, the hash code division unit 12 divides the generated MD5 hash code into 5 blocks according to the number of unit elements. Each block length is determined according to the number of phenotypes. In this embodiment, the MD5 hash code is a hexadecimal number for each digit, and the number of phenotypes for each block is 256 3 , so the length of the block is L, 16 L = It is determined to satisfy 256 3 , and its value is L = 6. That is, the image processing unit divides the hash code into 5 blocks so that each length is 6 digits. At this time, the generated MD5 code is 32 digits, and the required number of digits is 30 digits, so the last 2 digits are truncated. The result of dividing the MD5 code of FIG. 5 (a) by the image processing unit 12 is as shown in FIG. 5 (b). The last two digits of '48' of the hash code of FIG. 5 (a) are truncated, and the 30 digits remaining after the truncation are sequentially divided into 5 unit strings having 6 digits. That is, the hash code with the last two digits truncated is divided into 5 unit blocks by grouping 6 characters from the front. Each block has a unit string as a value. As shown in FIG. 5 (b), each unit string has ODA225 (B1), 621497 (B2), C8C0CD (B3), 840F78 (B4) and F1E267 ( B5).

이어서, 이미지 처리부(13)는 각각의 블록에 대응하는 단위요소의 표현형, 즉, 각각의 색상바(A1~A5)의 색상을 결정한다. 구체적으로, 이미지 처리부(13)는 각각의 단위 문자열을 구성하는 6개의 문자를 다시 2개씩 묶어, 3원색의 계조 순서쌍 (r, g, b)로 변환한다. 도 5(c)를 참조하면, 변환된 계조 순서쌍은 총 5개로, 각각 p1(OD,A2,25), p2(62,14,97), p3(C8,C0,CD), p4(84,0F,78) 및 p5(F1,E2,67)이다. 한편, 각각의 단위 문자열을 구성하는 문자는 모두 16진수이므로, 각각의 순서쌍을 10진수로 표현하면 p1(13,162,37), p2(98,20,151), p3(200,192,205), p4(132,15,120) 및 p5(241,226,103)가 된다. 이 계조 순서쌍 (r,g,b)는 디스플레이가 표시에 사용하는 3원색 각각의 계조에 대응한다. 예를 들어, RGB를 3원색으로 사용하는 디스플레이에서 이 순서쌍 pi(r,g,b)는 RGB 각각의 계조값의 순서쌍에 대응한다. 순서쌍을 구성하는 3개의 값은 각각 2자리의 16진수이므로 각각의 원색에 대하여 162개의 계조, 즉, 256계조의 표현 가능하다. 도 2의 예에서 순서쌍 OP1은 R, G, B 각각의 계조값이 13, 162, 37인 색상(녹색)에 대응하며, 이 색상은 제1 색상바의 표현형으로 결정된다. 동일한 방식으로, 제2 내지 제5 색상바의 색상이 결정된다.Subsequently, the image processing unit 13 determines the expression type of the unit element corresponding to each block, that is, the color of each color bar A1 to A5. Specifically, the image processing unit 13 bundles the six characters constituting each unit character string two again, and converts them into gradation order pairs (r, g, b) of three primary colors. Referring to FIG. 5 (c), there are a total of 5 transformed gradation order pairs, respectively, p1 (OD, A2,25), p2 (62,14,97), p3 (C8, C0, CD), and p4 (84, 0F, 78) and p5 (F1, E2,67). On the other hand, since the characters constituting each unit string are all hexadecimal numbers, if each sequence pair is expressed in decimal, p1 (13,162,37), p2 (98,20,151), p3 (200,192,205), p4 (132,15,120) And p5 (241,226,103). This gradation order pair (r, g, b) corresponds to the gradation of each of the three primary colors used by the display for display. For example, in a display using RGB as the three primary colors, this order pair pi (r, g, b) corresponds to the order pair of each grayscale value. Three values making up the ordered pair is because it is possible the two 16-gradation, that is, the representation of 256 gray levels for each primary color, each of the two-digit hexadecimal numbers. In the example of FIG. 2, the order pair OP1 corresponds to a color (green) in which the gradation values of R, G, and B are 13, 162, and 37, and this color is determined as a phenotype of the first color bar. In the same way, the colors of the second to fifth color bars are determined.

계속해서, 이미지 처리부(13)는 생성된 5개의 단위 이미지, 즉, 색상 바를 배열하여 암호화된 이미지를 완성한다. 이때, 단위 이미지의 배열은 순서쌍의 나열 순서대로 배열할 수도 있으며, 순서를 바꾸어 배열할 수도 있다. 즉, 생성된 순서쌍의 순서대로 OP1에서 OP5에 대응하는 색상 바를 나열할 수도 있다. 이와 달리, 이미지 처리부(12)는 생성된 색상 바를 순서쌍의 순서대로 배열하지 않고 순서를 바꾸어 나열할 수도 있다. 상기의 처리과정을 거쳐 생성된 암호화 이미지는 디스플레이를 통해 표시된다.Subsequently, the image processing unit 13 completes the encrypted image by arranging the five generated unit images, that is, color bars. At this time, the arrangement of the unit images may be arranged in the order of the ordered pairs, or may be arranged by changing the order. That is, color bars corresponding to OP1 to OP5 may be arranged in the order of the generated pair. Alternatively, the image processing unit 12 may arrange the generated color bars in the order of the ordered pairs without changing the order. The encrypted image generated through the above processing is displayed on the display.

상기와 같은 처리를 통해 표시된 이미지는 원래 입력 정보인 접속위치를 단방향 암호화한 해시코드에 기반한 것이므로 원래 입력 정보를 아는 사용자 본인을 제외하고는 이 이미지가 어느 접속지역을 나타내는 것인지 확인할 수 없게 된다. 반면, 어떤 사용자가 타인의 프로필에서 자신의 접속위치 정보 이미지와 동일한 접속위치 정보 이미지를 본다면, 그 타인이 자기와 매우 가까운 위치에서 접속하고 있음을 알 수 있게 된다. 따라서, 각 사용자는 암호화된 정보 이미지를 통해 자신과 공통인 정보를 가지는 타인의 존재에 대해서는 알 수 있지만, 타인이 자신과 관계가 없는 다른 정보를 가지는지에 대해서는 알 수 없다. 예컨대, 미아동에서 접속한 사용자는 접속위치 '미아동'에 해당하는 이미지가 무엇인지 알 수 있으므로 미아동에서 접속한 다른 사용자를 식별할 수 있지만, 미아동을 제외한 다른 접속위치를 나타내는 이미지가 무엇인지 알 수 없으므로 다른 사용자가 어디서 접속했는지 확인할 수 없게 된다.Since the image displayed through the above processing is based on a hash code that unidirectionally encrypted the access location, which is the original input information, it is impossible to determine which access area this image represents except for the user who knows the original input information. On the other hand, if a user sees a connection location information image identical to his / her access location information image in another person's profile, it can be seen that the other person is accessing from a location very close to him. Therefore, each user can know about the existence of another person who has information in common with him through the encrypted information image, but cannot know whether the other person has other information that is not related to him. For example, a user connected from a child can know what the image corresponding to the access location 'child' is, so it is possible to identify other users who have accessed from the child, but it is not possible to know what image represents a connection location other than the child. You will not be able to see where other users have accessed.

전술한 바와 같이, 본 발명은 단위요소의 개별 표현형을 해시코드 블록 값에 맵핑한 테이블을 이용하여 암호화 이미지를 생성할 수 있다.As described above, the present invention may generate an encrypted image using a table in which individual expressions of unit elements are mapped to hash code block values.

도 6은 본 발명의 또 다른 실시예에 따른 정보 암호화 이미지 처리 장치에 의해 사용자의 접속 위치를 암호화된 이미지로 처리하는 예를 도시한 것으로서, 맵핑 테이블을 이용하여 접속위치를 도 1(a)의 이미지로 암호화하는 예를 도시한 개념도이다.FIG. 6 illustrates an example in which a user's access location is processed as an encrypted image by an information encryption image processing apparatus according to another embodiment of the present invention. It is a conceptual diagram showing an example of encrypting with an image.

먼저, 해시코드 생성부(11)는 사용자의 접속정보인 '미아동'을 입력 받아 소정의 해시함수를 사용하여 해시코드를 생성한다. 본 실시예에서 사용된 해시함수는 MD5 함수이다. 전술한 바와 같이 MD5는 128비트 암호화 해시 함수로, 출력값은 32자리의 16진수인 문자열이 된다. 도 6(a)를 참조하면, 입력 정보인 '미아동'의 MD5 출력은, 32자리의 16진수인 문자열 '0DA225621497C8C0CD840F78F1E26748'가 된다.First, the hash code generation unit 11 receives the user's access information, 'children', and generates a hash code using a predetermined hash function. The hash function used in this example is an MD5 function. As described above, MD5 is a 128-bit encrypted hash function, and the output value is a string of 32 hexadecimal digits. Referring to FIG. 6 (a), the MD5 output of the input information 'children' becomes 32-digit hexadecimal string '0DA225621497C8C0CD840F78F1E26748'.

도 1(a)의 아바타는, 얼굴형, 눈, 코, 입, 귀, 헤어스타일 및 의상 등 7개의 단위요소로 구성된다. 각각의 단위요소는 적절한 갯수의 개별 표현형을 가지도록 설정되는데, 본 실시예에서는 얼굴형은 163가지, 눈은 165가지,코는 164가지, 입은 165가지, 귀는 164가지, 헤어스타일은 165가지, 의상은 166가지의 표현형을 가지는 것으로 설정되었다. 이와 같은 설정은 예시일 뿐이며, 단위요소를 더 세분화할 수도 있고, 개별 표현형의 갯수를 다르게 설정할 수도 있다.The avatar of FIG. 1 (a) is composed of seven unit elements, such as a face shape, eyes, nose, mouth, ears, hairstyle and clothes. Each unit element is set to have an appropriate number of individual phenotypes. In this embodiment, there are 16 3 faces, 16 5 eyes, 16 4 noses, 16 5 mouths, 16 4 ears, It was set up to have 16 5 types of hairstyles and 16 6 types of costumes. Such a setting is only an example, the unit elements may be further subdivided, and the number of individual phenotypes may be set differently.

계속해서, 이미지 처리부(12)는 생성된 MD5 해시코드를 단위요소에 대응하도록 7개의 블록(B1~B7)으로 분할한다. 각각의 블록(B1~B2)는 하나의 단위요소에 대응한다. 도 6(a)의 MD5 코드가 이미지 처리부(12)에 의해 분할된 결과는 도 6(b)에 도시된 바와 같다. 도 6(b)의 예에서, 제1블록(B1)은 단위요소 '얼굴형'에, 제2 블록(B2)는 단위요소 '눈'에, 제3 블록(B3)는 단위요소 '코'에, 제4블록(B4)은 단위요소 '입'에, 제5블록(B5)은 단위요소 '귀'에, 제6블록(B6)은 단위요소 '헤어스트일'에, 제7블록(B7)은 단위요소 '의상'에 각각 대응된다. 각 블록의 길이는 표현형의 갯수에 맞게 결정되는데, 본 실시예에서는 MD5 해시코드는 각 자리는 16진수이므로, 단위요소 IEi의 표현형의 갯수를 ki라 하면, 이에 대응하는 블록의 길이는 Li은, 16Li≥ki를 만족하도록 결정된다. 도 6(b)를 참조하면, 제1 블록의 길이는 3, 제2 블록의 길이는 5, 제3 블록의 길이는 4, 제4 블록의 길이는 5, 제5 블록의 길이는 4, 제6 블록의 길이는 5, 제7 블록의 길이는 6으로 결정된다. Subsequently, the image processing unit 12 divides the generated MD5 hash code into seven blocks B1 to B7 to correspond to the unit element. Each block B1 to B2 corresponds to one unit element. The result of dividing the MD5 code of FIG. 6 (a) by the image processing unit 12 is as shown in FIG. 6 (b). In the example of FIG. 6 (b), the first block B1 is a unit element 'face', the second block B2 is a unit element 'eye', and the third block B3 is a unit element 'nose' In, the fourth block (B4) is the unit element 'mouth', the fifth block (B5) is the unit element 'ear', the sixth block (B6) is the unit element 'Hair Day', and the seventh block ( B7) corresponds to the unit element 'costume', respectively. The length of each block is determined according to the number of phenotypes. In this embodiment, since each digit of the MD5 hash code is a hexadecimal number, if the number of phenotypes of the unit element IEi is ki, the length of the corresponding block is Li, It is decided to satisfy 16 Li ≥ki. 6 (b), the length of the first block is 3, the length of the second block is 5, the length of the third block is 4, the length of the fourth block is 5, the length of the fifth block is 4, the first The length of the 6 blocks is 5, and the length of the 7th block is 6.

이어서, 이미지 처리부(13)는 각각의 블록에 대응하는 단위요소의 표현형을 결정한다. 본 실시예에 따르면, 각각의 단위요소의 표현형을 결정하기 위해, 해시코드 블록값과 개별표현형을 1:1로 맵핑한 테이블이 사용된다. 도 6(c)를 참조하면, 각각의 개별요소 얼굴형, 눈, 코, 입, 귀, 헤어스타일 및 의상에 대하여 테이블 T1 내지 T7이 마련된다. 예를 들어, T1은 단위요소 '얼굴형'에 관한 것으로, 제1 블록(B1)의 값(000,001,...,FFE,FFF)마다 대응하는 표현형(얼굴형 1, 얼굴형 2, ...얼굴형 4095, 얼굴형4096)이 맵핑되어 있다. 이미지 처리부는 분할된 블록의 값에 대응하는 개별 표현형을 찾아 해당 단위요소의 표현형으로 결정한다. 예컨대, 도 6(b)의 제1 블록의 값은 ODA이므로, 이미지 처리부는 테이블 T1을 참조하여 이 값 ODA에 맵핑된 '얼굴형 218'을 단위요소 '얼굴형' 표현형으로 결정한다. 나머지 단위요소에 대해서도 동일한 방식으로 표현형을 결정한다. 개별 표현형은 이미지 파일로 저장될 수도 있고, 크기, 모양, 색상 등에 관한 파라미터 값으로 저장될 수도 있으며, 이미지 또는 파라미터 값을 호출할 수 있는 URL로 저장될 수도 있다.Subsequently, the image processing unit 13 determines the expression type of the unit element corresponding to each block. According to this embodiment, in order to determine the phenotype of each unit element, a table in which a hash code block value and an individual phenotype are mapped 1: 1 is used. Referring to FIG. 6 (c), tables T1 to T7 are provided for each individual element face shape, eyes, nose, mouth, ears, hairstyle and clothes. For example, T1 is related to the unit element 'face type', and the corresponding expression type (face type 1, face type 2, ..) for each value (000,001, ..., FFE, FFF) of the first block B1. .Face type 4095 and face type 4096) are mapped. The image processor finds individual phenotypes corresponding to the values of the divided blocks and determines the phenotype of the corresponding unit element. For example, since the value of the first block in FIG. 6 (b) is ODA, the image processing unit determines 'face type 218' mapped to this value ODA as a unit element 'face type' expression type with reference to table T1. The phenotype of the remaining unit elements is determined in the same way. Individual phenotypes may be stored as image files, as parameter values related to size, shape, color, etc., or as URLs that can call images or parameter values.

계속해서, 이미지 처리부(12)는 결정된 7개의 단위요소의 표현형을 배열하여 암호화된 이미지를 완성한다. 상기의 처리과정을 거쳐 생성된 암호화 이미지는 디스플레이를 통해 표시된다.Subsequently, the image processing unit 12 completes the encrypted image by arranging the determined phenotypes of the seven unit elements. The encrypted image generated through the above processing is displayed on the display.

상기와 같은 처리를 통해 표시된 이미지는 원래 입력 정보인 접속위치를 단방향 암호화한 해시코드에 기반한 것이므로 원래 입력 정보를 아는 사용자 본인을 제외하고는 이 이미지가 어느 접속지역을 나타내는 것인지 확인할 수 없게 된다. 반면, 어떤 사용자가 타인의 프로필에서 자신의 접속위치 정보 이미지와 동일한 접속위치 정보 이미지를 본다면, 그 타인이 자기와 매우 가까운 위치에서 접속하고 있음을 알 수 있게 된다. 따라서, 각 사용자는 암호화된 정보 이미지를 통해 자신과 공통인 정보를 가지는 타인의 존재에 대해서는 알 수 있지만, 타인이 자신과 관계가 없는 다른 정보를 가지는지에 대해서는 알 수 없다. 예컨대, 미아동에서 접속한 사용자는 접속위치 '미아동'에 해당하는 이미지가 무엇인지 알 수 있으므로 미아동에서 접속한 다른 사용자를 식별할 수 있지만, 미아동을 제외한 다른 접속위치를 나타내는 이미지가 무엇인지 알 수 없으므로 다른 사용자가 어디서 접속했는지 확인할 수 없게 된다.Since the image displayed through the above processing is based on a hash code that unidirectionally encrypted the access location, which is the original input information, it is impossible to determine which access area this image represents except for the user who knows the original input information. On the other hand, if a user sees a connection location information image identical to his / her access location information image in another person's profile, it can be seen that the other person is accessing from a location very close to him. Therefore, each user can know about the existence of another person who has information in common with him through the encrypted information image, but cannot know whether the other person has other information that is not related to him. For example, a user connected from a child can know what the image corresponding to the access location 'child' is, so it is possible to identify other users who have accessed from the child, but it is not possible to know what image represents a connection location other than the child. You will not be able to see where other users have accessed.

앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In the detailed description of the present invention described above, it has been described with reference to preferred embodiments of the present invention, but those skilled in the art or those skilled in the art will appreciate the spirit of the present invention as set forth in the claims below. And it will be understood that various modifications and changes can be made to the present invention without departing from the technical scope.

10 : 암호화 이미지 생성장치 11 : 해시코드 생성부
12 : 해시코드 분할부 13 : 이미지 처리부
10: encrypted image generating device 11: hash code generation unit
12: Hash code division unit 13: Image processing unit

Claims (12)

임의의 정보를 입력 받아 소정의 해시 함수에 의해 고정된 길이로 암호화된 해시 코드를 생성하는 해시코드 생성부;
입력된 상기 해시코드를 복수의 문자열 블록으로 분할하는 해시코드 분할부;및
복수의 문자열 블록 각각에 대응하는 복수의 단위요소의 표현형을 결정함으로써 상기 해시코드를 암호화 이미지로 변환하는 이미지 처리부
를 포함하는 정보의 암호화 이미지 처리 장치.
A hash code generator that receives arbitrary information and generates a hash code encrypted with a fixed length by a predetermined hash function;
A hash code divider for dividing the input hash code into a plurality of character string blocks; and
An image processing unit that converts the hash code into an encrypted image by determining a representation of a plurality of unit elements corresponding to each of a plurality of character string blocks
Encrypted image processing device of information comprising a.
제1항에 있어서, 상기 이미지 처리부는,
상기 복수의 복수의 단위요소의 표현형을 조합하여 상기 암호화 이미지를 구성하는 정보의 암호화 이미지 처리 장치.
According to claim 1, The image processing unit,
An apparatus for processing an encrypted image of information constituting the encrypted image by combining phenotypes of the plurality of unit elements.
제2항에 있어서,
상기 문자열 블록의 값과 상기 단위요소의 표현형이 맵핑되어 저장된 단위요소 테이블을 더 포함하며,
상기 이미지 처리부는 상기 단위요소 테이블을 조회함으로써 각각의 문자열 블록에 대응하는 단위요소의 표현형을 결정하는 정보의 암호화 이미지 처리 장치.
According to claim 2,
Further comprising a unit element table stored by mapping the value of the string block and the expression of the unit element,
The image processing unit is an encrypted image processing apparatus for information for determining a phenotype of a unit element corresponding to each string block by querying the unit element table.
제2항에 있어서, 상기 해시코드 분할부는, 상기 해시코드를 6자리의 문자열을 가지는 복수의 문자열 블록으로 분할하며,
상기 이미지 처리부는, 상기 문자열 그룹 각각을 2자리 문자열 3개의 순서쌍으로 구성하고, 각각의 순서쌍을 디스플레이의 3원색 계조값으로 변환하는 정보의 암호화 이미지 처리 장치.
The method according to claim 2, wherein the hash code division unit divides the hash code into a plurality of character string blocks having 6-digit character strings,
The image processing unit, each of the character string group is composed of three pairs of two-digit character string, and each image pair is an encrypted image processing apparatus for converting information into three primary color gradation values of a display.
제4항에 있어서, 상기 이미지 처리부는,
변환된 상기 3원색 계조값에 대응하는 색상으로 처리된 복수의 단위 이미지를 생성하는 정보의 암호화 이미지 처리 장치.
According to claim 4, The image processing unit,
An encryption image processing apparatus for information that generates a plurality of unit images processed with colors corresponding to the converted three primary color gradation values.
제5항에 있어서, 상기 해시코드는 MD5 코드인 정보의 암호화 이미지 처리 장치.
The apparatus of claim 5, wherein the hash code is an MD5 code.
제6항에 있어서, 상기 해시코드 분할부는,
상기 MD5코드의 마지막 두 자리를 절사하고,
상기 MD5코드를 6자리의 문자열을 가지는 5개의 문자열 그룹으로 분할하는 정보의 암호화 이미지 처리 장치.
The method of claim 6, wherein the hash code division unit,
Cut off the last two digits of the MD5 code,
An apparatus for processing an encrypted image of information for dividing the MD5 code into five character string groups having six character strings.
해시코드 생성부, 이미지 처리부 및 단위 이미지 저장부를 포함하는 정보의 암호화 이미지 처리 장치에 의해 수행되는 정보의 암호화 이미지 처리 방법으로서,
임의의 정보를 수신하는 단계;
수신된 상기 임의의 정보를 소정의 해시 함수에 의해 고정된 길이로 암호화된 해시 코드를 생성하는 단계;
입력된 상기 해시코드를 복수의 문자열 블록으로 분할하는 단계; 및
복수의 문자열 블록 각각에 대응하는 복수의 단위요소의 표현형을 결정함으로써 상기 해시코드를 암호화 이미지로 변환하는 단계
를 포함하는 정보의 암호화 이미지 처리 방법.
An encryption image processing method for information performed by an encryption image processing apparatus for information including a hash code generation unit, an image processing unit, and a unit image storage unit,
Receiving arbitrary information;
Generating a hash code encrypted with the fixed length of the received arbitrary information by a predetermined hash function;
Dividing the input hash code into a plurality of character string blocks; And
Converting the hash code into an encrypted image by determining a phenotype of a plurality of unit elements corresponding to each of a plurality of character string blocks
Method for processing an encrypted image of information, including.
제8항에 있어서, 상기 암화화 이미지 변환 단계는,
결정된 상기 복수의 단위요소의 표현형를 조합하여 상기 암호화 이미지를 구성하는 단계를 포함하는 정보의 암호화 이미지 처리 방법.
The method of claim 8, wherein the step of converting the darkened image,
And combining the determined phenotypes of the plurality of unit elements to construct the encrypted image.
제8항에 있어서, 상기 단위요소의 표현형은 상기 문자열 블록의 값과 맵핑되어 단위요소 테이블에 저장되며,
상기 이미지 처리부는 상기 단위요소 테이블을 조회함으로써 각각의 문자열 블록에 대응하는 단위요소의 표현형을 결정하는 정보의 암호화 이미지 처리 방법.
The method of claim 8, wherein the expression of the unit element is mapped to the value of the string block and stored in the unit element table,
The image processing unit determines a phenotype of a unit element corresponding to each string block by querying the unit element table.
제8항에 있어서, 상기 암화화 이미지 변환 단계는,
상기 해시코드를 6자리의 문자열을 가지는 복수의 문자열 블록으로 분할하는 단계;
상기 문자열 블록 각각을 2자리 문자열 3개의 순서쌍으로 구성하는 단계; 및
각각의 순서쌍을 디스플레이의 3원색 계조값으로 변환하는 단계를 포함하는 정보의 암호화 이미지 처리 방법.
The method of claim 8, wherein the step of converting the darkened image,
Dividing the hash code into a plurality of string blocks having 6-digit strings;
Constructing each of the string blocks into a sequence pair of two 2-digit strings; And
And converting each pair of sequences into three primary color gradation values of the display.
제11항에 있어서, 상기 해시코드는 MD5 코드인 정보의 암호화 이미지 처리 방법

The method of claim 11, wherein the hash code is an MD5 code.

KR1020180135548A 2018-11-07 2018-11-07 An apparatus and a method for generating a one-way encycripted image KR102627930B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180135548A KR102627930B1 (en) 2018-11-07 2018-11-07 An apparatus and a method for generating a one-way encycripted image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180135548A KR102627930B1 (en) 2018-11-07 2018-11-07 An apparatus and a method for generating a one-way encycripted image

Publications (2)

Publication Number Publication Date
KR20200053010A true KR20200053010A (en) 2020-05-18
KR102627930B1 KR102627930B1 (en) 2024-01-23

Family

ID=70912726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180135548A KR102627930B1 (en) 2018-11-07 2018-11-07 An apparatus and a method for generating a one-way encycripted image

Country Status (1)

Country Link
KR (1) KR102627930B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210145891A (en) * 2020-05-25 2021-12-03 주식회사 이매지니어스 Electronic commercial system for providing authentication means using biometric information and virtual fitting service based on augmented reality and method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074358A (en) * 2003-02-17 2004-08-25 염용섭 The detection method of a counterfeited identification card
KR20040076927A (en) * 2003-02-27 2004-09-04 (주)아이에스엘지 The detection method of a counterfeited identification card by using comparison
JP2006164152A (en) * 2004-12-10 2006-06-22 Canon Inc Print processing method and system
JP2011170707A (en) * 2010-02-19 2011-09-01 Hitachi Information Systems Ltd Backup system and backup method
KR101642252B1 (en) * 2016-06-15 2016-07-25 숭실대학교산학협력단 Apparatus for tamper detection on mobile application using image resource file and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074358A (en) * 2003-02-17 2004-08-25 염용섭 The detection method of a counterfeited identification card
KR20040076927A (en) * 2003-02-27 2004-09-04 (주)아이에스엘지 The detection method of a counterfeited identification card by using comparison
JP2006164152A (en) * 2004-12-10 2006-06-22 Canon Inc Print processing method and system
JP2011170707A (en) * 2010-02-19 2011-09-01 Hitachi Information Systems Ltd Backup system and backup method
KR101642252B1 (en) * 2016-06-15 2016-07-25 숭실대학교산학협력단 Apparatus for tamper detection on mobile application using image resource file and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210145891A (en) * 2020-05-25 2021-12-03 주식회사 이매지니어스 Electronic commercial system for providing authentication means using biometric information and virtual fitting service based on augmented reality and method thereof

Also Published As

Publication number Publication date
KR102627930B1 (en) 2024-01-23

Similar Documents

Publication Publication Date Title
Brown et al. LOKI—a cryptographic primitive for authentication and secrecy applications
Stallings Network security essentials: applications and standards
TW395104B (en) Method of sharing cryptokey
CN106161006B (en) Digital encryption algorithm
Masood et al. A new color image encryption technique using DNA computing and Chaos-based substitution box
US20040208316A1 (en) Cryptographic key split binder for use with tagged data elements
US20110116628A1 (en) Cryptographic key split binder for use with tagged data elements
CN108768617B (en) Format-preserving encryption method based on traditional block cipher
US20120060033A1 (en) Split key secure access system
Wei et al. Cryptanalysis of a cryptosystem using multiple one-dimensional chaotic maps
CN110096901A (en) Electronic contract data encryption storage method and signed client end
Kadhim et al. Enhancement CAST block algorithm to encrypt big data
CN115664847A (en) User information safe storage method of internet education platform
Agievich et al. Mathematical problems of the Second International Students’ Olympiad in Cryptography
Stallings NIST block cipher modes of operation for authentication and combined confidentiality and authentication
KR102627930B1 (en) An apparatus and a method for generating a one-way encycripted image
CN108306737A (en) A kind of method of ether mill cryptographic algorithm production domesticization
Siahaan A three-layer visual hash function using Adler-32
CN110263571A (en) A kind of personal data guard method and system
Stallings Format-preserving encryption: Overview and NIST specification
CN114239073A (en) Adaptive encryption method, apparatus, device and medium
CN116049841B (en) Encryption method, device, equipment and medium for identity card number
CN110795726A (en) Password protection method and system based on artificial neural network
Carlson et al. Modeling polymorphic ciphers
KR100434558B1 (en) A fast block encryption algorithm

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant