KR101282653B1 - Data substitution encryption device and method - Google Patents

Data substitution encryption device and method Download PDF

Info

Publication number
KR101282653B1
KR101282653B1 KR1020130022993A KR20130022993A KR101282653B1 KR 101282653 B1 KR101282653 B1 KR 101282653B1 KR 1020130022993 A KR1020130022993 A KR 1020130022993A KR 20130022993 A KR20130022993 A KR 20130022993A KR 101282653 B1 KR101282653 B1 KR 101282653B1
Authority
KR
South Korea
Prior art keywords
data
substitution
characters
plain text
unit
Prior art date
Application number
KR1020130022993A
Other languages
Korean (ko)
Inventor
홍동윤
Original Assignee
소프트포럼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소프트포럼 주식회사 filed Critical 소프트포럼 주식회사
Priority to KR1020130022993A priority Critical patent/KR101282653B1/en
Application granted granted Critical
Publication of KR101282653B1 publication Critical patent/KR101282653B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A data substitution encoding device and a method thereof are provided to convert plain text data into substitution data which reduces a size based on a predetermined substitution table when the plain text data which needs improved security is encoded and encode the substitution data, thereby strengthening security of data encoding. CONSTITUTION: A substitution table management unit (111) stores a substitution table that characters correspond to selected data codes which express the characters as selected bit strings. When plain text data is inputted, a selection unit (112) selects a data code corresponding to a character based on the substitution table. A data conversion unit (113) substitutes the characters for the data code and converts the plain text data into substitution data. An encoding unit (114) encodes the substitution data by using a selected encoding key. [Reference numerals] (111) Substitution table management unit; (112) Selection unit; (113) Data conversion unit; (114) Encoding unit; (115) Ratio calculation unit; (116) Grouping unit; (117) Data encoding unit; (118) Output data generation unit; (119) Multiple determination unit; (120) Coefficient calculation unit; (121) Data correction unit

Description

데이터 치환 암호화 장치 및 방법{DATA SUBSTITUTION ENCRYPTION DEVICE AND METHOD}DATA SUBSTITUTION ENCRYPTION DEVICE AND METHOD}

본 발명의 실시예들은 개인 정보와 같이 보안이 필요한 평문 데이터에 대한 암호화와 연관된 기술들에 대한 것이다.Embodiments of the present invention are directed to techniques associated with encryption of plain text data that requires security, such as personal information.

최근, 인터넷이 널리 보급되면서, 전자상거래 사이트 등을 통해 쇼핑을 하거나, 인터넷 뱅킹과 같은 웹 기반의 금융 거래를 이용하는 사용자들이 증가하고 있다.Recently, with the widespread use of the Internet, more and more users are shopping through e-commerce sites or using web-based financial transactions such as Internet banking.

보통, 사용자들이 이러한 웹 기반의 서비스를 이용하기 위해서는 보안 상의 문제로 웹 사이트에 회원으로 등록할 필요가 있다.In general, users need to register as a member of a web site for security reasons in order to use such a web-based service.

또한, 최근에는 대부분의 웹 사이트에서 사용자들을 회원으로 가입하도록 유도하여 가입된 회원만이 웹 사이트에서 제공하는 정보나 기능을 모두 이용할 수 있도록 제한을 두는 경우가 많다.In addition, in recent years, most web sites encourage users to join as members, so that only the subscribed members can use all the information or functions provided by the web site.

보통, 일반적인 웹 사이트에서는 회원 가입 시에 사용자들의 주민등록번호와 같은 개인 정보를 수집하는 경우가 많다. 이렇게 수집된 개인 정보는 각 사이트 운영사의 개인 정보 데이터베이스에 저장되어 관리되곤 한다.In general, a general web site collects personal information such as social security numbers of users at the time of membership registration. The collected personal information is often stored and managed in the personal information database of each site operator.

이로 인해, 최근에는 키로깅(Keylogging), 스니핑(Sniffing), 피싱(Phishing) 등과 같은 점차 고도화되어 가고 있는 해킹 기술로 인해 개인 정보가 유출되어 경제적, 사회적 피해가 발생하는 경우가 증가하고 있다.As a result, recently, hacking technologies such as keylogging, sniffing, phishing, and the like are increasingly being used to increase personal information and cause economic and social damage.

이에 따라, 각 사이트의 운영사는 개인 정보 데이터베이스에 저장되어 있는 회원들의 개인 정보의 유출을 방지하기 위해, 다양한 암호화 기술을 이용하여 회원들의 개인 정보를 암호화하여 개인 정보 데이터베이스에 저장해 두는 경우가 많다.Accordingly, in order to prevent leakage of the personal information of members stored in the personal information database, the operator of each site often encrypts the personal information of the members by using various encryption techniques and stores the personal information in the personal information database.

보통, 데이터베이스 상에 데이터를 암호화하여 저장하기 위해서는 상기 데이터를 상기 데이터베이스의 저장 규격에 매칭되도록 인코딩(encoding)을 수행해야 할 필요가 있다.In general, in order to encrypt and store data on a database, it is necessary to encode the data so as to match the storage standard of the database.

예컨대, 상기 데이터베이스 상에 base64 인코딩이 수행된 데이터만이 저장될 수 있는 경우에는 base64 인코딩이 24비트(bit)의 크기를 갖는 입력 데이터를 지원한다는 점에서, 상기 데이터베이스에 저장되어야 할 데이터는 24비트의 크기를 갖는 데이터로 변경되어야 한다.For example, if only data that has been subjected to base64 encoding on the database can be stored, the data to be stored in the database is 24 bits in that base64 encoding supports input data having a size of 24 bits. It should be changed to data having a size of.

따라서, 개인 정보 유출에 따른 피해를 방지하면서, 다양한 보안 데이터가 데이터베이스 상에 효율적으로 저장될 수 있도록 하는 데이터 암호화 기법에 대한 연구가 필요하다.Therefore, there is a need for a study on a data encryption technique that can efficiently store various security data on a database while preventing damage caused by personal information leakage.

본 발명의 실시예들은 데이터베이스 등에 저장되어야 할 개인 정보 등과 같은 보안이 필요한 평문 데이터를 암호화할 때, 상기 평문 데이터를 소정의 치환 테이블을 이용하여 데이터의 크기를 감소시킨 치환 데이터로 변환한 후 상기 변환된 치환 데이터에 대해 암호화 및 인코딩(encoding)을 수행함으로써, 데이터 암호화에 있어 보안성을 더욱 강화할 수 있도록 한다.Embodiments of the present invention, when encrypting the plain text data that requires security, such as personal information to be stored in a database, etc., converts the plain text data into the replacement data reduced in the size of the data using a predetermined substitution table and then converting By performing encryption and encoding on the replaced data, it is possible to further enhance security in data encryption.

본 발명의 일실시예에 따른 데이터 치환 암호화 장치는 복수의 문자들과, 상기 복수의 문자들 각각을 선정된(predetermined) 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 저장하여 유지하는 치환 테이블 관리부, 상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택하는 선택부, 상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환하는 데이터 변환부 및 상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩(encoding)을 수행하는 인코딩부를 포함한다.In a data substitution encryption apparatus according to an embodiment of the present invention, a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters in a predetermined number of bit strings are recorded so as to correspond to each other. Substitution table management unit for storing and maintaining a table, when plain text data composed of at least one of the plurality of characters is input, referring to the substitution table, selecting at least one data code corresponding to each of the at least one character A selection unit to convert the data code for each of the at least one character into the selected at least one data code to convert the plain text data into replacement data comprising the selected at least one data code and the replacement data Encrypt using a selected encryption key and encrypt It includes a portion encoded for performing data encoding (encoding) for the replacement data.

또한, 본 발명의 일실시예에 따른 데이터 치환 암호화 방법은 복수의 문자들과, 상기 복수의 문자들 각각을 선정된 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 유지하는 단계, 상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택하는 단계, 상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환하는 단계 및 상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩을 수행하는 단계를 포함한다.In addition, the data substitution encryption method according to an embodiment of the present invention is a substitution table in which a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters represented by a predetermined number of bit strings are recorded so as to correspond to each other. Maintaining at least one of the plurality of characters, and selecting at least one data code corresponding to each of the at least one character by referring to the substitution table, when plain text data including at least one of the plurality of characters is input. Converting the data code for each character into the selected at least one data code, converting the plain text data into substitution data composed of the selected at least one data code, and converting the substitution data using a selected encryption key. Encrypt the data encoding for the encrypted replacement data. And a step of performing.

본 발명의 실시예들은 데이터베이스 등에 저장되어야 할 개인 정보 등과 같은 보안이 필요한 평문 데이터를 암호화할 때, 상기 평문 데이터를 소정의 치환 테이블을 이용하여 데이터의 크기를 감소시킨 치환 데이터로 변환한 후 상기 변환된 치환 데이터에 대해 암호화 및 인코딩(encoding)을 수행함으로써, 데이터 암호화에 있어 보안성을 더욱 강화할 수 있다.Embodiments of the present invention, when encrypting the plain text data that requires security, such as personal information to be stored in a database, etc., converts the plain text data into the replacement data reduced in the size of the data using a predetermined substitution table and then converting By performing encryption and encoding on the substituted data, security can be further enhanced in data encryption.

도 1은 본 발명의 일실시예에 따른 데이터 치환 암호화 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 데이터 치환 암호화 장치의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 데이터 치환 암호화 장치의 동작을 설명하기 위한 또 다른 도면이다.
도 4는 본 발명의 일실시예에 따른 데이터 치환 암호화 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a data substitution encryption apparatus according to an embodiment of the present invention.
2 is a view for explaining the operation of the data substitution encryption apparatus according to an embodiment of the present invention.
3 is another diagram for describing an operation of a data substitution encryption apparatus according to an embodiment of the present invention.
4 is a flowchart illustrating a data substitution encryption method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 데이터 치환 암호화 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of a data substitution encryption apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 치환 암호화 장치(110)는 치환 테이블 관리부(111), 선택부(112), 데이터 변환부(113) 및 인코딩부(114)를 포함한다.Referring to FIG. 1, the data substitution encryption apparatus 110 according to an embodiment of the present invention includes a substitution table manager 111, a selector 112, a data converter 113, and an encoder 114. .

치환 테이블 관리부(111)는 복수의 문자들과, 상기 복수의 문자들 각각을 선정된(predetermined) 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 저장하여 유지한다.The substitution table management unit 111 stores and maintains a substitution table in which a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters in a predetermined number of bit strings correspond to each other. .

이때, 상기 선정된 개수는 상기 적어도 하나의 문자 각각에 대한 데이터 코드에 포함된 비트열의 개수보다 작은 값이되, 상기 복수의 문자들의 개수에 기초하여 상기 복수의 문자들 전부를 상기 복수의 선정된 데이터 코드들로 표현 가능하도록 선정된 값을 의미한다.In this case, the selected number is a value smaller than the number of bit strings included in the data code for each of the at least one character, and the plurality of the plurality of selected characters are selected based on the number of the plurality of characters. A value selected to be represented by data codes.

관련하여, 상기 치환 테이블에 대해 예를 들어 설명하면, 다음과 같다.In relation to this, the substitution table is described by way of example as follows.

보통, 영문이나 숫자 등과 같은 문자는 8비트(bit)의 크기를 갖는 데이터이기 때문에 상기 문자에 대한 데이터 코드에 포함된 비트열의 개수는 8개가 된다. In general, since characters such as alphabets and numbers are 8 bits of data, the number of bit strings included in the data code for the characters is eight.

하지만, 영문자와 숫자만 고려하였을 때, 영문자와 숫자의 개수는 총 62개에 불과하기 때문에 영문자와 숫자만을 데이터로 사용하는 경우에는 6개의 비트열만을 갖는 데이터 코드를 이용하더라도 영문자와 숫자를 모두 표현할 수 있다.However, considering only English letters and numbers, only 62 letters and numbers are used. Therefore, if only English letters and numbers are used as data, only English letters and numbers can be represented even if a data code having only 6 bit strings is used. Can be.

즉, 마이크로프로세서 기반의 컴퓨팅 기기에서 오로지 영문자와 숫자만을 데이터로 사용하는 경우에는 문자를 8비트의 크기를 갖는 데이터 코드가 아닌 6비트의 크기를 갖는 데이터 코드로 표현해도 충분하다.That is, in the case of using only English letters and numbers as data in a microprocessor-based computing device, it is sufficient to represent a character as a data code having a size of 6 bits rather than a data code having a size of 8 bits.

이에, 데이터 치환 암호화 장치(110)가 오로지 영문자와 숫자에 해당되는 문자만을 암호화 대상 데이터로 지원한다고 가정하면, 사용자는 원래 문자 데이터를 표현하기 위해 사용되는 비트열의 개수인 8개보다 작은 값임과 동시에, 총 62개의 문자를 모두 표현할 수 있는 비트열의 개수인 '6개'라는 값을 선정한 후 상기 62개의 영문자와 숫자 각각에 대해 6개의 비트열로 표현한 6비트 크기의 데이터 코드를 할당하여 상기 치환 테이블을 만들 수 있고, 치환 테이블 관리부(111)를 통해 상기 치환 테이블이 저장되어 유지되도록 할 수 있다.Thus, assuming that the data substitution encryption apparatus 110 supports only the characters corresponding to the alphabet and the number as the data to be encrypted, the user may have a value smaller than 8, which is the number of bit strings used to represent the original character data. Selects a value of '6', which is the number of bit strings capable of representing all 62 characters, and allocates a data code having a size of 6 bits represented by 6 bit strings to each of the 62 alphanumeric characters and the substitution table. It can be made, and through the substitution table management unit 111 may be stored and maintained in the substitution table.

이와 관련하여, 하기의 표 1에는 상기 치환 테이블의 예가 나타나 있다.
In this regard, Table 1 below shows an example of the substitution table.

문자text 대응 데이터 코드Correspondence data code ss 010100010100 oo 010010010010 ff 000100000100 tt 110101110101 ww 100000100000 aa 010101010101 rr 000011000011 ee 001001001001 ... ...

선택부(112)는 상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택한다.When the plain text data including at least one of the plurality of characters is input, the selecting unit 112 selects at least one data code corresponding to each of the at least one character with reference to the substitution table.

데이터 변환부(113)는 상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환한다.The data converter 113 converts the data code for each of the at least one character into the selected at least one data code, and converts the plain text data into replacement data composed of the selected at least one data code.

예컨대, 데이터 치환 암호화 장치(110)에 'sa'라는 문자로 구성된 평문 데이터가 입력되었고, 상기 치환 테이블이 상기 표 1과 같다고 가정하는 경우, 선택부(112)는 상기 치환 테이블을 참조하여 's'라는 문자에 대한 데이터 코드로 '010100'을 선택할 수 있고, 'a'라는 문자에 대한 데이터 코드로 '010101'을 선택할 수 있다.For example, when the plain text data composed of the letters' sa 'is input to the data substitution encryption apparatus 110 and the substitution table is as shown in Table 1 above, the selection unit 112 refers to the substitution table and the' s '010100' may be selected as the data code for the character 'a', and '010101' may be selected as the data code for the character 'a'.

그리고 나서, 데이터 변환부(113)는 's'라는 문자에 대한 아스키코드표에 따른 데이터 코드인 '01110011'을 '010100'으로 치환하고, 'a'라는 문자에 대한 아스키코드표에 따른 데이터 코드인 '01100001'을 '010101'으로 치환하여 'sa'라는 문자로 구성된 평문 데이터인 '0111001101100001'을 '010100010101'로 구성된 치환 데이터로 변환할 수 있다.Then, the data conversion unit 113 replaces the data code '01110011' according to the ASCII code table for the letter 's' with '010100', and the data code according to the ASCII code table for the letter 'a'. '01100001' can be replaced with '010101' to convert plain text data '0111001101100001' composed of the letters 'sa' into substitution data composed of '010100010101'.

인코딩(encoding)부(114)는 상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩을 수행한다.An encoding unit 114 encrypts the replacement data using a predetermined encryption key and performs data encoding on the encrypted replacement data.

이때, 본 발명의 일실시예에 따르면, 데이터 치환 암호화 장치(110)는 비율 연산부(115)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the data substitution encryption apparatus 110 may further include a ratio calculator 115.

비율 연산부(115)는 상기 데이터 인코딩이 지원하는 입력 데이터의 크기 값을 확인하여 상기 선정된 개수의 비트열로 표현되는 데이터 코드 1개의 크기 값 대비 상기 입력 데이터의 크기 값에 대한 비율을 연산한다.The ratio calculator 115 checks the size value of the input data supported by the data encoding and calculates a ratio of the size value of the input data to the size value of one data code represented by the predetermined number of bit strings.

이때, 본 발명의 일실시예에 따르면, 인코딩부(114)는 그룹화(grouping)부(116), 데이터 인코딩부(117) 및 출력 데이터 생성부(118)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the encoding unit 114 may include a grouping unit 116, a data encoding unit 117, and an output data generation unit 118.

그룹화부(116)는 상기 치환 데이터를 구성하는 상기 적어도 하나의 데이터 코드를 상기 연산된 비율에 해당하는 개수 별로 그룹화하여 상기 치환 데이터를 상기 입력 데이터의 크기 값에 매칭되는 데이터 크기를 갖는 적어도 하나의 치환 데이터 그룹으로 분할할 수 있다.The grouping unit 116 groups the at least one data code constituting the substitution data by the number corresponding to the calculated ratio and at least one having a data size that matches the magnitude value of the input data. It can be divided into replacement data groups.

데이터 인코딩부(117)는 상기 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 선정된 암호화 키를 이용하여 암호화를 수행하고, 상기 암호화가 수행된 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 데이터 인코딩을 수행한다.The data encoding unit 117 performs encryption on each of the at least one replacement data group by using the selected encryption key, and performs data encoding on each of the at least one replacement data group on which the encryption has been performed. .

출력 데이터 생성부(118)는 상기 데이터 인코딩이 수행된 적어도 하나의 치환 데이터 그룹을 하나의 데이터로 병합하여 출력 데이터를 생성한다.The output data generator 118 merges the at least one replacement data group on which the data encoding is performed into one data to generate output data.

이하에서는 도 2를 참조하여, 본 발명의 일실시예에 따른 데이터 치환 암호화 장치(110)의 동작에 대해 예를 들어 상세히 설명하기로 한다.Hereinafter, an operation of the data substitution encryption apparatus 110 according to an embodiment of the present invention will be described in detail with reference to FIG. 2.

우선, 치환 테이블 관리부(111)에는 상기 표 1과 같이, 영문자에 대해 6개의 비트열로 표현한 복수의 선정된 데이터 코드들이 대응되도록 기록되어 있는 치환 테이블이 저장되어 있다고 가정하고, 인코딩부(114)는 입력 데이터에 대해 base64 인코딩을 수행하는 것으로 가정하자.First, it is assumed that the substitution table manager 111 stores a substitution table in which a plurality of selected data codes expressed in six bit strings corresponding to English characters are stored, as shown in Table 1 above. Suppose we do base64 encoding on the input data.

데이터 치환 암호화 장치(110)에 도면부호 210에 도시된 바와 같이, 'software'라는 문자로 구성된 평문 데이터가 입력되면, 선택부(112)는 상기 치환 테이블을 참조하여 상기 평문 데이터에 포함된 'software'라는 문자 각각에 대응되는 8개의 데이터 코드를 선택할 수 있다.When the plain text data composed of the letters 'software' is input to the data substitution encrypting apparatus 110, the selection unit 112 refers to the substitution table and refers to the 'software' included in the plain text data. Eight data codes corresponding to each character 'can be selected.

이때, 선택부(112)는 's'라는 문자에 대해 '010100'(221)을 선택할 수 있고, 'o'라는 문자에 대해 '010010'(222)을 선택할 수 있으며, 'f'라는 문자에 대해 '000100'(223)을 선택할 수 있고, 't'라는 문자에 대해 '110101(224)을 선택할 수 있고, 'w'라는 문자에 대해 '100000'(225)을 선택할 수 있고, 'a'라는 문자에 대해 '010101'(226)을 선택할 수 있고, 'r'이라는 문자에 대해 '000011'(227)을 선택할 수 있고, 'e'라는 문자에 대해 '001001'(228)을 선택할 수 있다.In this case, the selector 112 may select '010100' 221 for the letter 's', select '010010' 222 for the letter 'o', and select the letter 'f'. '000100' (223) for 't', '110101 (224) for' t ',' 100000 '(225) for' w ',' a ' You can select '010101' (226) for the letter ',' '000011' (227) for the letter 'r', and '001001' (228) for the letter 'e'. .

그리고 나서, 데이터 변환부(113)는 'software'라는 문자 각각에 대한 데이터 코드를 상기 선택된 8개의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 8개의 데이터 코드로 구성된 치환 데이터로 변환할 수 있다.Then, the data conversion unit 113 may convert the plain text data into the replacement data composed of the selected eight data codes by replacing the data codes for each character of 'software' with the selected eight data codes.

이때, 비율 연산부(115)는 상기 base64 인코딩이 지원하는 입력 데이터의 크기 값을 확인할 수 있고, 6개의 비트열로 표현되는 데이터 코드 1개의 크기 값 대비 상기 입력 데이터의 크기 값에 대한 비율을 연산할 수 있다.In this case, the ratio calculator 115 may check the size value of the input data supported by the base64 encoding, and calculate a ratio of the size value of the input data to the size value of one data code represented by six bit strings. Can be.

base64 인코딩이란 8비트 단위의 문자 3개를 입력으로 받아, 6비트 단위의 문자 4개를 출력으로 얻을 수 있는 인코딩 기법으로, 기본적으로 24비트 크기의 입력 데이터를 지원한다.base64 encoding is an encoding method that receives 3 characters in 8-bit units as input and obtains 4 characters in 6-bit units as output. It basically supports 24 bits of input data.

따라서, 비율 연산부(115)는 6개의 비트열로 표현되는 데이터 코드 1개의 크기 값이 6비트이고, base64 인코딩이 지원하는 상기 입력 데이터의 크기 값이 24비트이므로, 상기 데이터 코드 1개의 크기 값 대비 base64 인코딩이 지원하는 상기 입력 데이터의 크기 값에 대한 비율을 '4'로 연산할 수 있다.Therefore, the ratio calculating unit 115 has a size value of 6 bits of one data code represented by six bit strings and a size value of the input data supported by base64 encoding is 24 bits. The ratio of the size value of the input data supported by base64 encoding may be calculated as '4'.

이렇게, 상기 비율에 대한 연산이 완료되면, 그룹화부(116)는 상기 치환 데이터를 구성하는 8개의 데이터 코드를 도면부호 231과 232에 도시된 바와 같이, 상기 연산된 비율에 해당하는 개수인 4개씩 그룹화하여 상기 치환 데이터를 base64 인코딩이 지원하는 입력 데이터의 크기 값인 24비트에 매칭되는 데이터 크기를 갖는 치환 데이터 그룹 1(231)과 치환 데이터 그룹 2(232)로 분할할 수 있다.As such, when the calculation for the ratio is completed, the grouping unit 116 displays the eight data codes constituting the substitution data as four numbers corresponding to the calculated ratio, as shown by reference numerals 231 and 232. The replacement data may be divided into a replacement data group 1 231 and a replacement data group 2 232 having a data size that matches a 24-bit size value of input data supported by base64 encoding.

그리고 나서, 데이터 인코딩부(117)는 도면부호 240에 도시된 바와 같이, 치환 데이터 그룹 1(231)과 치환 데이터 그룹 2(232) 각각에 대해 선정된 암호화 키를 이용하여 암호화를 수행할 수 있고, 상기 암호화가 수행된 치환 데이터 그룹 1(231)과 치환 데이터 그룹 2(232) 각각에 대해 base64 인코딩을 수행할 수 있다.Then, as shown at 240, the data encoding unit 117 may perform encryption using an encryption key selected for each of the substitution data group 1 231 and the substitution data group 2 232. In addition, base64 encoding may be performed on each of the substitution data group 1 231 and the substitution data group 2 232 on which the encryption is performed.

그리고, 출력 데이터 생성부(118)는 도면부호 240에 도시된 바와 같이, 상기 base64 인코딩이 수행된 치환 데이터 그룹 1(231)과 치환 데이터 그룹 2(232)를 하나의 데이터로 병합하여 도면부호 250에 도시된 바와 같은 'mhk4r3bn'이라는 최종 출력 데이터를 생성할 수 있다.As shown by reference numeral 240, the output data generator 118 merges the substitution data group 1 231 and the substitution data group 2 232 on which the base64 encoding is performed into one data, and the reference numeral 250. The final output data called 'mhk4r3bn' may be generated as shown in FIG.

결국, 본 발명의 일실시예에 따른 데이터 치환 암호화 장치(110)는 데이터베이스 등에 저장되어야 할 개인 정보 등과 같은 보안이 필요한 평문 데이터를 암호화할 때, 상기 평문 데이터를 소정의 치환 테이블을 이용하여 데이터의 크기를 감소시킨 치환 데이터로 변환한 후 상기 변환된 치환 데이터에 대해 암호화 및 인코딩을 수행함으로써, 데이터 암호화에 있어 보안성을 더욱 강화할 수 있다.As a result, the data substitution encryption apparatus 110 according to an embodiment of the present invention encrypts plain text data requiring security such as personal information to be stored in a database or the like, and converts the plain text data using a predetermined substitution table. By converting to the replacement data having a reduced size and then encrypting and encoding the converted replacement data, security in data encryption can be further enhanced.

또한, 데이터 암호화에 있어서, base64 인코딩과 같은 인코딩 기법을 사용하는 경우, base64 인코딩 기법이 8비트 단위의 문자 3개를 입력으로 받아, 6비트 단위의 문자 4개를 출력으로 얻을 수 있는 인코딩 기법이라는 점에서 평문 데이터에 포함된 문자의 개수보다 출력 데이터에 포함된 문자의 개수가 증가되거나, 4개의 문자로 구성된 32비트 크기의 평문 데이터가 입력되는 경우, base64 인코딩 과정을 통해 패딩(padding) 문자가 추가되어 6비트 단위의 8개의 문자로 구성된 총 48비트 크기의 출력 데이터가 얻어질 수 있다는 점에서 입력 데이터보다 출력 데이터의 크기가 증가될 수 있다.In addition, in the case of data encryption, when an encoding method such as base64 encoding is used, the base64 encoding method is an encoding method that receives 3 characters in 8-bit units as inputs and obtains 4 characters in 6-bit units as outputs. If the number of characters included in the output data is increased from the number of characters included in the plain text data, or if the 32-bit sized plain text data consisting of four characters is input, the padding character is generated through the base64 encoding process. In addition, the size of the output data may be increased than that of the input data in that output data having a total size of 48 bits consisting of eight characters in units of 6 bits may be obtained.

이렇게, 출력 데이터의 크기가 증가하거나, 문자의 개수가 증가하는 경우, 상기 출력 데이터가 저장될 데이터베이스의 용량이나 형식이 제한적일 수 있다는 점에서 상기 데이터베이스에 대한 관리가 어려울 수 있다.As such, when the size of the output data increases or the number of characters increases, management of the database may be difficult in that the capacity or format of the database in which the output data is to be stored may be limited.

하지만, 본 발명의 일실시예에 따른 데이터 치환 암호화 장치(110)는 4개의 문자로 구성된 32비트 크기의 평문 데이터가 입력되더라도, 상기 4개의 문자에 대한 데이터 코드를 6비트 단위의 데이터 코드로 치환함으로써, 상기 평문 데이터의 크기를 24비트로 감소시킬 수 있다는 점에서, 상기 24비트의 크기로 감소된 치환 데이터에 대해 base64 인코딩을 수행하면, 24비트의 크기를 갖는 4개의 문자로 구성된 출력 데이터를 얻을 수 있어서, 기존의 암호화 방법과 달리, base64 인코딩을 이용하더라도 출력 데이터의 크기가 증가하지 않고, 출력 데이터에 포함된 문자의 개수가 증가하지 않을 수 있다.However, the data substitution encryption apparatus 110 according to an embodiment of the present invention replaces the data code for the four characters with a data code of 6 bits even when 32-bit plain text data composed of four characters is input. Since the size of the plain text data can be reduced to 24 bits, when base64 encoding is performed on the replacement data reduced to the size of 24 bits, output data consisting of 4 characters having a size of 24 bits is obtained. Therefore, unlike the existing encryption method, even when using base64 encoding, the size of the output data does not increase, and the number of characters included in the output data may not increase.

이상, 도 2를 참조하여, 본 발명의 일실시예에 따른 데이터 치환 암호화 장치(110)의 동작에 대해 예를 들어 상세히 설명하였다. 이하에서는 도 1을 참조하여, 데이터 치환 암호화 장치(110)의 구조에 대해 계속 설명하기로 한다.The operation of the data substitution encryption apparatus 110 according to an embodiment of the present invention has been described above in detail with reference to FIG. 2. Hereinafter, the structure of the data substitution encryption apparatus 110 will be described with reference to FIG. 1.

본 발명의 일실시예에 따르면, 데이터 치환 암호화 장치(110)는 배수 판단부(119), 개수 연산부(120) 및 데이터 보정부(121)를 더 포함할 수 있다.According to an embodiment of the present invention, the data substitution encryption apparatus 110 may further include a multiple determination unit 119, a number calculation unit 120, and a data correction unit 121.

배수 판단부(119)는 상기 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 평문 데이터를 구성하는 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하는지 여부를 판단한다.When the plain text data composed of the at least one character is input, the multiplication determining unit 119 determines whether the number of the at least one character constituting the plain text data corresponds to a multiple of a value corresponding to the calculated ratio. do.

개수 연산부(120)는 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하지 않는 것으로 판단된 경우, 상기 적어도 하나의 문자의 개수를 기초로 상기 평문 데이터에 상기 연산된 비율에 해당하는 값의 배수만큼 문자가 포함되기 위해 추가되어야 할 문자의 최소 개수를 연산한다.When it is determined that the number of the at least one character does not correspond to a multiple of a value corresponding to the calculated ratio, the number calculator 120 calculates the calculated plaintext data based on the number of the at least one character. Computes the minimum number of characters that must be added to contain a character by a multiple of the value corresponding to the ratio.

데이터 보정부(121)는 상기 복수의 문자들 중에서 상기 연산된 최소 개수만큼의 패딩 문자를 선택한 후 상기 평문 데이터에 대해 상기 패딩 문자를 추가하여 상기 평문 데이터를 보정한다.The data corrector 121 selects the minimum number of padding characters from the plurality of characters and corrects the plain text data by adding the padding characters to the plain text data.

이때, 선택부(112)는 상기 보정이 완료된 평문 데이터를 기초로 상기 적어도 하나의 데이터 코드를 선택할 수 있다.In this case, the selector 112 may select the at least one data code based on the plain text data on which the correction is completed.

이하에서는 도 3을 참조하여, 배수 판단부(119), 개수 연산부(120) 및 데이터 보정부(121)의 동작에 대해 예를 들어 상세히 설명하기로 한다.Hereinafter, with reference to FIG. 3, the operation of the multiple determination unit 119, the number calculating unit 120, and the data correcting unit 121 will be described in detail.

우선, 치환 테이블 관리부(111)에는 상기 표 1과 같이, 영문자에 대해 6개의 비트열로 표현한 복수의 선정된 데이터 코드들이 대응되도록 기록되어 있는 치환 테이블이 저장되어 있다고 가정하고, 인코딩부(114)는 입력 데이터에 대해 base64 인코딩을 수행하는 것으로 가정하자.First, it is assumed that the substitution table manager 111 stores a substitution table in which a plurality of selected data codes expressed in six bit strings corresponding to English characters are stored, as shown in Table 1 above. Suppose we do base64 encoding on the input data.

또한, 비율 연산부(115)는 앞서 도 2를 이용하여 설명한 실시예에서와 같이, 6개의 비트열로 표현되는 데이터 코드 1개의 크기 값이 6비트이고, base64 인코딩이 지원하는 상기 입력 데이터의 크기 값이 24비트이므로, 상기 데이터 코드 1개의 크기 값 대비 base64 인코딩이 지원하는 상기 입력 데이터의 크기 값에 대한 비율을 '4'로 연산하였다고 가정하자.In addition, as in the embodiment described with reference to FIG. 2, the ratio calculator 115 has a size value of 6 bits of one data code represented by six bit strings, and the size value of the input data supported by base64 encoding. Since this is 24 bits, it is assumed that a ratio of the size value of the data code to the size value of the input data supported by base64 encoding is calculated as '4'.

이때, 데이터 치환 암호화 장치(110)에 도면부호 310에 도시된 바와 같이, 'softw'라는 문자로 구성된 평문 데이터가 입력되면, 배수 판단부(119)는 상기 평문 데이터를 구성하는 문자의 개수가 상기 연산된 비율인 '4'의 배수에 해당하는지 여부를 판단할 수 있다.At this time, when the plain text data composed of the letters 'softw' is input to the data substitution encrypting apparatus 110, the multiple determination unit 119 determines that the number of characters constituting the plain text data is equal to the number. It may be determined whether it corresponds to a multiple of the calculated ratio '4'.

관련하여, base64 인코딩은 24비트의 입력 데이터를 지원하는 인코딩 기법이고, 상기 치환 테이블은 8비트의 데이터 코드를 6비트의 데이터 코드로 치환하도록 하는 지원하는 테이블이라는 점에서, 4의 배수에 해당되는 개수의 문자로 구성된 평문 데이터가 입력되는 경우에만 치환 데이터를 4개의 문자씩 24비트의 데이터 그룹으로 분할하여 base64 인코딩이 지원하는 입력 데이터의 크기에 매칭시킬 수 있기 때문에 배수 판단부(119)는 상기 평문 데이터를 구성하는 문자의 개수가 상기 연산된 비율인 '4'의 배수에 해당하는지 여부를 판단할 수 있다.In this regard, base64 encoding is an encoding scheme that supports input data of 24 bits, and the permutation table is a multiple of 4 in that the permutation table is a table that supports substituting 8-bit data codes with 6-bit data codes. Only when plain text data consisting of a number of characters is input, the replacement data may be divided into four groups of 24-bit data groups to match the size of the input data supported by base64 encoding, so the multiple determination unit 119 may determine the above. It may be determined whether the number of characters constituting the plain text data corresponds to a multiple of the calculated ratio '4'.

본 실시예에서 상기 평문 데이터에 포함된 문자의 개수는 5개에 불과하여 4의 배수에 해당되지 않기 때문에 개수 연산부(120)는 상기 평문 데이터에 포함될 문자의 개수가 4의 배수만큼 되기 위해 추가되어야 할 문자의 최소 개수를 연산할 수 있다.In the present embodiment, since the number of characters included in the plain text data is only five and does not correspond to a multiple of four, the number calculating unit 120 needs to be added so that the number of characters to be included in the plain text data is a multiple of four. You can calculate the minimum number of characters to do.

본 실시예에서 상기 평문 데이터에 포함된 문자의 개수는 5개이기 때문에 상기 평문 데이터에 포함될 문자의 개수가 4의 배수가 되기 위해 추가되어야 할 문자의 최소 개수는 3개이다. 따라서, 개수 연산부(120)는 상기 문자의 최소 개수를 '3개'로 연산할 수 있다.In the present embodiment, since the number of characters included in the plain text data is five, the minimum number of characters to be added in order for the number of characters to be included in the plain text data to be a multiple of four is three. Accordingly, the number calculator 120 may calculate the minimum number of characters as 'three'.

그리고 나서, 데이터 보정부(121)는 상기 치환 테이블에 등록되어 있는 영문자들 중에서 3개의 패딩 문자를 선택한 후 상기 평문 데이터에 대해 상기 패딩 문자를 추가하여 상기 평문 데이터를 보정할 수 있다.Then, the data correction unit 121 may correct the plain text data by selecting three padding characters among the alphabet characters registered in the substitution table and then adding the padding characters to the plain text data.

관련하여, 데이터 보정부(121)는 도면부호 320에 도시된 바와 같이, 'a'라는 패딩 문자 3개 선택하여 'softw'로 구성된 평문 데이터에 대해 'a'라는 패딩 문자 3개를 추가함으로써, 'softwaaa'라는 보정된 평문 데이터를 생성할 수 있다.In relation to this, the data correction unit 121 selects three padding characters 'a' and adds three padding characters 'a' to the plain text data composed of 'softw' as shown at 320. You can generate corrected plain text data called 'softwaaa'.

그리고 나서, 선택부(112)는 상기 치환 테이블을 참조하여 상기 보정된 평문 데이터에 포함된 'softwaaa'라는 문자 각각에 대응되는 8개의 데이터 코드를 선택할 수 있다.Then, the selecting unit 112 may select eight data codes corresponding to each of the letters 'softwaaa' included in the corrected plain text data with reference to the substitution table.

이때, 선택부(112)는 's'라는 문자에 대해 '010100'(331)을 선택할 수 있고, 'o'라는 문자에 대해 '010010'(332)을 선택할 수 있으며, 'f'라는 문자에 대해 '000100'(333)을 선택할 수 있고, 't'라는 문자에 대해 '110101(334)을 선택할 수 있고, 'w'라는 문자에 대해 '100000'(335)을 선택할 수 있고, 'a'라는 문자에 대해 '010101'(336)을 선택할 수 있고, 'a'이라는 문자에 대해 '010101'(337)을 선택할 수 있고, 'a'라는 문자에 대해 '010101'(338)을 선택할 수 있다.In this case, the selector 112 may select '010100' 331 for the letter 's', select '010010' 332 for the letter 'o', and select the letter 'f'. '000100' (333) for 't', '110101 (334) for' t ',' 100000 '(335) for' w ',' a ' '010101' (336) can be selected for the letter 'a', '010101' (337) can be selected for the letter 'a', and '010101' (338) can be selected for the letter 'a'. .

그리고, 데이터 변환부(113)는 'softwaaa'라는 문자 각각에 대한 데이터 코드를 상기 선택된 8개의 데이터 코드로 치환하여 상기 보정된 평문 데이터를 상기 선택된 8개의 데이터 코드로 구성된 치환 데이터로 변환할 수 있다.The data conversion unit 113 may convert the corrected plain text data into replacement data composed of the selected eight data codes by substituting the selected eight data codes for the data codes for each character of 'softwaaa'. .

이때, 그룹화부(116)는 상기 치환 데이터를 구성하는 8개의 데이터 코드를 도면부호 341과 342에 도시된 바와 같이, 비율 연산부(115)에서 연산된 비율에 해당하는 개수인 4개씩 그룹화하여 상기 치환 데이터를 base64 인코딩이 지원하는 입력 데이터의 크기 값인 24비트에 매칭되는 데이터 크기를 갖는 치환 데이터 그룹 1(341)과 치환 데이터 그룹 2(342)로 분할할 수 있다.At this time, the grouping unit 116 replaces the eight data codes constituting the replacement data by grouping four data codes corresponding to the ratio calculated by the ratio calculating unit 115, as shown at 341 and 342. Data may be divided into Substitution Data Group 1 341 and Substitution Data Group 2 342 having a data size that matches a 24-bit size value of input data supported by base64 encoding.

그리고 나서, 데이터 인코딩부(117)는 도면부호 350에 도시된 바와 같이, 치환 데이터 그룹 1(341)과 치환 데이터 그룹 2(342) 각각에 대해 선정된 암호화 키를 이용하여 암호화를 수행할 수 있고, 상기 암호화가 수행된 치환 데이터 그룹 1(341)과 치환 데이터 그룹 2(342) 각각에 대해 base64 인코딩을 수행할 수 있다.Then, the data encoding unit 117 may perform encryption using the encryption key selected for each of the substitution data group 1 341 and the substitution data group 2 342, as shown at 350. In addition, base64 encoding may be performed on each of the substitution data group 1 341 and the substitution data group 2 342 on which the encryption is performed.

그리고, 출력 데이터 생성부(118)는 도면부호 350에 도시된 바와 같이, 상기 base64 인코딩이 수행된 치환 데이터 그룹 1(341)과 치환 데이터 그룹 2(342)를 하나의 데이터로 병합하여 도면부호 360에 도시된 바와 같은 'grTw28Eb'라는 최종 출력 데이터를 생성할 수 있다.As shown by reference numeral 350, the output data generator 118 merges the substitution data group 1 341 and the substitution data group 2 342 in which the base64 encoding is performed into one data and 360. The final output data called 'grTw28Eb' as shown in FIG.

도 4는 본 발명의 일실시예에 따른 데이터 치환 암호화 방법을 도시한 순서도이다.4 is a flowchart illustrating a data substitution encryption method according to an embodiment of the present invention.

단계(S410)에서는 복수의 문자들과, 상기 복수의 문자들 각각을 선정된 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 유지한다.In step S410, a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters in a predetermined number of bit strings are maintained to correspond to each other.

이때, 본 발명의 일실시예에 따르면, 상기 선정된 개수는 상기 적어도 하나의 문자 각각에 대한 데이터 코드에 포함된 비트열의 개수보다 작은 값이되, 상기 복수의 문자들의 개수에 기초하여 상기 복수의 문자들 전부를 상기 복수의 선정된 데이터 코드들로 표현 가능하도록 선정된 값일 수 있다.In this case, according to an embodiment of the present invention, the predetermined number is a value smaller than the number of bit strings included in the data code for each of the at least one character, and the plurality of the plurality of characters is based on the number of the plurality of characters. It may be a predetermined value so that all of the characters can be represented by the plurality of predetermined data codes.

단계(S420)에서는 상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택한다.In operation S420, when plain text data including at least one of the plurality of characters is input, at least one data code corresponding to each of the at least one character is selected with reference to the substitution table.

단계(S430)에서는 상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환한다.In step S430, the data code for each of the at least one character is replaced with the selected at least one data code to convert the plain text data into replacement data composed of the selected at least one data code.

단계(S440)에서는 상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩을 수행한다.In step S440, the replacement data is encrypted using the selected encryption key, and data encoding is performed on the encrypted replacement data.

이때, 본 발명의 일실시예에 따르면, 상기 데이터 치환 암호화 방법은 단계(S410)이후에 상기 데이터 인코딩이 지원하는 입력 데이터의 크기 값을 확인하여 상기 선정된 개수의 비트열로 표현되는 데이터 코드 1개의 크기 값 대비 상기 입력 데이터의 크기 값에 대한 비율을 연산하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the data substitution encryption method is a data code 1 represented by the predetermined number of bit strings after checking the size value of the input data supported by the data encoding after step (S410) The method may further include calculating a ratio of the size value of the input data to the size value of the dog.

이때, 단계(S440)에서는 상기 치환 데이터를 구성하는 상기 적어도 하나의 데이터 코드를 상기 연산된 비율에 해당하는 개수 별로 그룹화하여 상기 치환 데이터를 상기 입력 데이터의 크기 값에 매칭되는 데이터 크기를 갖는 적어도 하나의 치환 데이터 그룹으로 분할하는 단계, 상기 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 선정된 암호화 키를 이용하여 암호화를 수행하고, 상기 암호화가 수행된 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 데이터 인코딩을 수행하는 단계 및 상기 데이터 인코딩이 수행된 적어도 하나의 치환 데이터 그룹을 하나의 데이터로 병합하여 출력 데이터를 생성하는 단계를 포함할 수 있다.In this case, in step S440, the at least one data code constituting the replacement data is grouped by the number corresponding to the calculated ratio, and the replacement data is at least one having a data size matching the size value of the input data. Dividing into at least one substituting data group, performing encryption using the selected encryption key for each of the at least one substituting data group, and performing the data encoding on each of the at least one substituting data group on which the encryption is performed. And performing at least one substitution data group on which the data encoding is performed into one data to generate output data.

또한, 본 발명의 일실시예에 따르면, 상기 데이터 치환 암호화 방법은 단계(S420)이전에 상기 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 평문 데이터를 구성하는 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하는지 여부를 판단하는 단계, 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하지 않는 것으로 판단된 경우, 상기 적어도 하나의 문자의 개수를 기초로 상기 평문 데이터에 상기 연산된 비율에 해당하는 값의 배수만큼 문자가 포함되기 위해 추가되어야 할 문자의 최소 개수를 연산하는 단계 및 상기 복수의 문자들 중에서 상기 연산된 최소 개수만큼의 패딩 문자를 선택한 후 상기 평문 데이터에 대해 상기 패딩 문자를 추가하여 상기 평문 데이터를 보정하는 단계를 더 포함할 수 있다.Further, according to an embodiment of the present invention, in the data substitution encryption method, if plain text data composed of the at least one character is input before step S420, the number of the at least one character constituting the plain text data is increased. Determining whether it corresponds to a multiple of the value corresponding to the calculated ratio, and if it is determined that the number of the at least one character does not correspond to a multiple of the value corresponding to the calculated ratio, the at least one Calculating a minimum number of characters to be added in order to include the characters in the plain text data by a multiple of a value corresponding to the calculated ratio based on the number of characters and the calculated minimum number of characters among the plurality of characters. Select a padding character to correct the plaintext data by adding the padding character to the plaintext data. It may further comprise the step.

이때, 단계(S420)에서는 상기 보정이 완료된 평문 데이터를 기초로 상기 적어도 하나의 데이터 코드를 선택할 수 있다.In this case, in step S420, the at least one data code may be selected based on the plain text data on which the correction is completed.

이상, 도 4를 참조하여 본 발명의 일실시예에 따른 데이터 치환 암호화 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 데이터 치환 암호화 방법은 도 1 내지 도 3을 이용하여 설명한 데이터 치환 암호화 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The data substitution encryption method according to an embodiment of the present invention has been described above with reference to FIG. 4. Here, since the data substitution encryption method according to an embodiment of the present invention may correspond to the configuration of the operation of the data substitution encryption apparatus 110 described with reference to FIGS. 1 to 3, a detailed description thereof will be omitted. Shall be.

본 발명의 일실시예에 따른 데이터 치환 암호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Data substitution encryption method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 데이터 치환 암호화 장치
111: 치환 테이블 관리부 112: 선택부
113: 데이터 변환부 114: 인코딩(encoding)부
115: 비율 연산부 116: 그룹화(grouping)부
117: 데이터 인코딩부 118: 출력 데이터 생성부
119: 배수 판단부 120: 개수 연산부
121: 데이터 보정부
110: data substitution encryption device
111: substitution table management unit 112: selection unit
113: data conversion section 114: encoding section
115: ratio calculator 116: grouping unit
117: data encoding unit 118: output data generation unit
119: drainage determination unit 120: number calculation unit
121: data correction unit

Claims (9)

복수의 문자들과, 상기 복수의 문자들 각각을 선정된(predetermined) 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 저장하여 유지하는 치환 테이블 관리부;
상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택하는 선택부;
상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환하는 데이터 변환부; 및
상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩(encoding)을 수행하는 인코딩부
를 포함하고,
상기 선정된 개수는
상기 적어도 하나의 문자 각각에 대한 데이터 코드에 포함된 비트열의 개수보다 작은 값이되, 상기 복수의 문자들의 개수에 기초하여 상기 복수의 문자들 전부를 상기 복수의 선정된 데이터 코드들로 표현 가능하도록 선정된 값인 데이터 치환 암호화 장치.
A substitution table management unit which stores and maintains a substitution table in which a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters in a predetermined number of bit strings correspond to each other;
A selection unit for selecting at least one data code corresponding to each of the at least one character by referring to the substitution table when plain text data including at least one character among the plurality of characters is input;
A data converter for converting the data code for each of the at least one character into the selected at least one data code and converting the plain text data into replacement data composed of the selected at least one data code; And
An encoding unit for encrypting the substitution data using a predetermined encryption key and performing data encoding on the encrypted substitution data
Lt; / RTI >
The selected number is
The value is smaller than the number of bit strings included in the data code for each of the at least one character, and all of the plurality of characters may be represented by the plurality of predetermined data codes based on the number of the plurality of characters. A data substitution encryption device that is a predetermined value.
삭제delete 제1항에 있어서,
상기 데이터 인코딩이 지원하는 입력 데이터의 크기 값을 확인하여 상기 선정된 개수의 비트열로 표현되는 데이터 코드 1개의 크기 값 대비 상기 입력 데이터의 크기 값에 대한 비율을 연산하는 비율 연산부
를 더 포함하고,
상기 인코딩부는
상기 치환 데이터를 구성하는 상기 적어도 하나의 데이터 코드를 상기 연산된 비율에 해당하는 개수 별로 그룹화(grouping)하여 상기 치환 데이터를 상기 입력 데이터의 크기 값에 매칭되는 데이터 크기를 갖는 적어도 하나의 치환 데이터 그룹으로 분할하는 그룹화부;
상기 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 선정된 암호화 키를 이용하여 암호화를 수행하고, 상기 암호화가 수행된 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 데이터 인코딩을 수행하는 데이터 인코딩부; 및
상기 데이터 인코딩이 수행된 적어도 하나의 치환 데이터 그룹을 하나의 데이터로 병합하여 출력 데이터를 생성하는 출력 데이터 생성부
를 포함하는 데이터 치환 암호화 장치.
The method of claim 1,
A ratio calculator for checking a size value of the input data supported by the data encoding and calculating a ratio of the size value of the input data to the size value of one data code represented by the predetermined number of bit strings;
Further comprising:
The encoding unit
At least one replacement data group having a data size that matches the size value of the input data by grouping the at least one data code constituting the replacement data by the number corresponding to the calculated ratio Grouping unit to divide into;
A data encoding unit performing encryption on each of the at least one replacement data group using the selected encryption key, and performing data encoding on each of the at least one replacement data group on which the encryption is performed; And
An output data generation unit for generating output data by merging at least one substitution data group on which the data encoding is performed into one data;
Data substitution encryption device comprising a.
제3항에 있어서,
상기 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 평문 데이터를 구성하는 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하는지 여부를 판단하는 배수 판단부;
상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하지 않는 것으로 판단된 경우, 상기 적어도 하나의 문자의 개수를 기초로 상기 평문 데이터에 상기 연산된 비율에 해당하는 값의 배수만큼 문자가 포함되기 위해 추가되어야 할 문자의 최소 개수를 연산하는 개수 연산부; 및
상기 복수의 문자들 중에서 상기 연산된 최소 개수만큼의 패딩(padding) 문자를 선택한 후 상기 평문 데이터에 대해 상기 패딩 문자를 추가하여 상기 평문 데이터를 보정하는 데이터 보정부
를 더 포함하고,
상기 선택부는
상기 보정이 완료된 평문 데이터를 기초로 상기 적어도 하나의 데이터 코드를 선택하는 데이터 치환 암호화 장치.
The method of claim 3,
A multiplier determination unit determining whether the number of the at least one character constituting the plain text data corresponds to a multiple of a value corresponding to the calculated ratio when the plain text data including the at least one character is input;
If it is determined that the number of the at least one character does not correspond to a multiple of the value corresponding to the calculated ratio, the value of the value corresponding to the calculated ratio in the plain text data based on the number of the at least one character A number calculating unit that calculates a minimum number of characters to be added in order to include characters by multiples; And
A data correction unit for correcting the plain text data by selecting the padding character from the plurality of characters and adding the padding character to the plain text data
Further comprising:
The selection unit
And selecting the at least one data code based on the corrected plain text data.
복수의 문자들과, 상기 복수의 문자들 각각을 선정된(predetermined) 개수의 비트열로 표현한 복수의 선정된 데이터 코드들이 서로 대응되도록 기록된 치환 테이블을 유지하는 단계;
상기 복수의 문자들 중 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 치환 테이블을 참조하여 상기 적어도 하나의 문자 각각에 대응되는 적어도 하나의 데이터 코드를 선택하는 단계;
상기 적어도 하나의 문자 각각에 대한 데이터 코드를 상기 선택된 적어도 하나의 데이터 코드로 치환하여 상기 평문 데이터를 상기 선택된 적어도 하나의 데이터 코드로 구성된 치환 데이터로 변환하는 단계; 및
상기 치환 데이터를 선정된 암호화 키를 이용하여 암호화하고, 상기 암호화된 치환 데이터에 대해 데이터 인코딩(encoding)을 수행하는 단계
를 포함하고,
상기 선정된 개수는
상기 적어도 하나의 문자 각각에 대한 데이터 코드에 포함된 비트열의 개수보다 작은 값이되, 상기 복수의 문자들의 개수에 기초하여 상기 복수의 문자들 전부를 상기 복수의 선정된 데이터 코드들로 표현 가능하도록 선정된 값인 데이터 치환 암호화 방법.
Maintaining a substitution table in which a plurality of characters and a plurality of predetermined data codes representing each of the plurality of characters in a predetermined number of bit strings correspond to each other;
Selecting at least one data code corresponding to each of the at least one character by referring to the substitution table when plain text data composed of at least one of the plurality of characters is input;
Replacing the data code for each of the at least one character with the selected at least one data code to convert the plain text data into replacement data consisting of the selected at least one data code; And
Encrypting the substitution data using a predetermined encryption key and performing data encoding on the encrypted substitution data
Lt; / RTI >
The selected number is
The value is smaller than the number of bit strings included in the data code for each of the at least one character. A data substitution encryption method that is a predetermined value.
삭제delete 제5항에 있어서,
상기 데이터 인코딩이 지원하는 입력 데이터의 크기 값을 확인하여 상기 선정된 개수의 비트열로 표현되는 데이터 코드 1개의 크기 값 대비 상기 입력 데이터의 크기 값에 대한 비율을 연산하는 단계
를 더 포함하고,
상기 데이터 인코딩을 수행하는 단계는
상기 치환 데이터를 구성하는 상기 적어도 하나의 데이터 코드를 상기 연산된 비율에 해당하는 개수 별로 그룹화(grouping)하여 상기 치환 데이터를 상기 입력 데이터의 크기 값에 매칭되는 데이터 크기를 갖는 적어도 하나의 치환 데이터 그룹으로 분할하는 단계;
상기 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 선정된 암호화 키를 이용하여 암호화를 수행하고, 상기 암호화가 수행된 적어도 하나의 치환 데이터 그룹 각각에 대해 상기 데이터 인코딩을 수행하는 단계; 및
상기 데이터 인코딩이 수행된 적어도 하나의 치환 데이터 그룹을 하나의 데이터로 병합하여 출력 데이터를 생성하는 단계
를 포함하는 데이터 치환 암호화 방법.
The method of claim 5,
Checking a size value of the input data supported by the data encoding and calculating a ratio of the size value of the input data to the size value of one data code represented by the predetermined number of bit strings;
Further comprising:
Performing the data encoding is
At least one replacement data group having a data size that matches the size value of the input data by grouping the at least one data code constituting the replacement data by the number corresponding to the calculated ratio Dividing into;
Performing encryption using the selected encryption key on each of the at least one replacement data group, and performing data encoding on each of the at least one replacement data group on which the encryption is performed; And
Generating output data by merging the at least one substitution data group on which the data encoding is performed into one data;
Data substitution encryption method comprising a.
제7항에 있어서,
상기 적어도 하나의 문자로 구성된 평문 데이터가 입력되면, 상기 평문 데이터를 구성하는 상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하는지 여부를 판단하는 단계;
상기 적어도 하나의 문자의 개수가 상기 연산된 비율에 해당하는 값의 배수에 해당하지 않는 것으로 판단된 경우, 상기 적어도 하나의 문자의 개수를 기초로 상기 평문 데이터에 상기 연산된 비율에 해당하는 값의 배수만큼 문자가 포함되기 위해 추가되어야 할 문자의 최소 개수를 연산하는 단계; 및
상기 복수의 문자들 중에서 상기 연산된 최소 개수만큼의 패딩(padding) 문자를 선택한 후 상기 평문 데이터에 대해 상기 패딩 문자를 추가하여 상기 평문 데이터를 보정하는 단계
를 더 포함하고,
상기 적어도 하나의 데이터 코드를 선택하는 단계는
상기 보정이 완료된 평문 데이터를 기초로 상기 적어도 하나의 데이터 코드를 선택하는 데이터 치환 암호화 방법.
The method of claim 7, wherein
When plain text data consisting of the at least one character is input, determining whether the number of the at least one character constituting the plain text data corresponds to a multiple of a value corresponding to the calculated ratio;
If it is determined that the number of the at least one character does not correspond to a multiple of the value corresponding to the calculated ratio, the value of the value corresponding to the calculated ratio in the plain text data based on the number of the at least one character Calculating a minimum number of characters to be added in order for the characters to be included in multiples; And
Correcting the plain text data by selecting the minimum number of padding characters from the plurality of characters and then adding the padding characters to the plain text data;
Further comprising:
Selecting the at least one data code
And selecting the at least one data code based on the corrected plain text data.
제5항 또는 제7항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 5 or 7-8.
KR1020130022993A 2013-03-04 2013-03-04 Data substitution encryption device and method KR101282653B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130022993A KR101282653B1 (en) 2013-03-04 2013-03-04 Data substitution encryption device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130022993A KR101282653B1 (en) 2013-03-04 2013-03-04 Data substitution encryption device and method

Publications (1)

Publication Number Publication Date
KR101282653B1 true KR101282653B1 (en) 2013-07-12

Family

ID=48996645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130022993A KR101282653B1 (en) 2013-03-04 2013-03-04 Data substitution encryption device and method

Country Status (1)

Country Link
KR (1) KR101282653B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428650B1 (en) * 2014-03-07 2014-08-13 (주)케이사인 Method of encryption and method of decryption
KR20180098782A (en) * 2017-02-27 2018-09-05 주식회사 한컴시큐어 Fixed length encryption apparatus and method for long text strings
KR20210084000A (en) * 2019-12-27 2021-07-07 주식회사 안랩 Identifier generating device and identifier generating method
CN114257442A (en) * 2021-12-20 2022-03-29 山石网科通信技术股份有限公司 Method and device for detecting transmission loophole and storage medium
WO2024117755A1 (en) * 2022-12-01 2024-06-06 서강대학교 산학협력단 System and device for controlling data access using blockchain-based substitution encryption, and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110089379A (en) * 2004-08-12 2011-08-05 씨엠엘에이 엘엘씨 Permutation data transformation to enhance security
KR101193599B1 (en) 2011-05-30 2012-10-23 주식회사 코맥스 System for encryption and decryption of data and thereof
KR20130012540A (en) * 2011-07-25 2013-02-04 소프트포럼 주식회사 Data size adjustment apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110089379A (en) * 2004-08-12 2011-08-05 씨엠엘에이 엘엘씨 Permutation data transformation to enhance security
KR101193599B1 (en) 2011-05-30 2012-10-23 주식회사 코맥스 System for encryption and decryption of data and thereof
KR20130012540A (en) * 2011-07-25 2013-02-04 소프트포럼 주식회사 Data size adjustment apparatus and method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428650B1 (en) * 2014-03-07 2014-08-13 (주)케이사인 Method of encryption and method of decryption
KR20180098782A (en) * 2017-02-27 2018-09-05 주식회사 한컴시큐어 Fixed length encryption apparatus and method for long text strings
KR101977128B1 (en) * 2017-02-27 2019-05-10 주식회사 한컴시큐어 Fixed length encryption apparatus and method for long text strings
KR20210084000A (en) * 2019-12-27 2021-07-07 주식회사 안랩 Identifier generating device and identifier generating method
KR102465429B1 (en) * 2019-12-27 2022-11-10 주식회사 안랩 Identifier generating device and identifier generating method
CN114257442A (en) * 2021-12-20 2022-03-29 山石网科通信技术股份有限公司 Method and device for detecting transmission loophole and storage medium
WO2024117755A1 (en) * 2022-12-01 2024-06-06 서강대학교 산학협력단 System and device for controlling data access using blockchain-based substitution encryption, and method thereof

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
KR101282653B1 (en) Data substitution encryption device and method
US8891768B2 (en) Increasing data security in enterprise applications by obfuscating encryption keys
JP5548218B2 (en) System for establishing a cryptographic key that depends on a physical system
JP6323338B2 (en) Bit string collation system, method and program
CN106610995B (en) Method, device and system for creating ciphertext index
CN100431293C (en) Linear transformation for symmetric-key ciphers
US11902417B2 (en) Computer-implemented method of performing format-preserving encryption of a data object of variable size
CN106612172A (en) Data change recovery algorithm capable of restoring data authenticity in cloud storage
KR101989813B1 (en) Generating and verifying the alternative data in a specified format
KR101768605B1 (en) Data transmission apparatus and method for non-repudiation of the transmission message
CN103780379A (en) Password encryption method and system, and cryptographic check method and system
JP2014515203A (en) A variable-tolerance method for generating identifiers for asset sets in a computing environment using error correction coding schemes
Kumar et al. A high capacity email based text steganography scheme using Huffman compression
US20160105277A1 (en) Encrypted text matching system, method, and computer readable medium
KR101599144B1 (en) Apparatus and method for generating key
CN102222188A (en) Information system user password generation method
CN110738513A (en) method and device for generating and verifying redemption codes
CN112613008A (en) Student identity online authentication method and system
KR101977128B1 (en) Fixed length encryption apparatus and method for long text strings
KR102211648B1 (en) Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof
US9900146B2 (en) Encrypted text matching system, method, and computer readable medium
KR101741186B1 (en) Data distribution storage apparatus and method for verifying the locally repairable code
CN112613844A (en) Personnel contract electronic signature method
CN106156655B (en) A kind of compressing file and authentication method towards cloud storage

Legal Events

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

Payment date: 20160704

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 6