KR101193599B1 - System for encryption and decryption of data and thereof - Google Patents
System for encryption and decryption of data and thereof Download PDFInfo
- Publication number
- KR101193599B1 KR101193599B1 KR1020110051162A KR20110051162A KR101193599B1 KR 101193599 B1 KR101193599 B1 KR 101193599B1 KR 1020110051162 A KR1020110051162 A KR 1020110051162A KR 20110051162 A KR20110051162 A KR 20110051162A KR 101193599 B1 KR101193599 B1 KR 101193599B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- unit
- merged
- code
- merge
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
Abstract
Description
본 발명은 데이터 베이스에 저장되는 데이터를 암호화 및 복호화하는 시스템에 관한 것으로서, 더욱 상세하게는 데이터를 기계어로 암호화하여 데이터 베이스에 저장한 후 이를 다시 복호화함으로써 데이터 베이스에 대한 외부 침입자가 접근 권한을 가지더라도 데이터를 해독할 수 없을 뿐만 아니라 암호화와 복호화시 데이터의 처리를 병렬로 처리함으로써 안정적이고 신속한 처리가 가능한 데이터의 암호화 및 복호화 시스템 및 그 방법에 관한 것이다.The present invention relates to a system for encrypting and decrypting data stored in a database, and more particularly, encrypts data in machine language, stores the data in a database, and decrypts the data again to decrypt the data. The present invention relates to a system and method for encrypting and decrypting data that can not only decrypt data, but also enables stable and rapid processing by processing data in parallel during encryption and decryption.
네트워크를 비롯하는 정보시스템에서는 불특정다수의 사용자가 사용하는 환경하에 놓여 있으며, 그에 따라 데이터가 외부 환경에 노출되어 있기 때문에 불법적인 해킹 등으로 인하여 접속자의 ID와 접속자 패스워드를 알 경우 데이터가 그대로 노출되는 문제점이 있다. 이에 대한 대책으로 데이터의 암호화가 요구되고 있다.In an information system including a network, an unspecified number of users are used, and data is exposed to the external environment. Therefore, when the ID and password of the visitor are known due to illegal hacking, the data is exposed. There is a problem. As a countermeasure against this, data encryption is required.
그 중에서 일반적으로 이용되고 있는 RSA법을 주로 이용하고 있으나 이 경우 신뢰성을 높이기 위하여 256비트 내지 1024비트의 데이터 길이를 가진 암호키의 사용을 요구하고 있으며 그에 따라 암호화와 복호화의 연산에 필요한 시간이 많이 드는 문제점이 있으며, 대량의 데이터를 취급하는 데이터검색시스템에 있어서는 연산시간의 증가가 의한 처리효율을 악화시키는 원인이 발생되는 문제점이 있다. 또한, 데이터, 예를 들면 각 문자에 대하여 대응되는 암호화된 테이블을 이용하여 이를 비교함으로써 데이터를 암호화와 복호화하는 기술이 이용되고 있으나 이 경우 각 데이터를 일일이 비교하여야 하기 때문에 암호화와 복호화에 많은 시간이 소용되는 문제점이 있다.Among them, the RSA method, which is generally used, is mainly used, but in this case, the use of an encryption key having a data length of 256 bits to 1024 bits is required in order to increase the reliability. There is a problem, and in a data retrieval system that handles a large amount of data, there is a problem that causes a deterioration in processing efficiency due to an increase in computation time. In addition, a technique of encrypting and decrypting data is used by comparing data, for example, by using an encrypted table corresponding to each character, but in this case, since each data has to be compared one by one, a large amount of time is required for encryption and decryption. There is a problem.
따라서 안정적이고 빠른 처리 속도를 가진 데이터의 암호화와 복호화를 할 수 있는 시스템의 개발이 필요한 실정이다.Therefore, it is necessary to develop a system capable of encrypting and decrypting data with stable and fast processing speed.
본 발명의 목적은 안정적이고 빠른 처리 속도로 데이터 베이스에 저장되는 데이터를 암호화하고 복호화할 수 있는 데이터의 암호화 및 복호화 시스템 및 그 방법을 제공하는 것이다.It is an object of the present invention to provide a data encryption and decryption system and method for encrypting and decrypting data stored in a database at a stable and fast processing speed.
또한, 본 발명의 다른 목적은 데이터 베이스에 대하여 암호화된 데이터를 관계형 데이터 베이스로 저장 관리하도록 하여 외부로부터 데이터 베이스가 침입되어도 데이터를 획득할 수 없도록 하는 데이터의 암호화 및 복호화 시스템 및 그 방법을 제공하는 것이다.In addition, another object of the present invention is to provide a system and method for encrypting and decrypting data in which the encrypted data for the database is stored and managed in a relational database so that data cannot be obtained even if the database is invaded from the outside. will be.
본 발명에 의하면, 데이터의 암호화와 복호화 코드 생성을 위한 프로그램이 저장된 프로그램 저장부(31), 데이터 베이스의 접속을 위한 사용자의 로그인시 데이터의 암호화와 복호화를 위한 라이브러리 프로그램을 실행하기 위한 제어부(32), 제어부(32)의 라이브러리에 의하여 데이터의 암호화를 수행하기 위한 데이터 암호화부(30A), 및 데이터 암호화부(30A)에 의하여 암호화되어 데이터 베이스부(40)에 저장된 데이터를 복호화하기 위한 데이터 복호화부(30B)를 포함하며, 상기 데이터 암호화부(30A)는 입력받은 문자열 데이터(Dc)를 ASCⅡ 코드로 변환한 후에 이를 16bit의 4자리로 변환시켜 니블(nibble) 단위로 분리하고 니블 단위 내에서 데이터의 위치를 교환시킨 데이터에 대하여 일정한 간격의 인덱스 코드로 분리 조합시킴으로써 암호화된 병합 데이터(DE)를 생성하는 데이터의 암호화 및 복호화 시스템이 제공된다.According to the present invention, a
여기서, 상기 데이터 암호화부(30A)는 입력받은 문자열 데이터(Dc)를 제어부(32)에 의하여 문자열을 한자리씩 ASCⅡ 코드의 데이터(Da)로 변환한 후에 변환된 코드값을 숫자 형식의 4자리수의 데이터(Df)로 재변환한 후 이를 16bit의 4자리의 데이터로 변환하기 위한 데이터 변환부(33A)를 구비하는 것이 바람직하다.Here, the
또한, 데이터 변환부(33A)에 의하여 16bit의 4자리의 데이터를 니블 단위로 분리하여 니블 단위 내에서 데이터의 위치를 교환시키기 위한 데이터 교환부(34A)를 더 구비하는 것이 바람직하다.In addition, the
또한, 니블 단위 내에서 데이터의 위치의 이동은 각 니블 단위 내에서 첫번째와 네번째의 데이터를 이동하여 1차 교환된 데이터(Df′)가 생성되는 것이 바람직하다.In addition, in the movement of the position of data in the nibble unit, it is preferable that the first exchanged data Df 'is generated by moving the first and fourth data in each nibble unit.
또한, 1차 교환된 데이터(Df′)를 문자열 분리/병합부(35A)에 의하여 문자열 32bit의 데이터로 변환시키고 병합하여 병합 데이터(Dm)를 생성하며, 병합 데이터(Dm)에 대하여 홀수와 짝수번째 인덱스 코드별로 데이터를 분리시킨 후에, 각각 홀수번째의 인덱스 코드(2n+1, n=0, 1, 3, ...)로 이루어진 데이터들을 병합시켜 생성된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드(2n, n=0, 1, 2, 3, ...)로 이루어진 데이터를 병합시켜 생성된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE)를 생성하기 위한 문자열 분리/병합부(35A)를 더 구비하는 것이 바람직하다.In addition, the first exchanged data (Df ') is converted into 32-bit data by the character string separating /
또한, 상기 데이터 복호화부(30B)는 데이터 베이스부(40A)에 암호화되어 문자열 32bit로 암호화된 병합 데이터(DE)의 문자열을 1/2로 분리하여 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)로 분리 배열한 후에 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 서로 순차적으로 교합(inter-merging)하여 하나의 병합된 병합 데이터(Dm)를 생성하기 위한 문자열 추출/병합부(36B)를 더 구비하는 것이 바람직하다.In addition, the
또한, 문자열 추출/병합부(36B)에 의하여 형성된 병합 데이터(Dm)의 문자열에 대하여 4자리수로 묶어 16bit HEX 코드 값의 데이터(Df˝)로 변환시킨 후에 변환된 4자리수의 16bit 형식의 데이터를 니블 단위로 분리시키며, 각각 니블 단위로 분리된 데이터에 대하여 첫번째 자리와 네번째 자리의 데이터를 교환시킨 데이터(Di˝)를 생성하기 위한 데이터 역교환부(37B)를 더 구비하는 것이 바람직하다.Further, after converting the string of the merged data Dm formed by the character string extracting /
또한, 데이터 역교환부(37B)에 의하여 생성된 16bit 형식의 데이터(Di˝)를 ASCⅡ 코드의 형태로 인식하여 ASCⅡ 코드 값의 데이터(Da)로 변환시킨 후 변환된 ASCⅡ 코드 값의 데이터(Da)를 문자열 데이터(Dc)로 변환시키기 위한 데이터 역변환부(38B)를 더 구비하는 것이 바람직하다.In addition, the 16 bit format data Di 'generated by the data
한편, 본 발명의 다른 일면에 의하면, 문자열 데이터(Dc)가 입력부(10)에 전송될 경우 데이터 변환부(33A)에 의하여 입력부(10)로부터 입력 받은 문자열 데이터(Dc)를 한자리씩 ASCⅡ 코드의 데이터(Da)로 변환시키는 제1 단계, 변환된 ASCⅡ 코드의 데이터(Da)를 숫자 형식의 4자리수의 데이터(Df)로 재변환한 후 이를 16bit의 4자리의 데이터로 변환시키는 제2 단계, 16bit의 4자리로 변환된 데이터를 니블(nibble) 단위로 분리시킨 후 니블 단위 내에서 첫번째 데이터(D4n+1, n=0, 1, 3,...)와 네번째 데이터(D4n, n=0, 1, 3,...)의 위치를 이동하여 니블 단위 내에서 데이터의 위치를 교환시켜 1차 교환된 데이터(Df′)를 생성시키는 제3 단계, 1차 교환된 데이터(Df′)를 문자열 32bit의 데이터로 변환시키고 병합하여 병합 데이터(Dm)를 생성하는 제4 단계, 및 병합 데이터(Dm)에 대하여 홀수와 짝수번째 인덱스 코드별로 데이터를 분리시킨 후에 각각 홀수번째의 인덱스 코드(2n+1, n=0, 1, 3, ...)로 이루어진 데이터를 병합시켜 생성된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드(2n, n=0, 1, 2, 3, ...)로 이루어진 데이터를 병합시켜 생성된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE)를 생성하는 제5 단계를 포함하여 데이터의 암호화를 수행하며 이에 대한 역과정의 복호화를 수행하는 데이터의 암호화 및 복호화의 방법이 제공된다.On the other hand, according to another aspect of the present invention, when the string data (Dc) is transmitted to the
여기서, 암호화된 병합 데이터(DE)의 문자열을 1/2로 분리하여 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)로 분리 배열한 후에 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 서로 순차적으로 교합(inter-merging)하여 하나의 병합된 병합 데이터(Dm)를 생성하는 제6 단계, 병합 데이터(Dm)의 문자열에 대하여 4자리수로 묶어 16bit HEX 코드 값의 데이터(Df˝)로 변환시킨 후에 변환된 4자리수의 16bit 형식의 데이터를 니블 단위로 분리시키며, 각각 니블 단위로 분리된 데이터에 대하여 첫번째 자리와 네번째 자리의 데이터를 교환시킨 데이터(Di˝)를 생성하는 제7 단계, 및 상기 데이터(Di˝)를 ASCⅡ 코드의 형태로 인식하여 ASCⅡ 코드 값의 데이터(Da)로 변환시킨 후 변환된 ASCⅡ 코드 값의 데이터(Da)를 문자열 데이터(Dc)로 변환시키는 제8 단계를 더 포함하는 것이 바람직하다.Here, the encrypted string of the merge data (DE) is divided into 1/2, the merged data (Dom) of the odd-numbered index code data and the separated data are arranged and merged (Dem) of the even-numbered index code data, and then the odd-numbered index code A sixth step of generating one merged merged data Dm by inter-merging the merged data Dom of the data and the merged data Dem of the even-numbered index code data sequentially; After converting the string into 4 digits and converting it into 16-bit HEX code data (Df˝), the converted 4-digit 16-bit format data is divided into nibble units. A seventh step of generating data Di 'having exchanged the fourth and fourth digits of data; and recognizing the data Di' in the form of ASCII code and converting it into data Da of the ASCII code value. To the data (Da) of the ASCⅡ code value conversion after Keane further comprising an eighth step of converting a string of data (Dc) is preferred.
본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 의하면, 암호화 테이블을 이용하지 않고 암호화 최소한의 암복화 과정을 거치는 라이브러리를 이용하여 데이터를 변환 및 가공하여 데이터베이스에 저장하도록 함으로써 신속하고 정확하게 데이터를 암호화함과 동시에 데이터베이스에 대하여 외부침입이 있더라도 데이터를 해독할 수 없도록 할 수 있다.According to a system for encrypting and decrypting data according to a preferred embodiment of the present invention, data is converted quickly and accurately by using a library that undergoes minimal encryption and decryption without encryption tables and stored in a database. At the same time, it is possible to encrypt data and prevent data from being decrypted even if there is an external intrusion into the database.
도 1은 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템의 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 데이터의 복호화를 하는 과정을 나타낸 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따른 데이터의 복호화를 하는 과정을 나타낸 흐름도이다.1 is a block diagram of a system for encrypting and decrypting data according to a preferred embodiment of the present invention.
2 is a flowchart illustrating a process of decoding data according to a preferred embodiment of the present invention.
3 is a flowchart illustrating a process of decoding data according to a preferred embodiment of the present invention.
이하, 첨부된 도면을 참조하면서 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 대하여 상세히 설명하기로 한다.Hereinafter, a system for encrypting and decrypting data according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템의 블록도이며, 도 2는 본 발명의 바람직한 실시예에 따른 데이터의 복호화를 하는 과정을 나타낸 흐름도이며, 도 3은 본 발명의 바람직한 실시예에 따른 데이터의 복호화를 하는 과정을 나타낸 흐름도이다.1 is a block diagram of a data encryption and decryption system according to a preferred embodiment of the present invention, FIG. 2 is a flowchart illustrating a process of decrypting data according to a preferred embodiment of the present invention, and FIG. A flowchart illustrating a process of decoding data according to a preferred embodiment.
도 1 내지 도 3에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템은 데이터를 입출력하기 위한 입력부(10)와 출력부(20)에 접속되며, 데이터의 암호화와 복호화 코드 생성을 위한 프로그램이 저장된 프로그램 저장부(31), 데이터 베이스의 접속을 위한 사용자의 로그인시 프로그램 저장부(31)로부터 로그인 프로시져 호출 및 데이터의 암호화와 복호화를 위한 라이브러리 프로그램을 실행하기 위한 제어부(32), 제어부(32)의 라이브러리에 의하여 데이터의 암호화를 수행하기 위한 데이터 암호화부(30A), 및 데이터 암호화부(30A)에 의하여 암호화되어 데이터 베이스부(40)에 저장된 데이터를 복호화하기 위한 데이터 복호화부(30B)로 이루어진다.As shown in Figures 1 to 3, the data encryption and decryption system according to a preferred embodiment of the present invention is connected to the
여기서, 입출력부(10, 20)은 데이터를 입출력하기 위한 단말기로 이루어진다.Here, the input /
한편, 프로그램 저장부(31)는 데이터를 암호화하고 복호화를 생성하기 위한 프로그램이 라이브러리의 형태로 저장된다.Meanwhile, the
또한, 제어부(32)는 데이터 베이스부(40A)에 사용자 권한을 가진 자가 로그인시 암호화와 복호화를 위한 라이브러리 프로그램을 프로그램 저장부(31)로부터 독출하여 데이터 암호화부(30A)와 데이터 복호화부(30B)로 하여금 해당하는 동작을 수행하도록 제어하는 CPU로 이루어지는 것이 바람직하다.In addition, the
데이터 암호화부(30A)는 제어부(32)에 의하여 입력부(10)로부터 입력 받은 문자열을 한자리씩 ASCⅡ 코드로 변환한 후에 변환된 코드값을 숫자 형식의 4자리수의 데이터로 재변환한 후 이를 16bit의 4자리로 변환하기 위한 데이터 변환부(33A), 데이터 변환부(33A)에 의하여 16bit의 4자리로 변환된 데이터를 니블(nibble) 단위로 분리하여 니블 단위 내에서 데이터의 위치를 이동, 바람직하게는 첫번째와 네번째의 데이터를 이동하여 니블 단위 내에서 데이터의 위치를 교환시키기 위한 데이터 교환부(34A), 및 데이터 교환부(34A)에 의하여 교환된 데이터를 문자열 32bit로 변환시킨 후에 전체 데이터에 대하여 홀수와 짝수번째 인덱스 코드(odd/even code)의 데이터로 분리한 후에 분리된 홀수번째의 인덱스 코드(odd code)로 이루어져 병합된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드(even code)로 이루어져 병합된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE)를 생성하기 위한 문자열 분리/병합부(35A)로 이루어진다. The
데이터 복호화부(30B)는 데이터 베이스부(40A)에 암호화되어 문자열 32bit로 암호화된 병합 데이터(DE)의 문자열을 1/2로 분리하여 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)로 분리 배열한 후에 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 서로 순차적으로 교합(inter-merging)하여 하나의 병합된 병합 데이터(Dm)를 생성하기 위한 문자열 추출/병합부(36B), 문자열 추출/병합부(36B)에 의하여 형성된 병합 데이터(Dm)의 문자열에 대하여 4자리수로 묶어 16bit HEX 코드 값으로 변환시킨 후에 변환된 4자리수의 16bit 형식의 데이터(Df˝)를 니블 단위로 분리시키며, 각각 니블 단위로 분리된 데이터에 대하여 첫번째 자리와 네번째 자리의 데이터를 교환시킨 데이터를 생성하기 위한 데이터 역교환부(37B), 및 데이터 역교환부(37B)에 의하여 생성된 16bit 형식의 데이터를 ASCⅡ 코드의 형태로 인식하여 ASCⅡ 코드 값의 데이터(Da)로 변환시킨 후 변환된 ASCⅡ 코드 값의 데이터(Da)를 문자열 데이터(Dc)로 변환시키기 위한 데이터 역변환부(38B)로 이루어진다. 데이터 역변환부(38B)에 의하여 변환된 데이터(Dc)는 제어부(32)로 입력된다.The
본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 있어서, 암호화하는 과정에 대하여 도 2를 참조하면서 설명하기로 한다.In the data encryption and decryption system according to a preferred embodiment of the present invention, a process of encrypting the data will be described with reference to FIG. 2.
도 2에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 있어서, 문자열 데이터(Dc)가 입력부(10)에 전송될 경우 데이터 변환부(33A)에 의하여 입력부(10)로부터 입력 받은 문자열 데이터(Dc), 예를 들면 "abcd123..."을 한자리씩 ASCⅡ 코드의 데이터(Da), 예를 들면 "97, 98, 99, 100, 49, 50, 51,..."로 변환시킨다.As shown in FIG. 2, in the data encryption and decryption system according to the preferred embodiment of the present invention, when the character string data Dc is transmitted to the
이 후, 데이터 변환부(33A)는 변환된 ASCⅡ 코드의 데이터(Da)를 숫자 형식의 4자리수의 데이터(Df)로 재변환한 후 이를 16bit의 4자리의 데이터로 변환시킨다.Thereafter, the
이후, 데이터 변환부(33A)에 의하여 16bit의 4자리로 변환된 데이터를 니블(nibble) 단위로 분리시킨 후 니블 단위 내에서 데이터의 위치를 이동, 바람직하게는 첫번째 데이터(D4n+1, n=0, 1, 3,...)와 네번째 데이터(D4n, n=0, 1, 3,...)의 위치를 이동하여 니블 단위 내에서 데이터의 위치를 교환시켜 1차 교환된 데이터(Df′)를 생성시킨다.Thereafter, the data converted into four digits of 16 bits by the
이후, 데이터 교환부(34)에 의하여 1차 교환된 데이터(Df′)를 문자열 분리/병합부(35A)에 의하여 문자열 32bit의 데이터로 변환시키고 병합하여 병합 데이터(Dm), 예를 들면, "7090, 8090,...."로 이루어진 데이터를 생성한다.Thereafter, the data Df 'primarily exchanged by the data exchanger 34 is converted into data of 32 bits of character string by the character string separating /
이후, 병합 데이터(Dm)에 대하여 홀수와 짝수번째 인덱스 코드별로 데이터를 분리시킨 후에 각각 홀수번째의 인덱스 코드(2n+1, n=0, 1, 3, ...)로 이루어진 데이터를 병합시켜 생성된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom), 예를 들면 "7989..."로 이루어진 데이터와 짝수번째 인덱스 코드(2n, n=0, 1, 2, 3, ...)로 이루어진 데이터를 병합시켜 생성된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem), 예를 들면 "0000..."로 이루어진 데이터를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE), 예를 들면 "7989...000..."로 이루어진 데이터를 생성한다.Subsequently, data is divided into odd and even index codes with respect to the merged data Dm, and data of odd index codes (2n + 1, n = 0, 1, 3, ...) is merged. Merged data Dom of the generated odd-numbered index code data, for example, data consisting of "7989 ..." and even-numbered index codes (2n, n = 0, 1, 2, 3, ...) Merged data (Dem) of even-numbered index code data generated by merging data, for example, merge data (DE) encrypted by merging data consisting of "0000 ..." into one data, for example "7989." Generates data consisting of ... 000 ... ".
한편, 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 있어서 암호화된 병합 데이터를 복호화하는 과정에 대하여 도 3을 참조하면서 설명하기로 한다.Meanwhile, a process of decrypting encrypted merged data in a data encryption and decryption system according to a preferred embodiment of the present invention will be described with reference to FIG. 3.
도 3에 도시된 바와 같이, 데이터 베이스부(40A)에 암호화되어 문자열 32bit로 암호화된 병합 데이터(DE), 예를 들면 "7989...000..."로 이루어진 데이터의 문자열을 문자열 추출/병합부(36B)에 의하여 1/2로 분리하여 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom), 예를 들면 "7989..."로 이루어진 데이터와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem), 예를 들면 "0000..."로 이루어진 데이터로 분리 배열한 후에 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 서로 순차적으로 교합(inter-merging)하여 하나의 병합된 병합 데이터(Dm), 예를 들면, "70908090 ...."로 이루어진 데이터를 생성한다.As shown in FIG. 3, a string is extracted from the merged data DE, which is encrypted in the database unit 40A and encrypted with a string of 32 bits, for example, a string of data consisting of "7989 ... 000 ...". Merge data Dom of odd-numbered index code data divided by 1/2 by
이후, 문자열 추출/병합부(36B)에 의하여 형성된 병합 데이터(Dm)의 문자열에 대하여 데이터 역교환부(37B)에 의하여 4자리수로 묶어 16bit HEX 코드 값의 데이터(Df˝), 예를 들면, "7090, 8090, ...."로 이루어진 데이터로 변환시킨 후에 변환된 4자리수의 16bit 형식의 데이터를 니블 단위로 분리시키며, 각각 니블 단위로 분리된 데이터에 대하여 첫번째 자리와 네번째 자리의 데이터를 교환시킨 데이터(Di˝)를 생성한다.Thereafter, the data string of the merged data Dm formed by the character string extracting /
이후, 데이터 역교환부(37B)에 의하여 생성된 16bit 형식의 데이터(Di˝)를 데이터 역변환부(37B)에 의하여 ASCⅡ 코드의 형태로 인식하여 ASCⅡ 코드 값의 데이터(Da), 예를 들면 "97, 89, ..."로 변환시킨 후 변환된 ASCⅡ 코드 값의 데이터(Da)를 문자열 데이터(Dc)로 변환시킨다.Thereafter, the 16-bit data Di 'generated by the data
따라서 전술한 바와 같이, 본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 의하면, 암호화 테이블을 이용하지 않고 암호화 최소한의 암복화 과정을 거치는 라이브러리를 이용하여 데이터를 변환 및 가공하여 데이터베이스에 저장하도록 함으로써 신속하고 정확하게 데이터를 암호화함과 동시에 데이터베이스에 대하여 외부침입이 있더라도 데이터를 해독할 수 없는 효과를 제공한다.Therefore, as described above, according to the data encryption and decryption system according to the preferred embodiment of the present invention, data is converted and processed using a library that undergoes minimal encryption and decryption without encryption table and stored in a database. By encrypting the data quickly and accurately, it provides the effect that the data cannot be decrypted even if there is external intrusion into the database.
본 발명의 바람직한 실시예에 따른 데이터의 암호화 및 복호화 시스템에 있어서 데이터 변환부(33A)와 데이터 교환부(34A)에 의한 데이터 변환과 변환은 4자리 단위로 변환하고 각 니블에서 첫번째 데이터와 네번째 데이터의 교환이 이루어졌으나, 반드시 이에 한정될 필요는 없다. 즉, 예를 들면 5자리의 단위로 변환하거나 각 니블에서 첫번째와 세번째 데이터의 교환이 이루어지도록 하며 그에 따른 복호화도 이에 대한 역순으로 이루어지도록 하여도 좋다. In the data encryption and decryption system according to the preferred embodiment of the present invention, data conversion and conversion by the
10: 입력부
20: 출력부
30: 시스템
30A: 데이터 암호화부
30B: 데이터 복호화부
31: 프로그램 저장부
32: 제어부
33A: 데이터 변환부
34A: 데이터 교환부
35A 문자열 분리/병합부
36B: 문자열 추출/병합부
37B: 데이터 역교환부
38B: 데이터 역변환부
40: 데이터 베이스부10: input unit
20: output unit
30: System
30A: Data Encryption Section
30B: Data Decoding Unit
31: program storage unit
32: control unit
33A: data converter
34A: Data Exchange
35A string split / merge
36B: Extract / Merge Strings
37B: Data Reverse Exchange
38B: data inverse transform unit
40: database part
Claims (10)
데이터 베이스의 접속을 위한 사용자의 로그인시 데이터의 암호화와 복호화를 위한 라이브러리 프로그램을 실행하기 위한 제어부(32);
제어부(32)의 라이브러리에 의하여 데이터의 암호화를 수행하기 위한 데이터 암호화부(30A); 및
데이터 암호화부(30A)에 의하여 암호화되어 데이터 베이스부(40)에 저장된 데이터를 복호화하기 위한 데이터 복호화부(30B)를 포함하며,
상기 데이터 암호화부(30A)는 입력받은 문자열 데이터(Dc)를 ASCⅡ 코드로 변환한 후에 이를 16bit의 4자리로 변환시켜 니블(nibble) 단위로 분리하고 니블 단위 내에서 데이터의 위치를 교환시킨 데이터에 대하여 일정한 간격의 인덱스 코드로 분리 조합시킴으로써 암호화된 병합 데이터(DE)를 생성하는 것을 특징으로 하는 데이터의 암호화 및 복호화 시스템.A program storage unit 31 storing a program for encrypting data and generating decryption code;
A control unit 32 for executing a library program for encrypting and decrypting data when a user logs in for accessing a database;
A data encryption unit 30A for encrypting data by the library of the control unit 32; And
A data decryption unit 30B for decrypting data encrypted by the data encryption unit 30A and stored in the database unit 40,
The data encryption unit 30A converts the received character string data (Dc) into an ASCII code, converts it into four digits of 16 bits, separates the data into nibble units, and exchanges data positions within the nibble unit. And encrypting and separating the data into index codes at regular intervals, thereby generating encrypted merged data (DE).
병합 데이터(Dm)에 대하여 홀수와 짝수번째 인덱스 코드별로 데이터를 분리시킨 후에, 각각 홀수번째의 인덱스 코드(2n+1, n=0, 1, 3, ...)로 이루어진 데이터들을 병합시켜 생성된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드(2n, n=0, 1, 2, 3, ...)로 이루어진 데이터를 병합시켜 생성된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE)를 생성하기 위한 문자열 분리/병합부(35A)를 더 구비하는 것을 특징으로 하는 데이터의 암호화 및 복호화 시스템.The method of claim 4, wherein the first exchanged data (Df ') is converted into 32-bit data of the character string by the character string separating / merge unit 35A and merged to generate merged data Dm.
After the data are separated by odd and even index codes with respect to the merged data Dm, data of odd numbered index codes (2n + 1, n = 0, 1, 3, ...) are merged to generate data. Merge data of even-numbered index code data generated by merging data consisting of merged data Dom of odd-numbered index code data and even-numbered index codes (2n, n = 0, 1, 2, 3, ...) And a string separator / merge unit (35A) for merging (Dem) into one data to generate encrypted merged data (DE).
변환된 ASCⅡ 코드의 데이터(Da)를 숫자 형식의 4자리수의 데이터(Df)로 재변환한 후 이를 16bit의 4자리의 데이터로 변환시키는 제2 단계;
16bit의 4자리로 변환된 데이터를 니블(nibble) 단위로 분리시킨 후 니블 단위 내에서 첫번째 데이터(D4n+1, n=0, 1, 3,...)와 네번째 데이터(D4n, n=0, 1, 3,...)의 위치를 이동하여 니블 단위 내에서 데이터의 위치를 교환시켜 1차 교환된 데이터(Df′)를 생성시키는 제3 단계;
1차 교환된 데이터(Df′)를 문자열 32bit의 데이터로 변환시키고 병합하여 병합 데이터(Dm)를 생성하는 제4 단계; 및
병합 데이터(Dm)에 대하여 홀수와 짝수번째 인덱스 코드별로 데이터를 분리시킨 후에 각각 홀수번째의 인덱스 코드(2n+1, n=0, 1, 3, ...)로 이루어진 데이터를 병합시켜 생성된 홀수번째 인덱스 코드 데이터의 병합 데이터(Dom)와 짝수번째 인덱스 코드(2n, n=0, 1, 2, 3, ...)로 이루어진 데이터를 병합시켜 생성된 짝수번째 인덱스 코드 데이터의 병합 데이터(Dem)를 하나의 데이터로 병합하여 암호화된 병합 데이터(DE)를 생성하는 제5 단계를 포함하여 데이터의 암호화를 수행하며 이에 대한 역과정의 복호화를 수행하는 것을 특징으로 하는 데이터의 암호화 및 복호화의 방법.When the character string data Dc is transmitted to the input unit 10, the first step of converting the character string data Dc received from the input unit 10 by the data converter 33A into data Da of the ASCII code, one by one. ;
A second step of reconverting the converted data Da of the ASCII code into four-digit data Df in numerical format and then converting the data Da into 16-bit four-digit data;
After separating 16bit 4-digit data into nibble units, the first data (D4n + 1, n = 0, 1, 3, ...) and the fourth data (D4n, n = 0) within the nibble unit A third step of shifting the positions of 1, 3, ...) to exchange positions of data in the nibble unit to generate the first exchanged data Df ';
A fourth step of converting the primary exchanged data Df 'into 32-bit data and merging to generate merged data Dm; And
The data is generated by dividing the data for odd and even index codes with respect to the merged data Dm, and then merging data including odd index codes (2n + 1, n = 0, 1, 3, ...), respectively. Merge data of even-numbered index code data generated by merging data consisting of merged data Dom of odd-numbered index code data and even-numbered index codes 2n, n = 0, 1, 2, 3, ... A fifth step of merging Dem into one data to generate encrypted merged data DE, thereby encrypting the data and performing reverse decryption on the data. Way.
병합 데이터(Dm)의 문자열에 대하여 4자리수로 묶어 16bit HEX 코드 값의 데이터(Df˝)로 변환시킨 후에 변환된 4자리수의 16bit 형식의 데이터를 니블 단위로 분리시키며, 각각 니블 단위로 분리된 데이터에 대하여 첫번째 자리와 네번째 자리의 데이터를 교환시킨 데이터(Di˝)를 생성하는 제7 단계; 및
상기 데이터(Di˝)를 ASCⅡ 코드의 형태로 인식하여 ASCⅡ 코드 값의 데이터(Da)로 변환시킨 후 변환된 ASCⅡ 코드 값의 데이터(Da)를 문자열 데이터(Dc)로 변환시키는 제8 단계를 더 포함하는 것을 특징으로 하는 데이터의 암호화 및 복호화의 방법.The method of claim 9, wherein after separating the encrypted character string of the merge data (DE) into 1/2 and separating and arranging the merged data (Dom) of odd-numbered index code data and the merged data (Dem) of even-numbered index code data, A sixth step of sequentially inter-merging the merged data Dom of the odd-numbered index code data and the merged data Dem of the even-numbered index code data to generate one merged merged data Dm;
After converting the merged data (Dm) into 4 digits and converting them into 16-bit HEX code data (Df), the converted 4-digit 16-bit data is divided into nibble units. A seventh step of generating data Di ′ in which data of the first digit and the fourth digit are exchanged with respect to; And
Recognizing the data (Di) in the form of ASCII code, converting the data (Da) of the ASCII code value, and then converting the data (Da) of the converted ASCII code value into character string data (Dc). And encrypting and decrypting the data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110051162A KR101193599B1 (en) | 2011-05-30 | 2011-05-30 | System for encryption and decryption of data and thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110051162A KR101193599B1 (en) | 2011-05-30 | 2011-05-30 | System for encryption and decryption of data and thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101193599B1 true KR101193599B1 (en) | 2012-10-23 |
Family
ID=47288482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110051162A KR101193599B1 (en) | 2011-05-30 | 2011-05-30 | System for encryption and decryption of data and thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101193599B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101282653B1 (en) | 2013-03-04 | 2013-07-12 | 소프트포럼 주식회사 | Data substitution encryption device and method |
KR101451828B1 (en) | 2013-08-30 | 2014-10-16 | 박상윤 | Data encryption and decryption device and method |
KR101550045B1 (en) * | 2014-07-10 | 2015-09-04 | 주식회사 에바인 | System of mediating information by using multiple databases |
US9762384B2 (en) | 2012-06-29 | 2017-09-12 | Penta Security Systems Inc. | Generation and verification of alternate data having specific format |
KR101809982B1 (en) * | 2016-08-26 | 2017-12-18 | 연세대학교 원주산학협력단 | Encryption and decryption system for personal medical infromation based on image |
KR101925941B1 (en) * | 2017-10-13 | 2018-12-06 | 주식회사 오스랩스 | Transaction signing authentication method based on information virtualization |
KR20210055880A (en) * | 2019-11-08 | 2021-05-18 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008028695A (en) | 2006-07-21 | 2008-02-07 | Nomura Research Institute Ltd | Information leakage prevention method |
-
2011
- 2011-05-30 KR KR1020110051162A patent/KR101193599B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008028695A (en) | 2006-07-21 | 2008-02-07 | Nomura Research Institute Ltd | Information leakage prevention method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9762384B2 (en) | 2012-06-29 | 2017-09-12 | Penta Security Systems Inc. | Generation and verification of alternate data having specific format |
KR101282653B1 (en) | 2013-03-04 | 2013-07-12 | 소프트포럼 주식회사 | Data substitution encryption device and method |
KR101451828B1 (en) | 2013-08-30 | 2014-10-16 | 박상윤 | Data encryption and decryption device and method |
KR101550045B1 (en) * | 2014-07-10 | 2015-09-04 | 주식회사 에바인 | System of mediating information by using multiple databases |
KR101809982B1 (en) * | 2016-08-26 | 2017-12-18 | 연세대학교 원주산학협력단 | Encryption and decryption system for personal medical infromation based on image |
KR101925941B1 (en) * | 2017-10-13 | 2018-12-06 | 주식회사 오스랩스 | Transaction signing authentication method based on information virtualization |
KR20210055880A (en) * | 2019-11-08 | 2021-05-18 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
KR102276559B1 (en) | 2019-11-08 | 2021-07-14 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101193599B1 (en) | System for encryption and decryption of data and thereof | |
CN1993922B (en) | Stream cipher combining system and method | |
CN104468090B (en) | Character cipher coding method based on image pixel coordinates | |
US9021259B2 (en) | Encrypted database system, client terminal, encrypted database server, natural joining method, and program | |
JP5776696B2 (en) | Encrypted database system, client terminal, encrypted database server, natural join method and program | |
TW200701791A (en) | Method and apparatus for encrypting and decrypting digital data | |
CN105049400A (en) | Splitting S-boxes in a White-Box implementation to resist attacks | |
CN108173640A (en) | The character string symmetric cryptography and decryption method of a kind of high security | |
JP5411034B2 (en) | Database encryption system and method | |
JP6266181B1 (en) | Search device, monitoring system, monitoring method, and search program | |
CN111314270B (en) | Data encryption and decryption method based on validity period uniform distribution symmetric algorithm | |
KR100411684B1 (en) | Method for the cryptographic conversion of binary data blocks | |
Sangwan | Combining Huffman text compression with new double encryption algorithm | |
KR101625018B1 (en) | Data encryption apparatus and method, computing device and communication device employing the same | |
Al-Jarrah et al. | Word-based encryption algorithm using dictionary indexing with variable encryption key length | |
CN114254372B (en) | Data encryption processing method and system and electronic equipment | |
Hassene et al. | A new hybrid encryption technique permuting text and image based on hyperchaotic system | |
CN113572593B (en) | Complex format parameter transmission method and device | |
JP6202969B2 (en) | Information processing apparatus and encryption method | |
Jaswanth et al. | Data Encryption: A Compiler Based Approach | |
Jeyabalu et al. | Hybridization of ICBC and genetic algorithm for optimizing encryption process in cloud computing application service | |
KR101095862B1 (en) | Data encryption apparatus and method, data decoding apparatus, data searching method | |
CN117294429B (en) | Public resource transaction data encryption and decryption method, system and medium based on blockchain | |
Singh et al. | Analysis of EnDeCloudReports for encrypting and decrypting data in cloud | |
CN115834163B (en) | Method, device, equipment and storage medium for generating secret key of encrypted data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150921 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160912 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180911 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190906 Year of fee payment: 8 |