KR101095862B1 - Data encryption apparatus and method, data decoding apparatus, data searching method - Google Patents

Data encryption apparatus and method, data decoding apparatus, data searching method Download PDF

Info

Publication number
KR101095862B1
KR101095862B1 KR1020090023607A KR20090023607A KR101095862B1 KR 101095862 B1 KR101095862 B1 KR 101095862B1 KR 1020090023607 A KR1020090023607 A KR 1020090023607A KR 20090023607 A KR20090023607 A KR 20090023607A KR 101095862 B1 KR101095862 B1 KR 101095862B1
Authority
KR
South Korea
Prior art keywords
section
encryption
range
data
character
Prior art date
Application number
KR1020090023607A
Other languages
Korean (ko)
Other versions
KR20100062803A (en
Inventor
이승민
나재훈
남택용
권혁찬
문용혁
구자범
전용성
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20100062803A publication Critical patent/KR20100062803A/en
Application granted granted Critical
Publication of KR101095862B1 publication Critical patent/KR101095862B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

본 발명은 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 [n, m] 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터를 암호화하고 검색 방법으로서, 이를 위하여 입력 데이터에 대한 암호화 값을 도메인 구간 내의 값을 이용하여 생성한 후 생성된 암호화 값과 입력 데이터의 문자 길이를 데이터베이스에 저장하고, 검색어가 입력됨에 따라 도메인 구간에서 검색어의 첫 번째 단위 문자에 대응되는 치역 구간을 검색한후 검색된 치역 구간을 단위 문자별로 구간을 갖도록 구간 분할 방식으로 분할한 후 검색어의 다음 문자에 대한 치역 구간을 검색된 치역 구간에서 검색하는 방식으로 검색어의 최종 문자에 대한 치역 구간을 검색하며, 데이터베이스에 저장된 암호화 값들 중 검색된 검색어의 최종 문자에 대한 치역 구간에 대응되는 값을 검색한다.The present invention encrypts data by using a mapping function that divides [n, m] domain sections by a segmentation scheme to have a range section for each unit character used in the data. After generating using the value in the domain section, the generated encryption value and the character length of the input data are stored in the database, and as the search word is input, the range section corresponding to the first unit character of the search term is searched in the domain section. By dividing the range section by the section division method to have the section for each unit letter, search for the range section for the last character of the search term by searching the range section for the next character of the search term in the searched range section, and encrypt values stored in the database. In the range section for the last character of the search term Search for the value Yes.

이와 같이, 본 발명은 데이터베이스 시스템에 적용되어 고객 정보를 데이터베이스에 저장하고 검색할 때, 저장된 데이터에 대한 안전성은 물론, 데이터 검색 (일치검색, 범위검색, COUNT 등) 시에도 효율적으로 검색결과를 제공할 수 있는 효과가 있다.In this way, the present invention is applied to a database system when storing and retrieving customer information in the database, as well as the safety of the stored data, as well as provide efficient search results when searching data (matching search, range search, COUNT, etc.) It can work.

암호화, 일치 검색, 버킷, 변환 Encryption, exact match, bucket, conversion

Description

데이터 암호화 장치 및 방법, 데이터 복호화 장치, 데이터 검색 방법{DATA ENCRYPTION APPARATUS AND METHOD, DATA DECODING APPARATUS, DATA SEARCHING METHOD}Data encryption apparatus and method, data decryption apparatus, data retrieval method {DATA ENCRYPTION APPARATUS AND METHOD, DATA DECODING APPARATUS, DATA SEARCHING METHOD}

본 발명은 데이터베이스에 저장된 고객 정보나 개인정보 등의 중요 데이터를 안전하게 암호화하여 저장하고, 효율적으로 검색하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for securely encrypting and storing important data such as customer information and personal information stored in a database, and searching efficiently.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-006-01, 과제명: 유무선 환경의 개방형 IPTV(IPTV 2.0) 기술개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunication Research and Development. [Task management number: 2008-S-006-01, Task name: Open IPTV in wired and wireless environment] 2.0) Technology Development].

일반적으로 주민번호, 계좌번호 등의 고객정보를 보호하기 위하여 데이터베이스에 저장할 때, DES, AES등의 대칭키 표준 암호알고리즘이나 공개키 암호알고리즘을 적용하였다. 여기서, 대칭키 암호알고리즘은 공개키 암호알고리즘과 비교하여 연산속도가 빠르기 때문에 검색 성능을 중요시 하는 데이터베이스에서는 일반적으 로 대칭키 암호알고리즘을 사용한다.In general, symmetric key standard encryption algorithms such as DES and AES or public key cryptography algorithms are applied when storing in the database to protect customer information such as social security number and account number. In this case, the symmetric key cryptographic algorithm is faster than the public key cryptographic algorithm. Therefore, the symmetric key cryptographic algorithm is generally used in the database where search performance is important.

그러나, 이와 같은 종래의 방법으로는 암호화하여 저장한 데이터에 대하여, 검색할 때에 성능저하의 문제점이 있다. 그 이유는 데이터베이스의 특정 테이블을 구성하는 하나의 컬럼에 저장되는 암호문들의 순서와 암호화하기 전의 평문들의 순서가 다르기 때문에, 데이터베이스시스템(DBMS)에서 제공하는 인덱싱에 의한 검색속도 최적화를 활용할 수 없기 때문이다. 즉, 컬럼을 구성하는 데이터의 평문과 암호문의 순서가 다르기 때문에 인덱스를 구성하는 데이터가 다르며, 특히 범위검색의 경우에는 사용자가 요청하는 검색문에 대하여 암호화한 데이터를 모두 복호화한 후에 차례대로 검색을 수행해야 한다. However, such a conventional method has a problem of deterioration in performance when searching for encrypted data. The reason is that because the order of cipher texts stored in one column of a specific table of the database is different from the order of plain text before encryption, the search speed optimization by indexing provided by the DBMS cannot be utilized. . In other words, because the order of the plain text and cipher text of the data constituting the column is different, the data constituting the index is different. Especially in the range search, the search is sequentially performed after decrypting all the encrypted data for the search statement requested by the user. Should be done.

따라서, 이와 같이 표준 암호알고리즘을 이용하여 저장한 데이터를 검색할 때의 속도는, 평문을 그대로 저장하고 검색하는 속도와 비교하여 상당한 속도저하를 초래하게 된다.Therefore, the speed of retrieving the stored data using the standard encryption algorithm in this way causes a significant speed reduction compared to the speed of storing and retrieving the plain text as it is.

상기와 같은 문제점 해결하고자 제안된 하나의 종래의 기술로서 버킷기반 인덱스 방법이 있다.One conventional technique proposed to solve the above problem is a bucket-based index method.

종래의 버킷 기반 인덱스 방법은 도 7에 도시된 바와 같이 원래의 평문 테이블에 대해 버킷 기반 인덱스 방법을 적용함으로써, 암호화 테이블을 얻을 수 있다.In the conventional bucket-based index method, as shown in FIG. 7, the encryption table may be obtained by applying the bucket-based index method to the original plain text table.

도 7의 암호화 테이블에서 Etuple 컬럼은 원래의 5개의 컬럼을 합하여(concatenate) 공개된 암호알고리즘(AES, DES 등)으로 암호화하고, 컬럼별로 버킷 기반 인덱스 방법으로 암호화하여 저장하는 구조이다. Salary 컬럼의 경우에는 10과 20사이는 λ를 할당하고, 20과 30사이의 값은 ρ를 할당하였다. In the encryption table of FIG. 7, the Etuple column is a structure in which original five columns are concatenated and encrypted using a public encryption algorithm (AES, DES, etc.), and each column is encrypted and stored in a bucket-based index method. In the case of Salary columns, λ is assigned between 10 and 20, and ρ is assigned between 20 and 30.

만일, Salary가 15보다 크고, 25보다 작은 값을 검색하고자 할 때, 우선, 15와 25가 각각 λ, ρ에 해당하기 때문에, λ와 ρ에 해당하는 모든 값을 가져온 다음, Etuple의 값을 복호화하여 Salary가 λ와 ρ에 해당하는 평문을 모두 볼 수 있다.If Salary is greater than 15 and less than 25, first of all, since 15 and 25 correspond to λ and ρ, we get all the values of λ and ρ, and then decode the value of Etuple. So you can see all the plain text Salary corresponds to λ and ρ.

이 방법은 원래의 테이블을 구성하는 전체 행을 기존 암호알고리즘으로 암호화를 수행하고, 인덱스로 사용할 컬럼의 데이터에 대하여 버킷팅을 수행한다. 이때 버킷 범위 내의 데이터는 모두 동일한 버킷번호를 할당받게 되며, 이 값을 인덱스정보로 이용하게 된다. 따라서, 이 경우 일치검색에 있어서 정확하게 일치하는 평문값을 알기 위해서는 검색값이 포함된 버킷을 가져와서 모두 복호화한 후 비교하는 추가 필터링이 필요하며, 범위검색을 적용할 때에도 해당결과를 포함하는 버킷을 모두 가져와서, 버킷내의 암호화된 값을 모두 복호화하는 필터링 과정이 필요하다.This method encrypts the entire row constituting the original table with the existing encryption algorithm and buckets the data of the column to be used as an index. At this time, all data in the bucket range are assigned the same bucket number, and this value is used as index information. Therefore, in this case, in order to know the exact match value in exact match, additional filtering is required to take the bucket containing the search value, decrypt it, and compare it. You need a filtering process that takes all of them and decrypts all the encrypted values in the bucket.

다시 말해서, 종래의 기술인 버킷팅의 경우에는 평문이 주어졌을 때, 특정버킷으로 할당하여 버킷정보(버킷 ID)만 이용하였다. 즉, 동일한 버킷을 할당 받은 서로 다른 평문의 버킷정보는 동일하다.In other words, in the case of conventional bucketing, when plain text is given, only bucket information (bucket ID) is used by assigning to a specific bucket. That is, bucket information of different plain texts assigned the same bucket is the same.

종래의 버킷 기반 인덱스 방법은 정확한 값을 얻기 위해서 버킷 ID가 동일한 암호화값을 모두 복호화 한 다음에 알 수 있기 때문에 실제로 일치검색과 범위검색 을 지원한다고 볼 수 없을 뿐만 아니라, 검색식과 일치하는 값 이외의 정보도 복호화해야 하기 때문에 추가적인 정보가 노출될 수 있는 안전성의 문제도 유발 시킬 수 있다. Conventional bucket-based indexing method does not support exact match and range search because it knows after decrypting all encrypted values with same bucket ID in order to get accurate value. Since the information must also be decoded, it can also cause safety issues that can expose additional information.

종래의 버킷 기반 인덱스 방법은 단순히 버킷 ID만을 이용하기 때문에 추가 필터링 작업으로 인한 검색 속도 저하는 물론, 불필요한 평문 정보를 노출시킴으로써 보안성의 취약성 문제를 유발하게 되는 문제점이 있다.In the conventional bucket-based indexing method, since only the bucket ID is used, there is a problem that the security speed problem is caused by exposing unnecessary plain text information as well as the search speed due to additional filtering.

본 발명은 숫자는 물론 문자에 대해서도 매핑 과정과 변환 과정을 적용하여 암호화시킴으로서, 데이터베이스 내 테이블의 컬럼을 구성하여 데이터를 안전하게 암호화하여 저장하고, 일치 및 범위 검색을 효율적으로 수행할 수 있다.The present invention encrypts by applying a mapping process and a conversion process for not only numbers but also characters, so that data columns can be safely encrypted and stored, and match and range search can be efficiently performed.

본 발명에 따른 데이터 암호화 장치는, 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터 암호화 방법으로서, 암호화 요청 데이터가 입력됨에 따라 상기 도메인 구간에서 상기 암호화 요청 데이터의 첫 번째 문자에 대응되는 치역 구간을 검색하는 단계와, 상기 검색된 치역 구간을 상기 구간 분할 방식으로 분할한 후 상기 분할된 치역 구간에서 상기 암호화 요청 데이터의 두 번째 문자에 대한 치역 구간을 검색하는 방식으로 상기 암호화 요청 데이터의 최종 문자에 대한 치역 구간을 검색하여 상기 암호 요청 데이터의 암호화 값을 생성하는 단계와, 상기 생성된 암호화 값과 상기 암호화 요청 데이터의 문자 길이를 암호화하여 데이터베이스에 저장하는 단계를 포함한다.The data encryption apparatus according to the present invention is a data encryption method using a mapping function for dividing a domain section set to have a gamut section for each unit character used in the data in a section division method. Retrieving a gamut section corresponding to the first character of the encryption request data in a section; dividing the searched gamut section by the section division method; and then searching for a second character of the encryption request data in the divided range section. Generating an encryption value of the encryption request data by searching for a region of the last character of the encryption request data in a manner of searching for a region of the encryption section, and encrypting the generated encryption value and the character length of the encryption request data. To store in the database Include.

본 발명에 따른 데이터 복호화 장치는, 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하여 상기 단위 문자 각각에 치역 구간을 매핑하는 매핑부와, 암호화 값과 문자 길이를 입력받으며, 상기 도메인 구간에서 상기 암호화 값이 속하는 치역 구간을 검색한 후 상기 검색된 치역 구간에 매핑된 문자를 추출하고, 상기 검색된 치역 구간을 상기 구간 분할 방식으로 재분할하며, 상기 재분할된 치역 구간에서 상기 암호화 값이 포함된 치역 구간에 매핑된 문자를 추출하는 방법으로 상기 문자 길이와 상기 암호화 값에 대응되는 최종 데이터를 추출하는 복호화부를 포함한다.In accordance with another aspect of the present invention, a data decoding apparatus includes: a mapping unit configured to divide a domain section set to have a range section for each unit character used for data by a section partitioning method, and to map the range section to each of the unit characters, and an encryption value and a character length. In response to receiving a search, the domain section to which the encryption value belongs in the domain section, and extracts the character mapped to the searched section, re-dividing the searched section in the segmentation scheme, in the redivided section And a decryption unit which extracts the final data corresponding to the character length and the encryption value by extracting a character mapped to the region including the encryption value.

본 발명에 따른 데이터 암호화 방법은, 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터 암호화 방법으로서, 암호화 요청 데이터가 입력됨에 따라 상기 도메인 구간에서 상기 암호화 요청 데이터의 첫 번째 문자에 대응되는 치역 구간을 검색하는 단계와, 상기 검색된 치역 구간을 상기 구간 분할 방식으로 분할한 후 상기 분할된 치역 구간에서 상기 암호화 요청 데이터의 두 번째 문자에 대한 치역 구간을 검색하는 방식으로 상기 암호화 요청 데이터의 최종 문자에 대한 치역 구간을 검색하여 상기 암호 요청 데이터의 암호화 값을 생성하는 단계와, 상기 생성된 암호화 값과 상기 암호화 요청 데이터의 문자 길이를 암호화하여 데이터베이스에 저장하는 단계를 포함한다.The data encryption method according to the present invention is a data encryption method using a mapping function for dividing a domain section set to have a gamut section for each unit character used for the data in a section division method. Retrieving a gamut section corresponding to the first character of the encryption request data in a section; dividing the searched gamut section by the section division method; and then searching for a second character of the encryption request data in the divided range section. Generating an encryption value of the encryption request data by searching for a region of the last character of the encryption request data in a manner of searching for a region of the encryption section, and encrypting the generated encryption value and the character length of the encryption request data. To store in the database Include.

본 발명에 따른 데이터 검색 방법은,데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터 검색 방법으로서, 입력 데이터에 대한 암호화 값을 상기 도메인 구간 내의 값을 이용하여 생성한 후 상기 생성된 암호화 값과 상기 입력 데이터의 문자 길이를 데이터베이스에 저장하는 단계와, 상기 데이터베이스의 검색을 위한 검색어를 입력받는 단계와, 상기 도메인 구간에서 상기 검색어의 첫 번째 문자에 대응되는 치역 구간을 검색하는 단계와, 상기 검색된 치역 구간을 상기 구간 분할 방식으로 분할한 후 상기 검색어의 두 번째 문자에 대한 치역 구간을 상기 검색된 치역 구간에서 검색하는 방식으로 상기 검색어의 최종 문자에 대한 치역 구간을 검색하는 단계와, 상기 데이터베이스에서 상기 검색어의 최종 문자에 대한 치역 구간에 포함되는 암호화 값을 검색하는 단계 상기 검색어의 최종 문자에 대한 치역 구간에 대응되는 값을 검색하는 단계를 포함한다.The data retrieval method according to the present invention is a data retrieval method using a mapping function for dividing a domain section set to have a gamut section for each unit letter used in the data by an interval division method, wherein an encryption value for input data is converted into the domain. Generating the encrypted value and the character length of the input data in a database after receiving the generated value using a value within a section; receiving a search term for searching the database; Searching for a range of sections corresponding to a first letter, dividing the searched range of sections by the section division method, and then searching the range of sections for the second letter of the search word in the found range of sections; Searching for a range of characters for a character, From the database comprises the steps of searching for values corresponding to the station interval for the last character of the search step for searching the encryption values contained in the section station for the last character of the search term.

본 발명은 데이터베이스 시스템에 적용되어 고객 정보를 데이터베이스에 저장하고 검색할 때, 저장된 데이터에 대한 안전성은 물론, 데이터 검색 (일치검색, 범위검색, COUNT 등) 시에도 효율적으로 검색결과를 제공할 수 있는 효과가 있다.The present invention is applied to a database system when storing and retrieving customer information in the database, as well as the safety of the stored data, as well as can efficiently provide search results when searching data (matching search, range search, COUNT, etc.) It works.

또한. 본 발명은 기존의 데이터베이스 암호화 및 검색 방법과 비교하여 안전성과 검색의 효율성을 동시에 만족시킴으로써, 콘텐츠 서비스 공급자는 물론이고 데이터베이스 시스템을 사용하는 국가기관, ISP, 포털, 금융권 등에서 중요한 개인 정보를 보호하는 데 활용 될 수 있다.Also. The present invention satisfies the safety and the efficiency of the search compared to the existing database encryption and retrieval methods, thereby protecting important personal information not only in the content service provider but also in national institutions, ISPs, portals, financial institutions, etc. that use the database system. Can be utilized.

이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울러 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 실시 예에 따른 암호화 장치를 도시한 블록도로서, 매핑부(100), 변환부(120) 및 암호화부(140)를 포함한다.1 is a block diagram illustrating an encryption apparatus according to an exemplary embodiment of the present invention, which includes a mapping unit 100, a conversion unit 120, and an encryption unit 140.

매핑부(100)는 소정의 구간 분할 방식으로 입력 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 [n, m] 도메인 구간을 분할한다. 즉, 매핑부(100)는 입력 데이터, 예를 들어 평문을 구성하는 문자, 숫자, 알파벳, 한글, 특수 문자 등이 도메인 구간 내의 치역 구간을 갖도록 매핑한다. 다시 말해서, 도 2a에 도시된 바와 같이, [0, 1]의 도메인 구간을 다수의 치역 구간으로 나눈 후 각 치역 구간에 단위 문자를 할당하여 매핑한다. 예를 들어, 단위 문자 'S'는 [0, 0.05]의 치역 구간을 갖고, 'Y'는 [0.5, 0.52]의 치역 구간을 갖으며, 'K'는 [0.9, 1]의 치역 구간을 갖는다. The mapping unit 100 divides the [n, m] domain section to have a range section for each unit letter used for the input data in a predetermined section division method. That is, the mapping unit 100 maps input data, for example, characters, numbers, alphabets, Korean characters, and special characters constituting the plain text to have a range section within a domain section. In other words, as shown in FIG. 2A, the domain sections of [0, 1] are divided into a plurality of range sections, and then unit letters are assigned to each range section and mapped. For example, the unit letter 'S' has a range of [0, 0.05], 'Y' has a range of [0.5, 0.52], and 'K' has a range of [0.9, 1]. Have

본 발명에서 입력 데이터로 이용되는 단위 문자는 숫자, 알파벳, 한글, 특수문자 등을 포함한다.In the present invention, the unit character used as input data includes numbers, alphabets, Korean characters, special characters, and the like.

변환부(120)는 단위 문자별로 각기 다른 치역 구간을 갖는 도메인 구간 [0, 1]에서 입력 데이터의 첫 번째 문자에 대응되는 치역 구간을 검색하고, 검색된 치역 구간을 단위 문자별로 치역 구간을 갖도록 하는 구간 분할 방식으로 재분할하고, 재분할된 치역 구간에서 입력 데이터의 두 번째 문자에 대한 치역 구간을 검색 하는 방식으로 입력 데이터의 최종 문자에 대한 치역 구간을 검색한 후 검색된 치역 구간을 암호화부(140)에 제공한다.The conversion unit 120 searches for a range section corresponding to the first letter of the input data in the domain section [0, 1] having different range sections for each unit letter, and has a range section for each unit letter. After re-dividing by the segmentation scheme, searching for the range of the last character of the input data by searching for the range of the second character of the input data in the range of re-divided range and then encrypting the retrieved range to the encryption unit 140 to provide.

암호화부(140)는 최종 문자에 대한 치역 구간과 입력 데이터의 문자 길이를 이용하여 입력 데이터를 암호화시키는데, 즉 최종 문자에 대한 치역 구간에서 랜덤하게 숫자를 선택하여 입력 데이터에 대한 암호화 값을 생성함과 더불어 문자 길이를 기 설정된 방식, 예컨대 AES, DES 방식으로 암호화한다.The encryption unit 140 encrypts the input data using the gamut section for the last character and the character length of the input data, that is, randomly selects a number in the gamut section for the last character to generate an encryption value for the input data. In addition, the character length is encrypted using a preset method such as AES and DES.

상기와 같은 암호화 과정에 대해 예를 들어 설명하면 아래와 같다.For example, the encryption process described above will be described below.

즉, 입력 데이터, 예컨대 평문 x를 구성하는 단위 숫자나 문자가 x1, x2, .....,xn이라고 할 때, 매핑 과정과 변환 과정을 거쳐 최종 암호화된 값 y가 생성된다는 것을 예를 들어 설명하면 아래와 같다. 여기서, x는 알파벳, 숫자 등을 이용하여 만들 수 있다.That is, when the unit number or character constituting the input data, for example, the plain text x is x1, x2, ....., xn, the final encrypted value y is generated through the mapping process and the conversion process. The explanation is as follows. Here, x may be created using alphabets and numbers.

입력 데이터를 SKY라고 할 때, 암호화된 값 y는 Ek(x), where x=(x1, x2, x3)=(SKY)이 된다.When the input data is called SKY, the encrypted value y becomes Ek (x), where x = (x1, x2, x3) = (SKY).

매핑부(100)는 도메인 구간이 [0, 1]이라고 하고 입력 데이터에 이용될 수 있는 단위 문자가의 수가 26가지라고 할 때, 도 2a에 도시된 바와 같이, 도메인 구간 [0, 1]을 26개 이상의 치역 구간을 갖도록 나누고, 각 단위 문자를 치역 구간에 각각 대응시킨다.When the mapping section 100 says that the domain section is [0, 1] and the number of unit character values that can be used for the input data is 26, as shown in FIG. 2A, the mapping section 100 determines the domain section [0, 1]. Divide to have more than 26 range sections, and each unit letter corresponds to each range section.

변환부(120)는 입력 데이터의 첫 번째 문자 'S'에 대한 치역 구간을 다수의 치역 구간을 갖는 도메인 구간에서 검색하는데, 즉 첫 번째 'S'에 대한 치역 구간 [0, 0.05]를 검색한다. 그런 다음, 변환부(120)는 검색된 치역 구간인 [0, 0.05] 를 도 2b에 도시된 바와 같이 단위 문자별로 서로 다른 치역 구간을 갖도록 하는 구간 분할 방식으로 재분할한 후 재분할된 치역 구간에서 입력 데이터의 두 번째 문자 'K'의 치역 구간인 [0.045, 0.05]를 검색하고, 검색된 두 번째 문자 'K'의 치역 구간을 구간 분할 방식으로 분할한 후 세 번째 문자 'Y'의 치역 구간인 [0.0475, 0.0476]을 검색한다. 이렇게 검색된 치역 구간, 즉 입력 데이터의 최종 문자에 대한 치역 구간은 입력 데이터와 더불어 암호화부(140)에 제공된다.The conversion unit 120 searches for a region for the first letter 'S' of the input data in a domain section having a plurality of regions, that is, searches for a region [0, 0.05] for the first 'S'. . Then, the transforming unit 120 repartitions the retrieved range section [0, 0.05] in a section division method to have different range sections for each unit letter as shown in FIG. 2B, and then inputs data in the divided section section. Search for [0.045, 0.05], which is the range of the second letter of 'K', divide the retrieved range of the second letter of 'K' by the segmentation method, and then add [0.0475, the range of the third letter of 'Y'. , 0.0476]. The retrieved range section, that is, the range section for the last character of the input data is provided to the encryption unit 140 together with the input data.

암호화부(140)는 최종 문자에 대한 치역 구간인 [0.0475, 0.0476]에서 임의의 숫자를 랜덤하게 선택하고, 입력 데이터의 문자 길이를 소정의 암호화 방식, 예컨대 AES, DES 등의 방식으로 이용하여 암호화함으로써, 입력 데이터에 대한 암호화 값과 암호화된 문자 길이 값을 출력한다. 즉, 암호화부(140)는 최종 문자에 대한 치역 구간인 [0.0475, 0.0476]에 포함되는 숫자 "0.04759"와 입력 데이터의 문자 길이인 "3"을 암호화하여 출력한다. The encryption unit 140 randomly selects a random number from [0.0475, 0.0476], which is a range for the last character, and encrypts the character by using a character length of the input data using a predetermined encryption method such as AES or DES. This outputs an encrypted value and an encrypted character length value for the input data. That is, the encryption unit 140 encrypts and outputs the number "0.04759" included in the [0.0475, 0.0476] range of the last character and "3" which is the character length of the input data.

본 발명에서는 암호화부(140)가 문자 길이를 암호화하는 것으로 예를 들어 설명하였지만, 최종 문자에 대한 치역 구간인 [0.0475, 0.0476]내에 포함된 암호화 값과 문자 길이만을 출력할 수 있다.Although the encryption unit 140 has been described as an example of encrypting the character length in the present invention, only the encryption value and the character length included in the [0.0475, 0.0476] range of the last character may be output.

상기와 같은 암호화 과정을 알고리즘으로 표현하면, 도 3에 도시된 바와 같다. When the above encryption process is represented by an algorithm, it is as shown in FIG.

도 4는 본 발명에 따른 복호화 장치를 도시한 블록도로서, 매핑부(400), 복호화부(410)를 포함한다.4 is a block diagram illustrating a decoding apparatus according to the present invention, and includes a mapping unit 400 and a decoding unit 410.

매핑부(400)는 도 1의 암호화 장치 내 매핑부(100)와 동일한 기능을 수행하 는데, 즉 소정의 구간 분할 방식으로 입력 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 [n, m] 도메인 구간을 분할한다. The mapping unit 400 performs the same function as the mapping unit 100 in the encryption apparatus of FIG. 1, that is, the [n, m] domain to have a gamut section for each unit letter used for the input data in a predetermined section division method. Divide the interval.

복호화부(410)는 암호화된 값과 문자 길이를 입력받아 도메인 구간에서 암호화 값이 속하는 첫 번째 치역 구간을 검색한 후 검색된 치역 구간에 대응되는 단위 문자를 추출하며, 구간 분할 방식으로 검색된 첫 번째 치역 구간을 분할한 후 분할된 첫 번째 치역 구간에서 암호화 값이 포함되는 두 번째 치역 구간과 그에 대응되는 단위 문자를 추출하는 방식으로 암호화 값에 해당되는 데이터를 복원한다.The decryption unit 410 receives the encrypted value and the length of the character, searches for the first range section to which the encrypted value belongs in the domain section, and extracts the unit character corresponding to the retrieved range section, and the first range searched by the section division method. After dividing the interval, the data corresponding to the encryption value is restored by extracting the second region including the encryption value from the divided first region and the unit character corresponding thereto.

복호화 과정에 대해 예를 들어 설명하면 아래와 같다. 즉, 상기의 암호화 과정에서 암호화 값인 0.04759와 문자 길이 3이 복호화 장치에 입력된 경우를 예로 들어 설명하면 아래와 같다.An example of the decoding process is as follows. That is, the case where the encryption value 0.04759 and the character length 3 are input to the decryption apparatus in the encryption process will be described below.

복호화부(410)는 단위 문자별 치역 구간을 갖는 도메인 구간에서 암호화 값인 0.04759가 속하는 첫 번째 치역 구간을 검색한 후 검색된 첫 번째 치역 구간에 설정된 단위 문자인 "S"를 검색함으로써, 첫 번째 문자를 찾을 수 있다.The decoder 410 searches for the first range in which the encryption value 0.04759 belongs in the domain section having the range section for each unit letter, and then searches for “S” which is the unit letter set in the first range section. You can find it.

그런 다음, 복호화부(410)는 첫 번째 치역 구간을 도메인 구간을 분할하는 방식, 즉 매핑부(400)에서 이용하는 구간 분할 방식을 통해 다수의 치역 구간으로 분할한 후 분할된 첫 번째 치역 구간에서 암호화 값이 포함된 두 번째 치역 구간을 검색하고, 검색된 두 번째 치역 구간에 설정된 단위 문자인 "K"를 검색함으로써, 두 번째 문자를 찾을 수 있으며, 이와 같은 방식으로 세 번째 문자인 "Y"를 찾을 수 있다.Then, the decoder 410 divides the first range interval into a plurality of range intervals by dividing the domain interval into domain domains, that is, the interval partitioning scheme used by the mapping unit 400, and then encrypts the first range interval. The second character can be found by searching for the second range containing the value, and by searching for the unit letter "K" set in the second range, and in this way the third character "Y". Can be.

따라서, 복호화부(410)는 암호화 값인 0.04759에 대응되는 문자열인 "SKY"를 찾음으로써, 암호화 값에 대응되는 데이터를 복원할 수 있으며, 이러한 복호화 알고리즘을 표현하면 도 5에 도시된 바와 같다.Accordingly, the decryption unit 410 may recover the data corresponding to the encryption value by searching for the string “SKY” corresponding to the encryption value 0.04759, and this decryption algorithm is represented as shown in FIG. 5.

본 발명과 같은 암호화 장치와 복호화 장치를 이용하여 콘텐츠 서비스 공급자의 데이터베이스에 저장된 데이터, 예컨대 가입자 정보를 암호화하는 과정과 검색하는 과정에 대해 도 6a 내지 도 6c를 참조하여 설명한다. 이때, 가입자 정보는 고객명, 주민번호 및 이용 콘텐츠 정보 등으로 이루어진다고 가정한다.A process of encrypting and retrieving data, such as subscriber information, stored in a database of a content service provider using an encryption apparatus and a decryption apparatus as described above will be described with reference to FIGS. 6A to 6C. In this case, it is assumed that the subscriber information includes customer name, social security number, and content information used.

도 6a는 암호화되기 전 가입자 정보 테이블을 도시한 도면이며, 도 6b는 암호화 과정을 통해 가입자 정보 테이블을 암호화한 결과를 도시한 암호화 테이블이며, 도 6c는 가입자 정보 테이블에서 암호화된 값에 해당되는 데이터의 문자 길이를 표준 암호화 알고리즘을 이용하여 암호화한 결과를 도시한 문자 길이 암호화 테이블이다.FIG. 6A is a diagram illustrating a subscriber information table before encryption. FIG. 6B is an encryption table showing a result of encrypting a subscriber information table through an encryption process. FIG. 6C is data corresponding to an encrypted value in a subscriber information table. A character length encryption table showing a result of encrypting a character length of a character using a standard encryption algorithm.

본 발명의 암호화 장치는 도 6a에 도시된 바와 같은 가입자 정보 테이블을 입력받을 경우 상기에 설명된 암호화 과정을 통해 도 6b에 도시된 바와 같이 테이블 내 각 필드의 데이터를 암호화함으로써, 도 6b에 도시된 바와 같은 암호화 테이블을 생성한다.When the encryption apparatus of the present invention receives the subscriber information table as shown in FIG. 6A, the data of each field in the table is encrypted as shown in FIG. 6B through the encryption process described above. Create an encryption table as shown.

또한, 본 발명의 암호화 장치는, 각 필드에 속하는 데이터의 문자 개수를 표준 알고리즘으로 암호화하여 도 6c에 도시된 바와 같은 문자 길이 암호화 테이블을 생성한다. 이렇게 생성된 암호화 테이블과 문자 길이 암호화 테이블은 콘텐츠 서비스 공급자가 운영하는 데이터베이스에 저장된다.In addition, the encryption apparatus of the present invention encrypts the number of characters of data belonging to each field by a standard algorithm to generate a character length encryption table as shown in Fig. 6C. The generated encryption table and character length encryption table are stored in a database operated by a content service provider.

한편, 가입자가 이용하는 이용 콘텐츠를 검색하기 위한 검색어, 예컨대 "SKY"가 입력된 경우 본 발명의 암호화 장치는 입력된 검색어를 암호화 과정을 통해 최종 문자가 포함되는 치역 구간, 즉 [0.0475, 0.0476]을 검색한다.On the other hand, when a search word for searching for the use content used by the subscriber, for example, "SKY" is input, the encryption apparatus of the present invention performs the encryption period of the input search word including the final character, that is, [0.0475, 0.0476]. Search.

그런 다음, 이용 콘텐츠의 암호화 값들이 저장된 암호화 테이블에서 최종 문자의 치역 구간인 [0.0475, 0.0476]에 포함되는 암호화 값을 검색하고, 문자 길이 암호화 테이블에서 검색된 암호화 값에 대응되는 문자 길이 암호화 값을 각각 검색한 후 검색된 암호화 값과 문자 길이 암호화 값을 복호화 장치에 출력한다.Then, an encryption value included in [0.0475, 0.0476], which is the range of the last character, is retrieved from the encryption table in which the encryption values of the used content are stored, and each character length encryption value corresponding to the encryption value retrieved from the character length encryption table is retrieved. After searching, the found encryption value and the character length encryption value are output to the decryption apparatus.

이에 따라, 복호화 장치는 문자 길이 암호화 값을 표준 암호화 알고리즘으로 복호화하여 문자 길이를 계산하고, 계산된 문자 길이와 암호화 값을 상기의 설명에서와 같은 복호화 과정을 통해 복호화시켜 검색어에 대응되는 데이터를 생성한다.Accordingly, the decryption apparatus decrypts the character length encryption value using a standard encryption algorithm to calculate the character length, and decrypts the calculated character length and the encryption value through a decryption process as described above to generate data corresponding to the search word. do.

지금까지 본 발명의 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시 예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.The present invention has been limited to the embodiments of the present invention, but it is obvious that the technology of the present invention can be easily modified by those skilled in the art. Such modified embodiments should be included in the technical spirit described in the claims of the present invention.

도 1은 본 발명에 따른 데이터 암호화 장치를 도시한 블록도이며,1 is a block diagram showing a data encryption apparatus according to the present invention,

도 2a 내지 도 2c는 본 발명에 따른 매핑 과정과 변환 과정을 설명하기 위한 도면이다.2A to 2C are diagrams for describing a mapping process and a transformation process according to the present invention.

도 3은 본 발명에 따른 암호화 장치에 적용되는 암호화 알고리즘을 도시한 도면이며,3 is a diagram illustrating an encryption algorithm applied to an encryption apparatus according to the present invention.

도 4는 본 발명에 따른 데이터 복호화 장치를 도시한 블록도이며,4 is a block diagram showing a data decoding apparatus according to the present invention;

도 5는 본 발명에 따른 데이터 복호화 장치에 적용되는 복호화 알고리즘을 도시한 도면이며,5 is a diagram illustrating a decoding algorithm applied to a data decoding apparatus according to the present invention.

도 6a는 암호화되기 전 가입자 정보 테이블을 도시한 도면이며, 6A is a diagram illustrating a subscriber information table before being encrypted.

도 6b는 암호화 과정을 통해 가입자 정보 테이블을 암호화한 결과를 도시한 암호화 테이블이며, 6B is an encryption table showing a result of encrypting a subscriber information table through an encryption process.

도 6c는 가입자 정보 테이블에서 암호화된 값에 해당되는 데이터의 문자 길이를 표준 암호화 알고리즘을 이용하여 암호화한 결과를 도시한 문자 길이 암호화 테이블이며,6C is a character length encryption table showing a result of encrypting a character length of data corresponding to an encrypted value in a subscriber information table using a standard encryption algorithm.

도 7은 종래의 버킷 기반 인덱스 방법을 설명하기 위한 도면이다.7 is a diagram illustrating a conventional bucket-based index method.

Claims (11)

데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑부와,A mapping unit for dividing a domain section which is preset to have a range section for each unit letter used for data by a section partitioning method; 상기 도메인 구간에서 외부로부터 입력받은 암호문의 첫 번째 문자에 해당되는 치역 구간을 검색한 후 이를 상기 구간 분할 방식으로 재분할하며, 상기 재분할된 치역 구간에서 상기 암호문의 두 번째 문자에 해당되는 치역 구간을 상기 구간 분할 방식으로 재분할하는 방법으로 상기 암호문의 최종 문자에 대한 치역 구간을 검색하는 변환부와,Search for a range of sections corresponding to the first character of the ciphertext received from the outside in the domain section, and then repartition them using the section partitioning method, and the range of sections corresponding to the second letter of the ciphertext in the repartitioned range of sections A converting unit for searching a range section for the last character of the cipher text by a method of re-dividing by a section division method; 상기 변환부에서 검색한 상기 최종 문자의 치역 구간을 이용하여 상기 암호문의 암호화 값을 생성함과 더불어 상기 암호문의 문자 길이를 계산하는 암호화부An encryption unit for generating an encryption value of the cipher text using the range of the last character retrieved by the conversion unit, and calculates the character length of the cipher text 를 포함하는 데이터 암호화 장치.Data encryption device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 암호화부는, 상기 검색된 최종 문자에 대한 치역 구간 안에 포함되는 랜덤 수를 상기 암호문의 암호화 값으로 생성하는 것을 특징으로 하는 데이터 암호화 장치.And the encryption unit generates a random number included in a range of the retrieved last character as an encryption value of the cipher text. 제 1 항에 있어서,The method of claim 1, 상기 암호화부는, 상기 계산된 문자 길이를 AES 또는 DES 방식으로 암호화시 키는 것을 특징으로 하는 데이터 암호화 장치.And the encryption unit encrypts the calculated character length in an AES or DES manner. 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하여 상기 단위 문자 각각에 치역 구간을 매핑하는 매핑부와,A mapping unit for dividing a preset domain section to have a section section for each unit letter used for data by section partitioning, and mapping the section section to each unit letter; 암호화 값과 문자 길이를 입력받으며, 상기 도메인 구간에서 상기 암호화 값이 속하는 치역 구간을 검색한 후 상기 검색된 치역 구간에 매핑된 문자를 추출하고, 상기 검색된 치역 구간을 상기 구간 분할 방식으로 재분할하며, 상기 재분할된 치역 구간에서 상기 암호화 값이 포함된 치역 구간에 매핑된 문자를 추출하는 방법으로 상기 문자 길이와 상기 암호화 값에 대응되는 최종 데이터를 추출하는 복호화부Receiving an encryption value and a character length, searching for a region to which the encryption value belongs in the domain section, extracting a character mapped to the searched region, repartitioning the found region to the segmentation scheme, and A decoder that extracts the final data corresponding to the character length and the encryption value by extracting a character mapped to the region including the encryption value in the subdivided range 를 포함하는 데이터 복호화 장치.Data decoding apparatus comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 복호화부는, The decoding unit, 소정 암호화 알고리즘으로 암호화된 상기 문자 길이를 입력받는 것을 특징으로 하는 데이터 복호화 장치.And a character length encrypted by a predetermined encryption algorithm. 제 5 항에 있어서,The method of claim 5, 상기 복호화부는, 암호화된 상기 문자 길이를 상기 소정 암호화 알고리즘으로 복호화시킨 후 상기 암호화 값에 대응되는 상기 최종 데이터를 추출하는 것을 특징으로 하는 데이터 복호화 장치.And the decryption unit is configured to extract the final data corresponding to the encryption value after decrypting the encrypted character length with the predetermined encryption algorithm. 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터 암호화 방법으로서, A data encryption method using a mapping function that divides a domain section set to have a range section for each unit character used for data in a section division method, 암호화 요청 데이터가 입력됨에 따라 상기 도메인 구간에서 상기 암호화 요청 데이터의 첫 번째 문자에 대응되는 치역 구간을 검색하는 단계와,Retrieving a gamut section corresponding to the first character of the encryption request data in the domain section as encryption request data is input; 상기 검색된 치역 구간을 상기 구간 분할 방식으로 분할한 후 상기 분할된 치역 구간에서 상기 암호화 요청 데이터의 두 번째 문자에 대한 치역 구간을 검색하는 방식으로 상기 암호화 요청 데이터의 최종 문자에 대한 치역 구간을 검색하여 상기 암호 요청 데이터의 암호화 값을 생성하는 단계와,After dividing the retrieved range section by the section division method, the range section for the last character of the encryption request data is searched by searching for the range section for the second character of the encryption request data in the divided range section. Generating an encryption value of the encryption request data; 상기 생성된 암호화 값과 상기 암호화 요청 데이터의 문자 길이를 암호화하여 데이터베이스에 저장하는 단계Encrypting the generated encryption value and the character length of the encryption request data and storing them in a database 를 포함하는 데이터 암호화 방법.Data encryption method comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 데이터베이스에 저장하는 단계는,Storing in the database, 상기 암호화 요청 데이터의 최종 문자에 대한 치역 구간에서 랜덤 수를 선택하여 상기 암호화 값으로 생성한 후 이를 상기 암호화 요청 데이터의 문자 길이와 함께 상기 데이터베이스에 저장하는 것을 특징으로 하는 데이터 암호화 방법.And selecting a random number in the range region for the last character of the encryption request data to generate the encryption value, and storing the random number in the database together with the character length of the encryption request data. 제 7 항에 있어서,The method of claim 7, wherein 상기 데이터베이스에 저장하는 단계는,Storing in the database, 상기 문자 길이를 AES 또는 DES 방식으로 암호화하여 상기 데이터베이스에 저장하는 것을 특징으로 하는 데이터 암호화 방법.And encrypting the character length using an AES or DES method and storing the character length in the database. 데이터에 이용되는 단위 문자별로 치역 구간을 갖도록 기 설정된 도메인 구간을 구간 분할 방식으로 분할하는 매핑 함수를 이용하여 데이터 검색 방법으로서, A data retrieval method using a mapping function for dividing a domain section set to have a range section for each unit letter used for data by a section partitioning method, 입력 데이터에 대한 암호화 값을 상기 도메인 구간 내의 값을 이용하여 생성한 후 상기 생성된 암호화 값과 상기 입력 데이터의 문자 길이를 데이터베이스에 저장하는 단계와,Generating an encryption value for input data using a value within the domain section, and storing the generated encryption value and the character length of the input data in a database; 상기 데이터베이스의 검색을 위한 검색어를 입력받는 단계와,Receiving a search term for searching the database; 상기 도메인 구간에서 상기 검색어의 첫 번째 문자에 대응되는 치역 구간을 검색하는 단계와,Searching for a range section corresponding to the first letter of the search word in the domain section; 상기 검색된 치역 구간을 상기 구간 분할 방식으로 분할한 후 상기 검색어의 두 번째 문자에 대한 치역 구간을 상기 검색된 치역 구간에서 검색하는 방식으로 상기 검색어의 최종 문자에 대한 치역 구간을 검색하는 단계와,Retrieving the range of the last character of the search word by dividing the retrieved range of interval by the section division method and searching the range of the second letter of the search term in the searched range of interval; 상기 데이터베이스에서 상기 검색어의 최종 문자에 대한 치역 구간에 포함되는 암호화 값을 검색하는 단계Retrieving an encryption value included in a gamut section for the last character of the search word from the database; 를 포함하는 데이터 검색 방법.Data retrieval method comprising a. 제 10 항에 있어서,11. The method of claim 10, 상기 데이터 검색 방법은,The data retrieval method, 상기 데이터베이스에서 검색된 암호화 값과 문자 길이를 입력받아 상기 도메인 구간에서 상기 검색된 암호화 값이 속하는 치역 구간을 상기 도메인 구간에서 검색하여 상기 암호화 값에 대응되는 첫 번째 문자를 추출하는 단계와,Receiving the encryption value and the character length retrieved from the database and searching the domain section to which the retrieved encryption value belongs in the domain section in the domain section to extract the first character corresponding to the encryption value; 상기 구간 분할 방식으로 상기 검색된 치역 구간을 분할하고, 상기 분할된 치역 구간에서 상기 검색된 암호화 값이 속하는 치역 구간을 검색하여 상기 암호화 값에 대응되는 두 번째 문자를 추출하는 단계와,Dividing the searched range by the interval division method, searching for a range within which the retrieved encryption value belongs, and extracting a second character corresponding to the encryption value from the divided range; 상기 단계를 반복 수행하여 상기 문자 길이와 상기 데이터베이스에서 검색된 암호화 값에 대응되는 최종 데이터를 추출하는 단계Repeating the above steps to extract final data corresponding to the character length and the encryption value retrieved from the database 를 더 포함하는 데이터 검색 방법.Data retrieval method comprising more.
KR1020090023607A 2008-12-01 2009-03-19 Data encryption apparatus and method, data decoding apparatus, data searching method KR101095862B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080120807 2008-12-01
KR20080120807 2008-12-01

Publications (2)

Publication Number Publication Date
KR20100062803A KR20100062803A (en) 2010-06-10
KR101095862B1 true KR101095862B1 (en) 2011-12-21

Family

ID=42363010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023607A KR101095862B1 (en) 2008-12-01 2009-03-19 Data encryption apparatus and method, data decoding apparatus, data searching method

Country Status (1)

Country Link
KR (1) KR101095862B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101989813B1 (en) * 2012-06-29 2019-06-18 펜타시큐리티시스템 주식회사 Generating and verifying the alternative data in a specified format

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006528382A (en) 2003-07-21 2006-12-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Search method in documents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006528382A (en) 2003-07-21 2006-12-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Search method in documents

Also Published As

Publication number Publication date
KR20100062803A (en) 2010-06-10

Similar Documents

Publication Publication Date Title
US11709948B1 (en) Systems and methods for generation of secure indexes for cryptographically-secure queries
US10467420B2 (en) Systems for embedding information in data strings
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN111199053B (en) System and method for multi-character wildcard search of encrypted data
US9147079B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US9634838B2 (en) Complex format-preserving encryption scheme
US10461924B2 (en) Format-preserving cipher
US10009169B2 (en) Format-preserving cipher
CN107609418A (en) Desensitization method, device, storage device and the computer equipment of text data
CN105959098A (en) Format-reserved encryption algorithm based on multi-segmented Feistel network
US9313023B1 (en) Format-preserving cipher
US10922273B1 (en) Forward-private dynamic searchable symmetric encryption (DSSE) with efficient search
CN110505054B (en) Data processing method, device and equipment based on dynamic white box
KR100936937B1 (en) Database encryption and query methods keeping order within bucket partially
CN102456108B (en) Encryption method for ibus pinyin code table
WO2014118230A1 (en) Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data
CN102447558B (en) Encryption method using random sequence on-demand and having misleading function
US20130268750A1 (en) Encoded database management system, client and server, natural joining method and program
Geetha et al. Tamilian cryptography: an efficient hybrid symmetric key encryption algorithm
Song et al. Design and implementation of HDFS data encryption scheme using ARIA algorithm on Hadoop
KR101703828B1 (en) Method of generating index tag for encrypted data. method of searching encrypted data using index tag and database apparatus for the same
CN104794243B (en) Third party's cipher text retrieval method based on filename
KR101095862B1 (en) Data encryption apparatus and method, data decoding apparatus, data searching method
CN102360414B (en) Misguiding encryption method capable of correcting pseudorandom sequence
KR20110057369A (en) Data encryption apparatus and its method

Legal Events

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

Payment date: 20151208

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161213

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171212

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181213

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200113

Year of fee payment: 9