KR101076681B1 - Encryption method for data and decryption method therefor - Google Patents

Encryption method for data and decryption method therefor Download PDF

Info

Publication number
KR101076681B1
KR101076681B1 KR1020090024143A KR20090024143A KR101076681B1 KR 101076681 B1 KR101076681 B1 KR 101076681B1 KR 1020090024143 A KR1020090024143 A KR 1020090024143A KR 20090024143 A KR20090024143 A KR 20090024143A KR 101076681 B1 KR101076681 B1 KR 101076681B1
Authority
KR
South Korea
Prior art keywords
block
encryption
ciphertext
plaintext
nth
Prior art date
Application number
KR1020090024143A
Other languages
Korean (ko)
Other versions
KR20100054697A (en
Inventor
전용성
나재훈
권혁찬
이승민
문용혁
구자범
남택용
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20100054697A publication Critical patent/KR20100054697A/en
Application granted granted Critical
Publication of KR101076681B1 publication Critical patent/KR101076681B1/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

Abstract

본 발명은 데이터의 암호화 방법 및 그 복호화 방법에 관한 것으로, 평문의 암호화 시에 암호화를 병렬로 처리할 수 있으면서도 안전성이 높아서 암호화를 신속하게 처리할 수 있으며, 평문 및 암호문의 길이가 암호연산블록의 정수배가 되지 않는 경우라도 암호화 및 복호화의 마지막 과정에서 평문 및 암호문을 암호연산블록의 크기에 맞게 패딩을 할 필요가 없고, 비디오 스트림과 같이 데이터의 길이를 그대로 유지하면서 신속한 암호화가 필요한 시스템에 적용하는 경우에는 데이터의 패딩이 필요하지 않아서 비디오 스트림의 전송 대역폭을 그대로 유지할 수 있으며, 암호연산의 병렬처리가 가능하여 암호화된 비디오 스트림을 신속히 생성할 수 있는 이점이 있다.

Figure R1020090024143

평문 데이터, 암호문 데이터, 암호연산

The present invention relates to a method for encrypting data and a method for decrypting the same, wherein encryption can be processed in parallel at the time of encryption of a plain text, and the encryption can be processed quickly because of its high security. Even if it is not an integer multiple, it is not necessary to pad the plaintext and ciphertext to the size of the cryptographic block in the final process of encryption and decryption, and it is applied to a system that requires rapid encryption while maintaining the length of data as a video stream. In this case, since data padding is not required, the transmission bandwidth of the video stream can be maintained as it is, and encryption processing can be performed in parallel to generate an encrypted video stream quickly.

Figure R1020090024143

Plain text data, cipher text data, cryptographic operation

Description

데이터의 암호화 방법 및 그 복호화 방법{ENCRYPTION METHOD FOR DATA AND DECRYPTION METHOD THEREFOR}ENCRYPTION METHOD FOR DATA AND DECRYPTION METHOD THEREFOR}

본 발명은 데이터의 암호화 방법 및 그 복호화 방법에 관한 것으로서, 더욱 상세하게는 직렬처리뿐만 아니라 병렬처리도 가능하여 평문의 암호화를 신속하게 처리할 수 있으면서 암호화 및 복호화 과정에서 평문과 암호문을 암호연산블록의 크기에 맞게 패딩을 할 필요가 없는 암호화 방법 및 그 복호화 방법에 관한 것이다.The present invention relates to a data encryption method and a decryption method, and more particularly, serial processing as well as parallel processing is possible to process the encryption of the plain text quickly while encrypting and decrypting the plain text and cipher text in the encryption and decryption process The present invention relates to an encryption method and a decryption method that do not have to be padded according to the size of.

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

종래 기술에 따른 데이터의 암호화 및 복호화 방법으로서, ECB(Electronic codebook) 모드, CBC(Cipher Block Chaining) 모드, CFB(Cipher FeedBack) 모드, OFB(Output FeedBack) 모드, 카운터(Counter) 모드가 대표적이다.As a method of encrypting and decrypting data according to the prior art, an electronic codebook (ECB) mode, a cipher block chaining (CBC) mode, a cipher feed back (CFB) mode, an output feed back (OFB) mode, and a counter mode are typical.

이러한 운영 모드 중에서 ECB 모드의 경우는 동일한 평문 블록은 동일한 암호문을 생성하는 문제점이 있어서 일반적으로 잘 사용되지 않고 있다.In the ECB mode, the same plaintext block generates the same ciphertext, which is not generally used.

CBC 모드는 평문 및 암호문의 길이가 암호연산블록의 정수배가 되지 않는 경우에는 암호화 및 복호화의 마지막 과정에서 평문 및 암호문을 암호연산블록의 크기에 맞게 패딩을 해주어야 한다. 따라서 패딩에 의해 평문 및 암호문의 길이가 길어지는 경우가 발생하는 CBC 모드는 평문 및 암호문의 길이를 그대로 유지해야하는 시스템에는 적합하지 않다. 또한 CBC 모드는 암호화 및 복호화 과정이 모두 병렬처리가 불가능하다.In the CBC mode, when the length of the plain text and ciphertext is not an integer multiple of the ciphering block, the plaintext and ciphertext should be padded to the size of the ciphering block at the end of encryption and decryption. Therefore, the CBC mode, in which the length of the plain text and the cipher text are lengthened by the padding, is not suitable for the system that must maintain the length of the plain text and the cipher text. In addition, in the CBC mode, both encryption and decryption processes cannot be parallelized.

CFB 모드와 OFB 모드도 암호화 및 복호화 과정이 모두 병렬처리가 불가능한 단점이 있어서 신속한 암호화 처리가 요구되는 시스템에 사용하기에는 적합하지 않다.Both CFB mode and OFB mode are not suitable for use in systems that require rapid encryption because both encryption and decryption processes cannot be parallelized.

카운터 모드는 병렬성이 뛰어나고, 암호키와 초기값이 주어지면 초기값에 대한 암호연산을 미리 계산할 수 있어서 평문이 주어지면 바로 암호문을 만들 수 있는 장점은 있지만, 동일한 암호키와 초기값을 반복하여 사용하는 경우에는 안전성이 낮은 문제점이 있다.The counter mode has excellent parallelism, and given the encryption key and the initial value, it is possible to calculate the encryption operation for the initial value in advance, so that the cipher text can be created immediately when the plain text is given, but the same encryption key and the initial value are used repeatedly. If there is a problem with low safety.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안한 것으로서, 평문의 암호화 시에 암호화를 병렬로 처리할 수 있으면서도 안전성에는 전혀 문제가 없고, 평문 및 암호문의 길이가 암호연산블록의 정수배가 되지 않는 경우라도 암호화 및 복호화의 마지막 과정에서 평문 및 암호문을 암호연산블록의 크기에 맞게 패딩을 할 필요가 없는 암호화 및 복호화 방법을 제공한다.The present invention has been proposed in order to solve the above-mentioned conventional problems, and in the case of being able to process encryption in parallel at the time of plain text encryption, there is no problem in safety, and the length of the plain text and cipher text is not an integer multiple of the cipher operation block. Even in the final process of encryption and decryption, it provides an encryption and decryption method that does not need to pad the plain text and cipher text to the size of the encryption operation block.

본 발명의 제 1 관점에 따른 데이터의 암호화 방법은, 제1 암호화 장치 내지 제N(단, N은 자연수) 암호화 장치를 포함하는 암호화 시스템에 의한 데이터 암호화 방법으로서, 암호화를 위한 초기값과 암호키를 설정하는 단계와, 평문을 암호연산크기로 나누어 제1 평문 블록 내지 제N 평문 블록을 생성하는 단계와, 상기 초기값과 상기 암호키를 입력으로 하는 상기 제1 암호화 장치의 블록 암호연산결과를 상기 제1 평문 블록과 논리 연산하여 제1 암호문 블록을 생성하는 단계와, 제2 평문 블록 내지 상기 제N 평문 블록 중에서 선택한 평문 블록을 제I 평문 블록이라 하고 제2 암호화 장치 내지 상기 제N 암호화 장치 중에서 선택한 암호화 장치를 제I 암호화 장치라 할 때에, 제I-1 평문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 상기 제I 암호화 장치의 블록 암호연산결과와 상기 제I 평문 블록을 논리 연산하여 제I 암호문 블록을 생성하는 과정을 반복하여 제2 암호문 블록 내지 제N 암호문 블록을 생성하는 단계를 포함한다.A data encryption method according to a first aspect of the present invention is a data encryption method by an encryption system including a first encryption device to an Nth (where N is a natural number) encryption device, the initial value for encryption and an encryption key. Generating a first plaintext block to an Nth plaintext block by dividing the plaintext into an encryption operation size, and generating a block ciphering operation result of the first encryption apparatus using the initial value and the encryption key as inputs. Generating a first ciphertext block by performing a logical operation with the first plaintext block, and selecting a plaintext block selected from the second plaintext block to the Nth plaintext block as the first plaintext block, and the second encryption device to the Nth encryption device. The first encryption apparatus for inputting a result of performing a logical operation on the I-1 plaintext block and the initial value when the selected encryption apparatus is an I encryption apparatus. The logic operation of the block cipher value calculation result I and the second plaintext block repeating the step of generating the first cipher text block I and a step of generating a second ciphertext block to the N cipher-text blocks.

여기서, 상기 암호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 순차적으로 선택하여 상기 제1암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정을 순차적으로 직렬처리한다.Here, the encryption method sequentially processes the steps of generating the first ciphertext block to the Nth ciphertext block by sequentially selecting the first plaintext block to the Nth plaintext block.

상기 암호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 동시에 선택하여 상기 제1암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정을 동시에 병렬처리한다.The encryption method simultaneously performs parallel processing of generating the first ciphertext block to the N th ciphertext block by simultaneously selecting the first plaintext block to the Nth plaintext block.

상기 암호화 방법은, 상기 제N 평문 블록이 상기 암호연산크기보다 작은 경우에 제N-1 평문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 제N-1 암호화 장치의 블록 암호연산결과를 상기 제N 평문 블록의 크기와 동일하게 절사한 후에 상기 제N 평문 블록과 논리 연산하여 상기 제N 암호문 블록을 생성한다.The encryption method may be further configured to generate a block cipher operation result of an N-1 encryption apparatus that inputs a result of performing a logical operation on an N-1 plaintext block and the initial value when the Nth plaintext block is smaller than the cipher operation size. After truncating to the same size as the Nth plaintext block, the Nth ciphertext block is generated by performing a logical operation with the Nth plaintext block.

상기 암호화 방법은, 상기 암호화 방법은, 상기 제1 암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정에서 수행하는 복수의 상기 논리 연산을 동일한 논리 연산으로 수행한다.The encryption method may include performing the plurality of logical operations performed in the process of generating the first ciphertext block or the N-th ciphertext block using the same logical operation.

상기 동일한 논리 연산은, 배타적논리합 연산으로 수행한다.The same logical operation is performed by an exclusive logical sum operation.

본 발명의 제 2 관점에 따른 데이터의 복호화 방법은, 제1 암호화 장치 내지 제N(단, N은 자연수) 암호화 장치를 포함하는 복호화 시스템에 의한 데이터 복호화 방법으로서, 복호화를 위한 초기값과 암호키를 설정하는 단계와, 암호문을 암호연산크기로 나누어 제1 암호문 블록 내지 제N 암호문 블록을 생성하는 단계와, 상기 초기값과 상기 암호키를 입력으로 하는 상기 제1 암호화 장치의 블록 암호연산결과를 상기 제1 암호문 블록과 논리 연산하여 제1 평문 블록을 생성하는 단계와, 제2 암호문 블록 내지 상기 제N 암호문 블록 중에서 선택한 암호문 블록을 제I 암호문 블록이라 하고 제2 암호화 장치 내지 상기 제N 암호화 장치 중에서 선택한 암호화 장치를 제I 암호화 장치라 할 때에, 제I-1 암호문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 상기 제I 암호화 장치의 블록 암호연산결과와 상기 제I 암호문 블록을 논리 연산하여 제I 평문 블록을 생성하는 과정을 반복하여 제2 평문 블록 내지 제N 평문 블록을 생성하는 단계를 포함한다.A data decryption method according to a second aspect of the present invention is a data decryption method using a decryption system including a first encryption device to an Nth (where N is a natural number) encryption device, and an initial value and an encryption key for decryption. Generating a first ciphertext block to an Nth ciphertext block by dividing the ciphertext into an encryption operation size, and generating a block cipher operation result of the first encryption apparatus using the initial value and the encryption key as inputs. Generating a first plaintext block by performing logical operation with the first ciphertext block, and selecting a ciphertext block selected from the second ciphertext block or the N-th ciphertext block as the first ciphertext block and using the second ciphertext block to the Nth ciphertext device. When the cipher apparatus selected among these is called the I cipher apparatus, the result of performing a logical operation on the I-1 ciphertext block and the initial value is input. Generating a second plaintext block to an Nth plaintext block by repeating a process of generating the first plaintext block by performing a logical operation on the block cipher operation result of the first encryption device and the first ciphertext block.

여기서, 상기 복호화 방법은, 상기 제N 암호문 블록이 상기 암호연산크기보다 작은 경우에 제N-1 암호문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 제N-1 암호화 장치의 블록 암호연산결과를 상기 제N 암호문 블록의 크기와 동일하게 절사한 후에 상기 제N 암호문 블록과 논리 연산하여 상기 제N 평문 블록을 생성한다.Here, in the decryption method, when the N-th ciphertext block is smaller than the cipher operation size, a block cipher operation of the N-1 cipher apparatus as an input result of performing a logical operation on the N-1 ciphertext block and the initial value is input. After truncating a result equal to the size of the Nth ciphertext block, the Nth plaintext block is generated by performing a logical operation with the Nth ciphertext block.

상기 복호화 방법은, 상기 복호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 생성하는 과정에서 수행하는 복수의 상기 논리 연산을 동일한 논리 연산으로 수행한다.In the decoding method, the decoding method may perform a plurality of the logical operations performed in the process of generating the first plaintext block to the Nth plaintext block with the same logical operation.

상기 동일한 논리 연산은, 배타적논리합 연산으로 수행한다.The same logical operation is performed by an exclusive logical sum operation.

본 발명에 의하면, 평문의 암호화 시에 암호화를 병렬로 처리할 수 있으면서도 안전성이 높아서 암호화를 신속하게 처리할 수 있으며, 평문 및 암호문의 길이가 암호연산블록의 정수배가 되지 않는 경우라도 암호화 및 복호화의 마지막 과정에서 평문 및 암호문을 암호연산블록의 크기에 맞게 패딩을 할 필요가 없다.According to the present invention, encryption can be processed in parallel at the time of encryption of a plain text, and security is high, so that encryption can be processed quickly, and even if the length of the plain text and the ciphertext is not an integer multiple of the encryption operation block, In the last step, the plain text and cipher text do not need to be padded to fit the size of the cryptographic block.

특히, 비디오 스트림과 같이 데이터의 길이를 그대로 유지하면서 신속한 암호화가 필요한 시스템에 적용하는 경우에는 데이터의 패딩이 필요하지 않아서 비디오 스트림의 전송 대역폭을 그대로 유지할 수 있으며, 암호연산의 병렬처리가 가능하여 암호화된 비디오 스트림을 신속히 생성할 수 있는 효과가 있다.In particular, when applied to a system that requires rapid encryption while maintaining the length of the data, such as a video stream, no data padding is required so that the transmission bandwidth of the video stream can be maintained as it is, and encryption processing can be performed in parallel. There is an effect that can quickly create a video stream.

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

도 1은 본 발명의 실시예에 따른 데이터의 암호화 방법을 수행할 수 있는 암호화 시스템의 구성도이다. 이에 나타낸 바와 같이 암호화 시스템은, N개의 암호화 장치(101/1, 101/2, …, 101/N)와 2N-1개의 배타적논리합(XOR) 연산기를 포함하여 구성된다. 이러한 암호화 시스템의 작동 과정은 도 3 및 도 4를 참조한 아래의 설명으로부터 쉽게 이해할 수 있다.1 is a block diagram of an encryption system capable of performing a data encryption method according to an embodiment of the present invention. As shown here, the encryption system comprises N encryption apparatuses 101/1, 101/2, ..., 101 / N and 2N-1 exclusive logical sum (XOR) operators. The operation of such an encryption system can be easily understood from the following description with reference to FIGS. 3 and 4.

도 2는 본 발명의 실시예에 따른 데이터의 복호화 방법을 수행할 수 있는 복호화 시스템의 구성도이다. 이에 나타낸 바와 같이 복호화 시스템은, N개의 암호화 장치(102/1, 102/2, …, 102/N)와 2N-1개의 배타적논리합(XOR) 연산기를 포함하여 구성된다. 이러한 복호화 시스템의 작동 과정은 도 5를 참조한 아래의 설명으로부터 쉽게 이해할 수 있다.2 is a block diagram of a decoding system capable of performing a data decoding method according to an embodiment of the present invention. As shown here, the decryption system comprises N encryption apparatuses 102/1, 102/2, ..., 102 / N and 2N-1 exclusive logical sum (XOR) operators. The operation of such a decoding system can be easily understood from the following description with reference to FIG.

도 3은 본 발명의 실시예에 따른 직렬처리방식의 데이터 암호화 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a data encryption method of a serial processing method according to an embodiment of the present invention.

먼저, 암호화를 위한 초기값(IV)과 암호키를 설정한다(S201).First, an initial value IV and an encryption key for encryption are set (S201).

평문을 암호연산크기로 N개의 블록으로 나누며(S202), 나누어진 N개의 평문 블록에 1부터 N까지의 블록번호변수(i)를 순차적으로 할당한 후에 N개의 평문 블록을 블록번호변수(i)에 의거하여 순차적으로 선택한다(S203).The plaintext is divided into N blocks by the cipher operation size (S202), and the N plaintext blocks are sequentially assigned to the N number of plaintext blocks by assigning block number variables (i) from 1 to N to the divided N plaintext blocks. Based on the selection sequentially (S203).

선택한 평문 블록의 블록번호변수(i)를 확인(S204)하여 평문 블록이 첫 번째 평문 블록(P1)인 경우에는 초기값(IV)과 암호키를 암호화 장치(101/1)에 입력한다(S205).The block number variable (i) of the selected plaintext block is checked (S204), and when the plaintext block is the first plaintext block (P 1 ), an initial value (IV) and an encryption key are input to the encryption apparatus 101/1 ( S205).

단계 S205의 암호연산결과(E1)를 첫 번째 평문 블록(P1)과 배타적논리합(XOR) 연산을 수행하고, 배타적논리합 연산결과인 첫 번째 암호문 블록(C1)을 생성 및 저장한다. 그리고 다음 번째의 평문 블록이 선택되도록 하기 위해 단계 S203에서 선택할 블록번호변수(i)를 "1" 증가시킨다(S206).An exclusive logical sum (XOR) operation is performed with the first plaintext block P 1 on the cryptographic operation result E 1 of step S205, and the first cryptographic block C 1 , which is the result of the exclusive logical sum operation, is generated and stored. Then, the block number variable i to be selected in step S203 is incremented by "1" so that the next plaintext block is selected (S206).

반복 수행하는 단계 S203에서는 단계 S206에 의해 증가한 블록번호변수(i)에 의해 다음 번째의 평문 블록이 선택된다. 만약 평문 블록의 수가 1개인 경우, 즉 "N=1"인 경우에는 다음 번째의 평문 블록을 선택할 수 없으므로 그대로 암호연산을 종료한다.In step S203, the next plaintext block is selected by the block number variable i increased in step S206. If the number of plaintext blocks is one, that is, "N = 1", the next plaintext block cannot be selected, and thus the encryption operation is terminated.

단계 S204에서 평문 블록의 블록번호변수(i)가 첫 번째 블록 및 마지막 번째 블록이 아닌 것으로 확인, 즉 두 번째 내지 N-1 번째의 평문 블록으로 확인되면 초기값(IV)과 i-1 번째 평문 블록을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(101/i)에 입력한다(S207). (여기서, 도 1에는 도면부호 101/i를 명시하지 않았으나 설명의 편의를 위해 i번째 암호화 장치에 대해 도면부호 101/i를 부여하였고, 이하의 설명에서도 동일하게 부여하기로 한다.)If it is confirmed in step S204 that the block number variable i of the plaintext block is not the first block and the last block, that is, the second to N-1th plaintext blocks, the initial value IV and the i-1th plaintext The exclusive logical sum operation is performed on the block, and the exclusive logical sum operation result is input to the encryption apparatus 101 / i (S207). (In this case, although reference numeral 101 / i is not specified in FIG. 1, for convenience of description, reference numeral 101 / i is assigned to the i-th encryption device, and the same description will be made in the following description.)

암호화 장치(101/i)의 암호연산결과(Ei)와 i번째 평문 블록(Pi)을 배타적논리합 연산을 수행하고, 그 배차적논리합 연산결과인 i번째 암호문 블록(Ci)을 생성 및 저장한다. 그리고 다음 번째의 평문 블록이 선택되도록 하기 위해 단계 S203에서 선택할 블록번호변수(i)를 "1" 증가시킨다(S206).Performs an exclusive logical sum operation on the cipher operation result E i and the i th plaintext block P i of the encryption apparatus 101 / i, and generates an i th ciphertext block C i which is the result of the quadratic logical sum operation. Save it. Then, the block number variable i to be selected in step S203 is incremented by "1" so that the next plaintext block is selected (S206).

단계 S203에서는 단계 S206에 의해 증가한 블록번호변수(i)에 의해 다음 번째의 평문 블록이 선택되며, 단계 S204에서 평문 블록의 블록번호변수(i)가 마지막 번째 블록으로 확인되면 초기값(IV)을 N-1번째 평문 블록과 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(101/N)에 입력한다(S208).In step S203, the next plaintext block is selected by the block number variable i increased in step S206. When the block number variable i of the plaintext block is confirmed as the last block in step S204, the initial value IV is determined. An exclusive logical sum operation is performed with the N−1 th plaintext block, and the exclusive logical sum operation result is input to the encryption apparatus 101 / N (S208).

암호화 장치(101/N)의 암호연산결과(EN)와 마지막 번째 평문 블록(PN)을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과인 마지막 번째 암호문 블록(CN)을 생성 및 저장한다. 여기서, 마지막 번째 평문 블록(PN)이 암호연산블록의 크기보다 작은 경우는 마지막 번째 암호연산결과(EN)를 마지막 번째 평문 블록(PN)의 크기와 동일하게 절사한 후에 배타적논리합 연산을 수행하여 마지막 번째 평문 블록(PN)크기와 동일한 크기의 마지막 번째 암호문 블록(CN)을 얻는다(S209). 이로써 암호연산을 종료한다.Performs an exclusive logical sum operation on the cryptographic operation result E N and the last plaintext block P N of the encryption apparatus 101 / N, and generates and stores the last cipher text block C N that is the exclusive logical sum operation result. do. Here, when the last plaintext block P N is smaller than the size of the cryptographic block, the exclusive logical sum operation is performed after truncating the last cryptographic operation E N equal to the size of the last plaintext block P N. In operation S209, the first ciphertext block C N having the same size as the last plaintext block P N is obtained. This ends the cryptographic operation.

도 4는 본 발명의 실시예에 따른 병렬처리방식의 데이터 암호화 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a data encryption method of a parallel processing method according to an embodiment of the present invention.

먼저, 암호화를 위한 초기값(IV)과 암호키를 설정한다(S301).First, an initial value IV and an encryption key for encryption are set (S301).

평문을 암호연산크기로 N개의 블록으로 나누며(S302), 나누어진 N개의 평문 블록에 1부터 N까지의 블록번호변수(i)를 순차적으로 할당한 후에 N개의 평문 블록을 모두 동시에 선택한다(S303).The plain text is divided into N blocks by cipher operation size (S302), and the N number of plain text blocks are simultaneously selected after allocating sequentially the block number variable (i) from 1 to N to the divided N plaintext blocks (S303). ).

첫 번째 평문 블록(P1)의 암호화 과정을 살펴보면, 암호화 장치(101/1)에 초기값(IV)과 암호키를 입력(S304)하여 그 암호연산결과(E1)를 첫 번째 평문 블록(P1)과 배타적논리합(XOR) 연산을 수행하고, 배타적논리합 연산결과인 첫 번째 암호문 블록(C1)을 생성 및 저장한다(S305).Looking at the encryption process of the first plain text block (P 1 ), the initial value (IV) and the encryption key is input (S304) to the encryption apparatus 101/1, and the encryption operation result E 1 is converted into the first plain text block ( P 1 ) performs an exclusive logical sum (XOR) operation, and generates and stores the first ciphertext block C 1 that is the result of the exclusive logical sum operation (S305).

만약 평문 블록의 수가 1개인 경우, 즉 "N=1"인 경우에는 더 이상의 암호화 과정이 필요 없으므로 그대로 암호연산을 종료한다.If the number of plaintext blocks is one, that is, "N = 1", no further encryption process is required, and thus the encryption operation is terminated.

평문 블록의 블록번호변수(i)가 첫 번째 블록 및 마지막 번째 블록이 아닌 경우, 즉 두 번째 내지 N-1 번째의 평문 블록의 암호화 과정을 살펴보면, 초기값(IV)과 i-1 번째 평문 블록을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(101/i)에 입력한다(S306).If the block number variable (i) of the plaintext block is not the first block and the last block, that is, the encryption process of the second to N-1th plaintext blocks, the initial value (IV) and the i-1th plaintext block Performs an exclusive logical sum operation and inputs the exclusive logical sum operation result to the encryption apparatus 101 / i (S306).

암호화 장치(101/i)의 암호연산결과(Ei)와 i번째 평문 블록(Pi)을 배타적논리합 연산을 수행하고, 그 배차적논리합 연산결과인 i번째 암호문 블록(Ci)을 생성 및 저장한다(S307).Performs an exclusive logical sum operation on the cipher operation result E i and the i th plaintext block P i of the encryption apparatus 101 / i, and generates an i th ciphertext block C i which is the result of the quadratic logical sum operation. Save (S307).

평문 블록의 블록번호변수(i)가 마지막 번째 블록이 아닌 경우, 즉 N 번째의 평문 블록의 암호화 과정을 살펴보면, 초기값(IV)을 N-1번째 평문 블록과 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(101/N)에 입력한다(S308).If the block number variable (i) of the plaintext block is not the last block, that is, the encryption process of the Nth plaintext block, the initial value (IV) is subjected to an exclusive logical sum operation with the N-1th plaintext block. The exclusive logical sum operation result is input to the encryption apparatus 101 / N (S308).

암호화 장치(101/N)의 암호연산결과(EN)와 마지막 번째 평문 블록(PN)을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과인 마지막 번째 암호문 블록(CN)을 생성 및 저장한다. 여기서, 마지막 번째 평문 블록(PN)이 암호연산블록의 크기보다 작은 경우는 마지막 번째 암호연산결과(EN)를 마지막 번째 평문 블록(PN)의 크기와 동일하게 절사한 후에 배타적논리합 연산을 수행하여 마지막 번째 평문 블록(PN)크기와 동일한 크기의 마지막 번째 암호문 블록(CN)을 얻는다(S309). 이로써 암호연산을 종료한다.Performs an exclusive logical sum operation on the cryptographic operation result E N and the last plaintext block P N of the encryption apparatus 101 / N, and generates and stores the last cipher text block C N that is the exclusive logical sum operation result. do. Here, when the last plaintext block P N is smaller than the size of the cryptographic block, the exclusive logical sum operation is performed after truncating the last cryptographic operation E N equal to the size of the last plaintext block P N. In operation S309, a final ciphertext block C N having the same size as the last plaintext block P N is obtained. This ends the cryptographic operation.

도 5는 본 발명의 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a data decoding method according to an embodiment of the present invention.

먼저, 복호화를 위한 초기값(IV)과 암호키를 설정한다(S401).First, an initial value IV and an encryption key for decryption are set (S401).

암호문을 암호연산크기로 N개의 블록으로 나누며(S402), 나누어진 N개의 암호문 블록에 1부터 N까지의 블록번호변수(i)를 순차적으로 할당한 후에 N개의 암호문 블록을 블록번호변수(i)에 의거하여 순차적으로 선택한다(S403).The ciphertext is divided into N blocks according to the cipher operation size (S402), and the N number ciphertext blocks are sequentially assigned to the N number ciphertext blocks from 1 to N, and then the N ciphertext blocks are assigned to the block number variable (i). Selection is sequentially based on (S403).

선택한 암호문 블록의 블록번호변수(i)를 확인(S404)하여 암호문 블록이 첫 번째 암호문 블록(C1)인 경우에는 초기값(IV)과 암호키를 암호화 장치(102/1)에 입력한다(S405).The block number variable (i) of the selected ciphertext block is checked (S404), and if the ciphertext block is the first ciphertext block (C 1 ), an initial value (IV) and an encryption key are input to the encryption apparatus 102/1 ( S405).

단계 S405의 암호연산결과(E1)를 첫 번째 암호문 블록(C1)과 배타적논리합(XOR) 연산을 수행하고, 배타적논리합 연산결과인 첫 번째 평문 블록(P1)을 생성 및 저장한다. 그리고 다음 번째의 암호문 블록이 선택되도록 하기 위해 단계 S403에서 선택할 블록번호변수(i)를 "1" 증가시킨다(S406).An exclusive logical sum (XOR) operation is performed on the cryptographic operation result E 1 of step S405 with the first cryptographic block C 1 , and the first plaintext block P 1 , which is the exclusive logical sum operation result, is generated and stored. In order to select the next ciphertext block, the block number variable i to be selected in step S403 is increased by "1" (S406).

반복 수행하는 단계 S403에서는 단계 S406에 의해 증가한 블록번호변수(i)에 의해 다음 번째의 암호문 블록이 선택된다. 만약 암호문 블록의 수가 1개인 경우, 즉 "N=1"인 경우에는 다음 번째의 암호문 블록을 선택할 수 없으므로 그대로 복호연산을 종료한다.In step S403, the next ciphertext block is selected by the block number variable i increased in step S406. If the number of ciphertext blocks is one, that is, "N = 1", the next ciphertext block cannot be selected and the decoding operation is terminated as it is.

단계 S404에서 암호문 블록의 블록번호변수(i)가 첫 번째 블록 및 마지막 번째 블록이 아닌 것으로 확인, 즉 두 번째 내지 N-1 번째의 암호문 블록으로 확인되면 초기값(IV)과 i-1 번째 평문 블록을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(102/i)에 입력한다(S407). (여기서, 도 2에는 도면부호 102/i를 명시하지 않았으나 설명의 편의를 위해 i번째 암호화 장치에 대해 도면부호 102/i를 부여하였고, 이하의 설명에서도 동일하게 부여하기로 한다.)In step S404, if the block number variable (i) of the ciphertext block is confirmed to be not the first block and the last block, that is, the second to N-1th ciphertext blocks, the initial value (IV) and the i-1 th plaintext The exclusive logical sum operation is performed on the block, and the exclusive logical sum operation result is input to the encryption apparatus 102 / i (S407). (In FIG. 2, reference numeral 102 / i is not specified, but for convenience of description, reference numeral 102 / i is given to the i-th encryption device, and the same description will be made in the following description.)

암호화 장치(102/i)의 암호연산결과(Ei)와 i번째 암호문 블록(Ci)을 배타적논리합 연산을 수행하고, 그 배차적논리합 연산결과인 i번째 평문 블록(Pi)을 생성 및 저장한다. 그리고 다음 번째의 암호문 블록이 선택되도록 하기 위해 단계 S403에서 선택할 블록번호변수(i)를 "1" 증가시킨다(S406).Performs an exclusive logical sum operation on the cipher operation E i and the i th ciphertext block C i of the encryption apparatus 102 / i, and generates the i th plaintext block P i that is the result of the double logical sum operation; Save it. In order to select the next ciphertext block, the block number variable i to be selected in step S403 is increased by "1" (S406).

단계 S403에서는 단계 S406에 의해 증가한 블록번호변수(i)에 의해 다음 번째의 암호문 블록이 선택되며, 단계 S404에서 암호문 블록의 블록번호변수(i)가 마지막 번째 블록으로 확인되면 초기값(IV)을 N-1번째 평문 블록과 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과를 암호화 장치(102/N)에 입력한다(S408).In step S403, the next ciphertext block is selected by the block number variable i increased in step S406. When the block number variable i of the ciphertext block is confirmed as the last block in step S404, the initial value IV is obtained. An exclusive logical sum operation is performed with the N−1 th plaintext block, and the exclusive logical sum operation result is input to the encryption apparatus 102 / N (S408).

암호화 장치(102/N)의 암호연산결과(EN)와 마지막 번째 암호문 블록(CN)을 배타적논리합 연산을 수행하고, 그 배타적논리합 연산결과인 마지막 번째 평문 블록(PN)을 생성 및 저장한다. 여기서, 마지막 번째 암호문 블록(CN)이 암호연산블록의 크기보다 작은 경우는 마지막 번째 암호연산결과(EN)를 마지막 번째 암호문 블록(CN)의 크기와 동일하게 절사한 후에 배타적논리합 연산을 수행하여 마지막 번째 암호문 블록(CN)크기와 동일한 크기의 마지막 번째 평문 블록(PN)을 얻는다(S409). 이로써 복호연산을 종료한다.Performs an exclusive logical OR operation on the cryptographic operation result E N and the last ciphertext block C N of the encryption apparatus 102 / N, and generates and stores the last plaintext block P N that is the exclusive logical sum operation result. do. Here, if the last ciphertext block (C N ) is smaller than the size of the ciphering block, the exclusive cipher operation is performed after trimming the last ciphering operation (E N ) to the same size as the last ciphertext block (C N ). In operation S409, the first plaintext block P N having the same size as the last cipher text block C N is obtained. This ends the decoding operation.

본 발명에 의한 데이터의 암호화 방법 및 복호화 방법은 컴퓨터 프로그램으로 작성 가능하다. 이 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴 퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 데이터의 암호화 방법 및 복호화 방법을 구현한다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.The data encryption method and decryption method according to the present invention can be created by a computer program. The code and code segments that make up this computer program can be easily deduced by a computer programmer in the field. In addition, the computer program is stored in a computer readable media, and read and executed by a computer to implement a method of encrypting and decrypting data. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.

지금까지 본 발명에 대하여 그 일부 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been described with reference to some embodiments thereof. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 본 발명의 실시예에 따른 데이터의 암호화 방법을 수행할 수 있는 암호화 시스템의 구성도,1 is a block diagram of an encryption system capable of performing an encryption method for data according to an embodiment of the present invention;

도 2는 본 발명의 실시예에 따른 데이터의 복호화 방법을 수행할 수 있는 복호화 시스템의 구성도,2 is a block diagram of a decoding system capable of performing a data decoding method according to an embodiment of the present invention;

도 3은 본 발명의 실시예에 따른 직렬처리방식의 데이터 암호화 방법을 설명하기 위한 흐름도,3 is a flowchart illustrating a data encryption method of a serial processing method according to an embodiment of the present invention;

도 4는 본 발명의 실시예에 따른 병렬처리방식의 데이터 암호화 방법을 설명하기 위한 흐름도,4 is a flowchart illustrating a data encryption method of a parallel processing method according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도.5 is a flowchart illustrating a data decoding method according to an embodiment of the present invention.

Claims (10)

제1 암호화 장치 내지 제N(단, N은 자연수) 암호화 장치를 포함하는 암호화 시스템에 의한 데이터 암호화 방법으로서,A data encryption method by an encryption system comprising first to Nth encryption devices, where N is a natural number encryption device, 암호화를 위한 초기값과 암호키를 설정하는 단계와,Setting an initial value and an encryption key for encryption, 평문을 암호연산크기로 나누어 제1 평문 블록 내지 제N 평문 블록을 생성하는 단계와,Dividing the plain text into a cryptographic operation size to generate a first plain text block to an Nth plain text block; 상기 초기값과 상기 암호키를 입력으로 하는 상기 제1 암호화 장치의 블록 암호연산결과를 상기 제1 평문 블록과 논리 연산하여 제1 암호문 블록을 생성하는 단계와,Generating a first ciphertext block by performing a logical operation on the block cipher operation result of the first encryption apparatus using the initial value and the cipher key as the first plaintext block; 제2 평문 블록 내지 상기 제N 평문 블록 중에서 선택한 평문 블록을 제I 평문 블록이라 하고 제2 암호화 장치 내지 상기 제N 암호화 장치 중에서 선택한 암호화 장치를 제I 암호화 장치라 할 때에, 제I-1 평문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 상기 제I 암호화 장치의 블록 암호연산결과와 상기 제I 평문 블록을 논리 연산하여 제I 암호문 블록을 생성하는 과정을 반복하여 제2 암호문 블록 내지 제N 암호문 블록을 생성하는 단계When the plaintext block selected from the second plaintext block to the Nth plaintext block is referred to as the first plaintext block, and the encryption device selected from the second to Nth encryption devices is referred to as the first encryption device, the I-1 plaintext block And a process of generating the first ciphertext block by performing a logical operation on the first ciphertext block and the block cipher operation result of the first cryptographic apparatus as the input result of the logical operation on the initial value. Generating N Ciphertext Blocks 를 포함하는 데이터의 암호화 방법.Encryption method of the data comprising a. 제 1 항에 있어서,The method of claim 1, 상기 암호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 순차적으로 선택하여 상기 제1암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정을 순차적으로 직렬처리하는The encryption method may sequentially process serially selecting the first plaintext block to the Nth plaintext block to generate the first encrypted text block to the Nth encrypted text block. 데이터의 암호화 방법.How data is encrypted. 제 1 항에 있어서,The method of claim 1, 상기 암호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 동시에 선택하여 상기 제1암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정을 동시에 병렬처리하는The encryption method may simultaneously process parallel processing of generating the first ciphertext block to the N th ciphertext block by simultaneously selecting the first plaintext block and the Nth plaintext block. 데이터의 암호화 방법.How data is encrypted. 제 1 항에 있어서,The method of claim 1, 상기 암호화 방법은, 상기 제N 평문 블록이 상기 암호연산크기보다 작은 경우에 제N-1 평문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 제N-1 암호화 장치의 블록 암호연산결과를 상기 제N 평문 블록의 크기와 동일하게 절사한 후에 상기 제N 평문 블록과 논리 연산하여 상기 제N 암호문 블록을 생성하는The encryption method may be further configured to generate a block cipher operation result of an N-1 encryption apparatus that inputs a result of performing a logical operation on an N-1 plaintext block and the initial value when the Nth plaintext block is smaller than the cipher operation size. Generating the Nth ciphertext block by performing a logical operation with the Nth plaintext block after truncating to the same size as the Nth plaintext block 데이터의 암호화 방법.How data is encrypted. 제 1 항 또는 제 4 항에 있어서,The method according to claim 1 or 4, 상기 암호화 방법은, 상기 제1 암호문 블록 내지 상기 제N 암호문 블록을 생성하는 과정에서 수행하는 복수의 상기 논리 연산을 동일한 논리 연산으로 수행하는The encryption method may include performing the plurality of logical operations performed in the process of generating the first ciphertext block or the N-th ciphertext block with the same logical operation. 데이터의 암호화 방법.How data is encrypted. 제 5 항에 있어서,The method of claim 5, 상기 동일한 논리 연산은, 배타적논리합 연산으로 수행하는The same logical operation is performed by an exclusive logical sum operation. 데이터의 암호화 방법.How data is encrypted. 제1 암호화 장치 내지 제N(단, N은 자연수) 암호화 장치를 포함하는 복호화 시스템에 의한 데이터 복호화 방법으로서,A data decryption method using a decryption system including first to Nth encryption devices, where N is a natural number encryption device, 복호화를 위한 초기값과 암호키를 설정하는 단계와,Setting an initial value and an encryption key for decryption; 암호문을 암호연산크기로 나누어 제1 암호문 블록 내지 제N 암호문 블록을 생성하는 단계와,Generating a first ciphertext block to an Nth ciphertext block by dividing the ciphertext into a cipher operation size; 상기 초기값과 상기 암호키를 입력으로 하는 상기 제1 암호화 장치의 블록 암호연산결과를 상기 제1 암호문 블록과 논리 연산하여 제1 평문 블록을 생성하는 단계와,Generating a first plaintext block by performing a logical operation on the block ciphering operation result of the first encryption apparatus using the initial value and the encryption key as the first ciphertext block; 제2 암호문 블록 내지 상기 제N 암호문 블록 중에서 선택한 암호문 블록을 제I 암호문 블록이라 하고 제2 암호화 장치 내지 상기 제N 암호화 장치 중에서 선택한 암호화 장치를 제I 암호화 장치라 할 때에, 제I-1 암호문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 상기 제I 암호화 장치의 블록 암호연산결과와 상기 제I 암호문 블록을 논리 연산하여 제I 평문 블록을 생성하는 과정을 반복하여 제2 평문 블록 내지 제N 평문 블록을 생성하는 단계When the ciphertext block selected from the second ciphertext block or the N-th ciphertext block is referred to as the first ciphertext block and the ciphertext selected from the second to Nth cryptographic devices is referred to as the first ciphertext, the I-1 ciphertext block And generating a first plaintext block by performing a logical operation on the block cipher operation result of the first cryptographic apparatus and the first ciphertext block as the input result of the logical operation on the initial value. Generating N Plaintext Blocks 를 포함하는 데이터의 복호화 방법.Decryption method of the data comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 복호화 방법은, 상기 제N 암호문 블록이 상기 암호연산크기보다 작은 경우에 제N-1 암호문 블록과 상기 초기값을 논리 연산한 결과를 입력으로 하는 제N-1 암호화 장치의 블록 암호연산결과를 상기 제N 암호문 블록의 크기와 동일하게 절사한 후에 상기 제N 암호문 블록과 논리 연산하여 상기 제N 평문 블록을 생성하는The decryption method may be further configured to generate a block cipher operation result of an N-1 encryption apparatus that inputs a result of performing a logical operation on an N-1 ciphertext block and the initial value when the N th ciphertext block is smaller than the cipher operation size. After truncating to the same size as the N-th ciphertext block, logical operation with the N-th ciphertext block generates the Nth plaintext block 데이터의 복호화 방법.Method of decrypting data. 제 7 항 또는 제 8 항에 있어서,9. The method according to claim 7 or 8, 상기 복호화 방법은, 상기 제1 평문 블록 내지 상기 제N 평문 블록을 생성하는 과정에서 수행하는 복수의 상기 논리 연산을 동일한 논리 연산으로 수행하는The decoding method may further include performing the plurality of logical operations performed in the process of generating the first to Nth plaintext blocks using the same logical operation. 데이터의 복호화 방법.Method of decrypting data. 제 9 항에 있어서,The method of claim 9, 상기 동일한 논리 연산은, 배타적논리합 연산으로 수행하는The same logical operation is performed by an exclusive logical sum operation. 데이터의 복호화 방법.Method of decrypting data.
KR1020090024143A 2008-11-14 2009-03-20 Encryption method for data and decryption method therefor KR101076681B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080113053 2008-11-14
KR1020080113053 2008-11-14

Publications (2)

Publication Number Publication Date
KR20100054697A KR20100054697A (en) 2010-05-25
KR101076681B1 true KR101076681B1 (en) 2011-10-26

Family

ID=42279386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090024143A KR101076681B1 (en) 2008-11-14 2009-03-20 Encryption method for data and decryption method therefor

Country Status (1)

Country Link
KR (1) KR101076681B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005415B (en) * 2014-12-03 2021-03-23 耐瑞唯信有限公司 Block encryption method and apparatus for encrypting/decrypting message
WO2021080050A1 (en) * 2019-10-25 2021-04-29 단암시스템즈 주식회사 Electronic security system in unmanned aerial vehicle, for high-speed encryption/decryption processing
CN115834926B (en) * 2022-11-21 2023-11-21 深圳市超时代软件有限公司 Video encryption method based on H.265 entropy coding binarization

Also Published As

Publication number Publication date
KR20100054697A (en) 2010-05-25

Similar Documents

Publication Publication Date Title
Barker et al. Recommendation for the triple data encryption algorithm (TDEA) block cipher
US9189425B2 (en) Protecting look up tables by mixing code and operations
US8275127B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program therefor
US9515818B2 (en) Multi-block cryptographic operation
US8504845B2 (en) Protecting states of a cryptographic process using group automorphisms
US8966285B2 (en) Securing implementation of a cryptographic process having fixed or dynamic keys
US8374351B2 (en) Encryption device, program, and method
CN107438065B (en) Data encryption device and method, data decryption device and method
US20060023875A1 (en) Enhanced stream cipher combining function
JP2014139687A (en) Encryption device for pseudo-random generation, encryption of data, and cryptographically hashing of messages
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
US9716586B2 (en) Precomputing internal AES states in counter mode to protect keys used in AES computations
Karpman et al. Practical free-start collision attacks on 76-step SHA-1
US7925009B2 (en) Hybrid data encryption
JPWO2009087972A1 (en) Data transmitting apparatus, data receiving apparatus, methods thereof, computer program, and data communication system thereof
US20130067212A1 (en) Securing implementation of cryptographic algorithms using additional rounds
KR101727312B1 (en) Order preserving encryption and decryption appartus and method
US8699702B2 (en) Securing cryptographic process keys using internal structures
KR101076681B1 (en) Encryption method for data and decryption method therefor
JP5689826B2 (en) Secret calculation system, encryption apparatus, secret calculation apparatus and method, program
JP4399602B2 (en) Random number generation, encryption and decryption apparatus, method, program, and recording medium
US8687803B2 (en) Operational mode for block ciphers
Gligoroski et al. On the importance of the key separation principle for different modes of operation
Saudagar et al. Image Encryption based on Advanced Encryption Standard (AES)
Islam et al. Data encryption standard

Legal Events

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

Payment date: 20140926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150721

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171019

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191021

Year of fee payment: 9