KR101112157B1 - Data Encrytion Method - Google Patents

Data Encrytion Method Download PDF

Info

Publication number
KR101112157B1
KR101112157B1 KR1020100006563A KR20100006563A KR101112157B1 KR 101112157 B1 KR101112157 B1 KR 101112157B1 KR 1020100006563 A KR1020100006563 A KR 1020100006563A KR 20100006563 A KR20100006563 A KR 20100006563A KR 101112157 B1 KR101112157 B1 KR 101112157B1
Authority
KR
South Korea
Prior art keywords
data
round
encryption
subblock
rounds
Prior art date
Application number
KR1020100006563A
Other languages
Korean (ko)
Other versions
KR20110087094A (en
Inventor
백기영
Original Assignee
주식회사 인쿠시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인쿠시스 filed Critical 주식회사 인쿠시스
Priority to KR1020100006563A priority Critical patent/KR101112157B1/en
Publication of KR20110087094A publication Critical patent/KR20110087094A/en
Application granted granted Critical
Publication of KR101112157B1 publication Critical patent/KR101112157B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 데이터 암호화의 진행시 기본 단위인 서브블록의 크기를 사용자가 임의로 지정하거나 이미 설정해 놓은 값에 의해 진행함에 있어서, 암호화 대상이 되는 데이터를 바이트(Byte) 단위 이하의 크기인 비트(bit) 단위 예를 들어, 2 내지 7비트로 재분할하여 서브블록을 구성하도록 하는 서브블록의 크기, 이 서브블록을 어느 시점에서부터 셔플링할지를 정하는 셔플링을 위한 랜덤 수열 생성의 초기값, 이 초기값을 기준으로 얼마나 셔플링할지의 횟수 및 이러한 과정의 반복 횟수를 사용자가 선택할 수 있게 함으로써 원본 비교를 어렵게 하여 보다 향상된 안정성을 가지도록 한 데이터 암호화 방법에 관한 것이다.In the present invention, when the size of a subblock, which is a basic unit during data encryption, is arbitrarily designated or set by a value already set, the data to be encrypted is a bit whose size is less than or equal to byte. For example, based on the size of a subblock to be subdivided into 2 to 7 bits to form a subblock, the initial value of random sequence generation for shuffling that determines when to shuffle the subblock, and the initial value. The present invention relates to a method for encrypting data that makes it difficult to compare originals by allowing a user to select how many times to shuffle and how many times to repeat the process.

Description

데이터 암호화 방법{Data Encrytion Method}Data Encryption Method {Data Encrytion Method}

본 발명은 데이터 암호화 방법에 관한 것으로 특히, 데이터 암호화의 진행시 기본 단위인 서브블록의 크기를 사용자가 임의로 지정하거나 이미 설정해 놓은 값에 의해 진행함에 있어서, 암호화 대상이 되는 데이터를 바이트(Byte) 단위 이하의 크기인 비트(bit) 단위로 분할함에 있어, 2 내지 7비트로 재분할하여 서브블록을 구성하도록 하는 서브블록의 크기, 이 서브블록을 어느 시점에서부터 셔플링할지를 정하는 셔플링을 위한 랜덤 수열 생성의 초기값, 이 초기값을 기준으로 얼마나 셔플링할지의 횟수 및 이러한 과정의 반복 횟수를 사용자가 선택할 수 있게 함으로써 원본 비교를 어렵게 하여 보다 향상된 안정성을 가지도록 한 데이터 암호화 방법에 관한 것이다.The present invention relates to a data encryption method. In particular, the data to be encrypted is a byte unit when the size of a subblock, which is a basic unit during data encryption, is set by a user arbitrarily designated or already set. In dividing into the following bit units, the size of a subblock to be subdivided into 2 to 7 bits to form a subblock, and the random sequence generation for shuffling to determine when to shuffle the subblock. The present invention relates to a method for encrypting data, which makes it difficult to compare originals by allowing a user to select an initial value, how many to shuffle based on this initial value, and the number of repetitions of the process.

디지털 통신에서 데이터에 대한 불특정한 3자의 취급을 배제하고, 데이터 내용을 보존하기 위한 암호화(Encryption) 및 복호화(Decryption) 방법은 매우 중요한 기술이다. 이를 반영하듯, 디지털 통신에서는 다양한 형태의 암호화/복호화 방법이 이용되고 있으며, 대표적인 것으로 블록 암호화 방식의 DES(Data Encryption Standard), FEAL(Fast Data Encipherment Algorithm) 및 AES(Advanced Encryption Standard)와 의사난수 부가형 암호화(Pseudo Random Number Add Type Cryptofraphy)와 같은 표준 및 방법을 예로 들 수 있다. Encryption and decryption methods for preserving data content and eliminating the unspecified third party handling of data in digital communications are very important techniques. As a reflection of this, various forms of encryption / decryption methods are used in digital communication, and typical examples of the block encryption method are Data Encryption Standard (DES), Fast Data Encipherment Algorithm (FEAL), Advanced Encryption Standard (AES), and pseudo random number addition type. Examples include standards and methods such as encryption (Pseudo Random Number Add Type Cryptofraphy).

데이터의 암호화는 원데이터를 지정된 함수를 이용한 알고리즘에 의해 재분배하거나, 미리 정해진 순열을 원데이터에 부가하는 형태로 수행된다. 이와 같이 암호화되어 전송되는 데이터는 여러가지 환경에 노출되며, 이 중 의도적인 해커에 의해 이용될 소지가 있다. 이러한 해커들은 전송되는 데이터를 습득하고, 이들을 비교하여 원데이터를 유추하는 형태를 비롯해서 다양한 방법으로 암호화 방법을 알아내고, 알아낸 방법에 의해 원데이터들을 습득하게 된다.Encryption of data is performed in the form of redistributing the original data by an algorithm using a designated function or adding a predetermined permutation to the original data. Such encrypted data is exposed to various environments, and may be used by intentional hackers. These hackers acquire the data to be transmitted, compare them, and figure out the encryption method in various ways, including the form of inferring the original data, and acquire the original data by the found method.

일례로, 블록암호화 방식의 경우 일정한 크기의 바이트(Byte) 내지 비트 단위로 데이터를 블록화하여 처리하는 경우가 빈번하다. 그런데, 이렇게 암호화된 블록에 대해 억지기법(Brute Force Technique)과 같은 해킹방법을 적용하면, 매 해킹 시도의 경우마다 원데이터의 원본블록을 유추하여 비교를 당함으로써 결과적으로 원데이터가 해커에게 노출되는 문제점이 있다. 특히, 이러한 보안상의 취약점은 일정한 암호화에 있어서 일정한 알고리즘을 적용하며, 일정한 크기의 블록 단위로 암호화를 진행함으로써 발생하는 경향이 크다.For example, in the case of the block encryption method, data is often processed by blocking data in bytes or bits. However, if a hacking method such as brute force technique is applied to the encrypted block, the original data of the original data is inferred and compared with each hacking attempt, resulting in the exposure of the original data to the hacker. There is a problem. In particular, these security weaknesses tend to be caused by applying a certain algorithm to a given encryption, and proceeding with encryption by a block of a certain size.

또한, 이러한 문제를 해결하기 위해 타원 곡선 함수를 이용하는 방법이나, 양자 암호 기술을 이용하여 보안성을 높이는 방법도 고려될 수 있으나, 이러한 경우 암호화 및 복호화를 수행하는 장치의 부하가 커지는 문제점이 있다.In addition, a method of using an elliptic curve function or a method of increasing security using quantum cryptography may be considered to solve such a problem, but in this case, there is a problem in that the load of an apparatus that performs encryption and decryption becomes large.

본 발명은 데이터 암호화의 진행시 기본 단위인 서브블록의 크기를 사용자가 임의로 지정하거나 이미 설정해 놓은 값에 의해 진행함에 있어서, 암호화 대상이 되는 데이터를 바이트(Byte) 단위 이하의 크기인 비트(bit) 단위로 예를 들면, 2 내지 7비트로 재분할하여 서브블록을 구성하도록 하는 서브블록의 크기, 이 서브블록을 어느 시점에서부터 셔플링할지를 정하는 셔플링을 위한 랜덤 수열 생성의 초기값, 이 초기값을 기준으로 얼마나 셔플링할지의 횟수 및 이러한 과정의 반복 횟수를 사용자가 선택할 수 있게 함으로써 원본 비교를 어렵게 하여 보다 향상된 안정성을 가지도록 한 데이터 암호화 방법을 제공하는 것이다.In the present invention, when the size of a subblock, which is a basic unit during data encryption, is arbitrarily designated or set by a value already set, the data to be encrypted is a bit whose size is less than or equal to byte. Based on, for example, the size of a subblock that is divided into 2 to 7 bits to form a subblock, an initial value of random sequence generation for shuffling that determines when to shuffle the subblock, and the initial value. By providing the user with a choice of how many times to shuffle and how many times to repeat the process, it provides a data encryption method that makes it difficult to compare the original and has improved stability.

상기 목적을 달성하기 위하여 본 발명에 따른 데이터 암호화 방법은 암호화 실행 장치에 의해 원문데이터의 데이터 배열을 변경하여 암호데이터를 생성하는 데이터 암호화방법에 있어서, 상기 암호화 실행 장치가 상기 원문데이터를 일정한 데이터 단위로 구분하고, 행렬 형태로 재배열하여 배열 데이터를 생성하는 데이터 배열 단계; 상기 배열데이터의 상기 데이터 배열을 변경하기 위한 데이터 단위인 서브블록의 크기를 설정하는 서브블록 크기, 상기 서브블록 단위의 배열 변경을 위한 기준 서브블록을 지정하는 랜덤시드값 및 상기 서브블록 크기와 상기 랜덤시드값에 의한 배열 변경 횟수를 지정하기 위한 셔플링 횟수 정보를 가지며, 사용자에 의해 상기 서브블록 크기, 상기 랜덤시드값 및 상기 셔플링 횟수가 결정되는 라운드 설정값을 포함하는 키데이터가 상기 암호화 실행 장치에 의해 제공되는 입력인터페이스를 통해 입력되는 키데이터 작성단계; 상기 암호화 실행 장치가 상기 키데이터의 상기 라운드 설정값에 의해 상기 배열데이터의 데이터 배열을 변경하는 라운드를 진행하여 암호화 데이터를 생성하는 데이터 암호화 단계; 및 상기 암호화 실행 장치 또는 복호화 장치에 의해 상기 암호화 데이터를 상기 원문데이터와 동일한 데이터 형태로 복원하는 데이터 복원 단계;를 포함하여 구성되고, 상기 키데이터는 상기 입력인터페이스를 통해 입력되고 상기 암호화 데이터 생성을 위한 라운드의 수를 지정하는 라운드 수 정보를 포함하며, 상기 라운드 설정값은 상기 라운드 수에 의해 지정된 각각의 상기 라운드에 대해 개별적으로 작성되고, 상기 키데이터 작성단계는, 상기 라운드 수 정보 입력 단계; 상기 라운드 수 정보에 지정된 수의 상기 라운드 각각에 대한 상기 서브블록 크기를 설정하는 서브블록 크기 설정 단계; 상기 라운드 각각에 대한 상기 랜덤시드값을 설정하는 랜덤시드값 설정 단계; 및 상기 라운드 각각에 대한 상기 셔플링 횟수를 설정하는 셔플링 횟수 설정 단계;를 포함하여 구성되는 것을 특징으로 하는 데이터 암호화 방법. In order to achieve the above object, a data encryption method according to the present invention is a data encryption method for generating encrypted data by changing a data arrangement of original text by an encryption execution device, wherein the encryption execution unit converts the original data into a predetermined data unit. A data array step of generating array data by dividing into a matrix and rearranging the matrix in a matrix form; A subblock size for setting a size of a subblock that is a data unit for changing the data arrangement of the array data, a random seed value for designating a reference subblock for array change in the subblock unit, and the subblock size and the The key data has a shuffling count information for designating the number of array changes by a random seed value, and the key data includes a round set value for determining the subblock size, the random seed value, and the shuffling count by a user. Key data creation step input via an input interface provided by the execution device; A data encryption step of the encryption execution apparatus generating a encrypted data by performing a round of changing the data arrangement of the array data according to the round set value of the key data; And a data restoration step of restoring the encrypted data into the same data form as the original text data by the encryption execution device or the decryption device, wherein the key data is input through the input interface and generates the encrypted data. Round number information specifying a number of rounds for the round set, wherein the round set value is individually created for each of the rounds specified by the round number, and the key data generating step comprises: inputting the round number information; A subblock size setting step of setting the subblock size for each of the rounds of the number specified in the round number information; A random seed value setting step of setting the random seed value for each of the rounds; And a shuffling number setting step of setting the number of shuffling times for each of the rounds.

삭제delete

상기 암호화 단계는, 상기 라운드 수 정보에 지정된 수의 라운드를 진행하여 상기 배열데이터를 암호화하여 상기 암호화 데이터를 생성하며, 현재의 상기 라운드는 이전에 진행된 상기 라운드의 상기 암호화 데이터를 또다시 암호화한다.The encrypting step proceeds the number of rounds specified in the round number information to encrypt the array data to generate the encrypted data, wherein the current round encrypts the encrypted data of the round previously performed again.

상기 데이터 암호화 단계는, 상기 키데이터의 상기 라운드 수 정보를 확인하는 라운드 수 확인 단계; 상기 라운드 수 정보에 지정된 수의 상기 라운드 중 어느 하나인 현재의 상기 라운드에 대한 상기 서브블록 크기 및 상기 랜덤시드값에 의해 상기 배열데이터를 암호화하여 상기 암호화 데이터를 생성하는 단계; 상기 암호화 데이터 생성 단계를 상기 셔플링 횟수에 지정한 수만큼 반복하여 진행하는 반복 진행 단계; 및 상기 암호화 데이터 생성 및 상기 반복 진행 단계를 상기 라운드 수 정보에 지정된 수만큼 반복하는 라운드 반복 단계;를 포함하여 구성된다.The data encryption step may include: checking a round number of the round number information of the key data; Generating the encrypted data by encrypting the array data by the subblock size and the random seed value for the current round, which is any one of the rounds specified in the round number information; An iterative process of repeating the step of generating the encrypted data by the number specified by the number of shuffling times; And a round repetition step of repeating the encrypted data generation and the repetition progression steps by the number specified in the round number information.

삭제delete

본 발명에 따른 데이터 암호화 방법은 데이터 암호화의 진행시 기본 단위인 서브블록의 크기를 사용자가 임의로 지정하거나 이미 설정해 놓은 값에 의해 진행함에 있어서, 암호화 대상이 되는 데이터를 바이트(Byte) 단위 이하의 크기인 비트(bit) 단위로 분할함에 있어, 2 내지 7비트로 재분할하여 서브블록을 구성하도록 하는 서브블록의 크기, 이 서브블록을 어느 시점에서부터 셔플링할지를 정하는 셔플링을 위한 랜덤 수열 생성의 초기값, 이 초기값을 기준으로 얼마나 셔플링할지의 횟수 및 이러한 과정의 반복 횟수를 사용자가 선택할 수 있게 함으로써 원본 비교를 어렵게 하여 보다 향상된 안정성을 가지도록 하는 것이 가능해진다.In the data encryption method according to the present invention, when the size of the subblock, which is a basic unit during data encryption, is arbitrarily designated or set by a value already set, the size of the data to be encrypted is less than or equal to the byte unit. In dividing into bits, the size of a subblock to be subdivided into 2 to 7 bits to form a subblock, an initial value of random sequence generation for shuffling to determine when to shuffle the subblock, By allowing the user to select the number of times to shuffle based on this initial value and the number of repetitions of this process, it becomes difficult to compare the originals and thus have improved stability.

도 1은 데이터 암호화 및 복호화에 따른 일련의 과정을 도시한 개념도.
도 2는 본 발명의 데이터 암호화 방법에 따른 키데이터의 구성을 도시한 예시도.
도 3은 도 2의 키데이터 구조를 다른 형태로 도시한 예시도.
도 4는 서브블록 및 데이터의 배열을 설명하기 위한 도면.
도 5는 도 2 및 도 3의 키데이터에 사용자 설정을 입력하기 위한 인터페이스의 예를 도시한 예시도.
도 6은 본 발명에 따른 데이터 암호화 방법을 도시한 흐름도.
도 7은 도 6의 키데이터 작성 단계를 좀 더 상세히 도시한 순서도.
도 8은 도 6의 데이터 암호화 단계를 좀 더 상세히 도시한 순서도.
1 is a conceptual diagram illustrating a series of processes according to data encryption and decryption.
2 is an exemplary diagram showing the configuration of key data according to the data encryption method of the present invention.
FIG. 3 is an exemplary diagram showing the key data structure of FIG. 2 in another form; FIG.
4 is a diagram for explaining an arrangement of subblocks and data;
5 is an exemplary diagram showing an example of an interface for inputting user settings to the key data of FIGS. 2 and 3;
6 is a flowchart illustrating a data encryption method according to the present invention.
7 is a flowchart illustrating the key data generation step of FIG. 6 in more detail.
8 is a flow chart illustrating the data encryption step of FIG. 6 in more detail.

이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 당해 분야의 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명하기로 한다. 첨부된 도면들에서 구성에 표기된 참조번호는 다른 도면에서도 동일한 구성을 표기할 때에 대체로 동일한 도면번호를 사용하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고 도면에 제시된 어떤 특징들은 설명의 용이함을 위해 확대 또는 축소 또는 단순화된 것이고, 도면 및 그 구성요소들이 반드시 적절한 비율로 도시되어 있지는 않다. 그러나 당업자라면 이러한 상세 사항들을 쉽게 이해할 것이다.
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. In the accompanying drawings, it should be noted that reference numerals denoted in the drawings generally use the same reference numerals when designating the same components in other drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known function or known configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. And certain features shown in the drawings are enlarged or reduced or simplified for ease of description, the drawings and their components are not necessarily drawn to scale. However, those skilled in the art will readily understand these details.

도 1은 데이터 암호화 및 복호화에 따른 일련의 과정을 도시한 개념도이다.1 is a conceptual diagram illustrating a series of processes according to data encryption and decryption.

도 1을 참조하면, 개인정보, 뱅킹정보, 업무자료와 같은 주요 자료를 수신자에게 전송하기 위해서는 불특정한 제3자에 의한 정보유출을 방지하기 위해 암호화 과정을 거치게 된다. 즉, 주요 자료에 대한 원문데이터(110a)는 발신자 측에서 암호화(130) 과정을 거쳐 암호화 데이터로 변형되고, 암호화 데이터가 원문데이터를 수신하는 자에게 전달된다. 이후, 수신자는 암호화 데이터를 복호화(150)하여 원문데이터로 복원한 후 자신의 목적에 맞게 이용한다. 이러한 암호화(130), 복호화(150) 과정에는 키데이터(120 : 120a, 120b)가 중요한 역할을 하게 된다. 키데이터(120)는 원문데이터를 암호화 또는 복호화 하기 위한 함수, 알고리즘 및 각종 정보가 저장된다. 즉, 이 키데이터(120)에 의해 데이터가 암호/복호되며, 이 때문에 발신자와 수신자가 동일한 내용의 키데이터(120)를 소유하고 있어야 원문데이터를 송/수신할 수 있으며, 자신의 목적에 따라 데이터를 이용할 수 있게 된다.Referring to FIG. 1, in order to transmit main data such as personal information, banking information, and work data to a receiver, an encryption process is performed to prevent information leakage by an unspecified third party. That is, the original text data 110a of the main data is transformed into encrypted data through an encryption process 130 on the sender side, and the encrypted data is transmitted to the person receiving the original text data. Thereafter, the receiver decrypts the encrypted data 150 to restore the original data and then uses it according to its purpose. Key data 120 (120a, 120b) plays an important role in the encryption 130, decryption 150 process. The key data 120 stores functions, algorithms, and various kinds of information for encrypting or decrypting original text data. That is, the data is encrypted / decrypted by the key data 120. Therefore, the sender and the receiver must own the key data 120 having the same content so that the original data can be transmitted / received. The data becomes available.

본 발명에 따른 데이터 암호화 방법은 이러한 데이터의 이용 과정에서 의도하지 않은 제3자에 의한 원문데이터의 노출을 방지하여 보안성을 향상시킨 데이터 암호화/복호화 방법을 제시한다.The data encryption method according to the present invention proposes a data encryption / decryption method which improves security by preventing exposure of original data by an unintentional third party during the use of such data.

종래의 데이터 암호화 방법은 개발자에 의해 정의된 함수와 방식에 의해 데이터 암호화가 진행되었다. 이로 인해, 동일한 암호화 프로그램 또는 방법을 사용하는 사용자는 모두 동일한 방식의 암호화 과정을 거친 암호화 데이터를 얻을 수 있었다. 때문에, 같은 방식에 의해 암호화된 데이터의 노출 빈도가 높아지고, 해킹의 우려가 커지는 문제가 있었다. 때문에 본 발명에서는 데이터 암호화의 과정을 사용자가 지정한 방법에 의해 수행하며, 이러한 과정을 사용자가 설정한 횟수만큼 반복하도록 하였다. 이를 통해, 본 발명의 데이터 암호화 방법은 암호화된 데이터 특이성을 증가시키고, 결과적으로 보안성을 강화함으로써 데이터 유추, 암호화 함수 노출에 따른 데이터 노출 가능성을 현저히 저감시키게 된다.In the conventional data encryption method, data encryption is performed by a function and a method defined by a developer. As a result, all users using the same encryption program or method can obtain encrypted data that has undergone the same encryption process. Therefore, there is a problem that the frequency of exposure of encrypted data is increased and the risk of hacking is increased in the same manner. Therefore, in the present invention, the process of data encryption is performed by a user-specified method, and the process is repeated as many times as set by the user. Through this, the data encryption method of the present invention increases the specificity of encrypted data and consequently enhances security, thereby significantly reducing the possibility of data exposure due to data inference and exposure of encryption functions.

이러한 본 발명에 따른 데이터 암호화 방법을 구체적으로 설명하기에 앞서 도 2 및 도 3을 통해 키데이터의 구성 및 설정에 대해 먼저 설명하고, 이후 데이터 암호화 방법에 관해 설명하기로 한다. 한편, 본 발명에 따른 데이터 암호화 방법에서는 데이터의 암호화와 복호화가 동일한 키데이터를 이용하여 서로 역순의 과정을 통해 이루어진다. 때문에 본 발명의 상세한 설명에서는 암호화 과정에 관하여만 설명을 진행하고 복호화 과정에 대해서는 별도의 상세한 설명을 생략하기로 한다.
Before describing the data encryption method according to the present invention in detail, the configuration and setting of key data will be described first with reference to FIGS. 2 and 3, and then the data encryption method will be described. On the other hand, in the data encryption method according to the present invention, the encryption and decryption of the data is carried out in the reverse order of each other using the same key data. Therefore, in the detailed description of the present invention, only the encryption process will be described and the detailed description of the decryption process will be omitted.

도 2는 본 발명의 데이터 암호화 방법에 따른 키데이터의 구성을 도시한 예시도이고, 도 3은 도 2의 키데이터 구조를 다른 형태로 도시한 예시도이다. 또한, 도 4는 서브블록 및 데이터의 배열을 설명하기 위한 도면이며, 도 5는 도 2 및 도 3의 키데이터에 사용자 설정을 입력하기 위한 인터페이스의 예를 도시한 예시도이다.2 is an exemplary diagram showing the configuration of key data according to the data encryption method of the present invention, Figure 3 is an exemplary diagram showing the key data structure of Figure 2 in another form. 4 is a diagram illustrating an arrangement of subblocks and data, and FIG. 5 is an exemplary diagram illustrating an example of an interface for inputting user settings to key data of FIGS. 2 and 3.

도 2 내지 도 5를 참조하면, 본 발명의 데이터 암호화 방법에 있어서 키데이터(120)는 라운드 수(230), 라운드 설정값(240) 및 암호화 함수(210)을 포함하여 구성된다.2 to 5, in the data encryption method of the present invention, the key data 120 includes a round number 230, a round set value 240, and an encryption function 210.

라운드 수(230)는 사용자에 의해 몇 회의 라운드가 진행될 것인지에 대한 횟수 정보가 기록된다. 라운드 수(230)에 횟수 정보가 입력되면, 라운드 설정값(240)에는 라운드 수(230)에 입력된 수만큼의 라운드 각각에 대한 설정값 입력을 위한 항목이 생성된다. 본 발명에서는 사용자가 지정한 각기 다른 정보에 의해 데이터 암호화를 반복하여 진행하고, 이를 통해 암호화된 데이터의 보안성을 향상시키게 된다. 즉, 사용자가 지정한 설정에 의해 1회의 암호화 과정을 진행하는 과정을 라운드라고 할 수 있다. 구체적으로 라운드 수(230)에 기록된 횟수만큼 라운드가 반복되어, 각 라운드에서 지정한 방법에 의해 데이터를 반복적으로 암호화하게 된다.The round number 230 records the number of times of how many rounds the user will proceed. When the number of times information is input to the number of rounds 230, an item for inputting a setting value for each of the rounds as many as the number input to the round number 230 is generated in the round setting value 240. In the present invention, data encryption is repeatedly performed according to different information designated by the user, thereby improving the security of the encrypted data. That is, the process of performing the encryption process once by the user-specified setting may be referred to as round. Specifically, the round is repeated the number of times recorded in the number of rounds 230 to repeatedly encrypt the data by the method specified in each round.

라운드 설정값(240)은 라운드 수(230)에 의해 정의된 각 라운드들(241 내지 243)에 의해 암호화를 진행하는데 필요한 설정 정보가 사용자에 의해 입력된다. 이 라운드 설정값(240)에는 각 라운드의 진행에 따른 데이터 암호화에 있어서, 암호화된 데이터의 특이성을 향상시키기 위한 사용자 설정값이 저장되며, 이러한 설정값은 각각의 라운드에 대해 개별적으로 설정된다. 즉, 도 2 및 도 3에 도시된 바와 같이 라운드 수(230)에 사용자가 N개의 라운드를 진행하도록 설정하면, 라운드 설정값(240)에는 N개의 라운드 각각에 대한 설정값 입력을 위한 영역이 생성된다. 아울러, 생성된 각각의 라운드(241 내지 243)에는 암호화에 필요한 사용자 설정 항목인 해당 라운드의 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246) 설정을 위한 항목이 포함되어 구성된다. 구체적으로 본 발명에서는 원문데이터(110a)의 배열을 난수적으로 변경하여 암호화하게 된다. 특히, 이러한 난수적 배열 변경은 사용자가 지정한 라운드 수(230)만큼 반복되며, 각 라운드에서의 난수적 배열 변경은 사용자가 지정한 방식에 의해 진행되게 된다. 이를 위해 라운드 설정값(240)에는 각 라운드(241 내지 243)의 데이터 배열 변경을 위한 설정 항목이 입력되며, 이러한 설정 항목들이 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246)이다. The round setting value 240 is input by the user with setting information necessary for proceeding with encryption by the rounds 241 to 243 defined by the number of rounds 230. The round setting value 240 stores user setting values for improving the specificity of the encrypted data in data encryption according to the progress of each round, and these setting values are set individually for each round. That is, as shown in FIGS. 2 and 3, when the user sets N rounds to the number of rounds 230, an area for inputting setting values for each of N rounds is generated in the round setting value 240. do. In addition, each of the generated rounds 241 to 243 includes an item for setting a subblock size 244, a random seed value 245, and a shuffling number 246 of a corresponding user setting item for encryption. It is composed. Specifically, in the present invention, the arrangement of the original text data 110a is randomly changed and encrypted. In particular, the random number array change is repeated by the number of rounds 230 designated by the user, and the random number array change in each round is performed by the user-specified method. To this end, the setting items for changing the data arrangement of each round 241 to 243 are input to the round setting value 240, and these setting items are subblock size 244, random seed value 245, and the number of shuffling ( 246).

본 발명에서는 데이터의 암호화를 위해 데이터의 배열을 바꾸는 방법을 이용한다. 이를 위해 도 4에서와 같이 일정한 형태 예를 들어 연속적인 데이터 배열을 가지는 원문데이터(300)가 제공되면, 이를 일정한 단위 길이(u)별로 정렬하여 매트릭스(또는 바둑판 또는 그물) 형태의 배열데이터(310)를 생성하게 되며, 배열데이터(310)는 라운드 설정값(240)에 설정된 값들에 의해 배열데이터(310)의 데이터 위치를 변경함으로써 데이터 암호화를 진행하게 된다. 여기서, 단위 길이(u)는 데이터 암호화가 용이한 길이로 미리 설정될 수 있으며, 원문데이터(300)의 보편적인 크기, 데이터 암호화를 진행하는 장치의 연산능력에 따라 설정된 값일 수 있으나, 사용자에 의해 설정되도록 하는 것도 가능하다. 즉, 배열데이터(310)를 이용하여 데이터의 암호화를 진행하는데 있어서, 배열데이터(310)의 데이터 위치를 변경하기 위한 설정값들이 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246)이다. 이 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246)는 사용자에 의해 임의 지정되는 것으로 각 라운드마다 다르게 지정될 수도 있고, 일부 라운드가 같은 값을 가지도록 지정될 수도 있다. In the present invention, a method of changing the arrangement of data for encrypting data is used. To this end, if original text data 300 having a constant form, for example, a continuous data array is provided as shown in FIG. 4, the array data 310 is arranged in a matrix (or checkerboard or net) form by sorting them by a predetermined unit length (u). ), And the array data 310 performs data encryption by changing the data position of the array data 310 according to the values set in the round setting value 240. Here, the unit length u may be set in advance to facilitate the data encryption, and may be a value set according to the universal size of the original text data 300 and the computing capability of the device for encrypting the data. It is also possible to set it. That is, in the process of encrypting data using the array data 310, setting values for changing the data position of the array data 310 are subblock size 244, random seed value 245, and the number of shuffling times. (246). The subblock size 244, the random seed value 245, and the shuffling number 246 are randomly designated by the user, and may be specified differently for each round, or some rounds may be designated to have the same value. .

구체적으로 서브블록 크기(244)는 배열데이터(310)의 데이터 위치를 변경할 때 위치가 변경되는 데이터의 묶음으로 정의될 수 있다. 즉, 사용자가 도 4에 도시된바와 같이 2X2의 서브블록(320)을 지정한 경우 데이터 셔플링 즉, 위치 변경이 이루어지면 2X2 크기의 서브블록(320) 단위로 데이터가 이동되어 배열데이터(310) 상에 위치가 변경된다. 이러한 서브블록(320)의 크기는 사용자에 의해 비트X비트(bit)로 정의될 수 있으나, 워드(1/2 바이트) 또는 바이트(byte) 크기로 지정이 될 수 있으며, 이러한 단위를 혼합하여 서브블록(320)의 크기가 결정될 수 있다. 일례로 도 4에서는 배열데이터(310)의 한 칸이 1비트인 경우가 도시되어 있으며, 서브블록(320)은 2비트X2비트 크기 외에도 1비트X3비트의 서브블록(321)과 같이 다양하게 정의될 수 있다. 즉, 데이터의 배열 변경에 있어서 일정한 크기를 가지지 않는 서브블록(320, 321)을 이용하도록 함으로써 예측 가능한 배열의 조합 수를 크게 증가시켜 원문데이터(300)의 유추가 매우 어려워지게 된다. 여기서, 이러한 서브블록의 크기 설정은 바이트(byte) 단위보다 작은 비트(bit) 단위의 크기로 설정하면 종래의 바이트(byte) 단위로 가지고 있던 정보를 각기 다른 바이트 정보와 혼합되어, 본래의 정보를 유추하기 더욱 어려워진다. 때문에 서브블록의 크기는 바이트 단위 즉, 8비트보다 큰 단위로 설정되도록 할 수도 있으며, 사용자가 임의적으로 설정하는 것이 가능하다. 실제 데이터의 암호화에 있어서 서브블록 크기(244)가 사용자에 의해 지정되면, 배열데이터(310)는 지정된 크기의 서브블록(244) 집합인 서브블록 배열로 인식되어 암호화가 진행된다. 이러한 서브블록(244)의 크기는 각 라운드별로 사용자에 의해 설정되며, 설정된 값은 각 라운드(241 내지 243)별로 서브블록의 크기가 다르게 설정되도록 하거나, 일부 라운드의 서브블록 크기가 같도록 설정되거나, 모든 라운드(241 내지 243)가 같은 서브블록 크기를 가지도록 설정될 수 있다.In more detail, the subblock size 244 may be defined as a bundle of data whose position is changed when the data position of the arrangement data 310 is changed. That is, when a user designates a 2X2 subblock 320 as shown in FIG. 4, when data shuffling, that is, a position change, data is moved in units of a 2X2 subblock 320 so that the array data 310 is moved. The position is changed on the phase. The size of the subblock 320 may be defined as a bit X bit by the user, but may be designated as a word (1/2 byte) or a byte size, and the subblocks may be mixed. The size of block 320 can be determined. For example, FIG. 4 illustrates a case in which one column of the array data 310 is one bit, and the subblock 320 is variously defined as a subblock 321 of 1 bit X3 bit in addition to the size of 2 bits X2 bits. Can be. That is, by using the subblocks 320 and 321 which do not have a constant size in changing the arrangement of the data, it is very difficult to induce original text data 300 by greatly increasing the number of combinations of predictable arrangements. In this case, if the size of the subblock is set to the size of bits smaller than the unit of bytes, the information existing in the unit of bytes is mixed with the different byte information, and the original information is changed. It becomes more difficult to infer. Therefore, the size of the subblock may be set in units of bytes, that is, units larger than 8 bits, and may be arbitrarily set by the user. When the subblock size 244 is designated by the user in the encryption of the actual data, the array data 310 is recognized as a subblock array, which is a set of subblocks 244 of the specified size, and the encryption is performed. The size of the subblock 244 is set by the user for each round, and the set value may be set such that the size of the subblock is different for each round 241 to 243, or the subblock sizes of some rounds are the same. , All rounds 241 to 243 may be set to have the same subblock size.

랜덤시드값(245)은 서브블록 크기가 지정된 배열데이터(310) 즉, 서브블록 배열에서 어느 서브블록(320)으로부터 셔플링 즉, 데이터의 위치 변경을 수행할 것인지에 대한 값이 사용자에 의해 지정된다. 즉, 랜덤시드값(245)은 암호화 함수(210)가 서브블록(320) 단위로 배열데이터(310)를 셔플링할 때 셔플링이 시작되는 서브블록(320)을 지정하는 값이 된다. 이 랜덤시드값(245)이 사용자에 의해 임의적으로 설정됨으로써 셔플링이 시작되는 시작점을 사용자의 의도에 따라 각 라운드별로 같거나 다르게 하여 데이터의 암호화에 있어서 의외성, 특이성을 더욱 증가시킬 수 있게 된다. 여기서, 의외성과 특이성은 암호화된 데이터의 예측이 곤란한 정도를 의미한다. 데이터 등 원본을 알 수 없는 데이터의 유추에 있어서 일정한 크기의 데이터를 이용한 암호화, 동일한 암호화 함수를 이용한 암호화와 같이 규칙적인 과정에 의해 암호화된 데이터는 유추가 용이하다. 하지만, 본 발명에서 사용자에 의해 지정되는 값들에 의해 불규칙적인 암호화를 진행하며, 이를 사용자가 지정한 횟수만큼 반복하도록 하여 과정의 불규칙적인 진행에 의한 특성을 증가시키게 된다. 이와 같은 방법에 의해서 본 발명은 암호화된 데이터의 규칙적인 부분을 최소화하고 임의적인 부분을 증가시킴으로써 암호화된 데이터에 비규칙적 특성인 의외성과 특이성을 부여할 수 있게 된다.The random seed value 245 is designated by the user as to the array data 310 in which the subblock size is specified, that is, which subblock 320 in the subblock array is to be shuffled, i.e., to change the position of the data. . That is, the random seed value 245 is a value that specifies the subblock 320 at which the shuffling starts when the encryption function 210 shuffles the array data 310 in units of the subblock 320. Since the random seed value 245 is arbitrarily set by the user, the starting point at which the shuffling starts is the same or different for each round according to the user's intention, thereby increasing the unexpectedness and specificity in encrypting the data. . Here, unexpectedness and specificity mean a degree of difficulty in predicting encrypted data. In inference of unknown data, such as data, data encrypted by a regular process, such as encryption using data of a constant size and encryption using the same encryption function, is easy to induce. However, in the present invention, the random encryption proceeds according to the values specified by the user, and this is repeated by the number of times specified by the user, thereby increasing the characteristics due to the irregular progress of the process. In this way, the present invention minimizes the regular part of the encrypted data and increases the arbitrary part, thereby giving the encrypted data unexpected characteristics and specificities.

셔플링 횟수(246)는 랜덤시드값(245)에 의해 지정되는 서브블록(320)을 기준으로 배열데이터(310)를 몇 번 셔플링할 것인지에 대한 값이 사용자에 의해 지정된다. 즉, 셔플링 횟수(246)를 사용자가 각 라운드별로 임의적으로 지정함으로써 라운드별 데이터의 셔플링 횟수(246)를 같거나 다르게 할 수 있으며, 이를 통해 랜덤시드값(245) 지정, 서브블록 크기(244) 설정에 부가하여 암호화된 데이터의 의외성과 특이성을 더욱 더 증가시키기 되고, 이를 통해 데이터의 보안성을 더욱 높이게 된다. The number of shuffling 246 is specified by the user as to how many times to shuffle the array data 310 based on the subblock 320 designated by the random seed value 245. That is, by randomly designating the number of shufflings 246 for each round, the number of shufflings 246 of data for each round may be the same or different, and thus, the random seed value 245 may be designated and the subblock size ( In addition to the setting, the unexpectedness and specificity of the encrypted data are further increased, thereby increasing the security of the data.

한편, 도 5에는 이러한 라운드 수(230) 및 라운드 설정값(240)을 사용자가 입력할 수 있도록 하는 인터페이스 프로그램에 의해 제공되는 입력화면(400)의 예가 도시되어 있다. 도 5를 통해 알 수 있는 바와 같이 제공되는 입력화면(400)의 각 항목에 라운드 수(230, Total Rounds), 셔플링 횟수(246, Shuffling Times), 랜덤시드값(245, Random Seed) 및 서브블록 크기(244, 도 5에서는 생략되어 도시되지 않음)을 각 라운드 번호(Round No.) 별로 지정할 수 있게 된다.5 shows an example of an input screen 400 provided by an interface program that allows a user to input the round number 230 and the round set value 240. As can be seen through FIG. 5, the number of rounds 230, total rounds, shuffling times 246, random seed values 245, and subs in each item of the input screen 400 provided. The block size 244 (not shown in FIG. 5) can be designated for each round number.

암호화 함수(210)는 설정 항목에 기록된 사용자의 설정에 따라 원문데이터를 암호화하는 함수가 저장된다. 여기서, 본 발명의 상세한 설명에서 언급되는 '암호화 함수'는 독립 변수와 종속 변수 사이의 관계를 명시하는 표현이나 규칙 즉, 하나의 수식뿐만 아니라, 데이터 암호화를 수행하는 함수의 집합, 암호화에 필요한 절차나 규칙을 포함하는 의미로 사용된다. 또한, 본 발명에 따른 키데이터는 사용자에게 독립적인 데이터로 제공될 수도 있지만, 설정 항목의 입력을 위한 인터페이스 프로그램에 포함되어 제공되는 것이 가능하다. 특히, 본 발명의 상세한 설명에서는 설명의 편의를 위해 키데이터가 암호화 함수(210)를 포함하여 구성되는 것으로 기재되어 있으나, 키데이터와 암호화 함수(210)는 별도의 데이터 또는 프로그램 형태로 제공될 수 있으며, 인터페이스 프로그램과 함께 하나의 세트 프로그램으로 제공될 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
The encryption function 210 stores a function for encrypting original text data according to a user's setting recorded in a setting item. Herein, the 'encryption function' mentioned in the detailed description of the present invention is not only an expression or rule that specifies the relationship between the independent variable and the dependent variable, that is, a formula, but a set of functions for performing data encryption and a procedure required for encryption. I used to mean including a rule. In addition, the key data according to the present invention may be provided as independent data to the user, but may be included in the interface program for inputting setting items. In particular, in the detailed description of the present invention, for convenience of description, the key data is described as including an encryption function 210, but the key data and the encryption function 210 may be provided as separate data or program types. The present invention may be provided as a set program together with the interface program, but the present invention is not limited thereto.

도 6은 본 발명에 따른 데이터 암호화 방법을 도시한 흐름도이다.6 is a flowchart illustrating a data encryption method according to the present invention.

도 6을 참조하면, 본 발명에 따른 데이터 암호화 방법은 키데이터 작성 단계(S100), 배열데이터 생성 단계(S200), 데이터 암호화 단계(S300) 및 데이터 배열 복원 단계(S400)를 포함하여 구성된다.Referring to FIG. 6, the data encryption method according to the present invention includes a key data generation step S100, an array data generation step S200, a data encryption step S300, and a data array restoration step S400.

키데이터 작성 단계(S100)는 라운드 수(230), 라운드 수(230)에 의해 정해진 각각의 라운드에 대한 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246)를 설정하여 키데이터를 작성하는 단계이다. 키데이터 작성 단계(S100)에서 사용자는 전술한 도 5와 같은 인터페이스 프로그램을 통해 키데이터(120)의 세부 설정을 수행하여 키데이터(120)를 작성하게 된다. 이 키데이터 작성 단계(S100)에서 사용자는 우선 몇 개의 라운드(241 내지 243)를 통해 데이터를 암호화할 것인가를 결정하여 라운드 수(230)를 지정하게 된다. 라운드 수(230)가 지정되면, 라운드 수(230)에 의해 지정된 라운드들 각각에 대해 서브블록 크기(244) 설정, 랜덤시드값(245) 설정 및 셔플링 횟수(246) 설정이 이루어지게 된다.The key data creation step S100 sets the subblock size 244, the random seed value 245, and the shuffling count 246 for each round determined by the number of rounds 230 and the number of rounds 230. This step creates key data. In the key data creation step (S100), the user creates the key data 120 by performing detailed settings of the key data 120 through the interface program as illustrated in FIG. 5. In this key data creation step (S100), the user first determines how many rounds 241 to 243 to encrypt the data to designate the number of rounds 230. If the number of rounds 230 is specified, the subblock size 244, the random seed value 245, and the shuffling count 246 are set for each of the rounds specified by the round number 230.

배열데이터 생성 단계(S200)는 암호화를 위해 원문데이터(300)의 배열을 변경하여 매트릭스 형태의 배열데이터(310)를 생성하는 단계이다. 배열데이터 생성 단계(S200)에서는 컴퓨터와 같은 암호화 장치가 원문데이터(300)를 일정한 단위 길이(u)로 구분하여 이를 매트릭스 형태로 재배치하여 배열데이터(310)를 생성하는 단계이다. Array data generation step (S200) is a step of generating the array data 310 of the matrix form by changing the arrangement of the original text data 300 for encryption. In the array data generation step (S200), an encryption device such as a computer generates the array data 310 by dividing the original text data 300 into a predetermined unit length u and rearranging the original data data in a matrix form.

데이터 암호화 단계(S300)는 생성된 배열데이터(310)를 키데이터(120)의 설정을 적용하여 암호화하는 단계이다. 데이터 암호화 단계(S300)에서 암호화를 실행하는 장치는 키데이터(120)에 포함된 라운드 수(230), 라운드별 서브블록 크기(244), 랜덤시드값(245) 및 셔플링 횟수(246)를 확인하고, 확인된 정보에 따라 배열데이터(310)를 암호화하게 된다. 이를 통해 데이터 암호화 단계(S300)에서는 배열데이터(310)과 복수의 셔플링 과정을 거쳐 암호화되어 암호화 데이터가 생성된다.The data encryption step S300 is a step of encrypting the generated array data 310 by applying the setting of the key data 120. In the data encryption step (S300), the apparatus for performing encryption determines the number of rounds 230, the subblock size 244 for each round, the random seed value 245, and the number of shufflings 246 included in the key data 120. After confirming, the array data 310 is encrypted according to the confirmed information. As a result, in the data encryption step (S300), the encrypted data is generated by encrypting the array data 310 through a plurality of shuffling processes.

데이터 배열 복원 단계(S400)는 암호화가 이루어진 암호화 데이터(330)를 원문데이터(300)와 동일한 형태 및 형식의 데이터로 변환하는 단계이다. 이 데이터 배열 복원 단계(S400)에서는 암호화가 이루어진 매트릭스 형태의 데이터 즉, 암호화 데이터(330)를 원문데이터의 형태로 재변환하는 과정이 진행된다. 이를 위해 데이터 배열 복원 단계(S400)에서는 매트릭스 형태의 암호화 데이터를 배열데이터 생성시의 단위길이(u)로 취득하여, 연속적인 데이터 형태로 재변환하게 된다. 아울러, 연속적인 데이터로 환원된 암호화 데이터는 사용자가 지정한 방식에 의해 수신자에게 전달된다.
Data array restoration step (S400) is a step of converting the encrypted encrypted data 330 of the same form and format as the original text data 300. In the data array restoration step S400, a process of reconverting the encrypted matrix data, that is, the encrypted data 330, into the original text data is performed. To this end, in the data array reconstruction step (S400), the matrix-type encrypted data is acquired as the unit length (u) at the time of generating the array data, and reconverted into a continuous data form. In addition, the encrypted data reduced to continuous data is delivered to the receiver in a manner designated by the user.

도 7은 도 6의 키데이터 작성 단계를 좀 더 상세히 도시한 순서도이다.7 is a flowchart illustrating the key data generation step of FIG. 6 in more detail.

도 7을 참조하면, 키데이터 작성 단계(S100)는 라운드 수 입력 단계(S110), 서브블록 크기 설정 단계(S120), 랜덤시드값 입력 단계(S130), 셔플링 횟수 입력 단계(S140) 및 라운드 설정값 입력 여부 판단 단계(S150)를 포함하여 구성된다.Referring to FIG. 7, the key data generation step S100 includes a round number input step S110, a subblock size setting step S120, a random seed value input step S130, a shuffling number input step S140, and a round. It is configured to include whether or not to enter the set value (S150).

라운드 수 입력 단계(S110)는 사용자가 데이터를 암호화하는 데 있어서 몇 번의 라운드를 진행하도록 할지에 대한 라운드 횟수를 입력하는 단계이다. 이 라운드 수 입력 단계(S210)에서 사용자는 1이상의 자연수(예를 들어 'N' 입력)를 입력하게 되고, 입력된 수에 따라 라운드 설정값 입력을 위한 항목이 생성되게 된다.The round number input step (S110) is a step of inputting the number of rounds for how many rounds the user should proceed in encrypting data. In this round number input step (S210), the user inputs one or more natural numbers (eg, 'N' input), and an item for inputting a round set value is generated according to the input number.

서브블록 크기 설정 단계(S120)는 라운드 수 입력 단계(S110)에서 결정된 라운드 각각에 대한 서브블록 크기가 설정되는 단계이다. 구체적으로, N 개의 라운드가 진행되도록 설정되면, 1부터 N까지의 각 라운드에 대한 각각의 서브블록 크기가 설정된다. 예를 들어, 현재의 설정값 입력 단계가 I번째(1≤I≤N인 자연수) 라운드에 대한 설정값인 경우 I번째 라운드에서 데이터 암호화에 적용되는 서브블록 크기를 설정하게 된다.The subblock size setting step S120 is a step of setting a subblock size for each round determined in the round number input step S110. Specifically, if N rounds are set to proceed, each subblock size for each round from 1 to N is set. For example, when the current setting value input step is a setting value for the I th round (a natural number of 1 ≦ I ≦ N), the subblock size applied to data encryption is set in the I th round.

랜덤시드값 입력 단계(S130)는 라운드 수 입력 단계(S110)에서 결정된 라운드 각각에 대한 랜덤시드값이 입력되는 단계이다. 이 랜덤시드값 입력 단계(S130)도 서브블록 크기 설정 단계(S120)와 마찬가지로, N 개의 라운드가 진행되도록 설정된 경우 1부터 N까지의 각 라운드에 대한 각각의 랜덤시드값이 입력되도록 반복적으로 수행된다. The random seed value input step S130 is a step of inputting a random seed value for each round determined in the round number input step S110. Similar to the subblock size setting step S120, the random seed value input step S130 is repeatedly performed to input each random seed value for each round from 1 to N when N rounds are set to proceed. .

셔플링 횟수 입력 단계(S140)는 라운드 수 입력 단계(S110)에서 결정된 라운드 각각에 대한 셔플링 횟수가 입력되는 단계이다. 이 셔플링 횟수 입력 단계(S140)도 서브블록 크기 설정 단계(S120) 및 랜덤시드값 입력 단계(S130)와 마찬가지로 N 개의 라운드가 진행되도록 설정된 경우 1부터 N까지의 각 라운드에 대한 각각의 랜덤시드값이 입력되도록 반복적으로 수행된다.The shuffling number input step S140 is a step of inputting the shuffling number for each round determined in the round number input step S110. The shuffling number input step S140 is also performed in the same manner as the subblock size setting step S120 and the random seed value input step S130. It is performed repeatedly so that a value is entered.

라운드 설정값 입력 여부 판단 단계(S150)는 전술한 서브블록 크기 설정 단계(S120) 내지 셔플링 횟수 입력 단계(S140)가 라운드 수 입력 단계(S110)에서 설정된 라운드 수만큼 반복되었는지 판단하는 단계이다. 라운드 설정값 입력 여부 판단 단계(S150)에서는 사용자가 설정한 라운드 수에 해당하는 각 라운드에 암호화를 위한 각각의 설정값이 입력되었는지 판단하며, 판단 결과에 따라 배열데이터 생성 단계(S200)로 이행하거나, 나머지 라운드에 대한 설정값을 입력하도록 서브블록 크기 설정 단계(S120)로 복귀하게 된다. 이를 위해, 라운드 설정값 입력 여부 판단 단계(S150)는 라운드 설정값의 입력이 이루어진 라운드 수를 카운트하는 단계와, 카운트 값(I)과 입력된 라운드 수(N)를 비교하는 단계를 포함하여 구성될 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
The determination of whether to input the round set value (S150) is a step of determining whether the above-described subblock size setting step (S120) to the shuffling number input step (S140) have been repeated as many as the number of rounds set in the round number input step (S110). In the step of determining whether to enter the round set value (S150), it is determined whether each set value for encryption is input to each round corresponding to the number of rounds set by the user, and the process proceeds to the array data generation step (S200) according to the determination result. Then, the process returns to the subblock size setting step S120 to input setting values for the remaining rounds. To this end, the step of determining whether to enter the round set value (S150) is configured to include the step of counting the number of rounds of the round set value input, and comparing the count value (I) and the input number of rounds (N) However, this does not limit the present invention.

도 8은 도 6의 데이터 암호화 단계를 좀 더 상세히 도시한 순서도이다.8 is a flowchart illustrating the data encryption step of FIG. 6 in more detail.

도 8을 참조하면, 데이터 암호화 단계는 라운드 수 확인 단계(S310), 서브블록 크기 확인 단계(S320), 랜덤시드값 확인 단계(S330), 셔플링 횟수 확인 단계(S340), 암호화 단계(S350), 암호화 반복 확인 단계(S360) 및 라운드 반복 확인 단계(S370)를 포함하여 구성된다.Referring to FIG. 8, the data encryption step includes a round number check step S310, a subblock size check step S320, a random seed value check step S330, a shuffling count check step S340, and an encryption step S350. , The encryption iteration confirmation step (S360) and the round iteration confirmation step (S370) is configured.

라운드 수 확인 단계(S310)는 암호화 실행 장치에 의해 키데이터에 설정된 라운드 수(N) 정보가 확인되고, 각 라운드를 진행하기 위한 준비가 이루어지는 단계이다. 암호화 실행 장치는 라운드 수 확인 단계(S310)에서 확인된 라운드 수만큼 서브블록 크기 확인 단계(S320) 내지 암호화 반복 확인 단계(S360)를 반복하여 진행하게 된다.The round number checking step S310 is a step in which the round number N information set in the key data is confirmed by the encryption execution device, and preparation for proceeding with each round is performed. The encryption execution device repeats the subblock size checking step S320 to the encryption repetition checking step S360 by the number of rounds identified in the round number checking step S310.

서브블록 크기 확인 단계(S320)는 암호화 실행 장치에 의해 키데이터에 설정된 해당 라운드의 서브블록 크기를 확인하는 단계이다. 서브블록 크기 확인 단계(S320)는 암호화 실행 장치가 사용자에 의해 설정된 키데이터를 확인하고, 데이터 암호화를 위해 현재 라운드에서 서브블록 크기를 확인하여 데이터 암호화를 시작하는 단계이다. 이를 위해 서브블록 크기 확인 단계(S320)는 현재 라운드에 대해 설정된 서브블록 크기를 확인한 암호화 실행 장치가 배열데이터(310)를 서브블록 크기 단위로 구분 또는 분할하는 단계를 포함하여 구성될 수 있다.The subblock size checking step S320 is a step of checking the subblock size of the corresponding round set in the key data by the encryption execution device. The subblock size checking step S320 is a step in which the encryption execution apparatus checks the key data set by the user and starts data encryption by checking the subblock size in the current round for data encryption. To this end, the subblock size checking step S320 may include a step of dividing or dividing the arrangement data 310 into subblock size units by the encryption execution device that has confirmed the subblock size set for the current round.

랜덤시드값 확인 단계(S330)는 암호화 실행 장치에 의해 키데이터에 설정된 현재 라운드의 랜덤시드값이 확인되는 단계이다. 랜덤시드값은 전술한 바와 같이, 서브블록 크기 및 셔플링 횟수(Y)와 마찬가지로 사용자에 의해 설정되는 값으로, 암호화함수에 의해 셔플링의 기준이 되는 서브블록을 지정하는 값이다. 랜덤시드값 확인 단계(S330)에서 암호화 실행 장치는 현재 라운드에 대해 설정된 랜덤시드값을 확인하고, 서브블록 크기 확인 단계(S320)에서 구분된 서브블록 중 랜덤시드값에 의해 지정된 서브블록을 확인하게 된다. 특히, 랜덤시드값 확인 단계(S330)는 데이터 암호화를 위한 암호화 함수가 호출되고, 호출된 암호화 함수에 랜덤시드값이 제공되어 암호화를 위한 과정이 준비된다.The random seed value checking step S330 is a step in which the random seed value of the current round set in the key data is confirmed by the encryption execution device. As described above, the random seed value is a value set by the user in the same manner as the subblock size and the number of shuffling times Y, and designates a subblock to be the basis for shuffling by an encryption function. In the random seed value checking step (S330), the encryption execution device checks the random seed value set for the current round, and checks the subblock designated by the random seed value among the subblocks divided in the subblock size checking step (S320). do. In particular, in the random seed value checking step S330, an encryption function for data encryption is called, and a random seed value is provided to the called encryption function, thereby preparing a process for encryption.

셔플링 횟수 확인 단계(S340)는 암호화 실행 장치가 키데이터 설정된 현재 라운드의 셔플링 횟수를 확인하는 단계이다. 셔플링 횟수 확인 단계(S340)에서 암호화 실행 장치는 이전 단계에서 확인 서브블록 크기 및 랜덤시드값에 의해 몇 번의 셔플링을 수행할지 확인하게 된다.In the step of checking the shuffling number (S340), the encryption execution device checks the number of shuffling of the current round in which key data is set. In the step of checking the shuffling number (S340), the encryption execution device may determine how many shufflings to perform according to the checking subblock size and random seed value in the previous step.

암호화 단계(S350)는 암호화 실행 장치가 키데이터, 구체적으로 현재 라운드에 대한 서브블록 크기, 랜덤시드값에 의해 암호화를 진행하는 단계이다. 암호화 단계(S350)에서 암호화 실행 장치는 현재 라운드에 대해 설정된 서브블록 크기 단위로 랜덤시드값에 의해 지정되는 서브블록을 기준으로 하여 셔플링을 진행하게 된다. 이를 통해 암호화 단계(S350)에서는 배열데이터(310)를 랜덤시드값에 의해 지정된 서브블록을 기준으로 서브블록 크기 단위로 셔플링이 이루어지고, 배열데이터(310)와 동일한 형태이지만, 데이터의 위치가 셔플링된 예비 암호데이터가 생성된다.The encryption step S350 is a step in which the encryption execution device performs encryption based on key data, specifically, a subblock size and a random seed value for the current round. In the encryption step S350, the encryption execution apparatus performs the shuffling based on the subblock designated by the random seed value in units of the subblock size set for the current round. Accordingly, in the encryption step S350, the array data 310 is shuffled in units of subblock sizes based on the subblocks designated by the random seed value, and the same as that of the array data 310, but the position of the data is The shuffled preliminary encryption data is generated.

암호화 반복 확인 단계(S360)는 암호화 실행 장치가 키데이터에서 현재 라운드에 대해 지정된 셔플링 횟수(Y)만큼 암호화 단계(S350)가 반복되었는지 판단하는 단계이다. 반복 확인 단계(S360)에서 암호화 실행 장치는 암호화 단계(S350)의 수행횟수를 카운트하고, 카운트 결과가 셔플링 횟수(Y)에서 지정된 값과 같은 값인지를 판단한다. 그리고, 암호화장치는 판단 결과에 따라 카운트 결과가 셔플링 횟수(Y)를 충족하도록 암호화 단계(S350)를 다시 진행하거나, 라운드 반복 확인 단계(S370)를 진행하게 된다.The encryption iteration confirmation step S360 is a step in which the encryption execution device determines whether the encryption step S350 has been repeated by the number of shuffling Y specified for the current round in the key data. In the iterative confirmation step S360, the encryption execution device counts the number of times the encryption step S350 is performed, and determines whether the count result is equal to the value specified in the shuffling number Y. Then, the encryption apparatus proceeds to the encryption step S350 again or round repeat check step S370 according to the determination result so that the count result satisfies the shuffling number (Y).

라운드 반복 확인 단계(S370)는 암호화장치가 서브블록 크기 확인(S320) 내지 암호화 반복 확인 단계(S360)가 키데이터에 설정된 라운드 수(N)만큼 반복되었는지 판단하는 단계이다. 라운드 반복 확인 단계(S370)에서 암호화장치는 판단 결과 암호화가 사용자가 지정한 라운드 수(N)만큼 반복되면, 데이터 배열 복원 단계(S400)를 진행하고, 라운드 수(N)만큼 반복되지 않은 경우 서브블록 크기확인 내지 라운드 반복 확인 단계(S370)를 진행하게 된다. 특히, 라운드 반복 확인 단계(S370)에서 잔여 라운드가 존재하는 것으로 판단되면, 암호화장치는 다음 차례의 라운드에 대한 서브블록 크기 확인 단계(S320) 내지 암호화 반복 확인 단계(S360)를 진행하여 이전 라운드와는 다른 설정에 의해 데이터를 암호화하게 된다. 또한, 새로 시작되는 라운드에 의한 암호화는 이전 라운드에서 생성된 예비 암호화 데이터를 이용하여 진행되며, 이를 통해 원문데이터를 반복적으로 다른 설정에 의해 암호화하게 된다.
The round repetition checking step (S370) is a step in which the encryption apparatus determines whether the subblock size checking (S320) to encryption repeating checking step (S360) have been repeated by the number of rounds (N) set in the key data. In the round repetition checking step (S370), if the encryption device is determined that the encryption is repeated by the number of rounds (N) specified by the user, the data array restoration step (S400) is performed, and when the number of rounds (N) is not repeated, the subblock Size checking to round iteration checking step (S370) is to proceed. In particular, if it is determined that the remaining rounds exist in the round repetition checking step S370, the encryption apparatus proceeds to the sub-block size checking step S320 to the encryption repetition checking step S360 for the next round and the previous round. Will encrypt the data by other settings. In addition, encryption by the newly started round proceeds using the preliminary encrypted data generated in the previous round, through which the original data is repeatedly encrypted by another setting.

한편, 본 발명에 따른 데이터 암호화 방법에 의해 암호화된 데이터 방법은 다양한 장치에서 이용이 가능하다. 일반적으로 컴퓨터를 통해 이용할 수 있으며, 이외에도 입력이 가능한 전자장치, 예를 들어, IPTV, 항공기, 무인항공기, 인공위성, 전자사전, 휴대용 멀티미디어 플레이어, 휴대용 MP3 재생장치, 휴대폰, 네비게이션과 같은 장치들을 통해서 이용이 가능하다. 특히, 암호화된 데이터를 수신하여 복호화하는 장치의 키데이터를 전송받아 연산을 수행할 수 있는 장치이면 입력 장치가 구성되지 않는 경우에도 이용이 가능하다.On the other hand, the data method encrypted by the data encryption method according to the present invention can be used in various devices. In general, it can be used through a computer and can also be input through other electronic devices such as IPTV, aircraft, unmanned aerial vehicles, satellites, electronic dictionaries, portable multimedia players, portable MP3 players, mobile phones, and navigation devices. This is possible. In particular, a device capable of receiving a key data of an apparatus for receiving and decrypting encrypted data and performing an operation can be used even when an input device is not configured.

또한, 이러한 키데이터는 USB(Universal Serial Bus) 메모리, SD(Secure Digital) 카드와 같은 휴대용 메모리 장치를 통해 암호화된 데이터 수신자에게 전달되고, 수신자의 컴퓨터 장치에 이용될 수 있다. 아울러 본 발명에 따른 데이터 암호화 방법은 데이터 통신이 가능한 장치들 간의 통신에 적용이 될 수 있으며, 통신망에 의한 연결, 직접 연결 또는 메모리 장치에 의한 데이터 이동의 경우에도 적용이 가능하다.
In addition, such key data may be transmitted to an encrypted data receiver through a portable memory device such as a universal serial bus (USB) memory or a secure digital (SD) card, and used in the receiver's computer device. In addition, the data encryption method according to the present invention may be applied to communication between devices capable of data communication, and also applicable to a data connection by a communication network, a direct connection or a memory device.

110, 300 : 원문데이터 120 : 키데이터
130 : 암호화 150 : 복호화
210 : 암호화함수 230 : 라운드 수 정보
240 : 라운드 설정값 244 : 서브블록 크기
245 : 랜덤시드값 246 : 셔플링 횟수
310 : 배열데이터 320, 321 : 서브블록
330 : 암호화 데이터
110, 300 Original text data 120 Key data
130: encryption 150: decryption
210: encryption function 230: round number information
240: Round set value 244: Subblock size
245: random seed value 246: number of shuffling
310: array data 320, 321: subblock
330: encrypted data

Claims (5)

암호화 실행 장치에 의해 원문데이터의 데이터 배열을 변경하여 암호데이터를 생성하는 데이터 암호화방법에 있어서,
상기 암호화 실행 장치가 상기 원문데이터를 일정한 데이터 단위로 구분하고, 행렬 형태로 재배열하여 배열 데이터를 생성하는 데이터 배열 단계;
상기 배열데이터의 상기 데이터 배열을 변경하기 위한 데이터 단위인 서브블록의 크기를 설정하는 서브블록 크기, 상기 서브블록 단위의 배열 변경을 위한 기준 서브블록을 지정하는 랜덤시드값 및 상기 서브블록 크기와 상기 랜덤시드값에 의한 배열 변경 횟수를 지정하기 위한 셔플링 횟수 정보를 가지며, 사용자에 의해 상기 서브블록 크기, 상기 랜덤시드값 및 상기 셔플링 횟수가 결정되는 라운드 설정값을 포함하는 키데이터가 상기 암호화 실행 장치에 의해 제공되는 입력인터페이스를 통해 입력되는 키데이터 작성단계;
상기 암호화 실행 장치가 상기 키데이터의 상기 라운드 설정값에 의해 상기 배열데이터의 데이터 배열을 변경하는 라운드를 진행하여 암호화 데이터를 생성하는 데이터 암호화 단계; 및
상기 암호화 실행 장치 또는 복호화 장치에 의해 상기 암호화 데이터를 상기 원문데이터와 동일한 데이터 형태로 복원하는 데이터 복원 단계;를 포함하여 구성되고,
상기 키데이터는
상기 입력인터페이스를 통해 입력되고 상기 암호화 데이터 생성을 위한 라운드의 수를 지정하는 라운드 수 정보를 포함하며,
상기 라운드 설정값은 .
상기 라운드 수에 의해 지정된 각각의 상기 라운드에 대해 개별적으로 작성되고,
상기 키데이터 작성단계는,
상기 라운드 수 정보 입력 단계;
상기 라운드 수 정보에 지정된 수의 상기 라운드 각각에 대한 상기 서브블록 크기를 설정하는 서브블록 크기 설정 단계;
상기 라운드 각각에 대한 상기 랜덤시드값을 설정하는 랜덤시드값 설정 단계; 및
상기 라운드 각각에 대한 상기 셔플링 횟수를 설정하는 셔플링 횟수 설정 단계;를 포함하여 구성되는 것을 특징으로 하는 데이터 암호화 방법.
A data encryption method for generating encrypted data by changing a data arrangement of original text data by an encryption execution device,
A data arrangement step of the encryption execution apparatus dividing the original text data into a predetermined data unit and rearranging the original text data in a matrix form to generate array data;
A subblock size for setting a size of a subblock that is a data unit for changing the data arrangement of the array data, a random seed value for designating a reference subblock for array change in the subblock unit, and the subblock size and the The key data has a shuffling count information for designating the number of array changes by a random seed value, and the key data includes a round set value for determining the subblock size, the random seed value, and the shuffling count by a user. Key data creation step input via an input interface provided by the execution device;
A data encryption step of the encryption execution apparatus generating a encrypted data by performing a round of changing the data arrangement of the array data according to the round set value of the key data; And
And a data restoration step of restoring the encrypted data into the same data form as the original text data by the encryption execution device or the decryption device.
The key data is
Round number information input through the input interface and designating a number of rounds for generating the encrypted data;
The round setting is.
Created individually for each of the rounds specified by the number of rounds,
The key data creation step,
Inputting the round number information;
A subblock size setting step of setting the subblock size for each of the rounds of the number specified in the round number information;
A random seed value setting step of setting the random seed value for each of the rounds; And
And a shuffling number setting step of setting the number of shuffling times for each of the rounds.
삭제delete 제 1 항에 있어서,
상기 암호화 단계는,
상기 라운드 수 정보에 지정된 수의 라운드를 진행하여 상기 배열데이터를 암호화하여 상기 암호화 데이터를 생성하며,
현재의 상기 라운드는 이전에 진행된 상기 라운드의 상기 암호화 데이터를 재암호화 하는 것을 특징으로 하는 데이터 암호화 방법.
The method of claim 1,
The encryption step,
Generating the encrypted data by encrypting the array data by performing the number of rounds specified in the round number information;
Wherein said current round re-encrypts said encrypted data of said round previously.
삭제delete 제 3 항에 있어서,
상기 데이터 암호화 단계는,
상기 키데이터의 상기 라운드 수 정보를 확인하는 라운드 수 확인 단계;
상기 라운드 수 정보에 지정된 수의 상기 라운드 중 어느 하나인 현재의 상기 라운드에 대한 상기 서브블록 크기 및 상기 랜덤시드값에 의해 상기 배열데이터를 암호화하여 상기 암호화 데이터를 생성하는 단계;
상기 암호화 데이터 생성 단계를 상기 셔플링 횟수에 지정한 수만큼 반복하여 진행하는 반복 진행 단계; 및
상기 암호화 데이터 생성 및 상기 반복 진행 단계를 상기 라운드 수 정보에 지정된 수만큼 반복하는 라운드 반복 단계;를 포함하여 구성되는 것을 특징으로 하는 데이터 암호화 방법.
The method of claim 3, wherein
The data encryption step,
A round number checking step of checking the round number information of the key data;
Generating the encrypted data by encrypting the array data by the subblock size and the random seed value for the current round, which is any one of the rounds specified in the round number information;
An iterative process of repeating the step of generating the encrypted data by the number specified by the number of shuffling times; And
And a round repetition step of repeating the encrypted data generation and the repetition proceeding steps by the number specified by the round number information.
KR1020100006563A 2010-01-25 2010-01-25 Data Encrytion Method KR101112157B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100006563A KR101112157B1 (en) 2010-01-25 2010-01-25 Data Encrytion Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100006563A KR101112157B1 (en) 2010-01-25 2010-01-25 Data Encrytion Method

Publications (2)

Publication Number Publication Date
KR20110087094A KR20110087094A (en) 2011-08-02
KR101112157B1 true KR101112157B1 (en) 2012-02-22

Family

ID=44925983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100006563A KR101112157B1 (en) 2010-01-25 2010-01-25 Data Encrytion Method

Country Status (1)

Country Link
KR (1) KR101112157B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190036328A (en) 2017-09-27 2019-04-04 주식회사 에이치앤비트 Frame selective encryption method for video data
KR20190036339A (en) 2017-09-27 2019-04-04 주식회사 에이치앤비트 Video data encryption method
KR102399199B1 (en) 2022-02-17 2022-05-18 주식회사 명광 Realtime security system for transmitting video data and method of the same

Families Citing this family (7)

* 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
KR101899554B1 (en) * 2017-12-08 2018-09-18 주식회사 명광 Security system for transmitting video data
CN110147679A (en) * 2019-05-29 2019-08-20 山东浪潮人工智能研究院有限公司 A kind of adjustable data disorder method of granularity
KR102163718B1 (en) * 2020-03-17 2020-10-08 주식회사 에스티리서치 AI Program for Determining Survey Respondents
KR102455357B1 (en) * 2022-03-14 2022-10-18 (주)라바웨이브 A system of filtering phishing victim data based on a neural network
KR20230139647A (en) * 2022-03-28 2023-10-05 주식회사 아이서티 System and method for encrypting and decrypting data
KR102617446B1 (en) * 2023-01-30 2023-12-27 박성곤 Encoder, encoding method and computer readable recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020005438A (en) * 2001-07-03 2002-01-17 남궁석 Apparatus for encrypting plane data and method thereof
US6345101B1 (en) 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
KR20030001888A (en) * 2001-06-28 2003-01-08 박승배 Cipher algorithm design method using block information without using key
US20070140478A1 (en) 2005-12-15 2007-06-21 Yuichi Komano Encryption apparatus and encryption method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345101B1 (en) 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
KR20030001888A (en) * 2001-06-28 2003-01-08 박승배 Cipher algorithm design method using block information without using key
KR20020005438A (en) * 2001-07-03 2002-01-17 남궁석 Apparatus for encrypting plane data and method thereof
US20070140478A1 (en) 2005-12-15 2007-06-21 Yuichi Komano Encryption apparatus and encryption method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190036328A (en) 2017-09-27 2019-04-04 주식회사 에이치앤비트 Frame selective encryption method for video data
KR20190036339A (en) 2017-09-27 2019-04-04 주식회사 에이치앤비트 Video data encryption method
KR102399199B1 (en) 2022-02-17 2022-05-18 주식회사 명광 Realtime security system for transmitting video data and method of the same

Also Published As

Publication number Publication date
KR20110087094A (en) 2011-08-02

Similar Documents

Publication Publication Date Title
KR101112157B1 (en) Data Encrytion Method
US11991275B2 (en) System and method for quantum-safe authentication, encryption and decryption of information
US9443091B2 (en) Method and system for protecting execution of cryptographic hash functions
US9350544B2 (en) Apparatus for encrypting data
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
US11296869B2 (en) Apparatus and method for unbreakable data encryption
KR102397579B1 (en) Method and apparatus for white-box cryptography for protecting against side channel analysis
CN106878013A (en) A kind of encryption and decryption method and device of file
US9594918B1 (en) Computer data protection using tunable key derivation function
CN109639423B (en) Constituent device of decryption algorithm
WO2019225735A1 (en) Data processing device, method, and computer program
Jose et al. Hash and Salt based Steganographic Approach with Modified LSB Encoding
KR20190129306A (en) Data transmission apparatus capable of secret key encryption based on involutory matrix and operating method thereof
KR101924047B1 (en) Encryption method and apparatus using the same, decryption method and appratus using the same
US20170085371A1 (en) System and method for an enhanced xor cipher through extensions
Salam et al. ShiftMod cipher: A symmetrical cryptosystem scheme
KR101440680B1 (en) Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same
JP2017527225A (en) Cryptographic system reproducible random sequence
US11533167B2 (en) Methods and devices for optimal information-theoretically secure encryption key management
CN111008837A (en) Block chain account private key recovery method and device, computer equipment and storage medium
KR102637234B1 (en) Lattice-based public key cryptosystem and electronic device included in the same
WO2021130935A1 (en) Digital watermark embedding device, digital watermark extraction device, digital watermark embedding method, digital watermark extraction method, and program
CN117834111A (en) Data encryption and decryption method and online loan system
JP2003345243A (en) Convolution encryption method, convolution encryption system, and convolution encryption program
CN114651418A (en) Method and apparatus for creating redundancy and encryption using Mojette transforms

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20150115

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160718

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170502

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 8