KR102481024B1 - Processing method for encrypting data, system and computer program - Google Patents

Processing method for encrypting data, system and computer program Download PDF

Info

Publication number
KR102481024B1
KR102481024B1 KR1020210096337A KR20210096337A KR102481024B1 KR 102481024 B1 KR102481024 B1 KR 102481024B1 KR 1020210096337 A KR1020210096337 A KR 1020210096337A KR 20210096337 A KR20210096337 A KR 20210096337A KR 102481024 B1 KR102481024 B1 KR 102481024B1
Authority
KR
South Korea
Prior art keywords
block
remnant
data
encryption
bits
Prior art date
Application number
KR1020210096337A
Other languages
Korean (ko)
Inventor
심상국
김승찬
강규영
Original Assignee
주식회사 티엔젠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 티엔젠 filed Critical 주식회사 티엔젠
Priority to KR1020210096337A priority Critical patent/KR102481024B1/en
Application granted granted Critical
Publication of KR102481024B1 publication Critical patent/KR102481024B1/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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

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

Abstract

According to the present invention, a method for data encryption and decryption to increase security comprises the following steps of: determining whether data for transmission is a multiple of n bits; and setting a plurality of encryption blocks for the data for transmission in units of n bits and setting an arbitrary location block as a remnant block according to a specific criterion if the data for transmission is not a multiple of n bits.

Description

데이터 암호화를 위해 수행되는 데이터 처리 방법, 장치, 시스템 및 컴퓨터 프로그램{PROCESSING METHOD FOR ENCRYPTING DATA, SYSTEM AND COMPUTER PROGRAM}Data processing method, device, system and computer program performed for data encryption

본 발명은 자투리 블록을 이용하여 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a method and computer program for encrypting and decrypting data to improve security by using a remnant block.

컴퓨터 네트워크를 이용하여 데이터를 전송하는 과정에서 데이터 해킹을 방지하기 위해 다양한 암호화 방법을 사용하고 있으며, 안정성과 처리속도 등을 고려하는 하나의 방법으로 블록 암호 알고리즘을 사용한다.In the process of transmitting data using a computer network, various encryption methods are used to prevent data hacking, and a block cipher algorithm is used as one method that considers stability and processing speed.

블록 암호 알고리즘은 주어진 데이터를 정해진 길이의 블록(ex. 64비트, 128 비트 등)으로 나누어 블록 단위로 암호화를 수행하는 알고리즘이다. A block cipher algorithm is an algorithm that divides given data into blocks (eg, 64 bits, 128 bits, etc.) of a predetermined length and performs encryption in block units.

64비트 블록 암호에는 DES, DES3, DESX, RC5, BLOWFISH, CAST128, IDEA, SAFER , RC2 등이 있으며, 128비트 블록 암호에는 SEED, CRYPTON, RIJNDAEL, CAST256, RC6, TWOFISH, MARS, SERPENT 등이 있다.64-bit block ciphers include DES, DES3, DESX, RC5, BLOWFISH, CAST128, IDEA, SAFER, and RC2, and 128-bit block ciphers include SEED, CRYPTON, RIJNDAEL, CAST256, RC6, TWOFISH, MARS, and SERPENT.

블록 암호 알고리즘은 다양한 '운용모드'로 구현되며 '패딩(padding)'이 필요하다. Block cipher algorithms are implemented in various 'modes of operation' and require 'padding'.

더 구체적으로, 상기 암호 중 64 비트 블록 암호인 DES, 128비트 블록 암호인 SEED를, DES는 입력 데이터의 길이를 8의 배수로, SEED는 16의 배수로 나누는데, 만약 입력 데이터의 길이가 8이나 16의 배수가 되지 않는 경우에, 8의 배수나 16의 배수가 되도록 데이터를 덧붙이게 되는데 이를 '패딩'이라고 한다(한국특허등록번호 10-1663274).More specifically, among the ciphers, DES, which is a 64-bit block cipher, and SEED, which is a 128-bit block cipher, DES divides the length of input data by a multiple of 8, and SEED by a multiple of 16. If the length of the input data is 8 or 16 If it is not a multiple, data is appended to make it a multiple of 8 or 16, which is called 'padding' (Korean Patent Registration No. 10-1663274).

입력 데이터의 길이가 8이나 16의 배수가 되지 않는 경우에 남는 마지막 블록을 자투리 블록으로 칭할 수 있으며, 상기 자투리 블록의 정상적 암호화를 위해 데이터를 덧붙이는 '패딩'을 수행하는 것이다.When the length of the input data is not a multiple of 8 or 16, the remaining last block may be referred to as a remnant block, and 'padding' is performed to append data to the remnant block for normal encryption.

본 발명은 자투리 블록을 활용하여 보안성을 향상시키기 위해 데이터 암호화 및 복호화를 위한 데이터 처리 방법 및 장치를 제공하려는 것이다.An object of the present invention is to provide a data processing method and apparatus for data encryption and decryption in order to improve security by utilizing remnant blocks.

본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법은 전송을 위한 데이터가 n의 배수인지를 판단하는 단계; 및 전송을 위한 데이터를 n 비트 단위로 복수의 암호 블록을 설정하되, 상기 전송을 위한 데이터가 n의 배수가 아니면 특정기준에 따라 임의의 위치 블록을 자투리 블록으로 설정하는 단계;를 포함할 수 있다. (이때, n은 블록암호화에서 단위 블록 데이터 길이를 의미하며, 자연수)A method for data encryption and decryption for improving security according to an embodiment of the present invention includes determining whether data for transmission is a multiple of n; And setting a plurality of encryption blocks for data for transmission in units of n bits, but setting an arbitrary location block as a remnant block according to a specific criterion if the data for transmission is not a multiple of n. . ( At this time, n means the unit block data length in block encryption and is a natural number)

또한 상기 자투리 블록으로 설정하는 단계 이후에, 상기 자투리 블록을 블록 암호 알고리즘의 운영모드(예, CTR)로 변경 처리하거나 블록 암호 알고리즘 외의 다른 암호 알고리즘으로 처리하는 단계;를 더 포함하는 보안성을 향상시킬 수 있다. 또한 상기 자투리 블록으로 설정하는 단계 이후에, 상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하는 단계;를 더 포함할 수 있다.In addition, after setting the remnant block to the remnant block, changing the remnant block to an operation mode (eg, CTR) of a block cipher algorithm or processing it with an encryption algorithm other than a block cipher algorithm; improving security further comprising: can make it The method may further include padding with n bits by inserting arbitrary y bits into the remnant block after setting the remnant block.

또한 상기 자투리 블록은, 상기 전송을 위한 데이터를 n 비트 단위로 나누었을 때, 나머지에 해당하는 비트 수를 가지는 블록을 의미할 수 있다.Also, the remnant block may mean a block having the number of bits corresponding to the remainder when the data for transmission is divided into n-bit units.

또한 상기 자투리 블록으로 설정하는 단계는, 상기 특정기준으로 OTP(One Time Password)를 이용하고, OTP 코드 발생 정보를 이용하여 임의의 위치 블록을 자투리 블록으로 선택하는 단계에 해당할 수 있다.In addition, the setting of the remnant block may correspond to a step of selecting an arbitrary location block as the remnant block by using a One Time Password (OTP) as the specific criterion and using OTP code generation information.

또한 상기 자투리 블록으로 선택하는 단계는, 상기 OTP 코드 발생 정보로 OTP 코드 발생의 기준값에 해당하는 HOTP의 카운터값 및 TOTP의 타임스탬프를 이용하여 임의의 위치 블록을 자투리 블록으로 판단 및 설정하는 단계에 해당할 수 있다.In addition, the step of selecting as the remnant block is the step of determining and setting an arbitrary location block as a remnant block using the OTP code generation information, using the counter value of HOTP corresponding to the reference value of OTP code generation and the timestamp of TOTP may apply.

상기 OTP 코드 발생 정보는 임의의 코드값이며 이는 특정 길이의 자연수(예; 4 자리의 자연수) 로 변환되어 사용될 수 있다. 특정 길이의 자연수는 다시 나머지 계산 방식으로 0 이상의 특정 범위의 자연수로 계산 될 수 있다. (예; 3218 % 3 = 2)The OTP code generation information is an arbitrary code value and can be used after being converted into a natural number of a specific length (eg, a 4-digit natural number). A natural number of a specific length can be calculated as a natural number in a specific range of 0 or more using the remainder calculation method. (e.g. 3218 % 3 = 2)

본 발명의 일 예에 따른 보안성을 향상시키기 위한 암호화 장치는 전송을 위한 데이터가 n의 배수인지를 판단하는 제1판단부; 및 전송을 위한 데이터를 n 비트 단위로 복수의 암호 블록을 설정하되, 상기 전송을 위한 데이터가 n의 배수가 아니면 특정기준에 따라 임의의 위치 블록을 자투리 블록으로 설정하는 제1처리부;를 포함할 수 있다. (이때, n은 블록암호화에서 단위 블록 데이터 길이를 의미하며, 자연수)An encryption apparatus for improving security according to an embodiment of the present invention includes a first determination unit for determining whether data for transmission is a multiple of n; and a first processing unit configured to set a plurality of encryption blocks for data for transmission in units of n bits, and to set an arbitrary location block as a remnant block according to a specific criterion if the data for transmission is not a multiple of n. can (At this time, n means the unit block data length in block encryption and is a natural number)

또한 상기 제1 판단부는, 상기 특정기준으로 HOTP(HMAC-based One-Time Password) 및 TOPT(Time-Based One Time Password)를 포함하는 OTP(One Time Password)를 이용하고, OTP 코드 발생의 기준값에 해당하는 HOTP의 카운터값 및 TOTP의 타임스탬프를 IP 헤더(Header)의 ID (Identification) 값을 사용하여 상기 OTP 코드 발생의 기준값을 통해 임의의 위치 블록을 자투리 블록으로 판단 및 설정할 수 있다.In addition, the first determination unit uses OTP (One Time Password) including HOTP (HMAC-based One-Time Password) and TOPT (Time-Based One Time Password) as the specific criterion, and according to the reference value of OTP code generation An arbitrary location block may be determined and set as a remnant block through a reference value for generating the OTP code by using a corresponding HOTP counter value and a TOTP timestamp and an ID (Identification) value of an IP header.

또한 상기 제1 처리부는, 상기 자투리 블록을 다른 운용모드(예, CTR)로 암호화하거나, 상기 자투리 블록을 블록 암호 알고리즘 외의 다른 암호 알고리즘으로 암호화 하거나, 상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하여 패딩 블록을 블록 암호 알고리즘으로 암호화할 수 있다.In addition, the first processing unit encrypts the remnant block in another operation mode (eg, CTR), encrypts the remnant block with an encryption algorithm other than a block cipher algorithm, or inserts arbitrary y bits into the remnant block to obtain n By padding with bits, the padding block can be encrypted with a block cipher algorithm.

본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 시스템은 상기 암호화 장치; 및 IP 헤더(Header)의 ID (Identification) 값 으로 사용하여 발생되는 상기 OTP 코드 발생의 기준값을 이용하여 임의의 위치 블록에 위치한 자투리 블록 또는 패딩 블록을 복호화하는 복호화 장치;를 포함할 수 있다.A system for encrypting and decrypting data to improve security according to an embodiment of the present invention includes the encryption device; and a decoding device that decodes a remnant block or padding block located in an arbitrary location block using a reference value for generating the OTP code generated by using it as an ID (Identification) value of an IP header.

상기 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법은 이를 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램으로 구현될 수 있다.The method for encrypting and decrypting data to improve security may be implemented as a computer program recorded on a computer readable recording medium to execute the method.

본 발명에 따르면, 자투리 블록의 위치를 무작위로 선택 및 활용하여 현재 고정적으로 (예; 마지막 잔여 블록) 이용되는 패딩을 활용한 블록 암호 알고리즘에 비해 보안성 향상시킬 수 있는 효과를 가진다.According to the present invention, the position of the remnant block randomly By selecting and utilizing it, it has the effect of improving security compared to block cipher algorithms using padding that is currently used in a fixed manner (eg, the last remaining block).

도 1은 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 수행하는 암복호화 시스템을 설명하기 위한 블록 구성도이다.
도 2는 본 발명의 암복호화 시스템을 설명하기 위한 비교 예로 CCTV 시스템을 도시한 것이다.
도 3은 본 발명의 암복호화 시스템을 설명하기 위한 일 예로 CCTV 시스템을 도시한 것이다.
도 4a는 IP 헤더를 설명하기 위한 예시적인 도면이다.
도 4b는 PAYLOAD에서의 BLOCK 을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 나타내기 위한 플로우차트이다.
도 6은 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 보다 구체적 실시 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 설명하기 위한 플로우차트이다.
1 is a block diagram illustrating an encryption/decryption system that performs a method for encrypting and decrypting data to improve security according to an example of the present invention.
2 shows a CCTV system as a comparison example for explaining the encryption/decryption system of the present invention.
3 illustrates a CCTV system as an example for explaining the encryption/decryption system of the present invention.
4A is an exemplary diagram for explaining an IP header.
4B is an exemplary diagram for explaining BLOCK in PAYLOAD.
5 is a flowchart illustrating a method for data encryption and decryption for improving security according to an example of the present invention.
6 is a diagram for explaining a method for data encryption and decryption for improving security according to an example of the present invention.
7 is a flowchart for explaining a method for data encryption and decryption to improve security according to a more specific embodiment of the present invention.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can apply various changes and can have various forms, so the embodiments are illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosures, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and/or second may be used to describe various components, but the components should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from another component, e.g., without departing from the scope of rights according to the concept of the present invention, a first component may be termed a second component, and similarly The second component may also be referred to as the first component.

이하, 본 발명의 바람직한 실시 예들을 첨부된 도면을 참고하여 더욱 상세히 설명한다. 본 발명의 실시 예들은 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 설명하는 실시 예들에 한정되는 것으로 해석되어서는 안 된다. 본 실시예들은 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 상세하게 설명하기 위해서 제공되는 것이다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. Embodiments of the present invention may be modified in various forms, and the scope of the present invention should not be construed as being limited to the embodiments described below. These embodiments are provided to explain the present invention in more detail to those skilled in the art to which the present invention pertains.

도 1은 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 수행하는 암복호화 시스템을 설명하기 위한 블록 구성도이다.1 is a block diagram illustrating an encryption/decryption system that performs a method for encrypting and decrypting data to improve security according to an example of the present invention.

도 1을 참고하면, 암복호화 시스템(10)은 암호화 장치(100) 및 복호화 장치(200)를 포함할 수 있다. 상기 암호화 장치(100)는 제1 통신부(110), 제1 처리부(120) 및 제1 판단부(130)를 포함한다.Referring to FIG. 1 , an encryption/decryption system 10 may include an encryption device 100 and a decryption device 200 . The encryption device 100 includes a first communication unit 110, a first processing unit 120, and a first determination unit 130.

상기 제1 통신부(110)는 데이터를 복호화 장치(200)로 송수신할 수 있는 기능을 가지는 것으로 유선 또는 무선 장치일 수 있다. 예컨대, 제1 통신부(110)는 유선 인터넷 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 근거리 통신 모듈 등과 같은 통신 가능한 모듈을 포함할 수 있다.The first communication unit 110 has a function of transmitting and receiving data to and from the decoding device 200 and may be a wired or wireless device. For example, the first communication unit 110 may include a communication capable module such as a wired Internet module, a mobile communication module, a wireless Internet module, and a short-distance communication module.

상기 제1 판단부(130)는 전송을 위한 데이터가 1개의 블록 크기인 n의 배수인지를 판단할 수 있다(n은 자연수). 예컨대, 블록 크기가 16 비트인 경우, 제1 판단부(130)는 입력 데이터의 길이가 16의 배수인지를 판단할 수 있다.The first determination unit 130 may determine whether the data for transmission is a multiple of n, which is the size of one block (n is a natural number). For example, when the block size is 16 bits, the first determination unit 130 may determine whether the length of the input data is a multiple of 16.

상기 제1 처리부(120)는 전송을 위한 데이터가 1개의 블록 크기인 n의 배수이면 블록 암호 알고리즘으로 암호화를 수행할 수 있으며, 전송을 위한 데이터가 1개의 블록 크기인 n의 배수가 아니면 특정기준에 따라 임의의 위치 블록을 자투리 블록으로 설정하고, 상기 자투리 블록을 다른 운용모드 (예; CTR)로 암호화 하거나, 상기 자투리 블록을 블록암호 알고리즘 외의 다른 암호 알고리즘으로 암호화하거나, 상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하여 블록 암호 알고리즘으로 암호화할 수 있다.The first processing unit 120 may perform encryption using a block cipher algorithm if the data for transmission is a multiple of n, the size of one block, and if the data for transmission is not a multiple of n, the size of one block, a specific criterion According to , a random location block is set as a remnant block, the remnant block is encrypted in another operation mode (eg CTR), the remnant block is encrypted with an encryption algorithm other than the block cipher algorithm, or the remnant block is It can be encrypted with a block cipher algorithm by inserting y bits and padding with n bits.

여기서, 상기 특정기준으로 OTP(One Time Password)를 이용할 수 있다. Here, OTP (One Time Password) can be used as the specific criterion.

이때, 상기 특정기준으로 OTP를 이용할 때, 제1 판단부(130)의 OTP와 제2 판단부(230)의 OTP는 그 동작모드 (HOTP 또는 TOTP)를 동일하게 일치시키고 OTP의 비밀키(SECRET)를 동일하게 설정한다.At this time, when the OTP is used as the specific criterion, the OTP of the first determination unit 130 and the OTP of the second determination unit 230 match the operation mode (HOTP or TOTP) to the same, and the secret key (SECRET) of the OTP ) are set the same.

이때, 상기 제1 판단부(130)는 OTP 코드 발생의 기준값(HOTP: 카운터값, TOTP: 타임스탬프)을 상기 Identification(ID)으로 사용하여 발생되는 OTP 값을 이용하여 임의의 위치 블록을 자투리 블록으로 판단 및 설정한다.At this time, the first determination unit 130 selects an arbitrary location block using the OTP value generated by using the OTP code generation reference value (HOTP: counter value, TOTP: timestamp) as the identification (ID). judged and set as

상기 제1 처리부(120)는 상기 자투리 블록을 다른 운용모드(예:CTR)로 암호화 하거나, 상기 자투리 블록을 블록 암호 알고리즘 외의 다른 암호 알고리즘으로 암호화하거나, 상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하여 패딩 블록을 블록 암호 알고리즘으로 암호화할 수 있다.The first processing unit 120 encrypts the remnant block in another operation mode (eg, CTR), encrypts the remnant block with an encryption algorithm other than a block cipher algorithm, or inserts random y bits into the remnant block to By padding with n bits, the padding block can be encrypted with a block cipher algorithm.

상기 제2 통신부(210)는 데이터를 암호화 장치(100)와 송수신할 수 있는 기능을 가지는 것으로 유선 또는 무선 장치일 수 있다. 예컨대, 제2 통신부(210)는 유선 인터넷 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 근거리 통신 모듈 등과 같은 통신 가능한 모듈을 포함할 수 있다.The second communication unit 210 has a function of transmitting and receiving data to and from the encryption device 100 and may be a wired or wireless device. For example, the second communication unit 210 may include a communicable module such as a wired Internet module, a mobile communication module, a wireless Internet module, and a short-distance communication module.

상기 제2 판단부(230)는 상기 Identification(ID)으로 사용하여 발생되는 OTP 값을 이용하여 임의의 위치 블록에 위치한 자투리 블록 또는 패딩 블록에 대해 판단할 수 있으며, 상기 제2 처리부(220)는 자투리 블록 또는 패딩 블록, 및 이를 제외한 블록들을 복호화할 수 있다.The second determination unit 230 may determine a remnant block or a padding block located in an arbitrary location block using an OTP value generated using the identification (ID), and the second processing unit 220 Remnant blocks or padding blocks and blocks other than these may be decoded.

즉, 암호화 장치(100)의 제1 판단부(130) 및 복호화 장치(200)의 제2 판단부(230)에 특정기준으로 상기 OTP 기능을 포함시켜, 암호화 장치(100) 및 복호화 장치(200)의 패킷 통신 시에 OTP를 통해 자투리 블록 또는 패딩 블록의 위치를 예측불가능하도록 하여 보안성을 향상시킬 수 있다.That is, by including the OTP function in the first determination unit 130 of the encryption device 100 and the second determination unit 230 of the decryption apparatus 200 on a specific basis, the encryption apparatus 100 and the decryption apparatus 200 ), it is possible to improve security by making the position of a remnant block or padding block unpredictable through OTP.

보다 구체적인 설명은 이하의 도 2 내지 도7을 참조하여 구체적으로 설명하도록 한다.A more detailed description will be made in detail with reference to FIGS. 2 to 7 below.

도 2는 본 발명의 암복호화 시스템(10)을 설명하기 위한 비교 예로 CCTV 시스템을 도시한 것이며, 카메라(20)의 영상 및 음성 데이터의 PAYLOAD 평문이 암호화 및 복호화가 없는 상태로 모니터링 클라이언트(30)에 전송되는 것을 나타낸다.2 shows a CCTV system as a comparative example for explaining the encryption/decryption system 10 of the present invention, and the PAYLOAD plain text of video and audio data of the camera 20 is monitored by the monitoring client 30 without encryption and decryption. indicates that it is being sent to

도 3은 본 발명의 암복호화 시스템을 설명하기 위한 일 예로 CCTV 시스템을 도시한 것으로, 카메라(20)의 영상 및 음성 데이터의 PAYLOAD 평문이 암호화 장치(100)를 통해 암호화가 이루어져 PAYLOAD 암호문으로 전송되고 복호화 장치(200)를 통해 복호화가 이루어져 모니터링 클라이언트(30)에 전송되는 것을 나타낸다.3 shows a CCTV system as an example for explaining the encryption/decryption system of the present invention, and the PAYLOAD plain text of video and audio data of the camera 20 is encrypted through the encryption device 100 and transmitted as PAYLOAD cipher text It indicates that decryption is performed through the decryption device 200 and transmitted to the monitoring client 30 .

네트워크 통신 방식으로 패킷 교환(packet switching) 방식을 일반적으로 사용하는데, 이는 작은 블록의 패킷으로 데이터를 전송하면서 전송하는 동안만 네트워크 자원을 이용하는 방식이다. A packet switching method is generally used as a network communication method, which is a method of using network resources only during transmission while transmitting data in small block packets.

IP 패킷의 경우에는 IP 헤더 및 실제 정보인 PAYLOAD를 포함하는데 IP 헤더에 대해서는 도 4a에서 더 구체적으로 설명한다.In the case of an IP packet, an IP header and actual information, PAYLOAD, are included. The IP header will be described in more detail in FIG. 4A.

도 4a는 IP 헤더를 설명하기 위한 예시적인 도면이다. 4A is an exemplary diagram for explaining an IP header.

도 4a를 참고하면, Version은 해당 패킷이 지원하는 IP 종류를 표시한다.Referring to FIG. 4A, Version indicates the IP type supported by the corresponding packet.

IHL은 헤더 길이를 나타내며, IP 헤더 뒷부분에 옵션 필드가 여럿 붙을 수 있으므로 헤더 길이는 가변적일 수 있다. IHL indicates the header length, and since several option fields can be attached to the end of the IP header, the header length can be variable.

Type of Service(TOS)는 혼잡 제어나 서비스 식별자 등 다양한 용도로 사용되며, 높은 값을 우선 처리하게 된다. Total Length는 전체 패킷의 길이를 표시하며, 길이는 헤더와 PAYLOAD를 더한 것이다.Type of Service (TOS) is used for various purposes such as congestion control or service identifier, and higher values are given priority. Total Length indicates the length of the entire packet, and the length is the sum of the header and payload.

Identification(ID)은 IP 패킷 생성시에 부여되는 식별번호 또는 식별자를 의미할 수 있으며, 패킷 분열에 이용되어 분열된 조각이 원래 어느 패킷에 있었는지 나타낼 수 있고, 같은 패킷에서 쪼개져 나온 모든 조각은 이 필드의 값이 같다.Identification (ID) may refer to an identification number or identifier given when an IP packet is created, and may be used for packet fragmentation to indicate which packet the fragment was originally in, and all fragments from the same packet fields have the same value.

IP Flags는 패킷 분열에 이용되어 분열된 패킷의 상태나 생성 여부를 결정한다.IP Flags are used for packet fragmentation to determine the status or creation of fragmented packets.

Fragment Offset은 패킷 분열에 이용되며, 패킷의 순서가 뒤바껴 올 수 있기 때문에 이 값을 통해 순서를 정립할 수 있다.Fragment Offset is used for packet fragmentation, and since the order of packets can be reversed, the order can be established through this value.

Time To Live(TTL)는 패킷을 전달할 수 있는 횟수 제한을 나타낸다. 예컨대, 패킷이 라우터를 지날 때마다 횟수를 하나씩 감소시키며, TTL이 0이 될 때까지 전송되지 않은 패킷들은 전송할 수 없다고 간주하고 폐기한다.Time To Live (TTL) represents a limit on the number of times a packet can be delivered. For example, each time a packet passes through a router, the count is decreased by one, and packets that have not been transmitted until the TTL becomes 0 are regarded as untransmittable and discarded.

Protocol은 PAYLOAD의 내용을 해석하는 데 어떤 프로토콜을 써야 하는지 나타낸다.Protocol indicates which protocol should be used to interpret the contents of PAYLOAD.

Header Checksum은 IP 헤더가 생성되거나 수정될 때마다 IP 헤더 내 비트를 검사한다. 검사결과 값이 다르다면 전송 중에 IP 패킷의 일부가 손상 또는 조작 등이 이루어진 것으로 볼 수 있다.Header Checksum checks the bits in the IP header whenever it is created or modified. If the check result values are different, it can be seen that part of the IP packet has been corrupted or manipulated during transmission.

Source Address 및 Destination Address는 IP 패킷 발신지와 목적지의 IP 주소를 의미한다.Source Address and Destination Address refer to the IP address of the source and destination of the IP packet.

본 발명은 도 1에서 설명한 상기 특정기준으로 OTP(One Time Password)를 이용할 수 있다. 암호화 장치(100) 및 복호화 장치(200)는 OTP 기능부(미도시)를 포함할 수 있으며, 암호화 장치(100) 및 복호화 장치(200)의 패킷 통신 시에 OTP 코드 발생의 기준값(HOTP: 카운터값, TOTP: 타임스탬프)을 상기 Identification(ID)으로 사용하여 발생되는 OTP 값을 이용함으로써 자투리 블록의 위치가 무작위로 선택될 수 있게 하여 보안성을 향상시킬 수 있다.The present invention may use OTP (One Time Password) as the specific criterion described in FIG. 1 . The encryption device 100 and the decryption device 200 may include an OTP function unit (not shown), and a reference value (HOTP: counter for OTP code generation during packet communication between the encryption device 100 and the decryption device 200). value, TOTP: timestamp) as the identification (ID), and by using the generated OTP value, the location of the leftover block can be randomly selected, thereby improving security.

상기 OTP 기능부(미도시)는 동작모드(HOTP 또는 TOTP)를 일치시키고 상호 비밀키 (SECRET) 값을 일치시키고 OTP 코드 발생의 기준값 (HOTP: 카운터값, TOTP: 타임스탬프)을 일치시켜야만 같은 OTP 값을 발생 시킬 수 있다.The OTP function unit (not shown) must match the operation mode (HOTP or TOTP), the mutual secret key (SECRET) value, and the OTP code generation reference value (HOTP: counter value, TOTP: timestamp) to match the same OTP. value can be generated.

상기 OTP 값을 해킹하지 않으면 자투리 블록 또는 패딩 블록의 위치를 알 수 없기에 보안성이 향상될 수 있다.If the OTP value is not hacked, the location of the remnant block or the padding block cannot be known, so security can be improved.

도 4b는 PAYLOAD에서의 BLOCK을 설명하기 위한 예시적인 도면이다.4B is an exemplary diagram for explaining BLOCK in PAYLOAD.

도 4b를 참고하면, PAYLOAD의 n 비트 단위의 블록 암호화 알고리즘을 통해 1 블록(Block #1) 내지 N-1 블록(Block #N-1)이 이루어지고 n 비트 보다 작은 N 블록(Block #N)은 자투리 블록으로 형성되는 것을 나타낸다.Referring to FIG. 4B, 1 block (Block #1) to N-1 blocks (Block #N-1) are made through the block encryption algorithm in units of n bits of PAYLOAD, and N blocks smaller than n bits (Block #N) indicates that it is formed of scrap blocks.

도 5는 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 나타내기 위한 플로우차트이다. 상기 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법은 도 1에 도시된 암복호화 시스템(10)의 암호화 장치(100)를 통해 수행될 수 있다.5 is a flowchart illustrating a method for data encryption and decryption for improving security according to an example of the present invention. The method for data encryption and decryption to improve security may be performed through the encryption device 100 of the encryption/decryption system 10 shown in FIG. 1 .

도 5를 참고하면, 암호화 장치(100)는 전송을 위한 데이터가 n 비트의 배수인지를 판단한다(S110). 여기서 전송을 위한 데이터가 n 비트의 배수인지를 판단하는 것은 블록 암호 알고리즘을 이용하여 n 비트 단위의 복수의 암호 블록을 설정하기 위한 것이다.Referring to FIG. 5 , the encryption device 100 determines whether data for transmission is a multiple of n bits (S110). Here, determining whether the data for transmission is a multiple of n bits is to set a plurality of encryption blocks in units of n bits using a block cipher algorithm.

다음으로, 암호화 장치(100)는 전송을 위한 데이터를 n 비트 단위로 복수의 암호 블록을 설정하되, 상기 전송을 위한 데이터가 n 비트의 배수가 아니면 특정기준에 따라 임의의 위치 블록을 자투리 블록으로 설정한다(S120). Next, the encryption device 100 sets a plurality of encryption blocks for data for transmission in units of n bits, but if the data for transmission is not a multiple of n bits, a block at an arbitrary position is converted into a remnant block according to a specific criterion. Set (S120).

블록 암호화 알고리즘의 경우, 전송을 위한 데이터의 길이가 n 비트의 배수가 아니면, n 비트 단위가 아닌 마지막 남은 블록에 난수 등을 삽입하여 n 비트 단위 블록을 만들도록 패딩(padding)한다. In the case of the block encryption algorithm, if the length of data for transmission is not a multiple of n bits, a random number or the like is inserted into the last remaining block, not in units of n bits, to make a block in units of n bits.

여기서, n 비트 단위가 아닌 블록을 자투리 블록이라 칭할 수 있다. Here, a block that is not in units of n bits may be referred to as a remnant block.

통상적으로 마지막 남은 블록을 자투리 블록으로 이용하는데, 본 발명은 특정기준에 따라 마지막 블록이 아닌 임의 위치한 블록을 자투리 블록으로 설정하도록 한다.Normally, the last remaining block is used as a remnant block, but according to the present invention, a randomly located block other than the last block is set as a remnant block according to a specific criterion.

이로써, 본 발명에 따르면 자투리 블록의 위치를 특정기준에 따라 임의로 변경하여 예측불가능성을 통한 보안성을 향상시킬 수 있는 효과를 가진다.Accordingly, according to the present invention, the position of the remnant block is arbitrarily changed according to a specific criterion to improve security through unpredictability.

상기 특정기준에 대해서는 OTP(One Time Password)를 통해 이루어질 수 있으며, 이에 대한 구체적인 설명은 이하 도 7에서 하기로 한다.The specific criterion can be achieved through OTP (One Time Password), and a detailed description thereof will be given in FIG. 7 below.

도 6은 본 발명의 일 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 설명하기 위한 도면이다.6 is a diagram for explaining a method for data encryption and decryption for improving security according to an example of the present invention.

도 6의 (a)는 전송하기 위한 데이터가 n 비트의 배수인 경우에 해당하여 N개의 블록(Block#1 내지 Block#N)인 것을 나타낸다.(a) of FIG. 6 shows N blocks (Block#1 to Block#N) corresponding to the case where data to be transmitted is a multiple of n bits.

(b)는 전송하기 위한 데이터가 n 비트의 배수가 아닌 경우에 해당하여 마지막에 자투리 블록(R)이 남는 것을 나타내며, 블록 암호 알고리즘을 적용하는 경우 n 비트의 배수가 될 수 있도록 패딩(padding)을 한 것을 나타낸다.(b) corresponds to the case where the data to be transmitted is not a multiple of n bits, indicating that a remnant block (R) remains at the end, and when the block cipher algorithm is applied, padding to be a multiple of n bits indicates that

(c)는 (b)와 같이 전송하기 위한 데이터가 n 비트의 배수가 아닌 경우에 해당하는데, 특정기준에 따라 자투리 블록이 임의의 위치로 적용되어 패딩이 이루어진 것을 나타낸다. (c)에서는 (b)와 달리 Block#2에 패딩 블록이 형성된 것을 볼 수 있으며, 본 발명이 적용된 케이스에 해당한다.(c) corresponds to a case where the data to be transmitted is not a multiple of n bits, as shown in (b), and indicates that the padding is performed by applying a remnant block to an arbitrary position according to a specific criterion. In (c), unlike (b), it can be seen that a padding block is formed in Block #2, which corresponds to the case where the present invention is applied.

도 7은 본 발명의 보다 구체적 실시 예에 따른 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법을 설명하기 위한 플로우차트이다. 상기 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 방법은 도 1에 도시된 암복호화 시스템(10)의 암호화 장치(100)를 통해 수행될 수 있다.7 is a flowchart for explaining a method for data encryption and decryption to improve security according to a more specific embodiment of the present invention. The method for data encryption and decryption to improve security may be performed through the encryption device 100 of the encryption/decryption system 10 shown in FIG. 1 .

도 7은 도 5의 S120에서 설명한 특정기준으로 OTP(One Time Password)를 이용한 것을 나타낸다. 7 shows that OTP (One Time Password) is used as the specific criterion described in S120 of FIG. 5 .

도 7을 참고하면, 암호화 장치(100)는 HOTP 및 TOPT 를 포함하는 OTP 정보를 생성한다(S210). Referring to FIG. 7 , the encryption device 100 generates OTP information including HOTP and TOPT (S210).

다음으로 생성한 OTP 정보를 이용하여 전송하기 위한 데이터의 임의의 위치 블록을 자투리 블록으로 생성할 수 있다(S220). 이때, OTP 코드 정보의 기준값을 IP 헤더의 Identification(ID)으로 설정할 수 있으며, 발생되는 OTP 정보를 이용하여 임의의 위치 블록을 자투리 블록으로 선택할 수 있다(S220).Next, an arbitrary location block of data to be transmitted can be generated as a remnant block using the generated OTP information (S220). At this time, the reference value of the OTP code information may be set to the identification (ID) of the IP header, and an arbitrary location block may be selected as a remnant block using the generated OTP information (S220).

다음으로 자투리 블록을 다른 운용모드(예:CTR)로 암호화 하거나 블록 암호 알고리즘 이외의 방법으로 암호화 하거나, 상기 자투리 블록을 패딩 처리후 블록 암호 알고리즘으로 암호화할 수 있다(S230).Next, the remnant block may be encrypted in another operation mode (eg, CTR) or by a method other than the block cipher algorithm, or the remnant block may be encrypted using a block cipher algorithm after padding (S230).

한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. On the other hand, even if all components constituting the embodiments of the present invention described above are described as being combined or operated as one, the present invention is not necessarily limited to these embodiments.

즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate. In addition, although all of the components may be implemented as a single independent piece of hardware, some or all of the components are selectively combined to perform some or all of the combined functions in one or a plurality of hardware. It may be implemented as a computer program having.

또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록 매체, 광 기록매체 등이 포함될 수 있다.In addition, such a computer program can implement an embodiment of the present invention by being stored in a computer readable storage medium such as a USB memory, a CD disk, a flash memory, etc. and read and executed by a computer. A storage medium of a computer program may include a magnetic recording medium, an optical recording medium, and the like.

이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The embodiments described above are examples, and various modifications and variations may be made to those skilled in the art without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments.

본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

Claims (11)

데이터 암호화를 위해 수행되는 데이터 처리 방법에 있어서,
전송을 위한 데이터의 길이가 n의 배수인지를 판단하는 단계; 및
전송을 위한 데이터를 n 비트 단위로 복수의 암호 블록을 설정하되, 상기 전송을 위한 데이터의 길이가 n의 배수가 아니면 특정기준에 따라 무작위로 임의의 위치 블록을 자투리 블록으로 설정하는 단계;를 포함하는 데이터 처리 방법. (이때, n은 자연수)
In the data processing method performed for data encryption,
determining whether the length of data for transmission is a multiple of n; and
Setting a plurality of encryption blocks for data for transmission in units of n bits, but if the length of the data for transmission is not a multiple of n, randomly setting random location blocks as remnant blocks according to a specific criterion; How to process data. (where n is a natural number)
제1항에 있어서,
상기 자투리 블록으로 설정하는 단계 이후에,
상기 자투리 블록을 블록 암호 알고리즘 외의 다른 암호 알고리즘으로 처리하는 단계;를 더 포함하는 데이터 처리 방법.
According to claim 1,
After the step of setting the remnant block,
The data processing method further comprising processing the remnant block with an encryption algorithm other than a block encryption algorithm.
제1항에 있어서,
상기 자투리 블록으로 설정하는 단계 이후에,
상기 자투리 블록을 다른 운용모드의 암호 알고리즘으로 처리하는 단계;를 더 포함하는 데이터 처리 방법.
According to claim 1,
After the step of setting the leftover block,
The data processing method further comprising processing the remnant block with an encryption algorithm of another operation mode.
제1항에 있어서,
상기 자투리 블록으로 설정하는 단계 이후에,
상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하는 단계;를 더 포함하는 데이터 처리 방법.
According to claim 1,
After the step of setting the leftover block,
and inserting random y bits into the remnant block to pad with n bits.
제1항에 있어서,
상기 자투리 블록은,
상기 전송을 위한 데이터를 n 비트 단위로 나누었을 때, 나머지에 해당하는 비트 수를 가지는 블록을 의미하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 1,
The remnant block,
When the data for transmission is divided by n bits, it means a block having the number of bits corresponding to the remainder.
제1항에 있어서,
상기 자투리 블록으로 설정하는 단계는,
상기 특정기준으로 OTP(One Time Password)를 이용하고, OTP 코드 발생 정보를 이용하여 임의의 위치 블록을 자투리 블록으로 선택하는 단계에 해당하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 1,
The step of setting the remnant block,
A data processing method characterized in that it corresponds to the step of selecting an arbitrary location block as a remnant block using OTP (One Time Password) as the specific criterion and using OTP code generation information.
제6항에 있어서,
상기 자투리 블록으로 선택하는 단계는,
상기 OTP 코드 발생 정보로 OTP 코드 발생의 기준값에 해당하는 HOTP의 카운터값 및 TOTP의 타임스탬프를 이용하여 임의의 위치 블록을 자투리 블록으로 판단 및 설정하는 단계에 해당하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 6,
The step of selecting as the remnant block,
characterized in that it corresponds to the step of determining and setting an arbitrary location block as a remnant block by using a counter value of HOTP corresponding to a reference value of OTP code generation and a timestamp of TOTP as the OTP code generation information.
전송을 위한 데이터의 길이가 n의 배수인지를 판단하는 제1판단부; 및
전송을 위한 데이터를 n 비트 단위로 복수의 암호 블록을 설정하되, 상기 전송을 위한 데이터의 길이가 n의 배수가 아니면 특정기준에 따라 무작위로 임의의 위치 블록을 자투리 블록으로 설정하는 제1처리부;를 포함하는 암호화 장치. (이때, n은 자연수)
a first determination unit that determines whether the length of data for transmission is a multiple of n; and
A first processing unit that sets a plurality of encryption blocks for data for transmission in units of n bits, and sets random location blocks as remnant blocks according to a specific criterion if the length of the data for transmission is not a multiple of n; Encryption device comprising a. (where n is a natural number)
제8항에 있어서,
상기 제1 판단부는,
상기 특정기준으로 HOTP(HMAC-based One-Time Password) 및 TOTP(Time-Based One Time Password)를 포함하는 OTP(One Time Password)를 이용하고, OTP 코드 발생의 기준값에 해당하는 HOTP의 카운터값 및 TOTP의 타임스탬프를 헤더(Header)의 ID로 사용하여 상기 OTP 코드 발생의 기준값을 통해 임의의 위치 블록을 자투리 블록으로 판단 및 설정하며,
상기 제1 처리부는,
상기 자투리 블록을 다른 운용모드로 암호화 하거나 상기 자투리 블록을 블록 암호 알고리즘 외의 다른 암호 알고리즘으로 암호화하거나 상기 자투리 블록에 임의의 y 비트를 삽입하여 n 비트로 패딩하여 패딩 블록을 블록 암호 알고리즘으로 암호화하는 것을 특징으로 하는 암호화 장치.
According to claim 8,
The first judgment unit,
As the specific criterion, OTP (One Time Password) including HOTP (HMAC-based One-Time Password) and TOTP (Time-Based One Time Password) is used, and the counter value of HOTP corresponding to the reference value of OTP code generation and Using the timestamp of TOTP as a header ID, determining and setting an arbitrary location block as a remnant block through a reference value for generating the OTP code,
The first processing unit,
Encrypting the remnant block in another operation mode, encrypting the remnant block with an encryption algorithm other than a block cipher algorithm, or inserting random y bits into the remnant block and padding with n bits to encrypt the padding block with a block cipher algorithm. Encryption device with.
제9항의 암호화 장치; 및
ID로 사용하여 발생되는 상기 OTP 코드 발생의 기준값을 이용하여 임의의 위치 블록에 위치한 자투리 블록 또는 패딩 블록을 복호화하는 복호화 장치;를 포함하는 보안성을 향상시키기 위한 데이터 암호화 및 복호화를 위한 시스템.
the encryption device of claim 9; and
A system for data encryption and decryption for improving security, comprising: a decryption device for decrypting a remnant block or a padding block located in an arbitrary position block using a reference value for generating the OTP code generated using the ID as the ID.
제1항 내지 제7항 중 어느 한 항에 따른 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.A computer program recorded on a computer readable recording medium to execute the method according to any one of claims 1 to 7.
KR1020210096337A 2021-07-22 2021-07-22 Processing method for encrypting data, system and computer program KR102481024B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210096337A KR102481024B1 (en) 2021-07-22 2021-07-22 Processing method for encrypting data, system and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210096337A KR102481024B1 (en) 2021-07-22 2021-07-22 Processing method for encrypting data, system and computer program

Publications (1)

Publication Number Publication Date
KR102481024B1 true KR102481024B1 (en) 2022-12-23

Family

ID=84536539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210096337A KR102481024B1 (en) 2021-07-22 2021-07-22 Processing method for encrypting data, system and computer program

Country Status (1)

Country Link
KR (1) KR102481024B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613932B1 (en) * 2023-08-28 2023-12-15 한화시스템(주) Combat system communication security system and its method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060060916A (en) * 2004-12-01 2006-06-07 삼성에스디에스 주식회사 Method and apparatus for block encryption and decryption
KR101145110B1 (en) * 2011-04-21 2012-05-15 아스텔 주식회사 Method and apparatus of inserting/extracting fragile digital watermarks and apparatus for using thereof
KR20180105545A (en) * 2017-03-15 2018-09-28 주식회사 카이 Method of encryption and decryption of contents based on block encryption and appratus thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060060916A (en) * 2004-12-01 2006-06-07 삼성에스디에스 주식회사 Method and apparatus for block encryption and decryption
KR101145110B1 (en) * 2011-04-21 2012-05-15 아스텔 주식회사 Method and apparatus of inserting/extracting fragile digital watermarks and apparatus for using thereof
KR20180105545A (en) * 2017-03-15 2018-09-28 주식회사 카이 Method of encryption and decryption of contents based on block encryption and appratus thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613932B1 (en) * 2023-08-28 2023-12-15 한화시스템(주) Combat system communication security system and its method

Similar Documents

Publication Publication Date Title
US8983061B2 (en) Method and apparatus for cryptographically processing data
US8321690B2 (en) Protecting digital media of various content types
US8077867B2 (en) Confidential information processing apparatus, confidential information processing device, and confidential information processing method
US7693278B2 (en) Data distribution apparatus and data communications system
US20170111330A1 (en) ENCRYPTED CCNx
US20020129243A1 (en) System for selective encryption of data packets
US20160277188A1 (en) Network service packet header security
US20070245140A1 (en) Communication system and network control apparatus with encryption processing function, and communication control method
CN101174946A (en) Content transmiting device, conetent receiving deivce and content encrypting method
US20150229621A1 (en) One-time-pad data encryption in communication channels
CN111093097A (en) Stream media data encryption and decryption method and device, electronic equipment and storage medium
US10911581B2 (en) Packet parsing method and device
JP2003114877A (en) Device and processor for transmitting and executing control instruction to gain access to functions of receiver
US20050175184A1 (en) Method and apparatus for a per-packet encryption system
US11716367B2 (en) Apparatus for monitoring multicast group
KR102481024B1 (en) Processing method for encrypting data, system and computer program
JP2004328706A (en) Transmitter, receiver, transmission control program and reception control program
CN110832806B (en) ID-based data plane security for identity-oriented networks
JP2007028552A (en) Apparatus and method for information processing, and computer program
JP2010011122A (en) Encrypted packet processing system
JP7176802B2 (en) Devices in multicast group
CN108632197B (en) Content verification method and device
KR102377265B1 (en) Apparatus in network
JP2004180318A (en) Data encryption and decryption method and apparatus
CN111147461B (en) Data transmission method, device, server and user terminal

Legal Events

Date Code Title Description
GRNT Written decision to grant