[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100673820B1 - Method and apparatus for block encryption and decryption - Google Patents

Method and apparatus for block encryption and decryption Download PDF

Info

Publication number
KR100673820B1
KR100673820B1 KR1020040099721A KR20040099721A KR100673820B1 KR 100673820 B1 KR100673820 B1 KR 100673820B1 KR 1020040099721 A KR1020040099721 A KR 1020040099721A KR 20040099721 A KR20040099721 A KR 20040099721A KR 100673820 B1 KR100673820 B1 KR 100673820B1
Authority
KR
South Korea
Prior art keywords
data
input data
block
byte
byte string
Prior art date
Application number
KR1020040099721A
Other languages
Korean (ko)
Other versions
KR20060060916A (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 KR1020040099721A priority Critical patent/KR100673820B1/en
Publication of KR20060060916A publication Critical patent/KR20060060916A/en
Application granted granted Critical
Publication of KR100673820B1 publication Critical patent/KR100673820B1/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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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

블록 암호화된 데이터를 복호화시 데이터의 오류없이 복호화하기 위하여, 입력 데이터의 길이가 n의 배수가 아니면, 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열을 패딩(padding)하며, n의 배수이면 입력 데이터의 데이터 값을 확인하고, 입력 데이터의 데이터 값에 따라, 선택적으로 n 바이트(byte)의 임의의 제 2 바이트열을 패딩하는 방식의 블록 암호화 방법이 제공되며, 또한 입력 데이터의 데이터 값을 식별하기 위하여, 입력 데이터에 패딩된 n 바이트(byte)의 임의의 제 2 바이트열이 존재 여부에 따라, 임의의 제 2 바이트열을 제거하고, 입력 데이터의 길이가 n의 배수가 되도록 패딩된 임의의 제 1 바이트열의 존재 여부에 따라, 임의의 제 1 바이트열을 제거하는 방식의 블록 복호화 방법이 제공된다.In order to decrypt the block-encrypted data without error in the data when decrypting, if the length of the input data is not a multiple of n, padding an arbitrary first byte string such that the length of the input data is a multiple of n, If a multiple of n, a block encryption method is provided in which a data value of input data is checked, and optionally a second byte sequence of n bytes is padded in accordance with the data value of the input data. In order to identify the data value of, according to whether there is any second byte string of n bytes padded to the input data, the second random byte sequence is removed, and the length of the input data is a multiple of n. According to the presence or absence of any padded first byte string, a block decoding method of a method of removing any first byte string is provided.

Description

블록 암호화 및 복호화 방법 및 장치{Method and apparatus for block encryption and decryption}Method and apparatus for block encryption and decryption

도 1은 종래 기술에 따른 블록 암호화 방법의 흐름도.1 is a flow diagram of a block encryption method according to the prior art.

도 2는 종래 기술에 따른 블록 복호화 방법의 흐름도.2 is a flowchart of a block decoding method according to the prior art.

도 3은 또 다른 종래 기술에 따른 블록 암호화 방법의 흐름도.3 is a flowchart of another block encryption method according to the related art.

도 4는 또 다른 종래 기술에 따른 블록 복호화 방법의 흐름도.4 is a flowchart of another block decoding method according to the related art.

도 5는 본 발명의 일 실시예에 따른 블록 암호화 방법의 흐름도.5 is a flowchart of a block encryption method according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 블록 복호화 방법의 흐름도.6 is a flowchart of a block decoding method according to an embodiment of the present invention.

도 7(a)내지 7(d)는 종래 기술과 본 실시예의 결과 비교 테이블.7 (a) to 7 (d) are result comparison tables of the prior art and this embodiment.

도 8은 본 발명의 일 실시예에 따른 블록 암호화 장치의 개략 구성도.8 is a schematic structural diagram of a block encryption apparatus according to an embodiment of the present invention;

도 9는 본 발명의 일 실시예에 따른 블록 복호화 장치의 개략 구성도.9 is a schematic structural diagram of a block decoding apparatus according to an embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

81 : 데이터 입력부 82 : 데이터 판단부81: data input unit 82: data determination unit

83 : 패딩부 84 : 키 입력부83: padding section 84: key input section

85 : 암호화부 91 : 수신부85: encryption section 91: receiving section

92 : 복호화부 93 : 패딩 식별부92 decoding unit 93 padding identification unit

94 : 암호화부94: encryption unit

본 발명은 주어진 데이터를 암호 알고리즘에서 정해진 길이의 블록(64비트 또는 128비트)으로 나누어 블록 단위로 암호화를 수행하는 블록 암호 알고리즘에 관한 것으로서, 보다 상세하게는 오류없이 데이터를 복호화하기 위하여, 블록 암호에 맞는 블록 크기의 배수가 되게 하거나 또는 적당한 방식으로 데이터를 블록의 크기의 배수가 되도록 하는 패딩(padding) 및 이를 제거하는 디패딩(de-padding) 방식 및 이를 이용한 암호화 및 복호화 방법 및 장치에 관한 것이다.The present invention relates to a block cipher algorithm that performs encryption on a block basis by dividing given data into blocks (64 bits or 128 bits) of a predetermined length in an encryption algorithm. Padding and the de-padding method for removing the data to be a multiple of the size of the block in a suitable manner or a method of the encryption and decryption method using the same will be.

블록 암호 알고리즘은 주어진 데이터를 정해진 길이의 블럭(64 혹은 128 비트)으로 나누어 블록단위로 암호화를 수행하는 알고리즘이다. 다양한 '모드'로 구현되며 '패딩(padding:덧붙이기)'이 필요하다. 64 비트 블록 암호에는 DES, DES3, DESX, RC5, BLOWFISH, CAST128, IDEA, SAFER , RC2 등이 있으며, 128 비트 블록 암호에는 SEED, CRYPTON, RIJNDAEL, CAST256, RC6, TWOFISH, MARS, SERPENT 등이 있다.The block cipher algorithm divides given data into blocks of predetermined length (64 or 128 bits) and performs encryption on a block basis. It is implemented in various 'modes' and requires 'padding'. 64-bit block ciphers include DES, DES3, DESX, RC5, BLOWFISH, CAST128, IDEA, SAFER, and RC2. 128-bit block ciphers include SEED, CRYPTON, RIJNDAEL, CAST256, RC6, TWOFISH, MARS, SERPENT, and others.

상기 암호중 64 비트 블록 암호인 DES와 128비트 블록 암호인 SEED를 살펴보면, DES는 입력 데이터의 길이를 8의 배수로, SEED는 16의 배수로 나누며, 만약 입력 데이터의 길이가 8이나 16의 배수가 되지 않는 경우에는, 8의 배수나 16의 배수가 되도록 데이터를 더하게 되는데 이를 '패딩'이라고 한다.Looking at 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 not, the data is added to be a multiple of 8 or a multiple of 16, which is called padding.

도 1 내지 도 4를 참조하여 종래 기술의 블록 암호 알고리즘을 설명하면 다 음과 같다.A block cipher algorithm of the prior art will be described with reference to FIGS. 1 to 4 as follows.

도 1과 도 2는 종래 기술에 따른 블록 암호화 및 복호화 방법의 흐름도로서, DES나 SEED와 같은 대칭 알고리즘에 ISO9797 M1이 지정한 패딩 모드를 적용한 예이다.1 and 2 are flowcharts of a block encryption and decryption method according to the prior art, in which a padding mode specified by ISO9797 M1 is applied to a symmetric algorithm such as DES or SEED.

우선, 암호화될 데이터가 입력된다(S11). 입력 데이터 길이가 8(또는 16)의 배수인지를 판단하는 과정을 수행한다(S12). First, data to be encrypted is input (S11). A process of determining whether the input data length is a multiple of 8 (or 16) is performed (S12).

판단 결과, 만약 입력 데이터 길이가 8(또는 16)의 배수인 경우에는 그대로 데이터 암호화를 진행하고(S14), 입력 데이터 길이가 8(또는 16)의 배수가 아닌 경우에는 상기 입력 데이터에 8(도는 16)의 배수가 되도록 하는 최소의 0x00..00 바이트열을 패딩하는 과정을 수행하며(S13), 그리고 나서 데이터 암호화를 진행하게 된다. 상기 Ox00..00에서 0x는 16진수임을 의미하며, 따라서, 임의의 16진수 00 00 .. 00 바이트열이 패딩됨을 의미하며, 이하에서 동일하게 적용된다. As a result of determination, if the input data length is a multiple of 8 (or 16), data encryption is performed as it is (S14), and if the input data length is not a multiple of 8 (or 16), 8 (or Padding the minimum 0x00..00 byte sequence to be a multiple of 16) is performed (S13), and then data encryption is performed. In Ox00..00, 0x means hexadecimal number, and therefore, any hexadecimal 00 00 .. 00 byte string is padded, and the same applies below.

복호화 단계를 살펴보면, 우선 암호화된 데이터를 수신하게 된다(S21). 수신된 암호화 데이터를 복호화한다(S22).Looking at the decryption step, first to receive the encrypted data (S21). The received encrypted data is decrypted (S22).

그리고 나서, 복호화된 데이터의 마지막 부분이 Ox00..00 인지를 판단하게 된다(S23) 즉, 패딩 부분이 어디인지를 확인하게 된다.Then, it is determined whether the last part of the decoded data is Ox00..00 (S23), that is, where the padding part is determined.

판단 결과, 만약 복호화된 데이터의 마지막 부분이 Ox00..00이면, 암호화시 패딩된 Ox00..00 바이트열을 제거하는 디패딩을 수행하게 되며(S25), 원래 입력 데이터가 복원된다(S26). 그러나, 데이터의 마지막 부분이 Ox00..00이 아니라면, 패딩된 부분과 입력 데이터를 구분할 수 없는 바, 데이터 복원시 오류가 발생하게 된다(S24).As a result, if the last part of the decrypted data is Ox00..00, de-padding is performed to remove the padded Ox00..00 byte string during encryption (S25), and the original input data is restored (S26). However, if the last part of the data is not Ox00..00, the padded part and the input data cannot be distinguished, and thus an error occurs when restoring the data (S24).

도 3과 도 4는 또 다른 종래 기술에 따른 블록 암호화 및 복호화 방법의 흐름도로서, DES나 SEED와 같은 대칭 알고리즘에 ISO9797 M2가 지정한 패딩 모드를 적용한 예이다.3 and 4 are flowcharts illustrating a block encryption and decryption method according to another prior art, and an example in which a padding mode specified by ISO9797 M2 is applied to a symmetric algorithm such as DES or SEED.

우선, 암호화될 데이터가 입력된다(S31). 입력 데이터 길이가 8(또는 16)의 배수인지를 판단하는 과정을 수행한다(S32). First, data to be encrypted is input (S31). A process of determining whether the input data length is a multiple of 8 (or 16) is performed (S32).

판단 결과, 만약 입력 데이터 길이가 8(또는 16)의 배수인 경우에는 그대로 데이터 암호화를 진행하고(34), 입력 데이터 길이가 8(또는 16)의 배수가 아닌 경우에는 상기 입력 데이터에 8(도는 16)의 배수가 되도록 하는 최소의 0x80 0x00..00 바이트열을 패딩하는 과정을 수행하며(S33), 그리고 나서 데이터 암호화를 진행하게 된다. 즉, 16진수의 80 00..00이 패딩된 후, 데이터 암호화가 진행된다.As a result of determination, if the input data length is a multiple of 8 (or 16), data encryption is performed as it is (34), and if the input data length is not a multiple of 8 (or 16), 8 (or Padding the minimum 0x80 0x00..00 byte string to be a multiple of 16) is performed (S33), and then data encryption is performed. That is, after 80 00..00 in hexadecimal is padded, data encryption proceeds.

복호화 단계를 살펴보면, 우선 암호화된 데이터를 수신하게 된다(S41). 수신된 암호화 데이터를 복호화한다(S42).Looking at the decryption step, first to receive the encrypted data (S41). The received encrypted data is decrypted (S42).

그리고 나서, 복호화된 데이터의 마지막 부분이 0x80 0x00..00 인지를 판단하게 된다(S43) 즉, 패딩 부분이 어디인지를 확인하게 된다.Then, it is determined whether the last part of the decoded data is 0x80 0x00..00 (S43). That is, it is checked where the padding part is.

판단 결과, 만약 복호화된 데이터의 마지막 부분이 0x80 0x00..00이면, 암호화시 패딩된 0x80 0x00..00 바이트열을 제거하는 디패딩을 수행하게 되며(S45), 원래 입력 데이터가 복원된다(S46). 그러나, 데이터의 마지막 부분이 0x80 0x00..00 이 아니라면, 패딩된 부분과 입력 데이터를 구분할 수 없는 바, 데이터 복원시 오류가 발생하게 된다(S44).As a result, if the last part of the decrypted data is 0x80 0x00..00, de-padding is performed to remove the padded 0x80 0x00..00 byte string during encryption (S45), and the original input data is restored (S46). ). However, if the last part of the data is not 0x80 0x00..00, the padded part and the input data cannot be distinguished, and thus an error occurs when restoring the data (S44).

즉, 도 1 및 2(ISO 9797 M1)의 경우, 입력 데이터의 마지막 부분이 0x00..00으로 끝나고, 데이터가 8(또는 16)의 배수가 아니어서, 추가적인 0x00..00 바이트열을 패딩하여 암호화하면, 복호화시 어느 부분이 원래 입력 데이터이고, 어느 부분이 패딩된 것인지를 구분할 수 없는 바, 데이터 복원시 오류가 발생하게 된다.1 and 2 (ISO 9797 M1), the last part of the input data ends with 0x00..00, and the data is not a multiple of 8 (or 16), so that an additional 0x00..00 byte sequence is padded When encrypted, it is impossible to distinguish which part is the original input data and which part is padded during decryption, and thus an error occurs when restoring the data.

마찬가지로, 도 3 및 4(ISO 9797 M2)의 경우, 입력 데이터의 마지막 부분이 0x80 0x00..00으로 끝나고, 데이터가 8(또는 16)의 배수인 경우에, 복호화시 어느 부분이 원래 입력 데이터이고, 어느 부분이 패딩된 것인지를 구분할 수 없는 바, 데이터 복원시 오류가 발생하게 된다.Similarly, in the case of FIGS. 3 and 4 (ISO 9797 M2), when the last part of the input data ends with 0x80 0x00..00, and the data is a multiple of 8 (or 16), which part is the original input data during decoding. Since it is impossible to distinguish which part is padded, an error occurs when restoring data.

본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명의 목적은 블록 암호화된 데이터를 복호화시 데이터의 오류없이 복호화하기 위한 개선된 패딩(padding) 방식 및 이를 이용한 암호화/복호화 방법 및 장치를 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made to overcome the above-mentioned problems, and an object of the present invention is to provide an improved padding scheme and an encryption / decryption method and apparatus using the same for decrypting block encrypted data without error in decrypting the data. It is to provide.

상기 본 발명의 목적을 달성하기 위한 본 발명의 블록 암호화 방법은 (a) 입력 데이터의 길이가 n의 배수인지를 판단하는 단계; (b) 입력 데이터의 길이가 n의 배수가 아니면, 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열을 패딩(padding)하며, n의 배수이면 입력 데이터의 데이터 값을 확인하는 단계; (c) 입력 데이터의 데이터 값에 따라, 선택적으로 n 바이트(byte)의 임의의 제 2 바이트열을 패딩하는 단계 및 (d) 패딩된 입력 데이터를 암호화하는 단계를 포함하는 것을 특징으로 한다.The block encryption method of the present invention for achieving the object of the present invention comprises the steps of (a) determining whether the length of the input data is a multiple of n; (b) if the length of the input data is not a multiple of n, padding an arbitrary first byte string such that the length of the input data is a multiple of n, and if the multiple of n identifies the data value of the input data. step; (c) optionally padding any second byte sequence of n bytes, in accordance with the data value of the input data, and (d) encrypting the padded input data.

상기 (c)의 입력 데이터의 최종단 데이터 값이 상기 (b)에서 패딩되는 임의의 제 1 바이트열과 동일한 형태일 경우, 상기 데이터 값을 식별하기 위한 n 바이트(byte)의 임의의 제 2 바이트열을 패딩하는 것을 특징으로 한다.If the last-end data value of the input data of (c) is of the same type as any of the first byte strings padded in (b), an arbitrary second byte sequence of n bytes for identifying the data value It characterized in that the padding.

상기 본 발명의 목적을 달성하기 위한 본 발명의 블록 복호화 방법은 (a) 암호화된 데이터를 수신하는 단계; (b) 암호화된 데이터를 복호화하는 단계; (c) 입력 데이터의 데이터 값을 식별하기 위하여, 입력 데이터에 패딩된 n 바이트(byte)의 임의의 제 2 바이트열이 존재 여부에 따라, 임의의 제 2 바이트열을 제거하는 단계를 포함하는 것을 특징으로 한다.The block decryption method of the present invention for achieving the object of the present invention comprises the steps of: (a) receiving encrypted data; (b) decrypting the encrypted data; (c) removing any second byte string, depending on whether there is any second byte string of n bytes padded in the input data, to identify a data value of the input data. It features.

상기 블록 복호화 방법은 (d) 입력 데이터의 길이가 n의 배수가 되도록 패딩된 임의의 제 1 바이트열의 존재 여부에 따라, 임의의 제 1 바이트열을 제거하는 단계를 더 포함하는 것을 특징으로 한다. The block decoding method may further include removing any first byte string according to whether or not the first byte string padded such that the length of the input data is a multiple of n.

상기 본 발명의 목적을 달성하기 위한 본 발명의 블록 암호화 장치는 암호화될 데이터를 입력하기 위한 데이터 입력부; 데이터 입력부에 입력된 입력 데이터의 길이나 데이터 값을 판단하기 위한 데이터 판단부; 데이터 판단부의 결과에 따라, 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열 또는 n 바이트(byte)의 임의의 제 2 바이트열을 입력 데이터에 패딩(padding)하기 위한 패딩부; 키 값을 발생하기 위한 키 입력부 및 키 값과 패딩 후의 입력 데이터를 암호화하기 위한 암호화부를 포함하는 것을 특징으로 한다.The block encryption apparatus of the present invention for achieving the object of the present invention comprises a data input unit for inputting data to be encrypted; A data determination unit for determining a length or a data value of input data input to the data input unit; A padding unit for padding an arbitrary first byte string or an arbitrary second byte string of n bytes to the input data according to a result of the data determination unit; And a key input unit for generating a key value, and an encryption unit for encrypting the key value and the input data after padding.

상기 패딩부는 상기 입력 데이터의 길이가 n의 배수가 아닐 경우에, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열을 패딩하는 것을 특징으로 한다.The padding unit may pad an arbitrary first byte string such that the length of the input data is a multiple of n when the length of the input data is not a multiple of n.

상기 패딩부는 입력 데이터의 최종단 데이터 값이 상기 임의의 제 1 바이트열과 동일한 형태일 경우에, n 바이트(byte)의 임의의 제 2 바이트열을 패딩하는 것을 특징으로 한다.The padding unit may pad an arbitrary second byte sequence of n bytes when the final data value of the input data has the same form as the arbitrary first byte sequence.

상기 본 발명의 목적을 달성하기 위한 본 발명의 블록 복호화 장치는 암호화된 데이터를 수신하기 위한 수신부; 수신된 암호화 데이터를 복호화하기 위한 복호화부; 복호화부에서 출력된 데이터에 입력 데이터의 길이가 n의 배수가 되도록 패딩된 임의의 제 1 바이트열이나 입력 데이터의 데이터 값을 식별하기 위하여, 입력 데이터에 패딩된 n 바이트(byte)의 임의의 제 2 바이트열이 존재하는지를 확인하기 위한 패딩 식별부 및 패딩 식별부의 결과에 따라, 임의의 제 1 바이트열 또는 n 바이트(byte)의 임의의 제 2 바이트열을 제거하기 위한 디패딩부를 포함하는 것을 특징으로 한다.The block decryption apparatus of the present invention for achieving the object of the present invention includes a receiving unit for receiving encrypted data; A decryption unit for decrypting the received encrypted data; In order to identify the data string of the input data or any first byte string padded so that the length of the input data is a multiple of n in the data output from the decoding unit, any number of n bytes padded on the input data A padding identifier for checking whether a two-byte string exists and a depadding portion for removing any first byte string or any second byte string of n bytes according to the result of the padding identifier. It is done.

이하, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

도 5를 참조하여, 본 발명의 일 실시예에 따른 블록 암호화 방법의 흐름도를 설명하면 다음과 같다.Referring to Figure 5, a flow chart of a block encryption method according to an embodiment of the present invention will be described.

우선, 암호화될 데이터가 입력된다(S51). 그리고 나서, 입력 데이터 길이가 8(또는 16)의 배수인지를 판단하는 과정을 수행한다(S52). First, data to be encrypted is input (S51). Then, a process of determining whether the input data length is a multiple of 8 (or 16) is performed (S52).

판단 결과, 만약 입력 데이터 길이가 8(또는 16)의 배수가 아닌 경우에는 8(또는 16)의 배수가 되도록 하는 최소의 0x80 0x00..00 바이트열을 패딩하는 과정을 수행한 후(S53), 데이터 암호화 과정(S56)으로 진행한다.As a result of determination, if the input data length is not a multiple of 8 (or 16), after the process of padding the minimum 0x80 0x00..00 byte string to be a multiple of 8 (or 16) (S53), The data encryption process proceeds to step S56.

한편, 입력 데이터 길이가 8(또는 16)의 배수인 경우에는 입력 데이터의 마지막 부분이 0x80 0x00..00의 형식인지를 판단하는 과정을 수행한다(S54).On the other hand, if the input data length is a multiple of 8 (or 16), a process of determining whether the last portion of the input data is in the format of 0x80 0x00..00 is performed (S54).

판단 결과, 0x80 0x00..00 형태의 데이터가 아닌 경우에는 그대로 데이터 암호화를 수행하며(S56), 만약 0x80 0x00..00 형태의 데이터인 경우에는 8(또는 16) 바이트(byte)의 0x80 0x00..00 바이트열을 추가적으로 패딩하는 과정을 수행한다(S55). 그리고 나서, 데이터 암호화 과정을 수행한다(S56).As a result of the determination, if the data is not of the 0x80 0x00..00 format, data encryption is performed as it is (S56). If the 0x80 0x00..00 data is of 0x80 0x00, 8 (or 16) bytes. A process of additionally padding the .00 byte string is performed (S55). Then, a data encryption process is performed (S56).

도 6은 본 발명의 일 실시예에 따른 블록 복호화 방법의 흐름도이다.6 is a flowchart of a block decoding method according to an embodiment of the present invention.

상기 도 6에 도시된 블록 복호화 과정을 살펴보면, 우선 암호화된 데이터를 수신한다(S61). 그리고 나서, 수신된 암호화 데이터를 복호화한다(S62).Referring to the block decryption process shown in FIG. 6, first, encrypted data is received (S61). Then, the received encrypted data is decrypted (S62).

그런 후에, 복호화된 데이터내에 8(또는 16) 바이트(byte)의 0x80 0x00..00 바이트열이 존재하는 지를 판단하는 과정을 수행한다(S63).Thereafter, a process of determining whether a 0x80 0x00..00 byte string of 8 (or 16) bytes exists in the decoded data is performed (S63).

판단 결과, 복호화된 데이터내에 암호화시 패딩된 8(또는 16) 바이트(byte)의 0x80 0x00..00 바이트열이 존재하는 경우에는, 상기 패딩된 8(또는 16) 바이트(byte)의 0x80 0x00..00 바이트열을 제거하는 디패딩 과정을 수행한 후(S65), 데이터 복원 과정(S66)으로 진행한다.As a result of determination, when there is a 0x80 0x00..00 byte sequence of padded 8 (or 16) bytes in the decrypted data, 0x80 0x00. Of the padded 8 (or 16) bytes. After performing the depadding process of removing the .00 byte string (S65), the process proceeds to the data restoration process (S66).

한편, 복호화된 데이터내에 8(또는 16) 바이트(byte)의 0x80 0x00..00 바이트열이 존재하지 않는 경우에는, 복호화된 데이터의 마지막 부분이 0x80 0x00..00 형식의 바이트열인지를 판단하게 된다(S64). On the other hand, when there are no 8x or 0x80 0x00..00 byte strings in the decoded data, it is determined whether the last portion of the decoded data is a byte string in the 0x80 0x00..00 format. (S64).

판단한 결과, 복호화된 데이터의 마지막 부분이 0x80 0x00..00 형식의 바이트열(즉, 암호화시 패딩된 바이트열)인 경우에는, 상기 0x80 0x00..00 형식의 바이트열을 제거하는 디패딩 과정을 수행(S65)하며, 그렇지 않은 경우에는 디패딩 과정없이 그대로 데이터를 복원하는 과정(S66)을 수행하게 된다.As a result, when the last part of the decrypted data is a byte string of 0x80 0x00..00 format (that is, a padded byte string at the time of encryption), the depadding process of removing the byte string of 0x80 0x00..00 format is performed. If not, the process of restoring data as it is (S66) is performed without depadding.

도 7(a)내지 7(d)는 종래 기술과 본 실시예의 결과 비교 테이블이다.7 (a) to 7 (d) are result comparison tables of the prior art and this embodiment.

도 7(a)는 64비트 블록 암호 DES의 경우, 종래 기술(ISO9797 M1)과 본 실시예에 따른 블록 암호 알고리즘의 수행 결과를 비교한 테이블이다. 이하에서 설명되고 있는 숫자는 16진수이다.FIG. 7A is a table comparing the execution result of the block cipher algorithm according to the present embodiment with the prior art (ISO9797 M1) in the case of 64-bit block cipher DES. The numbers described below are hexadecimal digits.

종래 기술에 따르면, 데이터 '11 22 00 00 00 00'에 '00 00'이 패딩되어 암호화 및 복호화가 수행된 후, 어느 부분이 패딩된 부분인지를 식별할 수 없어서 디패딩이 수행되지 않아, 원래의 데이터값과 상이한 '11 22 00 00 00 00 00 00'가 복원된다. According to the prior art, after data '11 22 00 00 00 00 'is padded with '00 00' to perform encryption and decryption, since no part can be identified as a padded part, depadding is not performed. '11 22 00 00 00 00 00 00 'different from the data value is restored.

한편, 본 실시예에 따르면, 데이터 '11 22 00 00 00 00'에 '80 00'이 패딩되어 암호화 및 복호화가 수행되고, 패딩된 '80 00'을 제거하는 디패딩이 오류없이 이루어져 원래의 데이터값과 동일한 '11 22 00 00 00 00'가 복원된다.On the other hand, according to the present embodiment, data '11 22 00 00 00 00 'is padded with '80 00' to perform encryption and decryption, and de-padding for removing the padded '80 00 'is performed without error. '11 22 00 00 00 00 'equal to the value is restored.

도 7(b)는 64비트 블록 암호 DES의 경우, 종래 기술(ISO9797 M2)과 본 실시예에 따른 블록 암호 알고리즘의 수행 결과를 비교한 테이블이다.FIG. 7B is a table comparing the execution result of the block cipher algorithm according to the present embodiment with the prior art (ISO9797 M2) in the case of 64-bit block cipher DES.

종래 기술에 따르면, 입력 데이터 '11 22 00 80 00 00 00 00'인 경우, 입력 데이터의 길이가 8의 배수이므로, 패딩없이 암호화 및 복호화가 수행된다. 그리고 나서, 디패딩시, 원래의 입력 데이터의 마지막 부분(80 00 00 00 00)이 패딩되는 바이트열과 동일한 형태이므로, 이를 패딩된 바이트열로 인식하여 제거하게 된다. 그 결과, 원래의 데이터 값과 상이한 '11 22 00'이 복원된다.According to the prior art, when the input data is '11 22 00 80 00 00 00 00 ', since the length of the input data is a multiple of 8, encryption and decryption are performed without padding. Then, at the time of depadding, since the last part (80 00 00 00 00) of the original input data has the same shape as the padded byte string, it is recognized as a padded byte string and removed. As a result, '11 22 00 'different from the original data value is restored.

한편, 본 실시예에 따르면, 입력 데이터의 길이가 8의 배수이고, 입력 데이터의 마지막 부분이 80 00.. 00 형태이므로, 이를 식별시키기 위하여, 8바이트의 바이트열('80 00 00 00 00 00 00 00')을 패딩시킨 후, 암호화 및 복호화가 수행된다. 디패딩시에는 패딩된 8바이트의 바이트열을 제거하므로, 원래의 입력 데이터와 동일한 '11 22 00 80 00 00 00 00'가 복원된다.On the other hand, according to the present embodiment, since the length of the input data is a multiple of 8, and the last part of the input data is in the form of 80 00 .. 00, in order to identify this, an 8-byte byte string ('80 00 00 00 00 00 00 00 '), then encryption and decryption are performed. During depadding, the padded 8-byte byte string is removed, so that '11 22 00 80 00 00 00 00 'identical to the original input data is restored.

도 7(c)는 128비트 블록 암호 SEED의 경우, 종래 기술(ISO9797 M1)과 본 실시예에 따른 블록 암호 알고리즘의 수행 결과를 비교한 테이블이며, 도 7(d)는 128비트 블록 암호 SEED의 경우, 종래 기술(ISO9797 M2)과 본 실시예에 따른 블록 암호 알고리즘의 수행 결과를 비교한 테이블로서, 상기 도 7(a) 및 7(b)의 설명과 유사하다.FIG. 7 (c) is a table comparing the performance results of the conventional block cipher (ISO9797 M1) and the block cipher algorithm according to the present embodiment in case of 128-bit block cipher SEED, and FIG. In this case, a table comparing the performance of the conventional technique (ISO9797 M2) and the block cipher algorithm according to the present embodiment is similar to the description of Figs. 7 (a) and 7 (b).

도 8은 본 발명의 일 실시예에 따른 블록 암호화 장치의 개략 구성도이다.8 is a schematic structural diagram of a block encryption apparatus according to an embodiment of the present invention.

상기 도 8에 도시된 블록 암호화 장치는 데이터 입력부(81), 데이터 판단부(82), 패딩부(83), 키 입력부(84) 및 암호화부(85)를 포함한다.The block cipher shown in FIG. 8 includes a data input unit 81, a data determination unit 82, a padding unit 83, a key input unit 84, and an encryption unit 85.

상기 데이터 입력부(81)는 암호화될 데이터를 입력하는 기능을 수행한다. The data input unit 81 performs a function of inputting data to be encrypted.

상기 데이터 판단부(82)는 상기 데이터 입력부(81)에 입력된 상기 입력 데이터의 길이나 데이터 값을 판단하는 기능을 수행한다.The data determination unit 82 determines a length or a data value of the input data input to the data input unit 81.

상기 패딩부(83)는 상기 데이터 판단부(82)의 결과에 따라, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열을 상기 입력 데이터에 패딩하거나, 또는 n 바이트(byte)의 임의의 제 2 바이트열을 상기 입력 데이터에 패딩하게 된다. According to a result of the data determining unit 82, the padding unit 83 pads the input data with an arbitrary first byte string such that the length of the input data is a multiple of n, or n bytes (byte). Padding any second byte sequence of < RTI ID = 0.0 >

한편, 상기 패딩부(83)는 입력 데이터의 길이가 n의 배수가 아닐 경우에, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 임의의 제 1 바이트열을 패딩하며, 최종단 데이터 값이 상기 임의의 제 1 바이트열과 동일한 형태일 경우에는, n 바이트(byte)의 임의의 제 2 바이트열을 패딩한다.Meanwhile, when the length of the input data is not a multiple of n, the padding unit 83 pads an arbitrary first byte string such that the length of the input data is a multiple of n. In the case of the same form as the arbitrary first byte sequence, n second bytes of the arbitrary second byte sequence are padded.

본 실시예에서 n은 8 또는 16이 될 수 있으며, 제 1 바이트열 및 제 2 바이트열은 0x80 0x00..00형태의 바이트열일 수 있다. In the present embodiment, n may be 8 or 16, and the first byte string and the second byte string may be byte strings in the form of 0x80 0x00..00.

상기 키 입력부(84)는 키 값을 발생시키며, 상기 암호화부(85)는 상기 키 입력부에서 발생된 키 값과 패딩 후의 입력 데이터를 이용하여 다양한 방식으로 암호화 한다.The key input unit 84 generates a key value, and the encryption unit 85 encrypts the key value generated by the key input unit and the input data after padding in various ways.

도 9는 본 발명의 일 실시예에 따른 블록 복호화 장치의 개략 구성도이다.9 is a schematic structural diagram of a block decoding apparatus according to an embodiment of the present invention.

상기 도 9에 도시된 블록 복호화 장치는 수신부(91), 복호화부(92), 패딩 식별부(93) 및 디패딩부(94)를 포함한다. The block decoding apparatus illustrated in FIG. 9 includes a receiver 91, a decoder 92, a padding identification unit 93, and a depadding unit 94.

상기 수신부(91)는 암호화된 데이터를 수신하는 기능을 수행하며, 상기 복호화부(92)는 상기 수신된 암호화 데이터를 복호화한다.The receiver 91 performs a function of receiving encrypted data, and the decryption unit 92 decrypts the received encrypted data.

상기 패딩 식별부(93)는 상기 복호화부(92)에서 출력된 데이터에 상기 입력 데이터의 길이가 n의 배수가 되도록 패딩된 임의의 제 1 바이트열이나 상기 입력 데이터의 데이터 값을 식별하기 위하여, 상기 입력 데이터에 패딩된 n 바이트(byte)의 임의의 제 2 바이트열이 존재하는지를 확인하는 기능을 수행한다.The padding identification unit 93 may identify an arbitrary first byte string padded so that the length of the input data is a multiple of n and the data value of the input data to the data output from the decoding unit 92, A function for checking whether an arbitrary second byte string of n bytes padded in the input data exists.

상기 디패딩부(94)는 상기 패딩 식별부(93)의 결과에 따라, 상기 임의의 제 1 바이트열 또는 n 바이트(byte)의 임의의 제 2 바이트열을 제거하기 한다.The depadding unit 94 removes the arbitrary first byte sequence or the second arbitrary byte sequence of n bytes according to the result of the padding identification unit 93.

본 실시예에서, n은 8 또는 16이 될 수 있으며, 제 1 바이트열 및 제 2 바이트열은 0x80 0x00..00 형태의 바이트열일 수 있다. In this embodiment, n may be 8 or 16, and the first byte string and the second byte string may be byte strings of the form 0x80 0x00..00.

이상에서 설명한 것은 본 발명에 따른 블록 암호화 및 복호화 방법 및 장치의 예시적인 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is merely an exemplary embodiment of a block encryption and decryption method and apparatus according to the present invention, and the present invention is not limited to the above-described embodiment, and as claimed in the following claims, the present invention Without departing from the gist of the present invention, one of ordinary skill in the art will have the technical spirit of the present invention to the extent that various modifications can be made.

상술한 바와 같이, 본 발명의 블록 암호화 및 복호화 방법 및 장치에 따르면, 특정 형택의 입력 데이터를 암호화 하는 경우에도 오류없이 정확히 데이터의 암호화 및 복호화를 수행할 수 있게 된다.As described above, according to the block encryption and decryption method and apparatus of the present invention, even when encrypting input data of a specific type, it is possible to accurately encrypt and decrypt data without error.

Claims (19)

입력 데이터를 소정 길이의 블록 단위로 나누어 암호화 및 복호화를 수행하는 블록 암호 알고리즘에 있어서, In a block encryption algorithm for dividing input data into blocks of a predetermined length to perform encryption and decryption, (a) 입력 데이터의 길이가 n의 배수인지를 판단하는 단계;(a) determining whether the length of the input data is a multiple of n; (b) 상기 입력 데이터의 길이가 n의 배수가 아니면, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 0x80 0x00..00(16진수) 형태의 제 1 바이트열을 패딩(padding)하며, n의 배수이면 입력 데이터의 데이터 값을 확인하는 단계;(b) if the length of the input data is not a multiple of n, padding the first byte sequence of the form 0x80 0x00..00 (hexadecimal) such that the length of the input data is a multiple of n, and n Checking a data value of the input data if it is a multiple of; (c) 상기 입력 데이터의 데이터 값에 따라, 선택적으로 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열을 패딩하는 단계 및(c) optionally padding a second byte string in the form of 0x80 0x00..00 (hexadecimal) of n bytes according to the data value of the input data; and (d) 상기 패딩된 입력 데이터를 암호화하는 단계를 포함하는 것을 특징으로 하는 블록 암호화 방법.(d) encrypting the padded input data. 제 1항에 있어서, 상기 (c)의 입력 데이터의 최종단 데이터 값이 상기 (b)에서 패딩되는 0x80 0x00..00(16진수) 형태의 제 1 바이트열과 동일한 형태일 경우, 상기 데이터 값을 식별하기 위한 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열을 패딩하는 것을 특징으로 하는 블록 암호화 방법.The data value of claim 1, wherein when the final data value of the input data of (c) is the same as the first byte string of the form of 0x80 0x00..00 (hexadecimal) padded in (b), And a second byte string in the form of 0x80 0x00..00 (hexadecimal) of n bytes for identification. 제 2항에 있어서, 상기 블록 암호 알고리즘은 대칭 암호 알고리즘인 것을 특징으로 하는 블록 암호화 방법.The method of claim 2, wherein the block cipher algorithm is a symmetric cipher algorithm. 제 2항에 있어서, 상기 임의의 제 1 바이트열 및 제 2 바이트열은 0x80 0x00..00(16진수)형태의 바이트열인 것을 특징으로 하는 블록 암호화 방법.The method of claim 2, wherein the arbitrary first byte string and the second byte string are byte strings in the form of 0x80 0x00..00 (hexadecimal). 제 4항에 있어서, 상기 n은 8 또는 16인 것을 특징으로 하는 블록 암호화 방법.5. The method of claim 4, wherein n is 8 or 16. 제 5항에 있어서, 상기 n이 8일 때, 상기 블록 알고리즘은 DES, 2DES 또는 3DES인 것을 특징으로 하는 블록 암호화 방법.6. The method of claim 5, wherein when n is 8, the block algorithm is DES, 2DES or 3DES. 제 5항에 있어서, 상기 n이 16일 때, 상기 블록 알고리즘은 SEED인 것을 특징으로 하는 블록 암호화 방법.6. The method of claim 5, wherein when n is 16, the block algorithm is SEED. 제 1항 내지 제 7항중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 1 to 7. 입력 데이터를 소정 길이의 블록 단위로 나누어 암호화 및 복호화를 수행하는 블록 암호 알고리즘에 있어서, In a block encryption algorithm for dividing input data into blocks of a predetermined length to perform encryption and decryption, (a) 암호화된 데이터를 수신하는 단계;(a) receiving encrypted data; (b) 상기 암호화된 데이터를 복호화하는 단계;(b) decrypting the encrypted data; (c) 상기 입력 데이터의 데이터 값을 식별하기 위하여, 상기 입력 데이터에 패딩된 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열이 존재 여부에 따라, 상기 제 2 바이트열을 제거하는 단계를 포함하는 것을 특징으로 하는 블록 복호화 방법.(c) in order to identify a data value of the input data, depending on whether or not there is a second byte string in the form of 0x80 0x00..00 (hexadecimal) of n bytes padded to the input data. And removing the byte string. 제 9항에 있어서, 상기 블록 복호화 방법은 The method of claim 9, wherein the block decoding method is (d) 상기 입력 데이터의 길이가 n의 배수가 되도록 패딩된 0x80 0x00..00(16진수) 형태의 제 1 바이트열의 존재 여부에 따라, 상기 제 1 바이트열을 제거하는 단계를 더 포함하는 것을 특징으로 하는 블록 복호화 방법.(d) removing the first byte string according to whether a first byte string of the form 0x80 0x00..00 (hexadecimal) is padded such that the length of the input data is a multiple of n. Block decoding method. 제 10항에 있어서, 상기 임의의 제 1 바이트열 및 제 2 바이트열은 0x80 0x00..00(16진수)형태의 바이트열인 것을 특징으로 하는 블록 복호화 방법.12. The block decoding method of claim 10, wherein the arbitrary first byte strings and the second byte strings are byte strings in the form of 0x80 0x00..00 (hexadecimal). 제 11항에 있어서, 상기 n은 8 또는 16인 것을 특징으로 하는 블록 복호화 방법.12. The method of claim 11, wherein n is 8 or 16. 제 12항에 있어서, 상기 n이 8일 때, 상기 블록 알고리즘은 DES, 2DES 또는 3DES인 것을 특징으로 하는 블록 복호화 방법.13. The block decoding method of claim 12, wherein when n is 8, the block algorithm is DES, 2DES, or 3DES. 제 12항에 있어서, 상기 n이 16일 때, 상기 블록 알고리즘은 SEED인 것을 특징으로 하는 블록 복호화 방법.13. The block decoding method of claim 12, wherein when n is 16, the block algorithm is SEED. 제 9항 내지 제 14항중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 9 to 14. 입력 데이터를 소정 길이의 블록 단위로 나누어 암호화를 수행하는 블록 암호화 장치에 있어서,In a block encryption apparatus for performing encryption by dividing input data into block units of a predetermined length, 암호화될 데이터를 입력하기 위한 데이터 입력부;A data input unit for inputting data to be encrypted; 상기 데이터 입력부에 입력된 상기 입력 데이터의 길이나 데이터 값을 판단하기 위한 데이터 판단부;A data determination unit for determining a length or a data value of the input data input to the data input unit; 상기 데이터 판단부의 결과에 따라, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 0x80 0x00..00(16진수) 형태의 제 1 바이트열 또는 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열을 상기 입력 데이터에 패딩(padding)하기 위한 패딩부;According to the result of the data determination unit, the first byte string of the form 0x80 0x00..00 (hexadecimal) or nx byte 0x80 0x00..00 (hexadecimal) such that the length of the input data is a multiple of n. A padding unit configured to pad a second byte string having a form of) to the input data; 키 값을 발생하기 위한 키 입력부 및A key input for generating a key value, and 상기 키 값과 패딩 후의 입력 데이터를 암호화하기 위한 암호화부를 포함하는 것을 특징으로 하는 블록 암호화 장치.And an encryption unit for encrypting the key value and the input data after padding. 제 16항에 있어서, 상기 패딩부는 상기 입력 데이터의 길이가 n의 배수가 아닐 경우에, 상기 입력 데이터의 길이가 n의 배수가 되도록 하는 0x80 0x00..00(16진수) 형태의 제 1 바이트열을 패딩하는 것을 특징으로 하는 블록 암호화 장치.17. The first byte string of claim 16, wherein the padding unit has a length of 0x80 0x00..00 (hexadecimal) in which the length of the input data is a multiple of n when the length of the input data is not a multiple of n. Block encryption apparatus characterized in that padding. 제 16항에 있어서, 상기 패딩부는 입력 데이터의 최종단 데이터 값이 상기 제 1 바이트열과 동일한 형태일 경우에, n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열을 패딩하는 것을 특징으로 하는 블록 암호화 장치.17. The method of claim 16, wherein the padding unit, when the last data value of the input data is the same form as the first byte sequence, the second byte string of the form 0x80 0x00..00 (hexadecimal) of n bytes (17) Block encryption apparatus characterized in that the padding. 입력 데이터를 소정 길이의 블록 단위로 나누어 암호화된 데이터의 복호화를 수행하는 블록 복호화 장치에 있어서,A block decryption apparatus for decrypting encrypted data by dividing input data into block units having a predetermined length, 상기 암호화된 데이터를 수신하기 위한 수신부;A receiving unit for receiving the encrypted data; 상기 수신된 암호화 데이터를 복호화하기 위한 복호화부;A decryption unit for decrypting the received encrypted data; 상기 복호화부에서 출력된 데이터에 상기 입력 데이터의 길이가 n의 배수가 되도록 패딩된 0x80 0x00..00(16진수) 형태의 제 1 바이트열이나 상기 입력 데이터의 데이터 값을 식별하기 위하여, 상기 입력 데이터에 패딩된 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열이 존재하는지를 확인하기 위한 패딩 식별부 및In order to identify the data value of the input data or the first byte string of the form 0x80 0x00..00 (hexadecimal) padded so that the length of the input data is a multiple of n in the data output from the decoder. A padding identification unit for checking whether there is a second byte string in the form of 0x80 0x00..00 (hexadecimal) of n bytes padded to the data; and 상기 패딩 식별부의 결과에 따라, 상기 제 1 바이트열 또는 n 바이트(byte)의 0x80 0x00..00(16진수) 형태의 제 2 바이트열을 제거하기 위한 디패딩부를 포함하는 것을 특징으로 하는 블록 복호화 장치.And a depadding unit for removing the first byte string or the second byte string in the form of 0x80 0x00..00 (hexadecimal) of n bytes according to a result of the padding identification unit. Device.
KR1020040099721A 2004-12-01 2004-12-01 Method and apparatus for block encryption and decryption KR100673820B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040099721A KR100673820B1 (en) 2004-12-01 2004-12-01 Method and apparatus for block encryption and decryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040099721A KR100673820B1 (en) 2004-12-01 2004-12-01 Method and apparatus for block encryption and decryption

Publications (2)

Publication Number Publication Date
KR20060060916A KR20060060916A (en) 2006-06-07
KR100673820B1 true KR100673820B1 (en) 2007-01-25

Family

ID=37157540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040099721A KR100673820B1 (en) 2004-12-01 2004-12-01 Method and apparatus for block encryption and decryption

Country Status (1)

Country Link
KR (1) KR100673820B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101387697B1 (en) * 2012-05-11 2014-04-21 주식회사 예티소프트 Platform-independent system and method for receiving secure email
KR101628195B1 (en) * 2014-12-08 2016-06-08 한국과학기술정보연구원 Double backup system using cloud service and method for data management
KR102481024B1 (en) * 2021-07-22 2022-12-23 주식회사 티엔젠 Processing method for encrypting data, system and computer program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000062894A (en) * 1999-03-15 2000-10-25 이데이 노부유끼 Data processing method, apparatus and system for encrypted data transfer
US20020174332A1 (en) 2000-11-08 2002-11-21 Nokia Corporation Adaptive message authentication code
KR20040040381A (en) * 2002-11-05 2004-05-12 가부시끼가이샤 도시바 Communication device and communication method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000062894A (en) * 1999-03-15 2000-10-25 이데이 노부유끼 Data processing method, apparatus and system for encrypted data transfer
US20020174332A1 (en) 2000-11-08 2002-11-21 Nokia Corporation Adaptive message authentication code
KR20040040381A (en) * 2002-11-05 2004-05-12 가부시끼가이샤 도시바 Communication device and communication method
JP2004158981A (en) 2002-11-05 2004-06-03 Toshiba Corp Communication equipment and communication method

Also Published As

Publication number Publication date
KR20060060916A (en) 2006-06-07

Similar Documents

Publication Publication Date Title
CN107347058B (en) Data encryption method, data decryption method, device and system
KR101847492B1 (en) Apparatus and method for data encryption, apparatus and method for data decryption
US20080260147A1 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
WO2016027454A1 (en) Authentication encryption method, authentication decryption method, and information-processing device
US7254838B2 (en) Copy protection method and system for digital media
US6889323B2 (en) Method and apparatus for contents information
JP4596256B2 (en) Transmission / reception system and method, transmission device and method, reception device and method, and program
JP2004320719A (en) Work protection system, key data generating apparatus, and terminal device
EP2064830A1 (en) Method and apparatus for inserting authenication code, and method and apparatus for using data through authenication
US7039192B1 (en) Methods for data encryption using multiple layer steganography
US7433488B2 (en) Information recording medium drive device, information processing apparatus, data replay control system, data replay control method, and computer program
US20230139104A1 (en) Authenticated encryption apparatus, authenticated decryption apparatus, authenticated encryption system, method, and computer readable medium
KR100673820B1 (en) Method and apparatus for block encryption and decryption
KR20160109891A (en) Apparatus and Method for Generating Cryptographic Key based on PUF
KR101790948B1 (en) Apparatus and method for providing drm service, apparatus and method for playing contents using drm service
JP5992651B2 (en) ENCRYPTION METHOD, PROGRAM, AND SYSTEM
US8144868B2 (en) Encryption/decryption of program data but not PSI data
KR101881783B1 (en) Device and method for data encryption and decryption
KR102481024B1 (en) Processing method for encrypting data, system and computer program
JP4910324B2 (en) Information processing apparatus, information processing method, and computer program
KR101224956B1 (en) Method and device for cipher-deciphering data automatically
WO2021044465A1 (en) Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure
JP2007041756A (en) Information processor and method, program, and security chip
JP2006512023A (en) Data copy prevention apparatus and system, and copy prevention method
US20060177053A1 (en) Data processing apparatus, data recording apparatus, data playback apparatus, and data storage method

Legal Events

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

Payment date: 20130108

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee