KR20210134135A - Method of securing text and device implementing thereof - Google Patents
Method of securing text and device implementing thereof Download PDFInfo
- Publication number
- KR20210134135A KR20210134135A KR1020200052507A KR20200052507A KR20210134135A KR 20210134135 A KR20210134135 A KR 20210134135A KR 1020200052507 A KR1020200052507 A KR 1020200052507A KR 20200052507 A KR20200052507 A KR 20200052507A KR 20210134135 A KR20210134135 A KR 20210134135A
- Authority
- KR
- South Korea
- Prior art keywords
- character
- string
- text
- substitution
- font
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
- G09C1/02—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system by using a ciphering code in chart form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 텍스트를 보안하는 방법 및 이를 구현하는 장치에 관한 것으로서, 더욱 상세하게는 다중 치환되는 보안 폰트를 기반으로 텍스트를 보안하는 방법과 이를 구현하는 장치에 관한 것이다.The present invention relates to a method for securing text and an apparatus for implementing the same, and more particularly, to a method for securing text based on a multi-substituted security font and an apparatus for implementing the same.
현재 컴퓨팅 시스템 및 네트워크 시스템의 급속한 발달로 인하여 다양하게 작성된 텍스트 문서들이 저장된 장소 또는 전송 중에 원하지 않는 사람들에게 쉽게 노출되고 있다. 이러한 문제를 해결하기 위하여 다양한 방법의 보안 기술들이 개발되고 있다. 그런데 이러한 문서 보안 방법들은 사용자 인증 등에 의한 보안에 편중되어 있으며, 사용자 정보가 노출될 경우에는 무방비 상태로 있게 된다.Due to the rapid development of current computing systems and network systems, variously written text documents are easily exposed to undesired people in storage places or during transmission. In order to solve this problem, various security technologies have been developed. However, these document security methods are biased toward security by user authentication, etc., and remain defenseless when user information is exposed.
또한, 텍스트 내의 문자를 1:1로 치환하는 방식은 문자들의 등장 횟수에 따라 쉽게 유추가 가능하다는 문제가 있어왔다. 따라서 새로운 방식으로 텍스트를 보안하는 기술의 개발이 필요하다. In addition, there has been a problem in that the 1:1 substitution of characters in the text can be easily inferred depending on the number of appearances of the characters. Therefore, it is necessary to develop a technology to secure the text in a new way.
본 발명은 원문 텍스트를 암호화하되 이의 복원은 암호화된 폰트를 적용하여 재현함으로써, 문서의 보안성을 높이는 방법 및 장치를 구현하고자 한다.The present invention intends to implement a method and apparatus for increasing the security of a document by encrypting the original text, but restoring it by applying an encrypted font.
본 발명은 하나의 문서 내에 다양한 암호화 방법을 적용하여 암호화 수준을 높이면서도 이를 복원하는데 있어 컴퓨팅 파워를 줄이는 방법 및 장치를 구현하고자 한다.An object of the present invention is to implement a method and apparatus for increasing the encryption level by applying various encryption methods to a single document and reducing computing power in restoring it.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problems mentioned above, and other problems not mentioned here will be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 의한 암호화 장치는 폰트와 원문 텍스트와 상기 텍스트를 암호화하는 암호화 방법을 지시하는 식별정보를 입력받아서 상기 원문 텍스트의 하나 이상의 문자를 상기 식별 정보가 지시하는 암호화 방법에 따라 치환될 문자 코드 또는 문자열 코드에 대응하는 변환 코드를 생성하는 변환 코드 생성기를 포함한다. The encryption device according to an embodiment of the present invention receives a font, an original text, and identification information indicating an encryption method for encrypting the text, and replaces one or more characters of the original text according to the encryption method indicated by the identification information. and a conversion code generator for generating a conversion code corresponding to a character code or a string code to be converted.
본 발명의 일 실시예에 의한 암호화 장치는 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성하는 치환 규칙 생성기를 포함한다. An encryption apparatus according to an embodiment of the present invention includes a substitution rule generator for generating a substitution information set including a substitution rule corresponding to a conversion code.
본 발명의 일 실시예에 의한 암호화 장치는 치환 규칙에 따라 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 텍스트 변환기를 포함한다. An encryption apparatus according to an embodiment of the present invention includes a text converter for generating encrypted text by converting one or more character codes of the original text according to a substitution rule.
본 발명의 일 실시예에 의한 암호화 장치는 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화하는 암호 폰트 생성기를 포함한다. An encryption device according to an embodiment of the present invention converts and encrypts the character code character-pattern mapping information (cmap) and transformation and ligature information (GSUB) or design information (glyf) of the font in response to the replacement information set Includes a font generator.
본 발명의 일 실시예에 의한 텍스트를 암호화하는 방법은 암호화 장치의 변환 코드 생성기가 폰트와 원문 텍스트와 상기 텍스트를 암호화하는 암호화 방법을 지시하는 식별정보를 입력받아서 상기 원문 텍스트의 하나 이상의 문자를 상기 식별 정보가 지시하는 암호화 방법에 따라 치환될 문자 코드 또는 문자열 코드에 대응하는 변환 코드를 생성하는 단계를 포함한다. In the method for encrypting text according to an embodiment of the present invention, a conversion code generator of an encryption device receives a font, an original text, and identification information indicating an encryption method for encrypting the text, and then converts one or more characters of the original text to the and generating a conversion code corresponding to a character code or a character string code to be substituted according to an encryption method indicated by the identification information.
본 발명의 일 실시예에 의한 텍스트를 암호화하는 방법은 암호화 장치의 치환 규칙 생성기가 상기 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성하는 단계를 포함한다.A method of encrypting text according to an embodiment of the present invention includes generating, by a substitution rule generator of an encryption device, a substitution information set including a substitution rule corresponding to the conversion code.
본 발명의 일 실시예에 의한 텍스트를 암호화하는 방법은 암호화 장치의 텍스트 변환기가 상기 치환 규칙에 따라 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 단계를 포함한다.A method of encrypting text according to an embodiment of the present invention includes generating, by a text converter of an encryption device, one or more character codes of the original text according to the substitution rule to generate encrypted text.
본 발명의 일 실시예에 의한 텍스트를 암호화하는 방법은 암호화 장치의 암호 폰트 생성기가 상기 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화하는 단계를 포함한다. In the method of encrypting text according to an embodiment of the present invention, the encryption font generator of the encryption device corresponds to the replacement information set, and the character code character-design mapping information (cmap) of the font and transformation and ligature information (GSUB) or Converting and encrypting the design information (glyf).
본 발명의 일 실시예에 의한 암호화 장치는 폰트와 원문 텍스트를 입력받는 제어기와 상기 텍스트를 암호화하는데 필요한 변환 코드 및 치환 규칙 저장소에 저장된 치환 정보 세트를 이용하여 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 텍스트 변환기와, 상기 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화한 암호 폰트가 저장된 암호화 폰트 저장소를 포함한다. An encryption device according to an embodiment of the present invention converts one or more character codes of the original text using a controller that receives fonts and original text, a conversion code required to encrypt the text, and a replacement information set stored in a replacement rule storage A text converter that generates an encrypted text by doing so, and a character code character-pattern mapping information (cmap) of the font corresponding to the replacement information set, and a transformation and ligature information (GSUB) or design information (glyf) converted and encrypted. Contains an encrypted font store where fonts are stored.
본 발명의 일 실시예에 의한 암호화 텍스트를 복원하는 방법은 복원 장치가 암호화 텍스트 및 상기 암호화 텍스트에 대응하는 암호화 폰트를 획득하는 단계와 상기 암호화 폰트를 상기 암호화 텍스트에 적용하여 상기 암호화 폰트가 적용되기 전의 상기 암호화 텍스트의 제1문자와 상이하게 표시되는 제2문자를 포함하는 텍스트를 표시하는 단계를 포함한다.The method for restoring encrypted text according to an embodiment of the present invention includes the steps of: obtaining, by a restoration apparatus, encrypted text and an encrypted font corresponding to the encrypted text; and applying the encrypted font to the encrypted text so that the encrypted font is applied. and displaying a text including a second character displayed differently from the first character of the previously encrypted text.
본 발명의 실시예를 적용할 경우, 문자 코드를 교환 또는 치환하는 규칙을 다양화시켜 암호화 수준을 높인 텍스트를 생성할 수 있다. When an embodiment of the present invention is applied, it is possible to generate text with an increased encryption level by diversifying rules for exchanging or replacing character codes.
본 발명의 실시예를 적용할 경우, 문자간 다중 치환, 문자-문자열간, 문자열-문자간, 문자열-문자열 간의 암호화를 가능하게 한다. When an embodiment of the present invention is applied, multiple substitution between characters, character-string, character-string-to-character, and string-to-string encryption are enabled.
본 발명의 실시예를 적용할 경우, 별도의 복호화 과정 없이 암호화된 텍스트에 암호 폰트를 적용하여 원문을 재현하면서도 암호화된 텍스트를 보호할 수 있도록 한다. When the embodiment of the present invention is applied, the encrypted text can be protected while the original text is reproduced by applying the encryption font to the encrypted text without a separate decryption process.
본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects provided by the present invention are not limited to the above-mentioned effects, and other effects not mentioned herein will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 의한 텍스트를 암호화 및 복원하는 과정을 보여준다.
도 2는 본 발명의 일 실시예에 의한 텍스트 보안을 위한 다중 치환의 일 실시예인 1:N 다중 매핑 과정을 보여준다.
도 3은 본 발명의 일 실시예에 의한 도 2의 문자를 치환하는 방식의 세부 메커니즘을 보여준다.
도 4는 본 발명의 일 실시예에 의한 1:1 치환 및 문자간 다중 치환을 순차적으로 수행하는 과정을 보여준다.
도 5는 본 발명의 일 실시예에 의한 하나의 문자를 다수의 문자가 포함된 문자열로 변환하는 과정을 보여준다.
도 6은 본 발명의 일 실시예에 의한 하나의 문자열을 하나의 문자로 변환하는 과정을 보여준다.
도 7은 본 발명의 일 실시예에 의한 하나의 문자열을 또 다른 하나의 문자열 변환하는 과정을 보여준다.
도 8은 본 발명의 일 실시예에 의한 암호화 방법에서 치환을 수행하는데 필요한 정보세트(Information Set)을 보여준다.
도 9는 본 발명의 일 실시예에 의한 암호화 장치의 구성을 보여준다.
도 10은 본 발명의 일 실시예에 의한 보안 폰트의 암호화 과정을 보여준다.
도 11 내지 도 14는 본 발명의 다양한 암호화 방식에 따른 암호화 및 복원의 예시를 보여준다.
도 15는 본 발명의 일 실시예에 의한 암호화된 텍스트를 다시 복원하여 표시하는 과정을 보여준다.
도 16은 본 발명의 일 실시예에 의한 암호문을 복원하는 과정을 보여준다.
도 17은 본 발명의 다른 실시예에 의한 암호문을 복원하는 과정을 보여준다.
도 18은 본 발명의 일 실시예에 의한 암호화 시스템의 구성을 보여준다.
도 19 및 도 20은 본 발명의 다른 실시예에 의한 암호화 시스템의 구성을 보여준다.1 shows a process of encrypting and restoring text according to an embodiment of the present invention.
2 shows a 1:N multiple mapping process, which is an embodiment of multiple substitution for text security according to an embodiment of the present invention.
3 shows a detailed mechanism of a method of substituting a character in FIG. 2 according to an embodiment of the present invention.
4 shows a process of sequentially performing 1:1 substitution and multiple substitution between characters according to an embodiment of the present invention.
5 shows a process of converting one character into a character string including a plurality of characters according to an embodiment of the present invention.
6 shows a process of converting one character string into one character according to an embodiment of the present invention.
7 shows a process of converting one character string to another character string according to an embodiment of the present invention.
8 shows an information set required to perform substitution in an encryption method according to an embodiment of the present invention.
9 shows the configuration of an encryption device according to an embodiment of the present invention.
10 shows an encryption process of a secure font according to an embodiment of the present invention.
11 to 14 show examples of encryption and restoration according to various encryption methods of the present invention.
15 shows a process of reconstructing and displaying the encrypted text according to an embodiment of the present invention.
16 shows a process of restoring a ciphertext according to an embodiment of the present invention.
17 shows a process of recovering a ciphertext according to another embodiment of the present invention.
18 shows the configuration of an encryption system according to an embodiment of the present invention.
19 and 20 show the configuration of an encryption system according to another embodiment of the present invention.
본 명세서에서 제시하는 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 본 명세서에 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Advantages and features of the invention presented in this specification, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed herein, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and are common in the art to which the present invention pertains. It is provided to fully inform those with knowledge of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly explain the present invention, parts irrelevant to the description are omitted, and the same reference numerals are given to the same or similar elements throughout the specification. Further, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to components of each drawing, the same components may have the same reference numerals as much as possible even though they are indicated in different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description may be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, order, or number of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but other components may be interposed between each component. It will be understood that each component may be “interposed” or “connected”, “coupled” or “connected” through another component.
도 1은 본 발명의 일 실시예에 의한 텍스트를 암호화 및 복원하는 과정을 보여주는 도면이다. 텍스트를 암호화하거나 복원하는 장치는 컴퓨터, 노트북, 스마트폰, 태블릿 등 다양한 장치를 포함한다. 1 is a diagram showing a process of encrypting and restoring text according to an embodiment of the present invention. Devices that encrypt or restore text include a variety of devices, such as computers, laptops, smartphones, and tablets.
암호화 장치(110)는 텍스트를 암호화한 결과물을 생성하여(S1) 서버(300) 등에 업로드할 수 있다(S2). 그리고 서버에 업로드된 암호화된 텍스트를 복원 장치(120)가 요청하면 복원 장치(120)로 암호화된 텍스트가 다운로드 된다(S3). 이 과정에서 복원 장치(120)는 텍스트를 복원하는데 필요한 정보, 예를 들어 폰트를 다운로드 할 수 있다.The
또는, 암호화 장치(110)는 텍스트를 다중 치환하여 암호화한 결과물을 복원 장치(120)에게 직접 전송할 수 있다(S4). 이는 복원 장치(120)와 암호화 장치(110)가 1:1로 통신이 가능한 실시예를 포함한다. Alternatively, the
복원 장치(120)는 암호화된 텍스트에 폰트를 적용하여 복원화를 수행한다(S5). 그 결과 복원 장치(120)는 가독 가능한 텍스트를 표시할 수 있다. The
텍스트 보안을 위한 다중 치환 방식은 1:N 다중 매핑, 문자:문자열 다중 매핑, 문자열:문자 다중 매핑 등을 포함한다. Multiple substitution methods for text security include 1:N multiple mapping, character:string multiple mapping, string:character multiple mapping, and the like.
1:N 다중 매핑이란, 텍스트에 포함된 특정 문자, 예를 들어 암호화되기 이전의 문자인 출발 문자 "A"라는 문자를 암호화하는 도착문자가 N개(N > 1)임을 의미한다.The 1:N multiple mapping means that there are N (N > 1) arrival characters encoding a specific character included in the text, for example, the starting character "A", which is the character before being encrypted.
따라서, "A"라는 출발 문자를 암호화하는 도착 문자는 "우", "도", "H", 또는 동일하게 "A" 등으로 다중 매핑을 할 수 있다. 따라서, 텍스트 내의 "A"는 다중 치환될 경우 "우", "도", "H" 또는 "A"로 다중 치환될 수 있다. Accordingly, the arrival character that encodes the starting character of “A” may be multi-mapped to “right”, “do”, “H”, or the same “A”. Thus, "A" in the text may be multiple substituted with "right", "degree", "H" or "A" when multiple substitutions are made.
따라서, 텍스트 문자 "AAA" 는 "도우H" 또는 "H우도" 또는 "A도H" 등으로 치환될 수 있다. Accordingly, the text character "AAA" may be substituted with "helpH" or "likelihood" or "AdoH" or the like.
문자:문자열 다중 매핑은 하나의 출발문자에 대해 도착문자열로 매핑하는 방식이다. 예를 들어, 암호화 장치(110)는 하나의 출발문자 "A"에 대해 "FDSADS043219231jfdakjdsf"라는 도착문자열로 치환할 수 있다. 즉, 하나의 출발 문자에 대응하여 둘 이상의 문자들로 구성된 도착문자열이 생성된다.The character:string multiple mapping is a method of mapping one starting character to an arrival character string. For example, the
문자열:문자 다중 매핑은 문자 다수로 구성된 출발문자열을 하나의 도착문자로 매핑하는 것이다. 예를 들어 암호화 장치(110)는 "반갑습니다"라는 출발문자열을 "K"라는 도착문자로 매핑한다. String:multicharacter mapping is a mapping of a starting string consisting of multiple characters to a single destination character. For example, the
도 2는 본 발명의 일 실시예에 의한 텍스트 보안을 위한 다중 치환의 일 실시예인 1:N 다중 매핑 과정을 보여준다. 2 shows a 1:N multiple mapping process, which is an embodiment of multiple substitution for text security according to an embodiment of the present invention.
1:N 다중 매핑은 하나의 문자에 대해 둘 이상의 문자가 매핑되어 암호화가 되는 실시예이다. 도 2의 11이 지시하는 바와 같은 매핑룰(mapping rule)은 하나의 문자를 다수의 문자로 매핑되는 치환 규칙을 보여준다. The 1:N multiple mapping is an embodiment in which two or more characters are mapped to one character and encrypted. A mapping rule as indicated by 11 of FIG. 2 shows a substitution rule in which one character is mapped to a plurality of characters.
11에 도시된 바와 같이, 암호화 장치(110)는 매핑룰 또는 치환 규칙을 적용하여 "e"문자를 상황에 따라 "다" 로 암호화하거나 "트" 로 암호화할 수 있다. 상황에 따른다는 것은 랜덤하게 또는 이전에 문장 내에서 등장 횟수 또는 암호화된 문자의 등장 횟수 등에 따라 암호화 장치(110)가 선택할 수 있음을 의미한다. 11 , the
그리고, 암호화 장치(110)는 별도의 변환 없이 "e"를 "e"로 그대로 표현되도록 다중화 할 수 있다. In addition, the
그 외 암호화 장치(110)는 "o" 역시 "습" 또는 "니" 중 어느 하나로 암호화할 수 있다. 마찬가지로 암호화 장치(110)는 "l"을 "다" 또는 "H"로 암호화 할 수 있다. The
또한, 암호화 장치(110)는 암호화하려는 문장 내에서 반복하여 등장하는 문자들에 대해서만 1:N 다중 매핑을 적용할 수 있다. 예를 들어 암호화하려는 문장 내에서 한번씩 등장하는 문자에 대해서는 1:1의 매핑을 수행하고, 두 번 이상 등장하는 문자에 대해서만 다중 매핑을 수행할 수 있다. Also, the
이러한 실시예를 살펴본다. 도 2에서 모든 문자에 대해 암호화 장치(110)는 매핑룰을 유지할 수 있다. 특히 암호화 장치(110)는 원문(12)에서 반복되는 문자에 대해 1:N 매핑을 수행할 수 있다. Let's look at these examples. In FIG. 2 , the
그 결과 암호화 장치(110)는 원문(12)을 암호문(13)으로 암호화할 수 있다.As a result, the
일 실시예로 암호화 장치(110)는 원문(12)의 영어 문자인 "e"를 매핑룰(11)에 따라 각각 {e, 트, 다} 중 어느 하나의 문자로 매핑한다. In an embodiment, the
또한, 암호화 장치(110)는 원문(12)의 영어 문자인 "o"를 매핑룰(11)에 따라 각각 {습, 니} 중 어느 하나의 문자로 매핑한다.In addition, the
또한, 암호화 장치(110)는 원문(12)의 영어 문자인 "l"를 매핑룰(11)에 따라 각각 {다, H} 중 어느 하나의 문자로 매핑한다. In addition, the
또한, 매핑룰(11)에 포함되지 않는 문자들은 1:1 매핑룰에 따라 <반/갑/보/안/폰/입> 은 각각 따라 <t/n/r/u/c/S>와 서로 1:1 교환 가능하게 암호화된다.In addition, the characters not included in the
한편, 원문(12)에 1회 등장하지만, 매핑룰(11)에서 암호화가 되는 문자로 등장하는 <습/ H>는 매핑룰(11)을 역으로 적용하여, 각각 <o/ l> 로 매핑된다. On the other hand, <wet/H>, which appears once in the
또한, "니"는 "F"로 1:1 매핑되면서 또한 매핑룰(11)을 역으로 적용하여 "o"로도 매핑될 수 있다. In addition, while "knee" is 1:1 mapped to "F", it can also be mapped to "o" by applying the
도 2는 하나의 문자를 다수의 문자 중 선택적으로 치환하는 방식이다. 도 3은 본 발명의 일 실시예에 의한 도 2의 문자를 치환하는 방식의 세부 메커니즘을 보여준다. 2 is a method of selectively substituting one character among a plurality of characters. 3 shows a detailed mechanism of a method of substituting a character in FIG. 2 according to an embodiment of the present invention.
암호화 장치(110)는 TTF(True Type Font) 또는 OTF(Open Type Font) 중 어느 하나 이상을 사용할 수 있다. 도 3에서 21은 TTF 폰트 구조를, 22는 OTF 폰트 구조를 보여준다. 1:N 매핑은 문자끼리 1:1을 치환하고 문자간 다중 치환을 하는 방식을 일 실시예로 한다. 보다 상세히, 1:N 매핑은 S25와 같이 문자 코드에 대한 문자 도안 정보를 변경하는 방식을 포함한다. 또한, 1:N 매핑은 S26과 같이 문자 도안에 대한 다중 변형 정보를 추가한다. The
S25를 상세히 살펴본다. "A"라는 문자의 유니코드(unicode)는 0x0041이다. 그리고 "A"를 화면 상에 표시하는 gid(glyph id)는 36이다. 여기서 S25와 같이 cmap의 정보(즉, 문자 코드 문자-도안 매핑 정보)를 변경할 경우, 유니코드는 그대로 유지하며 그것의 표시되는 gid만을 43으로 변경한 결과 "A"는 "H"로 표시된다. 즉, S25는 문자 코드(유니코드)에 대한 문자 도안 정보인 cmap을 변경하여 암호화를 수행할 수 있다.Let's take a closer look at S25. The Unicode of the character "A" is 0x0041. And the gid (glyph id) for displaying "A" on the screen is 36. Here, when changing cmap information (ie, character code character-design mapping information) as in S25, Unicode is maintained and only its displayed gid is changed to 43. As a result, "A" is displayed as "H". That is, S25 may perform encryption by changing cmap, which is character design information for a character code (Unicode).
S26을 상세히 살펴본다. "A"라는 문자의 GSUB(즉, 변형 및 합자 정보)에 정보를 별도로 추가한다. 그 결과 gid가 45인 "J"의 도안이 문자 도안에 대한 다중 변형 정보로 추가된다. 즉, S26은 문자 도안에 대한 다중 변형 정보를 GSUB에 추가하여 암호화를 수행할 수 있다. S26 will be examined in detail. Separately add information to the GSUB of the letter "A" (ie, transformation and ligature information). As a result, a design of "J" with a gid of 45 is added as multiple variant information for a character design. That is, S26 can perform encryption by adding multiple transformation information for a character design to the GSUB.
도 4는 본 발명의 일 실시예에 의한 1:1 치환 및 문자간 다중 치환을 순차적으로 수행하는 과정을 보여준다. 4 shows a process of sequentially performing 1:1 substitution and multiple substitution between characters according to an embodiment of the present invention.
도 2에서 살펴본 바와 같이 원문(12)과 암호문(13) 사이에 바로 매핑이 이루어질 수도 있고, 원문(12)과 암호문(13)사이의 중간암호문(15)이 배치될 수 있다. 중간 암호문(15)는 S31 과정에서 원문(12)의 각 문자에 1:1로 치환을 한 결과이다. 예를 들어, "e" 와 "다" 는 상호 치환이 되는 문자들이다(S31). S31f에 도시된 바와 같이, "e"의 gid(glyph id) 72는 "다"를 표시하도록 gid가 15345 로 변경되었으며, 마찬가지로 "다"를 표시하던 gid 역시 15345 에서 "e"를 표시하는 72로 변경되었다. 이는 "e"와 "다"가 서로 1:1로 치환되는 것을 의미한다. As shown in FIG. 2 , a mapping may be made directly between the
그 결과 중간 암호문(15)에서는 1:1 치환을 수행하므로 "e" 라는 글자는 "다"로 표시되며, "다"라는 글자는 "e"로 표시된다. As a result, since 1:1 substitution is performed in the intermediate ciphertext 15, the letter "e" is displayed as "Da", and the letter "Da" is displayed as "e".
이때, 중간 암호문(15)에 "다" 라는 글자가 3회 반복해서 발생하였으므로, 이를 다중 치환으로 적용할 수 있다.At this time, since the letter "da" is repeated three times in the intermediate ciphertext 15, it can be applied as a multiple substitution.
그 결과 "다"라는 글자는 다시 "트" 또는 "e" 라는 글자로 치환되며 이 과정은 S32b/S32c/S32f에 제시되어 있다. 그 결과, 11이 지시하는 바와 같이 "e"라는 글자는 다/트/e 중 어느 하나로 1:N 매핑 과정에 따라 치환될 수 있다. As a result, the letter "da" is replaced with the letter "t" or "e" again, and this process is presented in S32b/S32c/S32f. As a result, as indicated by 11, the letter "e" may be replaced with any one of dart/dot/e according to the 1:N mapping process.
도 2 내지 도 4에서 살펴본 실시예와 같이, 하나의 문자를 하나 이상의 문자로 변환하는 1:N 매핑에 의한 암호화 방법을 적용할 경우, 원문의 문장 내에 반복하여 등장하는 문자에 대해 서로 다른 문자로 변환할 수 있다. 예를 들면, 1:1 매핑만을 수행할 경우, "기러기" 라는 단어를 암호화할 경우, 첫문자 "기"는 "a"로 변환하고, 두번째 문자 "러"는 "3"으로 변환하였다면 마지막 문자 "기"는 "a"로 변환되어 "a3a" 형태로 변환되게 된다. "a" 문자가 반복 표시되므로 "a" 문자가 어떤 문자로부터 치환되었음을 유추하는 것이 용이하다. 반면, 세번째 문자 "기"를 "k" 로 변환하여, "a3k"로 암호화되었다면 "a"와 "k" 문자가 사실은 같은 문자의 변환인 것을 외부에서 쉽게 유추하기 어려우며 암호문의 보안성을 높일 수 있다. 2 to 4, when an encryption method by 1:N mapping that converts one character into one or more characters is applied, the characters repeatedly appearing in the text of the original text are converted to different characters. can be converted For example, if only 1:1 mapping is performed, if the word "geese" is encoded, the first letter "ki" is converted to "a", and if the second letter "ru" is converted to "3", the last letter "Gi" is converted to "a" and converted into "a3a" form. Since the letter "a" is repeated, it is easy to infer that the letter "a" has been substituted from a certain letter. On the other hand, if the third character "ki" is converted to "k" and encrypted as "a3k", it is difficult to infer that the characters "a" and "k" are actually conversions of the same character, and it is difficult to infer the security of the cipher text. can
다음으로, 하나의 문자를 문자열로 변환하는 치환에 대해 살펴본다. 이는 하나의 문자를 문자열로 치환하는 실시예이다. 이는 도 2 내지 4의 치환과 다른데, 도 2 내지 도 4의 1:N 치환은 원문의 글자1개가 암호문의 글자 1개로 치환되지만, 동일한 원문의 글자 1개에 대해 다양한 암호문의 글자가 제시될 수 있는 실시예이다. Next, let's look at the substitution that converts a single character into a string. This is an embodiment in which one character is replaced with a character string. This is different from the substitution of Figs. 2 to 4, wherein in the 1:N substitution of Figs. 2 to 4, one letter of the original text is replaced with one letter of the cipher text, but various letters of the cipher text can be presented for one letter of the same original text. There is an embodiment.
문자를 문자열로 치환하는 실시예는 하나의 문자에 대해 둘 이상의 글자로 이루어진 문자열이 매핑되어 암호문에 포함되는 것을 포함한다. An embodiment of replacing a character with a character string includes mapping a character string composed of two or more characters to one character and including the character string in the cipher text.
도 5는 본 발명의 일 실시예에 의한 하나의 문자를 다수의 문자가 포함된 문자열로 변환하는 과정을 보여준다. 하나의 문자인 "보", "안", "폰", "트" 각각에 대해 35, 36, 37, 38이 지시하는 바와 같이 문자열이 매핑된다. 따라서, 원문이 "보안폰트"일 때, 암호문은 35, 36, 37, 38의 문자열들을 모두 하나로 합한 결과가 된다(S39). 5 shows a process of converting one character into a character string including a plurality of characters according to an embodiment of the present invention. Strings are mapped as indicated by 35, 36, 37, and 38 for each of the single characters "bo", "an", "phon", and "t". Therefore, when the original text is "secure font", the cipher text is a result of summing all the strings of 35, 36, 37, and 38 into one (S39).
암호화 방식의 일 실시예로 문자 코드의 해시함수값을 암호문자열로 사용할 수 있다. 이 경우, 암호문을 해시함수값으로만 구성하여 별도의 복호화 과정 없이 원문 텍스트 내용이 복원될 수 있다. As an embodiment of the encryption method, a hash function value of a character code may be used as an encryption string. In this case, the original text content can be restored without a separate decryption process by composing the ciphertext only with the hash function value.
도 5에서 살펴본 하나의 문자를 하나의 문자열로 변환하는 암호화 방법은 문자 단위로 변형을 가하여 원문을 유추하기가 더욱 어렵게 만드는데 사용할 수 있다. 예를 들어, "한"이라는 문자에 대해 "hello"라는 문자열로 변형 암호화 한다면, 외부의 사용자나 해킹 프로그램이 "hello" 문자열을 통해 "한"이라는 문자를 유추하는 것은 매우 어렵다. 또한, 암호화 장치(110)는 "한" 문자에 대해 해시 함수를 적용한 해시함수값 "eddea29aaace3b9f6c961f82be64b57d7d0e3a7a" 으로 변환할 수도 있다. 이는 복합 변환에 해당하므로 허락받지 않은 사용자가 이를 복원하는 것은 쉽지 않음을 의미한다. 이와 같이 하나의 문자를 문자열로 변환하게 되면 매우 복잡한 암호문을 생성해 낼 수 있다. 그리고, 무엇보다 중요한 것인 이 암호문을 복호화하기 위해 별도의 로직을 수신 장치에서 추가로 구현하지 않아도 된다는 점이다. 폰트 내부에서 암호문에 대한 원문 재현을 위한 과정이 수행되므로, 복호화 로직과 변환 규칙을 외부로 전달할 필요가 없다.The encryption method for converting a single character into a single character string as shown in FIG. 5 can be used to make it more difficult to infer the original text by applying a character-by-character transformation. For example, if the character "han" is transformed into the string "hello" and encrypted, it is very difficult for an external user or hacking program to infer the character "han" from the string "hello". Also, the
도 6은 본 발명의 일 실시예에 의한 하나의 문자열을 하나의 문자로 변환하는 과정을 보여준다. 도 5와 반대로, 원문의 문자열을 하나의 문자로 암호화할 수 있다. 도 6은 원문의 문자열이 하나의 문자로 변환되는 과정을 보여준다. 다수의 문자에 대해 하나의 문자 코드가 매핑되는 방식이다. 6 shows a process of converting one character string into one character according to an embodiment of the present invention. Contrary to FIG. 5 , the text string of the original text may be encrypted with one character. 6 shows a process in which a character string of the original text is converted into one character. It is a method in which one character code is mapped for multiple characters.
도 6의 41은 "반갑습니다. 보안폰트 2 입니다!"라는 문자열을 "i" 라는 글자로 변환하는 예시를 보여준다. 그리고 42는 "Hello, SecureFont 2!" 라는 문자열을 "h"라는 글자로 변환하는 예시를 보여준다. 41 of FIG. 6 shows an example of converting the string "Nice to meet you. This is
그 결과, 원문이 " 반갑습니다. 보안폰트 2 입니다! Hello, SecureFont 2!"는 41 및 42를 반영하여 "ih" 라는 암호문으로 변환된다. 이러한 과정은 43에 지시되어 있다. 도 6과 같이 하나의 문자열을 하나의 문자로 변환하는 암호화 방법은 원문을 압축하여 암호화하는 효과를 줄 수 있다. 도 6과 같이 하나의 문자(h, i)가 어떤 문장을 대체하게 되므로, 외부의 사용자나 해킹 프로그램이 원문을 복원할 수 없다. As a result, the original text "Nice to meet you. This is SecureFont 2! Hello,
특히, 원문 전체에 대해서 문자간의 단순 변환(예를 들어, 도 4의 S31)을 적용한 다음 중요한 단어나 문장에 대해서 하나의 문자로 압축하여 변환한다면, 주요 문구에 대해 더욱 안전하게 보호할 수 있다. 또한, 다수의 문자열이 하나 혹은 그 이상의 문자로 변환되므로, 몇 개의 문자만으로 구성된 암호문이 여러 문장에 대응할 수 있다. In particular, if a simple conversion between characters (eg, S31 of FIG. 4 ) is applied to the entire original text and then compressed into one character for important words or sentences, the main phrases can be more safely protected. In addition, since a plurality of character strings are converted into one or more characters, a ciphertext composed of only a few characters can correspond to multiple sentences.
또한, 도 2 내지 도 4에서 살펴본 다중 변환을 수행하고, 반복되는 단어나 중요 단어나 문장에 대해 하나의 문자로 압축하여 변환할 경우, 압축 효과와 암호화 효과를 동시에 획득할 수 있다. In addition, when performing the multiple conversion as described in FIGS. 2 to 4 and compressing and converting repeated words or important words or sentences into one character, the compression effect and the encryption effect can be obtained at the same time.
도 7은 본 발명의 일 실시예에 의한 하나의 문자열을 또 다른 하나의 문자열 변환하는 과정을 보여준다. m개의 문자로 구성된 문자열을 n개의 문자로 구성된 문자열로 매핑한다. 이때 m과 n은 같은 수가 될 수도 있고 다른 수가 될 수도 있으며, m, n이 다른 수일 경우, m > n 또는 m < n 중 어느 하나가 될 수 있다. 이는 하나의 문장(문자열)을 전혀 다른 문자들로 구성된 문장(문자열)로 치환하는 암호화 방식이다. 7 shows a process of converting one character string to another character string according to an embodiment of the present invention. Maps a string of m characters to a string of n characters. In this case, m and n may be the same number or different numbers, and when m and n are different numbers, either m > n or m < n. This is an encryption method that replaces one sentence (string) with a sentence (string) composed of completely different characters.
도 7의 45는 "반갑습니다. 보안폰트 2 입니다!"라는 문자열을 "fr8759" 라는 문자열로 변환하는 예시를 보여준다. 그리고 46는 "Hello, SecureFont 2!" 라는 문자열을 "84002a7"이라는 문자열로 변환하는 예시를 보여준다. 45 of Fig. 7 shows an example of converting the string "Nice to meet you. This is
그 결과, 원문이 " 반갑습니다. 보안폰트 2 입니다! Hello, SecureFont 2!"는 45 및 46을 반영하여 " fr875984002a7" 라는 암호문으로 변환된다. 이러한 과정은 47에 지시되어 있다. As a result, the original text "Nice to meet you. This is SecureFont 2! Hello,
하나의 문자열을 다른 문자열로 변환 암호화하기 위해 다양한 방식의 변환 규칙을 적용할 수 있다. 단어와 단어간의 변환, 단어 또는 어절과 어절간의 변환, 문장과 단어간의 변환, 문장과 문장간의 변환 등 다양한 변환 규칙을 적용할 수 있다. Conversion rules of various methods can be applied to encrypt one string into another string. Various conversion rules such as conversion between words and words, conversion between words or word phrases and phrases, conversion between sentences and words, conversion between sentences and sentences may be applied.
예를 들면, 단어와 단어간의 변환을 이용한 암호화의 경우, "한글" 이라는 단어를 "han"이라는 길이가 서로 다른 임의의 단어로 변환할 수 있고, 난독화된 "트갑구" 라는 단어로 변환할 수도 있으며, "한글"의 해시함수값 "0xde510ee18f9ec63431a640b3fe6823ca9013da91"을 변환 단어로 지정할 수도 있다. For example, in the case of encryption using word-to-word conversion, the word "Hangeul" can be converted into an arbitrary word with different lengths of "han", and can be converted into the obfuscated word "Tgapgu" Alternatively, the hash function value "0xde510ee18f9ec63431a640b3fe6823ca9013da91" of "Hangul" can be designated as a conversion word.
해시함수값은 각 문자 또는 문자열에 대해 유일한 값을 갖기 때문에 해시함수값으로 원본 문자열을 변환할 경우, 외부의 사용자나 해킹 프로그램이 암호문에서 원본 문자열을 복원할 수 없다. 해시함수의 이러한 특징으로 인해 비밀번호 암호화 등에 많이 사용되고 있다. 이러한 해시함수의 강력한 암호화 기능을 활용하여 변환 문자열로 지정할 수 있기 때문에 매우 강력한 암호화 기능을 제공한다.Since the hash function value has a unique value for each character or string, when the original string is converted to the hash function value, an external user or hacking program cannot restore the original string from the ciphertext. Due to these characteristics of the hash function, it is widely used in password encryption. It provides a very strong encryption function because it can be specified as a converted string by utilizing the strong encryption function of the hash function.
문자열의 변환은 조사와 어미가 붙은 형태인 "한글은" 이라는 문자열에 대해서 다른 문자열로 변환하는 것 역시 가능하다. "한글은" 이라는 문자열을 "hangul" 이라는 문자열로 변환할 수 있고, 난독화된 문자열 "양필?별▶?" 으로 변환하거나 해시함수값으로 변환하는 것 역시 가능하다.It is also possible to convert the string "Hangeul", which is a form with a suffix and a suffix, into another string. The string "Hangul" can be converted to the string "hangul", and the obfuscated string "Stylus? Star▶?" It is also possible to convert to or convert to a hash function value.
문자열의 변환은 하나의 문장 전체에 대해서 다른 문자열로 변환하는 것 역시 가능하다. 하나의 문장을 하나의 단어, 조사와 어미가 붙은 어절 또는 하나의 문장으로 변환하는 것이 가능하다. It is also possible to convert a string to another string for an entire sentence. It is possible to convert a sentence into a single word, a word ending with a postposition, or a single sentence.
하나의 원본 문서를 문자열 변환 방법으로 암호화할 경우, 원본 문서에 있는 단어와 어절, 문장에 대해 변환할 문장을 지정할 수 있다. 원본 문서에 대한 암호화 변환은 변환 키값에 의해 유일한 규칙이 적용되도록 지정할 수 있다. 동일한 문서에 대해서 변환키값이 변경되면 다른 문자열로 변환되도록 지정할 수 있다. When one original document is encrypted by the string conversion method, it is possible to designate a sentence to be converted for words, phrases, and sentences in the original document. Encryption conversion for the original document can be specified so that a unique rule is applied by the conversion key value. If the conversion key value is changed for the same document, it can be specified to be converted into a different string.
예를 들면, 문서의 모든 어절 단위로 문서 내의 가장 앞의 문자열은 가장 뒤의 문자열로 변환하고, 마지막 문자열은 두번째 문자열로 변환하도록 지정하는 방식으로 변환하였을 경우, 변환키 값에 따라 첫 문자열과 교환되는 뒤쪽의 문자열 순번을 변경할 수 있다. 또 다른 방법으로 원문의 문자열을 원문에 포함된 단어가 아닌 임의의 단어나 다른 문서의 문자열로 변환할 수도 있다. 예를 들면 원문의 문자열을 성경책의 문자열로 변환 암호화하도록 지정할 수 있다. 변환키값에 따라 성경책의 변환 대상 문자열의 순서를 변경하여 지정할 수 있다. 원문을 사전 기반으로 변환하는 것 역시 가능하다. 원문의 각 문자열을 사전의 낱말에 대응하도록 지정할 수 있다. 지정되는 낱말의 순서는 변환키값으로 조정할 수 있다. 이와 같이 문자열간의 변환은 매우 다양한 방법을 암호화에 사용할 수 있다.For example, if the conversion is done in such a way that the first string in the document is converted to the last string and the last string is converted to the second string by all word units of the document, it is exchanged with the first string according to the conversion key value. You can change the sequence number of the string at the end of the string. Another method is to convert the text string into an arbitrary word other than the word included in the original text or into a text string in another document. For example, you can specify that the text string of the original text is converted to the text string of the Bible and encrypted. Depending on the conversion key value, the order of the conversion target string of the Bible can be changed and specified. It is also possible to convert the original text to a dictionary-based basis. Each character string in the original text can be designated to correspond to a word in the dictionary. The order of the designated words can be adjusted with the conversion key value. In this way, conversion between strings can be used in many different ways for encryption.
하나의 암호화 폰트 파일(암호 폰트)에 대해 문자열 변환 암호화 방식을 지정하는 것도 가능하다. 이 경우, 원문의 문자열을 암호화할 때 마다 암호화된 문서에 대응되는 폰트 파일을 생성할 필요 없이 미리 만들어 놓은 암호화 폰트 파일을 재사용하는 것이 가능하다. 폰트 파일별로 문자열 변환 암호화 방법을 지정하기 위해서는 변환할 문자열을 미리 지정하여야 한다.It is also possible to specify a character string conversion encryption method for one encrypted font file (encrypted font). In this case, it is possible to reuse the encrypted font file created in advance without the need to generate a font file corresponding to the encrypted document whenever the original text string is encrypted. In order to specify the string conversion encryption method for each font file, the string to be converted must be specified in advance.
변환할 원본 문자열은 각 언어별로 사용 빈도에 따라 단어를 지정할 수 있다. 예를 들면, 한글문자에 대해서는 국어연구원에서 만든 한국어 학습용 어휘에 대해 변환할 문자열을 지정할 수 있다. 영어문자에 대해서는 중고교의 필수 어휘에 대해 변환할 문자열을 지정할 수 있다. 이 또한 원본 문자열로 지정될 단어의 수는 사용 빈도와 필수 어휘 등의 순위에 따라 그 수량을 조절할 수 있다. 대응할 문자열은 문서별 암호화에서 사용했던 것과 동일한 방식으로 지정가능하다. 성경책이나 사전과 같이 특정한 문서 내의 문자열로 변환하거나 해시함수값으로 변환하는 등 다양한 방법이 가능하다.The original string to be converted can be designated as a word according to the frequency of use for each language. For example, for Hangul characters, a character string to be converted can be designated for the Korean language learning vocabulary created by the Korean Language Institute. For English characters, a character string to be converted can be specified for the essential vocabulary of middle and high school. Also, the number of words to be designated as the original character string can be adjusted according to the order of frequency of use and essential vocabulary. The corresponding character string can be specified in the same way as used in encryption for each document. Various methods are possible, such as converting to a string in a specific document such as a bible or a dictionary, or converting to a hash function value.
문자열 변환 암호화 방식과 문자간의 단순교환을 통한 난독화 암호화 방식을 혼용하여 사용할 수도 있다. 변환된 암호문에 난독화 암호화 방식을 추가 적용하여 암호문 단어를 읽을 수 없는 텍스트 형태로 변환 시킬 수 있다. 예를 들면 "반갑습니다. 보안폰트2 입니다!" 문자열을 "fr8759" 문자열로 변환하였다면, 이 변환 문자열에 대해 난독화 암호화 방식을 적용하여 "q}CB@D" 와 같이 읽을 수 없는 텍스트로 변환할 수 있다.It is also possible to mix and use the string conversion encryption method and the obfuscation encryption method through simple exchange between characters. By additionally applying an obfuscation encryption method to the converted ciphertext, the ciphertext word can be converted into an unreadable text form. For example, "Nice to meet you. This is
하나의 문자열을 다른 하나의 문자열로 변환 암호화 방법은 하나의 문자열을 다른 하나의 문자열로 직접 변환하는 방법과 하나의 문자열을 중간 단계의 대응 문자로 변환하고 중간 단계의 대응 문자를 다시 다른 문자열로 재 변환하는 단계를 가진 방법으로 구성하는 것도 가능하다.Converting one string to another string Encryption method is the method of directly converting one string to another string, and converting one string to the corresponding character in the intermediate stage, and then converting the corresponding character in the intermediate stage back to another string. It is also possible to construct a method with a step of transforming.
암호문 "fr87" 문자열에 대해 "k" 문자가 대응되도록 중간 변환하고, "k"문자에 대해 "반갑습니다." 문자열로 재 변환하도록 처리한다면, "fr87" 암호 문자열이 "반갑습니다"의 원문을 재현하는 것과 동일한 결과를 만들어 낼 수 있다. 이러한 중간 단계는 폰트 내부에서 암호화 과정 시에 처리되는 것으로 원문과 암호문의 문자열에는 영향을 주지는 않는다.Intermediate conversion to match the "k" character for the ciphertext string "fr87", and "Nice to meet you" for the "k" character. If it is processed to be converted back to a string, the cipher string "fr87" can produce the same result as reproducing the original text of "Nice to meet you". This intermediate step is processed during the encryption process inside the font and does not affect the character strings of the original text and the cipher text.
또한, 도 2 내지 도 7의 암호화 방법들을 혼합하여 암호화를 수행할 수 있다. 예를 들어, 문자간의 변환, 문자간의 다중 변환, 문자와 문자열간의 변환, 문자열간의 변환 등의 방법을 혼합하여 사용하면 더욱 강력한 암호문을 만들어 낼 수 있다. 이 혼합방법을 사용할 때도 역시, 별도의 복호화를 위한 로직이나 변환 규칙을 외부에 전달할 필요 없이 암호문과 폰트만으로 원문을 재현하여 표시할 수 있다. 또한, 암호화 장치(110)는 암호화방식을 혼용하여 해독이 어려운 암호문을 산출할 수 있다.In addition, encryption may be performed by mixing the encryption methods of FIGS. 2 to 7 . For example, a stronger ciphertext can be created by using a mixture of methods such as conversion between characters, multiple conversion between characters, conversion between characters and strings, and conversion between strings. Even when this mixed method is used, the original text can be reproduced and displayed only with the cipher text and font without the need to transmit separate decryption logic or conversion rules to the outside. In addition, the
전술한 실시예를 살펴보면, 본 발명의 일 실시예에 의한 암호화 장치는 암호화 방법에 따라 원문의 문자 또는 문자열을 이와 상이한 문자 또는 문자열로 재현되도록 지시하는 암호 폰트와 암호화 텍스트를 생성한다. Referring to the above-described embodiment, the encryption apparatus according to an embodiment of the present invention generates an encryption font and an encrypted text instructing to reproduce the original text or character string as a different character or string according to the encryption method.
도 8은 본 발명의 일 실시예에 의한 암호화 방법에서 치환을 수행하는데 필요한 정보세트(Information Set)을 보여준다. 도 2 내지 도 7에서 살펴본 방법들에 대응하는 정보 세트를 살펴본다. 정보세트는 정보들의 집합을 의미하며, 정보쌍(Information Pair), 정보 그룹(Information Group) 등으로 지칭될 수 있다. 8 shows an information set required to perform substitution in an encryption method according to an embodiment of the present invention. A set of information corresponding to the methods described with reference to FIGS. 2 to 7 will be looked at. The information set means a set of information, and may be referred to as an information pair, an information group, or the like.
원본문자 및 원본문자열은 원본 텍스트에 포함된 것으로, 암호화장치(110)에 의해 변환되는 대상을 지칭한다. 치환문자 및 치환문자열은 암호화장치(110)에 의해 변환된 결과인 대상을 지칭한다. 치환 조건은 다중 치환에서의 치환 조건을 지칭한다. 중간 치환 조건은 문자열 간에 치환을 위해 특정한 문자열을 하나의 문자로 치환하고, 치환한 결과를 다시 재치환하는 조건을 포함할 수 있다. The original text and the original text are included in the original text, and refer to a target to be converted by the
도 8에 도시된 바와 같이, 암호화장치(110)는 문자간 치환 정보세트(51), 문자간 다중 치환 정보세트(52), 문자-문자열간 치환 정보세트(53), 문자열-문자간 치환 정보세트(54), 문자열간 정보세트가 혼합된 치환 정보세트(55)를 생성할 수 있다. As shown in FIG. 8 , the
도 8의 정보 세트(51~55)는 암호화 장치(110)가 생성하는 정보들이다. The information sets 51 to 55 of FIG. 8 are information generated by the
문자간 치환 정보세트(51)는 원본 문자와 이를 치환하는 치환 문자로 구성된다. 이는 1:1 치환이므로 별도의 치환 조건이 없다. The inter-character substitution information set 51 is composed of an original character and a substituted character substituted therefor. Since this is a 1:1 substitution, there is no separate substitution condition.
문자간 다중 치환 정보세트(52)는 원본 문자와 이를 치환하는 치환 문자, 및 치환 조건으로 구성된다. 앞서 도 4에서 살펴본 바와 같이 "e"라는 문자가 "다/트/e" 중 어느 하나로 치환될 경우에 치환 조건을 포함할 수 있다. The character-to-character multiple substitution information set 52 is composed of an original character, a substitution character substituted therefor, and a substitution condition. 4, when the character "e" is substituted with any one of "da/t/e", a substitution condition may be included.
문자-문자열간 치환 정보세트(53)는 원본 문자와 이를 치환하는 치환 문자열로 구성된다. 문자열-문자간 치환 정보세트(54)는 원본 문자열과 이를 치환하는 치환 문자로 구성된다.The character-string substitution information set 53 is composed of an original character and a substitution character string substituted therefor. The character string-character substitution information set 54 is composed of an original character string and substitution characters substituted for the original character string.
문자열간 정보세트가 혼합된 치환 정보세트(55)는 원본 문자열과 이를 치환하는 치환 문자열 및 중간 치환 조건으로 구성된다. 중간 치환 조건은 원본 문자열을 치환 문자열로 변경하는 과정에서의 중간 과정에 대한 조건을 포함한다. 일 실시예로, "반갑습니다" 문자열을 "f24a37009b415b" 문자열 또는 "morning" 로 치환할 수 있다. 이때, 대상 문자열에는 원본 문자열에 포함된 문자가 포함될 수 있다. 따라서, 문자열간의 치환이 실행되기 위해 중간 과정이 필요할 수 있다. "반갑습니다" 문자열을 "f24a37009b415b" 문자열로 치환하기 위해 "f24a37009b415b" 문자열을 "B" 문자로 1차 치환하고 "B" 문자를 다시 "반갑습니다" 문자열로 재치환되도록 지정할 수 있다. 이때 중간 치환 조건이 포함된다. The substitution information set 55 in which the information set between character strings is mixed is composed of an original character string, a substitution character string replacing it, and an intermediate substitution condition. The intermediate substitution condition includes a condition for an intermediate process in the process of changing the original character string into the substitution character string. As an example, the string "nice to meet you" may be replaced with the string "f24a37009b415b" or "morning". In this case, the target string may include characters included in the original string. Therefore, an intermediate process may be necessary for the substitution between strings to be performed. To replace the string "nice to meet you" with the string "f24a37009b415b", you can specify that the string "f24a37009b415b" is first replaced with the letter "B" and the letter "B" is replaced with the string "nice to meet you" again. In this case, an intermediate substitution condition is included.
이하, 암호화 장치의 세부 구성과 암호화 과정에 대해 보다 상세히 살펴본다. Hereinafter, the detailed configuration of the encryption device and the encryption process will be described in more detail.
도 9는 본 발명의 일 실시예에 의한 암호화 장치의 구성을 보여준다. 암호화 장치(110)는 노트북, 휴대폰, 태블릿 등 하나의 장치에서 구현될 수 있다. 또는 암호화 장치(110)는 둘 이상의 컴퓨팅 장치에서 협업으로 암호화를 수행할 수 있다. 이 경우, 암호화 장치(110)는 클라이언트와 서버로 구성된 시스템을 지칭할 수 있다. 9 shows the configuration of an encryption device according to an embodiment of the present invention. The
암호화 장치(110)는 사용자가 입력하거나 파일로 제공하는 원본 텍스트와 사용자가 선택한 폰트를 입력 또는 선택받아, 최종적으로 암호화된 텍스트 및 암호환된 폰트를 생성한다. The
변환 코드 생성기(111)는 치환 암호화 내부 규칙을 결정하는 변환 코드를 생성한다. 변환 코드 생성기(111)는 사용자 정보와 자동발생 규칙 등을 이용하여 유일한 코드 값을 생성한다.The conversion code generator 111 generates a conversion code that determines the substitution encryption internal rule. The conversion code generator 111 generates a unique code value using user information and automatic generation rules.
치환 규칙 생성기(112)는 치환 규칙을 생성한다. 이때, 치환 규칙 생성기(112)는 내부적으로 도 2 내지 도 7에서 설명된 각각의 치환 방식에 대응하는 "문자간 1:1 치환 규칙 생성기", "문자간 다중 치환 규칙 생성기", "문자-문자열간 치환 규칙 생성기", "문자열-문자간 치환 규칙 생성기", "문자열간 치환 규칙 생성기", "혼합 치환 규칙 생성기" 그리고 "치환 규칙 검사기"를 하위 구성요소로 포함할 수 있다. 또한, 치환 규칙 생성기(112)는 치환 규칙을 저장하는 "치환규칙 저장소"를 더 포함할 수 있다. 또는 "치환규칙 저장소"는 치환규칙 생성기(112)와 별도로 구성될 수 있다. 물론, 이들 하위 구성 요소가 제공하는 기능을 하나의 소프트웨어로 구성하여 치환 규칙 생성기(112)가 각각의 기능을 모두 제공할 수 있다. A substitution rule generator 112 creates a substitution rule. At this time, the substitution rule generator 112 internally corresponds to each of the substitution schemes described in FIGS. 2 to 7 , “inter-character 1:1 substitution rule generator”, “inter-character multiple substitution rule generator”, “character-string It may include "interchange rule generator", "string-to-character substitution rule generator", "interstring substitution rule generator", "mixed substitution rule generator" and "substitution rule checker" as sub-components. Also, the substitution rule generator 112 may further include a “substitution rule storage” for storing substitution rules. Alternatively, the “substitution rule repository” may be configured separately from the substitution rule generator 112 . Of course, by configuring the functions provided by these sub-components into one software, the substitution rule generator 112 may provide all of the respective functions.
텍스트 변환기(113)는 치환 규칙 생성기(112)에서 생성된 치환 정보 세트들(도 8의 51 내지 55)을 이용하여 원본 텍스트의 문자코드를 변환하여 암호화한다. The text converter 113 converts and encrypts the character code of the original text using the substitution information sets (51 to 55 in FIG. 8) generated by the substitution rule generator 112.
암호폰트 생성기(114)는 폰트를 변환하고 암호화한다. 암호폰트 생성기(114)는 내부적으로 도 2 내지 도 7에서 설명된 각각의 치환 방식을 지원하는 "문자간 1:1 치환 cmap 생성기", "문자간 다중 치환 GSUB 생성기", "문자-문자열간 치환 GSUB 생성기", "문자열-문자간 치환 GSUB 생성기", "문자열간 치환 GSUB 생성기", "혼한 치환 GSUB 생성기" 그리고 "폰트 변환기"를 하위 구성요소로 포함할 수 있다. 또한, 암호폰트 생성기(114)는 암호화된 폰트 파일(암호 폰트)을 저장하는 "암호 폰트 저장소" 또는 "폰트 파일 저장소"를 더 포함할 수 있다. The encrypted font generator 114 converts and encrypts the font. Encrypted font generator 114 internally supports each of the substitution methods described in FIGS. 2 to 7 "1:1 substitution cmap generator between characters", "multiple substitution GSUB generator between characters", "character-to-string substitution" GSUB generator", "string-to-character substitution GSUB generator", "string-to-character substitution GSUB generator", "mixed substitution GSUB generator" and "font converter" as sub-components. In addition, the encrypted font generator 114 may further include an "encrypted font storage" or a "font file storage" that stores an encrypted font file (encrypted font).
또는 " 폰트 파일 저장소"는 암호폰트 생성기(114)와 별도로 구성될 수 있다. 물론, 이들 하위 구성 요소가 제공하는 기능을 하나의 소프트웨어로 구성하여 암호폰트 생성기(114)가 각각의 기능을 모두 제공할 수 있다.Alternatively, the “font file storage” may be configured separately from the encrypted font generator 114 . Of course, by configuring the functions provided by these sub-components into one software, the encryption font generator 114 may provide all of the respective functions.
도 9의 각각의 구성요소들은 하나의 소프트웨어 또는 하드웨어로 구성될 수도 있고, 여러 소프트웨어 및 여러 하드웨어로 분리하여 구성될 수 있다. Each of the components of FIG. 9 may be configured as one piece of software or hardware, or may be configured by being divided into several pieces of software and several pieces of hardware.
도 9에서 동작하는 과정을 살펴보면 다음과 같다. The process of operation in FIG. 9 is as follows.
암호화 장치(110)의 변환 코드 생성기(111)가 폰트와 원문 텍스트와 텍스트를 암호화하는 암호화 방법을 지시하는 식별정보를 입력받는다. 그리고 변환 코드 생성기(111)가 원문 텍스트의 하나 이상의 문자를 식별 정보가 지시하는 암호화 방법에 따라 치환될 문자 코드 또는 문자열 코드 변환에 사용될 변환 코드를 생성한다. The conversion code generator 111 of the
암호화 장치(110)의 치환 규칙 생성기(112)가 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성한다. The substitution rule generator 112 of the
암호화 장치(110)의 텍스트 변환기(113)가 치환 규칙에 따라 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성한다. The text converter 113 of the
암호화 장치(110)의 암호 폰트 생성기(114)가 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화한다. 그 결과 암호화된 폰트, 즉 암호 폰트가 생성된다 The encryption font generator 114 of the
도 10은 본 발명의 일 실시예에 의한 보안 폰트의 암호화 과정을 보여준다. 10 shows an encryption process of a secure font according to an embodiment of the present invention.
도 10에 도시된 과정은 앞서 도 2 내지 도 7의 실시예에서 살펴본 문서의 다중 치환(문자간, 문자열간, 문자와 문자열간의 치환) 암호화에 공통으로 적용될 수 있다. 암호화 과정은 암호화를 수행하는 암호화 장치(110)에서 이루어진다. 또다른 실시예의 경우, 암호화 장치(110)는 단말 장치와 서버 장치로 구성된 하나의 시스템을 지시할 수 있다.The process shown in FIG. 10 may be commonly applied to encryption of multiple substitutions (inter-character, character-string, character-to-string substitution) of the document previously described in the embodiments of FIGS. 2 to 7 . The encryption process is performed in the
사용자가 텍스트를 입력하거나 암호화할 텍스트를 선택하고, 암호화된 텍스트 출력에 사용할 폰트를 지정한다(S61). The user inputs text or selects text to be encrypted, and designates a font to be used for outputting the encrypted text (S61).
다음으로, 사용자는 암호화 방법을 선택한다(S62). 도 2 내지 도 4의 실시예에서 살펴본 문자간 다중 치환 암호화, 도 5의 실시예에서 살펴본 문자-문자열간 치환 암호화, 도 6의 실시예에서 살펴본 문자열-문자간 치환 암호화, 그리고 도 7의 실시예에서 살펴본 문자열간 치환 암호화를 선택할 수 있다. 또는 전술한 다양한 암호화 방법 중 둘 이상의 암호화 방법을 포함하도록 혼합 암호화 방법을 선택할 수 있다.Next, the user selects an encryption method (S62). The multi-character substitution encryption shown in the embodiment of FIGS. 2 to 4 , the character-string substitution encryption shown in the embodiment of FIG. 5 , the string-character substitution encryption shown in the embodiment of FIG. 6 , and the embodiment of FIG. 7 You can select the substitution encryption between strings, which we looked at in . Alternatively, a mixed encryption method may be selected to include two or more encryption methods among the various encryption methods described above.
이때, 사용자는 암호화 장치가 암호화 방법을 자동으로 선택하도록 지정할 수 있다. 이 경우, 암호화 장치는 문자간 다중 치환 암호화, 문자-문자열간 치환 암호화, 문자열-문자간 치환 암호화, 문자열간 치환 암호화, 혼합 암호화 방법 중에서 특정 암호화 방법을 랜덤으로, 또는 문서 내 문자들의 특성에 따라, 또는 문서 내 문자들의 글자 수에 따라 선택할 수 있다. In this case, the user may designate that the encryption device automatically selects an encryption method. In this case, the encryption device randomly selects a specific encryption method from among character-to-character multiple substitution encryption, character-to-string substitution encryption, string-to-character substitution encryption, string-to-character substitution encryption, and mixed encryption methods, or according to the characteristics of the characters in the document. , or depending on the number of characters in the document.
이후, 암호화 장치(110)는 치환 암호화 내부 규칙을 결정하는 변환 코드를 생성한다(S63). 변환 코드는 도 9에서 살펴본 변환 코드 생성기(111)에서 생성된다. 변환 코드 생성기(111)는 사용자 정보와 자동발생 규칙 등을 이용하여 유일한 코드 값을 생성한다. 즉, 변환 코드는 외부로부터 사용자가 입력하거나, 또는 변환 코드 생성기(111)가 랜덤하게 생성할 수 있다. Thereafter, the
이때, 암호화 장치(110)는 변환 코드를 사용자가 생성하도록 인터페이스를 제공할 수 있다. 이 경우, 사용자가 자신이 원하는 문자열을 입력하면 변환 코드 생성기(111)는 사용자가 지정한 문자열이 시스템 내부에서 유일한 코드인지 확인한다. 코드가 유일하지 않을 경우, 변환 코드 생성기(111)는 자동발생 규칙에 의해 생성된 코드값을 사용자가 지정한 문자열 뒤에 추가하여 유일한 변환 코드 값을 생성할 수 있다. In this case, the
변환 코드가 생성되면 치환 규칙 생성기(112)는 치환 규칙을 생성한다(S64). 앞서 도 9에서 살펴본 바와 같이 치환 규칙 생성기(112)는 치환 규칙의 종류(문자간 1:1, 문자간 다중, 문자-문자열, 문자열-문자, 문자열-새로운 문자열 치환 등)에 따라 각각 치환 규칙을 생성하는 생성기를 별도로 포함할 수 있다. 또는 치환 규칙 생성기(112)가 다양한 치환 규칙에 대응하여 치환 규칙을 생성할 수 있다. When the conversion code is generated, the substitution rule generator 112 generates a substitution rule ( S64 ). 9, the substitution rule generator 112 sets each substitution rule according to the type of substitution rule (character-to-character 1:1, character-to-character multiple, character-string, character-string-character, character-string-new character string substitution, etc.) You can include a separate generator that creates it. Alternatively, the substitution rule generator 112 may generate a substitution rule in response to various substitution rules.
치환 규칙에 따라 S64-1 내지 S64-4 중 특정 단계가 하나 또는 둘 이상 선택되어 수행될 수 있다.According to the substitution rule, one or two or more specific steps from S64-1 to S64-4 may be selected and performed.
S64-1 단계를 살펴본다. 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 1:1 치환 규칙 생성기)는 변환 코드를 이용하여 텍스트 내의 문자 코드 각각에 대하여 대응하는 다른 문자 코드를 지정하고 서로 맞교환하는 방식으로 치환 한다. 치환이 완료되면, 문자간의 치환 정보세트를 생성하고 저장한다. 이때 생성되는 것으로 도 8의 문자간 치환 정보세트(51)를 일 실시예로 한다. Look at step S64-1. The substitution rule generator 112 (or a separately configured 1:1 substitution rule generator between characters) uses a conversion code to designate a different character code corresponding to each character code in the text and replaces them in a way that they are exchanged with each other. When the substitution is completed, a set of substitution information between characters is created and stored. In this case, the inter-character substitution information set 51 of FIG. 8 is generated as an embodiment.
보다 상세히 살펴보면, 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 1:1 치환 규칙 생성기)는 변환 코드를 이용하여 폰트 내에 포함된 모든 문자 코드 각각에 대하여 대응하는 다른 문자 코드를 지정하고 서로 맞교환하는 방식으로 치환할 수 있다. 그리고, 치환이 완료되면, 문자간의 치환 정보세트를 생성하고 저장한다.Looking in more detail, the substitution rule generator 112 (or a separately configured 1:1 substitution rule generator) uses a conversion code to designate a different character code corresponding to each of all character codes included in the font and exchange them with each other. method can be replaced. Then, when the substitution is completed, a set of substitution information between characters is generated and stored.
한편, 전술한 예시와 달리, 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 1:1 치환 규칙 생성기)는 문자간 1:1 치환 규칙 생성를 생략할 수 있다. 문자간 1:1 치환 규칙 생성이 생략될 경우, 문자간 치환 정보세트를 생성하지 않을 수 있다.Meanwhile, unlike the above-described example, the substitution rule generator 112 (or a separately configured 1:1 substitution rule generator between characters) may omit generation of a 1:1 substitution rule between characters. When generation of the 1:1 substitution rule between characters is omitted, the character substitution information set may not be generated.
S64-2 단계를 살펴본다. 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 다중 치환 규칙 생성기, 문자-문자열간 치환 규칙 생성기, 문자열-문자간 치환 규칙 생성기, 문자열간 치환 규칙 생성기, 혼합 치환 규칙 생성기)는 변환 코드를 이용하여 문자와 문자간의 치환 정보세트와 문자와 문자열간 치환정보세트, 문자열과 문자열간의 치환 정보세트를 생성한다.Look at step S64-2. The substitution rule generator 112 (or a separately configured multiple substitution rule generator between characters, a character-string substitution rule generator, a string-character substitution rule generator, a character-string substitution rule generator, a mixed substitution rule generator) uses a conversion code to A character-to-character substitution information set, a character-to-character substitution information set, and a character-string-to-character substitution information set are generated.
일 실시예로, 사용자 또는 암호화장치(110)가 자동 또는 설정으로 "문자간 다중 치환" 방식을 선택한 경우, 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 다중 치환 규칙 생성기)는 문자와 문자간의 다중 치환 정보세트를 생성한다. 이때 생성되는 것으로 도 8의 문자간 다중 치환 정보세트(52)를 일 실시예로 한다.In one embodiment, when the user or the
보다 상세히, 암호화 장치(110)는 변환 코드를 이용하여 텍스트 내의 문자 코드 중 다중 치환할 문자 코드를 선택하고 선택된 문자 코드에 대응하는 새로운 치환 문자 코드를 지정하고, 치환이 실행될 조건정보를 포함한 치환 정보세트를 생성한다. 문자간에 다중 치환이 실행되기 위해서는 각각의 치환쌍이 실행될 조건이 필요하다. 예를 들면, "가"라는 문자가 "A" 또는 "K"로 치환되도록 지정하는 조건이 필요하다. 첫번째 치환쌍이 실행될 조건과 두번째 치환쌍이 실행될 조건은 서로 다르게 구성될 수 있다. In more detail, the
일 실시예로, 사용자 또는 암호화 장치(110)가 자동 또는 설정으로 "문자-문자열간 치환"을 선택한 경우, 치환 규칙 생성기(112)(또는 별도로 구성된 문자-문자열간 치환 규칙 생성기)는 문자와 문자열간의 치환 정보세트를 생성한다. 변환 코드를 이용하여 텍스트 내의 문자 코드 중 문자열로 치환할 문자 코드를 선택하고 선택된 문자 코드에 대응하는 새로운 문자열을 지정한다. 대상 문자열은 원본 문자에 대한 해시함수의 결과값 또는 해시결과값을 변형한 문자열이 사용될 수 있다. 대상 문자열은 난독화된 문자열과 독해가 가능한 일반적인 문자열 모두 사용될 수 있다. In one embodiment, when the user or the
예를 들면, "가" 문자를 "ab0739cf3a81" 문자열 또는 "hello" 문자열로 치환할 수 있다. 단, 대상 문자열에는 원본 문자가 포함되지 않도록 암호화 장치(110) 또는 치환 규칙 생성기(112)가 치환 과정을 제어할 수 있다. 대상 문자열에 원본 문자가 포함된 경우 다른 문자로 대치될 수 있다. For example, the character "A" can be replaced with the string "ab0739cf3a81" or the string "hello". However, the
이때 생성되는 것으로 도 8의 문자-문자열간 치환 정보세트(53)를 일 실시예로 한다.In this case, the character-string substitution information set 53 of FIG. 8 is generated as an embodiment.
일 실시예로, 사용자 또는 암호화 장치(110)가 자동 또는 설정으로 "문자열-문자간 치환"을 선택한 경우, 치환 규칙 생성기(112)(또는 별도로 구성된 문자열-문자간 치환 규칙 생성기)는 문자열과 문자간의 치환 정보세트를 생성한다. 암호화 장치(110)는 변환 코드를 이용하여 텍스트 내의 문자열 중 단일 문자로 치환할 원본 문자열을 선택하고 선택된 문자열에 대응하는 새로운 단일 문자를 지정한다. 예를 들면, "반갑습니다" 문자열이 "A" 문자로 치환될 수 있다. 대상 문자는 원본 문자열에 포함된 문자로 지정될 수 있다. In an embodiment, when the user or the
이때 생성되는 것으로 도 8의 문자열-문자간 치환 정보세트(54)를 일 실시예로 한다.The generated character string-character substitution information set 54 of FIG. 8 is exemplified as an embodiment.
일 실시예로, 사용자 또는 암호화 장치(110)가 자동 또는 설정으로 "문자열간 치환"을 선택한 경우, 치환 규칙 생성기(112)(또는 별도로 구성된 문자열간 치환 규칙 생성기)'는 문자열간의 치환 정보세트를 생성한다. 변환 코드를 이용하여 텍스트 내의 문자열 중 다른 새로운 문자열로 치환할 원본 문자열을 선택하고 선택된 문자열에 대응하는 새로운 문자열을 지정한다. 대상 문자열은 원본 문자열에 대한 해시함수의 결과값 또는 변형 문자열이 사용될 수 있다. In one embodiment, when the user or the
대상 문자열은 난독화된 문자열과 독해가 가능한 일반적인 문자열 모두 사용될 수 있다. 예를 들면, "반갑습니다" 문자열을 "f24a37009b415b" 문자열 또는 "morning"로 치환할 수 있다. 대상 문자열에는 원본 문자열에 포함된 문자가 포함될 수 있다. 문자열간의 치환이 실행되기 위해 중간 과정이 필요할 수 있다. 암호화 장치(110)는 "반갑습니다" 문자열을 "f24a37009b415b" 문자열로 치환하기 위해 "반갑습니다" 문자열을 "B" 문자로 1차 치환하고 "B" 문자를 다시 "f24a37009b415b" 문자열로 재치환되도록 지정할 수 있다.As the target string, both an obfuscated string and a normal readable string can be used. For example, you can replace the string "nice to meet you" with the string "f24a37009b415b" or "morning". The target string may contain characters contained in the source string. Intermediate steps may be required for substitutions between strings to be performed.
이때 생성되는 것으로 도 8의 문자열간 정보세트가 혼합된 치환 정보세트(55)를 일 실시예로 한다.As an embodiment, the replacement information set 55 in which the information set between character strings of FIG. 8 is mixed as generated at this time.
또한, 일 실시예로, 사용자 또는 암호화 장치(110)가 자동 또는 설정으로 "혼합 치환"을 선택한 경우, 치환 규칙 생성기(112)(또는 별도로 구성된 혼합 치환 규칙 생성기)는 문자간 다중 치환 정보세트(도 8의 52), 문자-문자열간 치환 정보세트(도 8의 53), 문자열-문자간 치환 정보세트(도 8의 54), 문자열간 정보세트가 혼합된 치환 정보세트(도 8의 55)를 생성한다. 변환 코드를 이용하여 문장별로 어떤 치환 규칙을 적용할지 선택하고 선택된 치환 규칙 생성기를 이용하여 해당 문장에 대해 치환정보세트를 생성한다.In addition, in one embodiment, when the user or the
치환에 대한 작업이 완료되면 치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 문자간 치환 정보세트와 다중 치환 정보세트, 문자-문자열간 치환 정보세트, 문자열-문자간 치환 정보세트, 문자열간 치환 정보세트의 오류 여부를 검사한다. When the substitution operation is completed, the substitution rule generator 112 (or a separately configured substitution rule checker) generates a character-to-character substitution information set and multiple substitution information set, a character-to-string substitution information set, a character string-to-character substitution information set, and a character string. Check whether there is an error in the liver replacement information set.
일 실시예로 치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 문자간 1:1 치환쌍의 오류를 검사할 수 있다. 이때 검사하게 되는 사항은 문자간 1:1 치환쌍 중에서 하나의 원본 문자가 2개 이상의 대응 문자로 다중 치환되도록 지정되었거나 원본 문자 중 2개 이상이 하나의 대응 문자로 치환되도록 지정되었는지를 판단한다. 이러한 경우 오류가 발생한 것이므로, 치환 규칙 생성기(112)는 문자간 1:1 치환쌍을 다시 생성한다. In an embodiment, the substitution rule generator 112 (or a separately configured substitution rule checker) may check for errors in 1:1 substitution pairs between characters. At this time, it is determined whether one original character is designated to be substituted with two or more corresponding characters in a 1:1 substitution pair between characters or whether two or more of the original characters are designated to be substituted with one corresponding character. In this case, since an error has occurred, the substitution rule generator 112 regenerates a 1:1 substitution pair between characters.
마찬가지로, 치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 다중 치환쌍 중에서 다중 치환 대상 문자 중 일부가 원본 문자로 재지정된 경우 오류로 판별한다. 그리고 치환 규칙 생성기(112)는 다중 치환쌍 다시 생성한다. Similarly, the substitution rule generator 112 (or a separately configured substitution rule checker) determines as an error when some of the multiple substitution target characters among multiple substitution pairs are re-designated as the original characters. And the substitution rule generator 112 regenerates multiple substitution pairs.
치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 문자-문자열간 치환쌍 중에서 원본 문자가 대상 치환 문자열에 포함되었거나 다른 원본 문자의 대상 치환 문자열에 포함된 경우 충돌 오류로 판별한다. 그리고 치환 규칙 생성기(112)는 다시 치환쌍을 생성한다. The substitution rule generator 112 (or a separately configured substitution rule checker) determines a collision error when the original character is included in the target substitution string or included in the target substitution string of another original character among the character-string substitution pairs. And the substitution rule generator 112 generates a substitution pair again.
치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 문자열-문자간 치환쌍 중에서 대상 치환 문자가 중복으로 지정된 경우 충돌 오류로 판별한다. 그리고 치환 규칙 생성기(112)는 다시 치환쌍을 생성한다. The substitution rule generator 112 (or a separately configured substitution rule checker) determines a collision error when a target substitution character is designated as a duplicate among the character string-character substitution pair. And the substitution rule generator 112 generates a substitution pair again.
치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 문자열간 치환쌍 중에서 원본 문자열이 대상 대응 문자열 또는 다른 대상 문자열에 포함된 경우 충돌 오류로 판별한다. 그리고 치환 규칙 생성기(112)는 다시 치환쌍을 생성한다. The substitution rule generator 112 (or a separately configured substitution rule checker) determines as a collision error when the original character string is included in the target corresponding character string or other target character string among the substitution pairs between the character strings. And the substitution rule generator 112 generates a substitution pair again.
또한, 치환 규칙 생성기(112)(또는 별도로 구성된 치환 규칙 검사기)는 혼합 치환 규칙이 사용된 경우, 각 치환 정보세트간의 충돌이 발생하지 않는지 검사한다. In addition, the substitution rule generator 112 (or a separately configured substitution rule checker) checks whether a conflict between each set of substitution information does not occur when a mixed substitution rule is used.
치환 규칙에 오류가 없으면, 치환 규칙 생성기(112)는 치환규칙을 치환규칙 저장소에 저장한다(S64-4). 치환규칙은 변환코드별로 하나의 치환규칙이 저장된다.If there is no error in the substitution rule, the substitution rule generator 112 stores the substitution rule in the substitution rule storage (S64-4). In the substitution rule, one substitution rule is stored for each conversion code.
다음으로 암호화 장치(110)의 텍스트 변환기(113)는 치환 규칙 생성기(112)에서 생성된 치환 정보 세트들(도 8의 51 내지 55)을 이용하여 텍스트의 문자코드를 변환하여 암호화한다(S65). Next, the text converter 113 of the
일 실시예로 텍스트 변환기(113)는 문자간의 1:1 치환 정보세트(도 8의 51)의 원본 문자를 텍스트에서 검색하여 대응 문자로 일괄 치환한다. In one embodiment, the text converter 113 searches for the original characters of the 1:1 substitution information set (51 of FIG. 8) between characters in the text and replaces them with corresponding characters.
일 실시예로 텍스트 변환기(113)는 다중 치환 정보세트(도 8의 52)의 치환조건을 텍스트에서 검색하고 검색된 문자열 내에서 다중 치환 정보세트의 원본 문자를 검색하고 대응 치환 문자로 일괄 치환한다. In one embodiment, the text converter 113 searches the text for the substitution condition of the multiple substitution information set (52 in FIG. 8), searches for the original character of the multiple substitution information set within the searched string, and replaces the original character of the multiple substitution information set with the corresponding substitution character.
일 실시예로 텍스트 변환기(113)는 문자-문자열간 치환 정보세트(도 8의 53)의 원본 문자를 텍스트에서 검색하고 대응 문자열로 일괄 치환한다. In one embodiment, the text converter 113 searches the text for the original characters of the character-string substitution information set (53 in FIG. 8 ) and replaces them with the corresponding character string.
일 실시예로 텍스트 변환기(113)는 문자열-문자간 치환 정보세트(도 8의 54)의 원본 문자열을 텍스트에서 검색하고 대응 문자로 일괄 치환한다. In one embodiment, the text converter 113 searches the text for the original character string of the character string-character substitution information set (54 in FIG. 8) and replaces the text with the corresponding character.
일 실시예로 텍스트 변환기(113)는 문자열간 치환 정보세트(도 8의 55)의 원본 문자열을 텍스트에서 검색하고 대응 문자열로 일괄 치환한다. In one embodiment, the text converter 113 searches the text for the original character string of the substitution information set between character strings (55 in FIG. 8) and replaces the original character string with the corresponding character string.
일 실시예로 텍스트 변환기(113)는 혼합 치환인 경우 각각의 치환쌍에 대응하는 문자 또는 문자열로 일괄 치환한다.In an embodiment, the text converter 113 performs a batch substitution with a character or string corresponding to each substitution pair in the case of a mixed substitution.
텍스트의 변환이 완료되면 암호화 장치(110)의 암호 폰트 생성기(114)는 폰트를 변환하고 암호화 한다(S66). When the text conversion is completed, the encryption font generator 114 of the
암호 폰트 생성기(114)의 폰트 변환 및 암호화 단계를 상세히 살펴보면 다음과 같다. A detailed look at the font conversion and encryption steps of the encryption font generator 114 are as follows.
S66-1단계에 설명된 바와 같이, 암호 폰트 생성기(114)(또는 별도로 구성된 문자간 1:1 치환 cmap 생성기)는 문자간의 치환 정보세트(도 8의 51)를 이용하여 폰트의 cmap을 변환하고 폰트를 암호화 한다. cmap에는 폰트내의 모든 문자코드와 문자도안(glyph)에 대한 매핑정보가 보관되어 있다. 문자도안(glyph)는 TTF 폰트의 경우 glyf 테이블에 보관되어 있고, OTF폰트의 경우 CFF 테이블에 보관되어 있다. 문자간 치환 정보세트에 있는 각각의 문자와 그 대응 문자를 cmap의 문자코드에서 찾고 문자코드에 대한 문자도안의 번호를 서로 맞교환하여 문자코드에 대한 문자도안(glyph)이 서로 교환되도록 한다. As described in step S66-1, the cipher font generator 114 (or a separately configured 1:1 substitution cmap generator between characters) converts the cmap of the font using the substitution information set (51 in FIG. 8) between characters and Encrypt the font. In cmap, mapping information for all character codes and glyphs in the font is stored. Character designs (glyphs) are stored in the glyf table for TTF fonts and in the CFF table for OTF fonts. Each character in the character-to-character substitution information set and its corresponding character are found in the character code of cmap, and the glyphs for the character codes are exchanged by exchanging the numbers of the character designs for the character codes.
일 실시예로, 문자간 1:1 치환 정보세트(도 8의 51)가 없을 경우, cmap의 변환 과정은 생략될 수 있다. In an embodiment, when there is no 1:1 replacement information set between characters (51 of FIG. 8 ), the conversion process of cmap may be omitted.
S66-2단계에 설명된 바와 같이, 암호 폰트 생성기(114)(또는 별도로 구성된 문자간 다중 치환 GSUB 생성기, 문자-문자열간 치환 GSUB 생성기, 문자열-문자간 치환 GSUB 생성기, 문자열간 치환 GSUB 생성기, 호환 치환 GSUB 생성기)는 치환 정보세트(도 8의 52 내지 55)를 이용하여 문자와 문자간의 치환 GSUB, 문자와 문자열간 치환 GSUB, 문자열과 문자간 치환 GSUB, 문자열과 문자열간의 치환 GSUB를 생성한다.As described in step S66-2, the cipher font generator 114 (or a separately configured multi-character substitution GSUB generator, character-string substitution GSUB generator, character-string-character substitution GSUB generator, character-string substitution GSUB generator, compatible The substitution GSUB generator) generates a character-to-character substitution GSUB, a character-to-character substitution GSUB, a character-string-to-character substitution GSUB, and a character string-to-character substitution GSUB using the substitution information set (52 to 55 in FIG. 8).
일 실시예로, 암호 폰트 생성기(114)(또는 별도로 구성된 문자간 다중치환 GSUB 생성기)는 문자간의 치환 정보세트를 이용하여 폰트의 GSUB를 변환하고 폰트를 암호화 한다. GSUB에는 문자의 다양한 형태와 변형에 필요한 추가적인 정보를 정의한다. 특정 문자간의 조합에 대한 합자 정보, 문자간의 변형 정보 등이 포함된다. In one embodiment, the cryptographic font generator 114 (or a separately configured multi-substitution GSUB generator between characters) converts the GSUB of the font and encrypts the font using the set of substitution information between characters. GSUB defines additional information required for various types and transformations of characters. Ligature information for combinations between specific characters, information about transformations between characters, and the like are included.
암호 폰트 생성기(114)(또는 별도로 구성된 문자간 다중치환 GSUB 생성기)는 문자와 문자간의 다중 치환 정보를 GSUB에 추가한다. 다중 치환의 경우 치환이 실행될 조건(도 8의 52 참조)이 필요하고, 치환쌍이 실행될 조건에 대한 정보도 GSUB에 추가한다. The cipher font generator 114 (or a separately configured inter-character multi-substitution GSUB generator) adds character-to-character multiple substitution information to the GSUB. In the case of multiple substitutions, a condition under which the substitution is to be executed (refer to 52 in FIG. 8) is required, and information on the conditions under which the substitution pair is to be executed is also added to the GSUB.
예를 들면, 암호 폰트 생성기(114)(또는 별도로 구성된 문자간 다중치환 GSUB 생성기)는 "가"문자가 "가로수" 문자열을 구성할 때 "가"를 "A"로 치환하고 "가방" 문자열을 구성할 때 "K"로 치환하도록 지정할 수 있다. 이때 "가로수"는 "가"를 "A"로 치환할 실행 조건이되고, "가방"은 "가"를 "K"로 치환하는 조건이 된다.For example, the cipher font generator 114 (or a separately configured inter-character multi-substitution GSUB generator) replaces “A” with “A” and replaces “A” with “A” when the character “A” composes the “Horizontal” character string and replaces the “Bag” string with You can specify substitution with "K" when configuring. At this time, "the number of streets" becomes an execution condition for replacing "A" with "A", and "Bag" becomes a condition for replacing "A" with "K".
암호 폰트 생성기(114)(또는 별도로 구성된 문자-문자열간 치환 GSUB 생성기)는 문자-문자열간의 치환 정보세트(도 8의 53)를 이용하여 폰트의 GSUB를 변환하고 폰트를 암호화 한다. 또한, 이 과정에서 문자와 문자열간의 치환 정보가 GSUB에 추가되며, 치환 정보세트의 문자열에 대해 문자의 도안이 표시되도록 지정될 수 있다. The cipher font generator 114 (or a separately configured character-string substitution GSUB generator) converts the GSUB of the font and encrypts the font by using the character-string substitution information set (53 in FIG. 8). In addition, in this process, substitution information between a character and a character string is added to the GSUB, and a character design can be designated to be displayed for the character string in the substitution information set.
예를 들면, 암호 폰트 생성기(114)(또는 별도로 구성된 문자-문자열간 치환 GSUB 생성기)"가" 문자를 "ab0739cf3a81" 문자열로 치환하였다면 "ab0739cf3a81" 문자열에 대해 "가"문자의 도안이 표시되도록 지정할 수 있다. For example, if the cipher font generator 114 (or a separately configured character-to-string substitution GSUB generator) replaces the character with the character string “ab0739cf3a81”, specify that the design of the character “A” be displayed for the character string “ab0739cf3a81”. can
암호 폰트 생성기(114)(또는 별도로 구성된 문자열-문자간 치환 GSUB 생성기)는 문자열-문자간의 치환 정보세트(도 8의 54)를 이용하여 폰트의 GSUB를 변환하고 폰트를 암호화 한다. 암호 폰트 생성기(114)(또는 별도로 구성된 문자열-문자간 치환 GSUB 생성기)는 문자열과 문자 간의 치환 정보를 GSUB에 추가하고 치환 정보세트의 문자에 대해 문자열이 표시되도록 지정한다. The encryption font generator 114 (or a separately configured character string-character substitution GSUB generator) converts the GSUB of the font and encrypts the font by using the character string-character substitution information set (54 in FIG. 8). The cipher font generator 114 (or a separately configured character string-to-character substitution GSUB generator) adds substitution information between character strings and characters to the GSUB and specifies that character strings are displayed for characters in the substitution information set.
예를 들면, 암호 폰트 생성기(114)(또는 별도로 구성된 문자열-문자간 치환 GSUB 생성기)는 "반갑습니다" 문자열를 "A" 문자로 치환하였다면 "A" 문자에 대해 "반갑습니다" 문자열이 표시되도록 지정할 수 있다. For example, the cipher font generator 114 (or a separately constructed string-to-character substitution GSUB generator) can specify that the string "Nice to meet you" be displayed for the letter "A" if the string "Nice to meet you" is replaced by the letter "A". can
암호 폰트 생성기(114)(또는 별도로 구성된 문자열간 치환 GSUB 생성기)는 문자열간의 치환 정보세트(도 8의 55)를 이용하여 폰트의 GSUB를 변환하고 폰트를 암호화 한다. 암호 폰트 생성기(114)(또는 별도로 구성된 문자열간 치환 GSUB 생성기)는 문자열과 문자열 간의 치환 정보를 GSUB에 추가하고, 치환 정보세트의 문자열에 대해 문자열이 표시되도록 지정한다. The cipher font generator 114 (or a separately configured substitution GSUB generator between character strings) converts the GSUB of the font and encrypts the font by using the substitution information set (55 in FIG. 8) between character strings. The cipher font generator 114 (or a separately constructed substitution between character strings GSUB generator) adds substitution information between character strings and character strings to the GSUB, and designates character strings to be displayed for character strings in the substitution information set.
예를 들면, 암호 폰트 생성기(114)(또는 별도로 구성된 문자열간 치환 GSUB 생성기)가 "반갑습니다" 문자열을 "f24a37009b415b" 문자열로 치환하였다면 "f24a37009b415b" 문자열에 대해 "반갑습니다" 문자열이 표시되도록 지정한다. 문자열간 치환의 경우 치환이 실행되기 위해 중간 과정이 필요할 수 있고, 중간 과정에 대한 정보도 GSUB에 추가한다. For example, if the cipher font generator 114 (or a separately constructed inter-string substitution GSUB generator) replaces the string "nice to meet you" with the string "f24a37009b415b", specify that the string "nice to meet you" is displayed for the string "f24a37009b415b". . In case of substitution between character strings, an intermediate process may be required to perform the substitution, and information about the intermediate process is also added to the GSUB.
예를 들면, 암호 폰트 생성기(114)(또는 별도로 구성된 문자열간 치환 GSUB 생성기)는 "반갑습니다" 문자열을 "f24a37009b415b" 문자열로 치환하였다면, "f24a37009b415b" 문자열을 "B" 문자가 표시되도록 지정하고 "B" 문자를 다시 "반갑습니다" 문자열로 표시되도록 지정할 수 있다.For example, if the cipher font generator 114 (or a separately constructed inter-string substitution GSUB generator) replaces the string "nice to meet you" with the string "f24a37009b415b", then the string "f24a37009b415b" specifies that the character "B" is displayed and " You can specify that the "B" character be displayed again as a "nice to meet you" string.
또한, 암호 폰트 생성기(114)(또는 별도로 구성된 혼합 치환 GSUB 생성기)는 문자간 다중 치환 정보세트(도 8의 52), 문자-문자열간 치환 정보세트(도 8의 53), 문자열-문자간 치환 정보세트(도 8의 54), 문자열간 정보세트가 혼합된 치환 정보세트(도 8의 55)를 이용하여 폰트의 GSUB를 변환하고 암호화한다. 암호 폰트 생성기(114)(또는 별도로 구성된 혼합 치환 GSUB 생성기)는 치환 정보세트의 유형에 따라 해당 GSUB 생성기를 이용하여 GSUB를 변환하고 암호화 한다. In addition, the cipher font generator 114 (or a separately configured mixed substitution GSUB generator) includes a multi-character multiple substitution information set (52 in FIG. 8), a character-to-string substitution information set (53 in FIG. 8), and a character string-to-character substitution The GSUB of the font is converted and encrypted using the information set (54 in Fig. 8) and the replacement information set (55 in Fig. 8) in which the information set between character strings is mixed. The cryptographic font generator 114 (or a separately configured mixed substitution GSUB generator) converts and encrypts the GSUB using the corresponding GSUB generator according to the type of the substitution information set.
앞서 살펴본 암호 폰트 생성기(114)와 텍스트 변환기(113)는 서로 역의 치환을 수행할 수 있다. The above-described cryptographic font generator 114 and text converter 113 may perform inverse substitution with each other.
다음으로, 폰트 내부 정보인 cmap과 GSUB 정보가 모두 변경되었다면, 암호 폰트 생성기(114)는 S66-3단계와 같이 변경된 정보를 포함하는 새로운 암호화 폰트 파일을 생성한다. Next, if both cmap and GSUB information, which are font internal information, are changed, the encrypted font generator 114 creates a new encrypted font file including the changed information as in step S66-3.
그리고 암호 폰트 생성기(114)는 폰트 파일이 정상적으로 생성되면 S66-4단계와 같이 폰트 파일 저장소에 암호화 폰트파일을 저장한다. 폰트파일은 변환코드 당 하나의 폰트파일이 저장된다.And when the font file is normally generated, the encrypted font generator 114 stores the encrypted font file in the font file storage as in step S66-4. In the font file, one font file is stored per conversion code.
이후, 암호화된 폰트 파일과 암호화된 텍스트 문서는 해당 암호화 장치(110)에서 다시 오픈되거나, 혹은 다른 장치(도 1의 120)로 전송된 후 오픈될 수 있다. Thereafter, the encrypted font file and the encrypted text document may be opened again in the
이 경우, 이 문서를 오픈하려는 장치(110, 120)는 암호화 장치(110)의 텍스트 변환기(113)가 변환하여 암호화시킨 텍스트 문서에 암호 폰트 생성기(114)가 변환하여 암호화시킨 폰트를 적용하면(S67) 별도의 복호화 과정 없이 텍스트를 복원하여 원문 텍스트의 내용을 확인할 수 있다. In this case, the
또한, 암호화된 텍스트만 있고, 폰트가 없는 경우, 해당 텍스트는 원본 텍스트로 변환되지 않으므로, 텍스트의 보안을 향상시킬 수 있다.In addition, when there is only encrypted text and no font, the text is not converted to the original text, so the security of the text can be improved.
도 11 내지 도 14는 본 발명의 다양한 암호화 방식에 따른 암호화 및 복원의 예시를 보여준다. Abg는 폰트파일을 지시한다. Abg에 "원본폰트"라 부기된 것은 원본 폰트를 의미하며, "암호화폰트"라 부기된 것은 암호화된 폰트를 의미한다. 그리고 화살표에서 enc라 표시된 것은 암호화 과정을 나타낸다. 11 to 14 show examples of encryption and restoration according to various encryption methods of the present invention. Abg points to the font file. Abg "original font" means the original font, and "encrypted font" means the encrypted font. And the arrow marked with enc indicates the encryption process.
도 11은 본 발명의 일 실시예에 의한 문자간 다중 치환의 암호화 및 복원 과정을 보여주는 도면이다. 앞서 도 4에서 설명한 내용을 참조한다. 또한 대응하는 프로세스로 도 10의 단계들이 지시되어 있다. 11 is a diagram illustrating an encryption and restoration process of multiple substitution between characters according to an embodiment of the present invention. Reference is made to the contents previously described with reference to FIG. 4 . The steps of FIG. 10 are also indicated as corresponding processes.
S61~S62의 텍스트 입력 및 폰트 선택과 암호화 방식(1:N 다중 매핑)을 선택하면, 일부 문자에 대해 변환 코드 생성기(111)로 변환 코드를 생성하고, 또한 일부 문자(예를 들어 "다"라는 문자)에 대해서 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 다중 치환 규칙 생성기)는 해당 문자("다")를 "e" 또는 "l"로 치환하는 규칙을 생성한다(S63, S64). When text input and font selection of S61 to S62 and an encryption method (1:N multiple mapping) are selected, a conversion code is generated with the conversion code generator 111 for some characters, and also some characters (for example, "multi") character), the substitution rule generator 112 (or a separately configured multiple substitution rule generator between characters) creates a rule for substituting the corresponding character (“a”) with “e” or “l” (S63, S64) .
그리고 텍스트 변환기(113)는 치환 규칙에 따라 텍스트를 암호화한다(S65). 그리고 암호폰트 생성기(114)(또는 문자간 다중 치환 GSUB 생성기)는 지정된 폰트를 암호화한다(S66). And the text converter 113 encrypts the text according to the substitution rule (S65). And the encrypted font generator 114 (or the multi-character substitution GSUB generator) encrypts the designated font (S66).
여기서 다중 치환에 해당하지 않는 문자들에 대해서는 치환 규칙 생성기(112)(또는 별도로 구성된 문자간 1:1 치환 규칙 생성기)가 문자간 1:1 치환 규칙을 생성하고, 이에 따라 암호 폰트 생성기(114)(또는 별도로 구성된 문자간 1:1 치환 cmap 생성기)가 문자간 1:1 치환 cmap 생성을 생성할 수 있다. Here, for characters that do not correspond to multiple substitutions, the substitution rule generator 112 (or a 1:1 substitution rule generator between characters configured separately) creates a 1:1 substitution rule between characters, and, accordingly, the cipher font generator 114 (or a separately configured 1:1 substitution cmap generator between characters) can generate 1:1 substitution cmap between characters.
생성된 암호화 폰트를 암호화된 텍스트에 적용하면 원래의 텍스트가 복원된다(S67).When the generated encrypted font is applied to the encrypted text, the original text is restored (S67).
도 12는 본 발명의 일 실시예에 의한 문자-문자열간 치환의 암호화 및 복원 과정을 보여주는 도면이다. 앞서 도 5에서 설명한 내용을 참조한다. 또한 대응하는 프로세스로 도 10의 단계들이 지시되어 있다. 12 is a diagram illustrating an encryption and restoration process of character-to-string substitution according to an embodiment of the present invention. Reference is made to the contents previously described with reference to FIG. 5 . The steps of FIG. 10 are also indicated as corresponding processes.
S61~S65의 텍스트 입력 및 폰트 선택과 암호화 방식(문자:문자열 매핑, 1개의 문자가 m개의 문자로 구성된 문자열로 매핑되는 방식)을 선택하면, 특정 문자(예를 들어 "폰", "트"라는 문자)에 대해서 치환 규칙 생성기(112)(또는 별도로 구성된 문자-문자열간 치환 규칙 생성기)는 각각의 글자에 대응하는 문자열을 치환 규칙으로 생성한다. 그리고 텍스트 변환기(113)는 치환 규칙에 따라 각 문자를 암호화한다. If you select the text input and font selection and encryption method (character: string mapping, one character is mapped to a character string consisting of m characters) of S61~S65, specific characters (e.g. "phone", "t") character), the substitution rule generator 112 (or a separately configured character-string substitution rule generator) generates a character string corresponding to each character as a substitution rule. And the text converter 113 encrypts each character according to the substitution rule.
그리고 암호폰트 생성기(114)(또는 문자-문자열간 치환 GSUB 생성기)는 지정된 폰트를 암호화한다(S66). 생성된 암호화 폰트를 암호화된 텍스트에 적용하면 원래의 텍스트가 복원된다(S67).And the encrypted font generator 114 (or the character-string substitution GSUB generator) encrypts the designated font (S66). When the generated encrypted font is applied to the encrypted text, the original text is restored (S67).
도 13은 본 발명의 일 실시예에 의한 문자열-문자간 치환의 암호화 및 복원 과정을 보여주는 도면이다. 앞서 도 6에서 설명한 내용을 참조한다. 또한 대응하는 프로세스로 도 10의 단계들이 지시되어 있다. 13 is a diagram showing an encryption and restoration process of character string-character substitution according to an embodiment of the present invention. Reference is made to the contents previously described with reference to FIG. 6 . The steps of FIG. 10 are also indicated as corresponding processes.
S61~S65의 텍스트 입력 및 폰트 선택과 암호화 방식(문자열:문자 매핑, m개의 문자가 1개의 문자로 구성된 문자열로 매핑되는 방식)을 선택하면, 특정 문자열에 대해서 치환 규칙 생성기(112)(또는 별도로 구성된 문자열-문자간 치환 규칙 생성기)는 각각의 글자에 대응하는 문자열을 치환 규칙으로 생성한다. 그리고 텍스트 변환기(113)는 치환 규칙에 따라 해당 문자열을 암호화한다. When text input and font selection of S61 to S65 and the encryption method (string: character mapping, a method in which m characters are mapped to a character string consisting of one character) are selected, the substitution rule generator 112 (or separately) for a specific character string The configured character string-character substitution rule generator) creates a character string corresponding to each character as a substitution rule. And the text converter 113 encrypts the corresponding character string according to the substitution rule.
그리고 암호폰트 생성기(114)(또는 문자열-문자간 치환 GSUB 생성기)는 지정된 폰트를 암호화한다(S66). And the encrypted font generator 114 (or the character string-character substitution GSUB generator) encrypts the designated font (S66).
생성된 암호화 폰트를 암호화된 텍스트에 적용하면 원래의 텍스트가 복원된다(S67).When the generated encrypted font is applied to the encrypted text, the original text is restored (S67).
도 14는 본 발명의 일 실시예에 의한 문자열간 치환의 암호화 및 복원 과정을 보여주는 도면이다. 앞서 도 7에서 설명한 내용을 참조한다. 또한 대응하는 프로세스로 도 10의 단계들이 지시되어 있다. 14 is a diagram showing an encryption and restoration process of substitution between character strings according to an embodiment of the present invention. Reference is made to the contents previously described in FIG. 7 . The steps of FIG. 10 are also indicated as corresponding processes.
S61~S65의 텍스트 입력 및 폰트 선택과 암호화 방식(문자열: 문자열간 매핑, m개의 문자로 구성된 문자열이 n개의 문자로 구성된 문자열로 매핑되는 방식)을 선택하면, 특정 문자열에 대해서 치환 규칙 생성기(112)(또는 별도로 구성된 문자열간 치환 규칙 생성기)는 각각의 글자에 대응하는 문자열을 치환 규칙으로 생성한다. 그리고 텍스트 변환기(113)는 치환 규칙에 따라 해당 문자열을 암호화한다(S65). When the text input and font selection and encryption method of S61 to S65 are selected (string: mapping between strings, a method in which a string consisting of m characters is mapped to a string consisting of n characters), a substitution rule generator (112 ) (or a separately configured substitution rule generator between character strings) creates a character string corresponding to each character as a substitution rule. And the text converter 113 encrypts the corresponding character string according to the substitution rule (S65).
그리고 암호폰트 생성기(114)(또는 문자열-문자열간 치환 GSUB 생성기)는 지정된 폰트를 암호화한다(S66). And the encrypted font generator 114 (or the string-string substitution GSUB generator) encrypts the designated font (S66).
생성된 암호화 폰트를 암호화된 텍스트에 적용하면 원래의 텍스트가 복원된다(S67).When the generated encrypted font is applied to the encrypted text, the original text is restored (S67).
도 15는 본 발명의 일 실시예에 의한 암호화된 텍스트를 다시 복원하여 표시하는 과정을 보여준다. 15 shows a process of reconstructing and displaying the encrypted text according to an embodiment of the present invention.
암호화 장치(110)가 암호화된 텍스트와 암호화된 폰트를 전술한 바와 같이 생성하여 저장한다. 또는 저장한 암호화 텍스트와 암호화된 폰트를 서버로 전송하여 다른 장치에서 이를 확인할 수 있도록 한다(S71). The
그리고 암호화된 텍스트는 메일이나 웹사이트 등을 통해 복원 장치(120)로 전달되거나, 혹은 복원 장치(120)가 암호화된 텍스트에 접근한다(S72). Then, the encrypted text is transmitted to the
이후 복원 장치(120)가 서버에 암호화 폰트를 요청한다(S73). 그리고 복원 장치(120)가 수신한 암호화 폰트를 암호화 텍스트에 적용하여 원문을 복원한다(S74). Thereafter, the
암호화 장치(110)와 복원 장치(120)의 미리 약속된 방식에 따라서, 암호화된 텍스트와 암호화된 폰트가 함께 복원 장치(120)에 전달될 수 있다. 이는 복원 장치(120)가 해당 문서에 접근할 권한이 있음을 인증한 경우를 일 실시예로 한다. The encrypted text and the encrypted font may be transmitted to the
즉, 도 15의 복호화 과정은 복원 장치(120)가 암호화 텍스트 및 암호화 텍스트에 대응하는 암호화 폰트를 획득하는 단계(S71~S73) 및 복원 장치(120)가 암호화 폰트를 상기 암호화 텍스트에 적용하여 암호화 폰트가 적용되기 전의 암호화 텍스트의 제1문자와 상이하게 표시되는 제2문자를 포함하는 텍스트를 표시하는 단계(S74)로 구성된다. That is, in the decryption process of FIG. 15 , the
만약 암호화 폰트가 적용되기 전이라면 암호화된 텍스트의 "A"라는 문자는 그대로 "A"로 표시된다. 하지만, 암호화 폰트가 적용되면 암호화된 텍스트의 "A"라는 문자는 "하" 또는 "안녕하세요" 등과 같이 다르게 표시된다. 이는 제1문자가 문자열인 경우에도 해당한다.If the encrypted font is not applied, the letter "A" in the encrypted text is displayed as "A" as it is. However, when an encrypted font is applied, the letter "A" in the encrypted text is displayed differently, such as "Ha" or "Hello". This also applies when the first character is a character string.
도 15의 실시예를 보다 상세히 살펴본다. The embodiment of FIG. 15 will be described in more detail.
복원 장치(120)가 웹브라우저를 이용하여 해당 암호 텍스트를 표시하는 경우라면, 복원 장치(120)장치의 웹브라우저로 암호 텍스트와 함께 웹폰트형식의 암호 폰트 파일이 함께 전달되어 표시된다.When the
설명의 편의를 위해 블로그 시스템의 경우를 예로 들면, 블로그 사용자(관리자)가 보호가 필요한 원문을 작성하고 저장을 하면 문서가 저장되는 시점에 원문의 텍스트는 암호화되고 이와 동시에 암호화 폰트가 함께 생성된다(S71). For convenience of explanation, taking the case of the blog system as an example, when a blog user (administrator) writes and saves an original text requiring protection, the text of the original text is encrypted at the time the document is saved, and an encrypted font is created at the same time ( S71).
한편, 블로그 방문자(접속자)가 해당 블로그 페이지에 접속하면 암호화된 텍스트가 포함된 HTML 문서를 방문자의 웹브라우저로 전달한다(S72). 웹브라우저는 HTML 문서 내용을 분석하고 HTML 문서에서 필요로 하는 폰트 정보를 확인하고 서버(300)에 해당 폰트를 요청한다(s73). 폰트 정보를 요청받은 서버는 원문 작성시 생성된 암호화 폰트를 웹폰트 형식으로 웹브라우저에 전달한다. 웹브라우저가 웹폰트를 수신하여 해당 HTML 문서에 폰트를 적용하면 원문의 내용이 재현되어 화면에 표시된다(S74). Meanwhile, when a blog visitor (accessor) accesses the corresponding blog page, an HTML document including encrypted text is delivered to the visitor's web browser (S72). The web browser analyzes the HTML document content, checks the font information required in the HTML document, and requests the corresponding font from the server 300 (s73). The server that receives the font information request delivers the encrypted font generated when writing the original text to the web browser in the form of a web font. When the web browser receives the web font and applies the font to the corresponding HTML document, the content of the original text is reproduced and displayed on the screen (S74).
이때, 문서를 복원하여 표시하기 위해, 웹브라우저는 웹폰트를 수신하여 폰트를 HTML 문서에 적용하는 것 이외의 다른 부가적인 작업을 필요로 하지 않는다. HTML문서의 내용에서는 암호화된 텍스트는 암호화된 상태를 그대로 유지한 상태에서 원문의 내용이 재현되어 표시되는 방식이다. In this case, in order to restore and display the document, the web browser does not require any additional work other than receiving the web font and applying the font to the HTML document. In the content of the HTML document, the encrypted text is reproduced and displayed while maintaining the encrypted state.
다른 실시예로 문서편집기가 탑재된 시스템의 경우도 이와 동일한 방식으로 작동한다. 사용자가 보호가 필요한 문서를 작성하고 저장 버튼을 누르면, 문서 내의 텍스트를 암호화 하고 동시에 이에 대응하는 암호화 폰트를 생성한다(S71). 암호화 과정은 사용자의 장치에서 실행될 수도 있고 서버(300)에서 수행될 수도 있다. In another embodiment, a system equipped with a text editor operates in the same manner. When the user creates a document requiring protection and presses the save button, the text in the document is encrypted and a corresponding encrypted font is generated at the same time (S71). The encryption process may be executed on the user's device or may be performed on the
생성된 암호화 폰트는 서버(300)의 저장소에 저장된다. 사용자가 암호화된 문서를 다른 사용자에게 전달할 경우(S72), 수신자가 암호화 문서를 열면 수신자의 장치(복원 장치)의 문서편집기는 암호화 문서에 사용된 폰트가 수신자의 장치에 없음을 확인하고 문서 편집기 서버 시스템에 해당 폰트를 요청한다(S73). 서버(300)는 해당 암호화 폰트를 수신자의 장치로 전달한다. The generated encrypted font is stored in the storage of the
수신자의 장치(복원 장치)의 문서 편집기는 해당 암호화 폰트를 다운로드하고 문서에 폰트를 로딩하여 표시한다. 암호화 폰트가 적용되면 암호 텍스트가 원문 내용으로 자동으로 표시되지만 텍스트는 암호화 된 상태를 유지한다(S74).The text editor of the recipient's device (restore device) downloads the corresponding encrypted font, loads the font in the document, and displays it. When the encrypted font is applied, the encrypted text is automatically displayed as the original text, but the text remains encrypted (S74).
폰트를 이용한 암호화 방식의 특성은 시스템이 폰트를 로딩하여 문자를 표시하는 방법을 이용한 것으로 별도의 복호화 과정 없이 폰트를 적용하는 것 만으로도 원문의 내용을 재현하여 표시하게 된다.The characteristic of the encryption method using the font is that the system uses the method of loading the font to display the characters, and just by applying the font without a separate decryption process, the contents of the original text are reproduced and displayed.
도 15의 실시예는 웹문서의 암호화 및 복원 표시 과정에도 적용된다. The embodiment of Fig. 15 is also applied to the process of displaying encryption and restoration of web documents.
웹문서를 작성하고 작성한 문서를 폰트와 함께 암호화한 후, 사용자 화면에 표시하기 위해 전술한 암호화 및 복원 프로세스를 적용할 수 있다. After creating a web document and encrypting the created document together with the font, the above-described encryption and restoration process may be applied to display it on the user's screen.
사용자가 웹 문서 편집화면에서 문서 내용을 작성하고, 텍스트에 적용할 폰트를 지정한다. 폰트는 나눔명조, 나눔고딕, Rix고딕 등 문서 작성시 사용할 수 있는 일반적인 TTF, OTF 폰트를 선택할 수 있다. 웹폰트로 변환이 허가된 폰트이고 서버에 설치된 폰트라면 어떠한 폰트라도 사용이 가능하다. The user writes the document content on the web document editing screen and designates the font to be applied to the text. As for the font, you can select general TTF and OTF fonts that can be used when writing documents such as Nanum Myeongjo, Nanum Gothic, and Rix Gothic. Any font can be used as long as it is a font that is allowed to be converted to a web font and is installed on the server.
사용자는 문서 작성이 완료되면, 도 10 내지 도 14에서 살펴본 텍스트 문서의 암호화 방법을 지정하고 저장한다. 텍스트가 암호화되면서 동시에 텍스트 암호화 방법(문자간 다중/문자-문자열/문자열-문자/문자열-문자열 등)에 대응하는 내용을 정보를 가진 암호화 폰트를 생성한다. When the document creation is completed, the user designates and stores the encryption method of the text document shown in FIGS. 10 to 14 . While text is encrypted, it creates an encrypted font with information corresponding to the text encryption method (multiple characters/character-string/string-character/string-string, etc.).
이후, 사용자가 생성한 암호화 문서에 대해 수신자(접속자)가 복원 장치에 설치된 웹브라우저로 암호화된 해당 웹문서를 요청하면, 도 15의 과정에 따라 암호된 텍스트가 포함한 웹 문서와 이에 대응하는 암호화 웹폰트를 획득하고, 웹브라우저에서 원문의 내용을 재현하여 표시한다.Thereafter, when the recipient (accessor) requests the encrypted web document with the web browser installed in the restoration device for the encrypted document created by the user, the web document including the encrypted text according to the process of FIG. 15 and the corresponding encrypted web The font is acquired and the content of the original text is reproduced and displayed in the web browser.
도 16은 본 발명의 일 실시예에 의한 암호문을 복원하는 과정을 보여준다. 16 shows a process of restoring a ciphertext according to an embodiment of the present invention.
복원 장치(120)에서 폰트를 이용하여 암호 텍스트를 재현하는 방법은 TTF/OTF 폰트를 사용하는 대부분의 운영체제에서 동일하게 작동할 수 있다. The method of reproducing the cipher text using the font in the
복원 장치(120)는 암호문(77)을 원문의 텍스트로 복원하는 것이 아니라, 암호문은 유지한 상태에서 폰트를 이용하여 시각적인 형태만 원문과 동일한 내용으로 표시한다. 따라서, 복원 장치(120)가 수행하는 작업은 복호화가 아닌 표시상의 복원 또는 재현에 해당한다. The
암호문의 내용이 77이 지시하는 바와 같이, "tnoFe. ruce Sol. leH다니, 입트폰안보다니습갑반!" 이고 원문이 79가 지시하는 바와 같이 "반갑습니다. 보안폰트 입니다. Hello, SecureFont!"이다. As the content of the ciphertext is indicated by 77, "tnoFe. ruce Sol. and as the
암호문은 원문의 앞과 뒤를 서로 맞교환하는 방식으로 암호화한 것이다. 이 암호문에 대응하는 폰트를 생성하기 위해서는 2번이상 반복해서 나타나는 문자 "e, o, l, 니, 다" 에 대해 다중 변환이 수행되었으며, 도 4의 S31/S32 과정을 거쳐 암호화가 이루어졌다. A ciphertext is encrypted by exchanging the front and back sides of the original text. In order to generate a font corresponding to the cipher text, multiple conversions were performed on the characters "e, o, l, ni, da" that appear repeatedly two or more times, and encryption was performed through the process S31/S32 of FIG. 4 .
만약, 복원 장치(120)가 암호화된 폰트가 아닌 일반 폰트를 이용하여 암호문의 문자열을 표시하는 경우에, 복원 장치(120)는 폰트에서 "t" 문자에 대한 문자코드 0x0074에 대응하는 문자도안을 폰트의 문자-글립 인덱스 매핑표(cmap)에서 검색하여 해당 문자도안(Glyph)인 "t"를 화면에 표시하고, 다음 문자인 "n"의 문자코드 0x006e 에 대응하는 문자도안인 "n"를 찾아 화면에 표시한다. If the
문자 중 공백이 있을 경우 공백 문자코드 "0x0020" 가 사용되고 이에 대응하는 문자도안의 띄어쓰기 공간 크기만큼 다음 문자와의 간격을 띄운다. 이러한 과정을 모든 문자에 대해 반복 수행하여 화면에는 77이 지시하는 암호문의 일부인 "tnoFe. ruce Sol." 이라는 암호문 형태 그대로 표시된다. If there is a space among the characters, the blank character code "0x0020" is used and the space between the next character and the next character is spaced as much as the space for the corresponding character design. By repeating this process for all characters, the screen shows "tnoFe. ruce Sol.", which is part of the ciphertext indicated by 77. It is displayed in the form of ciphertext.
문자 코드간의 다중 변환이 지원되지 않는 경우, 77이 지시하는 암호문 "tnoFe. ruce Sol. leH다니, 입트폰안보다니습갑반!"는 78이 지시하는 "반갑습니다. 보안폰다 입습H. H다leF, S트cureFont!" 형태로만 표현된다. 이는 원문(79)과 다르다. 즉, 다중 변환이 지원되지 않으면 원문을 완벽하게 재현할 수가 없다. 왜냐하면 암호화 과정에서 하나의 동일한 문자(예를 들어 e)가 다양한 문자로 변환될 수 있기 때문이다. If multiple conversions between character codes are not supported, the ciphertext "tnoFe. ruce Sol. , StcureFont!" expressed only in form. This is different from the original text (79). In other words, if multiple transformations are not supported, the original text cannot be perfectly reproduced. This is because, during the encryption process, one and the same character (e.g. e) can be converted into various characters.
따라서, 암호문에 대응하도록 다중 변환 기능이 가능한 암호화 폰트를 적용하여 화면에 표시할 경우, 첫 번째 암호문 "tnoFe."를 표현하기 위해 복원 장치(120)는 암호화 폰트에서 "t"문자에 대해 문자-글립인덱스 매핑표를 검색하기 전에 문자코드 0x0074에 대응하는 오픈타입 피쳐(OpenType Feature) 기능이 있는지 GSUB에서 검색한다. 즉, 복원 장치(120)는 오픈타입 피쳐 기능을 변형 및 합자 정보(GSUB)에서 검색한다. Therefore, when an encryption font capable of multiple conversion functions is applied to correspond to the cipher text and displayed on the screen, the
검색된 결과가 없다면, 복원 장치(120)는 문자코드 0x0074에 대응하는 문자도안을 폰트의 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 변환된 해당 문자도안인 "반"를 화면에 표시한다. If there is no search result, the
다음 문자 "n"에 대해서도 복원 장치(120)는 문자코드 0x006e 역시 OpenType Feature 기능으로 지정된 것이 있는지 GSUB에서 검색하고, "tn" 문자열 즉 0x0074 0x006e 문자 코드의 나열에 대응하는 OpenType Feature 기능이 있는지 GSUB 에서 검색한다. 검색된 결과가 없다면, "n" 의 문자코드 0x006e에 대응하는 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 변환된 해당 문자도안인 "갑"을 화면에 표시한다. Even for the next character "n", the
이 과정을 "o", "F", "e" 문자에 대해 반복 수행하여 변환된 문자도안인 "습", "니", "다"를 화면에 표시하여 "tnoFe."라는 암호문은 "반갑습니다. "로 표시된다. By repeating this process for the letters "o", "F", and "e", the converted character designs "weep", "ni", and "da" are displayed on the screen, so that the cipher text "tnoFe." is "Nice to meet you." is displayed."
암호문의 두번째 문장인 "ruce Sol. "에 대해서도 동일한 과정을 반복 수행한다. "r", "u", "c" 에 대해 반복 수행하여 대응 문자도안 "보", "안", "폰" 을 출력한 다음, "e" 문자에 대한 문자 코드 0x0065도 OpenType Feature 기능이 지정된 것이 있는지 GSUB에서 검색한다. 검색된 결과가 없다면, 앞 문자를 포함한 "ce" 문자열의 문자 코드 나열 0x0063 0x0065에 대한 OpenType Feature 기능이 있는지 GSUB 에서 검색한다. Repeat the same process for "ruce Sol.", the second sentence of the ciphertext. Repeat for "r", "u", and "c" to output the corresponding character designs "Bo", "An", and "Pawn", and then the character code 0x0065 for the letter "e" is also specified with the OpenType Feature function. Search GSUB to see if there is one. If there is no search result, search GSUB for OpenType Feature function for character code listing 0x0063 0x0065 of "ce" string including the preceding character.
검색 결과 0x0063 0x0065 문자코드 나열에 대해 0x0063 0xd2b8로 변환하도록 지정된 것이 검색되면, 복원 장치(120)는 변환된 문자코드에 대한 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 에서 찾아서 화면에 표시한다. 변환된 문자코드 0x0063은 "폰" 문자도안, 0xd2b8 문자코드는 "트" 문자도안을 표시한다. 그 결과, 'ce'암호문이 '폰다' 대신 '폰트'로 표현되도록 한다. 이런 과정을 나머지 문자 "S", "o", "l"에 대해서도 동일하게 수행하면, "So" 문자열은 "입습" 에서 "입니"으로 표현되고, "ol" 문자열은 "So"문자열의 다중 변환 결과에 따라 기본 변환형인 "습H" 에서 "니H"로 변환된 후 "니H"에 대한 다중 변환 결과인 "니다"로 표현되어, 두번째 암호문인 "ruce Sol." 도 "보안폰트 입니다. " 로 원문의 내용을 완벽하게 재현하여 표시할 수 있게 된다.If a search result specified to be converted to 0x0063 0xd2b8 for the 0x0063 0x0065 character code listing is found, the
이러한 방식으로 화면상에 원문 형태를 재현하는 방식은 OpenType Feature 기능을 지원하는 운영체제 또는 웹브라우저, 응용프로그램에서는 모두 가능하다. The method of reproducing the original text on the screen in this way is possible in any operating system, web browser, or application program that supports the OpenType Feature function.
도 16의 과정을 정리하면, 복원 장치(120)는 암호화 텍스트의 제1문자에 대응하는 오픈타입 피쳐 기능을 변형 및 합자 정보(GSUB)에서 검색한다. 그리고 기능이 검색된 경우, 도 11의 S63 내지 S67에 도시된 바와 같이 복원 장치(120)는 제1문자로 변환되었던 제2문자의 문자 코드에 대한 문자 도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시한다. 또는 기능이 검색된 경우, 도 13의 S67에 도시된 바와 같이 복원 장치(120)는 제1문자로 변환되었던 제2문자열의 문자 코드에 대한 문자 도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시한다. To summarize the process of FIG. 16 , the
기능이 검색되지 않은 경우, 복원 장치(120)는 제1문자의 문자 코드에 대응하는 문자 도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시한다. When the function is not found, the
여기서 제2문자 및 제2문자열은 원문 텍스트에 포함된 내용을 재현하기 위한 구성요소이다. Here, the second character and the second character string are components for reproducing the content included in the original text.
도 17은 본 발명의 다른 실시예에 의한 암호문을 복원하는 과정을 보여준다. 17 shows a process of recovering a ciphertext according to another embodiment of the present invention.
도 17은 복원 장치(120)에서 하나의 문자열을 다른 문자열로 변환하여 암호화된 텍스트를 복원(재현)하는 과정을 보여준다. 17 shows a process of restoring (reproducing) an encrypted text by converting one character string into another character string in the
앞서 도 16에서 살펴본 실시예와 마찬가지로 복원 장치(120)에서 폰트를 이용하여 암호 텍스트를 재현하는 방법은 TTF/OTF 폰트를 사용하는 대부분의 운영체제에서 동일하게 작동한다. 아래의 설명은 하나의 문자열을 다른 문자열로 변환하여 암호화한 경우에 대해 수신 장치에서 원문 형태를 재현하는 방법을 서술한 것이다.16, the method of reproducing the cipher text using the font in the
암호문을 원문의 텍스트로 복호화하는 것이 아니라, 암호문은 유지한 상태에서 시각적인 형태만 원문과 동일한 내용으로 표시되기 때문에 복원 또는 재현에 해당한다. Rather than decrypting the cipher text into the text of the original text, it corresponds to restoration or reproduction because only the visual form is displayed with the same content as the original text while the cipher text is maintained.
암호문의 내용이 "fr87" 이고 원문이 "반갑습니다" 인 경우, 일반 폰트를 이용하여 문자열을 표시하였다면, 시스템은 폰트에서 "f"문자에 대한 문자코드 0 x0066에 대응하는 문자도안을 폰트의 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 해당 문자도안(Glyph)인 "f"를 화면에 표시하고, 다음 문자인 "r"의 문자코드 0x0072 에 대응하는 문자도안인 "r"를 찾아 화면에 표시하게 된다. 이 과정을 모든 문자에 대해 반복 수행하여 화면에 "fr87" 이라는 암호문의 문자열을 표시하게 된다. If the content of the cipher text is "fr87" and the original text is "Nice to meet you", if a character string is displayed using a normal font, the system will generate a character design corresponding to the character code 0x0066 for the character "f" in the font. Search in the code letter-pattern mapping information (cmap) and display the corresponding glyph “f” on the screen, and find the character design “r” corresponding to the character code 0x0072 of the next character “r” on the screen will be displayed in By repeating this process for all characters, the cipher text string "fr87" is displayed on the screen.
암호문에 대응하는 암호화 폰트를 적용하여 화면에 표시할 경우, 시스템은 암호화 폰트에서 "f"문자에 대해 문자 코드 문자-도안 매핑 정보(cmap)를 검색하기 전에 문자코드 0x0066에 대응하는 OpenType Feature 기능이 있는지 변형 및 합자 정보(GSUB)에서 검색한다. 검색된 결과가 없다면, 문자코드 0x0066에 대응하는 문자도안을 폰트의 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 해당 문자도안인 'f'를 화면에 표시한다. 다음 문자 "r" 의 문자코드 0x0072 역시 OpenType Feature 기능으로 지정된 것이 있는지 변형 및 합자 정보(GSUB)에서 검색하고, "fr" 문자열 즉 0x0066 0x0072 문자 코드의 나열에 대응하는 OpenType Feature 기능이 있는지 변형 및 합자 정보(GSUB)에서 검색한다. 검색된 결과가 없다면, "r" 의 문자코드 0x0072에 대응하는 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 해당 문자도안인 "r"을 화면에 표시한다. 이 과정을 "8" 문자에 대해 반복 수행한다. 마지막 문자인 "7" 문자에 대한 문자 코드 0x0037도 OpenType Feature 기능이 지정된 것이 있는지 변형 및 합자 정보(GSUB)에서 검색한다. When the encryption font corresponding to the cipher text is applied and displayed on the screen, the system detects the OpenType Feature function corresponding to the character code 0x0066 before searching the character code character-pattern mapping information (cmap) for the “f” character in the encrypted font. Search in the transformation and ligature information (GSUB) to see if there are any. If there is no search result, the character design corresponding to the character code 0x0066 is searched in the character code character-pattern mapping information (cmap) of the font, and the corresponding character design 'f' is displayed on the screen. The character code 0x0072 of the next character "r" is also searched in the transformation and ligature information (GSUB) to see if there is one designated as an OpenType Feature function, and whether there is an OpenType Feature function corresponding to the "fr" string, i.e., the 0x0066 0x0072 character code listing. Search in information (GSUB). If there is no search result, the character design corresponding to the character code 0x0072 of "r" is searched in the character code character-pattern mapping information (cmap) and the corresponding character design "r" is displayed on the screen. Repeat this process for the "8" character. The character code 0x0037 for the last character "7" is also searched in the transformation and ligature information (GSUB) to see if the OpenType Feature function is specified.
검색된 결과가 없다면, "fr87" 문자열의 문자 코드 나열 "0x0066 0x0072 0x0038 0x0037"에 대한 오픈타입 피쳐 (OpenType Feature) 기능이 있는지 변형 및 합자 정보(GSUB) 에서 검색한다. If there is no search result, search for the OpenType Feature function for the character code list "0x0066 0x0072 0x0038 0x0037" of the string "fr87" in the transformation and ligature information (GSUB).
검색 결과 "0x0066 0x0072 0x0038 0x0037" 문자코드 나열에 대해 "0xbc18 0xac11 0xc2b5 0xb2c8 0xb2e4"으로 변환하도록 지정된 것이 검색되면, 변환된 문자코드에 대한 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 찾아서 화면에 표시한다. 변환된 문자코드 0xbc18는 "반" 문자도안, 0xac11 문자코드는 "갑" 문자도안, 0xc2b5 문자코드는 "습" 문자도안, 0xb2c8 문자코드는 "니" 문자도안 그리고 0xb2e4 문자코드는 "다" 문자도안를 표시한다. 그 결과, 암호문자열 "fr87"은 화면상에서 "반갑습니다" 문자열에 대응하는 문자도안들의 나열로 표시되고 문자열은 암호화된 상태인 "fr87"을 그대로 유지한다.As a result of the search, if the specified to be converted to "0xbc18 0xac11 0xc2b5 0xb2c8 0xb2e4" for the "0x0066 0x0072 0x0038 0x0037" character code listing is found, the character design for the converted character code is found in the character code character-pattern mapping information (cmap) and displayed on the screen displayed on The converted character code 0xbc18 is "half" character design, 0xac11 character code is "A" character design, 0xc2b5 character code is "Wet" character design, 0xb2c8 character code is "Ni" character design, and 0xb2e4 character code is "Da" character display the drawing As a result, the password string "fr87" is displayed as a list of character designs corresponding to the "Nice to meet you" string on the screen, and the string maintains the encrypted state "fr87".
이러한 방식으로 화면상에 원문 형태를 재현하는 방식은 OpenType Feature 기능을 지원하는 운영체제 또는 웹브라우저, 응용프로그램에서는 모두 가능하다. The method of reproducing the original text on the screen in this way is possible in any operating system, web browser, or application program that supports the OpenType Feature function.
도 17을 정리하면 다음과 같다. 17 is summarized as follows.
복원 장치(120)는 암호화 텍스트의 제1문자열을 구성하는 문자코드에 대응하는 오픈타입 피쳐 기능을 변형 및 합자 정보(GSUB)에서 검색한다. The
기능이 검색된 경우, 도 12의 S67에 도시된 바와 같이 복원 장치(120)는 제1문자열로 변환되었던 제2문자의 문자 코드에 대응하는 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시한다. When the function is found, as shown in S67 of FIG. 12 , the
또는 도 14의 S67에 도시된 바와 같이 복원 장치(120)는 제1문자열로 변환되었던 제2문자열의 문자 코드에 대응하는 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시한다. Alternatively, as shown in S67 of FIG. 14 , the
여기서 제2문자 및 제2문자열은 원문 텍스트에 포함된 내용을 재현하기 위한 구성요소이다. Here, the second character and the second character string are components for reproducing the content included in the original text.
도 18은 본 발명의 일 실시예에 의한 암호화 시스템의 구성을 보여준다. 암호화 시스템(500)의 구성은 도 9의 암호화 장치의 구성을 토대로 한다. 화살표는 암호화가 진행되는 과정을 보여주며 이는 앞서 도 9 및 관련 설명에서 제시되었다. 18 shows the configuration of an encryption system according to an embodiment of the present invention. The configuration of the
암호화 시스템은 암호화 장치로 구성된 시스템을 일 실시예로 한다. 또는 암호화 시스템은 암호화 장치와 서버를 포함하는 시스템을 일 실시예로 한다. The encryption system is a system configured with an encryption device as an embodiment. Alternatively, the encryption system is a system including an encryption device and a server as an embodiment.
즉, 암호화 작업은 하나의 장치에서 수행될 수도 있고, 암호화 장치와 서버 사이에서 수행될 수 있으므로, 도 18의 구성은 암호화 시스템으로 지칭한다. 따라서 도 18의 구성은 하나의 장치 내에 구현될 수도 있고 또는 둘 이상의 장치들이 각각의 구성요소를 포함하며 암호화 작업이 다수의 장치에서 협업으로 수행될 수 있음을 의미한다. That is, since the encryption operation may be performed in one device or between the encryption device and the server, the configuration of FIG. 18 is referred to as an encryption system. Accordingly, the configuration of FIG. 18 may be implemented in one device, or two or more devices include each component, and the encryption operation may be performed cooperatively in a plurality of devices.
제어기(501)는 사용자가 입력 또는 업로드하는 텍스트와 사용자가 선택한 폰트를 입력받는다. 제어기(501)는 입력된 정보를 변환 코드 생성기(511)로 전달하며, 변환 코드 생성기(511)는 치환 암호화 내부 규칙을 결정하는 변환 코드를 생성한다. 이는 앞서 살펴본 바와 같다.The
치환 규칙 생성기(512)는 전술한 암호화 장치(110)의 치환 규칙 생성기(112)의 설명을 대신한다. The substitution rule generator 512 replaces the description of the substitution rule generator 112 of the
치환 규칙 생성기(512)는 내부적으로 도 2 내지 도 7에서 설명된 각각의 치환 방식에 대응하는 문자간 1:1 치환 규칙 생성기(512a), 문자간 다중 치환 규칙 생성기(512b), 문자-문자열간 치환 규칙 생성기(512c), 문자열-문자간 치환 규칙 생성기(512d), 문자열간 치환 규칙 생성기(512e), 혼합 치환 규칙 생성기(512f) 그리고 치환 규칙 검사기(512g)를 하위 구성요소로 포함할 수 있다.The substitution rule generator 512 internally includes a 1:1
치환 규칙 생성기(512)는 문자간 1:1 치환 규칙 생성기(512a)는 선택적으로 포함할 수 있다. The substitution rule generator 512 may optionally include a 1:1
도 18의 구성도에서 치환규칙 저장소(512s)는 치환 규칙 생성기(512)의 외부에 배치되어 있으나, 본 발명이 이에 한정되는 것은 아니며 치환 규칙 생성기(512) 내에 치환규칙 저장소(512s)가 배치될 수 있다. In the configuration diagram of FIG. 18 , the
치환 규칙 생성기(512)는 치환 규칙을 생성하고, 이를 포함하는 치환 정보 세트들(도 8의 51 내지 55)을 치환규칙 저장소(512s)에 저장할 수 있다. The substitution rule generator 512 may generate a substitution rule and store substitution information sets (51 to 55 in FIG. 8 ) including the
그리고 텍스트 변환기(513)는 치환 규칙 생성기(112)에서 생성된 치환 정보 세트들(도 8의 51 내지 55)을 이용하여 원본 텍스트의 문자코드를 변환하여 암호화한다.Then, the
한편, 암호폰트 생성기(514)는 폰트를 변환하고 암호화한다. 전술한 암호화 장치(110)의 암호폰트 생성기(114)의 설명을 대신한다. On the other hand, the encrypted font generator 514 converts and encrypts the font. It replaces the description of the encryption font generator 114 of the
암호폰트 생성기(514)는 내부적으로 도 2 내지 도 7에서 설명된 각각의 치환 방식을 지원하는 문자간 1:1 치환 cmap 생성기(514a), 문자간 다중 치환 GSUB 생성기(514b), 문자-문자열간 치환 GSUB 생성기(514c), 문자열-문자간 치환 GSUB 생성기(514d), 문자열간 치환 GSUB 생성기(514e), 혼합 치환 GSUB 생성기(514f) 그리고 폰트 변환기(514g)를 하위 구성요소로 포함할 수 있다. Encrypted font generator 514 internally supports 1:1 substitution cmap generator 514a between characters, multiple substitution GSUB generator 514b between characters that support each substitution method described in FIGS. 2 to 7, character-string It may include a
또한, 암호폰트 생성기(514)는 암호화된 폰트 파일을 저장하는 폰트 저장소(또는 폰트 파일 저장소)(514a)를 더 포함할 수 있다. In addition, the encrypted font generator 514 may further include a font storage (or font file storage) 514a for storing the encrypted font file.
도 18의 구성도에서 폰트파일 저장소(514s)는 암호폰트 생성기(514)의 외부에 배치되어 있으나, 본 발명이 이에 한정되는 것은 아니며 암호폰트 생성기(514) 내에 폰트파일 저장소(514s)가 배치될 수 있다. In the configuration diagram of FIG. 18, the
암호화 시스템(500)에서 폰트/텍스트가 입력되면 암호화 과정을 거쳐 변환된 암호화 폰트와 변환된 암호화 텍스트가 산출된다. 이는 시스템 내에 저장될 수도 있고 외부 장치의 요청으로 외부 장치로 암호화된 텍스트 및 암호화된 폰트가 전송될 수 있다. When a font/text is input in the
정리하면 도 9 및 도 18에서 살펴본 암호화를 수행하는 장치 혹은 시스템의 구성은 다음과 같다.In summary, the configuration of the device or system for performing encryption as shown in FIGS. 9 and 18 is as follows.
폰트와 원문 텍스트와 상기 텍스트를 암호화하는 암호화 방법을 지시하는 식별정보를 제어기(501)가 변환 코드 생성기(511, 도 9의 111)에 입력한다. The
그리고 변환 코드 생성기(511, 도 9의 111)는 원문 텍스트의 하나 이상의 문자를 식별 정보가 지시하는 암호화 방법에 따라 치환될 문자 코드 또는 문자열 코드에 대응하는 변환 코드를 생성한다. 여기서 바람직하게는 하나의 변환 코드가 생성될 수 있다. 그러나, 본 발명이 이에 한정되지는 않으며, 하나 이상, 예를 들어 둘 또는 셋 등의 변환 코드가 생성될 수도 있다. In addition, the conversion code generator 511 ( 111 of FIG. 9 ) generates a conversion code corresponding to a character code or a character string code to be replaced according to an encryption method indicated by identification information for one or more characters of the original text. Here, preferably, one conversion code may be generated. However, the present invention is not limited thereto, and one or more, for example, two or three conversion codes may be generated.
그리고 치환 규칙 생성기(512, 도 9의 112)는 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성한다. And the substitution rule generator 512 (112 of FIG. 9) generates a substitution information set including a substitution rule corresponding to the conversion code.
또한, 텍스트 변환기(513, 도 9의 113)는 치환 규칙에 따라 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성한다. In addition, the text converter 513 (113 of FIG. 9) converts one or more character codes of the original text according to the substitution rule to generate the encrypted text.
또한, 암호 폰트 생성기(514, 도 9의 114)는 치환 정보세트에 대응하여 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화한다. In addition, the cipher font generator 514 (114 in FIG. 9) converts and encrypts the character code character-design mapping information (cmap) and transformation and ligature information (GSUB) or design information (glyf) of the font in response to the substitution information set do.
각 구성 요소들이 모두 하나의 암호화 장치(110)에 포함될 수 있다. 이 경우, 암호화 장치(110)는 다른 장치와의 상호작용을 하지 않고도 암호화를 수행할 수 있다. Each component may be included in one
또는 각 구성 요소들이 다수의 장치에 분산될 수 있다. 예를 들어, 제어기(501), 변환 코드 생성기(511), 치환 규칙 생성기(512)는 제1암호화 장치에 포함되고, 또한 암호 폰트 생성기(514), 텍스트 변환기(513), 치환규칙 저장소(512s), 암호화 폰트 저장소(514s)는 제2암호화 장치에 포함될 수 있다. 이 경우, 암호화 시스템은 제1암호화 장치 및 제2암호화 장치를 포함한다. Alternatively, each component may be distributed across multiple devices. For example, the
도 19 및 도 20은 본 발명의 다른 실시예에 의한 암호화 시스템의 구성을 보여준다. 만약, 도 18의 과정에서 생성된 치환 규칙과 암호화 폰트가 이미 암호화 시스템(500a) 내에 있을 경우, 도 19의 암호화 시스템(500a)은 변환 코드 생성기(511) 및 치환 규칙 생성기(512), 암호 폰트 생성기(514) 없이도 암호화 텍스트를 생성할 수 있다. 19 and 20 show the configuration of an encryption system according to another embodiment of the present invention. If the substitution rule and the encryption font generated in the process of FIG. 18 are already in the
따라서, 도 19 및 도 20에서 점선으로 구성된 구성요소는 암호화 시스템(500a)에서 제외될 수 있다. 대신 변환 코드가 미리 암호화 시스템(500a)내에 확보된 상태이다. Accordingly, components configured with dotted lines in FIGS. 19 and 20 may be excluded from the
그 결과 제어기(501)가 입력받은 텍스트, 그리고 암호화 시스템(500a)에 저장된 변환 코드와 치환 규칙 저장서(512s)의 치환 규칙을 이용하면 텍스트 변환기(513)가 원문 텍스트를 암호화할 수 있다. 그 결과 변환된 암호화 텍스트가 산출된다.As a result, the
도 19 및 도 20에서 암호화 폰트는 이미 암호화 시스템(500a)에 저장된 상태이다. 따라서, 별도의 치환 규칙 생성과 암호 폰트 생성 과정 없이 암호화 시스템(500a)은 빠른 시간 내에 암호화 텍스트와 암호화 폰트를 생성한다. 19 and 20, the encrypted font is already stored in the
도 19 및 도 20은 폰트와 원문 텍스트를 입력받는 제어기(501)와 텍스트를 암호화하는데 필요한 변환 코드 및 치환 규칙 저장소에 저장된 치환 정보 세트를 이용하여 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 텍스트 변환기(513), 그리고 치환 정보세트에 대응하여 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화한 암호 폰트가 저장된 암호화 폰트 저장소(514s)를 포함한다. 19 and 20 show the encrypted text by converting one or more character codes of the original text using the
치환 규칙 저장소(512s)에 저장되는 치환 정보 세트는 앞서 도 8에서 살펴본 바와 같다. The substitution information set stored in the
예를 들어, 치환 정보 세트는 52가 지시하는 바와 같이, 원문 텍스트를 구성하는 제1문자(원본 문자)에 대응하여 치환되는 제2문자(치환 문자) 또는 제3문자(치환 문자) 중 어느 하나의 문자를 지시하는 정보를 포함할 수 있다. 이때, 치환 조건 역시 치환 정보 세트에 포함된다. For example, as indicated by 52, the substitution information set includes either a second character (substitution character) or a third character (substitution character) substituted corresponding to the first character (original character) constituting the original text. It may include information indicating the character of In this case, the substitution condition is also included in the substitution information set.
예를 들어, 치환 정보 세트는 53이 지시하는 바와 같이, 원문 텍스트를 구성하는 제1문자(원본 문자)에 대응하여 치환되는 제1문자열(치환 문자열)을 구성하는 둘 이상의 문자를 지시하는 정보를 포함할 수 있다. For example, as indicated by 53, the substitution information set includes information indicating two or more characters constituting a first character string (substitution character string) substituted in correspondence with the first character (original character) constituting the original text. may include
예를 들어, 치환 정보 세트는 54가 지시하는 바와 같이, 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열(원본 문자열)에 대응하여 치환되는 제4문자(치환 문자)를 지시하는 정보를 포함할 수 있다.For example, as indicated by 54, the substitution information set indicates a fourth character (substitution character) to be substituted corresponding to a first character string (original character string) composed of two or more consecutive characters constituting the original text. may contain information.
예를 들어, 치환 정보 세트는 55가 지시하는 바와 같이, 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열(원본 문자열)에 대응하여 치환되며 제1문자열과 상이한 제2문자열(치환 문자열)을 지시하는 정보를 포함할 수 있다. 이때, 문자열의 중간 치환 조건 역시 치환 정보 세트에 포함된다.For example, as indicated by 55, the replacement information set is replaced with a first string (original string) composed of two or more consecutive characters constituting the original text, and a second string (replacement) different from the first string string) may be included. In this case, the intermediate substitution condition of the character string is also included in the substitution information set.
암호화 방법에 대해 정리하면 다음과 같다. The encryption method is summarized as follows.
도 2 내지 도 4 및 도 11의 실시예는 원문 텍스트를 구성하는 제1문자에 대해 제2문자 또는 제3문자 중 어느 하나를 선택하여 암호화하는 암호화 방법이다. 이에 따라, 치환 규칙 생성기(112, 512)는 제1문자에 대응하여 치환되는 제2문자 또는 제3문자 중 어느 하나의 문자를 지시하는 정보를 생성한다. 이는 치환 규칙 생성기(112, 512)가 치환 정보세트를 생성하는 일 실시예이다. 2 to 4 and 11 is an encryption method for selecting and encrypting either the second character or the third character with respect to the first character constituting the original text. Accordingly, the substitution rule generators 112 and 512 generate information indicating any one of the second character or the third character to be substituted in response to the first character. This is an embodiment in which the permutation rule generators 112 and 512 generate permutation information sets.
그리고 텍스트 변환기(113, 513)는 원문 텍스트의 둘 이상의 제1문자들을 각각 제2문자 또는 제3문자 중 어느 하나를 선택하여 변환한다. 이때, 제1문자는 랜덤하게, 또는 위치나 전후 문자에 따라, 또는 순서에 따라 제2문자로 변환되거나 또는 제3문자로 변환될 수 있다. 이는 텍스트 변환기(113, 513)가 암호화 텍스트를 생성하는 일 실시예이다.In addition, the
도 5 및 도 12의 실시예는 원문 텍스트를 구성하는 제1문자에 대해 둘 이상의 문자들로 구성된 제1문자열을 선택하여 암호화하는 암호화 방법이다. 이에 따라, 치환 규칙 생성기(112, 512)는 제1문자에 대응하여 치환되는 상기 제1문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 생성한다. 이는 치환 규칙 생성기(112, 512)가 치환 정보세트를 생성하는 일 실시예이다.5 and 12 is an encryption method for selecting and encrypting a first string composed of two or more characters with respect to the first character constituting the original text. Accordingly, the substitution rule generators 112 and 512 generate information indicating two or more characters constituting the first character string to be substituted in response to the first character. This is an embodiment in which the permutation rule generators 112 and 512 generate permutation information sets.
그리고 텍스트 변환기(113, 513)는 원문 텍스트의 제1문자를 상기 제1문자열로 변환한다. 이는 텍스트 변환기(113, 513)가 암호화 텍스트를 생성하는 일 실시예이다. And the
도 6 및 도 13의 실시예는 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 제1문자를 선택하여 암호화하는 암호화 방법이다. 이에 따라, 치환 규칙 생성기(112, 512)는 제1문자열에 대응하여 치환되는 상기 제1문자를 구성하는 하나의 문자를 지시하는 정보를 생성한다. 이는 치환 규칙 생성기(112, 512)가 치환 정보세트를 생성하는 일 실시예이다.6 and 13 are encryption methods for selecting and encrypting a first character with respect to a first string composed of two or more consecutive characters constituting the original text. Accordingly, the substitution rule generators 112 and 512 generate information indicating one character constituting the first character to be substituted in response to the first string. This is an embodiment in which the permutation rule generators 112 and 512 generate permutation information sets.
그리고 텍스트 변환기(113, 513)는 원문 텍스트의 제1문자열을 상기 제1문자로 변환한다. 이는 텍스트 변환기(113, 513)가 암호화 텍스트를 생성하는 일 실시예이다.The
도 7 및 도 14의 실시예는 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 상기 제1문자열과 적어도 하나 이상의 문자를 달리하는 제2문자열을 선택하여 암호화하는 암호화 방법이다. 이에 따라, 치환 규칙 생성기(112, 512)는 제1문자열에 대응하여 치환되는 상기 제2문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 생성한다. 이는 치환 규칙 생성기(112, 512)가 치환 정보세트를 생성하는 일 실시예이다.7 and 14 is an encryption method for selecting and encrypting a second string that is different from the first string and at least one character with respect to a first string consisting of two or more consecutive characters constituting the original text. . Accordingly, the substitution rule generators 112 and 512 generate information indicating two or more characters constituting the second string to be substituted in response to the first string. This is an embodiment in which the permutation rule generators 112 and 512 generate permutation information sets.
그리고 텍스트 변환기(113, 513)는 원문 텍스트의 제1문자열을 상기 제2문자열로 변환한다. 이는 텍스트 변환기(113, 513)가 암호화 텍스트를 생성하는 일 실시예이다.The
특히, 앞서 살펴본 다양한 암호화 방식을 적용하면 문자코드간의 교환 규칙을 다양화하여 유추하기 어려운 더 높은 수준의 암호화가 가능하다. 또한, 문자코드뿐만 아니라 문자열간의 암호화가 가능하므로 암호화된 텍스트에서 원문을 복원하는 것이 어려워진다. 그리고, 문자간 다중 치환, 문자와 문자열간의 치환, 문자열과 문자간의 치환, 문자열간의 치환 방식의 새로운 4가지 방식의 문자 코드와 문자열 암호화 방법 및 이들의 혼용 사용은 암호화의 복잡도를 향상시킨다. In particular, if the various encryption methods discussed above are applied, a higher level of encryption that is difficult to infer is possible by diversifying the exchange rules between character codes. In addition, since encryption between character codes as well as character codes is possible, it becomes difficult to restore the original text from the encrypted text. In addition, four new types of character codes and character string encryption methods of multiple substitution between characters, substitution between characters and character strings, substitution between character strings and characters, and substitution between character strings, and their mixed use, improve the complexity of encryption.
대신, 암호화된 텍스트를 별도의 복호화 과정 없이, 암호화된 폰트를 적용하여 원문의 텍스트를 재현할 수 있으므로, 강력하고 빠른 암호화 및 내용의 확인이 가능하다. Instead, since the original text can be reproduced by applying the encrypted font without a separate decryption process for the encrypted text, strong and fast encryption and confirmation of the contents are possible.
특히, 컴퓨팅 기술, 인공지능 기술, 빅데이터 기술이 발전하면서 인터넷 웹사이트에서 필요한 정보들을 자동화 수집 시스템(Bot 시스템)을 이용하여 손쉽게 획득할 수 있게 되었다. 인터넷에서 대량으로 획득한 문서들은 다양한 구문 해석 프로그램들을 이용하여 재분류하고 저장하여, 다양한 곳에서 사용되고 있다. In particular, with the development of computing technology, artificial intelligence technology, and big data technology, it has become possible to easily acquire necessary information from an Internet website using an automated collection system (Bot system). Documents obtained in large quantities from the Internet are reclassified and stored using various syntax analysis programs, and are used in various places.
그런데, 이런 자동화 수집 시스템에서 수집되는 정보들 중 상당 수는 저작권 보호가 필요하지만, 대량의 수집된 정보에서 저작권에 대한 판별이 어렵고, 재분류되고 저장된 정보에서 그 출처를 파악하는 것은 더욱 어렵다.However, many of the information collected in such an automated collection system require copyright protection, but it is difficult to identify the copyright in a large amount of collected information, and it is more difficult to identify the source in the reclassified and stored information.
블로그와 온라인 게시판, SNS 등에 작성한 글 역시 불특정 다수의 사람들에 의해 재공유되고 개인간 문자 메시지 서비스들을 통하여 전달되면서 그 출처를 파악하는 것이 어려운 실정이다. 이러한 저작권 보호이슈는 개인 뿐만 아니라 인터넷 뉴스 콘텐츠 서비스를 하는 각 언론사에게도 동일하게 발생하고 있다. Articles written on blogs, online bulletin boards, and SNS are also reshared by unspecified people and delivered through interpersonal text message services, making it difficult to identify the source. This copyright protection issue is equally occurring not only for individuals but also for each media company that provides Internet news content services.
특히, 뉴스 콘텐츠의 원출처가 기록되고 전달되고 보호되어야, 뉴스 콘텐츠 소비자가 언론사의 원출처 서비스에 접속하여 콘텐츠를 소비할 수 있게 되고 해당 언론사에게는 콘텐츠 생산에 대한 정당한 보상이 돌아갈 수 있다.In particular, only when the original source of news content is recorded, delivered, and protected, news content consumers can access the original source service of the media company and consume the content, and the media company can be compensated fairly for content production.
또한, IoT 기술이 발전하면서 개인의 집과 사무실 내의 다양한 장치들이 인터넷에 연결되고 있다. 이 장치들은 중요한 개인정보들을 담고 있거나 그 정보에 접근할 수 있기 때문에, 매우 강력한 보호 수단이 필요한다. In addition, as IoT technology develops, various devices in an individual's home and office are being connected to the Internet. Because these devices contain or have access to sensitive personal information, they require very strong safeguards.
그러나 IoT 장치 중 일부가 간단한 비밀번호만으로도 접근할 수 있는 등의 문제를 가지고 있다. 특히, 사용 후 버려진 IoT 장치들 내부에 저장된 정보들이 암호화되지 않았거나 IoT 장치를 제어하는 프로그램을 이용하여 손쉽게 정보를 취득할 수 있는 등의 문제가 발생하고 있다.However, some IoT devices have problems such as being able to access them with a simple password. In particular, problems such as information stored in IoT devices that are discarded after use are not encrypted or that information can be easily obtained using a program controlling the IoT device are occurring.
이처럼, 정보기술이 발전하면서 원저작자의 의도와는 달리 저작자의 텍스트 문서가 유통되거나 개인 정보와 같이 반드시 보호되어야 하는 정보들이 무분별하게 노출되는 것을 막는 방법이 더욱 필요해지고 있다.As such, as information technology develops, there is a growing need for a method of preventing the text documents of the author from being distributed or indiscriminately exposing information that must be protected, such as personal information, contrary to the intention of the original author.
텍스트 기반의 정보들은 복제와 저장이 용이하므로 더욱더 보호가 필요하지만, 암호화 방법이 복잡하거나 까다로운 경우가 많다. 그리고 기존의 암호화 기법들은 복호화 과정을 거쳐야만 원문의 텍스트 내용을 확인할 수가 있다. 이렇게 복호화되어 복원된 텍스트는 다시 노출의 위험을 갖는 한계를 가지고 있다.Text-based information needs more protection because it is easy to copy and store, but the encryption method is often complicated or difficult. In addition, existing encryption techniques can only verify the text content of the original text only through a decryption process. The decrypted and reconstructed text has a limitation in having a risk of re-exposure.
본 발명의 실시예를 적용할 경우, 복원은 암호화된 원문을 재현하는 것으로 실제 암호화된 텍스트는 복호화되지 않는다. 즉 사용자는 텍스트를 재현된 형태로 보지만, 이를 복사 등의 방식으로 재사용할 수는 없다. 따라서, 텍스트의 암호화 및 재현은 텍스트의 저작권을 보호하는 효과를 발생한다. When the embodiment of the present invention is applied, the restoration reproduces the encrypted original text, and the actual encrypted text is not decrypted. That is, the user sees the text in a reproduced form, but cannot reuse it by copying or the like. Accordingly, the encryption and reproduction of the text has the effect of protecting the copyright of the text.
특히, 오픈된 환경에서 문제가 되는 웹문서의 복사, 스크랩, 자동 문서 수집봇 (웹 크롤링) 등에 의한 수집에 대해서도 본 발명의 실시예들을 적용한다면 웹문서가 암호화된 상태를 유지하면서도 재현이 가능하기 때문에 문서 보호 효과가 크다. In particular, if the embodiments of the present invention are applied to the copying, scrapping, and automatic document collection bot (web crawling) of the problematic web document in an open environment, it can be reproduced while maintaining the encrypted state. Therefore, the document protection effect is great.
지금까지 살펴본 실시예들을 적용할 경우, 암호화 수준을 높이고, 또한 웹사이트의 텍스트, IoT 등 장치들에 저장된 정보의 암호화를 가능하게 한다. When the embodiments described so far are applied, the encryption level is increased, and the text of a website and information stored in devices such as IoT can be encrypted.
즉, 종래의 문서 보안은 파일 자체의 암호화 또는 텍스트의 문자 별 1:1 단일 대체로 인해 암호화의 한계가 있었다. 파일 자체의 암호화는 복호화 한 후에 컨텐츠의 유통을 제어할 수 없으며 문자별 1:1 단일 대체는 암호화 수준이 낮아 쉽게 복호화되는 문제가 있어왔다. That is, the conventional document security has a limitation in encryption due to the encryption of the file itself or the 1:1 single substitution for each character of the text. The encryption of the file itself cannot control the distribution of contents after decryption, and there has been a problem that a single 1:1 replacement for each character has a low level of encryption, so it can be easily decrypted.
본 명세서에서 설명한 복합적 암호화 방법을 적용할 경우, 특히, 암호화된 폰트(보안 폰트)와 암호화된 텍스트(보안 텍스트)는 셋트로 구비될 경우에만 컨텐츠의 재현이 가능하므로 컨텐츠의 보호 효과를 높일 수 있다. When the complex encryption method described in this specification is applied, in particular, since the content can be reproduced only when an encrypted font (security font) and encrypted text (security text) are provided as a set, the protection effect of the content can be increased. .
발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다. Even if all components constituting the embodiment of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to this embodiment, and all components may be used as one or more within the scope of the present invention. They may be selectively combined to operate. In addition, all of the components may be implemented as one independent hardware, but some or all of the components are selectively combined to perform some or all functions of the combined components in one or a plurality of hardware program modules It may be implemented as a computer program having Codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention. Such a computer program is stored in a computer readable storage medium (Computer Readable Media), read and executed by the computer, thereby implementing the embodiment of the present invention. The storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording device. In addition, the computer program implementing the embodiment of the present invention includes a program module that is transmitted in real time through an external device.
전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변환 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is to be understood that the foregoing embodiments are illustrative in all respects and not restrictive, and the scope of the present invention will be indicated by the appended claims rather than the foregoing detailed description. And it should be construed as being included in the scope of the present invention, as well as the meaning and scope of the claims, as well as all transformations and deformable forms derived from the equivalent concept.
110, 510, 510a: 암호화 장치
120: 복원 장치
300: 서버110, 510, 510a: encryption device 120: recovery device
300: server
Claims (17)
상기 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성하는 치환 규칙 생성기;
상기 치환 규칙에 따라 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 텍스트 변환기; 및
상기 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화하는 암호 폰트 생성기를 포함하는 암호화 장치.
A conversion code corresponding to a character code or a character string code to be replaced according to the encryption method indicated by the identification information by receiving the font, the original text, and identification information indicating the encryption method for encrypting the text, and replacing one or more characters of the original text according to the encryption method indicated by the identification information Transform code generator to generate;
a substitution rule generator for generating a substitution information set including a substitution rule corresponding to the conversion code;
a text converter for generating encrypted text by converting one or more character codes of the original text according to the substitution rule; and
An encryption device comprising an encryption font generator for converting and encrypting character code character-pattern mapping information (cmap) and transformation and ligature information (GSUB) or design information (glyf) of the font in response to the replacement information set.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 제1문자에 대해 제2문자 또는 제3문자 중 어느 하나를 선택하여 암호화하는 암호화 방법이며,
상기 치환 규칙 생성기는 상기 제1문자에 대응하여 치환되는 제2문자 또는 제3문자 중 어느 하나의 문자를 지시하는 정보를 생성하며,
상기 텍스트 변환기는 상기 원문 텍스트의 둘 이상의 제1문자들을 각각 상기 제2문자 또는 상기 제3문자 중 어느 하나를 선택하여 변환하는, 암호화 장치.
According to claim 1,
The encryption method is an encryption method of selecting and encrypting either a second character or a third character with respect to the first character constituting the original text,
The substitution rule generator generates information indicating any one of a second character or a third character to be substituted in response to the first character,
The text converter converts the two or more first characters of the original text by selecting one of the second character and the third character, respectively.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 제1문자에 대해 둘 이상의 문자들로 구성된 제1문자열을 선택하여 암호화하는 암호화 방법이며,
상기 치환 규칙 생성기는 상기 제1문자에 대응하여 치환되는 상기 제1문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 생성하며,
상기 텍스트 변환기는 상기 원문 텍스트의 둘 이상의 제1문자들을 상기 제1문자열로 변환하는, 암호화 장치.
According to claim 1,
The encryption method is an encryption method for selecting and encrypting a first string composed of two or more characters with respect to the first character constituting the original text,
The substitution rule generator generates information indicating two or more characters constituting the first string to be substituted in response to the first character,
The text converter converts two or more first characters of the original text into the first string.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 제1문자를 선택하여 암호화하는 암호화 방법이며,
상기 치환 규칙 생성기는 상기 제1문자열에 대응하여 치환되는 상기 제1문자를 구성하는 하나의 문자를 지시하는 정보를 생성하며,
상기 텍스트 변환기는 상기 원문 텍스트의 제1문자열을 상기 제1문자로 변환하는, 암호화 장치.
According to claim 1,
The encryption method is an encryption method for selecting and encrypting a first character with respect to a first string consisting of two or more consecutive characters constituting the original text,
The substitution rule generator generates information indicating one character constituting the first character to be substituted in response to the first string,
The text converter converts the first character string of the original text into the first character.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 상기 제1문자열과 적어도 하나 이상의 문자를 달리하는 제2문자열을 선택하여 암호화하는 암호화 방법이며,
상기 치환 규칙 생성기는 상기 제1문자열에 대응하여 치환되는 상기 제2문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 생성하며,
상기 텍스트 변환기는 상기 원문 텍스트의 제1문자열을 상기 제2문자열로 변환하는, 암호화 장치.
According to claim 1,
The encryption method is an encryption method of selecting and encrypting a second string that is different from the first string by at least one character with respect to a first string consisting of two or more consecutive characters constituting the original text,
The substitution rule generator generates information indicating two or more characters constituting the second string to be substituted in response to the first string,
The text converter converts the first string of the original text into the second string.
상기 변환 코드는 상기 제어기가 입력받거나 또는 상기 변환 코드 생성기가 랜덤하게 생성하는, 암호화 장치.
According to claim 1,
The conversion code is input by the controller or is randomly generated by the conversion code generator.
상기 치환 정보세트를 저장하는 치환 규칙 저장소; 및
상기 암호 폰트를 저장하는 암호 폰트 저장소를 더 포함하는, 암호화 장치.
According to claim 1,
a substitution rule storage for storing the substitution information set; and
An encryption device, further comprising a cryptographic font storage for storing the cryptographic font.
상기 암호화 장치의 치환 규칙 생성기가 상기 변환 코드에 대응하는 치환 규칙을 포함하는 치환 정보세트를 생성하는 단계;
상기 암호화 장치의 텍스트 변환기가 상기 치환 규칙에 따라 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 단계; 및
상기 암호화 장치의 암호 폰트 생성기가 상기 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화하는 단계를 포함하는, 텍스트를 암호화하는 방법.
The conversion code generator of the encryption device receives the font, the original text, and identification information indicating the encryption method for encrypting the text, and replaces one or more characters of the original text according to the encryption method indicated by the identification information; or generating a conversion code corresponding to the string code;
generating, by the substitution rule generator of the encryption device, a substitution information set including a substitution rule corresponding to the conversion code;
generating, by the text converter of the encryption device, an encrypted text by converting one or more character codes of the original text according to the substitution rule; and
Encrypting the encryption font generator of the encryption device by converting the character code character-design mapping information (cmap) and transformation and ligature information (GSUB) or design information (glyf) of the font in response to the replacement information set How to encrypt text.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 제1문자에 대해 제2문자 또는 제3문자 중 어느 하나를 선택하여 암호화하는 암호화 방법이며,
상기 치환 정보세트를 생성하는 단계는
상기 치환 규칙 생성기가 상기 제1문자에 대응하여 치환되는 제2문자 또는 제3문자 중 어느 하나의 문자를 지시하는 정보를 생성하는 단계를 포함하며,
상기 암호화 텍스트를 생성하는 단계는
상기 텍스트 변환기가 상기 원문 텍스트의 둘 이상의 제1문자들을 각각 상기 제2문자 또는 상기 제3문자 중 어느 하나를 선택하여 변환하는 단계를 포함하는, 텍스트를 암호화하는 방법.
9. The method of claim 8,
The encryption method is an encryption method of selecting and encrypting either a second character or a third character with respect to the first character constituting the original text,
The step of generating the replacement information set is
and generating, by the substitution rule generator, information indicating any one of a second character or a third character to be substituted in response to the first character,
The step of generating the encrypted text is
and converting the two or more first characters of the original text by the text converter by selecting one of the second character and the third character, respectively.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 제1문자에 대해 둘 이상의 문자들로 구성된 제1문자열을 선택하여 암호화하는 암호화 방법이며,
상기 치환 정보세트를 생성하는 단계는
상기 치환 규칙 생성기가 상기 제1문자에 대응하여 치환되는 상기 제1문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 생성하는 단계를 포함하며,
상기 암호화 텍스트를 생성하는 단계는
상기 텍스트 변환기가 상기 원문 텍스트의 제1문자를 상기 제1문자열로 변환하는 단계를 포함하는, 텍스트를 암호화하는 방법.
9. The method of claim 8,
The encryption method is an encryption method for selecting and encrypting a first string composed of two or more characters with respect to the first character constituting the original text,
The step of generating the replacement information set is
generating, by the substitution rule generator, information indicating two or more characters constituting the first string to be substituted corresponding to the first character,
The step of generating the encrypted text is
and converting, by the text converter, a first character of the original text into the first string.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 제1문자를 선택하여 암호화하는 암호화 방법이며,
상기 치환 정보세트를 생성하는 단계는
상기 치환 규칙 생성기가 상기 제1문자열에 대응하여 치환되는 상기 제1문자를 구성하는 하나의 문자를 지시하는 정보를 생성하는 단계를 포함하며,
상기 텍스트 변환기가 상기 원문 텍스트의 제1문자열을 상기 제1문자로 변환하는 단계를 포함하는, 텍스트를 암호화하는 방법.
9. The method of claim 8,
The encryption method is an encryption method for selecting and encrypting a first character with respect to a first string consisting of two or more consecutive characters constituting the original text,
The step of generating the replacement information set is
generating, by the substitution rule generator, information indicating one character constituting the first character to be substituted in response to the first string,
and converting, by the text converter, a first string of the original text into the first character.
상기 암호화 방법은 상기 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대해 상기 제1문자열과 적어도 하나 이상의 문자를 달리하는 제2문자열을 선택하여 암호화하는 암호화 방법이며,
상기 치환 정보세트를 생성하는 단계는
상기 치환 규칙 생성기가 상기 제1문자열에 대응하여 치환되는 상기 제2문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 포함하며,
상기 텍스트 변환기가 상기 원문 텍스트의 제1문자열을 상기 제2문자열로 변환하는 단계를 포함하는, 텍스트를 암호화하는 방법.
9. The method of claim 8,
The encryption method is an encryption method of selecting and encrypting a second string that is different from the first string by at least one character with respect to a first string consisting of two or more consecutive characters constituting the original text,
The step of generating the replacement information set is
The substitution rule generator includes information indicating two or more characters constituting the second string to be substituted in response to the first string,
and converting, by the text converter, the first string of the original text into the second string.
상기 텍스트를 암호화하는데 필요한 변환 코드 및 치환 규칙 저장소에 저장된 치환 정보 세트를 이용하여 상기 원문 텍스트의 하나 이상의 문자 코드를 변환하여 암호화 텍스트를 생성하는 텍스트 변환기; 및
상기 치환 정보세트에 대응하여 상기 폰트의 문자 코드 문자-도안 매핑 정보(cmap)와 변형 및 합자 정보(GSUB) 또는 도안 정보(glyf)를 변환하여 암호화한 암호 폰트가 저장된 암호화 폰트 저장소를 포함하는 암호화 장치.
a controller that receives fonts and original text;
a text converter that converts one or more character codes of the original text using a conversion code necessary for encrypting the text and a replacement information set stored in a replacement rule storage to generate an encrypted text; and
Encryption including an encrypted font storage in which an encrypted font is stored by converting the character code character-design mapping information (cmap) of the font and transformation and ligature information (GSUB) or design information (glyf) in response to the replacement information set Device.
상기 치환 정보세트는
상기 원문 텍스트를 구성하는 제1문자에 대응하여 치환되는 제2문자 또는 제3문자 중 어느 하나의 문자를 지시하는 정보를 포함하거나, 또는
상기 제1문자에 대응하여 치환되는 제1문자열을 구성하는 둘 이상의 문자를 지시하는 정보를 포함하거나, 또는
상기 원문 텍스트를 구성하는 연속하는 둘 이상의 문자들로 구성된 제1문자열에 대응하여 치환되는 제4문자를 지시하는 정보를 포함하거나, 또는
상기 제1문자열에 대응하여 치환되며 상기 제1문자열과 상이한 제2문자열을 지시하는 정보를 포함하는, 암호화 장치.
14. The method of claim 13,
The substitution information set is
information indicating any one of a second character or a third character substituted for the first character constituting the original text; or
contains information indicating two or more characters constituting a first string substituted in correspondence with the first character, or
contains information indicating a fourth character to be substituted corresponding to a first string composed of two or more consecutive characters constituting the original text; or
and information indicating a second string that is substituted for the first string and is different from the first string.
상기 암호화 폰트를 상기 암호화 텍스트에 적용하여 상기 암호화 폰트가 적용되기 전의 상기 암호화 텍스트의 제1문자와 상이하게 표시되는 제2문자를 포함하는 텍스트를 표시하는 단계를 포함하는, 암호화 텍스트를 복원하는 방법.
obtaining, by the restoration apparatus, an encrypted text and an encrypted font corresponding to the encrypted text; and
Displaying text including a second character displayed differently from the first character of the encrypted text before the encrypted font is applied by applying the encrypted font to the encrypted text; .
상기 복원 장치는 상기 암호화 텍스트의 제1문자에 대응하는 오픈타입 피쳐 기능을 변형 및 합자 정보(GSUB)에서 검색하는 단계를 더 포함하며,
상기 기능이 검색된 경우, 상기 제1문자로 변환되었던 제2문자 또는 상기 제1문자로 변환되었던 제2문자열의 문자 코드에 대한 문자 도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시하는 단계; 또는
상기 기능이 검색되지 않은 경우, 상기 제1문자의 문자 코드에 대응하는 문자 도안을 상기 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시하는 단계 중 어느 하나를 포함하는, 암호화 텍스트를 복원하는 방법.
16. The method of claim 15,
The restoration apparatus further comprises the step of retrieving an open type feature function corresponding to the first character of the encrypted text in transformation and ligature information (GSUB),
When the function is found, the character code for the character code of the second character that was converted to the first character or the character code of the second string that was converted to the first character is retrieved from the character code character-design mapping information (cmap) and displayed step; or
If the function is not found, the character code character-pattern mapping information (cmap) for a character design corresponding to the character code of the first character, including any one of the steps of searching and displaying Way.
상기 복원 장치는 상기 암호화 텍스트의 제1문자열을 구성하는 문자코드에 대응하는 오픈타입 피쳐 기능을 변형 및 합자 정보(GSUB)에서 검색하는 단계; 및
상기 기능이 검색된 경우, 상기 제1문자열로 변환되었던 제2문자 또는 상기 제1문자열로 변환되었던 제2문자열의 문자 코드에 대응하는 문자도안을 문자 코드 문자-도안 매핑 정보(cmap)에서 검색하여 표시하는 단계를 더 포함하는, 암호화 텍스트를 복원하는 방법.
16. The method of claim 15,
retrieving, by the restoration apparatus, an open type feature function corresponding to a character code constituting the first string of the encrypted text in transformation and ligature information (GSUB); and
When the function is found, a character design corresponding to the character code of the second character converted to the first string or the character code of the second string converted to the first string is searched and displayed in the character code character-pattern mapping information (cmap) A method of recovering cipher text, further comprising the step of:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200052507A KR102401229B1 (en) | 2020-04-29 | 2020-04-29 | Method of securing text and device implementing thereof |
PCT/KR2021/004140 WO2021221331A1 (en) | 2020-04-29 | 2021-04-02 | Method for encoding text, and device for implementing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200052507A KR102401229B1 (en) | 2020-04-29 | 2020-04-29 | Method of securing text and device implementing thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210134135A true KR20210134135A (en) | 2021-11-09 |
KR102401229B1 KR102401229B1 (en) | 2022-05-25 |
Family
ID=78373632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200052507A KR102401229B1 (en) | 2020-04-29 | 2020-04-29 | Method of securing text and device implementing thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102401229B1 (en) |
WO (1) | WO2021221331A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244518B (en) * | 2021-11-16 | 2023-10-03 | 广东电网有限责任公司 | Digital signature confusion encryption method, device, computer equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080105721A (en) * | 2007-06-01 | 2008-12-04 | 허영순 | Text security method |
KR101321800B1 (en) * | 2011-09-02 | 2013-11-21 | 김상현 | Data protecting method and apparatus by replacing representative value |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150044430A (en) * | 2012-06-29 | 2015-04-24 | 가부시키가이샤 에스·케이·케이 | Document processing system, electronic document, document processing method, and program |
KR101785369B1 (en) * | 2016-02-04 | 2017-10-13 | (주)폰트릭스 | Method of creating and displaying prgrammed fonts and device implementing thereof |
KR101977128B1 (en) * | 2017-02-27 | 2019-05-10 | 주식회사 한컴시큐어 | Fixed length encryption apparatus and method for long text strings |
-
2020
- 2020-04-29 KR KR1020200052507A patent/KR102401229B1/en active IP Right Grant
-
2021
- 2021-04-02 WO PCT/KR2021/004140 patent/WO2021221331A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080105721A (en) * | 2007-06-01 | 2008-12-04 | 허영순 | Text security method |
KR101321800B1 (en) * | 2011-09-02 | 2013-11-21 | 김상현 | Data protecting method and apparatus by replacing representative value |
Also Published As
Publication number | Publication date |
---|---|
WO2021221331A1 (en) | 2021-11-04 |
KR102401229B1 (en) | 2022-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100547590C (en) | DPS (Document Processing System) | |
CN108090329B (en) | Method and device for carrying out digital watermark encryption protection on text content | |
CN1126014C (en) | Method and device for viewing electronic reading materials | |
JP4999751B2 (en) | Data sharing techniques | |
US20080301431A1 (en) | Text security method | |
US8666065B2 (en) | Real-time data encryption | |
CN1979478B (en) | File processing system and file processing method | |
CN112597480B (en) | Implementation mode of extensible format reservation encryption method | |
CN1979511B (en) | File data safety management system and method | |
CN103119594A (en) | Searchable encryption processing system | |
US20150016605A1 (en) | Unique surrogate key generation using cryptographic hashing | |
EP1965327A1 (en) | A document data security management method and system | |
CN103543980A (en) | Digital data processing method and device | |
KR100352782B1 (en) | Software encoding method, software encoding system and software decoding system | |
CN113434852A (en) | Password processing method, password verification device, medium and electronic equipment | |
KR102401229B1 (en) | Method of securing text and device implementing thereof | |
CN100507913C (en) | File processing method and system | |
US8473516B2 (en) | Computer storage apparatus for multi-tiered data security | |
CN110008663B (en) | Method for quickly embedding and extracting information for PDF document protection and distribution tracking | |
CN1979479B (en) | File processing system and file processing method | |
Al-Jarrah et al. | Word-based encryption algorithm using dictionary indexing with variable encryption key length | |
CN113360859B (en) | Python interpreter-based encrypted file security control method and device | |
US20220156449A1 (en) | System and method for providing steganographic text encoding | |
CN117910022B (en) | Data searching method, device, computer equipment, storage medium and product | |
JP2018061170A (en) | Coding program, coding method, encoder, decoding program, decoding method and decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |