KR20070060455A - Internal block chaining-a block cipher pseudo mode of operation - Google Patents

Internal block chaining-a block cipher pseudo mode of operation Download PDF

Info

Publication number
KR20070060455A
KR20070060455A KR1020050119878A KR20050119878A KR20070060455A KR 20070060455 A KR20070060455 A KR 20070060455A KR 1020050119878 A KR1020050119878 A KR 1020050119878A KR 20050119878 A KR20050119878 A KR 20050119878A KR 20070060455 A KR20070060455 A KR 20070060455A
Authority
KR
South Korea
Prior art keywords
block
round
cipher
center
block cipher
Prior art date
Application number
KR1020050119878A
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 KR1020050119878A priority Critical patent/KR20070060455A/en
Publication of KR20070060455A publication Critical patent/KR20070060455A/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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

An internal block changing and a block cipher pseudo mode operating method is provided to increase a speed of a process by using the pipelining process when hardware of SNP(Substitution Permutation Network) structure block chipper is implemented. An internal block changing and a block cipher pseudo mode operating method includes the steps of: acquiring a cipher calculation result of each block; having an influence on the next block encryption calculation; and encrypting a total input plaintext. If the block cipher has an even number of rounds, the block cipher is converted into a block cipher having an odd number of rounds by adding a round on a center. A round key of the round which is added on the center is generated by adding a previous round key to the next round key. A post calculation is performed by summing an output of a center round with a center round input of the next block encryption calculation.

Description

내부 블록 연쇄연결 및 블록암호 유사 운영 방법{Internal Block Chaining-A Block Cipher Pseudo Mode of Operation}Internal Block Chaining-A Block Cipher Pseudo Mode of Operation

도 1은 본 발명이 제시하는 유사 운영 모드의 암호화 방식으로 중심 라운드 함수의 출력이 다음 블록의 중심 라운드 함수 입력으로 XOR되는 모습을 나타내는 도이다.1 is a diagram illustrating a state in which an output of a center round function is XORed to a center round function input of a next block in a similar operation mode encryption scheme proposed by the present invention.

본 발명은 블록암호의 운영모드에 관한 것이다.The present invention relates to an operation mode of a block cipher.

블록암호는 그 특성상 해당 블록암호의 설계에 따른 일정한 크기, 즉, 블록 단위로만 암호화를 수행할 수 있다. 현재 사용되는 대부분의 블록암호는 128비트 또는 64비트 블록을 사용한다. 이보다 긴 길이의 평문을 암호화 하기 위해서는 블록암호를 여러 번에 나누어 적용하여야 한다. 이렇게 여러 번 블록암호를 사용하는 방식을 정형화한 것을 블록암호의 운영모드라 말한다.Block ciphers can be encrypted only by a certain size, that is, in units of blocks, according to the design of the corresponding cipher cipher. Most block ciphers in use today use 128-bit or 64-bit blocks. In order to encrypt a plain text of longer length, the block cipher must be divided and applied several times. The standard way of using the block cipher several times is called the operation mode of the block cipher.

단순하게 입력 평문은 블록 단위로 잘라내어 각 부분을 순차적으로 암호화 하는 방식을 ECB 운영모드라 한다. 이는 동일한 평문은 동일한 암호문으로 나타난다는 특성을 가지고 있어 난수성이 부족한 대부분의 현실 데이터에는 적용이 곤란하다.The input plaintext is simply cut into blocks and the parts are sequentially encrypted. This is called ECB operation mode. This is because the same plain text is represented by the same cipher text, which is difficult to apply to most real data that lacks randomness.

그 이외에 잘 알려진 표준적인 운영모드로는 CBC, CFB, OFB, CTR을 들 수 있다. 이 중 OFB와 CTR 모드는 스트림 암호 형태의 운영모드이다. 블록암호를 활용하여 난수열을 발생하고 암호화 자체는 난수열과 평문의 단순한 XOR로 하는 방식이다. 이는 스트림 암호의 약점인 비트 단위 변조가 가능하다는 단점을 그대로 지니고 있다. 따라서 메시지 인증 기능을 추가적으로 제공하지 않는 경우 비트 단위 변조에 취약한 방식이다.Other well-known standard modes of operation include CBC, CFB, OFB, and CTR. OFB and CTR modes are stream cipher mode of operation. It generates random sequences using block ciphers, and encryption itself is a simple XOR of random sequences and plain text. This has the disadvantage of being able to perform bitwise modulation, which is a weak point of stream ciphers. Therefore, it is vulnerable to bit-by-bit modulation if no additional message authentication is provided.

나머지 CBC 및 CFB 방식은 비트 단위 변조에는 어느 정도 내성을 지니고 있다. 공격자가 임의의 비트를 하나 변조한 경우 의도하는 평문의 비트를 변조할 수는 있으나 나머지 블록의 비트들이 공격자가 제어할 수 없는 방식으로 동시에 바뀌게 된다. 따라서 이러한 변조는 발각될 가능성이 높다. 이러한 장점으로 인하여 현재 가장 많이 사용되는 운영모드는 CBC로 볼 수 있다.The remaining CBC and CFB schemes are somewhat resistant to bitwise modulation. If an attacker modulates an arbitrary bit, he or she can modulate the intended plaintext bit, but the bits of the remaining blocks will be changed simultaneously in a way that the attacker cannot control. Therefore, such modulation is likely to be detected. Because of these advantages, the most commonly used mode of operation is the CBC.

그러나 CBC 및 CFB 운영모드는 하드웨어 구현에서 단점을 가진다. 이들은 블록암호의 암호화 결과를 다음 평문 입력 블록과 결합하여 블록암호의 입력으로 사용하는 chaining 방식이다. 따라서 첫 블록의 암호화가 끝나기 전에는 두 번째 블록의 암호화를 시작할 수 없다. 결국 하드웨어 고속 구현 기법인 pipelining의 사용이 불가능하게 된다.However, CBC and CFB operating modes have disadvantages in hardware implementation. These are chaining methods that combine the encryption result of the block cipher with the next plaintext input block and use it as the input of the block cipher. Therefore, the encryption of the second block cannot be started until the encryption of the first block is finished. As a result, the use of pipelining, a hardware fast implementation technique, becomes impossible.

지금까지 소개한 5종의 운영모드가 가장 표준적인 방식이라 할 수 있다. 이 밖의 여러 운영모드 중 본 발명과 동일한 목적을 달성하는 것으로는 P. Rogaway가 개발하고 특허 출원(미국, 09/918615)한 OCB가 있다. 이는 본 발명이 관심을 가지는 목적보다는 기밀성과 인증 기능을 동시에 제공하는 운영모드로서 더 큰 의미를 가지고 있다. 그러나 그 동작 방식이 CTR 운영모드와 관련이 깊어 pipelining 기법이 적용 가능하다. OCB의 한가지 문제점은 유한체 연산을 사용하는 등 복잡하여 그 동작 방식을 습득하기 쉽지 않다는 점이며 적게나마 추가적인 계산이 필요하다는 점이다.The five modes of operation introduced so far are the most standard. Among other modes of operation, one achieves the same purpose as the present invention is OCB, developed and patented by P. Rogaway (US, 09/918615). This has a greater meaning as an operation mode that simultaneously provides confidentiality and authentication functions than the object of interest to the present invention. However, since the operation method is deeply related to the CTR operation mode, the pipelining technique can be applied. One problem with OCB is that it is not easy to learn how it works because it is complex, such as using finite field operations, and it requires a little extra computation.

본 발명은 위에서 제시한 운영모드들의 문제점을 해결하고자 한다. 즉, 하드웨어 구현 시 pipelining 기법의 사용이 가능하면서 스트림 암호의 약점인 비트 단위 변조를 피할 수 있는 단순한 블록암호 유사 운영모드를 제시한다.The present invention seeks to solve the problems of the operating modes presented above. In other words, we propose a simple block cipher-like operation mode that can use the pipelining technique in hardware implementation and avoid the bitwise modulation, which is a weak point of stream cipher.

블록암호는 대부분의 경우 동일한 작업이 여러 번 반복되는 구조로 이루어져 있다. 이 동일한 작업을 하나의 라운드라 표현한다. 예를 들어 128비트 키를 사용하는 AES는 10라운드로 구성되며 국내에서 개발된 ARIA는 128비트 키의 경우 12라운드로 구성된다.Block ciphers in most cases consist of a structure where the same operation is repeated several times. This same task is referred to as a round. For example, AES using 128-bit keys consists of 10 rounds and ARIA developed in Korea consists of 12 rounds for 128-bit keys.

전체 암호화가 라운드의 반복 적용임을 고려하면 하드웨어 구현 시 한 라운드 만을 구성해 놓고 이를 입력에 반복적으로 적용하여 출력을 계산할 수 있다. 이는 열악한 환경에서 블록암호를 자원을 적게 사용하며 구현하는 방법이다.Considering that the entire encryption is a repetition of rounds, the hardware implementation can configure only one round and iterate over the inputs to calculate the output. This is a way to implement block ciphers using less resources in harsh environments.

고속 동작이 필요한 경우에는 모든 라운드를 구현하게 된다. 이러한 구현에 서는 암호화 해야 할 데이터가 여러 블록인 경우 첫 번째 평문 블록이 첫 번째 라운드의 처리과정을 거치고 나옴과 동시에 다음 평문 블록을 첫번째 라운드에 입력하게 된다. 그러면 첫 번째 블록이 두 번째 라운드를 통과함과 동시에 두 번째 블록이 첫 번째 라운드를 통과하게 된다. 이와 같이 동시에 여러 블록을 처리할 수 있도록 구현하는 것을 pipelining이라 한다. 이는 하드웨어 구현의 표준적인 기법으로 n개 라운드로 이루어진 블록암호의 속도를 대략적으로 n배 빠르게 만드는 효과를 가져온다.When high speed operation is required, all rounds are implemented. In this implementation, if the data to be encrypted is multiple blocks, the first plaintext block goes through the first round of processing and the next plaintext block is entered in the first round. Then, as the first block passes the second round, the second block passes the first round. This is called pipelining to implement multiple blocks at the same time. This is the standard technique of hardware implementation, which makes the block cipher of n rounds approximately n times faster.

그러나 현재 많은 운영모드는 두 번째 입력 평문 블록이 첫 번째 암호문 블록이 완성된 이후에야 준비가 되므로 앞서 설명한 pipelining 기법의 적용을 불가능하게 한다. 본 발명은 이러한 문제가 없는 운영모드를 제시하고자 한다.However, many modes of operation currently disable the pipelining technique described above because the second input plaintext block is only ready after the first ciphertext block is completed. The present invention seeks to present an operating mode that does not have this problem.

다만, 이러한 문제를 해결하면서 고려해야 할 다른 측면도 있다. 기존의 CTR 모드는 pipelining 구현이 가능하지만, 스트림 암호의 특징과 관련된 안전성 측면의 특이점이 사용 제약조건으로 작용할 수 있다. OCB 모드는 두 문제를 모두 해결하지만 그 구성이 복잡하다. 이러한 여러 측면을 모두 고려한 새로운 블록암호 운영 방법을 제시하는 것이 본 발명의 목적이다.However, there are other aspects to consider while addressing these issues. Existing CTR mode can implement pipelining, but security specificities related to the characteristics of stream ciphers can act as usage constraints. OCB mode solves both problems, but its configuration is complex. It is an object of the present invention to propose a new block cipher operating method considering all these aspects.

본 발명은SPN 구조의 블록암호에만 적용하기로 한다. SPN 구조의 블록암호는 잘 정의된 라운드 함수 구조를 가진다. 간혹 몇몇 라운드 사이에 나머지 부분과는 모양이 상이한 구조가 들어가 있는 블록암호도 있으나, 이러한 경우도 각 라운 드의 경계를 적절히 설정하는 데에는 무리가 없다.The present invention will be applied only to the block cipher of the SPN structure. The block cipher of the SPN structure has a well-defined round function structure. Sometimes there are block ciphers that have a different shape from the rest between several rounds, but in this case, it is not difficult to properly set the boundaries of each round.

주어진 블록암호의 라운드 수가 짝수인 경우 우선 홀수 개수의 라운드를 가지도록 1개 라운드를 추가한다. 이러한 변형은 라운드 키의 사용과 밀접한 관계가 있는데, 새로운 라운드는 전체 구조의 중심에 삽입하는 것으로 한다. 즉 2k개의 라운드로 이루어진 블록암호의 경우, 앞의 k개 라운드를 그대로 사용하고, 후반 k개의 라운드는 1라운드씩 뒤로 밀어서 기존 i번째(k+1≤i≤2k) 라운드 키가 i+1번째 라운드 키로 사용되도록 한다. 새로운 중심 라운드인 k번째 라운드의 라운드 키는 기존 k번째와 k+1번째 라운드 키의 XOR로 구성하여 사용한다.If the number of rounds in a given block cipher is even, first add one round to have an odd number of rounds. This variation is closely related to the use of the round key, with the new round being inserted at the center of the overall structure. That is, in the case of a block password consisting of 2k rounds, the previous k rounds are used as they are, and the latter k rounds are pushed backward by one round so that the existing i-th (k + 1≤i≤2k) round key is i + 1th To be used as a round key. The round key of the k-th round, which is the new center round, is composed of the XORs of the existing k-th and k + 1th round keys.

위의 과정을 통하여 본 발명을 적용할 대상 블록암호는 홀수개의 라운드로 이루어졌다고 가정해도 된다. 설명의 편의를 위하여 라운드의 개수를 2k-1이라 놓는다.Through the above process, it may be assumed that the target block cipher to which the present invention is applied consists of an odd number of rounds. For convenience of explanation, the number of rounds is set to 2k-1.

메시지의 길이가 블록 길이의 정수 배수가 아닌 경우 padding 방식을 사용하는데, 이는 chaining과 독립적으로 선택하여도 되므로 기존의 표준 방식에서 제시하는 방법 중 적절한 것(예를 들어 NIST의 CBC 운영 모드 padding 방식)을 사용하면 된다.If the length of the message is not an integer multiple of the block length, a padding method is used, which can be selected independently of chaining, so it is appropriate among the existing standard methods (for example, NIST's CBC operation mode padding method). You can use

메시지는 모두 n개 블록 M1부터 Mn까지로 주어진 것으로 하고, 초기벡터는 IV로 표기한다. 1번째부터 k-1번째까지 라운드 함수의 합성을 f라 표기하고, k번째 라운드 함수를 g, 마지막으로 k+1번째부터 2k-1번째까지 라운드 함수의 합성을 h라 표기한다. 전체 블록암호는 이들의 합성인 h·g·f가 된다.The messages are all given by n blocks M 1 to M n , and the initial vector is denoted by IV. The synthesis of round functions from the first to k-1th is denoted by f, the kth round function is denoted by g, and the synthesis of the round function from k + 1st to 2k-1th is denoted by h. The entire block cipher is h · g · f, which is their synthesis.

출력 암호문 C1부터 Cn까지는 순차적으로 다음과 같이 구성한다.The output ciphertext C 1 to C n are constructed as follows.

Figure 112005071849873-PAT00001
Figure 112005071849873-PAT00001

전송 받은 암호문 C1부터 Cn까지의 복호화는 순차적으로 다음과 같이 한다.Decryption from the received ciphertext C 1 to C n is sequentially as follows.

Figure 112005071849873-PAT00002
Figure 112005071849873-PAT00002

본 발명은 SPN 구조 블록암호의 하드웨어 구현 시 pipelining 기법의 사용을 가능하게 한다. 하나의 입력 블록을 암호화 또는 복호화 하기 위해서는 라운드 함수 1회 계산만큼의 시간이 소요된다. 이는 기존 대부분의 chaining 방식에 비하여 블록암호 라운드 수 배 만큼의 (많은 경우 10배 이상) 속도 증가 효과를 가진다.The present invention enables the use of a pipelining technique in the hardware implementation of the SPN structure block cipher. Encrypting or decrypting one input block takes as long as one round function calculation. This has the effect of increasing the speed of the block cipher rounds (in many cases more than 10 times) compared to most existing chaining methods.

Claims (6)

m비트 크기의 블록암호를 사용하여 임의의 길이의 입력 평문을 m 비트 단위로 나누어 암호화하는 방식으로, 각 입력 블록의 암호 계산 중간 결과가 다음 블록 암호화 계산에 영향을 미치도록 하면서 입력 평문 전체를 암호화하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록암호 유사 운영 방법Encrypts the entire input plaintext using m-bit block ciphers by dividing the input plaintext of any length into m-bits so that the intermediate result of each cipher's calculation affects the next block cipher's computation. Internal block chain connection and block cipher similar operating method characterized in that 제1항에 있어서 사용하는 블록암호가 짝수 개수의 라운드를 가지는 경우 중심에 라운드를 추가하여 홀수 개수의 라운드를 가지는 블록암호로 변형하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록암호 유사 운영 방법.The method of claim 1, wherein the block ciphers used in the present invention are modified to a block cipher having an odd number of rounds by adding rounds to the center. 제2항에 있어서 중심에 추가하는 라운드의 라운드 키를 바로 이전과 바로 다음 라운드의 라운드 키 결합으로 생성하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록암호 유사 운영 방법.The method of claim 2, wherein the round key of the round to be added to the center is generated as a round key combination of the immediately preceding and the next round. 제1항에 있어서 중심 라운드의 출력을 다음 블록 암호화 계산의 중심 라운드 입력과 결합하여 이후를 계산하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록 암호 유사 운영 방법.The method of claim 1, wherein the output of the center round is combined with the center round input of the next block encryption calculation to calculate the following. 제1항에 있어서 그 시작은 주어진 초기 벡터를 중심 라운드를 통과할 때까지 암호화를 진행하여 그 출력을 첫 번째 평문의 암호화 중 가운데 라운드의 입력과 결합하여 이후를 계산하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록암호 유사 운영 방법.2. The inner block chain according to claim 1, wherein the start is performed by encrypting a given initial vector until it passes through the center round, and combining the output with the input of the middle round of the encryption of the first plaintext to calculate the following. Connection and Block Password Similar Operation Method. 제1항에서 제시한 블록암호 운영모드의 자연스럽고 당연하게 대응되는 역변환인 복호화 하는 것을 특징으로 하는 내부 블록 연쇄연결 및 블록암호 유사 운영 방법.An internal block chain concatenation and block cipher similar operating method, characterized in that the decoding is a natural and naturally corresponding inverse transform of the block cipher operating mode presented in claim 1.
KR1020050119878A 2005-12-08 2005-12-08 Internal block chaining-a block cipher pseudo mode of operation KR20070060455A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050119878A KR20070060455A (en) 2005-12-08 2005-12-08 Internal block chaining-a block cipher pseudo mode of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050119878A KR20070060455A (en) 2005-12-08 2005-12-08 Internal block chaining-a block cipher pseudo mode of operation

Publications (1)

Publication Number Publication Date
KR20070060455A true KR20070060455A (en) 2007-06-13

Family

ID=38356474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050119878A KR20070060455A (en) 2005-12-08 2005-12-08 Internal block chaining-a block cipher pseudo mode of operation

Country Status (1)

Country Link
KR (1) KR20070060455A (en)

Similar Documents

Publication Publication Date Title
US10320554B1 (en) Differential power analysis resistant encryption and decryption functions
US8259934B2 (en) Methods and devices for a chained encryption mode
US7697681B2 (en) Parallelizable integrity-aware encryption technique
US8416947B2 (en) Block cipher using multiplication over a finite field of even characteristic
US20120008767A1 (en) System for encrypting and decrypting a plaintext message with authentication
US20090220083A1 (en) Stream cipher using multiplication over a finite field of even characteristic
CA2486713A1 (en) Advanced encryption standard (aes) hardware cryptographic engine
US10148425B2 (en) System and method for secure communications and data storage using multidimensional encryption
Huang et al. A novel structure with dynamic operation mode for symmetric-key block ciphers
Masoodi et al. Symmetric Algorithms I
Duta et al. Randomness evaluation framework of cryptographic algorithms
US20040120521A1 (en) Method and system for data encryption and decryption
Kareem et al. New modification on feistel DES algorithm based on multi-level keys
Pethe et al. A survey on different secret key cryptographic algorithms
Mohan et al. Revised aes and its modes of operation
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Tarawneh Cryptography: Recent Advances and Research Perspectives
NehaKhatri-Valmik et al. Blowfish algorithm
WO2022096141A1 (en) Method for processing encrypted data
Kothandan Modified Blowfish Algorithm to Enhance its Performance and Security
KR20070060455A (en) Internal block chaining-a block cipher pseudo mode of operation
Sonawane et al. Synthesis and simulation of FPGA based hardware design of RC4 stream cipher
Banoth et al. Security Standards for Classical and Modern Cryptography
Usman et al. A data specific comparative study for choosing best cryptographic technique
Kumar et al. Implementation of AES algorithm using Verilog

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination