KR100532484B1 - SEED block encryption algorithm using composite field and hardware structure therefore - Google Patents
SEED block encryption algorithm using composite field and hardware structure therefore Download PDFInfo
- Publication number
- KR100532484B1 KR100532484B1 KR1020030090568A KR20030090568A KR100532484B1 KR 100532484 B1 KR100532484 B1 KR 100532484B1 KR 1020030090568 A KR1020030090568 A KR 1020030090568A KR 20030090568 A KR20030090568 A KR 20030090568A KR 100532484 B1 KR100532484 B1 KR 100532484B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- output
- bits
- bit
- transformation matrix
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
콤포지트 필드(Composite field)를 이용한 씨이드(SEED) 블록 암호 알고리즘 및 그 하드웨어 구조가 개시된다. 본 발명의 블록 암호화 장치는 SEED의 S-박스의 상의 입력 비트들(X[7}0])을 동형 변환 매트릭스(δ)에 의해 로 변환시키는 선행 연산부와, 선행 연산부의 출력 비트들을 입력하여 역 출력 비트들(Y[7:0])로 출력하는 역원 연산부와, 그리고 상의 역 출력 비트들(Y[7:0])을 역 동형 변환 매트릭스에 의해 로 재변환시키는 후행 연산부를 포함한다. 따라서, 본 발명은 멱승 연산에 기반한 SEED의 S-박스들을 콤포지트 필드 연산으로 변환하여 구현함으로써 칩 면적을 줄이고 전력 소모를 줄일 수 있다.A SEED block cipher algorithm using a composite field and a hardware structure thereof are disclosed. The block encryption apparatus of the present invention is a The input bits X [7} 0] of the image by means of the homomorphic transformation matrix δ. A preceding operation unit for converting to a second output unit; The inverse output bits Y [7: 0] on the inverse It includes a post-computation unit for reconversion. Accordingly, the present invention can reduce the chip area and power consumption by converting the S-boxes of the SEED based on the power operation to a composite field operation.
SEED, S-박스, S1, S2, 동형 변환 매트릭스, 역 동형 변환 매트릭스SEED, S-Box, S1, S2, Homogeneous Transformation Matrix, Inverse Homo Transformation Matrix
Description
도 1은 본 발명의 일실시예에 따른 블록 암호 알고리즘에 따른 SEED S-박스를 설명하는 도면이다.1 is a view illustrating a SEED S-box according to a block cipher algorithm according to an embodiment of the present invention.
도 2는 본 발명에 따른 하나의 동형 변환 매트릭스를 구현하는 회로도이다.2 is a circuit diagram for implementing one homogeneous conversion matrix according to the present invention.
도 3은 도 1의 역원 연산부의 구체적인 회로도를 설명하는 도면이다.FIG. 3 is a diagram for explaining a specific circuit diagram of the inverse calculating unit of FIG. 1. FIG.
도 4는 도 3의 제곱 연산부의 구체적인 회로도를 설명하는 도면이다.4 is of FIG. 3 It is a figure explaining the specific circuit diagram of a square calculating part.
도 5는 도 3의 상수 곱셈부의 구체적인 회로도를 설명하는 도면이다.5 is a view of FIG. 3 It is a figure explaining the specific circuit diagram of a constant multiplication part.
도 6은 도 3의 곱셈 연산부의 구체적인 회로도를 설명하는 도면이다.6 is a view of FIG. 3 It is a figure explaining the specific circuit diagram of a multiplication operation part.
도 7은 도 6의 상수 곱셈부의 구체적인 회로도를 설명하는 도면이다.7 is a view of FIG. 6 It is a figure explaining the specific circuit diagram of a constant multiplication part.
도 8은 도 6의 곱셈부의 구체적인 회로도를 설명하는 도면이다.8 is a view of FIG. 6 It is a figure explaining the specific circuit diagram of a multiplication part.
도 9는 도 1의 후행 연산부의 에 대한 변환 매트릭스를 구현하는 회로도이다.9 is a trailing calculator of FIG. 1. A circuit diagram for implementing a transformation matrix for.
도 10은 도 1의 후행 연산부의 에 대한 후행 연산부(130)의 변환 매트릭스를 구현하는 회로도이다.10 is a trailing calculator of FIG. 1. A circuit diagram for implementing the transformation matrix of the trailing
본 발명은 암호화 알고리즘에 관한 것으로, 콤포지트 필드(Composite field)를 이용한 씨이드(SEED) 블록 암호 알고리즘 및 그 하드웨어 구조에 관한 것이다.The present invention relates to an encryption algorithm, and to a SEED block encryption algorithm using a composite field and a hardware structure thereof.
SEED는 국내 표준 블록 암호 알고리즘(TTA.KO-12.004)으로, 1999년 9월 한국 정보 통신 기술 협회에서 규정한 정보 처리 시스템 및 정보 통신망 환경에서 임의의 키(비밀키)를 사용하여 블록 단위로 데이터로 변환하는 암호 알고리즘이다. SEED는 현재 전자 상거래 및 금융 서비스에 널리 사용되고 있다.SEED is a domestic standard block cipher algorithm (TTA.KO-12.004). In the information processing system and information network environment defined by the Korea Information and Communication Technology Association in September 1999, data is used in block units using arbitrary keys (secret keys). Is a cryptographic algorithm to convert. SEED is now widely used in e-commerce and financial services.
SEED 블록 암호 알고리즘은 16 라운드의 Feistel 구조를 가지며 128 비트 메세지 블록과 128 비트키를 사용한다. Feistel 구조의 블록 암호 알고리즘은 F 함수 특성에 따라 구분된다. SEED는 F-함수 내에 비선형 변환 함수인 S-박스(box)를 2개 사용한다. 각 S-박스의 입/출력은 상의 원소이며 다음과 같이 정의된다.SEED block cipher algorithm has 16 rounds of Feistel structure and uses 128 bit message block and 128 bit key. The block cipher algorithm of the Feistel structure is classified according to the F function characteristics. SEED uses two non-linear transform functions, S-boxes, in the F-function. Input / output of each S-box Is an element of phase and is defined as
로 표시되고, Is indicated by
여기에서,From here,
로 나타낸다. Represented by
로 표시되고, Is indicated by
여기에서,From here,
로 나타낸다. Represented by
일반적으로, 상의 곱셈 연산이 복잡하기 때문에, 종래의 방식에서는 위의 값들을 사전에 계산해서 룩업 테이블(Lookup table) 방식으로 구현하거나 입력에 대한 곱의 합(Sum Of Product:SOP) 방식으로 출력의 논리 회로를 구성하여 사용해왔다.Generally, Since the multiplication operation of the phases is complicated, in the conventional method, the above values are calculated in advance and implemented in a lookup table method or a sum of product (SOP) method for output logic. It has been configured and used.
그런데, SEED의 S-박스를 상의 연산으로 구현하는 방식은 사전에 계산하여 논리 회로로 구성하는 방식에 비하여 그 하드웨어 구성이 복잡하고 차지하는 면적이 크기 때문에 효율적이지 못한 단점이 있다. 그리고 S-박스를 룩업 테이블로 구현하는 방식은 바이트의 저장 공간을 필요로 하기 때문에 추가적으로 내부 레지스터나 외부 메모리를 필요로 하는 단점이 있다.By the way, S-box of SEED Compared with the precomputed logic circuit, the hardware implementation is complicated and the area occupied is large. And how to implement an S-box as a lookup table This requires the storage of bytes, which in turn requires additional internal registers or external memory.
따라서, 추가적인 하드웨어 자원 없이 SEED의 S-박스를 구현하는 암호 알고리즘의 존재가 요구된다.Therefore, the existence of a cryptographic algorithm that implements the S-box of SEED without additional hardware resources is required.
본 발명의 목적은 SEED의 S-박스를 콤포지트 필드(Composite field) 상에서 역원 계산으로 변환하여 구현하는 블록 암호화 장치를 제공하는 데 있다.An object of the present invention is to provide a block encryption apparatus for converting an S-box of SEED into inverse calculation on a composite field and implementing the same.
본 발명의 다른 목적은 SEED의 S-박스를 콤포지트 필드(Composite field) 상에서 역원 계산으로 변환하여 구현하는 블록 암호 알고리즘을 제공하는 데 있다.Another object of the present invention is to provide a block cipher algorithm for converting an S-box of SEED into inverse calculation on a composite field and implementing the same.
상기 목적을 달성하기 위하여, 본 발명의 블록 암호화 장치는 SEED의 S-박스 의 상의 입력 비트들(X[7:0])을 동형 변환 매트릭스(δ)에 의해 로 변환시키는 선행 연산부; 선행 연산부의 출력 비트들을 입력하여 역 출력 비트들(Y[7:0])로 출력하는 역원 연산부; 및 상의 역 출력 비트들(Y[7:0])을 역 동형 변환 매트릭스에 의해 로 재변환시키는 후행 연산부를 포함한다.In order to achieve the above object, the block encryption apparatus of the present invention is a S-box of SEED The input bits (X [7: 0]) of the phase by means of the homogeneous transformation matrix δ. A precomputation unit for converting the data into an integer; An inverse operator for inputting the output bits of the preceding operator and outputting the inverse output bits Y [7: 0]; And The inverse output bits Y [7: 0] on the inverse It includes a post-computation unit for reconversion.
상기 다른 목적을 달성하기 위하여, 본 발명의 블록 암호 알고리즘은 SEED의 S-박스의 상의 입력 비트들(X[7:0])을 로 변환시키기 위한 동형 변환 매트릭스(δ)를 발생하는 단계; 동형 변환 매트릭스에 의해 상의 입력 비트들을 상으로 선행 변환시키는 단계; 상의 비트들에 대하여 곱셈 연산, 곱셈 연산, 역 연산을 이용하는 역원 연산하여 역 출력 비트들(Y[7:0])로 발생하는 단계; 상의 역 출력 비트들(Y[7:0])을 상의 비트들로 재변환시키기 위한 역 동형 변환 매트릭스를 발생하는 단계; 및 역 동형 변환 매트릭스에 의해 상의 역 출력 비트들(Y[7:0])을 멱승 변환 및 어파인 변환하여 상으로 후행 변환하는 단계를 포함한다.In order to achieve the above another object, the block cipher algorithm of the present invention is based on the S-box of SEED. Input bits (X [7: 0]) on the Generating an isomorphic transformation matrix δ for transforming to; By homomorphic transformation matrix Input bits on the Preconversion to phase; The bits on Multiplication operation, Multiplication operation, Inverse operation using an inverse operation to generate the inverse output bits Y [7: 0]; Output bits (Y [7: 0]) on the Generating an inverse homogeneous transformation matrix for reconversion to bits on the image; And by inverse homogeneous transformation matrix Power and affine the inverse output bits (Y [7: 0]) of the phase Post-transforming to phase.
따라서, 본 발명에 의하면, 멱승 연산에 기반한 SEED의 S-박스들을 콤포지트 필드 연산으로 변환하여 구현함으로써 칩 면적을 줄이고 전력 소모를 줄일 수 있다.Accordingly, according to the present invention, the S-boxes of the SEED based on the power operation are converted into a composite field operation to implement a chip area and power consumption.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that describe exemplary embodiments of the present invention and the contents described in the accompanying drawings.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
본 발명의 구체적인 설명에 앞서서, SEED의 S-박스를 콤포지트 필드(Composite field) 상에서 역원 계산으로 변환하여 구현하는 방법이 다음과 같은 수식 전개를 바탕으로 가능함을 보여준다.Prior to the detailed description of the present invention, a method of converting and implementing an S-box of SEED into inverse calculation on a composite field is shown based on the following equation development.
SEED S-박스의 입출력은 상의 원소이므로, 다음과 같은 관계가 성립한다.I / O of SEED S-box is Since the phase is an element, the following relationship holds.
그러므로, 연산은 다음과 같이 변환 가능하다.therefore, The operation can be converted as follows.
따라서, 수학식 1은 다음과 같이 재정의된다.Therefore,
그리고, 도 다음과 같이 변환 가능하다.And, Can also be converted as follows.
따라서, 수학식 2은 다음과 같이 재정의된다.Therefore,
그러므로, SEED의 S-박스의 연산이 상의 원소에 대한 역원 연산으로 변환하여 구현 가능하다는 것을 알 수 있다.Therefore, the calculation of the S-box of SEED It can be seen that it can be implemented by converting the inverse operation on the element of the phase.
도 1은 본 발명의 블록 암호 알고리즘을 수행하는 하드웨어 구조를 설명하는 도면이다. 이를 참조하면, 블록 암호화 장치(100)는 선행 연산부(preprocess operation: 110), 역행 연산부(inverse operation: 120), 그리고 후행 연산부(postprocess: 130)를 포함한다. 1 is a diagram illustrating a hardware structure for performing the block cipher algorithm of the present invention. Referring to this, the block encryption apparatus 100 includes a
선행 연산부(110)는 SEED의 S-박스의 를 로 변환시키는 데, 그 동작은 다음과 같다.The preceding
SEED의 S-박스의 와 변환하고자 하는 는 다음과 같은 기약 다항식(irreducible polynomial)으로 정의된다.SEED of S-box To convert Is defined as the irreducible polynomial:
수학식 7 및 8에서 정의된 기약 다항식을 이용하여 에서 로 변환시키는 동형 변환 매트릭스(isomorphic transformation matrix: δ)는 다음과 같이 정의된다.Using the contract polynomials defined in equations (7) and (8) in The isomorphic transformation matrix (δ) to be transformed into is defined as follows.
따라서, 선행 연산부(110)에서는 입력 비트들(I[7:0])이 동형 변환 매트릭스(δ)에 의해 출력 비트들(X[7:0])로 변환된다. 즉,Accordingly, in the preceding
으로 표현되고, 이를 구현하는 회로 블락은 도 2에 도시되어 있다.The circuit block for implementing the block is shown in FIG.
그리고 동형 변환 매트릭스(δ)는 다음과 같이 7개가 더 존재한다.There are seven more homomorphic transformation matrices as follows.
다음으로, 도 1의 역원 연산부(120)는 곱셈 연산부, 곱셈 연산부, 역 연산부, 그리고 배타적 논리합(exclusive OR) 연산부를 포함한다. 이들 구성요소들 간의 연결관계는 구체적으로 도 3에서 설명된다.Next, the
도 3을 참조하면, 역원 연산부(120)는 선행 연산부(110)의 출력 비트들(X[7:0])을 입력한 후 역출력 비트들([7:0])을 생성한다. 제1 내지 제4 출력 비트들(X[3:0])과 제5 내지 제8 출력 비트들(X[7:4])은 제1 XOR 연산부(208)로 제공되어 배타적 논리합된다. 제5 내지 제8 출력 비트들(X[7:4])은 입력 제곱 비트들()을 출력하는 제곱 연산부(202)로 입력되고, 제곱 연산부(202)의 입력 제곱 비트들()은 상수 곱셈부(204)로 입력된 후 제2 XOR 연산부(210)로 입력된다. 제곱 연산부(202)는 도 4에, 그리고 상수 곱셈부(204)는 도 5에 구체적으로 도시되어 있다.Referring to FIG. 3, the
도 4의 제곱 연산부(202)는 제8 입력 비트(X[7])를 제4 입력 제곱 비트()로, 상기 제8 입력 비트(X[7]) 및 제7 입력 비트(X[6])를 배타적 논리합하여 제3 입력 제곱 비트()로, 제7 입력 비트(X[6]) 및 제6 입력 비트(X[5])를 배타적 논리합하여 제2 입력 제곱 비트()로, 그리고 제8 입력 비트(X[7]), 제6 입력 비트(X[5]) 및 제4 입력 비트(X[4])를 배타적 논리합하여 제1 입력 제곱 비트()로 출력한다.4 The square calculating
도 5의 상수 곱셈부(204)는 제3 입력 제곱 비트()를 제1 출력 비트로, 제4 입력 제곱 비트()를 제2 출력 비트로, 제4 입력 제곱 비트(), 제2 입력 제곱 비트() 및 제1 출력 비트를 배타적 논리합하여 제3 출력 비트로, 그리고 제3 입력 제곱 비트() 및 제1 입력 제곱 비트()을 배타적 논리합하여 상기 제4 출력 비트로 출력한다.Of FIG. 5 The
다시, 도 3에서, 제1 내지 제4 출력 비트들(X[3:0]) 및 제1 XOR 연산부(208)의 출력은 제1 곱셈 연산부(206)로 입력되고, 제1 곱셈 연산부(206)의 출력은 XOR 연산부(210)로 입력된다. 제1 곱셈 연산부(206)는 구체적으로 도 6에 도시되어 있다.Again, in FIG. 3, the outputs of the first to fourth output bits X [3: 0] and the
도 6을 참조하면, 제1 곱셈 연산부(206)는 제1 내지 제4 출력 비트들(X[3:0])을 제1 그룹의 입력 비트들(a[3:0])으로 정의하고, 제1 XOR 연산부(208)의 출력 비트들을 제2 그룹의 입력 비트들(b[3:0])로 정의하여 설명한다. 제1 곱셈 연산부(206)는 제1 그룹의 제3 및 제4 출력 비트들(a[3:2])과 제2 그룹의 제3 및 제4 입력 비트들(b[3:2])을 입력하는 제1 곱셈 연산부(502)와, 제1 그룹의 제3 및 제4 입력 비트들(a[3:2])과 제1 그룹의 제1 및 제2 입력 비트(a[1;0])들을 배타적 논리합하는 제1 XOR 연산부(506)과, 제2 그룹의 제3 및 제4 입력 비트들(b[3:2])과 제1 그룹의 제1 및 제2 입력 비트들(a[1:0])을 배타적 논리합하는 제2 XOR 연산부(510)과, 제1 XOR 연산부(506)의 출력과 제2 XOR 연산부(510)의 출력을 입력하는 제2 곱셈 연산부(508)과, 제1 그룹의 제1 및 제2 입력 비트들(a[1:0])과 제2 그룹의 제1 및 제2 입력 비트들(b[1:0])을 입력하는 제3 곱셈 연산부(512)과, 제1 곱셈 연산부(502)의 출력을 입력하는 상수 곱셈부(504)와, 제2 곱셈 연산부(508)의 출력과 제3 곱셈 연산부(512)의 출력을 배타적 논리합하여 상의 제3 및 제4 출력 비트(axb[3:2])를 출력하는 제3 XOR 연산부(514)와, 그리고 상수 곱셈부(504)의 출력과 제3 곱셈 연산부(512)의 출력을 배타적 논리합하여 상의 제1 및 제2 출력 비트(axb[1:0])를 출력하는 제4 XOR 연산부(516)를 포함한다.Referring to FIG. 6, the first The
상수 곱셈부(504)는 도 7에 구체적으로 도시되어 있으며, 제1 곱셈 연산부(502)의 제2 출력 비트(x[1]) 및 제1 출력 비트(x[0])를 배타적 논리합하여 상수 곱셈부(504)의 제2 출력 비트(xΦ[1])로, 그리고 제1 곱셈 연산부(502)의 제2 출력 비트(x[1])를 상수 곱셈부(504)의 제1 출력 비트(xΦ[0])로 출력한다.
도 6의 제1 내지 제3 곱셈 연산부들(502, 508, 512) 각각은 구체적으로 도 8에 도시되는 데, 대표적으로 제1 곱셈 연산부들(502)는 제1 및 제2 출력 비트들(X[1:0])을 제1 그룹의 입력 비트들(a[1:0])으로 정의하고, 제1 XOR 연산부(208)의 출력 비트들을 제2 그룹의 입력 비트들(b[1:0])로 정의하여 설명한다. 제1 곱셈 연산부들(502)는 제1 그룹의 제2 입력 비트(a[1])와 제2 그룹의 제1 입력 비트(b[0])를 입력하는 제1 앤드 게이트(801)와. 제1 그룹의 제1 입력 비트(a[0])와 제2 그룹의 제2 입력 비트(b[1])를 입력하는 제2 앤드 게이트(802)와, 제1 그룹의 제2 입력 비트(a[1])와 제2 그룹의 제2 입력 비트(b[1])를 입력하는 제3 앤드 게이트(803)와, 제1 그룹의 제1 입력 비트(a[0])와 제2 그룹의 제1 입력 비트(b[0])를 입력하는 제4 앤드 게이트(804)와 제1 내지 제3 앤드 게이트 출력을 배타적 논리합하여 상의 제2 출력 비트(axb[1])를 출력하는 제1 XOR 연산부(805)와, 그리고 제3 및 제4 앤드 게이트 출력을 배타적 논리합하여 상의 제1 출력 비트를 출력하는 제2 XOR 연산부(806)를 포함한다.First to third of FIG. 6 Each of the
다시, 도 3으로 돌아가서, XOR 연산부(210)는 상수 곱셈부(204)의 출력과 제1 곱셈 연산부(206)의 출력을 배타적 논리합하여 그 출력을 역 연산부(212)로 전달한다. 역 연산부(212) 상에서의 연산은 입출력의 갯수가 개밖에 안되기 때문에 연산 회로로 구현하는 것 보다 사전 계산값을 이용하여 논리 회로로 구성하 것이 더 효율적이다. 역 연산부(212) 상의 모든 원소에 대한 역원 사전 계산 값은 표 1과 같다.3 again, the
역 연산부(212)의 출력은 각각 제2 및 제3 곱셈 연산부들(214, 216)로 입력된 후, 제5 내지 제7 역출력 비트들([7:4])과 제1 내지 제4 역출력 비트들([3:0])로 출력된다. 제2 및 제3 곱셈 연산부들(214, 216)은 앞서 설명한 도 6의 제1 곱셈 연산부(206)와 구성이 동일하다. The outputs of the
다시, 도 1로 돌아가서, 후행 연산부(130)는 역원 연산부(120)에서 상의 역원 연산한 결과를 상의 원소로 재변환해 주어야 한다. 상의 역원 연산한 결과를 상의 원소로 재변환시키는 역 동형 변환 매트릭스(inverse isomorphic transformation matrix:)는 수학식 10의 동형 변환 매트릭스(δ)에 대한 역 매트릭스(inverse matrix)를 사용하면 다음과 같이 나타난다.Again, returning to FIG. 1, the trailing
SEED의 S-박스는 역원 연산이 아닌 멱승(제곱) 연산이므로, 의 경우 연산이 필요하고 의 경우 연산이 필요하다. 상의 제곱 연산은 간단한 XOR 연산으로 구현이 가능하므로, 연산 및 연산은 다음과 같이 주어진다.S-box in SEED is a power (square) operation rather than an inverse operation, In the case of Operation is required In the case of Operation is required. The square operation of the phase can be implemented by a simple XOR operation, Operation and The operation is given by
여기에서, 이다.From here, to be.
여기에서, 이다.From here, to be.
상의 멱승 연산 결과는 와 에 주어진 매트릭스와 상수를 이용하여 어파인 변환(affine transformation)을 수행하게 된다. Squared results on Wow The affine transformation is performed using the matrix and constants given in.
이러한 후행 연산부(130)의 역 동형 변환 매트릭스()와 상의 과 멱승 변환부, 그리고 어파인 변환부의 동작은 하나의 변환 매트릭스로 병합할 수 있다. 즉, 에 대한 후행 연산부(130)의 변환 매트릭스는The inverse homogeneous transformation matrix of the trailing operation unit 130 ( )Wow top and The power transform unit and the affine transform unit may be merged into one transform matrix. In other words, The transformation matrix of the trailing
으로 나타난다. 이 변환 매트릭스를 구현하는 회로도가 도 9에 도시되어 있다. Appears. A circuit diagram for implementing this transformation matrix is shown in FIG.
그리고 에 대한 후행 연산부(130)의 변환 매트릭스는And The transformation matrix of the trailing
으로 나타내고, 이 변환 매트릭스를 구현하는 회로도가 도 10에 도시되어 있다.A circuit diagram for implementing this conversion matrix is shown in FIG.
그러므로, 본 발명의 SEED의 S-박스를 콤포지트 필드(Composite field) 상에서 역원 계산으로 변환하는 방법은 후행 연산부의 변환 매트릭스의 해밍값(hamming weight)를 바꿈으로써, 역원 연산을 멱승 연산으로 변환하면서 발생하는 추가적인 하드웨어 구조를 필요로 하지 않는다.Therefore, the method of converting the S-box of SEED of the present invention to inverse calculation on a composite field occurs by changing the hamming value of the transformation matrix of the post-computation unit, thereby converting the inverse calculation to a power operation. Does not require additional hardware architecture.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
상술한 본 발명의 블록 암호 알고리즘에 의하면, 멱승 연산에 기반한 SEED의 S-박스들을 콤포지트 필드 연산으로 변환하여 구현함으로써 칩 면적을 줄이고 전력 소모를 줄일 수 있다.According to the block cipher algorithm of the present invention described above, by converting and implementing the S-boxes of the SEED based on the power operation to the composite field operation, it is possible to reduce the chip area and power consumption.
Claims (36)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030090568A KR100532484B1 (en) | 2003-12-12 | 2003-12-12 | SEED block encryption algorithm using composite field and hardware structure therefore |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030090568A KR100532484B1 (en) | 2003-12-12 | 2003-12-12 | SEED block encryption algorithm using composite field and hardware structure therefore |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050058629A KR20050058629A (en) | 2005-06-17 |
KR100532484B1 true KR100532484B1 (en) | 2006-01-09 |
Family
ID=37251960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030090568A KR100532484B1 (en) | 2003-12-12 | 2003-12-12 | SEED block encryption algorithm using composite field and hardware structure therefore |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100532484B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452726B (en) * | 2016-06-22 | 2020-04-07 | 深圳华视微电子有限公司 | S-shaped box and construction method thereof |
-
2003
- 2003-12-12 KR KR1020030090568A patent/KR100532484B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050058629A (en) | 2005-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mangard et al. | A highly regular and scalable AES hardware architecture | |
Kim et al. | Design and implementation of a private and public key crypto processor and its application to a security system | |
Biham | A fast new DES implementation in software | |
KR100800468B1 (en) | Hardware cryptographic engine and method improving power consumption and operation speed | |
EP2367316B1 (en) | Method and circuitry for detecting a fault attack | |
Lemsitzer et al. | Multi-gigabit GCM-AES architecture optimized for FPGAs | |
Curiger et al. | VINCI: VLSI implementation of the new secret-key block cipher IDEA | |
CN114629622B (en) | FPGA-based national cryptographic algorithm accelerated operation control method and device | |
Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
Fu et al. | Low-cost hardware implementation of SM4 based on composite field | |
Bedoui et al. | A Secure Hardware Implementation for Elliptic Curve Digital Signature Algorithm. | |
KR100532484B1 (en) | SEED block encryption algorithm using composite field and hardware structure therefore | |
Altigani et al. | Analyzing the performance of the advanced encryption standard block cipher modes of operation: highlighting the national institute of standards and technology recommendations | |
CN114244496B (en) | SM4 encryption and decryption algorithm parallelization realization method based on tower domain optimization S box | |
Saravanan et al. | An efficient ASIC implementation of CLEFIA encryption/decryption algorithm with novel S-box architectures | |
Tsantikidou et al. | Flexible Security and Privacy, System Architecture for IoT, in Healthcare | |
Goswami et al. | FPGA Implementation of Modified SNOW 3G Stream Ciphers Using Fast and Resource Efficient Substitution Box | |
JP5338327B2 (en) | Cryptographic processing device | |
Lin et al. | Cryptanalysis of a Multiround Image Encryption Algorithm Based on 6D Self-Synchronizing Chaotic Stream Cipher | |
Kumar | VLSI implementation of AES algorithm | |
Polani et al. | Low power and area efficient AES implementation using ROM based key expansion and rotational shift | |
Lu et al. | Differential attack on nine rounds of the SEED block cipher | |
Ball Jr | The Examination of AES S-Box Implementations Using Composite Field Arithmetic on FPGAs | |
Krulikovskyi et al. | Ukrainian National Encryption Standards for FPGA Based Embedded Systems | |
JP2003333036A (en) | Message authentication device, message authenticating method, message authenticating program, and computer- readable recording medium with the program stored thereon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |